@fastagent-sh/fastagent 0.24.4 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -82
- package/dist/agent-api.d.ts +460 -0
- package/dist/agent-api.js +209 -0
- package/dist/answer-text.d.ts +8 -0
- package/dist/answer-text.js +18 -0
- package/dist/atomic-write.d.ts +2 -2
- package/dist/atomic-write.js +2 -2
- package/dist/authoring.d.ts +81 -0
- package/dist/authoring.js +245 -0
- package/dist/channel.d.ts +29 -15
- package/dist/channel.js +4 -1
- package/dist/channels/agentcore-protocol.d.ts +36 -50
- package/dist/channels/agentcore-protocol.js +3 -3
- package/dist/channels/agentcore-service.d.ts +8 -18
- package/dist/channels/agentcore-service.js +108 -127
- package/dist/channels/agentcore.d.ts +8 -24
- package/dist/channels/agentcore.js +32 -65
- package/dist/channels/body.d.ts +0 -16
- package/dist/channels/body.js +0 -25
- package/dist/channels/busy.js +6 -1
- package/dist/channels/context.d.ts +4 -0
- package/dist/channels/context.js +35 -0
- package/dist/channels/discover.d.ts +18 -20
- package/dist/channels/discover.js +41 -99
- package/dist/channels/feishu/feishu-api.d.ts +54 -4
- package/dist/channels/feishu/feishu-api.js +192 -149
- package/dist/channels/feishu/feishu.d.ts +3 -0
- package/dist/channels/feishu/feishu.js +117 -106
- package/dist/channels/feishu/history.d.ts +55 -0
- package/dist/channels/feishu/history.js +199 -0
- package/dist/channels/feishu/invoke-turn.d.ts +13 -11
- package/dist/channels/feishu/invoke-turn.js +9 -10
- package/dist/channels/feishu/model.d.ts +2 -1
- package/dist/channels/feishu/normalize.js +100 -0
- package/dist/channels/feishu/preview.d.ts +2 -2
- package/dist/channels/feishu/register-webhook.d.ts +1 -0
- package/dist/channels/feishu/register-webhook.js +3 -2
- package/dist/channels/feishu/scaffold/channel.ts +65 -46
- package/dist/channels/feishu/scaffold/feishu-send.ts +38 -33
- package/dist/channels/feishu/scaffold/feishu-threads.ts +25 -0
- package/dist/channels/feishu/setup-mode.d.ts +45 -25
- package/dist/channels/feishu/setup-mode.js +74 -23
- package/dist/channels/feishu/shared-api.d.ts +24 -6
- package/dist/channels/feishu/shared-api.js +30 -24
- package/dist/channels/kit/context-buffer.d.ts +11 -2
- package/dist/channels/kit/context-buffer.js +7 -4
- package/dist/channels/kit/delivery.d.ts +19 -3
- package/dist/channels/kit/delivery.js +74 -15
- package/dist/channels/kit/event-stream.js +2 -1
- package/dist/channels/kit/invoke-turn-kit.d.ts +41 -41
- package/dist/channels/kit/invoke-turn-kit.js +62 -71
- package/dist/channels/kit/place-history.d.ts +107 -0
- package/dist/channels/kit/place-history.js +182 -0
- package/dist/channels/kit/preview-kit.d.ts +9 -5
- package/dist/channels/kit/preview-kit.js +36 -15
- package/dist/channels/kit/room-threads.d.ts +46 -0
- package/dist/channels/kit/room-threads.js +81 -0
- package/dist/channels/kit/seen.js +1 -1
- package/dist/channels/kit/stop-command.d.ts +6 -3
- package/dist/channels/kit/stop-command.js +20 -18
- package/dist/channels/kit/thread-fork.d.ts +17 -0
- package/dist/channels/kit/thread-fork.js +43 -0
- package/dist/channels/kit/thread-participants.js +1 -1
- package/dist/channels/kit/transport.d.ts +5 -0
- package/dist/channels/kit/transport.js +5 -0
- package/dist/channels/kit/turn-runner.d.ts +10 -9
- package/dist/channels/kit/turn-runner.js +17 -19
- package/dist/channels/kit/turn-store.d.ts +5 -4
- package/dist/channels/kit/turn-store.js +5 -5
- package/dist/channels/lark/lark.d.ts +3 -0
- package/dist/channels/lark/lark.js +5 -0
- package/dist/channels/lark/onboard.d.ts +5 -3
- package/dist/channels/lark/onboard.js +14 -14
- package/dist/channels/lark/scaffold/channel.ts +67 -44
- package/dist/channels/lark/scaffold/lark-send.ts +38 -33
- package/dist/channels/lark/scaffold/lark-threads.ts +25 -0
- package/dist/channels/respond.d.ts +0 -4
- package/dist/channels/respond.js +1 -1
- package/dist/channels/router.d.ts +18 -0
- package/dist/channels/router.js +68 -0
- package/dist/channels/serve.d.ts +5 -70
- package/dist/channels/serve.js +105 -287
- package/dist/channels/slack/history.d.ts +42 -0
- package/dist/channels/slack/history.js +282 -0
- package/dist/channels/slack/invoke-turn.d.ts +12 -5
- package/dist/channels/slack/invoke-turn.js +7 -5
- package/dist/channels/slack/manifest.d.ts +1 -4
- package/dist/channels/slack/manifest.js +22 -10
- package/dist/channels/slack/model.d.ts +2 -1
- package/dist/channels/slack/onboard.d.ts +0 -2
- package/dist/channels/slack/onboard.js +2 -4
- package/dist/channels/slack/onboarding-state.d.ts +0 -2
- package/dist/channels/slack/onboarding-state.js +0 -1
- package/dist/channels/slack/parse.d.ts +0 -5
- package/dist/channels/slack/parse.js +1 -16
- package/dist/channels/slack/preview.d.ts +2 -3
- package/dist/channels/slack/preview.js +78 -52
- package/dist/channels/slack/register-webhook.d.ts +1 -0
- package/dist/channels/slack/register-webhook.js +6 -5
- package/dist/channels/slack/scaffold/channel.ts +23 -24
- package/dist/channels/slack/scaffold/slack-send.ts +50 -43
- package/dist/channels/slack/scaffold/slack-threads.ts +29 -0
- package/dist/channels/slack/setup-server.d.ts +19 -0
- package/dist/channels/slack/setup-server.js +113 -11
- package/dist/channels/slack/shared-api.d.ts +15 -4
- package/dist/channels/slack/shared-api.js +19 -14
- package/dist/channels/slack/slack-api.d.ts +61 -2
- package/dist/channels/slack/slack-api.js +28 -5
- package/dist/channels/slack/slack.js +97 -52
- package/dist/channels/slack/welcomed.js +1 -1
- package/dist/channels/telegram/context-buffer.d.ts +6 -1
- package/dist/channels/telegram/context-buffer.js +19 -0
- package/dist/channels/telegram/invoke-turn.d.ts +8 -4
- package/dist/channels/telegram/invoke-turn.js +7 -7
- package/dist/channels/telegram/parse.d.ts +7 -2
- package/dist/channels/telegram/parse.js +7 -0
- package/dist/channels/telegram/preview.d.ts +2 -2
- package/dist/channels/telegram/register-webhook.d.ts +1 -0
- package/dist/channels/telegram/register-webhook.js +3 -2
- package/dist/channels/telegram/scaffold/channel.ts +27 -28
- package/dist/channels/telegram/scaffold/telegram-send.ts +61 -108
- package/dist/channels/telegram/shared-api.d.ts +34 -0
- package/dist/channels/telegram/shared-api.js +79 -0
- package/dist/channels/telegram/telegram-api.d.ts +15 -5
- package/dist/channels/telegram/telegram-api.js +10 -6
- package/dist/channels/telegram/telegram.js +27 -21
- package/dist/channels/telegram/turn-store.js +1 -1
- package/dist/channels/{kit/turn-queue.d.ts → turn-queue.d.ts} +2 -2
- package/dist/channels/{kit/turn-queue.js → turn-queue.js} +10 -10
- package/dist/cli/add-feishu.d.ts +42 -12
- package/dist/cli/add-feishu.js +177 -124
- package/dist/cli/add-slack.d.ts +8 -3
- package/dist/cli/add-slack.js +116 -64
- package/dist/cli/auth-view.d.ts +10 -3
- package/dist/cli/auth-view.js +8 -6
- package/dist/cli/box-login.d.ts +18 -7
- package/dist/cli/box-login.js +46 -12
- package/dist/cli/commands/add.d.ts +15 -4
- package/dist/cli/commands/add.js +253 -143
- package/dist/cli/commands/auth.d.ts +6 -0
- package/dist/cli/commands/auth.js +50 -0
- package/dist/cli/commands/content.d.ts +6 -0
- package/dist/cli/commands/content.js +45 -0
- package/dist/cli/commands/deploy/agentcore.js +50 -77
- package/dist/cli/commands/deploy/docker.js +38 -39
- package/dist/cli/commands/deploy/fly.js +21 -18
- package/dist/cli/commands/deploy/host-login.d.ts +26 -0
- package/dist/cli/commands/deploy/host-login.js +90 -0
- package/dist/cli/commands/deploy/railway.js +21 -26
- package/dist/cli/commands/deploy/shared.d.ts +45 -17
- package/dist/cli/commands/deploy/shared.js +34 -15
- package/dist/cli/commands/deploy.d.ts +0 -4
- package/dist/cli/commands/deploy.js +237 -50
- package/dist/cli/commands/destroy.js +8 -6
- package/dist/cli/commands/dev.d.ts +0 -2
- package/dist/cli/commands/dev.js +20 -19
- package/dist/cli/commands/env.d.ts +12 -0
- package/dist/cli/commands/env.js +191 -0
- package/dist/cli/commands/info.js +95 -156
- package/dist/cli/commands/init.d.ts +2 -2
- package/dist/cli/commands/init.js +35 -33
- package/dist/cli/commands/invoke.d.ts +6 -0
- package/dist/cli/commands/invoke.js +132 -16
- package/dist/cli/commands/login.d.ts +31 -2
- package/dist/cli/commands/login.js +416 -65
- package/dist/cli/commands/logout.d.ts +4 -0
- package/dist/cli/commands/logout.js +53 -0
- package/dist/cli/commands/logs.js +8 -6
- package/dist/cli/commands/models.d.ts +2 -1
- package/dist/cli/commands/models.js +39 -37
- package/dist/cli/commands/schedules.d.ts +21 -0
- package/dist/cli/commands/schedules.js +143 -0
- package/dist/cli/commands/start.d.ts +11 -10
- package/dist/cli/commands/start.js +35 -62
- package/dist/cli/content-view.d.ts +9 -0
- package/dist/cli/content-view.js +26 -0
- package/dist/cli/fail.d.ts +9 -12
- package/dist/cli/fail.js +17 -14
- package/dist/cli/invoke-stream.d.ts +12 -3
- package/dist/cli/invoke-stream.js +85 -23
- package/dist/cli/kernel.d.ts +9 -2
- package/dist/cli/kernel.js +15 -6
- package/dist/cli/login-relay.d.ts +6 -4
- package/dist/cli/login-relay.js +19 -7
- package/dist/cli/models-view.d.ts +5 -1
- package/dist/cli/models-view.js +1 -1
- package/dist/cli/person.d.ts +10 -0
- package/dist/cli/person.js +23 -0
- package/dist/cli/program.js +421 -203
- package/dist/cli/serve.d.ts +13 -63
- package/dist/cli/serve.js +31 -121
- package/dist/cli/shared.d.ts +21 -48
- package/dist/cli/shared.js +70 -89
- package/dist/cli/ticket.d.ts +136 -0
- package/dist/cli/ticket.js +476 -0
- package/dist/client.d.ts +7 -0
- package/dist/client.js +2 -0
- package/dist/content/declare.d.ts +70 -0
- package/dist/content/declare.js +163 -0
- package/dist/content/file.d.ts +32 -0
- package/dist/content/file.js +119 -0
- package/dist/content/git.d.ts +41 -0
- package/dist/content/git.js +220 -0
- package/dist/content/mount.d.ts +2 -0
- package/dist/content/mount.js +15 -0
- package/dist/content/resolve.d.ts +52 -0
- package/dist/content/resolve.js +151 -0
- package/dist/content/source.d.ts +27 -0
- package/dist/content/source.js +53 -0
- package/dist/conversation-sessions.d.ts +26 -0
- package/dist/conversation-sessions.js +99 -0
- package/dist/declared-secrets.d.ts +19 -37
- package/dist/declared-secrets.js +16 -58
- package/dist/deploy/agentcore/destroy.d.ts +3 -3
- package/dist/deploy/agentcore/destroy.js +46 -28
- package/dist/deploy/agentcore/forwarder.js +105 -22
- package/dist/deploy/agentcore/logs.js +1 -1
- package/dist/deploy/agentcore/plan.d.ts +10 -24
- package/dist/deploy/agentcore/plan.js +31 -135
- package/dist/deploy/agentcore/run.d.ts +1 -1
- package/dist/deploy/agentcore/run.js +8 -5
- package/dist/deploy/agentcore/shell.d.ts +1 -1
- package/dist/deploy/agentcore/shell.js +5 -5
- package/dist/deploy/api.d.ts +34 -0
- package/dist/deploy/api.js +50 -0
- package/dist/deploy/box-shell.d.ts +6 -0
- package/dist/deploy/box-shell.js +7 -0
- package/dist/deploy/build-context.d.ts +7 -5
- package/dist/deploy/build-context.js +41 -35
- package/dist/deploy/channel-ingress.d.ts +6 -1
- package/dist/deploy/channel-ingress.js +18 -5
- package/dist/deploy/container.d.ts +22 -9
- package/dist/deploy/container.js +96 -55
- package/dist/deploy/docker/plan.d.ts +3 -2
- package/dist/deploy/docker/plan.js +13 -14
- package/dist/deploy/docker/run.d.ts +2 -2
- package/dist/deploy/docker/run.js +8 -4
- package/dist/deploy/fly/plan.d.ts +1 -1
- package/dist/deploy/fly/plan.js +12 -21
- package/dist/deploy/fly/run.d.ts +10 -6
- package/dist/deploy/fly/run.js +11 -6
- package/dist/deploy/hosts.d.ts +2 -1
- package/dist/deploy/hosts.js +2 -1
- package/dist/deploy/preflight.d.ts +21 -23
- package/dist/deploy/preflight.js +223 -202
- package/dist/deploy/railway/plan.d.ts +8 -6
- package/dist/deploy/railway/plan.js +15 -58
- package/dist/deploy/railway/run.d.ts +8 -3
- package/dist/deploy/railway/run.js +12 -8
- package/dist/deploy/residency.d.ts +5 -11
- package/dist/deploy/residency.js +0 -6
- package/dist/deploy/runner.d.ts +1 -1
- package/dist/deploy/runner.js +1 -1
- package/dist/deploy/secrets.d.ts +16 -2
- package/dist/deploy/secrets.js +33 -6
- package/dist/deploy/workspace.d.ts +11 -6
- package/dist/deploy/workspace.js +55 -38
- package/dist/dev-supervisor.d.ts +11 -2
- package/dist/dev-supervisor.js +52 -27
- package/dist/effect-port.d.ts +4 -4
- package/dist/effect-port.js +4 -4
- package/dist/env.d.ts +0 -13
- package/dist/env.js +1 -44
- package/dist/environment/apt.d.ts +4 -0
- package/dist/environment/apt.js +32 -0
- package/dist/environment/declare.d.ts +59 -0
- package/dist/environment/declare.js +210 -0
- package/dist/environment/mise.d.ts +51 -0
- package/dist/environment/mise.js +272 -0
- package/dist/feishu.d.ts +2 -2
- package/dist/feishu.js +2 -2
- package/dist/git.d.ts +13 -0
- package/dist/git.js +55 -0
- package/dist/harnesses/models/catalog.d.ts +20 -0
- package/dist/harnesses/models/catalog.js +254 -0
- package/dist/{engines/pi/auth.d.ts → harnesses/models/credentials.d.ts} +3 -3
- package/dist/{engines/pi/auth.js → harnesses/models/credentials.js} +3 -3
- package/dist/harnesses/models/environment.d.ts +48 -0
- package/dist/harnesses/models/environment.js +88 -0
- package/dist/harnesses/models/host.d.ts +30 -0
- package/dist/harnesses/models/host.js +97 -0
- package/dist/{engines/pi → harnesses/models}/login.d.ts +66 -70
- package/dist/harnesses/models/login.js +439 -0
- package/dist/harnesses/models/models.d.ts +84 -0
- package/dist/harnesses/models/models.js +197 -0
- package/dist/harnesses/pi-durable/agent.d.ts +42 -0
- package/dist/harnesses/pi-durable/agent.js +581 -0
- package/dist/harnesses/pi-durable/defaults.d.ts +28 -0
- package/dist/harnesses/pi-durable/defaults.js +26 -0
- package/dist/harnesses/pi-durable/define.d.ts +77 -0
- package/dist/harnesses/pi-durable/define.js +28 -0
- package/dist/harnesses/pi-durable/entries.d.ts +32 -0
- package/dist/harnesses/pi-durable/entries.js +126 -0
- package/dist/harnesses/pi-durable/events.d.ts +25 -0
- package/dist/harnesses/pi-durable/events.js +238 -0
- package/dist/harnesses/pi-durable/ids.d.ts +16 -0
- package/dist/harnesses/pi-durable/ids.js +55 -0
- package/dist/harnesses/pi-durable/messages.d.ts +41 -0
- package/dist/harnesses/pi-durable/messages.js +116 -0
- package/dist/harnesses/pi-durable/open.d.ts +95 -0
- package/dist/harnesses/pi-durable/open.js +330 -0
- package/dist/harnesses/pi-durable/reads.d.ts +30 -0
- package/dist/harnesses/pi-durable/reads.js +94 -0
- package/dist/harnesses/pi-durable/registry.d.ts +18 -0
- package/dist/harnesses/pi-durable/registry.js +56 -0
- package/dist/harnesses/pi-durable/release.d.ts +13 -0
- package/dist/harnesses/pi-durable/release.js +40 -0
- package/dist/harnesses/pi-durable/serve.d.ts +90 -0
- package/dist/harnesses/pi-durable/serve.js +186 -0
- package/dist/harnesses/pi-durable/sessions.d.ts +27 -0
- package/dist/harnesses/pi-durable/sessions.js +47 -0
- package/dist/harnesses/pi-durable/storage.d.ts +4 -0
- package/dist/harnesses/pi-durable/storage.js +49 -0
- package/dist/harnesses/pi-durable/stream.d.ts +20 -0
- package/dist/harnesses/pi-durable/stream.js +221 -0
- package/dist/harnesses/pi-durable/text.d.ts +30 -0
- package/dist/harnesses/pi-durable/text.js +292 -0
- package/dist/harnesses/pi-durable/wake.d.ts +11 -0
- package/dist/harnesses/pi-durable/wake.js +90 -0
- package/dist/http/client.d.ts +6 -0
- package/dist/http/client.js +256 -0
- package/dist/http/contract.d.ts +541 -0
- package/dist/http/contract.js +179 -0
- package/dist/http/server.d.ts +34 -0
- package/dist/http/server.js +194 -0
- package/dist/index.d.ts +19 -4
- package/dist/index.js +13 -5
- package/dist/lark.d.ts +2 -2
- package/dist/lark.js +2 -2
- package/dist/locked-file.d.ts +17 -0
- package/dist/{engines/pi/locked-file.js → locked-file.js} +16 -10
- package/dist/once.d.ts +6 -0
- package/dist/once.js +23 -0
- package/dist/paths.d.ts +36 -52
- package/dist/paths.js +66 -182
- package/dist/runtime.d.ts +25 -2
- package/dist/runtime.js +27 -0
- package/dist/scaffold/add-channel.d.ts +14 -27
- package/dist/scaffold/add-channel.js +82 -180
- package/dist/scaffold/init.d.ts +17 -18
- package/dist/scaffold/init.js +87 -99
- package/dist/scaffold/templates/SYSTEM.md +12 -0
- package/dist/scaffold/templates/env.example +4 -10
- package/dist/scaffold/templates/fastagent.config.ts +21 -33
- package/dist/scaffold/templates/gitignore +8 -1
- package/dist/scaffold/templates/skills/writing-great-skills/SKILL.md +1 -2
- package/dist/scaffold/templates.d.ts +9 -4
- package/dist/scaffold/templates.js +7 -5
- package/dist/scaffold/vendor-skill.d.ts +1 -4
- package/dist/scaffold/vendor-skill.js +5 -6
- package/dist/schedule/cron.d.ts +13 -0
- package/dist/schedule/cron.js +52 -0
- package/dist/schedule/eventbridge-cron.d.ts +17 -0
- package/dist/schedule/eventbridge-cron.js +88 -0
- package/dist/schedule/schedule.d.ts +23 -0
- package/dist/schedule/schedule.js +34 -0
- package/dist/schedule/scheduler.d.ts +34 -33
- package/dist/schedule/scheduler.js +251 -137
- package/dist/schedule/state.d.ts +4 -14
- package/dist/schedule/state.js +7 -7
- package/dist/schedule/wake-alarm.d.ts +22 -2
- package/dist/schedule/wake-alarm.js +66 -20
- package/dist/schedule/wakeups.d.ts +16 -15
- package/dist/schedule/wakeups.js +47 -45
- package/dist/service.d.ts +56 -169
- package/dist/service.js +91 -187
- package/dist/serving-command.d.ts +10 -0
- package/dist/serving-command.js +16 -0
- package/dist/sign-in-api.d.ts +147 -0
- package/dist/sign-in-api.js +9 -0
- package/dist/slack.d.ts +1 -1
- package/dist/slack.js +1 -1
- package/dist/{channels/kit/state.js → state-file.js} +6 -6
- package/dist/telegram.d.ts +1 -0
- package/dist/telegram.js +1 -0
- package/dist/tunnel.d.ts +3 -0
- package/dist/tunnel.js +14 -5
- package/dist/value-file.d.ts +40 -0
- package/dist/value-file.js +164 -0
- package/dist/version.d.ts +5 -0
- package/dist/version.js +14 -1
- package/package.json +18 -28
- package/dist/agent.d.ts +0 -106
- package/dist/agent.js +0 -21
- package/dist/channels/control.d.ts +0 -31
- package/dist/channels/control.js +0 -329
- package/dist/channels/define-channel.d.ts +0 -39
- package/dist/channels/define-channel.js +0 -9
- package/dist/channels/feishu/context-buffer.d.ts +0 -35
- package/dist/channels/feishu/context-buffer.js +0 -65
- package/dist/channels/feishu/scaffold/channel.websocket.ts +0 -31
- package/dist/channels/http.d.ts +0 -23
- package/dist/channels/http.js +0 -57
- package/dist/channels/lark/scaffold/channel.websocket.ts +0 -31
- package/dist/channels/slack/context-buffer.d.ts +0 -23
- package/dist/channels/slack/context-buffer.js +0 -37
- package/dist/channels/sse.d.ts +0 -4
- package/dist/channels/sse.js +0 -66
- package/dist/cli/commands/chat.d.ts +0 -3
- package/dist/cli/commands/chat.js +0 -14
- package/dist/cli/commands/routine-run.d.ts +0 -6
- package/dist/cli/commands/routine-run.js +0 -46
- package/dist/cli/commands/routine.d.ts +0 -25
- package/dist/cli/commands/routine.js +0 -122
- package/dist/cli/commands/tool.d.ts +0 -1
- package/dist/cli/commands/tool.js +0 -57
- package/dist/collect.d.ts +0 -63
- package/dist/collect.js +0 -90
- package/dist/core.d.ts +0 -13
- package/dist/core.js +0 -15
- package/dist/engines/pi/agent-models.d.ts +0 -83
- package/dist/engines/pi/agent-models.js +0 -120
- package/dist/engines/pi/agent-session-factory.d.ts +0 -121
- package/dist/engines/pi/agent-session-factory.js +0 -535
- package/dist/engines/pi/chat.d.ts +0 -3
- package/dist/engines/pi/chat.js +0 -8
- package/dist/engines/pi/config.d.ts +0 -71
- package/dist/engines/pi/config.js +0 -199
- package/dist/engines/pi/create.d.ts +0 -170
- package/dist/engines/pi/create.js +0 -343
- package/dist/engines/pi/definition.d.ts +0 -74
- package/dist/engines/pi/definition.js +0 -236
- package/dist/engines/pi/entry-images.d.ts +0 -14
- package/dist/engines/pi/entry-images.js +0 -23
- package/dist/engines/pi/invoke-session.d.ts +0 -18
- package/dist/engines/pi/invoke-session.js +0 -403
- package/dist/engines/pi/locked-file.d.ts +0 -9
- package/dist/engines/pi/login.js +0 -331
- package/dist/engines/pi/machine.d.ts +0 -53
- package/dist/engines/pi/machine.js +0 -137
- package/dist/engines/pi/models.d.ts +0 -200
- package/dist/engines/pi/models.js +0 -533
- package/dist/engines/pi/open.d.ts +0 -180
- package/dist/engines/pi/open.js +0 -270
- package/dist/engines/pi/openai-account-models.d.ts +0 -35
- package/dist/engines/pi/openai-account-models.js +0 -116
- package/dist/engines/pi/report.d.ts +0 -18
- package/dist/engines/pi/report.js +0 -59
- package/dist/engines/pi/retry-event.d.ts +0 -6
- package/dist/engines/pi/retry-event.js +0 -15
- package/dist/engines/pi/service.d.ts +0 -9
- package/dist/engines/pi/service.js +0 -14
- package/dist/engines/pi/session-builder.d.ts +0 -13
- package/dist/engines/pi/session-builder.js +0 -117
- package/dist/engines/pi/session-control.d.ts +0 -77
- package/dist/engines/pi/session-control.js +0 -908
- package/dist/engines/pi/session-effects.d.ts +0 -14
- package/dist/engines/pi/session-effects.js +0 -30
- package/dist/engines/pi/session-inheritance.d.ts +0 -21
- package/dist/engines/pi/session-inheritance.js +0 -204
- package/dist/engines/pi/session-markers.d.ts +0 -49
- package/dist/engines/pi/session-markers.js +0 -60
- package/dist/engines/pi/session-settings.d.ts +0 -67
- package/dist/engines/pi/session-settings.js +0 -119
- package/dist/engines/pi/session-store.d.ts +0 -69
- package/dist/engines/pi/session-store.js +0 -430
- package/dist/engines/pi/tool-context.d.ts +0 -45
- package/dist/engines/pi/tool-context.js +0 -31
- package/dist/engines/pi/tool.d.ts +0 -99
- package/dist/engines/pi/tool.js +0 -118
- package/dist/engines/pi/turn-kit.d.ts +0 -92
- package/dist/engines/pi/turn-kit.js +0 -288
- package/dist/engines/pi/wake-tool.d.ts +0 -9
- package/dist/engines/pi/wake-tool.js +0 -92
- package/dist/loader.d.ts +0 -41
- package/dist/loader.js +0 -116
- package/dist/node.d.ts +0 -3
- package/dist/node.js +0 -4
- package/dist/observe.d.ts +0 -6
- package/dist/observe.js +0 -47
- package/dist/pi.d.ts +0 -25
- package/dist/pi.js +0 -15
- package/dist/scaffold/templates/APPEND_SYSTEM.md +0 -12
- package/dist/scaffold/templates/tools/fetch-url.ts +0 -25
- package/dist/schedule/discover.d.ts +0 -17
- package/dist/schedule/discover.js +0 -61
- package/dist/schedule/routine.d.ts +0 -43
- package/dist/schedule/routine.js +0 -32
- package/dist/schedule/run.d.ts +0 -55
- package/dist/schedule/run.js +0 -146
- package/dist/secrets-gate.d.ts +0 -32
- package/dist/secrets-gate.js +0 -33
- package/dist/session-remote.d.ts +0 -47
- package/dist/session-remote.js +0 -460
- package/dist/session.d.ts +0 -466
- package/dist/session.js +0 -57
- /package/dist/{channels/kit/state.d.ts → state-file.d.ts} +0 -0
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An agent's MODEL ENVIRONMENT as one value: the credential store its turns authenticate through, the registry they
|
|
3
|
-
* resolve models against, and what authenticates a provider there. Every reader builds it through {@link agentModels}
|
|
4
|
-
* — the opener and L2, the startup report and a deployed box's `login --if-missing`, `info`, the first-run picker,
|
|
5
|
-
* login, the model list — so none of them can read other credential layers or another registry than the runtime
|
|
6
|
-
* does. Each used to compose these parts itself, and two of those copies drifted from the rule (#636, #660).
|
|
7
|
-
*/
|
|
8
|
-
import type { ExecutionEnv } from "@earendil-works/pi-agent-core";
|
|
9
|
-
import type { Credential, CredentialStore, Models, Provider } from "@earendil-works/pi-ai";
|
|
10
|
-
import { ModelRuntime } from "@earendil-works/pi-coding-agent";
|
|
11
|
-
import { type AuthLayers, type CredentialSourceOptions, type FastagentAuthOptions } from "./auth.ts";
|
|
12
|
-
/** What authenticates one provider for an agent ({@link AgentModels.authStatus}). */
|
|
13
|
-
interface AuthStatus {
|
|
14
|
-
/** What satisfies it now (`OAuth`, `stored credential`, an env variable's name), after a due refresh. */
|
|
15
|
-
source?: string;
|
|
16
|
-
/** Why resolving it failed (a corrupt entry, a refresh the provider refused), when it did. */
|
|
17
|
-
error?: string;
|
|
18
|
-
/** The file that holds the stored credential, or the one a login would write; absent over a caller's store. */
|
|
19
|
-
path?: string;
|
|
20
|
-
/** The kind of credential the store holds for it, usable or not. */
|
|
21
|
-
stored?: Credential["type"];
|
|
22
|
-
/**
|
|
23
|
-
* An env variable that also authenticates it but goes unused, because pi lets a stored credential own its provider
|
|
24
|
-
* — a key added to a deployment's value file after the box was logged in, typically.
|
|
25
|
-
*/
|
|
26
|
-
shadowed?: string;
|
|
27
|
-
}
|
|
28
|
-
export interface AgentModels {
|
|
29
|
-
/** The credentials files behind {@link credentials}; absent when the caller supplied its own store. */
|
|
30
|
-
auth?: AuthLayers;
|
|
31
|
-
credentials: CredentialStore;
|
|
32
|
-
/**
|
|
33
|
-
* The registry: pi's built-ins, plus (with a directory) the agent's `models.json` and model catalog over the
|
|
34
|
-
* machine's, plus `providers` and extension model declarations. An unbound catalog, built on first use and shared
|
|
35
|
-
* after; session bindings use createRuntime and their own extension instances.
|
|
36
|
-
*/
|
|
37
|
-
runtime(): Promise<ModelRuntime>;
|
|
38
|
-
/** A session-local registry, before its extensions are loaded. Credentials remain shared. */
|
|
39
|
-
createRuntime(): Promise<ModelRuntime>;
|
|
40
|
-
/**
|
|
41
|
-
* What authenticates `provider` here, resolved exactly as a turn resolves it: the ONE answer the startup report and a
|
|
42
|
-
* deployed box's `login --if-missing` both give. `modelId` picks the model to probe with; the provider's first one
|
|
43
|
-
* otherwise (auth is provider-scoped).
|
|
44
|
-
*/
|
|
45
|
-
authStatus(provider: string, modelId?: string): Promise<AuthStatus>;
|
|
46
|
-
/**
|
|
47
|
-
* The definition's extension entry points, discovered once: what this catalog registers models from and what every
|
|
48
|
-
* session of the assembly built over it loads. Empty without a directory.
|
|
49
|
-
*/
|
|
50
|
-
extensionPaths(): Promise<readonly string[]>;
|
|
51
|
-
}
|
|
52
|
-
export interface AgentModelsOptions {
|
|
53
|
-
/** Workspace for extension model registration; defaults to agentDir for standalone definitions. */
|
|
54
|
-
cwd?: string;
|
|
55
|
-
/** Where `extensions/` is listed from; Node's filesystem by default. */
|
|
56
|
-
env?: ExecutionEnv;
|
|
57
|
-
/** Extra providers registered on top of the built-ins (a same id replaces one). */
|
|
58
|
-
providers?: readonly Provider[];
|
|
59
|
-
/**
|
|
60
|
-
* Layer the machine's models.json and model catalog under the agent's (default). Off for the registry a DEPLOYED
|
|
61
|
-
* agent has, since neither ships.
|
|
62
|
-
*/
|
|
63
|
-
machineLayer?: boolean;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* The model environment of the agent in `agentDir` (or, without one, of a caller with no directory: pi's built-ins
|
|
67
|
-
* over the named or global credentials file). A supplied `credentialStore` is used as given; otherwise the files:
|
|
68
|
-
* the directory's own layers ({@link resolveAuthLayers}), or the named file or the global one.
|
|
69
|
-
*/
|
|
70
|
-
export declare function agentModels(agentDir: string | undefined, source?: {
|
|
71
|
-
authPath?: string;
|
|
72
|
-
credentialStore?: undefined;
|
|
73
|
-
} & FastagentAuthOptions, options?: AgentModelsOptions): AgentModels & {
|
|
74
|
-
auth: AuthLayers;
|
|
75
|
-
};
|
|
76
|
-
export declare function agentModels(agentDir: string | undefined, source?: CredentialSourceOptions & FastagentAuthOptions, options?: AgentModelsOptions): AgentModels;
|
|
77
|
-
export interface CreatePiModelsOptions extends FastagentAuthOptions, CredentialSourceOptions {
|
|
78
|
-
/** Extra providers registered on top of the built-ins (same id overrides a built-in). */
|
|
79
|
-
providers?: Provider[];
|
|
80
|
-
}
|
|
81
|
-
/** A `Models` with every built-in pi provider, wired to fastagent's auth. */
|
|
82
|
-
export declare function createPiModels(options?: CreatePiModelsOptions): Models;
|
|
83
|
-
export {};
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { ModelRuntime } from "@earendil-works/pi-coding-agent";
|
|
2
|
-
import { definitionServices } from "./agent-session-factory.js";
|
|
3
|
-
import { loadExtensionPaths } from "./definition.js";
|
|
4
|
-
import { GLOBAL_AUTH_PATH, assertOneCredentialSource, fastagentCredentialStore, resolveAuthLayers, } from "./auth.js";
|
|
5
|
-
import { createPiModelRuntime, environmentAuthSource, modelRuntimeFiles, piModelsOver, probeAuthSource, } from "./models.js";
|
|
6
|
-
export function agentModels(agentDir, source = {}, options = {}) {
|
|
7
|
-
assertOneCredentialSource(source);
|
|
8
|
-
const { providers, machineLayer } = options;
|
|
9
|
-
const files = source.credentialStore
|
|
10
|
-
? undefined
|
|
11
|
-
: agentDir
|
|
12
|
-
? resolveAuthLayers(agentDir, source.authPath)
|
|
13
|
-
: { path: source.authPath ?? GLOBAL_AUTH_PATH };
|
|
14
|
-
// The model files, read once for every runtime this agent builds: a session's and the control plane's.
|
|
15
|
-
let modelFiles;
|
|
16
|
-
const readModelFiles = () => (modelFiles ??= modelRuntimeFiles({
|
|
17
|
-
...(agentDir ? { agentDir } : {}),
|
|
18
|
-
...(machineLayer !== undefined ? { machineLayer } : {}),
|
|
19
|
-
}));
|
|
20
|
-
const store = files
|
|
21
|
-
? agentCredentialStore(files, readModelFiles, { providers, warn: source.warn })
|
|
22
|
-
: undefined;
|
|
23
|
-
const credentials = source.credentialStore ?? store;
|
|
24
|
-
const createRuntime = async () => createPiModelRuntime({
|
|
25
|
-
credentials,
|
|
26
|
-
files: await readModelFiles(),
|
|
27
|
-
...(agentDir ? { agentDir } : {}),
|
|
28
|
-
...(providers ? { providers } : {}),
|
|
29
|
-
...(machineLayer !== undefined ? { machineLayer } : {}),
|
|
30
|
-
});
|
|
31
|
-
const cwd = options.cwd ?? agentDir;
|
|
32
|
-
let discovered;
|
|
33
|
-
const extensionPaths = () => (discovered ??= agentDir
|
|
34
|
-
? loadExtensionPaths(agentDir, { ...(cwd ? { cwd } : {}), ...(options.env ? { env: options.env } : {}) })
|
|
35
|
-
: Promise.resolve([]));
|
|
36
|
-
let registry;
|
|
37
|
-
const runtime = () => {
|
|
38
|
-
registry ??= createRuntime().then(async (models) => {
|
|
39
|
-
if (agentDir) {
|
|
40
|
-
await definitionServices({
|
|
41
|
-
cwd: cwd ?? agentDir,
|
|
42
|
-
modelRuntime: models,
|
|
43
|
-
definition: { skills: [] },
|
|
44
|
-
extensionPaths: await extensionPaths(),
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
return models;
|
|
48
|
-
});
|
|
49
|
-
return registry;
|
|
50
|
-
};
|
|
51
|
-
return {
|
|
52
|
-
...(files ? { auth: files } : {}),
|
|
53
|
-
credentials,
|
|
54
|
-
runtime,
|
|
55
|
-
createRuntime,
|
|
56
|
-
extensionPaths,
|
|
57
|
-
async authStatus(provider, modelId) {
|
|
58
|
-
const models = await runtime();
|
|
59
|
-
const id = modelId ?? models.getProvider(provider)?.getModels()[0]?.id;
|
|
60
|
-
let resolved = {};
|
|
61
|
-
if (id !== undefined) {
|
|
62
|
-
try {
|
|
63
|
-
const found = await probeAuthSource(models, `${provider}/${id}`);
|
|
64
|
-
if (found !== undefined)
|
|
65
|
-
resolved = { source: found };
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
// The first line: pi folds the request's stack into the message of a failed refresh.
|
|
69
|
-
resolved = { error: String(error.message).split("\n")[0] };
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
// `read` never refreshes: this is the kind on file, whatever became of it.
|
|
73
|
-
const stored = (await credentials.read(provider))?.type;
|
|
74
|
-
const fromEnvironment = stored === undefined ? undefined : await environmentAuthSource(provider, process.env);
|
|
75
|
-
const shadowed = resolved.source !== undefined && fromEnvironment !== resolved.source ? fromEnvironment : undefined;
|
|
76
|
-
return {
|
|
77
|
-
...(store ? { path: await store.layerOf(provider) } : {}),
|
|
78
|
-
...resolved,
|
|
79
|
-
...(stored !== undefined ? { stored } : {}),
|
|
80
|
-
...(shadowed !== undefined ? { shadowed } : {}),
|
|
81
|
-
};
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
/** A `Models` with every built-in pi provider, wired to fastagent's auth. */
|
|
86
|
-
export function createPiModels(options = {}) {
|
|
87
|
-
return piModelsOver(agentModels(undefined, options).credentials, options.providers);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* The credential store an agent reads through: its own file, then the user-global one for a provider the PROJECT
|
|
91
|
-
* authenticates no other way (its own auth file, a models.json key, or the environment). "No other way" is answered
|
|
92
|
-
* by pi's own resolution over a registry that has no global layer, built the first time a provider is looked up
|
|
93
|
-
* there. A deployment never has the global file, so a global login that outranked, say, an `ANTHROPIC_API_KEY` in
|
|
94
|
-
* `.secrets/.env` would run one credential here and a different one deployed.
|
|
95
|
-
*/
|
|
96
|
-
function agentCredentialStore(auth, modelFiles, options) {
|
|
97
|
-
const { warn, providers = [] } = options;
|
|
98
|
-
const fallback = auth.fallback;
|
|
99
|
-
if (fallback === undefined)
|
|
100
|
-
return fastagentCredentialStore(auth.path, { warn });
|
|
101
|
-
let project;
|
|
102
|
-
const projectRuntime = () => {
|
|
103
|
-
project ??= (async () => {
|
|
104
|
-
const runtime = await ModelRuntime.create({
|
|
105
|
-
credentials: fastagentCredentialStore(auth.path, { warn }),
|
|
106
|
-
...(await (await modelFiles()).create()),
|
|
107
|
-
refreshOnCreate: false,
|
|
108
|
-
});
|
|
109
|
-
for (const provider of providers)
|
|
110
|
-
runtime.registerNativeProvider(provider);
|
|
111
|
-
return runtime;
|
|
112
|
-
})();
|
|
113
|
-
return project;
|
|
114
|
-
};
|
|
115
|
-
return fastagentCredentialStore(auth.path, {
|
|
116
|
-
warn,
|
|
117
|
-
fallbackPath: fallback,
|
|
118
|
-
projectAuthenticates: async (providerId) => (await (await projectRuntime()).checkAuth(providerId)) !== undefined,
|
|
119
|
-
});
|
|
120
|
-
}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { type Machine } from "./machine.ts";
|
|
2
|
-
import type { Skill, ThinkingLevel } from "@earendil-works/pi-agent-core";
|
|
3
|
-
import { type AgentSession, type AgentSessionServices, type CompactionResult, type CreateAgentSessionServicesOptions, type ModelRuntime, type ResolvedCommand, SessionManager, createAgentSessionFromServices } from "@earendil-works/pi-coding-agent";
|
|
4
|
-
import type { PiAgentSessionFactory } from "./invoke-session.ts";
|
|
5
|
-
import type { PiSessionRecordStore } from "./session-store.ts";
|
|
6
|
-
import type { MountedTool } from "./tool.ts";
|
|
7
|
-
import { type AnyModel } from "./models.ts";
|
|
8
|
-
import type { DefinitionPrompt } from "./definition.ts";
|
|
9
|
-
/** What one binding reads from the definition: the prompt pieces, skills and prompt templates pi is handed. */
|
|
10
|
-
export interface PiSessionDefinition {
|
|
11
|
-
/** Replaces pi's default prompt when set (`SYSTEM.md`, L2's `base`, L1's `instructions`); absent → pi's default. */
|
|
12
|
-
systemPrompt?: string;
|
|
13
|
-
/** Added after the prompt, whichever it is (`APPEND_SYSTEM.md`). */
|
|
14
|
-
appendSystemPrompt?: string;
|
|
15
|
-
/** Project instructions (AGENTS.md); pi renders them as its project context. */
|
|
16
|
-
contextFiles?: Array<{
|
|
17
|
-
path: string;
|
|
18
|
-
content: string;
|
|
19
|
-
}>;
|
|
20
|
-
/** FastAgent's own named prompt sections: pi renders them after its own, whoever wrote the rest. */
|
|
21
|
-
sections?: Record<string, string>;
|
|
22
|
-
skills: Skill[];
|
|
23
|
-
/** The definition's own prompt templates; the machine's are added behind them. */
|
|
24
|
-
prompts?: DefinitionPrompt[];
|
|
25
|
-
}
|
|
26
|
-
export interface PiAgentSessionFactoryOptions {
|
|
27
|
-
/** Where conversations live. */
|
|
28
|
-
sessions: PiSessionRecordStore;
|
|
29
|
-
/** A fresh model runtime per binding: extension routers and provider registrations belong to this session. */
|
|
30
|
-
engine: () => Promise<{
|
|
31
|
-
modelRuntime: ModelRuntime;
|
|
32
|
-
}>;
|
|
33
|
-
/**
|
|
34
|
-
* The default model, resolved after extensions register their models. Optional: a session that records a model
|
|
35
|
-
* runs on it, and one that records none is refused with {@link MissingModel} when there is no default either.
|
|
36
|
-
*/
|
|
37
|
-
modelSpec?: string;
|
|
38
|
-
thinkingLevel?: ThinkingLevel;
|
|
39
|
-
tools?: MountedTool[];
|
|
40
|
-
/** Read once per binding; prompt and skills come from the same definition read. */
|
|
41
|
-
readDefinition: () => PiSessionDefinition | Promise<PiSessionDefinition>;
|
|
42
|
-
/** The agent's working directory — what fastagent-defined tools see as `cwd`. */
|
|
43
|
-
cwd: string;
|
|
44
|
-
/** The definition's own extension entry points, loaded fresh for every bound session. */
|
|
45
|
-
extensionPaths?: string[];
|
|
46
|
-
/** Built-ins omitted by an explicit lower-level tool list. */
|
|
47
|
-
excludedToolNames?: readonly string[];
|
|
48
|
-
}
|
|
49
|
-
export interface BindPiSessionOptions {
|
|
50
|
-
services: AgentSessionServices;
|
|
51
|
-
sessionManager: SessionManager;
|
|
52
|
-
/** Chat only: pi's runtime hands the resumed/new session its start event. */
|
|
53
|
-
sessionStartEvent?: Parameters<typeof createAgentSessionFromServices>[0]["sessionStartEvent"];
|
|
54
|
-
model: AnyModel;
|
|
55
|
-
thinkingLevel: ThinkingLevel | undefined;
|
|
56
|
-
tools: MountedTool[];
|
|
57
|
-
/** The agent's working directory — what fastagent-defined tools see as `cwd`. */
|
|
58
|
-
cwd: string;
|
|
59
|
-
/** Built-ins omitted by an explicit lower-level tool list. */
|
|
60
|
-
excludedToolNames?: readonly string[];
|
|
61
|
-
/** The CALLER's session id — what a tool asking which conversation it is in hears. */
|
|
62
|
-
sessionId?: string;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Bind ONE pi session to a record: authored tools replace same-name built-ins; Pi owns exposure and discovery.
|
|
66
|
-
*/
|
|
67
|
-
export declare function bindPiSession(options: BindPiSessionOptions): ReturnType<typeof createAgentSessionFromServices>;
|
|
68
|
-
/** What pi is allowed to discover, minus the parts each assembly fills in itself. */
|
|
69
|
-
type DefinitionLoaderOptions = NonNullable<CreateAgentSessionServicesOptions["resourceLoaderOptions"]>;
|
|
70
|
-
/** The resource posture a fastagent definition asks pi for — ONE definition of it, for both assemblies. */
|
|
71
|
-
export declare function definitionResourceLoaderOptions(source: {
|
|
72
|
-
definition: PiSessionDefinition;
|
|
73
|
-
/** {@link readMachine} for this workspace — resolved by the caller, because this function is synchronous. */
|
|
74
|
-
machine: Machine;
|
|
75
|
-
extensionPaths?: readonly string[];
|
|
76
|
-
}): DefinitionLoaderOptions;
|
|
77
|
-
/** Tell a waiting {@link startCompaction} that pi admitted the compaction on this record. */
|
|
78
|
-
export declare function admitCompaction(record: SessionManager): void;
|
|
79
|
-
/** What pi decided before its model call: go ahead, nothing to do, or a failure of its own (in `refused`). */
|
|
80
|
-
export type CompactAdmission = "admitted" | "nothing_to_compact" | {
|
|
81
|
-
refused: unknown;
|
|
82
|
-
};
|
|
83
|
-
/**
|
|
84
|
-
* Start pi's manual compaction on a bound session. `onAdmitted` runs INSIDE pi's admission event, so everything it
|
|
85
|
-
* publishes precedes anything pi does next (the model call, its retries). `admission` settles before the model call.
|
|
86
|
-
* pi's own pre-admission failures come back as `refused` rather than a rejection: the caller answers them to its
|
|
87
|
-
* Caller as a result. `done` is the compaction itself.
|
|
88
|
-
*/
|
|
89
|
-
export declare function startCompaction(session: AgentSession, instructions: string | undefined, onAdmitted: () => void): {
|
|
90
|
-
admission: Promise<CompactAdmission>;
|
|
91
|
-
done: Promise<CompactionResult>;
|
|
92
|
-
};
|
|
93
|
-
/** A fresh loader and Pi's native model registration, over a session-local runtime. */
|
|
94
|
-
export declare function definitionServices(options: {
|
|
95
|
-
cwd: string;
|
|
96
|
-
modelRuntime: ModelRuntime;
|
|
97
|
-
definition: PiSessionDefinition;
|
|
98
|
-
extensionPaths: readonly string[];
|
|
99
|
-
}): Promise<AgentSessionServices>;
|
|
100
|
-
/**
|
|
101
|
-
* The `/name` commands a served session dispatches, named the way pi resolves them (a name two extensions share gets
|
|
102
|
-
* a `:N` suffix). Loaded through the same {@link definitionServices} a turn binds, so the menu and the dispatch cannot
|
|
103
|
-
* disagree. Loading runs the extensions' factories; no session opens, so `session_start` does not fire, and the
|
|
104
|
-
* instances are never bound (any action they call throws).
|
|
105
|
-
*/
|
|
106
|
-
export declare function servedExtensionCommands(options: {
|
|
107
|
-
cwd: string;
|
|
108
|
-
modelRuntime: ModelRuntime;
|
|
109
|
-
extensionPaths: readonly string[];
|
|
110
|
-
}): Promise<ResolvedCommand[]>;
|
|
111
|
-
/**
|
|
112
|
-
* Open-or-create the record, then bind a fresh session to it — on a fresh resource loader.
|
|
113
|
-
*
|
|
114
|
-
* ONE LOADER PER SESSION, because pi's extension runtime belongs to its loader: a loader shared across concurrent
|
|
115
|
-
* turns would let one conversation's extension act on another's session. It also makes the definition live with no
|
|
116
|
-
* bookkeeping: every bind reads the prompt and skills this invoke read. The machine's half is the process's one read
|
|
117
|
-
* (machine.ts). Extension CODE is imported once per process, so an edit to `extensions/` needs a restart, which is
|
|
118
|
-
* what `dev` does on one.
|
|
119
|
-
*/
|
|
120
|
-
export declare function piAgentSessionFactory(options: PiAgentSessionFactoryOptions): PiAgentSessionFactory;
|
|
121
|
-
export {};
|