agim-cli 1.4.9 → 1.5.1
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 +437 -402
- package/README.md +43 -7
- package/README.zh-CN.md +42 -7
- package/bin/agim_rpc.py +12 -12
- package/dist/cli-ui/cmd-handlers.d.ts +25 -4
- package/dist/cli-ui/cmd-handlers.d.ts.map +1 -1
- package/dist/cli-ui/cmd-handlers.js +315 -59
- package/dist/cli-ui/cmd-handlers.js.map +1 -1
- package/dist/cli-ui/config-wizard.d.ts +13 -1
- package/dist/cli-ui/config-wizard.d.ts.map +1 -1
- package/dist/cli-ui/config-wizard.js +120 -48
- package/dist/cli-ui/config-wizard.js.map +1 -1
- package/dist/cli-ui/doctor.d.ts +15 -0
- package/dist/cli-ui/doctor.d.ts.map +1 -0
- package/dist/cli-ui/doctor.js +151 -0
- package/dist/cli-ui/doctor.js.map +1 -0
- package/dist/cli-ui/entry-menu.d.ts +6 -0
- package/dist/cli-ui/entry-menu.d.ts.map +1 -1
- package/dist/cli-ui/entry-menu.js +67 -30
- package/dist/cli-ui/entry-menu.js.map +1 -1
- package/dist/cli-ui/env-file.d.ts +4 -4
- package/dist/cli-ui/env-file.js +13 -13
- package/dist/cli-ui/env-file.js.map +1 -1
- package/dist/cli-ui/i18n.d.ts +17 -8
- package/dist/cli-ui/i18n.d.ts.map +1 -1
- package/dist/cli-ui/i18n.js +39 -21
- package/dist/cli-ui/i18n.js.map +1 -1
- package/dist/cli-ui/lang-picker.js +1 -1
- package/dist/cli-ui/lang-picker.js.map +1 -1
- package/dist/cli-ui/paths.d.ts.map +1 -1
- package/dist/cli-ui/paths.js +2 -4
- package/dist/cli-ui/paths.js.map +1 -1
- package/dist/cli-ui/quickstart.d.ts +3 -0
- package/dist/cli-ui/quickstart.d.ts.map +1 -0
- package/dist/cli-ui/quickstart.js +108 -0
- package/dist/cli-ui/quickstart.js.map +1 -0
- package/dist/cli-ui/readiness.d.ts +10 -0
- package/dist/cli-ui/readiness.d.ts.map +1 -0
- package/dist/cli-ui/readiness.js +75 -0
- package/dist/cli-ui/readiness.js.map +1 -0
- package/dist/cli-ui/service.d.ts +30 -7
- package/dist/cli-ui/service.d.ts.map +1 -1
- package/dist/cli-ui/service.js +171 -77
- package/dist/cli-ui/service.js.map +1 -1
- package/dist/cli-ui/tui/app.js +2 -2
- package/dist/cli-ui/tui/app.js.map +1 -1
- package/dist/cli-ui/tui/index.js +6 -6
- package/dist/cli-ui/tui/index.js.map +1 -1
- package/dist/cli-ui/tui/mouse-stdin.js +1 -1
- package/dist/cli-ui/tui/mouse-stdin.js.map +1 -1
- package/dist/cli-ui/tui/stream-reveal.d.ts +2 -2
- package/dist/cli-ui/tui/stream-reveal.d.ts.map +1 -1
- package/dist/cli-ui/tui/stream-reveal.js +4 -4
- package/dist/cli-ui/tui/stream-reveal.js.map +1 -1
- package/dist/cli.js +118 -436
- package/dist/cli.js.map +1 -1
- package/dist/core/a2a-notify.js +5 -5
- package/dist/core/a2a-notify.js.map +1 -1
- package/dist/core/a2a.d.ts +2 -2
- package/dist/core/a2a.d.ts.map +1 -1
- package/dist/core/a2a.js +12 -12
- package/dist/core/a2a.js.map +1 -1
- package/dist/core/access-token.d.ts +1 -1
- package/dist/core/access-token.js +7 -7
- package/dist/core/access-token.js.map +1 -1
- package/dist/core/acp-server.d.ts.map +1 -1
- package/dist/core/acp-server.js +21 -7
- package/dist/core/acp-server.js.map +1 -1
- package/dist/core/admin-allowlist.js +5 -5
- package/dist/core/admin-allowlist.js.map +1 -1
- package/dist/core/agent-base.d.ts +1 -1
- package/dist/core/agent-base.js +3 -3
- package/dist/core/agent-base.js.map +1 -1
- package/dist/core/agent-cwd.d.ts +13 -6
- package/dist/core/agent-cwd.d.ts.map +1 -1
- package/dist/core/agent-cwd.js +72 -23
- package/dist/core/agent-cwd.js.map +1 -1
- package/dist/core/agim-paths.d.ts +1 -4
- package/dist/core/agim-paths.d.ts.map +1 -1
- package/dist/core/agim-paths.js +18 -35
- package/dist/core/agim-paths.js.map +1 -1
- package/dist/core/approval-bus.d.ts +4 -4
- package/dist/core/approval-bus.d.ts.map +1 -1
- package/dist/core/approval-bus.js +14 -14
- package/dist/core/approval-bus.js.map +1 -1
- package/dist/core/approval-router.js +2 -2
- package/dist/core/artifacts.js +3 -3
- package/dist/core/artifacts.js.map +1 -1
- package/dist/core/ask-user-rpc.js +1 -1
- package/dist/core/ask-user-rpc.js.map +1 -1
- package/dist/core/audit-log.js +2 -2
- package/dist/core/audit-log.js.map +1 -1
- package/dist/core/bgjob-reader.d.ts +1 -1
- package/dist/core/bgjob-reader.js +4 -4
- package/dist/core/bgjob-reader.js.map +1 -1
- package/dist/core/commands/approval.js +2 -2
- package/dist/core/commands/approval.js.map +1 -1
- package/dist/core/commands/builtin.d.ts.map +1 -1
- package/dist/core/commands/builtin.js +12 -2
- package/dist/core/commands/builtin.js.map +1 -1
- package/dist/core/commands/heartbeat.js +2 -2
- package/dist/core/commands/heartbeat.js.map +1 -1
- package/dist/core/commands/memo.js +1 -1
- package/dist/core/commands/memo.js.map +1 -1
- package/dist/core/commands/model.d.ts.map +1 -1
- package/dist/core/commands/model.js +32 -3
- package/dist/core/commands/model.js.map +1 -1
- package/dist/core/commands/plan.js +3 -3
- package/dist/core/commands/plan.js.map +1 -1
- package/dist/core/commands/router-compare.js +3 -3
- package/dist/core/commands/router-compare.js.map +1 -1
- package/dist/core/commands/service.d.ts.map +1 -1
- package/dist/core/commands/service.js +1 -3
- package/dist/core/commands/service.js.map +1 -1
- package/dist/core/commands/sessions.js +4 -4
- package/dist/core/commands/sessions.js.map +1 -1
- package/dist/core/commands/skill.js +1 -1
- package/dist/core/commands/skill.js.map +1 -1
- package/dist/core/commands/stats.js +1 -1
- package/dist/core/commands/stats.js.map +1 -1
- package/dist/core/commands/web.js +5 -5
- package/dist/core/commands/web.js.map +1 -1
- package/dist/core/config-schema.js +1 -1
- package/dist/core/coord-systems.d.ts +1 -1
- package/dist/core/coord-systems.js +4 -4
- package/dist/core/coord-systems.js.map +1 -1
- package/dist/core/event-bus.d.ts +5 -5
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js +3 -3
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/feature-flags.d.ts +2 -2
- package/dist/core/feature-flags.js +4 -4
- package/dist/core/feature-flags.js.map +1 -1
- package/dist/core/goal-rpc.js +2 -2
- package/dist/core/goal-rpc.js.map +1 -1
- package/dist/core/goals.d.ts +1 -1
- package/dist/core/goals.js +3 -3
- package/dist/core/goals.js.map +1 -1
- package/dist/core/heartbeat-store.d.ts +1 -1
- package/dist/core/heartbeat-store.d.ts.map +1 -1
- package/dist/core/heartbeat-store.js +3 -3
- package/dist/core/heartbeat-store.js.map +1 -1
- package/dist/core/heartbeat.js +4 -4
- package/dist/core/heartbeat.js.map +1 -1
- package/dist/core/intent-llm.d.ts +2 -2
- package/dist/core/intent-llm.js +5 -5
- package/dist/core/intent-llm.js.map +1 -1
- package/dist/core/job-board.d.ts +5 -5
- package/dist/core/job-board.d.ts.map +1 -1
- package/dist/core/job-board.js +17 -17
- package/dist/core/job-board.js.map +1 -1
- package/dist/core/llm/agent-loop.d.ts +3 -3
- package/dist/core/llm/agent-loop.js +14 -14
- package/dist/core/llm/agent-loop.js.map +1 -1
- package/dist/core/llm/{imhub-dispatcher.d.ts → agim-dispatcher.d.ts} +4 -4
- package/dist/core/llm/agim-dispatcher.d.ts.map +1 -0
- package/dist/core/llm/{imhub-dispatcher.js → agim-dispatcher.js} +43 -43
- package/dist/core/llm/agim-dispatcher.js.map +1 -0
- package/dist/core/llm/agim-rpc-server.js +17 -17
- package/dist/core/llm/agim-rpc-server.js.map +1 -1
- package/dist/core/llm/anthropic-provider.js +2 -1
- package/dist/core/llm/anthropic-provider.js.map +1 -1
- package/dist/core/llm/auto-compact.d.ts +3 -3
- package/dist/core/llm/auto-compact.d.ts.map +1 -1
- package/dist/core/llm/auto-compact.js +5 -5
- package/dist/core/llm/auto-compact.js.map +1 -1
- package/dist/core/llm/builtin-dispatcher.js +3 -3
- package/dist/core/llm/builtin-dispatcher.js.map +1 -1
- package/dist/core/llm/exec-dispatcher.d.ts +2 -2
- package/dist/core/llm/exec-dispatcher.d.ts.map +1 -1
- package/dist/core/llm/exec-dispatcher.js +20 -22
- package/dist/core/llm/exec-dispatcher.js.map +1 -1
- package/dist/core/llm/fs-dispatcher.js +8 -8
- package/dist/core/llm/fs-dispatcher.js.map +1 -1
- package/dist/core/llm/goal-critic.js +4 -4
- package/dist/core/llm/goal-critic.js.map +1 -1
- package/dist/core/llm/hallucination-detector.js +2 -2
- package/dist/core/llm/hallucination-detector.js.map +1 -1
- package/dist/core/llm/mcp-client.d.ts +1 -1
- package/dist/core/llm/mcp-client.js +3 -3
- package/dist/core/llm/mcp-client.js.map +1 -1
- package/dist/core/llm/mcp-registry.js +3 -3
- package/dist/core/llm/mcp-registry.js.map +1 -1
- package/dist/core/llm/openai-compat-provider.d.ts +1 -1
- package/dist/core/llm/openai-compat-provider.js +5 -4
- package/dist/core/llm/openai-compat-provider.js.map +1 -1
- package/dist/core/llm/provider-base.d.ts +5 -5
- package/dist/core/llm/provider-base.d.ts.map +1 -1
- package/dist/core/llm/provider-base.js +1 -1
- package/dist/core/llm/provider-base.js.map +1 -1
- package/dist/core/llm/secrets.d.ts +2 -2
- package/dist/core/llm/secrets.d.ts.map +1 -1
- package/dist/core/llm/tool-dispatcher.d.ts +1 -1
- package/dist/core/llm/web-dispatcher.d.ts +1 -1
- package/dist/core/llm/web-dispatcher.js +15 -15
- package/dist/core/llm/web-dispatcher.js.map +1 -1
- package/dist/core/logger.d.ts +1 -1
- package/dist/core/logger.js +3 -3
- package/dist/core/logger.js.map +1 -1
- package/dist/core/memo-rpc.js +3 -3
- package/dist/core/memo-rpc.js.map +1 -1
- package/dist/core/memory-consolidate.js +4 -4
- package/dist/core/memory-consolidate.js.map +1 -1
- package/dist/core/memory-distill.js +4 -4
- package/dist/core/memory-distill.js.map +1 -1
- package/dist/core/memory-distiller.js +9 -9
- package/dist/core/memory-distiller.js.map +1 -1
- package/dist/core/memory-vector.js +9 -9
- package/dist/core/memory-vector.js.map +1 -1
- package/dist/core/memory.js +2 -2
- package/dist/core/memory.js.map +1 -1
- package/dist/core/memos.js +6 -6
- package/dist/core/memos.js.map +1 -1
- package/dist/core/message-sink.js +13 -13
- package/dist/core/message-sink.js.map +1 -1
- package/dist/core/notification-evaluator.d.ts +2 -2
- package/dist/core/notification-evaluator.js +4 -4
- package/dist/core/notification-evaluator.js.map +1 -1
- package/dist/core/onboarding.js +3 -3
- package/dist/core/onboarding.js.map +1 -1
- package/dist/core/outbox.js +2 -2
- package/dist/core/outbox.js.map +1 -1
- package/dist/core/persona.d.ts +1 -1
- package/dist/core/persona.d.ts.map +1 -1
- package/dist/core/persona.js +2 -2
- package/dist/core/persona.js.map +1 -1
- package/dist/core/plan-history.js +1 -1
- package/dist/core/plan-history.js.map +1 -1
- package/dist/core/plan-intent.js +5 -5
- package/dist/core/plan-intent.js.map +1 -1
- package/dist/core/plan-mode-state.d.ts +1 -1
- package/dist/core/plan-mode-state.js +4 -4
- package/dist/core/plan-mode-state.js.map +1 -1
- package/dist/core/push-rpc.d.ts +1 -1
- package/dist/core/push-rpc.js +6 -6
- package/dist/core/push-rpc.js.map +1 -1
- package/dist/core/registry.d.ts +4 -4
- package/dist/core/registry.js +10 -10
- package/dist/core/registry.js.map +1 -1
- package/dist/core/reminders.js +1 -1
- package/dist/core/reminders.js.map +1 -1
- package/dist/core/restart-flow.d.ts.map +1 -1
- package/dist/core/restart-flow.js +5 -7
- package/dist/core/restart-flow.js.map +1 -1
- package/dist/core/router.d.ts +1 -1
- package/dist/core/router.js +5 -5
- package/dist/core/router.js.map +1 -1
- package/dist/core/schedule.d.ts +2 -2
- package/dist/core/schedule.js +4 -4
- package/dist/core/schedule.js.map +1 -1
- package/dist/core/self-protect.js +3 -3
- package/dist/core/self-protect.js.map +1 -1
- package/dist/core/sender-allowlist.js +7 -7
- package/dist/core/sender-allowlist.js.map +1 -1
- package/dist/core/sensitive-paths.d.ts.map +1 -1
- package/dist/core/sensitive-paths.js +1 -2
- package/dist/core/sensitive-paths.js.map +1 -1
- package/dist/core/session.js +2 -2
- package/dist/core/session.js.map +1 -1
- package/dist/core/skills/builtin/ECC_NOTICE.md +1 -1
- package/dist/core/skills/builtin/agim-memory/SKILL.md +1 -1
- package/dist/core/skills/builtin/agim-reminders/SKILL.md +2 -2
- package/dist/core/skills/builtin/agim-self/SKILL.md +9 -9
- package/dist/core/skills/builtin/agim-skill-discovery/SKILL.md +5 -5
- package/dist/core/skills/builtin/image-generation/SKILL.md +2 -2
- package/dist/core/skills/builtin/long-goal/SKILL.md +7 -7
- package/dist/core/skills/builtin/my/SKILL.md +2 -2
- package/dist/core/skills/builtin/skill-creator/SKILL.md +2 -2
- package/dist/core/skills/loader.d.ts +4 -4
- package/dist/core/skills/loader.js +22 -22
- package/dist/core/skills/loader.js.map +1 -1
- package/dist/core/skills-rpc.js +1 -1
- package/dist/core/skills-rpc.js.map +1 -1
- package/dist/core/transcribe.js +13 -13
- package/dist/core/transcribe.js.map +1 -1
- package/dist/core/tunnel.js +1 -1
- package/dist/core/tunnel.js.map +1 -1
- package/dist/core/types.d.ts +2 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/user-coord-prefs.js +1 -1
- package/dist/core/user-coord-prefs.js.map +1 -1
- package/dist/core/viewer-config.d.ts +8 -8
- package/dist/core/viewer-config.js +17 -17
- package/dist/core/viewer-config.js.map +1 -1
- package/dist/core/viewer-local.js +4 -4
- package/dist/core/viewer-local.js.map +1 -1
- package/dist/core/viewer-remote.js +1 -1
- package/dist/core/viewer-remote.js.map +1 -1
- package/dist/plugins/agents/acp/url-guard.d.ts +1 -1
- package/dist/plugins/agents/acp/url-guard.js +2 -2
- package/dist/plugins/agents/acp/url-guard.js.map +1 -1
- package/dist/plugins/agents/antigravity/ensure-mcp-config.d.ts +6 -6
- package/dist/plugins/agents/antigravity/ensure-mcp-config.d.ts.map +1 -1
- package/dist/plugins/agents/antigravity/ensure-mcp-config.js +12 -12
- package/dist/plugins/agents/antigravity/ensure-mcp-config.js.map +1 -1
- package/dist/plugins/agents/antigravity/index.js +10 -10
- package/dist/plugins/agents/antigravity/index.js.map +1 -1
- package/dist/plugins/agents/claude-code/index.d.ts +2 -2
- package/dist/plugins/agents/claude-code/index.js +16 -16
- package/dist/plugins/agents/claude-code/index.js.map +1 -1
- package/dist/plugins/agents/claude-code/mcp-approval-server.js +13 -13
- package/dist/plugins/agents/claude-code/mcp-approval-server.js.map +1 -1
- package/dist/plugins/agents/codex/build-mcp-cli-args.d.ts +4 -4
- package/dist/plugins/agents/codex/build-mcp-cli-args.js +14 -14
- package/dist/plugins/agents/codex/build-mcp-cli-args.js.map +1 -1
- package/dist/plugins/agents/codex/index.d.ts +3 -3
- package/dist/plugins/agents/codex/index.js +14 -14
- package/dist/plugins/agents/codex/index.js.map +1 -1
- package/dist/plugins/agents/cursor/ensure-mcp-config.d.ts +5 -5
- package/dist/plugins/agents/cursor/ensure-mcp-config.d.ts.map +1 -1
- package/dist/plugins/agents/cursor/ensure-mcp-config.js +11 -11
- package/dist/plugins/agents/cursor/ensure-mcp-config.js.map +1 -1
- package/dist/plugins/agents/cursor/index.d.ts +1 -1
- package/dist/plugins/agents/cursor/index.js +12 -12
- package/dist/plugins/agents/cursor/index.js.map +1 -1
- package/dist/plugins/agents/native/index.d.ts +1 -0
- package/dist/plugins/agents/native/index.d.ts.map +1 -1
- package/dist/plugins/agents/native/index.js +28 -14
- package/dist/plugins/agents/native/index.js.map +1 -1
- package/dist/plugins/agents/native/tool-registry.d.ts +3 -3
- package/dist/plugins/agents/native/tool-registry.d.ts.map +1 -1
- package/dist/plugins/agents/native/tool-registry.js +5 -5
- package/dist/plugins/agents/native/tool-registry.js.map +1 -1
- package/dist/plugins/agents/opencode/ensure-mcp-config.d.ts +1 -1
- package/dist/plugins/agents/opencode/ensure-mcp-config.js +9 -9
- package/dist/plugins/agents/opencode/ensure-mcp-config.js.map +1 -1
- package/dist/plugins/agents/opencode/index.js +3 -3
- package/dist/plugins/agents/opencode/index.js.map +1 -1
- package/dist/plugins/agents/opencode/opencode-http-adapter.d.ts +4 -0
- package/dist/plugins/agents/opencode/opencode-http-adapter.d.ts.map +1 -1
- package/dist/plugins/agents/opencode/opencode-http-adapter.js +16 -12
- package/dist/plugins/agents/opencode/opencode-http-adapter.js.map +1 -1
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.d.ts +2 -2
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.d.ts.map +1 -1
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.js +7 -5
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.js.map +1 -1
- package/dist/plugins/agents/opencode/serve-manager.d.ts +1 -1
- package/dist/plugins/agents/opencode/serve-manager.d.ts.map +1 -1
- package/dist/plugins/agents/opencode/serve-manager.js +10 -10
- package/dist/plugins/agents/opencode/serve-manager.js.map +1 -1
- package/dist/plugins/agents/pi-native/factory.d.ts.map +1 -1
- package/dist/plugins/agents/pi-native/factory.js +29 -13
- package/dist/plugins/agents/pi-native/factory.js.map +1 -1
- package/dist/plugins/agents/pi-native/index.d.ts +14 -3
- package/dist/plugins/agents/pi-native/index.d.ts.map +1 -1
- package/dist/plugins/agents/pi-native/index.js +58 -4
- package/dist/plugins/agents/pi-native/index.js.map +1 -1
- package/dist/plugins/agents/pi-native/provider-resolver.d.ts +2 -0
- package/dist/plugins/agents/pi-native/provider-resolver.d.ts.map +1 -1
- package/dist/plugins/agents/pi-native/provider-resolver.js +9 -1
- package/dist/plugins/agents/pi-native/provider-resolver.js.map +1 -1
- package/dist/plugins/agents/pi-native/tool-bridge.js +1 -1
- package/dist/plugins/agents/pi-native/tool-bridge.js.map +1 -1
- package/dist/plugins/agents/pi-native/tools.js +4 -4
- package/dist/plugins/agents/pi-native/tools.js.map +1 -1
- package/dist/plugins/messengers/dingtalk/dingtalk-adapter.d.ts +1 -1
- package/dist/plugins/messengers/dingtalk/dingtalk-adapter.js +2 -2
- package/dist/plugins/messengers/dingtalk/dingtalk-adapter.js.map +1 -1
- package/dist/plugins/messengers/email/email-adapter.js +15 -15
- package/dist/plugins/messengers/email/email-adapter.js.map +1 -1
- package/dist/plugins/messengers/telegram/media-download.d.ts +1 -1
- package/dist/plugins/messengers/telegram/media-download.js +4 -4
- package/dist/plugins/messengers/telegram/media-download.js.map +1 -1
- package/dist/plugins/messengers/telegram/telegram-adapter.d.ts +1 -1
- package/dist/plugins/messengers/telegram/telegram-adapter.js +3 -3
- package/dist/plugins/messengers/telegram/telegram-adapter.js.map +1 -1
- package/dist/plugins/messengers/wechat/context-store.js +1 -1
- package/dist/plugins/messengers/wechat/context-store.js.map +1 -1
- package/dist/plugins/messengers/wechat/ilink-adapter.js +1 -1
- package/dist/plugins/messengers/wechat/ilink-adapter.js.map +1 -1
- package/dist/plugins/messengers/wechat/ilink-client.js +1 -1
- package/dist/plugins/messengers/wechat/ilink-client.js.map +1 -1
- package/dist/plugins/messengers/wechat/media-download.js +1 -1
- package/dist/plugins/messengers/wechat/media-download.js.map +1 -1
- package/dist/scripts/migrate-gcj02-to-wgs84.js +1 -1
- package/dist/scripts/migrate-gcj02-to-wgs84.js.map +1 -1
- package/dist/web/public/assets/a2a-CTsDMefo.js +7 -0
- package/dist/web/public/assets/a2a-CTsDMefo.js.map +1 -0
- package/dist/web/public/assets/{activity-BnlFGipw.js → activity-ul8Os7Pz.js} +2 -2
- package/dist/web/public/assets/{activity-BnlFGipw.js.map → activity-ul8Os7Pz.js.map} +1 -1
- package/dist/web/public/assets/{admins-CH84Rw1d.js → admins-ByMAuquy.js} +3 -3
- package/dist/web/public/assets/{admins-CH84Rw1d.js.map → admins-ByMAuquy.js.map} +1 -1
- package/dist/web/public/assets/agents-Ds1zyxBj.js +2 -0
- package/dist/web/public/assets/agents-Ds1zyxBj.js.map +1 -0
- package/dist/web/public/assets/{approvals-DnzjbDR6.js → approvals-DOWlWI7Z.js} +3 -3
- package/dist/web/public/assets/{approvals-DnzjbDR6.js.map → approvals-DOWlWI7Z.js.map} +1 -1
- package/dist/web/public/assets/{arrow-down-DxlRHrs8.js → arrow-down-7i0xwCI2.js} +2 -2
- package/dist/web/public/assets/{arrow-down-DxlRHrs8.js.map → arrow-down-7i0xwCI2.js.map} +1 -1
- package/dist/web/public/assets/arrow-right-A889Wof8.js +7 -0
- package/dist/web/public/assets/arrow-right-A889Wof8.js.map +1 -0
- package/dist/web/public/assets/{arrow-up-CAiQ2jy-.js → arrow-up-Dm0U4-6U.js} +2 -2
- package/dist/web/public/assets/{arrow-up-CAiQ2jy-.js.map → arrow-up-Dm0U4-6U.js.map} +1 -1
- package/dist/web/public/assets/{asks-DyUQopay.js → asks-DGuBsrJ7.js} +3 -3
- package/dist/web/public/assets/{asks-DyUQopay.js.map → asks-DGuBsrJ7.js.map} +1 -1
- package/dist/web/public/assets/{audit-BVHTMS82.js → audit-BRXsplJ2.js} +2 -2
- package/dist/web/public/assets/{audit-BVHTMS82.js.map → audit-BRXsplJ2.js.map} +1 -1
- package/dist/web/public/assets/{bell-D7iS7ctN.js → bell-B-UdeJsp.js} +2 -2
- package/dist/web/public/assets/{bell-D7iS7ctN.js.map → bell-B-UdeJsp.js.map} +1 -1
- package/dist/web/public/assets/bgjobs-CcRiffyJ.js +2 -0
- package/dist/web/public/assets/bgjobs-CcRiffyJ.js.map +1 -0
- package/dist/web/public/assets/book-open-CSCq5cjL.js +7 -0
- package/dist/web/public/assets/book-open-CSCq5cjL.js.map +1 -0
- package/dist/web/public/assets/{brain-CCF25Egu.js → brain-Dl4DF5kX.js} +2 -2
- package/dist/web/public/assets/{brain-CCF25Egu.js.map → brain-Dl4DF5kX.js.map} +1 -1
- package/dist/web/public/assets/{briefcase-BMLMD8nM.js → briefcase-CeKUkFSq.js} +2 -2
- package/dist/web/public/assets/{briefcase-BMLMD8nM.js.map → briefcase-CeKUkFSq.js.map} +1 -1
- package/dist/web/public/assets/chat-rLJMdJBk.js +12 -0
- package/dist/web/public/assets/chat-rLJMdJBk.js.map +1 -0
- package/dist/web/public/assets/{chevron-left-BDO3vw8G.js → chevron-left-01fAFVpo.js} +2 -2
- package/dist/web/public/assets/{chevron-left-BDO3vw8G.js.map → chevron-left-01fAFVpo.js.map} +1 -1
- package/dist/web/public/assets/{chevron-right-5ZUC2opg.js → chevron-right-CFRb-SM_.js} +3 -3
- package/dist/web/public/assets/{chevron-right-5ZUC2opg.js.map → chevron-right-CFRb-SM_.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-big-DHAHqUlS.js → circle-check-big-DBg2BD6o.js} +2 -2
- package/dist/web/public/assets/{circle-check-big-DHAHqUlS.js.map → circle-check-big-DBg2BD6o.js.map} +1 -1
- package/dist/web/public/assets/{circle-x-7VaoZ7dY.js → circle-x-CqFMzO-x.js} +2 -2
- package/dist/web/public/assets/{circle-x-7VaoZ7dY.js.map → circle-x-CqFMzO-x.js.map} +1 -1
- package/dist/web/public/assets/clipboard-list-lnqdk2_J.js +7 -0
- package/dist/web/public/assets/clipboard-list-lnqdk2_J.js.map +1 -0
- package/dist/web/public/assets/{clock-ZPVXnd6V.js → clock-4hd1joQe.js} +3 -3
- package/dist/web/public/assets/{clock-ZPVXnd6V.js.map → clock-4hd1joQe.js.map} +1 -1
- package/dist/web/public/assets/confirm-dialog-BDb0NLny.js +2 -0
- package/dist/web/public/assets/{confirm-dialog-CgpJL9oN.js.map → confirm-dialog-BDb0NLny.js.map} +1 -1
- package/dist/web/public/assets/{copy-BaZl52tH.js → copy-CD4A7VD8.js} +3 -3
- package/dist/web/public/assets/{copy-BaZl52tH.js.map → copy-CD4A7VD8.js.map} +1 -1
- package/dist/web/public/assets/dashboard-CG3WiG7h.js +2 -0
- package/dist/web/public/assets/dashboard-CG3WiG7h.js.map +1 -0
- package/dist/web/public/assets/{data-table-BLYG79TX.js → data-table-BkUshOZz.js} +2 -2
- package/dist/web/public/assets/{data-table-BLYG79TX.js.map → data-table-BkUshOZz.js.map} +1 -1
- package/dist/web/public/assets/database-lQzk64rV.js +7 -0
- package/dist/web/public/assets/database-lQzk64rV.js.map +1 -0
- package/dist/web/public/assets/distill-CPurVW3v.js +7 -0
- package/dist/web/public/assets/distill-CPurVW3v.js.map +1 -0
- package/dist/web/public/assets/{download-bzCepctg.js → download-CVZnHcwj.js} +2 -2
- package/dist/web/public/assets/{download-bzCepctg.js.map → download-CVZnHcwj.js.map} +1 -1
- package/dist/web/public/assets/dropdown-menu-BNH5SrVb.js +7 -0
- package/dist/web/public/assets/dropdown-menu-BNH5SrVb.js.map +1 -0
- package/dist/web/public/assets/email-YlI4MWLp.js +7 -0
- package/dist/web/public/assets/email-YlI4MWLp.js.map +1 -0
- package/dist/web/public/assets/{empty-state-96qpPTNg.js → empty-state-CuiqdZiB.js} +2 -2
- package/dist/web/public/assets/{empty-state-96qpPTNg.js.map → empty-state-CuiqdZiB.js.map} +1 -1
- package/dist/web/public/assets/{external-link-J4nIlCem.js → external-link-1WPpVvdu.js} +2 -2
- package/dist/web/public/assets/{external-link-J4nIlCem.js.map → external-link-1WPpVvdu.js.map} +1 -1
- package/dist/web/public/assets/{eye-BvsBLK42.js → eye-BfPyNFzk.js} +2 -2
- package/dist/web/public/assets/{eye-BvsBLK42.js.map → eye-BfPyNFzk.js.map} +1 -1
- package/dist/web/public/assets/{facts-DMucDXYd.js → facts-xT_24pH8.js} +2 -2
- package/dist/web/public/assets/{facts-DMucDXYd.js.map → facts-xT_24pH8.js.map} +1 -1
- package/dist/web/public/assets/file-text-BxfdLM0-.js +7 -0
- package/dist/web/public/assets/file-text-BxfdLM0-.js.map +1 -0
- package/dist/web/public/assets/{goals-B9ETHgL0.js → goals-C8ZQfbhj.js} +3 -3
- package/dist/web/public/assets/{goals-B9ETHgL0.js.map → goals-C8ZQfbhj.js.map} +1 -1
- package/dist/web/public/assets/health-A2StNEfn.js +2 -0
- package/dist/web/public/assets/{health-DLzZ7KHc.js.map → health-A2StNEfn.js.map} +1 -1
- package/dist/web/public/assets/{heart-pulse-CVEeD2sz.js → heart-pulse-DXlE9oic.js} +2 -2
- package/dist/web/public/assets/{heart-pulse-CVEeD2sz.js.map → heart-pulse-DXlE9oic.js.map} +1 -1
- package/dist/web/public/assets/{heartbeat-B1BEBHge.js → heartbeat-ClO5gJrj.js} +3 -3
- package/dist/web/public/assets/{heartbeat-B1BEBHge.js.map → heartbeat-ClO5gJrj.js.map} +1 -1
- package/dist/web/public/assets/hot-bfTA-V_z.js +7 -0
- package/dist/web/public/assets/{hot-Yc7iad0D.js.map → hot-bfTA-V_z.js.map} +1 -1
- package/dist/web/public/assets/index-Bi2qWb-u.css +1 -0
- package/dist/web/public/assets/index-DCfdN5R7.js +244 -0
- package/dist/web/public/assets/index-DCfdN5R7.js.map +1 -0
- package/dist/web/public/assets/{injection-Ca-9gbo0.js → injection-omvCR6-p.js} +2 -2
- package/dist/web/public/assets/{injection-Ca-9gbo0.js.map → injection-omvCR6-p.js.map} +1 -1
- package/dist/web/public/assets/{installed-Zz34apdi.js → installed-DL6r3ktm.js} +4 -9
- package/dist/web/public/assets/installed-DL6r3ktm.js.map +1 -0
- package/dist/web/public/assets/jobs-Biy5lYd4.js +2 -0
- package/dist/web/public/assets/jobs-Biy5lYd4.js.map +1 -0
- package/dist/web/public/assets/layout-BLm6NJ3V.js +2 -0
- package/dist/web/public/assets/layout-BLm6NJ3V.js.map +1 -0
- package/dist/web/public/assets/layout-BTKafRVZ.js +2 -0
- package/dist/web/public/assets/layout-BTKafRVZ.js.map +1 -0
- package/dist/web/public/assets/layout-Bm-2s2fp.js +2 -0
- package/dist/web/public/assets/layout-Bm-2s2fp.js.map +1 -0
- package/dist/web/public/assets/layout-DsZ8eR4i.js +2 -0
- package/dist/web/public/assets/layout-DsZ8eR4i.js.map +1 -0
- package/dist/web/public/assets/{layout-CtDc2i7w.js → layout-sxvovjEH.js} +2 -2
- package/dist/web/public/assets/{layout-CtDc2i7w.js.map → layout-sxvovjEH.js.map} +1 -1
- package/dist/web/public/assets/llm-JjZDbBvJ.js +37 -0
- package/dist/web/public/assets/llm-JjZDbBvJ.js.map +1 -0
- package/dist/web/public/assets/loader-circle-DDdmcH0k.js +7 -0
- package/dist/web/public/assets/{loader-circle-D8L1w9c1.js.map → loader-circle-DDdmcH0k.js.map} +1 -1
- package/dist/web/public/assets/{map-pin--GMunU9n.js → map-pin-C_jAxukI.js} +2 -2
- package/dist/web/public/assets/{map-pin--GMunU9n.js.map → map-pin-C_jAxukI.js.map} +1 -1
- package/dist/web/public/assets/{mcp-DhnXhO9B.js → mcp-vKajK1F8.js} +3 -3
- package/dist/web/public/assets/{mcp-DhnXhO9B.js.map → mcp-vKajK1F8.js.map} +1 -1
- package/dist/web/public/assets/memos-DAt4k3DO.js +7 -0
- package/dist/web/public/assets/memos-DAt4k3DO.js.map +1 -0
- package/dist/web/public/assets/messengers-GYVTFlAj.js +2 -0
- package/dist/web/public/assets/messengers-GYVTFlAj.js.map +1 -0
- package/dist/web/public/assets/{mobile-CUZ359rQ.js → mobile-VUyTo40E.js} +3 -3
- package/dist/web/public/assets/{mobile-CUZ359rQ.js.map → mobile-VUyTo40E.js.map} +1 -1
- package/dist/web/public/assets/{network-BBdRdrH_.js → network-BUeWK3bs.js} +2 -2
- package/dist/web/public/assets/{network-BBdRdrH_.js.map → network-BUeWK3bs.js.map} +1 -1
- package/dist/web/public/assets/outbox-CEE0rwN3.js +2 -0
- package/dist/web/public/assets/outbox-CEE0rwN3.js.map +1 -0
- package/dist/web/public/assets/overview-BSOZ5gTD.js +12 -0
- package/dist/web/public/assets/overview-BSOZ5gTD.js.map +1 -0
- package/dist/web/public/assets/overview-COop5K2Y.js +12 -0
- package/dist/web/public/assets/overview-COop5K2Y.js.map +1 -0
- package/dist/web/public/assets/overview-DeH5ud6d.js +2 -0
- package/dist/web/public/assets/overview-DeH5ud6d.js.map +1 -0
- package/dist/web/public/assets/{pagination-DcsgDXXM.js → pagination-BBicLzXP.js} +3 -3
- package/dist/web/public/assets/{pagination-DcsgDXXM.js.map → pagination-BBicLzXP.js.map} +1 -1
- package/dist/web/public/assets/persona-CElXQZ4p.js +2 -0
- package/dist/web/public/assets/{persona-ig2ac4mY.js.map → persona-CElXQZ4p.js.map} +1 -1
- package/dist/web/public/assets/{plans-Bzbk8eUr.js → plans-Bo5LlLeH.js} +3 -8
- package/dist/web/public/assets/plans-Bo5LlLeH.js.map +1 -0
- package/dist/web/public/assets/{play-Di1jqulh.js → play-DX5wp4WH.js} +2 -2
- package/dist/web/public/assets/{play-Di1jqulh.js.map → play-DX5wp4WH.js.map} +1 -1
- package/dist/web/public/assets/{plus-C2zyJ1mF.js → plus-DH4J_YhN.js} +2 -2
- package/dist/web/public/assets/{plus-C2zyJ1mF.js.map → plus-DH4J_YhN.js.map} +1 -1
- package/dist/web/public/assets/policy-BrgOuDt_.js +2 -0
- package/dist/web/public/assets/policy-BrgOuDt_.js.map +1 -0
- package/dist/web/public/assets/{qr-code-C-ACsKv_.js → qr-code-YrEuhMPC.js} +2 -2
- package/dist/web/public/assets/{qr-code-C-ACsKv_.js.map → qr-code-YrEuhMPC.js.map} +1 -1
- package/dist/web/public/assets/{refresh-ccw-7HdadG5V.js → refresh-ccw-DlAd-eTQ.js} +2 -2
- package/dist/web/public/assets/{refresh-ccw-7HdadG5V.js.map → refresh-ccw-DlAd-eTQ.js.map} +1 -1
- package/dist/web/public/assets/{reminders-BDeiVYTC.js → reminders-DBEE0zXG.js} +3 -3
- package/dist/web/public/assets/{reminders-BDeiVYTC.js.map → reminders-DBEE0zXG.js.map} +1 -1
- package/dist/web/public/assets/{save-BYFmz9gD.js → save-BDOtZrfp.js} +2 -2
- package/dist/web/public/assets/{save-BYFmz9gD.js.map → save-BDOtZrfp.js.map} +1 -1
- package/dist/web/public/assets/schedules-DAyhVI8-.js +2 -0
- package/dist/web/public/assets/schedules-DAyhVI8-.js.map +1 -0
- package/dist/web/public/assets/search-55mtgHrB.js +17 -0
- package/dist/web/public/assets/search-55mtgHrB.js.map +1 -0
- package/dist/web/public/assets/{search-DxkvV-8p.js → search-CAICU3aU.js} +2 -2
- package/dist/web/public/assets/{search-DxkvV-8p.js.map → search-CAICU3aU.js.map} +1 -1
- package/dist/web/public/assets/security-CbP4QgVp.js +2 -0
- package/dist/web/public/assets/security-CbP4QgVp.js.map +1 -0
- package/dist/web/public/assets/server-Dg4e8pvm.js +7 -0
- package/dist/web/public/assets/server-Dg4e8pvm.js.map +1 -0
- package/dist/web/public/assets/service-gWZa3sup.js +7 -0
- package/dist/web/public/assets/service-gWZa3sup.js.map +1 -0
- package/dist/web/public/assets/{shield-alert-DXGk9Rak.js → shield-alert-DOKK9EnJ.js} +2 -2
- package/dist/web/public/assets/{shield-alert-DXGk9Rak.js.map → shield-alert-DOKK9EnJ.js.map} +1 -1
- package/dist/web/public/assets/sparkles-G0QIs9nP.js +7 -0
- package/dist/web/public/assets/sparkles-G0QIs9nP.js.map +1 -0
- package/dist/web/public/assets/start-D-abhl3q.js +2 -0
- package/dist/web/public/assets/start-D-abhl3q.js.map +1 -0
- package/dist/web/public/assets/{status-badge-D0nbFSom.js → status-badge-CyLdpsXq.js} +2 -2
- package/dist/web/public/assets/{status-badge-D0nbFSom.js.map → status-badge-CyLdpsXq.js.map} +1 -1
- package/dist/web/public/assets/{subtasks-DFiAXvDp.js → subtasks-BnEjSGUR.js} +3 -3
- package/dist/web/public/assets/{subtasks-DFiAXvDp.js.map → subtasks-BnEjSGUR.js.map} +1 -1
- package/dist/web/public/assets/{table-_WsrnZ_T.js → table-sCMZBe_Z.js} +2 -2
- package/dist/web/public/assets/{table-_WsrnZ_T.js.map → table-sCMZBe_Z.js.map} +1 -1
- package/dist/web/public/assets/terminal-_pXeEjXG.js +7 -0
- package/dist/web/public/assets/terminal-_pXeEjXG.js.map +1 -0
- package/dist/web/public/assets/{topn-C2PHE4tX.js → topn-D1B-gS1M.js} +3 -3
- package/dist/web/public/assets/{topn-C2PHE4tX.js.map → topn-D1B-gS1M.js.map} +1 -1
- package/dist/web/public/assets/{trash-2-1Km439fW.js → trash-2-D2x2UPuZ.js} +2 -2
- package/dist/web/public/assets/{trash-2-1Km439fW.js.map → trash-2-D2x2UPuZ.js.map} +1 -1
- package/dist/web/public/assets/use-a2a-C98e2Via.js +2 -0
- package/dist/web/public/assets/use-a2a-C98e2Via.js.map +1 -0
- package/dist/web/public/assets/{use-agim-skills-COSqZrdH.js → use-agim-skills-BbuJP3NT.js} +2 -2
- package/dist/web/public/assets/{use-agim-skills-COSqZrdH.js.map → use-agim-skills-BbuJP3NT.js.map} +1 -1
- package/dist/web/public/assets/use-background-tasks-CwFmOokw.js +2 -0
- package/dist/web/public/assets/{use-background-tasks-wCL7jn68.js.map → use-background-tasks-CwFmOokw.js.map} +1 -1
- package/dist/web/public/assets/use-jobs-BJjeJ5lh.js +2 -0
- package/dist/web/public/assets/use-jobs-BJjeJ5lh.js.map +1 -0
- package/dist/web/public/assets/use-memory-CXDwKCco.js +2 -0
- package/dist/web/public/assets/{use-memory-B9oRyQC8.js.map → use-memory-CXDwKCco.js.map} +1 -1
- package/dist/web/public/assets/use-observability-CY5ZUPrC.js +2 -0
- package/dist/web/public/assets/{use-observability-DGkN80qa.js.map → use-observability-CY5ZUPrC.js.map} +1 -1
- package/dist/web/public/assets/use-outbox-DT_XWB_7.js +7 -0
- package/dist/web/public/assets/use-outbox-DT_XWB_7.js.map +1 -0
- package/dist/web/public/assets/use-schedules-D4W8fMwo.js +7 -0
- package/dist/web/public/assets/use-schedules-D4W8fMwo.js.map +1 -0
- package/dist/web/public/assets/use-settings-DGIjmUX0.js +2 -0
- package/dist/web/public/assets/use-settings-DGIjmUX0.js.map +1 -0
- package/dist/web/public/assets/use-skills-D2bMM580.js +7 -0
- package/dist/web/public/assets/use-skills-D2bMM580.js.map +1 -0
- package/dist/web/public/assets/use-vector-BYOFwjU0.js +2 -0
- package/dist/web/public/assets/use-vector-BYOFwjU0.js.map +1 -0
- package/dist/web/public/assets/use-workspace-CuytyHwb.js +2 -0
- package/dist/web/public/assets/{use-workspace-BDXP5XO1.js.map → use-workspace-CuytyHwb.js.map} +1 -1
- package/dist/web/public/assets/vector-CL8ezpSR.js +2 -0
- package/dist/web/public/assets/vector-CL8ezpSR.js.map +1 -0
- package/dist/web/public/assets/viewer-CD0iEfPU.js +7 -0
- package/dist/web/public/assets/viewer-CD0iEfPU.js.map +1 -0
- package/dist/web/public/assets/workspace-BA1_hso3.js +17 -0
- package/dist/web/public/assets/workspace-BA1_hso3.js.map +1 -0
- package/dist/web/public/assets/workspaces-DyGLJUgB.js +7 -0
- package/dist/web/public/assets/workspaces-DyGLJUgB.js.map +1 -0
- package/dist/web/public/index.html +2 -2
- package/dist/web/public/loc.html +1 -1
- package/dist/web/public/login.html +2 -2
- package/dist/web/server.d.ts +2 -5
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +256 -122
- package/dist/web/server.js.map +1 -1
- package/package.json +2 -3
- package/dist/core/llm/imhub-dispatcher.d.ts.map +0 -1
- package/dist/core/llm/imhub-dispatcher.js.map +0 -1
- package/dist/web/public/assets/a2a-CZxwvgvh.js +0 -7
- package/dist/web/public/assets/a2a-CZxwvgvh.js.map +0 -1
- package/dist/web/public/assets/agents-CFB4Uj6b.js +0 -7
- package/dist/web/public/assets/agents-CFB4Uj6b.js.map +0 -1
- package/dist/web/public/assets/bgjobs-BYCQhd_1.js +0 -7
- package/dist/web/public/assets/bgjobs-BYCQhd_1.js.map +0 -1
- package/dist/web/public/assets/chat-DPkKy5y_.js +0 -17
- package/dist/web/public/assets/chat-DPkKy5y_.js.map +0 -1
- package/dist/web/public/assets/circle-check-COhM5JsK.js +0 -7
- package/dist/web/public/assets/circle-check-COhM5JsK.js.map +0 -1
- package/dist/web/public/assets/confirm-dialog-CgpJL9oN.js +0 -2
- package/dist/web/public/assets/distill-D9p8O8Jf.js +0 -7
- package/dist/web/public/assets/distill-D9p8O8Jf.js.map +0 -1
- package/dist/web/public/assets/email-Douv-rZ5.js +0 -7
- package/dist/web/public/assets/email-Douv-rZ5.js.map +0 -1
- package/dist/web/public/assets/health-DLzZ7KHc.js +0 -2
- package/dist/web/public/assets/hot-Yc7iad0D.js +0 -12
- package/dist/web/public/assets/index-DY2Zglku.js +0 -209
- package/dist/web/public/assets/index-DY2Zglku.js.map +0 -1
- package/dist/web/public/assets/index-DknVjPYB.css +0 -1
- package/dist/web/public/assets/installed-Zz34apdi.js.map +0 -1
- package/dist/web/public/assets/jobs-CtVRpl0r.js +0 -2
- package/dist/web/public/assets/jobs-CtVRpl0r.js.map +0 -1
- package/dist/web/public/assets/layout-BTCLgkgN.js +0 -2
- package/dist/web/public/assets/layout-BTCLgkgN.js.map +0 -1
- package/dist/web/public/assets/layout-Cxch59sI.js +0 -2
- package/dist/web/public/assets/layout-Cxch59sI.js.map +0 -1
- package/dist/web/public/assets/layout-DnANw2Q2.js +0 -2
- package/dist/web/public/assets/layout-DnANw2Q2.js.map +0 -1
- package/dist/web/public/assets/layout-yIZG87fq.js +0 -2
- package/dist/web/public/assets/layout-yIZG87fq.js.map +0 -1
- package/dist/web/public/assets/llm-CMMa85Ig.js +0 -27
- package/dist/web/public/assets/llm-CMMa85Ig.js.map +0 -1
- package/dist/web/public/assets/loader-circle-D8L1w9c1.js +0 -7
- package/dist/web/public/assets/memos-DQZc7llR.js +0 -12
- package/dist/web/public/assets/memos-DQZc7llR.js.map +0 -1
- package/dist/web/public/assets/messengers-DwSmauLs.js +0 -2
- package/dist/web/public/assets/messengers-DwSmauLs.js.map +0 -1
- package/dist/web/public/assets/outbox-CmN0U35l.js +0 -7
- package/dist/web/public/assets/outbox-CmN0U35l.js.map +0 -1
- package/dist/web/public/assets/persona-ig2ac4mY.js +0 -2
- package/dist/web/public/assets/plans-Bzbk8eUr.js.map +0 -1
- package/dist/web/public/assets/policy-yD1c2Pcn.js +0 -2
- package/dist/web/public/assets/policy-yD1c2Pcn.js.map +0 -1
- package/dist/web/public/assets/schedules-BddzBrxI.js +0 -7
- package/dist/web/public/assets/schedules-BddzBrxI.js.map +0 -1
- package/dist/web/public/assets/search-B8PlbtLg.js +0 -17
- package/dist/web/public/assets/search-B8PlbtLg.js.map +0 -1
- package/dist/web/public/assets/security-DpOGp3nS.js +0 -2
- package/dist/web/public/assets/security-DpOGp3nS.js.map +0 -1
- package/dist/web/public/assets/service-BsY8CaNG.js +0 -7
- package/dist/web/public/assets/service-BsY8CaNG.js.map +0 -1
- package/dist/web/public/assets/use-background-tasks-wCL7jn68.js +0 -2
- package/dist/web/public/assets/use-memory-B9oRyQC8.js +0 -2
- package/dist/web/public/assets/use-observability-DGkN80qa.js +0 -2
- package/dist/web/public/assets/use-settings-Co-iafXD.js +0 -2
- package/dist/web/public/assets/use-settings-Co-iafXD.js.map +0 -1
- package/dist/web/public/assets/use-workspace-BDXP5XO1.js +0 -2
- package/dist/web/public/assets/vector-BfIEx8xX.js +0 -2
- package/dist/web/public/assets/vector-BfIEx8xX.js.map +0 -1
- package/dist/web/public/assets/viewer-BPMZkT05.js +0 -12
- package/dist/web/public/assets/viewer-BPMZkT05.js.map +0 -1
- package/dist/web/public/assets/workspace-BbCchiHE.js +0 -17
- package/dist/web/public/assets/workspace-BbCchiHE.js.map +0 -1
- package/dist/web/public/assets/workspaces-5HE7pjdA.js +0 -7
- package/dist/web/public/assets/workspaces-5HE7pjdA.js.map +0 -1
package/dist/core/agent-cwd.js
CHANGED
|
@@ -15,33 +15,77 @@
|
|
|
15
15
|
// `~/.agim-workspaces/<agent>/`. Non-IM calls (web UI, scheduler,
|
|
16
16
|
// intent-llm judge) keep the inherited cwd, preserving prior behavior.
|
|
17
17
|
//
|
|
18
|
-
// Override path: `
|
|
19
|
-
// `
|
|
18
|
+
// Override path: `AGIM_<AGENT>_CWD` env var beats everything (e.g.
|
|
19
|
+
// `AGIM_CLAUDE_CODE_CWD=/srv/foo`). Useful for migration tests and for
|
|
20
20
|
// future per-tenant deployments.
|
|
21
21
|
import { join } from 'node:path';
|
|
22
|
-
import { mkdir, writeFile, access } from 'node:fs/promises';
|
|
22
|
+
import { mkdir, writeFile, access, readFile, appendFile } from 'node:fs/promises';
|
|
23
23
|
import { AGIM_WORKSPACES } from './agim-paths.js';
|
|
24
24
|
/** Root for all per-agent IM workspaces. Kept stable so memory persists.
|
|
25
|
-
* Honors the
|
|
26
|
-
*
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return process.env.IMHUB_WORKSPACES_ROOT || AGIM_WORKSPACES;
|
|
25
|
+
* Honors the `AGIM_WORKSPACES_ROOT` env override; otherwise resolves via
|
|
26
|
+
* core/agim-paths. */
|
|
27
|
+
export function agimWorkspacesRoot() {
|
|
28
|
+
return process.env.AGIM_WORKSPACES_ROOT || AGIM_WORKSPACES;
|
|
30
29
|
}
|
|
31
30
|
/** Default cwd for a given agent under the workspaces root. */
|
|
32
31
|
export function defaultAgentCwd(agentName) {
|
|
33
|
-
return join(
|
|
32
|
+
return join(agimWorkspacesRoot(), agentName);
|
|
34
33
|
}
|
|
35
34
|
/** Env var name for an explicit override on a given agent. */
|
|
36
35
|
function envKeyFor(agentName) {
|
|
37
|
-
// claude-code ->
|
|
38
|
-
return `
|
|
36
|
+
// claude-code -> AGIM_CLAUDE_CODE_CWD
|
|
37
|
+
return `AGIM_${agentName.replace(/-/g, '_').toUpperCase()}_CWD`;
|
|
38
|
+
}
|
|
39
|
+
export function roleFileForAgent(agentName) {
|
|
40
|
+
return agentName === 'claude-code' ? 'CLAUDE.md' : 'AGENTS.md';
|
|
41
|
+
}
|
|
42
|
+
export const AGIM_MEMORY_LINK_START = '<!-- agim:memory-link:start -->';
|
|
43
|
+
const AGIM_MEMORY_LINK_END = '<!-- agim:memory-link:end -->';
|
|
44
|
+
const AGIM_MEMORY_LINK_BLOCK = `${AGIM_MEMORY_LINK_START}
|
|
45
|
+
## Agim 工作区记忆 / Workspace memory
|
|
46
|
+
|
|
47
|
+
- 如果本工作区根目录存在 \`MEMORY.md\`,在开始处理 Agim 对话前先读取它。
|
|
48
|
+
- Treat \`MEMORY.md\` as operator-maintained long-term context for this agent.
|
|
49
|
+
- 如果它与本轮用户消息或更高优先级指令冲突,以当前消息和更高优先级指令为准。
|
|
50
|
+
${AGIM_MEMORY_LINK_END}`;
|
|
51
|
+
function appendSeparator(raw) {
|
|
52
|
+
if (raw.length === 0)
|
|
53
|
+
return '';
|
|
54
|
+
if (raw.endsWith('\n\n'))
|
|
55
|
+
return '';
|
|
56
|
+
if (raw.endsWith('\n'))
|
|
57
|
+
return '\n';
|
|
58
|
+
return '\n\n';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Migration hook for the Web-created MEMORY.md file. We preserve the user's
|
|
62
|
+
* CLAUDE.md / AGENTS.md content and append one managed block that teaches
|
|
63
|
+
* external CLI agents to read MEMORY.md from their pinned Agim workspace.
|
|
64
|
+
*/
|
|
65
|
+
export async function ensureAgentMemoryLink(agentName, filename = roleFileForAgent(agentName)) {
|
|
66
|
+
const explicit = process.env[envKeyFor(agentName)];
|
|
67
|
+
const dir = explicit || defaultAgentCwd(agentName);
|
|
68
|
+
const guidePath = join(dir, filename);
|
|
69
|
+
let raw = '';
|
|
70
|
+
try {
|
|
71
|
+
raw = await readFile(guidePath, 'utf8');
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
const e = err;
|
|
75
|
+
if (e.code === 'ENOENT')
|
|
76
|
+
return null;
|
|
77
|
+
throw err;
|
|
78
|
+
}
|
|
79
|
+
if (raw.includes(AGIM_MEMORY_LINK_START))
|
|
80
|
+
return guidePath;
|
|
81
|
+
await appendFile(guidePath, `${appendSeparator(raw)}${AGIM_MEMORY_LINK_BLOCK}\n`, 'utf8');
|
|
82
|
+
return guidePath;
|
|
39
83
|
}
|
|
40
84
|
/**
|
|
41
85
|
* Resolve the cwd to spawn an agent CLI in.
|
|
42
86
|
*
|
|
43
87
|
* Decision order:
|
|
44
|
-
* 1. Env override `
|
|
88
|
+
* 1. Env override `AGIM_<AGENT>_CWD` always wins.
|
|
45
89
|
* 2. If we're in an IM context (threadId + platform both present), pin to
|
|
46
90
|
* `~/.agim-workspaces/<agent>/`.
|
|
47
91
|
* 3. Otherwise return undefined → adapter inherits agim's cwd. This
|
|
@@ -62,7 +106,7 @@ export function resolveAgentCwd(agentName, opts) {
|
|
|
62
106
|
* to evolve them by hand or have the agent itself rewrite them via
|
|
63
107
|
* auto-memory.
|
|
64
108
|
*
|
|
65
|
-
* Honors
|
|
109
|
+
* Honors AGIM_<AGENT>_CWD overrides — if set, we bootstrap THAT path
|
|
66
110
|
* instead. Skips bootstrapping when the override is empty / unset and we
|
|
67
111
|
* compute it from defaultAgentCwd; either way the resolved path is what
|
|
68
112
|
* spawnStream will pass as cwd.
|
|
@@ -133,6 +177,11 @@ export async function ensureAgentWorkspace(agentName, seed) {
|
|
|
133
177
|
*/
|
|
134
178
|
export async function bootstrapAgentWorkspaces() {
|
|
135
179
|
const result = [];
|
|
180
|
+
async function seedAgentWorkspace(agent, seed) {
|
|
181
|
+
const dir = await ensureAgentWorkspace(agent, seed);
|
|
182
|
+
await ensureAgentMemoryLink(agent, seed.filename);
|
|
183
|
+
return dir;
|
|
184
|
+
}
|
|
136
185
|
const claudeSeed = `# Claude Code — IM 入口工作区
|
|
137
186
|
|
|
138
187
|
> 这是 agim 通过 IM 唤起 Claude Code 时的专用工作目录。
|
|
@@ -158,7 +207,7 @@ export async function bootstrapAgentWorkspaces() {
|
|
|
158
207
|
`;
|
|
159
208
|
result.push({
|
|
160
209
|
agent: 'claude-code',
|
|
161
|
-
dir: await
|
|
210
|
+
dir: await seedAgentWorkspace('claude-code', { filename: 'CLAUDE.md', content: claudeSeed }),
|
|
162
211
|
});
|
|
163
212
|
const opencodeSeed = `# OpenCode — IM 入口工作区
|
|
164
213
|
|
|
@@ -184,7 +233,7 @@ export async function bootstrapAgentWorkspaces() {
|
|
|
184
233
|
`;
|
|
185
234
|
result.push({
|
|
186
235
|
agent: 'opencode',
|
|
187
|
-
dir: await
|
|
236
|
+
dir: await seedAgentWorkspace('opencode', { filename: 'AGENTS.md', content: opencodeSeed }),
|
|
188
237
|
});
|
|
189
238
|
const codexSeed = `# Codex — IM 入口工作区
|
|
190
239
|
|
|
@@ -215,7 +264,7 @@ export async function bootstrapAgentWorkspaces() {
|
|
|
215
264
|
`;
|
|
216
265
|
result.push({
|
|
217
266
|
agent: 'codex',
|
|
218
|
-
dir: await
|
|
267
|
+
dir: await seedAgentWorkspace('codex', { filename: 'AGENTS.md', content: codexSeed }),
|
|
219
268
|
});
|
|
220
269
|
const antigravitySeed = `# Antigravity — IM 入口工作区
|
|
221
270
|
|
|
@@ -245,7 +294,7 @@ export async function bootstrapAgentWorkspaces() {
|
|
|
245
294
|
`;
|
|
246
295
|
result.push({
|
|
247
296
|
agent: 'antigravity',
|
|
248
|
-
dir: await
|
|
297
|
+
dir: await seedAgentWorkspace('antigravity', { filename: 'AGENTS.md', content: antigravitySeed }),
|
|
249
298
|
});
|
|
250
299
|
const nativeSeed = `# agim native — 角色定义 + 工作区说明
|
|
251
300
|
|
|
@@ -257,7 +306,7 @@ export async function bootstrapAgentWorkspaces() {
|
|
|
257
306
|
>
|
|
258
307
|
> ⚠️ 本文件整体会被 native 在**每次回话前作为 system prompt 顶部注入**。
|
|
259
308
|
> 编辑本文件可以直接改变 native 的身份 / 语气 / 行为边界 — 一改即生效,
|
|
260
|
-
> 无需重启服务。重定向到其它路径可设 \`
|
|
309
|
+
> 无需重启服务。重定向到其它路径可设 \`AGIM_NATIVE_AGENT_ROLE_FILE=...\`。
|
|
261
310
|
|
|
262
311
|
## 你是谁(角色定义)
|
|
263
312
|
|
|
@@ -275,14 +324,14 @@ export async function bootstrapAgentWorkspaces() {
|
|
|
275
324
|
## 你怎么动手(工具与边界)
|
|
276
325
|
|
|
277
326
|
- 三个 native 内置工具:\`native_echo\` / \`native_now\` / \`native_random_uuid\`
|
|
278
|
-
- agim 自身的 MCP 工具(\`
|
|
327
|
+
- agim 自身的 MCP 工具(\`mcp__agim__*\`):技能、备忘录、push、ask_user、call_agent
|
|
279
328
|
- 运营方配置的外部 MCP server 工具(\`mcp_<server>_*\`)
|
|
280
329
|
- 涉及钱 / 交易 / 删除:先 dry-run 给用户看,得确认再执行
|
|
281
330
|
|
|
282
331
|
## 工作目录
|
|
283
332
|
|
|
284
333
|
- 本目录目前所有 IM 线程共享,未做 per-thread 隔离
|
|
285
|
-
- 想给某条线程独立 cwd,可设 \`
|
|
334
|
+
- 想给某条线程独立 cwd,可设 \`AGIM_NATIVE_CWD=/some/path\` 覆盖
|
|
286
335
|
|
|
287
336
|
## 注意
|
|
288
337
|
|
|
@@ -291,7 +340,7 @@ export async function bootstrapAgentWorkspaces() {
|
|
|
291
340
|
`;
|
|
292
341
|
result.push({
|
|
293
342
|
agent: 'native',
|
|
294
|
-
dir: await
|
|
343
|
+
dir: await seedAgentWorkspace('native', { filename: 'AGENTS.md', content: nativeSeed }),
|
|
295
344
|
});
|
|
296
345
|
const cursorSeed = `# Cursor — IM 入口工作区
|
|
297
346
|
|
|
@@ -315,11 +364,11 @@ export async function bootstrapAgentWorkspaces() {
|
|
|
315
364
|
|
|
316
365
|
- 当前 cwd 不是真正的代码仓库;要查代码请去 /root/workspace/...
|
|
317
366
|
- IM 单条消息硬超时 30 分钟,长任务请走 bgjob
|
|
318
|
-
- agim 用 \`--trust --force --approve-mcps\` 启动 cursor,所有 cursor 侧 tool 默认自动放行;agim 自己的 \`
|
|
367
|
+
- agim 用 \`--trust --force --approve-mcps\` 启动 cursor,所有 cursor 侧 tool 默认自动放行;agim 自己的 \`mcp__agim__*\` 仍走 approval-bus
|
|
319
368
|
`;
|
|
320
369
|
result.push({
|
|
321
370
|
agent: 'cursor',
|
|
322
|
-
dir: await
|
|
371
|
+
dir: await seedAgentWorkspace('cursor', { filename: 'AGENTS.md', content: cursorSeed }),
|
|
323
372
|
});
|
|
324
373
|
return result;
|
|
325
374
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-cwd.js","sourceRoot":"","sources":["../../src/core/agent-cwd.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AACxE,0EAA0E;AAC1E,wBAAwB;AACxB,EAAE;AACF,2EAA2E;AAC3E,sEAAsE;AACtE,0EAA0E;AAC1E,EAAE;AACF,0EAA0E;AAC1E,wDAAwD;AACxD,kEAAkE;AAClE,uEAAuE;AACvE,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"agent-cwd.js","sourceRoot":"","sources":["../../src/core/agent-cwd.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
export declare const AGIM_HOME: string;
|
|
3
3
|
/** Per-agent workspace tree. Cached at module-eval time. */
|
|
4
4
|
export declare const AGIM_WORKSPACES: string;
|
|
5
|
-
/**
|
|
6
|
-
* Useful for callers that want to log the legacy mode or emit a one-time
|
|
7
|
-
* "consider migrating to ~/.agim/" hint (we deliberately don't do that
|
|
8
|
-
* hint automatically — users can move when they want). */
|
|
5
|
+
/** Compatibility shim for older call sites; Agim now has a single home mode. */
|
|
9
6
|
export declare function isLegacyHome(): boolean;
|
|
10
7
|
//# sourceMappingURL=agim-paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agim-paths.d.ts","sourceRoot":"","sources":["../../src/core/agim-paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agim-paths.d.ts","sourceRoot":"","sources":["../../src/core/agim-paths.ts"],"names":[],"mappings":"AAsCA,4DAA4D;AAC5D,eAAO,MAAM,SAAS,EAAE,MAA0B,CAAA;AAElD,4DAA4D;AAC5D,eAAO,MAAM,eAAe,EAAE,MAAgC,CAAA;AAE9D,gFAAgF;AAChF,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
|
package/dist/core/agim-paths.js
CHANGED
|
@@ -1,64 +1,47 @@
|
|
|
1
1
|
// agim-paths.ts — resolve the per-user state directory + workspace tree.
|
|
2
2
|
//
|
|
3
|
-
// v1.0 brand rebrand introduced canonical names `~/.agim/` and
|
|
4
|
-
// `~/.agim-workspaces/`. To keep every 0.x deployment intact, this
|
|
5
|
-
// module *auto-detects* which name the user already has on disk and
|
|
6
|
-
// sticks with that. Fresh installs land at the new name. No data is
|
|
7
|
-
// ever moved automatically — we just pick the right root and stay there.
|
|
8
|
-
//
|
|
9
3
|
// Resolution order (cached at first evaluation, run once per process):
|
|
10
|
-
// 1. $AGIM_HOME env var — explicit override
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
// 3. `~/.im-hub/` if it exists (legacy from pre-v1.0 installs).
|
|
14
|
-
// 4. Default to `~/.agim/` (a fresh install will create it under
|
|
4
|
+
// 1. $AGIM_HOME env var — explicit override.
|
|
5
|
+
// 2. `~/.agim/` if it already exists.
|
|
6
|
+
// 3. Default to `~/.agim/` (a fresh install will create it under
|
|
15
7
|
// this name lazily as files are written).
|
|
16
8
|
//
|
|
17
|
-
// The same logic applies to the workspaces sibling:
|
|
18
|
-
//
|
|
9
|
+
// The same logic applies to the workspaces sibling:
|
|
10
|
+
// $AGIM_WORKSPACES, otherwise `~/.agim-workspaces/`.
|
|
19
11
|
//
|
|
20
12
|
// Code in the rest of the codebase should import AGIM_HOME and
|
|
21
|
-
// AGIM_WORKSPACES from here rather than hard-coding `.
|
|
13
|
+
// AGIM_WORKSPACES from here rather than hard-coding `.agim`. The
|
|
22
14
|
// `cli-ui/paths.ts` helpers re-export from this module for
|
|
23
15
|
// backwards-compat with existing import sites.
|
|
24
16
|
import { existsSync } from 'node:fs';
|
|
25
17
|
import { homedir } from 'node:os';
|
|
26
18
|
import { join } from 'node:path';
|
|
27
19
|
function resolveAgimHome() {
|
|
28
|
-
const override = process.env.AGIM_HOME
|
|
20
|
+
const override = process.env.AGIM_HOME;
|
|
29
21
|
if (override)
|
|
30
22
|
return override;
|
|
31
23
|
const home = homedir();
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (existsSync(oldPath))
|
|
37
|
-
return oldPath;
|
|
38
|
-
return newPath;
|
|
24
|
+
const agimPath = join(home, '.agim');
|
|
25
|
+
if (existsSync(agimPath))
|
|
26
|
+
return agimPath;
|
|
27
|
+
return agimPath;
|
|
39
28
|
}
|
|
40
29
|
function resolveAgimWorkspaces() {
|
|
41
|
-
const override = process.env.AGIM_WORKSPACES
|
|
30
|
+
const override = process.env.AGIM_WORKSPACES;
|
|
42
31
|
if (override)
|
|
43
32
|
return override;
|
|
44
33
|
const home = homedir();
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (existsSync(oldPath))
|
|
50
|
-
return oldPath;
|
|
51
|
-
return newPath;
|
|
34
|
+
const agimWorkspaces = join(home, '.agim-workspaces');
|
|
35
|
+
if (existsSync(agimWorkspaces))
|
|
36
|
+
return agimWorkspaces;
|
|
37
|
+
return agimWorkspaces;
|
|
52
38
|
}
|
|
53
39
|
/** Per-user state directory. Cached at module-eval time. */
|
|
54
40
|
export const AGIM_HOME = resolveAgimHome();
|
|
55
41
|
/** Per-agent workspace tree. Cached at module-eval time. */
|
|
56
42
|
export const AGIM_WORKSPACES = resolveAgimWorkspaces();
|
|
57
|
-
/**
|
|
58
|
-
* Useful for callers that want to log the legacy mode or emit a one-time
|
|
59
|
-
* "consider migrating to ~/.agim/" hint (we deliberately don't do that
|
|
60
|
-
* hint automatically — users can move when they want). */
|
|
43
|
+
/** Compatibility shim for older call sites; Agim now has a single home mode. */
|
|
61
44
|
export function isLegacyHome() {
|
|
62
|
-
return
|
|
45
|
+
return false;
|
|
63
46
|
}
|
|
64
47
|
//# sourceMappingURL=agim-paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agim-paths.js","sourceRoot":"","sources":["../../src/core/agim-paths.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,+
|
|
1
|
+
{"version":3,"file":"agim-paths.js","sourceRoot":"","sources":["../../src/core/agim-paths.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,uEAAuE;AACvE,+CAA+C;AAC/C,wCAAwC;AACxC,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,oDAAoD;AACpD,qDAAqD;AACrD,EAAE;AACF,+DAA+D;AAC/D,iEAAiE;AACjE,2DAA2D;AAC3D,+CAA+C;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,SAAS,eAAe;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAA;IACtC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACpC,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAA;IACzC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,qBAAqB;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAA;IAC5C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IACrD,IAAI,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,cAAc,CAAA;IACrD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,MAAM,SAAS,GAAW,eAAe,EAAE,CAAA;AAElD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAW,qBAAqB,EAAE,CAAA;AAE9D,gFAAgF;AAChF,MAAM,UAAU,YAAY;IAC1B,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -22,10 +22,10 @@ export interface RunContext {
|
|
|
22
22
|
callerAgent?: string;
|
|
23
23
|
/** A2A-L1: this run's own call_depth. 0 for user-originated runs;
|
|
24
24
|
* bumped to caller.callDepth+1 when an A2A invocation spawns a new
|
|
25
|
-
* agent run. Used to enforce
|
|
25
|
+
* agent run. Used to enforce AGIM_A2A_MAX_DEPTH. */
|
|
26
26
|
callDepth?: number;
|
|
27
27
|
/** A2A-L1: id of the inline-jobs row that's tracking this run, when
|
|
28
|
-
* the run was spawned from another agent's
|
|
28
|
+
* the run was spawned from another agent's mcp__agim__call_agent
|
|
29
29
|
* call. Optional for top-level runs. */
|
|
30
30
|
parentJobId?: number;
|
|
31
31
|
/** SEC: this run is executing under plan-mode (user did /plan on, so the
|
|
@@ -33,7 +33,7 @@ export interface RunContext {
|
|
|
33
33
|
* whose opts.planMode is true. bus.handleA2A propagates it to the callee
|
|
34
34
|
* so a plan-mode run can't delegate a write task to another agent that
|
|
35
35
|
* would launch with full write access — bypassing the user's intent.
|
|
36
|
-
* Mirrors a2a.ts /
|
|
36
|
+
* Mirrors a2a.ts / agim-dispatcher.ts (callerPlanMode) which already do
|
|
37
37
|
* this for their own spawn paths. */
|
|
38
38
|
callerPlanMode?: boolean;
|
|
39
39
|
}
|
|
@@ -309,7 +309,7 @@ export declare class ApprovalBus {
|
|
|
309
309
|
private handleMemo;
|
|
310
310
|
private sendMemoResult;
|
|
311
311
|
/**
|
|
312
|
-
* v1.3 — agent-initiated push (`
|
|
312
|
+
* v1.3 — agent-initiated push (`mcp__agim__push_message`). Wire format:
|
|
313
313
|
* { v: 1, type: 'push', runId, reqId, payload: { text, toThread?, kind? } }
|
|
314
314
|
* Response: { v: 1, type: 'push.result', reqId, ok, result?, error? }
|
|
315
315
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-bus.d.ts","sourceRoot":"","sources":["../../src/core/approval-bus.ts"],"names":[],"mappings":"AA4DA,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAWD;;;;;;cAMc;AACd,wBAAgB,6BAA6B,IAAI,IAAI,CAwDpD;AAED,sEAAsE;AACtE,wBAAgB,0BAA0B,IAAI,IAAI,CAKjD;AA8CD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB;;;;mDAI+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;
|
|
1
|
+
{"version":3,"file":"approval-bus.d.ts","sourceRoot":"","sources":["../../src/core/approval-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,8 +26,8 @@ const log = rootLogger.child({ component: 'approval-bus' });
|
|
|
26
26
|
// hours. agent-base.ts now uses an idle-based timer (resets on every stdout
|
|
27
27
|
// chunk) instead of a fixed total-time cap, so this approval timeout is no
|
|
28
28
|
// longer constrained to "outlive the agent process" — the agent only dies
|
|
29
|
-
// after
|
|
30
|
-
const DEFAULT_APPROVAL_TIMEOUT_MS = parseEnvMs(process.env.
|
|
29
|
+
// after AGIM_AGENT_IDLE_TIMEOUT_MS of complete silence.
|
|
30
|
+
const DEFAULT_APPROVAL_TIMEOUT_MS = parseEnvMs(process.env.AGIM_APPROVAL_TIMEOUT_MS, 15 * 60 * 1000);
|
|
31
31
|
const DEFAULT_AUTO_ALLOW_GRACE_MS = 5 * 1000;
|
|
32
32
|
// v1.3.7 (F8) — hard cap on concurrently-pending approvals. Without it,
|
|
33
33
|
// pendingById / pendingByThread grow unbounded: a misbehaving agent (or a
|
|
@@ -35,10 +35,10 @@ const DEFAULT_AUTO_ALLOW_GRACE_MS = 5 * 1000;
|
|
|
35
35
|
// memory. When the cap is hit we evict the OLDEST unresolved request with a
|
|
36
36
|
// deny so the maps stay bounded. Generous default; override via env.
|
|
37
37
|
const MAX_PENDING_APPROVALS = (() => {
|
|
38
|
-
const n = Number(process.env.
|
|
38
|
+
const n = Number(process.env.AGIM_APPROVAL_MAX_PENDING);
|
|
39
39
|
return Number.isFinite(n) && n > 0 ? Math.floor(n) : 5000;
|
|
40
40
|
})();
|
|
41
|
-
//
|
|
41
|
+
// AGIM_TIMEOUT_DEFAULT=allow | deny (default deny). Decides what the bus
|
|
42
42
|
// returns when a normal-mode approval times out without a user response.
|
|
43
43
|
// Auto-allow grace expiry is unaffected — it always resolves to allow.
|
|
44
44
|
// Setting this to 'allow' is "user away" mode: the agent keeps moving even
|
|
@@ -51,9 +51,9 @@ const MAX_PENDING_APPROVALS = (() => {
|
|
|
51
51
|
// process.env after updating ~/.agim/env, and the next timer that expires
|
|
52
52
|
// picks up the new value with no restart.
|
|
53
53
|
export function isTimeoutDefaultAllow() {
|
|
54
|
-
return (process.env.
|
|
54
|
+
return (process.env.AGIM_TIMEOUT_DEFAULT ?? 'deny').toLowerCase() === 'allow';
|
|
55
55
|
}
|
|
56
|
-
// R13 C1 — visibility for "user away" mode. When
|
|
56
|
+
// R13 C1 — visibility for "user away" mode. When AGIM_TIMEOUT_DEFAULT is
|
|
57
57
|
// `allow`, every approval that times out without IM response auto-approves
|
|
58
58
|
// — that's a meaningful weakening of the human-in-the-loop guarantee.
|
|
59
59
|
// Operators flip it during long-running automation and forget; the warning
|
|
@@ -82,16 +82,16 @@ export function announceTimeoutDefaultIfAllow() {
|
|
|
82
82
|
'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━',
|
|
83
83
|
'⚠️ APPROVAL TIMEOUT POLICY: allow',
|
|
84
84
|
'',
|
|
85
|
-
'
|
|
85
|
+
' AGIM_TIMEOUT_DEFAULT=allow → unresolved approvals auto-approve.',
|
|
86
86
|
' Human-in-the-loop oversight on Bash / Edit / Write is weakened.',
|
|
87
|
-
' Revert with:
|
|
87
|
+
' Revert with: AGIM_TIMEOUT_DEFAULT=deny (or unset).',
|
|
88
88
|
'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━',
|
|
89
89
|
'',
|
|
90
90
|
].join('\n');
|
|
91
91
|
process.stdout.write(banner);
|
|
92
92
|
log.warn({
|
|
93
93
|
event: 'approval.bus.timeout_default_allow',
|
|
94
|
-
msg: '
|
|
94
|
+
msg: 'AGIM_TIMEOUT_DEFAULT=allow — approval timeouts auto-approve',
|
|
95
95
|
});
|
|
96
96
|
try {
|
|
97
97
|
void (async () => {
|
|
@@ -117,7 +117,7 @@ export function announceTimeoutDefaultIfAllow() {
|
|
|
117
117
|
}
|
|
118
118
|
log.warn({
|
|
119
119
|
event: 'approval.bus.timeout_default_allow.reminder',
|
|
120
|
-
msg: 'reminder:
|
|
120
|
+
msg: 'reminder: AGIM_TIMEOUT_DEFAULT=allow still in effect',
|
|
121
121
|
});
|
|
122
122
|
}, 60 * 60 * 1000);
|
|
123
123
|
if (typeof _timeoutAllowHourlyTimer === 'object' && _timeoutAllowHourlyTimer
|
|
@@ -148,7 +148,7 @@ export function stopTimeoutDefaultReminder() {
|
|
|
148
148
|
* - any `mcp__*` (third-party MCP servers; arbitrary semantics)
|
|
149
149
|
*
|
|
150
150
|
* Per-thread opt-out: `/approval readonly off`. Global opt-out:
|
|
151
|
-
* `
|
|
151
|
+
* `AGIM_AUTOALLOW_READONLY=0`.
|
|
152
152
|
*/
|
|
153
153
|
const READONLY_TOOLS = new Set([
|
|
154
154
|
'Read',
|
|
@@ -157,7 +157,7 @@ const READONLY_TOOLS = new Set([
|
|
|
157
157
|
'LS',
|
|
158
158
|
'NotebookRead',
|
|
159
159
|
]);
|
|
160
|
-
const READONLY_AUTO_ALLOW_GLOBAL_ENABLED = (process.env.
|
|
160
|
+
const READONLY_AUTO_ALLOW_GLOBAL_ENABLED = (process.env.AGIM_AUTOALLOW_READONLY ?? '1') !== '0';
|
|
161
161
|
function parseEnvMs(raw, fallback) {
|
|
162
162
|
if (!raw)
|
|
163
163
|
return fallback;
|
|
@@ -877,7 +877,7 @@ export class ApprovalBus {
|
|
|
877
877
|
});
|
|
878
878
|
}
|
|
879
879
|
/**
|
|
880
|
-
* v1.3 — agent-initiated push (`
|
|
880
|
+
* v1.3 — agent-initiated push (`mcp__agim__push_message`). Wire format:
|
|
881
881
|
* { v: 1, type: 'push', runId, reqId, payload: { text, toThread?, kind? } }
|
|
882
882
|
* Response: { v: 1, type: 'push.result', reqId, ok, result?, error? }
|
|
883
883
|
*
|
|
@@ -1661,7 +1661,7 @@ function defaultSocketPath() {
|
|
|
1661
1661
|
// multi-tenant containers where pid is often 1 and the timestamp window
|
|
1662
1662
|
// is small. With 128 bits of entropy a TOCTOU pre-occupy attempt is
|
|
1663
1663
|
// statistically infeasible.
|
|
1664
|
-
return join(tmpdir(), `
|
|
1664
|
+
return join(tmpdir(), `agim-approval-${randomBytes(16).toString('hex')}.sock`);
|
|
1665
1665
|
}
|
|
1666
1666
|
/** 进程级单例。agim 启动时 await approvalBus.start() 一次。 */
|
|
1667
1667
|
export const approvalBus = new ApprovalBus();
|