@geminixiang/mikan 1.0.0-beta.2 → 1.0.0-beta.21
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 +388 -0
- package/README.md +49 -16
- 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/buffered-responder.d.ts +60 -0
- package/dist/adapters/buffered-responder.d.ts.map +1 -0
- package/dist/adapters/buffered-responder.js +201 -0
- package/dist/adapters/buffered-responder.js.map +1 -0
- package/dist/adapters/discord/bot.d.ts +1 -0
- package/dist/adapters/discord/bot.d.ts.map +1 -1
- package/dist/adapters/discord/bot.js +36 -67
- package/dist/adapters/discord/bot.js.map +1 -1
- package/dist/adapters/discord/context.d.ts.map +1 -1
- package/dist/adapters/discord/context.js +44 -204
- package/dist/adapters/discord/context.js.map +1 -1
- package/dist/adapters/github/bot.d.ts +86 -0
- package/dist/adapters/github/bot.d.ts.map +1 -0
- package/dist/adapters/github/bot.js +640 -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 +314 -0
- package/dist/adapters/github/client.js.map +1 -0
- package/dist/adapters/github/cloudbuild.d.ts +24 -0
- package/dist/adapters/github/cloudbuild.d.ts.map +1 -0
- package/dist/adapters/github/cloudbuild.js +71 -0
- package/dist/adapters/github/cloudbuild.js.map +1 -0
- package/dist/adapters/github/context.d.ts +9 -0
- package/dist/adapters/github/context.d.ts.map +1 -0
- package/dist/adapters/github/context.js +103 -0
- package/dist/adapters/github/context.js.map +1 -0
- package/dist/adapters/github/gcp-auth.d.ts +31 -0
- package/dist/adapters/github/gcp-auth.d.ts.map +1 -0
- package/dist/adapters/github/gcp-auth.js +196 -0
- package/dist/adapters/github/gcp-auth.js.map +1 -0
- package/dist/adapters/github/github-ops.d.ts +90 -0
- package/dist/adapters/github/github-ops.d.ts.map +1 -0
- package/dist/adapters/github/github-ops.js +405 -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 +53 -0
- package/dist/adapters/github/ids.js.map +1 -0
- package/dist/adapters/github/repo.d.ts +32 -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 +56 -0
- package/dist/adapters/github/tool-pack.js.map +1 -0
- package/dist/adapters/github/tools/checks.d.ts +24 -0
- package/dist/adapters/github/tools/checks.d.ts.map +1 -0
- package/dist/adapters/github/tools/checks.js +105 -0
- package/dist/adapters/github/tools/checks.js.map +1 -0
- package/dist/adapters/github/tools/issue.d.ts +22 -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 +22 -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 +19 -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 +350 -0
- package/dist/adapters/github/types.d.ts.map +1 -0
- package/dist/adapters/github/types.js +2 -0
- package/dist/adapters/github/types.js.map +1 -0
- package/dist/adapters/intake.d.ts +16 -5
- package/dist/adapters/intake.d.ts.map +1 -1
- package/dist/adapters/intake.js +79 -22
- package/dist/adapters/intake.js.map +1 -1
- package/dist/adapters/slack/bot.d.ts +8 -6
- package/dist/adapters/slack/bot.d.ts.map +1 -1
- package/dist/adapters/slack/bot.js +82 -134
- package/dist/adapters/slack/bot.js.map +1 -1
- package/dist/adapters/slack/context.d.ts.map +1 -1
- package/dist/adapters/slack/context.js +3 -14
- 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 +14 -17
- 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 +5 -8
- package/dist/adapters/slack/session.js.map +1 -1
- package/dist/adapters/streaming.d.ts +4 -0
- package/dist/adapters/streaming.d.ts.map +1 -1
- package/dist/adapters/streaming.js +11 -0
- package/dist/adapters/streaming.js.map +1 -1
- package/dist/adapters/telegram/bot.d.ts +1 -2
- package/dist/adapters/telegram/bot.d.ts.map +1 -1
- package/dist/adapters/telegram/bot.js +27 -62
- package/dist/adapters/telegram/bot.js.map +1 -1
- package/dist/adapters/telegram/context.d.ts.map +1 -1
- package/dist/adapters/telegram/context.js +37 -174
- package/dist/adapters/telegram/context.js.map +1 -1
- package/dist/adapters/types.d.ts +28 -2
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/types.js.map +1 -1
- package/dist/agent.d.ts +37 -14
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +359 -229
- package/dist/agent.js.map +1 -1
- package/dist/cli/arg-grammar.d.ts +25 -0
- package/dist/cli/arg-grammar.d.ts.map +1 -0
- package/dist/cli/arg-grammar.js +59 -0
- package/dist/cli/arg-grammar.js.map +1 -0
- package/dist/cli/boot.d.ts +16 -0
- package/dist/cli/boot.d.ts.map +1 -0
- package/dist/cli/boot.js +119 -0
- package/dist/cli/boot.js.map +1 -0
- package/dist/cli/download.d.ts.map +1 -0
- package/dist/cli/download.js.map +1 -0
- package/dist/cli/ext-git.d.ts +22 -0
- package/dist/cli/ext-git.d.ts.map +1 -0
- package/dist/cli/ext-git.js +76 -0
- package/dist/cli/ext-git.js.map +1 -0
- package/dist/cli/ext.d.ts +2 -0
- package/dist/cli/ext.d.ts.map +1 -0
- package/dist/cli/ext.js +215 -0
- package/dist/cli/ext.js.map +1 -0
- package/dist/commands/admin.d.ts.map +1 -1
- package/dist/commands/admin.js +2 -1
- package/dist/commands/admin.js.map +1 -1
- package/dist/commands/auto-reply.d.ts.map +1 -1
- package/dist/commands/auto-reply.js +2 -6
- package/dist/commands/auto-reply.js.map +1 -1
- package/dist/commands/extensions.d.ts.map +1 -1
- package/dist/commands/extensions.js +18 -8
- package/dist/commands/extensions.js.map +1 -1
- package/dist/commands/login.d.ts +2 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +35 -3
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/manifest.d.ts +72 -0
- package/dist/commands/manifest.d.ts.map +1 -0
- package/dist/commands/manifest.js +121 -0
- package/dist/commands/manifest.js.map +1 -0
- package/dist/commands/model.d.ts.map +1 -1
- package/dist/commands/model.js +11 -9
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/new.d.ts.map +1 -1
- package/dist/commands/new.js +2 -1
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/sandbox.d.ts.map +1 -1
- package/dist/commands/sandbox.js +23 -17
- package/dist/commands/sandbox.js.map +1 -1
- package/dist/commands/text.d.ts +2 -0
- package/dist/commands/text.d.ts.map +1 -0
- package/dist/commands/text.js +16 -0
- package/dist/commands/text.js.map +1 -0
- package/dist/commands/types.d.ts +14 -1
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js.map +1 -1
- package/dist/config.d.ts +1 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +98 -95
- package/dist/config.js.map +1 -1
- package/dist/env-manifest.d.ts +35 -0
- package/dist/env-manifest.d.ts.map +1 -0
- package/dist/env-manifest.js +225 -0
- package/dist/env-manifest.js.map +1 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +9 -73
- package/dist/events.js.map +1 -1
- package/dist/execution-resolver.d.ts +4 -2
- package/dist/execution-resolver.d.ts.map +1 -1
- package/dist/execution-resolver.js +54 -41
- package/dist/execution-resolver.js.map +1 -1
- package/dist/harness/event-format.d.ts +66 -0
- package/dist/harness/event-format.d.ts.map +1 -0
- package/dist/harness/event-format.js +112 -0
- package/dist/harness/event-format.js.map +1 -0
- package/dist/harness/extensions/loader.d.ts +44 -11
- package/dist/harness/extensions/loader.d.ts.map +1 -1
- package/dist/harness/extensions/loader.js +273 -84
- package/dist/harness/extensions/loader.js.map +1 -1
- package/dist/harness/extensions/registry.d.ts +48 -1
- package/dist/harness/extensions/registry.d.ts.map +1 -1
- package/dist/harness/extensions/registry.js +146 -0
- package/dist/harness/extensions/registry.js.map +1 -1
- package/dist/harness/extensions/types.d.ts +165 -22
- 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 +6 -5
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +3 -2
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/models.d.ts +5 -0
- package/dist/harness/models.d.ts.map +1 -1
- package/dist/harness/models.js +10 -0
- package/dist/harness/models.js.map +1 -1
- package/dist/harness/runner.d.ts +37 -2
- package/dist/harness/runner.d.ts.map +1 -1
- package/dist/harness/runner.js +107 -23
- package/dist/harness/runner.js.map +1 -1
- package/dist/harness/session-store.d.ts +4 -1
- package/dist/harness/session-store.d.ts.map +1 -1
- package/dist/harness/session-store.js +11 -2
- package/dist/harness/session-store.js.map +1 -1
- package/dist/harness/subagent-runner.d.ts +34 -0
- package/dist/harness/subagent-runner.d.ts.map +1 -0
- package/dist/harness/subagent-runner.js +339 -0
- package/dist/harness/subagent-runner.js.map +1 -0
- package/dist/harness/types.d.ts +53 -0
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/harness/types.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/main.js +260 -109
- package/dist/main.js.map +1 -1
- package/dist/observability/instrument.js +6 -4
- package/dist/observability/instrument.js.map +1 -1
- package/dist/observability/sentry.d.ts.map +1 -1
- package/dist/observability/sentry.js +3 -2
- package/dist/observability/sentry.js.map +1 -1
- package/dist/provisioner.d.ts.map +1 -1
- package/dist/provisioner.js +2 -5
- package/dist/provisioner.js.map +1 -1
- 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 +276 -43
- package/dist/runtime/conversation-runtime.js.map +1 -1
- package/dist/runtime/types.d.ts +36 -5
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/types.js.map +1 -1
- package/dist/sandbox/cloudflare.d.ts +3 -0
- package/dist/sandbox/cloudflare.d.ts.map +1 -1
- package/dist/sandbox/cloudflare.js +10 -0
- package/dist/sandbox/cloudflare.js.map +1 -1
- package/dist/sandbox/container.d.ts +4 -0
- package/dist/sandbox/container.d.ts.map +1 -1
- package/dist/sandbox/container.js +11 -2
- package/dist/sandbox/container.js.map +1 -1
- package/dist/sandbox/firecracker.d.ts +3 -0
- package/dist/sandbox/firecracker.d.ts.map +1 -1
- package/dist/sandbox/firecracker.js +10 -1
- package/dist/sandbox/firecracker.js.map +1 -1
- package/dist/sandbox/gondolin-bootstrap.d.ts +26 -0
- package/dist/sandbox/gondolin-bootstrap.d.ts.map +1 -0
- package/dist/sandbox/gondolin-bootstrap.js +27 -0
- package/dist/sandbox/gondolin-bootstrap.js.map +1 -0
- package/dist/sandbox/gondolin-contract.d.ts +125 -0
- package/dist/sandbox/gondolin-contract.d.ts.map +1 -0
- package/dist/sandbox/gondolin-contract.js +155 -0
- package/dist/sandbox/gondolin-contract.js.map +1 -0
- package/dist/sandbox/gondolin-fleet.d.ts +104 -0
- package/dist/sandbox/gondolin-fleet.d.ts.map +1 -0
- package/dist/sandbox/gondolin-fleet.js +330 -0
- package/dist/sandbox/gondolin-fleet.js.map +1 -0
- package/dist/sandbox/gondolin-gateway.d.ts +86 -0
- package/dist/sandbox/gondolin-gateway.d.ts.map +1 -0
- package/dist/sandbox/gondolin-gateway.js +407 -0
- package/dist/sandbox/gondolin-gateway.js.map +1 -0
- package/dist/sandbox/gondolin-inventory.d.ts +75 -0
- package/dist/sandbox/gondolin-inventory.d.ts.map +1 -0
- package/dist/sandbox/gondolin-inventory.js +257 -0
- package/dist/sandbox/gondolin-inventory.js.map +1 -0
- package/dist/sandbox/gondolin-join.d.ts +62 -0
- package/dist/sandbox/gondolin-join.d.ts.map +1 -0
- package/dist/sandbox/gondolin-join.js +261 -0
- package/dist/sandbox/gondolin-join.js.map +1 -0
- package/dist/sandbox/gondolin-nfs-advisory.d.ts +15 -0
- package/dist/sandbox/gondolin-nfs-advisory.d.ts.map +1 -0
- package/dist/sandbox/gondolin-nfs-advisory.js +60 -0
- package/dist/sandbox/gondolin-nfs-advisory.js.map +1 -0
- package/dist/sandbox/gondolin-placement.d.ts +30 -0
- package/dist/sandbox/gondolin-placement.d.ts.map +1 -0
- package/dist/sandbox/gondolin-placement.js +77 -0
- package/dist/sandbox/gondolin-placement.js.map +1 -0
- package/dist/sandbox/gondolin-recovery.d.ts +33 -0
- package/dist/sandbox/gondolin-recovery.d.ts.map +1 -0
- package/dist/sandbox/gondolin-recovery.js +39 -0
- package/dist/sandbox/gondolin-recovery.js.map +1 -0
- package/dist/sandbox/gondolin-remote.d.ts +70 -0
- package/dist/sandbox/gondolin-remote.d.ts.map +1 -0
- package/dist/sandbox/gondolin-remote.js +325 -0
- package/dist/sandbox/gondolin-remote.js.map +1 -0
- package/dist/sandbox/gondolin-worker-client.d.ts +135 -0
- package/dist/sandbox/gondolin-worker-client.d.ts.map +1 -0
- package/dist/sandbox/gondolin-worker-client.js +323 -0
- package/dist/sandbox/gondolin-worker-client.js.map +1 -0
- package/dist/sandbox/gondolin-worker-main.d.ts +2 -0
- package/dist/sandbox/gondolin-worker-main.d.ts.map +1 -0
- package/dist/sandbox/gondolin-worker-main.js +22 -0
- package/dist/sandbox/gondolin-worker-main.js.map +1 -0
- package/dist/sandbox/gondolin-worker.d.ts +17 -0
- package/dist/sandbox/gondolin-worker.d.ts.map +1 -0
- package/dist/sandbox/gondolin-worker.js +201 -0
- package/dist/sandbox/gondolin-worker.js.map +1 -0
- package/dist/sandbox/gondolin.d.ts +53 -0
- package/dist/sandbox/gondolin.d.ts.map +1 -0
- package/dist/sandbox/gondolin.js +429 -0
- package/dist/sandbox/gondolin.js.map +1 -0
- package/dist/sandbox/host.d.ts +3 -0
- package/dist/sandbox/host.d.ts.map +1 -1
- package/dist/sandbox/host.js +14 -0
- package/dist/sandbox/host.js.map +1 -1
- package/dist/sandbox/identity.d.ts +21 -0
- package/dist/sandbox/identity.d.ts.map +1 -0
- package/dist/sandbox/identity.js +36 -0
- package/dist/sandbox/identity.js.map +1 -0
- package/dist/sandbox/index.d.ts +13 -4
- package/dist/sandbox/index.d.ts.map +1 -1
- package/dist/sandbox/index.js +19 -3
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/types.d.ts +31 -1
- package/dist/sandbox/types.d.ts.map +1 -1
- package/dist/sandbox/types.js.map +1 -1
- package/dist/sandbox/utils.d.ts +12 -0
- package/dist/sandbox/utils.d.ts.map +1 -1
- package/dist/sandbox/utils.js +38 -0
- package/dist/sandbox/utils.js.map +1 -1
- package/dist/sessions/chat-history-sync.d.ts +32 -0
- package/dist/sessions/chat-history-sync.d.ts.map +1 -0
- package/dist/sessions/{agent-memory-file-manager.js → chat-history-sync.js} +40 -113
- package/dist/sessions/chat-history-sync.js.map +1 -0
- package/dist/sessions/conversation-log.d.ts +13 -0
- package/dist/sessions/conversation-log.d.ts.map +1 -0
- package/dist/sessions/conversation-log.js +47 -0
- package/dist/sessions/conversation-log.js.map +1 -0
- package/dist/sessions/history-line.d.ts +20 -0
- package/dist/sessions/history-line.d.ts.map +1 -0
- package/dist/sessions/history-line.js +24 -0
- package/dist/sessions/history-line.js.map +1 -0
- package/dist/sessions/policy.d.ts.map +1 -1
- package/dist/sessions/policy.js +5 -3
- package/dist/sessions/policy.js.map +1 -1
- package/dist/sessions/rotation.d.ts +2 -0
- package/dist/sessions/rotation.d.ts.map +1 -0
- package/dist/sessions/rotation.js +39 -0
- package/dist/sessions/rotation.js.map +1 -0
- package/dist/sessions/session-key.d.ts +31 -0
- package/dist/sessions/session-key.d.ts.map +1 -0
- package/dist/sessions/session-key.js +44 -0
- package/dist/sessions/session-key.js.map +1 -0
- package/dist/sessions/store.d.ts.map +1 -1
- package/dist/sessions/store.js +6 -12
- package/dist/sessions/store.js.map +1 -1
- package/dist/sessions/types.d.ts +2 -2
- package/dist/sessions/types.d.ts.map +1 -1
- package/dist/sessions/types.js.map +1 -1
- package/dist/settings-mutation.d.ts +23 -0
- package/dist/settings-mutation.d.ts.map +1 -0
- package/dist/settings-mutation.js +42 -0
- package/dist/settings-mutation.js.map +1 -0
- package/dist/tools/bash.d.ts +3 -1
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +24 -17
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +9 -12
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/event.d.ts +1 -1
- package/dist/tools/event.d.ts.map +1 -1
- package/dist/tools/event.js +53 -43
- package/dist/tools/event.js.map +1 -1
- package/dist/tools/generate-image.d.ts +17 -0
- package/dist/tools/generate-image.d.ts.map +1 -0
- package/dist/tools/generate-image.js +63 -0
- package/dist/tools/generate-image.js.map +1 -0
- package/dist/tools/host-fn-tool.d.ts +21 -0
- package/dist/tools/host-fn-tool.d.ts.map +1 -0
- package/dist/tools/host-fn-tool.js +32 -0
- package/dist/tools/host-fn-tool.js.map +1 -0
- package/dist/tools/index.d.ts +17 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +28 -3
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/react.d.ts +15 -0
- package/dist/tools/react.d.ts.map +1 -0
- package/dist/tools/react.js +29 -0
- package/dist/tools/react.js.map +1 -0
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +7 -26
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/sandbox.d.ts +2 -2
- package/dist/tools/sandbox.d.ts.map +1 -1
- package/dist/tools/sandbox.js +13 -9
- package/dist/tools/sandbox.js.map +1 -1
- package/dist/tools/subagent-slots.d.ts +28 -0
- package/dist/tools/subagent-slots.d.ts.map +1 -0
- package/dist/tools/subagent-slots.js +57 -0
- package/dist/tools/subagent-slots.js.map +1 -0
- package/dist/tools/subagent.d.ts +74 -0
- package/dist/tools/subagent.d.ts.map +1 -0
- package/dist/tools/subagent.js +335 -0
- package/dist/tools/subagent.js.map +1 -0
- package/dist/tools/types.d.ts +40 -6
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +1 -8
- package/dist/tools/write.js.map +1 -1
- package/dist/trigger.d.ts.map +1 -1
- package/dist/trigger.js +1 -2
- package/dist/trigger.js.map +1 -1
- package/dist/types.d.ts +144 -31
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/date.d.ts +1 -1
- package/dist/utils/date.js +1 -1
- package/dist/utils/date.js.map +1 -1
- package/dist/vault/disabled.d.ts +9 -0
- package/dist/vault/disabled.d.ts.map +1 -0
- package/dist/vault/disabled.js +22 -0
- package/dist/vault/disabled.js.map +1 -0
- package/dist/vault/index.d.ts +0 -2
- package/dist/vault/index.d.ts.map +1 -1
- package/dist/vault/index.js +1 -32
- package/dist/vault/index.js.map +1 -1
- package/dist/vault/injection.d.ts +20 -0
- package/dist/vault/injection.d.ts.map +1 -0
- package/dist/vault/injection.js +27 -0
- package/dist/vault/injection.js.map +1 -0
- package/dist/vault/policy.d.ts +20 -0
- package/dist/vault/policy.d.ts.map +1 -0
- package/dist/vault/policy.js +20 -0
- package/dist/vault/policy.js.map +1 -0
- package/dist/vault/types.d.ts +0 -2
- package/dist/vault/types.d.ts.map +1 -1
- package/dist/vault/types.js.map +1 -1
- package/dist/web/admin/portal.d.ts +27 -0
- package/dist/web/admin/portal.d.ts.map +1 -1
- package/dist/web/admin/portal.js +117 -154
- package/dist/web/admin/portal.js.map +1 -1
- package/dist/web/admin/types.d.ts +6 -0
- package/dist/web/admin/types.d.ts.map +1 -1
- package/dist/web/admin/types.js.map +1 -1
- package/dist/web/agent-events/portal.d.ts.map +1 -1
- package/dist/web/agent-events/portal.js +2 -1
- package/dist/web/agent-events/portal.js.map +1 -1
- package/dist/web/login/oauth.d.ts +2 -3
- package/dist/web/login/oauth.d.ts.map +1 -1
- package/dist/web/login/oauth.js +0 -31
- package/dist/web/login/oauth.js.map +1 -1
- package/dist/web/login/portal.js +1 -1
- package/dist/web/login/portal.js.map +1 -1
- package/dist/web/login/types.d.ts +0 -11
- package/dist/web/login/types.d.ts.map +1 -1
- package/dist/web/login/types.js.map +1 -1
- package/dist/web/portal-shell.d.ts +4 -0
- package/dist/web/portal-shell.d.ts.map +1 -0
- package/dist/{portal-shell.js → web/portal-shell.js} +2 -2
- package/dist/web/portal-shell.js.map +1 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +7 -0
- package/dist/web/server.js.map +1 -1
- package/dist/web/session-view/command.d.ts.map +1 -1
- package/dist/web/session-view/command.js +4 -1
- package/dist/web/session-view/command.js.map +1 -1
- package/dist/web/session-view/portal.d.ts.map +1 -1
- package/dist/web/session-view/portal.js +4 -3
- 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 +2 -1
- package/dist/web/session-view/service.js.map +1 -1
- package/dist/web/session-view/types.d.ts +2 -1
- package/dist/web/session-view/types.d.ts.map +1 -1
- package/dist/web/session-view/types.js.map +1 -1
- package/package.json +7 -4
- package/dist/download.d.ts.map +0 -1
- package/dist/download.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/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/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/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/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/{download.d.ts → cli/download.d.ts} +0 -0
- /package/dist/{download.js → cli/download.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,394 @@ any release.
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
## [1.0.0-beta.21]
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- Fold each subagent's tokens and cost into the parent run's tally (`MikanAgentSession.recordExternalUsage`), so delegated spend counts against the parent run's budget instead of staying invisible to it.
|
|
17
|
+
- Add a process-wide subagent fan-out ceiling shared across conversations.
|
|
18
|
+
- Add `mikan --help` and a generated `mikan env` inventory from the daemon environment manifest.
|
|
19
|
+
- Make the working-directory argument optional, defaulting to `<state-dir>/workspace`.
|
|
20
|
+
- Add a public Gondolin runtime bootstrap seam for embedders.
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- Subagent runs never reject: request validation failures (unknown tools, invalid budgets, empty tasks, nested runs) now resolve to `failed` results, so one bad request in a `tasks`/`dag` batch can no longer orphan in-flight sibling subagents.
|
|
25
|
+
- Cap parallel `tasks[]` batches at 4 concurrent subagents (the same limit as DAG mode) and run DAG waves through a slot pool instead of chunk barriers.
|
|
26
|
+
- Report a subagent final response with no text as `failed` instead of `completed` with empty output.
|
|
27
|
+
- Enforce parent budgets immediately when subagent usage is folded into the parent run.
|
|
28
|
+
- Apply one state-directory precedence rule across boot, extensions, Sentry, and runtime readers.
|
|
29
|
+
- Refuse model and sandbox settings updates while a conversation is busy, and invalidate affected cached runners consistently.
|
|
30
|
+
- Drive PM2 environment configuration from `~/.mikan/mikan.env` instead of inline secrets.
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- Harden Gondolin dial-home reconnects after transport failures and stale sessions.
|
|
35
|
+
- Reject invalid one-shot event timestamps consistently across all event writers.
|
|
36
|
+
- Apply global model settings to idle conversations and report busy conversations as stale.
|
|
37
|
+
|
|
38
|
+
### Security
|
|
39
|
+
|
|
40
|
+
- Keep PM2 secrets in an owner-only file outside repository trees and make the PM2 template supervision-only.
|
|
41
|
+
|
|
42
|
+
### Tests
|
|
43
|
+
|
|
44
|
+
- Add coverage for subagent accounting and concurrency, CLI and environment manifests, settings mutation, Gondolin reconnects and contracts, event formatting, and worker state layout.
|
|
45
|
+
|
|
46
|
+
## [1.0.0-beta.20]
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- Validate subagent `outputSchema` correctly when it arrives as plain JSON Schema (the only form tool calls can carry), instead of throwing `ValueCheckUnknownTypeError` because it lacks TypeBox's `Kind` metadata.
|
|
51
|
+
|
|
52
|
+
### Tests
|
|
53
|
+
|
|
54
|
+
- Add coverage for plain JSON Schema hydration, nested objects, arrays, unions, and validation failures.
|
|
55
|
+
|
|
56
|
+
## [1.0.0-beta.19]
|
|
57
|
+
|
|
58
|
+
### Added
|
|
59
|
+
|
|
60
|
+
- Add fresh in-memory subagents for the main agent and extensions, with explicit tools, budgets, structured output, parallel batches, and bounded DAG orchestration.
|
|
61
|
+
- Stream debounced subagent node progress through the shared Slack, Discord, and Telegram response lifecycle.
|
|
62
|
+
|
|
63
|
+
### Changed
|
|
64
|
+
|
|
65
|
+
- Let final responses at the LLM-call cap complete without tripping the run budget when no continuation is required.
|
|
66
|
+
|
|
67
|
+
### Fixed
|
|
68
|
+
|
|
69
|
+
- Install worker binaries from the newest GitHub release that contains a matching asset, including prereleases.
|
|
70
|
+
- Restore generic Google Workspace CLI credential mounts in sandbox vaults.
|
|
71
|
+
|
|
72
|
+
### Tests
|
|
73
|
+
|
|
74
|
+
- Add coverage for subagent isolation, recursion guards, budgets, structured output, parallel execution, DAG validation and dependency flow, and platform-neutral progress rendering.
|
|
75
|
+
|
|
76
|
+
## [1.0.0-beta.18]
|
|
77
|
+
|
|
78
|
+
### Added
|
|
79
|
+
|
|
80
|
+
- Add an idempotent Debian and Ubuntu worker-host initialization script.
|
|
81
|
+
- Add persistent `mikan-worker` installation as a delegated systemd service.
|
|
82
|
+
- Add NFS export detection with OS-specific setup guidance for `gondolin:remote` workspaces.
|
|
83
|
+
- Ship host-side vault credential files securely to remote workers without placing them in the shared workspace.
|
|
84
|
+
- Add bounded shared-workspace health probes and worker degradation reporting.
|
|
85
|
+
|
|
86
|
+
### Changed
|
|
87
|
+
|
|
88
|
+
- Require each Gondolin remote gateway and static worker to declare its shared `workspaceRoot`.
|
|
89
|
+
- Exclude workers with unhealthy shared workspaces from new placements and restore them after a healthy heartbeat.
|
|
90
|
+
|
|
91
|
+
### Fixed
|
|
92
|
+
|
|
93
|
+
- Fail remote execution with actionable diagnostics instead of hanging on dead shared-workspace mounts.
|
|
94
|
+
- Create runtime cgroups beneath the worker's delegated cgroup and report missing `Delegate=yes` configuration.
|
|
95
|
+
- Verify downloaded worker binaries against the matching release checksum filename.
|
|
96
|
+
- Validate `gondolin:remote` only after gateway and worker transports are configured.
|
|
97
|
+
|
|
98
|
+
### Security
|
|
99
|
+
|
|
100
|
+
- Materialize remote credential files as owner-only, read-only runtime files outside shared workspaces.
|
|
101
|
+
|
|
102
|
+
### Tests
|
|
103
|
+
|
|
104
|
+
- Add coverage for worker host services, cgroup delegation, workspace health, credential delivery, NFS advice, remote validation, and idle execution deadlines.
|
|
105
|
+
|
|
106
|
+
## [1.0.0-beta.17]
|
|
107
|
+
|
|
108
|
+
### Added
|
|
109
|
+
|
|
110
|
+
- Add `gondolin:remote` for scheduling sandbox runtimes across a fleet of Linux/KVM workers.
|
|
111
|
+
- Add a standalone `mikan-worker` daemon with mutual TLS, fenced leases, crash recovery, capacity-aware placement, draining, and sticky conversation assignment.
|
|
112
|
+
- Add dial-home worker enrollment through one-time join tokens and a mikan-hosted gateway.
|
|
113
|
+
- Add private workspace projection, vault injection, resource limits, lifecycle reconciliation, and drift recovery to Gondolin runtimes.
|
|
114
|
+
- Add worker installation, enrollment, operations, and remote quickstart documentation with a one-command end-to-end smoke test.
|
|
115
|
+
- Publish `mikan-worker` binaries and checksums with GitHub releases.
|
|
116
|
+
|
|
117
|
+
### Changed
|
|
118
|
+
|
|
119
|
+
- Rename the preview sandbox mode from `microvm:default` to `gondolin:default` and the image build command to `npm run gondolin:image:build`.
|
|
120
|
+
|
|
121
|
+
### Fixed
|
|
122
|
+
|
|
123
|
+
- Project mounted files correctly into Gondolin guests.
|
|
124
|
+
- Refresh rotated credentials when Gondolin runtimes are recreated.
|
|
125
|
+
|
|
126
|
+
### Security
|
|
127
|
+
|
|
128
|
+
- Authenticate remote workers with mutual TLS and fence stale workers through expiring leases.
|
|
129
|
+
- Keep enrollment tokens one-time and store worker credentials privately.
|
|
130
|
+
|
|
131
|
+
### Tests
|
|
132
|
+
|
|
133
|
+
- Add coverage for Gondolin lifecycle, workspace isolation, vaults, resource controls, fleet scheduling, gateways, enrollment, workers, leases, and remote execution.
|
|
134
|
+
|
|
135
|
+
## [1.0.0-beta.16]
|
|
136
|
+
|
|
137
|
+
### Added
|
|
138
|
+
|
|
139
|
+
- Add a preview `gondolin:default` sandbox backed by Gondolin and QEMU.
|
|
140
|
+
- Add a curated microVM guest image build with Node.js, Python, uv, Git, ripgrep, fd, jq, SSH, and build tools.
|
|
141
|
+
- Manage one process-local microVM per conversation with idle shutdown and recreation on demand.
|
|
142
|
+
|
|
143
|
+
### Changed
|
|
144
|
+
|
|
145
|
+
- Broaden the coverage gate across all source modules.
|
|
146
|
+
|
|
147
|
+
### Fixed
|
|
148
|
+
|
|
149
|
+
- Keep top-level Slack file uploads out of threads.
|
|
150
|
+
|
|
151
|
+
### Tests
|
|
152
|
+
|
|
153
|
+
- Add coverage for microVM execution and lifecycle, events, logging, disabled vaults, channel storage, and core file and shell tools.
|
|
154
|
+
|
|
155
|
+
## [1.0.0-beta.15]
|
|
156
|
+
|
|
157
|
+
### Added
|
|
158
|
+
|
|
159
|
+
- Add native image generation with automatic upload through the active model provider.
|
|
160
|
+
- Add extension chat commands via `api.registerCommand`: deterministic `/name` dispatch with no model call; built-ins and first registrations win.
|
|
161
|
+
- Add an extension disposal lifecycle (`api.onDispose` or an `activate` return value), run when a harness instance is discarded (`/pi-new`, idle eviction, session rotation).
|
|
162
|
+
- Add `api.triggerRun(text)` to fire an immediate autonomous agent run, `api.uploadFile(path, title)` for proactive file uploads, and an explicit `conversationId` option on `api.notify` for cross-conversation posting.
|
|
163
|
+
- Add `agent_error` and `budget_exceeded` extension hooks so monitoring extensions see failed turns and tripped run budgets.
|
|
164
|
+
- Pass a `RunOrigin` (platform, triggering message id, user identity, attachments) to extension hook events, making `api.react` and per-user extension policy usable.
|
|
165
|
+
- Let `before_agent_start` extensions rewrite the user prompt or block the turn before the model runs; blocked turns leave no trace in the transcript or session store.
|
|
166
|
+
- Let `tool_result` extensions rewrite tool output (content and error flag) before the model and the session store see it, enabling secret redaction and output truncation.
|
|
167
|
+
|
|
168
|
+
### Changed
|
|
169
|
+
|
|
170
|
+
- Dispatch `before_agent_start` and `tool_result` hooks with chaining semantics (each handler sees earlier handlers' rewrites; any `block` wins) instead of first-result-wins.
|
|
171
|
+
|
|
172
|
+
### Fixed
|
|
173
|
+
|
|
174
|
+
- Dispose cached runners when models switch or environment credentials refresh.
|
|
175
|
+
|
|
176
|
+
### Tests
|
|
177
|
+
|
|
178
|
+
- Add coverage for image generation, extension lifecycle and hook rewrites, and runner disposal.
|
|
179
|
+
|
|
180
|
+
## [1.0.0-beta.14]
|
|
181
|
+
|
|
182
|
+
### Added
|
|
183
|
+
|
|
184
|
+
- Add GitHub inline review-thread intake and a `github_review_reply` tool.
|
|
185
|
+
- Add `github_sync`, `github_read`, and `github_issue` tools for repository refresh and issue or pull request operations.
|
|
186
|
+
- Add host-side Cloud Build log retrieval using GCP ADC or Workload Identity Federation.
|
|
187
|
+
- Add a minimal embedder example that runs without portal services.
|
|
188
|
+
|
|
189
|
+
### Changed
|
|
190
|
+
|
|
191
|
+
- Update eligible GitHub pull request head branches in place instead of opening duplicate pull requests.
|
|
192
|
+
- Drive platform command registration and routing from a shared command manifest.
|
|
193
|
+
- Use one cross-platform stop grammar, including `/stop` in GitHub conversations.
|
|
194
|
+
- Route sandbox file reads and writes through executors with staged, shell-safe transport.
|
|
195
|
+
- Keep sandbox settings nested through configuration resolution and updates.
|
|
196
|
+
|
|
197
|
+
### Fixed
|
|
198
|
+
|
|
199
|
+
- Preserve raw session keys when using Slack's Force Stop button.
|
|
200
|
+
- Spill large bash output into the runtime workspace so sandboxed agents can read it.
|
|
201
|
+
- Keep malformed event files visible in the admin portal for deletion.
|
|
202
|
+
- Unify platform formatting guidance across adapter and conversation contexts.
|
|
203
|
+
|
|
204
|
+
### Security
|
|
205
|
+
|
|
206
|
+
- Keep Cloud Build credentials host-side and outside agent sandboxes.
|
|
207
|
+
- Centralize runtime identity and sandbox path sanitization.
|
|
208
|
+
|
|
209
|
+
### Tests
|
|
210
|
+
|
|
211
|
+
- Add coverage for GitHub tool operations, review threads, Cloud Build logs, executor file transport, command manifests, runtime embedding, and session serialization.
|
|
212
|
+
|
|
213
|
+
## [1.0.0-beta.13]
|
|
214
|
+
|
|
215
|
+
### Added
|
|
216
|
+
|
|
217
|
+
- Add the `max` thinking level to commands, configuration, and the admin portal.
|
|
218
|
+
- Add quickstart and extension development guides across all supported locales.
|
|
219
|
+
|
|
220
|
+
### Changed
|
|
221
|
+
|
|
222
|
+
- Update pi agent dependencies to 0.80.6.
|
|
223
|
+
- Load platform-specific tool packs only for their configured adapters.
|
|
224
|
+
- Improve `github_checks` output and guidance for external CI providers.
|
|
225
|
+
- Synchronize configuration, platform, sandbox, session, skill, event, portal, and deployment documentation across locales.
|
|
226
|
+
|
|
227
|
+
### Fixed
|
|
228
|
+
|
|
229
|
+
- Fix broken CLI tables and dead documentation links across locales.
|
|
230
|
+
|
|
231
|
+
### Security
|
|
232
|
+
|
|
233
|
+
- Derive ambient shared-vault access from each platform's declared trust model and sandbox topology.
|
|
234
|
+
|
|
235
|
+
### Tests
|
|
236
|
+
|
|
237
|
+
- Add coverage for platform tool-pack isolation, external CI checks, and vault trust policy.
|
|
238
|
+
|
|
239
|
+
## [1.0.0-beta.12]
|
|
240
|
+
|
|
241
|
+
### Added
|
|
242
|
+
|
|
243
|
+
- Let `github_checks` fetch the log tail for a failing GitHub Actions job by job ID.
|
|
244
|
+
|
|
245
|
+
### Changed
|
|
246
|
+
|
|
247
|
+
- Require GitHub App Actions read permission for job log inspection.
|
|
248
|
+
|
|
249
|
+
### Fixed
|
|
250
|
+
|
|
251
|
+
- Treat skipped and neutral GitHub checks separately from failures in check summaries.
|
|
252
|
+
|
|
253
|
+
### Tests
|
|
254
|
+
|
|
255
|
+
- Add coverage for job log retrieval and check conclusion classification.
|
|
256
|
+
- Use collision-resistant temporary directories across parallel tests.
|
|
257
|
+
|
|
258
|
+
## [1.0.0-beta.11]
|
|
259
|
+
|
|
260
|
+
### Added
|
|
261
|
+
|
|
262
|
+
- Add a read-only `github_checks` tool for inspecting branch and pull request check runs.
|
|
263
|
+
|
|
264
|
+
### Changed
|
|
265
|
+
|
|
266
|
+
- Make `github_pr` idempotent so pushing an existing branch updates its open pull request.
|
|
267
|
+
- Teach the GitHub agent workflow to inspect CI, fix failures, and push updates.
|
|
268
|
+
- Require GitHub App Checks read permission for CI inspection.
|
|
269
|
+
|
|
270
|
+
### Tests
|
|
271
|
+
|
|
272
|
+
- Add coverage for GitHub check summaries and existing pull request updates.
|
|
273
|
+
|
|
274
|
+
## [1.0.0-beta.10]
|
|
275
|
+
|
|
276
|
+
### Fixed
|
|
277
|
+
|
|
278
|
+
- Retry cloning a GitHub repository on later triggers when the conversation clone is missing.
|
|
279
|
+
|
|
280
|
+
### Security
|
|
281
|
+
|
|
282
|
+
- Stop applying the ambient default shared vault to GitHub conversations while preserving explicit conversation vault grants.
|
|
283
|
+
- Document the platform, shared machine, and personal credential trust boundaries.
|
|
284
|
+
|
|
285
|
+
### Tests
|
|
286
|
+
|
|
287
|
+
- Add coverage for GitHub clone retries and platform-gated default vault resolution.
|
|
288
|
+
|
|
289
|
+
## [1.0.0-beta.9]
|
|
290
|
+
|
|
291
|
+
### Added
|
|
292
|
+
|
|
293
|
+
- Clone GitHub repositories into conversation workspaces and check out pull request heads.
|
|
294
|
+
- Add a `github_pr` tool that pushes agent changes from `pi/*` branches and opens pull requests.
|
|
295
|
+
|
|
296
|
+
### Changed
|
|
297
|
+
|
|
298
|
+
- Require GitHub App Contents read and write permission for repository automation.
|
|
299
|
+
- Post completed GitHub responses as single comments instead of streaming edits.
|
|
300
|
+
|
|
301
|
+
### Fixed
|
|
302
|
+
|
|
303
|
+
- Keep GitHub issue context inside the history recency window.
|
|
304
|
+
|
|
305
|
+
### Security
|
|
306
|
+
|
|
307
|
+
- Require commenters to have repository write permission or higher before triggering the agent.
|
|
308
|
+
- Keep installation tokens out of sandboxes and restrict agent pushes to non-force `pi/*` branches.
|
|
309
|
+
|
|
310
|
+
### Tests
|
|
311
|
+
|
|
312
|
+
- Add coverage for GitHub repository checkout, permission gating, pull request creation, and branch restrictions.
|
|
313
|
+
|
|
314
|
+
## [1.0.0-beta.8]
|
|
315
|
+
|
|
316
|
+
### Added
|
|
317
|
+
|
|
318
|
+
- Add a GitHub messaging adapter where each issue or pull request is an independent conversation.
|
|
319
|
+
- Add GitHub App authentication, mention and participation triggers, persisted polling cursors, and downtime replay.
|
|
320
|
+
- Add GitHub adapter deployment configuration and documentation.
|
|
321
|
+
|
|
322
|
+
### Tests
|
|
323
|
+
|
|
324
|
+
- Add coverage for GitHub polling, authentication, conversation context, triggers, and responses.
|
|
325
|
+
|
|
326
|
+
## [1.0.0-beta.7]
|
|
327
|
+
|
|
328
|
+
### Added
|
|
329
|
+
|
|
330
|
+
- Add TypeScript and npm-package extensions with `package.json` entrypoints and runtime dependencies.
|
|
331
|
+
- Add `mikan ext install`, `validate`, `list`, and `remove` commands.
|
|
332
|
+
- Add extension installation from Git sources and repository subpaths.
|
|
333
|
+
|
|
334
|
+
### Changed
|
|
335
|
+
|
|
336
|
+
- Treat reinstalling an extension as an update while preserving its data directory.
|
|
337
|
+
- Use `package.json` as the primary extension metadata source with `manifest.json` as a fallback.
|
|
338
|
+
- Convert the agent project manager example to TypeScript with a typed extension API.
|
|
339
|
+
- Add the Slack `reactions:write` scope and missing slash commands to the manifests and setup guides.
|
|
340
|
+
|
|
341
|
+
### Tests
|
|
342
|
+
|
|
343
|
+
- Add coverage for TypeScript loading, package metadata, extension CLI operations, and Git installation.
|
|
344
|
+
|
|
345
|
+
## [1.0.0-beta.6]
|
|
346
|
+
|
|
347
|
+
### Added
|
|
348
|
+
|
|
349
|
+
- Add emoji reactions for agents and extensions across Slack, Discord, and Telegram.
|
|
350
|
+
|
|
351
|
+
### Changed
|
|
352
|
+
|
|
353
|
+
- Default the agent project manager example to conversation-scoped extension data.
|
|
354
|
+
- Log when extensions rewrite the system prompt and report the resulting size change.
|
|
355
|
+
|
|
356
|
+
### Fixed
|
|
357
|
+
|
|
358
|
+
- Render Slack session links outside the triggered-by italic span.
|
|
359
|
+
|
|
360
|
+
### Tests
|
|
361
|
+
|
|
362
|
+
- Add coverage for the reaction tool and extension reaction API.
|
|
363
|
+
|
|
364
|
+
## [1.0.0-beta.5]
|
|
365
|
+
|
|
366
|
+
### Added
|
|
367
|
+
|
|
368
|
+
- Add `api.paths.sharedDataDir` for extension state intentionally shared across conversations.
|
|
369
|
+
- Add an idempotent, dry-run-first script for migrating extension code and data to the new layout.
|
|
370
|
+
|
|
371
|
+
### Changed
|
|
372
|
+
|
|
373
|
+
- Store conversation extension code and data under `conversations/<id>/` and global extension assets under `global/`.
|
|
374
|
+
- Make `api.paths.dataDir` conversation-scoped by default to prevent accidental cross-conversation state sharing.
|
|
375
|
+
|
|
376
|
+
### Tests
|
|
377
|
+
|
|
378
|
+
- Update extension loader and command coverage for the conversation-scoped layout.
|
|
379
|
+
|
|
380
|
+
## [1.0.0-beta.4]
|
|
381
|
+
|
|
382
|
+
### Changed
|
|
383
|
+
|
|
384
|
+
- Show an extension's slug in `/pi-extensions` when it differs from the manifest display name.
|
|
385
|
+
|
|
386
|
+
### Fixed
|
|
387
|
+
|
|
388
|
+
- Reject extensions installed directly at a scope root and show an actionable warning to use a named subdirectory.
|
|
389
|
+
|
|
390
|
+
### Tests
|
|
391
|
+
|
|
392
|
+
- Add coverage for scope-root extension mis-install detection and inventory warnings.
|
|
393
|
+
|
|
394
|
+
## [1.0.0-beta.3]
|
|
395
|
+
|
|
396
|
+
### Fixed
|
|
397
|
+
|
|
398
|
+
- Route `/pi-extensions` through Slack and include it in the bundled app manifests.
|
|
399
|
+
|
|
12
400
|
## [1.0.0-beta.2]
|
|
13
401
|
|
|
14
402
|
### Added
|
package/README.md
CHANGED
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
|
|
10
10
|
A multi-platform AI coding agent for Slack, Telegram, and Discord.
|
|
11
11
|
|
|
12
|
+
> [!WARNING]
|
|
13
|
+
> **Pre-1.0 status** — the overall framework stabilizes at 1.0.0. Until then, releases may change settings and on-disk data formats without migrations: upgrading between pre-1.0 versions can require resetting or manually adjusting existing state and workspace data.
|
|
14
|
+
|
|
12
15
|
## Architecture
|
|
13
16
|
|
|
14
17
|
mikan keeps the chat record, agent session, and execution runtime separate:
|
|
@@ -51,21 +54,51 @@ npm install && npm run build
|
|
|
51
54
|
|
|
52
55
|
## Quick Start
|
|
53
56
|
|
|
54
|
-
|
|
57
|
+
Run mikan under [PM2](https://pm2.keymetrics.io/) so it stays up, restarts after failures, and starts on boot:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm i -g @geminixiang/mikan pm2
|
|
61
|
+
|
|
62
|
+
# One-time setup: create the state directory and settings
|
|
63
|
+
mikan --onboard --state-dir=~/.mikan
|
|
64
|
+
|
|
65
|
+
# Secrets live in ~/.mikan/mikan.env (0600), outside any repo tree
|
|
66
|
+
curl -o ~/.mikan/mikan.env https://raw.githubusercontent.com/geminixiang/mikan/main/deploy/pm2/mikan.env.example
|
|
67
|
+
chmod 600 ~/.mikan/mikan.env # then fill in your tokens
|
|
68
|
+
|
|
69
|
+
# Grab the maintained ecosystem file (supervision only), edit `args`
|
|
70
|
+
curl -O https://raw.githubusercontent.com/geminixiang/mikan/main/deploy/pm2/ecosystem.config.cjs
|
|
71
|
+
|
|
72
|
+
pm2 start ecosystem.config.cjs
|
|
73
|
+
pm2 save
|
|
74
|
+
pm2 startup # run the printed command to enable boot autostart
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Each file has one job: `settings.json` holds behavior (model, sandbox limits, reply modes — the Admin surface), `~/.mikan/mikan.env` holds secrets and platform tokens, and `ecosystem.config.cjs` holds process supervision only. In `ecosystem.config.cjs`, point `args` at your state dir, sandbox mode, and working directory (`mikan --help` documents the flags):
|
|
78
|
+
|
|
79
|
+
```js
|
|
80
|
+
args: "--state-dir=/srv/mikan/state --sandbox=host /srv/mikan/workspace",
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Set the platform tokens you need in `~/.mikan/mikan.env`; you can run multiple platforms at once. `mikan env` prints the full inventory and what is currently set:
|
|
55
84
|
|
|
56
85
|
```bash
|
|
57
|
-
|
|
86
|
+
SLACK_APP_TOKEN=xapp-...
|
|
87
|
+
SLACK_BOT_TOKEN=xoxb-...
|
|
88
|
+
TELEGRAM_BOT_TOKEN=123456:ABC-...
|
|
89
|
+
DISCORD_BOT_TOKEN=MTI...
|
|
58
90
|
```
|
|
59
91
|
|
|
60
|
-
|
|
92
|
+
Tail logs with `pm2 logs mikan`; upgrade with `npm i -g @geminixiang/mikan && pm2 reload mikan`. See [the deployment guide](src/content/docs/deployment.mdx) for sandbox images, graceful shutdown, and the health endpoint.
|
|
93
|
+
|
|
94
|
+
For a one-off foreground run, the same CLI works directly:
|
|
61
95
|
|
|
62
96
|
```bash
|
|
63
|
-
|
|
64
|
-
export SLACK_BOT_TOKEN=xoxb-...
|
|
65
|
-
export TELEGRAM_BOT_TOKEN=123456:ABC-...
|
|
66
|
-
export DISCORD_BOT_TOKEN=MTI...
|
|
97
|
+
mikan [--state-dir=~/.mikan] [--sandbox=<mode>] [<working-directory>]
|
|
67
98
|
```
|
|
68
99
|
|
|
100
|
+
The working directory is optional: it defaults to `<state-dir>/workspace` (so `~/.mikan/workspace` with the default state dir) and is created on first run.
|
|
101
|
+
|
|
69
102
|
## Platforms
|
|
70
103
|
|
|
71
104
|
- **Slack** — create a Socket Mode app using [src/content/docs/slack-bot-minimal-guide.md](src/content/docs/slack-bot-minimal-guide.md). The bot responds when `@mentioned` in channels and to all DMs.
|
|
@@ -88,16 +121,16 @@ For routing, mounts, vault behavior, managed container details, and Firecracker/
|
|
|
88
121
|
|
|
89
122
|
## Chat commands
|
|
90
123
|
|
|
91
|
-
| Command
|
|
92
|
-
|
|
|
93
|
-
| `/login` / `/pi-login`
|
|
94
|
-
| `session` / `/session`
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
|
|
|
98
|
-
| `stop` / `/stop`
|
|
124
|
+
| Command | Purpose |
|
|
125
|
+
| ------------------------------------------------ | ------------------------------------------------ |
|
|
126
|
+
| `/login` / `/pi-login` | Store API keys or run built-in OAuth flows |
|
|
127
|
+
| `session` / `/session` | Open a read-only web view of the current session |
|
|
128
|
+
| `/new` / `/pi-new` | Reset the current session |
|
|
129
|
+
| `/model` / `/pi-model provider/model[:thinking]` | Switch the LLM for the current conversation |
|
|
130
|
+
| `/auto-reply` / `/pi-auto-reply on\|off\|status` | Control group/channel auto-reply |
|
|
131
|
+
| `stop` / `/stop` | Stop the current run (works on every platform) |
|
|
99
132
|
|
|
100
|
-
See [src/content/docs/commands.
|
|
133
|
+
`session` is the only command accepted without a leading slash. See [src/content/docs/commands.mdx](src/content/docs/commands.mdx) for the full command reference and web session viewer setup.
|
|
101
134
|
|
|
102
135
|
## Configuration
|
|
103
136
|
|
package/dist/adapter.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { MessagingBot, ConversationContext, ConversationEvent, MessagingEventHandler, ChatAdapter, ConversationMessage, ConversationResponder, ChatToolResult, ConversationKind, MessagingInfo, PlatformName, PlatformNotifier, RunningSession, } from "./types.js";
|
|
1
|
+
export type { MessagingBot, ConversationContext, ConversationEvent, MessagingEventHandler, ChatAdapter, ConversationMessage, ConversationResponder, ChatToolResult, ConversationKind, MessagingInfo, PlatformName, PlatformNotifier, PlatformReactor, PlatformUploader, RunningSession, } from "./types.js";
|
|
2
2
|
//# sourceMappingURL=adapter.d.ts.map
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"","sourcesContent":["export type {\n MessagingBot,\n ConversationContext,\n ConversationEvent,\n MessagingEventHandler,\n ChatAdapter,\n ConversationMessage,\n ConversationResponder,\n ChatToolResult,\n ConversationKind,\n MessagingInfo,\n PlatformName,\n PlatformNotifier,\n RunningSession,\n} from \"./types.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"","sourcesContent":["export type {\n MessagingBot,\n ConversationContext,\n ConversationEvent,\n MessagingEventHandler,\n ChatAdapter,\n ConversationMessage,\n ConversationResponder,\n ChatToolResult,\n ConversationKind,\n MessagingInfo,\n PlatformName,\n PlatformNotifier,\n PlatformReactor,\n PlatformUploader,\n RunningSession,\n} from \"./types.js\";\n"]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ChatToolResult, ConversationResponder } from "../adapter.js";
|
|
2
|
+
import { type ChatResponseErrorOperation } from "./shared.js";
|
|
3
|
+
/**
|
|
4
|
+
* The per-platform verbs and policy behind one buffered responder. Everything
|
|
5
|
+
* else — the accumulated-text state machine, split-first-then-continuations
|
|
6
|
+
* posting, response-id capture, ordered-queue error choreography, typing
|
|
7
|
+
* interval, working indicator, delete semantics — is owned by
|
|
8
|
+
* {@link createBufferedResponder} and identical on every buffered platform.
|
|
9
|
+
* (Slack keeps its own streaming lifecycle; this covers the platforms that
|
|
10
|
+
* edit one response message in place.)
|
|
11
|
+
*/
|
|
12
|
+
export interface BufferedResponderPlatform {
|
|
13
|
+
/** Log label, e.g. "Discord". */
|
|
14
|
+
label: string;
|
|
15
|
+
/** Hard message length; longer responses continue in extra messages. */
|
|
16
|
+
maxLength: number;
|
|
17
|
+
formatContinuation: (partNum: number) => string;
|
|
18
|
+
/** Prefix for respondDiagnostic({style:"error"}). */
|
|
19
|
+
errorPrefix: string;
|
|
20
|
+
/** Platform text normalization applied before accumulation (e.g. HTML). */
|
|
21
|
+
sanitize?: (text: string) => string;
|
|
22
|
+
/**
|
|
23
|
+
* Suffix rendered while the run is working (and re-rendered away by
|
|
24
|
+
* setWorking(false)). Platforms without one leave setWorking to typing.
|
|
25
|
+
*/
|
|
26
|
+
workingIndicator?: string;
|
|
27
|
+
/** Enable appendResponseDelta/finishResponse over a buffered stream. */
|
|
28
|
+
streaming: boolean;
|
|
29
|
+
typing?: {
|
|
30
|
+
send: () => Promise<unknown>;
|
|
31
|
+
intervalMs: number;
|
|
32
|
+
/** Also stop the indicator when a message is actually sent. */
|
|
33
|
+
stopOnSend?: boolean;
|
|
34
|
+
};
|
|
35
|
+
formatToolResult: (result: ChatToolResult) => string;
|
|
36
|
+
reportError: (err: unknown, operation: ChatResponseErrorOperation, extra: Record<string, unknown>) => void;
|
|
37
|
+
/** Posted into the conversation after a send fails (e.g. Telegram's ⚠️). */
|
|
38
|
+
notifySendFailure?: (errorMessage: string) => Promise<void>;
|
|
39
|
+
/** Post the first response message; returns its platform id. */
|
|
40
|
+
post: (text: string) => Promise<string>;
|
|
41
|
+
/** Edit the existing response message. */
|
|
42
|
+
update: (id: string, text: string) => Promise<void>;
|
|
43
|
+
/** Post an out-of-band message (continuations, diagnostics). */
|
|
44
|
+
postExtra: (text: string, responseId: string | null) => Promise<unknown>;
|
|
45
|
+
/** Delete the response message. */
|
|
46
|
+
delete?: (id: string) => Promise<void>;
|
|
47
|
+
/** Record a bot response chunk against the response message id. */
|
|
48
|
+
logBotResponse?: (text: string, id: string) => void;
|
|
49
|
+
/** Direct upload; absent platforms fall back to uploadFallbackNote. */
|
|
50
|
+
uploadFile?: (filePath: string, title?: string) => Promise<void>;
|
|
51
|
+
/** Posted (queued) instead of uploading when uploadFile is absent. */
|
|
52
|
+
uploadFallbackNote?: (name: string) => string;
|
|
53
|
+
react?: (emoji: string) => Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
/** The tool-result rendering shared by the Markdown platforms (Discord, GitHub). */
|
|
56
|
+
export declare function formatMarkdownToolResult(result: ChatToolResult): string;
|
|
57
|
+
export declare function createBufferedResponder(platform: BufferedResponderPlatform): {
|
|
58
|
+
responder: ConversationResponder;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=buffered-responder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffered-responder.d.ts","sourceRoot":"","sources":["../../src/adapters/buffered-responder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAA6B,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzF;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,+DAA+D;QAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,gBAAgB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,MAAM,CAAC;IACrD,WAAW,EAAE,CACX,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,0BAA0B,EACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,IAAI,CAAC;IACV,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,gEAAgE;IAChE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,0CAA0C;IAC1C,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,gEAAgE;IAChE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,mCAAmC;IACnC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,mEAAmE;IACnE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,uEAAuE;IACvE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,oFAAoF;AACpF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CASvE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,yBAAyB,GAAG;IAC5E,SAAS,EAAE,qBAAqB,CAAC;CAClC,CAoPA"}
|