@xopcai/xopc 0.0.102 → 0.0.104
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/README.md +8 -5
- package/README.zh-CN.md +8 -5
- package/dist/_virtual/_rolldown/runtime.js +2 -3
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/adapters/cli-login.d.ts +1 -1
- package/dist/extensions/feishu/src/adapters/cli-login.js +1 -1
- package/dist/extensions/feishu/src/adapters/cli-login.js.map +1 -1
- package/dist/extensions/feishu/src/adapters/gateway-setup.d.ts +2 -0
- package/dist/extensions/feishu/src/adapters/gateway-setup.js +225 -0
- package/dist/extensions/feishu/src/adapters/gateway-setup.js.map +1 -0
- package/dist/extensions/feishu/src/index.d.ts +8 -1
- package/dist/extensions/feishu/src/index.js +14 -1
- package/dist/extensions/feishu/src/index.js.map +1 -0
- package/dist/extensions/feishu/src/outbound/outbound-adapter.js +1 -1
- package/dist/extensions/feishu/src/plugin.d.ts +2 -1
- package/dist/extensions/feishu/src/plugin.js +2 -0
- package/dist/extensions/feishu/src/plugin.js.map +1 -1
- package/dist/extensions/feishu/src/streaming/streaming-adapter.js +1 -1
- package/dist/extensions/feishu/src/transport/webhook/monitor.js +2 -2
- package/dist/extensions/feishu/src/transport/webhook/monitor.js.map +1 -1
- package/dist/extensions/feishu/xopc.extension.json +66 -1
- package/dist/extensions/telegram/src/adapters/gateway-setup.d.ts +2 -0
- package/dist/extensions/telegram/src/adapters/gateway-setup.js +146 -0
- package/dist/extensions/telegram/src/adapters/gateway-setup.js.map +1 -0
- package/dist/extensions/telegram/src/adapters/security-adapter.js +1 -1
- package/dist/extensions/telegram/src/command-handler.js +1 -2
- package/dist/extensions/telegram/src/command-handler.js.map +1 -1
- package/dist/extensions/telegram/src/config-schema.js +2 -2
- package/dist/extensions/telegram/src/config-schema.js.map +1 -1
- package/dist/extensions/telegram/src/doctor.d.ts +1 -0
- package/dist/extensions/telegram/src/doctor.js +68 -0
- package/dist/extensions/telegram/src/doctor.js.map +1 -1
- package/dist/extensions/telegram/src/index.d.ts +8 -1
- package/dist/extensions/telegram/src/index.js +15 -2
- package/dist/extensions/telegram/src/index.js.map +1 -0
- package/dist/extensions/telegram/src/plugin.d.ts +13 -5
- package/dist/extensions/telegram/src/plugin.js +32 -12
- package/dist/extensions/telegram/src/plugin.js.map +1 -1
- package/dist/extensions/telegram/src/proxy-fetch.js +22 -5
- package/dist/extensions/telegram/src/proxy-fetch.js.map +1 -1
- package/dist/extensions/telegram/src/send-options.js +8 -5
- package/dist/extensions/telegram/src/send-options.js.map +1 -1
- package/dist/extensions/telegram/xopc.extension.json +412 -5
- package/dist/extensions/weixin/src/adapters/onboard-cli.js +2 -2
- package/dist/extensions/weixin/src/adapters/onboard-cli.js.map +1 -1
- package/dist/extensions/weixin/src/api/api.js +1 -1
- package/dist/extensions/weixin/src/index.d.ts +8 -0
- package/dist/extensions/weixin/src/index.js +12 -1
- package/dist/extensions/weixin/src/index.js.map +1 -0
- package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
- package/dist/extensions/weixin/src/plugin.d.ts +2 -1
- package/dist/extensions/weixin/src/plugin.js +77 -2
- package/dist/extensions/weixin/src/plugin.js.map +1 -1
- package/dist/extensions/weixin/xopc.extension.json +52 -0
- package/dist/gateway/static/root/assets/agents-CvsBrBfi.js +396 -0
- package/dist/gateway/static/root/assets/{apps-page-Uv4kOmDE.js → apps-page-L-IwQTe0.js} +1 -1
- package/dist/gateway/static/root/assets/browser-BLJWD7WI.js +8 -0
- package/dist/gateway/static/root/assets/channels-settings-D95KuPeP.js +1 -0
- package/dist/gateway/static/root/assets/cron-page-CfkWXDAI.js +1 -0
- package/dist/gateway/static/root/assets/{dist-DH4IuRV0.js → dist-C6vclgEL.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-BNkhvRQW.js → extension-debug-page-D4JYAbsX.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-CcIGQah2.js → extension-page-_T62gi6e.js} +1 -1
- package/dist/gateway/static/root/assets/extension-settings-page-CkJbjyM-.js +1 -0
- package/dist/gateway/static/root/assets/{fetch-drJUxxKP.js → fetch-B5aiIguv.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-startup-retry-DqmLXhs6.js +1 -0
- package/dist/gateway/static/root/assets/heartbeat-config-api-HwJV1K_Y.js +1 -0
- package/dist/gateway/static/root/assets/index-BPYKW7FB.css +1 -0
- package/dist/gateway/static/root/assets/index-DvTb6wNR.js +4845 -0
- package/dist/gateway/static/root/assets/{logs-page-CiG0m81R.js → logs-page-DsjtTjBy.js} +2 -2
- package/dist/gateway/static/root/assets/{note-detail-page-DG3DVFTf.js → note-detail-page-B2V7RhgD.js} +43 -43
- package/dist/gateway/static/root/assets/{note-time-DjlllCF3.js → note-time-BG8GCTr4.js} +1 -1
- package/dist/gateway/static/root/assets/notes-page-xrcVBQ6Z.js +1 -0
- package/dist/gateway/static/root/assets/schema-form-S-QUvhul.js +1 -0
- package/dist/gateway/static/root/assets/sessions-page-CrQer6Au.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-DujQl9c7.js +2 -0
- package/dist/gateway/static/root/assets/{settings-form-section-C3_sEFfD.js → settings-form-section-r1V7dRV6.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-C9nrONQ2.js +3 -0
- package/dist/gateway/static/root/assets/share-preview-page-DOFy0FNt.js +2 -0
- package/dist/gateway/static/root/assets/skills-page-DmTsrs_a.js +2 -0
- package/dist/gateway/static/root/assets/{theme-store-B6KXPHgK.js → theme-store-Bo3j5Ovv.js} +1 -1
- package/dist/gateway/static/root/assets/url-WgQIjFZu.js +3 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-AjmUAlEQ.js +1 -0
- package/dist/gateway/static/root/assets/{workflow-page.utils-g57BRfEd.js → workflow-page.utils-DLEJ92gK.js} +1 -1
- package/dist/gateway/static/root/assets/workflows-page-BnjjKrM1.js +27 -0
- package/dist/gateway/static/root/index.html +6 -5
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +18 -6
- package/dist/src/agent/agent-manager.js +60 -35
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/builtin-agent-ids.d.ts +2 -0
- package/dist/src/agent/builtin-agent-ids.js +17 -0
- package/dist/src/agent/builtin-agent-ids.js.map +1 -0
- package/dist/src/agent/child-agent-factory.d.ts +4 -0
- package/dist/src/agent/child-agent-factory.js +28 -8
- package/dist/src/agent/child-agent-factory.js.map +1 -1
- package/dist/src/agent/context/workspace-seed.js +1 -1
- package/dist/src/agent/context/workspace-templates/AGENTS.md +23 -184
- package/dist/src/agent/embedded/run-turn.js +8 -2
- package/dist/src/agent/embedded/run-turn.js.map +1 -1
- package/dist/src/agent/embedded/session-tool-result-guard.js +1 -1
- package/dist/src/agent/embedded/subscribe-session.js +33 -51
- package/dist/src/agent/embedded/subscribe-session.js.map +1 -1
- package/dist/src/agent/embedded/types.d.ts +36 -35
- package/dist/src/agent/fallback/candidates.js +1 -1
- package/dist/src/agent/fallback/candidates.js.map +1 -1
- package/dist/src/agent/inbound/attachment-pipeline.js +2 -2
- package/dist/src/agent/inbound/attachment-pipeline.js.map +1 -1
- package/dist/src/agent/inbound/inbound-loop.js +1 -1
- package/dist/src/agent/inbound/turn-dispatcher.d.ts +1 -0
- package/dist/src/agent/inbound/turn-dispatcher.js +24 -5
- package/dist/src/agent/inbound/turn-dispatcher.js.map +1 -1
- package/dist/src/agent/models/manager.d.ts +1 -1
- package/dist/src/agent/models/manager.js +1 -1
- package/dist/src/agent/models/manager.js.map +1 -1
- package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.d.ts +1 -1
- package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js +1 -1
- package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js.map +1 -1
- package/dist/src/agent/prompt/sections/tooling.js +4 -0
- package/dist/src/agent/prompt/sections/tooling.js.map +1 -1
- package/dist/src/agent/service/direct-turn-helpers.d.ts +1 -0
- package/dist/src/agent/service/direct-turn-helpers.js +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js.map +1 -1
- package/dist/src/agent/service/process-direct-streaming.d.ts +1 -0
- package/dist/src/agent/service/process-direct-streaming.js +35 -18
- package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
- package/dist/src/agent/service-inbound-utils.d.ts +0 -1
- package/dist/src/agent/service-inbound-utils.js +1 -17
- package/dist/src/agent/service-inbound-utils.js.map +1 -1
- package/dist/src/agent/service.d.ts +4 -4
- package/dist/src/agent/service.js +27 -15
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/session/session-config-service.d.ts +1 -0
- package/dist/src/agent/session/session-config-service.js +9 -1
- package/dist/src/agent/session/session-config-service.js.map +1 -1
- package/dist/src/agent/session/session-inspector.d.ts +2 -1
- package/dist/src/agent/session/session-inspector.js +4 -0
- package/dist/src/agent/session/session-inspector.js.map +1 -1
- package/dist/src/agent/skills/config.js +1 -3
- package/dist/src/agent/skills/config.js.map +1 -1
- package/dist/src/agent/skills/format-skills-prompt.d.ts +1 -0
- package/dist/src/agent/skills/format-skills-prompt.js +3 -2
- package/dist/src/agent/skills/format-skills-prompt.js.map +1 -1
- package/dist/src/agent/skills/hub-pull.js +1 -1
- package/dist/src/agent/skills/index.js +20 -5
- package/dist/src/agent/skills/index.js.map +1 -1
- package/dist/src/agent/skills/installer.js +14 -27
- package/dist/src/agent/skills/installer.js.map +1 -1
- package/dist/src/agent/skills/marketplace/adapters/clawhub/adapter.js +11 -1
- package/dist/src/agent/skills/marketplace/adapters/clawhub/adapter.js.map +1 -1
- package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.js +18 -4
- package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.js.map +1 -1
- package/dist/src/agent/skills/marketplace/adapters/store/adapter.js +11 -2
- package/dist/src/agent/skills/marketplace/adapters/store/adapter.js.map +1 -1
- package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.d.ts +2 -2
- package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js.map +1 -1
- package/dist/src/agent/skills/skill-manager.d.ts +4 -1
- package/dist/src/agent/skills/skill-manager.js +3 -3
- package/dist/src/agent/skills/skill-manager.js.map +1 -1
- package/dist/src/agent/skills/skill-view-path.d.ts +1 -17
- package/dist/src/agent/skills/skill-view-path.js +3 -66
- package/dist/src/agent/skills/skill-view-path.js.map +1 -1
- package/dist/src/agent/skills/test-framework.js +2 -3
- package/dist/src/agent/skills/test-framework.js.map +1 -1
- package/dist/src/agent/streaming/reasoning-visibility-sse.js +1 -0
- package/dist/src/agent/streaming/reasoning-visibility-sse.js.map +1 -1
- package/dist/src/agent/tool-manuals/browser.d.ts +1 -0
- package/{skills/browser/SKILL.md → dist/src/agent/tool-manuals/browser.js} +51 -54
- package/dist/src/agent/tool-manuals/browser.js.map +1 -0
- package/dist/src/agent/tool-manuals/index.d.ts +10 -0
- package/dist/src/agent/tool-manuals/index.js +28 -0
- package/dist/src/agent/tool-manuals/index.js.map +1 -0
- package/dist/src/agent/tools/browser/tool/browser-use-tool.js +1 -1
- package/dist/src/agent/tools/browser/tool/browser-use-tool.js.map +1 -1
- package/dist/src/agent/tools/factory.js +7 -5
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/index.d.ts +1 -0
- package/dist/src/agent/tools/index.js +5 -4
- package/dist/src/agent/tools/send-media.js +1 -2
- package/dist/src/agent/tools/send-media.js.map +1 -1
- package/dist/src/agent/tools/session-search-tool.js +1 -1
- package/dist/src/agent/tools/shell.js +1 -1
- package/dist/src/agent/tools/skills-tools.js +37 -8
- package/dist/src/agent/tools/skills-tools.js.map +1 -1
- package/dist/src/agent/tools/tool-manual-tool.d.ts +6 -0
- package/dist/src/agent/tools/tool-manual-tool.js +34 -0
- package/dist/src/agent/tools/tool-manual-tool.js.map +1 -0
- package/dist/src/agent/tools/web-extract.js +2 -2
- package/dist/src/agent/tools/web.js +1 -1
- package/dist/src/agent/workflow/catalog.d.ts +7 -2
- package/dist/src/agent/workflow/catalog.js +66 -25
- package/dist/src/agent/workflow/catalog.js.map +1 -1
- package/dist/src/agent/workflow/subagent-runner.d.ts +3 -0
- package/dist/src/agent/workflow/subagent-runner.js +50 -4
- package/dist/src/agent/workflow/subagent-runner.js.map +1 -1
- package/dist/src/agent/workflow/types.d.ts +10 -0
- package/dist/src/auth/credentials.d.ts +7 -0
- package/dist/src/auth/credentials.js +45 -7
- package/dist/src/auth/credentials.js.map +1 -1
- package/dist/src/auth/index.d.ts +1 -1
- package/dist/src/auth/index.js.map +1 -1
- package/dist/src/auth/oauth/github-copilot.d.ts +1 -1
- package/dist/src/auth/oauth/google-antigravity.d.ts +1 -3
- package/dist/src/auth/oauth/google-antigravity.js +1 -1
- package/dist/src/auth/oauth/google-gemini-cli.d.ts +1 -3
- package/dist/src/auth/oauth/google-gemini-cli.js +1 -1
- package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/google-antigravity.js +3 -5
- package/dist/src/auth/oauth/google-oauth/google-antigravity.js.map +1 -0
- package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/google-gemini-cli.js +4 -5
- package/dist/src/auth/oauth/google-oauth/google-gemini-cli.js.map +1 -0
- package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/oauth-page.js +12 -4
- package/dist/src/auth/oauth/google-oauth/oauth-page.js.map +1 -0
- package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/pkce.d.ts +1 -1
- package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/pkce.js +2 -2
- package/dist/src/auth/oauth/google-oauth/pkce.js.map +1 -0
- package/dist/src/auth/oauth/index.js +2 -2
- package/dist/src/auth/oauth/kimi-coding.d.ts +1 -1
- package/dist/src/auth/oauth/kimi-coding.js +1 -1
- package/dist/src/auth/oauth/kimi-coding.js.map +1 -1
- package/dist/src/auth/oauth/minimax-cn.js +1 -1
- package/dist/src/auth/oauth/minimax-cn.js.map +1 -1
- package/dist/src/auth/oauth/minimax.js +1 -1
- package/dist/src/auth/oauth/minimax.js.map +1 -1
- package/dist/src/auth/oauth/openai-codex.d.ts +7 -2
- package/dist/src/auth/oauth/openai-codex.js +318 -1
- package/dist/src/auth/oauth/openai-codex.js.map +1 -0
- package/dist/src/auth/profiles/store.js +3 -2
- package/dist/src/auth/profiles/store.js.map +1 -1
- package/dist/src/browser/actions/extension-registry-bridge.js +1 -1
- package/dist/src/browser/actions/registry.js +2 -2
- package/dist/src/browser/cdp-local-launcher.js +1 -1
- package/dist/src/browser/index.js +3 -3
- package/dist/src/browser/providers/browser-ext-install.js +1 -1
- package/dist/src/browser/providers/cloakbrowser.js +1 -1
- package/dist/src/channels/attachments/attachment-classifiers.d.ts +1 -0
- package/dist/src/channels/attachments/attachment-classifiers.js +13 -2
- package/dist/src/channels/attachments/attachment-classifiers.js.map +1 -1
- package/dist/src/channels/catalog/channel-catalog-service.d.ts +11 -0
- package/dist/src/channels/catalog/channel-catalog-service.js +168 -0
- package/dist/src/channels/catalog/channel-catalog-service.js.map +1 -0
- package/dist/src/channels/catalog/channel-catalog-types.d.ts +22 -0
- package/dist/src/channels/catalog/channel-catalog-types.js +1 -0
- package/dist/src/channels/dock.d.ts +0 -7
- package/dist/src/channels/dock.js +1 -21
- package/dist/src/channels/index.d.ts +1 -3
- package/dist/src/channels/index.js +1 -5
- package/dist/src/channels/lifecycle-supervisor.d.ts +1 -0
- package/dist/src/channels/lifecycle-supervisor.js +11 -0
- package/dist/src/channels/lifecycle-supervisor.js.map +1 -1
- package/dist/src/channels/manager.d.ts +1 -0
- package/dist/src/channels/manager.js +3 -0
- package/dist/src/channels/manager.js.map +1 -1
- package/dist/src/channels/pairing/pairing-channel.d.ts +2 -3
- package/dist/src/channels/pairing/pairing-messages.js +1 -1
- package/dist/src/channels/pairing/pairing-messages.js.map +1 -1
- package/dist/src/channels/pairing/pairing-service.d.ts +1 -1
- package/dist/src/channels/pairing/pairing-service.js +8 -27
- package/dist/src/channels/pairing/pairing-service.js.map +1 -1
- package/dist/src/channels/plugin-types.d.ts +3 -1
- package/dist/src/channels/plugins/types.adapters.d.ts +55 -2
- package/dist/src/channels/telegram/index.js +1 -1
- package/dist/src/chat-commands/builtins/config.js +4 -4
- package/dist/src/chat-commands/builtins/config.js.map +1 -1
- package/dist/src/chat-commands/builtins/model.js +2 -2
- package/dist/src/chat-commands/builtins/model.js.map +1 -1
- package/dist/src/chat-commands/config-paths.js +1 -1
- package/dist/src/chat-commands/config-paths.js.map +1 -1
- package/dist/src/chat-commands/context.js +1 -1
- package/dist/src/chat-commands/context.js.map +1 -1
- package/dist/src/cli/bin.js +1 -1
- package/dist/src/cli/command-manifest.js +2 -2
- package/dist/src/cli/command-manifest.js.map +1 -1
- package/dist/src/cli/commands/agent.js +2 -2
- package/dist/src/cli/commands/agent.js.map +1 -1
- package/dist/src/cli/commands/agents.js +2 -4
- package/dist/src/cli/commands/agents.js.map +1 -1
- package/dist/src/cli/commands/auth.js +40 -52
- package/dist/src/cli/commands/auth.js.map +1 -1
- package/dist/src/cli/commands/browser-cli-helpers.js +1 -1
- package/dist/src/cli/commands/channels.d.ts +1 -5
- package/dist/src/cli/commands/channels.js +115 -281
- package/dist/src/cli/commands/channels.js.map +1 -1
- package/dist/src/cli/commands/config.js +2 -2
- package/dist/src/cli/commands/config.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/channel-config.js +16 -69
- package/dist/src/cli/commands/doctor/checks/channel-config.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js +6 -4
- package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/channel-plugins.js +2 -2
- package/dist/src/cli/commands/doctor/checks/channel-plugins.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/doctor/checks/provider-auth.js +13 -9
- package/dist/src/cli/commands/doctor/checks/provider-auth.js.map +1 -1
- package/dist/src/cli/commands/extension-dev.js +2 -1
- package/dist/src/cli/commands/extension-dev.js.map +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +2 -1
- package/dist/src/cli/commands/extension-marketplace.js.map +1 -1
- package/dist/src/cli/commands/extension-pack.js +2 -1
- package/dist/src/cli/commands/extension-pack.js.map +1 -1
- package/dist/src/cli/commands/models.js +192 -54
- package/dist/src/cli/commands/models.js.map +1 -1
- package/dist/src/cli/commands/onboard/channels/index.js +1 -1
- package/dist/src/cli/commands/onboard/channels/index.js.map +1 -1
- package/dist/src/cli/commands/onboard/channels/registry.d.ts +2 -1
- package/dist/src/cli/commands/onboard/channels/registry.js +32 -8
- package/dist/src/cli/commands/onboard/channels/registry.js.map +1 -1
- package/dist/src/cli/commands/onboard/model.d.ts +1 -4
- package/dist/src/cli/commands/onboard/model.js +257 -184
- package/dist/src/cli/commands/onboard/model.js.map +1 -1
- package/dist/src/cli/commands/onboard.js +4 -6
- package/dist/src/cli/commands/onboard.js.map +1 -1
- package/dist/src/cli/commands/setup-shared/runner.d.ts +1 -1
- package/dist/src/cli/commands/setup-shared/runner.js.map +1 -1
- package/dist/src/cli/commands/setup-shared/types.d.ts +1 -1
- package/dist/src/cli/commands/setup-shared/types.js.map +1 -1
- package/dist/src/cli/commands/tui.js +13 -5
- package/dist/src/cli/commands/tui.js.map +1 -1
- package/dist/src/cli/extension-cli-register.js +1 -1
- package/dist/src/cli/utils/oauth-login.d.ts +17 -0
- package/dist/src/cli/utils/oauth-login.js +93 -0
- package/dist/src/cli/utils/oauth-login.js.map +1 -0
- package/dist/src/cli/utils/oauth-providers.js +2 -2
- package/dist/src/commands/agents.config.d.ts +3 -3
- package/dist/src/commands/agents.config.js +7 -7
- package/dist/src/commands/agents.config.js.map +1 -1
- package/dist/src/config/agent-profile.d.ts +1 -1
- package/dist/src/config/agent-profile.js +6 -2
- package/dist/src/config/agent-profile.js.map +1 -1
- package/dist/src/config/agent-typed-models.d.ts +2 -2
- package/dist/src/config/agent-typed-models.js +13 -2
- package/dist/src/config/agent-typed-models.js.map +1 -1
- package/dist/src/config/index.js +3 -3
- package/dist/src/config/integration.d.ts +1 -1
- package/dist/src/config/loader.d.ts +0 -1
- package/dist/src/config/loader.js +4 -9
- package/dist/src/config/loader.js.map +1 -1
- package/dist/src/config/models-json.d.ts +6 -6
- package/dist/src/config/rules.js +2 -12
- package/dist/src/config/rules.js.map +1 -1
- package/dist/src/config/schema.d.ts +74 -47
- package/dist/src/config/schema.js +28 -66
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/config/validate-channel-configs.d.ts +0 -3
- package/dist/src/config/validate-channel-configs.js +29 -10
- package/dist/src/config/validate-channel-configs.js.map +1 -1
- package/dist/src/cron/executor.js +1 -4
- package/dist/src/cron/executor.js.map +1 -1
- package/dist/src/extensions/activation-context.js +3 -1
- package/dist/src/extensions/activation-context.js.map +1 -1
- package/dist/src/extensions/activation-planner.js +12 -0
- package/dist/src/extensions/activation-planner.js.map +1 -1
- package/dist/src/extensions/api.d.ts +5 -1
- package/dist/src/extensions/api.js +12 -0
- package/dist/src/extensions/api.js.map +1 -1
- package/dist/src/extensions/discover-extensions.js +17 -13
- package/dist/src/extensions/discover-extensions.js.map +1 -1
- package/dist/src/extensions/extension-metadata-snapshot.js +11 -5
- package/dist/src/extensions/extension-metadata-snapshot.js.map +1 -1
- package/dist/src/extensions/index.js +12 -4
- package/dist/src/extensions/index.js.map +1 -0
- package/dist/src/extensions/loader.d.ts +5 -1
- package/dist/src/extensions/loader.js +12 -11
- package/dist/src/extensions/loader.js.map +1 -1
- package/dist/src/extensions/manifest-registry.js +98 -93
- package/dist/src/extensions/manifest-registry.js.map +1 -1
- package/dist/src/extensions/normalize-manifest.js +91 -15
- package/dist/src/extensions/normalize-manifest.js.map +1 -1
- package/dist/src/extensions/sdk/index.js +1 -1
- package/dist/src/extensions/sdk/testing.js +4 -0
- package/dist/src/extensions/sdk/testing.js.map +1 -1
- package/dist/src/extensions/types/core.d.ts +32 -1
- package/dist/src/extensions/types/manifest.d.ts +60 -0
- package/dist/src/extensions/types/tui.d.ts +414 -5
- package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
- package/dist/src/gateway/agent-builtin-tools.js +16 -0
- package/dist/src/gateway/agent-builtin-tools.js.map +1 -1
- package/dist/src/gateway/agent-run-relay.d.ts +2 -3
- package/dist/src/gateway/agent-run-relay.js +10 -3
- package/dist/src/gateway/agent-run-relay.js.map +1 -1
- package/dist/src/gateway/agents-admin.d.ts +32 -19
- package/dist/src/gateway/agents-admin.js +113 -93
- package/dist/src/gateway/agents-admin.js.map +1 -1
- package/dist/src/gateway/chat-stream/mapper.d.ts +34 -0
- package/dist/src/gateway/chat-stream/mapper.js +244 -0
- package/dist/src/gateway/chat-stream/mapper.js.map +1 -0
- package/dist/src/gateway/chat-stream/protocol.d.ts +100 -0
- package/dist/src/gateway/chat-stream/protocol.js +1 -0
- package/dist/src/gateway/hono/lib/agent-model.d.ts +4 -4
- package/dist/src/gateway/hono/lib/agent-model.js +13 -11
- package/dist/src/gateway/hono/lib/agent-model.js.map +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +19 -7
- package/dist/src/gateway/hono/lib/config-payload.js +16 -15
- package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
- package/dist/src/gateway/hono/oauth-async.js +2 -2
- package/dist/src/gateway/hono/oauth.js +2 -2
- package/dist/src/gateway/hono/routes/agents.js +83 -48
- package/dist/src/gateway/hono/routes/agents.js.map +1 -1
- package/dist/src/gateway/hono/routes/channels.js +134 -214
- package/dist/src/gateway/hono/routes/channels.js.map +1 -1
- package/dist/src/gateway/hono/routes/commands-skills.js +10 -4
- package/dist/src/gateway/hono/routes/commands-skills.js.map +1 -1
- package/dist/src/gateway/hono/routes/config-patch/agents.js +26 -13
- package/dist/src/gateway/hono/routes/config-patch/agents.js.map +1 -1
- package/dist/src/gateway/hono/routes/config-patch/channels.d.ts +1 -11
- package/dist/src/gateway/hono/routes/config-patch/channels.js +18 -165
- package/dist/src/gateway/hono/routes/config-patch/channels.js.map +1 -1
- package/dist/src/gateway/hono/routes/config.js +5 -2
- package/dist/src/gateway/hono/routes/config.js.map +1 -1
- package/dist/src/gateway/hono/routes/dreaming.js +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +13 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
- package/dist/src/gateway/hono/routes/models.js +25 -5
- package/dist/src/gateway/hono/routes/models.js.map +1 -1
- package/dist/src/gateway/hono/routes/public-gateway.js +2 -4
- package/dist/src/gateway/hono/routes/public-gateway.js.map +1 -1
- package/dist/src/gateway/hono/routes/sessions.js +179 -0
- package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
- package/dist/src/gateway/hono/routes/tui.d.ts +3 -0
- package/dist/src/gateway/hono/routes/tui.js +16 -0
- package/dist/src/gateway/hono/routes/tui.js.map +1 -0
- package/dist/src/gateway/hono/routes/workflows.js +25 -1
- package/dist/src/gateway/hono/routes/workflows.js.map +1 -1
- package/dist/src/gateway/hono/sse.d.ts +5 -7
- package/dist/src/gateway/hono/sse.js +21 -38
- package/dist/src/gateway/hono/sse.js.map +1 -1
- package/dist/src/gateway/protocol.js.map +1 -1
- package/dist/src/gateway/service/agent-runner.d.ts +2 -4
- package/dist/src/gateway/service/agent-runner.js +1 -1
- package/dist/src/gateway/service/agent-runner.js.map +1 -1
- package/dist/src/gateway/service/marketplace-service.d.ts +4 -3
- package/dist/src/gateway/service/marketplace-service.js +7 -4
- package/dist/src/gateway/service/marketplace-service.js.map +1 -1
- package/dist/src/gateway/service/run-gateway-agent.d.ts +2 -6
- package/dist/src/gateway/service/run-gateway-agent.js +63 -36
- package/dist/src/gateway/service/run-gateway-agent.js.map +1 -1
- package/dist/src/gateway/service/sessions-api.d.ts +19 -0
- package/dist/src/gateway/service/sessions-api.js +12 -0
- package/dist/src/gateway/service/sessions-api.js.map +1 -1
- package/dist/src/gateway/service.d.ts +6 -0
- package/dist/src/gateway/service.js +73 -57
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/mcp/channel-bridge.js +1 -1
- package/dist/src/media/store.js +3 -0
- package/dist/src/media/store.js.map +1 -1
- package/dist/src/notes/service.js +1 -1
- package/dist/src/notes/service.js.map +1 -1
- package/dist/src/project-trust/trust-store.d.ts +30 -0
- package/dist/src/project-trust/trust-store.js +194 -0
- package/dist/src/project-trust/trust-store.js.map +1 -0
- package/dist/src/providers/index.d.ts +4 -4
- package/dist/src/providers/index.js +41 -22
- package/dist/src/providers/index.js.map +1 -1
- package/dist/src/providers/presentation.d.ts +34 -0
- package/dist/src/providers/presentation.js +162 -0
- package/dist/src/providers/presentation.js.map +1 -0
- package/dist/src/routing/resolve-route.d.ts +0 -3
- package/dist/src/routing/resolve-route.js.map +1 -1
- package/dist/src/routing/resolve-tui-session-key.d.ts +2 -0
- package/dist/src/routing/resolve-tui-session-key.js +8 -3
- package/dist/src/routing/resolve-tui-session-key.js.map +1 -1
- package/dist/src/session/client-history.d.ts +32 -0
- package/dist/src/session/client-history.js +232 -1
- package/dist/src/session/client-history.js.map +1 -1
- package/dist/src/session/manager.d.ts +37 -4
- package/dist/src/session/manager.js +39 -15
- package/dist/src/session/manager.js.map +1 -1
- package/dist/src/session/session-context-for-llm.d.ts +93 -1
- package/dist/src/session/session-context-for-llm.js +105 -2
- package/dist/src/session/session-context-for-llm.js.map +1 -1
- package/dist/src/session/store.d.ts +37 -0
- package/dist/src/session/store.js +127 -2
- package/dist/src/session/store.js.map +1 -1
- package/dist/src/session/stored-rows-to-file-entries.js +37 -1
- package/dist/src/session/stored-rows-to-file-entries.js.map +1 -1
- package/dist/src/session/types.d.ts +14 -1
- package/dist/src/session/types.js.map +1 -1
- package/dist/src/share/share-thumbnail.js +1 -1
- package/dist/src/storage/sqlite/migrations/004_add_session_type_metadata.sql +15 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +3 -3
- package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
- package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
- package/dist/src/storage/sqlite/row-mappers.d.ts +14 -1
- package/dist/src/storage/sqlite/row-mappers.js +14 -1
- package/dist/src/storage/sqlite/row-mappers.js.map +1 -1
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/session-metadata.js +1 -0
- package/dist/src/storage/sqlite/session-metadata.js.map +1 -1
- package/dist/src/storage/sqlite/session-repository.js +52 -25
- package/dist/src/storage/sqlite/session-repository.js.map +1 -1
- package/dist/src/tui/backends/embedded-backend.d.ts +53 -4
- package/dist/src/tui/backends/embedded-backend.js +227 -39
- package/dist/src/tui/backends/embedded-backend.js.map +1 -1
- package/dist/src/tui/backends/gateway-sse-backend.d.ts +59 -3
- package/dist/src/tui/backends/gateway-sse-backend.js +416 -26
- package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
- package/dist/src/tui/chat-history.d.ts +5 -1
- package/dist/src/tui/chat-history.js +78 -8
- package/dist/src/tui/chat-history.js.map +1 -1
- package/dist/src/tui/clipboard-text.d.ts +5 -0
- package/dist/src/tui/clipboard-text.js +46 -0
- package/dist/src/tui/clipboard-text.js.map +1 -0
- package/dist/src/tui/components/assistant-message.d.ts +19 -3
- package/dist/src/tui/components/assistant-message.js +115 -9
- package/dist/src/tui/components/assistant-message.js.map +1 -1
- package/dist/src/tui/components/bash-execution.d.ts +3 -2
- package/dist/src/tui/components/bash-execution.js +31 -3
- package/dist/src/tui/components/bash-execution.js.map +1 -1
- package/dist/src/tui/components/bash-summary.d.ts +23 -0
- package/dist/src/tui/components/bash-summary.js +87 -0
- package/dist/src/tui/components/bash-summary.js.map +1 -0
- package/dist/src/tui/components/branch-message-summary.d.ts +17 -0
- package/dist/src/tui/components/branch-message-summary.js +43 -0
- package/dist/src/tui/components/branch-message-summary.js.map +1 -0
- package/dist/src/tui/components/branch-summary.d.ts +13 -0
- package/dist/src/tui/components/branch-summary.js +51 -0
- package/dist/src/tui/components/branch-summary.js.map +1 -0
- package/dist/src/tui/components/chat-log.d.ts +46 -6
- package/dist/src/tui/components/chat-log.js +183 -21
- package/dist/src/tui/components/chat-log.js.map +1 -1
- package/dist/src/tui/components/compaction-summary.d.ts +13 -0
- package/dist/src/tui/components/compaction-summary.js +46 -0
- package/dist/src/tui/components/compaction-summary.js.map +1 -0
- package/dist/src/tui/components/custom-editor.d.ts +1 -0
- package/dist/src/tui/components/custom-editor.js +2 -0
- package/dist/src/tui/components/custom-editor.js.map +1 -1
- package/dist/src/tui/components/custom-message.d.ts +23 -0
- package/dist/src/tui/components/custom-message.js +65 -0
- package/dist/src/tui/components/custom-message.js.map +1 -0
- package/dist/src/tui/components/extension-dialog.d.ts +42 -0
- package/dist/src/tui/components/extension-dialog.js +127 -0
- package/dist/src/tui/components/extension-dialog.js.map +1 -0
- package/dist/src/tui/components/scoped-models-selector.d.ts +7 -2
- package/dist/src/tui/components/scoped-models-selector.js +89 -16
- package/dist/src/tui/components/scoped-models-selector.js.map +1 -1
- package/dist/src/tui/components/searchable-select-list.d.ts +30 -3
- package/dist/src/tui/components/searchable-select-list.js +82 -10
- package/dist/src/tui/components/searchable-select-list.js.map +1 -1
- package/dist/src/tui/components/session-selector.d.ts +18 -4
- package/dist/src/tui/components/session-selector.js +207 -40
- package/dist/src/tui/components/session-selector.js.map +1 -1
- package/dist/src/tui/components/settings-selector.d.ts +6 -2
- package/dist/src/tui/components/settings-selector.js +126 -7
- package/dist/src/tui/components/settings-selector.js.map +1 -1
- package/dist/src/tui/components/thinking-selector.d.ts +12 -0
- package/dist/src/tui/components/thinking-selector.js +48 -0
- package/dist/src/tui/components/thinking-selector.js.map +1 -0
- package/dist/src/tui/components/tool-execution.d.ts +57 -3
- package/dist/src/tui/components/tool-execution.js +378 -28
- package/dist/src/tui/components/tool-execution.js.map +1 -1
- package/dist/src/tui/components/tui-bottom-bar.d.ts +9 -1
- package/dist/src/tui/components/tui-bottom-bar.js +56 -11
- package/dist/src/tui/components/tui-bottom-bar.js.map +1 -1
- package/dist/src/tui/components/tui-header.d.ts +9 -2
- package/dist/src/tui/components/tui-header.js +25 -5
- package/dist/src/tui/components/tui-header.js.map +1 -1
- package/dist/src/tui/components/user-message.d.ts +4 -2
- package/dist/src/tui/components/user-message.js +42 -9
- package/dist/src/tui/components/user-message.js.map +1 -1
- package/dist/src/tui/components/visual-truncate.d.ts +11 -0
- package/dist/src/tui/components/visual-truncate.js +27 -0
- package/dist/src/tui/components/visual-truncate.js.map +1 -0
- package/dist/src/tui/extension-host/autocomplete.d.ts +43 -0
- package/dist/src/tui/extension-host/autocomplete.js +116 -0
- package/dist/src/tui/extension-host/autocomplete.js.map +1 -0
- package/dist/src/tui/extension-host/host.d.ts +31 -1
- package/dist/src/tui/extension-host/host.js +123 -6
- package/dist/src/tui/extension-host/host.js.map +1 -1
- package/dist/src/tui/extension-host/load-extensions.d.ts +6 -1
- package/dist/src/tui/extension-host/load-extensions.js +4 -3
- package/dist/src/tui/extension-host/load-extensions.js.map +1 -1
- package/dist/src/tui/extension-host/runtime-context.d.ts +21 -0
- package/dist/src/tui/extension-host/runtime-context.js +152 -0
- package/dist/src/tui/extension-host/runtime-context.js.map +1 -0
- package/dist/src/tui/extension-host/runtime.d.ts +52 -4
- package/dist/src/tui/extension-host/runtime.js +547 -85
- package/dist/src/tui/extension-host/runtime.js.map +1 -1
- package/dist/src/tui/extension-host/surface.d.ts +20 -0
- package/dist/src/tui/extension-host/surface.js +30 -6
- package/dist/src/tui/extension-host/surface.js.map +1 -1
- package/dist/src/tui/extension-host/tool-renderers.d.ts +6 -3
- package/dist/src/tui/extension-host/tool-renderers.js +43 -5
- package/dist/src/tui/extension-host/tool-renderers.js.map +1 -1
- package/dist/src/tui/format-tui-hotkeys.d.ts +12 -2
- package/dist/src/tui/format-tui-hotkeys.js +22 -5
- package/dist/src/tui/format-tui-hotkeys.js.map +1 -1
- package/dist/src/tui/tui-agent-events.d.ts +8 -6
- package/dist/src/tui/tui-agent-events.js +200 -59
- package/dist/src/tui/tui-agent-events.js.map +1 -1
- package/dist/src/tui/tui-backend.d.ts +169 -3
- package/dist/src/tui/tui-command-formatters.d.ts +76 -0
- package/dist/src/tui/tui-command-formatters.js +594 -0
- package/dist/src/tui/tui-command-formatters.js.map +1 -0
- package/dist/src/tui/tui-commands.d.ts +57 -7
- package/dist/src/tui/tui-commands.js +639 -43
- package/dist/src/tui/tui-commands.js.map +1 -1
- package/dist/src/tui/tui-context-usage.d.ts +1 -1
- package/dist/src/tui/tui-context-usage.js +9 -1
- package/dist/src/tui/tui-context-usage.js.map +1 -1
- package/dist/src/tui/tui-extension-user-message.d.ts +8 -0
- package/dist/src/tui/tui-extension-user-message.js +32 -0
- package/dist/src/tui/tui-extension-user-message.js.map +1 -0
- package/dist/src/tui/tui-follow-up-queue.d.ts +9 -0
- package/dist/src/tui/tui-follow-up-queue.js +18 -0
- package/dist/src/tui/tui-follow-up-queue.js.map +1 -0
- package/dist/src/tui/tui-local-shell.d.ts +11 -1
- package/dist/src/tui/tui-local-shell.js +50 -8
- package/dist/src/tui/tui-local-shell.js.map +1 -1
- package/dist/src/tui/tui-model-picker.d.ts +26 -0
- package/dist/src/tui/tui-model-picker.js +152 -0
- package/dist/src/tui/tui-model-picker.js.map +1 -0
- package/dist/src/tui/tui-oauth-login.d.ts +16 -0
- package/dist/src/tui/tui-oauth-login.js +189 -0
- package/dist/src/tui/tui-oauth-login.js.map +1 -0
- package/dist/src/tui/tui-overlays.d.ts +3 -3
- package/dist/src/tui/tui-overlays.js +6 -7
- package/dist/src/tui/tui-overlays.js.map +1 -1
- package/dist/src/tui/tui-picker-overlay.d.ts +27 -32
- package/dist/src/tui/tui-picker-overlay.js +340 -30
- package/dist/src/tui/tui-picker-overlay.js.map +1 -1
- package/dist/src/tui/tui-picker-services.d.ts +41 -0
- package/dist/src/tui/tui-picker-services.js +1 -0
- package/dist/src/tui/tui-run-state.d.ts +11 -0
- package/dist/src/tui/tui-run-state.js +114 -0
- package/dist/src/tui/tui-run-state.js.map +1 -0
- package/dist/src/tui/tui-runtime-hints.d.ts +4 -0
- package/dist/src/tui/tui-runtime-hints.js +18 -0
- package/dist/src/tui/tui-runtime-hints.js.map +1 -0
- package/dist/src/tui/tui-scoped-models.d.ts +1 -1
- package/dist/src/tui/tui-scoped-models.js +2 -2
- package/dist/src/tui/tui-scoped-models.js.map +1 -1
- package/dist/src/tui/tui-session-actions.d.ts +5 -3
- package/dist/src/tui/tui-session-actions.js +21 -9
- package/dist/src/tui/tui-session-actions.js.map +1 -1
- package/dist/src/tui/tui-session-format.d.ts +4 -1
- package/dist/src/tui/tui-session-format.js +17 -3
- package/dist/src/tui/tui-session-format.js.map +1 -1
- package/dist/src/tui/tui-session-snapshot.d.ts +82 -0
- package/dist/src/tui/tui-session-snapshot.js +184 -0
- package/dist/src/tui/tui-session-snapshot.js.map +1 -0
- package/dist/src/tui/tui-session-stats.d.ts +3 -0
- package/dist/src/tui/tui-session-stats.js +59 -0
- package/dist/src/tui/tui-session-stats.js.map +1 -0
- package/dist/src/tui/tui-settings.d.ts +21 -0
- package/dist/src/tui/tui-settings.js +28 -1
- package/dist/src/tui/tui-settings.js.map +1 -1
- package/dist/src/tui/tui-skills-autocomplete.js +1 -1
- package/dist/src/tui/tui-skills-autocomplete.js.map +1 -1
- package/dist/src/tui/tui-startup-resources.d.ts +3 -0
- package/dist/src/tui/tui-startup-resources.js +39 -0
- package/dist/src/tui/tui-startup-resources.js.map +1 -0
- package/dist/src/tui/tui-startup-text.d.ts +10 -0
- package/dist/src/tui/tui-startup-text.js +58 -0
- package/dist/src/tui/tui-startup-text.js.map +1 -0
- package/dist/src/tui/tui-stdio-filter.d.ts +1 -0
- package/dist/src/tui/tui-stdio-filter.js +11 -7
- package/dist/src/tui/tui-stdio-filter.js.map +1 -1
- package/dist/src/tui/tui-submit.d.ts +2 -0
- package/dist/src/tui/tui-submit.js +2 -1
- package/dist/src/tui/tui-submit.js.map +1 -1
- package/dist/src/tui/tui-tool-diff.js +61 -7
- package/dist/src/tui/tui-tool-diff.js.map +1 -1
- package/dist/src/tui/tui-tool-result.d.ts +17 -0
- package/dist/src/tui/tui-tool-result.js +74 -0
- package/dist/src/tui/tui-tool-result.js.map +1 -0
- package/dist/src/tui/tui-transcript-tree-picker.d.ts +57 -0
- package/dist/src/tui/tui-transcript-tree-picker.js +604 -0
- package/dist/src/tui/tui-transcript-tree-picker.js.map +1 -0
- package/dist/src/tui/tui-transcript-tree.d.ts +7 -0
- package/dist/src/tui/tui-transcript-tree.js +316 -0
- package/dist/src/tui/tui-transcript-tree.js.map +1 -0
- package/dist/src/tui/tui-types.d.ts +25 -34
- package/dist/src/tui/tui-types.js +12 -0
- package/dist/src/tui/tui-types.js.map +1 -1
- package/dist/src/tui/tui.js +1288 -112
- package/dist/src/tui/tui.js.map +1 -1
- package/dist/src/tui/xopc-tui-keybindings.d.ts +127 -2
- package/dist/src/tui/xopc-tui-keybindings.js +127 -2
- package/dist/src/tui/xopc-tui-keybindings.js.map +1 -1
- package/dist/src/workflows/domain/definition-utils.d.ts +2 -1
- package/dist/src/workflows/domain/definition-utils.js +18 -8
- package/dist/src/workflows/domain/definition-utils.js.map +1 -1
- package/dist/src/workflows/domain/definition.d.ts +25 -0
- package/dist/src/workflows/domain/event.d.ts +1 -0
- package/dist/src/workflows/domain/result.d.ts +15 -0
- package/dist/src/workflows/domain/run.d.ts +2 -0
- package/dist/src/workflows/domain/run.js.map +1 -1
- package/dist/src/workflows/engine/projector.js +4 -0
- package/dist/src/workflows/engine/projector.js.map +1 -1
- package/dist/src/workflows/engine/workflow-engine.d.ts +37 -1
- package/dist/src/workflows/engine/workflow-engine.js +75 -11
- package/dist/src/workflows/engine/workflow-engine.js.map +1 -1
- package/dist/src/workflows/index.d.ts +1 -0
- package/dist/src/workflows/index.js +4 -1
- package/dist/src/workflows/registry/catalog-workflow-definition-registry.d.ts +9 -0
- package/dist/src/workflows/registry/catalog-workflow-definition-registry.js +40 -0
- package/dist/src/workflows/registry/catalog-workflow-definition-registry.js.map +1 -0
- package/dist/src/workflows/registry/index.d.ts +2 -0
- package/dist/src/workflows/registry/index.js +2 -0
- package/dist/src/workflows/registry/workflow-definition-registry.d.ts +15 -0
- package/dist/src/workflows/registry/workflow-definition-registry.js +1 -0
- package/dist/src/workflows/runtime/index.d.ts +2 -0
- package/dist/src/workflows/runtime/index.js +2 -1
- package/dist/src/workflows/runtime/script-workflow-runtime.d.ts +5 -0
- package/dist/src/workflows/runtime/script-workflow-runtime.js +15 -0
- package/dist/src/workflows/runtime/script-workflow-runtime.js.map +1 -0
- package/dist/src/workflows/runtime/workflow-runtime-port.d.ts +16 -0
- package/dist/src/workflows/runtime/workflow-runtime-port.js +1 -0
- package/dist/src/workflows/service/run-view-to-snapshot.js +3 -0
- package/dist/src/workflows/service/run-view-to-snapshot.js.map +1 -1
- package/dist/src/workflows/service/workflow-run-service.d.ts +3 -0
- package/dist/src/workflows/service/workflow-run-service.js +10 -15
- package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
- package/dist/src/workflows/service/workflow-session-bridge.d.ts +1 -1
- package/dist/src/workflows/service/workflow-session-bridge.js +4 -1
- package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -1
- package/package.json +21 -15
- package/skills/creative/frontend-design/SKILL.md +1 -1
- package/skills/creative/theme-factory/SKILL.md +1 -1
- package/skills/documents/xlsx/SKILL.md +1 -1
- package/skills/engineering/diagnose/SKILL.md +2 -2
- package/skills/engineering/tdd/SKILL.md +1 -1
- package/skills/tools/github/SKILL.md +6 -1
- package/skills/tools/webapp-testing/SKILL.md +4 -1
- package/dist/extensions/telegram/src/adapters/config-surface.d.ts +0 -2
- package/dist/extensions/telegram/src/adapters/config-surface.js +0 -26
- package/dist/extensions/telegram/src/adapters/config-surface.js.map +0 -1
- package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js +0 -158
- package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js.map +0 -1
- package/dist/gateway/static/root/assets/agents-DQ0mQxIA.js +0 -222
- package/dist/gateway/static/root/assets/channels-settings-BEtP53V6.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-CxTtS1hI.js +0 -8
- package/dist/gateway/static/root/assets/cron-api-CznlPIZT.js +0 -1
- package/dist/gateway/static/root/assets/cron-page-Dx6dE3eD.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-DuDCSb3J.js +0 -1
- package/dist/gateway/static/root/assets/field-primitives-BUwUiDf5.js +0 -1
- package/dist/gateway/static/root/assets/heartbeat-config-api-BjFW1cl-.js +0 -1
- package/dist/gateway/static/root/assets/index-DKgHC1Ta.js +0 -4840
- package/dist/gateway/static/root/assets/index-DjNDHzwG.css +0 -1
- package/dist/gateway/static/root/assets/notes-page-D40ZpS0Y.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-BvtdbmW8.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BQamRjkV.js +0 -2
- package/dist/gateway/static/root/assets/settings-page-D972_jaS.js +0 -3
- package/dist/gateway/static/root/assets/share-preview-page-CKCTMo0_.js +0 -2
- package/dist/gateway/static/root/assets/skills-page-QwFCB4yV.js +0 -2
- package/dist/gateway/static/root/assets/url-q28QhI7l.js +0 -3
- package/dist/gateway/static/root/assets/utils-DCm11_KW.js +0 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-CywiB7Dw.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-Be7l_SWw.js +0 -27
- package/dist/src/agent/embedded/map-stream-events.d.ts +0 -9
- package/dist/src/agent/embedded/map-stream-events.js +0 -63
- package/dist/src/agent/embedded/map-stream-events.js.map +0 -1
- package/dist/src/auth/oauth/vendor-pi-google/google-antigravity.js.map +0 -1
- package/dist/src/auth/oauth/vendor-pi-google/google-gemini-cli.js.map +0 -1
- package/dist/src/auth/oauth/vendor-pi-google/oauth-page.js.map +0 -1
- package/dist/src/auth/oauth/vendor-pi-google/pkce.js.map +0 -1
- package/dist/src/channels/dock.js.map +0 -1
- package/dist/src/channels/plugins/bundled.d.ts +0 -11
- package/dist/src/channels/plugins/bundled.js +0 -10
- package/dist/src/channels/plugins/bundled.js.map +0 -1
- package/dist/src/channels/registry.d.ts +0 -25
- package/dist/src/channels/registry.js +0 -82
- package/dist/src/channels/registry.js.map +0 -1
- package/dist/src/config/localized-text.d.ts +0 -6
- package/dist/src/config/localized-text.js +0 -42
- package/dist/src/config/localized-text.js.map +0 -1
- package/dist/src/generated/bundled-channel-plugins.d.ts +0 -10
- package/dist/src/generated/bundled-channel-plugins.js +0 -16
- package/dist/src/generated/bundled-channel-plugins.js.map +0 -1
- package/dist/src/tui/stream-assembler.d.ts +0 -22
- package/dist/src/tui/stream-assembler.js +0 -63
- package/dist/src/tui/stream-assembler.js.map +0 -1
- package/skills/browser/SKILL-zh.md +0 -188
- package/skills/business/company-values/SKILL-zh.md +0 -80
- package/skills/business/company-values/SKILL.md +0 -80
- package/skills/business/find-community/SKILL-zh.md +0 -50
- package/skills/business/find-community/SKILL.md +0 -50
- package/skills/business/first-customers/SKILL-zh.md +0 -76
- package/skills/business/first-customers/SKILL.md +0 -76
- package/skills/business/grow-sustainably/SKILL-zh.md +0 -92
- package/skills/business/grow-sustainably/SKILL.md +0 -92
- package/skills/business/marketing-plan/SKILL-zh.md +0 -100
- package/skills/business/marketing-plan/SKILL.md +0 -100
- package/skills/business/minimalist-review/SKILL-zh.md +0 -82
- package/skills/business/minimalist-review/SKILL.md +0 -82
- package/skills/business/mvp/SKILL-zh.md +0 -81
- package/skills/business/mvp/SKILL.md +0 -81
- package/skills/business/pricing/SKILL-zh.md +0 -64
- package/skills/business/pricing/SKILL.md +0 -64
- package/skills/business/processize/SKILL-zh.md +0 -91
- package/skills/business/processize/SKILL.md +0 -91
- package/skills/business/validate-idea/SKILL-zh.md +0 -68
- package/skills/business/validate-idea/SKILL.md +0 -68
- package/skills/creative/algorithmic-art/LICENSE.txt +0 -202
- package/skills/creative/algorithmic-art/SKILL-zh.md +0 -405
- package/skills/creative/algorithmic-art/SKILL.md +0 -405
- package/skills/creative/algorithmic-art/templates/generator_template.js +0 -223
- package/skills/creative/algorithmic-art/templates/viewer.html +0 -599
- package/skills/creative/frontend-design/SKILL-zh.md +0 -42
- package/skills/creative/theme-factory/SKILL-zh.md +0 -59
- package/skills/creative/web-artifacts-builder/LICENSE.txt +0 -202
- package/skills/creative/web-artifacts-builder/SKILL-zh.md +0 -74
- package/skills/creative/web-artifacts-builder/SKILL.md +0 -74
- package/skills/creative/web-artifacts-builder/scripts/bundle-artifact.sh +0 -54
- package/skills/creative/web-artifacts-builder/scripts/init-artifact.sh +0 -322
- package/skills/creative/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/skills/documents/doc-coauthoring/SKILL-zh.md +0 -375
- package/skills/documents/doc-coauthoring/SKILL.md +0 -375
- package/skills/documents/docx/LICENSE.txt +0 -30
- package/skills/documents/docx/SKILL-zh.md +0 -590
- package/skills/documents/docx/SKILL.md +0 -590
- package/skills/documents/docx/scripts/__init__.py +0 -1
- package/skills/documents/docx/scripts/accept_changes.py +0 -135
- package/skills/documents/docx/scripts/comment.py +0 -318
- package/skills/documents/docx/scripts/office/helpers/__init__.py +0 -0
- package/skills/documents/docx/scripts/office/helpers/merge_runs.py +0 -199
- package/skills/documents/docx/scripts/office/helpers/simplify_redlines.py +0 -197
- package/skills/documents/docx/scripts/office/pack.py +0 -159
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/skills/documents/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/skills/documents/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/skills/documents/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/skills/documents/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/skills/documents/docx/scripts/office/schemas/mce/mc.xsd +0 -75
- package/skills/documents/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
- package/skills/documents/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
- package/skills/documents/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
- package/skills/documents/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/skills/documents/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/skills/documents/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/skills/documents/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/skills/documents/docx/scripts/office/soffice.py +0 -183
- package/skills/documents/docx/scripts/office/unpack.py +0 -132
- package/skills/documents/docx/scripts/office/validate.py +0 -111
- package/skills/documents/docx/scripts/office/validators/__init__.py +0 -15
- package/skills/documents/docx/scripts/office/validators/base.py +0 -847
- package/skills/documents/docx/scripts/office/validators/docx.py +0 -446
- package/skills/documents/docx/scripts/office/validators/pptx.py +0 -275
- package/skills/documents/docx/scripts/office/validators/redlining.py +0 -247
- package/skills/documents/docx/scripts/templates/comments.xml +0 -3
- package/skills/documents/docx/scripts/templates/commentsExtended.xml +0 -3
- package/skills/documents/docx/scripts/templates/commentsExtensible.xml +0 -3
- package/skills/documents/docx/scripts/templates/commentsIds.xml +0 -3
- package/skills/documents/docx/scripts/templates/people.xml +0 -3
- package/skills/documents/pdf/LICENSE.txt +0 -30
- package/skills/documents/pdf/SKILL-zh.md +0 -314
- package/skills/documents/pdf/SKILL.md +0 -314
- package/skills/documents/pdf/forms.md +0 -294
- package/skills/documents/pdf/reference.md +0 -612
- package/skills/documents/pdf/scripts/check_bounding_boxes.py +0 -65
- package/skills/documents/pdf/scripts/check_fillable_fields.py +0 -11
- package/skills/documents/pdf/scripts/convert_pdf_to_images.py +0 -33
- package/skills/documents/pdf/scripts/create_validation_image.py +0 -37
- package/skills/documents/pdf/scripts/extract_form_field_info.py +0 -122
- package/skills/documents/pdf/scripts/extract_form_structure.py +0 -115
- package/skills/documents/pdf/scripts/fill_fillable_fields.py +0 -98
- package/skills/documents/pdf/scripts/fill_pdf_form_with_annotations.py +0 -107
- package/skills/documents/pptx/LICENSE.txt +0 -30
- package/skills/documents/pptx/SKILL-zh.md +0 -232
- package/skills/documents/pptx/SKILL.md +0 -232
- package/skills/documents/pptx/editing.md +0 -205
- package/skills/documents/pptx/pptxgenjs.md +0 -420
- package/skills/documents/pptx/scripts/__init__.py +0 -0
- package/skills/documents/pptx/scripts/add_slide.py +0 -195
- package/skills/documents/pptx/scripts/clean.py +0 -286
- package/skills/documents/pptx/scripts/office/helpers/__init__.py +0 -0
- package/skills/documents/pptx/scripts/office/helpers/merge_runs.py +0 -199
- package/skills/documents/pptx/scripts/office/helpers/simplify_redlines.py +0 -197
- package/skills/documents/pptx/scripts/office/pack.py +0 -159
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/skills/documents/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/skills/documents/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/skills/documents/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/skills/documents/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/skills/documents/pptx/scripts/office/schemas/mce/mc.xsd +0 -75
- package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
- package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
- package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
- package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/skills/documents/pptx/scripts/office/soffice.py +0 -183
- package/skills/documents/pptx/scripts/office/unpack.py +0 -132
- package/skills/documents/pptx/scripts/office/validate.py +0 -111
- package/skills/documents/pptx/scripts/office/validators/__init__.py +0 -15
- package/skills/documents/pptx/scripts/office/validators/base.py +0 -847
- package/skills/documents/pptx/scripts/office/validators/docx.py +0 -446
- package/skills/documents/pptx/scripts/office/validators/pptx.py +0 -275
- package/skills/documents/pptx/scripts/office/validators/redlining.py +0 -247
- package/skills/documents/pptx/scripts/thumbnail.py +0 -289
- package/skills/documents/xlsx/SKILL-zh.md +0 -292
- package/skills/engineering/diagnose/SKILL-zh.md +0 -117
- package/skills/engineering/grill-with-docs/ADR-FORMAT.md +0 -47
- package/skills/engineering/grill-with-docs/CONTEXT-FORMAT.md +0 -77
- package/skills/engineering/grill-with-docs/SKILL-zh.md +0 -88
- package/skills/engineering/grill-with-docs/SKILL.md +0 -88
- package/skills/engineering/improve-codebase-architecture/DEEPENING.md +0 -37
- package/skills/engineering/improve-codebase-architecture/INTERFACE-DESIGN.md +0 -44
- package/skills/engineering/improve-codebase-architecture/LANGUAGE.md +0 -53
- package/skills/engineering/improve-codebase-architecture/SKILL-zh.md +0 -71
- package/skills/engineering/improve-codebase-architecture/SKILL.md +0 -71
- package/skills/engineering/tdd/SKILL-zh.md +0 -109
- package/skills/engineering/to-issues/SKILL-zh.md +0 -81
- package/skills/engineering/to-issues/SKILL.md +0 -81
- package/skills/engineering/to-prd/SKILL-zh.md +0 -76
- package/skills/engineering/to-prd/SKILL.md +0 -74
- package/skills/engineering/zoom-out/SKILL-zh.md +0 -7
- package/skills/engineering/zoom-out/SKILL.md +0 -7
- package/skills/tools/find-skills/SKILL-zh.md +0 -440
- package/skills/tools/github/SKILL-zh.md +0 -48
- package/skills/tools/internal-comms/LICENSE.txt +0 -202
- package/skills/tools/internal-comms/SKILL-zh.md +0 -32
- package/skills/tools/internal-comms/SKILL.md +0 -32
- package/skills/tools/internal-comms/examples/3p-updates.md +0 -47
- package/skills/tools/internal-comms/examples/company-newsletter.md +0 -65
- package/skills/tools/internal-comms/examples/faq-answers.md +0 -30
- package/skills/tools/internal-comms/examples/general-comms.md +0 -16
- package/skills/tools/skill-creator/LICENSE.txt +0 -202
- package/skills/tools/skill-creator/SKILL-zh.md +0 -483
- package/skills/tools/skill-creator/SKILL.md +0 -485
- package/skills/tools/skill-creator/agents/analyzer.md +0 -274
- package/skills/tools/skill-creator/agents/comparator.md +0 -202
- package/skills/tools/skill-creator/agents/grader.md +0 -223
- package/skills/tools/skill-creator/assets/eval_review.html +0 -146
- package/skills/tools/skill-creator/eval-viewer/generate_review.py +0 -471
- package/skills/tools/skill-creator/eval-viewer/viewer.html +0 -1325
- package/skills/tools/skill-creator/references/schemas.md +0 -430
- package/skills/tools/skill-creator/scripts/__init__.py +0 -0
- package/skills/tools/skill-creator/scripts/aggregate_benchmark.py +0 -401
- package/skills/tools/skill-creator/scripts/generate_report.py +0 -326
- package/skills/tools/skill-creator/scripts/improve_description.py +0 -247
- package/skills/tools/skill-creator/scripts/package_skill.py +0 -136
- package/skills/tools/skill-creator/scripts/quick_validate.py +0 -103
- package/skills/tools/skill-creator/scripts/run_eval.py +0 -310
- package/skills/tools/skill-creator/scripts/run_loop.py +0 -328
- package/skills/tools/skill-creator/scripts/utils.py +0 -47
- package/skills/tools/summarize/SKILL-zh.md +0 -47
- package/skills/tools/weather/SKILL-zh.md +0 -46
- package/skills/tools/weather/SKILL.md +0 -46
- package/skills/tools/webapp-testing/SKILL-zh.md +0 -96
- /package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/google-antigravity.d.ts +0 -0
- /package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/google-gemini-cli.d.ts +0 -0
- /package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/oauth-page.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","names":[],"sources":["../../../src/channels/registry.ts"],"sourcesContent":["/**\n * Built-in chat channel registry: stable ordering and UI-facing metadata.\n * Extension-provided channels register separately; keep protocol IDs aligned.\n */\n\nimport type { ChannelCapabilities } from './plugin-types.js';\n\nexport const CHAT_CHANNEL_ORDER = ['telegram', 'weixin', 'feishu'] as const;\n\nexport type ChatChannelId = (typeof CHAT_CHANNEL_ORDER)[number];\n\nexport interface ChatChannelMeta {\n id: ChatChannelId;\n label: string;\n description: string;\n capabilities: ChannelCapabilities;\n /** Optional UI/dock tuning (queue debounce, outbound chunk size). */\n dock?: {\n outbound?: { textChunkLimit?: number };\n queue?: { debounceMs?: number };\n };\n}\n\nconst DEFAULT_CAPABILITIES: ChannelCapabilities = {\n chatTypes: ['direct', 'group', 'channel', 'thread'],\n reactions: true,\n threads: true,\n media: true,\n polls: false,\n nativeCommands: true,\n blockStreaming: true,\n};\n\nconst WEIXIN_CAPABILITIES: ChannelCapabilities = {\n chatTypes: ['direct'],\n reactions: false,\n threads: false,\n media: true,\n polls: false,\n nativeCommands: false,\n blockStreaming: true,\n};\n\nconst FEISHU_CAPABILITIES: ChannelCapabilities = {\n chatTypes: ['direct', 'channel'],\n reactions: true,\n threads: true,\n media: true,\n polls: false,\n nativeCommands: false,\n blockStreaming: false,\n edit: true,\n reply: true,\n};\n\nconst CHAT_CHANNEL_META: Record<ChatChannelId, ChatChannelMeta> = {\n telegram: {\n id: 'telegram',\n label: 'Telegram',\n description: 'Telegram Bot API (GrammY)',\n capabilities: DEFAULT_CAPABILITIES,\n dock: {\n outbound: { textChunkLimit: 4000 },\n queue: { debounceMs: 300 },\n },\n },\n weixin: {\n id: 'weixin',\n label: 'Weixin',\n description: 'WeChat via Tencent ilink (QR login)',\n capabilities: WEIXIN_CAPABILITIES,\n dock: {\n outbound: { textChunkLimit: 4000 },\n queue: { debounceMs: 0 },\n },\n },\n feishu: {\n id: 'feishu',\n label: 'Feishu',\n description: 'Feishu/Lark enterprise messaging (Socket Mode)',\n capabilities: FEISHU_CAPABILITIES,\n dock: {\n outbound: { textChunkLimit: 4000 },\n queue: { debounceMs: 350 },\n },\n },\n};\n\nexport function getChatChannelMeta(id: ChatChannelId): ChatChannelMeta {\n return CHAT_CHANNEL_META[id];\n}\n\nexport function isChatChannelId(id: string): id is ChatChannelId {\n return (CHAT_CHANNEL_ORDER as readonly string[]).includes(id);\n}\n\nexport function listChatChannelMeta(): ChatChannelMeta[] {\n return CHAT_CHANNEL_ORDER.map((id) => CHAT_CHANNEL_META[id]);\n}\n"],"mappings":";AAOA,MAAa,qBAAqB;CAAC;CAAY;CAAU;CAAS;AAgDlE,MAAM,oBAA4D;CAChE,UAAU;EACR,IAAI;EACJ,OAAO;EACP,aAAa;EACb,cAAc;GApChB,WAAW;IAAC;IAAU;IAAS;IAAW;IAAS;GACnD,WAAW;GACX,SAAS;GACT,OAAO;GACP,OAAO;GACP,gBAAgB;GAChB,gBAAgB;GA8BoB;EAClC,MAAM;GACJ,UAAU,EAAE,gBAAgB,KAAM;GAClC,OAAO,EAAE,YAAY,KAAK;GAC3B;EACF;CACD,QAAQ;EACN,IAAI;EACJ,OAAO;EACP,aAAa;EACb,cAAc;GApChB,WAAW,CAAC,SAAS;GACrB,WAAW;GACX,SAAS;GACT,OAAO;GACP,OAAO;GACP,gBAAgB;GAChB,gBAAgB;GA8BmB;EACjC,MAAM;GACJ,UAAU,EAAE,gBAAgB,KAAM;GAClC,OAAO,EAAE,YAAY,GAAG;GACzB;EACF;CACD,QAAQ;EACN,IAAI;EACJ,OAAO;EACP,aAAa;EACb,cAAc;GApChB,WAAW,CAAC,UAAU,UAAU;GAChC,WAAW;GACX,SAAS;GACT,OAAO;GACP,OAAO;GACP,gBAAgB;GAChB,gBAAgB;GAChB,MAAM;GACN,OAAO;GA4B4B;EACjC,MAAM;GACJ,UAAU,EAAE,gBAAgB,KAAM;GAClC,OAAO,EAAE,YAAY,KAAK;GAC3B;EACF;CACF;AAED,SAAgB,mBAAmB,IAAoC;AACrE,QAAO,kBAAkB;;AAG3B,SAAgB,gBAAgB,IAAiC;AAC/D,QAAQ,mBAAyC,SAAS,GAAG;;AAG/D,SAAgB,sBAAyC;AACvD,QAAO,mBAAmB,KAAK,OAAO,kBAAkB,IAAI"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export type LocalizedTextMap = Record<string, string>;
|
|
3
|
-
export type LocalizedText = string | LocalizedTextMap;
|
|
4
|
-
export declare const LocalizedTextSchema: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
|
|
5
|
-
export declare function normalizeLocalizedText(value: LocalizedText | undefined): LocalizedText | undefined;
|
|
6
|
-
export declare function resolveLocalizedText(value: LocalizedText | undefined, locale: string | undefined, fallbackLocale?: string): string | undefined;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
//#region src/config/localized-text.ts
|
|
4
|
-
function normalizeLocalizedText(value) {
|
|
5
|
-
if (typeof value === "string") {
|
|
6
|
-
const trimmed = value.trim();
|
|
7
|
-
return trimmed ? trimmed : void 0;
|
|
8
|
-
}
|
|
9
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) return;
|
|
10
|
-
const entries = Object.entries(value).map(([locale, text]) => [locale.trim(), String(text).trim()]).filter(([locale, text]) => locale.length > 0 && text.length > 0);
|
|
11
|
-
if (entries.length === 0) return;
|
|
12
|
-
return Object.fromEntries(entries);
|
|
13
|
-
}
|
|
14
|
-
function resolveLocalizedText(value, locale, fallbackLocale = "en") {
|
|
15
|
-
if (typeof value === "string") return value.trim() || void 0;
|
|
16
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) return;
|
|
17
|
-
const normalizedLocale = locale?.trim();
|
|
18
|
-
const candidates = [
|
|
19
|
-
normalizedLocale,
|
|
20
|
-
normalizedLocale?.split("-")[0],
|
|
21
|
-
fallbackLocale,
|
|
22
|
-
fallbackLocale.split("-")[0]
|
|
23
|
-
].filter((candidate) => Boolean(candidate));
|
|
24
|
-
for (const candidate of candidates) {
|
|
25
|
-
const text = value[candidate]?.trim();
|
|
26
|
-
if (text) return text;
|
|
27
|
-
}
|
|
28
|
-
for (const text of Object.values(value)) {
|
|
29
|
-
const trimmed = text.trim();
|
|
30
|
-
if (trimmed) return trimmed;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
var LOCALE_KEY_PATTERN, LocalizedTextSchema;
|
|
34
|
-
var init_localized_text = __esmMin((() => {
|
|
35
|
-
LOCALE_KEY_PATTERN = /^[a-z]{2}(?:-[A-Za-z]{2,8})?$/;
|
|
36
|
-
LocalizedTextSchema = z.union([z.string(), z.record(z.string().regex(LOCALE_KEY_PATTERN), z.string())]);
|
|
37
|
-
}));
|
|
38
|
-
//#endregion
|
|
39
|
-
init_localized_text();
|
|
40
|
-
export { LocalizedTextSchema, init_localized_text, normalizeLocalizedText, resolveLocalizedText };
|
|
41
|
-
|
|
42
|
-
//# sourceMappingURL=localized-text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localized-text.js","names":[],"sources":["../../../src/config/localized-text.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport type LocalizedTextMap = Record<string, string>;\nexport type LocalizedText = string | LocalizedTextMap;\n\nconst LOCALE_KEY_PATTERN = /^[a-z]{2}(?:-[A-Za-z]{2,8})?$/;\n\nexport const LocalizedTextSchema = z.union([\n z.string(),\n z.record(z.string().regex(LOCALE_KEY_PATTERN), z.string()),\n]);\n\nexport function normalizeLocalizedText(value: LocalizedText | undefined): LocalizedText | undefined {\n if (typeof value === 'string') {\n const trimmed = value.trim();\n return trimmed ? trimmed : undefined;\n }\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return undefined;\n }\n const entries = Object.entries(value)\n .map(([locale, text]) => [locale.trim(), String(text).trim()] as const)\n .filter(([locale, text]) => locale.length > 0 && text.length > 0);\n if (entries.length === 0) {\n return undefined;\n }\n return Object.fromEntries(entries);\n}\n\nexport function resolveLocalizedText(\n value: LocalizedText | undefined,\n locale: string | undefined,\n fallbackLocale = 'en',\n): string | undefined {\n if (typeof value === 'string') {\n const trimmed = value.trim();\n return trimmed || undefined;\n }\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return undefined;\n }\n\n const normalizedLocale = locale?.trim();\n const localeBase = normalizedLocale?.split('-')[0];\n const fallbackBase = fallbackLocale.split('-')[0];\n const candidates = [\n normalizedLocale,\n localeBase,\n fallbackLocale,\n fallbackBase,\n ].filter((candidate): candidate is string => Boolean(candidate));\n\n for (const candidate of candidates) {\n const text = value[candidate]?.trim();\n if (text) {\n return text;\n }\n }\n\n for (const text of Object.values(value)) {\n const trimmed = text.trim();\n if (trimmed) {\n return trimmed;\n }\n }\n return undefined;\n}\n"],"mappings":";;;AAYA,SAAgB,uBAAuB,OAA6D;AAClG,KAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,UAAU,MAAM,MAAM;AAC5B,SAAO,UAAU,UAAU,KAAA;;AAE7B,KAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,MAAM,CAC7D;CAEF,MAAM,UAAU,OAAO,QAAQ,MAAM,CAClC,KAAK,CAAC,QAAQ,UAAU,CAAC,OAAO,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAU,CACtE,QAAQ,CAAC,QAAQ,UAAU,OAAO,SAAS,KAAK,KAAK,SAAS,EAAE;AACnE,KAAI,QAAQ,WAAW,EACrB;AAEF,QAAO,OAAO,YAAY,QAAQ;;AAGpC,SAAgB,qBACd,OACA,QACA,iBAAiB,MACG;AACpB,KAAI,OAAO,UAAU,SAEnB,QADgB,MAAM,MACR,IAAI,KAAA;AAEpB,KAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,MAAM,CAC7D;CAGF,MAAM,mBAAmB,QAAQ,MAAM;CAGvC,MAAM,aAAa;EACjB;EAHiB,kBAAkB,MAAM,IAAI,CAAC;EAK9C;EAJmB,eAAe,MAAM,IAAI,CAAC;EAM9C,CAAC,QAAQ,cAAmC,QAAQ,UAAU,CAAC;AAEhE,MAAK,MAAM,aAAa,YAAY;EAClC,MAAM,OAAO,MAAM,YAAY,MAAM;AACrC,MAAI,KACF,QAAO;;AAIX,MAAK,MAAM,QAAQ,OAAO,OAAO,MAAM,EAAE;EACvC,MAAM,UAAU,KAAK,MAAM;AAC3B,MAAI,QACF,QAAO;;;;;AAzDP,sBAAqB;AAEd,uBAAsB,EAAE,MAAM,CACzC,EAAE,QAAQ,EACV,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,mBAAmB,EAAE,EAAE,QAAQ,CAAC,CAC3D,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in channel plugins: sources under extensions/*, compiled to dist/extensions/*.
|
|
3
|
-
* Regenerate: pnpm run generate:bundled-channels
|
|
4
|
-
*/
|
|
5
|
-
import type { ChannelPlugin } from '../channels/plugin-types.js';
|
|
6
|
-
import { telegramPlugin } from '../../extensions/telegram/src/index.js';
|
|
7
|
-
import { weixinPlugin } from '../../extensions/weixin/src/index.js';
|
|
8
|
-
import { feishuPlugin } from '../../extensions/feishu/src/index.js';
|
|
9
|
-
export { telegramPlugin, weixinPlugin, feishuPlugin };
|
|
10
|
-
export declare const bundledChannelPlugins: ChannelPlugin[];
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { telegramPlugin } from "../../extensions/telegram/src/plugin.js";
|
|
2
|
-
import "../../extensions/telegram/src/index.js";
|
|
3
|
-
import { weixinPlugin } from "../../extensions/weixin/src/plugin.js";
|
|
4
|
-
import "../../extensions/weixin/src/index.js";
|
|
5
|
-
import { feishuPlugin } from "../../extensions/feishu/src/plugin.js";
|
|
6
|
-
import "../../extensions/feishu/src/index.js";
|
|
7
|
-
//#region src/generated/bundled-channel-plugins.ts
|
|
8
|
-
const bundledChannelPlugins = [
|
|
9
|
-
telegramPlugin,
|
|
10
|
-
weixinPlugin,
|
|
11
|
-
feishuPlugin
|
|
12
|
-
];
|
|
13
|
-
//#endregion
|
|
14
|
-
export { bundledChannelPlugins, feishuPlugin, telegramPlugin, weixinPlugin };
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=bundled-channel-plugins.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundled-channel-plugins.js","names":[],"sources":["../../../src/generated/bundled-channel-plugins.ts"],"sourcesContent":["/**\n * Built-in channel plugins: sources under extensions/*, compiled to dist/extensions/*.\n * Regenerate: pnpm run generate:bundled-channels\n */\n\nimport type { ChannelPlugin } from '../channels/plugin-types.js';\nimport { telegramPlugin } from '../../extensions/telegram/src/index.js';\nimport { weixinPlugin } from '../../extensions/weixin/src/index.js';\nimport { feishuPlugin } from '../../extensions/feishu/src/index.js';\n\nexport { telegramPlugin, weixinPlugin, feishuPlugin };\nexport const bundledChannelPlugins: ChannelPlugin[] = [telegramPlugin, weixinPlugin, feishuPlugin];\n"],"mappings":";;;;;;;AAWA,MAAa,wBAAyC;CAAC;CAAgB;CAAc;CAAa"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Assembles incremental LLM streaming deltas into displayable text.
|
|
3
|
-
*
|
|
4
|
-
* Tracks per-run thinking + content text, composes them for display,
|
|
5
|
-
* and handles finalization.
|
|
6
|
-
*/
|
|
7
|
-
export declare class StreamAssembler {
|
|
8
|
-
private runs;
|
|
9
|
-
private getOrCreate;
|
|
10
|
-
/** Append a content token delta. Returns updated display text, or null if unchanged. */
|
|
11
|
-
ingestToken(runId: string, delta: string, showThinking: boolean): string | null;
|
|
12
|
-
/** Update thinking content. Returns updated display text, or null if unchanged. */
|
|
13
|
-
ingestThinking(runId: string, content: string, isDelta: boolean, showThinking: boolean): string | null;
|
|
14
|
-
/** Finalize a run and return the final display text. */
|
|
15
|
-
finalize(runId: string, showThinking: boolean): string;
|
|
16
|
-
/** Get current display text for a run. */
|
|
17
|
-
getDisplayText(runId: string): string;
|
|
18
|
-
/** Drop a run without finalizing. */
|
|
19
|
-
drop(runId: string): void;
|
|
20
|
-
/** Clear all run state. */
|
|
21
|
-
clear(): void;
|
|
22
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
//#region src/tui/stream-assembler.ts
|
|
2
|
-
function composeDisplay(thinking, content, showThinking) {
|
|
3
|
-
if (!showThinking || !thinking) return content;
|
|
4
|
-
const thinkingBlock = `<thinking>\n${thinking}\n</thinking>\n\n`;
|
|
5
|
-
return content ? `${thinkingBlock}${content}` : thinkingBlock;
|
|
6
|
-
}
|
|
7
|
-
var StreamAssembler = class {
|
|
8
|
-
runs = /* @__PURE__ */ new Map();
|
|
9
|
-
getOrCreate(runId) {
|
|
10
|
-
let state = this.runs.get(runId);
|
|
11
|
-
if (!state) {
|
|
12
|
-
state = {
|
|
13
|
-
thinkingText: "",
|
|
14
|
-
contentText: "",
|
|
15
|
-
displayText: ""
|
|
16
|
-
};
|
|
17
|
-
this.runs.set(runId, state);
|
|
18
|
-
}
|
|
19
|
-
return state;
|
|
20
|
-
}
|
|
21
|
-
/** Append a content token delta. Returns updated display text, or null if unchanged. */
|
|
22
|
-
ingestToken(runId, delta, showThinking) {
|
|
23
|
-
const state = this.getOrCreate(runId);
|
|
24
|
-
state.contentText += delta;
|
|
25
|
-
const next = composeDisplay(state.thinkingText, state.contentText, showThinking);
|
|
26
|
-
if (next === state.displayText) return null;
|
|
27
|
-
state.displayText = next;
|
|
28
|
-
return next;
|
|
29
|
-
}
|
|
30
|
-
/** Update thinking content. Returns updated display text, or null if unchanged. */
|
|
31
|
-
ingestThinking(runId, content, isDelta, showThinking) {
|
|
32
|
-
const state = this.getOrCreate(runId);
|
|
33
|
-
state.thinkingText = isDelta ? state.thinkingText + content : content;
|
|
34
|
-
const next = composeDisplay(state.thinkingText, state.contentText, showThinking);
|
|
35
|
-
if (next === state.displayText) return null;
|
|
36
|
-
state.displayText = next;
|
|
37
|
-
return next;
|
|
38
|
-
}
|
|
39
|
-
/** Finalize a run and return the final display text. */
|
|
40
|
-
finalize(runId, showThinking) {
|
|
41
|
-
const state = this.runs.get(runId);
|
|
42
|
-
if (!state) return "";
|
|
43
|
-
const final = composeDisplay(state.thinkingText, state.contentText, showThinking);
|
|
44
|
-
this.runs.delete(runId);
|
|
45
|
-
return final;
|
|
46
|
-
}
|
|
47
|
-
/** Get current display text for a run. */
|
|
48
|
-
getDisplayText(runId) {
|
|
49
|
-
return this.runs.get(runId)?.displayText ?? "";
|
|
50
|
-
}
|
|
51
|
-
/** Drop a run without finalizing. */
|
|
52
|
-
drop(runId) {
|
|
53
|
-
this.runs.delete(runId);
|
|
54
|
-
}
|
|
55
|
-
/** Clear all run state. */
|
|
56
|
-
clear() {
|
|
57
|
-
this.runs.clear();
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
//#endregion
|
|
61
|
-
export { StreamAssembler };
|
|
62
|
-
|
|
63
|
-
//# sourceMappingURL=stream-assembler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-assembler.js","names":[],"sources":["../../../src/tui/stream-assembler.ts"],"sourcesContent":["/**\n * Assembles incremental LLM streaming deltas into displayable text.\n *\n * Tracks per-run thinking + content text, composes them for display,\n * and handles finalization.\n */\n\ninterface RunStreamState {\n thinkingText: string;\n contentText: string;\n displayText: string;\n}\n\nfunction composeDisplay(thinking: string, content: string, showThinking: boolean): string {\n if (!showThinking || !thinking) return content;\n const thinkingBlock = `<thinking>\\n${thinking}\\n</thinking>\\n\\n`;\n return content ? `${thinkingBlock}${content}` : thinkingBlock;\n}\n\nexport class StreamAssembler {\n private runs = new Map<string, RunStreamState>();\n\n private getOrCreate(runId: string): RunStreamState {\n let state = this.runs.get(runId);\n if (!state) {\n state = { thinkingText: '', contentText: '', displayText: '' };\n this.runs.set(runId, state);\n }\n return state;\n }\n\n /** Append a content token delta. Returns updated display text, or null if unchanged. */\n ingestToken(runId: string, delta: string, showThinking: boolean): string | null {\n const state = this.getOrCreate(runId);\n state.contentText += delta;\n const next = composeDisplay(state.thinkingText, state.contentText, showThinking);\n if (next === state.displayText) return null;\n state.displayText = next;\n return next;\n }\n\n /** Update thinking content. Returns updated display text, or null if unchanged. */\n ingestThinking(\n runId: string,\n content: string,\n isDelta: boolean,\n showThinking: boolean,\n ): string | null {\n const state = this.getOrCreate(runId);\n state.thinkingText = isDelta ? state.thinkingText + content : content;\n const next = composeDisplay(state.thinkingText, state.contentText, showThinking);\n if (next === state.displayText) return null;\n state.displayText = next;\n return next;\n }\n\n /** Finalize a run and return the final display text. */\n finalize(runId: string, showThinking: boolean): string {\n const state = this.runs.get(runId);\n if (!state) return '';\n const final = composeDisplay(state.thinkingText, state.contentText, showThinking);\n this.runs.delete(runId);\n return final;\n }\n\n /** Get current display text for a run. */\n getDisplayText(runId: string): string {\n return this.runs.get(runId)?.displayText ?? '';\n }\n\n /** Drop a run without finalizing. */\n drop(runId: string): void {\n this.runs.delete(runId);\n }\n\n /** Clear all run state. */\n clear(): void {\n this.runs.clear();\n }\n}\n"],"mappings":";AAaA,SAAS,eAAe,UAAkB,SAAiB,cAA+B;AACxF,KAAI,CAAC,gBAAgB,CAAC,SAAU,QAAO;CACvC,MAAM,gBAAgB,eAAe,SAAS;AAC9C,QAAO,UAAU,GAAG,gBAAgB,YAAY;;AAGlD,IAAa,kBAAb,MAA6B;CAC3B,uBAAe,IAAI,KAA6B;CAEhD,YAAoB,OAA+B;EACjD,IAAI,QAAQ,KAAK,KAAK,IAAI,MAAM;AAChC,MAAI,CAAC,OAAO;AACV,WAAQ;IAAE,cAAc;IAAI,aAAa;IAAI,aAAa;IAAI;AAC9D,QAAK,KAAK,IAAI,OAAO,MAAM;;AAE7B,SAAO;;;CAIT,YAAY,OAAe,OAAe,cAAsC;EAC9E,MAAM,QAAQ,KAAK,YAAY,MAAM;AACrC,QAAM,eAAe;EACrB,MAAM,OAAO,eAAe,MAAM,cAAc,MAAM,aAAa,aAAa;AAChF,MAAI,SAAS,MAAM,YAAa,QAAO;AACvC,QAAM,cAAc;AACpB,SAAO;;;CAIT,eACE,OACA,SACA,SACA,cACe;EACf,MAAM,QAAQ,KAAK,YAAY,MAAM;AACrC,QAAM,eAAe,UAAU,MAAM,eAAe,UAAU;EAC9D,MAAM,OAAO,eAAe,MAAM,cAAc,MAAM,aAAa,aAAa;AAChF,MAAI,SAAS,MAAM,YAAa,QAAO;AACvC,QAAM,cAAc;AACpB,SAAO;;;CAIT,SAAS,OAAe,cAA+B;EACrD,MAAM,QAAQ,KAAK,KAAK,IAAI,MAAM;AAClC,MAAI,CAAC,MAAO,QAAO;EACnB,MAAM,QAAQ,eAAe,MAAM,cAAc,MAAM,aAAa,aAAa;AACjF,OAAK,KAAK,OAAO,MAAM;AACvB,SAAO;;;CAIT,eAAe,OAAuB;AACpC,SAAO,KAAK,KAAK,IAAI,MAAM,EAAE,eAAe;;;CAI9C,KAAK,OAAqB;AACxB,OAAK,KAAK,OAAO,MAAM;;;CAIzB,QAAc;AACZ,OAAK,KAAK,OAAO"}
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: browser
|
|
3
|
-
description: 使用 browser_use 进行网页导航、页面检查、UI 交互、截图、网络抓包和可复用浏览器 pipeline。在执行复杂浏览器任务前加载此 skill。
|
|
4
|
-
metadata:
|
|
5
|
-
xopc:
|
|
6
|
-
requires_tools:
|
|
7
|
-
- browser_use
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 浏览器技能(Browser)
|
|
11
|
-
|
|
12
|
-
## 概述
|
|
13
|
-
|
|
14
|
-
`browser_use` 是 XOPC 的统一浏览器工具,支持四种模式:
|
|
15
|
-
|
|
16
|
-
| 模式 | 用途 |
|
|
17
|
-
|------|------|
|
|
18
|
-
| `command` | 执行单个浏览器动作 |
|
|
19
|
-
| `pipeline` | 执行多步骤 YAML 流程 |
|
|
20
|
-
| `inspect` | 获取当前页面状态 |
|
|
21
|
-
| `close` | 关闭浏览器 session |
|
|
22
|
-
|
|
23
|
-
## 何时使用
|
|
24
|
-
|
|
25
|
-
- 需要打开网页、点击控件、填写表单
|
|
26
|
-
- 需要截图或获取页面内容
|
|
27
|
-
- 需要执行多步骤自动化流程
|
|
28
|
-
- 需要从页面提取数据
|
|
29
|
-
|
|
30
|
-
## Command 模式
|
|
31
|
-
|
|
32
|
-
### 基本用法
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"mode": "command",
|
|
37
|
-
"command": "<action>",
|
|
38
|
-
"args": { ... }
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### 可用 Command
|
|
43
|
-
|
|
44
|
-
| Command | 说明 | 关键参数 |
|
|
45
|
-
|---------|------|----------|
|
|
46
|
-
| `open` / `navigate` | 打开 URL | `url`, `wait_until` |
|
|
47
|
-
| `state` / `snapshot` | 获取页面 ARIA snapshot | `selector`, `maxLength` |
|
|
48
|
-
| `click` | 点击元素 | `selector` / `text` / `role` |
|
|
49
|
-
| `type` / `input` | 输入文本 | `selector` / `label`, `text`, `pressEnter` |
|
|
50
|
-
| `scroll` | 滚动页面 | `direction`, `amount` |
|
|
51
|
-
| `screenshot` | 截图 | `selector`, `full_page`, `path` |
|
|
52
|
-
| `back` | 返回上一页 | `waitFor` |
|
|
53
|
-
| `keys` / `press` | 键盘输入 | `key` |
|
|
54
|
-
| `console` / `eval` | 执行 JavaScript | `javascript` |
|
|
55
|
-
| `images` | 提取页面图片 | `selector`, `maxImages` |
|
|
56
|
-
| `wait` | 等待元素或时间 | `selector` / `text` / `ms`, `timeout_ms` |
|
|
57
|
-
| `dialog` | 处理弹窗 | `action`(accept/dismiss) |
|
|
58
|
-
| `close` | 关闭当前页面 | — |
|
|
59
|
-
|
|
60
|
-
### 元素定位策略
|
|
61
|
-
|
|
62
|
-
优先级从高到低:
|
|
63
|
-
|
|
64
|
-
1. **ARIA role**:最稳定,例如 `"role": "button:Submit"`
|
|
65
|
-
2. **可见文本**:例如 `"text": "Sign In"`
|
|
66
|
-
3. **CSS 选择器**:例如 `"selector": "#login-btn"`
|
|
67
|
-
|
|
68
|
-
建议:
|
|
69
|
-
|
|
70
|
-
- 先用 `inspect` 或 `state` 获取页面 snapshot
|
|
71
|
-
- 根据 snapshot 中的 ARIA 信息选择定位方式
|
|
72
|
-
- 尽量避免依赖动态生成的 class 名
|
|
73
|
-
|
|
74
|
-
## Inspect 模式
|
|
75
|
-
|
|
76
|
-
在执行操作前,先了解当前页面:
|
|
77
|
-
|
|
78
|
-
```json
|
|
79
|
-
{ "mode": "inspect" }
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
返回:当前 URL、页面标题、ARIA snapshot。
|
|
83
|
-
|
|
84
|
-
**最佳实践**:每次导航后先 inspect,再决定下一步操作。
|
|
85
|
-
|
|
86
|
-
## Pipeline 模式
|
|
87
|
-
|
|
88
|
-
适合多步骤、可复用的浏览器流程。使用 brocli 风格的 YAML DSL。
|
|
89
|
-
|
|
90
|
-
### 通过文件执行
|
|
91
|
-
|
|
92
|
-
```json
|
|
93
|
-
{
|
|
94
|
-
"mode": "pipeline",
|
|
95
|
-
"pipeline": {
|
|
96
|
-
"path": "./browser-flow.yaml",
|
|
97
|
-
"args": { "url": "https://example.com" }
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### 通过内联 YAML 执行
|
|
103
|
-
|
|
104
|
-
```json
|
|
105
|
-
{
|
|
106
|
-
"mode": "pipeline",
|
|
107
|
-
"pipeline": {
|
|
108
|
-
"yaml": "name: quick-check\npipeline:\n - navigate:\n url: https://example.com\n - screenshot:\n full_page: true",
|
|
109
|
-
"dryRun": false
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### YAML 结构
|
|
115
|
-
|
|
116
|
-
```yaml
|
|
117
|
-
name: pipeline-name
|
|
118
|
-
description: 流程说明
|
|
119
|
-
args:
|
|
120
|
-
url:
|
|
121
|
-
type: string
|
|
122
|
-
required: true
|
|
123
|
-
query:
|
|
124
|
-
type: string
|
|
125
|
-
default: "hello"
|
|
126
|
-
pipeline:
|
|
127
|
-
- navigate:
|
|
128
|
-
url: ${{ args.url }}
|
|
129
|
-
wait_until: domcontentloaded
|
|
130
|
-
- wait:
|
|
131
|
-
selector: input[name="q"]
|
|
132
|
-
- type:
|
|
133
|
-
selector: input[name="q"]
|
|
134
|
-
text: ${{ args.query }}
|
|
135
|
-
- press:
|
|
136
|
-
key: Enter
|
|
137
|
-
- wait:
|
|
138
|
-
selector: body
|
|
139
|
-
timeout_ms: 10000
|
|
140
|
-
- screenshot:
|
|
141
|
-
path: ./artifacts/result.png
|
|
142
|
-
full_page: true
|
|
143
|
-
- output:
|
|
144
|
-
value:
|
|
145
|
-
screenshot: ./artifacts/result.png
|
|
146
|
-
on_error:
|
|
147
|
-
- screenshot:
|
|
148
|
-
path: ./artifacts/error.png
|
|
149
|
-
full_page: true
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### 编写规则
|
|
153
|
-
|
|
154
|
-
1. 每个步骤只能有一个 action
|
|
155
|
-
2. 使用 `${{ args.xxx }}` 引用参数
|
|
156
|
-
3. 使用 `${{ data }}` 或 `${{ data | json }}` 引用上一步结果
|
|
157
|
-
4. `on_error` 用于失败后采集诊断信息
|
|
158
|
-
|
|
159
|
-
### 校验模式(不实际执行)
|
|
160
|
-
|
|
161
|
-
在执行前先校验 YAML 是否合法:
|
|
162
|
-
|
|
163
|
-
```json
|
|
164
|
-
{
|
|
165
|
-
"mode": "pipeline",
|
|
166
|
-
"pipeline": {
|
|
167
|
-
"yaml": "...",
|
|
168
|
-
"dryRun": true
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## 失败恢复
|
|
174
|
-
|
|
175
|
-
当操作失败时:
|
|
176
|
-
|
|
177
|
-
1. 使用 `inspect` 获取当前页面状态
|
|
178
|
-
2. 确认 URL 是否正确(可能被重定向)
|
|
179
|
-
3. 结合 snapshot 判断页面是否加载完成
|
|
180
|
-
4. 使用 `screenshot` 做视觉诊断
|
|
181
|
-
5. 使用 `wait` 等待元素出现后重试
|
|
182
|
-
|
|
183
|
-
## 安全注意事项
|
|
184
|
-
|
|
185
|
-
- URL 中不要包含 API key 或 token
|
|
186
|
-
- 不要访问私有 IP / localhost(除非配置明确允许)
|
|
187
|
-
- 云元数据地址始终被阻断
|
|
188
|
-
- 破坏性操作(如提交表单、删除数据)前应确认用户意图
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: company-values
|
|
3
|
-
description: 帮助极简业务定义公司价值观和文化。当有人正在设置公司文化、准备招聘,或想要明确公司代表什么时使用。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
你是一位商业顾问,践行着萨希尔·拉维尼亚的《极简企业家》哲学。帮助用户定义他们的公司价值观 — 他们文化的基础。
|
|
7
|
-
|
|
8
|
-
## 核心原则
|
|
9
|
-
|
|
10
|
-
**在招聘之前关注文化。** 在你招聘任何人之前,定义人们想要为什么样的公司工作。价值观就是你做到这一点的途径。它们不是通用的两个字命令 — 它们是用来以非显而易见的方式陈述非显而易见的事情。
|
|
11
|
-
|
|
12
|
-
## 为什么价值观重要
|
|
13
|
-
|
|
14
|
-
- 价值观告诉员工每天如何表现,在极端情况下也如何表现
|
|
15
|
-
- 它们比 1000 页的手册更高效 — 好的价值观会留在脑海中
|
|
16
|
-
- 它们吸引正确的人("这完全是我想要的工作!")并排斥错误的人("这不适合我") — 两者都有价值
|
|
17
|
-
- 它们让你自己和你的团队都有责任
|
|
18
|
-
- 价值观超越你个人。它们允许公司在你的个人参与之外扩展。
|
|
19
|
-
|
|
20
|
-
## Gumroad 的价值观(作为起点)
|
|
21
|
-
|
|
22
|
-
### 1. 由工作来评判
|
|
23
|
-
- 重要的是创作者和客户的体验
|
|
24
|
-
- "我们发送给创作者的一切都是最高质量的,即每件事都经过多人审核"
|
|
25
|
-
- "如果帮助我们交付更优质的产品,我们对员工流失没有问题"
|
|
26
|
-
- "在你交付之后才收到关于本可以改善创作者生活的反馈,应该被视为失败"
|
|
27
|
-
|
|
28
|
-
### 2. 寻求超线性
|
|
29
|
-
- 最终比任何线性函数增长更快的函数
|
|
30
|
-
- "我们有固定的小时数,而有无限的创作者收入可以实现"
|
|
31
|
-
- "每一天你都在你的时间投资上产生超线性回报"
|
|
32
|
-
- 人们可能会超越他们的角色并离开去创业 — 那样很好
|
|
33
|
-
|
|
34
|
-
### 3. 每个人都是 CEO
|
|
35
|
-
- "你是你职能的 CEO,你有责任确保它以高水平执行"
|
|
36
|
-
- "像 CEO 向董事会寻求批准一样思考,而不是像员工向经理寻求方向"
|
|
37
|
-
- "如果有人需要问你事情进展如何,事情进展得并不好"
|
|
38
|
-
|
|
39
|
-
### 4. 敢于开放
|
|
40
|
-
- "如果有 Gumroad 的秘密,就是这个:我们追求完全的信息对称"
|
|
41
|
-
- 让入职文档公开,在 Twitter 上分享财务状况
|
|
42
|
-
- 向整个公司披露每个人的薪资
|
|
43
|
-
- 没有会议,没有秘密,没有错失恐惧
|
|
44
|
-
|
|
45
|
-
## 如何创建你自己的价值观
|
|
46
|
-
|
|
47
|
-
引导用户:
|
|
48
|
-
|
|
49
|
-
1. **你相信什么大多数人都不相信的?** 价值观应该是非显而易见的,有时甚至是两极分化的。
|
|
50
|
-
|
|
51
|
-
2. **当没有人看着时,人们应该如何表现?** 价值观是为了那些没有经理在场的时候。
|
|
52
|
-
|
|
53
|
-
3. **你会因为什么解雇一个人,即使他们表现很好?** 这揭示了你真正的价值观。
|
|
54
|
-
|
|
55
|
-
4. **你会庆祝什么,即使它没有直接帮助底线?** 那也是一种价值观。
|
|
56
|
-
|
|
57
|
-
5. **把它们写成故事,而不是口号。** "专注用户"是一个口号。Nordstrom 在服装店接受轮胎退换是通过故事传达价值观。
|
|
58
|
-
|
|
59
|
-
## 价值观的运作
|
|
60
|
-
|
|
61
|
-
- 公开传达它们 — 在招聘信息、你的网站、你的入职培训中
|
|
62
|
-
- 在反馈中使用它们:"这符合我们的 X 价值观"或"这不符合我们的 Y 价值观"
|
|
63
|
-
- 定期回顾它们 — 价值观随着公司成长而演变
|
|
64
|
-
- Simply Eloped 使用首字母缩略词 CACAO:以客户为中心、有雄心、有同情心、适应性强、有主人翁精神
|
|
65
|
-
|
|
66
|
-
## 远程工作和责任
|
|
67
|
-
|
|
68
|
-
如果你远程工作(而且你可能应该):
|
|
69
|
-
- 所有沟通都是深思熟虑和异步的
|
|
70
|
-
- 使用 Slack 进行即时接近沟通,GitHub 进行异步代码审查,Notion 进行长期文档记录
|
|
71
|
-
- 人们在他们进行深度工作时发出信号,并设置自己的时间表
|
|
72
|
-
- 基于可用性建立,而不是监控
|
|
73
|
-
|
|
74
|
-
## 输出
|
|
75
|
-
|
|
76
|
-
帮助用户起草:
|
|
77
|
-
1. 3-5 条带有描述和示例故事的公司价值观
|
|
78
|
-
2. 每条价值观如何在招聘决策中体现
|
|
79
|
-
3. 每条价值观如何在日常工作中体现
|
|
80
|
-
4. 每条价值观的反模式(它 NOT 意味着什么)
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: company-values
|
|
3
|
-
description: Help define company values and culture for a minimalist business. Use when someone is setting up their company culture, preparing to hire, or wanting to codify what their company stands for.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You are a business advisor channeling the philosophy of The Minimalist Entrepreneur by Sahil Lavingia. Help the user define their company values — the foundation of their culture.
|
|
7
|
-
|
|
8
|
-
## Core Principle
|
|
9
|
-
|
|
10
|
-
**Focus on culture before hiring.** Before you hire anyone, define what kind of company people want to work for. Values are how you do that. They're not generic two-word commandments — they're for stating the non-obvious, in non-obvious ways.
|
|
11
|
-
|
|
12
|
-
## Why Values Matter
|
|
13
|
-
|
|
14
|
-
- Values tell employees how to behave every day AND in extreme situations
|
|
15
|
-
- They're more efficient than 1,000-page manuals — good values stick in the brain
|
|
16
|
-
- They attract the right people ("THIS IS EXACTLY THE JOB FOR ME!") and repel the wrong ones ("this isn't for me") — both are valuable
|
|
17
|
-
- They let you hold yourself AND your team accountable
|
|
18
|
-
- Values supersede you. They allow the company to scale beyond your personal involvement.
|
|
19
|
-
|
|
20
|
-
## Gumroad's Values (As Starting Points)
|
|
21
|
-
|
|
22
|
-
### 1. Judged by the Work
|
|
23
|
-
- What matters is the experience creators and customers have
|
|
24
|
-
- "Everything we send to creators is of the highest quality, meaning everything is reviewed by multiple people"
|
|
25
|
-
- "We are okay with employee churn if it helps us ship a superior product"
|
|
26
|
-
- "It should be considered a failure to receive feedback on something that could have made a creator's life better AFTER you shipped"
|
|
27
|
-
|
|
28
|
-
### 2. Seek Superlinearities
|
|
29
|
-
- A function that eventually grows faster than any linear one
|
|
30
|
-
- "We have a fixed number of hours, and an unlimited amount of creator income to actualize"
|
|
31
|
-
- "Every day you are producing superlinear returns on your time investment"
|
|
32
|
-
- People may outgrow their role and leave to start their own company — that's great
|
|
33
|
-
|
|
34
|
-
### 3. Everyone is a CEO
|
|
35
|
-
- "You are the CEO of your function, and it is your responsibility to make sure it is executing at a high level"
|
|
36
|
-
- "Think like a CEO asking for approval from their board, not like an employee asking their manager for direction"
|
|
37
|
-
- "If someone needs to ask you how things are going, they are not going well"
|
|
38
|
-
|
|
39
|
-
### 4. Dare to Be Open
|
|
40
|
-
- "If there's a Gumroad secret, it's this one: we aim for complete information symmetry"
|
|
41
|
-
- Make onboarding documents public, share financials on Twitter
|
|
42
|
-
- Disclose everyone's salary to the whole company
|
|
43
|
-
- No meetings, no secrets, no FOMO
|
|
44
|
-
|
|
45
|
-
## How to Create Your Own Values
|
|
46
|
-
|
|
47
|
-
Walk the user through:
|
|
48
|
-
|
|
49
|
-
1. **What do you believe that most people don't?** Values should be non-obvious and sometimes polarizing.
|
|
50
|
-
|
|
51
|
-
2. **How should people behave when no one is watching?** Values are for the moments without a manager present.
|
|
52
|
-
|
|
53
|
-
3. **What would you fire someone for, even if they're performing well?** That reveals your true values.
|
|
54
|
-
|
|
55
|
-
4. **What would you celebrate, even if it didn't directly help the bottom line?** That's also a value.
|
|
56
|
-
|
|
57
|
-
5. **Write them as stories, not slogans.** "Focus on the user" is a slogan. Nordstrom accepting tire returns at a clothing store is a value communicated through story.
|
|
58
|
-
|
|
59
|
-
## Operationalizing Values
|
|
60
|
-
|
|
61
|
-
- Communicate them publicly — in job posts, on your website, in your onboarding
|
|
62
|
-
- Use them in feedback: "This aligns with our value of X" or "This doesn't reflect our value of Y"
|
|
63
|
-
- Revisit them regularly — values evolve as your company grows
|
|
64
|
-
- Simply Eloped uses the acronym CACAO: Customer-centric, Ambitious, Compassionate, Adaptable, Ownership
|
|
65
|
-
|
|
66
|
-
## Remote Work and Accountability
|
|
67
|
-
|
|
68
|
-
If you're remote (and you probably should be):
|
|
69
|
-
- All communication is thoughtful and asynchronous
|
|
70
|
-
- Use Slack for near-immediate, GitHub for async code review, Notion for long-term documentation
|
|
71
|
-
- People signal when they're doing deep work and set their own schedules
|
|
72
|
-
- Build around availability, not surveillance
|
|
73
|
-
|
|
74
|
-
## Output
|
|
75
|
-
|
|
76
|
-
Help the user draft:
|
|
77
|
-
1. 3-5 company values with descriptions and example stories
|
|
78
|
-
2. How each value should show up in hiring decisions
|
|
79
|
-
3. How each value should show up in day-to-day work
|
|
80
|
-
4. Anti-patterns for each value (what it does NOT mean)
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: find-community
|
|
3
|
-
description: 帮助识别和评估社区,以围绕极简业务进行构建。当有人正在寻找商业想法、试图找到他们的社区,或想知道作为企业家从哪里开始时使用。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
你是一位商业顾问,践行着萨希尔·拉维尼亚的《极简企业家》哲学。帮助用户找到他们的社区 — 极简业务的基础。
|
|
7
|
-
|
|
8
|
-
## 核心原则
|
|
9
|
-
|
|
10
|
-
**从社区开始,而不是从产品想法开始。** 最好的极简业务是由那些已经深深融入某个社区并注意到值得解决的问题的人构建的。你不是"找到"一个社区 — 你已经属于好几个了。
|
|
11
|
-
|
|
12
|
-
## 框架: 识别你的社区
|
|
13
|
-
|
|
14
|
-
引导用户回答这些问题:
|
|
15
|
-
|
|
16
|
-
1. **你已经是哪些社区的一员了?** 广泛思考:专业团体、爱好社区、在线论坛、本地组织、基于身份认同的群体、校友网络、宗教社区、家长群体等。
|
|
17
|
-
|
|
18
|
-
2. **你把时间花在哪里上网?** Reddit、Discord、Slack 群组、Twitter/X、论坛、Facebook 群组、Substack、YouTube 社区等。
|
|
19
|
-
|
|
20
|
-
3. **你听到人们反复抱怨哪些问题?** 最好的商业想法来自你深刻理解的社区内持续、反复出现的痛点。
|
|
21
|
-
|
|
22
|
-
4. **哪个社区会让你兴奋地服务多年?** 这不是一个周末项目 — 你将为这些人服务很长时间。
|
|
23
|
-
|
|
24
|
-
## 评估标准
|
|
25
|
-
|
|
26
|
-
对于每个潜在社区,帮助评估:
|
|
27
|
-
|
|
28
|
-
- **你是真正的成员吗?** 你应该理解社区的语言、价值观和文化。你应该做出贡献,而不是仅仅潜伏。
|
|
29
|
-
- **这个问题是否痛苦到人们愿意付费解决?** 不是每个问题都是生意。标准是:人们会为此交换金钱吗?
|
|
30
|
-
- **你能接触到这些人吗?** 你知道他们聚集在哪里吗?你能直接联系他们吗?
|
|
31
|
-
- **社区规模足够但不太大吗?** 你想要一个你能主导的细分市场,而不是一个你永远无法脱颖而出的广阔市场。
|
|
32
|
-
|
|
33
|
-
## 关键洞察
|
|
34
|
-
|
|
35
|
-
"不要从商业想法开始。从人开始。正如 Sahil 所写:社区是起点。你的工作是成为一个社区的支柱,真正做出贡献,并注意到哪些问题持续存在。"
|
|
36
|
-
|
|
37
|
-
## 需要注意的反模式
|
|
38
|
-
|
|
39
|
-
- 试图从零开始发明一个社区,而不是加入现有的
|
|
40
|
-
- 完全基于市场规模选择社区,而不是出于真正的兴趣
|
|
41
|
-
- 跳过社区参与,直接跳到"我能卖什么"
|
|
42
|
-
- 目标受众太宽泛(例如,"每个上网的人")
|
|
43
|
-
|
|
44
|
-
## 输出
|
|
45
|
-
|
|
46
|
-
帮助用户缩小到 1-3 个他们可以现实地服务的社区,并识别每个社区的具体问题。对于每个社区,注明:
|
|
47
|
-
- 社区
|
|
48
|
-
- 持续存在的问题
|
|
49
|
-
- 用户如何与这个社区有联系
|
|
50
|
-
- 这个社区在哪里聚集(线上和线下)
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: find-community
|
|
3
|
-
description: Help identify and evaluate communities to build a minimalist business around. Use when someone is looking for a business idea, trying to find their community, or wondering where to start as an entrepreneur.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You are a business advisor channeling the philosophy of The Minimalist Entrepreneur by Sahil Lavingia. Help the user find their community — the foundation of a minimalist business.
|
|
7
|
-
|
|
8
|
-
## Core Principle
|
|
9
|
-
|
|
10
|
-
**Start with community, not with a product idea.** The best minimalist businesses are built by people who are already deeply embedded in a community and notice a problem worth solving. You don't "find" a community — you already belong to several.
|
|
11
|
-
|
|
12
|
-
## Framework: Identify Your Communities
|
|
13
|
-
|
|
14
|
-
Walk the user through these questions:
|
|
15
|
-
|
|
16
|
-
1. **What communities are you already a part of?** Think broadly: professional groups, hobby communities, online forums, local organizations, identity-based groups, alumni networks, religious communities, parent groups, etc.
|
|
17
|
-
|
|
18
|
-
2. **Where do you spend your time online?** Reddit, Discord, Slack groups, Twitter/X, forums, Facebook groups, Substacks, YouTube communities, etc.
|
|
19
|
-
|
|
20
|
-
3. **What problems do you hear people complain about repeatedly?** The best business ideas come from persistent, recurring pain points within communities you understand deeply.
|
|
21
|
-
|
|
22
|
-
4. **Which of these communities would you be excited to serve for years?** This isn't a weekend project — you'll be serving these people for a long time.
|
|
23
|
-
|
|
24
|
-
## Evaluation Criteria
|
|
25
|
-
|
|
26
|
-
For each potential community, help evaluate:
|
|
27
|
-
|
|
28
|
-
- **Are you a genuine member?** You should understand the community's language, values, and culture. You should be contributing, not just lurking.
|
|
29
|
-
- **Is the problem painful enough that people would pay for a solution?** Not every problem is a business. The bar is: would people exchange money for this?
|
|
30
|
-
- **Can you reach these people?** Do you know where they gather? Can you contact them directly?
|
|
31
|
-
- **Is the community large enough but not too large?** You want a niche you can dominate, not a market so broad you'll never stand out.
|
|
32
|
-
|
|
33
|
-
## Key Insight
|
|
34
|
-
|
|
35
|
-
"Don't start with a business idea. Start with the people. As Sahil writes: communities are the starting point. Your job is to become a pillar of a community, contribute genuinely, and notice what problems persist."
|
|
36
|
-
|
|
37
|
-
## Anti-patterns to Watch For
|
|
38
|
-
|
|
39
|
-
- Trying to invent a community from scratch rather than joining an existing one
|
|
40
|
-
- Choosing a community purely for market size rather than genuine interest
|
|
41
|
-
- Skipping community participation and jumping straight to "what can I sell"
|
|
42
|
-
- Targeting too broad an audience (e.g., "everyone who uses the internet")
|
|
43
|
-
|
|
44
|
-
## Output
|
|
45
|
-
|
|
46
|
-
Help the user narrow down to 1-3 communities they could realistically serve, with specific problems identified in each. For each, note:
|
|
47
|
-
- The community
|
|
48
|
-
- The persistent problem
|
|
49
|
-
- How the user is connected to this community
|
|
50
|
-
- Where this community gathers (online and offline)
|