@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.
Files changed (995) hide show
  1. package/README.md +8 -5
  2. package/README.zh-CN.md +8 -5
  3. package/dist/_virtual/_rolldown/runtime.js +2 -3
  4. package/dist/browser-ext/manifest.json +1 -1
  5. package/dist/extensions/feishu/src/adapters/cli-login.d.ts +1 -1
  6. package/dist/extensions/feishu/src/adapters/cli-login.js +1 -1
  7. package/dist/extensions/feishu/src/adapters/cli-login.js.map +1 -1
  8. package/dist/extensions/feishu/src/adapters/gateway-setup.d.ts +2 -0
  9. package/dist/extensions/feishu/src/adapters/gateway-setup.js +225 -0
  10. package/dist/extensions/feishu/src/adapters/gateway-setup.js.map +1 -0
  11. package/dist/extensions/feishu/src/index.d.ts +8 -1
  12. package/dist/extensions/feishu/src/index.js +14 -1
  13. package/dist/extensions/feishu/src/index.js.map +1 -0
  14. package/dist/extensions/feishu/src/outbound/outbound-adapter.js +1 -1
  15. package/dist/extensions/feishu/src/plugin.d.ts +2 -1
  16. package/dist/extensions/feishu/src/plugin.js +2 -0
  17. package/dist/extensions/feishu/src/plugin.js.map +1 -1
  18. package/dist/extensions/feishu/src/streaming/streaming-adapter.js +1 -1
  19. package/dist/extensions/feishu/src/transport/webhook/monitor.js +2 -2
  20. package/dist/extensions/feishu/src/transport/webhook/monitor.js.map +1 -1
  21. package/dist/extensions/feishu/xopc.extension.json +66 -1
  22. package/dist/extensions/telegram/src/adapters/gateway-setup.d.ts +2 -0
  23. package/dist/extensions/telegram/src/adapters/gateway-setup.js +146 -0
  24. package/dist/extensions/telegram/src/adapters/gateway-setup.js.map +1 -0
  25. package/dist/extensions/telegram/src/adapters/security-adapter.js +1 -1
  26. package/dist/extensions/telegram/src/command-handler.js +1 -2
  27. package/dist/extensions/telegram/src/command-handler.js.map +1 -1
  28. package/dist/extensions/telegram/src/config-schema.js +2 -2
  29. package/dist/extensions/telegram/src/config-schema.js.map +1 -1
  30. package/dist/extensions/telegram/src/doctor.d.ts +1 -0
  31. package/dist/extensions/telegram/src/doctor.js +68 -0
  32. package/dist/extensions/telegram/src/doctor.js.map +1 -1
  33. package/dist/extensions/telegram/src/index.d.ts +8 -1
  34. package/dist/extensions/telegram/src/index.js +15 -2
  35. package/dist/extensions/telegram/src/index.js.map +1 -0
  36. package/dist/extensions/telegram/src/plugin.d.ts +13 -5
  37. package/dist/extensions/telegram/src/plugin.js +32 -12
  38. package/dist/extensions/telegram/src/plugin.js.map +1 -1
  39. package/dist/extensions/telegram/src/proxy-fetch.js +22 -5
  40. package/dist/extensions/telegram/src/proxy-fetch.js.map +1 -1
  41. package/dist/extensions/telegram/src/send-options.js +8 -5
  42. package/dist/extensions/telegram/src/send-options.js.map +1 -1
  43. package/dist/extensions/telegram/xopc.extension.json +412 -5
  44. package/dist/extensions/weixin/src/adapters/onboard-cli.js +2 -2
  45. package/dist/extensions/weixin/src/adapters/onboard-cli.js.map +1 -1
  46. package/dist/extensions/weixin/src/api/api.js +1 -1
  47. package/dist/extensions/weixin/src/index.d.ts +8 -0
  48. package/dist/extensions/weixin/src/index.js +12 -1
  49. package/dist/extensions/weixin/src/index.js.map +1 -0
  50. package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
  51. package/dist/extensions/weixin/src/plugin.d.ts +2 -1
  52. package/dist/extensions/weixin/src/plugin.js +77 -2
  53. package/dist/extensions/weixin/src/plugin.js.map +1 -1
  54. package/dist/extensions/weixin/xopc.extension.json +52 -0
  55. package/dist/gateway/static/root/assets/agents-CvsBrBfi.js +396 -0
  56. package/dist/gateway/static/root/assets/{apps-page-Uv4kOmDE.js → apps-page-L-IwQTe0.js} +1 -1
  57. package/dist/gateway/static/root/assets/browser-BLJWD7WI.js +8 -0
  58. package/dist/gateway/static/root/assets/channels-settings-D95KuPeP.js +1 -0
  59. package/dist/gateway/static/root/assets/cron-page-CfkWXDAI.js +1 -0
  60. package/dist/gateway/static/root/assets/{dist-DH4IuRV0.js → dist-C6vclgEL.js} +1 -1
  61. package/dist/gateway/static/root/assets/{extension-debug-page-BNkhvRQW.js → extension-debug-page-D4JYAbsX.js} +1 -1
  62. package/dist/gateway/static/root/assets/{extension-page-CcIGQah2.js → extension-page-_T62gi6e.js} +1 -1
  63. package/dist/gateway/static/root/assets/extension-settings-page-CkJbjyM-.js +1 -0
  64. package/dist/gateway/static/root/assets/{fetch-drJUxxKP.js → fetch-B5aiIguv.js} +1 -1
  65. package/dist/gateway/static/root/assets/gateway-startup-retry-DqmLXhs6.js +1 -0
  66. package/dist/gateway/static/root/assets/heartbeat-config-api-HwJV1K_Y.js +1 -0
  67. package/dist/gateway/static/root/assets/index-BPYKW7FB.css +1 -0
  68. package/dist/gateway/static/root/assets/index-DvTb6wNR.js +4845 -0
  69. package/dist/gateway/static/root/assets/{logs-page-CiG0m81R.js → logs-page-DsjtTjBy.js} +2 -2
  70. package/dist/gateway/static/root/assets/{note-detail-page-DG3DVFTf.js → note-detail-page-B2V7RhgD.js} +43 -43
  71. package/dist/gateway/static/root/assets/{note-time-DjlllCF3.js → note-time-BG8GCTr4.js} +1 -1
  72. package/dist/gateway/static/root/assets/notes-page-xrcVBQ6Z.js +1 -0
  73. package/dist/gateway/static/root/assets/schema-form-S-QUvhul.js +1 -0
  74. package/dist/gateway/static/root/assets/sessions-page-CrQer6Au.js +1 -0
  75. package/dist/gateway/static/root/assets/settings-advanced-gate-DujQl9c7.js +2 -0
  76. package/dist/gateway/static/root/assets/{settings-form-section-C3_sEFfD.js → settings-form-section-r1V7dRV6.js} +1 -1
  77. package/dist/gateway/static/root/assets/settings-page-C9nrONQ2.js +3 -0
  78. package/dist/gateway/static/root/assets/share-preview-page-DOFy0FNt.js +2 -0
  79. package/dist/gateway/static/root/assets/skills-page-DmTsrs_a.js +2 -0
  80. package/dist/gateway/static/root/assets/{theme-store-B6KXPHgK.js → theme-store-Bo3j5Ovv.js} +1 -1
  81. package/dist/gateway/static/root/assets/url-WgQIjFZu.js +3 -0
  82. package/dist/gateway/static/root/assets/voice-api-key-field-AjmUAlEQ.js +1 -0
  83. package/dist/gateway/static/root/assets/{workflow-page.utils-g57BRfEd.js → workflow-page.utils-DLEJ92gK.js} +1 -1
  84. package/dist/gateway/static/root/assets/workflows-page-BnjjKrM1.js +27 -0
  85. package/dist/gateway/static/root/index.html +6 -5
  86. package/dist/package.js +1 -1
  87. package/dist/src/agent/agent-manager.d.ts +18 -6
  88. package/dist/src/agent/agent-manager.js +60 -35
  89. package/dist/src/agent/agent-manager.js.map +1 -1
  90. package/dist/src/agent/builtin-agent-ids.d.ts +2 -0
  91. package/dist/src/agent/builtin-agent-ids.js +17 -0
  92. package/dist/src/agent/builtin-agent-ids.js.map +1 -0
  93. package/dist/src/agent/child-agent-factory.d.ts +4 -0
  94. package/dist/src/agent/child-agent-factory.js +28 -8
  95. package/dist/src/agent/child-agent-factory.js.map +1 -1
  96. package/dist/src/agent/context/workspace-seed.js +1 -1
  97. package/dist/src/agent/context/workspace-templates/AGENTS.md +23 -184
  98. package/dist/src/agent/embedded/run-turn.js +8 -2
  99. package/dist/src/agent/embedded/run-turn.js.map +1 -1
  100. package/dist/src/agent/embedded/session-tool-result-guard.js +1 -1
  101. package/dist/src/agent/embedded/subscribe-session.js +33 -51
  102. package/dist/src/agent/embedded/subscribe-session.js.map +1 -1
  103. package/dist/src/agent/embedded/types.d.ts +36 -35
  104. package/dist/src/agent/fallback/candidates.js +1 -1
  105. package/dist/src/agent/fallback/candidates.js.map +1 -1
  106. package/dist/src/agent/inbound/attachment-pipeline.js +2 -2
  107. package/dist/src/agent/inbound/attachment-pipeline.js.map +1 -1
  108. package/dist/src/agent/inbound/inbound-loop.js +1 -1
  109. package/dist/src/agent/inbound/turn-dispatcher.d.ts +1 -0
  110. package/dist/src/agent/inbound/turn-dispatcher.js +24 -5
  111. package/dist/src/agent/inbound/turn-dispatcher.js.map +1 -1
  112. package/dist/src/agent/models/manager.d.ts +1 -1
  113. package/dist/src/agent/models/manager.js +1 -1
  114. package/dist/src/agent/models/manager.js.map +1 -1
  115. package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.d.ts +1 -1
  116. package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js +1 -1
  117. package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js.map +1 -1
  118. package/dist/src/agent/prompt/sections/tooling.js +4 -0
  119. package/dist/src/agent/prompt/sections/tooling.js.map +1 -1
  120. package/dist/src/agent/service/direct-turn-helpers.d.ts +1 -0
  121. package/dist/src/agent/service/direct-turn-helpers.js +1 -1
  122. package/dist/src/agent/service/direct-turn-helpers.js.map +1 -1
  123. package/dist/src/agent/service/process-direct-streaming.d.ts +1 -0
  124. package/dist/src/agent/service/process-direct-streaming.js +35 -18
  125. package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
  126. package/dist/src/agent/service-inbound-utils.d.ts +0 -1
  127. package/dist/src/agent/service-inbound-utils.js +1 -17
  128. package/dist/src/agent/service-inbound-utils.js.map +1 -1
  129. package/dist/src/agent/service.d.ts +4 -4
  130. package/dist/src/agent/service.js +27 -15
  131. package/dist/src/agent/service.js.map +1 -1
  132. package/dist/src/agent/session/session-config-service.d.ts +1 -0
  133. package/dist/src/agent/session/session-config-service.js +9 -1
  134. package/dist/src/agent/session/session-config-service.js.map +1 -1
  135. package/dist/src/agent/session/session-inspector.d.ts +2 -1
  136. package/dist/src/agent/session/session-inspector.js +4 -0
  137. package/dist/src/agent/session/session-inspector.js.map +1 -1
  138. package/dist/src/agent/skills/config.js +1 -3
  139. package/dist/src/agent/skills/config.js.map +1 -1
  140. package/dist/src/agent/skills/format-skills-prompt.d.ts +1 -0
  141. package/dist/src/agent/skills/format-skills-prompt.js +3 -2
  142. package/dist/src/agent/skills/format-skills-prompt.js.map +1 -1
  143. package/dist/src/agent/skills/hub-pull.js +1 -1
  144. package/dist/src/agent/skills/index.js +20 -5
  145. package/dist/src/agent/skills/index.js.map +1 -1
  146. package/dist/src/agent/skills/installer.js +14 -27
  147. package/dist/src/agent/skills/installer.js.map +1 -1
  148. package/dist/src/agent/skills/marketplace/adapters/clawhub/adapter.js +11 -1
  149. package/dist/src/agent/skills/marketplace/adapters/clawhub/adapter.js.map +1 -1
  150. package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.js +18 -4
  151. package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.js.map +1 -1
  152. package/dist/src/agent/skills/marketplace/adapters/store/adapter.js +11 -2
  153. package/dist/src/agent/skills/marketplace/adapters/store/adapter.js.map +1 -1
  154. package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.d.ts +2 -2
  155. package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js.map +1 -1
  156. package/dist/src/agent/skills/skill-manager.d.ts +4 -1
  157. package/dist/src/agent/skills/skill-manager.js +3 -3
  158. package/dist/src/agent/skills/skill-manager.js.map +1 -1
  159. package/dist/src/agent/skills/skill-view-path.d.ts +1 -17
  160. package/dist/src/agent/skills/skill-view-path.js +3 -66
  161. package/dist/src/agent/skills/skill-view-path.js.map +1 -1
  162. package/dist/src/agent/skills/test-framework.js +2 -3
  163. package/dist/src/agent/skills/test-framework.js.map +1 -1
  164. package/dist/src/agent/streaming/reasoning-visibility-sse.js +1 -0
  165. package/dist/src/agent/streaming/reasoning-visibility-sse.js.map +1 -1
  166. package/dist/src/agent/tool-manuals/browser.d.ts +1 -0
  167. package/{skills/browser/SKILL.md → dist/src/agent/tool-manuals/browser.js} +51 -54
  168. package/dist/src/agent/tool-manuals/browser.js.map +1 -0
  169. package/dist/src/agent/tool-manuals/index.d.ts +10 -0
  170. package/dist/src/agent/tool-manuals/index.js +28 -0
  171. package/dist/src/agent/tool-manuals/index.js.map +1 -0
  172. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +1 -1
  173. package/dist/src/agent/tools/browser/tool/browser-use-tool.js.map +1 -1
  174. package/dist/src/agent/tools/factory.js +7 -5
  175. package/dist/src/agent/tools/factory.js.map +1 -1
  176. package/dist/src/agent/tools/index.d.ts +1 -0
  177. package/dist/src/agent/tools/index.js +5 -4
  178. package/dist/src/agent/tools/send-media.js +1 -2
  179. package/dist/src/agent/tools/send-media.js.map +1 -1
  180. package/dist/src/agent/tools/session-search-tool.js +1 -1
  181. package/dist/src/agent/tools/shell.js +1 -1
  182. package/dist/src/agent/tools/skills-tools.js +37 -8
  183. package/dist/src/agent/tools/skills-tools.js.map +1 -1
  184. package/dist/src/agent/tools/tool-manual-tool.d.ts +6 -0
  185. package/dist/src/agent/tools/tool-manual-tool.js +34 -0
  186. package/dist/src/agent/tools/tool-manual-tool.js.map +1 -0
  187. package/dist/src/agent/tools/web-extract.js +2 -2
  188. package/dist/src/agent/tools/web.js +1 -1
  189. package/dist/src/agent/workflow/catalog.d.ts +7 -2
  190. package/dist/src/agent/workflow/catalog.js +66 -25
  191. package/dist/src/agent/workflow/catalog.js.map +1 -1
  192. package/dist/src/agent/workflow/subagent-runner.d.ts +3 -0
  193. package/dist/src/agent/workflow/subagent-runner.js +50 -4
  194. package/dist/src/agent/workflow/subagent-runner.js.map +1 -1
  195. package/dist/src/agent/workflow/types.d.ts +10 -0
  196. package/dist/src/auth/credentials.d.ts +7 -0
  197. package/dist/src/auth/credentials.js +45 -7
  198. package/dist/src/auth/credentials.js.map +1 -1
  199. package/dist/src/auth/index.d.ts +1 -1
  200. package/dist/src/auth/index.js.map +1 -1
  201. package/dist/src/auth/oauth/github-copilot.d.ts +1 -1
  202. package/dist/src/auth/oauth/google-antigravity.d.ts +1 -3
  203. package/dist/src/auth/oauth/google-antigravity.js +1 -1
  204. package/dist/src/auth/oauth/google-gemini-cli.d.ts +1 -3
  205. package/dist/src/auth/oauth/google-gemini-cli.js +1 -1
  206. package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/google-antigravity.js +3 -5
  207. package/dist/src/auth/oauth/google-oauth/google-antigravity.js.map +1 -0
  208. package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/google-gemini-cli.js +4 -5
  209. package/dist/src/auth/oauth/google-oauth/google-gemini-cli.js.map +1 -0
  210. package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/oauth-page.js +12 -4
  211. package/dist/src/auth/oauth/google-oauth/oauth-page.js.map +1 -0
  212. package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/pkce.d.ts +1 -1
  213. package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/pkce.js +2 -2
  214. package/dist/src/auth/oauth/google-oauth/pkce.js.map +1 -0
  215. package/dist/src/auth/oauth/index.js +2 -2
  216. package/dist/src/auth/oauth/kimi-coding.d.ts +1 -1
  217. package/dist/src/auth/oauth/kimi-coding.js +1 -1
  218. package/dist/src/auth/oauth/kimi-coding.js.map +1 -1
  219. package/dist/src/auth/oauth/minimax-cn.js +1 -1
  220. package/dist/src/auth/oauth/minimax-cn.js.map +1 -1
  221. package/dist/src/auth/oauth/minimax.js +1 -1
  222. package/dist/src/auth/oauth/minimax.js.map +1 -1
  223. package/dist/src/auth/oauth/openai-codex.d.ts +7 -2
  224. package/dist/src/auth/oauth/openai-codex.js +318 -1
  225. package/dist/src/auth/oauth/openai-codex.js.map +1 -0
  226. package/dist/src/auth/profiles/store.js +3 -2
  227. package/dist/src/auth/profiles/store.js.map +1 -1
  228. package/dist/src/browser/actions/extension-registry-bridge.js +1 -1
  229. package/dist/src/browser/actions/registry.js +2 -2
  230. package/dist/src/browser/cdp-local-launcher.js +1 -1
  231. package/dist/src/browser/index.js +3 -3
  232. package/dist/src/browser/providers/browser-ext-install.js +1 -1
  233. package/dist/src/browser/providers/cloakbrowser.js +1 -1
  234. package/dist/src/channels/attachments/attachment-classifiers.d.ts +1 -0
  235. package/dist/src/channels/attachments/attachment-classifiers.js +13 -2
  236. package/dist/src/channels/attachments/attachment-classifiers.js.map +1 -1
  237. package/dist/src/channels/catalog/channel-catalog-service.d.ts +11 -0
  238. package/dist/src/channels/catalog/channel-catalog-service.js +168 -0
  239. package/dist/src/channels/catalog/channel-catalog-service.js.map +1 -0
  240. package/dist/src/channels/catalog/channel-catalog-types.d.ts +22 -0
  241. package/dist/src/channels/catalog/channel-catalog-types.js +1 -0
  242. package/dist/src/channels/dock.d.ts +0 -7
  243. package/dist/src/channels/dock.js +1 -21
  244. package/dist/src/channels/index.d.ts +1 -3
  245. package/dist/src/channels/index.js +1 -5
  246. package/dist/src/channels/lifecycle-supervisor.d.ts +1 -0
  247. package/dist/src/channels/lifecycle-supervisor.js +11 -0
  248. package/dist/src/channels/lifecycle-supervisor.js.map +1 -1
  249. package/dist/src/channels/manager.d.ts +1 -0
  250. package/dist/src/channels/manager.js +3 -0
  251. package/dist/src/channels/manager.js.map +1 -1
  252. package/dist/src/channels/pairing/pairing-channel.d.ts +2 -3
  253. package/dist/src/channels/pairing/pairing-messages.js +1 -1
  254. package/dist/src/channels/pairing/pairing-messages.js.map +1 -1
  255. package/dist/src/channels/pairing/pairing-service.d.ts +1 -1
  256. package/dist/src/channels/pairing/pairing-service.js +8 -27
  257. package/dist/src/channels/pairing/pairing-service.js.map +1 -1
  258. package/dist/src/channels/plugin-types.d.ts +3 -1
  259. package/dist/src/channels/plugins/types.adapters.d.ts +55 -2
  260. package/dist/src/channels/telegram/index.js +1 -1
  261. package/dist/src/chat-commands/builtins/config.js +4 -4
  262. package/dist/src/chat-commands/builtins/config.js.map +1 -1
  263. package/dist/src/chat-commands/builtins/model.js +2 -2
  264. package/dist/src/chat-commands/builtins/model.js.map +1 -1
  265. package/dist/src/chat-commands/config-paths.js +1 -1
  266. package/dist/src/chat-commands/config-paths.js.map +1 -1
  267. package/dist/src/chat-commands/context.js +1 -1
  268. package/dist/src/chat-commands/context.js.map +1 -1
  269. package/dist/src/cli/bin.js +1 -1
  270. package/dist/src/cli/command-manifest.js +2 -2
  271. package/dist/src/cli/command-manifest.js.map +1 -1
  272. package/dist/src/cli/commands/agent.js +2 -2
  273. package/dist/src/cli/commands/agent.js.map +1 -1
  274. package/dist/src/cli/commands/agents.js +2 -4
  275. package/dist/src/cli/commands/agents.js.map +1 -1
  276. package/dist/src/cli/commands/auth.js +40 -52
  277. package/dist/src/cli/commands/auth.js.map +1 -1
  278. package/dist/src/cli/commands/browser-cli-helpers.js +1 -1
  279. package/dist/src/cli/commands/channels.d.ts +1 -5
  280. package/dist/src/cli/commands/channels.js +115 -281
  281. package/dist/src/cli/commands/channels.js.map +1 -1
  282. package/dist/src/cli/commands/config.js +2 -2
  283. package/dist/src/cli/commands/config.js.map +1 -1
  284. package/dist/src/cli/commands/doctor/checks/channel-config.js +16 -69
  285. package/dist/src/cli/commands/doctor/checks/channel-config.js.map +1 -1
  286. package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js +6 -4
  287. package/dist/src/cli/commands/doctor/checks/channel-pairing-pending.js.map +1 -1
  288. package/dist/src/cli/commands/doctor/checks/channel-plugins.js +2 -2
  289. package/dist/src/cli/commands/doctor/checks/channel-plugins.js.map +1 -1
  290. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  291. package/dist/src/cli/commands/doctor/checks/provider-auth.js +13 -9
  292. package/dist/src/cli/commands/doctor/checks/provider-auth.js.map +1 -1
  293. package/dist/src/cli/commands/extension-dev.js +2 -1
  294. package/dist/src/cli/commands/extension-dev.js.map +1 -1
  295. package/dist/src/cli/commands/extension-marketplace.js +2 -1
  296. package/dist/src/cli/commands/extension-marketplace.js.map +1 -1
  297. package/dist/src/cli/commands/extension-pack.js +2 -1
  298. package/dist/src/cli/commands/extension-pack.js.map +1 -1
  299. package/dist/src/cli/commands/models.js +192 -54
  300. package/dist/src/cli/commands/models.js.map +1 -1
  301. package/dist/src/cli/commands/onboard/channels/index.js +1 -1
  302. package/dist/src/cli/commands/onboard/channels/index.js.map +1 -1
  303. package/dist/src/cli/commands/onboard/channels/registry.d.ts +2 -1
  304. package/dist/src/cli/commands/onboard/channels/registry.js +32 -8
  305. package/dist/src/cli/commands/onboard/channels/registry.js.map +1 -1
  306. package/dist/src/cli/commands/onboard/model.d.ts +1 -4
  307. package/dist/src/cli/commands/onboard/model.js +257 -184
  308. package/dist/src/cli/commands/onboard/model.js.map +1 -1
  309. package/dist/src/cli/commands/onboard.js +4 -6
  310. package/dist/src/cli/commands/onboard.js.map +1 -1
  311. package/dist/src/cli/commands/setup-shared/runner.d.ts +1 -1
  312. package/dist/src/cli/commands/setup-shared/runner.js.map +1 -1
  313. package/dist/src/cli/commands/setup-shared/types.d.ts +1 -1
  314. package/dist/src/cli/commands/setup-shared/types.js.map +1 -1
  315. package/dist/src/cli/commands/tui.js +13 -5
  316. package/dist/src/cli/commands/tui.js.map +1 -1
  317. package/dist/src/cli/extension-cli-register.js +1 -1
  318. package/dist/src/cli/utils/oauth-login.d.ts +17 -0
  319. package/dist/src/cli/utils/oauth-login.js +93 -0
  320. package/dist/src/cli/utils/oauth-login.js.map +1 -0
  321. package/dist/src/cli/utils/oauth-providers.js +2 -2
  322. package/dist/src/commands/agents.config.d.ts +3 -3
  323. package/dist/src/commands/agents.config.js +7 -7
  324. package/dist/src/commands/agents.config.js.map +1 -1
  325. package/dist/src/config/agent-profile.d.ts +1 -1
  326. package/dist/src/config/agent-profile.js +6 -2
  327. package/dist/src/config/agent-profile.js.map +1 -1
  328. package/dist/src/config/agent-typed-models.d.ts +2 -2
  329. package/dist/src/config/agent-typed-models.js +13 -2
  330. package/dist/src/config/agent-typed-models.js.map +1 -1
  331. package/dist/src/config/index.js +3 -3
  332. package/dist/src/config/integration.d.ts +1 -1
  333. package/dist/src/config/loader.d.ts +0 -1
  334. package/dist/src/config/loader.js +4 -9
  335. package/dist/src/config/loader.js.map +1 -1
  336. package/dist/src/config/models-json.d.ts +6 -6
  337. package/dist/src/config/rules.js +2 -12
  338. package/dist/src/config/rules.js.map +1 -1
  339. package/dist/src/config/schema.d.ts +74 -47
  340. package/dist/src/config/schema.js +28 -66
  341. package/dist/src/config/schema.js.map +1 -1
  342. package/dist/src/config/validate-channel-configs.d.ts +0 -3
  343. package/dist/src/config/validate-channel-configs.js +29 -10
  344. package/dist/src/config/validate-channel-configs.js.map +1 -1
  345. package/dist/src/cron/executor.js +1 -4
  346. package/dist/src/cron/executor.js.map +1 -1
  347. package/dist/src/extensions/activation-context.js +3 -1
  348. package/dist/src/extensions/activation-context.js.map +1 -1
  349. package/dist/src/extensions/activation-planner.js +12 -0
  350. package/dist/src/extensions/activation-planner.js.map +1 -1
  351. package/dist/src/extensions/api.d.ts +5 -1
  352. package/dist/src/extensions/api.js +12 -0
  353. package/dist/src/extensions/api.js.map +1 -1
  354. package/dist/src/extensions/discover-extensions.js +17 -13
  355. package/dist/src/extensions/discover-extensions.js.map +1 -1
  356. package/dist/src/extensions/extension-metadata-snapshot.js +11 -5
  357. package/dist/src/extensions/extension-metadata-snapshot.js.map +1 -1
  358. package/dist/src/extensions/index.js +12 -4
  359. package/dist/src/extensions/index.js.map +1 -0
  360. package/dist/src/extensions/loader.d.ts +5 -1
  361. package/dist/src/extensions/loader.js +12 -11
  362. package/dist/src/extensions/loader.js.map +1 -1
  363. package/dist/src/extensions/manifest-registry.js +98 -93
  364. package/dist/src/extensions/manifest-registry.js.map +1 -1
  365. package/dist/src/extensions/normalize-manifest.js +91 -15
  366. package/dist/src/extensions/normalize-manifest.js.map +1 -1
  367. package/dist/src/extensions/sdk/index.js +1 -1
  368. package/dist/src/extensions/sdk/testing.js +4 -0
  369. package/dist/src/extensions/sdk/testing.js.map +1 -1
  370. package/dist/src/extensions/types/core.d.ts +32 -1
  371. package/dist/src/extensions/types/manifest.d.ts +60 -0
  372. package/dist/src/extensions/types/tui.d.ts +414 -5
  373. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  374. package/dist/src/gateway/agent-builtin-tools.js +16 -0
  375. package/dist/src/gateway/agent-builtin-tools.js.map +1 -1
  376. package/dist/src/gateway/agent-run-relay.d.ts +2 -3
  377. package/dist/src/gateway/agent-run-relay.js +10 -3
  378. package/dist/src/gateway/agent-run-relay.js.map +1 -1
  379. package/dist/src/gateway/agents-admin.d.ts +32 -19
  380. package/dist/src/gateway/agents-admin.js +113 -93
  381. package/dist/src/gateway/agents-admin.js.map +1 -1
  382. package/dist/src/gateway/chat-stream/mapper.d.ts +34 -0
  383. package/dist/src/gateway/chat-stream/mapper.js +244 -0
  384. package/dist/src/gateway/chat-stream/mapper.js.map +1 -0
  385. package/dist/src/gateway/chat-stream/protocol.d.ts +100 -0
  386. package/dist/src/gateway/chat-stream/protocol.js +1 -0
  387. package/dist/src/gateway/hono/lib/agent-model.d.ts +4 -4
  388. package/dist/src/gateway/hono/lib/agent-model.js +13 -11
  389. package/dist/src/gateway/hono/lib/agent-model.js.map +1 -1
  390. package/dist/src/gateway/hono/lib/config-payload.d.ts +19 -7
  391. package/dist/src/gateway/hono/lib/config-payload.js +16 -15
  392. package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
  393. package/dist/src/gateway/hono/oauth-async.js +2 -2
  394. package/dist/src/gateway/hono/oauth.js +2 -2
  395. package/dist/src/gateway/hono/routes/agents.js +83 -48
  396. package/dist/src/gateway/hono/routes/agents.js.map +1 -1
  397. package/dist/src/gateway/hono/routes/channels.js +134 -214
  398. package/dist/src/gateway/hono/routes/channels.js.map +1 -1
  399. package/dist/src/gateway/hono/routes/commands-skills.js +10 -4
  400. package/dist/src/gateway/hono/routes/commands-skills.js.map +1 -1
  401. package/dist/src/gateway/hono/routes/config-patch/agents.js +26 -13
  402. package/dist/src/gateway/hono/routes/config-patch/agents.js.map +1 -1
  403. package/dist/src/gateway/hono/routes/config-patch/channels.d.ts +1 -11
  404. package/dist/src/gateway/hono/routes/config-patch/channels.js +18 -165
  405. package/dist/src/gateway/hono/routes/config-patch/channels.js.map +1 -1
  406. package/dist/src/gateway/hono/routes/config.js +5 -2
  407. package/dist/src/gateway/hono/routes/config.js.map +1 -1
  408. package/dist/src/gateway/hono/routes/dreaming.js +1 -1
  409. package/dist/src/gateway/hono/routes/lazy-bundles.js +13 -1
  410. package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
  411. package/dist/src/gateway/hono/routes/models.js +25 -5
  412. package/dist/src/gateway/hono/routes/models.js.map +1 -1
  413. package/dist/src/gateway/hono/routes/public-gateway.js +2 -4
  414. package/dist/src/gateway/hono/routes/public-gateway.js.map +1 -1
  415. package/dist/src/gateway/hono/routes/sessions.js +179 -0
  416. package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
  417. package/dist/src/gateway/hono/routes/tui.d.ts +3 -0
  418. package/dist/src/gateway/hono/routes/tui.js +16 -0
  419. package/dist/src/gateway/hono/routes/tui.js.map +1 -0
  420. package/dist/src/gateway/hono/routes/workflows.js +25 -1
  421. package/dist/src/gateway/hono/routes/workflows.js.map +1 -1
  422. package/dist/src/gateway/hono/sse.d.ts +5 -7
  423. package/dist/src/gateway/hono/sse.js +21 -38
  424. package/dist/src/gateway/hono/sse.js.map +1 -1
  425. package/dist/src/gateway/protocol.js.map +1 -1
  426. package/dist/src/gateway/service/agent-runner.d.ts +2 -4
  427. package/dist/src/gateway/service/agent-runner.js +1 -1
  428. package/dist/src/gateway/service/agent-runner.js.map +1 -1
  429. package/dist/src/gateway/service/marketplace-service.d.ts +4 -3
  430. package/dist/src/gateway/service/marketplace-service.js +7 -4
  431. package/dist/src/gateway/service/marketplace-service.js.map +1 -1
  432. package/dist/src/gateway/service/run-gateway-agent.d.ts +2 -6
  433. package/dist/src/gateway/service/run-gateway-agent.js +63 -36
  434. package/dist/src/gateway/service/run-gateway-agent.js.map +1 -1
  435. package/dist/src/gateway/service/sessions-api.d.ts +19 -0
  436. package/dist/src/gateway/service/sessions-api.js +12 -0
  437. package/dist/src/gateway/service/sessions-api.js.map +1 -1
  438. package/dist/src/gateway/service.d.ts +6 -0
  439. package/dist/src/gateway/service.js +73 -57
  440. package/dist/src/gateway/service.js.map +1 -1
  441. package/dist/src/mcp/channel-bridge.js +1 -1
  442. package/dist/src/media/store.js +3 -0
  443. package/dist/src/media/store.js.map +1 -1
  444. package/dist/src/notes/service.js +1 -1
  445. package/dist/src/notes/service.js.map +1 -1
  446. package/dist/src/project-trust/trust-store.d.ts +30 -0
  447. package/dist/src/project-trust/trust-store.js +194 -0
  448. package/dist/src/project-trust/trust-store.js.map +1 -0
  449. package/dist/src/providers/index.d.ts +4 -4
  450. package/dist/src/providers/index.js +41 -22
  451. package/dist/src/providers/index.js.map +1 -1
  452. package/dist/src/providers/presentation.d.ts +34 -0
  453. package/dist/src/providers/presentation.js +162 -0
  454. package/dist/src/providers/presentation.js.map +1 -0
  455. package/dist/src/routing/resolve-route.d.ts +0 -3
  456. package/dist/src/routing/resolve-route.js.map +1 -1
  457. package/dist/src/routing/resolve-tui-session-key.d.ts +2 -0
  458. package/dist/src/routing/resolve-tui-session-key.js +8 -3
  459. package/dist/src/routing/resolve-tui-session-key.js.map +1 -1
  460. package/dist/src/session/client-history.d.ts +32 -0
  461. package/dist/src/session/client-history.js +232 -1
  462. package/dist/src/session/client-history.js.map +1 -1
  463. package/dist/src/session/manager.d.ts +37 -4
  464. package/dist/src/session/manager.js +39 -15
  465. package/dist/src/session/manager.js.map +1 -1
  466. package/dist/src/session/session-context-for-llm.d.ts +93 -1
  467. package/dist/src/session/session-context-for-llm.js +105 -2
  468. package/dist/src/session/session-context-for-llm.js.map +1 -1
  469. package/dist/src/session/store.d.ts +37 -0
  470. package/dist/src/session/store.js +127 -2
  471. package/dist/src/session/store.js.map +1 -1
  472. package/dist/src/session/stored-rows-to-file-entries.js +37 -1
  473. package/dist/src/session/stored-rows-to-file-entries.js.map +1 -1
  474. package/dist/src/session/types.d.ts +14 -1
  475. package/dist/src/session/types.js.map +1 -1
  476. package/dist/src/share/share-thumbnail.js +1 -1
  477. package/dist/src/storage/sqlite/migrations/004_add_session_type_metadata.sql +15 -0
  478. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  479. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  480. package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
  481. package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
  482. package/dist/src/storage/sqlite/row-mappers.d.ts +14 -1
  483. package/dist/src/storage/sqlite/row-mappers.js +14 -1
  484. package/dist/src/storage/sqlite/row-mappers.js.map +1 -1
  485. package/dist/src/storage/sqlite/schema.js +1 -1
  486. package/dist/src/storage/sqlite/session-metadata.js +1 -0
  487. package/dist/src/storage/sqlite/session-metadata.js.map +1 -1
  488. package/dist/src/storage/sqlite/session-repository.js +52 -25
  489. package/dist/src/storage/sqlite/session-repository.js.map +1 -1
  490. package/dist/src/tui/backends/embedded-backend.d.ts +53 -4
  491. package/dist/src/tui/backends/embedded-backend.js +227 -39
  492. package/dist/src/tui/backends/embedded-backend.js.map +1 -1
  493. package/dist/src/tui/backends/gateway-sse-backend.d.ts +59 -3
  494. package/dist/src/tui/backends/gateway-sse-backend.js +416 -26
  495. package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
  496. package/dist/src/tui/chat-history.d.ts +5 -1
  497. package/dist/src/tui/chat-history.js +78 -8
  498. package/dist/src/tui/chat-history.js.map +1 -1
  499. package/dist/src/tui/clipboard-text.d.ts +5 -0
  500. package/dist/src/tui/clipboard-text.js +46 -0
  501. package/dist/src/tui/clipboard-text.js.map +1 -0
  502. package/dist/src/tui/components/assistant-message.d.ts +19 -3
  503. package/dist/src/tui/components/assistant-message.js +115 -9
  504. package/dist/src/tui/components/assistant-message.js.map +1 -1
  505. package/dist/src/tui/components/bash-execution.d.ts +3 -2
  506. package/dist/src/tui/components/bash-execution.js +31 -3
  507. package/dist/src/tui/components/bash-execution.js.map +1 -1
  508. package/dist/src/tui/components/bash-summary.d.ts +23 -0
  509. package/dist/src/tui/components/bash-summary.js +87 -0
  510. package/dist/src/tui/components/bash-summary.js.map +1 -0
  511. package/dist/src/tui/components/branch-message-summary.d.ts +17 -0
  512. package/dist/src/tui/components/branch-message-summary.js +43 -0
  513. package/dist/src/tui/components/branch-message-summary.js.map +1 -0
  514. package/dist/src/tui/components/branch-summary.d.ts +13 -0
  515. package/dist/src/tui/components/branch-summary.js +51 -0
  516. package/dist/src/tui/components/branch-summary.js.map +1 -0
  517. package/dist/src/tui/components/chat-log.d.ts +46 -6
  518. package/dist/src/tui/components/chat-log.js +183 -21
  519. package/dist/src/tui/components/chat-log.js.map +1 -1
  520. package/dist/src/tui/components/compaction-summary.d.ts +13 -0
  521. package/dist/src/tui/components/compaction-summary.js +46 -0
  522. package/dist/src/tui/components/compaction-summary.js.map +1 -0
  523. package/dist/src/tui/components/custom-editor.d.ts +1 -0
  524. package/dist/src/tui/components/custom-editor.js +2 -0
  525. package/dist/src/tui/components/custom-editor.js.map +1 -1
  526. package/dist/src/tui/components/custom-message.d.ts +23 -0
  527. package/dist/src/tui/components/custom-message.js +65 -0
  528. package/dist/src/tui/components/custom-message.js.map +1 -0
  529. package/dist/src/tui/components/extension-dialog.d.ts +42 -0
  530. package/dist/src/tui/components/extension-dialog.js +127 -0
  531. package/dist/src/tui/components/extension-dialog.js.map +1 -0
  532. package/dist/src/tui/components/scoped-models-selector.d.ts +7 -2
  533. package/dist/src/tui/components/scoped-models-selector.js +89 -16
  534. package/dist/src/tui/components/scoped-models-selector.js.map +1 -1
  535. package/dist/src/tui/components/searchable-select-list.d.ts +30 -3
  536. package/dist/src/tui/components/searchable-select-list.js +82 -10
  537. package/dist/src/tui/components/searchable-select-list.js.map +1 -1
  538. package/dist/src/tui/components/session-selector.d.ts +18 -4
  539. package/dist/src/tui/components/session-selector.js +207 -40
  540. package/dist/src/tui/components/session-selector.js.map +1 -1
  541. package/dist/src/tui/components/settings-selector.d.ts +6 -2
  542. package/dist/src/tui/components/settings-selector.js +126 -7
  543. package/dist/src/tui/components/settings-selector.js.map +1 -1
  544. package/dist/src/tui/components/thinking-selector.d.ts +12 -0
  545. package/dist/src/tui/components/thinking-selector.js +48 -0
  546. package/dist/src/tui/components/thinking-selector.js.map +1 -0
  547. package/dist/src/tui/components/tool-execution.d.ts +57 -3
  548. package/dist/src/tui/components/tool-execution.js +378 -28
  549. package/dist/src/tui/components/tool-execution.js.map +1 -1
  550. package/dist/src/tui/components/tui-bottom-bar.d.ts +9 -1
  551. package/dist/src/tui/components/tui-bottom-bar.js +56 -11
  552. package/dist/src/tui/components/tui-bottom-bar.js.map +1 -1
  553. package/dist/src/tui/components/tui-header.d.ts +9 -2
  554. package/dist/src/tui/components/tui-header.js +25 -5
  555. package/dist/src/tui/components/tui-header.js.map +1 -1
  556. package/dist/src/tui/components/user-message.d.ts +4 -2
  557. package/dist/src/tui/components/user-message.js +42 -9
  558. package/dist/src/tui/components/user-message.js.map +1 -1
  559. package/dist/src/tui/components/visual-truncate.d.ts +11 -0
  560. package/dist/src/tui/components/visual-truncate.js +27 -0
  561. package/dist/src/tui/components/visual-truncate.js.map +1 -0
  562. package/dist/src/tui/extension-host/autocomplete.d.ts +43 -0
  563. package/dist/src/tui/extension-host/autocomplete.js +116 -0
  564. package/dist/src/tui/extension-host/autocomplete.js.map +1 -0
  565. package/dist/src/tui/extension-host/host.d.ts +31 -1
  566. package/dist/src/tui/extension-host/host.js +123 -6
  567. package/dist/src/tui/extension-host/host.js.map +1 -1
  568. package/dist/src/tui/extension-host/load-extensions.d.ts +6 -1
  569. package/dist/src/tui/extension-host/load-extensions.js +4 -3
  570. package/dist/src/tui/extension-host/load-extensions.js.map +1 -1
  571. package/dist/src/tui/extension-host/runtime-context.d.ts +21 -0
  572. package/dist/src/tui/extension-host/runtime-context.js +152 -0
  573. package/dist/src/tui/extension-host/runtime-context.js.map +1 -0
  574. package/dist/src/tui/extension-host/runtime.d.ts +52 -4
  575. package/dist/src/tui/extension-host/runtime.js +547 -85
  576. package/dist/src/tui/extension-host/runtime.js.map +1 -1
  577. package/dist/src/tui/extension-host/surface.d.ts +20 -0
  578. package/dist/src/tui/extension-host/surface.js +30 -6
  579. package/dist/src/tui/extension-host/surface.js.map +1 -1
  580. package/dist/src/tui/extension-host/tool-renderers.d.ts +6 -3
  581. package/dist/src/tui/extension-host/tool-renderers.js +43 -5
  582. package/dist/src/tui/extension-host/tool-renderers.js.map +1 -1
  583. package/dist/src/tui/format-tui-hotkeys.d.ts +12 -2
  584. package/dist/src/tui/format-tui-hotkeys.js +22 -5
  585. package/dist/src/tui/format-tui-hotkeys.js.map +1 -1
  586. package/dist/src/tui/tui-agent-events.d.ts +8 -6
  587. package/dist/src/tui/tui-agent-events.js +200 -59
  588. package/dist/src/tui/tui-agent-events.js.map +1 -1
  589. package/dist/src/tui/tui-backend.d.ts +169 -3
  590. package/dist/src/tui/tui-command-formatters.d.ts +76 -0
  591. package/dist/src/tui/tui-command-formatters.js +594 -0
  592. package/dist/src/tui/tui-command-formatters.js.map +1 -0
  593. package/dist/src/tui/tui-commands.d.ts +57 -7
  594. package/dist/src/tui/tui-commands.js +639 -43
  595. package/dist/src/tui/tui-commands.js.map +1 -1
  596. package/dist/src/tui/tui-context-usage.d.ts +1 -1
  597. package/dist/src/tui/tui-context-usage.js +9 -1
  598. package/dist/src/tui/tui-context-usage.js.map +1 -1
  599. package/dist/src/tui/tui-extension-user-message.d.ts +8 -0
  600. package/dist/src/tui/tui-extension-user-message.js +32 -0
  601. package/dist/src/tui/tui-extension-user-message.js.map +1 -0
  602. package/dist/src/tui/tui-follow-up-queue.d.ts +9 -0
  603. package/dist/src/tui/tui-follow-up-queue.js +18 -0
  604. package/dist/src/tui/tui-follow-up-queue.js.map +1 -0
  605. package/dist/src/tui/tui-local-shell.d.ts +11 -1
  606. package/dist/src/tui/tui-local-shell.js +50 -8
  607. package/dist/src/tui/tui-local-shell.js.map +1 -1
  608. package/dist/src/tui/tui-model-picker.d.ts +26 -0
  609. package/dist/src/tui/tui-model-picker.js +152 -0
  610. package/dist/src/tui/tui-model-picker.js.map +1 -0
  611. package/dist/src/tui/tui-oauth-login.d.ts +16 -0
  612. package/dist/src/tui/tui-oauth-login.js +189 -0
  613. package/dist/src/tui/tui-oauth-login.js.map +1 -0
  614. package/dist/src/tui/tui-overlays.d.ts +3 -3
  615. package/dist/src/tui/tui-overlays.js +6 -7
  616. package/dist/src/tui/tui-overlays.js.map +1 -1
  617. package/dist/src/tui/tui-picker-overlay.d.ts +27 -32
  618. package/dist/src/tui/tui-picker-overlay.js +340 -30
  619. package/dist/src/tui/tui-picker-overlay.js.map +1 -1
  620. package/dist/src/tui/tui-picker-services.d.ts +41 -0
  621. package/dist/src/tui/tui-picker-services.js +1 -0
  622. package/dist/src/tui/tui-run-state.d.ts +11 -0
  623. package/dist/src/tui/tui-run-state.js +114 -0
  624. package/dist/src/tui/tui-run-state.js.map +1 -0
  625. package/dist/src/tui/tui-runtime-hints.d.ts +4 -0
  626. package/dist/src/tui/tui-runtime-hints.js +18 -0
  627. package/dist/src/tui/tui-runtime-hints.js.map +1 -0
  628. package/dist/src/tui/tui-scoped-models.d.ts +1 -1
  629. package/dist/src/tui/tui-scoped-models.js +2 -2
  630. package/dist/src/tui/tui-scoped-models.js.map +1 -1
  631. package/dist/src/tui/tui-session-actions.d.ts +5 -3
  632. package/dist/src/tui/tui-session-actions.js +21 -9
  633. package/dist/src/tui/tui-session-actions.js.map +1 -1
  634. package/dist/src/tui/tui-session-format.d.ts +4 -1
  635. package/dist/src/tui/tui-session-format.js +17 -3
  636. package/dist/src/tui/tui-session-format.js.map +1 -1
  637. package/dist/src/tui/tui-session-snapshot.d.ts +82 -0
  638. package/dist/src/tui/tui-session-snapshot.js +184 -0
  639. package/dist/src/tui/tui-session-snapshot.js.map +1 -0
  640. package/dist/src/tui/tui-session-stats.d.ts +3 -0
  641. package/dist/src/tui/tui-session-stats.js +59 -0
  642. package/dist/src/tui/tui-session-stats.js.map +1 -0
  643. package/dist/src/tui/tui-settings.d.ts +21 -0
  644. package/dist/src/tui/tui-settings.js +28 -1
  645. package/dist/src/tui/tui-settings.js.map +1 -1
  646. package/dist/src/tui/tui-skills-autocomplete.js +1 -1
  647. package/dist/src/tui/tui-skills-autocomplete.js.map +1 -1
  648. package/dist/src/tui/tui-startup-resources.d.ts +3 -0
  649. package/dist/src/tui/tui-startup-resources.js +39 -0
  650. package/dist/src/tui/tui-startup-resources.js.map +1 -0
  651. package/dist/src/tui/tui-startup-text.d.ts +10 -0
  652. package/dist/src/tui/tui-startup-text.js +58 -0
  653. package/dist/src/tui/tui-startup-text.js.map +1 -0
  654. package/dist/src/tui/tui-stdio-filter.d.ts +1 -0
  655. package/dist/src/tui/tui-stdio-filter.js +11 -7
  656. package/dist/src/tui/tui-stdio-filter.js.map +1 -1
  657. package/dist/src/tui/tui-submit.d.ts +2 -0
  658. package/dist/src/tui/tui-submit.js +2 -1
  659. package/dist/src/tui/tui-submit.js.map +1 -1
  660. package/dist/src/tui/tui-tool-diff.js +61 -7
  661. package/dist/src/tui/tui-tool-diff.js.map +1 -1
  662. package/dist/src/tui/tui-tool-result.d.ts +17 -0
  663. package/dist/src/tui/tui-tool-result.js +74 -0
  664. package/dist/src/tui/tui-tool-result.js.map +1 -0
  665. package/dist/src/tui/tui-transcript-tree-picker.d.ts +57 -0
  666. package/dist/src/tui/tui-transcript-tree-picker.js +604 -0
  667. package/dist/src/tui/tui-transcript-tree-picker.js.map +1 -0
  668. package/dist/src/tui/tui-transcript-tree.d.ts +7 -0
  669. package/dist/src/tui/tui-transcript-tree.js +316 -0
  670. package/dist/src/tui/tui-transcript-tree.js.map +1 -0
  671. package/dist/src/tui/tui-types.d.ts +25 -34
  672. package/dist/src/tui/tui-types.js +12 -0
  673. package/dist/src/tui/tui-types.js.map +1 -1
  674. package/dist/src/tui/tui.js +1288 -112
  675. package/dist/src/tui/tui.js.map +1 -1
  676. package/dist/src/tui/xopc-tui-keybindings.d.ts +127 -2
  677. package/dist/src/tui/xopc-tui-keybindings.js +127 -2
  678. package/dist/src/tui/xopc-tui-keybindings.js.map +1 -1
  679. package/dist/src/workflows/domain/definition-utils.d.ts +2 -1
  680. package/dist/src/workflows/domain/definition-utils.js +18 -8
  681. package/dist/src/workflows/domain/definition-utils.js.map +1 -1
  682. package/dist/src/workflows/domain/definition.d.ts +25 -0
  683. package/dist/src/workflows/domain/event.d.ts +1 -0
  684. package/dist/src/workflows/domain/result.d.ts +15 -0
  685. package/dist/src/workflows/domain/run.d.ts +2 -0
  686. package/dist/src/workflows/domain/run.js.map +1 -1
  687. package/dist/src/workflows/engine/projector.js +4 -0
  688. package/dist/src/workflows/engine/projector.js.map +1 -1
  689. package/dist/src/workflows/engine/workflow-engine.d.ts +37 -1
  690. package/dist/src/workflows/engine/workflow-engine.js +75 -11
  691. package/dist/src/workflows/engine/workflow-engine.js.map +1 -1
  692. package/dist/src/workflows/index.d.ts +1 -0
  693. package/dist/src/workflows/index.js +4 -1
  694. package/dist/src/workflows/registry/catalog-workflow-definition-registry.d.ts +9 -0
  695. package/dist/src/workflows/registry/catalog-workflow-definition-registry.js +40 -0
  696. package/dist/src/workflows/registry/catalog-workflow-definition-registry.js.map +1 -0
  697. package/dist/src/workflows/registry/index.d.ts +2 -0
  698. package/dist/src/workflows/registry/index.js +2 -0
  699. package/dist/src/workflows/registry/workflow-definition-registry.d.ts +15 -0
  700. package/dist/src/workflows/registry/workflow-definition-registry.js +1 -0
  701. package/dist/src/workflows/runtime/index.d.ts +2 -0
  702. package/dist/src/workflows/runtime/index.js +2 -1
  703. package/dist/src/workflows/runtime/script-workflow-runtime.d.ts +5 -0
  704. package/dist/src/workflows/runtime/script-workflow-runtime.js +15 -0
  705. package/dist/src/workflows/runtime/script-workflow-runtime.js.map +1 -0
  706. package/dist/src/workflows/runtime/workflow-runtime-port.d.ts +16 -0
  707. package/dist/src/workflows/runtime/workflow-runtime-port.js +1 -0
  708. package/dist/src/workflows/service/run-view-to-snapshot.js +3 -0
  709. package/dist/src/workflows/service/run-view-to-snapshot.js.map +1 -1
  710. package/dist/src/workflows/service/workflow-run-service.d.ts +3 -0
  711. package/dist/src/workflows/service/workflow-run-service.js +10 -15
  712. package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
  713. package/dist/src/workflows/service/workflow-session-bridge.d.ts +1 -1
  714. package/dist/src/workflows/service/workflow-session-bridge.js +4 -1
  715. package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -1
  716. package/package.json +21 -15
  717. package/skills/creative/frontend-design/SKILL.md +1 -1
  718. package/skills/creative/theme-factory/SKILL.md +1 -1
  719. package/skills/documents/xlsx/SKILL.md +1 -1
  720. package/skills/engineering/diagnose/SKILL.md +2 -2
  721. package/skills/engineering/tdd/SKILL.md +1 -1
  722. package/skills/tools/github/SKILL.md +6 -1
  723. package/skills/tools/webapp-testing/SKILL.md +4 -1
  724. package/dist/extensions/telegram/src/adapters/config-surface.d.ts +0 -2
  725. package/dist/extensions/telegram/src/adapters/config-surface.js +0 -26
  726. package/dist/extensions/telegram/src/adapters/config-surface.js.map +0 -1
  727. package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js +0 -158
  728. package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js.map +0 -1
  729. package/dist/gateway/static/root/assets/agents-DQ0mQxIA.js +0 -222
  730. package/dist/gateway/static/root/assets/channels-settings-BEtP53V6.js +0 -1
  731. package/dist/gateway/static/root/assets/channels-status-swr-CxTtS1hI.js +0 -8
  732. package/dist/gateway/static/root/assets/cron-api-CznlPIZT.js +0 -1
  733. package/dist/gateway/static/root/assets/cron-page-Dx6dE3eD.js +0 -1
  734. package/dist/gateway/static/root/assets/extension-settings-page-DuDCSb3J.js +0 -1
  735. package/dist/gateway/static/root/assets/field-primitives-BUwUiDf5.js +0 -1
  736. package/dist/gateway/static/root/assets/heartbeat-config-api-BjFW1cl-.js +0 -1
  737. package/dist/gateway/static/root/assets/index-DKgHC1Ta.js +0 -4840
  738. package/dist/gateway/static/root/assets/index-DjNDHzwG.css +0 -1
  739. package/dist/gateway/static/root/assets/notes-page-D40ZpS0Y.js +0 -1
  740. package/dist/gateway/static/root/assets/sessions-page-BvtdbmW8.js +0 -1
  741. package/dist/gateway/static/root/assets/settings-advanced-gate-BQamRjkV.js +0 -2
  742. package/dist/gateway/static/root/assets/settings-page-D972_jaS.js +0 -3
  743. package/dist/gateway/static/root/assets/share-preview-page-CKCTMo0_.js +0 -2
  744. package/dist/gateway/static/root/assets/skills-page-QwFCB4yV.js +0 -2
  745. package/dist/gateway/static/root/assets/url-q28QhI7l.js +0 -3
  746. package/dist/gateway/static/root/assets/utils-DCm11_KW.js +0 -1
  747. package/dist/gateway/static/root/assets/voice-api-key-field-CywiB7Dw.js +0 -1
  748. package/dist/gateway/static/root/assets/workflows-page-Be7l_SWw.js +0 -27
  749. package/dist/src/agent/embedded/map-stream-events.d.ts +0 -9
  750. package/dist/src/agent/embedded/map-stream-events.js +0 -63
  751. package/dist/src/agent/embedded/map-stream-events.js.map +0 -1
  752. package/dist/src/auth/oauth/vendor-pi-google/google-antigravity.js.map +0 -1
  753. package/dist/src/auth/oauth/vendor-pi-google/google-gemini-cli.js.map +0 -1
  754. package/dist/src/auth/oauth/vendor-pi-google/oauth-page.js.map +0 -1
  755. package/dist/src/auth/oauth/vendor-pi-google/pkce.js.map +0 -1
  756. package/dist/src/channels/dock.js.map +0 -1
  757. package/dist/src/channels/plugins/bundled.d.ts +0 -11
  758. package/dist/src/channels/plugins/bundled.js +0 -10
  759. package/dist/src/channels/plugins/bundled.js.map +0 -1
  760. package/dist/src/channels/registry.d.ts +0 -25
  761. package/dist/src/channels/registry.js +0 -82
  762. package/dist/src/channels/registry.js.map +0 -1
  763. package/dist/src/config/localized-text.d.ts +0 -6
  764. package/dist/src/config/localized-text.js +0 -42
  765. package/dist/src/config/localized-text.js.map +0 -1
  766. package/dist/src/generated/bundled-channel-plugins.d.ts +0 -10
  767. package/dist/src/generated/bundled-channel-plugins.js +0 -16
  768. package/dist/src/generated/bundled-channel-plugins.js.map +0 -1
  769. package/dist/src/tui/stream-assembler.d.ts +0 -22
  770. package/dist/src/tui/stream-assembler.js +0 -63
  771. package/dist/src/tui/stream-assembler.js.map +0 -1
  772. package/skills/browser/SKILL-zh.md +0 -188
  773. package/skills/business/company-values/SKILL-zh.md +0 -80
  774. package/skills/business/company-values/SKILL.md +0 -80
  775. package/skills/business/find-community/SKILL-zh.md +0 -50
  776. package/skills/business/find-community/SKILL.md +0 -50
  777. package/skills/business/first-customers/SKILL-zh.md +0 -76
  778. package/skills/business/first-customers/SKILL.md +0 -76
  779. package/skills/business/grow-sustainably/SKILL-zh.md +0 -92
  780. package/skills/business/grow-sustainably/SKILL.md +0 -92
  781. package/skills/business/marketing-plan/SKILL-zh.md +0 -100
  782. package/skills/business/marketing-plan/SKILL.md +0 -100
  783. package/skills/business/minimalist-review/SKILL-zh.md +0 -82
  784. package/skills/business/minimalist-review/SKILL.md +0 -82
  785. package/skills/business/mvp/SKILL-zh.md +0 -81
  786. package/skills/business/mvp/SKILL.md +0 -81
  787. package/skills/business/pricing/SKILL-zh.md +0 -64
  788. package/skills/business/pricing/SKILL.md +0 -64
  789. package/skills/business/processize/SKILL-zh.md +0 -91
  790. package/skills/business/processize/SKILL.md +0 -91
  791. package/skills/business/validate-idea/SKILL-zh.md +0 -68
  792. package/skills/business/validate-idea/SKILL.md +0 -68
  793. package/skills/creative/algorithmic-art/LICENSE.txt +0 -202
  794. package/skills/creative/algorithmic-art/SKILL-zh.md +0 -405
  795. package/skills/creative/algorithmic-art/SKILL.md +0 -405
  796. package/skills/creative/algorithmic-art/templates/generator_template.js +0 -223
  797. package/skills/creative/algorithmic-art/templates/viewer.html +0 -599
  798. package/skills/creative/frontend-design/SKILL-zh.md +0 -42
  799. package/skills/creative/theme-factory/SKILL-zh.md +0 -59
  800. package/skills/creative/web-artifacts-builder/LICENSE.txt +0 -202
  801. package/skills/creative/web-artifacts-builder/SKILL-zh.md +0 -74
  802. package/skills/creative/web-artifacts-builder/SKILL.md +0 -74
  803. package/skills/creative/web-artifacts-builder/scripts/bundle-artifact.sh +0 -54
  804. package/skills/creative/web-artifacts-builder/scripts/init-artifact.sh +0 -322
  805. package/skills/creative/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  806. package/skills/documents/doc-coauthoring/SKILL-zh.md +0 -375
  807. package/skills/documents/doc-coauthoring/SKILL.md +0 -375
  808. package/skills/documents/docx/LICENSE.txt +0 -30
  809. package/skills/documents/docx/SKILL-zh.md +0 -590
  810. package/skills/documents/docx/SKILL.md +0 -590
  811. package/skills/documents/docx/scripts/__init__.py +0 -1
  812. package/skills/documents/docx/scripts/accept_changes.py +0 -135
  813. package/skills/documents/docx/scripts/comment.py +0 -318
  814. package/skills/documents/docx/scripts/office/helpers/__init__.py +0 -0
  815. package/skills/documents/docx/scripts/office/helpers/merge_runs.py +0 -199
  816. package/skills/documents/docx/scripts/office/helpers/simplify_redlines.py +0 -197
  817. package/skills/documents/docx/scripts/office/pack.py +0 -159
  818. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  819. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  820. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  821. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  822. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  823. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  824. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  825. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  826. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  827. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  828. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  829. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  830. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  831. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  832. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  833. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  834. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  835. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  836. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  837. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  838. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  839. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  840. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  841. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  842. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  843. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  844. package/skills/documents/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  845. package/skills/documents/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  846. package/skills/documents/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  847. package/skills/documents/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  848. package/skills/documents/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  849. package/skills/documents/docx/scripts/office/schemas/mce/mc.xsd +0 -75
  850. package/skills/documents/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  851. package/skills/documents/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  852. package/skills/documents/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  853. package/skills/documents/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  854. package/skills/documents/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  855. package/skills/documents/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  856. package/skills/documents/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  857. package/skills/documents/docx/scripts/office/soffice.py +0 -183
  858. package/skills/documents/docx/scripts/office/unpack.py +0 -132
  859. package/skills/documents/docx/scripts/office/validate.py +0 -111
  860. package/skills/documents/docx/scripts/office/validators/__init__.py +0 -15
  861. package/skills/documents/docx/scripts/office/validators/base.py +0 -847
  862. package/skills/documents/docx/scripts/office/validators/docx.py +0 -446
  863. package/skills/documents/docx/scripts/office/validators/pptx.py +0 -275
  864. package/skills/documents/docx/scripts/office/validators/redlining.py +0 -247
  865. package/skills/documents/docx/scripts/templates/comments.xml +0 -3
  866. package/skills/documents/docx/scripts/templates/commentsExtended.xml +0 -3
  867. package/skills/documents/docx/scripts/templates/commentsExtensible.xml +0 -3
  868. package/skills/documents/docx/scripts/templates/commentsIds.xml +0 -3
  869. package/skills/documents/docx/scripts/templates/people.xml +0 -3
  870. package/skills/documents/pdf/LICENSE.txt +0 -30
  871. package/skills/documents/pdf/SKILL-zh.md +0 -314
  872. package/skills/documents/pdf/SKILL.md +0 -314
  873. package/skills/documents/pdf/forms.md +0 -294
  874. package/skills/documents/pdf/reference.md +0 -612
  875. package/skills/documents/pdf/scripts/check_bounding_boxes.py +0 -65
  876. package/skills/documents/pdf/scripts/check_fillable_fields.py +0 -11
  877. package/skills/documents/pdf/scripts/convert_pdf_to_images.py +0 -33
  878. package/skills/documents/pdf/scripts/create_validation_image.py +0 -37
  879. package/skills/documents/pdf/scripts/extract_form_field_info.py +0 -122
  880. package/skills/documents/pdf/scripts/extract_form_structure.py +0 -115
  881. package/skills/documents/pdf/scripts/fill_fillable_fields.py +0 -98
  882. package/skills/documents/pdf/scripts/fill_pdf_form_with_annotations.py +0 -107
  883. package/skills/documents/pptx/LICENSE.txt +0 -30
  884. package/skills/documents/pptx/SKILL-zh.md +0 -232
  885. package/skills/documents/pptx/SKILL.md +0 -232
  886. package/skills/documents/pptx/editing.md +0 -205
  887. package/skills/documents/pptx/pptxgenjs.md +0 -420
  888. package/skills/documents/pptx/scripts/__init__.py +0 -0
  889. package/skills/documents/pptx/scripts/add_slide.py +0 -195
  890. package/skills/documents/pptx/scripts/clean.py +0 -286
  891. package/skills/documents/pptx/scripts/office/helpers/__init__.py +0 -0
  892. package/skills/documents/pptx/scripts/office/helpers/merge_runs.py +0 -199
  893. package/skills/documents/pptx/scripts/office/helpers/simplify_redlines.py +0 -197
  894. package/skills/documents/pptx/scripts/office/pack.py +0 -159
  895. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  896. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  897. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  898. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  899. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  900. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  901. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  902. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  903. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  904. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  905. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  906. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  907. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  908. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  909. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  910. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  911. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  912. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  913. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  914. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  915. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  916. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  917. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  918. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  919. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  920. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  921. package/skills/documents/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  922. package/skills/documents/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  923. package/skills/documents/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  924. package/skills/documents/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  925. package/skills/documents/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  926. package/skills/documents/pptx/scripts/office/schemas/mce/mc.xsd +0 -75
  927. package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  928. package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  929. package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  930. package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  931. package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  932. package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  933. package/skills/documents/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  934. package/skills/documents/pptx/scripts/office/soffice.py +0 -183
  935. package/skills/documents/pptx/scripts/office/unpack.py +0 -132
  936. package/skills/documents/pptx/scripts/office/validate.py +0 -111
  937. package/skills/documents/pptx/scripts/office/validators/__init__.py +0 -15
  938. package/skills/documents/pptx/scripts/office/validators/base.py +0 -847
  939. package/skills/documents/pptx/scripts/office/validators/docx.py +0 -446
  940. package/skills/documents/pptx/scripts/office/validators/pptx.py +0 -275
  941. package/skills/documents/pptx/scripts/office/validators/redlining.py +0 -247
  942. package/skills/documents/pptx/scripts/thumbnail.py +0 -289
  943. package/skills/documents/xlsx/SKILL-zh.md +0 -292
  944. package/skills/engineering/diagnose/SKILL-zh.md +0 -117
  945. package/skills/engineering/grill-with-docs/ADR-FORMAT.md +0 -47
  946. package/skills/engineering/grill-with-docs/CONTEXT-FORMAT.md +0 -77
  947. package/skills/engineering/grill-with-docs/SKILL-zh.md +0 -88
  948. package/skills/engineering/grill-with-docs/SKILL.md +0 -88
  949. package/skills/engineering/improve-codebase-architecture/DEEPENING.md +0 -37
  950. package/skills/engineering/improve-codebase-architecture/INTERFACE-DESIGN.md +0 -44
  951. package/skills/engineering/improve-codebase-architecture/LANGUAGE.md +0 -53
  952. package/skills/engineering/improve-codebase-architecture/SKILL-zh.md +0 -71
  953. package/skills/engineering/improve-codebase-architecture/SKILL.md +0 -71
  954. package/skills/engineering/tdd/SKILL-zh.md +0 -109
  955. package/skills/engineering/to-issues/SKILL-zh.md +0 -81
  956. package/skills/engineering/to-issues/SKILL.md +0 -81
  957. package/skills/engineering/to-prd/SKILL-zh.md +0 -76
  958. package/skills/engineering/to-prd/SKILL.md +0 -74
  959. package/skills/engineering/zoom-out/SKILL-zh.md +0 -7
  960. package/skills/engineering/zoom-out/SKILL.md +0 -7
  961. package/skills/tools/find-skills/SKILL-zh.md +0 -440
  962. package/skills/tools/github/SKILL-zh.md +0 -48
  963. package/skills/tools/internal-comms/LICENSE.txt +0 -202
  964. package/skills/tools/internal-comms/SKILL-zh.md +0 -32
  965. package/skills/tools/internal-comms/SKILL.md +0 -32
  966. package/skills/tools/internal-comms/examples/3p-updates.md +0 -47
  967. package/skills/tools/internal-comms/examples/company-newsletter.md +0 -65
  968. package/skills/tools/internal-comms/examples/faq-answers.md +0 -30
  969. package/skills/tools/internal-comms/examples/general-comms.md +0 -16
  970. package/skills/tools/skill-creator/LICENSE.txt +0 -202
  971. package/skills/tools/skill-creator/SKILL-zh.md +0 -483
  972. package/skills/tools/skill-creator/SKILL.md +0 -485
  973. package/skills/tools/skill-creator/agents/analyzer.md +0 -274
  974. package/skills/tools/skill-creator/agents/comparator.md +0 -202
  975. package/skills/tools/skill-creator/agents/grader.md +0 -223
  976. package/skills/tools/skill-creator/assets/eval_review.html +0 -146
  977. package/skills/tools/skill-creator/eval-viewer/generate_review.py +0 -471
  978. package/skills/tools/skill-creator/eval-viewer/viewer.html +0 -1325
  979. package/skills/tools/skill-creator/references/schemas.md +0 -430
  980. package/skills/tools/skill-creator/scripts/__init__.py +0 -0
  981. package/skills/tools/skill-creator/scripts/aggregate_benchmark.py +0 -401
  982. package/skills/tools/skill-creator/scripts/generate_report.py +0 -326
  983. package/skills/tools/skill-creator/scripts/improve_description.py +0 -247
  984. package/skills/tools/skill-creator/scripts/package_skill.py +0 -136
  985. package/skills/tools/skill-creator/scripts/quick_validate.py +0 -103
  986. package/skills/tools/skill-creator/scripts/run_eval.py +0 -310
  987. package/skills/tools/skill-creator/scripts/run_loop.py +0 -328
  988. package/skills/tools/skill-creator/scripts/utils.py +0 -47
  989. package/skills/tools/summarize/SKILL-zh.md +0 -47
  990. package/skills/tools/weather/SKILL-zh.md +0 -46
  991. package/skills/tools/weather/SKILL.md +0 -46
  992. package/skills/tools/webapp-testing/SKILL-zh.md +0 -96
  993. /package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/google-antigravity.d.ts +0 -0
  994. /package/dist/src/auth/oauth/{vendor-pi-google → google-oauth}/google-gemini-cli.d.ts +0 -0
  995. /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)