@xopcai/xopc 0.0.29 → 0.0.31
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/dist/extensions/telegram/src/adapters/config-surface.js +3 -1
- package/dist/extensions/telegram/src/adapters/config-surface.js.map +1 -1
- package/dist/extensions/telegram/src/adapters/onboard-cli.js +23 -21
- package/dist/extensions/telegram/src/adapters/onboard-cli.js.map +1 -1
- package/dist/extensions/telegram/src/adapters/setup-wizard.js +3 -4
- package/dist/extensions/telegram/src/adapters/setup-wizard.js.map +1 -1
- package/dist/extensions/telegram/src/config-schema.d.ts +0 -1
- package/dist/extensions/telegram/src/config-schema.js +17 -4
- package/dist/extensions/telegram/src/config-schema.js.map +1 -1
- package/dist/extensions/telegram/src/plugin.js +4 -17
- package/dist/extensions/telegram/src/plugin.js.map +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/cdn/upload.js +1 -1
- package/dist/extensions/weixin/src/media/data-url.js +1 -1
- package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
- package/dist/gateway/static/root/assets/agents-3u63Fw2Y.js +216 -0
- package/dist/gateway/static/root/assets/agents-3u63Fw2Y.js.map +1 -0
- package/dist/gateway/static/root/assets/{apps-page-Bmq19MS-.js → apps-page-CWegY6Kp.js} +2 -2
- package/dist/gateway/static/root/assets/{apps-page-Bmq19MS-.js.map → apps-page-CWegY6Kp.js.map} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-CiyeXcTK.js +9 -0
- package/dist/gateway/static/root/assets/channels-settings-CiyeXcTK.js.map +1 -0
- package/dist/gateway/static/root/assets/cron-api-_j_79Zf5.js +3 -0
- package/dist/gateway/static/root/assets/cron-api-_j_79Zf5.js.map +1 -0
- package/dist/gateway/static/root/assets/cron-page-S86YNTtI.js +2 -0
- package/dist/gateway/static/root/assets/cron-page-S86YNTtI.js.map +1 -0
- package/dist/gateway/static/root/assets/dist-D0jxbvuz.js +2 -0
- package/dist/gateway/static/root/assets/{dist--p2HQ2QF.js.map → dist-D0jxbvuz.js.map} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-DwHCB_6T.js → extension-debug-page-DB630cW8.js} +2 -2
- package/dist/gateway/static/root/assets/{extension-debug-page-DwHCB_6T.js.map → extension-debug-page-DB630cW8.js.map} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-BsYwQIex.js → extension-page-CnoPUBul.js} +2 -2
- package/dist/gateway/static/root/assets/{extension-page-BsYwQIex.js.map → extension-page-CnoPUBul.js.map} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-nsisEgjB.js → extension-settings-page-BsiOkvBe.js} +2 -2
- package/dist/gateway/static/root/assets/{extension-settings-page-nsisEgjB.js.map → extension-settings-page-BsiOkvBe.js.map} +1 -1
- package/dist/gateway/static/root/assets/{index-CR8zUHGR.js → index-DHLmAIQl.js} +63 -63
- package/dist/gateway/static/root/assets/{index-CR8zUHGR.js.map → index-DHLmAIQl.js.map} +1 -1
- package/dist/gateway/static/root/assets/index-DoPwy4aU.css +1 -0
- package/dist/gateway/static/root/assets/logs-page-Bndhenn2.js +2 -0
- package/dist/gateway/static/root/assets/logs-page-Bndhenn2.js.map +1 -0
- package/dist/gateway/static/root/assets/sessions-page-Q201-_lP.js +2 -0
- package/dist/gateway/static/root/assets/{sessions-page-Be5kIGl_.js.map → sessions-page-Q201-_lP.js.map} +1 -1
- package/dist/gateway/static/root/assets/settings-page-Cw75fpc6.js +2 -0
- package/dist/gateway/static/root/assets/settings-page-Cw75fpc6.js.map +1 -0
- package/dist/gateway/static/root/assets/skills-page-CVwEzD_J.js +3 -0
- package/dist/gateway/static/root/assets/skills-page-CVwEzD_J.js.map +1 -0
- package/dist/gateway/static/root/index.html +2 -2
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +5 -7
- package/dist/src/agent/agent-manager.js +21 -19
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/ipc/inbox.js +4 -2
- package/dist/src/agent/ipc/inbox.js.map +1 -1
- package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
- package/dist/src/agent/memory/dreaming/utils.js +1 -1
- package/dist/src/agent/orchestration/agent-orchestrator.js +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.js +0 -2
- package/dist/src/agent/prompt/service-prompt-builder.js.map +1 -1
- package/dist/src/agent/prompt/system-prompt.d.ts +0 -2
- package/dist/src/agent/prompt/system-prompt.js +3 -17
- package/dist/src/agent/prompt/system-prompt.js.map +1 -1
- package/dist/src/agent/service/btw-query.d.ts +16 -0
- package/dist/src/agent/service/btw-query.js +88 -0
- package/dist/src/agent/service/btw-query.js.map +1 -0
- package/dist/src/agent/service/build-direct-message-content.d.ts +30 -0
- package/dist/src/agent/service/build-direct-message-content.js +75 -0
- package/dist/src/agent/service/build-direct-message-content.js.map +1 -0
- package/dist/src/agent/service/parse-outbound-session-key.d.ts +8 -0
- package/dist/src/agent/service/parse-outbound-session-key.js +41 -0
- package/dist/src/agent/service/parse-outbound-session-key.js.map +1 -0
- package/dist/src/agent/service/process-direct-one-shot.d.ts +34 -0
- package/dist/src/agent/service/process-direct-one-shot.js +67 -0
- package/dist/src/agent/service/process-direct-one-shot.js.map +1 -0
- package/dist/src/agent/service/process-direct-streaming.js +12 -1
- package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
- package/dist/src/agent/service/reconcile-dreaming-cron.d.ts +6 -0
- package/dist/src/agent/service/reconcile-dreaming-cron.js +70 -0
- package/dist/src/agent/service/reconcile-dreaming-cron.js.map +1 -0
- package/dist/src/agent/service/session-context-report.d.ts +19 -0
- package/dist/src/agent/service/session-context-report.js +47 -0
- package/dist/src/agent/service/session-context-report.js.map +1 -0
- package/dist/src/agent/service/webchat-tts.d.ts +28 -0
- package/dist/src/agent/service/webchat-tts.js +73 -0
- package/dist/src/agent/service/webchat-tts.js.map +1 -0
- package/dist/src/agent/service.d.ts +8 -12
- package/dist/src/agent/service.js +74 -379
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/skills/config.js +4 -3
- package/dist/src/agent/skills/config.js.map +1 -1
- package/dist/src/agent/skills/format-skills-prompt.d.ts +0 -2
- package/dist/src/agent/skills/format-skills-prompt.js +3 -24
- package/dist/src/agent/skills/format-skills-prompt.js.map +1 -1
- package/dist/src/agent/skills/hub-lock.js +4 -5
- package/dist/src/agent/skills/hub-lock.js.map +1 -1
- package/dist/src/agent/skills/index.js +9 -21
- package/dist/src/agent/skills/index.js.map +1 -1
- package/dist/src/agent/skills/marketplace/adapter.types.d.ts +17 -0
- package/dist/src/agent/skills/marketplace/adapter.types.js +1 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.d.ts +2 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.js +292 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.js.map +1 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/ecosystem-client.d.ts +73 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/ecosystem-client.js +200 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/ecosystem-client.js.map +1 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/registry-client.d.ts +137 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/registry-client.js +217 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/registry-client.js.map +1 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/skillhub-fetch-cache.d.ts +12 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/skillhub-fetch-cache.js +90 -0
- package/dist/src/agent/skills/marketplace/adapters/skillhub/skillhub-fetch-cache.js.map +1 -0
- package/dist/src/agent/skills/marketplace/adapters/store/adapter.d.ts +2 -0
- package/dist/src/agent/skills/marketplace/adapters/store/adapter.js +35 -0
- package/dist/src/agent/skills/marketplace/adapters/store/adapter.js.map +1 -0
- package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.d.ts +124 -0
- package/dist/src/agent/skills/{skills-store-client.js → marketplace/adapters/store/store-api-client.js} +4 -3
- package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js.map +1 -0
- package/dist/src/agent/skills/marketplace/resolve-adapter.d.ts +6 -0
- package/dist/src/agent/skills/marketplace/resolve-adapter.js +26 -0
- package/dist/src/agent/skills/marketplace/resolve-adapter.js.map +1 -0
- package/dist/src/agent/skills/parse-skill-metadata.d.ts +5 -0
- package/dist/src/agent/skills/parse-skill-metadata.js +27 -0
- package/dist/src/agent/skills/parse-skill-metadata.js.map +1 -0
- package/dist/src/agent/skills/skill-markdown-preview-from-raw.d.ts +6 -0
- package/dist/src/agent/skills/skill-markdown-preview-from-raw.js +64 -0
- package/dist/src/agent/skills/skill-markdown-preview-from-raw.js.map +1 -0
- package/dist/src/agent/skills/skill-view-path.d.ts +17 -1
- package/dist/src/agent/skills/skill-view-path.js +66 -3
- package/dist/src/agent/skills/skill-view-path.js.map +1 -1
- package/dist/src/agent/skills/skills-marketplace.d.ts +21 -0
- package/dist/src/agent/skills/skills-marketplace.js +18 -0
- package/dist/src/agent/skills/skills-marketplace.js.map +1 -0
- package/dist/src/agent/skills/test-framework.d.ts +0 -1
- package/dist/src/agent/skills/test-framework.js +2 -20
- package/dist/src/agent/skills/test-framework.js.map +1 -1
- package/dist/src/agent/skills/types.d.ts +12 -6
- package/dist/src/agent/tools/dreaming-tool.js +1 -1
- package/dist/src/agent/tools/image-generate-tool.js +2 -2
- package/dist/src/auth/credentials.js +8 -6
- package/dist/src/auth/credentials.js.map +1 -1
- package/dist/src/auth/profiles/store.js +5 -3
- package/dist/src/auth/profiles/store.js.map +1 -1
- package/dist/src/channels/manager.js +1 -1
- package/dist/src/channels/outbound/persist-store.js +4 -4
- package/dist/src/channels/outbound/persist-store.js.map +1 -1
- package/dist/src/cli/commands/config.js +8 -6
- package/dist/src/cli/commands/config.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/channel-config.js +3 -4
- package/dist/src/cli/commands/doctor/checks/channel-config.js.map +1 -1
- package/dist/src/cli/commands/init.js +4 -2
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/config/loader.js +3 -1
- package/dist/src/config/loader.js.map +1 -1
- package/dist/src/config/models-json.js +4 -5
- package/dist/src/config/models-json.js.map +1 -1
- package/dist/src/config/schema.d.ts +12 -4
- package/dist/src/config/schema.js +31 -5
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/cron/persistence.d.ts +1 -3
- package/dist/src/cron/persistence.js +6 -17
- package/dist/src/cron/persistence.js.map +1 -1
- package/dist/src/cron/validation.js +1 -1
- package/dist/src/cron/validation.js.map +1 -1
- package/dist/src/extensions/activation-context.js +0 -1
- package/dist/src/extensions/activation-context.js.map +1 -1
- package/dist/src/extensions/lockfile.js +4 -2
- package/dist/src/extensions/lockfile.js.map +1 -1
- package/dist/src/gateway/auth.d.ts +0 -9
- package/dist/src/gateway/auth.js +1 -12
- package/dist/src/gateway/auth.js.map +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +1 -1
- package/dist/src/gateway/hono/lib/extension-store.js +4 -4
- package/dist/src/gateway/hono/lib/extension-store.js.map +1 -1
- package/dist/src/gateway/hono/routes/channels.js +5 -3
- package/dist/src/gateway/hono/routes/channels.js.map +1 -1
- package/dist/src/gateway/hono/routes/commands-skills.js +28 -3
- package/dist/src/gateway/hono/routes/commands-skills.js.map +1 -1
- package/dist/src/gateway/hono/routes/config.js +23 -2
- package/dist/src/gateway/hono/routes/config.js.map +1 -1
- package/dist/src/gateway/hono/routes/sessions.js +124 -2
- package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
- package/dist/src/gateway/hono/sse.js +9 -2
- package/dist/src/gateway/hono/sse.js.map +1 -1
- package/dist/src/gateway/index.js +2 -2
- package/dist/src/gateway/lock.js +1 -1
- package/dist/src/gateway/service/run-gateway-agent.d.ts +37 -0
- package/dist/src/gateway/service/run-gateway-agent.js +163 -0
- package/dist/src/gateway/service/run-gateway-agent.js.map +1 -0
- package/dist/src/gateway/service/save-webchat-user-message.d.ts +9 -0
- package/dist/src/gateway/service/save-webchat-user-message.js +34 -0
- package/dist/src/gateway/service/save-webchat-user-message.js.map +1 -0
- package/dist/src/gateway/service/session-chat-ids.d.ts +9 -0
- package/dist/src/gateway/service/session-chat-ids.js +33 -0
- package/dist/src/gateway/service/session-chat-ids.js.map +1 -0
- package/dist/src/gateway/service/sse-hub.d.ts +10 -0
- package/dist/src/gateway/service/sse-hub.js +55 -0
- package/dist/src/gateway/service/sse-hub.js.map +1 -0
- package/dist/src/gateway/service/types.d.ts +9 -0
- package/dist/src/gateway/service/types.js +1 -0
- package/dist/src/gateway/service.d.ts +42 -33
- package/dist/src/gateway/service.js +92 -246
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/infra/update-lock.js +4 -2
- package/dist/src/infra/update-lock.js.map +1 -1
- package/dist/src/infra/update-startup.js +5 -14
- package/dist/src/infra/update-startup.js.map +1 -1
- package/dist/src/infra/write-file-atomic.d.ts +18 -0
- package/dist/src/infra/write-file-atomic.js +115 -0
- package/dist/src/infra/write-file-atomic.js.map +1 -0
- package/dist/src/session/abort-cutoff.d.ts +6 -0
- package/dist/src/session/abort-cutoff.js +10 -0
- package/dist/src/session/abort-cutoff.js.map +1 -0
- package/dist/src/session/compaction-checkpoints.d.ts +8 -0
- package/dist/src/session/compaction-checkpoints.js +21 -0
- package/dist/src/session/compaction-checkpoints.js.map +1 -0
- package/dist/src/session/config-store.js +4 -2
- package/dist/src/session/config-store.js.map +1 -1
- package/dist/src/session/index.d.ts +8 -1
- package/dist/src/session/index.js +7 -1
- package/dist/src/session/manager.d.ts +26 -1
- package/dist/src/session/manager.js +39 -2
- package/dist/src/session/manager.js.map +1 -1
- package/dist/src/session/patch-metadata.d.ts +12 -0
- package/dist/src/session/patch-metadata.js +23 -0
- package/dist/src/session/patch-metadata.js.map +1 -0
- package/dist/src/session/search-index.d.ts +2 -0
- package/dist/src/session/search-index.js +30 -2
- package/dist/src/session/search-index.js.map +1 -1
- package/dist/src/session/session-context-for-llm.d.ts +32 -0
- package/dist/src/session/session-context-for-llm.js +60 -0
- package/dist/src/session/session-context-for-llm.js.map +1 -0
- package/dist/src/session/store.d.ts +53 -2
- package/dist/src/session/store.js +427 -145
- package/dist/src/session/store.js.map +1 -1
- package/dist/src/session/strip-webchat-early-save.d.ts +5 -0
- package/dist/src/session/strip-webchat-early-save.js +17 -0
- package/dist/src/session/strip-webchat-early-save.js.map +1 -0
- package/dist/src/session/transcript-format.d.ts +46 -0
- package/dist/src/session/transcript-format.js +88 -0
- package/dist/src/session/transcript-format.js.map +1 -0
- package/dist/src/session/types.d.ts +37 -0
- package/dist/src/session/types.js.map +1 -1
- package/dist/src/utils/logger/log-store.js +4 -3
- package/dist/src/utils/logger/log-store.js.map +1 -1
- package/dist/src/voice/tts/merge-config.js +0 -1
- package/dist/src/voice/tts/merge-config.js.map +1 -1
- package/dist/src/voice/tts/service.js +1 -2
- package/dist/src/voice/tts/service.js.map +1 -1
- package/package.json +1 -1
- package/skills/business/company-values/SKILL-zh.md +80 -0
- package/skills/business/company-values/SKILL.md +80 -0
- package/skills/business/find-community/SKILL-zh.md +50 -0
- package/skills/business/find-community/SKILL.md +50 -0
- package/skills/business/first-customers/SKILL-zh.md +76 -0
- package/skills/business/first-customers/SKILL.md +76 -0
- package/skills/business/grow-sustainably/SKILL-zh.md +92 -0
- package/skills/business/grow-sustainably/SKILL.md +92 -0
- package/skills/business/marketing-plan/SKILL-zh.md +100 -0
- package/skills/business/marketing-plan/SKILL.md +100 -0
- package/skills/business/minimalist-review/SKILL-zh.md +82 -0
- package/skills/business/minimalist-review/SKILL.md +82 -0
- package/skills/business/mvp/SKILL-zh.md +81 -0
- package/skills/business/mvp/SKILL.md +81 -0
- package/skills/business/pricing/SKILL-zh.md +64 -0
- package/skills/business/pricing/SKILL.md +64 -0
- package/skills/business/processize/SKILL-zh.md +91 -0
- package/skills/business/processize/SKILL.md +91 -0
- package/skills/business/validate-idea/SKILL-zh.md +68 -0
- package/skills/business/validate-idea/SKILL.md +68 -0
- package/skills/{skill-creator → creative/algorithmic-art}/LICENSE.txt +1 -1
- package/skills/creative/algorithmic-art/SKILL-zh.md +405 -0
- package/skills/creative/algorithmic-art/SKILL.md +405 -0
- package/skills/creative/algorithmic-art/templates/generator_template.js +223 -0
- package/skills/creative/algorithmic-art/templates/viewer.html +599 -0
- package/skills/creative/canvas-design/LICENSE.txt +202 -0
- package/skills/creative/canvas-design/SKILL-zh.md +130 -0
- package/skills/creative/canvas-design/SKILL.md +130 -0
- package/skills/creative/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/creative/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/creative/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/creative/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/creative/frontend-design/LICENSE.txt +177 -0
- package/skills/creative/frontend-design/SKILL-zh.md +42 -0
- package/skills/creative/frontend-design/SKILL.md +42 -0
- package/skills/creative/theme-factory/LICENSE.txt +202 -0
- package/skills/creative/theme-factory/SKILL-zh.md +59 -0
- package/skills/creative/theme-factory/SKILL.md +59 -0
- package/skills/creative/theme-factory/theme-showcase.pdf +0 -0
- package/skills/creative/theme-factory/themes/arctic-frost.md +19 -0
- package/skills/creative/theme-factory/themes/botanical-garden.md +19 -0
- package/skills/creative/theme-factory/themes/desert-rose.md +19 -0
- package/skills/creative/theme-factory/themes/forest-canopy.md +19 -0
- package/skills/creative/theme-factory/themes/golden-hour.md +19 -0
- package/skills/creative/theme-factory/themes/midnight-galaxy.md +19 -0
- package/skills/creative/theme-factory/themes/modern-minimalist.md +19 -0
- package/skills/creative/theme-factory/themes/ocean-depths.md +19 -0
- package/skills/creative/theme-factory/themes/sunset-boulevard.md +19 -0
- package/skills/creative/theme-factory/themes/tech-innovation.md +19 -0
- package/skills/creative/web-artifacts-builder/LICENSE.txt +202 -0
- package/skills/creative/web-artifacts-builder/SKILL-zh.md +74 -0
- package/skills/creative/web-artifacts-builder/SKILL.md +74 -0
- package/skills/creative/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/skills/creative/web-artifacts-builder/scripts/init-artifact.sh +322 -0
- package/skills/creative/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/skills/documents/doc-coauthoring/SKILL-zh.md +375 -0
- package/skills/documents/doc-coauthoring/SKILL.md +375 -0
- package/skills/documents/docx/SKILL-zh.md +590 -0
- package/skills/{docx → documents/docx}/SKILL.md +11 -11
- package/skills/{docx → documents/docx}/scripts/comment.py +2 -2
- package/skills/{docx → documents/docx}/scripts/office/helpers/simplify_redlines.py +1 -1
- package/skills/{docx → documents/docx}/scripts/office/pack.py +2 -2
- package/skills/{xlsx → documents/docx}/scripts/office/validate.py +2 -2
- package/skills/{xlsx → documents/docx}/scripts/office/validators/redlining.py +1 -1
- package/skills/documents/pdf/SKILL-zh.md +314 -0
- package/skills/documents/pptx/SKILL-zh.md +232 -0
- package/skills/{pptx → documents/pptx}/editing.md +3 -3
- package/skills/{pptx → documents/pptx}/scripts/office/helpers/simplify_redlines.py +1 -1
- package/skills/{xlsx → documents/pptx}/scripts/office/pack.py +2 -2
- package/skills/{pptx → documents/pptx}/scripts/office/validate.py +2 -2
- package/skills/{docx → documents/pptx}/scripts/office/validators/redlining.py +1 -1
- package/skills/documents/xlsx/SKILL-zh.md +292 -0
- package/skills/{xlsx → documents/xlsx}/scripts/office/helpers/simplify_redlines.py +1 -1
- package/skills/{pptx → documents/xlsx}/scripts/office/pack.py +2 -2
- package/skills/{docx → documents/xlsx}/scripts/office/validate.py +2 -2
- package/skills/{pptx → documents/xlsx}/scripts/office/validators/redlining.py +1 -1
- package/skills/meta/skill-creator/LICENSE.txt +202 -0
- package/skills/meta/skill-creator/SKILL-zh.md +483 -0
- package/skills/{skill-creator → meta/skill-creator}/SKILL.md +0 -1
- package/skills/tools/find-skills/SKILL-zh.md +440 -0
- package/skills/tools/github/SKILL-zh.md +48 -0
- package/skills/tools/internal-comms/LICENSE.txt +202 -0
- package/skills/tools/internal-comms/SKILL-zh.md +32 -0
- package/skills/tools/internal-comms/SKILL.md +32 -0
- package/skills/tools/internal-comms/examples/3p-updates.md +47 -0
- package/skills/tools/internal-comms/examples/company-newsletter.md +65 -0
- package/skills/tools/internal-comms/examples/faq-answers.md +30 -0
- package/skills/tools/internal-comms/examples/general-comms.md +16 -0
- package/skills/tools/summarize/SKILL-zh.md +47 -0
- package/skills/tools/weather/SKILL-zh.md +46 -0
- package/skills/tools/webapp-testing/LICENSE.txt +202 -0
- package/skills/tools/webapp-testing/SKILL-zh.md +96 -0
- package/skills/tools/webapp-testing/SKILL.md +96 -0
- package/skills/tools/webapp-testing/examples/console_logging.py +35 -0
- package/skills/tools/webapp-testing/examples/element_discovery.py +40 -0
- package/skills/tools/webapp-testing/examples/static_html_automation.py +33 -0
- package/skills/tools/webapp-testing/scripts/with_server.py +106 -0
- package/dist/gateway/static/root/assets/agents-CkgFSiCY.js +0 -216
- package/dist/gateway/static/root/assets/agents-CkgFSiCY.js.map +0 -1
- package/dist/gateway/static/root/assets/channels-settings-CE7jrdkO.js +0 -9
- package/dist/gateway/static/root/assets/channels-settings-CE7jrdkO.js.map +0 -1
- package/dist/gateway/static/root/assets/cron-page-BpPPcykJ.js +0 -2
- package/dist/gateway/static/root/assets/cron-page-BpPPcykJ.js.map +0 -1
- package/dist/gateway/static/root/assets/cron-utils-N1PqD2DB.js +0 -3
- package/dist/gateway/static/root/assets/cron-utils-N1PqD2DB.js.map +0 -1
- package/dist/gateway/static/root/assets/dist--p2HQ2QF.js +0 -2
- package/dist/gateway/static/root/assets/index-Dnfha4O2.css +0 -1
- package/dist/gateway/static/root/assets/logs-page-CQwdV_Xw.js +0 -2
- package/dist/gateway/static/root/assets/logs-page-CQwdV_Xw.js.map +0 -1
- package/dist/gateway/static/root/assets/sessions-page-Be5kIGl_.js +0 -2
- package/dist/gateway/static/root/assets/settings-page-PodSlNwr.js +0 -2
- package/dist/gateway/static/root/assets/settings-page-PodSlNwr.js.map +0 -1
- package/dist/gateway/static/root/assets/skills-page-Clg8deH0.js +0 -3
- package/dist/gateway/static/root/assets/skills-page-Clg8deH0.js.map +0 -1
- package/dist/src/agent/skills/skills-store-client.d.ts +0 -66
- package/dist/src/agent/skills/skills-store-client.js.map +0 -1
- package/dist/src/stt/index.d.ts +0 -1
- package/dist/src/stt/index.js +0 -8
- /package/skills/{docx → documents/docx}/LICENSE.txt +0 -0
- /package/skills/{docx → documents/docx}/scripts/__init__.py +0 -0
- /package/skills/{docx → documents/docx}/scripts/accept_changes.py +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/helpers/__init__.py +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/helpers/merge_runs.py +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/mce/mc.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/soffice.py +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/unpack.py +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/validators/__init__.py +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/validators/base.py +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/validators/docx.py +0 -0
- /package/skills/{docx → documents/docx}/scripts/office/validators/pptx.py +0 -0
- /package/skills/{docx → documents/docx}/scripts/templates/comments.xml +0 -0
- /package/skills/{docx → documents/docx}/scripts/templates/commentsExtended.xml +0 -0
- /package/skills/{docx → documents/docx}/scripts/templates/commentsExtensible.xml +0 -0
- /package/skills/{docx → documents/docx}/scripts/templates/commentsIds.xml +0 -0
- /package/skills/{docx → documents/docx}/scripts/templates/people.xml +0 -0
- /package/skills/{pdf → documents/pdf}/LICENSE.txt +0 -0
- /package/skills/{pdf → documents/pdf}/SKILL.md +0 -0
- /package/skills/{pdf → documents/pdf}/forms.md +0 -0
- /package/skills/{pdf → documents/pdf}/reference.md +0 -0
- /package/skills/{pdf → documents/pdf}/scripts/check_bounding_boxes.py +0 -0
- /package/skills/{pdf → documents/pdf}/scripts/check_fillable_fields.py +0 -0
- /package/skills/{pdf → documents/pdf}/scripts/convert_pdf_to_images.py +0 -0
- /package/skills/{pdf → documents/pdf}/scripts/create_validation_image.py +0 -0
- /package/skills/{pdf → documents/pdf}/scripts/extract_form_field_info.py +0 -0
- /package/skills/{pdf → documents/pdf}/scripts/extract_form_structure.py +0 -0
- /package/skills/{pdf → documents/pdf}/scripts/fill_fillable_fields.py +0 -0
- /package/skills/{pdf → documents/pdf}/scripts/fill_pdf_form_with_annotations.py +0 -0
- /package/skills/{pptx → documents/pptx}/LICENSE.txt +0 -0
- /package/skills/{pptx → documents/pptx}/SKILL.md +0 -0
- /package/skills/{pptx → documents/pptx}/pptxgenjs.md +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/__init__.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/add_slide.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/clean.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/helpers/__init__.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/helpers/merge_runs.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/mce/mc.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/soffice.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/unpack.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/validators/__init__.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/validators/base.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/validators/docx.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/office/validators/pptx.py +0 -0
- /package/skills/{pptx → documents/pptx}/scripts/thumbnail.py +0 -0
- /package/skills/{xlsx → documents/xlsx}/LICENSE.txt +0 -0
- /package/skills/{xlsx → documents/xlsx}/SKILL.md +0 -0
- /package/skills/{skill-creator/scripts → documents/xlsx/scripts/office/helpers}/__init__.py +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/helpers/merge_runs.py +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/mce/mc.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/soffice.py +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/unpack.py +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/validators/__init__.py +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/validators/base.py +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/validators/docx.py +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/office/validators/pptx.py +0 -0
- /package/skills/{xlsx → documents/xlsx}/scripts/recalc.py +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/agents/analyzer.md +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/agents/comparator.md +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/agents/grader.md +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/assets/eval_review.html +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/eval-viewer/generate_review.py +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/eval-viewer/viewer.html +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/references/schemas.md +0 -0
- /package/skills/{xlsx/scripts/office/helpers → meta/skill-creator/scripts}/__init__.py +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/scripts/aggregate_benchmark.py +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/scripts/generate_report.py +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/scripts/improve_description.py +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/scripts/package_skill.py +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/scripts/quick_validate.py +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/scripts/run_eval.py +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/scripts/run_loop.py +0 -0
- /package/skills/{skill-creator → meta/skill-creator}/scripts/utils.py +0 -0
- /package/skills/{find-skills → tools/find-skills}/SKILL.md +0 -0
- /package/skills/{github → tools/github}/SKILL.md +0 -0
- /package/skills/{summarize → tools/summarize}/SKILL.md +0 -0
- /package/skills/{weather → tools/weather}/SKILL.md +0 -0
|
@@ -1,42 +1,27 @@
|
|
|
1
1
|
import { init_agent_scope, resolveAgentBootstrapDir, resolveAgentHomeDir, resolveDefaultAgentId } from "./agent-scope.js";
|
|
2
2
|
import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
|
|
3
3
|
import { applyConfigOverrides } from "../config/runtime-overrides.js";
|
|
4
|
-
import { init_session_key, parseSessionKey } from "../routing/session-key.js";
|
|
5
4
|
import { extractProfileAgentId, resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
|
|
6
5
|
import { runWithLogContext, updateAsyncLogContext } from "../utils/logger/context.js";
|
|
7
6
|
import { createLogger } from "../utils/logger/index.js";
|
|
8
7
|
import { init_logger } from "../utils/logger.js";
|
|
9
|
-
import { getDefaultModelSync, init_providers, resolveModel } from "../providers/index.js";
|
|
10
8
|
import { extractTextContent, loadBootstrapFiles } from "./context/workspace.js";
|
|
11
|
-
import { isTTSAvailable } from "../voice/tts/factory.js";
|
|
12
|
-
import { mergeTtsConfigFromAppConfig } from "../voice/tts/merge-config.js";
|
|
13
|
-
import { DREAMING_CRON_NAME, DREAMING_LIGHT_CRON_NAME, DREAMING_LIGHT_SWEEP_TOKEN, DREAMING_REM_CRON_NAME, DREAMING_REM_SWEEP_TOKEN, DREAMING_SWEEP_TOKEN } from "./memory/dreaming/constants.js";
|
|
14
|
-
import { resolveDreamingConfig } from "./memory/dreaming/config.js";
|
|
15
|
-
import { speak } from "../voice/tts/speak-core.js";
|
|
16
|
-
import { getChannelOutputFormat, shouldUseTTS } from "../voice/tts/service.js";
|
|
17
|
-
import { compressAudio } from "../voice/tts/audio.js";
|
|
18
|
-
import { extractAgentUserPlainText } from "./memory/user-message-text.js";
|
|
19
9
|
import { AgentManager } from "./agent-manager.js";
|
|
20
10
|
import { MessageBusShutdownError } from "../infra/bus/queue.js";
|
|
21
11
|
import "../infra/bus/index.js";
|
|
22
|
-
import {
|
|
12
|
+
import { persistInboundAttachmentsToWorkspace } from "../channels/attachments/inbound-persist.js";
|
|
23
13
|
import { maybeAutoTitleSessionStore } from "../session/session-title.js";
|
|
24
|
-
import { INTERNAL_OUTBOUND_DROP_CHANNEL } from "../channels/internal-outbound.js";
|
|
25
|
-
import { cleanTrailingErrors, sanitizeMessages } from "./memory/message-sanitizer.js";
|
|
26
14
|
import { SessionStore } from "../session/store.js";
|
|
27
15
|
import { SessionConfigStore } from "../session/config-store.js";
|
|
28
16
|
import { normalizeReasoningLevel, normalizeThinkLevel } from "./transcript/thinking-types.js";
|
|
29
17
|
import { resolveEffectiveReasoningLevel, resolveEffectiveThinkingLevel } from "../session/thinking-resolve.js";
|
|
30
18
|
import { effectiveWorkspacePathForSession, normalizeWorkingDirectoryInput } from "../session/session-workspace.js";
|
|
31
19
|
import "../session/index.js";
|
|
32
|
-
import { parseSlashCommand } from "../chat-commands/command-parse.js";
|
|
33
|
-
import { commandRegistry } from "../chat-commands/registry.js";
|
|
34
20
|
import { ExtensionHookRunner } from "../extensions/hooks.js";
|
|
35
21
|
import "../extensions/index.js";
|
|
36
22
|
import { SessionTracker } from "./session/tracker.js";
|
|
37
23
|
import { ModelManager } from "./models/manager.js";
|
|
38
24
|
import "./models/index.js";
|
|
39
|
-
import "../voice/tts/index.js";
|
|
40
25
|
import { initializeCommands } from "../chat-commands/index.js";
|
|
41
26
|
import { ProgressFeedbackManager } from "./lifecycle/progress.js";
|
|
42
27
|
import { HookHandler } from "./lifecycle/hook-handler.js";
|
|
@@ -59,10 +44,8 @@ import "./messaging/index.js";
|
|
|
59
44
|
import { SessionContextManager } from "./session/session-context.js";
|
|
60
45
|
import { SessionLifecycleManager } from "./session/session-lifecycle.js";
|
|
61
46
|
import "./session/index.js";
|
|
47
|
+
import { cleanTrailingErrors, sanitizeMessages } from "./memory/message-sanitizer.js";
|
|
62
48
|
import { tryApplySessionTranscriptHygiene, tryApplySessionTranscriptHygieneForPersistence } from "./transcript/transcript-hygiene.js";
|
|
63
|
-
import { runAgentTurnWithModelFallbacks } from "./orchestration/run-agent-turn-with-fallbacks.js";
|
|
64
|
-
import { expandAtFileMentionsInPlainText } from "./context/expand-at-file-mentions.js";
|
|
65
|
-
import { resolveInboundImageContentParts } from "./image/inbound-image-handling.js";
|
|
66
49
|
import { AgentOrchestrator } from "./orchestration/agent-orchestrator.js";
|
|
67
50
|
import { AgentEventHandler } from "./orchestration/agent-event-handler.js";
|
|
68
51
|
import "./orchestration/index.js";
|
|
@@ -70,19 +53,22 @@ import { FeedbackCoordinator } from "./feedback/feedback-coordinator.js";
|
|
|
70
53
|
import "./feedback/index.js";
|
|
71
54
|
import { inboundMessageLogRequestId } from "./service-inbound-utils.js";
|
|
72
55
|
import { runProcessDirectStreaming } from "./service/process-direct-streaming.js";
|
|
56
|
+
import { reconcileManagedDreamingCronJobs } from "./service/reconcile-dreaming-cron.js";
|
|
57
|
+
import { parseOutboundSessionKey } from "./service/parse-outbound-session-key.js";
|
|
58
|
+
import { runBtwQuery } from "./service/btw-query.js";
|
|
59
|
+
import { formatSessionContextReport } from "./service/session-context-report.js";
|
|
60
|
+
import { buildDirectUserMessageContent } from "./service/build-direct-message-content.js";
|
|
61
|
+
import { maybeEmitWebchatTts } from "./service/webchat-tts.js";
|
|
62
|
+
import { runProcessDirect } from "./service/process-direct-one-shot.js";
|
|
73
63
|
import { shouldSilence } from "../heartbeat/tokens.js";
|
|
74
64
|
import { createTypingController } from "./lifecycle/typing.js";
|
|
75
|
-
import { persistOutboundTtsAudio } from "../channels/attachments/outbound-tts-persist.js";
|
|
76
65
|
import { join } from "node:path";
|
|
77
66
|
import { existsSync, readFileSync } from "node:fs";
|
|
78
|
-
import { complete } from "@mariozechner/pi-ai";
|
|
79
67
|
import { mkdir } from "node:fs/promises";
|
|
80
68
|
//#region src/agent/service.ts
|
|
81
69
|
init_schema();
|
|
82
70
|
init_logger();
|
|
83
71
|
init_agent_scope();
|
|
84
|
-
init_session_key();
|
|
85
|
-
init_providers();
|
|
86
72
|
const log = createLogger("AgentService");
|
|
87
73
|
var AgentService = class {
|
|
88
74
|
sessionStore;
|
|
@@ -354,11 +340,11 @@ var AgentService = class {
|
|
|
354
340
|
this.agentManager.updateAgentDefaults(config);
|
|
355
341
|
this.commandHandler.updateAgentConfig(config);
|
|
356
342
|
}
|
|
357
|
-
getSkillCatalog() {
|
|
358
|
-
return this.agentManager.getSkillCatalog();
|
|
343
|
+
getSkillCatalog(lang) {
|
|
344
|
+
return this.agentManager.getSkillCatalog(lang);
|
|
359
345
|
}
|
|
360
|
-
getSkillMarkdownSource(skillName) {
|
|
361
|
-
return this.agentManager.getSkillMarkdownSource(skillName);
|
|
346
|
+
getSkillMarkdownSource(skillName, lang) {
|
|
347
|
+
return this.agentManager.getSkillMarkdownSource(skillName, lang);
|
|
362
348
|
}
|
|
363
349
|
refreshSkillsAfterDiskChange() {
|
|
364
350
|
this.agentManager.refreshSkillsAfterDiskChange();
|
|
@@ -468,64 +454,7 @@ var AgentService = class {
|
|
|
468
454
|
async reconcileDreamingCronJob() {
|
|
469
455
|
const cron = this.config.getCronService?.();
|
|
470
456
|
if (!cron) return;
|
|
471
|
-
|
|
472
|
-
const managed = (await cron.listJobs()).filter((job) => job.name?.includes?.("[managed-by=xopc.memory.dreaming]") ?? false);
|
|
473
|
-
const phaseSpecs = [
|
|
474
|
-
{
|
|
475
|
-
cronName: DREAMING_LIGHT_CRON_NAME,
|
|
476
|
-
token: DREAMING_LIGHT_SWEEP_TOKEN,
|
|
477
|
-
schedule: dreaming.phases.light.cron,
|
|
478
|
-
phaseEnabled: dreaming.phases.light.enabled
|
|
479
|
-
},
|
|
480
|
-
{
|
|
481
|
-
cronName: DREAMING_CRON_NAME,
|
|
482
|
-
token: DREAMING_SWEEP_TOKEN,
|
|
483
|
-
schedule: dreaming.phases.deep.cron,
|
|
484
|
-
phaseEnabled: dreaming.phases.deep.enabled
|
|
485
|
-
},
|
|
486
|
-
{
|
|
487
|
-
cronName: DREAMING_REM_CRON_NAME,
|
|
488
|
-
token: DREAMING_REM_SWEEP_TOKEN,
|
|
489
|
-
schedule: dreaming.phases.rem.cron,
|
|
490
|
-
phaseEnabled: dreaming.phases.rem.enabled
|
|
491
|
-
}
|
|
492
|
-
];
|
|
493
|
-
if (!dreaming.enabled) {
|
|
494
|
-
for (const job of managed) await cron.removeJob(job.id).catch(() => {});
|
|
495
|
-
return;
|
|
496
|
-
}
|
|
497
|
-
for (const spec of phaseSpecs) {
|
|
498
|
-
const phaseJobs = managed.filter((job) => job.name === spec.cronName);
|
|
499
|
-
if (!spec.phaseEnabled) {
|
|
500
|
-
for (const job of phaseJobs) await cron.removeJob(job.id).catch(() => {});
|
|
501
|
-
continue;
|
|
502
|
-
}
|
|
503
|
-
const desiredPayload = {
|
|
504
|
-
kind: "agentTurn",
|
|
505
|
-
message: spec.token
|
|
506
|
-
};
|
|
507
|
-
if (phaseJobs.length === 0) {
|
|
508
|
-
await cron.addJob(spec.schedule, {
|
|
509
|
-
name: spec.cronName,
|
|
510
|
-
timezone: dreaming.timezone,
|
|
511
|
-
sessionTarget: "isolated",
|
|
512
|
-
payload: desiredPayload,
|
|
513
|
-
enabled: true
|
|
514
|
-
});
|
|
515
|
-
continue;
|
|
516
|
-
}
|
|
517
|
-
const primary = phaseJobs[0];
|
|
518
|
-
for (const dup of phaseJobs.slice(1)) await cron.removeJob(dup.id).catch(() => {});
|
|
519
|
-
const payloadMessage = primary.payload?.kind === "agentTurn" ? primary.payload.message : primary.payload?.text;
|
|
520
|
-
if (primary.schedule !== spec.schedule || (dreaming.timezone ?? null) !== (primary.timezone ?? null) || primary.sessionTarget !== "isolated" || payloadMessage !== spec.token || primary.enabled !== true || primary.name !== spec.cronName) await cron.updateJob(primary.id, {
|
|
521
|
-
schedule: spec.schedule,
|
|
522
|
-
timezone: dreaming.timezone ?? void 0,
|
|
523
|
-
sessionTarget: "isolated",
|
|
524
|
-
name: spec.cronName,
|
|
525
|
-
payload: desiredPayload,
|
|
526
|
-
enabled: true
|
|
527
|
-
});
|
|
528
|
-
}
|
|
457
|
+
await reconcileManagedDreamingCronJobs(cron, this.effectiveAppConfig());
|
|
529
458
|
}
|
|
530
459
|
/**
|
|
531
460
|
* Persist agent messages with the same sanitizer + transcript hygiene as AgentOrchestrator.
|
|
@@ -583,34 +512,7 @@ var AgentService = class {
|
|
|
583
512
|
return out;
|
|
584
513
|
}
|
|
585
514
|
parseSessionKey(sessionKey) {
|
|
586
|
-
|
|
587
|
-
const first = parts[0] || "cli";
|
|
588
|
-
if (first === "heartbeat") {
|
|
589
|
-
const hb = this.config.config?.gateway?.heartbeat;
|
|
590
|
-
const target = hb?.target?.trim();
|
|
591
|
-
const targetChatId = hb?.targetChatId?.trim();
|
|
592
|
-
if (target && targetChatId) return {
|
|
593
|
-
channel: target,
|
|
594
|
-
chatId: targetChatId
|
|
595
|
-
};
|
|
596
|
-
return {
|
|
597
|
-
channel: INTERNAL_OUTBOUND_DROP_CHANNEL,
|
|
598
|
-
chatId: parts.slice(1).join(":") || "heartbeat"
|
|
599
|
-
};
|
|
600
|
-
}
|
|
601
|
-
const parsed = parseSessionKey(sessionKey);
|
|
602
|
-
if (parsed) return {
|
|
603
|
-
channel: parsed.source,
|
|
604
|
-
chatId: parsed.peerId
|
|
605
|
-
};
|
|
606
|
-
if (first === "cron") return {
|
|
607
|
-
channel: INTERNAL_OUTBOUND_DROP_CHANNEL,
|
|
608
|
-
chatId: parts.slice(1).join(":") || "cron"
|
|
609
|
-
};
|
|
610
|
-
return {
|
|
611
|
-
channel: first,
|
|
612
|
-
chatId: parts.slice(1).join(":") || "direct"
|
|
613
|
-
};
|
|
515
|
+
return parseOutboundSessionKey(sessionKey, this.config.config);
|
|
614
516
|
}
|
|
615
517
|
initSessionContext(sessionKey, channel, chatId, senderId = "") {
|
|
616
518
|
const context = {
|
|
@@ -631,63 +533,6 @@ var AgentService = class {
|
|
|
631
533
|
this.setupSessionEventHandling(sessionKey);
|
|
632
534
|
return context;
|
|
633
535
|
}
|
|
634
|
-
async buildMessageContent(content, attachments, sessionKey) {
|
|
635
|
-
const messageContent = [];
|
|
636
|
-
const sk = sessionKey ?? "";
|
|
637
|
-
if (content.trim()) {
|
|
638
|
-
let textPart = content;
|
|
639
|
-
if (/@file:/.test(textPart)) {
|
|
640
|
-
const wsKey = sk !== "" ? sk : "cli:direct";
|
|
641
|
-
const root = this.agentManager.getResolvedWorkspaceForSession(wsKey);
|
|
642
|
-
textPart = await expandAtFileMentionsInPlainText(textPart, root);
|
|
643
|
-
}
|
|
644
|
-
messageContent.push({
|
|
645
|
-
type: "text",
|
|
646
|
-
text: textPart
|
|
647
|
-
});
|
|
648
|
-
}
|
|
649
|
-
if (!attachments?.length) return messageContent;
|
|
650
|
-
const modelRef = sk !== "" ? this.modelManager.getModelForSession(sk) : getAgentDefaultModelRef(this.config.config) ?? getDefaultModelSync(this.config.config);
|
|
651
|
-
const cfg = this.config.config;
|
|
652
|
-
const storageRoot = sk !== "" ? resolveAgentHomeDir(this.config.config, extractProfileAgentId(sk, this.config.config)) : resolveAgentHomeDir(this.config.config, resolveDefaultAgentId(this.config.config));
|
|
653
|
-
let i = 0;
|
|
654
|
-
while (i < attachments.length) {
|
|
655
|
-
const att = attachments[i];
|
|
656
|
-
if (att.type === "image" || att.type === "photo" || Boolean(att.mimeType?.startsWith("image/"))) {
|
|
657
|
-
const group = [];
|
|
658
|
-
while (i < attachments.length) {
|
|
659
|
-
const a = attachments[i];
|
|
660
|
-
if (!(a.type === "image" || a.type === "photo" || Boolean(a.mimeType?.startsWith("image/")))) break;
|
|
661
|
-
if (!a.data || a.data.length === 0) {
|
|
662
|
-
i += 1;
|
|
663
|
-
continue;
|
|
664
|
-
}
|
|
665
|
-
group.push({
|
|
666
|
-
data: a.data,
|
|
667
|
-
mimeType: a.mimeType || "image/png"
|
|
668
|
-
});
|
|
669
|
-
i += 1;
|
|
670
|
-
}
|
|
671
|
-
if (group.length > 0) {
|
|
672
|
-
const parts = await resolveInboundImageContentParts({
|
|
673
|
-
modelRef: modelRef || getDefaultModelSync(cfg),
|
|
674
|
-
cfg,
|
|
675
|
-
userTextForContext: content.trim() ? content : "",
|
|
676
|
-
images: group
|
|
677
|
-
});
|
|
678
|
-
messageContent.push(...parts);
|
|
679
|
-
}
|
|
680
|
-
} else {
|
|
681
|
-
const fileBlock = formatInboundFileTextBlock(att, storageRoot);
|
|
682
|
-
messageContent.push({
|
|
683
|
-
type: "text",
|
|
684
|
-
text: fileBlock
|
|
685
|
-
});
|
|
686
|
-
i += 1;
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
return messageContent;
|
|
690
|
-
}
|
|
691
536
|
/**
|
|
692
537
|
* Persist inbound file attachments under agent home `inbound/` (non-images with data).
|
|
693
538
|
* Idempotent if `workspaceRelativePath` is already set on an attachment.
|
|
@@ -720,86 +565,22 @@ var AgentService = class {
|
|
|
720
565
|
return result;
|
|
721
566
|
}
|
|
722
567
|
/**
|
|
568
|
+
* Drop in-memory agent so the next turn reloads transcript from disk (e.g. after checkpoint restore).
|
|
569
|
+
*/
|
|
570
|
+
evictSessionAgent(sessionKey) {
|
|
571
|
+
this.agentManager.removeAgent(sessionKey);
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
723
574
|
* One-shot LLM answer for /btw: uses transcript as background only; does not persist to session.
|
|
724
575
|
*/
|
|
725
576
|
async btwQuery(sessionKey, question) {
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
let model;
|
|
734
|
-
try {
|
|
735
|
-
model = resolveModel(modelRef);
|
|
736
|
-
} catch (err) {
|
|
737
|
-
const em = err instanceof Error ? err.message : String(err);
|
|
738
|
-
log.warn({
|
|
739
|
-
err,
|
|
740
|
-
modelRef,
|
|
741
|
-
errorMessage: em
|
|
742
|
-
}, "btwQuery: model resolve failed");
|
|
743
|
-
return {
|
|
744
|
-
text: "",
|
|
745
|
-
error: `Could not resolve model: ${modelRef}`
|
|
746
|
-
};
|
|
747
|
-
}
|
|
748
|
-
const background = this.formatMessagesForBtw(messages.slice(-40));
|
|
749
|
-
const userMessage = {
|
|
750
|
-
role: "user",
|
|
751
|
-
content: [
|
|
752
|
-
[
|
|
753
|
-
"You are answering an ephemeral /btw side question about the current conversation.",
|
|
754
|
-
"Use the conversation only as background context.",
|
|
755
|
-
"Answer only the side question. Do not continue or complete any unfinished task from the conversation.",
|
|
756
|
-
"Do not use tools, shell, or file writes unless the question explicitly requires a tiny code snippet.",
|
|
757
|
-
"If the question can be answered briefly, answer briefly."
|
|
758
|
-
].join("\n"),
|
|
759
|
-
"",
|
|
760
|
-
"---",
|
|
761
|
-
"Conversation background (read-only):",
|
|
762
|
-
background || "(empty)",
|
|
763
|
-
"",
|
|
764
|
-
"---",
|
|
765
|
-
"Side question:",
|
|
766
|
-
q
|
|
767
|
-
].join("\n"),
|
|
768
|
-
timestamp: Date.now()
|
|
769
|
-
};
|
|
770
|
-
const controller = new AbortController();
|
|
771
|
-
const timeoutId = setTimeout(() => controller.abort(), 9e4);
|
|
772
|
-
try {
|
|
773
|
-
const out = await complete(model, { messages: [userMessage] }, {
|
|
774
|
-
maxTokens: 2048,
|
|
775
|
-
temperature: .4,
|
|
776
|
-
signal: controller.signal
|
|
777
|
-
});
|
|
778
|
-
return { text: (Array.isArray(out.content) ? out.content.filter((c) => c.type === "text" && typeof c.text === "string").map((c) => c.text || "").join("") : "").trim() };
|
|
779
|
-
} catch (err) {
|
|
780
|
-
const em = err instanceof Error ? err.message : String(err);
|
|
781
|
-
log.warn({
|
|
782
|
-
err,
|
|
783
|
-
sessionKey,
|
|
784
|
-
errorMessage: em
|
|
785
|
-
}, "btwQuery failed");
|
|
786
|
-
return {
|
|
787
|
-
text: "",
|
|
788
|
-
error: em
|
|
789
|
-
};
|
|
790
|
-
} finally {
|
|
791
|
-
clearTimeout(timeoutId);
|
|
792
|
-
}
|
|
793
|
-
}
|
|
794
|
-
formatMessagesForBtw(messages) {
|
|
795
|
-
return messages.map((m) => {
|
|
796
|
-
const role = m.role;
|
|
797
|
-
let body = "";
|
|
798
|
-
if (typeof m.content === "string") body = m.content;
|
|
799
|
-
else if (Array.isArray(m.content)) body = m.content.filter((c) => c.type === "text").map((c) => c.text || "").join("\n");
|
|
800
|
-
const line = `[${role}]: ${body}`;
|
|
801
|
-
return line.length > 4e3 ? `${line.slice(0, 4e3)}…` : line;
|
|
802
|
-
}).join("\n\n");
|
|
577
|
+
return runBtwQuery({
|
|
578
|
+
sessionKey,
|
|
579
|
+
question,
|
|
580
|
+
sessionStore: this.sessionStore,
|
|
581
|
+
modelForSession: this.modelManager.getModelForSession(sessionKey),
|
|
582
|
+
log
|
|
583
|
+
});
|
|
803
584
|
}
|
|
804
585
|
/** Markdown or JSON summary for /context (prompt assembly is approximated from config + transcript stats). */
|
|
805
586
|
async getSessionContextReport(sessionKey, mode) {
|
|
@@ -815,45 +596,23 @@ var AgentService = class {
|
|
|
815
596
|
const compaction = defaults?.compaction;
|
|
816
597
|
const tools = defaults?.tools;
|
|
817
598
|
const toolsSummary = tools && typeof tools === "object" ? Object.entries(tools).filter(([, v]) => v === true).map(([k]) => k).slice(0, 16).join(", ") || "(none explicitly true)" : "(see agents.defaults.tools in config)";
|
|
818
|
-
|
|
599
|
+
return formatSessionContextReport({
|
|
819
600
|
sessionKey,
|
|
601
|
+
mode,
|
|
820
602
|
model,
|
|
821
603
|
workspacePath: workspace,
|
|
822
604
|
agentId: profile.agentId,
|
|
823
605
|
messageCount: messages.length,
|
|
824
606
|
contextWindowNominal: cw,
|
|
825
607
|
estimatedTranscriptTokens: estTokens,
|
|
826
|
-
approxWindowUsage: cw > 0 ? estTokens / cw : null,
|
|
827
608
|
thinkingDefault: defaults?.thinkingDefault,
|
|
828
609
|
reasoningDefault: defaults?.reasoningDefault,
|
|
829
610
|
verboseDefault: defaults?.verboseDefault,
|
|
830
611
|
compaction,
|
|
831
|
-
|
|
612
|
+
toolsFlagsSummary: toolsSummary,
|
|
832
613
|
windowStats: stats.windowStats,
|
|
833
614
|
compactionRunStats: stats.compactionStats
|
|
834
|
-
};
|
|
835
|
-
if (mode === "json") return JSON.stringify(payload, null, 2);
|
|
836
|
-
const lines = [
|
|
837
|
-
"📎 *Context overview*",
|
|
838
|
-
"",
|
|
839
|
-
`• Session: \`${sessionKey}\``,
|
|
840
|
-
`• Model: \`${model}\``,
|
|
841
|
-
`• Agent profile: \`${profile.agentId}\``,
|
|
842
|
-
`• Workspace: \`${workspace}\``,
|
|
843
|
-
`• Messages: ${messages.length}`,
|
|
844
|
-
`• Est. transcript tokens (rough): ${estTokens}`,
|
|
845
|
-
`• Nominal context budget (4× maxTokens): ${cw}`
|
|
846
|
-
];
|
|
847
|
-
if (cw > 0) lines.push(`• Approx. usage vs budget: ${(estTokens / cw * 100).toFixed(1)}%`);
|
|
848
|
-
lines.push(`• Thinking / reasoning / verbose defaults: ${defaults?.thinkingDefault ?? "—"} / ${defaults?.reasoningDefault ?? "—"} / ${defaults?.verboseDefault ?? "—"}`, `• Tools (true flags): ${toolsSummary}`, "", "_Full system prompt, skills, and memory blocks are assembled at agent runtime; use Web settings or logs for deep inspection._");
|
|
849
|
-
if (mode === "detail") {
|
|
850
|
-
lines.push("", "*Compaction config (agents.defaults.compaction):*", "```json");
|
|
851
|
-
lines.push(JSON.stringify(compaction ?? {}, null, 2));
|
|
852
|
-
lines.push("```", "", "*Window stats:*", "```json");
|
|
853
|
-
lines.push(JSON.stringify(stats.windowStats ?? {}, null, 2));
|
|
854
|
-
lines.push("```");
|
|
855
|
-
}
|
|
856
|
-
return lines.join("\n");
|
|
615
|
+
});
|
|
857
616
|
}
|
|
858
617
|
getSessionStats(sessionKey, messages) {
|
|
859
618
|
return {
|
|
@@ -1067,9 +826,21 @@ var AgentService = class {
|
|
|
1067
826
|
agentOrchestrator: this.agentOrchestrator,
|
|
1068
827
|
commandHandler: this.commandHandler,
|
|
1069
828
|
prepareInboundAttachments: (sk, att) => this.prepareInboundAttachments(sk, att),
|
|
1070
|
-
buildMessageContent: (text, prepared, sk) =>
|
|
829
|
+
buildMessageContent: (text, prepared, sk) => buildDirectUserMessageContent({
|
|
830
|
+
content: text,
|
|
831
|
+
attachments: prepared,
|
|
832
|
+
sessionKey: sk,
|
|
833
|
+
config: this.config.config,
|
|
834
|
+
agentManager: this.agentManager,
|
|
835
|
+
modelManager: this.modelManager
|
|
836
|
+
}),
|
|
1071
837
|
persistAgentSessionMessages: (sk) => this.persistAgentSessionMessages(sk),
|
|
1072
|
-
maybeEmitWebchatTts: (sk, hadVoice) =>
|
|
838
|
+
maybeEmitWebchatTts: (sk, hadVoice) => maybeEmitWebchatTts({
|
|
839
|
+
config: this.config.config,
|
|
840
|
+
agentManager: this.agentManager,
|
|
841
|
+
sessionStore: this.sessionStore,
|
|
842
|
+
log
|
|
843
|
+
}, sk, hadVoice),
|
|
1073
844
|
endDirectRequestContext: () => this.endDirectRequestContext()
|
|
1074
845
|
};
|
|
1075
846
|
}
|
|
@@ -1108,112 +879,36 @@ var AgentService = class {
|
|
|
1108
879
|
return false;
|
|
1109
880
|
}
|
|
1110
881
|
}
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
name: persisted.name,
|
|
1134
|
-
size: persisted.size,
|
|
1135
|
-
workspaceRelativePath: persisted.workspaceRelativePath
|
|
1136
|
-
});
|
|
1137
|
-
return {
|
|
1138
|
-
type: "tts_audio",
|
|
1139
|
-
workspaceRelativePath: persisted.workspaceRelativePath,
|
|
1140
|
-
mimeType: normalizedMime,
|
|
1141
|
-
name: persisted.name
|
|
1142
|
-
};
|
|
1143
|
-
} catch (err) {
|
|
1144
|
-
log.warn({
|
|
1145
|
-
err,
|
|
1146
|
-
sessionKey
|
|
1147
|
-
}, "Webchat TTS failed");
|
|
1148
|
-
return null;
|
|
1149
|
-
}
|
|
1150
|
-
}
|
|
1151
|
-
async appendAttachmentToLastAssistant(sessionKey, att) {
|
|
1152
|
-
const loaded = await this.sessionStore.load(sessionKey);
|
|
1153
|
-
for (let i = loaded.length - 1; i >= 0; i--) {
|
|
1154
|
-
const m = loaded[i];
|
|
1155
|
-
if (m.role === "assistant") {
|
|
1156
|
-
const prev = m.attachments ?? [];
|
|
1157
|
-
if (prev.some((x) => x.workspaceRelativePath === att.workspaceRelativePath)) return;
|
|
1158
|
-
const next = [...prev, att];
|
|
1159
|
-
loaded[i] = {
|
|
1160
|
-
...m,
|
|
1161
|
-
attachments: next
|
|
1162
|
-
};
|
|
1163
|
-
await this.sessionStore.save(sessionKey, loaded);
|
|
1164
|
-
return;
|
|
1165
|
-
}
|
|
1166
|
-
}
|
|
882
|
+
createRunProcessDirectDeps() {
|
|
883
|
+
const cfg = this.config.config;
|
|
884
|
+
if (!cfg) throw new Error("AgentService requires config.config");
|
|
885
|
+
return {
|
|
886
|
+
log,
|
|
887
|
+
config: cfg,
|
|
888
|
+
parseSessionKey: (sk) => this.parseSessionKey(sk),
|
|
889
|
+
initSessionContext: (sk, channel, chatId) => {
|
|
890
|
+
this.initSessionContext(sk, channel, chatId);
|
|
891
|
+
},
|
|
892
|
+
hydrateSessionWorkspaceFromStore: (sk) => this.hydrateSessionWorkspaceFromStore(sk),
|
|
893
|
+
hydrateSessionModelFromStore: (sk) => this.hydrateSessionModelFromStore(sk),
|
|
894
|
+
agentManager: this.agentManager,
|
|
895
|
+
sessionStore: this.sessionStore,
|
|
896
|
+
prepareLoadedSessionMessages: (sk, msgs) => this.prepareLoadedSessionMessages(sk, msgs),
|
|
897
|
+
modelManager: this.modelManager,
|
|
898
|
+
applyResolvedThinkingLevel: (sk, t) => this.applyResolvedThinkingLevel(sk, t),
|
|
899
|
+
prepareInboundAttachments: (sk, att) => this.prepareInboundAttachments(sk, att),
|
|
900
|
+
commandHandler: this.commandHandler,
|
|
901
|
+
persistAgentSessionMessages: (sk) => this.persistAgentSessionMessages(sk),
|
|
902
|
+
endDirectRequestContext: () => this.endDirectRequestContext()
|
|
903
|
+
};
|
|
1167
904
|
}
|
|
1168
905
|
async processDirect(content, sessionKey = "cli:direct", attachments, thinking) {
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
const loaded = await this.sessionStore.load(sessionKey);
|
|
1176
|
-
agent.state.messages = this.prepareLoadedSessionMessages(sessionKey, loaded);
|
|
1177
|
-
await this.modelManager.applyModelForSession(agent, sessionKey);
|
|
1178
|
-
await this.applyResolvedThinkingLevel(sessionKey, thinking);
|
|
1179
|
-
const prepared = await this.prepareInboundAttachments(sessionKey, attachments);
|
|
1180
|
-
const cmd = parseSlashCommand(content);
|
|
1181
|
-
if (cmd && commandRegistry.has(cmd.command)) {
|
|
1182
|
-
const { aggregatedText } = await this.commandHandler.executeCommandAndAggregateReply(cmd.command, cmd.args, {
|
|
1183
|
-
sessionKey,
|
|
1184
|
-
channel,
|
|
1185
|
-
chatId,
|
|
1186
|
-
senderId: "",
|
|
1187
|
-
isGroup: false
|
|
1188
|
-
});
|
|
1189
|
-
await this.persistAgentSessionMessages(sessionKey);
|
|
1190
|
-
return aggregatedText;
|
|
1191
|
-
}
|
|
1192
|
-
const textForDirect = content.trimStart().startsWith("/skill:") ? this.agentManager.expandSkillUserText(content) : content;
|
|
1193
|
-
const userMessage = {
|
|
1194
|
-
role: "user",
|
|
1195
|
-
content: await this.buildMessageContent(textForDirect, prepared, sessionKey),
|
|
1196
|
-
timestamp: Date.now()
|
|
1197
|
-
};
|
|
1198
|
-
const userPlain = extractAgentUserPlainText(userMessage);
|
|
1199
|
-
const userMessageForModel = await this.agentManager.applyMemoryPrefetchToUserMessage(userMessage, sessionKey);
|
|
1200
|
-
await runAgentTurnWithModelFallbacks({
|
|
1201
|
-
agent,
|
|
1202
|
-
sessionKey,
|
|
1203
|
-
modelManager: this.modelManager,
|
|
1204
|
-
userMessage: userMessageForModel,
|
|
1205
|
-
log,
|
|
1206
|
-
getConfig: () => this.config.config,
|
|
1207
|
-
beforeUserPrompt: () => this.agentManager.beginBackgroundReviewUserTurn(sessionKey)
|
|
1208
|
-
});
|
|
1209
|
-
this.agentManager.afterAgentTurn(sessionKey, userPlain);
|
|
1210
|
-
this.agentManager.scheduleBackgroundReviewAfterUserTurn(sessionKey);
|
|
1211
|
-
const response = this.agentManager.getLastAssistantContent(sessionKey) || "";
|
|
1212
|
-
await this.persistAgentSessionMessages(sessionKey);
|
|
1213
|
-
return response;
|
|
1214
|
-
} finally {
|
|
1215
|
-
this.endDirectRequestContext();
|
|
1216
|
-
}
|
|
906
|
+
return runProcessDirect(this.createRunProcessDirectDeps(), {
|
|
907
|
+
content,
|
|
908
|
+
sessionKey,
|
|
909
|
+
attachments,
|
|
910
|
+
thinking
|
|
911
|
+
});
|
|
1217
912
|
}
|
|
1218
913
|
async handleInboundMessage(msg) {
|
|
1219
914
|
await runWithLogContext({ requestId: inboundMessageLogRequestId(msg) }, async () => {
|