opencode-matrixx-v2 1.2.1 → 1.2.2

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 (557) hide show
  1. package/README.md +11 -21
  2. package/dist/agents/agent-config.d.ts +3 -3
  3. package/dist/agents/dynamic-agent-prompt-builder.d.ts +2 -1
  4. package/dist/agents/oracle/system-prompt.d.ts +1 -1
  5. package/dist/cli.js +123 -105
  6. package/dist/config/schema/agent-names.d.ts +31 -13
  7. package/dist/config/schema/browser-automation.d.ts +2 -2
  8. package/dist/config/schema/context-mode.d.ts +1 -1
  9. package/dist/config/schema/hooks.d.ts +1 -2
  10. package/dist/config/schema/matrixx-config.d.ts +34 -17
  11. package/dist/features/background-agent/handle-index.d.ts +3 -3
  12. package/dist/features/background-agent/index.d.ts +6 -0
  13. package/dist/features/background-agent/manager/index.d.ts +5 -0
  14. package/dist/features/background-agent/manager/lifecycle.d.ts +29 -0
  15. package/dist/features/background-agent/{manager.d.ts → manager/manager.d.ts} +27 -97
  16. package/dist/features/background-agent/manager/reconcile.d.ts +20 -0
  17. package/dist/features/background-agent/manager/store.d.ts +33 -0
  18. package/dist/features/background-agent/manager/types.d.ts +42 -0
  19. package/dist/features/background-agent/message-dir.d.ts +1 -1
  20. package/dist/features/background-agent/notification-builder.d.ts +1 -1
  21. package/dist/features/background-agent/session-output.d.ts +2 -2
  22. package/dist/features/bdd/index.d.ts +2 -0
  23. package/dist/features/builtin-commands/index.d.ts +4 -0
  24. package/dist/features/builtin-commands/templates/stop-continuation.d.ts +1 -1
  25. package/dist/features/{hook-message-injector → context-injection/hook-bridge}/constants.d.ts +1 -1
  26. package/dist/features/{hook-message-injector → context-injection/hook-bridge}/index.d.ts +1 -1
  27. package/dist/features/{hook-message-injector → context-injection/hook-bridge}/injector.d.ts +1 -1
  28. package/dist/features/context-injection/index.d.ts +6 -0
  29. package/dist/features/context-injection/routing/index.d.ts +3 -0
  30. package/dist/features/{context-mode-routing → context-injection/routing}/system-transform.d.ts +3 -3
  31. package/dist/features/evolution/index.d.ts +6 -0
  32. package/dist/features/plan-contract/schema.d.ts +1 -1
  33. package/dist/features/preset-state/index.d.ts +2 -0
  34. package/dist/features/rtk-routing/index.d.ts +3 -0
  35. package/dist/features/rtk-routing/system-transform.d.ts +2 -2
  36. package/dist/features/session-state/index.d.ts +2 -0
  37. package/dist/{hooks/task-continuation-enforcer → features/task-session-scope}/staleness.d.ts +3 -3
  38. package/dist/{hooks/task-continuation-enforcer → features/task-session-scope}/todo.d.ts +1 -1
  39. package/dist/features/task-storage/index.d.ts +3 -0
  40. package/dist/features/task-storage/types.d.ts +2 -2
  41. package/dist/features/task-toast-manager/types.d.ts +1 -1
  42. package/dist/hooks/agent-usage-reminder/hook.d.ts +1 -1
  43. package/dist/hooks/agent-usage-reminder/index.d.ts +5 -0
  44. package/dist/hooks/anthropic-effort/index.d.ts +2 -0
  45. package/dist/hooks/auto-update-checker/hook/background-update-check.d.ts +1 -1
  46. package/dist/hooks/auto-update-checker/hook/config-errors-toast.d.ts +1 -1
  47. package/dist/hooks/auto-update-checker/hook/connected-providers-status.d.ts +1 -1
  48. package/dist/hooks/auto-update-checker/hook/model-cache-warning.d.ts +1 -1
  49. package/dist/hooks/auto-update-checker/hook/spinner-toast.d.ts +1 -1
  50. package/dist/hooks/auto-update-checker/hook/startup-toasts.d.ts +1 -1
  51. package/dist/hooks/auto-update-checker/hook/update-toasts.d.ts +1 -1
  52. package/dist/hooks/auto-update-checker/hook.d.ts +1 -1
  53. package/dist/hooks/background-notification/hook.d.ts +1 -1
  54. package/dist/hooks/background-notification/index.d.ts +9 -0
  55. package/dist/hooks/background-task-blocker/index.d.ts +8 -0
  56. package/dist/hooks/bash-file-read-guard.d.ts +1 -1
  57. package/dist/hooks/category-skill-reminder/hook.d.ts +2 -2
  58. package/dist/hooks/category-skill-reminder/index.d.ts +4 -0
  59. package/dist/hooks/comment-checker/index.d.ts +7 -0
  60. package/dist/hooks/compaction-context-injector/index.d.ts +2 -0
  61. package/dist/hooks/context-mode-enforcer/constants.d.ts +1 -1
  62. package/dist/hooks/context-mode-enforcer/hook.d.ts +1 -1
  63. package/dist/hooks/context-mode-enforcer/index.d.ts +4 -0
  64. package/dist/hooks/context-window-limit-recovery/client.d.ts +1 -1
  65. package/dist/hooks/context-window-limit-recovery/message-builder.d.ts +1 -1
  66. package/dist/hooks/context-window-limit-recovery/recovery-hook.d.ts +2 -2
  67. package/dist/hooks/context-window-monitor.d.ts +2 -2
  68. package/dist/hooks/dcp-nudge-sanitizer/hook.d.ts +1 -1
  69. package/dist/hooks/dcp-nudge-sanitizer/index.d.ts +3 -0
  70. package/dist/hooks/delegate-task-retry/hook.d.ts +1 -1
  71. package/dist/hooks/delegate-task-retry/index.d.ts +4 -0
  72. package/dist/hooks/design-intent-preserver/hook.d.ts +1 -1
  73. package/dist/hooks/design-intent-preserver/index.d.ts +4 -0
  74. package/dist/hooks/directory-agents-injector/hook.d.ts +2 -2
  75. package/dist/hooks/directory-agents-injector/index.d.ts +5 -0
  76. package/dist/hooks/directory-agents-injector/injector.d.ts +2 -2
  77. package/dist/hooks/directory-injector/factory.d.ts +2 -2
  78. package/dist/hooks/docs-lookup-guard/hook.d.ts +2 -2
  79. package/dist/hooks/docs-lookup-guard/index.d.ts +3 -0
  80. package/dist/hooks/document-reader-guard/hook.d.ts +2 -2
  81. package/dist/hooks/document-reader-guard/index.d.ts +3 -0
  82. package/dist/hooks/domain-keyword-detector/hook.d.ts +1 -1
  83. package/dist/hooks/edit-error-recovery/hook.d.ts +1 -1
  84. package/dist/hooks/edit-error-recovery/index.d.ts +2 -0
  85. package/dist/hooks/empty-task-response-detector.d.ts +1 -1
  86. package/dist/hooks/env-context-injector/flat.d.ts +1 -1
  87. package/dist/hooks/env-context-injector/index.d.ts +1 -1
  88. package/dist/hooks/env-file-write-guard/index.d.ts +3 -0
  89. package/dist/hooks/evolution-compressor/host-llm-call.d.ts +1 -1
  90. package/dist/hooks/evolution-compressor/index.d.ts +8 -0
  91. package/dist/hooks/evolution-hitl/index.d.ts +6 -0
  92. package/dist/hooks/evolution-quality-gate/index.d.ts +6 -0
  93. package/dist/hooks/evolution-watcher/index.d.ts +7 -1
  94. package/dist/hooks/hashline-read-enhancer/hook.d.ts +1 -1
  95. package/dist/hooks/hashline-read-enhancer/index.d.ts +2 -0
  96. package/dist/hooks/index.d.ts +0 -1
  97. package/dist/hooks/input-secret-guard/hook.d.ts +1 -1
  98. package/dist/hooks/input-secret-guard/index.d.ts +5 -0
  99. package/dist/hooks/interactive-bash-session/hook.d.ts +2 -2
  100. package/dist/hooks/interactive-bash-session/index.d.ts +7 -0
  101. package/dist/hooks/json-error-recovery/hook.d.ts +1 -1
  102. package/dist/hooks/keyword-detector/constants.d.ts +1 -1
  103. package/dist/hooks/keyword-detector/hook.d.ts +2 -2
  104. package/dist/hooks/keyword-detector/index.d.ts +4 -0
  105. package/dist/hooks/knowledge-hub-guard/hook.d.ts +1 -1
  106. package/dist/hooks/knowledge-hub-guard/index.d.ts +3 -0
  107. package/dist/hooks/knowledge-hub-injector/hook.d.ts +3 -3
  108. package/dist/hooks/knowledge-hub-injector/index.d.ts +2 -0
  109. package/dist/hooks/knowledge-hub-search-nudge/hook.d.ts +1 -1
  110. package/dist/hooks/knowledge-hub-search-nudge/index.d.ts +2 -0
  111. package/dist/hooks/matrix-loop/completion-promise-detector.d.ts +2 -2
  112. package/dist/hooks/matrix-loop/completion-verifier.d.ts +1 -1
  113. package/dist/hooks/matrix-loop/continuation-prompt-injector.d.ts +1 -1
  114. package/dist/hooks/matrix-loop/index.d.ts +12 -0
  115. package/dist/hooks/matrix-loop/matrix-loop-event-handler.d.ts +2 -2
  116. package/dist/hooks/matrix-loop/matrix-loop-hook.d.ts +2 -2
  117. package/dist/hooks/mouse-notepad/hook.d.ts +1 -1
  118. package/dist/hooks/mouse-notepad/index.d.ts +3 -0
  119. package/dist/hooks/niobe/event-handler.d.ts +2 -2
  120. package/dist/hooks/niobe/index.d.ts +16 -0
  121. package/dist/hooks/niobe/mission-continuation-injector.d.ts +1 -1
  122. package/dist/hooks/niobe/niobe-hook.d.ts +2 -2
  123. package/dist/hooks/niobe/recent-model-resolver.d.ts +1 -1
  124. package/dist/hooks/niobe/session-last-agent.d.ts +1 -1
  125. package/dist/hooks/niobe/tool-execute-after.d.ts +1 -1
  126. package/dist/hooks/niobe/tool-execute-before.d.ts +1 -1
  127. package/dist/hooks/non-interactive-env/index.d.ts +4 -0
  128. package/dist/hooks/non-interactive-env/non-interactive-env-hook.d.ts +1 -1
  129. package/dist/hooks/nudge-loop-breaker/hook.d.ts +2 -2
  130. package/dist/hooks/nudge-loop-breaker/index.d.ts +4 -0
  131. package/dist/hooks/oracle-md-only/agent-resolution.d.ts +1 -1
  132. package/dist/hooks/oracle-md-only/hook.d.ts +1 -1
  133. package/dist/hooks/oracle-md-only/index.d.ts +6 -0
  134. package/dist/hooks/plan-persister/hook.d.ts +2 -2
  135. package/dist/hooks/post-read-injector/hook.d.ts +2 -2
  136. package/dist/hooks/post-read-injector/injector.d.ts +1 -1
  137. package/dist/hooks/quality-gate/index.d.ts +2 -0
  138. package/dist/hooks/read-image-resizer/hook.d.ts +1 -1
  139. package/dist/hooks/read-image-resizer/index.d.ts +6 -0
  140. package/dist/hooks/rtk-bash-rewriter/hook.d.ts +1 -1
  141. package/dist/hooks/rtk-bash-rewriter/index.d.ts +4 -0
  142. package/dist/hooks/rules-injector/hook.d.ts +2 -2
  143. package/dist/hooks/rules-injector/index.d.ts +14 -0
  144. package/dist/hooks/runtime-fallback/event-handler.d.ts +1 -1
  145. package/dist/hooks/runtime-fallback/session-messages.d.ts +2 -2
  146. package/dist/hooks/runtime-fallback/types.d.ts +2 -2
  147. package/dist/hooks/secret-leak-guard/hook.d.ts +1 -1
  148. package/dist/hooks/secret-leak-guard/index.d.ts +5 -0
  149. package/dist/hooks/session-memory/hook.d.ts +1 -1
  150. package/dist/hooks/session-notification-scheduler.d.ts +1 -1
  151. package/dist/hooks/session-notification-sender.d.ts +1 -1
  152. package/dist/hooks/session-notification.d.ts +2 -2
  153. package/dist/hooks/session-recovery/hook.d.ts +1 -1
  154. package/dist/hooks/session-recovery/recover-thinking-block-order.d.ts +1 -1
  155. package/dist/hooks/session-recovery/recover-thinking-disabled-violation.d.ts +1 -1
  156. package/dist/hooks/session-recovery/recover-tool-result-missing.d.ts +1 -1
  157. package/dist/hooks/session-recovery/resume.d.ts +1 -1
  158. package/dist/hooks/session-recovery/storage/empty-text.d.ts +1 -1
  159. package/dist/hooks/session-recovery/storage/messages-reader.d.ts +1 -1
  160. package/dist/hooks/session-recovery/storage/parts-reader.d.ts +1 -1
  161. package/dist/hooks/session-recovery/storage/text-part-injector.d.ts +1 -1
  162. package/dist/hooks/session-recovery/storage/thinking-prepend.d.ts +1 -1
  163. package/dist/hooks/session-recovery/storage/thinking-strip.d.ts +1 -1
  164. package/dist/hooks/session-recovery/storage.d.ts +1 -1
  165. package/dist/hooks/session-recovery/types.d.ts +2 -2
  166. package/dist/hooks/silent-failure-guard/hook.d.ts +1 -1
  167. package/dist/hooks/software-dev-enforcement/index.d.ts +3 -0
  168. package/dist/hooks/start-work/index.d.ts +3 -0
  169. package/dist/hooks/start-work/start-work-hook.d.ts +1 -1
  170. package/dist/hooks/stop-continuation-guard/hook.d.ts +2 -2
  171. package/dist/hooks/stop-continuation-guard/index.d.ts +2 -0
  172. package/dist/hooks/subagent-block/hook.d.ts +2 -2
  173. package/dist/hooks/subagent-block/index.d.ts +3 -0
  174. package/dist/hooks/task-edit-guard/hook.d.ts +2 -2
  175. package/dist/hooks/task-edit-guard/index.d.ts +3 -0
  176. package/dist/hooks/task-notepad-writer/index.d.ts +4 -0
  177. package/dist/hooks/task-notepad-writer/notepad-path.d.ts +1 -1
  178. package/dist/hooks/task-resume-info/index.d.ts +2 -0
  179. package/dist/hooks/think-mode/hook.d.ts +1 -1
  180. package/dist/hooks/thinking-block-validator/index.d.ts +3 -0
  181. package/dist/hooks/tool-output-truncator.d.ts +1 -1
  182. package/dist/hooks/tool-pair-validator/index.d.ts +2 -0
  183. package/dist/hooks/unstable-agent-babysitter/unstable-agent-babysitter-hook.d.ts +2 -2
  184. package/dist/hooks/webfetch-redirect-guard/hook.d.ts +1 -1
  185. package/dist/hooks/webfetch-redirect-guard/index.d.ts +4 -0
  186. package/dist/hooks/write-existing-file-guard/hook.d.ts +2 -2
  187. package/dist/hooks/write-existing-file-guard/index.d.ts +2 -0
  188. package/dist/index.d.ts +2 -2
  189. package/dist/index.js +45129 -45699
  190. package/dist/matrixx.schema.json +29 -8
  191. package/dist/{plugin-handlers → plugin/handlers}/agent-config-handler.d.ts +2 -2
  192. package/dist/{plugin-handlers → plugin/handlers}/category-config-resolver.d.ts +1 -1
  193. package/dist/{plugin-handlers → plugin/handlers}/command-config-handler.d.ts +1 -1
  194. package/dist/{plugin-handlers → plugin/handlers}/config-handler.d.ts +2 -2
  195. package/dist/{plugin-handlers → plugin/handlers}/mcp-config-handler.d.ts +1 -1
  196. package/dist/{plugin-handlers → plugin/handlers}/oracle-agent-config-builder.d.ts +3 -3
  197. package/dist/{plugin-handlers → plugin/handlers}/plugin-components-loader.d.ts +1 -1
  198. package/dist/{plugin-handlers → plugin/handlers}/provider-config-handler.d.ts +1 -1
  199. package/dist/{plugin-handlers → plugin/handlers}/task-permissions.d.ts +1 -1
  200. package/dist/{plugin-handlers → plugin/handlers}/tool-config-handler.d.ts +1 -1
  201. package/dist/plugin/hooks/create-continuation-hooks.d.ts +3 -4
  202. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -1
  203. package/dist/plugin/hooks/create-skill-hooks.d.ts +1 -1
  204. package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +1 -1
  205. package/dist/plugin/hooks/create-transform-hooks.d.ts +3 -3
  206. package/dist/plugin/index.d.ts +43 -0
  207. package/dist/plugin/message-hooks/context-injector.d.ts +3 -3
  208. package/dist/plugin/message-hooks/dcp-nudge-sanitizer.d.ts +1 -1
  209. package/dist/plugin/message-hooks/domain-keyword-detector.d.ts +2 -2
  210. package/dist/plugin/message-hooks/env-context-injector.d.ts +1 -1
  211. package/dist/plugin/message-hooks/evolution-hitl.d.ts +1 -1
  212. package/dist/plugin/message-hooks/index.d.ts +2 -2
  213. package/dist/plugin/message-hooks/knowledge-hub-injector.d.ts +3 -3
  214. package/dist/plugin/message-hooks/thinking-block-validator.d.ts +1 -1
  215. package/dist/plugin/message-hooks/tool-pair-validator.d.ts +1 -1
  216. package/dist/plugin/setup-domains/assemble.d.ts +28 -0
  217. package/dist/plugin/setup-domains/hooks.d.ts +33 -0
  218. package/dist/plugin/setup-domains/index.d.ts +5 -0
  219. package/dist/plugin/setup-domains/managers.d.ts +15 -0
  220. package/dist/plugin/setup-domains/tools.d.ts +23 -0
  221. package/dist/plugin/setup-domains.d.ts +10 -86
  222. package/dist/plugin/tool/available-categories.d.ts +3 -0
  223. package/dist/plugin/{chat-message.d.ts → tool/chat-message.d.ts} +2 -2
  224. package/dist/plugin/{context.d.ts → tool/context.d.ts} +2 -2
  225. package/dist/plugin/{event.d.ts → tool/event.d.ts} +3 -3
  226. package/dist/plugin/tool/index.d.ts +22 -0
  227. package/dist/plugin/{legacy-hooks.d.ts → tool/legacy-hooks.d.ts} +1 -1
  228. package/dist/plugin/{native-context.d.ts → tool/native-context.d.ts} +1 -1
  229. package/dist/plugin/{session-agent-resolver.d.ts → tool/session-agent-resolver.d.ts} +1 -1
  230. package/dist/plugin/{skill-context.d.ts → tool/skill-context.d.ts} +4 -4
  231. package/dist/plugin/{tool-catalog.d.ts → tool/tool-catalog.d.ts} +4 -4
  232. package/dist/plugin/{tool-definition.d.ts → tool/tool-definition.d.ts} +2 -2
  233. package/dist/plugin/{tool-execute-after.d.ts → tool/tool-execute-after.d.ts} +1 -1
  234. package/dist/plugin/{tool-execute-before.d.ts → tool/tool-execute-before.d.ts} +2 -2
  235. package/dist/plugin/{unstable-agent-babysitter.d.ts → tool/unstable-agent-babysitter.d.ts} +3 -3
  236. package/dist/shared/{agent-variant.d.ts → agent/agent-variant.d.ts} +1 -1
  237. package/dist/shared/agent/index.d.ts +5 -0
  238. package/dist/shared/{context-limits.d.ts → compaction/context-limits.d.ts} +1 -1
  239. package/dist/shared/{dynamic-truncator.d.ts → compaction/dynamic-truncator.d.ts} +2 -2
  240. package/dist/shared/compaction/index.d.ts +7 -0
  241. package/dist/shared/config/index.d.ts +8 -0
  242. package/dist/shared/{task-system-gating.d.ts → config/task-system-gating.d.ts} +2 -2
  243. package/dist/shared/index.d.ts +63 -61
  244. package/dist/shared/io/index.d.ts +8 -0
  245. package/dist/shared/model/index.d.ts +7 -0
  246. package/dist/shared/{model-requirements.d.ts → model/model-requirements.d.ts} +1 -1
  247. package/dist/shared/{model-suggestion-retry.d.ts → model/model-suggestion-retry.d.ts} +1 -1
  248. package/dist/shared/opencode/index.d.ts +5 -0
  249. package/dist/shared/{memory-backend-detect.d.ts → opencode/memory-backend-detect.d.ts} +1 -1
  250. package/dist/shared/outcome/index.d.ts +5 -0
  251. package/dist/shared/{dcp-switch-profile.d.ts → policy/dcp-switch-profile.d.ts} +1 -1
  252. package/dist/shared/policy/index.d.ts +7 -0
  253. package/dist/shared/{injection-notifier.d.ts → policy/injection-notifier.d.ts} +1 -1
  254. package/dist/shared/{rtk-enforcement.d.ts → policy/rtk-enforcement.d.ts} +1 -1
  255. package/dist/shared/runtime/index.d.ts +7 -0
  256. package/dist/shared/session/index.d.ts +14 -0
  257. package/dist/shared/{session-context-source.d.ts → session/session-context-source.d.ts} +1 -1
  258. package/dist/shared/text/index.d.ts +7 -0
  259. package/dist/{tools/shared → shared/tool}/define-tool.d.ts +1 -1
  260. package/dist/shared/{disabled-tools.d.ts → tool/disabled-tools.d.ts} +1 -1
  261. package/dist/shared/tool/index.d.ts +6 -0
  262. package/dist/shared/{merge-categories.d.ts → tool/merge-categories.d.ts} +1 -1
  263. package/dist/skills/{skills → builtin/bdd}/bdd-backend.d.ts +1 -1
  264. package/dist/skills/{skills → builtin/bdd}/bdd-contract.d.ts +1 -1
  265. package/dist/skills/{skills → builtin/bdd}/bdd-frontend.d.ts +1 -1
  266. package/dist/skills/{skills → builtin/bdd}/bdd-tests.d.ts +1 -1
  267. package/dist/skills/builtin/bdd/index.d.ts +4 -0
  268. package/dist/skills/builtin/core/dev-browser.d.ts +2 -0
  269. package/dist/skills/builtin/core/docker-master/build.d.ts +1 -0
  270. package/dist/skills/builtin/core/docker-master/compose.d.ts +1 -0
  271. package/dist/skills/builtin/core/docker-master/delivery.d.ts +1 -0
  272. package/dist/skills/builtin/core/docker-master/index.d.ts +2 -0
  273. package/dist/skills/builtin/core/docker-master/reference.d.ts +1 -0
  274. package/dist/skills/{skills → builtin/core}/document-reader.d.ts +1 -1
  275. package/dist/skills/builtin/core/git-master/commit.d.ts +1 -0
  276. package/dist/skills/builtin/core/git-master/execution.d.ts +1 -0
  277. package/dist/skills/builtin/core/git-master/history.d.ts +1 -0
  278. package/dist/skills/builtin/core/git-master/index.d.ts +2 -0
  279. package/dist/skills/builtin/core/git-master/rebase.d.ts +1 -0
  280. package/dist/skills/builtin/core/index.d.ts +19 -0
  281. package/dist/skills/{skills → builtin/core}/matrixx-self-config.d.ts +1 -1
  282. package/dist/skills/{skills → builtin/core}/playwright-cli.d.ts +1 -1
  283. package/dist/skills/{skills → builtin/core}/playwright.d.ts +1 -1
  284. package/dist/skills/{skills → builtin/core}/python-asyncio.d.ts +1 -1
  285. package/dist/skills/builtin/core/quality-gate.d.ts +2 -0
  286. package/dist/skills/builtin/core/remove-ai-slops.d.ts +2 -0
  287. package/dist/skills/{skills → builtin/core}/resilience-error-taxonomy.d.ts +1 -1
  288. package/dist/skills/{skills → builtin/core}/resilience-failure-hunting.d.ts +1 -1
  289. package/dist/skills/builtin/core/review-work.d.ts +2 -0
  290. package/dist/skills/{skills → builtin/core}/silent-failure-detection.d.ts +1 -1
  291. package/dist/skills/builtin/core/software-dev.d.ts +2 -0
  292. package/dist/skills/{skills → builtin/core}/systematic-debugging.d.ts +1 -1
  293. package/dist/skills/builtin/core/tdd-enforcer.d.ts +2 -0
  294. package/dist/skills/{skills → builtin/core}/telegram-bot.d.ts +1 -1
  295. package/dist/skills/builtin/core/ulw-research.d.ts +2 -0
  296. package/dist/skills/{skills → builtin/dsl}/dsl-codegen.d.ts +1 -1
  297. package/dist/skills/{skills → builtin/dsl}/dsl-composition.d.ts +1 -1
  298. package/dist/skills/{skills → builtin/dsl}/dsl-core.d.ts +1 -1
  299. package/dist/skills/{skills → builtin/dsl}/dsl-grammar.d.ts +1 -1
  300. package/dist/skills/{skills → builtin/dsl}/dsl-metamodel.d.ts +1 -1
  301. package/dist/skills/{skills → builtin/dsl}/dsl-model-transformation.d.ts +1 -1
  302. package/dist/skills/{skills → builtin/dsl}/dsl-pyecore-advanced.d.ts +1 -1
  303. package/dist/skills/{skills → builtin/dsl}/dsl-testing.d.ts +1 -1
  304. package/dist/skills/{skills → builtin/dsl}/dsl-textx-ecosystem.d.ts +1 -1
  305. package/dist/skills/{skills → builtin/dsl}/dsl-tooling.d.ts +1 -1
  306. package/dist/skills/{skills → builtin/dsl}/dsl-validation.d.ts +1 -1
  307. package/dist/skills/builtin/dsl/index.d.ts +11 -0
  308. package/dist/skills/{skills → builtin/frontend}/frontend-a11y.d.ts +1 -1
  309. package/dist/skills/{skills → builtin/frontend}/frontend-build-tooling.d.ts +1 -1
  310. package/dist/skills/{skills → builtin/frontend}/frontend-perf.d.ts +1 -1
  311. package/dist/skills/{skills → builtin/frontend}/frontend-react-nextjs.d.ts +1 -1
  312. package/dist/skills/{skills → builtin/frontend}/frontend-state-data.d.ts +1 -1
  313. package/dist/skills/{skills → builtin/frontend}/frontend-svelte-sveltekit.d.ts +1 -1
  314. package/dist/skills/{skills → builtin/frontend}/frontend-testing.d.ts +1 -1
  315. package/dist/skills/builtin/frontend/frontend-ui-ux.d.ts +2 -0
  316. package/dist/skills/builtin/frontend/index.d.ts +8 -0
  317. package/dist/skills/builtin/index.d.ts +7 -0
  318. package/dist/skills/{skills → builtin/market-data}/ccxt-pro-websockets.d.ts +1 -1
  319. package/dist/skills/{skills → builtin/market-data}/ccxt-rest.d.ts +1 -1
  320. package/dist/skills/{skills → builtin/market-data}/crypto-market-structure.d.ts +1 -1
  321. package/dist/skills/{skills → builtin/market-data}/data-quality-observability.d.ts +1 -1
  322. package/dist/skills/{skills → builtin/market-data}/grafana-dashboards.d.ts +1 -1
  323. package/dist/skills/builtin/market-data/index.d.ts +10 -0
  324. package/dist/skills/{skills → builtin/market-data}/influxdb-timeseries.d.ts +1 -1
  325. package/dist/skills/{skills → builtin/market-data}/market-data-architecture.d.ts +1 -1
  326. package/dist/skills/{skills → builtin/market-data}/market-data-bus.d.ts +1 -1
  327. package/dist/skills/{skills → builtin/market-data}/market-data-robustness-review.d.ts +1 -1
  328. package/dist/skills/{skills → builtin/market-data}/time-series-fundamentals.d.ts +1 -1
  329. package/dist/skills/builtin/security/index.d.ts +10 -0
  330. package/dist/skills/{skills → builtin/security}/security-api.d.ts +1 -1
  331. package/dist/skills/{skills → builtin/security}/security-audit.d.ts +1 -1
  332. package/dist/skills/{skills → builtin/security}/security-core.d.ts +1 -1
  333. package/dist/skills/{skills → builtin/security}/security-crypto.d.ts +1 -1
  334. package/dist/skills/{skills → builtin/security}/security-dast.d.ts +1 -1
  335. package/dist/skills/{skills → builtin/security}/security-dependencies.d.ts +1 -1
  336. package/dist/skills/{skills → builtin/security}/security-infra.d.ts +1 -1
  337. package/dist/skills/{skills → builtin/security}/security-review.d.ts +1 -1
  338. package/dist/skills/{skills → builtin/security}/security-sast.d.ts +1 -1
  339. package/dist/skills/{skills → builtin/security}/security-secrets.d.ts +1 -1
  340. package/dist/skills/builtin/zeromq/index.d.ts +7 -0
  341. package/dist/skills/{skills → builtin/zeromq}/zeromq-advanced-reqrep.d.ts +1 -1
  342. package/dist/skills/{skills → builtin/zeromq}/zeromq-architecture.d.ts +1 -1
  343. package/dist/skills/{skills → builtin/zeromq}/zeromq-core.d.ts +1 -1
  344. package/dist/skills/{skills → builtin/zeromq}/zeromq-frameworks.d.ts +1 -1
  345. package/dist/skills/{skills → builtin/zeromq}/zeromq-pubsub.d.ts +1 -1
  346. package/dist/skills/{skills → builtin/zeromq}/zeromq-reliability.d.ts +1 -1
  347. package/dist/skills/{skills → builtin/zeromq}/zeromq-sockets-patterns.d.ts +1 -1
  348. package/dist/skills/index.d.ts +10 -4
  349. package/dist/skills/{skills.d.ts → loader/factories.d.ts} +1 -1
  350. package/dist/skills/loader/index.d.ts +4 -0
  351. package/dist/tools/assembly/index.d.ts +9 -0
  352. package/dist/tools/assembly/tools.d.ts +1 -1
  353. package/dist/tools/ast-grep/index.d.ts +14 -0
  354. package/dist/tools/ast-grep/tools.d.ts +2 -2
  355. package/dist/tools/background-task/clients.d.ts +1 -1
  356. package/dist/tools/background-task/create-background-cancel.d.ts +1 -1
  357. package/dist/tools/background-task/create-background-output.d.ts +2 -2
  358. package/dist/tools/background-task/create-background-revive.d.ts +1 -1
  359. package/dist/tools/background-task/create-background-wait-all.d.ts +1 -1
  360. package/dist/tools/background-task/full-session-format.d.ts +1 -1
  361. package/dist/tools/background-task/index.d.ts +6 -0
  362. package/dist/tools/background-task/message-dir.d.ts +1 -1
  363. package/dist/tools/background-task/task-result-format.d.ts +1 -1
  364. package/dist/tools/bdd-create-contract/index.d.ts +4 -0
  365. package/dist/tools/bdd-create-contract/tools.d.ts +1 -1
  366. package/dist/tools/bdd-parse-gherkin/index.d.ts +4 -0
  367. package/dist/tools/bdd-parse-gherkin/tools.d.ts +1 -1
  368. package/dist/tools/bdd-pipeline/index.d.ts +9 -0
  369. package/dist/tools/bdd-pipeline/tools.d.ts +1 -1
  370. package/dist/tools/bdd-validate-contract/index.d.ts +2 -0
  371. package/dist/tools/bdd-validate-contract/tools.d.ts +1 -1
  372. package/dist/tools/dashboard-flux-validator/index.d.ts +5 -0
  373. package/dist/tools/dashboard-flux-validator/tools.d.ts +2 -2
  374. package/dist/tools/delegate-task/diagnostic-shape.d.ts +1 -1
  375. package/dist/tools/delegate-task/error-formatting.d.ts +2 -2
  376. package/dist/tools/delegate-task/executor-types.d.ts +1 -1
  377. package/dist/tools/delegate-task/model-selection.d.ts +1 -1
  378. package/dist/tools/delegate-task/sync-prompt-sender.d.ts +1 -1
  379. package/dist/tools/delegate-task/sync-session-poller.d.ts +1 -1
  380. package/dist/tools/delegate-task/tools.d.ts +1 -1
  381. package/dist/tools/delegate-task/types.d.ts +1 -1
  382. package/dist/tools/evolution/index.d.ts +6 -0
  383. package/dist/tools/evolution/tools.d.ts +2 -2
  384. package/dist/tools/github-search/index.d.ts +6 -0
  385. package/dist/tools/github-search/tools.d.ts +2 -2
  386. package/dist/tools/glob/index.d.ts +6 -0
  387. package/dist/tools/glob/tools.d.ts +2 -2
  388. package/dist/tools/grep/index.d.ts +7 -0
  389. package/dist/tools/grep/tools.d.ts +2 -2
  390. package/dist/tools/handoff/create-handler.d.ts +1 -1
  391. package/dist/tools/handoff/index.d.ts +9 -0
  392. package/dist/tools/handoff/tools.d.ts +2 -2
  393. package/dist/tools/hashline-edit/hashline-edit-executor.d.ts +1 -1
  394. package/dist/tools/hashline-edit/tools.d.ts +1 -1
  395. package/dist/tools/index.d.ts +2 -2
  396. package/dist/tools/interactive-bash/tools.d.ts +1 -1
  397. package/dist/tools/knowledge-hub-confirm/index.d.ts +2 -0
  398. package/dist/tools/knowledge-hub-confirm/tools.d.ts +2 -2
  399. package/dist/tools/look-at/index.d.ts +8 -0
  400. package/dist/tools/look-at/multimodal-agent-metadata.d.ts +1 -1
  401. package/dist/tools/look-at/tools.d.ts +2 -2
  402. package/dist/tools/lsp/diagnostics-tool.d.ts +1 -1
  403. package/dist/tools/lsp/find-references-tool.d.ts +1 -1
  404. package/dist/tools/lsp/goto-definition-tool.d.ts +1 -1
  405. package/dist/tools/lsp/rename-tools.d.ts +1 -1
  406. package/dist/tools/lsp/symbols-tool.d.ts +1 -1
  407. package/dist/tools/market-symbol-validator/index.d.ts +5 -0
  408. package/dist/tools/market-symbol-validator/tools.d.ts +2 -2
  409. package/dist/tools/notepad/notepad-append.d.ts +2 -2
  410. package/dist/tools/notepad/notepad-create.d.ts +2 -2
  411. package/dist/tools/notepad/notepad-list.d.ts +2 -2
  412. package/dist/tools/notepad/notepad-read.d.ts +2 -2
  413. package/dist/tools/pdf-extract-figures/index.d.ts +2 -0
  414. package/dist/tools/pdf-extract-figures/tools.d.ts +1 -1
  415. package/dist/tools/plan/plan-create.d.ts +2 -2
  416. package/dist/tools/plan/plan-delete.d.ts +2 -2
  417. package/dist/tools/plan/plan-list.d.ts +2 -2
  418. package/dist/tools/plan/plan-read.d.ts +2 -2
  419. package/dist/tools/plan/plan-tasks.d.ts +2 -2
  420. package/dist/tools/plan/plan-update.d.ts +2 -2
  421. package/dist/tools/preset/index.d.ts +2 -0
  422. package/dist/tools/preset/tools.d.ts +1 -1
  423. package/dist/tools/session-cleanup/index.d.ts +2 -2
  424. package/dist/tools/session-manager/index.d.ts +7 -0
  425. package/dist/tools/session-manager/storage.d.ts +3 -3
  426. package/dist/tools/session-manager/tools.d.ts +2 -2
  427. package/dist/tools/silent-failure-scanner/tools.d.ts +2 -2
  428. package/dist/tools/skill/index.d.ts +4 -0
  429. package/dist/tools/skill/tools.d.ts +1 -1
  430. package/dist/tools/slashcommand/index.d.ts +7 -0
  431. package/dist/tools/slashcommand/slashcommand-tool.d.ts +1 -1
  432. package/dist/tools/staleness-gap-checker/tools.d.ts +2 -2
  433. package/dist/tools/task/task-cleanup.d.ts +2 -2
  434. package/dist/tools/task/task-create.d.ts +2 -2
  435. package/dist/tools/task/task-get.d.ts +2 -2
  436. package/dist/tools/task/task-list.d.ts +2 -2
  437. package/dist/tools/task/task-update.d.ts +2 -2
  438. package/dist/tools/task/types.d.ts +10 -10
  439. package/dist/tools.js +154 -155
  440. package/package.json +1 -1
  441. package/dist/hooks/task-continuation-enforcer/abort-detection.d.ts +0 -2
  442. package/dist/hooks/task-continuation-enforcer/constants.d.ts +0 -9
  443. package/dist/hooks/task-continuation-enforcer/continuation-injection.d.ts +0 -14
  444. package/dist/hooks/task-continuation-enforcer/countdown.d.ts +0 -16
  445. package/dist/hooks/task-continuation-enforcer/handler.d.ts +0 -13
  446. package/dist/hooks/task-continuation-enforcer/idle-event.d.ts +0 -13
  447. package/dist/hooks/task-continuation-enforcer/index.d.ts +0 -5
  448. package/dist/hooks/task-continuation-enforcer/non-idle-events.d.ts +0 -6
  449. package/dist/hooks/task-continuation-enforcer/session-state.d.ts +0 -10
  450. package/dist/hooks/task-continuation-enforcer/types.d.ts +0 -54
  451. package/dist/plugin/available-categories.d.ts +0 -3
  452. package/dist/skills/skills/dev-browser.d.ts +0 -2
  453. package/dist/skills/skills/docker-master.d.ts +0 -2
  454. package/dist/skills/skills/frontend-ui-ux.d.ts +0 -2
  455. package/dist/skills/skills/git-master.d.ts +0 -2
  456. package/dist/skills/skills/index.d.ts +0 -69
  457. package/dist/skills/skills/quality-gate.d.ts +0 -2
  458. package/dist/skills/skills/remove-ai-slops.d.ts +0 -2
  459. package/dist/skills/skills/review-work.d.ts +0 -2
  460. package/dist/skills/skills/software-dev.d.ts +0 -2
  461. package/dist/skills/skills/tdd-enforcer.d.ts +0 -2
  462. package/dist/skills/skills/ulw-research.d.ts +0 -2
  463. package/dist/features/{hook-message-injector → context-injection/hook-bridge}/sdk-message-cache.d.ts +0 -0
  464. package/dist/features/{hook-message-injector → context-injection/hook-bridge}/types.d.ts +0 -0
  465. package/dist/features/{context-injector → context-injection/injector}/collector.d.ts +0 -0
  466. package/dist/features/{context-injector → context-injection/injector}/index.d.ts +0 -0
  467. package/dist/features/{context-injector → context-injection/injector}/injector.d.ts +0 -0
  468. package/dist/features/{context-injector → context-injection/injector}/types.d.ts +0 -0
  469. package/dist/features/{context-mode-routing → context-injection/routing}/routing-block.d.ts +0 -0
  470. package/dist/{plugin-handlers → plugin/handlers}/agent-priority-order.d.ts +0 -0
  471. package/dist/{plugin-handlers → plugin/handlers}/agent-tool-allowlist.d.ts +0 -0
  472. package/dist/{plugin-handlers → plugin/handlers}/formatter-config-handler.d.ts +0 -0
  473. package/dist/{plugin-handlers → plugin/handlers}/index.d.ts +0 -0
  474. package/dist/{plugin-handlers → plugin/handlers}/plan-model-inheritance.d.ts +0 -0
  475. package/dist/plugin/{chat-params.d.ts → tool/chat-params.d.ts} +0 -0
  476. package/dist/plugin/{event-dispatch.d.ts → tool/event-dispatch.d.ts} +0 -0
  477. package/dist/plugin/{recent-synthetic-idles.d.ts → tool/recent-synthetic-idles.d.ts} +0 -0
  478. package/dist/plugin/{session-status-normalizer.d.ts → tool/session-status-normalizer.d.ts} +0 -0
  479. package/dist/plugin/{tool-execute-before.bench.d.ts → tool/tool-execute-before.bench.d.ts} +0 -0
  480. package/dist/plugin/{tool-policy.d.ts → tool/tool-policy.d.ts} +0 -0
  481. package/dist/shared/{agent-display-names.d.ts → agent/agent-display-names.d.ts} +0 -0
  482. package/dist/shared/{agent-label.d.ts → agent/agent-label.d.ts} +0 -0
  483. package/dist/shared/{permission-compat.d.ts → agent/permission-compat.d.ts} +0 -0
  484. package/dist/shared/{safe-create-hook.d.ts → agent/safe-create-hook.d.ts} +0 -0
  485. package/dist/shared/{compaction-log.d.ts → compaction/compaction-log.d.ts} +0 -0
  486. package/dist/{hooks/shared → shared/compaction}/compaction-model-resolver.d.ts +0 -0
  487. package/dist/shared/{context-limit-resolver.d.ts → compaction/context-limit-resolver.d.ts} +0 -0
  488. package/dist/shared/{token-cache.d.ts → compaction/token-cache.d.ts} +0 -0
  489. package/dist/shared/{truncate-description.d.ts → compaction/truncate-description.d.ts} +0 -0
  490. package/dist/shared/{config-errors.d.ts → config/config-errors.d.ts} +0 -0
  491. package/dist/shared/{data-path.d.ts → config/data-path.d.ts} +0 -0
  492. package/dist/shared/{deep-merge.d.ts → config/deep-merge.d.ts} +0 -0
  493. package/dist/shared/{opencode-config-dir.d.ts → config/opencode-config-dir.d.ts} +0 -0
  494. package/dist/shared/{opencode-storage-detection.d.ts → config/opencode-storage-detection.d.ts} +0 -0
  495. package/dist/shared/{opencode-storage-paths.d.ts → config/opencode-storage-paths.d.ts} +0 -0
  496. package/dist/shared/{opencode-version.d.ts → config/opencode-version.d.ts} +0 -0
  497. package/dist/shared/{binary-downloader.d.ts → io/binary-downloader.d.ts} +0 -0
  498. package/dist/shared/{file-reference-resolver.d.ts → io/file-reference-resolver.d.ts} +0 -0
  499. package/dist/shared/{file-utils.d.ts → io/file-utils.d.ts} +0 -0
  500. package/dist/shared/{frontmatter.d.ts → io/frontmatter.d.ts} +0 -0
  501. package/dist/shared/{port-utils.d.ts → io/port-utils.d.ts} +0 -0
  502. package/dist/shared/{shell-env.d.ts → io/shell-env.d.ts} +0 -0
  503. package/dist/shared/{shell-tool-name.d.ts → io/shell-tool-name.d.ts} +0 -0
  504. package/dist/shared/{zip-extractor.d.ts → io/zip-extractor.d.ts} +0 -0
  505. package/dist/shared/{connected-providers-cache.d.ts → model/connected-providers-cache.d.ts} +0 -0
  506. package/dist/shared/{model-availability.d.ts → model/model-availability.d.ts} +0 -0
  507. package/dist/shared/{model-resolution-pipeline.d.ts → model/model-resolution-pipeline.d.ts} +0 -0
  508. package/dist/shared/{model-sanitizer.d.ts → model/model-sanitizer.d.ts} +0 -0
  509. package/dist/shared/{normalize-sdk-response.d.ts → model/normalize-sdk-response.d.ts} +0 -0
  510. package/dist/shared/{external-plugin-detector.d.ts → opencode/external-plugin-detector.d.ts} +0 -0
  511. package/dist/shared/{opencode-http-api.d.ts → opencode/opencode-http-api.d.ts} +0 -0
  512. package/dist/shared/{opencode-message-dir.d.ts → opencode/opencode-message-dir.d.ts} +0 -0
  513. package/dist/shared/{opencode-server-auth.d.ts → opencode/opencode-server-auth.d.ts} +0 -0
  514. package/dist/shared/{poll-timeout-outcome.d.ts → outcome/poll-timeout-outcome.d.ts} +0 -0
  515. package/dist/shared/{revive-outcome.d.ts → outcome/revive-outcome.d.ts} +0 -0
  516. package/dist/shared/{saturated-outcome.d.ts → outcome/saturated-outcome.d.ts} +0 -0
  517. package/dist/shared/{sentinels.d.ts → outcome/sentinels.d.ts} +0 -0
  518. package/dist/shared/{wallclock-outcome.d.ts → outcome/wallclock-outcome.d.ts} +0 -0
  519. package/dist/shared/{code-patterns.d.ts → policy/code-patterns.d.ts} +0 -0
  520. package/dist/shared/{context-mode-enforcement.d.ts → policy/context-mode-enforcement.d.ts} +0 -0
  521. package/dist/shared/{dcp-guidance.d.ts → policy/dcp-guidance.d.ts} +0 -0
  522. package/dist/shared/{status-types.d.ts → policy/status-types.d.ts} +0 -0
  523. package/dist/shared/{delay.d.ts → runtime/delay.d.ts} +0 -0
  524. package/dist/shared/{is-abort-error.d.ts → runtime/is-abort-error.d.ts} +0 -0
  525. package/dist/shared/{logger.d.ts → runtime/logger.d.ts} +0 -0
  526. package/dist/shared/{notify.d.ts → runtime/notify.d.ts} +0 -0
  527. package/dist/shared/{record-type-guard.d.ts → runtime/record-type-guard.d.ts} +0 -0
  528. package/dist/shared/{unwrap-list.d.ts → runtime/unwrap-list.d.ts} +0 -0
  529. package/dist/shared/{with-timeout.d.ts → runtime/with-timeout.d.ts} +0 -0
  530. package/dist/shared/{awaiting-user.d.ts → session/awaiting-user.d.ts} +0 -0
  531. package/dist/shared/{first-message-variant.d.ts → session/first-message-variant.d.ts} +0 -0
  532. package/dist/shared/{session-cursor.d.ts → session/session-cursor.d.ts} +0 -0
  533. package/dist/shared/{session-directory-resolver.d.ts → session/session-directory-resolver.d.ts} +0 -0
  534. package/dist/shared/{session-facade.d.ts → session/session-facade.d.ts} +0 -0
  535. package/dist/shared/{session-id.d.ts → session/session-id.d.ts} +0 -0
  536. package/dist/shared/{session-injected-paths.d.ts → session/session-injected-paths.d.ts} +0 -0
  537. package/dist/shared/{session-message.d.ts → session/session-message.d.ts} +0 -0
  538. package/dist/shared/{session-state.d.ts → session/session-state.d.ts} +0 -0
  539. package/dist/shared/{session-utils.d.ts → session/session-utils.d.ts} +0 -0
  540. package/dist/shared/{state-root.d.ts → session/state-root.d.ts} +0 -0
  541. package/dist/shared/{transcript-path.d.ts → session/transcript-path.d.ts} +0 -0
  542. package/dist/shared/{with-ephemeral-session.d.ts → session/with-ephemeral-session.d.ts} +0 -0
  543. package/dist/shared/{error-formatting.d.ts → text/error-formatting.d.ts} +0 -0
  544. package/dist/shared/{escape-regexp.d.ts → text/escape-regexp.d.ts} +0 -0
  545. package/dist/shared/{format-bytes.d.ts → text/format-bytes.d.ts} +0 -0
  546. package/dist/shared/{format-duration.d.ts → text/format-duration.d.ts} +0 -0
  547. package/dist/shared/{json-safe-metadata.d.ts → text/json-safe-metadata.d.ts} +0 -0
  548. package/dist/shared/{jsonc-parser.d.ts → text/jsonc-parser.d.ts} +0 -0
  549. package/dist/shared/{system-directive.d.ts → text/system-directive.d.ts} +0 -0
  550. package/dist/shared/{agent-tool-restrictions.d.ts → tool/agent-tool-restrictions.d.ts} +0 -0
  551. package/dist/shared/{skill-path-resolver.d.ts → tool/skill-path-resolver.d.ts} +0 -0
  552. package/dist/shared/{tool-guards.d.ts → tool/tool-guards.d.ts} +0 -0
  553. package/dist/skills/{lazy-skill-helper.d.ts → loader/lazy-skill-helper.d.ts} +0 -0
  554. package/dist/skills/{schemas → loader/schemas}/audits-store.d.ts +1 -1
  555. package/dist/skills/{schemas → loader/schemas}/security-audit.d.ts +2 -2
  556. /package/dist/skills/{skills.transform.d.ts → loader/skills.transform.d.ts} +0 -0
  557. /package/dist/skills/{types.d.ts → loader/types.d.ts} +0 -0
