Commit Graph
185 Commits
Author SHA1 Message Date
Federico Jaramillo Martinez 7878cbe57b fix(sessions): add safe legacy archive migration core 2026-07-13 14:26:32 +02:00
Federico Jaramillo Martinez ec0ca13120 fix: store session archives under PI_WEB_DATA_DIR 2026-07-12 22:52:59 +02:00
Federico Jaramillo Martinez 338faf4b81 perf: speed up chat loading and resume 2026-07-12 09:22:19 +02:00
Federico Jaramillo Martinez 6fbeed345e fix(sessions): clarify subsession join guidance 2026-07-11 22:03:31 +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
Pi Web Agent 8f1b6b91ab fix: stream docker helper logs inline 2026-07-10 20:50:26 +00: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
Pi Web Agent 3b2a225f87 fix(docker): resolve Pi runtime from peer dependency 2026-07-10 19:44:31 +00:00
Pi Web Agent 829b3508a4 fix: repair Docker installer asset fetch 2026-07-08 20:45:56 +00:00
Federico Jaramillo Martinez 6b61596ebd test(sessions): cover attachment filename safety 2026-07-05 00:49:45 +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 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 4c084b77cc test(server): split app route specs 2026-07-04 23:41:49 +02:00
Federico Jaramillo Martinez 9fed05850f test(workspaces): split file content service specs 2026-07-04 23:29:50 +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 1564f1cfc5 test: audit existing suite 2026-07-03 09:48:20 +02:00
Pi Web Agent 031aee3efe test: skip Docker command executions on Windows 2026-07-02 21:52:24 +00:00
Pi Web Agent a2bfd3657d Merge remote-tracking branch 'origin/main' into feat/docker-runtime-host-admin
# Conflicts:
#	src/client/src/api.ts
#	src/client/src/api/parsers.test.ts
#	src/shared/piWebStatusParsing.test.ts
2026-07-02 20:52:50 +00:00
Federico Jaramillo Martinez 2665d1e4bc fix: handle session start persistence 2026-07-02 18:46:44 +02:00
Federico Jaramillo Martinez 64b2b32705 feat: target settings to selected machine 2026-07-02 13:28:03 +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 e7d418fd2b fix: serialize pi package mutations 2026-07-01 22:31:37 +02:00
Federico Jaramillo Martinez 332db5faeb feat: expose package management capability 2026-07-01 22:13:02 +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
Pi Web Agent 01c75298f9 fix: keep federated docker updates tab visible 2026-06-29 16:12:40 +00:00
Pi Web Agent 4885aa0dd5 fix: clarify Docker checkout runtime guidance 2026-06-29 14:43:53 +00:00
Federico Jaramillo Martinez d165d69f73 feat: add bulk session mutations 2026-06-29 13:34:03 +02:00
Pi Web Agent bd28c93cfe feat: unify Docker entrypoint 2026-06-29 11:27:47 +00:00
Federico Jaramillo Martinez a87479815a fix: inherit dispatcher model for spawned sessions 2026-06-28 16:46:37 +02:00
Federico Jaramillo Martinez cb13af4b88 feat: add manual session cleanup 2026-06-26 15:57:12 +02:00
Federico Jaramillo Martinez 7e812aa7f5 feat: support general chat file attachments 2026-06-25 21:32:07 +02:00
Federico Jaramillo Martinez e46d9ecbf8 feat: add safe manual workspace uploads 2026-06-25 15:16:44 +02:00
Federico Jaramillo Martinez 56c1c1714e fix: treat missing subsession files as unavailable 2026-06-25 11:08:26 +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 f6fbf6b851 Merge pull request #25 from jmfederico/cleanup/plugin-api-scope
feat: plugin API — workspace file mutations & prompt editor access
2026-06-24 09:23:53 +02:00
Federico Jaramillo Martinez c479a0d54d fix: support pi-ai provider compat entrypoint 2026-06-24 09:15:32 +02:00