@geminixiang/mikan 1.0.0-beta.7 → 1.0.0-beta.70
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 +1040 -0
- package/README.md +98 -38
- package/dist/adapters/commands/admin.d.ts.map +1 -0
- package/dist/{commands → adapters/commands}/admin.js +11 -8
- package/dist/adapters/commands/admin.js.map +1 -0
- package/dist/{commands → adapters/commands}/auto-reply.d.ts +0 -3
- package/dist/adapters/commands/auto-reply.d.ts.map +1 -0
- package/dist/adapters/commands/auto-reply.js +47 -0
- package/dist/adapters/commands/auto-reply.js.map +1 -0
- package/dist/adapters/commands/login.d.ts +6 -0
- package/dist/adapters/commands/login.d.ts.map +1 -0
- package/dist/adapters/commands/login.js +166 -0
- package/dist/adapters/commands/login.js.map +1 -0
- package/dist/adapters/commands/manifest.d.ts +37 -0
- package/dist/adapters/commands/manifest.d.ts.map +1 -0
- package/dist/adapters/commands/manifest.js +155 -0
- package/dist/adapters/commands/manifest.js.map +1 -0
- package/dist/adapters/commands/model.d.ts +15 -0
- package/dist/adapters/commands/model.d.ts.map +1 -0
- package/dist/adapters/commands/model.js +153 -0
- package/dist/adapters/commands/model.js.map +1 -0
- package/dist/adapters/commands/new.d.ts.map +1 -0
- package/dist/adapters/commands/new.js +41 -0
- package/dist/adapters/commands/new.js.map +1 -0
- package/dist/adapters/commands/registry.d.ts +5 -0
- package/dist/adapters/commands/registry.d.ts.map +1 -0
- package/dist/adapters/commands/registry.js +43 -0
- package/dist/adapters/commands/registry.js.map +1 -0
- package/dist/adapters/commands/sandbox.d.ts.map +1 -0
- package/dist/adapters/commands/sandbox.js +125 -0
- package/dist/adapters/commands/sandbox.js.map +1 -0
- package/dist/adapters/commands/session-view.d.ts.map +1 -0
- package/dist/{commands → adapters/commands}/session-view.js +23 -16
- package/dist/adapters/commands/session-view.js.map +1 -0
- package/dist/adapters/commands/types.d.ts +145 -0
- package/dist/adapters/commands/types.d.ts.map +1 -0
- package/dist/adapters/commands/types.js.map +1 -0
- package/dist/adapters/commands/utils.d.ts +14 -0
- package/dist/adapters/commands/utils.d.ts.map +1 -0
- package/dist/{commands → adapters/commands}/utils.js +18 -1
- package/dist/adapters/commands/utils.js.map +1 -0
- package/dist/adapters/discord/bot.d.ts +11 -8
- package/dist/adapters/discord/bot.d.ts.map +1 -1
- package/dist/adapters/discord/bot.js +223 -256
- package/dist/adapters/discord/bot.js.map +1 -1
- package/dist/adapters/discord/components.d.ts +28 -0
- package/dist/adapters/discord/components.d.ts.map +1 -0
- package/dist/adapters/discord/components.js +32 -0
- package/dist/adapters/discord/components.js.map +1 -0
- package/dist/adapters/discord/context.d.ts +2 -6
- package/dist/adapters/discord/context.d.ts.map +1 -1
- package/dist/adapters/discord/context.js +64 -218
- package/dist/adapters/discord/context.js.map +1 -1
- package/dist/adapters/discord/format.d.ts +3 -0
- package/dist/adapters/discord/format.d.ts.map +1 -0
- package/dist/adapters/discord/format.js +84 -0
- package/dist/adapters/discord/format.js.map +1 -0
- package/dist/adapters/discord/types.d.ts +8 -1
- package/dist/adapters/discord/types.d.ts.map +1 -1
- package/dist/adapters/discord/types.js.map +1 -1
- package/dist/adapters/github/bot.d.ts +102 -0
- package/dist/adapters/github/bot.d.ts.map +1 -0
- package/dist/adapters/github/bot.js +720 -0
- package/dist/adapters/github/bot.js.map +1 -0
- package/dist/adapters/github/client.d.ts +122 -0
- package/dist/adapters/github/client.d.ts.map +1 -0
- package/dist/adapters/github/client.js +301 -0
- package/dist/adapters/github/client.js.map +1 -0
- package/dist/adapters/github/context.d.ts +5 -0
- package/dist/adapters/github/context.d.ts.map +1 -0
- package/dist/adapters/github/context.js +101 -0
- package/dist/adapters/github/context.js.map +1 -0
- package/dist/adapters/github/github-ops.d.ts +78 -0
- package/dist/adapters/github/github-ops.d.ts.map +1 -0
- package/dist/adapters/github/github-ops.js +337 -0
- package/dist/adapters/github/github-ops.js.map +1 -0
- package/dist/adapters/github/ids.d.ts +34 -0
- package/dist/adapters/github/ids.d.ts.map +1 -0
- package/dist/adapters/github/ids.js +57 -0
- package/dist/adapters/github/ids.js.map +1 -0
- package/dist/adapters/github/repo.d.ts +33 -0
- package/dist/adapters/github/repo.d.ts.map +1 -0
- package/dist/adapters/github/repo.js +141 -0
- package/dist/adapters/github/repo.js.map +1 -0
- package/dist/adapters/github/tool-pack.d.ts +14 -0
- package/dist/adapters/github/tool-pack.d.ts.map +1 -0
- package/dist/adapters/github/tool-pack.js +55 -0
- package/dist/adapters/github/tool-pack.js.map +1 -0
- package/dist/adapters/github/tools/checks.d.ts +18 -0
- package/dist/adapters/github/tools/checks.d.ts.map +1 -0
- package/dist/adapters/github/tools/checks.js +86 -0
- package/dist/adapters/github/tools/checks.js.map +1 -0
- package/dist/adapters/github/tools/issue.d.ts +21 -0
- package/dist/adapters/github/tools/issue.d.ts.map +1 -0
- package/dist/adapters/github/tools/issue.js +48 -0
- package/dist/adapters/github/tools/issue.js.map +1 -0
- package/dist/adapters/github/tools/pr.d.ts +22 -0
- package/dist/adapters/github/tools/pr.d.ts.map +1 -0
- package/dist/adapters/github/tools/pr.js +48 -0
- package/dist/adapters/github/tools/pr.js.map +1 -0
- package/dist/adapters/github/tools/read.d.ts +21 -0
- package/dist/adapters/github/tools/read.d.ts.map +1 -0
- package/dist/adapters/github/tools/read.js +141 -0
- package/dist/adapters/github/tools/read.js.map +1 -0
- package/dist/adapters/github/tools/review-reply.d.ts +17 -0
- package/dist/adapters/github/tools/review-reply.d.ts.map +1 -0
- package/dist/adapters/github/tools/review-reply.js +38 -0
- package/dist/adapters/github/tools/review-reply.js.map +1 -0
- package/dist/adapters/github/tools/sync.d.ts +17 -0
- package/dist/adapters/github/tools/sync.d.ts.map +1 -0
- package/dist/adapters/github/tools/sync.js +34 -0
- package/dist/adapters/github/tools/sync.js.map +1 -0
- package/dist/adapters/github/types.d.ts +345 -0
- package/dist/adapters/github/types.d.ts.map +1 -0
- package/dist/adapters/github/types.js.map +1 -0
- package/dist/adapters/github/webhook.d.ts +20 -0
- package/dist/adapters/github/webhook.d.ts.map +1 -0
- package/dist/adapters/github/webhook.js +78 -0
- package/dist/adapters/github/webhook.js.map +1 -0
- package/dist/adapters/index.d.ts +12 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +19 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/intake.d.ts +17 -6
- package/dist/adapters/intake.d.ts.map +1 -1
- package/dist/adapters/intake.js +96 -27
- package/dist/adapters/intake.js.map +1 -1
- package/dist/adapters/markdown-tables.d.ts +19 -0
- package/dist/adapters/markdown-tables.d.ts.map +1 -0
- package/dist/adapters/markdown-tables.js +152 -0
- package/dist/adapters/markdown-tables.js.map +1 -0
- package/dist/{platform-messages.d.ts → adapters/messages.d.ts} +3 -2
- package/dist/adapters/messages.d.ts.map +1 -0
- package/dist/{platform-messages.js → adapters/messages.js} +4 -1
- package/dist/adapters/messages.js.map +1 -0
- package/dist/adapters/progressive-renderer.d.ts +7 -0
- package/dist/adapters/progressive-renderer.d.ts.map +1 -0
- package/dist/adapters/progressive-renderer.js +443 -0
- package/dist/adapters/progressive-renderer.js.map +1 -0
- package/dist/adapters/shared.d.ts +37 -11
- package/dist/adapters/shared.d.ts.map +1 -1
- package/dist/adapters/shared.js +130 -24
- package/dist/adapters/shared.js.map +1 -1
- package/dist/adapters/slack/assistant.d.ts +73 -0
- package/dist/adapters/slack/assistant.d.ts.map +1 -0
- package/dist/adapters/slack/assistant.js +205 -0
- package/dist/adapters/slack/assistant.js.map +1 -0
- package/dist/adapters/slack/auto-reply-context.d.ts +21 -0
- package/dist/adapters/slack/auto-reply-context.d.ts.map +1 -0
- package/dist/adapters/slack/auto-reply-context.js +28 -0
- package/dist/adapters/slack/auto-reply-context.js.map +1 -0
- package/dist/adapters/slack/blocks.d.ts +14 -0
- package/dist/adapters/slack/blocks.d.ts.map +1 -1
- package/dist/adapters/slack/blocks.js +104 -148
- package/dist/adapters/slack/blocks.js.map +1 -1
- package/dist/adapters/slack/bot.d.ts +154 -21
- package/dist/adapters/slack/bot.d.ts.map +1 -1
- package/dist/adapters/slack/bot.js +1037 -484
- package/dist/adapters/slack/bot.js.map +1 -1
- package/dist/adapters/slack/context.d.ts +2 -6
- package/dist/adapters/slack/context.d.ts.map +1 -1
- package/dist/adapters/slack/context.js +11 -17
- package/dist/adapters/slack/context.js.map +1 -1
- package/dist/adapters/slack/jev-context.d.ts +30 -0
- package/dist/adapters/slack/jev-context.d.ts.map +1 -0
- package/dist/adapters/slack/jev-context.js +67 -0
- package/dist/adapters/slack/jev-context.js.map +1 -0
- package/dist/adapters/slack/markdown.d.ts +3 -0
- package/dist/adapters/slack/markdown.d.ts.map +1 -0
- package/dist/adapters/slack/markdown.js +48 -0
- package/dist/adapters/slack/markdown.js.map +1 -0
- package/dist/adapters/slack/persona.d.ts +15 -0
- package/dist/adapters/slack/persona.d.ts.map +1 -0
- package/dist/adapters/slack/persona.js +22 -0
- package/dist/adapters/slack/persona.js.map +1 -0
- package/dist/adapters/slack/response-lifecycle.d.ts +1 -1
- package/dist/adapters/slack/response-lifecycle.d.ts.map +1 -1
- package/dist/adapters/slack/response-lifecycle.js +261 -345
- 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 +7 -11
- package/dist/adapters/slack/session.js.map +1 -1
- package/dist/adapters/slack/stream-limits.d.ts +35 -0
- package/dist/adapters/slack/stream-limits.d.ts.map +1 -0
- package/dist/adapters/slack/stream-limits.js +56 -0
- package/dist/adapters/slack/stream-limits.js.map +1 -0
- package/dist/adapters/slack/task-intent.d.ts +32 -0
- package/dist/adapters/slack/task-intent.d.ts.map +1 -0
- package/dist/adapters/slack/task-intent.js +72 -0
- package/dist/adapters/slack/task-intent.js.map +1 -0
- package/dist/adapters/slack/task-status.d.ts +7 -0
- package/dist/adapters/slack/task-status.d.ts.map +1 -0
- package/dist/adapters/slack/task-status.js +107 -0
- package/dist/adapters/slack/task-status.js.map +1 -0
- package/dist/adapters/slack/tool-pack.d.ts +11 -0
- package/dist/adapters/slack/tool-pack.d.ts.map +1 -0
- package/dist/adapters/slack/tool-pack.js +45 -0
- package/dist/adapters/slack/tool-pack.js.map +1 -0
- package/dist/adapters/slack/tools/blockkit.d.ts +14 -0
- package/dist/adapters/slack/tools/blockkit.d.ts.map +1 -0
- package/dist/adapters/slack/tools/blockkit.js +106 -0
- package/dist/adapters/slack/tools/blockkit.js.map +1 -0
- package/dist/adapters/slack/types.d.ts +73 -2
- package/dist/adapters/slack/types.d.ts.map +1 -1
- package/dist/adapters/slack/types.js.map +1 -1
- package/dist/adapters/slack/update-diagnostics.d.ts +14 -0
- package/dist/adapters/slack/update-diagnostics.d.ts.map +1 -0
- package/dist/adapters/slack/update-diagnostics.js +134 -0
- package/dist/adapters/slack/update-diagnostics.js.map +1 -0
- package/dist/adapters/telegram/bot.d.ts +10 -9
- package/dist/adapters/telegram/bot.d.ts.map +1 -1
- package/dist/adapters/telegram/bot.js +133 -202
- package/dist/adapters/telegram/bot.js.map +1 -1
- package/dist/adapters/telegram/context.d.ts +2 -6
- package/dist/adapters/telegram/context.d.ts.map +1 -1
- package/dist/adapters/telegram/context.js +53 -190
- package/dist/adapters/telegram/context.js.map +1 -1
- package/dist/adapters/telegram/types.d.ts +1 -1
- package/dist/adapters/telegram/types.d.ts.map +1 -1
- package/dist/adapters/telegram/types.js.map +1 -1
- package/dist/adapters/types.d.ts +144 -13
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/types.js.map +1 -1
- package/dist/adapters/web/admin/portal.d.ts +44 -0
- package/dist/adapters/web/admin/portal.d.ts.map +1 -0
- package/dist/adapters/web/admin/portal.js +3207 -0
- package/dist/adapters/web/admin/portal.js.map +1 -0
- package/dist/{web → adapters/web}/admin/provider-models.d.ts +1 -1
- package/dist/adapters/web/admin/provider-models.d.ts.map +1 -0
- package/dist/{web → adapters/web}/admin/provider-models.js +1 -1
- package/dist/adapters/web/admin/provider-models.js.map +1 -0
- package/dist/adapters/web/admin/types.d.ts +53 -0
- package/dist/adapters/web/admin/types.d.ts.map +1 -0
- package/dist/adapters/web/admin/types.js.map +1 -0
- package/dist/adapters/web/login/oauth.d.ts +5 -0
- package/dist/adapters/web/login/oauth.d.ts.map +1 -0
- package/dist/{web → adapters/web}/login/oauth.js +50 -85
- package/dist/adapters/web/login/oauth.js.map +1 -0
- package/dist/{web → adapters/web}/login/portal.d.ts +9 -3
- package/dist/adapters/web/login/portal.d.ts.map +1 -0
- package/dist/{web → adapters/web}/login/portal.js +161 -119
- package/dist/adapters/web/login/portal.js.map +1 -0
- package/dist/{web → adapters/web}/login/types.d.ts +1 -12
- package/dist/adapters/web/login/types.d.ts.map +1 -0
- package/dist/adapters/web/login/types.js.map +1 -0
- package/dist/adapters/web/portal-shell.d.ts +22 -0
- package/dist/adapters/web/portal-shell.d.ts.map +1 -0
- package/dist/{portal-shell.js → adapters/web/portal-shell.js} +78 -2
- package/dist/adapters/web/portal-shell.js.map +1 -0
- package/dist/{web → adapters/web}/server.d.ts +14 -8
- package/dist/adapters/web/server.d.ts.map +1 -0
- package/dist/{web → adapters/web}/server.js +14 -7
- package/dist/adapters/web/server.js.map +1 -0
- package/dist/adapters/web/session-view/portal.d.ts +20 -0
- package/dist/adapters/web/session-view/portal.d.ts.map +1 -0
- package/dist/{web → adapters/web}/session-view/portal.js +633 -162
- package/dist/adapters/web/session-view/portal.js.map +1 -0
- package/dist/{web → adapters/web}/session-view/types.d.ts +11 -6
- package/dist/adapters/web/session-view/types.d.ts.map +1 -0
- package/dist/adapters/web/session-view/types.js.map +1 -0
- package/dist/adapters/web/token-store.d.ts.map +1 -0
- package/dist/{web → adapters/web}/token-store.js +1 -1
- package/dist/adapters/web/token-store.js.map +1 -0
- package/dist/adapters/web/types.d.ts.map +1 -0
- package/dist/adapters/web/types.js.map +1 -0
- package/dist/cli/arg-grammar.d.ts +11 -0
- package/dist/cli/arg-grammar.d.ts.map +1 -0
- package/dist/cli/arg-grammar.js +50 -0
- package/dist/cli/arg-grammar.js.map +1 -0
- package/dist/cli/boot.d.ts +5 -0
- package/dist/cli/boot.d.ts.map +1 -0
- package/dist/cli/boot.js +90 -0
- package/dist/cli/boot.js.map +1 -0
- package/dist/cli/download.d.ts.map +1 -0
- package/dist/cli/download.js +88 -0
- package/dist/cli/download.js.map +1 -0
- package/dist/cli/office.d.ts +2 -0
- package/dist/cli/office.d.ts.map +1 -0
- package/dist/cli/office.js +181 -0
- package/dist/cli/office.js.map +1 -0
- package/dist/cli/onboard.d.ts +10 -0
- package/dist/cli/onboard.d.ts.map +1 -0
- package/dist/cli/onboard.js +225 -0
- package/dist/cli/onboard.js.map +1 -0
- package/dist/cli/process-lifecycle.d.ts +19 -0
- package/dist/cli/process-lifecycle.d.ts.map +1 -0
- package/dist/cli/process-lifecycle.js +67 -0
- package/dist/cli/process-lifecycle.js.map +1 -0
- package/dist/cli/sessions.d.ts +2 -0
- package/dist/cli/sessions.d.ts.map +1 -0
- package/dist/cli/sessions.js +88 -0
- package/dist/cli/sessions.js.map +1 -0
- package/dist/cli/types.d.ts +25 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/dream/index.d.ts +20 -0
- package/dist/dream/index.d.ts.map +1 -0
- package/dist/dream/index.js +264 -0
- package/dist/dream/index.js.map +1 -0
- package/dist/dream/types.d.ts +30 -0
- package/dist/dream/types.d.ts.map +1 -0
- package/dist/dream/types.js +2 -0
- package/dist/dream/types.js.map +1 -0
- package/dist/env-manifest.d.ts +38 -0
- package/dist/env-manifest.d.ts.map +1 -0
- package/dist/env-manifest.js +260 -0
- package/dist/env-manifest.js.map +1 -0
- package/dist/events/index.d.ts +172 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +340 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/scheduler.d.ts +34 -0
- package/dist/events/scheduler.d.ts.map +1 -0
- package/dist/events/scheduler.js +231 -0
- package/dist/events/scheduler.js.map +1 -0
- package/dist/file-guards.d.ts +26 -0
- package/dist/file-guards.d.ts.map +1 -0
- package/dist/file-guards.js +133 -0
- package/dist/file-guards.js.map +1 -0
- package/dist/harness/execution-env.d.ts +19 -0
- package/dist/harness/execution-env.d.ts.map +1 -0
- package/dist/harness/execution-env.js +262 -0
- package/dist/harness/execution-env.js.map +1 -0
- package/dist/harness/execution-resolver.d.ts +25 -0
- package/dist/harness/execution-resolver.d.ts.map +1 -0
- package/dist/harness/execution-resolver.js +156 -0
- package/dist/harness/execution-resolver.js.map +1 -0
- package/dist/harness/index.d.ts +18 -13
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +11 -11
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/jev.d.ts +86 -0
- package/dist/harness/jev.d.ts.map +1 -0
- package/dist/harness/jev.js +167 -0
- package/dist/harness/jev.js.map +1 -0
- package/dist/harness/mcp.d.ts +38 -0
- package/dist/harness/mcp.d.ts.map +1 -0
- package/dist/harness/mcp.js +304 -0
- package/dist/harness/mcp.js.map +1 -0
- package/dist/harness/models.d.ts +7 -4
- package/dist/harness/models.d.ts.map +1 -1
- package/dist/harness/models.js +54 -55
- package/dist/harness/models.js.map +1 -1
- package/dist/harness/open-connector.d.ts +25 -0
- package/dist/harness/open-connector.d.ts.map +1 -0
- package/dist/harness/open-connector.js +178 -0
- package/dist/harness/open-connector.js.map +1 -0
- package/dist/harness/presenter.d.ts +31 -0
- package/dist/harness/presenter.d.ts.map +1 -0
- package/dist/harness/presenter.js +859 -0
- package/dist/harness/presenter.js.map +1 -0
- package/dist/harness/prompt.d.ts +30 -0
- package/dist/harness/prompt.d.ts.map +1 -0
- package/dist/harness/prompt.js +429 -0
- package/dist/harness/prompt.js.map +1 -0
- package/dist/harness/runner.d.ts +2 -123
- package/dist/harness/runner.d.ts.map +1 -1
- package/dist/harness/runner.js +551 -416
- package/dist/harness/runner.js.map +1 -1
- package/dist/harness/session.d.ts +122 -0
- package/dist/harness/session.d.ts.map +1 -0
- package/dist/harness/session.js +581 -0
- package/dist/harness/session.js.map +1 -0
- package/dist/harness/skills.d.ts +17 -28
- package/dist/harness/skills.d.ts.map +1 -1
- package/dist/harness/skills.js +104 -39
- package/dist/harness/skills.js.map +1 -1
- package/dist/harness/subagent-profiles.d.ts +8 -0
- package/dist/harness/subagent-profiles.d.ts.map +1 -0
- package/dist/harness/subagent-profiles.js +284 -0
- package/dist/harness/subagent-profiles.js.map +1 -0
- package/dist/harness/subagent.d.ts +64 -0
- package/dist/harness/subagent.d.ts.map +1 -0
- package/dist/harness/subagent.js +687 -0
- package/dist/harness/subagent.js.map +1 -0
- package/dist/harness/tools/attach.d.ts.map +1 -0
- package/dist/{adapters/slack → harness}/tools/attach.js +1 -1
- package/dist/harness/tools/attach.js.map +1 -0
- package/dist/{tools → harness/tools}/event.d.ts +4 -33
- package/dist/harness/tools/event.d.ts.map +1 -0
- package/dist/harness/tools/event.js +175 -0
- package/dist/harness/tools/event.js.map +1 -0
- package/dist/harness/tools/generate-image.d.ts +23 -0
- package/dist/harness/tools/generate-image.d.ts.map +1 -0
- package/dist/harness/tools/generate-image.js +65 -0
- package/dist/harness/tools/generate-image.js.map +1 -0
- package/dist/harness/tools/host-fn-tool.d.ts +21 -0
- package/dist/harness/tools/host-fn-tool.d.ts.map +1 -0
- package/dist/harness/tools/host-fn-tool.js +32 -0
- package/dist/harness/tools/host-fn-tool.js.map +1 -0
- package/dist/harness/tools/index.d.ts +41 -0
- package/dist/harness/tools/index.d.ts.map +1 -0
- package/dist/harness/tools/index.js +51 -0
- package/dist/harness/tools/index.js.map +1 -0
- package/dist/harness/tools/jev.d.ts +21 -0
- package/dist/harness/tools/jev.d.ts.map +1 -0
- package/dist/harness/tools/jev.js +109 -0
- package/dist/harness/tools/jev.js.map +1 -0
- package/dist/harness/tools/pi-tools.d.ts +18 -0
- package/dist/harness/tools/pi-tools.d.ts.map +1 -0
- package/dist/harness/tools/pi-tools.js +84 -0
- package/dist/harness/tools/pi-tools.js.map +1 -0
- package/dist/harness/tools/react.d.ts.map +1 -0
- package/dist/{tools → harness/tools}/react.js +6 -17
- package/dist/harness/tools/react.js.map +1 -0
- package/dist/{tools → harness/tools}/sandbox.d.ts +4 -4
- package/dist/harness/tools/sandbox.d.ts.map +1 -0
- package/dist/{tools → harness/tools}/sandbox.js +12 -8
- package/dist/harness/tools/sandbox.js.map +1 -0
- package/dist/harness/tools/subagent.d.ts +88 -0
- package/dist/harness/tools/subagent.d.ts.map +1 -0
- package/dist/harness/tools/subagent.js +681 -0
- package/dist/harness/tools/subagent.js.map +1 -0
- package/dist/harness/tools/task.d.ts +20 -0
- package/dist/harness/tools/task.d.ts.map +1 -0
- package/dist/harness/tools/task.js +79 -0
- package/dist/harness/tools/task.js.map +1 -0
- package/dist/harness/tools/types.d.ts +29 -0
- package/dist/harness/tools/types.d.ts.map +1 -0
- package/dist/harness/tools/types.js +2 -0
- package/dist/harness/tools/types.js.map +1 -0
- package/dist/harness/types.d.ts +384 -25
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/harness/types.js +1 -1
- package/dist/harness/types.js.map +1 -1
- package/dist/index.d.ts +33 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -6
- package/dist/index.js.map +1 -1
- package/dist/main.js +357 -198
- package/dist/main.js.map +1 -1
- package/dist/observability/index.d.ts +33 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +257 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/instrument.js +14 -6
- package/dist/observability/instrument.js.map +1 -1
- package/dist/observability/otel.d.ts +10 -0
- package/dist/observability/otel.d.ts.map +1 -0
- package/dist/observability/otel.js +183 -0
- package/dist/observability/otel.js.map +1 -0
- package/dist/observability/sentry.d.ts +40 -7
- package/dist/observability/sentry.d.ts.map +1 -1
- package/dist/observability/sentry.js +176 -32
- package/dist/observability/sentry.js.map +1 -1
- package/dist/observability/types.d.ts +24 -3
- package/dist/observability/types.d.ts.map +1 -1
- package/dist/observability/types.js.map +1 -1
- package/dist/office/index.d.ts +139 -0
- package/dist/office/index.d.ts.map +1 -0
- package/dist/office/index.js +1084 -0
- package/dist/office/index.js.map +1 -0
- package/dist/office/projection.d.ts +42 -0
- package/dist/office/projection.d.ts.map +1 -0
- package/dist/office/projection.js +182 -0
- package/dist/office/projection.js.map +1 -0
- package/dist/office/types.d.ts +116 -0
- package/dist/office/types.d.ts.map +1 -0
- package/dist/office/types.js +2 -0
- package/dist/office/types.js.map +1 -0
- package/dist/runtime/conversation-runtime.d.ts +1 -1
- package/dist/runtime/conversation-runtime.d.ts.map +1 -1
- package/dist/runtime/conversation-runtime.js +423 -152
- package/dist/runtime/conversation-runtime.js.map +1 -1
- package/dist/runtime/session-lifecycle.d.ts +76 -0
- package/dist/runtime/session-lifecycle.d.ts.map +1 -0
- package/dist/runtime/session-lifecycle.js +404 -0
- package/dist/runtime/session-lifecycle.js.map +1 -0
- package/dist/runtime/types.d.ts +63 -15
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/types.js.map +1 -1
- package/dist/sandbox/cloudflare.d.ts +4 -0
- package/dist/sandbox/cloudflare.d.ts.map +1 -1
- package/dist/sandbox/cloudflare.js +54 -52
- package/dist/sandbox/cloudflare.js.map +1 -1
- package/dist/sandbox/container.d.ts +3 -0
- package/dist/sandbox/container.d.ts.map +1 -1
- package/dist/sandbox/container.js +19 -7
- package/dist/sandbox/container.js.map +1 -1
- package/dist/sandbox/host.d.ts +3 -0
- package/dist/sandbox/host.d.ts.map +1 -1
- package/dist/sandbox/host.js +44 -35
- package/dist/sandbox/host.js.map +1 -1
- package/dist/sandbox/identity.d.ts +42 -0
- package/dist/sandbox/identity.d.ts.map +1 -0
- package/dist/sandbox/identity.js +77 -0
- package/dist/sandbox/identity.js.map +1 -0
- package/dist/sandbox/index.d.ts +24 -6
- package/dist/sandbox/index.d.ts.map +1 -1
- package/dist/sandbox/index.js +77 -17
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/provisioner.d.ts +139 -0
- package/dist/sandbox/provisioner.d.ts.map +1 -0
- package/dist/{provisioner.js → sandbox/provisioner.js} +377 -20
- package/dist/sandbox/provisioner.js.map +1 -0
- package/dist/sandbox/types.d.ts +43 -9
- package/dist/sandbox/types.d.ts.map +1 -1
- package/dist/sandbox/types.js.map +1 -1
- package/dist/sandbox/utils.d.ts +24 -0
- package/dist/sandbox/utils.d.ts.map +1 -1
- package/dist/sandbox/utils.js +92 -1
- package/dist/sandbox/utils.js.map +1 -1
- package/dist/sessions/chat-history-sync.d.ts +23 -0
- package/dist/sessions/chat-history-sync.d.ts.map +1 -0
- package/dist/sessions/{agent-memory-file-manager.js → chat-history-sync.js} +239 -175
- package/dist/sessions/chat-history-sync.js.map +1 -0
- package/dist/sessions/history-line.d.ts +29 -0
- package/dist/sessions/history-line.d.ts.map +1 -0
- package/dist/sessions/history-line.js +45 -0
- package/dist/sessions/history-line.js.map +1 -0
- package/dist/sessions/migrate-common.d.ts +43 -0
- package/dist/sessions/migrate-common.d.ts.map +1 -0
- package/dist/sessions/migrate-common.js +99 -0
- package/dist/sessions/migrate-common.js.map +1 -0
- package/dist/sessions/migrate-pi-084.d.ts +8 -0
- package/dist/sessions/migrate-pi-084.d.ts.map +1 -0
- package/dist/sessions/migrate-pi-084.js +302 -0
- package/dist/sessions/migrate-pi-084.js.map +1 -0
- package/dist/sessions/migrate-v3.d.ts +15 -0
- package/dist/sessions/migrate-v3.d.ts.map +1 -0
- package/dist/sessions/migrate-v3.js +419 -0
- package/dist/sessions/migrate-v3.js.map +1 -0
- package/dist/sessions/session-key.d.ts +33 -0
- package/dist/sessions/session-key.d.ts.map +1 -0
- package/dist/sessions/session-key.js +115 -0
- package/dist/sessions/session-key.js.map +1 -0
- package/dist/sessions/session-store.d.ts +61 -0
- package/dist/sessions/session-store.d.ts.map +1 -0
- package/dist/sessions/session-store.js +684 -0
- package/dist/sessions/session-store.js.map +1 -0
- package/dist/sessions/store.d.ts +17 -10
- package/dist/sessions/store.d.ts.map +1 -1
- package/dist/sessions/store.js +182 -47
- package/dist/sessions/store.js.map +1 -1
- package/dist/sessions/types.d.ts +74 -8
- package/dist/sessions/types.d.ts.map +1 -1
- package/dist/sessions/types.js +1 -1
- package/dist/sessions/types.js.map +1 -1
- package/dist/settings/apply.d.ts +16 -0
- package/dist/settings/apply.d.ts.map +1 -0
- package/dist/settings/apply.js +60 -0
- package/dist/settings/apply.js.map +1 -0
- package/dist/settings/index.d.ts +126 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +422 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/settings/migrate.d.ts +21 -0
- package/dist/settings/migrate.d.ts.map +1 -0
- package/dist/settings/migrate.js +86 -0
- package/dist/settings/migrate.js.map +1 -0
- package/dist/types.d.ts +330 -141
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/types.js.map +1 -1
- package/dist/vault/index.d.ts +52 -2
- package/dist/vault/index.d.ts.map +1 -1
- package/dist/vault/index.js +218 -86
- package/dist/vault/index.js.map +1 -1
- package/dist/vault/types.d.ts +6 -2
- package/dist/vault/types.d.ts.map +1 -1
- package/dist/vault/types.js.map +1 -1
- package/package.json +79 -40
- package/dist/adapter.d.ts +0 -2
- package/dist/adapter.d.ts.map +0 -1
- package/dist/adapter.js +0 -2
- package/dist/adapter.js.map +0 -1
- package/dist/adapters/slack/tools/attach.d.ts.map +0 -1
- package/dist/adapters/slack/tools/attach.js.map +0 -1
- package/dist/adapters/streaming.d.ts +0 -18
- package/dist/adapters/streaming.d.ts.map +0 -1
- package/dist/adapters/streaming.js +0 -44
- package/dist/adapters/streaming.js.map +0 -1
- package/dist/adapters/telegram/html.d.ts +0 -3
- package/dist/adapters/telegram/html.d.ts.map +0 -1
- package/dist/adapters/telegram/html.js +0 -98
- package/dist/adapters/telegram/html.js.map +0 -1
- package/dist/agent-events.d.ts +0 -5
- package/dist/agent-events.d.ts.map +0 -1
- package/dist/agent-events.js +0 -26
- package/dist/agent-events.js.map +0 -1
- package/dist/agent.d.ts +0 -39
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -1291
- package/dist/agent.js.map +0 -1
- package/dist/cli/ext-git.d.ts +0 -22
- package/dist/cli/ext-git.d.ts.map +0 -1
- package/dist/cli/ext-git.js +0 -76
- package/dist/cli/ext-git.js.map +0 -1
- package/dist/cli/ext.d.ts +0 -2
- package/dist/cli/ext.d.ts.map +0 -1
- package/dist/cli/ext.js +0 -217
- package/dist/cli/ext.js.map +0 -1
- package/dist/commands/admin.d.ts.map +0 -1
- package/dist/commands/admin.js.map +0 -1
- package/dist/commands/auto-reply.d.ts.map +0 -1
- package/dist/commands/auto-reply.js +0 -76
- package/dist/commands/auto-reply.js.map +0 -1
- package/dist/commands/extensions.d.ts +0 -14
- package/dist/commands/extensions.d.ts.map +0 -1
- package/dist/commands/extensions.js +0 -55
- package/dist/commands/extensions.js.map +0 -1
- package/dist/commands/login.d.ts +0 -5
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -115
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/model.d.ts +0 -10
- package/dist/commands/model.d.ts.map +0 -1
- package/dist/commands/model.js +0 -102
- package/dist/commands/model.js.map +0 -1
- package/dist/commands/new.d.ts.map +0 -1
- package/dist/commands/new.js +0 -25
- package/dist/commands/new.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/registry.d.ts +0 -5
- package/dist/commands/registry.d.ts.map +0 -1
- package/dist/commands/registry.js +0 -31
- package/dist/commands/registry.js.map +0 -1
- package/dist/commands/sandbox.d.ts.map +0 -1
- package/dist/commands/sandbox.js +0 -78
- package/dist/commands/sandbox.js.map +0 -1
- package/dist/commands/session-view.d.ts.map +0 -1
- package/dist/commands/session-view.js.map +0 -1
- package/dist/commands/types.d.ts +0 -66
- package/dist/commands/types.d.ts.map +0 -1
- package/dist/commands/types.js.map +0 -1
- package/dist/commands/utils.d.ts +0 -11
- package/dist/commands/utils.d.ts.map +0 -1
- package/dist/commands/utils.js.map +0 -1
- package/dist/config.d.ts +0 -78
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -450
- package/dist/config.js.map +0 -1
- package/dist/download.d.ts.map +0 -1
- package/dist/download.js +0 -89
- package/dist/download.js.map +0 -1
- package/dist/events.d.ts +0 -43
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js +0 -456
- package/dist/events.js.map +0 -1
- package/dist/execution-resolver.d.ts +0 -21
- package/dist/execution-resolver.d.ts.map +0 -1
- package/dist/execution-resolver.js +0 -170
- package/dist/execution-resolver.js.map +0 -1
- package/dist/harness/auth.d.ts +0 -16
- package/dist/harness/auth.d.ts.map +0 -1
- package/dist/harness/auth.js +0 -86
- package/dist/harness/auth.js.map +0 -1
- package/dist/harness/extensions/loader.d.ts +0 -86
- package/dist/harness/extensions/loader.d.ts.map +0 -1
- package/dist/harness/extensions/loader.js +0 -525
- package/dist/harness/extensions/loader.js.map +0 -1
- package/dist/harness/extensions/registry.d.ts +0 -23
- package/dist/harness/extensions/registry.d.ts.map +0 -1
- package/dist/harness/extensions/registry.js +0 -45
- package/dist/harness/extensions/registry.js.map +0 -1
- package/dist/harness/extensions/types.d.ts +0 -248
- package/dist/harness/extensions/types.d.ts.map +0 -1
- package/dist/harness/extensions/types.js.map +0 -1
- package/dist/harness/session-store.d.ts +0 -77
- package/dist/harness/session-store.d.ts.map +0 -1
- package/dist/harness/session-store.js +0 -248
- package/dist/harness/session-store.js.map +0 -1
- package/dist/harness/settings.d.ts +0 -47
- package/dist/harness/settings.d.ts.map +0 -1
- package/dist/harness/settings.js +0 -29
- package/dist/harness/settings.js.map +0 -1
- package/dist/model-registry.d.ts +0 -4
- package/dist/model-registry.d.ts.map +0 -1
- package/dist/model-registry.js +0 -7
- package/dist/model-registry.js.map +0 -1
- package/dist/platform-messages.d.ts.map +0 -1
- package/dist/platform-messages.js.map +0 -1
- package/dist/portal-shell.d.ts +0 -4
- package/dist/portal-shell.d.ts.map +0 -1
- package/dist/portal-shell.js.map +0 -1
- package/dist/provisioner.d.ts +0 -61
- package/dist/provisioner.d.ts.map +0 -1
- package/dist/provisioner.js.map +0 -1
- package/dist/runtime/agent-run-controller.d.ts +0 -31
- package/dist/runtime/agent-run-controller.d.ts.map +0 -1
- package/dist/runtime/agent-run-controller.js +0 -195
- package/dist/runtime/agent-run-controller.js.map +0 -1
- package/dist/sandbox/errors.d.ts +0 -6
- package/dist/sandbox/errors.d.ts.map +0 -1
- package/dist/sandbox/errors.js +0 -11
- package/dist/sandbox/errors.js.map +0 -1
- package/dist/sandbox/firecracker.d.ts +0 -15
- package/dist/sandbox/firecracker.d.ts.map +0 -1
- package/dist/sandbox/firecracker.js +0 -212
- package/dist/sandbox/firecracker.js.map +0 -1
- package/dist/sandbox/image.d.ts +0 -3
- package/dist/sandbox/image.d.ts.map +0 -1
- package/dist/sandbox/image.js +0 -27
- package/dist/sandbox/image.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 -20
- package/dist/sandbox/path-context.js.map +0 -1
- package/dist/sessions/agent-memory-file-manager.d.ts +0 -19
- package/dist/sessions/agent-memory-file-manager.d.ts.map +0 -1
- package/dist/sessions/agent-memory-file-manager.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 -23
- package/dist/sessions/policy.js.map +0 -1
- package/dist/store.d.ts +0 -46
- package/dist/store.d.ts.map +0 -1
- package/dist/store.js +0 -177
- package/dist/store.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -10
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/bash.js +0 -80
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/edit.d.ts +0 -11
- package/dist/tools/edit.d.ts.map +0 -1
- package/dist/tools/edit.js +0 -131
- package/dist/tools/edit.js.map +0 -1
- package/dist/tools/event.d.ts.map +0 -1
- package/dist/tools/event.js +0 -252
- package/dist/tools/event.js.map +0 -1
- package/dist/tools/index.d.ts +0 -24
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -31
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/react.d.ts.map +0 -1
- package/dist/tools/react.js.map +0 -1
- package/dist/tools/read.d.ts +0 -11
- package/dist/tools/read.d.ts.map +0 -1
- package/dist/tools/read.js +0 -134
- package/dist/tools/read.js.map +0 -1
- package/dist/tools/sandbox.d.ts.map +0 -1
- package/dist/tools/sandbox.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/tools/types.d.ts +0 -54
- package/dist/tools/types.d.ts.map +0 -1
- package/dist/tools/types.js.map +0 -1
- package/dist/tools/write.d.ts +0 -10
- package/dist/tools/write.d.ts.map +0 -1
- package/dist/tools/write.js +0 -29
- package/dist/tools/write.js.map +0 -1
- package/dist/trigger.d.ts +0 -22
- package/dist/trigger.d.ts.map +0 -1
- package/dist/trigger.js +0 -100
- package/dist/trigger.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/file-guards.d.ts +0 -9
- package/dist/utils/file-guards.d.ts.map +0 -1
- package/dist/utils/file-guards.js +0 -59
- package/dist/utils/file-guards.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/routing.d.ts +0 -3
- package/dist/vault/routing.d.ts.map +0 -1
- package/dist/vault/routing.js +0 -13
- package/dist/vault/routing.js.map +0 -1
- package/dist/web/admin/portal.d.ts +0 -5
- package/dist/web/admin/portal.d.ts.map +0 -1
- package/dist/web/admin/portal.js +0 -2572
- package/dist/web/admin/portal.js.map +0 -1
- package/dist/web/admin/provider-models.d.ts.map +0 -1
- package/dist/web/admin/provider-models.js.map +0 -1
- package/dist/web/admin/store.d.ts +0 -13
- package/dist/web/admin/store.d.ts.map +0 -1
- package/dist/web/admin/store.js +0 -14
- package/dist/web/admin/store.js.map +0 -1
- package/dist/web/admin/types.d.ts +0 -30
- package/dist/web/admin/types.d.ts.map +0 -1
- package/dist/web/admin/types.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 -18
- package/dist/web/agent-events/portal.js.map +0 -1
- package/dist/web/login/oauth.d.ts +0 -6
- package/dist/web/login/oauth.d.ts.map +0 -1
- package/dist/web/login/oauth.js.map +0 -1
- package/dist/web/login/portal.d.ts.map +0 -1
- package/dist/web/login/portal.js.map +0 -1
- package/dist/web/login/store.d.ts +0 -8
- package/dist/web/login/store.d.ts.map +0 -1
- package/dist/web/login/store.js +0 -15
- package/dist/web/login/store.js.map +0 -1
- package/dist/web/login/types.d.ts.map +0 -1
- package/dist/web/login/types.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/server.d.ts.map +0 -1
- package/dist/web/server.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 -7
- package/dist/web/session-view/command.js.map +0 -1
- package/dist/web/session-view/portal.d.ts +0 -13
- package/dist/web/session-view/portal.d.ts.map +0 -1
- package/dist/web/session-view/portal.js.map +0 -1
- package/dist/web/session-view/service.d.ts +0 -6
- package/dist/web/session-view/service.d.ts.map +0 -1
- package/dist/web/session-view/service.js +0 -498
- package/dist/web/session-view/service.js.map +0 -1
- package/dist/web/session-view/store.d.ts +0 -8
- package/dist/web/session-view/store.d.ts.map +0 -1
- package/dist/web/session-view/store.js +0 -15
- package/dist/web/session-view/store.js.map +0 -1
- package/dist/web/session-view/types.d.ts.map +0 -1
- package/dist/web/session-view/types.js.map +0 -1
- package/dist/web/token-store.d.ts.map +0 -1
- package/dist/web/token-store.js.map +0 -1
- package/dist/web/types.d.ts.map +0 -1
- package/dist/web/types.js.map +0 -1
- /package/dist/{commands → adapters/commands}/admin.d.ts +0 -0
- /package/dist/{commands → adapters/commands}/new.d.ts +0 -0
- /package/dist/{commands → adapters/commands}/sandbox.d.ts +0 -0
- /package/dist/{commands → adapters/commands}/session-view.d.ts +0 -0
- /package/dist/{commands → adapters/commands}/types.js +0 -0
- /package/dist/{harness/extensions → adapters/github}/types.js +0 -0
- /package/dist/{tools → adapters/web/admin}/types.js +0 -0
- /package/dist/{web/admin → adapters/web/login}/types.js +0 -0
- /package/dist/{web/login → adapters/web/session-view}/types.js +0 -0
- /package/dist/{web → adapters/web}/token-store.d.ts +0 -0
- /package/dist/{web → adapters/web}/types.d.ts +0 -0
- /package/dist/{web/session-view → adapters/web}/types.js +0 -0
- /package/dist/{download.d.ts → cli/download.d.ts} +0 -0
- /package/dist/{web → cli}/types.js +0 -0
- /package/dist/{adapters/slack → harness}/tools/attach.d.ts +0 -0
- /package/dist/{tools → harness/tools}/react.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/adapters/commands/sandbox.ts"],"names":[],"mappings":"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","sourcesContent":["import { resolveWorkspaceProjection } from \"../../office/projection.js\";\nimport { runtimeResourceKey } from \"../../sandbox/identity.js\";\nimport { applyOfficeVisibility } from \"../../settings/apply.js\";\nimport { slashForms, matchCommand } from \"./manifest.js\";\nimport type { CommandContext, CommandHandler, ParsedSandboxCommand } from \"./types.js\";\nimport { replySummary } from \"./utils.js\";\n\nexport type { ParsedSandboxCommand } from \"./types.js\";\n\nconst SANDBOX_COMMANDS = slashForms(\"sandbox\");\n\nexport function parseSandboxCommand(text: string): ParsedSandboxCommand | null {\n const matched = matchCommand(text, SANDBOX_COMMANDS, { stripMention: true });\n if (!matched) return null;\n\n const action = matched.args[0]?.toLowerCase();\n if (action === \"boost\" && matched.args.length === 1) {\n return { action };\n }\n if (action === \"visibility\" && matched.args.length <= 2) {\n return {\n action,\n ...(matched.args.length === 2 ? { visibility: matched.args[1]?.toLowerCase() } : {}),\n };\n }\n return {};\n}\n\nexport class SandboxCommandHandler implements CommandHandler {\n async tryHandle(context: CommandContext): Promise<boolean> {\n const parsed = parseSandboxCommand(context.commandText);\n if (!parsed) return false;\n\n if (context.services.sandbox.type !== \"image\" || !context.services.resourceController) {\n await replySummary(context, \"Sandbox\", [\n \"`/pi-sandbox` 目前只支援 `image:*` managed sandbox。\",\n ]);\n return true;\n }\n\n const controller = context.services.resourceController;\n const containerKey = runtimeResourceKey(context.services.sandbox, {\n userId: context.platformUserId,\n address: context.address,\n });\n if (parsed.action === \"boost\") {\n await handleBoost(context, controller, containerKey);\n } else if (parsed.action === \"visibility\") {\n await handleVisibility(context, parsed);\n } else {\n await showSandboxStatus(context, controller, containerKey);\n }\n return true;\n }\n}\n\nasync function handleBoost(\n context: CommandContext,\n controller: NonNullable<CommandContext[\"services\"][\"resourceController\"]>,\n containerKey: string,\n): Promise<void> {\n const boostLimits = controller.getBoostLimits();\n if (!boostLimits?.cpus && !boostLimits?.memory) {\n await replySummary(context, \"Sandbox Boost\", [\n \"此 mikan instance 尚未設定 sandbox boost 規格。\",\n \"請先在全域 settings.json 設定 `sandbox.boost`。\",\n ]);\n return;\n }\n\n const status = await controller.boost(containerKey);\n await replySummary(context, \"Sandbox Boost\", [\n \"已暫時提升此 conversation 的 sandbox 規格。\",\n `Current: ${formatLimits(status.limits)}`,\n \"boost 會在此 sandbox runtime 關閉後結束。\",\n ]);\n}\n\nfunction describeVisibility(projection: ReturnType<typeof resolveWorkspaceProjection>): string {\n const source =\n projection.source === \"override\"\n ? \"admin 覆寫\"\n : projection.source === \"platform\"\n ? \"依平台頻道類型\"\n : \"Slack 尚未回報頻道類型,預設 private\";\n return `${projection.visibility}(${source})`;\n}\n\nasync function handleVisibility(\n context: CommandContext,\n parsed: ParsedSandboxCommand,\n): Promise<void> {\n const office = context.services.workspace.office(context.address);\n const projection = resolveWorkspaceProjection(office);\n if (parsed.visibility === undefined) {\n await replySummary(context, \"Office Visibility\", [\n `Current: ${describeVisibility(projection)}`,\n \"\",\n \"public:其他 office 可唯讀這個 office,且可寫入共用 MEMORY.md / skills。\",\n \"private:只有自己看得到,共用 MEMORY.md / skills 唯讀。\",\n \"預設跟隨 Slack 頻道類型;private 頻道與 DM 一律 private。\",\n \"admin 覆寫:`/pi-sandbox visibility <private|default>`(只能把 public 頻道改為 private)\",\n ]);\n return;\n }\n if (parsed.visibility !== \"private\" && parsed.visibility !== \"default\") {\n await replySummary(context, \"Office Visibility\", [\n `未知的值:\\`${parsed.visibility}\\`。可用值:\\`private\\`、\\`default\\``,\n ]);\n return;\n }\n const result = applyOfficeVisibility(\n context.services.runtime,\n office,\n parsed.visibility === \"private\" ? \"private\" : null,\n );\n if (!result.ok) {\n await replySummary(context, \"Office Visibility\", [\n \"目前有工作正在執行,無法切換 visibility。等執行結束後再試一次。\",\n ]);\n return;\n }\n const updated = resolveWorkspaceProjection(office);\n await replySummary(context, \"Office Visibility\", [\n `Visibility 已更新。Current: ${describeVisibility(updated)}`,\n \"下一則訊息時會以新的掛載重建 sandbox 容器;容器內容會保留。\",\n ]);\n}\n\nasync function showSandboxStatus(\n context: CommandContext,\n controller: NonNullable<CommandContext[\"services\"][\"resourceController\"]>,\n containerKey: string,\n): Promise<void> {\n const status = controller.getLimitStatus(containerKey);\n const defaultLimits = controller.getDefaultLimits();\n const boostLimits = controller.getBoostLimits();\n const projection = resolveWorkspaceProjection(context.services.workspace.office(context.address));\n await replySummary(\n context,\n \"Sandbox\",\n [\n `Current: ${formatLimits(status.limits)}`,\n `Status: ${status.boosted ? \"boosted\" : \"default\"}`,\n `Office visibility: ${describeVisibility(projection)}`,\n \"\",\n `Default: ${formatLimits(defaultLimits)}`,\n boostLimits ? `Boost: ${formatLimits({ ...defaultLimits, ...boostLimits })}` : undefined,\n ].filter((line): line is string => line !== undefined),\n );\n}\n\nfunction formatLimits(limits: { cpus?: string; memory?: string } | undefined): string {\n return `CPU ${limits?.cpus ?? \"unlimited\"} / Memory ${limits?.memory ?? \"unlimited\"}`;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-view.d.ts","sourceRoot":"","sources":["../../../src/adapters/commands/session-view.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAOjE,qBAAa,yBAA0B,YAAW,cAAc;IACxD,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CA8CzD;CACF"}
|
|
@@ -1,40 +1,47 @@
|
|
|
1
|
-
import { resolveExistingSessionFile } from "../web/session-view/
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { resolveExistingSessionFile } from "../web/session-view/portal.js";
|
|
2
|
+
import { commandForms, matchCommand } from "./manifest.js";
|
|
3
|
+
import { portalNotConfiguredLines, replySummaryPrivately } from "./utils.js";
|
|
4
|
+
// `session` is the only bare command (manifest `bare: true`), so its grammar
|
|
5
|
+
// includes the slash-less spelling alongside the derived slash forms.
|
|
6
|
+
const SESSION_VIEW_COMMANDS = commandForms("session");
|
|
4
7
|
export class SessionViewCommandHandler {
|
|
5
8
|
async tryHandle(context) {
|
|
6
|
-
if (!
|
|
9
|
+
if (!matchCommand(context.commandText, SESSION_VIEW_COMMANDS))
|
|
7
10
|
return false;
|
|
8
11
|
if (!context.privateConversation && !context.bot.postPrivate) {
|
|
9
|
-
await
|
|
12
|
+
await replySummaryPrivately(context, "Session", [
|
|
10
13
|
"為了保護對話內容,`/session` 目前只能在與機器人的私訊 / DM 中使用。",
|
|
11
|
-
])
|
|
14
|
+
]);
|
|
12
15
|
return true;
|
|
13
16
|
}
|
|
14
17
|
if (!context.services.portalBaseUrl) {
|
|
15
|
-
await
|
|
16
|
-
"Session viewer is not configured.",
|
|
17
|
-
"Set `MIKAN_LINK_URL` or `MIKAN_LINK_PORT` on the server.",
|
|
18
|
-
]), { style: "muted" });
|
|
18
|
+
await replySummaryPrivately(context, "Session", portalNotConfiguredLines("Session viewer"));
|
|
19
19
|
return true;
|
|
20
20
|
}
|
|
21
|
-
const sessionFile = resolveExistingSessionFile(context.services.
|
|
21
|
+
const sessionFile = resolveExistingSessionFile(context.services.workspace.office(context.address).dir, context.sessionKey);
|
|
22
22
|
if (!sessionFile) {
|
|
23
|
-
await
|
|
23
|
+
await replySummaryPrivately(context, "Session", [
|
|
24
24
|
"目前還沒有可查看的 session。",
|
|
25
25
|
"先和機器人對話一次,建立 session 後再試。",
|
|
26
|
-
])
|
|
26
|
+
]);
|
|
27
27
|
return true;
|
|
28
28
|
}
|
|
29
29
|
const platformUser = context.bot
|
|
30
30
|
.getMessagingInfo()
|
|
31
31
|
.users.find((user) => user.id === context.platformUserId);
|
|
32
32
|
const platformUserName = platformUser?.userName || platformUser?.displayName;
|
|
33
|
-
const token = context.services.sessionViewTokenStore.create(
|
|
34
|
-
|
|
33
|
+
const token = context.services.sessionViewTokenStore.create({
|
|
34
|
+
platform: context.platform,
|
|
35
|
+
platformUserId: context.platformUserId,
|
|
36
|
+
conversationId: context.conversationId,
|
|
37
|
+
sessionKey: context.sessionKey,
|
|
38
|
+
sessionFile,
|
|
39
|
+
platformUserName,
|
|
40
|
+
});
|
|
41
|
+
await replySummaryPrivately(context, "Session", [
|
|
35
42
|
`${context.services.portalBaseUrl}/session?token=${token.token}`,
|
|
36
43
|
"Expires: 24 hours",
|
|
37
|
-
])
|
|
44
|
+
]);
|
|
38
45
|
return true;
|
|
39
46
|
}
|
|
40
47
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-view.js","sourceRoot":"","sources":["../../../src/adapters/commands/session-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE7E,6EAA6E;AAC7E,sEAAsE;AACtE,MAAM,qBAAqB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEtD,MAAM,OAAO,yBAAyB;IACpC,KAAK,CAAC,SAAS,CAAC,OAAuB;QACrC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,qBAAqB,CAAC;YAAE,OAAO,KAAK,CAAC;QAE5E,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAC7D,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE;gBAC9C,4CAA4C;aAC7C,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,0BAA0B,CAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EACtD,OAAO,CAAC,UAAU,CACnB,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE;gBAC9C,oBAAoB;gBACpB,2BAA2B;aAC5B,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG;aAC7B,gBAAgB,EAAE;aAClB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,YAAY,EAAE,QAAQ,IAAI,YAAY,EAAE,WAAW,CAAC;QAE7E,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC;YAC1D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW;YACX,gBAAgB;SACjB,CAAC,CAAC;QAEH,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE;YAC9C,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,kBAAkB,KAAK,CAAC,KAAK,EAAE;YAChE,mBAAmB;SACpB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import { resolveExistingSessionFile } from \"../web/session-view/portal.js\";\nimport { commandForms, matchCommand } from \"./manifest.js\";\nimport type { CommandContext, CommandHandler } from \"./types.js\";\nimport { portalNotConfiguredLines, replySummaryPrivately } from \"./utils.js\";\n\n// `session` is the only bare command (manifest `bare: true`), so its grammar\n// includes the slash-less spelling alongside the derived slash forms.\nconst SESSION_VIEW_COMMANDS = commandForms(\"session\");\n\nexport class SessionViewCommandHandler implements CommandHandler {\n async tryHandle(context: CommandContext): Promise<boolean> {\n if (!matchCommand(context.commandText, SESSION_VIEW_COMMANDS)) return false;\n\n if (!context.privateConversation && !context.bot.postPrivate) {\n await replySummaryPrivately(context, \"Session\", [\n \"為了保護對話內容,`/session` 目前只能在與機器人的私訊 / DM 中使用。\",\n ]);\n return true;\n }\n\n if (!context.services.portalBaseUrl) {\n await replySummaryPrivately(context, \"Session\", portalNotConfiguredLines(\"Session viewer\"));\n return true;\n }\n\n const sessionFile = resolveExistingSessionFile(\n context.services.workspace.office(context.address).dir,\n context.sessionKey,\n );\n if (!sessionFile) {\n await replySummaryPrivately(context, \"Session\", [\n \"目前還沒有可查看的 session。\",\n \"先和機器人對話一次,建立 session 後再試。\",\n ]);\n return true;\n }\n\n const platformUser = context.bot\n .getMessagingInfo()\n .users.find((user) => user.id === context.platformUserId);\n const platformUserName = platformUser?.userName || platformUser?.displayName;\n\n const token = context.services.sessionViewTokenStore.create({\n platform: context.platform,\n platformUserId: context.platformUserId,\n conversationId: context.conversationId,\n sessionKey: context.sessionKey,\n sessionFile,\n platformUserName,\n });\n\n await replySummaryPrivately(context, \"Session\", [\n `${context.services.portalBaseUrl}/session?token=${token.token}`,\n \"Expires: 24 hours\",\n ]);\n return true;\n }\n}\n"]}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import type { ThinkingLevel } from "@earendil-works/pi-agent-core";
|
|
2
|
+
import type { Api, Model } from "@earendil-works/pi-ai";
|
|
3
|
+
import type { ConversationContext, HandleNewCommandOptions, MessagingBot, OfficeAddress, PlatformName } from "../index.js";
|
|
4
|
+
import type { Workspace } from "../../office/index.js";
|
|
5
|
+
import type { DockerContainerManager } from "../../sandbox/provisioner.js";
|
|
6
|
+
import type { SandboxConfig } from "../../sandbox/index.js";
|
|
7
|
+
import type { SandboxResourceController } from "../../types.js";
|
|
8
|
+
import type { VaultManager } from "../../vault/index.js";
|
|
9
|
+
import type { SessionViewTokenCreateOptions } from "../web/session-view/types.js";
|
|
10
|
+
interface CommandArgSpec {
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
required: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Data for the Slack adapter's generic slash route (how the synthesized
|
|
17
|
+
* command event is built). All flags default to false.
|
|
18
|
+
*/
|
|
19
|
+
export interface SlackSlashRoute {
|
|
20
|
+
/** Append the slash payload's free text to the synthesized command text. */
|
|
21
|
+
includeText?: boolean;
|
|
22
|
+
/** Scope the event to the invoking thread (thread-scoped session key). */
|
|
23
|
+
thread?: boolean;
|
|
24
|
+
/** Outside DMs, mark the event `private_command` so replies stay between the bot and the user. */
|
|
25
|
+
privateCommand?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface CommandManifestEntry {
|
|
28
|
+
/** Canonical name without slash, e.g. "login"; `/login` and `/pi-login` are derived. */
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
/** Extra accepted spellings beyond `name` (e.g. "autoreply"); each also gets a `pi-` form. */
|
|
32
|
+
aliases?: readonly string[];
|
|
33
|
+
/** Optional single free-text argument for platforms that register typed args. */
|
|
34
|
+
arg?: CommandArgSpec;
|
|
35
|
+
/** Accepted without a leading slash. Per CONTEXT.md, only `session`. */
|
|
36
|
+
bare?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Routed by conversation intake as a magic word, never by a command
|
|
39
|
+
* handler. Such an entry exists for platform registration/UI only.
|
|
40
|
+
*/
|
|
41
|
+
magicWord?: boolean;
|
|
42
|
+
/** Slack slash-command name, e.g. "/pi-login". Absent = not a Slack slash command. */
|
|
43
|
+
slackCommand?: string;
|
|
44
|
+
/** Slack routing data; absent for `new`, whose Slack dispatch is bespoke. */
|
|
45
|
+
slackRoute?: SlackSlashRoute;
|
|
46
|
+
/** Registered as a Discord application command. */
|
|
47
|
+
discord?: boolean;
|
|
48
|
+
/** Listed in Telegram's command menu; `description` overrides the shared one. */
|
|
49
|
+
telegramMenu?: {
|
|
50
|
+
description?: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Registered as a native grammY command handler, bypassing conversation
|
|
54
|
+
* intake (no trigger/busy policy). Other menu commands reach the runtime
|
|
55
|
+
* through the catch-all message path.
|
|
56
|
+
*/
|
|
57
|
+
telegramCommand?: boolean;
|
|
58
|
+
}
|
|
59
|
+
export interface LinkTokenStoreLike {
|
|
60
|
+
create(platform: PlatformName, platformUserId: string, conversationId: string, vaultId: string, providerId: string): {
|
|
61
|
+
token: string;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export interface SessionViewTokenStoreLike {
|
|
65
|
+
create(options: SessionViewTokenCreateOptions): {
|
|
66
|
+
token: string;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export interface AdminTokenStoreLike {
|
|
70
|
+
create(args: {
|
|
71
|
+
platform: PlatformName;
|
|
72
|
+
platformUserId: string;
|
|
73
|
+
conversationId: string;
|
|
74
|
+
platformUserName?: string;
|
|
75
|
+
}): {
|
|
76
|
+
token: string;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
interface CommandRuntimeBridge {
|
|
80
|
+
handleNewCommand(options: HandleNewCommandOptions): Promise<void>;
|
|
81
|
+
switchConversationModel(address: OfficeAddress, provider: string, model: string): boolean;
|
|
82
|
+
refreshConversationEnvironment(address: OfficeAddress): boolean;
|
|
83
|
+
}
|
|
84
|
+
export interface CommandServices {
|
|
85
|
+
workspace: Workspace;
|
|
86
|
+
runtime?: CommandRuntimeBridge;
|
|
87
|
+
sandbox: SandboxConfig;
|
|
88
|
+
vaultManager: VaultManager;
|
|
89
|
+
provisioner?: DockerContainerManager;
|
|
90
|
+
resourceController?: SandboxResourceController;
|
|
91
|
+
linkTokenStore: LinkTokenStoreLike;
|
|
92
|
+
sessionViewTokenStore: SessionViewTokenStoreLike;
|
|
93
|
+
adminTokenStore: AdminTokenStoreLike;
|
|
94
|
+
portalBaseUrl?: string;
|
|
95
|
+
}
|
|
96
|
+
export interface CommandContext {
|
|
97
|
+
bot: MessagingBot;
|
|
98
|
+
responder: ConversationContext["responder"];
|
|
99
|
+
platform: PlatformName;
|
|
100
|
+
address: OfficeAddress;
|
|
101
|
+
platformUserId: string;
|
|
102
|
+
platformUserName?: string;
|
|
103
|
+
conversationId: string;
|
|
104
|
+
vaultConversationId?: string;
|
|
105
|
+
sessionKey: string;
|
|
106
|
+
commandText: string;
|
|
107
|
+
privateConversation: boolean;
|
|
108
|
+
services: CommandServices;
|
|
109
|
+
}
|
|
110
|
+
export interface CommandHandler {
|
|
111
|
+
tryHandle(context: CommandContext): Promise<boolean>;
|
|
112
|
+
}
|
|
113
|
+
/** Minimal model lookup contract used by the model command. */
|
|
114
|
+
export interface ModelRegistry {
|
|
115
|
+
find(provider: string, modelId: string): Model<Api> | undefined;
|
|
116
|
+
}
|
|
117
|
+
export interface ParsedModelCommand {
|
|
118
|
+
provider?: string;
|
|
119
|
+
/** Model id without a thinking-level suffix, when one was supplied. */
|
|
120
|
+
model?: string;
|
|
121
|
+
/** Complete model id candidate, including a possible colon suffix. */
|
|
122
|
+
modelCandidate?: string;
|
|
123
|
+
/** Suffix kept for handler-side validation after exact model lookup. */
|
|
124
|
+
thinkingLevelCandidate?: string;
|
|
125
|
+
thinkingLevel?: ThinkingLevel;
|
|
126
|
+
error?: "invalid_spec";
|
|
127
|
+
}
|
|
128
|
+
export interface ParsedSandboxCommand {
|
|
129
|
+
action?: "boost" | "visibility";
|
|
130
|
+
/** Raw visibility argument; the handler validates it so typos get a usage reply. */
|
|
131
|
+
visibility?: string;
|
|
132
|
+
}
|
|
133
|
+
export type ParsedLoginCommand = {
|
|
134
|
+
action: "setup";
|
|
135
|
+
} | {
|
|
136
|
+
action: "shared_create" | "shared_update" | "shared_delete";
|
|
137
|
+
name: string;
|
|
138
|
+
} | {
|
|
139
|
+
action: "shared_list";
|
|
140
|
+
} | {
|
|
141
|
+
action: "copy_shared";
|
|
142
|
+
name: string;
|
|
143
|
+
};
|
|
144
|
+
export {};
|
|
145
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/commands/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/commands/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { Api, Model } from \"@earendil-works/pi-ai\";\nimport type {\n ConversationContext,\n HandleNewCommandOptions,\n MessagingBot,\n OfficeAddress,\n PlatformName,\n} from \"../index.js\";\nimport type { Workspace } from \"../../office/index.js\";\nimport type { DockerContainerManager } from \"../../sandbox/provisioner.js\";\nimport type { SandboxConfig } from \"../../sandbox/index.js\";\nimport type { SandboxResourceController } from \"../../types.js\";\nimport type { VaultManager } from \"../../vault/index.js\";\nimport type { SessionViewTokenCreateOptions } from \"../web/session-view/types.js\";\n\ninterface CommandArgSpec {\n name: string;\n description: string;\n required: boolean;\n}\n\n/**\n * Data for the Slack adapter's generic slash route (how the synthesized\n * command event is built). All flags default to false.\n */\nexport interface SlackSlashRoute {\n /** Append the slash payload's free text to the synthesized command text. */\n includeText?: boolean;\n /** Scope the event to the invoking thread (thread-scoped session key). */\n thread?: boolean;\n /** Outside DMs, mark the event `private_command` so replies stay between the bot and the user. */\n privateCommand?: boolean;\n}\n\nexport interface CommandManifestEntry {\n /** Canonical name without slash, e.g. \"login\"; `/login` and `/pi-login` are derived. */\n name: string;\n description: string;\n /** Extra accepted spellings beyond `name` (e.g. \"autoreply\"); each also gets a `pi-` form. */\n aliases?: readonly string[];\n /** Optional single free-text argument for platforms that register typed args. */\n arg?: CommandArgSpec;\n /** Accepted without a leading slash. Per CONTEXT.md, only `session`. */\n bare?: boolean;\n /**\n * Routed by conversation intake as a magic word, never by a command\n * handler. Such an entry exists for platform registration/UI only.\n */\n magicWord?: boolean;\n /** Slack slash-command name, e.g. \"/pi-login\". Absent = not a Slack slash command. */\n slackCommand?: string;\n /** Slack routing data; absent for `new`, whose Slack dispatch is bespoke. */\n slackRoute?: SlackSlashRoute;\n /** Registered as a Discord application command. */\n discord?: boolean;\n /** Listed in Telegram's command menu; `description` overrides the shared one. */\n telegramMenu?: { description?: string };\n /**\n * Registered as a native grammY command handler, bypassing conversation\n * intake (no trigger/busy policy). Other menu commands reach the runtime\n * through the catch-all message path.\n */\n telegramCommand?: boolean;\n}\n\nexport interface LinkTokenStoreLike {\n create(\n platform: PlatformName,\n platformUserId: string,\n conversationId: string,\n vaultId: string,\n providerId: string,\n ): { token: string };\n}\n\nexport interface SessionViewTokenStoreLike {\n create(options: SessionViewTokenCreateOptions): { token: string };\n}\n\nexport interface AdminTokenStoreLike {\n create(args: {\n platform: PlatformName;\n platformUserId: string;\n conversationId: string;\n platformUserName?: string;\n }): { token: string };\n}\n\ninterface CommandRuntimeBridge {\n handleNewCommand(options: HandleNewCommandOptions): Promise<void>;\n switchConversationModel(address: OfficeAddress, provider: string, model: string): boolean;\n refreshConversationEnvironment(address: OfficeAddress): boolean;\n}\n\nexport interface CommandServices {\n workspace: Workspace;\n runtime?: CommandRuntimeBridge;\n sandbox: SandboxConfig;\n vaultManager: VaultManager;\n provisioner?: DockerContainerManager;\n resourceController?: SandboxResourceController;\n linkTokenStore: LinkTokenStoreLike;\n sessionViewTokenStore: SessionViewTokenStoreLike;\n adminTokenStore: AdminTokenStoreLike;\n portalBaseUrl?: string;\n}\n\nexport interface CommandContext {\n bot: MessagingBot;\n responder: ConversationContext[\"responder\"];\n platform: PlatformName;\n address: OfficeAddress;\n platformUserId: string;\n platformUserName?: string;\n conversationId: string;\n vaultConversationId?: string;\n sessionKey: string;\n commandText: string;\n privateConversation: boolean;\n services: CommandServices;\n}\n\nexport interface CommandHandler {\n tryHandle(context: CommandContext): Promise<boolean>;\n}\n\n/** Minimal model lookup contract used by the model command. */\nexport interface ModelRegistry {\n find(provider: string, modelId: string): Model<Api> | undefined;\n}\n\n// ── command-specific parsed types ────────────────────────────────────────────\n\nexport interface ParsedModelCommand {\n provider?: string;\n /** Model id without a thinking-level suffix, when one was supplied. */\n model?: string;\n /** Complete model id candidate, including a possible colon suffix. */\n modelCandidate?: string;\n /** Suffix kept for handler-side validation after exact model lookup. */\n thinkingLevelCandidate?: string;\n thinkingLevel?: ThinkingLevel;\n error?: \"invalid_spec\";\n}\n\nexport interface ParsedSandboxCommand {\n action?: \"boost\" | \"visibility\";\n /** Raw visibility argument; the handler validates it so typos get a usage reply. */\n visibility?: string;\n}\n\nexport type ParsedLoginCommand =\n | { action: \"setup\" }\n | { action: \"shared_create\" | \"shared_update\" | \"shared_delete\"; name: string }\n | { action: \"shared_list\" }\n | { action: \"copy_shared\"; name: string };\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ConversationEvent } from "../index.js";
|
|
2
|
+
import type { CommandContext } from "./types.js";
|
|
3
|
+
export declare function replyPrivatelyWithContext(context: CommandContext, text: string, options?: {
|
|
4
|
+
style?: "muted" | "error";
|
|
5
|
+
}): Promise<void>;
|
|
6
|
+
/** Shared reply body for the commands that need the link portal configured. */
|
|
7
|
+
export declare function portalNotConfiguredLines(feature: string): string[];
|
|
8
|
+
/** Muted `_Title_` summary reply in the conversation the command arrived from. */
|
|
9
|
+
export declare function replySummary(context: CommandContext, title: string, lines: string[]): Promise<void>;
|
|
10
|
+
/** Same summary, routed to the user privately when the conversation is shared. */
|
|
11
|
+
export declare function replySummaryPrivately(context: CommandContext, title: string, lines: string[]): Promise<void>;
|
|
12
|
+
export declare function formatCommandSummary(title: string, lines: string[]): string;
|
|
13
|
+
export declare function isPrivateConversation(event: ConversationEvent): boolean;
|
|
14
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/adapters/commands/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAYjD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAKlE;AAED,kFAAkF;AAClF,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,kFAAkF;AAClF,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAK3E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAIvE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
async function replyDiagnosticWithContext(responder, text, options) {
|
|
2
2
|
await responder.setTyping(false);
|
|
3
3
|
await responder.setWorking(false);
|
|
4
4
|
await responder.respondDiagnostic(text, options);
|
|
@@ -18,6 +18,23 @@ export async function replyPrivatelyWithContext(context, text, options) {
|
|
|
18
18
|
}
|
|
19
19
|
await replyDiagnosticWithContext(context.responder, text, options);
|
|
20
20
|
}
|
|
21
|
+
/** Shared reply body for the commands that need the link portal configured. */
|
|
22
|
+
export function portalNotConfiguredLines(feature) {
|
|
23
|
+
return [
|
|
24
|
+
`${feature} is not configured.`,
|
|
25
|
+
"Set `MIKAN_LINK_URL` or `MIKAN_LINK_PORT` on the server.",
|
|
26
|
+
];
|
|
27
|
+
}
|
|
28
|
+
/** Muted `_Title_` summary reply in the conversation the command arrived from. */
|
|
29
|
+
export async function replySummary(context, title, lines) {
|
|
30
|
+
await replyDiagnosticWithContext(context.responder, formatCommandSummary(title, lines), {
|
|
31
|
+
style: "muted",
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/** Same summary, routed to the user privately when the conversation is shared. */
|
|
35
|
+
export async function replySummaryPrivately(context, title, lines) {
|
|
36
|
+
await replyPrivatelyWithContext(context, formatCommandSummary(title, lines), { style: "muted" });
|
|
37
|
+
}
|
|
21
38
|
export function formatCommandSummary(title, lines) {
|
|
22
39
|
const nonEmpty = lines.filter((line) => line.trim().length > 0);
|
|
23
40
|
const compactLines = nonEmpty.length <= 2 ? nonEmpty : [nonEmpty[0], nonEmpty.slice(1).join(" · ")];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/adapters/commands/utils.ts"],"names":[],"mappings":"AAGA,KAAK,UAAU,0BAA0B,CACvC,SAAsC,EACtC,IAAY,EACZ,OAAuC;IAEvC,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAuB,EACvB,IAAY,EACZ,OAAuC;IAEvC,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAChC,MAAM,0BAA0B,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,GAAG,CAAC,qBAAqB,CACrC,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,cAAc,EACtB,IAAI,EACJ,OAAO,CACR,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IAED,MAAM,0BAA0B,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO;QACL,GAAG,OAAO,qBAAqB;QAC/B,0DAA0D;KAC3D,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAuB,EACvB,KAAa,EACb,KAAe;IAEf,MAAM,0BAA0B,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QACtF,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;AACL,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAuB,EACvB,KAAa,EACb,KAAe;IAEf,MAAM,yBAAyB,CAAC,OAAO,EAAE,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,KAAe;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,YAAY,GAChB,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAwB;IAC5D,OAAO,CACL,KAAK,CAAC,gBAAgB,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAC/F,CAAC;AACJ,CAAC","sourcesContent":["import type { ConversationEvent } from \"../index.js\";\nimport type { CommandContext } from \"./types.js\";\n\nasync function replyDiagnosticWithContext(\n responder: CommandContext[\"responder\"],\n text: string,\n options?: { style?: \"muted\" | \"error\" },\n): Promise<void> {\n await responder.setTyping(false);\n await responder.setWorking(false);\n await responder.respondDiagnostic(text, options);\n}\n\nexport async function replyPrivatelyWithContext(\n context: CommandContext,\n text: string,\n options?: { style?: \"muted\" | \"error\" },\n): Promise<void> {\n if (context.privateConversation) {\n await replyDiagnosticWithContext(context.responder, text, options);\n return;\n }\n\n if (context.bot.postPrivateDiagnostic) {\n await context.bot.postPrivateDiagnostic(\n context.conversationId,\n context.platformUserId,\n text,\n options,\n );\n return;\n }\n\n if (context.bot.postPrivate) {\n await context.bot.postPrivate(context.conversationId, context.platformUserId, text);\n return;\n }\n\n await replyDiagnosticWithContext(context.responder, text, options);\n}\n\n/** Shared reply body for the commands that need the link portal configured. */\nexport function portalNotConfiguredLines(feature: string): string[] {\n return [\n `${feature} is not configured.`,\n \"Set `MIKAN_LINK_URL` or `MIKAN_LINK_PORT` on the server.\",\n ];\n}\n\n/** Muted `_Title_` summary reply in the conversation the command arrived from. */\nexport async function replySummary(\n context: CommandContext,\n title: string,\n lines: string[],\n): Promise<void> {\n await replyDiagnosticWithContext(context.responder, formatCommandSummary(title, lines), {\n style: \"muted\",\n });\n}\n\n/** Same summary, routed to the user privately when the conversation is shared. */\nexport async function replySummaryPrivately(\n context: CommandContext,\n title: string,\n lines: string[],\n): Promise<void> {\n await replyPrivatelyWithContext(context, formatCommandSummary(title, lines), { style: \"muted\" });\n}\n\nexport function formatCommandSummary(title: string, lines: string[]): string {\n const nonEmpty = lines.filter((line) => line.trim().length > 0);\n const compactLines =\n nonEmpty.length <= 2 ? nonEmpty : [nonEmpty[0], nonEmpty.slice(1).join(\" · \")];\n return [`_${title}_`, ...compactLines].join(\"\\n\");\n}\n\nexport function isPrivateConversation(event: ConversationEvent): boolean {\n return (\n event.conversationKind === \"direct\" || event.type === \"dm\" || event.type === \"private_command\"\n );\n}\n"]}
|
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
import { type Collection, type Attachment } from "discord.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConversationEvent, MessagingEventHandler } from "../index.js";
|
|
3
|
+
import { type MessagingBot, type MessagingInfo } from "../index.js";
|
|
4
|
+
import { type Workspace } from "../../office/index.js";
|
|
3
5
|
export type { DiscordEvent } from "./types.js";
|
|
4
6
|
export declare class DiscordMessagingBot implements MessagingBot {
|
|
5
7
|
private client;
|
|
6
8
|
private handler;
|
|
7
9
|
private token;
|
|
8
|
-
private
|
|
10
|
+
private workspace;
|
|
9
11
|
private botUserId;
|
|
12
|
+
private stopped;
|
|
10
13
|
private queues;
|
|
14
|
+
private intake;
|
|
11
15
|
private startupTime;
|
|
12
16
|
private channels;
|
|
13
17
|
private users;
|
|
14
18
|
constructor(handler: MessagingEventHandler, config: {
|
|
15
19
|
token: string;
|
|
16
|
-
|
|
20
|
+
workspace: Workspace;
|
|
17
21
|
});
|
|
18
22
|
start(): Promise<void>;
|
|
23
|
+
stop(): Promise<void>;
|
|
19
24
|
postMessage(channel: string, text: string): Promise<string>;
|
|
20
25
|
updateMessage(channel: string, ts: string, text: string): Promise<void>;
|
|
21
26
|
addReaction(channel: string, messageTs: string, emoji: string): Promise<void>;
|
|
@@ -44,14 +49,10 @@ export declare class DiscordMessagingBot implements MessagingBot {
|
|
|
44
49
|
* Process attachments from a Discord message.
|
|
45
50
|
* Downloads files before returning so the agent can read them immediately.
|
|
46
51
|
*/
|
|
47
|
-
processAttachments(channelId: string, attachments: Collection<string, Attachment
|
|
52
|
+
processAttachments(channelId: string, attachments: Collection<string, Attachment>): Promise<{
|
|
48
53
|
name: string;
|
|
49
54
|
localPath: string;
|
|
50
55
|
}[]>;
|
|
51
|
-
/**
|
|
52
|
-
* Download an attachment from URL to local file
|
|
53
|
-
*/
|
|
54
|
-
private downloadAttachment;
|
|
55
56
|
private getQueue;
|
|
56
57
|
private resolveStopTarget;
|
|
57
58
|
private loadCachedGuildData;
|
|
@@ -59,6 +60,8 @@ export declare class DiscordMessagingBot implements MessagingBot {
|
|
|
59
60
|
private resolveConversationContext;
|
|
60
61
|
private createSlashCommandAdapters;
|
|
61
62
|
private setupEventHandlers;
|
|
63
|
+
private handleInteractionCreate;
|
|
64
|
+
private handleMessageCreate;
|
|
62
65
|
private fetchTextChannel;
|
|
63
66
|
}
|
|
64
67
|
//# sourceMappingURL=bot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../../src/adapters/discord/bot.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../../src/adapters/discord/bot.ts"],"names":[],"mappings":"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"}
|