@@ -27,8 +27,8 @@
27
27
  * default export structurally (`{ id, setup }`), so `src/index.ts` exports
28
28
  * that literal directly.
29
29
  */
30
- import type { NotifySink } from "../shared/notify";
31
- import type { MatrixxToolDefinition } from "../tools/shared/define-tool";
30
+ import type { NotifySink } from "../../shared/runtime/notify";
31
+ import type { MatrixxToolDefinition } from "../../shared/tool/define-tool";
32
32
  export type Cleanup = () => unknown;
33
33
  export interface V2App {
34
34
  readonly name: string;
@@ -1,7 +1,7 @@
1
- import type { MatrixxConfig } from "../config";
2
- import type { NativePluginContext } from "../shared/session-context-source";
1
+ import type { MatrixxConfig } from "../../config";
2
+ import type { NativePluginContext } from "../../shared/session/session-context-source";
3
+ import type { DomainHooks, DomainManagers } from "../setup-domains";
3
4
  import type { MatrixxContext, V2Event } from "./context";
4
- import type { DomainHooks, DomainManagers } from "./setup-domains";
5
5
  type FirstMessageVariantGate = {
6
6
  markSessionCreated: (sessionInfo: {
7
7
  id?: string;
@@ -0,0 +1,22 @@
1
+ export { createAvailableCategories } from "./available-categories";
2
+ export { createChatMessageHandler } from "./chat-message";
3
+ export { createChatParamsHandler } from "./chat-params";
4
+ export type { Cleanup, MatrixxContext, ToolsRecord, V2AgentEditor, V2AgentInfo, V2AgentTransformDomain, V2App, V2DomainEditor, V2Event, V2ExecuteAfterEvent, V2ExecuteBeforeEvent, V2HookCallback, V2Location, V2McpEditor, V2McpTransformDomain, V2PermissionApi, V2Project, V2Registration, V2SessionCompactionEvent, V2SessionContextEvent, V2SessionDomain, V2SessionPromptEvent, V2SystemPart, V2ToolContext, V2ToolDomain, V2ToolEditor, V2ToolInfo, V2ToolResult, V2TransformDomain, } from "./context";
5
+ export { createEventHandler } from "./event";
6
+ export type { DispatchGuard, EventDispatcher, EventDispatcherDeps, EventDispatcherStats, EventSubscriber, } from "./event-dispatch";
7
+ export { createEventDispatcher, DEDUPLICATE_WINDOW_MS, DISPATCH_BACKOFF_BASE_MS, DISPATCH_BACKOFF_MAX_MS, defaultSleep, dispatchBackoffMs, } from "./event-dispatch";
8
+ export type { Auth, Event, Hooks, Message, Model, ModelV2, Part, Permission, Provider, ProviderContext, ProviderV2, SDKConfig, UserMessage, } from "./legacy-hooks";
9
+ export { createNativePluginContext } from "./native-context";
10
+ export { pruneRecentSyntheticIdles } from "./recent-synthetic-idles";
11
+ export { resolveSessionAgent } from "./session-agent-resolver";
12
+ export { normalizeSessionStatusToIdle } from "./session-status-normalizer";
13
+ export type { SkillContext } from "./skill-context";
14
+ export { createSkillContext } from "./skill-context";
15
+ export type { ToolCatalogResult } from "./tool-catalog";
16
+ export { createToolCatalog } from "./tool-catalog";
17
+ export { createToolDefinitionHandler, toolAuthoringEntry } from "./tool-definition";
18
+ export { createToolExecuteAfterHandler } from "./tool-execute-after";
19
+ export { createToolExecuteBeforeHandler } from "./tool-execute-before";
20
+ export type { ToolEditorLike, ToolPermissionDecision, ToolPermissionEffect, ToolPolicyOptions, } from "./tool-policy";
21
+ export { applyDisabledToolsTransform, BDD_FILE_EXTENSION, decideToolPermission, directoryHasMatch, isConstructAgentEnabled, LOOK_AT_MEDIA_EXTENSIONS, PDF_FILE_EXTENSION, shouldEnableBddTools, shouldEnableEvolutionTool, shouldEnableKnowledgeHubConfirm, shouldEnableLookAt, shouldEnablePdfFigures, shouldEnablePresetTools, shouldEnableSessionCleanup, TOOL_GATING_MAX_DEPTH, TOOL_GATING_MAX_ENTRIES, TOOL_GATING_SKIP_DIRS, } from "./tool-policy";
22
+ export { createUnstableAgentBabysitter } from "./unstable-agent-babysitter";
@@ -27,7 +27,7 @@ export type SDKConfig = Record<string, unknown>;
27
27
  export type UserMessage = Record<string, unknown>;
28
28
  export type ModelV2 = Record<string, unknown>;
29
29
  export type ProviderV2 = Record<string, unknown>;
30
- import type { MatrixxToolDefinition } from "../tools/shared/define-tool";
30
+ import type { MatrixxToolDefinition } from "../../shared/tool/define-tool";
31
31
  export type ProviderContext = {
32
32
  source: "env" | "config" | "custom" | "api";
33
33
  info: Provider;
@@ -1,4 +1,4 @@
1
- import type { NativePluginContext } from "../shared/session-context-source";
1
+ import type { NativePluginContext } from "../../shared/session/session-context-source";
2
2
  import type { MatrixxContext } from "./context";
3
3
  /**
4
4
  * Builds the native plugin context the matrixx core runs against.
@@ -1,2 +1,2 @@
1
- import type { SessionContextCarrier } from "../shared/session-context-source";
1
+ import type { SessionContextCarrier } from "../../shared/session/session-context-source";
2
2
  export declare function resolveSessionAgent(client: SessionContextCarrier, sessionId: string, timeoutMs?: number): Promise<string | undefined>;
@@ -1,7 +1,7 @@
1
- import type { AvailableSkill } from "../agents/dynamic-agent-prompt-builder";
2
- import type { MatrixxConfig } from "../config";
3
- import type { BrowserAutomationProvider } from "../config/schema/browser-automation";
4
- import { type BuiltinSkill } from "../skills";
1
+ import type { AvailableSkill } from "../../agents/dynamic-agent-prompt-builder";
2
+ import type { MatrixxConfig } from "../../config";
3
+ import type { BrowserAutomationProvider } from "../../config/schema/browser-automation";
4
+ import { type BuiltinSkill } from "../../skills";
5
5
  export type SkillContext = {
6
6
  builtinSkills: BuiltinSkill[];
7
7
  availableSkills: AvailableSkill[];
@@ -1,8 +1,8 @@
1
- import type { AvailableCategory } from "../agents/dynamic-agent-prompt-builder";
2
- import type { MatrixxConfig } from "../config";
3
- import type { NativePluginContext } from "../shared/session-context-source";
1
+ import type { AvailableCategory } from "../../agents/dynamic-agent-prompt-builder";
2
+ import type { MatrixxConfig } from "../../config";
3
+ import type { NativePluginContext } from "../../shared/session/session-context-source";
4
+ import type { DomainManagers } from "../setup-domains";
4
5
  import type { ToolsRecord } from "./context";
5
- import type { DomainManagers } from "./setup-domains";
6
6
  import type { SkillContext } from "./skill-context";
7
7
  export type ToolCatalogResult = {
8
8
  filteredTools: ToolsRecord;
@@ -1,5 +1,5 @@
1
- import { defineTool } from "../tools/shared/define-tool";
2
- import type { DomainHooks } from "./setup-domains";
1
+ import { defineTool } from "../../shared/tool/define-tool";
2
+ import type { DomainHooks } from "../setup-domains";
3
3
  export declare const toolAuthoringEntry: typeof defineTool;
4
4
  export declare function createToolDefinitionHandler(args: {
5
5
  hooks: DomainHooks;
@@ -1,4 +1,4 @@
1
- import type { DomainHooks } from "./setup-domains";
1
+ import type { DomainHooks } from "../setup-domains";
2
2
  export declare function createToolExecuteAfterHandler(args: {
3
3
  hooks: DomainHooks;
4
4
  }): (input: {
@@ -1,6 +1,6 @@
1
- import type { SessionContextCarrier } from "../shared/session-context-source";
1
+ import type { SessionContextCarrier } from "../../shared/session/session-context-source";
2
+ import type { DomainHooks } from "../setup-domains";
2
3
  import type { MatrixxContext } from "./context";
3
- import type { DomainHooks } from "./setup-domains";
4
4
  export declare function createToolExecuteBeforeHandler(args: {
5
5
  ctx: MatrixxContext & SessionContextCarrier;
6
6
  hooks: DomainHooks;
@@ -1,6 +1,6 @@
1
- import type { MatrixxConfig } from "../config";
2
- import type { BackgroundManager } from "../features/background-agent";
3
- import type { NativePluginContext } from "../shared/session-context-source";
1
+ import type { MatrixxConfig } from "../../config";
2
+ import type { BackgroundManager } from "../../features/background-agent";
3
+ import type { NativePluginContext } from "../../shared/session/session-context-source";
4
4
  export declare function createUnstableAgentBabysitter(args: {
5
5
  ctx: NativePluginContext;
6
6
  backgroundManager: BackgroundManager;
@@ -1,4 +1,4 @@
1
- import type { MatrixxConfig } from "../config";
1
+ import type { MatrixxConfig } from "../../config";
2
2
  export declare function resolveAgentVariant(config: MatrixxConfig, agentName?: string): string | undefined;
3
3
  export declare function resolveVariantForModel(config: MatrixxConfig, agentName: string, currentModel: {
4
4
  providerID: string;
@@ -0,0 +1,5 @@
1
+ export * from "./agent-display-names";
2
+ export * from "./agent-label";
3
+ export * from "./agent-variant";
4
+ export * from "./permission-compat";
5
+ export * from "./safe-create-hook";
@@ -1,4 +1,4 @@
1
- import type { ExperimentalConfig } from "../config/schema/experimental";
1
+ import type { ExperimentalConfig } from "../../config/schema/experimental";
2
2
  import type { ContextLimitModelCacheState } from "./context-limit-resolver";
3
3
  import { isAnthropicProvider, resolveActualContextLimit } from "./context-limit-resolver";
4
4
  /**
@@ -1,5 +1,5 @@
1
- import type { MatrixxContext } from "../plugin/context";
2
- import type { SessionContextCarrier } from "./session-context-source";
1
+ import type { MatrixxContext } from "../../plugin/tool/context";
2
+ import type { SessionContextCarrier } from "../session/session-context-source";
3
3
  type MessageSource = MatrixxContext | SessionContextCarrier;
4
4
  interface TruncationResult {
5
5
  result: string;
@@ -0,0 +1,7 @@
1
+ export * from "./compaction-log";
2
+ export * from "./compaction-model-resolver";
3
+ export * from "./context-limit-resolver";
4
+ export * from "./context-limits";
5
+ export * from "./dynamic-truncator";
6
+ export * from "./token-cache";
7
+ export * from "./truncate-description";
@@ -0,0 +1,8 @@
1
+ export * from "./config-errors";
2
+ export * from "./data-path";
3
+ export * from "./deep-merge";
4
+ export * from "./opencode-config-dir";
5
+ export * from "./opencode-storage-detection";
6
+ export * from "./opencode-storage-paths";
7
+ export * from "./opencode-version";
8
+ export * from "./task-system-gating";
@@ -1,5 +1,5 @@
1
- import type { MatrixxConfig } from "../config/schema";
2
- import type { TasksConfig } from "../config/schema/tasks";
1
+ import type { MatrixxConfig } from "../../config/schema";
2
+ import type { TasksConfig } from "../../config/schema/tasks";
3
3
  export declare const TASK_SYSTEM_DEFAULT: true;
4
4
  export type ResolvedTasksConfig = Required<Pick<TasksConfig, "enabled" | "scope" | "session_scoped">> & Pick<TasksConfig, "storage_path" | "task_list_id" | "stale_after_hours" | "pollTimeoutMs" | "background_stale_after_hours">;
5
5
  /**
@@ -1,70 +1,72 @@
1
- export * from "./agent-tool-restrictions";
2
- export * from "./agent-variant";
3
- export * from "./binary-downloader";
1
+ export * from "./agent/agent-variant";
2
+ export * from "./agent/permission-compat";
3
+ export * from "./agent/safe-create-hook";
4
4
  export * from "./command-executor";
5
- export * from "./compaction-log";
6
- export * from "./config-errors";
7
- export * from "./connected-providers-cache";
8
- export * from "./context-mode-enforcement";
9
- export * from "./data-path";
10
- export * from "./dcp-switch-profile";
11
- export * from "./deep-merge";
12
- export * from "./delay";
13
- export * from "./dynamic-truncator";
14
- export * from "./escape-regexp";
15
- export * from "./external-plugin-detector";
16
- export * from "./file-reference-resolver";
17
- export * from "./file-utils";
18
- export * from "./format-bytes";
19
- export * from "./format-duration";
20
- export * from "./frontmatter";
5
+ export * from "./compaction/compaction-log";
6
+ export * from "./compaction/compaction-model-resolver";
7
+ export * from "./compaction/dynamic-truncator";
8
+ export * from "./compaction/token-cache";
9
+ export * from "./compaction/truncate-description";
10
+ export * from "./config/config-errors";
11
+ export * from "./config/data-path";
12
+ export * from "./config/deep-merge";
13
+ export * from "./config/opencode-config-dir";
14
+ export * from "./config/opencode-storage-detection";
15
+ export * from "./config/opencode-storage-paths";
16
+ export * from "./config/opencode-version";
21
17
  export { collectGitDiffStats } from "./git-worktree/collect-git-diff-stats";
22
18
  export { formatFileChanges } from "./git-worktree/format-file-changes";
23
19
  export { parseGitDiffNumstat } from "./git-worktree/parse-diff-numstat";
24
20
  export { parseGitStatusPorcelain } from "./git-worktree/parse-status-porcelain";
25
21
  export type { GitFileStat, GitFileStatus } from "./git-worktree/types";
26
- export * from "./injection-notifier";
27
- export * from "./is-abort-error";
28
- export * from "./json-safe-metadata";
29
- export * from "./jsonc-parser";
30
- export * from "./logger";
31
- export * from "./memory-backend-detect";
32
- export * from "./model-availability";
33
- export * from "./model-requirements";
34
- export { type ModelResolutionProvenance, type ModelResolutionRequest, type ModelResolutionResult, normalizeModel, resolveModelPipeline, } from "./model-resolution-pipeline";
35
- export * from "./model-suggestion-retry";
36
- export * from "./normalize-sdk-response";
37
- export * from "./notify";
38
- export * from "./opencode-config-dir";
39
- export * from "./opencode-http-api";
40
- export * from "./opencode-message-dir";
41
- export * from "./opencode-server-auth";
42
- export * from "./opencode-storage-detection";
43
- export * from "./opencode-storage-paths";
44
- export * from "./opencode-version";
45
- export * from "./permission-compat";
46
- export * from "./port-utils";
47
- export * from "./rtk-enforcement";
48
- export * from "./safe-create-hook";
49
- export * from "./sentinels";
50
- export * from "./session-context-source";
51
- export * from "./session-cursor";
52
- export * from "./session-directory-resolver";
53
- export * from "./session-facade";
54
- export * from "./session-id";
55
- export * from "./session-message";
56
- export * from "./session-utils";
57
- export * from "./shell-env";
58
- export * from "./shell-tool-name";
59
- export { isLinkedWorktree, MATRIX_STATE_DIR, resolveStateRoot, type StateRootCandidates, stateExists, stateRootFromPluginContext, stateRootFromToolContext, } from "./state-root";
60
- export * from "./status-types";
61
- export * from "./system-directive";
22
+ export * from "./io/binary-downloader";
23
+ export * from "./io/file-reference-resolver";
24
+ export * from "./io/file-utils";
25
+ export * from "./io/frontmatter";
26
+ export * from "./io/port-utils";
27
+ export * from "./io/shell-env";
28
+ export * from "./io/shell-tool-name";
29
+ export * from "./io/zip-extractor";
30
+ export * from "./model/connected-providers-cache";
31
+ export * from "./model/model-availability";
32
+ export * from "./model/model-requirements";
33
+ export { type ModelResolutionProvenance, type ModelResolutionRequest, type ModelResolutionResult, normalizeModel, resolveModelPipeline, } from "./model/model-resolution-pipeline";
34
+ export * from "./model/model-suggestion-retry";
35
+ export * from "./model/normalize-sdk-response";
36
+ export * from "./opencode/external-plugin-detector";
37
+ export * from "./opencode/memory-backend-detect";
38
+ export * from "./opencode/opencode-http-api";
39
+ export * from "./opencode/opencode-message-dir";
40
+ export * from "./opencode/opencode-server-auth";
41
+ export * from "./outcome/sentinels";
42
+ export * from "./policy/context-mode-enforcement";
43
+ export * from "./policy/dcp-switch-profile";
44
+ export * from "./policy/injection-notifier";
45
+ export * from "./policy/rtk-enforcement";
46
+ export * from "./policy/status-types";
47
+ export * from "./runtime/delay";
48
+ export * from "./runtime/is-abort-error";
49
+ export * from "./runtime/logger";
50
+ export * from "./runtime/notify";
51
+ export * from "./runtime/unwrap-list";
52
+ export * from "./runtime/with-timeout";
53
+ export * from "./session/session-context-source";
54
+ export * from "./session/session-cursor";
55
+ export * from "./session/session-directory-resolver";
56
+ export * from "./session/session-facade";
57
+ export * from "./session/session-id";
58
+ export * from "./session/session-message";
59
+ export * from "./session/session-utils";
60
+ export { isLinkedWorktree, MATRIX_STATE_DIR, resolveStateRoot, type StateRootCandidates, stateExists, stateRootFromPluginContext, stateRootFromToolContext, } from "./session/state-root";
61
+ export * from "./session/transcript-path";
62
+ export * from "./text/escape-regexp";
63
+ export * from "./text/format-bytes";
64
+ export * from "./text/format-duration";
65
+ export * from "./text/json-safe-metadata";
66
+ export * from "./text/jsonc-parser";
67
+ export * from "./text/system-directive";
62
68
  export * from "./tmux/constants";
63
69
  export * from "./tmux/tmux-utils";
64
70
  export * from "./tmux/types";
65
- export * from "./token-cache";
66
- export * from "./transcript-path";
67
- export * from "./truncate-description";
68
- export * from "./unwrap-list";
69
- export * from "./with-timeout";
70
- export * from "./zip-extractor";
71
+ export * from "./tool/agent-tool-restrictions";
72
+ export * from "./tool/define-tool";
@@ -0,0 +1,8 @@
1
+ export * from "./binary-downloader";
2
+ export * from "./file-reference-resolver";
3
+ export * from "./file-utils";
4
+ export * from "./frontmatter";
5
+ export * from "./port-utils";
6
+ export * from "./shell-env";
7
+ export * from "./shell-tool-name";
8
+ export * from "./zip-extractor";
@@ -0,0 +1,7 @@
1
+ export * from "./connected-providers-cache";
2
+ export * from "./model-availability";
3
+ export * from "./model-requirements";
4
+ export * from "./model-resolution-pipeline";
5
+ export * from "./model-sanitizer";
6
+ export * from "./model-suggestion-retry";
7
+ export * from "./normalize-sdk-response";
@@ -1,4 +1,4 @@
1
- import { type ModelRequirements } from "../config/schema/model-config";
1
+ import { type ModelRequirements } from "../../config/schema/model-config";
2
2
  export type FallbackEntry = {
3
3
  providers: string[];
4
4
  model: string;
@@ -1,4 +1,4 @@
1
- import type { SessionDomainLike } from "./session-facade";
1
+ import type { SessionDomainLike } from "../session/session-facade";
2
2
  export interface RetrySessionClient {
3
3
  session: {
4
4
  promptAsync(args: unknown): Promise<unknown>;
@@ -0,0 +1,5 @@
1
+ export * from "./external-plugin-detector";
2
+ export * from "./memory-backend-detect";
3
+ export * from "./opencode-http-api";
4
+ export * from "./opencode-message-dir";
5
+ export * from "./opencode-server-auth";
@@ -1,4 +1,4 @@
1
- import type { MemoryBackend } from "../config/schema/memory";
1
+ import type { MemoryBackend } from "../../config/schema/memory";
2
2
  export interface MemoryBackendDetection {
3
3
  hasLcmTools: boolean;
4
4
  hasSupermemoryTools: boolean;
@@ -0,0 +1,5 @@
1
+ export * from "./poll-timeout-outcome";
2
+ export * from "./revive-outcome";
3
+ export * from "./saturated-outcome";
4
+ export * from "./sentinels";
5
+ export * from "./wallclock-outcome";
@@ -1,4 +1,4 @@
1
- import type { DcpConfig } from "../config/schema/dcp";
1
+ import type { DcpConfig } from "../../config/schema/dcp";
2
2
  export interface DcpSwitchProfileOptions {
3
3
  pluginConfig?: {
4
4
  dcp?: DcpConfig;
@@ -0,0 +1,7 @@
1
+ export * from "./code-patterns";
2
+ export * from "./context-mode-enforcement";
3
+ export * from "./dcp-guidance";
4
+ export * from "./dcp-switch-profile";
5
+ export * from "./injection-notifier";
6
+ export * from "./rtk-enforcement";
7
+ export * from "./status-types";
@@ -1,4 +1,4 @@
1
- import type { MatrixxContext } from "../plugin/context";
1
+ import type { MatrixxContext } from "../../plugin/tool/context";
2
2
  export declare const INJECTION_NOTICE_MAX_BODY_LENGTH = 120;
3
3
  export interface NotifyInjectionOptions {
4
4
  sessionID: string;
@@ -1,4 +1,4 @@
1
- import type { RtkConfig } from "../config/schema/rtk";
1
+ import type { RtkConfig } from "../../config/schema/rtk";
2
2
  export interface RtkEnforcement {
3
3
  enabled: boolean;
4
4
  binaryPresent: boolean;
@@ -0,0 +1,7 @@
1
+ export * from "./delay";
2
+ export * from "./is-abort-error";
3
+ export * from "./logger";
4
+ export * from "./notify";
5
+ export * from "./record-type-guard";
6
+ export * from "./unwrap-list";
7
+ export * from "./with-timeout";
@@ -0,0 +1,14 @@
1
+ export * from "./awaiting-user";
2
+ export * from "./first-message-variant";
3
+ export * from "./session-context-source";
4
+ export * from "./session-cursor";
5
+ export * from "./session-directory-resolver";
6
+ export * from "./session-facade";
7
+ export * from "./session-id";
8
+ export * from "./session-injected-paths";
9
+ export * from "./session-message";
10
+ export * from "./session-state";
11
+ export * from "./session-utils";
12
+ export * from "./state-root";
13
+ export * from "./transcript-path";
14
+ export * from "./with-ephemeral-session";
@@ -6,7 +6,7 @@
6
6
  * guessing the shape. Rejections propagate: callers that degrade on failure keep
7
7
  * their existing `.catch(...)` handling.
8
8
  */
9
- import type { MatrixxContext } from "../plugin/context";
9
+ import type { MatrixxContext } from "../../plugin/tool/context";
10
10
  import type { SessionDomainLike } from "./session-facade";
11
11
  import type { SessionMessage } from "./session-message";
12
12
  export type { SessionDomainLike };
@@ -0,0 +1,7 @@
1
+ export * from "./error-formatting";
2
+ export * from "./escape-regexp";
3
+ export * from "./format-bytes";
4
+ export * from "./format-duration";
5
+ export * from "./json-safe-metadata";
6
+ export * from "./jsonc-parser";
7
+ export * from "./system-directive";
@@ -1,6 +1,6 @@
1
1
  import type { ZodType } from "zod";
2
2
  import { z } from "zod";
3
- import type { V2ToolContext, V2ToolInfo, V2ToolResult } from "../../plugin/context";
3
+ import type { V2ToolContext, V2ToolInfo, V2ToolResult } from "../../plugin/tool/context";
4
4
  /** Tool execution result: a plain string or a structured payload. */
5
5
  export type MatrixxToolResult = string | {
6
6
  output?: unknown;
@@ -1,2 +1,2 @@
1
- import type { MatrixxToolDefinition } from "../tools/shared/define-tool";
1
+ import type { MatrixxToolDefinition } from "./define-tool";
2
2
  export declare function filterDisabledTools(tools: Record<string, MatrixxToolDefinition>, disabledTools: readonly string[] | undefined): Record<string, MatrixxToolDefinition>;
@@ -0,0 +1,6 @@
1
+ export * from "./agent-tool-restrictions";
2
+ export * from "./define-tool";
3
+ export * from "./disabled-tools";
4
+ export * from "./merge-categories";
5
+ export * from "./skill-path-resolver";
6
+ export * from "./tool-guards";
@@ -1,4 +1,4 @@
1
- import type { CategoriesConfig, CategoryConfig } from "../config/schema";
1
+ import type { CategoriesConfig, CategoryConfig } from "../../config/schema";
2
2
  /**
3
3
  * Merge default and user categories, filtering out disabled ones.
4
4
  * Single source of truth for category merging across the codebase.
@@ -1,3 +1,3 @@
1
- import type { BuiltinSkill } from "../types";
1
+ import type { BuiltinSkill } from "../../loader/types";
2
2
  export declare const BDD_BACKEND_SKILL_NAME = "bdd-backend";
3
3
  export declare const bddBackendSkill: BuiltinSkill;
@@ -1,3 +1,3 @@
1
- import type { BuiltinSkill } from "../types";
1
+ import type { BuiltinSkill } from "../../loader/types";
2
2
  export declare const BDD_CONTRACT_SKILL_NAME = "bdd-contract";
3
3
  export declare const bddContractSkill: BuiltinSkill;
@@ -1,3 +1,3 @@
1
- import type { BuiltinSkill } from "../types";
1
+ import type { BuiltinSkill } from "../../loader/types";
2
2
  export declare const BDD_FRONTEND_SKILL_NAME = "bdd-frontend";
3
3
  export declare const bddFrontendSkill: BuiltinSkill;
@@ -1,3 +1,3 @@
1
- import type { BuiltinSkill } from "../types";
1
+ import type { BuiltinSkill } from "../../loader/types";
2
2
  export declare const BDD_TESTS_SKILL_NAME = "bdd-tests";
3
3
  export declare const bddTestsSkill: BuiltinSkill;
@@ -0,0 +1,4 @@
1
+ export { BDD_BACKEND_SKILL_NAME, bddBackendSkill } from "./bdd-backend";
2
+ export { BDD_CONTRACT_SKILL_NAME, bddContractSkill } from "./bdd-contract";
3
+ export { BDD_FRONTEND_SKILL_NAME, bddFrontendSkill } from "./bdd-frontend";
4
+ export { BDD_TESTS_SKILL_NAME, bddTestsSkill } from "./bdd-tests";
@@ -0,0 +1,2 @@
1
+ import type { BuiltinSkill } from "../../loader/types";
2
+ export declare const devBrowserSkill: BuiltinSkill;
@@ -0,0 +1 @@
1
+ export declare const buildSection = "# Docker Master Agent\n\nYou are a Docker expert combining five specializations:\n1. **Build Architect**: Multi-stage builds, Dockerfile optimization, BuildKit, layer caching\n2. **Compose Orchestrator**: Service definitions, networking, volumes, health checks, resource limits\n3. **Debug Specialist**: Container inspection, log analysis, network debugging, troubleshooting\n4. **Optimization Engineer**: Image size reduction, build speed, runtime performance\n5. **CI/CD Pipeline Builder**: GitHub Actions, multi-platform builds, registry management, secrets\n\n---\n\n## MODE DETECTION (FIRST STEP)\n\nAnalyze the user's request to determine operation mode:\n\n| User Request Pattern | Mode | Jump To |\n|---------------------|------|---------|\n| \"build\", \"Dockerfile\", \"multi-stage\", \"image\", \"docker build\", \"dockerize\" | `BUILD` | Phase B1-B5 |\n| \"compose\", \"services\", \"docker compose\", \"service definition\" | `COMPOSE` | Phase C1-C6 |\n| \"debug\", \"logs\", \"inspect\", \"troubleshoot\", \"container not starting\", \"exit code\" | `DEBUG` | Phase D1-D5 |\n| \"optimize\", \"reduce size\", \"speed up build\", \"cache\", \"slim\", \"alpine\" | `OPTIMIZE` | Phase O1-O4 |\n| \"CI/CD\", \"GitHub Actions\", \"registry\", \"publish\", \"deploy\", \"docker push\" | `CICD` | Phase I1-I4 |\n\n**CRITICAL**: Don't default to BUILD mode. Parse the actual request.\n\n---\n\n## PHASE V1: Version Detection (MANDATORY \u2014 FIRST STEP)\n\n<version_detection>\n**Execute ALL of the following commands IN PARALLEL:**\n\n```bash\n# Group 1: Docker availability\ncommand -v docker && docker info --format '{{.ServerVersion}}'\ncommand -v docker && docker info --format '{{.OSType}}' 2>/dev/null\ncommand -v docker && docker info --format '{{.Driver}}' 2>/dev/null\ncommand -v docker && docker info --format '{{.SecurityOptions}}' 2>/dev/null\n\n# Group 2: Compose detection (v2 vs v1)\ndocker compose version 2>/dev/null || echo \"NO_DOCKER_COMPOSE_V2\"\ndocker-compose --version 2>/dev/null || echo \"NO_DOCKER_COMPOSE_V1\"\n\n# Group 3: BuildKit detection\ndocker buildx version 2>/dev/null || echo \"NO_BUILDX\"\ndocker buildx ls 2>/dev/null || echo \"NO_BUILDX_INSTANCES\"\n\n# Group 4: Docker context & rootless\ndocker context show 2>/dev/null\ndocker info --format '{{.Rootless}}' 2>/dev/null\n```\n\n### V1.1 Docker Availability\n\n```\nIf command -v docker fails:\n -> STOP. Docker is not installed. Guide user through installation:\n https://docs.docker.com/engine/install/\n\nIf rootless mode detected:\n -> Port mapping < 1024 requires sudo or authbind\n -> Mention this constraint to the user\n```\n\n### V1.2 Compose Detection\n\n```\nIF \"docker compose version\" succeeds -> COMPOSE = v2 (CANONICAL)\n -> Use \"docker compose\" for ALL compose operations\n\nELSE IF v1 binary succeeds -> COMPOSE = v1 (DEPRECATED)\n -> Warn: docker-compose v1 is DEPRECATED and unmaintained\n -> Recommend installing Docker Compose v2\n -> Fall back to v1 syntax as a temporary measure\n\nELSE -> COMPOSE = none (compose features unavailable)\n```\n\n### V1.3 BuildKit Detection\n\n```\nIF \"docker buildx version\" succeeds -> BUILDKIT = buildx\n -> Cache mounts, secrets, multi-platform builds supported\n\nELSE IF docker info shows \"BuildKit: true\" -> BUILDKIT = native\n -> Docker Desktop 4.8+ has BuildKit enabled by default\n\nELSE -> BUILDKIT = none (legacy build engine, recommend upgrade to 23.0+)\n```\n\n### V1.4 Environment Summary (BLOCKING \u2014 MUST OUTPUT)\n\n```\nDOCKER ENVIRONMENT SUMMARY\n==========================\nDocker Engine: v<version> (available: YES/NO)\nOS Type: <linux/darwin/windows>\nStorage Driver: <overlay2/aufs/devicemapper>\nRootless: <YES/NO>\n\nCompose: v2 (CANONICAL) | v1 (DEPRECATED) | none\nBuildKit: buildx | native | none\n\nAll Docker commands will use: docker (v2 syntax)\nCompose commands will use: docker compose (v2 canonical)\n```\n\n**IF DOCKER IS NOT AVAILABLE, STOP AND GUIDE USER TO INSTALL IT.**\n</version_detection>\n\n---\n\n## SECTION 1 \u2014 BUILD MODE\n\n<build_mode>\n### Phase B1: Multi-stage Build Patterns\n\n#### B1.1 Basic Two-Stage Pattern\n\n```dockerfile\n# Stage 1: Build environment\nFROM node:20-alpine AS builder\nWORKDIR /app\nCOPY package*.json ./\nRUN npm ci\nCOPY . .\nRUN npm run build\n\n# Stage 2: Production runtime\nFROM node:20-alpine AS runner\nWORKDIR /app\nRUN addgroup --system --gid 1001 nodejs && \\\n adduser --system --uid 1001 nextjs\nCOPY --from=builder /app/dist ./dist\nCOPY --from=builder /app/node_modules ./node_modules\nUSER nextjs\nEXPOSE 3000\nCMD [\"node\", \"dist/index.js\"]\n```\n\n#### B1.2 Dependency Installation vs Runtime Separation\n\n```dockerfile\nFROM node:20-alpine AS deps\nWORKDIR /app\nCOPY package*.json ./\nRUN npm ci\n\nFROM deps AS builder\nCOPY . .\nRUN npm run build\n\nFROM node:20-alpine AS runner\nWORKDIR /app\nCOPY --from=deps /app/node_modules ./node_modules\nCOPY --from=builder /app/dist ./dist\nCMD [\"node\", \"dist/index.js\"]\n```\n\n---\n\n### Phase B2: BuildKit Features\n\n#### B2.1 Cache Mounts for Package Managers\n\n```dockerfile\n# apt \u2014 cache packages across builds\nRUN --mount=type=cache,target=/var/cache/apt,sharing=locked \\\n --mount=type=cache,target=/var/lib/apt,sharing=locked \\\n apt-get update && apt-get install -y --no-install-recommends \\\n build-essential && rm -rf /var/lib/apt/lists/*\n\n# npm \u2014 cache packages\nRUN --mount=type=cache,target=/root/.npm \\\n npm ci --only=production\n\n# pip \u2014 cache packages\nRUN --mount=type=cache,target=/root/.cache/pip \\\n pip install --no-cache-dir -r requirements.txt\n\n# Go modules\nRUN --mount=type=cache,target=/go/pkg/mod \\\n go mod download\n```\n\n#### B2.2 BuildKit Variables\n\n```bash\n# Enable BuildKit\nDOCKER_BUILDKIT=1 docker build .\n\n# Plain output for CI debugging\nBUILDKIT_PROGRESS=plain DOCKER_BUILDKIT=1 docker build .\n\n# Skip cache for specific stage\ndocker build --no-cache-filter=runner .\n```\n\n---\n\n### Phase B3: .dockerignore Best Practices\n\n```\n# Always include at minimum:\n.git/\n**/node_modules/\n.env\ndist/\nbuild/\n.next/\n.cache/\nDockerfile\n.dockerignore\n.github/\n.idea/\n.vscode/\n.DS_Store\n*.md\n```\n\n```bash\n# Check build context size\ndocker build -t test-context . --progress=plain 2>&1 | grep -i \"context\"\n```\n\n---\n\n### Phase B4: Layer Caching Optimization\n\n```dockerfile\n# ORDER BY FREQUENCY OF CHANGE (least -> most frequently changing)\nFROM node:20-alpine # never changes\nRUN apk add --no-cache dumb-init curl # rarely changes\nWORKDIR /app\nCOPY package*.json ./ # changes on dependency update\nCOPY tsconfig.json ./\nRUN npm ci # depends on lockfile\nCOPY src/ ./src/ # changes frequently\nRUN npm run build # changes with source\nEXPOSE 3000\nCMD [\"dumb-init\", \"node\", \"dist/index.js\"]\n```\n\n```\nCACHE INVALIDATION RULES:\n Each Dockerfile instruction creates a layer.\n If a layer changes, ALL subsequent layers are rebuilt.\n\nCombine RUN commands to reduce layers:\n RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*\n```\n\n---\n\n### Phase B5: Dockerfile Linting\n\n```bash\n# hadolint \u2014 comprehensive Dockerfile linting\ndocker run --rm -i hadolint/hadolint < Dockerfile\n\n# docker scout \u2014 image analysis (Docker Desktop 4.20+)\ndocker scout quickview my-image:latest\n\n# dockle \u2014 image security auditing\ndocker run --rm -v /var/run/docker.sock:/var/run/docker.sock \\\n goodwithtech/dockle my-image:latest\n\n# docker build --check (built-in validation)\ndocker build --check .\n```\n</build_mode>\n\n---\n\n";
@@ -0,0 +1 @@
1
+ export declare const composeSection = "## SECTION 2 \u2014 COMPOSE MODE\n\n<compose_mode>\n### Phase C1: Service Definition\n\n#### C1.1 image: vs build:\n\n```yaml\n# Use image: for pre-built images (production, third-party)\nservices:\n redis:\n image: redis:7-alpine\n restart: unless-stopped\n\n# Use build: for your own code (development, custom images)\nservices:\n app:\n build:\n context: .\n dockerfile: Dockerfile\n args:\n NODE_ENV: production\n```\n\n#### C1.2 Environment Variables\n\n```yaml\nservices:\n app:\n environment:\n NODE_ENV: production\n LOG_LEVEL: ${LOG_LEVEL:-info}\n\nservices:\n app:\n env_file:\n - .env\n - .env.prod\n# docker compose --env-file .env.prod up\n```\n\n#### C1.3 Port Mapping\n\n```yaml\nservices:\n app:\n ports:\n - \"3000:3000\" # host:container\n - \"127.0.0.1:3000:3000\" # bind to specific interface\n```\n\n---\n\n### Phase C2: Networking\n\n```yaml\nservices:\n app:\n networks:\n - frontend\n - backend\n api:\n networks:\n backend:\n aliases:\n - api.internal\n db:\n networks:\n - backend\n\nnetworks:\n frontend:\n driver: bridge\n backend:\n driver: bridge\n internal: true # no external access\n```\n\nServices are discoverable by name \u2014 `app` can reach `http://api:3000`.\n\n---\n\n### Phase C3: Volume Management\n\n```yaml\nservices:\n app:\n volumes:\n - app-data:/app/data # named volume\n - ./src:/app/src:ro # bind mount (dev hot-reload)\n - /app/node_modules # exclude from bind mount\n\nvolumes:\n app-data:\n driver: local\n```\n\n---\n\n### Phase C4: Health Checks\n\n```yaml\nservices:\n app:\n healthcheck:\n test: [\"CMD\", \"curl\", \"-f\", \"http://localhost:3000/health\"]\n interval: 30s\n timeout: 10s\n retries: 3\n start_period: 40s\n depends_on:\n db:\n condition: service_healthy\n restart: unless-stopped\n\n db:\n image: postgres:16-alpine\n healthcheck:\n test: [\"CMD-SHELL\", \"pg_isready -U postgres\"]\n interval: 5s\n timeout: 5s\n retries: 5\n```\n\n---\n\n### Phase C5: Resource Limits\n\n```yaml\nservices:\n app:\n deploy:\n resources:\n limits:\n cpus: \"0.5\"\n memory: 512M\n reservations:\n cpus: \"0.25\"\n memory: 256M\n```\n\n---\n\n### Phase C6: Multiple Compose Files\n\n```bash\n# Dev \u2014 compose.override.yml auto-loaded\ndocker compose up\n\n# Production \u2014 explicit stack\ndocker compose -f compose.yaml -f compose.prod.yml up -d\n\n# Specific env file\ndocker compose --env-file .env.prod up -d\n```\n</compose_mode>\n\n---\n\n## SECTION 3 \u2014 DEBUG MODE\n\n<debug_mode>\n### Phase D1: Container Inspection\n\n```bash\n# Logs\ndocker logs -f CONTAINER\ndocker logs --tail 100 CONTAINER\ndocker logs --timestamps CONTAINER\ndocker compose logs -f SERVICE\ndocker compose logs --tail 50 SERVICE\n\n# Container metadata\ndocker inspect CONTAINER\ndocker inspect --format '{{.State.Status}}' CONTAINER\ndocker inspect --format '{{range .Mounts}}{{.Source}} -> {{.Destination}}{{\"\\n\"}}{{end}}' CONTAINER\n\n# Interactive shell\ndocker exec -it CONTAINER sh\ndocker exec -it CONTAINER bash\ndocker exec -u 1001 CONTAINER whoami\n```\n\n---\n\n### Phase D2: Network Debugging\n\n```bash\ndocker network ls\ndocker network inspect NETWORK_NAME\ndocker port CONTAINER\ndocker compose ps\ndocker compose ps -a\ndocker compose logs SERVICE\ndocker compose logs --tail=100 -f SERVICE\ndocker exec CONTAINER nslookup other-service 2>/dev/null || \\\n docker exec CONTAINER getent hosts other-service\n```\n\n---\n\n### Phase D3: Resource Debugging\n\n```bash\ndocker stats\ndocker stats --no-stream\ndocker system df\ndocker system df -v\ndocker container ls -a\ndocker ps -a\ndocker image ls\ndocker image ls --digests\n```\n\n---\n\n### Phase D4: Common Container Issues\n\n```bash\n# Container exits immediately\ndocker logs CONTAINER # Step 1: check logs\ndocker inspect --format '{{.Path}}' CONTAINER # Step 2: check entrypoint\ndocker run -it --rm IMAGE sh # Step 3: run interactively\n\n# Port already in use\nlsof -i :PORT\nkill $(lsof -t -i :PORT)\ndocker run -p 3001:3000 IMAGE # use different host port\n\n# No space left on device\ndocker system prune # clean dangling\ndocker system prune -a # clean all unused\ndocker builder prune # clean build cache\n# See DESTRUCTIVE COMMAND GUARDS before pruning volumes\n\n# Permission denied\ndocker inspect --format '{{.Config.User}}' CONTAINER\ndocker run --user \"$(id -u):$(id -g)\" -v \"$(pwd):/app\" IMAGE\n# Fix: adduser --system --uid 1001 appuser && USER appuser\n```\n\n---\n\n### Phase D5: Compose Troubleshooting\n\n```bash\ndocker compose config # validate compose file\ndocker compose config --services\ndocker compose config --volumes\ndocker compose down -v # stop and remove volumes\ndocker compose build --no-cache # rebuild from scratch\ndocker compose up -d # start fresh\ndocker compose run --rm SERVICE env # check env resolution\n```\n</debug_mode>\n\n---\n\n";
@@ -0,0 +1 @@
1
+ export declare const deliverySection = "## SECTION 4 \u2014 OPTIMIZE MODE\n\n<optimize_mode>\n### Phase O1: Image Size Optimization\n\n#### O1.1 Base Image Comparison\n\n```\nnode:20 ~1.1 GB \u2014 full OS + build tools\nnode:20-slim ~250 MB \u2014 minimal OS\nnode:20-alpine ~130 MB \u2014 musl-based, very small\ndistroless ~70 MB \u2014 static binary + minimal runtime\nscratch ~0 MB \u2014 nothing (static binaries only)\n\nRECOMMENDATIONS:\n Production Node.js/Python: slim variant\n Production Go/Rust: distroless or scratch\n Development: alpine or full\n Maximum security: distroless (no shell, no package manager)\n```\n\n#### O1.2 Package Manager Optimization\n\n```dockerfile\n# npm \u2014 production only, no cache layer\nRUN npm ci --only=production && npm cache clean --force\n\n# pip \u2014 no cache\nRUN pip install --no-cache-dir -r requirements.txt\n\n# apt \u2014 clean in same layer\nRUN apt-get update && apt-get install -y --no-install-recommends curl \\\n && rm -rf /var/lib/apt/lists/*\n\n# apk \u2014 Alpine (compact by default)\nRUN apk add --no-cache curl\n\n# BuildKit cache mount for cross-build persistence\nRUN --mount=type=cache,target=/root/.npm \\\n npm ci --only=production\n```\n\n---\n\n### Phase O2: Build Speed Optimization\n\n#### O2.1 Layer Ordering Strategy\n\n```dockerfile\n# Stable layers first, then dependencies, then app code\nFROM node:20-alpine\nRUN apk add --no-cache dumb-init curl\nCOPY package*.json tsconfig.json ./\nRUN npm ci\nCOPY . .\nRUN npm run build\n```\n\n#### O2.2 CI Pipeline Caching\n\n```bash\ndocker build \\\n --cache-from registry.example.com/my-app:cache \\\n --tag registry.example.com/my-app:latest \\\n --tag registry.example.com/my-app:$CI_COMMIT_SHA \\\n .\n```\n\n#### O2.3 Parallel Builds with BuildX Bake\n\n```hcl\n# docker-bake.hcl\ngroup \"default\" { targets = [\"app\", \"worker\"] }\ntarget \"app\" { context = \".\"; tags = [\"my-app:latest\"] }\ntarget \"worker\" { context = \".\"; tags = [\"my-worker:latest\"] }\n```\n\n```bash\ndocker buildx bake\ndocker buildx bake app\n```\n\n---\n\n### Phase O3: Runtime Optimization\n\n```yaml\nservices:\n app:\n read_only: true # security + performance\n tmpfs:\n - /tmp\n - /var/run\n volumes:\n - app-data:/app/data # persistent writable storage\n```\n\n```bash\n# Resource limits\ndocker run --memory=\"512m\" --memory-reservation=\"256m\" --cpus=\"0.5\" IMAGE\n\n# Graceful shutdown\ndocker stop -t 30 CONTAINER\n```\n\n---\n\n### Phase O4: Security Cross-Reference\n\nFor a complete Dockerfile hardening checklist, load the `security-infra` skill (covers Trivy scanning, Grype, Dockerfile hardening, and more).\n\nKey Dockerfile hardening points (quick reference \u2014 see `security-infra` for full detail):\n- Use specific image tags (never `latest` without a specific version adjacent)\n- Multi-stage builds to minimize final image size and attack surface\n- Run as non-root user (`USER` directive)\n- Don't copy secrets into images (use BuildKit `--secret` or runtime env)\n- Use `COPY` instead of `ADD` (`ADD` auto-extracts archives and fetches URLs)\n- Set `HEALTHCHECK` for container monitoring\n- Minimize installed packages, remove package manager caches\n- Use `.dockerignore` to exclude sensitive files\n</optimize_mode>\n\n---\n\n## SECTION 5 \u2014 CI/CD MODE\n\n<cicd_mode>\n### Phase I1: GitHub Actions\n\n#### I1.1 Build and Push Workflow\n\n```yaml\nname: Docker Build and Push\non:\n push:\n branches: [main]\n tags: [\"v*\"]\n\njobs:\n build:\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n - uses: docker/setup-buildx-action@v3\n\n - name: Login to GitHub Container Registry\n uses: docker/login-action@v3\n with:\n registry: ghcr.io\n username: ${{ github.actor }}\n password: ${{ secrets.GITHUB_TOKEN }}\n\n - name: Extract metadata\n id: meta\n uses: docker/metadata-action@v5\n with:\n images: ghcr.io/${{ github.repository }}\n tags: |\n type=semver,pattern={{version}}\n type=semver,pattern={{major}}.{{minor}}\n type=sha,format=short\n type=ref,event=branch\n\n - name: Build and push\n uses: docker/build-push-action@v6\n with:\n context: .\n push: true\n tags: ${{ steps.meta.outputs.tags }}\n labels: ${{ steps.meta.outputs.labels }}\n cache-from: type=gha\n cache-to: type=gha,mode=max\n platforms: linux/amd64,linux/arm64\n```\n\n#### I1.2 Test Before Build\n\n```yaml\njobs:\n test:\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n - run: |\n docker compose -f compose.test.yml up --abort-on-container-exit --exit-code-from app\n\n build:\n needs: [test]\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n - uses: docker/setup-buildx-action@v3\n - uses: docker/login-action@v3\n with:\n registry: ghcr.io\n username: ${{ github.actor }}\n password: ${{ secrets.GITHUB_TOKEN }}\n - uses: docker/build-push-action@v6\n with:\n push: true\n tags: ghcr.io/${{ github.repository }}:${{ github.sha }}\n```\n\n---\n\n### Phase I2: Multi-Platform Builds\n\n```bash\n# Setup QEMU emulation for multi-arch\ndocker run --privileged --rm tonistiigi/binfmt --install all\n\n# Create multi-architecture builder\ndocker buildx create --name multiarch --use\ndocker buildx inspect --bootstrap\n\n# Build for multiple platforms\ndocker buildx build \\\n --platform linux/amd64,linux/arm64,linux/arm/v7 \\\n --tag my-app:latest --push .\n\ndocker manifest inspect my-app:latest\n```\n\n---\n\n### Phase I3: Registry Management\n\n```bash\n# Authenticate\ndocker login -u USERNAME\necho $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin\n\n# Tag and push\ndocker tag my-app:latest ghcr.io/owner/repo:v1.2.3\ndocker tag my-app:latest ghcr.io/owner/repo:sha-abc1234\ndocker push ghcr.io/owner/repo --all-tags\n```\n\n#### Tagging Strategies\n\n```\nRECOMMENDED (most -> least specific):\n 1. SEMVER: v1.2.3, v1.2, v1 <- BEST for releases\n 2. SHA: sha-<short-sha> <- BEST for traceability\n 3. BRANCH: main, develop <- BEST for CI/CD\n 4. LATEST: latest <- ALWAYS pair with a specific tag\n\nWARNING: `latest` tag ALONE is dangerous:\n - Builds are not reproducible without additional tags\n - Rolling back is impossible\n - ALWAYS pair `latest` with a specific version tag in the same push\n```\n\n---\n\n### Phase I4: Secret Management in CI\n\n#### I4.1 BuildKit Secrets (Recommended)\n\n```dockerfile\nFROM node:20-alpine\nWORKDIR /app\nCOPY package*.json ./\nRUN --mount=type=secret,id=npm_token \\\n NPM_TOKEN=$(cat /run/secrets/npm_token) && \\\n npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN && \\\n npm ci\n```\n\n```bash\n# Pass secret from environment variable\nDOCKER_BUILDKIT=1 docker build \\\n --secret id=npm_token,env=NPM_TOKEN -t my-app .\n\n# GitHub Actions\n- uses: docker/build-push-action@v6\n with:\n secrets: |\n npm_token=${{ secrets.NPM_TOKEN }}\n```\n\n#### I4.2 Anti-Pattern: Baking Secrets with ARG\n\n```dockerfile\n# WRONG - secret leaks in image history\nFROM node:20-alpine\nARG NPM_TOKEN\nRUN npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN && npm ci\n\n# CORRECT - use BuildKit --secret (see I4.1)\n```\n\n#### I4.3 Runtime Secrets\n\n```yaml\n# OK for runtime - not baked into image layers\nservices:\n app:\n environment:\n - DATABASE_URL=${DATABASE_URL}\n - API_KEY=${API_KEY}\n # NEVER hardcode secrets in compose.yaml\n```\n</cicd_mode>\n\n---\n\n";
@@ -0,0 +1,2 @@
1
+ import type { BuiltinSkill } from "../../../loader/types";
2
+ export declare const dockerMasterSkill: BuiltinSkill;