Federico Jaramillo Martinez
bc6718a7e2
fix: stabilize mobile message headers
2026-07-11 16:26:41 +02:00
Federico Jaramillo Martinez
52925c1405
fix(sessions): restrict delegation tools in tracked children
2026-07-11 15:56:20 +02:00
Federico Jaramillo Martinez
a660ba8ef8
fix(sessions): clarify subsession waiting behavior
2026-07-11 09:41:03 +02:00
Federico Jaramillo Martinez
410242aae8
Merge branch 'test-suite-audit-followup'
...
# Conflicts:
# src/server/sessions/piSessionService.test.ts
2026-07-10 22:44:13 +02:00
Federico Jaramillo Martinez
32907bba5f
chore(deps): update runtime and development packages
2026-07-10 22:10:40 +02:00
Federico Jaramillo Martinez
abcf44b962
fix: show complete chat message metadata
2026-07-10 22:10:40 +02:00
Federico Jaramillo Martinez
b0d4942b8d
test(client): cover workspace upload helper options
2026-07-05 01:00:25 +02:00
Federico Jaramillo Martinez
6b61596ebd
test(sessions): cover attachment filename safety
2026-07-05 00:49:45 +02:00
Federico Jaramillo Martinez
c0538cff65
test(client): cover prompt attachment paste wiring
2026-07-05 00:41:38 +02:00
Federico Jaramillo Martinez
a6e0f1db18
test(client): cover workspace files panel tree boundary
2026-07-05 00:26:34 +02:00
Federico Jaramillo Martinez
fad83772b7
test(client): cover file explorer tree workflows
2026-07-05 00:20:17 +02:00
Federico Jaramillo Martinez
7b11f2ad75
test(server): cover websocket bridge behavior
2026-07-05 00:16:27 +02:00
Federico Jaramillo Martinez
168343a289
test(terminals): cover lifecycle publication
2026-07-05 00:11:22 +02:00
Federico Jaramillo Martinez
afc0a21bfc
test(client): cover machine add workflow
2026-07-05 00:06:18 +02:00
Federico Jaramillo Martinez
6bfb0a47d3
test(machines): cover remote mutation contract
2026-07-05 00:01:39 +02:00
Federico Jaramillo Martinez
1f26ae3935
test(sessions): cover archive lookup edge cases
2026-07-04 23:58:32 +02:00
Federico Jaramillo Martinez
386386d2b5
test(sessions): split pi session service specs
2026-07-04 23:53:58 +02:00
Federico Jaramillo Martinez
04f9d0e764
test(client): split session controller specs
2026-07-04 23:48:12 +02:00
Federico Jaramillo Martinez
4c084b77cc
test(server): split app route specs
2026-07-04 23:41:49 +02:00
Federico Jaramillo Martinez
45bcc63544
test(settings): split settings dialog specs
2026-07-04 23:35:11 +02:00
Federico Jaramillo Martinez
9fed05850f
test(workspaces): split file content service specs
2026-07-04 23:29:50 +02:00
Federico Jaramillo Martinez
a26654153b
docs: shorten testing guide skill description
2026-07-04 23:20:37 +02:00
Federico Jaramillo Martinez
6bf2726904
Merge remote-tracking branch 'origin/main' into test-suite-audit-followup
2026-07-04 22:47:22 +02:00
Federico Jaramillo Martinez
40b1d2dabc
Merge remote-tracking branch 'origin/main' into test-suite-audit-followup
2026-07-04 22:44:39 +02:00
Federico Jaramillo Martinez
eb1727688f
fix: preserve legacy federated session actions
2026-07-04 22:39:55 +02:00
Federico Jaramillo Martinez
9006db1e6d
test: tolerate Windows line endings in Docker docs check
2026-07-04 22:36:45 +02:00
Federico Jaramillo Martinez
73b169a768
test: close selected coverage gaps
2026-07-03 21:40:36 +02:00
Federico Jaramillo Martinez
8511604e83
test: close audit cleanup findings
2026-07-03 21:40:36 +02:00
Federico Jaramillo Martinez
10efb7f221
fix(sessions): name relay handoffs deterministically
2026-07-03 10:51:45 +02:00
Federico Jaramillo Martinez
d2b5520785
docs(relay): include leg identity in handoffs
2026-07-03 10:36:59 +02:00
Federico Jaramillo Martinez
1564f1cfc5
test: audit existing suite
2026-07-03 09:48:20 +02:00
Federico Jaramillo Martinez
ad6285355d
fix: show full tool details in chat
2026-07-02 22:18:15 +02:00
Federico Jaramillo Martinez
0b17b9d97d
fix(updates): remove beta label
2026-07-02 21:16:33 +02:00
Federico Jaramillo Martinez
439520c3e4
fix: reconcile pending session starts
2026-07-02 19:05:23 +02:00
Federico Jaramillo Martinez
2665d1e4bc
fix: handle session start persistence
2026-07-02 18:46:44 +02:00
Federico Jaramillo Martinez
d2e10cd89a
fix: use suffix for unnamed session labels
2026-07-02 14:27:21 +02:00
Federico Jaramillo Martinez
3cb81b1bcf
fix: show pending session starts safely
2026-07-02 14:16:17 +02:00
Federico Jaramillo Martinez
b61a9c0c54
feat(settings): unify settings panel layout
2026-07-02 13:28:03 +02:00
Federico Jaramillo Martinez
64b2b32705
feat: target settings to selected machine
2026-07-02 13:28:03 +02:00
Federico Jaramillo Martinez
386c67ec79
docs: add changeset for min pi version bump to 0.80
2026-07-02 11:45:13 +02:00
Federico Jaramillo Martinez
ad74ea4da7
refactor: generate session names via agent.streamFn instead of pi-ai compat
...
Rewrite sessionNameGenerator.ts to consume a StreamFn-shaped dependency
(sourced from PiAgentSession.agent.streamFn, wired in leg B) instead of
ModelRegistry plus a dynamic @earendil-works/pi-ai/compat import.
streamFn resolves auth/headers/retry internally, so the explicit
modelRegistry.getApiKeyAndHeaders(model) call and apiKey/headers stream
options are no longer needed.
Deletes now-dead compat-loading machinery: getPiAiProviderRegistryModule,
loadPiAiProviderRegistryModule, importOptionalPiAiModule,
isModuleUnavailableError, hasGetApiProvider, PI_AI_COMPAT_MODULE,
ModuleImporter, SessionNameApiProvider, PiAiProviderRegistryModule, and
the module-level provider registry cache.
Updates the maybeGenerateSessionName call site in piSessionService.ts to
pass session.agent.streamFn instead of this.modelRegistry, and updates
both test files: sessionNameGenerator.test.ts gains coverage for the new
streamFn-driven generateShortSessionName signature (success and error
paths), and piSessionService.test.ts gains an end-to-end test proving a
first prompt generates a session name through the wired agent.streamFn
fake.
sessionNameGenerator.ts no longer imports @earendil-works/pi-ai/compat
or references getApiProvider anywhere.
2026-07-02 11:42:30 +02:00
Federico Jaramillo Martinez
6f59a4243e
refactor: expose session streamFn on PiAgentSession
...
Add a narrow `agent: { streamFn: StreamFn }` field to the PiAgentSession
interface, sourced structurally from the real AgentSession.agent (Agent,
from the stable @earendil-works/pi-agent-core package). This is the
resolved-auth/headers/retry "call this model" function pi's own
compaction/branch-summarization code uses internally, and will let
sessionNameGenerator.ts drop its dependency on the deprecated pi-ai
/compat provider registry in a follow-up leg.
No adapter object was needed: AgentSession's real .agent field already
structurally satisfies the new narrow shape, so defaultCreateAgentRuntime
needed no changes.
Adds a unit test proving the field is wired end-to-end via the injected
runtime creator. sessionNameGenerator.ts itself is untouched (leg C).
2026-07-02 11:28:18 +02:00
Federico Jaramillo Martinez
e63665549a
chore: bump pi packages to ^0.80.3
...
Raises the minimum supported Pi version from 0.78 to 0.80. Required
for the upcoming removal of pi-web's dependency on pi-ai's deprecated
compat entrypoint (@earendil-works/pi-ai/compat).
2026-07-02 10:59:58 +02:00
Federico Jaramillo Martinez
377b5a28b6
docs: align package management website docs
2026-07-01 22:39:47 +02:00
Federico Jaramillo Martinez
e7d418fd2b
fix: serialize pi package mutations
2026-07-01 22:31:37 +02:00
Federico Jaramillo Martinez
95a0ad7509
fix: guide package settings by runtime capability
2026-07-01 22:24:06 +02:00
Federico Jaramillo Martinez
332db5faeb
feat: expose package management capability
2026-07-01 22:13:02 +02:00
Federico Jaramillo Martinez
0a1b7f9699
fix: decouple settings package loading
2026-07-01 22:05:48 +02:00
Federico Jaramillo Martinez
3df4041bd7
feat: manage Pi packages on selected machines
2026-07-01 21:54:18 +02:00
Federico Jaramillo Martinez
889672ff53
feat: add session runtime reload command
2026-07-01 19:32:52 +02:00
Federico Jaramillo Martinez
8ade238228
feat: add Pi package management settings
2026-07-01 15:34:34 +02:00
Federico Jaramillo Martinez
3f36394c17
fix: wait for git file suggestion probes before fallback
2026-07-01 09:39:59 +02:00
Federico Jaramillo Martinez
d165d69f73
feat: add bulk session mutations
2026-06-29 13:34:03 +02:00
Federico Jaramillo Martinez
a87479815a
fix: inherit dispatcher model for spawned sessions
2026-06-28 16:46:37 +02:00
Federico Jaramillo Martinez
7063c2c3b1
fix: prevent iOS input zoom
2026-06-28 16:11:18 +02:00
Federico Jaramillo Martinez
2009e6a883
fix: keep chat prompt input stable during streaming
...
Coalesce session status/activity updates into one render per animation
frame instead of one per token, ignore prompt-editor status changes that
do not affect what it displays, and stop per-keystroke draft state from
re-rendering the surrounding template. This prevents streaming-driven
re-renders from interrupting in-progress touch gestures such as the iOS
long-press paste/edit callout.
2026-06-27 08:12:01 +02:00
Federico Jaramillo Martinez
041423a03b
chore(release): v1.202606.7
2026-06-26 18:20:39 +02:00
Federico Jaramillo Martinez
3f1f412147
Merge pull request #37 from jmfederico/feat/manual-session-cleanup
...
Add manual session cleanup
2026-06-26 16:16:34 +02:00
Federico Jaramillo Martinez
cb13af4b88
feat: add manual session cleanup
2026-06-26 15:57:12 +02:00
Federico Jaramillo Martinez
904e25ac1a
chore: update package lock bin path
2026-06-26 00:23:22 +02:00
Federico Jaramillo Martinez
3f903adcc7
chore: normalize package lock metadata
2026-06-26 00:20:17 +02:00
Federico Jaramillo Martinez
a43c782043
feat: add configurable prompt Enter behavior
2026-06-25 23:34:41 +02:00
Federico Jaramillo Martinez
fd386b2d6b
feat: add prompt enter behavior setting
2026-06-25 22:55:09 +02:00
Federico Jaramillo Martinez
b17faeb236
chore: add changeset for BiDi chat text
2026-06-25 22:48:30 +02:00
Federico Jaramillo Martinez
7e812aa7f5
feat: support general chat file attachments
2026-06-25 21:32:07 +02:00
Federico Jaramillo Martinez
790b36f0ea
docs: improve screenshot gallery
2026-06-25 15:50:45 +02:00
Federico Jaramillo Martinez
a4ad23545a
docs: refresh README overview
2026-06-25 15:39:44 +02:00
Federico Jaramillo Martinez
cd5843e8e5
chore: update package lock
2026-06-25 15:20:42 +02:00
Federico Jaramillo Martinez
e46d9ecbf8
feat: add safe manual workspace uploads
2026-06-25 15:16:44 +02:00
Federico Jaramillo Martinez
f0b779b062
Merge pull request #32 from gilbertwong96/fix/fish-doctor-version-check
...
fix: run doctor version checks under fish
2026-06-25 14:47:34 +02:00
Federico Jaramillo Martinez
5269a7a7d7
fix: support symlinked CLI entrypoint guard
2026-06-25 14:41:58 +02:00
Federico Jaramillo Martinez
fb9d444743
docs(relay): add context-contained status baton
2026-06-25 11:30:49 +02:00
Federico Jaramillo Martinez
56c1c1714e
fix: treat missing subsession files as unavailable
2026-06-25 11:08:26 +02:00
Federico Jaramillo Martinez
729635d246
Merge pull request #33 from jmfederico/feat/git-inline-diff
...
feat: add inline Git diff highlights
2026-06-25 11:01:45 +02:00
Federico Jaramillo Martinez
b14205e523
feat: add inline Git diff highlights
2026-06-25 10:57:28 +02:00
Federico Jaramillo Martinez
b0b497d493
fix: require exact active subsession files
2026-06-25 09:47:41 +02:00
Federico Jaramillo Martinez
5550c60950
fix: enforce exact subsession recovery links
2026-06-25 09:27:10 +02:00
Federico Jaramillo Martinez
417b04a23f
fix: harden subsession recovery validation
2026-06-25 00:30:16 +02:00
Federico Jaramillo Martinez
a99696bd09
fix: persist tracked subsession links
2026-06-25 00:20:19 +02:00
Federico Jaramillo Martinez
9980027cee
feat: expose prompt helper to workspace panels
2026-06-24 23:59:39 +02:00
Federico Jaramillo Martinez
3134421652
chore(release): v1.202606.6
2026-06-24 09:17:26 +02:00
Federico Jaramillo Martinez
c479a0d54d
fix: support pi-ai provider compat entrypoint
2026-06-24 09:15:32 +02:00
Federico Jaramillo Martinez
a0dd9e1cd7
Merge branch 'main' into cleanup/plugin-api-scope
2026-06-24 08:49:49 +02:00
Federico Jaramillo Martinez
bf36df24fd
chore(release): v1.202606.5
2026-06-23 21:37:02 +02:00
Federico Jaramillo Martinez
2bb6e48a8b
fix: normalize Windows path suggestions
2026-06-23 20:03:44 +02:00
Federico Jaramillo Martinez
c2e2a29847
docs: add PI WEB configuration reference
2026-06-23 19:58:36 +02:00
Federico Jaramillo Martinez
6933d3aa88
fix: guard stale mobile navigation focus
2026-06-23 15:01:05 +02:00
Federico Jaramillo Martinez
4f4c6fa794
fix: proxy remote session reloads
2026-06-23 14:44:24 +02:00
Federico Jaramillo Martinez
8ceadb2a62
docs: replace demo animation with screenshots
2026-06-23 14:12:09 +02:00
Federico Jaramillo Martinez
9cc20d65fb
feat: add external path access allowlist
2026-06-23 12:30:30 +02:00
Federico Jaramillo Martinez
3e52939aad
fix(docker): initialize dev data permissions
2026-06-20 23:45:04 +02:00
Federico Jaramillo Martinez
a0d60215ca
feat(docker): share dev data with runtime
2026-06-20 23:28:35 +02:00
Federico Jaramillo Martinez
b9b03d9858
docs(docker): document runtime and dev usage
2026-06-20 22:24:56 +02:00
Federico Jaramillo Martinez
fb36f48fea
feat(docker): add development compose setup
2026-06-20 22:18:15 +02:00
Federico Jaramillo Martinez
1fa1726083
feat(docker): add one-liner installer
2026-06-20 22:08:19 +02:00
Federico Jaramillo Martinez
099d770eeb
feat(docker): add host command bridge
2026-06-20 21:58:53 +02:00
Federico Jaramillo Martinez
a8088483ef
feat(docker): add local-build runtime scaffold
2026-06-20 21:47:29 +02:00
Federico Jaramillo Martinez
997b821717
feat: add check_subsession and an exploratory read_subsession transcript reader
...
Split subsession inspection into two tools: check_subsession gives a quick
glance (status + latest assistant output), while read_subsession reads through
a child's transcript with role/content filters, full-content substring search
(including tool-call args), optional per-value maxChars truncation that flags
clipped parts, includeToolArgs, and pagination.
Filtering and search run on full untruncated content; truncation is an explicit,
caller-owned final projection (no default) so a narrow read never silently hides
a match. Empty page-windows are distinguished from zero-match results.
2026-06-19 23:48:12 +02:00
Federico Jaramillo Martinez
62c2234b85
fix: avoid duplicate skill loading cards
2026-06-19 23:44:58 +02:00
Federico Jaramillo Martinez
1e8cfe9073
chore(deps): refresh dependencies to latest in-range versions
...
Ran npm update to refresh the lockfile to the latest versions allowed by
the existing package.json ranges; no declared ranges changed.
Notable bumps:
- @earendil-works/pi-coding-agent 0.79.1 -> 0.79.8
- @earendil-works/pi-agent-core 0.79.3 -> 0.79.8
- @earendil-works/pi-ai 0.79.3 -> 0.79.8
- eslint 10.3.0 -> 10.5.0, typescript-eslint 8.59.2 -> 8.61.1
- vitest 4.1.5 -> 4.1.9, tsx 4.21.0 -> 4.22.4, vite 7.3.3 -> 7.3.5, ws 8.20.1 -> 8.21.0
Out-of-range majors left for a deliberate upgrade. npm audit --omit=dev: 0 vulnerabilities.
2026-06-19 12:59:26 +02:00