@geminixiang/mikan 1.0.0-beta.39 → 1.0.0-beta.40
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/CHANGELOG.md +21 -0
- package/README.md +50 -23
- package/dist/adapter.d.ts +1 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js.map +1 -1
- package/dist/adapters/discord/bot.d.ts +2 -1
- package/dist/adapters/discord/bot.d.ts.map +1 -1
- package/dist/adapters/discord/bot.js +3 -3
- package/dist/adapters/discord/bot.js.map +1 -1
- package/dist/adapters/discord/context.d.ts +2 -1
- package/dist/adapters/discord/context.d.ts.map +1 -1
- package/dist/adapters/discord/context.js +1 -1
- package/dist/adapters/discord/context.js.map +1 -1
- package/dist/adapters/github/bot.d.ts +2 -1
- package/dist/adapters/github/bot.d.ts.map +1 -1
- package/dist/adapters/github/bot.js +11 -7
- package/dist/adapters/github/bot.js.map +1 -1
- package/dist/adapters/github/client.js +2 -2
- package/dist/adapters/github/client.js.map +1 -1
- package/dist/adapters/github/context.d.ts +4 -2
- package/dist/adapters/github/context.d.ts.map +1 -1
- package/dist/adapters/github/context.js +2 -2
- package/dist/adapters/github/context.js.map +1 -1
- package/dist/adapters/github/gcp-auth.js +2 -2
- package/dist/adapters/github/gcp-auth.js.map +1 -1
- package/dist/adapters/github/github-ops.d.ts +3 -2
- package/dist/adapters/github/github-ops.d.ts.map +1 -1
- package/dist/adapters/github/github-ops.js +1 -1
- package/dist/adapters/github/github-ops.js.map +1 -1
- package/dist/adapters/github/ids.d.ts.map +1 -1
- package/dist/adapters/github/ids.js +7 -3
- package/dist/adapters/github/ids.js.map +1 -1
- package/dist/adapters/github/repo.js +3 -3
- package/dist/adapters/github/repo.js.map +1 -1
- package/dist/adapters/github/types.d.ts +2 -1
- package/dist/adapters/github/types.d.ts.map +1 -1
- package/dist/adapters/github/types.js.map +1 -1
- package/dist/adapters/progressive-renderer.js +1 -1
- package/dist/adapters/progressive-renderer.js.map +1 -1
- package/dist/adapters/shared.js +4 -4
- package/dist/adapters/shared.js.map +1 -1
- package/dist/adapters/slack/blocks.d.ts.map +1 -1
- package/dist/adapters/slack/blocks.js +3 -1
- package/dist/adapters/slack/blocks.js.map +1 -1
- package/dist/adapters/slack/bot.d.ts +12 -2
- package/dist/adapters/slack/bot.d.ts.map +1 -1
- package/dist/adapters/slack/bot.js +70 -9
- package/dist/adapters/slack/bot.js.map +1 -1
- package/dist/adapters/slack/context.d.ts +2 -1
- package/dist/adapters/slack/context.d.ts.map +1 -1
- package/dist/adapters/slack/context.js +1 -0
- package/dist/adapters/slack/context.js.map +1 -1
- package/dist/adapters/slack/response-lifecycle.d.ts.map +1 -1
- package/dist/adapters/slack/response-lifecycle.js +4 -4
- package/dist/adapters/slack/response-lifecycle.js.map +1 -1
- package/dist/adapters/slack/session.d.ts.map +1 -1
- package/dist/adapters/slack/session.js +2 -3
- package/dist/adapters/slack/session.js.map +1 -1
- package/dist/adapters/slack/tools/attach.js +1 -1
- package/dist/adapters/slack/tools/attach.js.map +1 -1
- package/dist/adapters/telegram/bot.d.ts +2 -1
- package/dist/adapters/telegram/bot.d.ts.map +1 -1
- package/dist/adapters/telegram/bot.js +6 -6
- package/dist/adapters/telegram/bot.js.map +1 -1
- package/dist/adapters/telegram/context.d.ts +2 -1
- package/dist/adapters/telegram/context.d.ts.map +1 -1
- package/dist/adapters/telegram/context.js.map +1 -1
- package/dist/adapters/telegram/html.d.ts.map +1 -1
- package/dist/adapters/telegram/html.js +10 -7
- package/dist/adapters/telegram/html.js.map +1 -1
- package/dist/adapters/types.d.ts +4 -2
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/types.js.map +1 -1
- package/dist/agent-events.d.ts +3 -2
- package/dist/agent-events.d.ts.map +1 -1
- package/dist/agent-events.js +19 -1
- package/dist/agent-events.js.map +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +34 -9
- package/dist/agent.js.map +1 -1
- package/dist/cli/arg-grammar.d.ts.map +1 -1
- package/dist/cli/arg-grammar.js +5 -3
- package/dist/cli/arg-grammar.js.map +1 -1
- package/dist/cli/boot.d.ts.map +1 -1
- package/dist/cli/boot.js +5 -3
- package/dist/cli/boot.js.map +1 -1
- package/dist/cli/download.d.ts.map +1 -1
- package/dist/cli/download.js +2 -0
- package/dist/cli/download.js.map +1 -1
- package/dist/cli/ext-dev.d.ts.map +1 -1
- package/dist/cli/ext-dev.js +4 -1
- package/dist/cli/ext-dev.js.map +1 -1
- package/dist/cli/ext.d.ts.map +1 -1
- package/dist/cli/ext.js +123 -23
- package/dist/cli/ext.js.map +1 -1
- package/dist/cli/office.d.ts.map +1 -1
- package/dist/cli/office.js +2 -0
- package/dist/cli/office.js.map +1 -1
- package/dist/cli/types.d.ts +0 -6
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js.map +1 -1
- package/dist/commands/admin.js +1 -1
- package/dist/commands/admin.js.map +1 -1
- package/dist/commands/auto-reply.js +2 -2
- package/dist/commands/auto-reply.js.map +1 -1
- package/dist/commands/extensions.js +1 -1
- package/dist/commands/extensions.js.map +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/manifest.d.ts +7 -0
- package/dist/commands/manifest.d.ts.map +1 -1
- package/dist/commands/manifest.js +28 -0
- package/dist/commands/manifest.js.map +1 -1
- package/dist/commands/model.d.ts.map +1 -1
- package/dist/commands/model.js +4 -1
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/new.js +1 -1
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/sandbox.js +3 -3
- package/dist/commands/sandbox.js.map +1 -1
- package/dist/commands/session-view.d.ts.map +1 -1
- package/dist/commands/session-view.js +5 -2
- package/dist/commands/session-view.js.map +1 -1
- package/dist/commands/types.d.ts +1 -1
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js.map +1 -1
- package/dist/config.js +4 -4
- package/dist/config.js.map +1 -1
- package/dist/env-manifest.d.ts +2 -0
- package/dist/env-manifest.d.ts.map +1 -1
- package/dist/env-manifest.js +11 -1
- package/dist/env-manifest.js.map +1 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +7 -6
- package/dist/events.js.map +1 -1
- package/dist/execution-resolver.d.ts.map +1 -1
- package/dist/execution-resolver.js +3 -2
- package/dist/execution-resolver.js.map +1 -1
- package/dist/extension-schedules.d.ts +31 -0
- package/dist/extension-schedules.d.ts.map +1 -0
- package/dist/extension-schedules.js +229 -0
- package/dist/extension-schedules.js.map +1 -0
- package/dist/harness/auth.js +5 -5
- package/dist/harness/auth.js.map +1 -1
- package/dist/harness/event-format.d.ts +2 -0
- package/dist/harness/event-format.d.ts.map +1 -1
- package/dist/harness/event-format.js +2 -1
- package/dist/harness/event-format.js.map +1 -1
- package/dist/harness/extensions/loader.d.ts +2 -2
- package/dist/harness/extensions/loader.d.ts.map +1 -1
- package/dist/harness/extensions/loader.js +135 -33
- package/dist/harness/extensions/loader.js.map +1 -1
- package/dist/harness/extensions/registry.d.ts +33 -1
- package/dist/harness/extensions/registry.d.ts.map +1 -1
- package/dist/harness/extensions/registry.js +79 -2
- package/dist/harness/extensions/registry.js.map +1 -1
- package/dist/harness/extensions/types.d.ts +165 -21
- package/dist/harness/extensions/types.d.ts.map +1 -1
- package/dist/harness/extensions/types.js.map +1 -1
- package/dist/harness/index.d.ts +2 -2
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +1 -1
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/models.d.ts.map +1 -1
- package/dist/harness/models.js +36 -24
- package/dist/harness/models.js.map +1 -1
- package/dist/harness/runner.js +2 -2
- package/dist/harness/runner.js.map +1 -1
- package/dist/harness/session-store.d.ts.map +1 -1
- package/dist/harness/session-store.js +9 -7
- package/dist/harness/session-store.js.map +1 -1
- package/dist/harness/skills.js +3 -3
- package/dist/harness/skills.js.map +1 -1
- package/dist/harness/subagent-profiles.js +2 -2
- package/dist/harness/subagent-profiles.js.map +1 -1
- package/dist/harness/subagent-runner.js +3 -3
- package/dist/harness/subagent-runner.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/main.js +58 -9
- package/dist/main.js.map +1 -1
- package/dist/observability/instrument.js +1 -1
- package/dist/observability/instrument.js.map +1 -1
- package/dist/observability/sentry.js +1 -1
- package/dist/observability/sentry.js.map +1 -1
- package/dist/office/index.d.ts +1 -1
- package/dist/office/index.d.ts.map +1 -1
- package/dist/office/index.js +1 -1
- package/dist/office/index.js.map +1 -1
- package/dist/office/layout.d.ts +7 -0
- package/dist/office/layout.d.ts.map +1 -1
- package/dist/office/layout.js +10 -1
- package/dist/office/layout.js.map +1 -1
- package/dist/office/registry.d.ts.map +1 -1
- package/dist/office/registry.js +7 -5
- package/dist/office/registry.js.map +1 -1
- package/dist/packages/materialize.js +10 -3
- package/dist/packages/materialize.js.map +1 -1
- package/dist/packages/source.d.ts +6 -0
- package/dist/packages/source.d.ts.map +1 -1
- package/dist/packages/source.js +14 -2
- package/dist/packages/source.js.map +1 -1
- package/dist/packages/types.d.ts +5 -3
- package/dist/packages/types.d.ts.map +1 -1
- package/dist/packages/types.js.map +1 -1
- package/dist/provisioner.js +5 -5
- package/dist/provisioner.js.map +1 -1
- package/dist/runtime/conversation-runtime.d.ts.map +1 -1
- package/dist/runtime/conversation-runtime.js +44 -2
- package/dist/runtime/conversation-runtime.js.map +1 -1
- package/dist/runtime/types.d.ts +10 -2
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/types.js.map +1 -1
- package/dist/sandbox/cloudflare.js +1 -1
- package/dist/sandbox/cloudflare.js.map +1 -1
- package/dist/sandbox/container.js +1 -2
- package/dist/sandbox/container.js.map +1 -1
- package/dist/sandbox/firecracker.js +1 -1
- package/dist/sandbox/firecracker.js.map +1 -1
- package/dist/sandbox/gondolin.d.ts.map +1 -1
- package/dist/sandbox/gondolin.js +1 -2
- package/dist/sandbox/gondolin.js.map +1 -1
- package/dist/sandbox/host.d.ts.map +1 -1
- package/dist/sandbox/host.js +4 -5
- package/dist/sandbox/host.js.map +1 -1
- package/dist/sandbox/index.js +1 -1
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/utils.d.ts +2 -0
- package/dist/sandbox/utils.d.ts.map +1 -1
- package/dist/sandbox/utils.js +30 -1
- package/dist/sandbox/utils.js.map +1 -1
- package/dist/sessions/chat-history-sync.d.ts.map +1 -1
- package/dist/sessions/chat-history-sync.js +9 -8
- package/dist/sessions/chat-history-sync.js.map +1 -1
- package/dist/sessions/conversation-log.d.ts.map +1 -1
- package/dist/sessions/conversation-log.js +5 -2
- package/dist/sessions/conversation-log.js.map +1 -1
- package/dist/sessions/history-line.d.ts +9 -0
- package/dist/sessions/history-line.d.ts.map +1 -1
- package/dist/sessions/history-line.js +22 -1
- package/dist/sessions/history-line.js.map +1 -1
- package/dist/sessions/session-key.d.ts +5 -12
- package/dist/sessions/session-key.d.ts.map +1 -1
- package/dist/sessions/session-key.js +23 -0
- package/dist/sessions/session-key.js.map +1 -1
- package/dist/sessions/store.d.ts +2 -6
- package/dist/sessions/store.d.ts.map +1 -1
- package/dist/sessions/store.js +16 -16
- package/dist/sessions/store.js.map +1 -1
- package/dist/sessions/types.d.ts +2 -1
- package/dist/sessions/types.d.ts.map +1 -1
- package/dist/sessions/types.js.map +1 -1
- package/dist/tools/bash.js +1 -1
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +4 -1
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/event.js +1 -1
- package/dist/tools/event.js.map +1 -1
- package/dist/tools/generate-image.js +3 -3
- package/dist/tools/generate-image.js.map +1 -1
- package/dist/tools/read.js +4 -4
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/subagent.d.ts.map +1 -1
- package/dist/tools/subagent.js +9 -2
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/types.d.ts +0 -26
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/trigger.d.ts +2 -1
- package/dist/trigger.d.ts.map +1 -1
- package/dist/trigger.js.map +1 -1
- package/dist/types.d.ts +108 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/types.js.map +1 -1
- package/dist/utils/file-guards.d.ts +9 -0
- package/dist/utils/file-guards.d.ts.map +1 -1
- package/dist/utils/file-guards.js +44 -1
- package/dist/utils/file-guards.js.map +1 -1
- package/dist/vault/disabled.d.ts.map +1 -1
- package/dist/vault/disabled.js +3 -0
- package/dist/vault/disabled.js.map +1 -1
- package/dist/vault/index.d.ts +29 -0
- package/dist/vault/index.d.ts.map +1 -1
- package/dist/vault/index.js +68 -4
- package/dist/vault/index.js.map +1 -1
- package/dist/vault/types.d.ts +2 -0
- package/dist/vault/types.d.ts.map +1 -1
- package/dist/vault/types.js.map +1 -1
- package/dist/web/admin/portal.d.ts +1 -1
- package/dist/web/admin/portal.d.ts.map +1 -1
- package/dist/web/admin/portal.js +194 -22
- package/dist/web/admin/portal.js.map +1 -1
- package/dist/web/admin/provider-models.js +1 -1
- package/dist/web/admin/provider-models.js.map +1 -1
- package/dist/web/login/oauth.js +1 -1
- package/dist/web/login/oauth.js.map +1 -1
- package/dist/web/login/portal.d.ts +1 -1
- package/dist/web/login/portal.d.ts.map +1 -1
- package/dist/web/login/portal.js +13 -36
- package/dist/web/login/portal.js.map +1 -1
- package/dist/web/portal-shell.d.ts +17 -0
- package/dist/web/portal-shell.d.ts.map +1 -1
- package/dist/web/portal-shell.js +66 -1
- package/dist/web/portal-shell.js.map +1 -1
- package/dist/web/server.d.ts +3 -2
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +3 -3
- package/dist/web/server.js.map +1 -1
- package/dist/web/session-view/portal.d.ts +1 -1
- package/dist/web/session-view/portal.d.ts.map +1 -1
- package/dist/web/session-view/portal.js +10 -12
- package/dist/web/session-view/portal.js.map +1 -1
- package/dist/web/session-view/service.d.ts.map +1 -1
- package/dist/web/session-view/service.js +11 -6
- package/dist/web/session-view/service.js.map +1 -1
- package/dist/web/session-view/types.d.ts +0 -4
- package/dist/web/session-view/types.d.ts.map +1 -1
- package/dist/web/session-view/types.js.map +1 -1
- package/dist/web/token-store.js +1 -1
- package/dist/web/token-store.js.map +1 -1
- package/package.json +8 -17
- package/dist/cli/ext-git.d.ts +0 -17
- package/dist/cli/ext-git.d.ts.map +0 -1
- package/dist/cli/ext-git.js +0 -107
- package/dist/cli/ext-git.js.map +0 -1
- package/dist/commands/parse.d.ts +0 -7
- package/dist/commands/parse.d.ts.map +0 -1
- package/dist/commands/parse.js +0 -14
- package/dist/commands/parse.js.map +0 -1
- package/dist/commands/text.d.ts +0 -2
- package/dist/commands/text.d.ts.map +0 -1
- package/dist/commands/text.js +0 -16
- package/dist/commands/text.js.map +0 -1
- package/dist/harness/extensions/blockkit.d.ts +0 -19
- package/dist/harness/extensions/blockkit.d.ts.map +0 -1
- package/dist/harness/extensions/blockkit.js +0 -42
- package/dist/harness/extensions/blockkit.js.map +0 -1
- package/dist/sandbox/path-context.d.ts +0 -3
- package/dist/sandbox/path-context.d.ts.map +0 -1
- package/dist/sandbox/path-context.js +0 -30
- package/dist/sandbox/path-context.js.map +0 -1
- package/dist/sessions/metadata.d.ts +0 -3
- package/dist/sessions/metadata.d.ts.map +0 -1
- package/dist/sessions/metadata.js +0 -11
- package/dist/sessions/metadata.js.map +0 -1
- package/dist/sessions/policy.d.ts +0 -6
- package/dist/sessions/policy.d.ts.map +0 -1
- package/dist/sessions/policy.js +0 -25
- package/dist/sessions/policy.js.map +0 -1
- package/dist/tools/truncate.d.ts +0 -33
- package/dist/tools/truncate.d.ts.map +0 -1
- package/dist/tools/truncate.js +0 -184
- package/dist/tools/truncate.js.map +0 -1
- package/dist/utils/date.d.ts +0 -10
- package/dist/utils/date.d.ts.map +0 -1
- package/dist/utils/date.js +0 -23
- package/dist/utils/date.js.map +0 -1
- package/dist/utils/env.d.ts +0 -3
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -12
- package/dist/utils/env.js.map +0 -1
- package/dist/utils/fs-atomic.d.ts +0 -10
- package/dist/utils/fs-atomic.d.ts.map +0 -1
- package/dist/utils/fs-atomic.js +0 -45
- package/dist/utils/fs-atomic.js.map +0 -1
- package/dist/utils/html.d.ts +0 -2
- package/dist/utils/html.d.ts.map +0 -1
- package/dist/utils/html.js +0 -4
- package/dist/utils/html.js.map +0 -1
- package/dist/utils/http-body.d.ts +0 -10
- package/dist/utils/http-body.d.ts.map +0 -1
- package/dist/utils/http-body.js +0 -34
- package/dist/utils/http-body.js.map +0 -1
- package/dist/vault/injection.d.ts +0 -12
- package/dist/vault/injection.d.ts.map +0 -1
- package/dist/vault/injection.js +0 -30
- package/dist/vault/injection.js.map +0 -1
- package/dist/vault/policy.d.ts +0 -20
- package/dist/vault/policy.d.ts.map +0 -1
- package/dist/vault/policy.js +0 -20
- package/dist/vault/policy.js.map +0 -1
- package/dist/web/agent-events/portal.d.ts +0 -3
- package/dist/web/agent-events/portal.d.ts.map +0 -1
- package/dist/web/agent-events/portal.js +0 -19
- package/dist/web/agent-events/portal.js.map +0 -1
- package/dist/web/request.d.ts +0 -3
- package/dist/web/request.d.ts.map +0 -1
- package/dist/web/request.js +0 -13
- package/dist/web/request.js.map +0 -1
- package/dist/web/session-view/command.d.ts +0 -4
- package/dist/web/session-view/command.d.ts.map +0 -1
- package/dist/web/session-view/command.js +0 -10
- package/dist/web/session-view/command.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentTool, AgentToolUpdateCallback } from \"@earendil-works/pi-agent-core\";\nimport { Type, type Static, type TSchema } from \"@sinclair/typebox\";\nimport type { SubagentRunOutput, SubagentRunRequest, SubagentRunResult } from \"../harness/types.js\";\n// Progress statuses extend run statuses with the pre- and non-run states. The\n// dashboard renders the same union, so it is defined once alongside the\n// snapshot the tool emits rather than restated here.\nimport type { SubagentProgressNode, SubagentProgressStatus } from \"../types.js\";\nimport { boundSubagentProgressNode, clampSubagentLabel } from \"../subagent-progress.js\";\n\nconst MAX_DAG_NODES = 8;\nconst MAX_DAG_EDGES = 16;\nconst MAX_DAG_DEPTH = 4;\nconst MAX_CONCURRENT_SUBAGENTS = 4;\nconst MAX_DEPENDENCY_OUTPUT_CHARS = 4000;\n\n/**\n * Every subagent runs under a named profile: the profile owns the prompt,\n * tool grant, model and budget defaults. Letting the model assemble those\n * per call proved unstable, so the schema deliberately exposes no\n * `systemPrompt`, `tools` or `model` escape hatch — narrowing what the model\n * can get wrong is the point. `budget` survives so the model can propose\n * limits. Token requests may raise the profile allowance; the other fields can\n * only tighten profile defaults.\n *\n * `profileNames` is baked into the schema as an enum to steer the model's\n * choice. TypeBox does not check `enum` on a string, so an unknown name still\n * reaches `validatePlanProfiles`, which names the available profiles.\n */\nfunction buildTaskProperties(profileNames: string[]) {\n return {\n task: Type.String({ minLength: 1, description: \"Self-contained task for a fresh subagent.\" }),\n profile: Type.Optional(\n Type.String({\n enum: profileNames,\n description:\n \"Profile this subagent runs under. Required, but a top-level profile covers every task and DAG node that does not set its own.\",\n }),\n ),\n // No length bound: a label is a display string, and `taskLabel` clamps it.\n // Bounding it in the schema only lets a cosmetic field reject a whole DAG,\n // and validation reports that failure by echoing every node back.\n label: Type.Optional(Type.String({ description: \"Short progress label for this subagent.\" })),\n input: Type.Optional(\n Type.Unknown({ description: \"Optional JSON-serializable structured input for the task.\" }),\n ),\n };\n}\n\nconst sharedProperties = {\n parentContext: Type.Optional(\n Type.Object({\n mode: Type.Literal(\"normalized\"),\n recentTurns: Type.Optional(Type.Integer({ minimum: 1, maximum: 8, default: 3 })),\n }),\n ),\n outputSchema: Type.Optional(\n Type.Record(Type.String(), Type.Unknown(), {\n description: \"Optional TypeBox/JSON Schema applied to every subagent result.\",\n }),\n ),\n budget: Type.Optional(\n Type.Object(\n {\n maxTurns: Type.Optional(Type.Integer({ minimum: 1 })),\n maxTokens: Type.Optional(Type.Integer({ minimum: 1 })),\n maxCostUsd: Type.Optional(Type.Number({ minimum: 0 })),\n maxDurationMs: Type.Optional(Type.Integer({ minimum: 1 })),\n },\n {\n description:\n \"Sets run budget preferences. maxTokens may raise the profile allowance; other fields can only tighten profile defaults.\",\n },\n ),\n ),\n};\n\n/**\n * The runtime schema varies only in the `profile` enum, so every instance\n * shares one static type and `subagentSchema` below can stand in for it.\n */\nfunction buildSubagentSchema(profileNames: string[]) {\n const taskProperties = buildTaskProperties(profileNames);\n return Type.Object(\n {\n task: Type.Optional(taskProperties.task),\n profile: taskProperties.profile,\n label: taskProperties.label,\n input: taskProperties.input,\n tasks: Type.Optional(\n Type.Array(Type.Object(taskProperties), {\n minItems: 1,\n maxItems: MAX_DAG_NODES,\n description:\n \"Independent subagent tasks executed concurrently; results preserve input order.\",\n }),\n ),\n dag: Type.Optional(\n Type.Object({\n nodes: Type.Array(\n Type.Object({\n id: Type.String({\n pattern: \"^[A-Za-z0-9_-]+$\",\n maxLength: 64,\n description: \"Unique stable node id used by dependsOn.\",\n }),\n ...taskProperties,\n dependsOn: Type.Optional(Type.Array(Type.String(), { maxItems: MAX_DAG_NODES })),\n }),\n { minItems: 1, maxItems: MAX_DAG_NODES },\n ),\n maxConcurrency: Type.Optional(\n Type.Integer({\n minimum: 1,\n maximum: MAX_CONCURRENT_SUBAGENTS,\n default: MAX_CONCURRENT_SUBAGENTS,\n }),\n ),\n }),\n ),\n ...sharedProperties,\n },\n { description: \"Provide task, tasks, or dag.\" },\n );\n}\n\nconst subagentSchema = buildSubagentSchema([]);\n\ntype SubagentParams = Static<typeof subagentSchema>;\ntype SubagentTask = NonNullable<SubagentParams[\"tasks\"]>[number];\ntype DagNode = NonNullable<SubagentParams[\"dag\"]>[\"nodes\"][number];\ntype SharedParams = Pick<SubagentParams, \"parentContext\" | \"outputSchema\" | \"budget\">;\ntype RunSubagent = <TOutputSchema extends TSchema | undefined = undefined>(\n request: SubagentRunRequest<TOutputSchema>,\n) => Promise<SubagentRunResult<SubagentRunOutput<TOutputSchema>>>;\n\ntype PlanMode = \"single\" | \"parallel\" | \"dag\";\n\n/** One planned subagent run; single and tasks modes are plans with no edges. */\ninterface PlanItem {\n id: string;\n label: string;\n task: SubagentTask;\n dependsOn: string[];\n}\n\ninterface Plan {\n mode: PlanMode;\n items: PlanItem[];\n waves: PlanItem[][];\n concurrency: number;\n}\n\ntype PlanOutcome =\n | ({ id: string } & SubagentRunResult<unknown>)\n | { id: string; status: \"skipped\"; error: string };\n\n/** The metrics half of a progress node — derived, not restated. */\ntype SubagentProgressMetrics = Omit<SubagentProgressNode, \"id\" | \"label\" | \"status\" | \"profile\">;\n\nclass SubagentProgressTracker {\n private readonly states = new Map<string, SubagentProgressStatus>();\n private readonly metrics = new Map<string, SubagentProgressMetrics>();\n\n constructor(\n private readonly mode: PlanMode,\n private readonly items: Array<{ id: string; label: string; profile?: string }>,\n private readonly onUpdate?: AgentToolUpdateCallback,\n ) {\n for (const item of items) this.states.set(item.id, \"pending\");\n }\n\n update(id: string, status: SubagentProgressStatus, metrics?: SubagentProgressMetrics): void {\n this.states.set(id, status);\n if (metrics) this.metrics.set(id, metrics);\n this.emit();\n }\n\n emit(): void {\n if (!this.onUpdate) return;\n const nodes = this.items.map((item) =>\n boundSubagentProgressNode({\n ...item,\n status: this.states.get(item.id) ?? (\"pending\" as SubagentProgressStatus),\n ...this.metrics.get(item.id),\n }),\n );\n this.onUpdate({\n content: [],\n details: { progress: { mode: this.mode, nodes } },\n });\n }\n}\n\nfunction taskLabel(task: SubagentTask, fallback: string): string {\n return clampSubagentLabel(task.label?.trim() || task.task.trim().slice(0, 48) || fallback);\n}\n\nfunction formatOutcome(outcome: {\n status: SubagentProgressStatus;\n output?: unknown;\n error?: string;\n}): string {\n if (outcome.status === \"budget_exceeded\") {\n return `Subagent stopped: budget limit exceeded${outcome.error ? ` (${outcome.error})` : \"\"}`;\n }\n if (outcome.status !== \"completed\") {\n return `Subagent ${outcome.status}${outcome.error ? `: ${outcome.error}` : \"\"}`;\n }\n return typeof outcome.output === \"string\"\n ? outcome.output\n : JSON.stringify(outcome.output, null, 2);\n}\n\nfunction buildRequest(\n task: SubagentTask,\n shared: SharedParams,\n signal?: AbortSignal,\n): SubagentRunRequest<TSchema | undefined> {\n const outputSchema = shared.outputSchema as TSchema | undefined;\n return {\n task: task.task,\n ...(task.profile ? { profile: task.profile } : {}),\n ...(task.input !== undefined ? { input: task.input } : {}),\n ...(shared.parentContext ? { parentContext: shared.parentContext } : {}),\n ...(outputSchema ? { outputSchema } : {}),\n ...(shared.budget ? { budget: shared.budget } : {}),\n ...(signal ? { signal } : {}),\n };\n}\n\nfunction buildDagWaves(nodes: DagNode[]): DagNode[][] {\n if (nodes.length === 0 || nodes.length > MAX_DAG_NODES) {\n throw new Error(`Subagent DAG must contain 1-${MAX_DAG_NODES} nodes`);\n }\n const byId = new Map<string, DagNode>();\n let edgeCount = 0;\n for (const node of nodes) {\n if (!/^[A-Za-z0-9_-]{1,64}$/.test(node.id)) {\n throw new Error(`Invalid subagent DAG node id: ${node.id}`);\n }\n if (byId.has(node.id)) throw new Error(`Duplicate subagent DAG node id: ${node.id}`);\n byId.set(node.id, node);\n const dependencies = new Set(node.dependsOn ?? []);\n if (dependencies.size !== (node.dependsOn?.length ?? 0)) {\n throw new Error(`Duplicate dependency on subagent DAG node: ${node.id}`);\n }\n edgeCount += dependencies.size;\n }\n if (edgeCount > MAX_DAG_EDGES) {\n throw new Error(`Subagent DAG exceeds ${MAX_DAG_EDGES} dependency edges`);\n }\n for (const node of nodes) {\n for (const dependency of node.dependsOn ?? []) {\n if (!byId.has(dependency)) {\n throw new Error(`Unknown subagent DAG dependency ${dependency} for node ${node.id}`);\n }\n if (dependency === node.id) throw new Error(`Subagent DAG node ${node.id} depends on itself`);\n }\n }\n\n const remaining = new Set(nodes.map((node) => node.id));\n const completed = new Set<string>();\n const waves: DagNode[][] = [];\n while (remaining.size > 0) {\n const wave = nodes.filter(\n (node) => remaining.has(node.id) && (node.dependsOn ?? []).every((id) => completed.has(id)),\n );\n if (wave.length === 0) throw new Error(\"Subagent DAG contains a cycle\");\n waves.push(wave);\n if (waves.length > MAX_DAG_DEPTH) {\n throw new Error(`Subagent DAG exceeds maximum depth ${MAX_DAG_DEPTH}`);\n }\n for (const node of wave) {\n remaining.delete(node.id);\n completed.add(node.id);\n }\n }\n return waves;\n}\n\n/**\n * A top-level `profile` is the default for every task and DAG node, like the\n * other shared params. A fan-out that runs entirely under one profile then\n * names it once instead of repeating it per node.\n */\nfunction withDefaultProfile<T extends { profile?: string }>(task: T, fallback?: string): T {\n return task.profile || !fallback ? task : { ...task, profile: fallback };\n}\n\nfunction itemForNode(node: DagNode, defaultProfile?: string): PlanItem {\n return {\n id: node.id,\n label: clampSubagentLabel(node.label?.trim() || node.id),\n task: withDefaultProfile(node, defaultProfile),\n dependsOn: node.dependsOn ?? [],\n };\n}\n\n/** Normalize every tool mode into one plan: nodes, waves, concurrency. */\nfunction buildPlan(params: SubagentParams): Plan {\n const modeCount = [params.task, params.tasks, params.dag].filter(\n (mode) => mode !== undefined,\n ).length;\n if (modeCount !== 1) {\n throw new Error(\"Subagent requires exactly one of task, tasks, or dag\");\n }\n\n if (params.dag !== undefined) {\n const toItem = (node: DagNode) => itemForNode(node, params.profile);\n const waves = buildDagWaves(params.dag.nodes).map((wave) => wave.map(toItem));\n const requested = params.dag.maxConcurrency ?? MAX_CONCURRENT_SUBAGENTS;\n return {\n mode: \"dag\",\n items: params.dag.nodes.map(toItem),\n waves,\n concurrency: Math.max(1, Math.min(MAX_CONCURRENT_SUBAGENTS, Math.floor(requested))),\n };\n }\n if (params.tasks !== undefined) {\n const items = params.tasks.map((task, index) => ({\n id: String(index),\n label: taskLabel(task, String(index + 1)),\n task: withDefaultProfile(task, params.profile),\n dependsOn: [],\n }));\n return { mode: \"parallel\", items, waves: [items], concurrency: MAX_CONCURRENT_SUBAGENTS };\n }\n if (!params.task) throw new Error(\"Subagent requires task, tasks, or dag\");\n const task = { ...params, task: params.task };\n const item = { id: \"0\", label: taskLabel(task, \"subagent\"), task, dependsOn: [] };\n return { mode: \"single\", items: [item], waves: [[item]], concurrency: 1 };\n}\n\n/** Run `worker` over every item with at most `limit` in flight. */\nasync function forEachConcurrent<T>(\n items: readonly T[],\n limit: number,\n worker: (item: T, index: number) => Promise<void>,\n): Promise<void> {\n let cursor = 0;\n await Promise.all(\n Array.from({ length: Math.min(limit, items.length) }, async () => {\n while (cursor < items.length) {\n const index = cursor++;\n await worker(items[index], index);\n }\n }),\n );\n}\n\nfunction dependencyOutput(outcome: PlanOutcome): unknown {\n if (outcome.status !== \"completed\") return undefined;\n const value = outcome.output;\n const serialized = typeof value === \"string\" ? value : JSON.stringify(value);\n if (serialized === undefined) return null;\n if (serialized.length <= MAX_DEPENDENCY_OUTPUT_CHARS) return value;\n // Oversized structured output becomes a marked string — the shape is lost,\n // which the tool description warns downstream consumers about.\n return `${serialized.slice(0, MAX_DEPENDENCY_OUTPUT_CHARS)}\\n[truncated]`;\n}\n\nfunction planRequest(\n item: PlanItem,\n shared: SharedParams,\n outcomes: Map<string, PlanOutcome>,\n signal?: AbortSignal,\n): SubagentRunRequest<TSchema | undefined> {\n if (item.dependsOn.length === 0) return buildRequest(item.task, shared, signal);\n const dependencies = Object.fromEntries(\n item.dependsOn.map((id) => [id, dependencyOutput(outcomes.get(id)!)]),\n );\n const input = {\n ...(item.task.input !== undefined ? { input: item.task.input } : {}),\n dependencies,\n };\n return buildRequest({ ...item.task, input }, shared, signal);\n}\n\n/**\n * One executor for every mode: wave barriers and a per-invocation concurrency\n * bound. Process-wide slots are acquired by the shared runner seam.\n */\nasync function runWaves(\n plan: Plan,\n shared: SharedParams,\n runSubagent: RunSubagent,\n progress: SubagentProgressTracker,\n signal?: AbortSignal,\n): Promise<PlanOutcome[]> {\n const outcomes = new Map<string, PlanOutcome>();\n for (const wave of plan.waves) {\n await forEachConcurrent(wave, plan.concurrency, async (item) => {\n const failedDependency = item.dependsOn.find(\n (id) => outcomes.get(id)?.status !== \"completed\",\n );\n if (failedDependency) {\n outcomes.set(item.id, {\n id: item.id,\n status: \"skipped\",\n error: `Dependency ${failedDependency} did not complete`,\n });\n progress.update(item.id, \"skipped\", {\n reason: `Dependency ${failedDependency} did not complete`,\n });\n return;\n }\n let result: SubagentRunResult<unknown>;\n progress.update(item.id, \"running\");\n result = await runSubagent(planRequest(item, shared, outcomes, signal));\n outcomes.set(item.id, { id: item.id, ...result });\n progress.update(item.id, result.status, {\n turns: result.turns,\n toolCalls: result.toolCalls,\n toolCallCounts: result.toolCallCounts,\n tokens: result.tokens,\n costUsd: result.costUsd,\n durationMs: result.durationMs,\n ...(result.error ? { reason: result.error } : {}),\n ...(result.cleanupPending ? { cleanupPending: true } : {}),\n });\n });\n }\n return plan.items.map((item) => outcomes.get(item.id)!);\n}\n\n/** What the model needs to choose a profile: what it is, and what it can do. */\ninterface SubagentProfileMenuEntry {\n description: string;\n tools?: string[];\n}\n\n/**\n * The tool grant belongs in the menu. A description alone reads as a stylistic\n * constraint, so a model will pick a no-tool profile for work that needs tools\n * and then narrate the tool call it could not make.\n */\nfunction formatToolGrant(tools: string[] | undefined): string {\n if (!tools) return \"tools unknown\";\n return tools.length === 0 ? \"no tools\" : `tools: ${tools.join(\", \")}`;\n}\n\nfunction validatePlanProfiles(plan: Plan, availableProfiles: ReadonlySet<string>): void {\n const known = [...availableProfiles].join(\", \");\n for (const item of plan.items) {\n const profile = item.task.profile;\n if (!profile) {\n throw new Error(`Subagent ${item.label} must specify a profile (available: ${known})`);\n }\n if (!availableProfiles.has(profile)) {\n throw new Error(`Unknown subagent profile: ${profile} (available: ${known})`);\n }\n }\n}\n\n/**\n * Create the normal agent's bounded subagent delegation and DAG tool.\n * `globalSlots` is the process-wide fan-out account shared across every\n * conversation's tool instance; omitted, fan-out is bounded per run only.\n *\n * `profiles` must be non-empty: it is both the model-facing menu and the only\n * way to grant a subagent any capability at all.\n */\nexport function createSubagentTool(\n runSubagent: RunSubagent,\n profiles: ReadonlyMap<string, SubagentProfileMenuEntry>,\n): AgentTool<typeof subagentSchema> {\n if (profiles.size === 0) {\n throw new Error(\"createSubagentTool requires at least one subagent profile\");\n }\n const profileDescription = [...profiles.entries()]\n .map(\n ([name, profile]) => `${name} [${formatToolGrant(profile.tools)}] — ${profile.description}`,\n )\n .join(\"; \");\n return {\n name: \"subagent\",\n label: \"Subagent\",\n description:\n `Run fresh isolated subagents. Use task for one subagent, tasks for independent concurrent work, or dag.nodes for a bounded dependency graph. At most ${MAX_CONCURRENT_SUBAGENTS} subagents run concurrently. DAG limits: ${MAX_DAG_NODES} nodes, ${MAX_DAG_EDGES} edges, depth ${MAX_DAG_DEPTH}; failed dependencies skip descendants, and dependency outputs larger than ${MAX_DEPENDENCY_OUTPUT_CHARS} characters reach downstream nodes as a truncated string. ` +\n \"Subagents are fresh by default; parentContext.mode=normalized can include a sanitized reference snapshot of the active parent run. Nested subagents are not allowed. \" +\n `Every task and DAG node must set profile; the profile supplies the prompt, tools, model and budget. Available profiles: ${profileDescription}.`,\n parameters: buildSubagentSchema([...profiles.keys()]),\n execute: async (\n _toolCallId: string,\n params: SubagentParams,\n signal?: AbortSignal,\n onUpdate?: AgentToolUpdateCallback,\n ) => {\n const plan = buildPlan(params);\n validatePlanProfiles(plan, new Set(profiles.keys()));\n const progress = new SubagentProgressTracker(\n plan.mode,\n plan.items.map(({ id, label, task }) => ({ id, label, profile: task.profile })),\n onUpdate,\n );\n progress.emit();\n const ordered = await runWaves(plan, params, runSubagent, progress, signal);\n\n switch (plan.mode) {\n case \"dag\":\n return {\n content: [\n {\n type: \"text\",\n text: ordered\n .map((outcome) => `[${outcome.id}] ${formatOutcome(outcome)}`)\n .join(\"\\n\\n\"),\n },\n ],\n details: {\n mode: \"dag\",\n waves: plan.waves.map((wave) => wave.map((item) => item.id)),\n results: ordered,\n },\n };\n case \"parallel\": {\n const results = ordered.map(({ id: _id, ...result }) => result);\n return {\n content: [\n {\n type: \"text\",\n text: results\n .map((result, index) => `[${index + 1}] ${formatOutcome(result)}`)\n .join(\"\\n\\n\"),\n },\n ],\n details: { mode: \"parallel\", results },\n };\n }\n case \"single\": {\n const { id: _id, ...result } = ordered[0];\n return {\n content: [{ type: \"text\", text: formatOutcome(result) }],\n details: result,\n };\n }\n }\n },\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentTool, AgentToolUpdateCallback } from \"@earendil-works/pi-agent-core\";\nimport { Type, type Static, type TSchema } from \"@sinclair/typebox\";\nimport type { SubagentRunOutput, SubagentRunRequest, SubagentRunResult } from \"../harness/types.js\";\n// Progress statuses extend run statuses with the pre- and non-run states. The\n// dashboard renders the same union, so it is defined once alongside the\n// snapshot the tool emits rather than restated here.\nimport type { SubagentProgressNode, SubagentProgressStatus } from \"../types.js\";\nimport { boundSubagentProgressNode, clampSubagentLabel } from \"../subagent-progress.js\";\n\nconst MAX_DAG_NODES = 8;\nconst MAX_DAG_EDGES = 16;\nconst MAX_DAG_DEPTH = 4;\nconst MAX_CONCURRENT_SUBAGENTS = 4;\nconst MAX_DEPENDENCY_OUTPUT_CHARS = 4000;\n\n/**\n * Every subagent runs under a named profile: the profile owns the prompt,\n * tool grant, model and budget defaults. Letting the model assemble those\n * per call proved unstable, so the schema deliberately exposes no\n * `systemPrompt`, `tools` or `model` escape hatch — narrowing what the model\n * can get wrong is the point. `budget` survives so the model can propose\n * limits. Token requests may raise the profile allowance; the other fields can\n * only tighten profile defaults.\n *\n * `profileNames` is baked into the schema as an enum to steer the model's\n * choice. TypeBox does not check `enum` on a string, so an unknown name still\n * reaches `validatePlanProfiles`, which names the available profiles.\n */\nfunction buildTaskProperties(profileNames: string[]) {\n return {\n task: Type.String({ minLength: 1, description: \"Self-contained task for a fresh subagent.\" }),\n profile: Type.Optional(\n Type.String({\n enum: profileNames,\n description:\n \"Profile this subagent runs under. Required, but a top-level profile covers every task and DAG node that does not set its own.\",\n }),\n ),\n // No length bound: a label is a display string, and `taskLabel` clamps it.\n // Bounding it in the schema only lets a cosmetic field reject a whole DAG,\n // and validation reports that failure by echoing every node back.\n label: Type.Optional(Type.String({ description: \"Short progress label for this subagent.\" })),\n input: Type.Optional(\n Type.Unknown({ description: \"Optional JSON-serializable structured input for the task.\" }),\n ),\n };\n}\n\nconst sharedProperties = {\n parentContext: Type.Optional(\n Type.Object({\n mode: Type.Literal(\"normalized\"),\n recentTurns: Type.Optional(Type.Integer({ minimum: 1, maximum: 8, default: 3 })),\n }),\n ),\n outputSchema: Type.Optional(\n Type.Record(Type.String(), Type.Unknown(), {\n description: \"Optional TypeBox/JSON Schema applied to every subagent result.\",\n }),\n ),\n budget: Type.Optional(\n Type.Object(\n {\n maxTurns: Type.Optional(Type.Integer({ minimum: 1 })),\n maxTokens: Type.Optional(Type.Integer({ minimum: 1 })),\n maxCostUsd: Type.Optional(Type.Number({ minimum: 0 })),\n maxDurationMs: Type.Optional(Type.Integer({ minimum: 1 })),\n },\n {\n description:\n \"Sets run budget preferences. maxTokens may raise the profile allowance; other fields can only tighten profile defaults.\",\n },\n ),\n ),\n};\n\n/**\n * The runtime schema varies only in the `profile` enum, so every instance\n * shares one static type and `subagentSchema` below can stand in for it.\n */\nfunction buildSubagentSchema(profileNames: string[]) {\n const taskProperties = buildTaskProperties(profileNames);\n return Type.Object(\n {\n task: Type.Optional(taskProperties.task),\n profile: taskProperties.profile,\n label: taskProperties.label,\n input: taskProperties.input,\n tasks: Type.Optional(\n Type.Array(Type.Object(taskProperties), {\n minItems: 1,\n maxItems: MAX_DAG_NODES,\n description:\n \"Independent subagent tasks executed concurrently; results preserve input order.\",\n }),\n ),\n dag: Type.Optional(\n Type.Object({\n nodes: Type.Array(\n Type.Object({\n id: Type.String({\n pattern: \"^[A-Za-z0-9_-]+$\",\n maxLength: 64,\n description: \"Unique stable node id used by dependsOn.\",\n }),\n ...taskProperties,\n dependsOn: Type.Optional(Type.Array(Type.String(), { maxItems: MAX_DAG_NODES })),\n }),\n { minItems: 1, maxItems: MAX_DAG_NODES },\n ),\n maxConcurrency: Type.Optional(\n Type.Integer({\n minimum: 1,\n maximum: MAX_CONCURRENT_SUBAGENTS,\n default: MAX_CONCURRENT_SUBAGENTS,\n }),\n ),\n }),\n ),\n ...sharedProperties,\n },\n { description: \"Provide task, tasks, or dag.\" },\n );\n}\n\nconst subagentSchema = buildSubagentSchema([]);\n\ntype SubagentParams = Static<typeof subagentSchema>;\ntype SubagentTask = NonNullable<SubagentParams[\"tasks\"]>[number];\ntype DagNode = NonNullable<SubagentParams[\"dag\"]>[\"nodes\"][number];\ntype SharedParams = Pick<SubagentParams, \"parentContext\" | \"outputSchema\" | \"budget\">;\ntype RunSubagent = <TOutputSchema extends TSchema | undefined = undefined>(\n request: SubagentRunRequest<TOutputSchema>,\n) => Promise<SubagentRunResult<SubagentRunOutput<TOutputSchema>>>;\n\ntype PlanMode = \"single\" | \"parallel\" | \"dag\";\n\n/** One planned subagent run; single and tasks modes are plans with no edges. */\ninterface PlanItem {\n id: string;\n label: string;\n task: SubagentTask;\n dependsOn: string[];\n}\n\ninterface Plan {\n mode: PlanMode;\n items: PlanItem[];\n waves: PlanItem[][];\n concurrency: number;\n}\n\ntype PlanOutcome =\n | ({ id: string } & SubagentRunResult<unknown>)\n | { id: string; status: \"skipped\"; error: string };\n\n/** The metrics half of a progress node — derived, not restated. */\ntype SubagentProgressMetrics = Omit<SubagentProgressNode, \"id\" | \"label\" | \"status\" | \"profile\">;\n\nclass SubagentProgressTracker {\n private readonly states = new Map<string, SubagentProgressStatus>();\n private readonly metrics = new Map<string, SubagentProgressMetrics>();\n\n constructor(\n private readonly mode: PlanMode,\n private readonly items: Array<{ id: string; label: string; profile?: string }>,\n private readonly onUpdate?: AgentToolUpdateCallback,\n ) {\n for (const item of items) this.states.set(item.id, \"pending\");\n }\n\n update(id: string, status: SubagentProgressStatus, metrics?: SubagentProgressMetrics): void {\n this.states.set(id, status);\n if (metrics) this.metrics.set(id, metrics);\n this.emit();\n }\n\n emit(): void {\n if (!this.onUpdate) return;\n const nodes = this.items.map((item) =>\n boundSubagentProgressNode({\n ...item,\n status: this.states.get(item.id) ?? (\"pending\" as SubagentProgressStatus),\n ...this.metrics.get(item.id),\n }),\n );\n this.onUpdate({\n content: [],\n details: { progress: { mode: this.mode, nodes } },\n });\n }\n}\n\nfunction taskLabel(task: SubagentTask, fallback: string): string {\n return clampSubagentLabel(task.label?.trim() || task.task.trim().slice(0, 48) || fallback);\n}\n\nfunction formatOutcome(outcome: {\n status: SubagentProgressStatus;\n output?: unknown;\n error?: string;\n}): string {\n if (outcome.status === \"budget_exceeded\") {\n return `Subagent stopped: budget limit exceeded${outcome.error ? ` (${outcome.error})` : \"\"}`;\n }\n if (outcome.status !== \"completed\") {\n return `Subagent ${outcome.status}${outcome.error ? `: ${outcome.error}` : \"\"}`;\n }\n return typeof outcome.output === \"string\"\n ? outcome.output\n : JSON.stringify(outcome.output, null, 2);\n}\n\nfunction buildRequest(\n task: SubagentTask,\n shared: SharedParams,\n signal?: AbortSignal,\n): SubagentRunRequest<TSchema | undefined> {\n const outputSchema = shared.outputSchema as TSchema | undefined;\n return {\n task: task.task,\n ...(task.profile ? { profile: task.profile } : {}),\n ...(task.input !== undefined ? { input: task.input } : {}),\n ...(shared.parentContext ? { parentContext: shared.parentContext } : {}),\n ...(outputSchema ? { outputSchema } : {}),\n ...(shared.budget ? { budget: shared.budget } : {}),\n ...(signal ? { signal } : {}),\n };\n}\n\nfunction buildDagWaves(nodes: DagNode[]): DagNode[][] {\n if (nodes.length === 0 || nodes.length > MAX_DAG_NODES) {\n throw new Error(`Subagent DAG must contain 1-${MAX_DAG_NODES} nodes`);\n }\n const byId = new Map<string, DagNode>();\n let edgeCount = 0;\n for (const node of nodes) {\n if (!/^[A-Za-z0-9_-]{1,64}$/.test(node.id)) {\n throw new Error(`Invalid subagent DAG node id: ${node.id}`);\n }\n if (byId.has(node.id)) throw new Error(`Duplicate subagent DAG node id: ${node.id}`);\n byId.set(node.id, node);\n const dependencies = new Set(node.dependsOn ?? []);\n if (dependencies.size !== (node.dependsOn?.length ?? 0)) {\n throw new Error(`Duplicate dependency on subagent DAG node: ${node.id}`);\n }\n edgeCount += dependencies.size;\n }\n if (edgeCount > MAX_DAG_EDGES) {\n throw new Error(`Subagent DAG exceeds ${MAX_DAG_EDGES} dependency edges`);\n }\n for (const node of nodes) {\n for (const dependency of node.dependsOn ?? []) {\n if (!byId.has(dependency)) {\n throw new Error(`Unknown subagent DAG dependency ${dependency} for node ${node.id}`);\n }\n if (dependency === node.id) throw new Error(`Subagent DAG node ${node.id} depends on itself`);\n }\n }\n\n const remaining = new Set(nodes.map((node) => node.id));\n const completed = new Set<string>();\n const waves: DagNode[][] = [];\n while (remaining.size > 0) {\n const wave = nodes.filter(\n (node) => remaining.has(node.id) && (node.dependsOn ?? []).every((id) => completed.has(id)),\n );\n if (wave.length === 0) throw new Error(\"Subagent DAG contains a cycle\");\n waves.push(wave);\n if (waves.length > MAX_DAG_DEPTH) {\n throw new Error(`Subagent DAG exceeds maximum depth ${MAX_DAG_DEPTH}`);\n }\n for (const node of wave) {\n remaining.delete(node.id);\n completed.add(node.id);\n }\n }\n return waves;\n}\n\n/**\n * A top-level `profile` is the default for every task and DAG node, like the\n * other shared params. A fan-out that runs entirely under one profile then\n * names it once instead of repeating it per node.\n */\nfunction withDefaultProfile<T extends { profile?: string }>(task: T, fallback?: string): T {\n return task.profile || !fallback ? task : { ...task, profile: fallback };\n}\n\nfunction itemForNode(node: DagNode, defaultProfile?: string): PlanItem {\n return {\n id: node.id,\n label: clampSubagentLabel(node.label?.trim() || node.id),\n task: withDefaultProfile(node, defaultProfile),\n dependsOn: node.dependsOn ?? [],\n };\n}\n\n/** Normalize every tool mode into one plan: nodes, waves, concurrency. */\nfunction buildPlan(params: SubagentParams): Plan {\n const modeCount = [params.task, params.tasks, params.dag].filter(\n (mode) => mode !== undefined,\n ).length;\n if (modeCount !== 1) {\n throw new Error(\"Subagent requires exactly one of task, tasks, or dag\");\n }\n\n if (params.dag !== undefined) {\n const toItem = (node: DagNode) => itemForNode(node, params.profile);\n const waves = buildDagWaves(params.dag.nodes).map((wave) => wave.map(toItem));\n const requested = params.dag.maxConcurrency ?? MAX_CONCURRENT_SUBAGENTS;\n return {\n mode: \"dag\",\n items: params.dag.nodes.map(toItem),\n waves,\n concurrency: Math.max(1, Math.min(MAX_CONCURRENT_SUBAGENTS, Math.floor(requested))),\n };\n }\n if (params.tasks !== undefined) {\n const items = params.tasks.map((task, index) => ({\n id: String(index),\n label: taskLabel(task, String(index + 1)),\n task: withDefaultProfile(task, params.profile),\n dependsOn: [],\n }));\n return { mode: \"parallel\", items, waves: [items], concurrency: MAX_CONCURRENT_SUBAGENTS };\n }\n if (!params.task) throw new Error(\"Subagent requires task, tasks, or dag\");\n const task = { ...params, task: params.task };\n const item = { id: \"0\", label: taskLabel(task, \"subagent\"), task, dependsOn: [] };\n return { mode: \"single\", items: [item], waves: [[item]], concurrency: 1 };\n}\n\n/** Run `worker` over every item with at most `limit` in flight. */\nasync function forEachConcurrent<T>(\n items: readonly T[],\n limit: number,\n worker: (item: T, index: number) => Promise<void>,\n): Promise<void> {\n let cursor = 0;\n await Promise.all(\n Array.from({ length: Math.min(limit, items.length) }, async () => {\n while (cursor < items.length) {\n const index = cursor++;\n const item = items[index];\n if (item === undefined) continue;\n await worker(item, index);\n }\n }),\n );\n}\n\nfunction dependencyOutput(outcome: PlanOutcome): unknown {\n if (outcome.status !== \"completed\") return undefined;\n const value = outcome.output;\n const serialized = typeof value === \"string\" ? value : JSON.stringify(value);\n if (serialized === undefined) return null;\n if (serialized.length <= MAX_DEPENDENCY_OUTPUT_CHARS) return value;\n // Oversized structured output becomes a marked string — the shape is lost,\n // which the tool description warns downstream consumers about.\n return `${serialized.slice(0, MAX_DEPENDENCY_OUTPUT_CHARS)}\\n[truncated]`;\n}\n\nfunction planRequest(\n item: PlanItem,\n shared: SharedParams,\n outcomes: Map<string, PlanOutcome>,\n signal?: AbortSignal,\n): SubagentRunRequest<TSchema | undefined> {\n if (item.dependsOn.length === 0) return buildRequest(item.task, shared, signal);\n const dependencies = Object.fromEntries(\n item.dependsOn.map((id) => [id, dependencyOutput(outcomes.get(id)!)]),\n );\n const input = {\n ...(item.task.input !== undefined ? { input: item.task.input } : {}),\n dependencies,\n };\n return buildRequest({ ...item.task, input }, shared, signal);\n}\n\n/**\n * One executor for every mode: wave barriers and a per-invocation concurrency\n * bound. Process-wide slots are acquired by the shared runner seam.\n */\nasync function runWaves(\n plan: Plan,\n shared: SharedParams,\n runSubagent: RunSubagent,\n progress: SubagentProgressTracker,\n signal?: AbortSignal,\n): Promise<PlanOutcome[]> {\n const outcomes = new Map<string, PlanOutcome>();\n for (const wave of plan.waves) {\n await forEachConcurrent(wave, plan.concurrency, async (item) => {\n const failedDependency = item.dependsOn.find(\n (id) => outcomes.get(id)?.status !== \"completed\",\n );\n if (failedDependency) {\n outcomes.set(item.id, {\n id: item.id,\n status: \"skipped\",\n error: `Dependency ${failedDependency} did not complete`,\n });\n progress.update(item.id, \"skipped\", {\n reason: `Dependency ${failedDependency} did not complete`,\n });\n return;\n }\n let result: SubagentRunResult<unknown>;\n progress.update(item.id, \"running\");\n result = await runSubagent(planRequest(item, shared, outcomes, signal));\n outcomes.set(item.id, { id: item.id, ...result });\n progress.update(item.id, result.status, {\n turns: result.turns,\n toolCalls: result.toolCalls,\n toolCallCounts: result.toolCallCounts,\n tokens: result.tokens,\n costUsd: result.costUsd,\n durationMs: result.durationMs,\n ...(result.error ? { reason: result.error } : {}),\n ...(result.cleanupPending ? { cleanupPending: true } : {}),\n });\n });\n }\n return plan.items.map((item) => outcomes.get(item.id)!);\n}\n\n/** What the model needs to choose a profile: what it is, and what it can do. */\ninterface SubagentProfileMenuEntry {\n description: string;\n tools?: string[];\n}\n\n/**\n * The tool grant belongs in the menu. A description alone reads as a stylistic\n * constraint, so a model will pick a no-tool profile for work that needs tools\n * and then narrate the tool call it could not make.\n */\nfunction formatToolGrant(tools: string[] | undefined): string {\n if (!tools) return \"tools unknown\";\n return tools.length === 0 ? \"no tools\" : `tools: ${tools.join(\", \")}`;\n}\n\nfunction validatePlanProfiles(plan: Plan, availableProfiles: ReadonlySet<string>): void {\n const known = [...availableProfiles].join(\", \");\n for (const item of plan.items) {\n const profile = item.task.profile;\n if (!profile) {\n throw new Error(`Subagent ${item.label} must specify a profile (available: ${known})`);\n }\n if (!availableProfiles.has(profile)) {\n throw new Error(`Unknown subagent profile: ${profile} (available: ${known})`);\n }\n }\n}\n\n/**\n * Create the normal agent's bounded subagent delegation and DAG tool.\n * `globalSlots` is the process-wide fan-out account shared across every\n * conversation's tool instance; omitted, fan-out is bounded per run only.\n *\n * `profiles` must be non-empty: it is both the model-facing menu and the only\n * way to grant a subagent any capability at all.\n */\nexport function createSubagentTool(\n runSubagent: RunSubagent,\n profiles: ReadonlyMap<string, SubagentProfileMenuEntry>,\n): AgentTool<typeof subagentSchema> {\n if (profiles.size === 0) {\n throw new Error(\"createSubagentTool requires at least one subagent profile\");\n }\n const profileDescription = [...profiles.entries()]\n .map(\n ([name, profile]) => `${name} [${formatToolGrant(profile.tools)}] — ${profile.description}`,\n )\n .join(\"; \");\n return {\n name: \"subagent\",\n label: \"Subagent\",\n description:\n `Run fresh isolated subagents. Use task for one subagent, tasks for independent concurrent work, or dag.nodes for a bounded dependency graph. At most ${MAX_CONCURRENT_SUBAGENTS} subagents run concurrently. DAG limits: ${MAX_DAG_NODES} nodes, ${MAX_DAG_EDGES} edges, depth ${MAX_DAG_DEPTH}; failed dependencies skip descendants, and dependency outputs larger than ${MAX_DEPENDENCY_OUTPUT_CHARS} characters reach downstream nodes as a truncated string. ` +\n \"Subagents are fresh by default; parentContext.mode=normalized can include a sanitized reference snapshot of the active parent run. Nested subagents are not allowed. \" +\n `Every task and DAG node must set profile; the profile supplies the prompt, tools, model and budget. Available profiles: ${profileDescription}.`,\n parameters: buildSubagentSchema([...profiles.keys()]),\n execute: async (\n _toolCallId: string,\n params: SubagentParams,\n signal?: AbortSignal,\n onUpdate?: AgentToolUpdateCallback,\n ) => {\n const plan = buildPlan(params);\n validatePlanProfiles(plan, new Set(profiles.keys()));\n const progress = new SubagentProgressTracker(\n plan.mode,\n plan.items.map(({ id, label, task }) => ({ id, label, profile: task.profile })),\n onUpdate,\n );\n progress.emit();\n const ordered = await runWaves(plan, params, runSubagent, progress, signal);\n\n switch (plan.mode) {\n case \"dag\":\n return {\n content: [\n {\n type: \"text\",\n text: ordered\n .map((outcome) => `[${outcome.id}] ${formatOutcome(outcome)}`)\n .join(\"\\n\\n\"),\n },\n ],\n details: {\n mode: \"dag\",\n waves: plan.waves.map((wave) => wave.map((item) => item.id)),\n results: ordered,\n },\n };\n case \"parallel\": {\n const results = ordered.map(({ id: _id, ...result }) => result);\n return {\n content: [\n {\n type: \"text\",\n text: results\n .map((result, index) => `[${index + 1}] ${formatOutcome(result)}`)\n .join(\"\\n\\n\"),\n },\n ],\n details: { mode: \"parallel\", results },\n };\n }\n case \"single\": {\n const single = ordered[0];\n if (single === undefined) {\n throw new Error(\"Subagent plan produced no outcome\");\n }\n const { id: _id, ...result } = single;\n return {\n content: [{ type: \"text\", text: formatOutcome(result) }],\n details: result,\n };\n }\n }\n },\n };\n}\n"]}
|
package/dist/tools/types.d.ts
CHANGED
|
@@ -59,30 +59,4 @@ export interface EventStore {
|
|
|
59
59
|
deleted: boolean;
|
|
60
60
|
}>;
|
|
61
61
|
}
|
|
62
|
-
export interface TruncationResult {
|
|
63
|
-
/** The truncated content */
|
|
64
|
-
content: string;
|
|
65
|
-
/** Whether truncation occurred */
|
|
66
|
-
truncated: boolean;
|
|
67
|
-
/** Which limit was hit: "lines", "bytes", or null if not truncated */
|
|
68
|
-
truncatedBy: "lines" | "bytes" | null;
|
|
69
|
-
/** Total number of lines in the original content */
|
|
70
|
-
totalLines: number;
|
|
71
|
-
/** Total number of bytes in the original content */
|
|
72
|
-
totalBytes: number;
|
|
73
|
-
/** Number of complete lines in the truncated output */
|
|
74
|
-
outputLines: number;
|
|
75
|
-
/** Number of bytes in the truncated output */
|
|
76
|
-
outputBytes: number;
|
|
77
|
-
/** Whether the last line was partially truncated (only for tail truncation edge case) */
|
|
78
|
-
lastLinePartial: boolean;
|
|
79
|
-
/** Whether the first line exceeded the byte limit (for head truncation) */
|
|
80
|
-
firstLineExceedsLimit: boolean;
|
|
81
|
-
}
|
|
82
|
-
export interface TruncationOptions {
|
|
83
|
-
/** Maximum number of lines (default: 2000) */
|
|
84
|
-
maxLines?: number;
|
|
85
|
-
/** Maximum number of bytes (default: 50KB) */
|
|
86
|
-
maxBytes?: number;
|
|
87
|
-
}
|
|
88
62
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAInE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,gBAAgB,CAAC;AAI7D,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F;;;;;OAKG;IACH,IAAI,IAAI,OAAO,CACb,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAC7F,CAAC;IACF,IAAI,CACF,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3F,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7F,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACzD
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAInE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,gBAAgB,CAAC;AAI7D,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F;;;;;OAKG;IACH,IAAI,IAAI,OAAO,CACb,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAC7F,CAAC;IACF,IAAI,CACF,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3F,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7F,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACzD"}
|
package/dist/tools/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { AgentTool } from \"@earendil-works/pi-agent-core\";\nimport type { TSchema } from \"@sinclair/typebox\";\nimport type { EventFilePayload } from \"../harness/event-format.js\";\n\n// ── platform tool packs ───────────────────────────────────────────────────────\n\n/**\n * Per-run context for optional platform-contributed tools (e.g. GitHub PR/CI).\n * Core agent code binds packs without knowing which platform owns them.\n */\nexport interface PlatformToolRunContext {\n conversationId: string;\n platformName: string;\n threadTs?: string;\n}\n\n/**\n * A platform capability pack: extra tools plus a bind hook that enables or\n * disables them for the current run. Packs are assembled at process start\n * (main.ts) and injected into runners; they must not be hardcoded in the\n * core tool list.\n */\nexport interface PlatformToolPack {\n tools: AgentTool<TSchema>[];\n bindRun(ctx: PlatformToolRunContext): void;\n}\n\n/**\n * Injected as factories, not instances: bindRun mutates closure state inside\n * the pack's tools, so a pack must be private to one runner (whose runs are\n * serialized). A single shared instance would let concurrent conversations\n * rebind each other mid-run — routing github_pr to the wrong conversation.\n */\nexport type PlatformToolPackFactory = () => PlatformToolPack;\n\n// ── event tool ───────────────────────────────────────────────────────────────\n\nexport type EventPayload = EventFilePayload;\n\nexport interface EventStore {\n write(filename: string, payload: EventFilePayload): Promise<{ path: string; size: number }>;\n /**\n * List all event files. Entries whose JSON cannot be parsed or fail format\n * validation are kept with a `null` payload so consumers (e.g. the admin\n * portal) can still surface and delete them; files that disappear\n * mid-listing are skipped.\n */\n list(): Promise<\n Array<{ filename: string; payload: EventFilePayload | null; size: number; mtimeMs: number }>\n >;\n read(\n filename: string,\n ): Promise<{ filename: string; payload: EventFilePayload; size: number; mtimeMs: number }>;\n update(filename: string, payload: EventFilePayload): Promise<{ path: string; size: number }>;\n delete(filename: string): Promise<{ deleted: boolean }>;\n}\n
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { AgentTool } from \"@earendil-works/pi-agent-core\";\nimport type { TSchema } from \"@sinclair/typebox\";\nimport type { EventFilePayload } from \"../harness/event-format.js\";\n\n// ── platform tool packs ───────────────────────────────────────────────────────\n\n/**\n * Per-run context for optional platform-contributed tools (e.g. GitHub PR/CI).\n * Core agent code binds packs without knowing which platform owns them.\n */\nexport interface PlatformToolRunContext {\n conversationId: string;\n platformName: string;\n threadTs?: string;\n}\n\n/**\n * A platform capability pack: extra tools plus a bind hook that enables or\n * disables them for the current run. Packs are assembled at process start\n * (main.ts) and injected into runners; they must not be hardcoded in the\n * core tool list.\n */\nexport interface PlatformToolPack {\n tools: AgentTool<TSchema>[];\n bindRun(ctx: PlatformToolRunContext): void;\n}\n\n/**\n * Injected as factories, not instances: bindRun mutates closure state inside\n * the pack's tools, so a pack must be private to one runner (whose runs are\n * serialized). A single shared instance would let concurrent conversations\n * rebind each other mid-run — routing github_pr to the wrong conversation.\n */\nexport type PlatformToolPackFactory = () => PlatformToolPack;\n\n// ── event tool ───────────────────────────────────────────────────────────────\n\nexport type EventPayload = EventFilePayload;\n\nexport interface EventStore {\n write(filename: string, payload: EventFilePayload): Promise<{ path: string; size: number }>;\n /**\n * List all event files. Entries whose JSON cannot be parsed or fail format\n * validation are kept with a `null` payload so consumers (e.g. the admin\n * portal) can still surface and delete them; files that disappear\n * mid-listing are skipped.\n */\n list(): Promise<\n Array<{ filename: string; payload: EventFilePayload | null; size: number; mtimeMs: number }>\n >;\n read(\n filename: string,\n ): Promise<{ filename: string; payload: EventFilePayload; size: number; mtimeMs: number }>;\n update(filename: string, payload: EventFilePayload): Promise<{ path: string; size: number }>;\n delete(filename: string): Promise<{ deleted: boolean }>;\n}\n"]}
|
package/dist/trigger.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ConversationEvent } from "./adapter.js";
|
|
2
2
|
export type { AutoReplyJudge, TriggerIntent, TriggerResult } from "./types.js";
|
|
3
3
|
import type { AutoReplyJudge, TriggerIntent, TriggerResult } from "./types.js";
|
|
4
|
+
import type { Office } from "./office/types.js";
|
|
4
5
|
/**
|
|
5
6
|
* Trivially decide non-auto-reply intents synchronously. For "auto-reply-candidate"
|
|
6
7
|
* callers must use {@link evaluateAutoReplyPolicy}.
|
|
@@ -15,7 +16,7 @@ export declare function decideTrigger(intent: Exclude<TriggerIntent, "auto-reply
|
|
|
15
16
|
*/
|
|
16
17
|
export declare function evaluateAutoReplyPolicy(input: {
|
|
17
18
|
event: ConversationEvent;
|
|
18
|
-
office:
|
|
19
|
+
office: Office | undefined;
|
|
19
20
|
judge?: AutoReplyJudge;
|
|
20
21
|
timeoutMs?: number;
|
|
21
22
|
}): Promise<TriggerResult>;
|
package/dist/trigger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../src/trigger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAMtD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../src/trigger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAMtD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,sBAAsB,CAAC,GACrD,aAAa,CAEf;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,aAAa,CAAC,CAuBzB"}
|
package/dist/trigger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../src/trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,MAAM,gBAAgB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../src/trigger.ts"],"names":[],"mappings":"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","sourcesContent":["import { MikanModels } from \"./harness/index.js\";\nimport type { ConversationEvent } from \"./adapter.js\";\nimport { loadAutoReplyJudgeModel, loadConversationAutoReplyConfig } from \"./config.js\";\nimport * as log from \"./log.js\";\n\nconst JUDGE_TIMEOUT_MS = 10_000;\n\nexport type { AutoReplyJudge, TriggerIntent, TriggerResult } from \"./types.js\";\nimport type { AutoReplyJudge, TriggerIntent, TriggerResult } from \"./types.js\";\nimport type { Office } from \"./office/types.js\";\n\n/**\n * Trivially decide non-auto-reply intents synchronously. For \"auto-reply-candidate\"\n * callers must use {@link evaluateAutoReplyPolicy}.\n */\nexport function decideTrigger(\n intent: Exclude<TriggerIntent, \"auto-reply-candidate\">,\n): TriggerResult {\n return { trigger: true, reason: intent };\n}\n\n/**\n * Decide whether to auto-reply. Never throws — judge errors and timeouts are\n * folded into a `trigger: false` result with a distinct reason, so adapters\n * can apply a single uniform \"do not trigger, but still log\" policy.\n *\n * @deprecated Auto-reply is kept for compatibility while its future is undecided.\n */\nexport async function evaluateAutoReplyPolicy(input: {\n event: ConversationEvent;\n office: Office | undefined;\n judge?: AutoReplyJudge;\n timeoutMs?: number;\n}): Promise<TriggerResult> {\n const { event, office, judge = judgeAutoReplyWithLlm, timeoutMs = JUDGE_TIMEOUT_MS } = input;\n if (!office) return { trigger: false, reason: \"auto-reply-unconfigured\" };\n\n try {\n const config = loadConversationAutoReplyConfig(office.dir);\n if (!config.enabled) return { trigger: false, reason: \"auto-reply-disabled\" };\n if (config.rules.length === 0) {\n return { trigger: true, reason: \"auto-reply-enabled\" };\n }\n\n const shouldReply = await withTimeout(judge({ event, rules: config.rules, office }), timeoutMs);\n return shouldReply\n ? { trigger: true, reason: \"auto-reply-rule-match\" }\n : { trigger: false, reason: \"auto-reply-rule-no-match\" };\n } catch (err) {\n if (err instanceof JudgeTimeoutError) {\n log.logWarning(\"Auto-reply judge timed out\", String(err));\n return { trigger: false, reason: \"auto-reply-judge-timeout\" };\n }\n log.logWarning(\"Auto-reply policy evaluation failed\", String(err));\n return { trigger: false, reason: \"auto-reply-judge-failed\" };\n }\n}\n\nclass JudgeTimeoutError extends Error {\n constructor(ms: number) {\n super(`auto-reply judge exceeded ${ms}ms`);\n this.name = \"JudgeTimeoutError\";\n }\n}\n\nfunction withTimeout<T>(promise: Promise<T>, ms: number): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const timer = setTimeout(() => reject(new JudgeTimeoutError(ms)), ms);\n promise.then(\n (value) => {\n clearTimeout(timer);\n resolve(value);\n },\n (err) => {\n clearTimeout(timer);\n reject(err);\n },\n );\n });\n}\n\nasync function judgeAutoReplyWithLlm(input: {\n event: ConversationEvent;\n rules: string[];\n office: Office;\n}): Promise<boolean> {\n const judgeConfig = loadAutoReplyJudgeModel(input.office);\n const models = MikanModels.create();\n const model = models.resolve(judgeConfig.provider, judgeConfig.model);\n\n const answer = await models.models.completeSimple(\n model,\n {\n systemPrompt:\n \"You decide whether a bot should reply to a group/channel message. \" +\n \"Use only the rules provided by the user. Answer exactly YES or NO.\",\n messages: [\n {\n role: \"user\",\n timestamp: Date.now(),\n content: [\n \"Rules:\",\n ...input.rules.map((rule, index) => `${index + 1}. ${rule}`),\n \"\",\n \"Message:\",\n input.event.text,\n \"\",\n \"Should the bot reply? Answer exactly YES or NO.\",\n ].join(\"\\n\"),\n },\n ],\n },\n {\n temperature: 0,\n maxTokens: 4,\n reasoning: \"minimal\",\n },\n );\n const text = answer.content\n .filter((part) => part.type === \"text\")\n .map((part) => part.text)\n .join(\"\")\n .trim()\n .toUpperCase();\n return /^YES\\b/.test(text);\n}\n"]}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import type { ThinkingLevel } from "@earendil-works/pi-agent-core";
|
|
2
|
-
import { execFile } from "child_process";
|
|
2
|
+
import { execFile } from "node:child_process";
|
|
3
3
|
import type { ImmediateEventPayload, OneShotEventPayload, PeriodicEventPayload } from "./harness/event-format.js";
|
|
4
|
-
import type { ExtensionBlockAction } from "./harness/extensions/types.js";
|
|
4
|
+
import type { ExtensionBlockAction, ExtensionScheduleCallbackEvent, ExtensionScheduleCallbackFire, ExtensionScheduleEngine } from "./harness/extensions/types.js";
|
|
5
5
|
import type { SubagentRunStatus } from "./harness/types.js";
|
|
6
|
+
import type { SessionViewTokenStoreLike } from "./commands/types.js";
|
|
7
|
+
import type { MikanModels } from "./harness/models.js";
|
|
8
|
+
import type { Office } from "./office/types.js";
|
|
9
|
+
import type { DockerContainerManager } from "./provisioner.js";
|
|
10
|
+
import type { SandboxConfig } from "./sandbox/types.js";
|
|
11
|
+
import type { ResolvedSessionScope } from "./sessions/types.js";
|
|
12
|
+
import type { PlatformToolPackFactory } from "./tools/types.js";
|
|
13
|
+
import type { VaultManager } from "./vault/types.js";
|
|
6
14
|
declare const execFileAsync: typeof execFile.__promisify__;
|
|
7
15
|
type ExecFileAsync = typeof execFileAsync;
|
|
8
16
|
export type ConversationKind = "direct" | "shared";
|
|
@@ -246,6 +254,23 @@ export interface MessagingBot {
|
|
|
246
254
|
* implementations (Slack/Discord/Telegram) already match this shape.
|
|
247
255
|
*/
|
|
248
256
|
uploadFile?(channel: string, filePath: string, title?: string): Promise<void>;
|
|
257
|
+
/**
|
|
258
|
+
* Post into a platform thread. Optional so adapters adopt it incrementally;
|
|
259
|
+
* callers must handle its absence.
|
|
260
|
+
*/
|
|
261
|
+
postInThread?(channel: string, threadTs: string, text: string): Promise<string>;
|
|
262
|
+
/**
|
|
263
|
+
* Open (or resolve) the direct-message conversation with a user, returning
|
|
264
|
+
* its conversation id — usable with `postMessage`. Optional capability.
|
|
265
|
+
*/
|
|
266
|
+
openDirectConversation?(userId: string): Promise<string>;
|
|
267
|
+
/**
|
|
268
|
+
* Fetch recent messages from a conversation, oldest first. Optional
|
|
269
|
+
* capability; adapters may cap `limit` below what the caller asks for.
|
|
270
|
+
*/
|
|
271
|
+
fetchHistory?(channel: string, options?: PlatformHistoryOptions): Promise<PlatformHistoryMessage[]>;
|
|
272
|
+
/** List the platform workspace's active users. Optional capability. */
|
|
273
|
+
listUsers?(): Promise<PlatformUserInfo[]>;
|
|
249
274
|
enqueueEvent(event: ConversationEvent): boolean;
|
|
250
275
|
getMessagingInfo(): MessagingInfo;
|
|
251
276
|
postPrivate?(conversationId: string, userId: string, text: string): Promise<void>;
|
|
@@ -253,12 +278,65 @@ export interface MessagingBot {
|
|
|
253
278
|
style?: "muted" | "error";
|
|
254
279
|
}): Promise<void>;
|
|
255
280
|
}
|
|
281
|
+
/** Filters for a platform conversation-history fetch. */
|
|
282
|
+
export interface PlatformHistoryOptions {
|
|
283
|
+
/** Only messages strictly newer than this platform message id/timestamp. */
|
|
284
|
+
oldest?: string;
|
|
285
|
+
/** Maximum number of messages to return (adapters may cap this lower). */
|
|
286
|
+
limit?: number;
|
|
287
|
+
/**
|
|
288
|
+
* Read the replies inside this thread instead of the conversation's
|
|
289
|
+
* top-level messages. The thread parent itself is not returned — the result
|
|
290
|
+
* is the replies to it. Adapters without threads ignore this.
|
|
291
|
+
*/
|
|
292
|
+
threadTs?: string;
|
|
293
|
+
}
|
|
294
|
+
/** One platform message returned by a history fetch. */
|
|
295
|
+
export interface PlatformHistoryMessage {
|
|
296
|
+
ts: string;
|
|
297
|
+
threadTs?: string;
|
|
298
|
+
userId?: string;
|
|
299
|
+
userName?: string;
|
|
300
|
+
text: string;
|
|
301
|
+
isBot: boolean;
|
|
302
|
+
}
|
|
303
|
+
/** One platform user returned by a workspace user listing. */
|
|
304
|
+
export interface PlatformUserInfo {
|
|
305
|
+
id: string;
|
|
306
|
+
userName: string;
|
|
307
|
+
displayName: string;
|
|
308
|
+
isBot: boolean;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Post a plain message to a conversation without triggering an agent run,
|
|
312
|
+
* resolving to the platform message id of what was posted. Backs extension
|
|
313
|
+
* `api.notify`; implemented in main.ts over the platform bots. `platform` is
|
|
314
|
+
* required only when more than one platform is running; `threadTs` targets a
|
|
315
|
+
* platform thread on adapters that support it.
|
|
316
|
+
*/
|
|
317
|
+
export type PlatformNotifier = (conversationId: string, text: string, options?: {
|
|
318
|
+
platform?: string;
|
|
319
|
+
threadTs?: string;
|
|
320
|
+
}) => Promise<string>;
|
|
256
321
|
/**
|
|
257
|
-
*
|
|
258
|
-
* Backs extension `api.
|
|
259
|
-
*
|
|
322
|
+
* Open the direct-message conversation with a platform user, returning its
|
|
323
|
+
* conversation id. Backs extension `api.openDm`; implemented in main.ts over
|
|
324
|
+
* the platform bots.
|
|
260
325
|
*/
|
|
261
|
-
export type
|
|
326
|
+
export type PlatformDmOpener = (userId: string, platform?: string) => Promise<string>;
|
|
327
|
+
/**
|
|
328
|
+
* Fetch recent messages from a conversation without triggering an agent run.
|
|
329
|
+
* Backs extension `api.fetchHistory`; implemented in main.ts over the
|
|
330
|
+
* platform bots.
|
|
331
|
+
*/
|
|
332
|
+
export type PlatformHistoryFetcher = (conversationId: string, options?: PlatformHistoryOptions & {
|
|
333
|
+
platform?: string;
|
|
334
|
+
}) => Promise<PlatformHistoryMessage[]>;
|
|
335
|
+
/**
|
|
336
|
+
* List a platform workspace's active users. Backs extension `api.listUsers`;
|
|
337
|
+
* implemented in main.ts over the platform bots.
|
|
338
|
+
*/
|
|
339
|
+
export type PlatformUserLister = (platform?: string) => Promise<PlatformUserInfo[]>;
|
|
262
340
|
/**
|
|
263
341
|
* Add an emoji reaction to a message without triggering an agent run. Backs
|
|
264
342
|
* extension `api.react`; implemented in main.ts over the platform bots.
|
|
@@ -330,6 +408,13 @@ export interface MessagingEventHandler {
|
|
|
330
408
|
slug: string;
|
|
331
409
|
action: ExtensionBlockAction;
|
|
332
410
|
}): Promise<boolean>;
|
|
411
|
+
/**
|
|
412
|
+
* Dispatch a fired extension callback schedule to its registered
|
|
413
|
+
* `onCallback` handler — deterministic, no agent run, no model call.
|
|
414
|
+
* Returns true when a handler consumed the fire; false when nothing is
|
|
415
|
+
* registered (e.g. the extension was removed but its schedule remains).
|
|
416
|
+
*/
|
|
417
|
+
handleExtensionScheduleCallback(fire: ExtensionScheduleCallbackFire): Promise<boolean>;
|
|
333
418
|
}
|
|
334
419
|
export interface PiAgentWrapper {
|
|
335
420
|
syncChatHistory(currentMessageId?: string): void;
|
|
@@ -357,6 +442,8 @@ export interface PiAgentWrapper {
|
|
|
357
442
|
* handler. Returns true when a handler consumed it (no agent run follows).
|
|
358
443
|
*/
|
|
359
444
|
tryExtensionAction(slug: string, action: ExtensionBlockAction): Promise<boolean>;
|
|
445
|
+
/** Run an extension's registered schedule callback; false when unregistered. */
|
|
446
|
+
tryExtensionScheduleCallback(slug: string, callback: string, event: ExtensionScheduleCallbackEvent): Promise<boolean>;
|
|
360
447
|
/** Run extension disposers. Call once when this wrapper is discarded. */
|
|
361
448
|
dispose(): Promise<void>;
|
|
362
449
|
}
|
|
@@ -518,7 +605,7 @@ export interface DockerContainerManagerOptions {
|
|
|
518
605
|
export interface ExecutionPlan {
|
|
519
606
|
credentialKey: string;
|
|
520
607
|
resourceKey: string;
|
|
521
|
-
sandboxConfig:
|
|
608
|
+
sandboxConfig: SandboxConfig;
|
|
522
609
|
env?: Record<string, string>;
|
|
523
610
|
mounts: ContainerMount[];
|
|
524
611
|
}
|
|
@@ -540,7 +627,7 @@ export type TriggerResult = {
|
|
|
540
627
|
export type AutoReplyJudge = (input: {
|
|
541
628
|
event: ConversationEvent;
|
|
542
629
|
rules: string[];
|
|
543
|
-
office:
|
|
630
|
+
office: Office;
|
|
544
631
|
}) => Promise<boolean>;
|
|
545
632
|
interface EnvVarSpec {
|
|
546
633
|
name: string;
|
|
@@ -575,24 +662,29 @@ export type SettingsApplyResult = {
|
|
|
575
662
|
reason: "busy";
|
|
576
663
|
};
|
|
577
664
|
export interface CreateRunnerOptions {
|
|
578
|
-
sandboxConfig:
|
|
665
|
+
sandboxConfig: SandboxConfig;
|
|
579
666
|
sessionKey: string;
|
|
580
667
|
/** The Conversation office this runner serves; identity and layout derive from it. */
|
|
581
|
-
office:
|
|
582
|
-
sessionScope:
|
|
583
|
-
vaultManager?:
|
|
584
|
-
provisioner?:
|
|
668
|
+
office: Office;
|
|
669
|
+
sessionScope: ResolvedSessionScope;
|
|
670
|
+
vaultManager?: VaultManager;
|
|
671
|
+
provisioner?: DockerContainerManager;
|
|
585
672
|
resourceController?: SandboxResourceController;
|
|
586
673
|
sessionView?: {
|
|
587
|
-
tokenStore:
|
|
674
|
+
tokenStore: SessionViewTokenStoreLike;
|
|
588
675
|
portalBaseUrl?: string;
|
|
589
676
|
};
|
|
590
677
|
platformNotifier?: PlatformNotifier;
|
|
591
678
|
platformReactor?: PlatformReactor;
|
|
592
679
|
platformUploader?: PlatformUploader;
|
|
593
680
|
platformBlockKit?: PlatformBlockKit;
|
|
594
|
-
|
|
595
|
-
|
|
681
|
+
platformDmOpener?: PlatformDmOpener;
|
|
682
|
+
platformHistoryFetcher?: PlatformHistoryFetcher;
|
|
683
|
+
platformUserLister?: PlatformUserLister;
|
|
684
|
+
/** Host-authoritative callback-schedule engine (`api.schedules` callbacks). */
|
|
685
|
+
extensionScheduleEngine?: ExtensionScheduleEngine;
|
|
686
|
+
platformToolPackFactories?: readonly PlatformToolPackFactory[];
|
|
687
|
+
models?: MikanModels;
|
|
596
688
|
}
|
|
597
689
|
export {};
|
|
598
690
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED