@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
|
@@ -3,20 +3,15 @@ import { ExtensionLoader } from '../extensions/index.js';
|
|
|
3
3
|
import { SessionManager } from '../session/index.js';
|
|
4
4
|
import type { Config } from '../config/schema.js';
|
|
5
5
|
import type { SessionListQuery, ExportFormat } from '../session/types.js';
|
|
6
|
+
import type { SessionPatchBody } from '../session/patch-metadata.js';
|
|
7
|
+
import type { CompactionResult } from '../agent/memory/compaction.js';
|
|
6
8
|
import { AgentRunRelay } from './agent-run-relay.js';
|
|
7
|
-
import { type
|
|
9
|
+
import { type MarketplaceCategoryOption, type SkillsStoreListParams, type UnifiedMarketplaceListResponse, type UnifiedMarketplacePackageDetail } from '../agent/skills/skills-marketplace.js';
|
|
8
10
|
import type { SkillCatalogEntry } from '../agent/agent-manager.js';
|
|
11
|
+
import type { SkillMarkdownPreviewPayload } from '../agent/skills/types.js';
|
|
9
12
|
import type { ManagedSkillListItem } from '../agent/skills/managed-store.js';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
type: string;
|
|
13
|
-
payload: unknown;
|
|
14
|
-
}
|
|
15
|
-
type EventListener = (event: ServiceEvent) => Promise<void> | void;
|
|
16
|
-
export interface GatewayServiceConfig {
|
|
17
|
-
configPath?: string;
|
|
18
|
-
enableHotReload?: boolean;
|
|
19
|
-
}
|
|
13
|
+
import type { GatewayServiceConfig, ServiceEvent } from './service/types.js';
|
|
14
|
+
export type { GatewayServiceConfig, ServiceEvent } from './service/types.js';
|
|
20
15
|
export declare class GatewayService {
|
|
21
16
|
private serviceConfig;
|
|
22
17
|
private bus;
|
|
@@ -33,9 +28,7 @@ export declare class GatewayService {
|
|
|
33
28
|
private startTime;
|
|
34
29
|
private workspacePath;
|
|
35
30
|
private auth;
|
|
36
|
-
private
|
|
37
|
-
private subscribers;
|
|
38
|
-
private eventBuffers;
|
|
31
|
+
private readonly sse;
|
|
39
32
|
readonly runRelay: AgentRunRelay;
|
|
40
33
|
/** Per-run abort for webchat (POST /api/agent/abort or client disconnect). */
|
|
41
34
|
private runAbortControllers;
|
|
@@ -146,10 +139,8 @@ export declare class GatewayService {
|
|
|
146
139
|
error?: string;
|
|
147
140
|
}>;
|
|
148
141
|
/**
|
|
149
|
-
* Run agent with a message and stream events
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* @param runOptions.signal — When set (e.g. client disconnect), aborts in-flight generation and persists partial output.
|
|
142
|
+
* Run agent with a message and stream events.
|
|
143
|
+
* `runOptions.signal` — When set (e.g. client disconnect), aborts in-flight generation and persists partial output.
|
|
153
144
|
*/
|
|
154
145
|
runAgent(message: string, channel: string, chatId: string, attachments?: Array<{
|
|
155
146
|
type: string;
|
|
@@ -159,6 +150,7 @@ export declare class GatewayService {
|
|
|
159
150
|
size?: number;
|
|
160
151
|
}>, thinking?: string, runOptions?: {
|
|
161
152
|
signal?: AbortSignal;
|
|
153
|
+
clientCreatedAtMs?: number;
|
|
162
154
|
}): AsyncGenerator<{
|
|
163
155
|
type: string;
|
|
164
156
|
content?: string;
|
|
@@ -254,14 +246,11 @@ export declare class GatewayService {
|
|
|
254
246
|
invokeGatewayMethod(method: string, params: Record<string, unknown>): Promise<unknown>;
|
|
255
247
|
get currentConfig(): Config;
|
|
256
248
|
get cronServiceInstance(): CronService;
|
|
257
|
-
getSkillsApi(): {
|
|
249
|
+
getSkillsApi(lang?: string): {
|
|
258
250
|
catalog: SkillCatalogEntry[];
|
|
259
251
|
managed: ManagedSkillListItem[];
|
|
260
252
|
};
|
|
261
|
-
getSkillMarkdownSource(skillName: string):
|
|
262
|
-
name: string;
|
|
263
|
-
markdown: string;
|
|
264
|
-
} | null;
|
|
253
|
+
getSkillMarkdownSource(skillName: string, lang?: string): SkillMarkdownPreviewPayload | null;
|
|
265
254
|
deleteManagedSkill(skillId: string): void;
|
|
266
255
|
installManagedSkillZip(buffer: Buffer, opts: {
|
|
267
256
|
skillId?: string;
|
|
@@ -270,8 +259,11 @@ export declare class GatewayService {
|
|
|
270
259
|
skillId: string;
|
|
271
260
|
path: string;
|
|
272
261
|
};
|
|
273
|
-
fetchSkillsMarketplaceCatalog(params: SkillsStoreListParams): Promise<
|
|
274
|
-
|
|
262
|
+
fetchSkillsMarketplaceCatalog(params: SkillsStoreListParams): Promise<UnifiedMarketplaceListResponse>;
|
|
263
|
+
fetchSkillsMarketplaceCategories(): Promise<{
|
|
264
|
+
items: MarketplaceCategoryOption[];
|
|
265
|
+
}>;
|
|
266
|
+
fetchSkillsMarketplacePackageDetail(packageName: string): Promise<UnifiedMarketplacePackageDetail>;
|
|
275
267
|
installSkillFromMarketplace(opts: {
|
|
276
268
|
name: string;
|
|
277
269
|
version?: string;
|
|
@@ -280,6 +272,10 @@ export declare class GatewayService {
|
|
|
280
272
|
skillId: string;
|
|
281
273
|
path: string;
|
|
282
274
|
}>;
|
|
275
|
+
getSkillsMarketplaceProvider(): {
|
|
276
|
+
provider: string;
|
|
277
|
+
displayName: string;
|
|
278
|
+
};
|
|
283
279
|
reloadSkillsFromDisk(): void;
|
|
284
280
|
patchSkillEnabled(skillName: string, enabled: boolean): void;
|
|
285
281
|
get sessionManagerInstance(): SessionManager;
|
|
@@ -309,7 +305,7 @@ export declare class GatewayService {
|
|
|
309
305
|
* Subscribe to server-pushed events.
|
|
310
306
|
* Returns a cleanup function to unsubscribe.
|
|
311
307
|
*/
|
|
312
|
-
subscribe(sessionId: string, listener:
|
|
308
|
+
subscribe(sessionId: string, listener: (event: ServiceEvent) => Promise<void> | void): () => void;
|
|
313
309
|
/**
|
|
314
310
|
* Emit an event to all subscribers.
|
|
315
311
|
*/
|
|
@@ -318,11 +314,6 @@ export declare class GatewayService {
|
|
|
318
314
|
* Get events since a given event id (for Last-Event-ID reconnection).
|
|
319
315
|
*/
|
|
320
316
|
getEventsSince(sessionId: string, lastEventId: string): ServiceEvent[];
|
|
321
|
-
/**
|
|
322
|
-
* Save user message to session for webchat (fire-and-forget).
|
|
323
|
-
* Called at the start of runAgent to ensure message survives page refresh.
|
|
324
|
-
*/
|
|
325
|
-
private _saveUserMessage;
|
|
326
317
|
/**
|
|
327
318
|
* List sessions with query filters
|
|
328
319
|
*/
|
|
@@ -335,7 +326,26 @@ export declare class GatewayService {
|
|
|
335
326
|
/**
|
|
336
327
|
* Get a single session by key
|
|
337
328
|
*/
|
|
338
|
-
getSession(key: string
|
|
329
|
+
getSession(key: string, options?: {
|
|
330
|
+
includeTranscriptSummary?: boolean;
|
|
331
|
+
includeTranscriptRows?: boolean;
|
|
332
|
+
}): Promise<import("../session/types.js").SessionDetail>;
|
|
333
|
+
/**
|
|
334
|
+
* Partial session metadata update (OpenClaw-style sessions.patch subset).
|
|
335
|
+
*/
|
|
336
|
+
patchSession(key: string, body: SessionPatchBody): Promise<{
|
|
337
|
+
ok: true;
|
|
338
|
+
} | {
|
|
339
|
+
ok: false;
|
|
340
|
+
error: string;
|
|
341
|
+
}>;
|
|
342
|
+
listSessionCompactionCheckpoints(key: string): Promise<import("../session/types.js").CompactionCheckpointSummary[]>;
|
|
343
|
+
getSessionCompactionCheckpoint(key: string, checkpointId: string): Promise<import("../session/types.js").CompactionCheckpointDetail>;
|
|
344
|
+
restoreSessionCompactionCheckpoint(key: string, checkpointId: string): Promise<void>;
|
|
345
|
+
runSessionCompaction(key: string, options?: {
|
|
346
|
+
instructions?: string;
|
|
347
|
+
force?: boolean;
|
|
348
|
+
}): Promise<CompactionResult>;
|
|
339
349
|
/**
|
|
340
350
|
* Delete a session
|
|
341
351
|
*/
|
|
@@ -443,4 +453,3 @@ export declare class GatewayService {
|
|
|
443
453
|
*/
|
|
444
454
|
refreshAuthToken(): Promise<string>;
|
|
445
455
|
}
|
|
446
|
-
export {};
|
|
@@ -6,7 +6,6 @@ import { buildSessionKey, init_session_key, parseSessionKey } from "../routing/s
|
|
|
6
6
|
import { getDefaultAgentId, init_resolve_route } from "../routing/resolve-route.js";
|
|
7
7
|
import { getLogDir } from "../utils/logger/config.js";
|
|
8
8
|
import { getLogStats } from "../utils/logger/stats.js";
|
|
9
|
-
import { inboundCorrelationMetadataFromAsyncLogContext } from "../utils/logger/context.js";
|
|
10
9
|
import { createLogger } from "../utils/logger/index.js";
|
|
11
10
|
import { init_logger } from "../utils/logger.js";
|
|
12
11
|
import { init_paths, resolveAgentDir, resolveConfigPath, resolveCronJobsPath, resolveWorkspaceExtensionsDir } from "../config/paths.js";
|
|
@@ -18,7 +17,6 @@ import { removeSkillsLockEntry } from "../agent/skills/hub-lock.js";
|
|
|
18
17
|
import { deleteManagedSkill, installSkillFromZip, listManagedSkillDirs } from "../agent/skills/managed-store.js";
|
|
19
18
|
import { MessageBus, MessageBusShutdownError } from "../infra/bus/queue.js";
|
|
20
19
|
import "../infra/bus/index.js";
|
|
21
|
-
import { prependEnvelopeTimestamp } from "../channels/envelope-timestamp.js";
|
|
22
20
|
import { SessionManager } from "../session/manager.js";
|
|
23
21
|
import "../session/index.js";
|
|
24
22
|
import { registerClarifyBridge } from "./clarify-runtime.js";
|
|
@@ -39,10 +37,13 @@ import { assertGatewayAuthNotKnownWeak } from "./security/known-weak-secrets.js"
|
|
|
39
37
|
import { auditGatewayConfig } from "./security/audit.js";
|
|
40
38
|
import { AgentRunRelay } from "./agent-run-relay.js";
|
|
41
39
|
import { ClarifyBridge } from "./clarify-bridge.js";
|
|
42
|
-
import {
|
|
40
|
+
import { getMarketplaceProviderDisplayName, resolveSkillsMarketplaceProvider } from "../agent/skills/marketplace/resolve-adapter.js";
|
|
41
|
+
import { downloadFromMarketplace, getMarketplacePackageDetail, listMarketplaceCategories, listMarketplacePackages } from "../agent/skills/skills-marketplace.js";
|
|
43
42
|
import { scheduleGatewayUpdateCheck } from "../infra/update-startup.js";
|
|
44
43
|
import { restartGatewayProcessWithFreshPid } from "./respawn.js";
|
|
45
|
-
import "./chat-
|
|
44
|
+
import { getDistinctSessionChatIds } from "./service/session-chat-ids.js";
|
|
45
|
+
import { runGatewayAgent } from "./service/run-gateway-agent.js";
|
|
46
|
+
import { GatewaySseHub } from "./service/sse-hub.js";
|
|
46
47
|
import crypto from "crypto";
|
|
47
48
|
//#region src/gateway/service.ts
|
|
48
49
|
init_schema();
|
|
@@ -53,7 +54,6 @@ init_package_version();
|
|
|
53
54
|
init_session_key();
|
|
54
55
|
init_resolve_route();
|
|
55
56
|
const log = createLogger("GatewayService");
|
|
56
|
-
const EVENT_BUFFER_SIZE = 200;
|
|
57
57
|
var GatewayService = class {
|
|
58
58
|
bus;
|
|
59
59
|
config;
|
|
@@ -69,9 +69,7 @@ var GatewayService = class {
|
|
|
69
69
|
startTime = Date.now();
|
|
70
70
|
workspacePath;
|
|
71
71
|
auth;
|
|
72
|
-
|
|
73
|
-
subscribers = /* @__PURE__ */ new Map();
|
|
74
|
-
eventBuffers = /* @__PURE__ */ new Map();
|
|
72
|
+
sse = new GatewaySseHub();
|
|
75
73
|
runRelay = new AgentRunRelay();
|
|
76
74
|
/** Per-run abort for webchat (POST /api/agent/abort or client disconnect). */
|
|
77
75
|
runAbortControllers = /* @__PURE__ */ new Map();
|
|
@@ -583,150 +581,48 @@ var GatewayService = class {
|
|
|
583
581
|
}
|
|
584
582
|
}
|
|
585
583
|
/**
|
|
586
|
-
* Run agent with a message and stream events
|
|
587
|
-
|
|
588
|
-
/**
|
|
589
|
-
* @param runOptions.signal — When set (e.g. client disconnect), aborts in-flight generation and persists partial output.
|
|
584
|
+
* Run agent with a message and stream events.
|
|
585
|
+
* `runOptions.signal` — When set (e.g. client disconnect), aborts in-flight generation and persists partial output.
|
|
590
586
|
*/
|
|
591
587
|
async *runAgent(message, channel, chatId, attachments, thinking, runOptions) {
|
|
592
|
-
const
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
this.runRelay.ensureRun(runId, sessionKey);
|
|
607
|
-
this.runAbortControllers.set(runId, new AbortController());
|
|
608
|
-
}
|
|
609
|
-
const statusEvent = {
|
|
610
|
-
type: "status",
|
|
611
|
-
status: "accepted",
|
|
612
|
-
runId
|
|
613
|
-
};
|
|
614
|
-
if (channel === "webchat") this.runRelay.publish(runId, statusEvent);
|
|
615
|
-
yield statusEvent;
|
|
616
|
-
try {
|
|
617
|
-
if (channel === "webchat") {
|
|
618
|
-
const sessionKey = parseSessionKey(chatId) ? chatId : buildSessionKey({
|
|
619
|
-
agentId: getDefaultAgentId(this.config),
|
|
620
|
-
source: "webchat",
|
|
621
|
-
accountId: "default",
|
|
622
|
-
peerKind: "direct",
|
|
623
|
-
peerId: chatId
|
|
624
|
-
});
|
|
625
|
-
const timezone = this.agentService.resolveUserTimezoneForSession(sessionKey);
|
|
626
|
-
const stampedMessage = message.trimStart().startsWith("/") ? message : prependEnvelopeTimestamp(message, timezone);
|
|
627
|
-
const prepared = await this.agentService.prepareInboundAttachments(sessionKey, cappedAttachments);
|
|
628
|
-
try {
|
|
629
|
-
await this._saveUserMessage(sessionKey, message, prepared);
|
|
630
|
-
} catch (err) {
|
|
631
|
-
log.error({
|
|
632
|
-
err,
|
|
633
|
-
sessionKey
|
|
634
|
-
}, "Failed to save user message");
|
|
635
|
-
}
|
|
636
|
-
const runAbort = this.runAbortControllers.get(runId);
|
|
637
|
-
if (!runAbort) throw new Error("run abort controller missing for webchat");
|
|
638
|
-
const mergedSignal = runOptions?.signal ? AbortSignal.any([runOptions.signal, runAbort.signal]) : runAbort.signal;
|
|
639
|
-
this.activeWebchatRunBySession.set(sessionKey, runId);
|
|
640
|
-
let streamError;
|
|
641
|
-
try {
|
|
642
|
-
this.emit("agent.stream", {
|
|
643
|
-
sessionKey,
|
|
644
|
-
event: statusEvent
|
|
645
|
-
});
|
|
646
|
-
const eventStream = this.agentService.processDirectStreaming(stampedMessage, sessionKey, prepared, thinking, { signal: mergedSignal });
|
|
647
|
-
for await (const event of eventStream) {
|
|
648
|
-
this.runRelay.publish(runId, event);
|
|
649
|
-
this.emit("agent.stream", {
|
|
650
|
-
sessionKey,
|
|
651
|
-
event
|
|
652
|
-
});
|
|
653
|
-
yield event;
|
|
654
|
-
}
|
|
655
|
-
this.runRelay.complete(runId);
|
|
656
|
-
try {
|
|
657
|
-
const metaAfter = await this.sessionManager.getSessionMetadata(sessionKey);
|
|
658
|
-
if (metaAfter?.name) this.emit("session.updated", {
|
|
659
|
-
key: sessionKey,
|
|
660
|
-
name: metaAfter.name
|
|
661
|
-
});
|
|
662
|
-
} catch {}
|
|
663
|
-
return {
|
|
664
|
-
status: mergedSignal.aborted ? "aborted" : "ok",
|
|
665
|
-
summary: mergedSignal.aborted ? "Interrupted" : "Message processed successfully"
|
|
666
|
-
};
|
|
667
|
-
} catch (error) {
|
|
668
|
-
log.error({ error }, "Agent processing failed");
|
|
669
|
-
streamError = error instanceof Error ? error.message : "Unknown error";
|
|
670
|
-
const errorEvent = {
|
|
671
|
-
type: "error",
|
|
672
|
-
content: `Error: ${streamError}`
|
|
673
|
-
};
|
|
674
|
-
this.runRelay.publish(runId, errorEvent);
|
|
675
|
-
this.emit("agent.stream", {
|
|
676
|
-
sessionKey,
|
|
677
|
-
event: errorEvent
|
|
678
|
-
});
|
|
679
|
-
this.runRelay.complete(runId);
|
|
680
|
-
yield errorEvent;
|
|
681
|
-
return {
|
|
682
|
-
status: "error",
|
|
683
|
-
summary: streamError
|
|
684
|
-
};
|
|
685
|
-
} finally {
|
|
686
|
-
this.activeWebchatRunBySession.delete(sessionKey);
|
|
687
|
-
this.runAbortControllers.delete(runId);
|
|
688
|
-
const assistantPlainText = this.agentService.getLastAssistantPlainText(sessionKey);
|
|
689
|
-
await this.agentService.emitWebchatTurnComplete({
|
|
690
|
-
sessionKey,
|
|
691
|
-
inboundUserText: message,
|
|
692
|
-
assistantPlainText,
|
|
693
|
-
aborted: mergedSignal.aborted,
|
|
694
|
-
...streamError !== void 0 ? { streamError } : {}
|
|
695
|
-
});
|
|
696
|
-
}
|
|
697
|
-
}
|
|
698
|
-
const correlationMeta = inboundCorrelationMetadataFromAsyncLogContext();
|
|
699
|
-
await this.bus.publishInbound({
|
|
700
|
-
channel,
|
|
701
|
-
sender_id: "gateway",
|
|
702
|
-
chat_id: chatId,
|
|
703
|
-
content: message,
|
|
704
|
-
...correlationMeta ? { metadata: correlationMeta } : {}
|
|
705
|
-
});
|
|
706
|
-
yield {
|
|
707
|
-
type: "token",
|
|
708
|
-
content: "Processing...\n"
|
|
709
|
-
};
|
|
710
|
-
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
711
|
-
yield {
|
|
712
|
-
type: "token",
|
|
713
|
-
content: "Done\n"
|
|
714
|
-
};
|
|
715
|
-
return {
|
|
716
|
-
status: "ok",
|
|
717
|
-
summary: "Message processed"
|
|
718
|
-
};
|
|
719
|
-
} catch (error) {
|
|
720
|
-
log.error({ error }, "Agent run failed");
|
|
721
|
-
throw error;
|
|
588
|
+
const iter = runGatewayAgent({
|
|
589
|
+
config: this.config,
|
|
590
|
+
agentService: this.agentService,
|
|
591
|
+
bus: this.bus,
|
|
592
|
+
runRelay: this.runRelay,
|
|
593
|
+
runAbortControllers: this.runAbortControllers,
|
|
594
|
+
activeWebchatRunBySession: this.activeWebchatRunBySession,
|
|
595
|
+
sessionManager: this.sessionManager,
|
|
596
|
+
emit: (type, payload) => this.sse.emit(type, payload)
|
|
597
|
+
}, message, channel, chatId, attachments, thinking, runOptions);
|
|
598
|
+
let step = await iter.next();
|
|
599
|
+
while (!step.done) {
|
|
600
|
+
yield step.value;
|
|
601
|
+
step = await iter.next();
|
|
722
602
|
}
|
|
603
|
+
return step.value;
|
|
723
604
|
}
|
|
724
605
|
/** Abort an in-flight webchat agent run (matches `runId` from SSE `status`). */
|
|
725
606
|
abortAgentRun(runId) {
|
|
726
607
|
this.clarifyBridge.cancelForRun(runId);
|
|
727
|
-
|
|
608
|
+
const keysToMark = [];
|
|
609
|
+
for (const [sk, id] of this.activeWebchatRunBySession) if (id === runId) keysToMark.push(sk);
|
|
610
|
+
for (const sk of keysToMark) this.activeWebchatRunBySession.delete(sk);
|
|
611
|
+
const relaySk = this.runRelay.getSessionKey(runId);
|
|
612
|
+
if (relaySk && !keysToMark.includes(relaySk)) keysToMark.push(relaySk);
|
|
728
613
|
const c = this.runAbortControllers.get(runId);
|
|
729
614
|
if (!c) return false;
|
|
615
|
+
const cutoffTs = Date.now();
|
|
616
|
+
for (const sk of keysToMark) {
|
|
617
|
+
this.sessionManager.updateSessionMetadata(sk, { abortCutoffTimestamp: cutoffTs }).catch(() => {});
|
|
618
|
+
this.sessionManager.appendTranscriptContextEntry(sk, {
|
|
619
|
+
text: "Webchat agent run aborted",
|
|
620
|
+
data: {
|
|
621
|
+
runId,
|
|
622
|
+
abortCutoffTimestamp: cutoffTs
|
|
623
|
+
}
|
|
624
|
+
}).catch(() => {});
|
|
625
|
+
}
|
|
730
626
|
c.abort();
|
|
731
627
|
return true;
|
|
732
628
|
}
|
|
@@ -953,14 +849,14 @@ var GatewayService = class {
|
|
|
953
849
|
get cronServiceInstance() {
|
|
954
850
|
return this.cronService;
|
|
955
851
|
}
|
|
956
|
-
getSkillsApi() {
|
|
852
|
+
getSkillsApi(lang) {
|
|
957
853
|
return {
|
|
958
|
-
catalog: this.agentService.getSkillCatalog(),
|
|
854
|
+
catalog: this.agentService.getSkillCatalog(lang),
|
|
959
855
|
managed: listManagedSkillDirs()
|
|
960
856
|
};
|
|
961
857
|
}
|
|
962
|
-
getSkillMarkdownSource(skillName) {
|
|
963
|
-
return this.agentService.getSkillMarkdownSource(skillName);
|
|
858
|
+
getSkillMarkdownSource(skillName, lang) {
|
|
859
|
+
return this.agentService.getSkillMarkdownSource(skillName, lang);
|
|
964
860
|
}
|
|
965
861
|
deleteManagedSkill(skillId) {
|
|
966
862
|
removeSkillsLockEntry(skillId);
|
|
@@ -974,21 +870,28 @@ var GatewayService = class {
|
|
|
974
870
|
return result;
|
|
975
871
|
}
|
|
976
872
|
async fetchSkillsMarketplaceCatalog(params) {
|
|
977
|
-
return
|
|
873
|
+
return listMarketplacePackages(this.config, params);
|
|
874
|
+
}
|
|
875
|
+
async fetchSkillsMarketplaceCategories() {
|
|
876
|
+
return listMarketplaceCategories(this.config);
|
|
978
877
|
}
|
|
979
878
|
async fetchSkillsMarketplacePackageDetail(packageName) {
|
|
980
|
-
return
|
|
879
|
+
return getMarketplacePackageDetail(this.config, packageName);
|
|
981
880
|
}
|
|
982
881
|
async installSkillFromMarketplace(opts) {
|
|
983
|
-
const
|
|
984
|
-
|
|
985
|
-
const buf = await downloadSkillZipBuffer(base, downloadUrl);
|
|
986
|
-
const skillId = skillIdForMarketplaceInstall(opts.name);
|
|
987
|
-
return this.installManagedSkillZip(buf, {
|
|
882
|
+
const { buffer, skillId } = await downloadFromMarketplace(this.config, opts.name, opts.version);
|
|
883
|
+
return this.installManagedSkillZip(buffer, {
|
|
988
884
|
skillId,
|
|
989
885
|
overwrite: opts.overwrite ?? false
|
|
990
886
|
});
|
|
991
887
|
}
|
|
888
|
+
getSkillsMarketplaceProvider() {
|
|
889
|
+
const provider = resolveSkillsMarketplaceProvider(this.config);
|
|
890
|
+
return {
|
|
891
|
+
provider,
|
|
892
|
+
displayName: getMarketplaceProviderDisplayName(provider)
|
|
893
|
+
};
|
|
894
|
+
}
|
|
992
895
|
reloadSkillsFromDisk() {
|
|
993
896
|
this.agentService.refreshSkillsAfterDiskChange();
|
|
994
897
|
}
|
|
@@ -1020,80 +923,19 @@ var GatewayService = class {
|
|
|
1020
923
|
* Returns a cleanup function to unsubscribe.
|
|
1021
924
|
*/
|
|
1022
925
|
subscribe(sessionId, listener) {
|
|
1023
|
-
this.
|
|
1024
|
-
if (!this.eventBuffers.has(sessionId)) this.eventBuffers.set(sessionId, []);
|
|
1025
|
-
log.debug({ sessionId }, "Event subscriber added");
|
|
1026
|
-
return () => {
|
|
1027
|
-
this.subscribers.delete(sessionId);
|
|
1028
|
-
setTimeout(() => {
|
|
1029
|
-
if (!this.subscribers.has(sessionId)) this.eventBuffers.delete(sessionId);
|
|
1030
|
-
}, 5 * 6e4);
|
|
1031
|
-
log.debug({ sessionId }, "Event subscriber removed");
|
|
1032
|
-
};
|
|
926
|
+
return this.sse.subscribe(sessionId, listener);
|
|
1033
927
|
}
|
|
1034
928
|
/**
|
|
1035
929
|
* Emit an event to all subscribers.
|
|
1036
930
|
*/
|
|
1037
931
|
emit(type, payload) {
|
|
1038
|
-
|
|
1039
|
-
id: String(++this.eventCounter),
|
|
1040
|
-
type,
|
|
1041
|
-
payload
|
|
1042
|
-
};
|
|
1043
|
-
for (const [sessionId, listener] of this.subscribers) {
|
|
1044
|
-
const buf = this.eventBuffers.get(sessionId) || [];
|
|
1045
|
-
buf.push(event);
|
|
1046
|
-
if (buf.length > EVENT_BUFFER_SIZE) buf.shift();
|
|
1047
|
-
this.eventBuffers.set(sessionId, buf);
|
|
1048
|
-
try {
|
|
1049
|
-
listener(event);
|
|
1050
|
-
} catch (err) {
|
|
1051
|
-
log.warn({
|
|
1052
|
-
sessionId,
|
|
1053
|
-
err
|
|
1054
|
-
}, "Failed to deliver event to subscriber");
|
|
1055
|
-
}
|
|
1056
|
-
}
|
|
932
|
+
this.sse.emit(type, payload);
|
|
1057
933
|
}
|
|
1058
934
|
/**
|
|
1059
935
|
* Get events since a given event id (for Last-Event-ID reconnection).
|
|
1060
936
|
*/
|
|
1061
937
|
getEventsSince(sessionId, lastEventId) {
|
|
1062
|
-
|
|
1063
|
-
if (!buf) return [];
|
|
1064
|
-
const idx = buf.findIndex((e) => e.id === lastEventId);
|
|
1065
|
-
if (idx === -1) return buf;
|
|
1066
|
-
return buf.slice(idx + 1);
|
|
1067
|
-
}
|
|
1068
|
-
/**
|
|
1069
|
-
* Save user message to session for webchat (fire-and-forget).
|
|
1070
|
-
* Called at the start of runAgent to ensure message survives page refresh.
|
|
1071
|
-
*/
|
|
1072
|
-
async _saveUserMessage(sessionKey, message, attachments) {
|
|
1073
|
-
const existingMessages = await this.sessionManager.loadMessages(sessionKey);
|
|
1074
|
-
const userMessage = {
|
|
1075
|
-
role: "user",
|
|
1076
|
-
content: [{
|
|
1077
|
-
type: "text",
|
|
1078
|
-
text: message
|
|
1079
|
-
}],
|
|
1080
|
-
attachments: attachments?.map((a) => ({
|
|
1081
|
-
type: a.type,
|
|
1082
|
-
mimeType: a.mimeType,
|
|
1083
|
-
name: a.name,
|
|
1084
|
-
size: a.size,
|
|
1085
|
-
workspaceRelativePath: a.workspaceRelativePath
|
|
1086
|
-
})),
|
|
1087
|
-
timestamp: Date.now(),
|
|
1088
|
-
/** Dropped before `agent.prompt` so we don't duplicate the turn; not exposed via GET session */
|
|
1089
|
-
webchatEarlySave: true
|
|
1090
|
-
};
|
|
1091
|
-
const updatedMessages = [...existingMessages, userMessage];
|
|
1092
|
-
await this.sessionManager.saveMessages(sessionKey, updatedMessages);
|
|
1093
|
-
log.debug({
|
|
1094
|
-
sessionKey,
|
|
1095
|
-
messageCount: updatedMessages.length
|
|
1096
|
-
}, "User message saved");
|
|
938
|
+
return this.sse.getEventsSince(sessionId, lastEventId);
|
|
1097
939
|
}
|
|
1098
940
|
/**
|
|
1099
941
|
* List sessions with query filters
|
|
@@ -1111,8 +953,37 @@ var GatewayService = class {
|
|
|
1111
953
|
/**
|
|
1112
954
|
* Get a single session by key
|
|
1113
955
|
*/
|
|
1114
|
-
async getSession(key) {
|
|
1115
|
-
return this.sessionManager.getSession(key);
|
|
956
|
+
async getSession(key, options) {
|
|
957
|
+
return this.sessionManager.getSession(key, options);
|
|
958
|
+
}
|
|
959
|
+
/**
|
|
960
|
+
* Partial session metadata update (OpenClaw-style sessions.patch subset).
|
|
961
|
+
*/
|
|
962
|
+
async patchSession(key, body) {
|
|
963
|
+
return this.sessionManager.patchSession(key, body);
|
|
964
|
+
}
|
|
965
|
+
async listSessionCompactionCheckpoints(key) {
|
|
966
|
+
return this.sessionManager.listCompactionCheckpoints(key);
|
|
967
|
+
}
|
|
968
|
+
async getSessionCompactionCheckpoint(key, checkpointId) {
|
|
969
|
+
return this.sessionManager.getCompactionCheckpointDetail(key, checkpointId);
|
|
970
|
+
}
|
|
971
|
+
async restoreSessionCompactionCheckpoint(key, checkpointId) {
|
|
972
|
+
await this.sessionManager.restoreCompactionCheckpoint(key, checkpointId);
|
|
973
|
+
this.agentService.evictSessionAgent(key);
|
|
974
|
+
}
|
|
975
|
+
async runSessionCompaction(key, options) {
|
|
976
|
+
const result = await this.agentService.compactSession(key, options);
|
|
977
|
+
if (result.compacted) this.sessionManager.appendTranscriptContextEntry(key, {
|
|
978
|
+
text: "Session transcript compacted",
|
|
979
|
+
data: {
|
|
980
|
+
firstKeptIndex: result.firstKeptIndex,
|
|
981
|
+
tokensBefore: result.tokensBefore,
|
|
982
|
+
tokensAfter: result.tokensAfter,
|
|
983
|
+
summaryPreview: result.summary.slice(0, 500)
|
|
984
|
+
}
|
|
985
|
+
}).catch(() => {});
|
|
986
|
+
return result;
|
|
1116
987
|
}
|
|
1117
988
|
/**
|
|
1118
989
|
* Delete a session
|
|
@@ -1206,32 +1077,7 @@ var GatewayService = class {
|
|
|
1206
1077
|
* When `routing` exists, `peerId` is the platform id (e.g. Telegram numeric chat id).
|
|
1207
1078
|
*/
|
|
1208
1079
|
async getSessionChatIds(channel) {
|
|
1209
|
-
|
|
1210
|
-
limit: 1e3,
|
|
1211
|
-
sortBy: "lastAccessedAt",
|
|
1212
|
-
sortOrder: "desc",
|
|
1213
|
-
...channel ? { channel } : {}
|
|
1214
|
-
});
|
|
1215
|
-
const seen = /* @__PURE__ */ new Set();
|
|
1216
|
-
const chatIds = [];
|
|
1217
|
-
for (const session of result.items) {
|
|
1218
|
-
const key = `${session.sourceChannel}:${session.sourceChatId}`;
|
|
1219
|
-
if (!seen.has(key) && session.sourceChannel && session.sourceChatId) {
|
|
1220
|
-
seen.add(key);
|
|
1221
|
-
const r = session.routing;
|
|
1222
|
-
chatIds.push({
|
|
1223
|
-
channel: session.sourceChannel,
|
|
1224
|
-
chatId: session.sourceChatId,
|
|
1225
|
-
lastActive: session.lastAccessedAt,
|
|
1226
|
-
...r ? {
|
|
1227
|
-
accountId: r.accountId,
|
|
1228
|
-
peerKind: r.peerKind,
|
|
1229
|
-
peerId: r.peerId
|
|
1230
|
-
} : {}
|
|
1231
|
-
});
|
|
1232
|
-
}
|
|
1233
|
-
}
|
|
1234
|
-
return chatIds;
|
|
1080
|
+
return getDistinctSessionChatIds(this.sessionManager, channel);
|
|
1235
1081
|
}
|
|
1236
1082
|
/**
|
|
1237
1083
|
* Validate authentication token from request headers.
|