synapsexcoder 6.0.0

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 (705) hide show
  1. package/.opencode/opencode.jsonc +102 -0
  2. package/README.md +353 -0
  3. package/dist/agents/agent-config-manager.d.ts +58 -0
  4. package/dist/agents/agent-config-manager.d.ts.map +1 -0
  5. package/dist/agents/agent-config-manager.js +313 -0
  6. package/dist/agents/agent-config-manager.js.map +1 -0
  7. package/dist/agents/base-agents.d.ts +352 -0
  8. package/dist/agents/base-agents.d.ts.map +1 -0
  9. package/dist/agents/base-agents.js +3961 -0
  10. package/dist/agents/base-agents.js.map +1 -0
  11. package/dist/agents/gated-subagent.d.ts +126 -0
  12. package/dist/agents/gated-subagent.d.ts.map +1 -0
  13. package/dist/agents/gated-subagent.js +591 -0
  14. package/dist/agents/gated-subagent.js.map +1 -0
  15. package/dist/agents/gated-subagents.d.ts +130 -0
  16. package/dist/agents/gated-subagents.d.ts.map +1 -0
  17. package/dist/agents/gated-subagents.js +2014 -0
  18. package/dist/agents/gated-subagents.js.map +1 -0
  19. package/dist/agents/internal-gatekeeper.d.ts +167 -0
  20. package/dist/agents/internal-gatekeeper.d.ts.map +1 -0
  21. package/dist/agents/internal-gatekeeper.js +1130 -0
  22. package/dist/agents/internal-gatekeeper.js.map +1 -0
  23. package/dist/agents/verification-agent.d.ts +86 -0
  24. package/dist/agents/verification-agent.d.ts.map +1 -0
  25. package/dist/agents/verification-agent.js +211 -0
  26. package/dist/agents/verification-agent.js.map +1 -0
  27. package/dist/analytics/analytics-types.d.ts +113 -0
  28. package/dist/analytics/analytics-types.d.ts.map +1 -0
  29. package/dist/analytics/analytics-types.js +8 -0
  30. package/dist/analytics/analytics-types.js.map +1 -0
  31. package/dist/analytics/dashboard-generator.d.ts +35 -0
  32. package/dist/analytics/dashboard-generator.d.ts.map +1 -0
  33. package/dist/analytics/dashboard-generator.js +365 -0
  34. package/dist/analytics/dashboard-generator.js.map +1 -0
  35. package/dist/analytics/index.d.ts +12 -0
  36. package/dist/analytics/index.d.ts.map +1 -0
  37. package/dist/analytics/index.js +12 -0
  38. package/dist/analytics/index.js.map +1 -0
  39. package/dist/analytics/metrics-aggregator.d.ts +88 -0
  40. package/dist/analytics/metrics-aggregator.d.ts.map +1 -0
  41. package/dist/analytics/metrics-aggregator.js +280 -0
  42. package/dist/analytics/metrics-aggregator.js.map +1 -0
  43. package/dist/cli/index.d.ts +36 -0
  44. package/dist/cli/index.d.ts.map +1 -0
  45. package/dist/cli/index.js +2677 -0
  46. package/dist/cli/index.js.map +1 -0
  47. package/dist/cli/normalize_patch.d.ts +3 -0
  48. package/dist/cli/normalize_patch.d.ts.map +1 -0
  49. package/dist/cli/normalize_patch.js +34 -0
  50. package/dist/cli/normalize_patch.js.map +1 -0
  51. package/dist/commands/command-processor.d.ts +58 -0
  52. package/dist/commands/command-processor.d.ts.map +1 -0
  53. package/dist/commands/command-processor.js +796 -0
  54. package/dist/commands/command-processor.js.map +1 -0
  55. package/dist/config/compliance-checker.d.ts +93 -0
  56. package/dist/config/compliance-checker.d.ts.map +1 -0
  57. package/dist/config/compliance-checker.js +424 -0
  58. package/dist/config/compliance-checker.js.map +1 -0
  59. package/dist/config/enterprise-config.d.ts +173 -0
  60. package/dist/config/enterprise-config.d.ts.map +1 -0
  61. package/dist/config/enterprise-config.js +190 -0
  62. package/dist/config/enterprise-config.js.map +1 -0
  63. package/dist/config/index.d.ts +13 -0
  64. package/dist/config/index.d.ts.map +1 -0
  65. package/dist/config/index.js +11 -0
  66. package/dist/config/index.js.map +1 -0
  67. package/dist/context/context-system.d.ts +97 -0
  68. package/dist/context/context-system.d.ts.map +1 -0
  69. package/dist/context/context-system.js +880 -0
  70. package/dist/context/context-system.js.map +1 -0
  71. package/dist/context/store.d.ts +123 -0
  72. package/dist/context/store.d.ts.map +1 -0
  73. package/dist/context/store.js +281 -0
  74. package/dist/context/store.js.map +1 -0
  75. package/dist/dasp/dasp-controller.d.ts +83 -0
  76. package/dist/dasp/dasp-controller.d.ts.map +1 -0
  77. package/dist/dasp/dasp-controller.js +190 -0
  78. package/dist/dasp/dasp-controller.js.map +1 -0
  79. package/dist/dasp/feedback-adapter.d.ts +56 -0
  80. package/dist/dasp/feedback-adapter.d.ts.map +1 -0
  81. package/dist/dasp/feedback-adapter.js +158 -0
  82. package/dist/dasp/feedback-adapter.js.map +1 -0
  83. package/dist/dasp/index.d.ts +14 -0
  84. package/dist/dasp/index.d.ts.map +1 -0
  85. package/dist/dasp/index.js +10 -0
  86. package/dist/dasp/index.js.map +1 -0
  87. package/dist/dasp/prompt-templates.d.ts +38 -0
  88. package/dist/dasp/prompt-templates.d.ts.map +1 -0
  89. package/dist/dasp/prompt-templates.js +406 -0
  90. package/dist/dasp/prompt-templates.js.map +1 -0
  91. package/dist/dasp/vault-rag-provider.d.ts +51 -0
  92. package/dist/dasp/vault-rag-provider.d.ts.map +1 -0
  93. package/dist/dasp/vault-rag-provider.js +125 -0
  94. package/dist/dasp/vault-rag-provider.js.map +1 -0
  95. package/dist/distribution/cli-distribution.d.ts +68 -0
  96. package/dist/distribution/cli-distribution.d.ts.map +1 -0
  97. package/dist/distribution/cli-distribution.js +941 -0
  98. package/dist/distribution/cli-distribution.js.map +1 -0
  99. package/dist/docs/doc-generator.d.ts +78 -0
  100. package/dist/docs/doc-generator.d.ts.map +1 -0
  101. package/dist/docs/doc-generator.js +297 -0
  102. package/dist/docs/doc-generator.js.map +1 -0
  103. package/dist/docs/index.d.ts +13 -0
  104. package/dist/docs/index.d.ts.map +1 -0
  105. package/dist/docs/index.js +11 -0
  106. package/dist/docs/index.js.map +1 -0
  107. package/dist/docs/site-builder.d.ts +58 -0
  108. package/dist/docs/site-builder.d.ts.map +1 -0
  109. package/dist/docs/site-builder.js +229 -0
  110. package/dist/docs/site-builder.js.map +1 -0
  111. package/dist/ecosystem/adapters/claude-adapter.d.ts +29 -0
  112. package/dist/ecosystem/adapters/claude-adapter.d.ts.map +1 -0
  113. package/dist/ecosystem/adapters/claude-adapter.js +116 -0
  114. package/dist/ecosystem/adapters/claude-adapter.js.map +1 -0
  115. package/dist/ecosystem/adapters/cursor-adapter.d.ts +27 -0
  116. package/dist/ecosystem/adapters/cursor-adapter.d.ts.map +1 -0
  117. package/dist/ecosystem/adapters/cursor-adapter.js +93 -0
  118. package/dist/ecosystem/adapters/cursor-adapter.js.map +1 -0
  119. package/dist/ecosystem/adapters/v0-adapter.d.ts +30 -0
  120. package/dist/ecosystem/adapters/v0-adapter.d.ts.map +1 -0
  121. package/dist/ecosystem/adapters/v0-adapter.js +112 -0
  122. package/dist/ecosystem/adapters/v0-adapter.js.map +1 -0
  123. package/dist/ecosystem/ecosystem-router.d.ts +80 -0
  124. package/dist/ecosystem/ecosystem-router.d.ts.map +1 -0
  125. package/dist/ecosystem/ecosystem-router.js +241 -0
  126. package/dist/ecosystem/ecosystem-router.js.map +1 -0
  127. package/dist/ecosystem/ecosystem-types.d.ts +94 -0
  128. package/dist/ecosystem/ecosystem-types.d.ts.map +1 -0
  129. package/dist/ecosystem/ecosystem-types.js +27 -0
  130. package/dist/ecosystem/ecosystem-types.js.map +1 -0
  131. package/dist/ecosystem/index.d.ts +10 -0
  132. package/dist/ecosystem/index.d.ts.map +1 -0
  133. package/dist/ecosystem/index.js +9 -0
  134. package/dist/ecosystem/index.js.map +1 -0
  135. package/dist/integration/agentic-integration.d.ts +73 -0
  136. package/dist/integration/agentic-integration.d.ts.map +1 -0
  137. package/dist/integration/agentic-integration.js +253 -0
  138. package/dist/integration/agentic-integration.js.map +1 -0
  139. package/dist/integration/background-agents-integration.d.ts +54 -0
  140. package/dist/integration/background-agents-integration.d.ts.map +1 -0
  141. package/dist/integration/background-agents-integration.js +225 -0
  142. package/dist/integration/background-agents-integration.js.map +1 -0
  143. package/dist/integration/dcp-integration.d.ts +81 -0
  144. package/dist/integration/dcp-integration.d.ts.map +1 -0
  145. package/dist/integration/dcp-integration.js +189 -0
  146. package/dist/integration/dcp-integration.js.map +1 -0
  147. package/dist/integration/firecrawl-integration.d.ts +61 -0
  148. package/dist/integration/firecrawl-integration.d.ts.map +1 -0
  149. package/dist/integration/firecrawl-integration.js +246 -0
  150. package/dist/integration/firecrawl-integration.js.map +1 -0
  151. package/dist/integration/index.d.ts +40 -0
  152. package/dist/integration/index.d.ts.map +1 -0
  153. package/dist/integration/index.js +43 -0
  154. package/dist/integration/index.js.map +1 -0
  155. package/dist/integration/integration-hub.d.ts +43 -0
  156. package/dist/integration/integration-hub.d.ts.map +1 -0
  157. package/dist/integration/integration-hub.js +507 -0
  158. package/dist/integration/integration-hub.js.map +1 -0
  159. package/dist/integration/integration-loader.d.ts +42 -0
  160. package/dist/integration/integration-loader.d.ts.map +1 -0
  161. package/dist/integration/integration-loader.js +240 -0
  162. package/dist/integration/integration-loader.js.map +1 -0
  163. package/dist/integration/md-table-formatter-integration.d.ts +41 -0
  164. package/dist/integration/md-table-formatter-integration.d.ts.map +1 -0
  165. package/dist/integration/md-table-formatter-integration.js +183 -0
  166. package/dist/integration/md-table-formatter-integration.js.map +1 -0
  167. package/dist/integration/native/agentic/agentic-engine.d.ts +52 -0
  168. package/dist/integration/native/agentic/agentic-engine.d.ts.map +1 -0
  169. package/dist/integration/native/agentic/agentic-engine.js +267 -0
  170. package/dist/integration/native/agentic/agentic-engine.js.map +1 -0
  171. package/dist/integration/native/background/background-engine.d.ts +62 -0
  172. package/dist/integration/native/background/background-engine.d.ts.map +1 -0
  173. package/dist/integration/native/background/background-engine.js +167 -0
  174. package/dist/integration/native/background/background-engine.js.map +1 -0
  175. package/dist/integration/native/dcp/dcp-engine.d.ts +55 -0
  176. package/dist/integration/native/dcp/dcp-engine.d.ts.map +1 -0
  177. package/dist/integration/native/dcp/dcp-engine.js +168 -0
  178. package/dist/integration/native/dcp/dcp-engine.js.map +1 -0
  179. package/dist/integration/native/firecrawl/firecrawl-engine.d.ts +66 -0
  180. package/dist/integration/native/firecrawl/firecrawl-engine.d.ts.map +1 -0
  181. package/dist/integration/native/firecrawl/firecrawl-engine.js +221 -0
  182. package/dist/integration/native/firecrawl/firecrawl-engine.js.map +1 -0
  183. package/dist/integration/native/formatter/formatter-engine.d.ts +47 -0
  184. package/dist/integration/native/formatter/formatter-engine.d.ts.map +1 -0
  185. package/dist/integration/native/formatter/formatter-engine.js +130 -0
  186. package/dist/integration/native/formatter/formatter-engine.js.map +1 -0
  187. package/dist/integration/native/index.d.ts +41 -0
  188. package/dist/integration/native/index.d.ts.map +1 -0
  189. package/dist/integration/native/index.js +80 -0
  190. package/dist/integration/native/index.js.map +1 -0
  191. package/dist/integration/native/orchestration/orchestration-engine.d.ts +62 -0
  192. package/dist/integration/native/orchestration/orchestration-engine.d.ts.map +1 -0
  193. package/dist/integration/native/orchestration/orchestration-engine.js +177 -0
  194. package/dist/integration/native/orchestration/orchestration-engine.js.map +1 -0
  195. package/dist/integration/native/pty/pty-engine.d.ts +45 -0
  196. package/dist/integration/native/pty/pty-engine.d.ts.map +1 -0
  197. package/dist/integration/native/pty/pty-engine.js +103 -0
  198. package/dist/integration/native/pty/pty-engine.js.map +1 -0
  199. package/dist/integration/native/shell-strategy.d.ts +60 -0
  200. package/dist/integration/native/shell-strategy.d.ts.map +1 -0
  201. package/dist/integration/native/shell-strategy.js +131 -0
  202. package/dist/integration/native/shell-strategy.js.map +1 -0
  203. package/dist/integration/native/skillful/skillful-engine.d.ts +53 -0
  204. package/dist/integration/native/skillful/skillful-engine.d.ts.map +1 -0
  205. package/dist/integration/native/skillful/skillful-engine.js +127 -0
  206. package/dist/integration/native/skillful/skillful-engine.js.map +1 -0
  207. package/dist/integration/native/subtask2/subtask2-engine.d.ts +50 -0
  208. package/dist/integration/native/subtask2/subtask2-engine.d.ts.map +1 -0
  209. package/dist/integration/native/subtask2/subtask2-engine.js +158 -0
  210. package/dist/integration/native/subtask2/subtask2-engine.js.map +1 -0
  211. package/dist/integration/native/supermemory/supermemory-engine.d.ts +63 -0
  212. package/dist/integration/native/supermemory/supermemory-engine.d.ts.map +1 -0
  213. package/dist/integration/native/supermemory/supermemory-engine.js +127 -0
  214. package/dist/integration/native/supermemory/supermemory-engine.js.map +1 -0
  215. package/dist/integration/native/workspace/workspace-engine.d.ts +75 -0
  216. package/dist/integration/native/workspace/workspace-engine.d.ts.map +1 -0
  217. package/dist/integration/native/workspace/workspace-engine.js +216 -0
  218. package/dist/integration/native/workspace/workspace-engine.js.map +1 -0
  219. package/dist/integration/oh-my-opencode-integration.d.ts +59 -0
  220. package/dist/integration/oh-my-opencode-integration.d.ts.map +1 -0
  221. package/dist/integration/oh-my-opencode-integration.js +180 -0
  222. package/dist/integration/oh-my-opencode-integration.js.map +1 -0
  223. package/dist/integration/openagents-control-integration.d.ts +81 -0
  224. package/dist/integration/openagents-control-integration.d.ts.map +1 -0
  225. package/dist/integration/openagents-control-integration.js +273 -0
  226. package/dist/integration/openagents-control-integration.js.map +1 -0
  227. package/dist/integration/pty-integration.d.ts +64 -0
  228. package/dist/integration/pty-integration.d.ts.map +1 -0
  229. package/dist/integration/pty-integration.js +180 -0
  230. package/dist/integration/pty-integration.js.map +1 -0
  231. package/dist/integration/shell-strategy-integration.d.ts +26 -0
  232. package/dist/integration/shell-strategy-integration.d.ts.map +1 -0
  233. package/dist/integration/shell-strategy-integration.js +110 -0
  234. package/dist/integration/shell-strategy-integration.js.map +1 -0
  235. package/dist/integration/skillful-integration.d.ts +74 -0
  236. package/dist/integration/skillful-integration.d.ts.map +1 -0
  237. package/dist/integration/skillful-integration.js +317 -0
  238. package/dist/integration/skillful-integration.js.map +1 -0
  239. package/dist/integration/subtask2-integration.d.ts +71 -0
  240. package/dist/integration/subtask2-integration.d.ts.map +1 -0
  241. package/dist/integration/subtask2-integration.js +240 -0
  242. package/dist/integration/subtask2-integration.js.map +1 -0
  243. package/dist/integration/supermemory-integration.d.ts +82 -0
  244. package/dist/integration/supermemory-integration.d.ts.map +1 -0
  245. package/dist/integration/supermemory-integration.js +252 -0
  246. package/dist/integration/supermemory-integration.js.map +1 -0
  247. package/dist/integration/types.d.ts +218 -0
  248. package/dist/integration/types.d.ts.map +1 -0
  249. package/dist/integration/types.js +5 -0
  250. package/dist/integration/types.js.map +1 -0
  251. package/dist/integration/workspace-integration.d.ts +46 -0
  252. package/dist/integration/workspace-integration.d.ts.map +1 -0
  253. package/dist/integration/workspace-integration.js +181 -0
  254. package/dist/integration/workspace-integration.js.map +1 -0
  255. package/dist/knowledge-vault/deepwiki-sync.d.ts +99 -0
  256. package/dist/knowledge-vault/deepwiki-sync.d.ts.map +1 -0
  257. package/dist/knowledge-vault/deepwiki-sync.js +381 -0
  258. package/dist/knowledge-vault/deepwiki-sync.js.map +1 -0
  259. package/dist/knowledge-vault/index.d.ts +11 -0
  260. package/dist/knowledge-vault/index.d.ts.map +1 -0
  261. package/dist/knowledge-vault/index.js +8 -0
  262. package/dist/knowledge-vault/index.js.map +1 -0
  263. package/dist/knowledge-vault/knowledge-vault.d.ts +38 -0
  264. package/dist/knowledge-vault/knowledge-vault.d.ts.map +1 -0
  265. package/dist/knowledge-vault/knowledge-vault.js +284 -0
  266. package/dist/knowledge-vault/knowledge-vault.js.map +1 -0
  267. package/dist/knowledge-vault/opencode-doc-ingest.d.ts +23 -0
  268. package/dist/knowledge-vault/opencode-doc-ingest.d.ts.map +1 -0
  269. package/dist/knowledge-vault/opencode-doc-ingest.js +48 -0
  270. package/dist/knowledge-vault/opencode-doc-ingest.js.map +1 -0
  271. package/dist/knowledge-vault/types.d.ts +61 -0
  272. package/dist/knowledge-vault/types.d.ts.map +1 -0
  273. package/dist/knowledge-vault/types.js +5 -0
  274. package/dist/knowledge-vault/types.js.map +1 -0
  275. package/dist/knowledge-vault/vault-config.d.ts +12 -0
  276. package/dist/knowledge-vault/vault-config.d.ts.map +1 -0
  277. package/dist/knowledge-vault/vault-config.js +24 -0
  278. package/dist/knowledge-vault/vault-config.js.map +1 -0
  279. package/dist/mcp/index.d.ts +28 -0
  280. package/dist/mcp/index.d.ts.map +1 -0
  281. package/dist/mcp/index.js +29 -0
  282. package/dist/mcp/index.js.map +1 -0
  283. package/dist/mcp/mcp-manager.d.ts +181 -0
  284. package/dist/mcp/mcp-manager.d.ts.map +1 -0
  285. package/dist/mcp/mcp-manager.js +621 -0
  286. package/dist/mcp/mcp-manager.js.map +1 -0
  287. package/dist/mcp/mcp-types.d.ts +199 -0
  288. package/dist/mcp/mcp-types.d.ts.map +1 -0
  289. package/dist/mcp/mcp-types.js +152 -0
  290. package/dist/mcp/mcp-types.js.map +1 -0
  291. package/dist/mcp/servers/mcp-server-bridge.d.ts +64 -0
  292. package/dist/mcp/servers/mcp-server-bridge.d.ts.map +1 -0
  293. package/dist/mcp/servers/mcp-server-bridge.js +189 -0
  294. package/dist/mcp/servers/mcp-server-bridge.js.map +1 -0
  295. package/dist/messages/message-bus.d.ts +148 -0
  296. package/dist/messages/message-bus.d.ts.map +1 -0
  297. package/dist/messages/message-bus.js +432 -0
  298. package/dist/messages/message-bus.js.map +1 -0
  299. package/dist/modes/custom-mode-registry.d.ts +121 -0
  300. package/dist/modes/custom-mode-registry.d.ts.map +1 -0
  301. package/dist/modes/custom-mode-registry.js +306 -0
  302. package/dist/modes/custom-mode-registry.js.map +1 -0
  303. package/dist/modes/index.d.ts +10 -0
  304. package/dist/modes/index.d.ts.map +1 -0
  305. package/dist/modes/index.js +8 -0
  306. package/dist/modes/index.js.map +1 -0
  307. package/dist/modes/mode-designer.d.ts +89 -0
  308. package/dist/modes/mode-designer.d.ts.map +1 -0
  309. package/dist/modes/mode-designer.js +485 -0
  310. package/dist/modes/mode-designer.js.map +1 -0
  311. package/dist/modes/mode-manager.d.ts +27 -0
  312. package/dist/modes/mode-manager.d.ts.map +1 -0
  313. package/dist/modes/mode-manager.js +68 -0
  314. package/dist/modes/mode-manager.js.map +1 -0
  315. package/dist/modes/synapse-modes.d.ts +26 -0
  316. package/dist/modes/synapse-modes.d.ts.map +1 -0
  317. package/dist/modes/synapse-modes.js +69 -0
  318. package/dist/modes/synapse-modes.js.map +1 -0
  319. package/dist/opencode/agent-delegate.d.ts +3 -0
  320. package/dist/opencode/agent-delegate.d.ts.map +1 -0
  321. package/dist/opencode/agent-delegate.js +3 -0
  322. package/dist/opencode/agent-delegate.js.map +1 -0
  323. package/dist/opencode/tool-bridge.d.ts +3 -0
  324. package/dist/opencode/tool-bridge.d.ts.map +1 -0
  325. package/dist/opencode/tool-bridge.js +3 -0
  326. package/dist/opencode/tool-bridge.js.map +1 -0
  327. package/dist/optimization/token-optimizer-v2.d.ts +18 -0
  328. package/dist/optimization/token-optimizer-v2.d.ts.map +1 -0
  329. package/dist/optimization/token-optimizer-v2.js +23 -0
  330. package/dist/optimization/token-optimizer-v2.js.map +1 -0
  331. package/dist/optimization/token-optimizer.d.ts +90 -0
  332. package/dist/optimization/token-optimizer.d.ts.map +1 -0
  333. package/dist/optimization/token-optimizer.js +399 -0
  334. package/dist/optimization/token-optimizer.js.map +1 -0
  335. package/dist/parallel/agent-farm.d.ts +123 -0
  336. package/dist/parallel/agent-farm.d.ts.map +1 -0
  337. package/dist/parallel/agent-farm.js +501 -0
  338. package/dist/parallel/agent-farm.js.map +1 -0
  339. package/dist/parallel/farm-scheduler.d.ts +115 -0
  340. package/dist/parallel/farm-scheduler.d.ts.map +1 -0
  341. package/dist/parallel/farm-scheduler.js +356 -0
  342. package/dist/parallel/farm-scheduler.js.map +1 -0
  343. package/dist/parallel/farm-types.d.ts +104 -0
  344. package/dist/parallel/farm-types.d.ts.map +1 -0
  345. package/dist/parallel/farm-types.js +9 -0
  346. package/dist/parallel/farm-types.js.map +1 -0
  347. package/dist/parallel/farm-worker.d.ts +62 -0
  348. package/dist/parallel/farm-worker.d.ts.map +1 -0
  349. package/dist/parallel/farm-worker.js +268 -0
  350. package/dist/parallel/farm-worker.js.map +1 -0
  351. package/dist/parallel/index.d.ts +14 -0
  352. package/dist/parallel/index.d.ts.map +1 -0
  353. package/dist/parallel/index.js +14 -0
  354. package/dist/parallel/index.js.map +1 -0
  355. package/dist/plugin/native-tools.d.ts +8 -0
  356. package/dist/plugin/native-tools.d.ts.map +1 -0
  357. package/dist/plugin/native-tools.js +147 -0
  358. package/dist/plugin/native-tools.js.map +1 -0
  359. package/dist/plugin/opencode-plugin.d.ts +32 -0
  360. package/dist/plugin/opencode-plugin.d.ts.map +1 -0
  361. package/dist/plugin/opencode-plugin.js +119 -0
  362. package/dist/plugin/opencode-plugin.js.map +1 -0
  363. package/dist/plugins/plugin-system.d.ts +108 -0
  364. package/dist/plugins/plugin-system.d.ts.map +1 -0
  365. package/dist/plugins/plugin-system.js +707 -0
  366. package/dist/plugins/plugin-system.js.map +1 -0
  367. package/dist/profiler/cpu-profiler.d.ts +53 -0
  368. package/dist/profiler/cpu-profiler.d.ts.map +1 -0
  369. package/dist/profiler/cpu-profiler.js +233 -0
  370. package/dist/profiler/cpu-profiler.js.map +1 -0
  371. package/dist/profiler/index.d.ts +36 -0
  372. package/dist/profiler/index.d.ts.map +1 -0
  373. package/dist/profiler/index.js +122 -0
  374. package/dist/profiler/index.js.map +1 -0
  375. package/dist/profiler/memory-profiler.d.ts +45 -0
  376. package/dist/profiler/memory-profiler.d.ts.map +1 -0
  377. package/dist/profiler/memory-profiler.js +211 -0
  378. package/dist/profiler/memory-profiler.js.map +1 -0
  379. package/dist/profiler/profiler-types.d.ts +234 -0
  380. package/dist/profiler/profiler-types.d.ts.map +1 -0
  381. package/dist/profiler/profiler-types.js +89 -0
  382. package/dist/profiler/profiler-types.js.map +1 -0
  383. package/dist/profiler/query-profiler.d.ts +48 -0
  384. package/dist/profiler/query-profiler.d.ts.map +1 -0
  385. package/dist/profiler/query-profiler.js +210 -0
  386. package/dist/profiler/query-profiler.js.map +1 -0
  387. package/dist/profiler/report-generator.d.ts +17 -0
  388. package/dist/profiler/report-generator.d.ts.map +1 -0
  389. package/dist/profiler/report-generator.js +329 -0
  390. package/dist/profiler/report-generator.js.map +1 -0
  391. package/dist/sdk/api.d.ts +85 -0
  392. package/dist/sdk/api.d.ts.map +1 -0
  393. package/dist/sdk/api.js +155 -0
  394. package/dist/sdk/api.js.map +1 -0
  395. package/dist/sdk/hooks.d.ts +58 -0
  396. package/dist/sdk/hooks.d.ts.map +1 -0
  397. package/dist/sdk/hooks.js +115 -0
  398. package/dist/sdk/hooks.js.map +1 -0
  399. package/dist/sdk/index.d.ts +17 -0
  400. package/dist/sdk/index.d.ts.map +1 -0
  401. package/dist/sdk/index.js +14 -0
  402. package/dist/sdk/index.js.map +1 -0
  403. package/dist/sdk/plugin-base.d.ts +198 -0
  404. package/dist/sdk/plugin-base.d.ts.map +1 -0
  405. package/dist/sdk/plugin-base.js +227 -0
  406. package/dist/sdk/plugin-base.js.map +1 -0
  407. package/dist/security/audit-rules.d.ts +12 -0
  408. package/dist/security/audit-rules.d.ts.map +1 -0
  409. package/dist/security/audit-rules.js +214 -0
  410. package/dist/security/audit-rules.js.map +1 -0
  411. package/dist/security/index.d.ts +13 -0
  412. package/dist/security/index.d.ts.map +1 -0
  413. package/dist/security/index.js +13 -0
  414. package/dist/security/index.js.map +1 -0
  415. package/dist/security/sarif-exporter.d.ts +36 -0
  416. package/dist/security/sarif-exporter.d.ts.map +1 -0
  417. package/dist/security/sarif-exporter.js +216 -0
  418. package/dist/security/sarif-exporter.js.map +1 -0
  419. package/dist/security/security-auditor.d.ts +30 -0
  420. package/dist/security/security-auditor.d.ts.map +1 -0
  421. package/dist/security/security-auditor.js +295 -0
  422. package/dist/security/security-auditor.js.map +1 -0
  423. package/dist/security/security-types.d.ts +132 -0
  424. package/dist/security/security-types.d.ts.map +1 -0
  425. package/dist/security/security-types.js +7 -0
  426. package/dist/security/security-types.js.map +1 -0
  427. package/dist/synapsexcoder/agent-delegate.d.ts +128 -0
  428. package/dist/synapsexcoder/agent-delegate.d.ts.map +1 -0
  429. package/dist/synapsexcoder/agent-delegate.js +837 -0
  430. package/dist/synapsexcoder/agent-delegate.js.map +1 -0
  431. package/dist/synapsexcoder/agent-mailbox.d.ts +26 -0
  432. package/dist/synapsexcoder/agent-mailbox.d.ts.map +1 -0
  433. package/dist/synapsexcoder/agent-mailbox.js +64 -0
  434. package/dist/synapsexcoder/agent-mailbox.js.map +1 -0
  435. package/dist/synapsexcoder/ast-grep/ast-grep-api.d.ts +62 -0
  436. package/dist/synapsexcoder/ast-grep/ast-grep-api.d.ts.map +1 -0
  437. package/dist/synapsexcoder/ast-grep/ast-grep-api.js +223 -0
  438. package/dist/synapsexcoder/ast-grep/ast-grep-api.js.map +1 -0
  439. package/dist/synapsexcoder/cited-search.d.ts +32 -0
  440. package/dist/synapsexcoder/cited-search.d.ts.map +1 -0
  441. package/dist/synapsexcoder/cited-search.js +141 -0
  442. package/dist/synapsexcoder/cited-search.js.map +1 -0
  443. package/dist/synapsexcoder/credential-store.d.ts +42 -0
  444. package/dist/synapsexcoder/credential-store.d.ts.map +1 -0
  445. package/dist/synapsexcoder/credential-store.js +165 -0
  446. package/dist/synapsexcoder/credential-store.js.map +1 -0
  447. package/dist/synapsexcoder/devcontainer-awareness.d.ts +35 -0
  448. package/dist/synapsexcoder/devcontainer-awareness.d.ts.map +1 -0
  449. package/dist/synapsexcoder/devcontainer-awareness.js +133 -0
  450. package/dist/synapsexcoder/devcontainer-awareness.js.map +1 -0
  451. package/dist/synapsexcoder/execution-loops/helix-loop.d.ts +31 -0
  452. package/dist/synapsexcoder/execution-loops/helix-loop.d.ts.map +1 -0
  453. package/dist/synapsexcoder/execution-loops/helix-loop.js +93 -0
  454. package/dist/synapsexcoder/execution-loops/helix-loop.js.map +1 -0
  455. package/dist/synapsexcoder/execution-loops/ralp-loop.d.ts +28 -0
  456. package/dist/synapsexcoder/execution-loops/ralp-loop.d.ts.map +1 -0
  457. package/dist/synapsexcoder/execution-loops/ralp-loop.js +77 -0
  458. package/dist/synapsexcoder/execution-loops/ralp-loop.js.map +1 -0
  459. package/dist/synapsexcoder/feature-names.d.ts +27 -0
  460. package/dist/synapsexcoder/feature-names.d.ts.map +1 -0
  461. package/dist/synapsexcoder/feature-names.js +40 -0
  462. package/dist/synapsexcoder/feature-names.js.map +1 -0
  463. package/dist/synapsexcoder/index.d.ts +39 -0
  464. package/dist/synapsexcoder/index.d.ts.map +1 -0
  465. package/dist/synapsexcoder/index.js +23 -0
  466. package/dist/synapsexcoder/index.js.map +1 -0
  467. package/dist/synapsexcoder/knowledge-provider.d.ts +44 -0
  468. package/dist/synapsexcoder/knowledge-provider.d.ts.map +1 -0
  469. package/dist/synapsexcoder/knowledge-provider.js +107 -0
  470. package/dist/synapsexcoder/knowledge-provider.js.map +1 -0
  471. package/dist/synapsexcoder/lsp/lsp-layer.d.ts +51 -0
  472. package/dist/synapsexcoder/lsp/lsp-layer.d.ts.map +1 -0
  473. package/dist/synapsexcoder/lsp/lsp-layer.js +302 -0
  474. package/dist/synapsexcoder/lsp/lsp-layer.js.map +1 -0
  475. package/dist/synapsexcoder/migration/opencode-config-migrator.d.ts +37 -0
  476. package/dist/synapsexcoder/migration/opencode-config-migrator.d.ts.map +1 -0
  477. package/dist/synapsexcoder/migration/opencode-config-migrator.js +100 -0
  478. package/dist/synapsexcoder/migration/opencode-config-migrator.js.map +1 -0
  479. package/dist/synapsexcoder/runtime-environment.d.ts +35 -0
  480. package/dist/synapsexcoder/runtime-environment.d.ts.map +1 -0
  481. package/dist/synapsexcoder/runtime-environment.js +108 -0
  482. package/dist/synapsexcoder/runtime-environment.js.map +1 -0
  483. package/dist/synapsexcoder/secret-guard.d.ts +18 -0
  484. package/dist/synapsexcoder/secret-guard.d.ts.map +1 -0
  485. package/dist/synapsexcoder/secret-guard.js +69 -0
  486. package/dist/synapsexcoder/secret-guard.js.map +1 -0
  487. package/dist/synapsexcoder/self-prompt-engine.d.ts +15 -0
  488. package/dist/synapsexcoder/self-prompt-engine.d.ts.map +1 -0
  489. package/dist/synapsexcoder/self-prompt-engine.js +11 -0
  490. package/dist/synapsexcoder/self-prompt-engine.js.map +1 -0
  491. package/dist/synapsexcoder/session-observability.d.ts +44 -0
  492. package/dist/synapsexcoder/session-observability.d.ts.map +1 -0
  493. package/dist/synapsexcoder/session-observability.js +115 -0
  494. package/dist/synapsexcoder/session-observability.js.map +1 -0
  495. package/dist/synapsexcoder/specialist-agents.d.ts +38 -0
  496. package/dist/synapsexcoder/specialist-agents.d.ts.map +1 -0
  497. package/dist/synapsexcoder/specialist-agents.js +192 -0
  498. package/dist/synapsexcoder/specialist-agents.js.map +1 -0
  499. package/dist/synapsexcoder/swarm/kanban-board.d.ts +34 -0
  500. package/dist/synapsexcoder/swarm/kanban-board.d.ts.map +1 -0
  501. package/dist/synapsexcoder/swarm/kanban-board.js +85 -0
  502. package/dist/synapsexcoder/swarm/kanban-board.js.map +1 -0
  503. package/dist/synapsexcoder/swarm/swarm-mailbox.d.ts +38 -0
  504. package/dist/synapsexcoder/swarm/swarm-mailbox.d.ts.map +1 -0
  505. package/dist/synapsexcoder/swarm/swarm-mailbox.js +93 -0
  506. package/dist/synapsexcoder/swarm/swarm-mailbox.js.map +1 -0
  507. package/dist/synapsexcoder/tool-bridge.d.ts +277 -0
  508. package/dist/synapsexcoder/tool-bridge.d.ts.map +1 -0
  509. package/dist/synapsexcoder/tool-bridge.js +1356 -0
  510. package/dist/synapsexcoder/tool-bridge.js.map +1 -0
  511. package/dist/synapsexcoder/tool-routing.d.ts +28 -0
  512. package/dist/synapsexcoder/tool-routing.d.ts.map +1 -0
  513. package/dist/synapsexcoder/tool-routing.js +79 -0
  514. package/dist/synapsexcoder/tool-routing.js.map +1 -0
  515. package/dist/synapsexcoder/type-injector.d.ts +26 -0
  516. package/dist/synapsexcoder/type-injector.d.ts.map +1 -0
  517. package/dist/synapsexcoder/type-injector.js +124 -0
  518. package/dist/synapsexcoder/type-injector.js.map +1 -0
  519. package/dist/synapsexcoder/utils/fuzzy-match.d.ts +25 -0
  520. package/dist/synapsexcoder/utils/fuzzy-match.d.ts.map +1 -0
  521. package/dist/synapsexcoder/utils/fuzzy-match.js +83 -0
  522. package/dist/synapsexcoder/utils/fuzzy-match.js.map +1 -0
  523. package/dist/synapsexcoder/vault-crawl.d.ts +29 -0
  524. package/dist/synapsexcoder/vault-crawl.d.ts.map +1 -0
  525. package/dist/synapsexcoder/vault-crawl.js +103 -0
  526. package/dist/synapsexcoder/vault-crawl.js.map +1 -0
  527. package/dist/synapsexcoder/verified-apply.d.ts +39 -0
  528. package/dist/synapsexcoder/verified-apply.d.ts.map +1 -0
  529. package/dist/synapsexcoder/verified-apply.js +81 -0
  530. package/dist/synapsexcoder/verified-apply.js.map +1 -0
  531. package/dist/synapsexcoder/verified-context-editing.d.ts +34 -0
  532. package/dist/synapsexcoder/verified-context-editing.d.ts.map +1 -0
  533. package/dist/synapsexcoder/verified-context-editing.js +80 -0
  534. package/dist/synapsexcoder/verified-context-editing.js.map +1 -0
  535. package/dist/synapsexcoder/worker-pool.d.ts +47 -0
  536. package/dist/synapsexcoder/worker-pool.d.ts.map +1 -0
  537. package/dist/synapsexcoder/worker-pool.js +120 -0
  538. package/dist/synapsexcoder/worker-pool.js.map +1 -0
  539. package/dist/synapsexcoder/workspace-intelligence.d.ts +35 -0
  540. package/dist/synapsexcoder/workspace-intelligence.d.ts.map +1 -0
  541. package/dist/synapsexcoder/workspace-intelligence.js +126 -0
  542. package/dist/synapsexcoder/workspace-intelligence.js.map +1 -0
  543. package/dist/synapsexcoder/worktree-manager.d.ts +31 -0
  544. package/dist/synapsexcoder/worktree-manager.d.ts.map +1 -0
  545. package/dist/synapsexcoder/worktree-manager.js +100 -0
  546. package/dist/synapsexcoder/worktree-manager.js.map +1 -0
  547. package/dist/team/index.d.ts +17 -0
  548. package/dist/team/index.d.ts.map +1 -0
  549. package/dist/team/index.js +13 -0
  550. package/dist/team/index.js.map +1 -0
  551. package/dist/team/team-audit.d.ts +120 -0
  552. package/dist/team/team-audit.d.ts.map +1 -0
  553. package/dist/team/team-audit.js +357 -0
  554. package/dist/team/team-audit.js.map +1 -0
  555. package/dist/team/team-collaboration.d.ts +150 -0
  556. package/dist/team/team-collaboration.d.ts.map +1 -0
  557. package/dist/team/team-collaboration.js +495 -0
  558. package/dist/team/team-collaboration.js.map +1 -0
  559. package/dist/team/team-rbac.d.ts +84 -0
  560. package/dist/team/team-rbac.d.ts.map +1 -0
  561. package/dist/team/team-rbac.js +259 -0
  562. package/dist/team/team-rbac.js.map +1 -0
  563. package/dist/team/team-session-manager.d.ts +100 -0
  564. package/dist/team/team-session-manager.d.ts.map +1 -0
  565. package/dist/team/team-session-manager.js +255 -0
  566. package/dist/team/team-session-manager.js.map +1 -0
  567. package/dist/thoughts/thoughts-manager.d.ts +52 -0
  568. package/dist/thoughts/thoughts-manager.d.ts.map +1 -0
  569. package/dist/thoughts/thoughts-manager.js +271 -0
  570. package/dist/thoughts/thoughts-manager.js.map +1 -0
  571. package/dist/tools/api-validator/index.d.ts +97 -0
  572. package/dist/tools/api-validator/index.d.ts.map +1 -0
  573. package/dist/tools/api-validator/index.js +312 -0
  574. package/dist/tools/api-validator/index.js.map +1 -0
  575. package/dist/tools/code-archaeology/index.d.ts +193 -0
  576. package/dist/tools/code-archaeology/index.d.ts.map +1 -0
  577. package/dist/tools/code-archaeology/index.js +468 -0
  578. package/dist/tools/code-archaeology/index.js.map +1 -0
  579. package/dist/tools/codebase-search/index.d.ts +126 -0
  580. package/dist/tools/codebase-search/index.d.ts.map +1 -0
  581. package/dist/tools/codebase-search/index.js +437 -0
  582. package/dist/tools/codebase-search/index.js.map +1 -0
  583. package/dist/tools/context/index.d.ts +162 -0
  584. package/dist/tools/context/index.d.ts.map +1 -0
  585. package/dist/tools/context/index.js +332 -0
  586. package/dist/tools/context/index.js.map +1 -0
  587. package/dist/tools/deepwiki/analyzer.d.ts +167 -0
  588. package/dist/tools/deepwiki/analyzer.d.ts.map +1 -0
  589. package/dist/tools/deepwiki/analyzer.js +925 -0
  590. package/dist/tools/deepwiki/analyzer.js.map +1 -0
  591. package/dist/tools/deepwiki/extractor.d.ts +151 -0
  592. package/dist/tools/deepwiki/extractor.d.ts.map +1 -0
  593. package/dist/tools/deepwiki/extractor.js +923 -0
  594. package/dist/tools/deepwiki/extractor.js.map +1 -0
  595. package/dist/tools/deepwiki/generator.d.ts +89 -0
  596. package/dist/tools/deepwiki/generator.d.ts.map +1 -0
  597. package/dist/tools/deepwiki/generator.js +638 -0
  598. package/dist/tools/deepwiki/generator.js.map +1 -0
  599. package/dist/tools/deepwiki/index.d.ts +96 -0
  600. package/dist/tools/deepwiki/index.d.ts.map +1 -0
  601. package/dist/tools/deepwiki/index.js +282 -0
  602. package/dist/tools/deepwiki/index.js.map +1 -0
  603. package/dist/tools/deepwiki/types.d.ts +370 -0
  604. package/dist/tools/deepwiki/types.d.ts.map +1 -0
  605. package/dist/tools/deepwiki/types.js +21 -0
  606. package/dist/tools/deepwiki/types.js.map +1 -0
  607. package/dist/tools/dependency-mapper/index.d.ts +212 -0
  608. package/dist/tools/dependency-mapper/index.d.ts.map +1 -0
  609. package/dist/tools/dependency-mapper/index.js +592 -0
  610. package/dist/tools/dependency-mapper/index.js.map +1 -0
  611. package/dist/tools/memory/index.d.ts +120 -0
  612. package/dist/tools/memory/index.d.ts.map +1 -0
  613. package/dist/tools/memory/index.js +275 -0
  614. package/dist/tools/memory/index.js.map +1 -0
  615. package/dist/tools/normalize_patch.d.ts +3 -0
  616. package/dist/tools/normalize_patch.d.ts.map +1 -0
  617. package/dist/tools/normalize_patch.js +22 -0
  618. package/dist/tools/normalize_patch.js.map +1 -0
  619. package/dist/tools/pattern-detector/index.d.ts +105 -0
  620. package/dist/tools/pattern-detector/index.d.ts.map +1 -0
  621. package/dist/tools/pattern-detector/index.js +526 -0
  622. package/dist/tools/pattern-detector/index.js.map +1 -0
  623. package/dist/tools/performance-profiler/index.d.ts +50 -0
  624. package/dist/tools/performance-profiler/index.d.ts.map +1 -0
  625. package/dist/tools/performance-profiler/index.js +164 -0
  626. package/dist/tools/performance-profiler/index.js.map +1 -0
  627. package/dist/tools/refactoring-engine/index.d.ts +63 -0
  628. package/dist/tools/refactoring-engine/index.d.ts.map +1 -0
  629. package/dist/tools/refactoring-engine/index.js +270 -0
  630. package/dist/tools/refactoring-engine/index.js.map +1 -0
  631. package/dist/tools/registry.d.ts +36 -0
  632. package/dist/tools/registry.d.ts.map +1 -0
  633. package/dist/tools/registry.js +499 -0
  634. package/dist/tools/registry.js.map +1 -0
  635. package/dist/tools/test-generator/index.d.ts +152 -0
  636. package/dist/tools/test-generator/index.d.ts.map +1 -0
  637. package/dist/tools/test-generator/index.js +448 -0
  638. package/dist/tools/test-generator/index.js.map +1 -0
  639. package/dist/types/index.d.ts +565 -0
  640. package/dist/types/index.d.ts.map +1 -0
  641. package/dist/types/index.js +7 -0
  642. package/dist/types/index.js.map +1 -0
  643. package/dist/utils/path-validator.d.ts +94 -0
  644. package/dist/utils/path-validator.d.ts.map +1 -0
  645. package/dist/utils/path-validator.js +192 -0
  646. package/dist/utils/path-validator.js.map +1 -0
  647. package/dist/utils/secure-exec.d.ts +92 -0
  648. package/dist/utils/secure-exec.d.ts.map +1 -0
  649. package/dist/utils/secure-exec.js +230 -0
  650. package/dist/utils/secure-exec.js.map +1 -0
  651. package/dist/verification/claim-parser.d.ts +37 -0
  652. package/dist/verification/claim-parser.d.ts.map +1 -0
  653. package/dist/verification/claim-parser.js +231 -0
  654. package/dist/verification/claim-parser.js.map +1 -0
  655. package/dist/verification/cross-reference-engine.d.ts +55 -0
  656. package/dist/verification/cross-reference-engine.d.ts.map +1 -0
  657. package/dist/verification/cross-reference-engine.js +149 -0
  658. package/dist/verification/cross-reference-engine.js.map +1 -0
  659. package/dist/verification/discrepancy-tracker.d.ts +73 -0
  660. package/dist/verification/discrepancy-tracker.d.ts.map +1 -0
  661. package/dist/verification/discrepancy-tracker.js +196 -0
  662. package/dist/verification/discrepancy-tracker.js.map +1 -0
  663. package/dist/verification/feature-reconciler.d.ts +90 -0
  664. package/dist/verification/feature-reconciler.d.ts.map +1 -0
  665. package/dist/verification/feature-reconciler.js +264 -0
  666. package/dist/verification/feature-reconciler.js.map +1 -0
  667. package/dist/verification/index.d.ts +16 -0
  668. package/dist/verification/index.d.ts.map +1 -0
  669. package/dist/verification/index.js +19 -0
  670. package/dist/verification/index.js.map +1 -0
  671. package/dist/verification/integration-verifier.d.ts +66 -0
  672. package/dist/verification/integration-verifier.d.ts.map +1 -0
  673. package/dist/verification/integration-verifier.js +210 -0
  674. package/dist/verification/integration-verifier.js.map +1 -0
  675. package/dist/verification/recursive-audit-loop.d.ts +56 -0
  676. package/dist/verification/recursive-audit-loop.d.ts.map +1 -0
  677. package/dist/verification/recursive-audit-loop.js +136 -0
  678. package/dist/verification/recursive-audit-loop.js.map +1 -0
  679. package/dist/verification/runtime-verifier.d.ts +37 -0
  680. package/dist/verification/runtime-verifier.d.ts.map +1 -0
  681. package/dist/verification/runtime-verifier.js +221 -0
  682. package/dist/verification/runtime-verifier.js.map +1 -0
  683. package/dist/verification/types.d.ts +88 -0
  684. package/dist/verification/types.d.ts.map +1 -0
  685. package/dist/verification/types.js +5 -0
  686. package/dist/verification/types.js.map +1 -0
  687. package/dist/verification/verification-engine.d.ts +48 -0
  688. package/dist/verification/verification-engine.d.ts.map +1 -0
  689. package/dist/verification/verification-engine.js +203 -0
  690. package/dist/verification/verification-engine.js.map +1 -0
  691. package/opencode-agents/synapse-analyzer.md +64 -0
  692. package/opencode-agents/synapse-debugger.md +43 -0
  693. package/opencode-agents/synapse-diff-validator.md +42 -0
  694. package/opencode-agents/synapse-gatekeeper.md +273 -0
  695. package/opencode-agents/synapse-master.md +167 -0
  696. package/opencode-agents/synapse-planner.md +55 -0
  697. package/opencode-agents/synapse-researcher.md +61 -0
  698. package/opencode-agents/synapse-reviewer.md +64 -0
  699. package/opencode-agents/synapse-rewriter.md +62 -0
  700. package/opencode-agents/synapse-strategist.md +50 -0
  701. package/opencode-agents/synapse-test-runner.md +43 -0
  702. package/opencode-agents/synapse-ui-designer.md +61 -0
  703. package/opencode-agents/synapse-verifier.md +544 -0
  704. package/package.json +108 -0
  705. package/src/plugin/opencode-plugin.ts +141 -0
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Shell Strategy Integration — Non-Interactive Shell Instruction Set
3
+ *
4
+ * Hard-wired adaptation of JRedeker/opencode-shell-strategy
5
+ * Source: https://github.com/JRedeker/opencode-shell-strategy
6
+ *
7
+ * Teaches the LLM to use non-interactive shell flags in OpenCode's headless
8
+ * environment (no TTY/PTY available). Prevents hangs from:
9
+ * - Interactive prompts (yes/no confirmations)
10
+ * - Editor/pager launches (vim, nano, less, more)
11
+ * - TTY-dependent commands
12
+ */
13
+ import type { PluginModule } from "../plugins/plugin-system.js";
14
+ /**
15
+ * The full shell strategy instruction set that gets injected into the
16
+ * system prompt via the experimental.chat.system.transform hook.
17
+ */
18
+ export declare const SHELL_STRATEGY_INSTRUCTIONS = "# Shell Non-Interactive Strategy\n\n**Context:** This environment is strictly **non-interactive**. It lacks a TTY/PTY.\nAny command that waits for user input, confirmation, or launches a UI (editor/pager)\nwill hang indefinitely and timeout.\n\n## Core Mandates\n\n1. **Assume CI=true** \u2014 Act as if running in a headless CI/CD pipeline.\n2. **No Editors/Pagers** \u2014 `vim`, `nano`, `less`, `more`, `man` are BANNED.\n3. **Force & Yes** \u2014 Always preemptively supply \"yes\" or \"force\" flags.\n4. **Prefer Native Tools** \u2014 Use Read/Write/Edit over shell manipulation.\n5. **No Human in Loop** \u2014 Never stop to \"wait for instructions\" mid-task.\n\n## Package Managers\n\n| Tool | Bad (hangs) | Good |\n|------|------------|------|\n| npm | `npm init` | `npm init -y` |\n| npm | `npm install` | `npm install --no-audit --no-fund` |\n| apt | `apt-get install pkg` | `apt-get install -y pkg` |\n| pip | `pip install pkg` | `pip install --no-input pkg` |\n| yarn | `yarn add` | `yarn add --non-interactive` |\n| cargo| `cargo new` | `cargo new --name project` |\n\n## Git Operations\n\n| Action | Bad (hangs) | Good |\n|--------|------------|------|\n| Commit | `git commit` | `git commit -m \"message\"` |\n| Merge | `git merge` | `git merge --no-edit` |\n| Pull | `git pull` | `git pull --no-edit` |\n| Rebase | `git rebase` | `git rebase --onto` |\n\n## Interactive Commands to Avoid\n\n- \u274C `python` / `python3` (opens REPL)\n- \u274C `node` (opens REPL)\n- \u274C `irb` / `rails c` (opens REPL)\n- \u274C `sqlite3` / `psql` (opens interactive shell)\n- \u274C `htop` / `top` (interactive monitor)\n- \u274C `nano` / `vim` / `emacs` (text editors)\n\n## Piping Strategy\n\nWhen you need to provide input to a command, use these patterns:\n\n- `yes | command` \u2014 Answer \"yes\" to all prompts\n- `echo \"input\" | command` \u2014 Provide specific input\n- `printf \"y\\n\" | command` \u2014 Answer \"yes\" once\n- `cat <<EOF | command` \u2014 Provide multi-line input\n- `command <<< \"input\"` \u2014 Provide string input\n\n## Environment Variables\n\n- `CI=true` \u2014 Many tools auto-disable interactive mode\n- `DEBIAN_FRONTEND=noninteractive` \u2014 apt-get non-interactive\n- `GIT_TERMINAL_PROMPT=0` \u2014 Disable git prompts\n- `NPM_CONFIG_AUDIT=false` \u2014 Skip npm audit\n- `PIP_NO_INPUT=1` \u2014 pip non-interactive\n";
19
+ /**
20
+ * Generate a concise strategy prompt for a specific shell context.
21
+ */
22
+ export declare function getShellStrategyPrompt(command: string, _context?: string): string;
23
+ /** Plugin module adapter */
24
+ export declare const shellStrategyPlugin: PluginModule;
25
+ export default shellStrategyPlugin;
26
+ //# sourceMappingURL=shell-strategy-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-strategy-integration.d.ts","sourceRoot":"","sources":["../../src/integration/shell-strategy-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,2BAA2B,u0EA4DvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAmBR;AAED,4BAA4B;AAC5B,eAAO,MAAM,mBAAmB,EAAE,YAOjC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Shell Strategy Integration — Non-Interactive Shell Instruction Set
3
+ *
4
+ * Hard-wired adaptation of JRedeker/opencode-shell-strategy
5
+ * Source: https://github.com/JRedeker/opencode-shell-strategy
6
+ *
7
+ * Teaches the LLM to use non-interactive shell flags in OpenCode's headless
8
+ * environment (no TTY/PTY available). Prevents hangs from:
9
+ * - Interactive prompts (yes/no confirmations)
10
+ * - Editor/pager launches (vim, nano, less, more)
11
+ * - TTY-dependent commands
12
+ */
13
+ /**
14
+ * The full shell strategy instruction set that gets injected into the
15
+ * system prompt via the experimental.chat.system.transform hook.
16
+ */
17
+ export const SHELL_STRATEGY_INSTRUCTIONS = `# Shell Non-Interactive Strategy
18
+
19
+ **Context:** This environment is strictly **non-interactive**. It lacks a TTY/PTY.
20
+ Any command that waits for user input, confirmation, or launches a UI (editor/pager)
21
+ will hang indefinitely and timeout.
22
+
23
+ ## Core Mandates
24
+
25
+ 1. **Assume CI=true** — Act as if running in a headless CI/CD pipeline.
26
+ 2. **No Editors/Pagers** — \`vim\`, \`nano\`, \`less\`, \`more\`, \`man\` are BANNED.
27
+ 3. **Force & Yes** — Always preemptively supply "yes" or "force" flags.
28
+ 4. **Prefer Native Tools** — Use Read/Write/Edit over shell manipulation.
29
+ 5. **No Human in Loop** — Never stop to "wait for instructions" mid-task.
30
+
31
+ ## Package Managers
32
+
33
+ | Tool | Bad (hangs) | Good |
34
+ |------|------------|------|
35
+ | npm | \`npm init\` | \`npm init -y\` |
36
+ | npm | \`npm install\` | \`npm install --no-audit --no-fund\` |
37
+ | apt | \`apt-get install pkg\` | \`apt-get install -y pkg\` |
38
+ | pip | \`pip install pkg\` | \`pip install --no-input pkg\` |
39
+ | yarn | \`yarn add\` | \`yarn add --non-interactive\` |
40
+ | cargo| \`cargo new\` | \`cargo new --name project\` |
41
+
42
+ ## Git Operations
43
+
44
+ | Action | Bad (hangs) | Good |
45
+ |--------|------------|------|
46
+ | Commit | \`git commit\` | \`git commit -m "message"\` |
47
+ | Merge | \`git merge\` | \`git merge --no-edit\` |
48
+ | Pull | \`git pull\` | \`git pull --no-edit\` |
49
+ | Rebase | \`git rebase\` | \`git rebase --onto\` |
50
+
51
+ ## Interactive Commands to Avoid
52
+
53
+ - ❌ \`python\` / \`python3\` (opens REPL)
54
+ - ❌ \`node\` (opens REPL)
55
+ - ❌ \`irb\` / \`rails c\` (opens REPL)
56
+ - ❌ \`sqlite3\` / \`psql\` (opens interactive shell)
57
+ - ❌ \`htop\` / \`top\` (interactive monitor)
58
+ - ❌ \`nano\` / \`vim\` / \`emacs\` (text editors)
59
+
60
+ ## Piping Strategy
61
+
62
+ When you need to provide input to a command, use these patterns:
63
+
64
+ - \`yes | command\` — Answer "yes" to all prompts
65
+ - \`echo "input" | command\` — Provide specific input
66
+ - \`printf "y\\n" | command\` — Answer "yes" once
67
+ - \`cat <<EOF | command\` — Provide multi-line input
68
+ - \`command <<< "input"\` — Provide string input
69
+
70
+ ## Environment Variables
71
+
72
+ - \`CI=true\` — Many tools auto-disable interactive mode
73
+ - \`DEBIAN_FRONTEND=noninteractive\` — apt-get non-interactive
74
+ - \`GIT_TERMINAL_PROMPT=0\` — Disable git prompts
75
+ - \`NPM_CONFIG_AUDIT=false\` — Skip npm audit
76
+ - \`PIP_NO_INPUT=1\` — pip non-interactive
77
+ `;
78
+ /**
79
+ * Generate a concise strategy prompt for a specific shell context.
80
+ */
81
+ export function getShellStrategyPrompt(command, _context) {
82
+ // Check for package manager hints
83
+ if (command.startsWith("npm")) {
84
+ return `Run: ${command} --no-audit --no-fund (non-interactive flags required)`;
85
+ }
86
+ if (command.startsWith("apt")) {
87
+ return `Run: ${command} -y (auto-confirm required, no TTY available)`;
88
+ }
89
+ if (command.startsWith("pip")) {
90
+ return `Run: ${command} --no-input (non-interactive mode required)`;
91
+ }
92
+ if (command.startsWith("git commit")) {
93
+ return `Run with -m flag: ${command} (interactive editor will hang)`;
94
+ }
95
+ if (command.startsWith("git")) {
96
+ return `Run with --no-edit: ${command} (non-interactive mode required)`;
97
+ }
98
+ return SHELL_STRATEGY_INSTRUCTIONS;
99
+ }
100
+ /** Plugin module adapter */
101
+ export const shellStrategyPlugin = {
102
+ activate(context) {
103
+ context.logger("[shell-strategy] Shell strategy instructions loaded");
104
+ },
105
+ deactivate() {
106
+ // Cleanup
107
+ },
108
+ };
109
+ export default shellStrategyPlugin;
110
+ //# sourceMappingURL=shell-strategy-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-strategy-integration.js","sourceRoot":"","sources":["../../src/integration/shell-strategy-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4D1C,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,QAAiB;IAEjB,kCAAkC;IAClC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,OAAO,wDAAwD,CAAC;IACjF,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,OAAO,+CAA+C,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,OAAO,6CAA6C,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,OAAO,qBAAqB,OAAO,iCAAiC,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,uBAAuB,OAAO,kCAAkC,CAAC;IAC1E,CAAC;IAED,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,mBAAmB,GAAiB;IAC/C,QAAQ,CAAC,OAAsB;QAC7B,OAAO,CAAC,MAAM,CAAC,qDAAqD,CAAC,CAAC;IACxE,CAAC;IACD,UAAU;QACR,UAAU;IACZ,CAAC;CACF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Skillful Integration — Lazy-Loaded Skill Discovery & Injection
3
+ *
4
+ * Hard-wired adaptation of @zenobius/opencode-skillful
5
+ * Source: https://github.com/zenobi-us/opencode-skillful
6
+ *
7
+ * Provides on-demand skill loading with:
8
+ * - skill_find: Search and discover skills by keyword
9
+ * - skill_use: Load skills into chat context
10
+ * - skill_resource: Read skill reference files
11
+ * - Model-aware format rendering (XML/JSON/Markdown)
12
+ * - Pre-indexed resource security
13
+ */
14
+ import type { PluginModule } from "../plugins/plugin-system.js";
15
+ import type { SkillDefinition, SkillfulConfig } from "./types.js";
16
+ export declare class SkillRegistry {
17
+ private skills;
18
+ private config;
19
+ private initialized;
20
+ constructor(config?: SkillfulConfig);
21
+ /**
22
+ * Initialize the registry — scan all base paths for SKILL.md files.
23
+ */
24
+ initialize(): void;
25
+ /**
26
+ * Recursively scan a directory for SKILL.md files.
27
+ */
28
+ private scanDirectory;
29
+ /**
30
+ * Parse a SKILL.md file and build a SkillDefinition.
31
+ */
32
+ private parseSkill;
33
+ /**
34
+ * Find files in a subdirectory, relative to the skill dir.
35
+ */
36
+ private findFiles;
37
+ /**
38
+ * Find skills matching a query string.
39
+ * Supports: keywords (AND), negation (-term), exact phrases ("phrase")
40
+ */
41
+ find(query: string): SkillDefinition[];
42
+ /**
43
+ * Get a skill by its identifier.
44
+ */
45
+ get(identifier: string): SkillDefinition | undefined;
46
+ /**
47
+ * Get all skills.
48
+ */
49
+ getAll(): SkillDefinition[];
50
+ /**
51
+ * Get the content of a skill resource file.
52
+ */
53
+ readResource(identifier: string, relativePath: string): {
54
+ content: string;
55
+ mimeType: string;
56
+ } | null;
57
+ /**
58
+ * Detect MIME type from file extension.
59
+ */
60
+ private detectMimeType;
61
+ /**
62
+ * Render skill list in the configured format.
63
+ */
64
+ render(skills: SkillDefinition[], format?: "xml" | "json" | "md"): string;
65
+ /**
66
+ * Render a loaded skill for injection.
67
+ */
68
+ renderForInjection(skill: SkillDefinition, format?: "xml" | "json" | "md"): string;
69
+ }
70
+ export declare function getSkillRegistry(config?: SkillfulConfig): SkillRegistry;
71
+ /** Plugin module adapter */
72
+ export declare const skillfulPlugin: PluginModule;
73
+ export default skillfulPlugin;
74
+ //# sourceMappingURL=skillful-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillful-integration.d.ts","sourceRoot":"","sources":["../../src/integration/skillful-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,GAAE,cAAmB;IAcvC;;OAEG;IACH,UAAU,IAAI,IAAI;IAelB;;OAEG;IACH,OAAO,CAAC,aAAa;IA2BrB;;OAEG;IACH,OAAO,CAAC,UAAU;IA0ClB;;OAEG;IACH,OAAO,CAAC,SAAS;IAgBjB;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE;IAmDtC;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAKpD;;OAEG;IACH,MAAM,IAAI,eAAe,EAAE;IAK3B;;OAEG;IACH,YAAY,CACV,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAyB/C;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,MAAM,CACJ,MAAM,EAAE,eAAe,EAAE,EACzB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,IAAY,GACpC,MAAM;IA4BT;;OAEG;IACH,kBAAkB,CAChB,KAAK,EAAE,eAAe,EACtB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,IAAY,GACpC,MAAM;CAkBV;AAKD,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,aAAa,CAMvE;AAED,4BAA4B;AAC5B,eAAO,MAAM,cAAc,EAAE,YAS5B,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,317 @@
1
+ /**
2
+ * Skillful Integration — Lazy-Loaded Skill Discovery & Injection
3
+ *
4
+ * Hard-wired adaptation of @zenobius/opencode-skillful
5
+ * Source: https://github.com/zenobi-us/opencode-skillful
6
+ *
7
+ * Provides on-demand skill loading with:
8
+ * - skill_find: Search and discover skills by keyword
9
+ * - skill_use: Load skills into chat context
10
+ * - skill_resource: Read skill reference files
11
+ * - Model-aware format rendering (XML/JSON/Markdown)
12
+ * - Pre-indexed resource security
13
+ */
14
+ import { readFileSync, existsSync, readdirSync, statSync } from "fs";
15
+ import { join, resolve } from "path";
16
+ import { homedir } from "os";
17
+ export class SkillRegistry {
18
+ skills = new Map();
19
+ config;
20
+ initialized = false;
21
+ constructor(config = {}) {
22
+ this.config = {
23
+ enabled: true,
24
+ debug: false,
25
+ basePaths: [
26
+ join(homedir(), ".config", "opencode", "skills"),
27
+ join(process.cwd(), ".opencode", "skills"),
28
+ ],
29
+ promptRenderer: "xml",
30
+ modelRenderers: {},
31
+ ...config,
32
+ };
33
+ }
34
+ /**
35
+ * Initialize the registry — scan all base paths for SKILL.md files.
36
+ */
37
+ initialize() {
38
+ if (this.initialized)
39
+ return;
40
+ for (const basePath of this.config.basePaths || []) {
41
+ const resolved = resolve(basePath);
42
+ if (!existsSync(resolved))
43
+ continue;
44
+ this.scanDirectory(resolved, "");
45
+ }
46
+ this.initialized = true;
47
+ if (this.config.debug) {
48
+ console.log(`[skillful] Discovered ${this.skills.size} skills`);
49
+ }
50
+ }
51
+ /**
52
+ * Recursively scan a directory for SKILL.md files.
53
+ */
54
+ scanDirectory(dirPath, prefix) {
55
+ try {
56
+ const entries = readdirSync(dirPath, { withFileTypes: true });
57
+ for (const entry of entries) {
58
+ if (entry.isDirectory()) {
59
+ const skillDir = join(dirPath, entry.name);
60
+ const skillMdPath = join(skillDir, "SKILL.md");
61
+ const skillKey = prefix
62
+ ? `${prefix}_${entry.name.replace(/-/g, "_")}`
63
+ : entry.name.replace(/-/g, "_");
64
+ if (existsSync(skillMdPath)) {
65
+ const skill = this.parseSkill(skillKey, entry.name, skillDir, skillMdPath);
66
+ if (skill) {
67
+ this.skills.set(skillKey, skill);
68
+ }
69
+ }
70
+ // Recurse into subdirectories
71
+ this.scanDirectory(skillDir, skillKey);
72
+ }
73
+ }
74
+ }
75
+ catch {
76
+ // Silently skip inaccessible directories
77
+ }
78
+ }
79
+ /**
80
+ * Parse a SKILL.md file and build a SkillDefinition.
81
+ */
82
+ parseSkill(identifier, shortName, skillDir, skillMdPath) {
83
+ try {
84
+ const content = readFileSync(skillMdPath, "utf-8");
85
+ // Extract name and description from YAML frontmatter
86
+ const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
87
+ let name = identifier;
88
+ let description = "";
89
+ if (frontmatterMatch) {
90
+ const frontmatter = frontmatterMatch[1];
91
+ const nameMatch = frontmatter.match(/^name:\s*(.+)$/m);
92
+ const descMatch = frontmatter.match(/^description:\s*(.+)$/m);
93
+ if (nameMatch)
94
+ name = nameMatch[1].trim();
95
+ if (descMatch)
96
+ description = descMatch[1].trim();
97
+ }
98
+ // Discover resources
99
+ const resources = {
100
+ references: this.findFiles(skillDir, "references"),
101
+ assets: this.findFiles(skillDir, "assets"),
102
+ scripts: this.findFiles(skillDir, "scripts"),
103
+ };
104
+ return {
105
+ name,
106
+ shortName,
107
+ identifier,
108
+ description,
109
+ path: skillDir,
110
+ resources,
111
+ };
112
+ }
113
+ catch {
114
+ return null;
115
+ }
116
+ }
117
+ /**
118
+ * Find files in a subdirectory, relative to the skill dir.
119
+ */
120
+ findFiles(skillDir, subDir) {
121
+ const dirPath = join(skillDir, subDir);
122
+ if (!existsSync(dirPath))
123
+ return [];
124
+ try {
125
+ return readdirSync(dirPath)
126
+ .filter((f) => {
127
+ const fullPath = join(dirPath, f);
128
+ return statSync(fullPath).isFile();
129
+ })
130
+ .map((f) => join(subDir, f));
131
+ }
132
+ catch {
133
+ return [];
134
+ }
135
+ }
136
+ /**
137
+ * Find skills matching a query string.
138
+ * Supports: keywords (AND), negation (-term), exact phrases ("phrase")
139
+ */
140
+ find(query) {
141
+ if (!this.initialized)
142
+ this.initialize();
143
+ if (!query || query === "*")
144
+ return Array.from(this.skills.values());
145
+ const includeTerms = [];
146
+ const excludeTerms = [];
147
+ const exactPhrases = [];
148
+ // Parse query
149
+ const tokens = query.match(/(?:[^\s"]+|"[^"]*")+/g) || [];
150
+ for (const token of tokens) {
151
+ if (token.startsWith("-")) {
152
+ excludeTerms.push(token.slice(1).toLowerCase());
153
+ }
154
+ else if (token.startsWith('"') && token.endsWith('"')) {
155
+ exactPhrases.push(token.slice(1, -1).toLowerCase());
156
+ }
157
+ else {
158
+ includeTerms.push(token.toLowerCase());
159
+ }
160
+ }
161
+ const results = [];
162
+ for (const skill of this.skills.values()) {
163
+ const searchText = `${skill.name} ${skill.description} ${skill.identifier}`.toLowerCase();
164
+ const wordMatches = includeTerms.every((t) => searchText.includes(t));
165
+ const noExcludes = excludeTerms.every((t) => !searchText.includes(t));
166
+ const phraseMatches = exactPhrases.length === 0 ||
167
+ exactPhrases.every((p) => searchText.includes(p));
168
+ if (wordMatches && noExcludes && phraseMatches) {
169
+ results.push(skill);
170
+ }
171
+ }
172
+ // Rank results: name matches weighted 3x, description 1x, exact +10
173
+ results.sort((a, b) => {
174
+ const q = query.toLowerCase();
175
+ const scoreA = (a.name.toLowerCase().includes(q) ? 3 : 0) +
176
+ (a.description.toLowerCase().includes(q) ? 1 : 0) +
177
+ (a.name.toLowerCase() === q ? 10 : 0);
178
+ const scoreB = (b.name.toLowerCase().includes(q) ? 3 : 0) +
179
+ (b.description.toLowerCase().includes(q) ? 1 : 0) +
180
+ (b.name.toLowerCase() === q ? 10 : 0);
181
+ return scoreB - scoreA;
182
+ });
183
+ return results;
184
+ }
185
+ /**
186
+ * Get a skill by its identifier.
187
+ */
188
+ get(identifier) {
189
+ if (!this.initialized)
190
+ this.initialize();
191
+ return this.skills.get(identifier);
192
+ }
193
+ /**
194
+ * Get all skills.
195
+ */
196
+ getAll() {
197
+ if (!this.initialized)
198
+ this.initialize();
199
+ return Array.from(this.skills.values());
200
+ }
201
+ /**
202
+ * Get the content of a skill resource file.
203
+ */
204
+ readResource(identifier, relativePath) {
205
+ const skill = this.get(identifier);
206
+ if (!skill)
207
+ return null;
208
+ // Security: only allow pre-indexed paths
209
+ const allResources = [
210
+ ...skill.resources.references,
211
+ ...skill.resources.assets,
212
+ ...skill.resources.scripts,
213
+ ];
214
+ if (!allResources.includes(relativePath))
215
+ return null;
216
+ const fullPath = join(skill.path, relativePath);
217
+ if (!existsSync(fullPath))
218
+ return null;
219
+ try {
220
+ const content = readFileSync(fullPath, "utf-8");
221
+ const mimeType = this.detectMimeType(relativePath);
222
+ return { content, mimeType };
223
+ }
224
+ catch {
225
+ return null;
226
+ }
227
+ }
228
+ /**
229
+ * Detect MIME type from file extension.
230
+ */
231
+ detectMimeType(path) {
232
+ const ext = path.split(".").pop()?.toLowerCase();
233
+ const mimeMap = {
234
+ md: "text/markdown",
235
+ txt: "text/plain",
236
+ html: "text/html",
237
+ css: "text/css",
238
+ js: "text/javascript",
239
+ ts: "text/typescript",
240
+ json: "application/json",
241
+ yaml: "text/yaml",
242
+ yml: "text/yaml",
243
+ sh: "text/plain",
244
+ py: "text/plain",
245
+ png: "image/png",
246
+ svg: "image/svg+xml",
247
+ };
248
+ return mimeMap[ext || ""] || "text/plain";
249
+ }
250
+ /**
251
+ * Render skill list in the configured format.
252
+ */
253
+ render(skills, format = "xml") {
254
+ switch (format) {
255
+ case "json":
256
+ return JSON.stringify(skills, null, 2);
257
+ case "md":
258
+ return skills
259
+ .map((s) => `- **${s.name}** (\`${s.identifier}\`): ${s.description}`)
260
+ .join("\n");
261
+ case "xml":
262
+ default:
263
+ return `<SkillSearchResults>
264
+ ${skills
265
+ .map((s) => ` <Skill skill_name="${s.identifier}" skill_shortname="${s.shortName}">${s.description}</Skill>`)
266
+ .join("\n ")}
267
+ <Summary>
268
+ <Total>${this.skills.size}</Total>
269
+ <Matches>${skills.length}</Matches>
270
+ </Summary>
271
+ </SkillSearchResults>`;
272
+ }
273
+ }
274
+ /**
275
+ * Render a loaded skill for injection.
276
+ */
277
+ renderForInjection(skill, format = "xml") {
278
+ switch (format) {
279
+ case "json":
280
+ return JSON.stringify(skill, null, 2);
281
+ case "md":
282
+ return `# Skill: ${skill.name}\n\n**Description:** ${skill.description}\n\n**Resources:**\n- References: ${skill.resources.references.length}\n- Assets: ${skill.resources.assets.length}\n- Scripts: ${skill.resources.scripts.length}`;
283
+ case "xml":
284
+ default:
285
+ return `<Skill name="${skill.name}" identifier="${skill.identifier}">
286
+ <description>${skill.description}</description>
287
+ <resources>
288
+ <references count="${skill.resources.references.length}"/>
289
+ <assets count="${skill.resources.assets.length}"/>
290
+ <scripts count="${skill.resources.scripts.length}"/>
291
+ </resources>
292
+ </Skill>`;
293
+ }
294
+ }
295
+ }
296
+ /** Global registry singleton */
297
+ let globalRegistry = null;
298
+ export function getSkillRegistry(config) {
299
+ if (!globalRegistry) {
300
+ globalRegistry = new SkillRegistry(config);
301
+ globalRegistry.initialize();
302
+ }
303
+ return globalRegistry;
304
+ }
305
+ /** Plugin module adapter */
306
+ export const skillfulPlugin = {
307
+ activate(context) {
308
+ const config = (context.config?.skillful || {});
309
+ getSkillRegistry(config);
310
+ context.logger("[skillful-integration] Skill registry activated");
311
+ },
312
+ deactivate() {
313
+ globalRegistry = null;
314
+ },
315
+ };
316
+ export default skillfulPlugin;
317
+ //# sourceMappingURL=skillful-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillful-integration.js","sourceRoot":"","sources":["../../src/integration/skillful-integration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Subtask2 Integration — Enhanced Command Handler
3
+ *
4
+ * Hard-wired adaptation of spoons-and-mirrors/subtask2
5
+ * Source: https://github.com/spoons-and-mirrors/subtask2
6
+ *
7
+ * Provides enhanced command handling with:
8
+ * - return: Chain prompts and commands after subtasks
9
+ * - loop: Repeat until condition is met (with max)
10
+ * - parallel: Run subtasks concurrently
11
+ * - $TURN[n]: Reference conversation turns
12
+ * - {as:name} + $RESULT[name]: Capture and relay subtask outputs
13
+ * - Inline overrides: {model:} {agent:} {loop:}
14
+ * - /subtask: Ad-hoc subtask creation
15
+ */
16
+ import type { PluginModule } from "../plugins/plugin-system.js";
17
+ import type { SubtaskConfig, Subtask2Config } from "./types.js";
18
+ export declare class Subtask2Engine {
19
+ private config;
20
+ private namedResults;
21
+ constructor(config?: Subtask2Config);
22
+ /**
23
+ * Parse a subtask2 configuration from frontmatter or inline syntax.
24
+ */
25
+ parseConfig(input: string): SubtaskConfig | null;
26
+ /**
27
+ * Parse YAML frontmatter into a SubtaskConfig.
28
+ */
29
+ private parseFrontmatter;
30
+ /**
31
+ * Parse inline overrides like {model:claude-sonnet && agent:build && loop:3}
32
+ */
33
+ private parseInlineOverrides;
34
+ /**
35
+ * Process $TURN[n] references in a prompt — replace with
36
+ * conversation turn content.
37
+ */
38
+ processTurnReferences(prompt: string, conversationTurns: Array<{
39
+ role: string;
40
+ content: string;
41
+ }>): string;
42
+ /**
43
+ * Process $RESULT[name] references — replace with captured results.
44
+ */
45
+ processResultReferences(prompt: string): string;
46
+ /**
47
+ * Store a named result.
48
+ */
49
+ storeResult(name: string, content: string): void;
50
+ /**
51
+ * Get a stored result.
52
+ */
53
+ getResult(name: string): string | undefined;
54
+ /**
55
+ * Evaluate whether a loop should continue based on condition.
56
+ */
57
+ evaluateLoopCondition(_condition: string, feedback: string): "continue" | "break";
58
+ /**
59
+ * Generate the generic return prompt when none is specified.
60
+ */
61
+ getGenericReturn(): string;
62
+ /**
63
+ * Build a loop evaluation prompt.
64
+ */
65
+ buildLoopEvalPrompt(maxIterations: number, currentIteration: number, condition: string): string;
66
+ }
67
+ export declare function getSubtask2Engine(config?: Subtask2Config): Subtask2Engine;
68
+ /** Plugin module adapter */
69
+ export declare const subtask2Plugin: PluginModule;
70
+ export default subtask2Plugin;
71
+ //# sourceMappingURL=subtask2-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subtask2-integration.d.ts","sourceRoot":"","sources":["../../src/integration/subtask2-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,GAAE,cAAmB;IAQvC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAgBhD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6CxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;;OAGG;IACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAC1D,MAAM;IA8BT;;OAEG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAM/C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C;;OAEG;IACH,qBAAqB,CACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,UAAU,GAAG,OAAO;IA2BvB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAO1B;;OAEG;IACH,mBAAmB,CACjB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,GAChB,MAAM;CASV;AAKD,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,CAKzE;AAED,4BAA4B;AAC5B,eAAO,MAAM,cAAc,EAAE,YAS5B,CAAC;AAEF,eAAe,cAAc,CAAC"}