gennady 0.8.3 → 0.8.4-draft.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 (2907) hide show
  1. package/README.md +212 -3
  2. package/ai/directives/agent-inbox/arch-interrogation.directive.xml +387 -0
  3. package/ai/directives/agent-inbox/change-interrogation.directive.xml +107 -0
  4. package/ai/directives/agent-inbox/code-interrogation.directive.xml +54 -0
  5. package/ai/directives/agent-inbox/contract-interrogation.directive.xml +93 -0
  6. package/ai/directives/agent-inbox/golden-chat-output.example.md +176 -0
  7. package/ai/directives/agent-inbox/inbox-flow.directive.xml +588 -0
  8. package/ai/directives/agent-inbox/posting-rules.directive.xml +260 -0
  9. package/ai/directives/agent-inbox/security-interrogation.directive.xml +108 -0
  10. package/ai/directives/agent-inbox/update-review.directive.xml +136 -0
  11. package/ai/directives/agent-inbox/visual-vocabulary.directive.xml +188 -0
  12. package/ai/directives/coding/result-conventions.xml +4 -4
  13. package/ai/directives/coding/svelte5-runes.xml +30 -30
  14. package/ai/directives/coding/sveltekit-rules.xml +27 -27
  15. package/ai/directives/coding/typescript-rules.xml +50 -50
  16. package/ai/directives/coding/uikit-component-storybook.xml +32 -32
  17. package/ai/directives/coding/uikit-component-svelte.xml +35 -35
  18. package/ai/directives/coding/uikit-spec-drafting.xml +22 -22
  19. package/ai/directives/infra/eslint-setup.xml +29 -29
  20. package/ai/directives/infra/git-setup.xml +25 -25
  21. package/ai/directives/infra/nodejs-npm-setup.xml +36 -36
  22. package/ai/directives/infra/storybook-setup.xml +22 -22
  23. package/ai/directives/knowledge.xml +0 -46
  24. package/ai/directives/sdd-v2/agent-inbox/code-lens.directive.xml +108 -0
  25. package/ai/directives/sdd-v2/agent-inbox/enrich.directive.xml +222 -0
  26. package/ai/directives/sdd-v2/agent-inbox/security-lens.directive.xml +161 -0
  27. package/ai/directives/sdd-v2/agent-inbox/synthesize.directive.xml +113 -0
  28. package/ai/directives/sdd-v2/agent-inbox/track-review.directive.xml +439 -0
  29. package/ai/directives/sdd-v2/amplify-nfr.directive.xml +93 -0
  30. package/ai/directives/sdd-v2/amplify-observability.directive.xml +98 -0
  31. package/ai/directives/sdd-v2/amplify-security.directive.xml +104 -0
  32. package/ai/directives/sdd-v2/amplify-storage.directive.xml +95 -0
  33. package/ai/directives/sdd-v2/audit.directive.xml +473 -0
  34. package/ai/directives/sdd-v2/code-review.directive.xml +260 -0
  35. package/ai/directives/sdd-v2/compression.directive.xml +214 -0
  36. package/ai/directives/sdd-v2/critic-protocol.directive.xml +210 -0
  37. package/ai/directives/sdd-v2/critic.directive.xml +210 -0
  38. package/ai/directives/sdd-v2/discover-from-code.directive.xml +173 -0
  39. package/ai/directives/sdd-v2/execute.directive.xml +337 -0
  40. package/ai/directives/sdd-v2/formats/audit-round.xml +37 -0
  41. package/ai/directives/sdd-v2/formats/change-manifest.xml +30 -0
  42. package/ai/directives/sdd-v2/formats/dbc-contracts.xml +59 -0
  43. package/ai/directives/sdd-v2/formats/diagram-vocabulary.xml +181 -0
  44. package/ai/directives/sdd-v2/formats/entity-inventory-format.xml +17 -0
  45. package/ai/directives/sdd-v2/formats/entity-surface-format.xml +24 -0
  46. package/ai/directives/sdd-v2/formats/infra-base-minimal-spec.xml +22 -0
  47. package/ai/directives/sdd-v2/formats/infrastructure-spec-structure.xml +121 -0
  48. package/ai/directives/sdd-v2/formats/interface-spec-structure.xml +91 -0
  49. package/ai/directives/sdd-v2/formats/library-spec-structure.xml +100 -0
  50. package/ai/directives/sdd-v2/formats/module-map-update.xml +33 -0
  51. package/ai/directives/sdd-v2/formats/module-spec-structure.xml +150 -0
  52. package/ai/directives/sdd-v2/formats/module-tasks-index.xml +30 -0
  53. package/ai/directives/sdd-v2/formats/nfr-budgets-format.xml +21 -0
  54. package/ai/directives/sdd-v2/formats/pivot-formats.xml +27 -0
  55. package/ai/directives/sdd-v2/formats/portal-structure.xml +29 -0
  56. package/ai/directives/sdd-v2/formats/product-spec-structure.xml +109 -0
  57. package/ai/directives/sdd-v2/formats/project-tasks-index.xml +36 -0
  58. package/ai/directives/sdd-v2/formats/scope-tasks-index.xml +35 -0
  59. package/ai/directives/sdd-v2/formats/security-section-format.xml +26 -0
  60. package/ai/directives/sdd-v2/formats/task-ticket-structure.xml +125 -0
  61. package/ai/directives/sdd-v2/guides/project-setup.md +41 -0
  62. package/ai/directives/sdd-v2/guides/v1-to-v2-migration.md +104 -0
  63. package/ai/directives/sdd-v2/infra.directive.xml +331 -0
  64. package/ai/directives/sdd-v2/interface.directive.xml +277 -0
  65. package/ai/directives/sdd-v2/interview-protocol.directive.xml +284 -0
  66. package/ai/directives/sdd-v2/migration-v1-v2.directive.xml +472 -0
  67. package/ai/directives/sdd-v2/module.directive.xml +462 -0
  68. package/ai/directives/sdd-v2/phase-execution-protocol.directive.xml +460 -0
  69. package/ai/directives/sdd-v2/readiness.directive.xml +303 -0
  70. package/ai/directives/sdd-v2/reconcile.directive.xml +405 -0
  71. package/ai/directives/sdd-v2/recover-from-code.directive.xml +174 -0
  72. package/ai/directives/sdd-v2/review-lifecycle.directive.xml +108 -0
  73. package/ai/directives/sdd-v2/root.directive.xml +217 -0
  74. package/ai/directives/sdd-v2/router.directive.xml +384 -0
  75. package/ai/directives/sdd-v2/scaffold.directive.xml +513 -0
  76. package/ai/directives/sdd-v2/scope.directive.xml +421 -0
  77. package/ai/directives/testing/common.xml +42 -7
  78. package/ai/directives/testing/node-test.xml +33 -23
  79. package/ai/directives/testing/playwright-cli.xml +29 -29
  80. package/ai/directives/testing/playwright-e2e.xml +29 -29
  81. package/ai/directives/testing/storybook-usage.xml +27 -27
  82. package/ai/directives/testing/svelte-testing.xml +27 -27
  83. package/ai/directives/testing/vitest-rules.xml +25 -25
  84. package/ai/flow-sim/PROTOCOL.md +159 -0
  85. package/ai/flow-sim/README.md +39 -0
  86. package/ai/flow-sim/scenarios/S1-route-new-scope.md +107 -0
  87. package/ai/flow-sim/scenarios/S10-multi-scope-route.md +213 -0
  88. package/ai/flow-sim/scenarios/S11-migration-full.md +501 -0
  89. package/ai/flow-sim/scenarios/S2-preflight-migration.md +129 -0
  90. package/ai/flow-sim/scenarios/S3-preflight-carveout.md +141 -0
  91. package/ai/flow-sim/scenarios/S4-discover.md +112 -0
  92. package/ai/flow-sim/scenarios/S5-recover.md +154 -0
  93. package/ai/flow-sim/scenarios/S6-scaffold-ticket.md +283 -0
  94. package/ai/flow-sim/scenarios/S7-execute-lifecycle.md +750 -0
  95. package/ai/flow-sim/scenarios/S8-reconcile-trivial.md +696 -0
  96. package/ai/flow-sim/scenarios/S9-reconcile-from-code.md +669 -0
  97. package/ai/inspector/README.md +40 -0
  98. package/ai/inspector/core/__tests__/parse-directive.test.ts +155 -0
  99. package/ai/inspector/core/__tests__/parse-skill.test.ts +80 -0
  100. package/ai/inspector/core/model.ts +37 -0
  101. package/ai/inspector/core/parse-directive.ts +181 -0
  102. package/ai/inspector/core/parse-skill.ts +89 -0
  103. package/ai/inspector/core/resolve.ts +53 -0
  104. package/ai/inspector/core/scan.ts +109 -0
  105. package/ai/inspector/e2e/inspector.spec.ts +117 -0
  106. package/ai/inspector/generate.ts +154 -0
  107. package/ai/inspector/playwright.config.ts +20 -0
  108. package/ai/inspector/serve.ts +30 -0
  109. package/ai/inspector/web/__tests__/debug.test.ts +173 -0
  110. package/ai/inspector/web/__tests__/markdown.test.ts +185 -0
  111. package/ai/inspector/web/app.js +324 -0
  112. package/ai/inspector/web/debug.js +202 -0
  113. package/ai/inspector/web/index.html +38 -0
  114. package/ai/inspector/web/markdown.js +85 -0
  115. package/ai/inspector/web/styles.css +569 -0
  116. package/ai/kit/AUTHORING.md +121 -0
  117. package/ai/kit/__tests__/deps.test.ts +61 -0
  118. package/ai/kit/__tests__/lint-axioms.test.ts +192 -0
  119. package/ai/kit/__tests__/render.test.ts +192 -0
  120. package/ai/kit/__tests__/skeleton-parity.test.ts +50 -0
  121. package/ai/kit/anti-pattern/coding/AP_FALSE_PRIVATE_AND_ENUM.xml +27 -0
  122. package/ai/kit/anti-pattern/coding/AP_OVEREDIT.xml +2 -0
  123. package/ai/kit/anti-pattern/coding/ap-builtin-without-prefix.xml +6 -0
  124. package/ai/kit/anti-pattern/coding/ap-false-private-and-enum.xml +27 -0
  125. package/ai/kit/anti-pattern/coding/ap-mixed-module-system.xml +6 -0
  126. package/ai/kit/anti-pattern/coding/ap-overedit.xml +2 -0
  127. package/ai/kit/anti-pattern/coding/ap-redundant-jsdoc-duplication.xml +19 -0
  128. package/ai/kit/anti-pattern/critic/AP_CERTAINTY.xml +2 -0
  129. package/ai/kit/anti-pattern/critic/AP_CREEP.xml +2 -0
  130. package/ai/kit/anti-pattern/critic/AP_DISMISS_CONFUSION.xml +2 -0
  131. package/ai/kit/anti-pattern/critic/AP_EDIT.xml +2 -0
  132. package/ai/kit/anti-pattern/critic/AP_FORMAT_BIAS.xml +2 -0
  133. package/ai/kit/anti-pattern/critic/AP_INTERNAL_PARANOIA.xml +2 -0
  134. package/ai/kit/anti-pattern/critic/AP_NITPICK.xml +2 -0
  135. package/ai/kit/anti-pattern/critic/AP_REUSE_BLIND.xml +2 -0
  136. package/ai/kit/anti-pattern/critic/AP_SELF_CRITIQUE.xml +2 -0
  137. package/ai/kit/anti-pattern/critic/AP_SURFACE.xml +2 -0
  138. package/ai/kit/anti-pattern/critic/ap-certainty.xml +2 -0
  139. package/ai/kit/anti-pattern/critic/ap-creep.xml +2 -0
  140. package/ai/kit/anti-pattern/critic/ap-dismiss-confusion.xml +2 -0
  141. package/ai/kit/anti-pattern/critic/ap-edit.xml +2 -0
  142. package/ai/kit/anti-pattern/critic/ap-format-bias.xml +2 -0
  143. package/ai/kit/anti-pattern/critic/ap-internal-paranoia.xml +2 -0
  144. package/ai/kit/anti-pattern/critic/ap-nitpick.xml +2 -0
  145. package/ai/kit/anti-pattern/critic/ap-reuse-blind.xml +2 -0
  146. package/ai/kit/anti-pattern/critic/ap-self-critique.xml +2 -0
  147. package/ai/kit/anti-pattern/critic/ap-surface.xml +2 -0
  148. package/ai/kit/anti-pattern/e2e/AP_CLI_AUTO_UPDATE_SNAPSHOTS.xml +6 -0
  149. package/ai/kit/anti-pattern/e2e/AP_CLI_CSS_XPATH_FROM_CODEGEN.xml +6 -0
  150. package/ai/kit/anti-pattern/e2e/AP_CLI_HEADED_FOR_AGENT.xml +6 -0
  151. package/ai/kit/anti-pattern/e2e/AP_CLI_SKIP_TRACE_ON_FAILURE.xml +6 -0
  152. package/ai/kit/anti-pattern/e2e/AP_CLI_WRITE_TEST_WITHOUT_AX_TREE.xml +6 -0
  153. package/ai/kit/anti-pattern/e2e/AP_E2E_CSS_LOCATOR.xml +6 -0
  154. package/ai/kit/anti-pattern/e2e/AP_E2E_FULL_PAGE_SNAPSHOT.xml +6 -0
  155. package/ai/kit/anti-pattern/e2e/AP_E2E_INLINE_LOGIN.xml +6 -0
  156. package/ai/kit/anti-pattern/e2e/AP_E2E_STANDALONE_POM.xml +6 -0
  157. package/ai/kit/anti-pattern/e2e/AP_E2E_UNMOCKED_NETWORK.xml +6 -0
  158. package/ai/kit/anti-pattern/e2e/ap-cli-auto-update-snapshots.xml +6 -0
  159. package/ai/kit/anti-pattern/e2e/ap-cli-css-xpath-from-codegen.xml +6 -0
  160. package/ai/kit/anti-pattern/e2e/ap-cli-headed-for-agent.xml +6 -0
  161. package/ai/kit/anti-pattern/e2e/ap-cli-skip-trace-on-failure.xml +6 -0
  162. package/ai/kit/anti-pattern/e2e/ap-cli-write-test-without-ax-tree.xml +6 -0
  163. package/ai/kit/anti-pattern/e2e/ap-e2e-css-locator.xml +6 -0
  164. package/ai/kit/anti-pattern/e2e/ap-e2e-full-page-snapshot.xml +6 -0
  165. package/ai/kit/anti-pattern/e2e/ap-e2e-inline-login.xml +6 -0
  166. package/ai/kit/anti-pattern/e2e/ap-e2e-standalone-pom.xml +6 -0
  167. package/ai/kit/anti-pattern/e2e/ap-e2e-unmocked-network.xml +6 -0
  168. package/ai/kit/anti-pattern/infra/AP_AGENT_DISABLE_COMMENT.xml +6 -0
  169. package/ai/kit/anti-pattern/infra/AP_FORCE_PUSH_TO_MAIN.xml +6 -0
  170. package/ai/kit/anti-pattern/infra/AP_FORMATTING_DUPLICATION.xml +6 -0
  171. package/ai/kit/anti-pattern/infra/AP_LIGHTWEIGHT_TAG.xml +6 -0
  172. package/ai/kit/anti-pattern/infra/AP_MULTIPLE_LOCK_FILES.xml +6 -0
  173. package/ai/kit/anti-pattern/infra/AP_NODE_MODULES_COMMITTED.xml +6 -0
  174. package/ai/kit/anti-pattern/infra/AP_NO_VERIFY_AS_HABIT.xml +6 -0
  175. package/ai/kit/anti-pattern/infra/AP_NVMRC_ENGINES_MISMATCH.xml +6 -0
  176. package/ai/kit/anti-pattern/infra/AP_NVMRC_RANGE.xml +6 -0
  177. package/ai/kit/anti-pattern/infra/AP_SECRET_IN_HISTORY.xml +6 -0
  178. package/ai/kit/anti-pattern/infra/AP_TYPE_AWARE_DUPLICATION.xml +6 -0
  179. package/ai/kit/anti-pattern/infra/AP_UNMOTIVATED_NON_AUTOFIX_RULE.xml +6 -0
  180. package/ai/kit/anti-pattern/infra/AP_WARN_LEVEL_USAGE.xml +6 -0
  181. package/ai/kit/anti-pattern/infra/ap-agent-disable-comment.xml +6 -0
  182. package/ai/kit/anti-pattern/infra/ap-force-push-to-main.xml +6 -0
  183. package/ai/kit/anti-pattern/infra/ap-formatting-duplication.xml +6 -0
  184. package/ai/kit/anti-pattern/infra/ap-lightweight-tag.xml +6 -0
  185. package/ai/kit/anti-pattern/infra/ap-multiple-lock-files.xml +6 -0
  186. package/ai/kit/anti-pattern/infra/ap-no-verify-as-habit.xml +6 -0
  187. package/ai/kit/anti-pattern/infra/ap-node-modules-committed.xml +6 -0
  188. package/ai/kit/anti-pattern/infra/ap-npmrc-absent.xml +6 -0
  189. package/ai/kit/anti-pattern/infra/ap-nvmrc-engines-mismatch.xml +6 -0
  190. package/ai/kit/anti-pattern/infra/ap-nvmrc-range.xml +6 -0
  191. package/ai/kit/anti-pattern/infra/ap-secret-in-history.xml +6 -0
  192. package/ai/kit/anti-pattern/infra/ap-tool-range-pin.xml +6 -0
  193. package/ai/kit/anti-pattern/infra/ap-type-aware-duplication.xml +6 -0
  194. package/ai/kit/anti-pattern/infra/ap-unmotivated-non-autofix-rule.xml +6 -0
  195. package/ai/kit/anti-pattern/infra/ap-warn-level-usage.xml +6 -0
  196. package/ai/kit/anti-pattern/logging/AP_BARE_CONSOLE_AND_LOST_CAUSE.xml +32 -0
  197. package/ai/kit/anti-pattern/logging/ap-bare-console-and-lost-cause.xml +32 -0
  198. package/ai/kit/anti-pattern/process/AP_NO_RE_DISPATCH.xml +2 -0
  199. package/ai/kit/anti-pattern/process/AP_SPIN.xml +2 -0
  200. package/ai/kit/anti-pattern/process/AP_VAGUE_REJECT.xml +2 -0
  201. package/ai/kit/anti-pattern/process/ap-no-re-dispatch.xml +2 -0
  202. package/ai/kit/anti-pattern/process/ap-spin.xml +2 -0
  203. package/ai/kit/anti-pattern/process/ap-vague-reject.xml +2 -0
  204. package/ai/kit/anti-pattern/spec/AP_ENTITY_SPRAWL.xml +2 -0
  205. package/ai/kit/anti-pattern/spec/ap-entity-sprawl.xml +2 -0
  206. package/ai/kit/anti-pattern/storybook/AP_ADHOC_HIERARCHY.xml +6 -0
  207. package/ai/kit/anti-pattern/storybook/AP_MISSING_PLAY.xml +6 -0
  208. package/ai/kit/anti-pattern/storybook/AP_MULTIPLE_CONCEPTS_ONE_STORY.xml +6 -0
  209. package/ai/kit/anti-pattern/storybook/AP_RESTATED_ARGS.xml +6 -0
  210. package/ai/kit/anti-pattern/storybook/AP_SB_AGENTS_MD_SKIPPED.xml +6 -0
  211. package/ai/kit/anti-pattern/storybook/AP_SB_HALLUCINATED_PROPS.xml +6 -0
  212. package/ai/kit/anti-pattern/storybook/AP_SB_MANUAL_SCAFFOLD_BEFORE_INIT.xml +6 -0
  213. package/ai/kit/anti-pattern/storybook/AP_SB_MISSING_AI_TAG.xml +6 -0
  214. package/ai/kit/anti-pattern/storybook/AP_SB_MISSING_PLAY_ON_INTERACTION.xml +6 -0
  215. package/ai/kit/anti-pattern/storybook/AP_SB_NO_MCP_INTEGRATION.xml +6 -0
  216. package/ai/kit/anti-pattern/storybook/AP_SB_REWRITE_INSTEAD_OF_COMPOSE.xml +6 -0
  217. package/ai/kit/anti-pattern/storybook/AP_SB_SKIP_SELF_VERIFY.xml +6 -0
  218. package/ai/kit/anti-pattern/storybook/AP_SB_VERIFY_SKIPPED.xml +6 -0
  219. package/ai/kit/anti-pattern/storybook/ap-adhoc-hierarchy.xml +6 -0
  220. package/ai/kit/anti-pattern/storybook/ap-missing-play.xml +6 -0
  221. package/ai/kit/anti-pattern/storybook/ap-multiple-concepts-one-story.xml +6 -0
  222. package/ai/kit/anti-pattern/storybook/ap-restated-args.xml +6 -0
  223. package/ai/kit/anti-pattern/storybook/ap-sb-agents-md-skipped.xml +6 -0
  224. package/ai/kit/anti-pattern/storybook/ap-sb-hallucinated-props.xml +6 -0
  225. package/ai/kit/anti-pattern/storybook/ap-sb-manual-scaffold-before-init.xml +6 -0
  226. package/ai/kit/anti-pattern/storybook/ap-sb-missing-ai-tag.xml +6 -0
  227. package/ai/kit/anti-pattern/storybook/ap-sb-missing-play-on-interaction.xml +6 -0
  228. package/ai/kit/anti-pattern/storybook/ap-sb-no-mcp-integration.xml +6 -0
  229. package/ai/kit/anti-pattern/storybook/ap-sb-rewrite-instead-of-compose.xml +6 -0
  230. package/ai/kit/anti-pattern/storybook/ap-sb-skip-self-verify.xml +6 -0
  231. package/ai/kit/anti-pattern/storybook/ap-sb-verify-skipped.xml +6 -0
  232. package/ai/kit/anti-pattern/svelte/AP_DERIVED_WITH_SIDE_EFFECT.xml +6 -0
  233. package/ai/kit/anti-pattern/svelte/AP_EFFECT_WITHOUT_TEARDOWN.xml +6 -0
  234. package/ai/kit/anti-pattern/svelte/AP_EXPORT_LET_LEGACY.xml +6 -0
  235. package/ai/kit/anti-pattern/svelte/AP_ON_EVENT_DIRECTIVE.xml +6 -0
  236. package/ai/kit/anti-pattern/svelte/AP_REACTIVE_DOLLAR_COLON.xml +6 -0
  237. package/ai/kit/anti-pattern/svelte/AP_RUNES_IN_PLAIN_TS.xml +6 -0
  238. package/ai/kit/anti-pattern/svelte/AP_SK_COMPONENT_FETCH_FOR_INITIAL_DATA.xml +6 -0
  239. package/ai/kit/anti-pattern/svelte/AP_SK_GLOBAL_FETCH_IN_LOAD.xml +6 -0
  240. package/ai/kit/anti-pattern/svelte/AP_SK_PAGE_OPTIONS_GLOBALIZED.xml +6 -0
  241. package/ai/kit/anti-pattern/svelte/AP_SK_PRIVATE_ENV_IN_CLIENT.xml +6 -0
  242. package/ai/kit/anti-pattern/svelte/AP_SK_THROW_INSTEAD_OF_FAIL.xml +6 -0
  243. package/ai/kit/anti-pattern/svelte/AP_SVELTE_TEST_DIRECT_QUERYSELECTOR.xml +6 -0
  244. package/ai/kit/anti-pattern/svelte/AP_SVELTE_TEST_NO_CLEANUP.xml +6 -0
  245. package/ai/kit/anti-pattern/svelte/AP_SVELTE_TEST_NO_EFFECT_ROOT.xml +6 -0
  246. package/ai/kit/anti-pattern/svelte/AP_SVELTE_TEST_NO_FLUSH.xml +6 -0
  247. package/ai/kit/anti-pattern/svelte/AP_SVELTE_TEST_PLAIN_TS_EXTENSION.xml +6 -0
  248. package/ai/kit/anti-pattern/svelte/ap-derived-with-side-effect.xml +6 -0
  249. package/ai/kit/anti-pattern/svelte/ap-effect-without-teardown.xml +6 -0
  250. package/ai/kit/anti-pattern/svelte/ap-export-let-legacy.xml +6 -0
  251. package/ai/kit/anti-pattern/svelte/ap-on-event-directive.xml +6 -0
  252. package/ai/kit/anti-pattern/svelte/ap-reactive-dollar-colon.xml +6 -0
  253. package/ai/kit/anti-pattern/svelte/ap-runes-in-plain-ts.xml +6 -0
  254. package/ai/kit/anti-pattern/svelte/ap-sk-component-fetch-for-initial-data.xml +6 -0
  255. package/ai/kit/anti-pattern/svelte/ap-sk-global-fetch-in-load.xml +6 -0
  256. package/ai/kit/anti-pattern/svelte/ap-sk-page-options-globalized.xml +6 -0
  257. package/ai/kit/anti-pattern/svelte/ap-sk-private-env-in-client.xml +6 -0
  258. package/ai/kit/anti-pattern/svelte/ap-sk-throw-instead-of-fail.xml +6 -0
  259. package/ai/kit/anti-pattern/svelte/ap-svelte-test-direct-queryselector.xml +6 -0
  260. package/ai/kit/anti-pattern/svelte/ap-svelte-test-no-cleanup.xml +6 -0
  261. package/ai/kit/anti-pattern/svelte/ap-svelte-test-no-effect-root.xml +6 -0
  262. package/ai/kit/anti-pattern/svelte/ap-svelte-test-no-flush.xml +6 -0
  263. package/ai/kit/anti-pattern/svelte/ap-svelte-test-plain-ts-extension.xml +6 -0
  264. package/ai/kit/anti-pattern/testing/AP_ATOMIC_NOISE_ANCHORS.xml +20 -0
  265. package/ai/kit/anti-pattern/testing/AP_BEFORE_EACH_LET_PILEUP.xml +6 -0
  266. package/ai/kit/anti-pattern/testing/AP_CONTAINS_ON_ERROR_AND_PRIVATE_INSPECTION.xml +6 -0
  267. package/ai/kit/anti-pattern/testing/AP_DUPLICATE_BDD_GROUP.xml +6 -0
  268. package/ai/kit/anti-pattern/testing/AP_LEAKED_LIFECYCLE_AND_GLOBAL_RELIANCE.xml +6 -0
  269. package/ai/kit/anti-pattern/testing/AP_PARALLEL_FACTORIES.xml +6 -0
  270. package/ai/kit/anti-pattern/testing/AP_PRIVATE_INSPECTION.xml +6 -0
  271. package/ai/kit/anti-pattern/testing/AP_SHARED_MUTABLE_STATE_AND_NON_ENGLISH_NARRATION.xml +6 -0
  272. package/ai/kit/anti-pattern/testing/AP_SKIP_INSTEAD_OF_FIX.xml +6 -0
  273. package/ai/kit/anti-pattern/testing/AP_SNAPSHOT_FOR_SCALAR.xml +6 -0
  274. package/ai/kit/anti-pattern/testing/AP_TRY_CATCH_FLAG_ANTIPATTERN.xml +6 -0
  275. package/ai/kit/anti-pattern/testing/AP_UNJUSTIFIED_VI_MOCK.xml +6 -0
  276. package/ai/kit/anti-pattern/testing/ap-atomic-noise-anchors.xml +20 -0
  277. package/ai/kit/anti-pattern/testing/ap-before-each-let-pileup.xml +6 -0
  278. package/ai/kit/anti-pattern/testing/ap-contains-on-error-and-private-inspection.xml +6 -0
  279. package/ai/kit/anti-pattern/testing/ap-duplicate-bdd-group.xml +6 -0
  280. package/ai/kit/anti-pattern/testing/ap-leaked-lifecycle-and-global-reliance.xml +6 -0
  281. package/ai/kit/anti-pattern/testing/ap-parallel-factories.xml +6 -0
  282. package/ai/kit/anti-pattern/testing/ap-private-inspection.xml +6 -0
  283. package/ai/kit/anti-pattern/testing/ap-shared-mutable-state-and-non-english-narration.xml +6 -0
  284. package/ai/kit/anti-pattern/testing/ap-skip-instead-of-fix.xml +6 -0
  285. package/ai/kit/anti-pattern/testing/ap-snapshot-for-scalar.xml +6 -0
  286. package/ai/kit/anti-pattern/testing/ap-try-catch-flag-antipattern.xml +6 -0
  287. package/ai/kit/anti-pattern/testing/ap-unjustified-vi-mock.xml +6 -0
  288. package/ai/kit/anti-pattern/uikit/AP_DROPPED_VARIANTS.xml +6 -0
  289. package/ai/kit/anti-pattern/uikit/AP_FABRICATED_MEASUREMENTS.xml +6 -0
  290. package/ai/kit/anti-pattern/uikit/AP_HARDCODED_PIXELS.xml +6 -0
  291. package/ai/kit/anti-pattern/uikit/AP_HOST_SELECTOR.xml +6 -0
  292. package/ai/kit/anti-pattern/uikit/AP_IMG_TAG_ICON.xml +6 -0
  293. package/ai/kit/anti-pattern/uikit/AP_MISSING_A11Y_AUDIT.xml +6 -0
  294. package/ai/kit/anti-pattern/uikit/AP_MISSING_ARIA.xml +6 -0
  295. package/ai/kit/anti-pattern/uikit/AP_MISSING_DATA_STATE.xml +6 -0
  296. package/ai/kit/anti-pattern/uikit/AP_OVERRIDE_WITHOUT_COMMENT.xml +6 -0
  297. package/ai/kit/anti-pattern/uikit/AP_PASCAL_CASE_FILENAME.xml +6 -0
  298. package/ai/kit/anti-pattern/uikit/AP_SILENT_MISSING_TOKEN.xml +6 -0
  299. package/ai/kit/anti-pattern/uikit/ap-dropped-variants.xml +6 -0
  300. package/ai/kit/anti-pattern/uikit/ap-fabricated-measurements.xml +6 -0
  301. package/ai/kit/anti-pattern/uikit/ap-hardcoded-pixels.xml +6 -0
  302. package/ai/kit/anti-pattern/uikit/ap-host-selector.xml +6 -0
  303. package/ai/kit/anti-pattern/uikit/ap-img-tag-icon.xml +6 -0
  304. package/ai/kit/anti-pattern/uikit/ap-missing-a11y-audit.xml +6 -0
  305. package/ai/kit/anti-pattern/uikit/ap-missing-aria.xml +6 -0
  306. package/ai/kit/anti-pattern/uikit/ap-missing-data-state.xml +6 -0
  307. package/ai/kit/anti-pattern/uikit/ap-override-without-comment.xml +6 -0
  308. package/ai/kit/anti-pattern/uikit/ap-pascal-case-filename.xml +6 -0
  309. package/ai/kit/anti-pattern/uikit/ap-silent-missing-token.xml +6 -0
  310. package/ai/kit/axiom/agent-inbox/ax-complexity-budget.xml +9 -0
  311. package/ai/kit/axiom/agent-inbox/ax-minimal-change-suspicion.xml +9 -0
  312. package/ai/kit/axiom/agent-inbox/ax-review-purpose.xml +10 -0
  313. package/ai/kit/axiom/agent-inbox/ax-simpler-alternative.xml +9 -0
  314. package/ai/kit/axiom/audit/ax-audit-modes.xml +6 -0
  315. package/ai/kit/axiom/audit/ax-audit-reads-code.xml +11 -0
  316. package/ai/kit/axiom/audit/ax-bdd-coverage-verification.xml +8 -0
  317. package/ai/kit/axiom/audit/ax-closed-world-primary-check.xml +4 -0
  318. package/ai/kit/axiom/audit/ax-completeness-check.xml +6 -0
  319. package/ai/kit/axiom/audit/ax-drift-taxonomy.xml +21 -0
  320. package/ai/kit/axiom/audit/ax-ephemeral-output.xml +8 -0
  321. package/ai/kit/axiom/audit/ax-execution-log-verification.xml +6 -0
  322. package/ai/kit/axiom/audit/ax-finding-routing.xml +22 -0
  323. package/ai/kit/axiom/audit/ax-findings-as-proposals.xml +7 -0
  324. package/ai/kit/axiom/audit/ax-git-diff-scan.xml +11 -0
  325. package/ai/kit/axiom/audit/ax-insight-backflow-capture.xml +10 -0
  326. package/ai/kit/axiom/audit/ax-learning-context.xml +2 -0
  327. package/ai/kit/axiom/audit/ax-mechanical-via-sdd-check.xml +9 -0
  328. package/ai/kit/axiom/audit/ax-neutral-findings.xml +4 -0
  329. package/ai/kit/axiom/audit/ax-no-auto-fix.xml +4 -0
  330. package/ai/kit/axiom/audit/ax-provenance-is-a-product.xml +2 -0
  331. package/ai/kit/axiom/audit/ax-reopen-rounds-in-ticket.xml +10 -0
  332. package/ai/kit/axiom/audit/ax-rules-cascade-verification.xml +17 -0
  333. package/ai/kit/axiom/audit/ax-rules-compliance-against-activated-rules.xml +22 -0
  334. package/ai/kit/axiom/audit/ax-runtime-backing-verification.xml +8 -0
  335. package/ai/kit/axiom/audit/ax-severity-tagging.xml +13 -0
  336. package/ai/kit/axiom/audit/ax-severity.xml +7 -0
  337. package/ai/kit/axiom/audit/ax-stale-after-pivot-verification.xml +12 -0
  338. package/ai/kit/axiom/audit/ax-task-id-integrity.xml +13 -0
  339. package/ai/kit/axiom/boundary/ax-bootstrap-narrow-read.xml +6 -0
  340. package/ai/kit/axiom/boundary/ax-closed-world-inventory.xml +4 -0
  341. package/ai/kit/axiom/boundary/ax-cross-scope-dependencies.xml +4 -0
  342. package/ai/kit/axiom/boundary/ax-entity-surface-completeness.xml +4 -0
  343. package/ai/kit/axiom/boundary/ax-guarded-result-boundary.xml +5 -0
  344. package/ai/kit/axiom/boundary/ax-isolation-signal.xml +2 -0
  345. package/ai/kit/axiom/boundary/ax-isolation-through-public-boundary.xml +4 -0
  346. package/ai/kit/axiom/boundary/ax-portal-read-only-with-placeholder-exception.xml +4 -0
  347. package/ai/kit/axiom/boundary/ax-reference-over-copy.xml +2 -0
  348. package/ai/kit/axiom/boundary/ax-result-public-boundary.xml +11 -0
  349. package/ai/kit/axiom/boundary/ax-scope-type-gate.xml +6 -0
  350. package/ai/kit/axiom/boundary/ax-semantic-location-over-lines.xml +2 -0
  351. package/ai/kit/axiom/boundary/ax-semantic-safety.xml +2 -0
  352. package/ai/kit/axiom/boundary/ax-spec-never-edited.xml +4 -0
  353. package/ai/kit/axiom/boundary/ax-ssot-traceability.xml +4 -0
  354. package/ai/kit/axiom/boundary/ax-ticket-write-scope.xml +9 -0
  355. package/ai/kit/axiom/coding/ax-ai-readability.xml +2 -0
  356. package/ai/kit/axiom/coding/ax-anchor-format.xml +6 -0
  357. package/ai/kit/axiom/coding/ax-comment-density.xml +4 -0
  358. package/ai/kit/axiom/coding/ax-comment-placement.xml +4 -0
  359. package/ai/kit/axiom/coding/ax-comment-vocabulary.xml +6 -0
  360. package/ai/kit/axiom/coding/ax-comments-add-nonsyntactic-intent.xml +4 -0
  361. package/ai/kit/axiom/coding/ax-configurable-names.xml +5 -0
  362. package/ai/kit/axiom/coding/ax-consumer-driven.xml +8 -0
  363. package/ai/kit/axiom/coding/ax-contractual-naming.xml +4 -0
  364. package/ai/kit/axiom/coding/ax-domain-prefix-for-external.xml +4 -0
  365. package/ai/kit/axiom/coding/ax-early-exit.xml +2 -0
  366. package/ai/kit/axiom/coding/ax-explicit-class-fields.xml +4 -0
  367. package/ai/kit/axiom/coding/ax-file-header-append-only.xml +10 -0
  368. package/ai/kit/axiom/coding/ax-file-header-task-traceability.xml +16 -0
  369. package/ai/kit/axiom/coding/ax-file-level-context.xml +13 -0
  370. package/ai/kit/axiom/coding/ax-import-canonical-form.xml +15 -0
  371. package/ai/kit/axiom/coding/ax-introduced-discipline.xml +4 -0
  372. package/ai/kit/axiom/coding/ax-modern-ts-density.xml +4 -0
  373. package/ai/kit/axiom/coding/ax-modularity-limits.xml +4 -0
  374. package/ai/kit/axiom/coding/ax-namespace-naming.xml +4 -0
  375. package/ai/kit/axiom/coding/ax-no-code-generation.xml +2 -0
  376. package/ai/kit/axiom/coding/ax-no-premature-abstractions.xml +4 -0
  377. package/ai/kit/axiom/coding/ax-no-silent-escape-hatch.xml +4 -0
  378. package/ai/kit/axiom/coding/ax-node-builtins-prefix.xml +10 -0
  379. package/ai/kit/axiom/coding/ax-principled-decomposition.xml +4 -0
  380. package/ai/kit/axiom/coding/ax-teleological-naming.xml +4 -0
  381. package/ai/kit/axiom/coding/ax-tools-as-hands.xml +12 -0
  382. package/ai/kit/axiom/coding/ax-verb-precision.xml +4 -0
  383. package/ai/kit/axiom/coding/ax-yagni-overengineering-guard.xml +4 -0
  384. package/ai/kit/axiom/critic/ax-comprehension-first.xml +2 -0
  385. package/ai/kit/axiom/critic/ax-confusion-bug.xml +2 -0
  386. package/ai/kit/axiom/critic/ax-critic-model-tier.xml +10 -0
  387. package/ai/kit/axiom/critic/ax-default-accept.xml +2 -0
  388. package/ai/kit/axiom/critic/ax-finding-addressee.xml +6 -0
  389. package/ai/kit/axiom/critic/ax-goal-owner-gate.xml +7 -0
  390. package/ai/kit/axiom/critic/ax-isolation.xml +2 -0
  391. package/ai/kit/axiom/critic/ax-polish-mode.xml +7 -0
  392. package/ai/kit/axiom/critic/ax-product-architect-lens.xml +13 -0
  393. package/ai/kit/axiom/critic/ax-read-only.xml +2 -0
  394. package/ai/kit/axiom/critic/ax-uncertainty-is-signal.xml +2 -0
  395. package/ai/kit/axiom/critic/ax-uncomfortable-questions.xml +12 -0
  396. package/ai/kit/axiom/e2e/ax-cli-ax-tree-as-primary-vision.xml +6 -0
  397. package/ai/kit/axiom/e2e/ax-cli-codegen-is-recorder-not-author.xml +4 -0
  398. package/ai/kit/axiom/e2e/ax-cli-dev-server-precondition.xml +4 -0
  399. package/ai/kit/axiom/e2e/ax-cli-explore-before-author.xml +6 -0
  400. package/ai/kit/axiom/e2e/ax-cli-explore-loop-has-four-steps.xml +10 -0
  401. package/ai/kit/axiom/e2e/ax-cli-headless-for-agent.xml +4 -0
  402. package/ai/kit/axiom/e2e/ax-cli-role-locators-from-ax-tree.xml +4 -0
  403. package/ai/kit/axiom/e2e/ax-cli-snapshot-update-gate.xml +6 -0
  404. package/ai/kit/axiom/e2e/ax-cli-trace-for-failure-diagnosis.xml +6 -0
  405. package/ai/kit/axiom/e2e/ax-cli-transition-to-authoring.xml +4 -0
  406. package/ai/kit/axiom/e2e/ax-e2e-auth-via-storage-state.xml +4 -0
  407. package/ai/kit/axiom/e2e/ax-e2e-ax-tree-as-contract.xml +4 -0
  408. package/ai/kit/axiom/e2e/ax-e2e-browser-coverage-pragmatic.xml +4 -0
  409. package/ai/kit/axiom/e2e/ax-e2e-file-layout.xml +4 -0
  410. package/ai/kit/axiom/e2e/ax-e2e-file-size-budget.xml +4 -0
  411. package/ai/kit/axiom/e2e/ax-e2e-fixture-based-pom.xml +6 -0
  412. package/ai/kit/axiom/e2e/ax-e2e-headless-always.xml +4 -0
  413. package/ai/kit/axiom/e2e/ax-e2e-network-mock-at-route.xml +6 -0
  414. package/ai/kit/axiom/e2e/ax-e2e-role-locators-only.xml +4 -0
  415. package/ai/kit/axiom/e2e/ax-e2e-self-verification-loop.xml +4 -0
  416. package/ai/kit/axiom/e2e/ax-e2e-snapshot-partial-by-default.xml +4 -0
  417. package/ai/kit/axiom/e2e/ax-e2e-structure-ax-first.xml +10 -0
  418. package/ai/kit/axiom/e2e/ax-e2e-visual-regression-gated.xml +4 -0
  419. package/ai/kit/axiom/error/ax-catch-log-recover.xml +10 -0
  420. package/ai/kit/axiom/error/ax-error-chaining-cause.xml +4 -0
  421. package/ai/kit/axiom/error/ax-error-via-class.xml +4 -0
  422. package/ai/kit/axiom/error/ax-fail-fast-validation.xml +4 -0
  423. package/ai/kit/axiom/error/ax-focused-error-assertions.xml +4 -0
  424. package/ai/kit/axiom/error/ax-mandatory-try-catch-in-business-logic.xml +4 -0
  425. package/ai/kit/axiom/error/ax-markup-safety.xml +2 -0
  426. package/ai/kit/axiom/error/ax-minimal-error-surface.xml +4 -0
  427. package/ai/kit/axiom/error/ax-must-extractor.xml +4 -0
  428. package/ai/kit/axiom/error/ax-no-bare-throw-unknown.xml +6 -0
  429. package/ai/kit/axiom/error/ax-no-result-iserr-short-circuit.xml +5 -0
  430. package/ai/kit/axiom/error/ax-no-result-object-literal.xml +6 -0
  431. package/ai/kit/axiom/error/ax-no-result-ok-short-circuit.xml +6 -0
  432. package/ai/kit/axiom/error/ax-no-result-second-generic.xml +6 -0
  433. package/ai/kit/axiom/error/ax-result-unwrap-on-success-paths.xml +4 -0
  434. package/ai/kit/axiom/error/ax-trace-prefixed-errors.xml +4 -0
  435. package/ai/kit/axiom/infra/ax-ai-first-scripts-one-shot.xml +27 -0
  436. package/ai/kit/axiom/infra/ax-autofix-preferred.xml +12 -0
  437. package/ai/kit/axiom/infra/ax-binary-severity.xml +10 -0
  438. package/ai/kit/axiom/infra/ax-branch-strategy.xml +16 -0
  439. package/ai/kit/axiom/infra/ax-commit-convention.xml +18 -0
  440. package/ai/kit/axiom/infra/ax-config-auditable-by-agent.xml +10 -0
  441. package/ai/kit/axiom/infra/ax-custom-plugins-obey-meta-policy.xml +9 -0
  442. package/ai/kit/axiom/infra/ax-dependency-addition-checklist.xml +9 -0
  443. package/ai/kit/axiom/infra/ax-exact-pinning-for-tooling.xml +10 -0
  444. package/ai/kit/axiom/infra/ax-flat-config.xml +6 -0
  445. package/ai/kit/axiom/infra/ax-gitignore-baseline.xml +22 -0
  446. package/ai/kit/axiom/infra/ax-history-policy.xml +16 -0
  447. package/ai/kit/axiom/infra/ax-hooks-integration.xml +4 -0
  448. package/ai/kit/axiom/infra/ax-infra-base-bootstrap.xml +6 -0
  449. package/ai/kit/axiom/infra/ax-infrastructure-flow.xml +16 -0
  450. package/ai/kit/axiom/infra/ax-lfs-submodules.xml +8 -0
  451. package/ai/kit/axiom/infra/ax-lint-run-is-mechanical.xml +8 -0
  452. package/ai/kit/axiom/infra/ax-lock-file-discipline.xml +10 -0
  453. package/ai/kit/axiom/infra/ax-module-system-explicit.xml +4 -0
  454. package/ai/kit/axiom/infra/ax-no-disable-comments-by-agent.xml +16 -0
  455. package/ai/kit/axiom/infra/ax-non-autofix-prefer-delegation.xml +17 -0
  456. package/ai/kit/axiom/infra/ax-npm-agent-sandbox-registry.xml +28 -0
  457. package/ai/kit/axiom/infra/ax-presets-passed-through-the-gate.xml +8 -0
  458. package/ai/kit/axiom/infra/ax-prettier-owns-formatting.xml +12 -0
  459. package/ai/kit/axiom/infra/ax-project-layout.xml +11 -0
  460. package/ai/kit/axiom/infra/ax-rule-change-requires-operator-confirm.xml +13 -0
  461. package/ai/kit/axiom/infra/ax-secrets-discipline.xml +17 -0
  462. package/ai/kit/axiom/infra/ax-single-package-manager.xml +6 -0
  463. package/ai/kit/axiom/infra/ax-tag-release.xml +17 -0
  464. package/ai/kit/axiom/infra/ax-third-party-tool-current-api.xml +8 -0
  465. package/ai/kit/axiom/infra/ax-type-aware-prefer-ts.xml +10 -0
  466. package/ai/kit/axiom/interview/ax-amplification-opt-in.xml +8 -0
  467. package/ai/kit/axiom/interview/ax-coverage-map-closure.xml +9 -0
  468. package/ai/kit/axiom/interview/ax-defaults-first.xml +9 -0
  469. package/ai/kit/axiom/logging/ax-alerts-on-symptoms.xml +7 -0
  470. package/ai/kit/axiom/logging/ax-log-density.xml +4 -0
  471. package/ai/kit/axiom/logging/ax-log-message-format.xml +6 -0
  472. package/ai/kit/axiom/logging/ax-log-message-purity.xml +4 -0
  473. package/ai/kit/axiom/logging/ax-log-performance-metrics.xml +4 -0
  474. package/ai/kit/axiom/logging/ax-stdout-first-transport.xml +2 -0
  475. package/ai/kit/axiom/logging/ax-structured-logging.xml +6 -0
  476. package/ai/kit/axiom/perf/ax-allocation-is-enemy.xml +2 -0
  477. package/ai/kit/axiom/perf/ax-backpressure-is-law.xml +2 -0
  478. package/ai/kit/axiom/perf/ax-big-o-matters.xml +2 -0
  479. package/ai/kit/axiom/perf/ax-budgets-are-numbers.xml +8 -0
  480. package/ai/kit/axiom/perf/ax-concurrency-limits.xml +2 -0
  481. package/ai/kit/axiom/perf/ax-engine-optimizations.xml +2 -0
  482. package/ai/kit/axiom/perf/ax-gc-pressure.xml +2 -0
  483. package/ai/kit/axiom/perf/ax-hoisting-safety.xml +2 -0
  484. package/ai/kit/axiom/perf/ax-latency-stacking.xml +2 -0
  485. package/ai/kit/axiom/perf/ax-one-time-cost.xml +2 -0
  486. package/ai/kit/axiom/perf/ax-retained-memory.xml +2 -0
  487. package/ai/kit/axiom/perf/ax-target-hardware.xml +2 -0
  488. package/ai/kit/axiom/process/ax-amplify-defaults-first.xml +11 -0
  489. package/ai/kit/axiom/process/ax-artifact-style-self-check.xml +9 -0
  490. package/ai/kit/axiom/process/ax-audit-hook.xml +3 -0
  491. package/ai/kit/axiom/process/ax-blocker-escalation.xml +12 -0
  492. package/ai/kit/axiom/process/ax-blocker-resolution-trail.xml +9 -0
  493. package/ai/kit/axiom/process/ax-cap-5.xml +1 -0
  494. package/ai/kit/axiom/process/ax-close-with-integrity-check.xml +4 -0
  495. package/ai/kit/axiom/process/ax-coverage-report-blocker-explicit.xml +4 -0
  496. package/ai/kit/axiom/process/ax-cross-scope-change.xml +10 -0
  497. package/ai/kit/axiom/process/ax-dialogue-discipline.xml +12 -0
  498. package/ai/kit/axiom/process/ax-dispatch-via-batch.xml +8 -0
  499. package/ai/kit/axiom/process/ax-diverge-before-recommend.xml +18 -0
  500. package/ai/kit/axiom/process/ax-env-fix-channel.xml +23 -0
  501. package/ai/kit/axiom/process/ax-execution-log-plan-vs-fact.xml +18 -0
  502. package/ai/kit/axiom/process/ax-execution-order.xml +5 -0
  503. package/ai/kit/axiom/process/ax-fix-classification.xml +7 -0
  504. package/ai/kit/axiom/process/ax-grouping-reduces-noise.xml +2 -0
  505. package/ai/kit/axiom/process/ax-halt-vs-fail-distinction.xml +10 -0
  506. package/ai/kit/axiom/process/ax-handoff-typed.xml +3 -0
  507. package/ai/kit/axiom/process/ax-live-log.xml +3 -0
  508. package/ai/kit/axiom/process/ax-narrow-recon.xml +9 -0
  509. package/ai/kit/axiom/process/ax-no-focused-or-skipped-tests-on-merge.xml +4 -0
  510. package/ai/kit/axiom/process/ax-no-process-narration.xml +7 -0
  511. package/ai/kit/axiom/process/ax-operator-agreement.xml +6 -0
  512. package/ai/kit/axiom/process/ax-operator-dialogue-style.xml +42 -0
  513. package/ai/kit/axiom/process/ax-operator-language.xml +15 -0
  514. package/ai/kit/axiom/process/ax-operator-output-live-text.xml +7 -0
  515. package/ai/kit/axiom/process/ax-operator-safeguard.xml +10 -0
  516. package/ai/kit/axiom/process/ax-owner.xml +1 -0
  517. package/ai/kit/axiom/process/ax-permitted-bash-commands.xml +31 -0
  518. package/ai/kit/axiom/process/ax-phase-scope-lock.xml +3 -0
  519. package/ai/kit/axiom/process/ax-preflight-blast-radius-scoped.xml +10 -0
  520. package/ai/kit/axiom/process/ax-problem-probes-spec.xml +14 -0
  521. package/ai/kit/axiom/process/ax-progressive-disclosure.xml +8 -0
  522. package/ai/kit/axiom/process/ax-q-ids.xml +3 -0
  523. package/ai/kit/axiom/process/ax-re-dispatch.xml +1 -0
  524. package/ai/kit/axiom/process/ax-read-per-manifest.xml +11 -0
  525. package/ai/kit/axiom/process/ax-rejection-reason.xml +1 -0
  526. package/ai/kit/axiom/process/ax-reopen-format.xml +15 -0
  527. package/ai/kit/axiom/process/ax-scale-proportional-depth.xml +8 -0
  528. package/ai/kit/axiom/process/ax-scratch-log.xml +1 -0
  529. package/ai/kit/axiom/process/ax-step-by-step-approval.xml +13 -0
  530. package/ai/kit/axiom/process/ax-stop-no-edits.xml +1 -0
  531. package/ai/kit/axiom/process/ax-surgical.xml +1 -0
  532. package/ai/kit/axiom/process/ax-task-id-uniqueness.xml +11 -0
  533. package/ai/kit/axiom/process/ax-task-parallel.xml +1 -0
  534. package/ai/kit/axiom/process/ax-task-resolution.xml +10 -0
  535. package/ai/kit/axiom/process/ax-ticket-section-names-normative.xml +3 -0
  536. package/ai/kit/axiom/process/ax-tool-invocation.xml +12 -0
  537. package/ai/kit/axiom/process/ax-verification-before-handoff.xml +19 -0
  538. package/ai/kit/axiom/process/ax-verify-and-finalize.xml +4 -0
  539. package/ai/kit/axiom/process/ax-verify-at-end.xml +4 -0
  540. package/ai/kit/axiom/scaffold/ax-append-only-module-add.xml +9 -0
  541. package/ai/kit/axiom/scaffold/ax-bootstrap-ticket-derivation.xml +9 -0
  542. package/ai/kit/axiom/scaffold/ax-cross-scope-task-placement.xml +4 -0
  543. package/ai/kit/axiom/scaffold/ax-dag-and-ticket-boundaries.xml +16 -0
  544. package/ai/kit/axiom/scaffold/ax-directive-mode.xml +6 -0
  545. package/ai/kit/axiom/scaffold/ax-extend-dag-preserves-existing-ids.xml +11 -0
  546. package/ai/kit/axiom/scaffold/ax-handoff-to-task-scaffolding.xml +6 -0
  547. package/ai/kit/axiom/scaffold/ax-idempotent-modes.xml +8 -0
  548. package/ai/kit/axiom/scaffold/ax-mode-auto-detect-or-halt.xml +6 -0
  549. package/ai/kit/axiom/scaffold/ax-phases-declared-in-header.xml +20 -0
  550. package/ai/kit/axiom/scaffold/ax-rule-activation-plan.xml +7 -0
  551. package/ai/kit/axiom/scaffold/ax-rule-activation.xml +8 -0
  552. package/ai/kit/axiom/scaffold/ax-rules-cascade-resolution.xml +15 -0
  553. package/ai/kit/axiom/scaffold/ax-rules-load-from-phase-block.xml +16 -0
  554. package/ai/kit/axiom/scaffold/ax-rules-resolution-hard-fail.xml +4 -0
  555. package/ai/kit/axiom/scaffold/ax-scope-rules-declaration.xml +15 -0
  556. package/ai/kit/axiom/scaffold/ax-stack-based-flow.xml +6 -0
  557. package/ai/kit/axiom/scaffold/ax-task-dimensions.xml +10 -0
  558. package/ai/kit/axiom/scaffold/ax-ticket-deduplication.xml +4 -0
  559. package/ai/kit/axiom/scaffold/ax-ticket-has-bdd-and-tests.xml +12 -0
  560. package/ai/kit/axiom/spec/ax-access-patterns-drive-schema.xml +7 -0
  561. package/ai/kit/axiom/spec/ax-context-to-contract.xml +4 -0
  562. package/ai/kit/axiom/spec/ax-contracts-textual-agnostic.xml +11 -0
  563. package/ai/kit/axiom/spec/ax-data-lifecycle-explicit.xml +7 -0
  564. package/ai/kit/axiom/spec/ax-decision-log-required.xml +7 -0
  565. package/ai/kit/axiom/spec/ax-draft-ready-for-review.xml +8 -0
  566. package/ai/kit/axiom/spec/ax-dx-first.xml +12 -0
  567. package/ai/kit/axiom/spec/ax-exact-scope.xml +4 -0
  568. package/ai/kit/axiom/spec/ax-external-input-untrusted.xml +7 -0
  569. package/ai/kit/axiom/spec/ax-handoff-to-module-decomposition.xml +4 -0
  570. package/ai/kit/axiom/spec/ax-hierarchical-specs.xml +8 -0
  571. package/ai/kit/axiom/spec/ax-interface-flow.xml +7 -0
  572. package/ai/kit/axiom/spec/ax-living-spec.xml +6 -0
  573. package/ai/kit/axiom/spec/ax-module-boundary-by-operator.xml +4 -0
  574. package/ai/kit/axiom/spec/ax-no-data-loss.xml +10 -0
  575. package/ai/kit/axiom/spec/ax-no-silent-option-drop.xml +4 -0
  576. package/ai/kit/axiom/spec/ax-pivot-requires-supersession.xml +6 -0
  577. package/ai/kit/axiom/spec/ax-portal-primary-owner.xml +10 -0
  578. package/ai/kit/axiom/spec/ax-ports-and-abstractions-discipline.xml +7 -0
  579. package/ai/kit/axiom/spec/ax-product-library-flow.xml +15 -0
  580. package/ai/kit/axiom/spec/ax-refine-module-preserves-contracts.xml +12 -0
  581. package/ai/kit/axiom/spec/ax-runtime-backing-explicit.xml +9 -0
  582. package/ai/kit/axiom/spec/ax-runtime-backing-in-contracts.xml +9 -0
  583. package/ai/kit/axiom/spec/ax-scope-graph-detection.xml +19 -0
  584. package/ai/kit/axiom/spec/ax-scope-graph-discipline.xml +8 -0
  585. package/ai/kit/axiom/spec/ax-scope-spec-module-map-ownership.xml +17 -0
  586. package/ai/kit/axiom/spec/ax-scope-stays-thin.xml +14 -0
  587. package/ai/kit/axiom/spec/ax-scope-table-format.xml +7 -0
  588. package/ai/kit/axiom/spec/ax-scope-type-branch.xml +13 -0
  589. package/ai/kit/axiom/spec/ax-spec-dimensions.xml +14 -0
  590. package/ai/kit/axiom/spec/ax-spec-lifecycle.xml +10 -0
  591. package/ai/kit/axiom/spec/ax-spec-structure.xml +13 -0
  592. package/ai/kit/axiom/spec/ax-stateless-artifact.xml +6 -0
  593. package/ai/kit/axiom/spec/ax-vision-only-for-application.xml +4 -0
  594. package/ai/kit/axiom/storybook/ax-ai-generated-tag.xml +13 -0
  595. package/ai/kit/axiom/storybook/ax-compose-from-base-story.xml +13 -0
  596. package/ai/kit/axiom/storybook/ax-hierarchy-mirrors-spec.xml +25 -0
  597. package/ai/kit/axiom/storybook/ax-one-story-per-variant.xml +18 -0
  598. package/ai/kit/axiom/storybook/ax-play-function-required.xml +27 -0
  599. package/ai/kit/axiom/storybook/ax-sb-agents-md-updated-as-part-of-setup.xml +4 -0
  600. package/ai/kit/axiom/storybook/ax-sb-browser-prereq-handled.xml +4 -0
  601. package/ai/kit/axiom/storybook/ax-sb-follow-generated-guide.xml +4 -0
  602. package/ai/kit/axiom/storybook/ax-sb-init-via-official-installer.xml +6 -0
  603. package/ai/kit/axiom/storybook/ax-sb-mcp-is-mandatory.xml +6 -0
  604. package/ai/kit/axiom/storybook/ax-sb-no-parallel-test-harnesses.xml +4 -0
  605. package/ai/kit/axiom/storybook/ax-sb-use-ai-generated-tag.xml +4 -0
  606. package/ai/kit/axiom/storybook/ax-sb-use-component-change-triggers-story-run.xml +4 -0
  607. package/ai/kit/axiom/storybook/ax-sb-use-compose-existing-first.xml +4 -0
  608. package/ai/kit/axiom/storybook/ax-sb-use-mcp-first.xml +4 -0
  609. package/ai/kit/axiom/storybook/ax-sb-use-never-hallucinate-props.xml +4 -0
  610. package/ai/kit/axiom/storybook/ax-sb-use-no-parallel-render-harness.xml +4 -0
  611. package/ai/kit/axiom/storybook/ax-sb-use-one-story-one-concept.xml +4 -0
  612. package/ai/kit/axiom/storybook/ax-sb-use-play-for-interaction.xml +4 -0
  613. package/ai/kit/axiom/storybook/ax-sb-use-self-verify-before-handoff.xml +6 -0
  614. package/ai/kit/axiom/storybook/ax-sb-verify-before-handoff.xml +9 -0
  615. package/ai/kit/axiom/storybook/ax-storybook-title-from-spec.xml +10 -0
  616. package/ai/kit/axiom/svelte/ax-bindable-for-two-way.xml +4 -0
  617. package/ai/kit/axiom/svelte/ax-component-structure-fixed.xml +4 -0
  618. package/ai/kit/axiom/svelte/ax-derived-is-pure.xml +4 -0
  619. package/ai/kit/axiom/svelte/ax-effect-ownership-and-cleanup.xml +6 -0
  620. package/ai/kit/axiom/svelte/ax-event-handlers-as-attributes.xml +6 -0
  621. package/ai/kit/axiom/svelte/ax-inspect-is-dev-only.xml +4 -0
  622. package/ai/kit/axiom/svelte/ax-legacy-patterns-forbidden.xml +4 -0
  623. package/ai/kit/axiom/svelte/ax-local-runes-over-stores-for-local-state.xml +6 -0
  624. package/ai/kit/axiom/svelte/ax-props-via-destructuring.xml +6 -0
  625. package/ai/kit/axiom/svelte/ax-runes-are-compiler-keywords.xml +6 -0
  626. package/ai/kit/axiom/svelte/ax-runes-location-restriction.xml +6 -0
  627. package/ai/kit/axiom/svelte/ax-sk-adapter-chosen-not-defaulted.xml +4 -0
  628. package/ai/kit/axiom/svelte/ax-sk-data-via-load.xml +6 -0
  629. package/ai/kit/axiom/svelte/ax-sk-fetch-from-load-uses-sdk-fetch.xml +4 -0
  630. package/ai/kit/axiom/svelte/ax-sk-hooks-own-cross-cutting.xml +6 -0
  631. package/ai/kit/axiom/svelte/ax-sk-mutations-via-actions.xml +6 -0
  632. package/ai/kit/axiom/svelte/ax-sk-page-options-per-route.xml +6 -0
  633. package/ai/kit/axiom/svelte/ax-sk-project-layout.xml +4 -0
  634. package/ai/kit/axiom/svelte/ax-sk-routing-is-file-based.xml +6 -0
  635. package/ai/kit/axiom/svelte/ax-sk-server-client-boundary.xml +8 -0
  636. package/ai/kit/axiom/svelte/ax-sk-types-from-generated.xml +4 -0
  637. package/ai/kit/axiom/svelte/ax-sk-validation-at-action-boundary.xml +4 -0
  638. package/ai/kit/axiom/svelte/ax-snippets-replace-slots.xml +4 -0
  639. package/ai/kit/axiom/svelte/ax-svelte-conventions.xml +10 -0
  640. package/ai/kit/axiom/svelte/ax-svelte-test-effect-root-outside-component.xml +6 -0
  641. package/ai/kit/axiom/svelte/ax-svelte-test-file-extension.xml +4 -0
  642. package/ai/kit/axiom/svelte/ax-svelte-test-flush-before-assert.xml +6 -0
  643. package/ai/kit/axiom/svelte/ax-svelte-test-inherited-vitest-rules.xml +4 -0
  644. package/ai/kit/axiom/svelte/ax-svelte-test-jsdom-environment.xml +4 -0
  645. package/ai/kit/axiom/svelte/ax-svelte-test-library-for-rendering.xml +6 -0
  646. package/ai/kit/axiom/svelte/ax-svelte-test-mount-and-cleanup.xml +8 -0
  647. package/ai/kit/axiom/svelte/ax-svelte-test-no-direct-dom-query.xml +4 -0
  648. package/ai/kit/axiom/svelte/ax-svelte-test-prefer-story-tests-when-available.xml +4 -0
  649. package/ai/kit/axiom/svelte/ax-svelte-test-role-queries-preferred.xml +4 -0
  650. package/ai/kit/axiom/testing/ax-anchor-coverage-nontrivial.xml +4 -0
  651. package/ai/kit/axiom/testing/ax-anchor-intentful-names.xml +4 -0
  652. package/ai/kit/axiom/testing/ax-anchor-trivial-exception.xml +4 -0
  653. package/ai/kit/axiom/testing/ax-assert-api-choice.xml +13 -0
  654. package/ai/kit/axiom/testing/ax-bdd-generation.xml +19 -0
  655. package/ai/kit/axiom/testing/ax-bdd-name-discipline.xml +4 -0
  656. package/ai/kit/axiom/testing/ax-case-flow.xml +6 -0
  657. package/ai/kit/axiom/testing/ax-contract-over-implementation.xml +10 -0
  658. package/ai/kit/axiom/testing/ax-coverage-by-contract-not-by-line.xml +9 -0
  659. package/ai/kit/axiom/testing/ax-default-direct-assertion-protocol.xml +6 -0
  660. package/ai/kit/axiom/testing/ax-explicit-vitest-imports.xml +4 -0
  661. package/ai/kit/axiom/testing/ax-file-name-and-default-shape.xml +4 -0
  662. package/ai/kit/axiom/testing/ax-fixture-io-policy.xml +4 -0
  663. package/ai/kit/axiom/testing/ax-hooks-only-for-lifecycle.xml +6 -0
  664. package/ai/kit/axiom/testing/ax-http-boundary-injection.xml +6 -0
  665. package/ai/kit/axiom/testing/ax-http-mock-agent-pattern.xml +9 -0
  666. package/ai/kit/axiom/testing/ax-it-opening-brief.xml +8 -0
  667. package/ai/kit/axiom/testing/ax-mock-as-last-resort.xml +11 -0
  668. package/ai/kit/axiom/testing/ax-mock-hygiene.xml +12 -0
  669. package/ai/kit/axiom/testing/ax-mock-requires-operator-confirm.xml +9 -0
  670. package/ai/kit/axiom/testing/ax-no-describe-let-pileup.xml +4 -0
  671. package/ai/kit/axiom/testing/ax-no-falsification-via-mocks.xml +4 -0
  672. package/ai/kit/axiom/testing/ax-one-test-one-scenario.xml +4 -0
  673. package/ai/kit/axiom/testing/ax-one-unified-context-per-file.xml +10 -0
  674. package/ai/kit/axiom/testing/ax-partial-string-via-match.xml +4 -0
  675. package/ai/kit/axiom/testing/ax-phase-anchors.xml +16 -0
  676. package/ai/kit/axiom/testing/ax-prefer-factory-over-hooks.xml +6 -0
  677. package/ai/kit/axiom/testing/ax-prefer-native-mock-fn.xml +9 -0
  678. package/ai/kit/axiom/testing/ax-prefer-vi-fn-for-interaction.xml +4 -0
  679. package/ai/kit/axiom/testing/ax-snapshot-file-location.xml +4 -0
  680. package/ai/kit/axiom/testing/ax-snapshot-usage-gate.xml +4 -0
  681. package/ai/kit/axiom/testing/ax-test-anchor-naming.xml +4 -0
  682. package/ai/kit/axiom/testing/ax-test-file-size-budget.xml +6 -0
  683. package/ai/kit/axiom/testing/ax-test-mandate.xml +10 -0
  684. package/ai/kit/axiom/testing/ax-tests-no-human-narration.xml +4 -0
  685. package/ai/kit/axiom/testing/ax-time-env-global-lifecycle.xml +9 -0
  686. package/ai/kit/axiom/testing/ax-vitest-assert-api-choice.xml +12 -0
  687. package/ai/kit/axiom/testing/ax-vitest-isolation-default.xml +4 -0
  688. package/ai/kit/axiom/testing/ax-vitest-run-not-watch.xml +16 -0
  689. package/ai/kit/axiom/truth/ax-autonomous-research.xml +2 -0
  690. package/ai/kit/axiom/truth/ax-evidence-hygiene.xml +9 -0
  691. package/ai/kit/axiom/truth/ax-freshness-guard.xml +2 -0
  692. package/ai/kit/axiom/truth/ax-live-source-only.xml +2 -0
  693. package/ai/kit/axiom/truth/ax-no-unverified-findings.xml +2 -0
  694. package/ai/kit/axiom/truth/ax-production-realism.xml +4 -0
  695. package/ai/kit/axiom/truth/ax-real-run-over-ping.xml +2 -0
  696. package/ai/kit/axiom/truth/ax-reuse-first.xml +2 -0
  697. package/ai/kit/axiom/truth/ax-spec-is-sole-source.xml +6 -0
  698. package/ai/kit/axiom/truth/ax-stale-must-be-rejected.xml +2 -0
  699. package/ai/kit/axiom/typescript/ax-base-contract-shape.xml +25 -0
  700. package/ai/kit/axiom/typescript/ax-consumers-tag-semantics.xml +4 -0
  701. package/ai/kit/axiom/typescript/ax-direct-implementation-protocol.xml +9 -0
  702. package/ai/kit/axiom/typescript/ax-english-only-names-and-comments.xml +4 -0
  703. package/ai/kit/axiom/typescript/ax-entity-specific-minimums.xml +11 -0
  704. package/ai/kit/axiom/typescript/ax-flat-jsdoc-for-properties.xml +6 -0
  705. package/ai/kit/axiom/typescript/ax-implementation-hiding-in-public.xml +4 -0
  706. package/ai/kit/axiom/typescript/ax-no-transpile-only-constructs.xml +6 -0
  707. package/ai/kit/axiom/typescript/ax-tag-usage-matrix.xml +15 -0
  708. package/ai/kit/axiom/typescript/ax-truthful-encapsulation.xml +6 -0
  709. package/ai/kit/axiom/typescript/ax-type-vs-interface-choice.xml +4 -0
  710. package/ai/kit/axiom/uikit/ax-a11y-audit-parameters.xml +14 -0
  711. package/ai/kit/axiom/uikit/ax-a11y-defaults.xml +12 -0
  712. package/ai/kit/axiom/uikit/ax-a11y-requirements.xml +18 -0
  713. package/ai/kit/axiom/uikit/ax-component-props-contract.xml +20 -0
  714. package/ai/kit/axiom/uikit/ax-css-module-selector-conventions.xml +10 -0
  715. package/ai/kit/axiom/uikit/ax-css-tokens-via-root.xml +12 -0
  716. package/ai/kit/axiom/uikit/ax-data-attrs-not-host.xml +16 -0
  717. package/ai/kit/axiom/uikit/ax-data-state-for-testability.xml +8 -0
  718. package/ai/kit/axiom/uikit/ax-element-structure-from-extraction.xml +13 -0
  719. package/ai/kit/axiom/uikit/ax-existing-components-check.xml +9 -0
  720. package/ai/kit/axiom/uikit/ax-extraction-input.xml +15 -0
  721. package/ai/kit/axiom/uikit/ax-file-structure-kebab-case.xml +13 -0
  722. package/ai/kit/axiom/uikit/ax-icon-svg-tight-viewbox.xml +6 -0
  723. package/ai/kit/axiom/uikit/ax-token-discipline.xml +9 -0
  724. package/ai/kit/axiom/uikit/ax-token-override-comment.xml +11 -0
  725. package/ai/kit/axiom/uikit/ax-token-section-generation.xml +13 -0
  726. package/ai/kit/axiom/uikit/ax-variant-grouping.xml +10 -0
  727. package/ai/kit/build-directives.ts +39 -0
  728. package/ai/kit/contract/audit/audit-session-summary-format.xml +38 -0
  729. package/ai/kit/contract/audit/finding-format.xml +20 -0
  730. package/ai/kit/contract/audit/ticket-audit-round-format.xml +38 -0
  731. package/ai/kit/contract/critic/oc-structured.xml +2 -0
  732. package/ai/kit/contract/interview/coverage-map-format.xml +12 -0
  733. package/ai/kit/contract/process/blocker-format.xml +9 -0
  734. package/ai/kit/contract/process/breadcrumb-format.xml +8 -0
  735. package/ai/kit/contract/process/execute-summary-format.xml +11 -0
  736. package/ai/kit/contract/process/fix-summary-format.xml +23 -0
  737. package/ai/kit/contract/process/flow-diagram-when.xml +12 -0
  738. package/ai/kit/contract/process/halt-format.xml +6 -0
  739. package/ai/kit/contract/process/handoff-format.xml +13 -0
  740. package/ai/kit/contract/process/message-layout.xml +16 -0
  741. package/ai/kit/contract/process/orchestrator-progress-format.xml +10 -0
  742. package/ai/kit/contract/process/phase-block-format.xml +22 -0
  743. package/ai/kit/contract/process/phase-progress-format.xml +13 -0
  744. package/ai/kit/contract/process/plan-table-format.xml +7 -0
  745. package/ai/kit/contract/process/question-format.xml +27 -0
  746. package/ai/kit/contract/process/return-summary-format.xml +17 -0
  747. package/ai/kit/contract/process/round-close-format.xml +8 -0
  748. package/ai/kit/contract/process/session-file-format.xml +25 -0
  749. package/ai/kit/contract/process/side-dive-format.xml +7 -0
  750. package/ai/kit/contract/process/trace-header-format.xml +11 -0
  751. package/ai/kit/contract/process/understanding-block-format.xml +12 -0
  752. package/ai/kit/contract/scaffold/module-tasks-index.xml +9 -0
  753. package/ai/kit/contract/scaffold/project-tasks-index.xml +10 -0
  754. package/ai/kit/contract/scaffold/scope-tasks-index.xml +11 -0
  755. package/ai/kit/contract/scaffold/task-ticket-structure.xml +19 -0
  756. package/ai/kit/contract/spec/change-manifest-format.xml +31 -0
  757. package/ai/kit/contract/spec/dbc-adapter-format.xml +22 -0
  758. package/ai/kit/contract/spec/dbc-port-format.xml +38 -0
  759. package/ai/kit/contract/spec/decision-log-entry-format.xml +12 -0
  760. package/ai/kit/contract/spec/entity-inventory-format.xml +18 -0
  761. package/ai/kit/contract/spec/entity-surface-format.xml +25 -0
  762. package/ai/kit/contract/spec/infra-base-minimal-spec.xml +23 -0
  763. package/ai/kit/contract/spec/infrastructure-spec-structure.xml +8 -0
  764. package/ai/kit/contract/spec/interface-spec-structure.xml +6 -0
  765. package/ai/kit/contract/spec/library-spec-structure.xml +6 -0
  766. package/ai/kit/contract/spec/module-spec-markdown-structure.xml +10 -0
  767. package/ai/kit/contract/spec/nfr-budgets-format.xml +22 -0
  768. package/ai/kit/contract/spec/pivot-invalidation-list-format.xml +9 -0
  769. package/ai/kit/contract/spec/portal-structure-contract.xml +6 -0
  770. package/ai/kit/contract/spec/product-spec-structure.xml +6 -0
  771. package/ai/kit/contract/spec/rework-decision-log-entry-format.xml +19 -0
  772. package/ai/kit/contract/spec/scope-spec-module-map-update.xml +34 -0
  773. package/ai/kit/contract/spec/security-section-format.xml +27 -0
  774. package/ai/kit/contract/uikit/spec-structure.xml +67 -0
  775. package/ai/kit/definition/e2e/def-cli-ax-snapshot.xml +4 -0
  776. package/ai/kit/definition/e2e/def-cli-trace.xml +4 -0
  777. package/ai/kit/definition/e2e/def-e2e-ax-contract.xml +4 -0
  778. package/ai/kit/definition/e2e/def-e2e-fixture-pom.xml +4 -0
  779. package/ai/kit/definition/infra/def-autofixable-rule.xml +4 -0
  780. package/ai/kit/definition/infra/def-cjs.xml +2 -0
  781. package/ai/kit/definition/infra/def-esm.xml +2 -0
  782. package/ai/kit/definition/infra/def-exact-pin.xml +2 -0
  783. package/ai/kit/definition/infra/def-lint-pipeline.xml +4 -0
  784. package/ai/kit/definition/infra/def-motivated-non-autofix-rule.xml +4 -0
  785. package/ai/kit/definition/infra/def-operator-disable.xml +4 -0
  786. package/ai/kit/definition/infra/def-reproducibility-triad.xml +2 -0
  787. package/ai/kit/definition/process/def-logic-switch.xml +12 -0
  788. package/ai/kit/definition/process/def-read-and-use-directive.xml +12 -0
  789. package/ai/kit/definition/storybook/def-play-contract.xml +4 -0
  790. package/ai/kit/definition/storybook/def-sb-mcp-server.xml +4 -0
  791. package/ai/kit/definition/storybook/def-sb-mcp-tools.xml +4 -0
  792. package/ai/kit/definition/storybook/def-sb-story-canonical-form.xml +4 -0
  793. package/ai/kit/definition/storybook/def-sb-test-addon.xml +4 -0
  794. package/ai/kit/definition/storybook/def-spec-mirror-hierarchy.xml +4 -0
  795. package/ai/kit/definition/svelte/def-flush-boundary.xml +4 -0
  796. package/ai/kit/definition/svelte/def-form-action.xml +4 -0
  797. package/ai/kit/definition/svelte/def-runes-file.xml +4 -0
  798. package/ai/kit/definition/svelte/def-server-load.xml +4 -0
  799. package/ai/kit/definition/svelte/def-svelte-rune.xml +4 -0
  800. package/ai/kit/definition/svelte/def-svelte-test-file.xml +4 -0
  801. package/ai/kit/definition/svelte/def-universal-load.xml +4 -0
  802. package/ai/kit/definition/testing/def-injection-seam.xml +4 -0
  803. package/ai/kit/definition/testing/def-non-trivial-case.xml +4 -0
  804. package/ai/kit/definition/testing/def-phase-anchor-format.xml +4 -0
  805. package/ai/kit/definition/testing/def-test-payload-vocab.xml +4 -0
  806. package/ai/kit/definition/testing/def-unified-context.xml +4 -0
  807. package/ai/kit/definition/typescript/def-allowed-comment-payload.xml +4 -0
  808. package/ai/kit/definition/typescript/def-complexity-trigger.xml +4 -0
  809. package/ai/kit/definition/typescript/def-trace-prefix.xml +2 -0
  810. package/ai/kit/definition/uikit/def-component-artefact.xml +4 -0
  811. package/ai/kit/definition/uikit/def-data-attribute-selector.xml +4 -0
  812. package/ai/kit/definition/uikit/def-token-override.xml +4 -0
  813. package/ai/kit/demo/indent-check.ts +56 -0
  814. package/ai/kit/demo/render-demo.ts +26 -0
  815. package/ai/kit/demo/sdd-mini.hbs +11 -0
  816. package/ai/kit/hook/coding/hook-module-system-declared.xml +6 -0
  817. package/ai/kit/hook/e2e/HOOK_CLI_DEV_SERVER_REACHABLE.xml +6 -0
  818. package/ai/kit/hook/e2e/HOOK_CLI_NO_AUTO_UPDATE_SNAPSHOTS.xml +6 -0
  819. package/ai/kit/hook/e2e/HOOK_CLI_NO_HEADED_IN_AGENT_SCRIPTS.xml +6 -0
  820. package/ai/kit/hook/e2e/HOOK_CLI_PLAYWRIGHT_INSTALLED.xml +6 -0
  821. package/ai/kit/hook/e2e/HOOK_E2E_FILE_SIZE_BUDGET.xml +6 -0
  822. package/ai/kit/hook/e2e/HOOK_E2E_NO_CSS_LOCATORS.xml +6 -0
  823. package/ai/kit/hook/e2e/HOOK_E2E_NO_HEADED.xml +6 -0
  824. package/ai/kit/hook/e2e/HOOK_E2E_NO_ONLY_OR_SKIP.xml +6 -0
  825. package/ai/kit/hook/e2e/HOOK_E2E_RUN_CHROMIUM.xml +6 -0
  826. package/ai/kit/hook/e2e/hook-cli-dev-server-reachable.xml +6 -0
  827. package/ai/kit/hook/e2e/hook-cli-no-auto-update-snapshots.xml +6 -0
  828. package/ai/kit/hook/e2e/hook-cli-no-headed-in-agent-scripts.xml +6 -0
  829. package/ai/kit/hook/e2e/hook-cli-playwright-installed.xml +6 -0
  830. package/ai/kit/hook/e2e/hook-e2e-file-size-budget.xml +6 -0
  831. package/ai/kit/hook/e2e/hook-e2e-no-css-locators.xml +6 -0
  832. package/ai/kit/hook/e2e/hook-e2e-no-headed.xml +6 -0
  833. package/ai/kit/hook/e2e/hook-e2e-no-only-or-skip.xml +6 -0
  834. package/ai/kit/hook/e2e/hook-e2e-run-chromium.xml +6 -0
  835. package/ai/kit/hook/infra/HOOK_AUDIT_NEW_RULE.xml +6 -0
  836. package/ai/kit/hook/infra/HOOK_DEFAULT_BRANCH_MAIN.xml +6 -0
  837. package/ai/kit/hook/infra/HOOK_GITIGNORE_PRESENT.xml +6 -0
  838. package/ai/kit/hook/infra/HOOK_LINT_FIX_GREEN.xml +6 -0
  839. package/ai/kit/hook/infra/HOOK_LINT_NO_DRIFT.xml +6 -0
  840. package/ai/kit/hook/infra/HOOK_NON_AUTOFIX_HAS_COMMENT.xml +6 -0
  841. package/ai/kit/hook/infra/HOOK_NO_AGENT_DISABLE_COMMENTS.xml +6 -0
  842. package/ai/kit/hook/infra/HOOK_NO_ENV_TRACKED.xml +6 -0
  843. package/ai/kit/hook/infra/HOOK_NO_FORMATTING_DUPLICATION.xml +6 -0
  844. package/ai/kit/hook/infra/HOOK_NO_NODE_MODULES_TRACKED.xml +6 -0
  845. package/ai/kit/hook/infra/HOOK_NO_WARN_LEVEL_IN_CONFIG.xml +6 -0
  846. package/ai/kit/hook/infra/HOOK_PROJECT_LINT.xml +6 -0
  847. package/ai/kit/hook/infra/HOOK_TAG_ANNOTATED.xml +6 -0
  848. package/ai/kit/hook/infra/HOOK_TYPECHECK.xml +6 -0
  849. package/ai/kit/hook/infra/hook-audit-new-rule.xml +6 -0
  850. package/ai/kit/hook/infra/hook-default-branch-main.xml +6 -0
  851. package/ai/kit/hook/infra/hook-engines-present.xml +6 -0
  852. package/ai/kit/hook/infra/hook-gitignore-present.xml +6 -0
  853. package/ai/kit/hook/infra/hook-lint-fix-green.xml +6 -0
  854. package/ai/kit/hook/infra/hook-lint-no-drift.xml +6 -0
  855. package/ai/kit/hook/infra/hook-lock-file-exists.xml +6 -0
  856. package/ai/kit/hook/infra/hook-no-agent-disable-comments.xml +6 -0
  857. package/ai/kit/hook/infra/hook-no-env-tracked.xml +6 -0
  858. package/ai/kit/hook/infra/hook-no-foreign-lock-files.xml +6 -0
  859. package/ai/kit/hook/infra/hook-no-formatting-duplication.xml +6 -0
  860. package/ai/kit/hook/infra/hook-no-node-modules-tracked.xml +6 -0
  861. package/ai/kit/hook/infra/hook-no-warn-level-in-config.xml +6 -0
  862. package/ai/kit/hook/infra/hook-non-autofix-has-comment.xml +6 -0
  863. package/ai/kit/hook/infra/hook-npmrc-registry.xml +6 -0
  864. package/ai/kit/hook/infra/hook-nvmrc-exact.xml +6 -0
  865. package/ai/kit/hook/infra/hook-project-lint.xml +6 -0
  866. package/ai/kit/hook/infra/hook-tag-annotated.xml +6 -0
  867. package/ai/kit/hook/storybook/HOOK_SB_ADDON_PRESENT.xml +6 -0
  868. package/ai/kit/hook/storybook/HOOK_SB_AGENTS_MD_MENTIONS_STORYBOOK.xml +6 -0
  869. package/ai/kit/hook/storybook/HOOK_SB_AI_TAG_PRESENT.xml +6 -0
  870. package/ai/kit/hook/storybook/HOOK_SB_PLAYWRIGHT_BROWSER_PRESENT.xml +6 -0
  871. package/ai/kit/hook/storybook/HOOK_SB_PLAY_PRESENT.xml +6 -0
  872. package/ai/kit/hook/storybook/HOOK_SB_PREVIEW_BOOTS.xml +6 -0
  873. package/ai/kit/hook/storybook/HOOK_SB_RUN_STORY_TESTS.xml +6 -0
  874. package/ai/kit/hook/storybook/hook-sb-addon-present.xml +6 -0
  875. package/ai/kit/hook/storybook/hook-sb-agents-md-mentions-storybook.xml +6 -0
  876. package/ai/kit/hook/storybook/hook-sb-ai-tag-present.xml +6 -0
  877. package/ai/kit/hook/storybook/hook-sb-interactive-stories-have-play.xml +6 -0
  878. package/ai/kit/hook/storybook/hook-sb-play-present.xml +6 -0
  879. package/ai/kit/hook/storybook/hook-sb-playwright-browser-present.xml +6 -0
  880. package/ai/kit/hook/storybook/hook-sb-preview-boots.xml +6 -0
  881. package/ai/kit/hook/storybook/hook-sb-run-story-tests.xml +6 -0
  882. package/ai/kit/hook/svelte/HOOK_NO_CREATE_EVENT_DISPATCHER.xml +6 -0
  883. package/ai/kit/hook/svelte/HOOK_NO_LEGACY_PROP_SYNTAX.xml +6 -0
  884. package/ai/kit/hook/svelte/HOOK_NO_LEGACY_REACTIVE.xml +6 -0
  885. package/ai/kit/hook/svelte/HOOK_NO_RUNES_IN_PLAIN_TS.xml +6 -0
  886. package/ai/kit/hook/svelte/HOOK_SK_BUILD.xml +6 -0
  887. package/ai/kit/hook/svelte/HOOK_SK_NO_CLIENT_FETCH_IN_COMPONENT.xml +6 -0
  888. package/ai/kit/hook/svelte/HOOK_SK_NO_GLOBAL_FETCH_IN_LOAD.xml +6 -0
  889. package/ai/kit/hook/svelte/HOOK_SK_NO_PRIVATE_ENV_IN_CLIENT.xml +6 -0
  890. package/ai/kit/hook/svelte/HOOK_SK_TYPECHECK.xml +6 -0
  891. package/ai/kit/hook/svelte/HOOK_SVELTE_CHECK.xml +6 -0
  892. package/ai/kit/hook/svelte/HOOK_SVELTE_TEST_EXTENSION_DISCIPLINE.xml +6 -0
  893. package/ai/kit/hook/svelte/HOOK_SVELTE_TEST_HAS_CLEANUP.xml +6 -0
  894. package/ai/kit/hook/svelte/HOOK_SVELTE_TEST_HAS_FLUSH_AFTER_USEREVENT.xml +6 -0
  895. package/ai/kit/hook/svelte/HOOK_SVELTE_TEST_NO_DIRECT_DOM_QUERIES.xml +6 -0
  896. package/ai/kit/hook/svelte/HOOK_SVELTE_TEST_RUN.xml +6 -0
  897. package/ai/kit/hook/svelte/hook-no-create-event-dispatcher.xml +6 -0
  898. package/ai/kit/hook/svelte/hook-no-legacy-prop-syntax.xml +6 -0
  899. package/ai/kit/hook/svelte/hook-no-legacy-reactive.xml +6 -0
  900. package/ai/kit/hook/svelte/hook-no-runes-in-plain-ts.xml +6 -0
  901. package/ai/kit/hook/svelte/hook-sk-build.xml +6 -0
  902. package/ai/kit/hook/svelte/hook-sk-no-client-fetch-in-component.xml +6 -0
  903. package/ai/kit/hook/svelte/hook-sk-no-global-fetch-in-load.xml +6 -0
  904. package/ai/kit/hook/svelte/hook-sk-no-private-env-in-client.xml +6 -0
  905. package/ai/kit/hook/svelte/hook-sk-typecheck.xml +6 -0
  906. package/ai/kit/hook/svelte/hook-svelte-check.xml +6 -0
  907. package/ai/kit/hook/svelte/hook-svelte-test-extension-discipline.xml +6 -0
  908. package/ai/kit/hook/svelte/hook-svelte-test-has-cleanup.xml +6 -0
  909. package/ai/kit/hook/svelte/hook-svelte-test-has-flush-after-userevent.xml +6 -0
  910. package/ai/kit/hook/svelte/hook-svelte-test-no-direct-dom-queries.xml +6 -0
  911. package/ai/kit/hook/svelte/hook-svelte-test-run.xml +6 -0
  912. package/ai/kit/hook/testing/HOOK_ANCHOR_PAIRING.xml +6 -0
  913. package/ai/kit/hook/testing/HOOK_COVERAGE.xml +5 -0
  914. package/ai/kit/hook/testing/HOOK_NO_FORBIDDEN_TEST_PATTERNS.xml +6 -0
  915. package/ai/kit/hook/testing/HOOK_RUN_SINGLE_FILE.xml +5 -0
  916. package/ai/kit/hook/testing/HOOK_RUN_TESTS.xml +5 -0
  917. package/ai/kit/hook/testing/HOOK_TYPECHECK_BEFORE_TEST.xml +5 -0
  918. package/ai/kit/hook/testing/hook-anchor-pairing.xml +6 -0
  919. package/ai/kit/hook/testing/hook-coverage-node.xml +5 -0
  920. package/ai/kit/hook/testing/hook-coverage-vitest.xml +5 -0
  921. package/ai/kit/hook/testing/hook-file-size-budget.xml +6 -0
  922. package/ai/kit/hook/testing/hook-no-auto-snapshot-update.xml +6 -0
  923. package/ai/kit/hook/testing/hook-no-forbidden-test-patterns-node.xml +6 -0
  924. package/ai/kit/hook/testing/hook-no-forbidden-test-patterns-vitest.xml +5 -0
  925. package/ai/kit/hook/testing/hook-no-unjustified-vi-mock.xml +6 -0
  926. package/ai/kit/hook/testing/hook-parallel-factories-guard.xml +5 -0
  927. package/ai/kit/hook/testing/hook-run-single-file-node.xml +5 -0
  928. package/ai/kit/hook/testing/hook-run-single-file-vitest.xml +5 -0
  929. package/ai/kit/hook/testing/hook-run-tests-node.xml +5 -0
  930. package/ai/kit/hook/testing/hook-run-tests-vitest.xml +5 -0
  931. package/ai/kit/hook/testing/hook-typecheck-before-test.xml +5 -0
  932. package/ai/kit/hook/typescript/HOOK_NO_FORBIDDEN_CONSTRUCTS.xml +6 -0
  933. package/ai/kit/hook/typescript/HOOK_TYPECHECK.xml +6 -0
  934. package/ai/kit/hook/typescript/hook-no-forbidden-constructs.xml +6 -0
  935. package/ai/kit/hook/typescript/hook-typecheck.xml +6 -0
  936. package/ai/kit/hook/uikit/HOOK_ARIA_ATTRIBUTES_PRESENT.xml +6 -0
  937. package/ai/kit/hook/uikit/HOOK_DATA_STATE_PRESENT.xml +6 -0
  938. package/ai/kit/hook/uikit/HOOK_KEBAB_CASE_FILES.xml +6 -0
  939. package/ai/kit/hook/uikit/HOOK_NO_HOST_SELECTOR.xml +6 -0
  940. package/ai/kit/hook/uikit/HOOK_OVERRIDE_COMMENTS_PRESENT.xml +6 -0
  941. package/ai/kit/hook/uikit/HOOK_SB_A11Y_AUDIT_CONFIG.xml +6 -0
  942. package/ai/kit/hook/uikit/hook-aria-attributes-present.xml +6 -0
  943. package/ai/kit/hook/uikit/hook-data-state-present.xml +6 -0
  944. package/ai/kit/hook/uikit/hook-kebab-case-files.xml +6 -0
  945. package/ai/kit/hook/uikit/hook-no-host-selector.xml +6 -0
  946. package/ai/kit/hook/uikit/hook-override-comments-present.xml +6 -0
  947. package/ai/kit/hook/uikit/hook-sb-a11y-audit-config.xml +6 -0
  948. package/ai/kit/lint-axioms.ts +102 -0
  949. package/ai/kit/pattern/e2e/pt-cli-explore-loop.xml +29 -0
  950. package/ai/kit/pattern/e2e/pt-e2e-auth-setup-project.xml +20 -0
  951. package/ai/kit/pattern/e2e/pt-e2e-ax-snapshot-baseline.xml +21 -0
  952. package/ai/kit/pattern/e2e/pt-e2e-fixture-pom.xml +31 -0
  953. package/ai/kit/pattern/e2e/pt-e2e-interaction-delta.xml +19 -0
  954. package/ai/kit/pattern/e2e/pt-e2e-network-mock.xml +21 -0
  955. package/ai/kit/pattern/infra/pt-dependency-addition.xml +21 -0
  956. package/ai/kit/pattern/infra/pt-esm-builtins.xml +14 -0
  957. package/ai/kit/pattern/infra/pt-lint-config-shape.xml +104 -0
  958. package/ai/kit/pattern/infra/pt-minimal-package-json.xml +21 -0
  959. package/ai/kit/pattern/infra/pt-npm-script-shape.xml +18 -0
  960. package/ai/kit/pattern/infra/pt-npmrc.xml +10 -0
  961. package/ai/kit/pattern/infra/pt-nvmrc.xml +6 -0
  962. package/ai/kit/pattern/infra/pt-rule-audit-protocol.xml +40 -0
  963. package/ai/kit/pattern/spec/example-contracts.xml +20 -0
  964. package/ai/kit/pattern/spec/example-infrastructure.xml +28 -0
  965. package/ai/kit/pattern/spec/example-library.xml +21 -0
  966. package/ai/kit/pattern/spec/example-product.xml +19 -0
  967. package/ai/kit/pattern/storybook/pt-canonical-stories-file.xml +74 -0
  968. package/ai/kit/pattern/storybook/pt-sb-composed-story-with-play.xml +37 -0
  969. package/ai/kit/pattern/storybook/pt-story-with-visual-contract.xml +20 -0
  970. package/ai/kit/pattern/svelte/pt-basic-component-with-runes.xml +27 -0
  971. package/ai/kit/pattern/svelte/pt-bindable-prop.xml +14 -0
  972. package/ai/kit/pattern/svelte/pt-component-svelte-template.xml +54 -0
  973. package/ai/kit/pattern/svelte/pt-effect-with-teardown.xml +17 -0
  974. package/ai/kit/pattern/svelte/pt-form-action-with-fail.xml +24 -0
  975. package/ai/kit/pattern/svelte/pt-page-consuming-load.xml +17 -0
  976. package/ai/kit/pattern/svelte/pt-server-hook-auth.xml +18 -0
  977. package/ai/kit/pattern/svelte/pt-server-load.xml +21 -0
  978. package/ai/kit/pattern/svelte/pt-snippet-and-render.xml +17 -0
  979. package/ai/kit/pattern/svelte/pt-svelte-test-effect-root-for-runes.xml +30 -0
  980. package/ai/kit/pattern/svelte/pt-svelte-test-render-and-assert.xml +22 -0
  981. package/ai/kit/pattern/svelte/pt-svelte-test-user-interaction-with-flush.xml +28 -0
  982. package/ai/kit/pattern/testing/pt-async-retry-with-brief.xml +48 -0
  983. package/ai/kit/pattern/testing/pt-di-over-mock.xml +53 -0
  984. package/ai/kit/pattern/testing/pt-direct-scalar-case.xml +20 -0
  985. package/ai/kit/pattern/testing/pt-error-path-with-assert-rejects.xml +35 -0
  986. package/ai/kit/pattern/testing/pt-fixture-and-observe-aggregation.xml +43 -0
  987. package/ai/kit/pattern/testing/pt-lifecycle-context-with-cleanup.xml +48 -0
  988. package/ai/kit/pattern/testing/pt-mock-fn-interaction-contract.xml +40 -0
  989. package/ai/kit/pattern/testing/pt-unified-factory-context.xml +58 -0
  990. package/ai/kit/pattern/typescript/pt-async-operation-with-timing.xml +40 -0
  991. package/ai/kit/pattern/typescript/pt-direct-implementation-with-log-and-error.xml +48 -0
  992. package/ai/kit/pattern/typescript/pt-expressive-terseness.xml +11 -0
  993. package/ai/kit/pattern/typescript/pt-module-and-data-type.xml +20 -0
  994. package/ai/kit/pattern/typescript/pt-service-contract-interface.xml +28 -0
  995. package/ai/kit/pattern/typescript/pt-type-narrowing-and-modern-operators.xml +36 -0
  996. package/ai/kit/pattern/uikit/pt-module-css-template.xml +26 -0
  997. package/ai/kit/pattern/uikit/pt-tokens-css-template.xml +17 -0
  998. package/ai/kit/render.ts +87 -0
  999. package/ai/kit/templates/coding/result-conventions.hbs +37 -0
  1000. package/ai/kit/templates/coding/result-conventions.xml +37 -0
  1001. package/ai/kit/templates/sdd-v2/agent-inbox/code-lens.directive.hbs +109 -0
  1002. package/ai/kit/templates/sdd-v2/agent-inbox/enrich.directive.hbs +203 -0
  1003. package/ai/kit/templates/sdd-v2/agent-inbox/security-lens.directive.hbs +161 -0
  1004. package/ai/kit/templates/sdd-v2/agent-inbox/synthesize.directive.hbs +114 -0
  1005. package/ai/kit/templates/sdd-v2/agent-inbox/track-review.directive.hbs +442 -0
  1006. package/ai/kit/templates/sdd-v2/amplify-nfr.directive.hbs +73 -0
  1007. package/ai/kit/templates/sdd-v2/amplify-observability.directive.hbs +73 -0
  1008. package/ai/kit/templates/sdd-v2/amplify-security.directive.hbs +70 -0
  1009. package/ai/kit/templates/sdd-v2/amplify-storage.directive.hbs +71 -0
  1010. package/ai/kit/templates/sdd-v2/audit.directive.hbs +241 -0
  1011. package/ai/kit/templates/sdd-v2/code-review.directive.hbs +90 -0
  1012. package/ai/kit/templates/sdd-v2/compression.directive.hbs +113 -0
  1013. package/ai/kit/templates/sdd-v2/critic-protocol.directive.hbs +93 -0
  1014. package/ai/kit/templates/sdd-v2/critic.directive.hbs +103 -0
  1015. package/ai/kit/templates/sdd-v2/discover-from-code.directive.hbs +115 -0
  1016. package/ai/kit/templates/sdd-v2/execute.directive.hbs +186 -0
  1017. package/ai/kit/templates/sdd-v2/formats/audit-round.hbs +1 -0
  1018. package/ai/kit/templates/sdd-v2/formats/change-manifest.hbs +1 -0
  1019. package/ai/kit/templates/sdd-v2/formats/dbc-contracts.hbs +3 -0
  1020. package/ai/kit/templates/sdd-v2/formats/diagram-vocabulary.hbs +181 -0
  1021. package/ai/kit/templates/sdd-v2/formats/entity-inventory-format.hbs +1 -0
  1022. package/ai/kit/templates/sdd-v2/formats/entity-surface-format.hbs +1 -0
  1023. package/ai/kit/templates/sdd-v2/formats/infra-base-minimal-spec.hbs +1 -0
  1024. package/ai/kit/templates/sdd-v2/formats/infrastructure-spec-structure.hbs +1 -0
  1025. package/ai/kit/templates/sdd-v2/formats/interface-spec-structure.hbs +1 -0
  1026. package/ai/kit/templates/sdd-v2/formats/library-spec-structure.hbs +1 -0
  1027. package/ai/kit/templates/sdd-v2/formats/module-map-update.hbs +1 -0
  1028. package/ai/kit/templates/sdd-v2/formats/module-spec-structure.hbs +1 -0
  1029. package/ai/kit/templates/sdd-v2/formats/module-tasks-index.hbs +1 -0
  1030. package/ai/kit/templates/sdd-v2/formats/nfr-budgets-format.hbs +1 -0
  1031. package/ai/kit/templates/sdd-v2/formats/pivot-formats.hbs +3 -0
  1032. package/ai/kit/templates/sdd-v2/formats/portal-structure.hbs +1 -0
  1033. package/ai/kit/templates/sdd-v2/formats/product-spec-structure.hbs +1 -0
  1034. package/ai/kit/templates/sdd-v2/formats/project-tasks-index.hbs +1 -0
  1035. package/ai/kit/templates/sdd-v2/formats/scope-tasks-index.hbs +1 -0
  1036. package/ai/kit/templates/sdd-v2/formats/security-section-format.hbs +1 -0
  1037. package/ai/kit/templates/sdd-v2/formats/task-ticket-structure.hbs +1 -0
  1038. package/ai/kit/templates/sdd-v2/infra.directive.hbs +180 -0
  1039. package/ai/kit/templates/sdd-v2/interface.directive.hbs +154 -0
  1040. package/ai/kit/templates/sdd-v2/interview-protocol.directive.hbs +254 -0
  1041. package/ai/kit/templates/sdd-v2/migration-v1-v2.directive.hbs +301 -0
  1042. package/ai/kit/templates/sdd-v2/module.directive.hbs +247 -0
  1043. package/ai/kit/templates/sdd-v2/phase-execution-protocol.directive.hbs +202 -0
  1044. package/ai/kit/templates/sdd-v2/readiness.directive.hbs +143 -0
  1045. package/ai/kit/templates/sdd-v2/reconcile.directive.hbs +183 -0
  1046. package/ai/kit/templates/sdd-v2/recover-from-code.directive.hbs +153 -0
  1047. package/ai/kit/templates/sdd-v2/review-lifecycle.directive.hbs +70 -0
  1048. package/ai/kit/templates/sdd-v2/root.directive.hbs +133 -0
  1049. package/ai/kit/templates/sdd-v2/router.directive.hbs +179 -0
  1050. package/ai/kit/templates/sdd-v2/scaffold.directive.hbs +227 -0
  1051. package/ai/kit/templates/sdd-v2/scope.directive.hbs +236 -0
  1052. package/ai/skills/README.md +133 -0
  1053. package/ai/skills/agent-inbox/SKILL.md +48 -0
  1054. package/ai/skills/opencode-get-session/SKILL.md +149 -0
  1055. package/ai/skills/prd-interview/PRD_TEMPLATE.md +84 -0
  1056. package/ai/skills/prd-interview/SKILL.md +133 -0
  1057. package/ai/skills/sdd/SKILL.md +30 -0
  1058. package/ai/skills/sdd-audit/SKILL.md +2 -2
  1059. package/ai/skills/sdd-check/SKILL.md +21 -134
  1060. package/ai/skills/sdd-code-review/SKILL.md +27 -0
  1061. package/ai/skills/sdd-critic/SKILL.md +26 -5
  1062. package/ai/skills/sdd-execute/SKILL.md +29 -200
  1063. package/ai/skills/sdd-reconcile/SKILL.md +32 -0
  1064. package/ai/skills/sdd-scaffold/SKILL.md +34 -6
  1065. package/ai/skills/workspace-permission-setup/SKILL.md +194 -0
  1066. package/cli/cmd/README.md +234 -0
  1067. package/dist/ai/directives/agent-inbox/arch-interrogation.directive.xml +387 -0
  1068. package/dist/ai/directives/agent-inbox/change-interrogation.directive.xml +107 -0
  1069. package/dist/ai/directives/agent-inbox/code-interrogation.directive.xml +54 -0
  1070. package/dist/ai/directives/agent-inbox/contract-interrogation.directive.xml +93 -0
  1071. package/dist/ai/directives/agent-inbox/golden-chat-output.example.md +176 -0
  1072. package/dist/ai/directives/agent-inbox/inbox-flow.directive.xml +588 -0
  1073. package/dist/ai/directives/agent-inbox/posting-rules.directive.xml +260 -0
  1074. package/dist/ai/directives/agent-inbox/security-interrogation.directive.xml +108 -0
  1075. package/dist/ai/directives/agent-inbox/update-review.directive.xml +136 -0
  1076. package/dist/ai/directives/agent-inbox/visual-vocabulary.directive.xml +188 -0
  1077. package/dist/ai/directives/coding/result-conventions.xml +4 -4
  1078. package/dist/ai/directives/coding/svelte5-runes.xml +30 -30
  1079. package/dist/ai/directives/coding/sveltekit-rules.xml +27 -27
  1080. package/dist/ai/directives/coding/typescript-rules.xml +50 -50
  1081. package/dist/ai/directives/coding/uikit-component-storybook.xml +32 -32
  1082. package/dist/ai/directives/coding/uikit-component-svelte.xml +35 -35
  1083. package/dist/ai/directives/coding/uikit-spec-drafting.xml +22 -22
  1084. package/dist/ai/directives/infra/eslint-setup.xml +29 -29
  1085. package/dist/ai/directives/infra/git-setup.xml +25 -25
  1086. package/dist/ai/directives/infra/nodejs-npm-setup.xml +36 -36
  1087. package/dist/ai/directives/infra/storybook-setup.xml +22 -22
  1088. package/dist/ai/directives/knowledge.xml +0 -46
  1089. package/dist/ai/directives/sdd-v2/agent-inbox/code-lens.directive.xml +108 -0
  1090. package/dist/ai/directives/sdd-v2/agent-inbox/enrich.directive.xml +222 -0
  1091. package/dist/ai/directives/sdd-v2/agent-inbox/security-lens.directive.xml +161 -0
  1092. package/dist/ai/directives/sdd-v2/agent-inbox/synthesize.directive.xml +113 -0
  1093. package/dist/ai/directives/sdd-v2/agent-inbox/track-review.directive.xml +439 -0
  1094. package/dist/ai/directives/sdd-v2/amplify-nfr.directive.xml +93 -0
  1095. package/dist/ai/directives/sdd-v2/amplify-observability.directive.xml +98 -0
  1096. package/dist/ai/directives/sdd-v2/amplify-security.directive.xml +104 -0
  1097. package/dist/ai/directives/sdd-v2/amplify-storage.directive.xml +95 -0
  1098. package/dist/ai/directives/sdd-v2/audit.directive.xml +473 -0
  1099. package/dist/ai/directives/sdd-v2/code-review.directive.xml +260 -0
  1100. package/dist/ai/directives/sdd-v2/compression.directive.xml +214 -0
  1101. package/dist/ai/directives/sdd-v2/critic-protocol.directive.xml +210 -0
  1102. package/dist/ai/directives/sdd-v2/critic.directive.xml +210 -0
  1103. package/dist/ai/directives/sdd-v2/discover-from-code.directive.xml +173 -0
  1104. package/dist/ai/directives/sdd-v2/execute.directive.xml +337 -0
  1105. package/dist/ai/directives/sdd-v2/formats/audit-round.xml +37 -0
  1106. package/dist/ai/directives/sdd-v2/formats/change-manifest.xml +30 -0
  1107. package/dist/ai/directives/sdd-v2/formats/dbc-contracts.xml +59 -0
  1108. package/dist/ai/directives/sdd-v2/formats/diagram-vocabulary.xml +181 -0
  1109. package/dist/ai/directives/sdd-v2/formats/entity-inventory-format.xml +17 -0
  1110. package/dist/ai/directives/sdd-v2/formats/entity-surface-format.xml +24 -0
  1111. package/dist/ai/directives/sdd-v2/formats/infra-base-minimal-spec.xml +22 -0
  1112. package/dist/ai/directives/sdd-v2/formats/infrastructure-spec-structure.xml +121 -0
  1113. package/dist/ai/directives/sdd-v2/formats/interface-spec-structure.xml +91 -0
  1114. package/dist/ai/directives/sdd-v2/formats/library-spec-structure.xml +100 -0
  1115. package/dist/ai/directives/sdd-v2/formats/module-map-update.xml +33 -0
  1116. package/dist/ai/directives/sdd-v2/formats/module-spec-structure.xml +150 -0
  1117. package/dist/ai/directives/sdd-v2/formats/module-tasks-index.xml +30 -0
  1118. package/dist/ai/directives/sdd-v2/formats/nfr-budgets-format.xml +21 -0
  1119. package/dist/ai/directives/sdd-v2/formats/pivot-formats.xml +27 -0
  1120. package/dist/ai/directives/sdd-v2/formats/portal-structure.xml +29 -0
  1121. package/dist/ai/directives/sdd-v2/formats/product-spec-structure.xml +109 -0
  1122. package/dist/ai/directives/sdd-v2/formats/project-tasks-index.xml +36 -0
  1123. package/dist/ai/directives/sdd-v2/formats/scope-tasks-index.xml +35 -0
  1124. package/dist/ai/directives/sdd-v2/formats/security-section-format.xml +26 -0
  1125. package/dist/ai/directives/sdd-v2/formats/task-ticket-structure.xml +125 -0
  1126. package/dist/ai/directives/sdd-v2/guides/project-setup.md +41 -0
  1127. package/dist/ai/directives/sdd-v2/guides/v1-to-v2-migration.md +104 -0
  1128. package/dist/ai/directives/sdd-v2/infra.directive.xml +331 -0
  1129. package/dist/ai/directives/sdd-v2/interface.directive.xml +277 -0
  1130. package/dist/ai/directives/sdd-v2/interview-protocol.directive.xml +284 -0
  1131. package/dist/ai/directives/sdd-v2/migration-v1-v2.directive.xml +472 -0
  1132. package/dist/ai/directives/sdd-v2/module.directive.xml +462 -0
  1133. package/dist/ai/directives/sdd-v2/phase-execution-protocol.directive.xml +460 -0
  1134. package/dist/ai/directives/sdd-v2/readiness.directive.xml +303 -0
  1135. package/dist/ai/directives/sdd-v2/reconcile.directive.xml +405 -0
  1136. package/dist/ai/directives/sdd-v2/recover-from-code.directive.xml +174 -0
  1137. package/dist/ai/directives/sdd-v2/review-lifecycle.directive.xml +108 -0
  1138. package/dist/ai/directives/sdd-v2/root.directive.xml +217 -0
  1139. package/dist/ai/directives/sdd-v2/router.directive.xml +384 -0
  1140. package/dist/ai/directives/sdd-v2/scaffold.directive.xml +513 -0
  1141. package/dist/ai/directives/sdd-v2/scope.directive.xml +421 -0
  1142. package/dist/ai/directives/testing/common.xml +42 -7
  1143. package/dist/ai/directives/testing/node-test.xml +33 -23
  1144. package/dist/ai/directives/testing/playwright-cli.xml +29 -29
  1145. package/dist/ai/directives/testing/playwright-e2e.xml +29 -29
  1146. package/dist/ai/directives/testing/storybook-usage.xml +27 -27
  1147. package/dist/ai/directives/testing/svelte-testing.xml +27 -27
  1148. package/dist/ai/directives/testing/vitest-rules.xml +25 -25
  1149. package/dist/ai/flow-sim/PROTOCOL.md +159 -0
  1150. package/dist/ai/flow-sim/README.md +39 -0
  1151. package/dist/ai/flow-sim/scenarios/S1-route-new-scope.md +107 -0
  1152. package/dist/ai/flow-sim/scenarios/S10-multi-scope-route.md +213 -0
  1153. package/dist/ai/flow-sim/scenarios/S11-migration-full.md +501 -0
  1154. package/dist/ai/flow-sim/scenarios/S2-preflight-migration.md +129 -0
  1155. package/dist/ai/flow-sim/scenarios/S3-preflight-carveout.md +141 -0
  1156. package/dist/ai/flow-sim/scenarios/S4-discover.md +112 -0
  1157. package/dist/ai/flow-sim/scenarios/S5-recover.md +154 -0
  1158. package/dist/ai/flow-sim/scenarios/S6-scaffold-ticket.md +283 -0
  1159. package/dist/ai/flow-sim/scenarios/S7-execute-lifecycle.md +750 -0
  1160. package/dist/ai/flow-sim/scenarios/S8-reconcile-trivial.md +696 -0
  1161. package/dist/ai/flow-sim/scenarios/S9-reconcile-from-code.md +669 -0
  1162. package/dist/ai/inspector/README.md +40 -0
  1163. package/dist/ai/inspector/core/__tests__/parse-directive.test.ts +155 -0
  1164. package/dist/ai/inspector/core/__tests__/parse-skill.test.ts +80 -0
  1165. package/dist/ai/inspector/core/model.ts +37 -0
  1166. package/dist/ai/inspector/core/parse-directive.ts +181 -0
  1167. package/dist/ai/inspector/core/parse-skill.ts +89 -0
  1168. package/dist/ai/inspector/core/resolve.ts +53 -0
  1169. package/dist/ai/inspector/core/scan.ts +109 -0
  1170. package/dist/ai/inspector/e2e/inspector.spec.ts +117 -0
  1171. package/dist/ai/inspector/generate.ts +154 -0
  1172. package/dist/ai/inspector/playwright.config.ts +20 -0
  1173. package/dist/ai/inspector/serve.ts +30 -0
  1174. package/dist/ai/inspector/web/__tests__/debug.test.ts +173 -0
  1175. package/dist/ai/inspector/web/__tests__/markdown.test.ts +185 -0
  1176. package/dist/ai/inspector/web/app.js +324 -0
  1177. package/dist/ai/inspector/web/debug.js +202 -0
  1178. package/dist/ai/inspector/web/index.html +38 -0
  1179. package/dist/ai/inspector/web/markdown.js +85 -0
  1180. package/dist/ai/inspector/web/styles.css +569 -0
  1181. package/dist/ai/kit/AUTHORING.md +121 -0
  1182. package/dist/ai/kit/__tests__/deps.test.ts +61 -0
  1183. package/dist/ai/kit/__tests__/lint-axioms.test.ts +192 -0
  1184. package/dist/ai/kit/__tests__/render.test.ts +192 -0
  1185. package/dist/ai/kit/__tests__/skeleton-parity.test.ts +50 -0
  1186. package/dist/ai/kit/anti-pattern/coding/AP_FALSE_PRIVATE_AND_ENUM.xml +27 -0
  1187. package/dist/ai/kit/anti-pattern/coding/AP_OVEREDIT.xml +2 -0
  1188. package/dist/ai/kit/anti-pattern/coding/ap-builtin-without-prefix.xml +6 -0
  1189. package/dist/ai/kit/anti-pattern/coding/ap-false-private-and-enum.xml +27 -0
  1190. package/dist/ai/kit/anti-pattern/coding/ap-mixed-module-system.xml +6 -0
  1191. package/dist/ai/kit/anti-pattern/coding/ap-overedit.xml +2 -0
  1192. package/dist/ai/kit/anti-pattern/coding/ap-redundant-jsdoc-duplication.xml +19 -0
  1193. package/dist/ai/kit/anti-pattern/critic/AP_CERTAINTY.xml +2 -0
  1194. package/dist/ai/kit/anti-pattern/critic/AP_CREEP.xml +2 -0
  1195. package/dist/ai/kit/anti-pattern/critic/AP_DISMISS_CONFUSION.xml +2 -0
  1196. package/dist/ai/kit/anti-pattern/critic/AP_EDIT.xml +2 -0
  1197. package/dist/ai/kit/anti-pattern/critic/AP_FORMAT_BIAS.xml +2 -0
  1198. package/dist/ai/kit/anti-pattern/critic/AP_INTERNAL_PARANOIA.xml +2 -0
  1199. package/dist/ai/kit/anti-pattern/critic/AP_NITPICK.xml +2 -0
  1200. package/dist/ai/kit/anti-pattern/critic/AP_REUSE_BLIND.xml +2 -0
  1201. package/dist/ai/kit/anti-pattern/critic/AP_SELF_CRITIQUE.xml +2 -0
  1202. package/dist/ai/kit/anti-pattern/critic/AP_SURFACE.xml +2 -0
  1203. package/dist/ai/kit/anti-pattern/critic/ap-certainty.xml +2 -0
  1204. package/dist/ai/kit/anti-pattern/critic/ap-creep.xml +2 -0
  1205. package/dist/ai/kit/anti-pattern/critic/ap-dismiss-confusion.xml +2 -0
  1206. package/dist/ai/kit/anti-pattern/critic/ap-edit.xml +2 -0
  1207. package/dist/ai/kit/anti-pattern/critic/ap-format-bias.xml +2 -0
  1208. package/dist/ai/kit/anti-pattern/critic/ap-internal-paranoia.xml +2 -0
  1209. package/dist/ai/kit/anti-pattern/critic/ap-nitpick.xml +2 -0
  1210. package/dist/ai/kit/anti-pattern/critic/ap-reuse-blind.xml +2 -0
  1211. package/dist/ai/kit/anti-pattern/critic/ap-self-critique.xml +2 -0
  1212. package/dist/ai/kit/anti-pattern/critic/ap-surface.xml +2 -0
  1213. package/dist/ai/kit/anti-pattern/e2e/AP_CLI_AUTO_UPDATE_SNAPSHOTS.xml +6 -0
  1214. package/dist/ai/kit/anti-pattern/e2e/AP_CLI_CSS_XPATH_FROM_CODEGEN.xml +6 -0
  1215. package/dist/ai/kit/anti-pattern/e2e/AP_CLI_HEADED_FOR_AGENT.xml +6 -0
  1216. package/dist/ai/kit/anti-pattern/e2e/AP_CLI_SKIP_TRACE_ON_FAILURE.xml +6 -0
  1217. package/dist/ai/kit/anti-pattern/e2e/AP_CLI_WRITE_TEST_WITHOUT_AX_TREE.xml +6 -0
  1218. package/dist/ai/kit/anti-pattern/e2e/AP_E2E_CSS_LOCATOR.xml +6 -0
  1219. package/dist/ai/kit/anti-pattern/e2e/AP_E2E_FULL_PAGE_SNAPSHOT.xml +6 -0
  1220. package/dist/ai/kit/anti-pattern/e2e/AP_E2E_INLINE_LOGIN.xml +6 -0
  1221. package/dist/ai/kit/anti-pattern/e2e/AP_E2E_STANDALONE_POM.xml +6 -0
  1222. package/dist/ai/kit/anti-pattern/e2e/AP_E2E_UNMOCKED_NETWORK.xml +6 -0
  1223. package/dist/ai/kit/anti-pattern/e2e/ap-cli-auto-update-snapshots.xml +6 -0
  1224. package/dist/ai/kit/anti-pattern/e2e/ap-cli-css-xpath-from-codegen.xml +6 -0
  1225. package/dist/ai/kit/anti-pattern/e2e/ap-cli-headed-for-agent.xml +6 -0
  1226. package/dist/ai/kit/anti-pattern/e2e/ap-cli-skip-trace-on-failure.xml +6 -0
  1227. package/dist/ai/kit/anti-pattern/e2e/ap-cli-write-test-without-ax-tree.xml +6 -0
  1228. package/dist/ai/kit/anti-pattern/e2e/ap-e2e-css-locator.xml +6 -0
  1229. package/dist/ai/kit/anti-pattern/e2e/ap-e2e-full-page-snapshot.xml +6 -0
  1230. package/dist/ai/kit/anti-pattern/e2e/ap-e2e-inline-login.xml +6 -0
  1231. package/dist/ai/kit/anti-pattern/e2e/ap-e2e-standalone-pom.xml +6 -0
  1232. package/dist/ai/kit/anti-pattern/e2e/ap-e2e-unmocked-network.xml +6 -0
  1233. package/dist/ai/kit/anti-pattern/infra/AP_AGENT_DISABLE_COMMENT.xml +6 -0
  1234. package/dist/ai/kit/anti-pattern/infra/AP_FORCE_PUSH_TO_MAIN.xml +6 -0
  1235. package/dist/ai/kit/anti-pattern/infra/AP_FORMATTING_DUPLICATION.xml +6 -0
  1236. package/dist/ai/kit/anti-pattern/infra/AP_LIGHTWEIGHT_TAG.xml +6 -0
  1237. package/dist/ai/kit/anti-pattern/infra/AP_MULTIPLE_LOCK_FILES.xml +6 -0
  1238. package/dist/ai/kit/anti-pattern/infra/AP_NODE_MODULES_COMMITTED.xml +6 -0
  1239. package/dist/ai/kit/anti-pattern/infra/AP_NO_VERIFY_AS_HABIT.xml +6 -0
  1240. package/dist/ai/kit/anti-pattern/infra/AP_NVMRC_ENGINES_MISMATCH.xml +6 -0
  1241. package/dist/ai/kit/anti-pattern/infra/AP_NVMRC_RANGE.xml +6 -0
  1242. package/dist/ai/kit/anti-pattern/infra/AP_SECRET_IN_HISTORY.xml +6 -0
  1243. package/dist/ai/kit/anti-pattern/infra/AP_TYPE_AWARE_DUPLICATION.xml +6 -0
  1244. package/dist/ai/kit/anti-pattern/infra/AP_UNMOTIVATED_NON_AUTOFIX_RULE.xml +6 -0
  1245. package/dist/ai/kit/anti-pattern/infra/AP_WARN_LEVEL_USAGE.xml +6 -0
  1246. package/dist/ai/kit/anti-pattern/infra/ap-agent-disable-comment.xml +6 -0
  1247. package/dist/ai/kit/anti-pattern/infra/ap-force-push-to-main.xml +6 -0
  1248. package/dist/ai/kit/anti-pattern/infra/ap-formatting-duplication.xml +6 -0
  1249. package/dist/ai/kit/anti-pattern/infra/ap-lightweight-tag.xml +6 -0
  1250. package/dist/ai/kit/anti-pattern/infra/ap-multiple-lock-files.xml +6 -0
  1251. package/dist/ai/kit/anti-pattern/infra/ap-no-verify-as-habit.xml +6 -0
  1252. package/dist/ai/kit/anti-pattern/infra/ap-node-modules-committed.xml +6 -0
  1253. package/dist/ai/kit/anti-pattern/infra/ap-npmrc-absent.xml +6 -0
  1254. package/dist/ai/kit/anti-pattern/infra/ap-nvmrc-engines-mismatch.xml +6 -0
  1255. package/dist/ai/kit/anti-pattern/infra/ap-nvmrc-range.xml +6 -0
  1256. package/dist/ai/kit/anti-pattern/infra/ap-secret-in-history.xml +6 -0
  1257. package/dist/ai/kit/anti-pattern/infra/ap-tool-range-pin.xml +6 -0
  1258. package/dist/ai/kit/anti-pattern/infra/ap-type-aware-duplication.xml +6 -0
  1259. package/dist/ai/kit/anti-pattern/infra/ap-unmotivated-non-autofix-rule.xml +6 -0
  1260. package/dist/ai/kit/anti-pattern/infra/ap-warn-level-usage.xml +6 -0
  1261. package/dist/ai/kit/anti-pattern/logging/AP_BARE_CONSOLE_AND_LOST_CAUSE.xml +32 -0
  1262. package/dist/ai/kit/anti-pattern/logging/ap-bare-console-and-lost-cause.xml +32 -0
  1263. package/dist/ai/kit/anti-pattern/process/AP_NO_RE_DISPATCH.xml +2 -0
  1264. package/dist/ai/kit/anti-pattern/process/AP_SPIN.xml +2 -0
  1265. package/dist/ai/kit/anti-pattern/process/AP_VAGUE_REJECT.xml +2 -0
  1266. package/dist/ai/kit/anti-pattern/process/ap-no-re-dispatch.xml +2 -0
  1267. package/dist/ai/kit/anti-pattern/process/ap-spin.xml +2 -0
  1268. package/dist/ai/kit/anti-pattern/process/ap-vague-reject.xml +2 -0
  1269. package/dist/ai/kit/anti-pattern/spec/AP_ENTITY_SPRAWL.xml +2 -0
  1270. package/dist/ai/kit/anti-pattern/spec/ap-entity-sprawl.xml +2 -0
  1271. package/dist/ai/kit/anti-pattern/storybook/AP_ADHOC_HIERARCHY.xml +6 -0
  1272. package/dist/ai/kit/anti-pattern/storybook/AP_MISSING_PLAY.xml +6 -0
  1273. package/dist/ai/kit/anti-pattern/storybook/AP_MULTIPLE_CONCEPTS_ONE_STORY.xml +6 -0
  1274. package/dist/ai/kit/anti-pattern/storybook/AP_RESTATED_ARGS.xml +6 -0
  1275. package/dist/ai/kit/anti-pattern/storybook/AP_SB_AGENTS_MD_SKIPPED.xml +6 -0
  1276. package/dist/ai/kit/anti-pattern/storybook/AP_SB_HALLUCINATED_PROPS.xml +6 -0
  1277. package/dist/ai/kit/anti-pattern/storybook/AP_SB_MANUAL_SCAFFOLD_BEFORE_INIT.xml +6 -0
  1278. package/dist/ai/kit/anti-pattern/storybook/AP_SB_MISSING_AI_TAG.xml +6 -0
  1279. package/dist/ai/kit/anti-pattern/storybook/AP_SB_MISSING_PLAY_ON_INTERACTION.xml +6 -0
  1280. package/dist/ai/kit/anti-pattern/storybook/AP_SB_NO_MCP_INTEGRATION.xml +6 -0
  1281. package/dist/ai/kit/anti-pattern/storybook/AP_SB_REWRITE_INSTEAD_OF_COMPOSE.xml +6 -0
  1282. package/dist/ai/kit/anti-pattern/storybook/AP_SB_SKIP_SELF_VERIFY.xml +6 -0
  1283. package/dist/ai/kit/anti-pattern/storybook/AP_SB_VERIFY_SKIPPED.xml +6 -0
  1284. package/dist/ai/kit/anti-pattern/storybook/ap-adhoc-hierarchy.xml +6 -0
  1285. package/dist/ai/kit/anti-pattern/storybook/ap-missing-play.xml +6 -0
  1286. package/dist/ai/kit/anti-pattern/storybook/ap-multiple-concepts-one-story.xml +6 -0
  1287. package/dist/ai/kit/anti-pattern/storybook/ap-restated-args.xml +6 -0
  1288. package/dist/ai/kit/anti-pattern/storybook/ap-sb-agents-md-skipped.xml +6 -0
  1289. package/dist/ai/kit/anti-pattern/storybook/ap-sb-hallucinated-props.xml +6 -0
  1290. package/dist/ai/kit/anti-pattern/storybook/ap-sb-manual-scaffold-before-init.xml +6 -0
  1291. package/dist/ai/kit/anti-pattern/storybook/ap-sb-missing-ai-tag.xml +6 -0
  1292. package/dist/ai/kit/anti-pattern/storybook/ap-sb-missing-play-on-interaction.xml +6 -0
  1293. package/dist/ai/kit/anti-pattern/storybook/ap-sb-no-mcp-integration.xml +6 -0
  1294. package/dist/ai/kit/anti-pattern/storybook/ap-sb-rewrite-instead-of-compose.xml +6 -0
  1295. package/dist/ai/kit/anti-pattern/storybook/ap-sb-skip-self-verify.xml +6 -0
  1296. package/dist/ai/kit/anti-pattern/storybook/ap-sb-verify-skipped.xml +6 -0
  1297. package/dist/ai/kit/anti-pattern/svelte/AP_DERIVED_WITH_SIDE_EFFECT.xml +6 -0
  1298. package/dist/ai/kit/anti-pattern/svelte/AP_EFFECT_WITHOUT_TEARDOWN.xml +6 -0
  1299. package/dist/ai/kit/anti-pattern/svelte/AP_EXPORT_LET_LEGACY.xml +6 -0
  1300. package/dist/ai/kit/anti-pattern/svelte/AP_ON_EVENT_DIRECTIVE.xml +6 -0
  1301. package/dist/ai/kit/anti-pattern/svelte/AP_REACTIVE_DOLLAR_COLON.xml +6 -0
  1302. package/dist/ai/kit/anti-pattern/svelte/AP_RUNES_IN_PLAIN_TS.xml +6 -0
  1303. package/dist/ai/kit/anti-pattern/svelte/AP_SK_COMPONENT_FETCH_FOR_INITIAL_DATA.xml +6 -0
  1304. package/dist/ai/kit/anti-pattern/svelte/AP_SK_GLOBAL_FETCH_IN_LOAD.xml +6 -0
  1305. package/dist/ai/kit/anti-pattern/svelte/AP_SK_PAGE_OPTIONS_GLOBALIZED.xml +6 -0
  1306. package/dist/ai/kit/anti-pattern/svelte/AP_SK_PRIVATE_ENV_IN_CLIENT.xml +6 -0
  1307. package/dist/ai/kit/anti-pattern/svelte/AP_SK_THROW_INSTEAD_OF_FAIL.xml +6 -0
  1308. package/dist/ai/kit/anti-pattern/svelte/AP_SVELTE_TEST_DIRECT_QUERYSELECTOR.xml +6 -0
  1309. package/dist/ai/kit/anti-pattern/svelte/AP_SVELTE_TEST_NO_CLEANUP.xml +6 -0
  1310. package/dist/ai/kit/anti-pattern/svelte/AP_SVELTE_TEST_NO_EFFECT_ROOT.xml +6 -0
  1311. package/dist/ai/kit/anti-pattern/svelte/AP_SVELTE_TEST_NO_FLUSH.xml +6 -0
  1312. package/dist/ai/kit/anti-pattern/svelte/AP_SVELTE_TEST_PLAIN_TS_EXTENSION.xml +6 -0
  1313. package/dist/ai/kit/anti-pattern/svelte/ap-derived-with-side-effect.xml +6 -0
  1314. package/dist/ai/kit/anti-pattern/svelte/ap-effect-without-teardown.xml +6 -0
  1315. package/dist/ai/kit/anti-pattern/svelte/ap-export-let-legacy.xml +6 -0
  1316. package/dist/ai/kit/anti-pattern/svelte/ap-on-event-directive.xml +6 -0
  1317. package/dist/ai/kit/anti-pattern/svelte/ap-reactive-dollar-colon.xml +6 -0
  1318. package/dist/ai/kit/anti-pattern/svelte/ap-runes-in-plain-ts.xml +6 -0
  1319. package/dist/ai/kit/anti-pattern/svelte/ap-sk-component-fetch-for-initial-data.xml +6 -0
  1320. package/dist/ai/kit/anti-pattern/svelte/ap-sk-global-fetch-in-load.xml +6 -0
  1321. package/dist/ai/kit/anti-pattern/svelte/ap-sk-page-options-globalized.xml +6 -0
  1322. package/dist/ai/kit/anti-pattern/svelte/ap-sk-private-env-in-client.xml +6 -0
  1323. package/dist/ai/kit/anti-pattern/svelte/ap-sk-throw-instead-of-fail.xml +6 -0
  1324. package/dist/ai/kit/anti-pattern/svelte/ap-svelte-test-direct-queryselector.xml +6 -0
  1325. package/dist/ai/kit/anti-pattern/svelte/ap-svelte-test-no-cleanup.xml +6 -0
  1326. package/dist/ai/kit/anti-pattern/svelte/ap-svelte-test-no-effect-root.xml +6 -0
  1327. package/dist/ai/kit/anti-pattern/svelte/ap-svelte-test-no-flush.xml +6 -0
  1328. package/dist/ai/kit/anti-pattern/svelte/ap-svelte-test-plain-ts-extension.xml +6 -0
  1329. package/dist/ai/kit/anti-pattern/testing/AP_ATOMIC_NOISE_ANCHORS.xml +20 -0
  1330. package/dist/ai/kit/anti-pattern/testing/AP_BEFORE_EACH_LET_PILEUP.xml +6 -0
  1331. package/dist/ai/kit/anti-pattern/testing/AP_CONTAINS_ON_ERROR_AND_PRIVATE_INSPECTION.xml +6 -0
  1332. package/dist/ai/kit/anti-pattern/testing/AP_DUPLICATE_BDD_GROUP.xml +6 -0
  1333. package/dist/ai/kit/anti-pattern/testing/AP_LEAKED_LIFECYCLE_AND_GLOBAL_RELIANCE.xml +6 -0
  1334. package/dist/ai/kit/anti-pattern/testing/AP_PARALLEL_FACTORIES.xml +6 -0
  1335. package/dist/ai/kit/anti-pattern/testing/AP_PRIVATE_INSPECTION.xml +6 -0
  1336. package/dist/ai/kit/anti-pattern/testing/AP_SHARED_MUTABLE_STATE_AND_NON_ENGLISH_NARRATION.xml +6 -0
  1337. package/dist/ai/kit/anti-pattern/testing/AP_SKIP_INSTEAD_OF_FIX.xml +6 -0
  1338. package/dist/ai/kit/anti-pattern/testing/AP_SNAPSHOT_FOR_SCALAR.xml +6 -0
  1339. package/dist/ai/kit/anti-pattern/testing/AP_TRY_CATCH_FLAG_ANTIPATTERN.xml +6 -0
  1340. package/dist/ai/kit/anti-pattern/testing/AP_UNJUSTIFIED_VI_MOCK.xml +6 -0
  1341. package/dist/ai/kit/anti-pattern/testing/ap-atomic-noise-anchors.xml +20 -0
  1342. package/dist/ai/kit/anti-pattern/testing/ap-before-each-let-pileup.xml +6 -0
  1343. package/dist/ai/kit/anti-pattern/testing/ap-contains-on-error-and-private-inspection.xml +6 -0
  1344. package/dist/ai/kit/anti-pattern/testing/ap-duplicate-bdd-group.xml +6 -0
  1345. package/dist/ai/kit/anti-pattern/testing/ap-leaked-lifecycle-and-global-reliance.xml +6 -0
  1346. package/dist/ai/kit/anti-pattern/testing/ap-parallel-factories.xml +6 -0
  1347. package/dist/ai/kit/anti-pattern/testing/ap-private-inspection.xml +6 -0
  1348. package/dist/ai/kit/anti-pattern/testing/ap-shared-mutable-state-and-non-english-narration.xml +6 -0
  1349. package/dist/ai/kit/anti-pattern/testing/ap-skip-instead-of-fix.xml +6 -0
  1350. package/dist/ai/kit/anti-pattern/testing/ap-snapshot-for-scalar.xml +6 -0
  1351. package/dist/ai/kit/anti-pattern/testing/ap-try-catch-flag-antipattern.xml +6 -0
  1352. package/dist/ai/kit/anti-pattern/testing/ap-unjustified-vi-mock.xml +6 -0
  1353. package/dist/ai/kit/anti-pattern/uikit/AP_DROPPED_VARIANTS.xml +6 -0
  1354. package/dist/ai/kit/anti-pattern/uikit/AP_FABRICATED_MEASUREMENTS.xml +6 -0
  1355. package/dist/ai/kit/anti-pattern/uikit/AP_HARDCODED_PIXELS.xml +6 -0
  1356. package/dist/ai/kit/anti-pattern/uikit/AP_HOST_SELECTOR.xml +6 -0
  1357. package/dist/ai/kit/anti-pattern/uikit/AP_IMG_TAG_ICON.xml +6 -0
  1358. package/dist/ai/kit/anti-pattern/uikit/AP_MISSING_A11Y_AUDIT.xml +6 -0
  1359. package/dist/ai/kit/anti-pattern/uikit/AP_MISSING_ARIA.xml +6 -0
  1360. package/dist/ai/kit/anti-pattern/uikit/AP_MISSING_DATA_STATE.xml +6 -0
  1361. package/dist/ai/kit/anti-pattern/uikit/AP_OVERRIDE_WITHOUT_COMMENT.xml +6 -0
  1362. package/dist/ai/kit/anti-pattern/uikit/AP_PASCAL_CASE_FILENAME.xml +6 -0
  1363. package/dist/ai/kit/anti-pattern/uikit/AP_SILENT_MISSING_TOKEN.xml +6 -0
  1364. package/dist/ai/kit/anti-pattern/uikit/ap-dropped-variants.xml +6 -0
  1365. package/dist/ai/kit/anti-pattern/uikit/ap-fabricated-measurements.xml +6 -0
  1366. package/dist/ai/kit/anti-pattern/uikit/ap-hardcoded-pixels.xml +6 -0
  1367. package/dist/ai/kit/anti-pattern/uikit/ap-host-selector.xml +6 -0
  1368. package/dist/ai/kit/anti-pattern/uikit/ap-img-tag-icon.xml +6 -0
  1369. package/dist/ai/kit/anti-pattern/uikit/ap-missing-a11y-audit.xml +6 -0
  1370. package/dist/ai/kit/anti-pattern/uikit/ap-missing-aria.xml +6 -0
  1371. package/dist/ai/kit/anti-pattern/uikit/ap-missing-data-state.xml +6 -0
  1372. package/dist/ai/kit/anti-pattern/uikit/ap-override-without-comment.xml +6 -0
  1373. package/dist/ai/kit/anti-pattern/uikit/ap-pascal-case-filename.xml +6 -0
  1374. package/dist/ai/kit/anti-pattern/uikit/ap-silent-missing-token.xml +6 -0
  1375. package/dist/ai/kit/axiom/agent-inbox/ax-complexity-budget.xml +9 -0
  1376. package/dist/ai/kit/axiom/agent-inbox/ax-minimal-change-suspicion.xml +9 -0
  1377. package/dist/ai/kit/axiom/agent-inbox/ax-review-purpose.xml +10 -0
  1378. package/dist/ai/kit/axiom/agent-inbox/ax-simpler-alternative.xml +9 -0
  1379. package/dist/ai/kit/axiom/audit/ax-audit-modes.xml +6 -0
  1380. package/dist/ai/kit/axiom/audit/ax-audit-reads-code.xml +11 -0
  1381. package/dist/ai/kit/axiom/audit/ax-bdd-coverage-verification.xml +8 -0
  1382. package/dist/ai/kit/axiom/audit/ax-closed-world-primary-check.xml +4 -0
  1383. package/dist/ai/kit/axiom/audit/ax-completeness-check.xml +6 -0
  1384. package/dist/ai/kit/axiom/audit/ax-drift-taxonomy.xml +21 -0
  1385. package/dist/ai/kit/axiom/audit/ax-ephemeral-output.xml +8 -0
  1386. package/dist/ai/kit/axiom/audit/ax-execution-log-verification.xml +6 -0
  1387. package/dist/ai/kit/axiom/audit/ax-finding-routing.xml +22 -0
  1388. package/dist/ai/kit/axiom/audit/ax-findings-as-proposals.xml +7 -0
  1389. package/dist/ai/kit/axiom/audit/ax-git-diff-scan.xml +11 -0
  1390. package/dist/ai/kit/axiom/audit/ax-insight-backflow-capture.xml +10 -0
  1391. package/dist/ai/kit/axiom/audit/ax-learning-context.xml +2 -0
  1392. package/dist/ai/kit/axiom/audit/ax-mechanical-via-sdd-check.xml +9 -0
  1393. package/dist/ai/kit/axiom/audit/ax-neutral-findings.xml +4 -0
  1394. package/dist/ai/kit/axiom/audit/ax-no-auto-fix.xml +4 -0
  1395. package/dist/ai/kit/axiom/audit/ax-provenance-is-a-product.xml +2 -0
  1396. package/dist/ai/kit/axiom/audit/ax-reopen-rounds-in-ticket.xml +10 -0
  1397. package/dist/ai/kit/axiom/audit/ax-rules-cascade-verification.xml +17 -0
  1398. package/dist/ai/kit/axiom/audit/ax-rules-compliance-against-activated-rules.xml +22 -0
  1399. package/dist/ai/kit/axiom/audit/ax-runtime-backing-verification.xml +8 -0
  1400. package/dist/ai/kit/axiom/audit/ax-severity-tagging.xml +13 -0
  1401. package/dist/ai/kit/axiom/audit/ax-severity.xml +7 -0
  1402. package/dist/ai/kit/axiom/audit/ax-stale-after-pivot-verification.xml +12 -0
  1403. package/dist/ai/kit/axiom/audit/ax-task-id-integrity.xml +13 -0
  1404. package/dist/ai/kit/axiom/boundary/ax-bootstrap-narrow-read.xml +6 -0
  1405. package/dist/ai/kit/axiom/boundary/ax-closed-world-inventory.xml +4 -0
  1406. package/dist/ai/kit/axiom/boundary/ax-cross-scope-dependencies.xml +4 -0
  1407. package/dist/ai/kit/axiom/boundary/ax-entity-surface-completeness.xml +4 -0
  1408. package/dist/ai/kit/axiom/boundary/ax-guarded-result-boundary.xml +5 -0
  1409. package/dist/ai/kit/axiom/boundary/ax-isolation-signal.xml +2 -0
  1410. package/dist/ai/kit/axiom/boundary/ax-isolation-through-public-boundary.xml +4 -0
  1411. package/dist/ai/kit/axiom/boundary/ax-portal-read-only-with-placeholder-exception.xml +4 -0
  1412. package/dist/ai/kit/axiom/boundary/ax-reference-over-copy.xml +2 -0
  1413. package/dist/ai/kit/axiom/boundary/ax-result-public-boundary.xml +11 -0
  1414. package/dist/ai/kit/axiom/boundary/ax-scope-type-gate.xml +6 -0
  1415. package/dist/ai/kit/axiom/boundary/ax-semantic-location-over-lines.xml +2 -0
  1416. package/dist/ai/kit/axiom/boundary/ax-semantic-safety.xml +2 -0
  1417. package/dist/ai/kit/axiom/boundary/ax-spec-never-edited.xml +4 -0
  1418. package/dist/ai/kit/axiom/boundary/ax-ssot-traceability.xml +4 -0
  1419. package/dist/ai/kit/axiom/boundary/ax-ticket-write-scope.xml +9 -0
  1420. package/dist/ai/kit/axiom/coding/ax-ai-readability.xml +2 -0
  1421. package/dist/ai/kit/axiom/coding/ax-anchor-format.xml +6 -0
  1422. package/dist/ai/kit/axiom/coding/ax-comment-density.xml +4 -0
  1423. package/dist/ai/kit/axiom/coding/ax-comment-placement.xml +4 -0
  1424. package/dist/ai/kit/axiom/coding/ax-comment-vocabulary.xml +6 -0
  1425. package/dist/ai/kit/axiom/coding/ax-comments-add-nonsyntactic-intent.xml +4 -0
  1426. package/dist/ai/kit/axiom/coding/ax-configurable-names.xml +5 -0
  1427. package/dist/ai/kit/axiom/coding/ax-consumer-driven.xml +8 -0
  1428. package/dist/ai/kit/axiom/coding/ax-contractual-naming.xml +4 -0
  1429. package/dist/ai/kit/axiom/coding/ax-domain-prefix-for-external.xml +4 -0
  1430. package/dist/ai/kit/axiom/coding/ax-early-exit.xml +2 -0
  1431. package/dist/ai/kit/axiom/coding/ax-explicit-class-fields.xml +4 -0
  1432. package/dist/ai/kit/axiom/coding/ax-file-header-append-only.xml +10 -0
  1433. package/dist/ai/kit/axiom/coding/ax-file-header-task-traceability.xml +16 -0
  1434. package/dist/ai/kit/axiom/coding/ax-file-level-context.xml +13 -0
  1435. package/dist/ai/kit/axiom/coding/ax-import-canonical-form.xml +15 -0
  1436. package/dist/ai/kit/axiom/coding/ax-introduced-discipline.xml +4 -0
  1437. package/dist/ai/kit/axiom/coding/ax-modern-ts-density.xml +4 -0
  1438. package/dist/ai/kit/axiom/coding/ax-modularity-limits.xml +4 -0
  1439. package/dist/ai/kit/axiom/coding/ax-namespace-naming.xml +4 -0
  1440. package/dist/ai/kit/axiom/coding/ax-no-code-generation.xml +2 -0
  1441. package/dist/ai/kit/axiom/coding/ax-no-premature-abstractions.xml +4 -0
  1442. package/dist/ai/kit/axiom/coding/ax-no-silent-escape-hatch.xml +4 -0
  1443. package/dist/ai/kit/axiom/coding/ax-node-builtins-prefix.xml +10 -0
  1444. package/dist/ai/kit/axiom/coding/ax-principled-decomposition.xml +4 -0
  1445. package/dist/ai/kit/axiom/coding/ax-teleological-naming.xml +4 -0
  1446. package/dist/ai/kit/axiom/coding/ax-tools-as-hands.xml +12 -0
  1447. package/dist/ai/kit/axiom/coding/ax-verb-precision.xml +4 -0
  1448. package/dist/ai/kit/axiom/coding/ax-yagni-overengineering-guard.xml +4 -0
  1449. package/dist/ai/kit/axiom/critic/ax-comprehension-first.xml +2 -0
  1450. package/dist/ai/kit/axiom/critic/ax-confusion-bug.xml +2 -0
  1451. package/dist/ai/kit/axiom/critic/ax-critic-model-tier.xml +10 -0
  1452. package/dist/ai/kit/axiom/critic/ax-default-accept.xml +2 -0
  1453. package/dist/ai/kit/axiom/critic/ax-finding-addressee.xml +6 -0
  1454. package/dist/ai/kit/axiom/critic/ax-goal-owner-gate.xml +7 -0
  1455. package/dist/ai/kit/axiom/critic/ax-isolation.xml +2 -0
  1456. package/dist/ai/kit/axiom/critic/ax-polish-mode.xml +7 -0
  1457. package/dist/ai/kit/axiom/critic/ax-product-architect-lens.xml +13 -0
  1458. package/dist/ai/kit/axiom/critic/ax-read-only.xml +2 -0
  1459. package/dist/ai/kit/axiom/critic/ax-uncertainty-is-signal.xml +2 -0
  1460. package/dist/ai/kit/axiom/critic/ax-uncomfortable-questions.xml +12 -0
  1461. package/dist/ai/kit/axiom/e2e/ax-cli-ax-tree-as-primary-vision.xml +6 -0
  1462. package/dist/ai/kit/axiom/e2e/ax-cli-codegen-is-recorder-not-author.xml +4 -0
  1463. package/dist/ai/kit/axiom/e2e/ax-cli-dev-server-precondition.xml +4 -0
  1464. package/dist/ai/kit/axiom/e2e/ax-cli-explore-before-author.xml +6 -0
  1465. package/dist/ai/kit/axiom/e2e/ax-cli-explore-loop-has-four-steps.xml +10 -0
  1466. package/dist/ai/kit/axiom/e2e/ax-cli-headless-for-agent.xml +4 -0
  1467. package/dist/ai/kit/axiom/e2e/ax-cli-role-locators-from-ax-tree.xml +4 -0
  1468. package/dist/ai/kit/axiom/e2e/ax-cli-snapshot-update-gate.xml +6 -0
  1469. package/dist/ai/kit/axiom/e2e/ax-cli-trace-for-failure-diagnosis.xml +6 -0
  1470. package/dist/ai/kit/axiom/e2e/ax-cli-transition-to-authoring.xml +4 -0
  1471. package/dist/ai/kit/axiom/e2e/ax-e2e-auth-via-storage-state.xml +4 -0
  1472. package/dist/ai/kit/axiom/e2e/ax-e2e-ax-tree-as-contract.xml +4 -0
  1473. package/dist/ai/kit/axiom/e2e/ax-e2e-browser-coverage-pragmatic.xml +4 -0
  1474. package/dist/ai/kit/axiom/e2e/ax-e2e-file-layout.xml +4 -0
  1475. package/dist/ai/kit/axiom/e2e/ax-e2e-file-size-budget.xml +4 -0
  1476. package/dist/ai/kit/axiom/e2e/ax-e2e-fixture-based-pom.xml +6 -0
  1477. package/dist/ai/kit/axiom/e2e/ax-e2e-headless-always.xml +4 -0
  1478. package/dist/ai/kit/axiom/e2e/ax-e2e-network-mock-at-route.xml +6 -0
  1479. package/dist/ai/kit/axiom/e2e/ax-e2e-role-locators-only.xml +4 -0
  1480. package/dist/ai/kit/axiom/e2e/ax-e2e-self-verification-loop.xml +4 -0
  1481. package/dist/ai/kit/axiom/e2e/ax-e2e-snapshot-partial-by-default.xml +4 -0
  1482. package/dist/ai/kit/axiom/e2e/ax-e2e-structure-ax-first.xml +10 -0
  1483. package/dist/ai/kit/axiom/e2e/ax-e2e-visual-regression-gated.xml +4 -0
  1484. package/dist/ai/kit/axiom/error/ax-catch-log-recover.xml +10 -0
  1485. package/dist/ai/kit/axiom/error/ax-error-chaining-cause.xml +4 -0
  1486. package/dist/ai/kit/axiom/error/ax-error-via-class.xml +4 -0
  1487. package/dist/ai/kit/axiom/error/ax-fail-fast-validation.xml +4 -0
  1488. package/dist/ai/kit/axiom/error/ax-focused-error-assertions.xml +4 -0
  1489. package/dist/ai/kit/axiom/error/ax-mandatory-try-catch-in-business-logic.xml +4 -0
  1490. package/dist/ai/kit/axiom/error/ax-markup-safety.xml +2 -0
  1491. package/dist/ai/kit/axiom/error/ax-minimal-error-surface.xml +4 -0
  1492. package/dist/ai/kit/axiom/error/ax-must-extractor.xml +4 -0
  1493. package/dist/ai/kit/axiom/error/ax-no-bare-throw-unknown.xml +6 -0
  1494. package/dist/ai/kit/axiom/error/ax-no-result-iserr-short-circuit.xml +5 -0
  1495. package/dist/ai/kit/axiom/error/ax-no-result-object-literal.xml +6 -0
  1496. package/dist/ai/kit/axiom/error/ax-no-result-ok-short-circuit.xml +6 -0
  1497. package/dist/ai/kit/axiom/error/ax-no-result-second-generic.xml +6 -0
  1498. package/dist/ai/kit/axiom/error/ax-result-unwrap-on-success-paths.xml +4 -0
  1499. package/dist/ai/kit/axiom/error/ax-trace-prefixed-errors.xml +4 -0
  1500. package/dist/ai/kit/axiom/infra/ax-ai-first-scripts-one-shot.xml +27 -0
  1501. package/dist/ai/kit/axiom/infra/ax-autofix-preferred.xml +12 -0
  1502. package/dist/ai/kit/axiom/infra/ax-binary-severity.xml +10 -0
  1503. package/dist/ai/kit/axiom/infra/ax-branch-strategy.xml +16 -0
  1504. package/dist/ai/kit/axiom/infra/ax-commit-convention.xml +18 -0
  1505. package/dist/ai/kit/axiom/infra/ax-config-auditable-by-agent.xml +10 -0
  1506. package/dist/ai/kit/axiom/infra/ax-custom-plugins-obey-meta-policy.xml +9 -0
  1507. package/dist/ai/kit/axiom/infra/ax-dependency-addition-checklist.xml +9 -0
  1508. package/dist/ai/kit/axiom/infra/ax-exact-pinning-for-tooling.xml +10 -0
  1509. package/dist/ai/kit/axiom/infra/ax-flat-config.xml +6 -0
  1510. package/dist/ai/kit/axiom/infra/ax-gitignore-baseline.xml +22 -0
  1511. package/dist/ai/kit/axiom/infra/ax-history-policy.xml +16 -0
  1512. package/dist/ai/kit/axiom/infra/ax-hooks-integration.xml +4 -0
  1513. package/dist/ai/kit/axiom/infra/ax-infra-base-bootstrap.xml +6 -0
  1514. package/dist/ai/kit/axiom/infra/ax-infrastructure-flow.xml +16 -0
  1515. package/dist/ai/kit/axiom/infra/ax-lfs-submodules.xml +8 -0
  1516. package/dist/ai/kit/axiom/infra/ax-lint-run-is-mechanical.xml +8 -0
  1517. package/dist/ai/kit/axiom/infra/ax-lock-file-discipline.xml +10 -0
  1518. package/dist/ai/kit/axiom/infra/ax-module-system-explicit.xml +4 -0
  1519. package/dist/ai/kit/axiom/infra/ax-no-disable-comments-by-agent.xml +16 -0
  1520. package/dist/ai/kit/axiom/infra/ax-non-autofix-prefer-delegation.xml +17 -0
  1521. package/dist/ai/kit/axiom/infra/ax-npm-agent-sandbox-registry.xml +28 -0
  1522. package/dist/ai/kit/axiom/infra/ax-presets-passed-through-the-gate.xml +8 -0
  1523. package/dist/ai/kit/axiom/infra/ax-prettier-owns-formatting.xml +12 -0
  1524. package/dist/ai/kit/axiom/infra/ax-project-layout.xml +11 -0
  1525. package/dist/ai/kit/axiom/infra/ax-rule-change-requires-operator-confirm.xml +13 -0
  1526. package/dist/ai/kit/axiom/infra/ax-secrets-discipline.xml +17 -0
  1527. package/dist/ai/kit/axiom/infra/ax-single-package-manager.xml +6 -0
  1528. package/dist/ai/kit/axiom/infra/ax-tag-release.xml +17 -0
  1529. package/dist/ai/kit/axiom/infra/ax-third-party-tool-current-api.xml +8 -0
  1530. package/dist/ai/kit/axiom/infra/ax-type-aware-prefer-ts.xml +10 -0
  1531. package/dist/ai/kit/axiom/interview/ax-amplification-opt-in.xml +8 -0
  1532. package/dist/ai/kit/axiom/interview/ax-coverage-map-closure.xml +9 -0
  1533. package/dist/ai/kit/axiom/interview/ax-defaults-first.xml +9 -0
  1534. package/dist/ai/kit/axiom/logging/ax-alerts-on-symptoms.xml +7 -0
  1535. package/dist/ai/kit/axiom/logging/ax-log-density.xml +4 -0
  1536. package/dist/ai/kit/axiom/logging/ax-log-message-format.xml +6 -0
  1537. package/dist/ai/kit/axiom/logging/ax-log-message-purity.xml +4 -0
  1538. package/dist/ai/kit/axiom/logging/ax-log-performance-metrics.xml +4 -0
  1539. package/dist/ai/kit/axiom/logging/ax-stdout-first-transport.xml +2 -0
  1540. package/dist/ai/kit/axiom/logging/ax-structured-logging.xml +6 -0
  1541. package/dist/ai/kit/axiom/perf/ax-allocation-is-enemy.xml +2 -0
  1542. package/dist/ai/kit/axiom/perf/ax-backpressure-is-law.xml +2 -0
  1543. package/dist/ai/kit/axiom/perf/ax-big-o-matters.xml +2 -0
  1544. package/dist/ai/kit/axiom/perf/ax-budgets-are-numbers.xml +8 -0
  1545. package/dist/ai/kit/axiom/perf/ax-concurrency-limits.xml +2 -0
  1546. package/dist/ai/kit/axiom/perf/ax-engine-optimizations.xml +2 -0
  1547. package/dist/ai/kit/axiom/perf/ax-gc-pressure.xml +2 -0
  1548. package/dist/ai/kit/axiom/perf/ax-hoisting-safety.xml +2 -0
  1549. package/dist/ai/kit/axiom/perf/ax-latency-stacking.xml +2 -0
  1550. package/dist/ai/kit/axiom/perf/ax-one-time-cost.xml +2 -0
  1551. package/dist/ai/kit/axiom/perf/ax-retained-memory.xml +2 -0
  1552. package/dist/ai/kit/axiom/perf/ax-target-hardware.xml +2 -0
  1553. package/dist/ai/kit/axiom/process/ax-amplify-defaults-first.xml +11 -0
  1554. package/dist/ai/kit/axiom/process/ax-artifact-style-self-check.xml +9 -0
  1555. package/dist/ai/kit/axiom/process/ax-audit-hook.xml +3 -0
  1556. package/dist/ai/kit/axiom/process/ax-blocker-escalation.xml +12 -0
  1557. package/dist/ai/kit/axiom/process/ax-blocker-resolution-trail.xml +9 -0
  1558. package/dist/ai/kit/axiom/process/ax-cap-5.xml +1 -0
  1559. package/dist/ai/kit/axiom/process/ax-close-with-integrity-check.xml +4 -0
  1560. package/dist/ai/kit/axiom/process/ax-coverage-report-blocker-explicit.xml +4 -0
  1561. package/dist/ai/kit/axiom/process/ax-cross-scope-change.xml +10 -0
  1562. package/dist/ai/kit/axiom/process/ax-dialogue-discipline.xml +12 -0
  1563. package/dist/ai/kit/axiom/process/ax-dispatch-via-batch.xml +8 -0
  1564. package/dist/ai/kit/axiom/process/ax-diverge-before-recommend.xml +18 -0
  1565. package/dist/ai/kit/axiom/process/ax-env-fix-channel.xml +23 -0
  1566. package/dist/ai/kit/axiom/process/ax-execution-log-plan-vs-fact.xml +18 -0
  1567. package/dist/ai/kit/axiom/process/ax-execution-order.xml +5 -0
  1568. package/dist/ai/kit/axiom/process/ax-fix-classification.xml +7 -0
  1569. package/dist/ai/kit/axiom/process/ax-grouping-reduces-noise.xml +2 -0
  1570. package/dist/ai/kit/axiom/process/ax-halt-vs-fail-distinction.xml +10 -0
  1571. package/dist/ai/kit/axiom/process/ax-handoff-typed.xml +3 -0
  1572. package/dist/ai/kit/axiom/process/ax-live-log.xml +3 -0
  1573. package/dist/ai/kit/axiom/process/ax-narrow-recon.xml +9 -0
  1574. package/dist/ai/kit/axiom/process/ax-no-focused-or-skipped-tests-on-merge.xml +4 -0
  1575. package/dist/ai/kit/axiom/process/ax-no-process-narration.xml +7 -0
  1576. package/dist/ai/kit/axiom/process/ax-operator-agreement.xml +6 -0
  1577. package/dist/ai/kit/axiom/process/ax-operator-dialogue-style.xml +42 -0
  1578. package/dist/ai/kit/axiom/process/ax-operator-language.xml +15 -0
  1579. package/dist/ai/kit/axiom/process/ax-operator-output-live-text.xml +7 -0
  1580. package/dist/ai/kit/axiom/process/ax-operator-safeguard.xml +10 -0
  1581. package/dist/ai/kit/axiom/process/ax-owner.xml +1 -0
  1582. package/dist/ai/kit/axiom/process/ax-permitted-bash-commands.xml +31 -0
  1583. package/dist/ai/kit/axiom/process/ax-phase-scope-lock.xml +3 -0
  1584. package/dist/ai/kit/axiom/process/ax-preflight-blast-radius-scoped.xml +10 -0
  1585. package/dist/ai/kit/axiom/process/ax-problem-probes-spec.xml +14 -0
  1586. package/dist/ai/kit/axiom/process/ax-progressive-disclosure.xml +8 -0
  1587. package/dist/ai/kit/axiom/process/ax-q-ids.xml +3 -0
  1588. package/dist/ai/kit/axiom/process/ax-re-dispatch.xml +1 -0
  1589. package/dist/ai/kit/axiom/process/ax-read-per-manifest.xml +11 -0
  1590. package/dist/ai/kit/axiom/process/ax-rejection-reason.xml +1 -0
  1591. package/dist/ai/kit/axiom/process/ax-reopen-format.xml +15 -0
  1592. package/dist/ai/kit/axiom/process/ax-scale-proportional-depth.xml +8 -0
  1593. package/dist/ai/kit/axiom/process/ax-scratch-log.xml +1 -0
  1594. package/dist/ai/kit/axiom/process/ax-step-by-step-approval.xml +13 -0
  1595. package/dist/ai/kit/axiom/process/ax-stop-no-edits.xml +1 -0
  1596. package/dist/ai/kit/axiom/process/ax-surgical.xml +1 -0
  1597. package/dist/ai/kit/axiom/process/ax-task-id-uniqueness.xml +11 -0
  1598. package/dist/ai/kit/axiom/process/ax-task-parallel.xml +1 -0
  1599. package/dist/ai/kit/axiom/process/ax-task-resolution.xml +10 -0
  1600. package/dist/ai/kit/axiom/process/ax-ticket-section-names-normative.xml +3 -0
  1601. package/dist/ai/kit/axiom/process/ax-tool-invocation.xml +12 -0
  1602. package/dist/ai/kit/axiom/process/ax-verification-before-handoff.xml +19 -0
  1603. package/dist/ai/kit/axiom/process/ax-verify-and-finalize.xml +4 -0
  1604. package/dist/ai/kit/axiom/process/ax-verify-at-end.xml +4 -0
  1605. package/dist/ai/kit/axiom/scaffold/ax-append-only-module-add.xml +9 -0
  1606. package/dist/ai/kit/axiom/scaffold/ax-bootstrap-ticket-derivation.xml +9 -0
  1607. package/dist/ai/kit/axiom/scaffold/ax-cross-scope-task-placement.xml +4 -0
  1608. package/dist/ai/kit/axiom/scaffold/ax-dag-and-ticket-boundaries.xml +16 -0
  1609. package/dist/ai/kit/axiom/scaffold/ax-directive-mode.xml +6 -0
  1610. package/dist/ai/kit/axiom/scaffold/ax-extend-dag-preserves-existing-ids.xml +11 -0
  1611. package/dist/ai/kit/axiom/scaffold/ax-handoff-to-task-scaffolding.xml +6 -0
  1612. package/dist/ai/kit/axiom/scaffold/ax-idempotent-modes.xml +8 -0
  1613. package/dist/ai/kit/axiom/scaffold/ax-mode-auto-detect-or-halt.xml +6 -0
  1614. package/dist/ai/kit/axiom/scaffold/ax-phases-declared-in-header.xml +20 -0
  1615. package/dist/ai/kit/axiom/scaffold/ax-rule-activation-plan.xml +7 -0
  1616. package/dist/ai/kit/axiom/scaffold/ax-rule-activation.xml +8 -0
  1617. package/dist/ai/kit/axiom/scaffold/ax-rules-cascade-resolution.xml +15 -0
  1618. package/dist/ai/kit/axiom/scaffold/ax-rules-load-from-phase-block.xml +16 -0
  1619. package/dist/ai/kit/axiom/scaffold/ax-rules-resolution-hard-fail.xml +4 -0
  1620. package/dist/ai/kit/axiom/scaffold/ax-scope-rules-declaration.xml +15 -0
  1621. package/dist/ai/kit/axiom/scaffold/ax-stack-based-flow.xml +6 -0
  1622. package/dist/ai/kit/axiom/scaffold/ax-task-dimensions.xml +10 -0
  1623. package/dist/ai/kit/axiom/scaffold/ax-ticket-deduplication.xml +4 -0
  1624. package/dist/ai/kit/axiom/scaffold/ax-ticket-has-bdd-and-tests.xml +12 -0
  1625. package/dist/ai/kit/axiom/spec/ax-access-patterns-drive-schema.xml +7 -0
  1626. package/dist/ai/kit/axiom/spec/ax-context-to-contract.xml +4 -0
  1627. package/dist/ai/kit/axiom/spec/ax-contracts-textual-agnostic.xml +11 -0
  1628. package/dist/ai/kit/axiom/spec/ax-data-lifecycle-explicit.xml +7 -0
  1629. package/dist/ai/kit/axiom/spec/ax-decision-log-required.xml +7 -0
  1630. package/dist/ai/kit/axiom/spec/ax-draft-ready-for-review.xml +8 -0
  1631. package/dist/ai/kit/axiom/spec/ax-dx-first.xml +12 -0
  1632. package/dist/ai/kit/axiom/spec/ax-exact-scope.xml +4 -0
  1633. package/dist/ai/kit/axiom/spec/ax-external-input-untrusted.xml +7 -0
  1634. package/dist/ai/kit/axiom/spec/ax-handoff-to-module-decomposition.xml +4 -0
  1635. package/dist/ai/kit/axiom/spec/ax-hierarchical-specs.xml +8 -0
  1636. package/dist/ai/kit/axiom/spec/ax-interface-flow.xml +7 -0
  1637. package/dist/ai/kit/axiom/spec/ax-living-spec.xml +6 -0
  1638. package/dist/ai/kit/axiom/spec/ax-module-boundary-by-operator.xml +4 -0
  1639. package/dist/ai/kit/axiom/spec/ax-no-data-loss.xml +10 -0
  1640. package/dist/ai/kit/axiom/spec/ax-no-silent-option-drop.xml +4 -0
  1641. package/dist/ai/kit/axiom/spec/ax-pivot-requires-supersession.xml +6 -0
  1642. package/dist/ai/kit/axiom/spec/ax-portal-primary-owner.xml +10 -0
  1643. package/dist/ai/kit/axiom/spec/ax-ports-and-abstractions-discipline.xml +7 -0
  1644. package/dist/ai/kit/axiom/spec/ax-product-library-flow.xml +15 -0
  1645. package/dist/ai/kit/axiom/spec/ax-refine-module-preserves-contracts.xml +12 -0
  1646. package/dist/ai/kit/axiom/spec/ax-runtime-backing-explicit.xml +9 -0
  1647. package/dist/ai/kit/axiom/spec/ax-runtime-backing-in-contracts.xml +9 -0
  1648. package/dist/ai/kit/axiom/spec/ax-scope-graph-detection.xml +19 -0
  1649. package/dist/ai/kit/axiom/spec/ax-scope-graph-discipline.xml +8 -0
  1650. package/dist/ai/kit/axiom/spec/ax-scope-spec-module-map-ownership.xml +17 -0
  1651. package/dist/ai/kit/axiom/spec/ax-scope-stays-thin.xml +14 -0
  1652. package/dist/ai/kit/axiom/spec/ax-scope-table-format.xml +7 -0
  1653. package/dist/ai/kit/axiom/spec/ax-scope-type-branch.xml +13 -0
  1654. package/dist/ai/kit/axiom/spec/ax-spec-dimensions.xml +14 -0
  1655. package/dist/ai/kit/axiom/spec/ax-spec-lifecycle.xml +10 -0
  1656. package/dist/ai/kit/axiom/spec/ax-spec-structure.xml +13 -0
  1657. package/dist/ai/kit/axiom/spec/ax-stateless-artifact.xml +6 -0
  1658. package/dist/ai/kit/axiom/spec/ax-vision-only-for-application.xml +4 -0
  1659. package/dist/ai/kit/axiom/storybook/ax-ai-generated-tag.xml +13 -0
  1660. package/dist/ai/kit/axiom/storybook/ax-compose-from-base-story.xml +13 -0
  1661. package/dist/ai/kit/axiom/storybook/ax-hierarchy-mirrors-spec.xml +25 -0
  1662. package/dist/ai/kit/axiom/storybook/ax-one-story-per-variant.xml +18 -0
  1663. package/dist/ai/kit/axiom/storybook/ax-play-function-required.xml +27 -0
  1664. package/dist/ai/kit/axiom/storybook/ax-sb-agents-md-updated-as-part-of-setup.xml +4 -0
  1665. package/dist/ai/kit/axiom/storybook/ax-sb-browser-prereq-handled.xml +4 -0
  1666. package/dist/ai/kit/axiom/storybook/ax-sb-follow-generated-guide.xml +4 -0
  1667. package/dist/ai/kit/axiom/storybook/ax-sb-init-via-official-installer.xml +6 -0
  1668. package/dist/ai/kit/axiom/storybook/ax-sb-mcp-is-mandatory.xml +6 -0
  1669. package/dist/ai/kit/axiom/storybook/ax-sb-no-parallel-test-harnesses.xml +4 -0
  1670. package/dist/ai/kit/axiom/storybook/ax-sb-use-ai-generated-tag.xml +4 -0
  1671. package/dist/ai/kit/axiom/storybook/ax-sb-use-component-change-triggers-story-run.xml +4 -0
  1672. package/dist/ai/kit/axiom/storybook/ax-sb-use-compose-existing-first.xml +4 -0
  1673. package/dist/ai/kit/axiom/storybook/ax-sb-use-mcp-first.xml +4 -0
  1674. package/dist/ai/kit/axiom/storybook/ax-sb-use-never-hallucinate-props.xml +4 -0
  1675. package/dist/ai/kit/axiom/storybook/ax-sb-use-no-parallel-render-harness.xml +4 -0
  1676. package/dist/ai/kit/axiom/storybook/ax-sb-use-one-story-one-concept.xml +4 -0
  1677. package/dist/ai/kit/axiom/storybook/ax-sb-use-play-for-interaction.xml +4 -0
  1678. package/dist/ai/kit/axiom/storybook/ax-sb-use-self-verify-before-handoff.xml +6 -0
  1679. package/dist/ai/kit/axiom/storybook/ax-sb-verify-before-handoff.xml +9 -0
  1680. package/dist/ai/kit/axiom/storybook/ax-storybook-title-from-spec.xml +10 -0
  1681. package/dist/ai/kit/axiom/svelte/ax-bindable-for-two-way.xml +4 -0
  1682. package/dist/ai/kit/axiom/svelte/ax-component-structure-fixed.xml +4 -0
  1683. package/dist/ai/kit/axiom/svelte/ax-derived-is-pure.xml +4 -0
  1684. package/dist/ai/kit/axiom/svelte/ax-effect-ownership-and-cleanup.xml +6 -0
  1685. package/dist/ai/kit/axiom/svelte/ax-event-handlers-as-attributes.xml +6 -0
  1686. package/dist/ai/kit/axiom/svelte/ax-inspect-is-dev-only.xml +4 -0
  1687. package/dist/ai/kit/axiom/svelte/ax-legacy-patterns-forbidden.xml +4 -0
  1688. package/dist/ai/kit/axiom/svelte/ax-local-runes-over-stores-for-local-state.xml +6 -0
  1689. package/dist/ai/kit/axiom/svelte/ax-props-via-destructuring.xml +6 -0
  1690. package/dist/ai/kit/axiom/svelte/ax-runes-are-compiler-keywords.xml +6 -0
  1691. package/dist/ai/kit/axiom/svelte/ax-runes-location-restriction.xml +6 -0
  1692. package/dist/ai/kit/axiom/svelte/ax-sk-adapter-chosen-not-defaulted.xml +4 -0
  1693. package/dist/ai/kit/axiom/svelte/ax-sk-data-via-load.xml +6 -0
  1694. package/dist/ai/kit/axiom/svelte/ax-sk-fetch-from-load-uses-sdk-fetch.xml +4 -0
  1695. package/dist/ai/kit/axiom/svelte/ax-sk-hooks-own-cross-cutting.xml +6 -0
  1696. package/dist/ai/kit/axiom/svelte/ax-sk-mutations-via-actions.xml +6 -0
  1697. package/dist/ai/kit/axiom/svelte/ax-sk-page-options-per-route.xml +6 -0
  1698. package/dist/ai/kit/axiom/svelte/ax-sk-project-layout.xml +4 -0
  1699. package/dist/ai/kit/axiom/svelte/ax-sk-routing-is-file-based.xml +6 -0
  1700. package/dist/ai/kit/axiom/svelte/ax-sk-server-client-boundary.xml +8 -0
  1701. package/dist/ai/kit/axiom/svelte/ax-sk-types-from-generated.xml +4 -0
  1702. package/dist/ai/kit/axiom/svelte/ax-sk-validation-at-action-boundary.xml +4 -0
  1703. package/dist/ai/kit/axiom/svelte/ax-snippets-replace-slots.xml +4 -0
  1704. package/dist/ai/kit/axiom/svelte/ax-svelte-conventions.xml +10 -0
  1705. package/dist/ai/kit/axiom/svelte/ax-svelte-test-effect-root-outside-component.xml +6 -0
  1706. package/dist/ai/kit/axiom/svelte/ax-svelte-test-file-extension.xml +4 -0
  1707. package/dist/ai/kit/axiom/svelte/ax-svelte-test-flush-before-assert.xml +6 -0
  1708. package/dist/ai/kit/axiom/svelte/ax-svelte-test-inherited-vitest-rules.xml +4 -0
  1709. package/dist/ai/kit/axiom/svelte/ax-svelte-test-jsdom-environment.xml +4 -0
  1710. package/dist/ai/kit/axiom/svelte/ax-svelte-test-library-for-rendering.xml +6 -0
  1711. package/dist/ai/kit/axiom/svelte/ax-svelte-test-mount-and-cleanup.xml +8 -0
  1712. package/dist/ai/kit/axiom/svelte/ax-svelte-test-no-direct-dom-query.xml +4 -0
  1713. package/dist/ai/kit/axiom/svelte/ax-svelte-test-prefer-story-tests-when-available.xml +4 -0
  1714. package/dist/ai/kit/axiom/svelte/ax-svelte-test-role-queries-preferred.xml +4 -0
  1715. package/dist/ai/kit/axiom/testing/ax-anchor-coverage-nontrivial.xml +4 -0
  1716. package/dist/ai/kit/axiom/testing/ax-anchor-intentful-names.xml +4 -0
  1717. package/dist/ai/kit/axiom/testing/ax-anchor-trivial-exception.xml +4 -0
  1718. package/dist/ai/kit/axiom/testing/ax-assert-api-choice.xml +13 -0
  1719. package/dist/ai/kit/axiom/testing/ax-bdd-generation.xml +19 -0
  1720. package/dist/ai/kit/axiom/testing/ax-bdd-name-discipline.xml +4 -0
  1721. package/dist/ai/kit/axiom/testing/ax-case-flow.xml +6 -0
  1722. package/dist/ai/kit/axiom/testing/ax-contract-over-implementation.xml +10 -0
  1723. package/dist/ai/kit/axiom/testing/ax-coverage-by-contract-not-by-line.xml +9 -0
  1724. package/dist/ai/kit/axiom/testing/ax-default-direct-assertion-protocol.xml +6 -0
  1725. package/dist/ai/kit/axiom/testing/ax-explicit-vitest-imports.xml +4 -0
  1726. package/dist/ai/kit/axiom/testing/ax-file-name-and-default-shape.xml +4 -0
  1727. package/dist/ai/kit/axiom/testing/ax-fixture-io-policy.xml +4 -0
  1728. package/dist/ai/kit/axiom/testing/ax-hooks-only-for-lifecycle.xml +6 -0
  1729. package/dist/ai/kit/axiom/testing/ax-http-boundary-injection.xml +6 -0
  1730. package/dist/ai/kit/axiom/testing/ax-http-mock-agent-pattern.xml +9 -0
  1731. package/dist/ai/kit/axiom/testing/ax-it-opening-brief.xml +8 -0
  1732. package/dist/ai/kit/axiom/testing/ax-mock-as-last-resort.xml +11 -0
  1733. package/dist/ai/kit/axiom/testing/ax-mock-hygiene.xml +12 -0
  1734. package/dist/ai/kit/axiom/testing/ax-mock-requires-operator-confirm.xml +9 -0
  1735. package/dist/ai/kit/axiom/testing/ax-no-describe-let-pileup.xml +4 -0
  1736. package/dist/ai/kit/axiom/testing/ax-no-falsification-via-mocks.xml +4 -0
  1737. package/dist/ai/kit/axiom/testing/ax-one-test-one-scenario.xml +4 -0
  1738. package/dist/ai/kit/axiom/testing/ax-one-unified-context-per-file.xml +10 -0
  1739. package/dist/ai/kit/axiom/testing/ax-partial-string-via-match.xml +4 -0
  1740. package/dist/ai/kit/axiom/testing/ax-phase-anchors.xml +16 -0
  1741. package/dist/ai/kit/axiom/testing/ax-prefer-factory-over-hooks.xml +6 -0
  1742. package/dist/ai/kit/axiom/testing/ax-prefer-native-mock-fn.xml +9 -0
  1743. package/dist/ai/kit/axiom/testing/ax-prefer-vi-fn-for-interaction.xml +4 -0
  1744. package/dist/ai/kit/axiom/testing/ax-snapshot-file-location.xml +4 -0
  1745. package/dist/ai/kit/axiom/testing/ax-snapshot-usage-gate.xml +4 -0
  1746. package/dist/ai/kit/axiom/testing/ax-test-anchor-naming.xml +4 -0
  1747. package/dist/ai/kit/axiom/testing/ax-test-file-size-budget.xml +6 -0
  1748. package/dist/ai/kit/axiom/testing/ax-test-mandate.xml +10 -0
  1749. package/dist/ai/kit/axiom/testing/ax-tests-no-human-narration.xml +4 -0
  1750. package/dist/ai/kit/axiom/testing/ax-time-env-global-lifecycle.xml +9 -0
  1751. package/dist/ai/kit/axiom/testing/ax-vitest-assert-api-choice.xml +12 -0
  1752. package/dist/ai/kit/axiom/testing/ax-vitest-isolation-default.xml +4 -0
  1753. package/dist/ai/kit/axiom/testing/ax-vitest-run-not-watch.xml +16 -0
  1754. package/dist/ai/kit/axiom/truth/ax-autonomous-research.xml +2 -0
  1755. package/dist/ai/kit/axiom/truth/ax-evidence-hygiene.xml +9 -0
  1756. package/dist/ai/kit/axiom/truth/ax-freshness-guard.xml +2 -0
  1757. package/dist/ai/kit/axiom/truth/ax-live-source-only.xml +2 -0
  1758. package/dist/ai/kit/axiom/truth/ax-no-unverified-findings.xml +2 -0
  1759. package/dist/ai/kit/axiom/truth/ax-production-realism.xml +4 -0
  1760. package/dist/ai/kit/axiom/truth/ax-real-run-over-ping.xml +2 -0
  1761. package/dist/ai/kit/axiom/truth/ax-reuse-first.xml +2 -0
  1762. package/dist/ai/kit/axiom/truth/ax-spec-is-sole-source.xml +6 -0
  1763. package/dist/ai/kit/axiom/truth/ax-stale-must-be-rejected.xml +2 -0
  1764. package/dist/ai/kit/axiom/typescript/ax-base-contract-shape.xml +25 -0
  1765. package/dist/ai/kit/axiom/typescript/ax-consumers-tag-semantics.xml +4 -0
  1766. package/dist/ai/kit/axiom/typescript/ax-direct-implementation-protocol.xml +9 -0
  1767. package/dist/ai/kit/axiom/typescript/ax-english-only-names-and-comments.xml +4 -0
  1768. package/dist/ai/kit/axiom/typescript/ax-entity-specific-minimums.xml +11 -0
  1769. package/dist/ai/kit/axiom/typescript/ax-flat-jsdoc-for-properties.xml +6 -0
  1770. package/dist/ai/kit/axiom/typescript/ax-implementation-hiding-in-public.xml +4 -0
  1771. package/dist/ai/kit/axiom/typescript/ax-no-transpile-only-constructs.xml +6 -0
  1772. package/dist/ai/kit/axiom/typescript/ax-tag-usage-matrix.xml +15 -0
  1773. package/dist/ai/kit/axiom/typescript/ax-truthful-encapsulation.xml +6 -0
  1774. package/dist/ai/kit/axiom/typescript/ax-type-vs-interface-choice.xml +4 -0
  1775. package/dist/ai/kit/axiom/uikit/ax-a11y-audit-parameters.xml +14 -0
  1776. package/dist/ai/kit/axiom/uikit/ax-a11y-defaults.xml +12 -0
  1777. package/dist/ai/kit/axiom/uikit/ax-a11y-requirements.xml +18 -0
  1778. package/dist/ai/kit/axiom/uikit/ax-component-props-contract.xml +20 -0
  1779. package/dist/ai/kit/axiom/uikit/ax-css-module-selector-conventions.xml +10 -0
  1780. package/dist/ai/kit/axiom/uikit/ax-css-tokens-via-root.xml +12 -0
  1781. package/dist/ai/kit/axiom/uikit/ax-data-attrs-not-host.xml +16 -0
  1782. package/dist/ai/kit/axiom/uikit/ax-data-state-for-testability.xml +8 -0
  1783. package/dist/ai/kit/axiom/uikit/ax-element-structure-from-extraction.xml +13 -0
  1784. package/dist/ai/kit/axiom/uikit/ax-existing-components-check.xml +9 -0
  1785. package/dist/ai/kit/axiom/uikit/ax-extraction-input.xml +15 -0
  1786. package/dist/ai/kit/axiom/uikit/ax-file-structure-kebab-case.xml +13 -0
  1787. package/dist/ai/kit/axiom/uikit/ax-icon-svg-tight-viewbox.xml +6 -0
  1788. package/dist/ai/kit/axiom/uikit/ax-token-discipline.xml +9 -0
  1789. package/dist/ai/kit/axiom/uikit/ax-token-override-comment.xml +11 -0
  1790. package/dist/ai/kit/axiom/uikit/ax-token-section-generation.xml +13 -0
  1791. package/dist/ai/kit/axiom/uikit/ax-variant-grouping.xml +10 -0
  1792. package/dist/ai/kit/build-directives.ts +39 -0
  1793. package/dist/ai/kit/contract/audit/audit-session-summary-format.xml +38 -0
  1794. package/dist/ai/kit/contract/audit/finding-format.xml +20 -0
  1795. package/dist/ai/kit/contract/audit/ticket-audit-round-format.xml +38 -0
  1796. package/dist/ai/kit/contract/critic/oc-structured.xml +2 -0
  1797. package/dist/ai/kit/contract/interview/coverage-map-format.xml +12 -0
  1798. package/dist/ai/kit/contract/process/blocker-format.xml +9 -0
  1799. package/dist/ai/kit/contract/process/breadcrumb-format.xml +8 -0
  1800. package/dist/ai/kit/contract/process/execute-summary-format.xml +11 -0
  1801. package/dist/ai/kit/contract/process/fix-summary-format.xml +23 -0
  1802. package/dist/ai/kit/contract/process/flow-diagram-when.xml +12 -0
  1803. package/dist/ai/kit/contract/process/halt-format.xml +6 -0
  1804. package/dist/ai/kit/contract/process/handoff-format.xml +13 -0
  1805. package/dist/ai/kit/contract/process/message-layout.xml +16 -0
  1806. package/dist/ai/kit/contract/process/orchestrator-progress-format.xml +10 -0
  1807. package/dist/ai/kit/contract/process/phase-block-format.xml +22 -0
  1808. package/dist/ai/kit/contract/process/phase-progress-format.xml +13 -0
  1809. package/dist/ai/kit/contract/process/plan-table-format.xml +7 -0
  1810. package/dist/ai/kit/contract/process/question-format.xml +27 -0
  1811. package/dist/ai/kit/contract/process/return-summary-format.xml +17 -0
  1812. package/dist/ai/kit/contract/process/round-close-format.xml +8 -0
  1813. package/dist/ai/kit/contract/process/session-file-format.xml +25 -0
  1814. package/dist/ai/kit/contract/process/side-dive-format.xml +7 -0
  1815. package/dist/ai/kit/contract/process/trace-header-format.xml +11 -0
  1816. package/dist/ai/kit/contract/process/understanding-block-format.xml +12 -0
  1817. package/dist/ai/kit/contract/scaffold/module-tasks-index.xml +9 -0
  1818. package/dist/ai/kit/contract/scaffold/project-tasks-index.xml +10 -0
  1819. package/dist/ai/kit/contract/scaffold/scope-tasks-index.xml +11 -0
  1820. package/dist/ai/kit/contract/scaffold/task-ticket-structure.xml +19 -0
  1821. package/dist/ai/kit/contract/spec/change-manifest-format.xml +31 -0
  1822. package/dist/ai/kit/contract/spec/dbc-adapter-format.xml +22 -0
  1823. package/dist/ai/kit/contract/spec/dbc-port-format.xml +38 -0
  1824. package/dist/ai/kit/contract/spec/decision-log-entry-format.xml +12 -0
  1825. package/dist/ai/kit/contract/spec/entity-inventory-format.xml +18 -0
  1826. package/dist/ai/kit/contract/spec/entity-surface-format.xml +25 -0
  1827. package/dist/ai/kit/contract/spec/infra-base-minimal-spec.xml +23 -0
  1828. package/dist/ai/kit/contract/spec/infrastructure-spec-structure.xml +8 -0
  1829. package/dist/ai/kit/contract/spec/interface-spec-structure.xml +6 -0
  1830. package/dist/ai/kit/contract/spec/library-spec-structure.xml +6 -0
  1831. package/dist/ai/kit/contract/spec/module-spec-markdown-structure.xml +10 -0
  1832. package/dist/ai/kit/contract/spec/nfr-budgets-format.xml +22 -0
  1833. package/dist/ai/kit/contract/spec/pivot-invalidation-list-format.xml +9 -0
  1834. package/dist/ai/kit/contract/spec/portal-structure-contract.xml +6 -0
  1835. package/dist/ai/kit/contract/spec/product-spec-structure.xml +6 -0
  1836. package/dist/ai/kit/contract/spec/rework-decision-log-entry-format.xml +19 -0
  1837. package/dist/ai/kit/contract/spec/scope-spec-module-map-update.xml +34 -0
  1838. package/dist/ai/kit/contract/spec/security-section-format.xml +27 -0
  1839. package/dist/ai/kit/contract/uikit/spec-structure.xml +67 -0
  1840. package/dist/ai/kit/definition/e2e/def-cli-ax-snapshot.xml +4 -0
  1841. package/dist/ai/kit/definition/e2e/def-cli-trace.xml +4 -0
  1842. package/dist/ai/kit/definition/e2e/def-e2e-ax-contract.xml +4 -0
  1843. package/dist/ai/kit/definition/e2e/def-e2e-fixture-pom.xml +4 -0
  1844. package/dist/ai/kit/definition/infra/def-autofixable-rule.xml +4 -0
  1845. package/dist/ai/kit/definition/infra/def-cjs.xml +2 -0
  1846. package/dist/ai/kit/definition/infra/def-esm.xml +2 -0
  1847. package/dist/ai/kit/definition/infra/def-exact-pin.xml +2 -0
  1848. package/dist/ai/kit/definition/infra/def-lint-pipeline.xml +4 -0
  1849. package/dist/ai/kit/definition/infra/def-motivated-non-autofix-rule.xml +4 -0
  1850. package/dist/ai/kit/definition/infra/def-operator-disable.xml +4 -0
  1851. package/dist/ai/kit/definition/infra/def-reproducibility-triad.xml +2 -0
  1852. package/dist/ai/kit/definition/process/def-logic-switch.xml +12 -0
  1853. package/dist/ai/kit/definition/process/def-read-and-use-directive.xml +12 -0
  1854. package/dist/ai/kit/definition/storybook/def-play-contract.xml +4 -0
  1855. package/dist/ai/kit/definition/storybook/def-sb-mcp-server.xml +4 -0
  1856. package/dist/ai/kit/definition/storybook/def-sb-mcp-tools.xml +4 -0
  1857. package/dist/ai/kit/definition/storybook/def-sb-story-canonical-form.xml +4 -0
  1858. package/dist/ai/kit/definition/storybook/def-sb-test-addon.xml +4 -0
  1859. package/dist/ai/kit/definition/storybook/def-spec-mirror-hierarchy.xml +4 -0
  1860. package/dist/ai/kit/definition/svelte/def-flush-boundary.xml +4 -0
  1861. package/dist/ai/kit/definition/svelte/def-form-action.xml +4 -0
  1862. package/dist/ai/kit/definition/svelte/def-runes-file.xml +4 -0
  1863. package/dist/ai/kit/definition/svelte/def-server-load.xml +4 -0
  1864. package/dist/ai/kit/definition/svelte/def-svelte-rune.xml +4 -0
  1865. package/dist/ai/kit/definition/svelte/def-svelte-test-file.xml +4 -0
  1866. package/dist/ai/kit/definition/svelte/def-universal-load.xml +4 -0
  1867. package/dist/ai/kit/definition/testing/def-injection-seam.xml +4 -0
  1868. package/dist/ai/kit/definition/testing/def-non-trivial-case.xml +4 -0
  1869. package/dist/ai/kit/definition/testing/def-phase-anchor-format.xml +4 -0
  1870. package/dist/ai/kit/definition/testing/def-test-payload-vocab.xml +4 -0
  1871. package/dist/ai/kit/definition/testing/def-unified-context.xml +4 -0
  1872. package/dist/ai/kit/definition/typescript/def-allowed-comment-payload.xml +4 -0
  1873. package/dist/ai/kit/definition/typescript/def-complexity-trigger.xml +4 -0
  1874. package/dist/ai/kit/definition/typescript/def-trace-prefix.xml +2 -0
  1875. package/dist/ai/kit/definition/uikit/def-component-artefact.xml +4 -0
  1876. package/dist/ai/kit/definition/uikit/def-data-attribute-selector.xml +4 -0
  1877. package/dist/ai/kit/definition/uikit/def-token-override.xml +4 -0
  1878. package/dist/ai/kit/demo/indent-check.ts +56 -0
  1879. package/dist/ai/kit/demo/render-demo.ts +26 -0
  1880. package/dist/ai/kit/demo/sdd-mini.hbs +11 -0
  1881. package/dist/ai/kit/hook/coding/hook-module-system-declared.xml +6 -0
  1882. package/dist/ai/kit/hook/e2e/HOOK_CLI_DEV_SERVER_REACHABLE.xml +6 -0
  1883. package/dist/ai/kit/hook/e2e/HOOK_CLI_NO_AUTO_UPDATE_SNAPSHOTS.xml +6 -0
  1884. package/dist/ai/kit/hook/e2e/HOOK_CLI_NO_HEADED_IN_AGENT_SCRIPTS.xml +6 -0
  1885. package/dist/ai/kit/hook/e2e/HOOK_CLI_PLAYWRIGHT_INSTALLED.xml +6 -0
  1886. package/dist/ai/kit/hook/e2e/HOOK_E2E_FILE_SIZE_BUDGET.xml +6 -0
  1887. package/dist/ai/kit/hook/e2e/HOOK_E2E_NO_CSS_LOCATORS.xml +6 -0
  1888. package/dist/ai/kit/hook/e2e/HOOK_E2E_NO_HEADED.xml +6 -0
  1889. package/dist/ai/kit/hook/e2e/HOOK_E2E_NO_ONLY_OR_SKIP.xml +6 -0
  1890. package/dist/ai/kit/hook/e2e/HOOK_E2E_RUN_CHROMIUM.xml +6 -0
  1891. package/dist/ai/kit/hook/e2e/hook-cli-dev-server-reachable.xml +6 -0
  1892. package/dist/ai/kit/hook/e2e/hook-cli-no-auto-update-snapshots.xml +6 -0
  1893. package/dist/ai/kit/hook/e2e/hook-cli-no-headed-in-agent-scripts.xml +6 -0
  1894. package/dist/ai/kit/hook/e2e/hook-cli-playwright-installed.xml +6 -0
  1895. package/dist/ai/kit/hook/e2e/hook-e2e-file-size-budget.xml +6 -0
  1896. package/dist/ai/kit/hook/e2e/hook-e2e-no-css-locators.xml +6 -0
  1897. package/dist/ai/kit/hook/e2e/hook-e2e-no-headed.xml +6 -0
  1898. package/dist/ai/kit/hook/e2e/hook-e2e-no-only-or-skip.xml +6 -0
  1899. package/dist/ai/kit/hook/e2e/hook-e2e-run-chromium.xml +6 -0
  1900. package/dist/ai/kit/hook/infra/HOOK_AUDIT_NEW_RULE.xml +6 -0
  1901. package/dist/ai/kit/hook/infra/HOOK_DEFAULT_BRANCH_MAIN.xml +6 -0
  1902. package/dist/ai/kit/hook/infra/HOOK_GITIGNORE_PRESENT.xml +6 -0
  1903. package/dist/ai/kit/hook/infra/HOOK_LINT_FIX_GREEN.xml +6 -0
  1904. package/dist/ai/kit/hook/infra/HOOK_LINT_NO_DRIFT.xml +6 -0
  1905. package/dist/ai/kit/hook/infra/HOOK_NON_AUTOFIX_HAS_COMMENT.xml +6 -0
  1906. package/dist/ai/kit/hook/infra/HOOK_NO_AGENT_DISABLE_COMMENTS.xml +6 -0
  1907. package/dist/ai/kit/hook/infra/HOOK_NO_ENV_TRACKED.xml +6 -0
  1908. package/dist/ai/kit/hook/infra/HOOK_NO_FORMATTING_DUPLICATION.xml +6 -0
  1909. package/dist/ai/kit/hook/infra/HOOK_NO_NODE_MODULES_TRACKED.xml +6 -0
  1910. package/dist/ai/kit/hook/infra/HOOK_NO_WARN_LEVEL_IN_CONFIG.xml +6 -0
  1911. package/dist/ai/kit/hook/infra/HOOK_PROJECT_LINT.xml +6 -0
  1912. package/dist/ai/kit/hook/infra/HOOK_TAG_ANNOTATED.xml +6 -0
  1913. package/dist/ai/kit/hook/infra/HOOK_TYPECHECK.xml +6 -0
  1914. package/dist/ai/kit/hook/infra/hook-audit-new-rule.xml +6 -0
  1915. package/dist/ai/kit/hook/infra/hook-default-branch-main.xml +6 -0
  1916. package/dist/ai/kit/hook/infra/hook-engines-present.xml +6 -0
  1917. package/dist/ai/kit/hook/infra/hook-gitignore-present.xml +6 -0
  1918. package/dist/ai/kit/hook/infra/hook-lint-fix-green.xml +6 -0
  1919. package/dist/ai/kit/hook/infra/hook-lint-no-drift.xml +6 -0
  1920. package/dist/ai/kit/hook/infra/hook-lock-file-exists.xml +6 -0
  1921. package/dist/ai/kit/hook/infra/hook-no-agent-disable-comments.xml +6 -0
  1922. package/dist/ai/kit/hook/infra/hook-no-env-tracked.xml +6 -0
  1923. package/dist/ai/kit/hook/infra/hook-no-foreign-lock-files.xml +6 -0
  1924. package/dist/ai/kit/hook/infra/hook-no-formatting-duplication.xml +6 -0
  1925. package/dist/ai/kit/hook/infra/hook-no-node-modules-tracked.xml +6 -0
  1926. package/dist/ai/kit/hook/infra/hook-no-warn-level-in-config.xml +6 -0
  1927. package/dist/ai/kit/hook/infra/hook-non-autofix-has-comment.xml +6 -0
  1928. package/dist/ai/kit/hook/infra/hook-npmrc-registry.xml +6 -0
  1929. package/dist/ai/kit/hook/infra/hook-nvmrc-exact.xml +6 -0
  1930. package/dist/ai/kit/hook/infra/hook-project-lint.xml +6 -0
  1931. package/dist/ai/kit/hook/infra/hook-tag-annotated.xml +6 -0
  1932. package/dist/ai/kit/hook/storybook/HOOK_SB_ADDON_PRESENT.xml +6 -0
  1933. package/dist/ai/kit/hook/storybook/HOOK_SB_AGENTS_MD_MENTIONS_STORYBOOK.xml +6 -0
  1934. package/dist/ai/kit/hook/storybook/HOOK_SB_AI_TAG_PRESENT.xml +6 -0
  1935. package/dist/ai/kit/hook/storybook/HOOK_SB_PLAYWRIGHT_BROWSER_PRESENT.xml +6 -0
  1936. package/dist/ai/kit/hook/storybook/HOOK_SB_PLAY_PRESENT.xml +6 -0
  1937. package/dist/ai/kit/hook/storybook/HOOK_SB_PREVIEW_BOOTS.xml +6 -0
  1938. package/dist/ai/kit/hook/storybook/HOOK_SB_RUN_STORY_TESTS.xml +6 -0
  1939. package/dist/ai/kit/hook/storybook/hook-sb-addon-present.xml +6 -0
  1940. package/dist/ai/kit/hook/storybook/hook-sb-agents-md-mentions-storybook.xml +6 -0
  1941. package/dist/ai/kit/hook/storybook/hook-sb-ai-tag-present.xml +6 -0
  1942. package/dist/ai/kit/hook/storybook/hook-sb-interactive-stories-have-play.xml +6 -0
  1943. package/dist/ai/kit/hook/storybook/hook-sb-play-present.xml +6 -0
  1944. package/dist/ai/kit/hook/storybook/hook-sb-playwright-browser-present.xml +6 -0
  1945. package/dist/ai/kit/hook/storybook/hook-sb-preview-boots.xml +6 -0
  1946. package/dist/ai/kit/hook/storybook/hook-sb-run-story-tests.xml +6 -0
  1947. package/dist/ai/kit/hook/svelte/HOOK_NO_CREATE_EVENT_DISPATCHER.xml +6 -0
  1948. package/dist/ai/kit/hook/svelte/HOOK_NO_LEGACY_PROP_SYNTAX.xml +6 -0
  1949. package/dist/ai/kit/hook/svelte/HOOK_NO_LEGACY_REACTIVE.xml +6 -0
  1950. package/dist/ai/kit/hook/svelte/HOOK_NO_RUNES_IN_PLAIN_TS.xml +6 -0
  1951. package/dist/ai/kit/hook/svelte/HOOK_SK_BUILD.xml +6 -0
  1952. package/dist/ai/kit/hook/svelte/HOOK_SK_NO_CLIENT_FETCH_IN_COMPONENT.xml +6 -0
  1953. package/dist/ai/kit/hook/svelte/HOOK_SK_NO_GLOBAL_FETCH_IN_LOAD.xml +6 -0
  1954. package/dist/ai/kit/hook/svelte/HOOK_SK_NO_PRIVATE_ENV_IN_CLIENT.xml +6 -0
  1955. package/dist/ai/kit/hook/svelte/HOOK_SK_TYPECHECK.xml +6 -0
  1956. package/dist/ai/kit/hook/svelte/HOOK_SVELTE_CHECK.xml +6 -0
  1957. package/dist/ai/kit/hook/svelte/HOOK_SVELTE_TEST_EXTENSION_DISCIPLINE.xml +6 -0
  1958. package/dist/ai/kit/hook/svelte/HOOK_SVELTE_TEST_HAS_CLEANUP.xml +6 -0
  1959. package/dist/ai/kit/hook/svelte/HOOK_SVELTE_TEST_HAS_FLUSH_AFTER_USEREVENT.xml +6 -0
  1960. package/dist/ai/kit/hook/svelte/HOOK_SVELTE_TEST_NO_DIRECT_DOM_QUERIES.xml +6 -0
  1961. package/dist/ai/kit/hook/svelte/HOOK_SVELTE_TEST_RUN.xml +6 -0
  1962. package/dist/ai/kit/hook/svelte/hook-no-create-event-dispatcher.xml +6 -0
  1963. package/dist/ai/kit/hook/svelte/hook-no-legacy-prop-syntax.xml +6 -0
  1964. package/dist/ai/kit/hook/svelte/hook-no-legacy-reactive.xml +6 -0
  1965. package/dist/ai/kit/hook/svelte/hook-no-runes-in-plain-ts.xml +6 -0
  1966. package/dist/ai/kit/hook/svelte/hook-sk-build.xml +6 -0
  1967. package/dist/ai/kit/hook/svelte/hook-sk-no-client-fetch-in-component.xml +6 -0
  1968. package/dist/ai/kit/hook/svelte/hook-sk-no-global-fetch-in-load.xml +6 -0
  1969. package/dist/ai/kit/hook/svelte/hook-sk-no-private-env-in-client.xml +6 -0
  1970. package/dist/ai/kit/hook/svelte/hook-sk-typecheck.xml +6 -0
  1971. package/dist/ai/kit/hook/svelte/hook-svelte-check.xml +6 -0
  1972. package/dist/ai/kit/hook/svelte/hook-svelte-test-extension-discipline.xml +6 -0
  1973. package/dist/ai/kit/hook/svelte/hook-svelte-test-has-cleanup.xml +6 -0
  1974. package/dist/ai/kit/hook/svelte/hook-svelte-test-has-flush-after-userevent.xml +6 -0
  1975. package/dist/ai/kit/hook/svelte/hook-svelte-test-no-direct-dom-queries.xml +6 -0
  1976. package/dist/ai/kit/hook/svelte/hook-svelte-test-run.xml +6 -0
  1977. package/dist/ai/kit/hook/testing/HOOK_ANCHOR_PAIRING.xml +6 -0
  1978. package/dist/ai/kit/hook/testing/HOOK_COVERAGE.xml +5 -0
  1979. package/dist/ai/kit/hook/testing/HOOK_NO_FORBIDDEN_TEST_PATTERNS.xml +6 -0
  1980. package/dist/ai/kit/hook/testing/HOOK_RUN_SINGLE_FILE.xml +5 -0
  1981. package/dist/ai/kit/hook/testing/HOOK_RUN_TESTS.xml +5 -0
  1982. package/dist/ai/kit/hook/testing/HOOK_TYPECHECK_BEFORE_TEST.xml +5 -0
  1983. package/dist/ai/kit/hook/testing/hook-anchor-pairing.xml +6 -0
  1984. package/dist/ai/kit/hook/testing/hook-coverage-node.xml +5 -0
  1985. package/dist/ai/kit/hook/testing/hook-coverage-vitest.xml +5 -0
  1986. package/dist/ai/kit/hook/testing/hook-file-size-budget.xml +6 -0
  1987. package/dist/ai/kit/hook/testing/hook-no-auto-snapshot-update.xml +6 -0
  1988. package/dist/ai/kit/hook/testing/hook-no-forbidden-test-patterns-node.xml +6 -0
  1989. package/dist/ai/kit/hook/testing/hook-no-forbidden-test-patterns-vitest.xml +5 -0
  1990. package/dist/ai/kit/hook/testing/hook-no-unjustified-vi-mock.xml +6 -0
  1991. package/dist/ai/kit/hook/testing/hook-parallel-factories-guard.xml +5 -0
  1992. package/dist/ai/kit/hook/testing/hook-run-single-file-node.xml +5 -0
  1993. package/dist/ai/kit/hook/testing/hook-run-single-file-vitest.xml +5 -0
  1994. package/dist/ai/kit/hook/testing/hook-run-tests-node.xml +5 -0
  1995. package/dist/ai/kit/hook/testing/hook-run-tests-vitest.xml +5 -0
  1996. package/dist/ai/kit/hook/testing/hook-typecheck-before-test.xml +5 -0
  1997. package/dist/ai/kit/hook/typescript/HOOK_NO_FORBIDDEN_CONSTRUCTS.xml +6 -0
  1998. package/dist/ai/kit/hook/typescript/HOOK_TYPECHECK.xml +6 -0
  1999. package/dist/ai/kit/hook/typescript/hook-no-forbidden-constructs.xml +6 -0
  2000. package/dist/ai/kit/hook/typescript/hook-typecheck.xml +6 -0
  2001. package/dist/ai/kit/hook/uikit/HOOK_ARIA_ATTRIBUTES_PRESENT.xml +6 -0
  2002. package/dist/ai/kit/hook/uikit/HOOK_DATA_STATE_PRESENT.xml +6 -0
  2003. package/dist/ai/kit/hook/uikit/HOOK_KEBAB_CASE_FILES.xml +6 -0
  2004. package/dist/ai/kit/hook/uikit/HOOK_NO_HOST_SELECTOR.xml +6 -0
  2005. package/dist/ai/kit/hook/uikit/HOOK_OVERRIDE_COMMENTS_PRESENT.xml +6 -0
  2006. package/dist/ai/kit/hook/uikit/HOOK_SB_A11Y_AUDIT_CONFIG.xml +6 -0
  2007. package/dist/ai/kit/hook/uikit/hook-aria-attributes-present.xml +6 -0
  2008. package/dist/ai/kit/hook/uikit/hook-data-state-present.xml +6 -0
  2009. package/dist/ai/kit/hook/uikit/hook-kebab-case-files.xml +6 -0
  2010. package/dist/ai/kit/hook/uikit/hook-no-host-selector.xml +6 -0
  2011. package/dist/ai/kit/hook/uikit/hook-override-comments-present.xml +6 -0
  2012. package/dist/ai/kit/hook/uikit/hook-sb-a11y-audit-config.xml +6 -0
  2013. package/dist/ai/kit/lint-axioms.ts +102 -0
  2014. package/dist/ai/kit/pattern/e2e/pt-cli-explore-loop.xml +29 -0
  2015. package/dist/ai/kit/pattern/e2e/pt-e2e-auth-setup-project.xml +20 -0
  2016. package/dist/ai/kit/pattern/e2e/pt-e2e-ax-snapshot-baseline.xml +21 -0
  2017. package/dist/ai/kit/pattern/e2e/pt-e2e-fixture-pom.xml +31 -0
  2018. package/dist/ai/kit/pattern/e2e/pt-e2e-interaction-delta.xml +19 -0
  2019. package/dist/ai/kit/pattern/e2e/pt-e2e-network-mock.xml +21 -0
  2020. package/dist/ai/kit/pattern/infra/pt-dependency-addition.xml +21 -0
  2021. package/dist/ai/kit/pattern/infra/pt-esm-builtins.xml +14 -0
  2022. package/dist/ai/kit/pattern/infra/pt-lint-config-shape.xml +104 -0
  2023. package/dist/ai/kit/pattern/infra/pt-minimal-package-json.xml +21 -0
  2024. package/dist/ai/kit/pattern/infra/pt-npm-script-shape.xml +18 -0
  2025. package/dist/ai/kit/pattern/infra/pt-npmrc.xml +10 -0
  2026. package/dist/ai/kit/pattern/infra/pt-nvmrc.xml +6 -0
  2027. package/dist/ai/kit/pattern/infra/pt-rule-audit-protocol.xml +40 -0
  2028. package/dist/ai/kit/pattern/spec/example-contracts.xml +20 -0
  2029. package/dist/ai/kit/pattern/spec/example-infrastructure.xml +28 -0
  2030. package/dist/ai/kit/pattern/spec/example-library.xml +21 -0
  2031. package/dist/ai/kit/pattern/spec/example-product.xml +19 -0
  2032. package/dist/ai/kit/pattern/storybook/pt-canonical-stories-file.xml +74 -0
  2033. package/dist/ai/kit/pattern/storybook/pt-sb-composed-story-with-play.xml +37 -0
  2034. package/dist/ai/kit/pattern/storybook/pt-story-with-visual-contract.xml +20 -0
  2035. package/dist/ai/kit/pattern/svelte/pt-basic-component-with-runes.xml +27 -0
  2036. package/dist/ai/kit/pattern/svelte/pt-bindable-prop.xml +14 -0
  2037. package/dist/ai/kit/pattern/svelte/pt-component-svelte-template.xml +54 -0
  2038. package/dist/ai/kit/pattern/svelte/pt-effect-with-teardown.xml +17 -0
  2039. package/dist/ai/kit/pattern/svelte/pt-form-action-with-fail.xml +24 -0
  2040. package/dist/ai/kit/pattern/svelte/pt-page-consuming-load.xml +17 -0
  2041. package/dist/ai/kit/pattern/svelte/pt-server-hook-auth.xml +18 -0
  2042. package/dist/ai/kit/pattern/svelte/pt-server-load.xml +21 -0
  2043. package/dist/ai/kit/pattern/svelte/pt-snippet-and-render.xml +17 -0
  2044. package/dist/ai/kit/pattern/svelte/pt-svelte-test-effect-root-for-runes.xml +30 -0
  2045. package/dist/ai/kit/pattern/svelte/pt-svelte-test-render-and-assert.xml +22 -0
  2046. package/dist/ai/kit/pattern/svelte/pt-svelte-test-user-interaction-with-flush.xml +28 -0
  2047. package/dist/ai/kit/pattern/testing/pt-async-retry-with-brief.xml +48 -0
  2048. package/dist/ai/kit/pattern/testing/pt-di-over-mock.xml +53 -0
  2049. package/dist/ai/kit/pattern/testing/pt-direct-scalar-case.xml +20 -0
  2050. package/dist/ai/kit/pattern/testing/pt-error-path-with-assert-rejects.xml +35 -0
  2051. package/dist/ai/kit/pattern/testing/pt-fixture-and-observe-aggregation.xml +43 -0
  2052. package/dist/ai/kit/pattern/testing/pt-lifecycle-context-with-cleanup.xml +48 -0
  2053. package/dist/ai/kit/pattern/testing/pt-mock-fn-interaction-contract.xml +40 -0
  2054. package/dist/ai/kit/pattern/testing/pt-unified-factory-context.xml +58 -0
  2055. package/dist/ai/kit/pattern/typescript/pt-async-operation-with-timing.xml +40 -0
  2056. package/dist/ai/kit/pattern/typescript/pt-direct-implementation-with-log-and-error.xml +48 -0
  2057. package/dist/ai/kit/pattern/typescript/pt-expressive-terseness.xml +11 -0
  2058. package/dist/ai/kit/pattern/typescript/pt-module-and-data-type.xml +20 -0
  2059. package/dist/ai/kit/pattern/typescript/pt-service-contract-interface.xml +28 -0
  2060. package/dist/ai/kit/pattern/typescript/pt-type-narrowing-and-modern-operators.xml +36 -0
  2061. package/dist/ai/kit/pattern/uikit/pt-module-css-template.xml +26 -0
  2062. package/dist/ai/kit/pattern/uikit/pt-tokens-css-template.xml +17 -0
  2063. package/dist/ai/kit/render.d.ts +36 -0
  2064. package/dist/ai/kit/render.ts +87 -0
  2065. package/dist/ai/kit/templates/coding/result-conventions.hbs +37 -0
  2066. package/dist/ai/kit/templates/coding/result-conventions.xml +37 -0
  2067. package/dist/ai/kit/templates/sdd-v2/agent-inbox/code-lens.directive.hbs +109 -0
  2068. package/dist/ai/kit/templates/sdd-v2/agent-inbox/enrich.directive.hbs +203 -0
  2069. package/dist/ai/kit/templates/sdd-v2/agent-inbox/security-lens.directive.hbs +161 -0
  2070. package/dist/ai/kit/templates/sdd-v2/agent-inbox/synthesize.directive.hbs +114 -0
  2071. package/dist/ai/kit/templates/sdd-v2/agent-inbox/track-review.directive.hbs +442 -0
  2072. package/dist/ai/kit/templates/sdd-v2/amplify-nfr.directive.hbs +73 -0
  2073. package/dist/ai/kit/templates/sdd-v2/amplify-observability.directive.hbs +73 -0
  2074. package/dist/ai/kit/templates/sdd-v2/amplify-security.directive.hbs +70 -0
  2075. package/dist/ai/kit/templates/sdd-v2/amplify-storage.directive.hbs +71 -0
  2076. package/dist/ai/kit/templates/sdd-v2/audit.directive.hbs +241 -0
  2077. package/dist/ai/kit/templates/sdd-v2/code-review.directive.hbs +90 -0
  2078. package/dist/ai/kit/templates/sdd-v2/compression.directive.hbs +113 -0
  2079. package/dist/ai/kit/templates/sdd-v2/critic-protocol.directive.hbs +93 -0
  2080. package/dist/ai/kit/templates/sdd-v2/critic.directive.hbs +103 -0
  2081. package/dist/ai/kit/templates/sdd-v2/discover-from-code.directive.hbs +115 -0
  2082. package/dist/ai/kit/templates/sdd-v2/execute.directive.hbs +186 -0
  2083. package/dist/ai/kit/templates/sdd-v2/formats/audit-round.hbs +1 -0
  2084. package/dist/ai/kit/templates/sdd-v2/formats/change-manifest.hbs +1 -0
  2085. package/dist/ai/kit/templates/sdd-v2/formats/dbc-contracts.hbs +3 -0
  2086. package/dist/ai/kit/templates/sdd-v2/formats/diagram-vocabulary.hbs +181 -0
  2087. package/dist/ai/kit/templates/sdd-v2/formats/entity-inventory-format.hbs +1 -0
  2088. package/dist/ai/kit/templates/sdd-v2/formats/entity-surface-format.hbs +1 -0
  2089. package/dist/ai/kit/templates/sdd-v2/formats/infra-base-minimal-spec.hbs +1 -0
  2090. package/dist/ai/kit/templates/sdd-v2/formats/infrastructure-spec-structure.hbs +1 -0
  2091. package/dist/ai/kit/templates/sdd-v2/formats/interface-spec-structure.hbs +1 -0
  2092. package/dist/ai/kit/templates/sdd-v2/formats/library-spec-structure.hbs +1 -0
  2093. package/dist/ai/kit/templates/sdd-v2/formats/module-map-update.hbs +1 -0
  2094. package/dist/ai/kit/templates/sdd-v2/formats/module-spec-structure.hbs +1 -0
  2095. package/dist/ai/kit/templates/sdd-v2/formats/module-tasks-index.hbs +1 -0
  2096. package/dist/ai/kit/templates/sdd-v2/formats/nfr-budgets-format.hbs +1 -0
  2097. package/dist/ai/kit/templates/sdd-v2/formats/pivot-formats.hbs +3 -0
  2098. package/dist/ai/kit/templates/sdd-v2/formats/portal-structure.hbs +1 -0
  2099. package/dist/ai/kit/templates/sdd-v2/formats/product-spec-structure.hbs +1 -0
  2100. package/dist/ai/kit/templates/sdd-v2/formats/project-tasks-index.hbs +1 -0
  2101. package/dist/ai/kit/templates/sdd-v2/formats/scope-tasks-index.hbs +1 -0
  2102. package/dist/ai/kit/templates/sdd-v2/formats/security-section-format.hbs +1 -0
  2103. package/dist/ai/kit/templates/sdd-v2/formats/task-ticket-structure.hbs +1 -0
  2104. package/dist/ai/kit/templates/sdd-v2/infra.directive.hbs +180 -0
  2105. package/dist/ai/kit/templates/sdd-v2/interface.directive.hbs +154 -0
  2106. package/dist/ai/kit/templates/sdd-v2/interview-protocol.directive.hbs +254 -0
  2107. package/dist/ai/kit/templates/sdd-v2/migration-v1-v2.directive.hbs +301 -0
  2108. package/dist/ai/kit/templates/sdd-v2/module.directive.hbs +247 -0
  2109. package/dist/ai/kit/templates/sdd-v2/phase-execution-protocol.directive.hbs +202 -0
  2110. package/dist/ai/kit/templates/sdd-v2/readiness.directive.hbs +143 -0
  2111. package/dist/ai/kit/templates/sdd-v2/reconcile.directive.hbs +183 -0
  2112. package/dist/ai/kit/templates/sdd-v2/recover-from-code.directive.hbs +153 -0
  2113. package/dist/ai/kit/templates/sdd-v2/review-lifecycle.directive.hbs +70 -0
  2114. package/dist/ai/kit/templates/sdd-v2/root.directive.hbs +133 -0
  2115. package/dist/ai/kit/templates/sdd-v2/router.directive.hbs +179 -0
  2116. package/dist/ai/kit/templates/sdd-v2/scaffold.directive.hbs +227 -0
  2117. package/dist/ai/kit/templates/sdd-v2/scope.directive.hbs +236 -0
  2118. package/dist/ai/skills/README.md +133 -0
  2119. package/dist/ai/skills/agent-inbox/SKILL.md +48 -0
  2120. package/dist/ai/skills/opencode-get-session/SKILL.md +149 -0
  2121. package/dist/ai/skills/prd-interview/PRD_TEMPLATE.md +84 -0
  2122. package/dist/ai/skills/prd-interview/SKILL.md +133 -0
  2123. package/dist/ai/skills/sdd/SKILL.md +30 -0
  2124. package/dist/ai/skills/sdd-audit/SKILL.md +2 -2
  2125. package/dist/ai/skills/sdd-check/SKILL.md +21 -134
  2126. package/dist/ai/skills/sdd-code-review/SKILL.md +27 -0
  2127. package/dist/ai/skills/sdd-critic/SKILL.md +26 -5
  2128. package/dist/ai/skills/sdd-execute/SKILL.md +29 -200
  2129. package/dist/ai/skills/sdd-reconcile/SKILL.md +32 -0
  2130. package/dist/ai/skills/sdd-scaffold/SKILL.md +34 -6
  2131. package/dist/ai/skills/workspace-permission-setup/SKILL.md +194 -0
  2132. package/dist/chunks/classify-mr-stage.logic-BiCHTmPp.js +53 -0
  2133. package/dist/chunks/classify-mr-stage.logic-ClmhzQPQ.js +53 -0
  2134. package/dist/chunks/config-help-Ws1ngThF.js +6 -0
  2135. package/dist/chunks/config-index-9VHWSDQD.js +104 -0
  2136. package/dist/chunks/config-index-RFeqlDWs.js +104 -0
  2137. package/dist/chunks/devtools-b0DwO1x_.js +79 -0
  2138. package/dist/chunks/devtools-p8tmPuLn.js +79 -0
  2139. package/dist/chunks/eval.cmd-CwNPaNJd.js +34 -0
  2140. package/dist/chunks/eval.cmd-ewU5lcUY.js +34 -0
  2141. package/dist/chunks/help-1HebbN64.js +8 -0
  2142. package/dist/chunks/help-B6e1u35w.js +10 -0
  2143. package/dist/chunks/help-BD8-LEeF.js +6 -0
  2144. package/dist/chunks/help-BOdcV1vC.js +8 -0
  2145. package/dist/chunks/help-BPpFjSZ8.js +24 -0
  2146. package/dist/chunks/help-BSbJO97m.js +20 -0
  2147. package/dist/chunks/help-BZy6KWe9.js +8 -0
  2148. package/dist/chunks/help-Bb-4xa8Y.js +18 -0
  2149. package/dist/chunks/help-BiBPW0kL.js +8 -0
  2150. package/dist/chunks/help-BsFBbl5r.js +18 -0
  2151. package/dist/chunks/help-BtKSJyz4.js +10 -0
  2152. package/dist/chunks/help-BvuhpOU_.js +12 -0
  2153. package/dist/chunks/help-C0GfohvW.js +16 -0
  2154. package/dist/chunks/help-C1rYrToJ.js +18 -0
  2155. package/dist/chunks/help-C3Ykc-Nc.js +12 -0
  2156. package/dist/chunks/help-C60JqpOe.js +28 -0
  2157. package/dist/chunks/help-CT3nxECq.js +20 -0
  2158. package/dist/chunks/help-CXLu7Or0.js +8 -0
  2159. package/dist/chunks/help-Cfd8vzFC.js +12 -0
  2160. package/dist/chunks/help-CplOgbQt.js +6 -0
  2161. package/dist/chunks/help-D-EH655m.js +10 -0
  2162. package/dist/chunks/help-D5cXtdMI.js +7 -0
  2163. package/dist/chunks/help-DGVzsKCv.js +12 -0
  2164. package/dist/chunks/help-Db0rU0KC.js +18 -0
  2165. package/dist/chunks/help-Db1OZhxV.js +12 -0
  2166. package/dist/chunks/help-DraLofyl.js +14 -0
  2167. package/dist/chunks/help-Dwrtbr7t.js +12 -0
  2168. package/dist/chunks/help-DzGnMNi2.js +7 -0
  2169. package/dist/chunks/help-_U6NUUQV.js +10 -0
  2170. package/dist/chunks/help-krcRU3UT.js +14 -0
  2171. package/dist/chunks/help-n8XrJTZI.js +14 -0
  2172. package/dist/chunks/help-xpLrOCjw.js +12 -0
  2173. package/dist/chunks/help.cmd-B3JddBhg.js +52 -0
  2174. package/dist/chunks/index--AXFi0ty.js +89 -0
  2175. package/dist/chunks/index-2BOEcJIa.js +125 -0
  2176. package/dist/chunks/index-3k7mPX1e.js +658 -0
  2177. package/dist/chunks/index-43GiH--T.js +20 -0
  2178. package/dist/chunks/index-64TSesTc.js +186 -0
  2179. package/dist/chunks/index-9Gv5trS_.js +125 -0
  2180. package/dist/chunks/index-B1DQIryA.js +2 -0
  2181. package/dist/chunks/index-B1PiBeQ3.js +2 -0
  2182. package/dist/chunks/index-B4rzuhkt.js +183 -0
  2183. package/dist/chunks/index-B97HJjkg.js +159 -0
  2184. package/dist/chunks/index-BAEIZVx0.js +443 -0
  2185. package/dist/chunks/index-BF6qypm0.js +131 -0
  2186. package/dist/chunks/index-BFUkVkSo.js +108 -0
  2187. package/dist/chunks/index-BIPebtDl.js +16979 -0
  2188. package/dist/chunks/index-BK84ZQsh.js +128 -0
  2189. package/dist/chunks/index-BOKv0b01.js +186 -0
  2190. package/dist/chunks/index-BOQl7F_Z.js +96 -0
  2191. package/dist/chunks/index-BRVIirjj.js +141 -0
  2192. package/dist/chunks/index-BVnJEutp.js +56 -0
  2193. package/dist/chunks/index-BXnryCGW.js +96 -0
  2194. package/dist/chunks/index-BYIzl-Ut.js +346 -0
  2195. package/dist/chunks/index-BaZm7Otb.js +2 -0
  2196. package/dist/chunks/index-BdkFKsMm.js +340 -0
  2197. package/dist/chunks/index-Bhk746A2.js +129 -0
  2198. package/dist/chunks/index-Bi-eY_dY.js +164 -0
  2199. package/dist/chunks/index-BjumU69g.js +2 -0
  2200. package/dist/chunks/index-BkWXcpXU.js +16979 -0
  2201. package/dist/chunks/index-BlY4jQIA.js +168 -0
  2202. package/dist/chunks/index-BmFT1Kx2.js +141 -0
  2203. package/dist/chunks/index-BwN5llCR.js +164 -0
  2204. package/dist/chunks/index-BzmR4Es2.js +377 -0
  2205. package/dist/chunks/index-C0iy7GxD.js +140 -0
  2206. package/dist/chunks/index-CCBTXczb.js +56 -0
  2207. package/dist/chunks/index-CDAfkSrr.js +2 -0
  2208. package/dist/chunks/index-CDHymWzC.js +102 -0
  2209. package/dist/chunks/index-CDxV4b81.js +69 -0
  2210. package/dist/chunks/index-CMCn9ErF.js +90 -0
  2211. package/dist/chunks/index-CNfXJAao.js +2 -0
  2212. package/dist/chunks/index-CQsae1nq.js +207 -0
  2213. package/dist/chunks/index-CS0VbiLD.js +52 -0
  2214. package/dist/chunks/index-CUkeTGqM.js +129 -0
  2215. package/dist/chunks/index-CVmd0prf.js +2 -0
  2216. package/dist/chunks/index-CXpkT25O.js +183 -0
  2217. package/dist/chunks/index-CZuTNeNm.js +2 -0
  2218. package/dist/chunks/index-CasNhhrL.js +96 -0
  2219. package/dist/chunks/index-Ce7GWENF.js +377 -0
  2220. package/dist/chunks/index-Cf-02TAg.js +265 -0
  2221. package/dist/chunks/index-CfjQWSrh.js +52 -0
  2222. package/dist/chunks/index-Chr7gBBz.js +443 -0
  2223. package/dist/chunks/index-Ci875Zlg.js +346 -0
  2224. package/dist/chunks/index-Ck8v_Gv7.js +46 -0
  2225. package/dist/chunks/index-ClJLPEUB.js +7 -0
  2226. package/dist/chunks/index-Cm7U1-fU.js +89 -0
  2227. package/dist/chunks/index-CmQO-RmM.js +168 -0
  2228. package/dist/chunks/index-Cn029KTN.js +3793 -0
  2229. package/dist/chunks/index-CrizvxOJ.js +96 -0
  2230. package/dist/chunks/index-Ctcr_Qeu.js +136 -0
  2231. package/dist/chunks/index-CwA6RzIB.js +3793 -0
  2232. package/dist/chunks/index-D1dI63ej.js +46 -0
  2233. package/dist/chunks/index-DCS32A2i.js +663 -0
  2234. package/dist/chunks/index-DIPrBH-4.js +159 -0
  2235. package/dist/chunks/index-DOFoNxvb.js +131 -0
  2236. package/dist/chunks/index-DS4MhAw-.js +207 -0
  2237. package/dist/chunks/index-DVkCEuws.js +136 -0
  2238. package/dist/chunks/index-DVmqMmgb.js +1054 -0
  2239. package/dist/chunks/index-Db13NlHh.js +128 -0
  2240. package/dist/chunks/index-DiMFxS0z.js +265 -0
  2241. package/dist/chunks/index-DjSafAkN.js +102 -0
  2242. package/dist/chunks/index-Dja2O-hV.js +663 -0
  2243. package/dist/chunks/index-DkadaaXq.js +658 -0
  2244. package/dist/chunks/index-Dn11CLtk.js +7 -0
  2245. package/dist/chunks/index-Do3spFJT.js +340 -0
  2246. package/dist/chunks/index-DrFRZ0Yg.js +2 -0
  2247. package/dist/chunks/index-Drh-J9O7.js +227 -0
  2248. package/dist/chunks/index-DvEQhXi2.js +1054 -0
  2249. package/dist/chunks/index-Dx5_CB2E.js +143 -0
  2250. package/dist/chunks/index-GiS0x6jg.js +90 -0
  2251. package/dist/chunks/index-J2NvjjDV.js +26969 -0
  2252. package/dist/chunks/index-NacvqeQ5.js +69 -0
  2253. package/dist/chunks/index-RNJhFzdr.js +227 -0
  2254. package/dist/chunks/index-RR5OUxje.js +140 -0
  2255. package/dist/chunks/index-R_vUB6CL.js +2 -0
  2256. package/dist/chunks/index-RzkvIfJQ.js +279 -0
  2257. package/dist/chunks/index-TQft1s5H.js +20 -0
  2258. package/dist/chunks/index-ZmQRP38W.js +26969 -0
  2259. package/dist/chunks/index-jdOZ4AkD.js +143 -0
  2260. package/dist/chunks/index-kNa21kUI.js +279 -0
  2261. package/dist/chunks/index-v4AV9kAc.js +108 -0
  2262. package/dist/chunks/readonly.config.json +14 -0
  2263. package/dist/chunks/run-review-command.logic-CA2Rjymb.js +331 -0
  2264. package/dist/chunks/run-review-command.logic-CU1Slmc_.js +331 -0
  2265. package/dist/chunks/serve.cmd-RxYS6WoN.js +162 -0
  2266. package/dist/chunks/serve.cmd-dWu_k_G_.js +162 -0
  2267. package/dist/chunks/services-Csd556Tv.js +46832 -0
  2268. package/dist/chunks/services-CwvXl2MB.js +46832 -0
  2269. package/dist/chunks/shared-B5CTGvpG.js +4509 -0
  2270. package/dist/chunks/shared-DSZTUx5b.js +4509 -0
  2271. package/dist/chunks/stats-help-BnLpk6Ns.js +6 -0
  2272. package/dist/chunks/stats-index-BLztvK69.js +66 -0
  2273. package/dist/chunks/stats-index-H6ALcjxy.js +66 -0
  2274. package/dist/cli/cmd/_shared/create-vcs-client.d.ts +8 -0
  2275. package/dist/cli/cmd/_shared/log-filter.d.ts +6 -0
  2276. package/dist/cli/cmd/_shared/vcs-context-resolver.d.ts +65 -0
  2277. package/dist/cli/cmd/alt-opinion/alt-opinion-parser.d.ts +1 -6
  2278. package/dist/cli/cmd/alt-opinion/alt-opinion-runner.d.ts +1 -5
  2279. package/dist/cli/cmd/alt-opinion/alt-opinion.cmd.d.ts +1 -5
  2280. package/dist/cli/cmd/inbox/_core/logic/build-inbox-context.logic.d.ts +12 -0
  2281. package/dist/cli/cmd/inbox/_core/logic/build-inbox-view.logic.d.ts +92 -0
  2282. package/dist/cli/cmd/inbox/_core/logic/classify-inbox.logic.d.ts +20 -0
  2283. package/dist/cli/cmd/inbox/_core/logic/classify-mr-stage.logic.d.ts +72 -0
  2284. package/dist/cli/cmd/inbox/_core/logic/inbox-config.logic.d.ts +41 -0
  2285. package/dist/cli/cmd/inbox/_core/logic/inbox-registry.logic.d.ts +77 -0
  2286. package/dist/cli/cmd/inbox/_core/logic/parse-mr-activity.logic.d.ts +17 -0
  2287. package/dist/cli/cmd/inbox/_core/logic/render-inbox-view.logic.d.ts +31 -0
  2288. package/dist/cli/cmd/inbox/_core/logic/repos-map.logic.d.ts +19 -0
  2289. package/dist/cli/cmd/inbox/_core/logic/state-paths.logic.d.ts +53 -0
  2290. package/dist/cli/cmd/inbox/config-help.d.ts +2 -0
  2291. package/dist/cli/cmd/inbox/config-index.d.ts +1 -0
  2292. package/dist/cli/cmd/inbox/config.cmd.d.ts +1 -0
  2293. package/dist/cli/cmd/inbox/eval.cmd.d.ts +8 -0
  2294. package/dist/cli/cmd/inbox/help.d.ts +4 -0
  2295. package/dist/cli/cmd/inbox/inbox.cmd.d.ts +2 -0
  2296. package/dist/cli/cmd/inbox/index.d.ts +1 -0
  2297. package/dist/cli/cmd/inbox/serve/help.d.ts +4 -0
  2298. package/dist/cli/cmd/inbox/serve.cmd.d.ts +2 -0
  2299. package/dist/cli/cmd/inbox/stats-help.d.ts +2 -0
  2300. package/dist/cli/cmd/inbox/stats-index.d.ts +1 -0
  2301. package/dist/cli/cmd/inbox/stats.cmd.d.ts +2 -0
  2302. package/dist/cli/cmd/inbox-context/help.d.ts +4 -0
  2303. package/dist/cli/cmd/inbox-context/inbox-context.cmd.d.ts +2 -0
  2304. package/dist/cli/cmd/inbox-context/index.d.ts +2 -0
  2305. package/dist/cli/cmd/inbox-eval/inbox-eval.cmd.d.ts +20 -0
  2306. package/dist/cli/cmd/inbox-review-plan/inbox-review-plan.cmd.d.ts +109 -0
  2307. package/dist/cli/cmd/inbox-review-plan/index.d.ts +1 -0
  2308. package/dist/cli/cmd/lint/checks/anchor-class-body.check.d.ts +1 -4
  2309. package/dist/cli/cmd/lint/checks/anchor-thin.check.d.ts +10 -0
  2310. package/dist/cli/cmd/lint/checks/cast-safety.check.d.ts +9 -0
  2311. package/dist/cli/cmd/lint/checks/inventory-sync.check.d.ts +27 -0
  2312. package/dist/cli/cmd/lint/checks/region-comment.check.d.ts +14 -0
  2313. package/dist/cli/cmd/lint/checks/word-count.check.d.ts +13 -0
  2314. package/dist/cli/cmd/lint/lint.cmd.d.ts +1 -1
  2315. package/dist/cli/cmd/lint/lint.types.d.ts +26 -3
  2316. package/dist/cli/cmd/lint/utils/resolve-references.fn.d.ts +1 -2
  2317. package/dist/cli/cmd/mr-stats/help.d.ts +4 -0
  2318. package/dist/cli/cmd/mr-stats/index.d.ts +1 -0
  2319. package/dist/cli/cmd/mr-stats/mr-stats.cmd.d.ts +7 -0
  2320. package/dist/cli/cmd/review/_core/logic/load-review-context-mr.logic.d.ts +3 -2
  2321. package/dist/cli/cmd/review/_core/types/review-command-args.type.d.ts +6 -0
  2322. package/dist/cli/cmd/review/_core/types/review-command-options.type.d.ts +3 -0
  2323. package/dist/cli/cmd/review/_core/types/review-context-mr.type.d.ts +2 -0
  2324. package/dist/cli/cmd/review/_core/xml/build-review-artifact.xml.d.ts +4 -2
  2325. package/dist/cli/cmd/run/help.d.ts +4 -0
  2326. package/dist/cli/cmd/run/index.d.ts +1 -0
  2327. package/dist/cli/cmd/run/run.cmd.d.ts +12 -0
  2328. package/dist/cli/cmd/sdd-check/help.d.ts +4 -0
  2329. package/dist/cli/cmd/sdd-check/index.d.ts +1 -0
  2330. package/dist/cli/cmd/sdd-check/sdd-check.cmd.d.ts +7 -0
  2331. package/dist/cli/cmd/sdd-check/sdd-check.types.d.ts +31 -0
  2332. package/dist/cli/cmd/sdd-extract/help.d.ts +4 -0
  2333. package/dist/cli/cmd/sdd-extract/index.d.ts +1 -0
  2334. package/dist/cli/cmd/sdd-extract/sdd-extract.cmd.d.ts +7 -0
  2335. package/dist/cli/cmd/sdd-extract/sdd-extract.types.d.ts +61 -0
  2336. package/dist/cli/cmd/sdd-log/help.d.ts +4 -0
  2337. package/dist/cli/cmd/sdd-log/index.d.ts +1 -0
  2338. package/dist/cli/cmd/sdd-log/sdd-log.cmd.d.ts +9 -0
  2339. package/dist/cli/cmd/sdd-log/sdd-log.types.d.ts +110 -0
  2340. package/dist/cli/cmd/sdd-migrate/help.d.ts +4 -0
  2341. package/dist/cli/cmd/sdd-migrate/index.d.ts +1 -0
  2342. package/dist/cli/cmd/sdd-migrate/sdd-migrate.cmd.d.ts +9 -0
  2343. package/dist/cli/cmd/sdd-migrate/sdd-migrate.types.d.ts +23 -0
  2344. package/dist/cli/cmd/sdd-new/help.d.ts +4 -0
  2345. package/dist/cli/cmd/sdd-new/index.d.ts +1 -0
  2346. package/dist/cli/cmd/sdd-new/sdd-new.cmd.d.ts +33 -0
  2347. package/dist/cli/cmd/sdd-new/sdd-new.types.d.ts +71 -0
  2348. package/dist/cli/cmd/sdd-state/help.d.ts +4 -0
  2349. package/dist/cli/cmd/sdd-state/index.d.ts +1 -0
  2350. package/dist/cli/cmd/sdd-state/sdd-state.cmd.d.ts +7 -0
  2351. package/dist/cli/cmd/sdd-state/sdd-state.types.d.ts +62 -0
  2352. package/dist/cli/cmd/sdd-sync/help.d.ts +4 -0
  2353. package/dist/cli/cmd/sdd-sync/index.d.ts +1 -0
  2354. package/dist/cli/cmd/sdd-sync/sdd-sync.cmd.d.ts +7 -0
  2355. package/dist/cli/cmd/sdd-sync/sdd-sync.types.d.ts +39 -0
  2356. package/dist/cli/cmd/sdd-task/help.d.ts +4 -0
  2357. package/dist/cli/cmd/sdd-task/index.d.ts +1 -0
  2358. package/dist/cli/cmd/sdd-task/sdd-task.cmd.d.ts +7 -0
  2359. package/dist/cli/cmd/sdd-task/sdd-task.types.d.ts +53 -0
  2360. package/dist/cli/cmd/sdd-verify/help.d.ts +4 -0
  2361. package/dist/cli/cmd/sdd-verify/index.d.ts +1 -0
  2362. package/dist/cli/cmd/sdd-verify/sdd-verify.cmd.d.ts +15 -0
  2363. package/dist/cli/cmd/sdd-verify/sdd-verify.types.d.ts +73 -0
  2364. package/dist/cli/cmd/sync/sync-core.d.ts +1 -1
  2365. package/dist/cli/cmd/sync/sync.cmd.d.ts +1 -4
  2366. package/dist/cli/cmd/sync-skills/sync-skills.cmd.d.ts +1 -4
  2367. package/dist/cli/cmd/testcov/coverage-threshold.d.ts +33 -0
  2368. package/dist/cli/cmd/testcov/help.d.ts +4 -0
  2369. package/dist/cli/cmd/testcov/index.d.ts +1 -0
  2370. package/dist/cli/cmd/testcov/testcov.cmd.d.ts +1 -0
  2371. package/dist/cli/cmd/vcs-approve/help.d.ts +5 -0
  2372. package/dist/cli/cmd/vcs-approve/index.d.ts +1 -0
  2373. package/dist/cli/cmd/vcs-approve/vcs-approve.cmd.d.ts +28 -0
  2374. package/dist/cli/cmd/vcs-diff/help.d.ts +5 -0
  2375. package/dist/cli/cmd/vcs-diff/index.d.ts +2 -0
  2376. package/dist/cli/cmd/vcs-diff/vcs-diff.cmd.d.ts +29 -0
  2377. package/dist/cli/cmd/vcs-discussions/help.d.ts +5 -0
  2378. package/dist/cli/cmd/vcs-discussions/index.d.ts +1 -0
  2379. package/dist/cli/cmd/vcs-discussions/vcs-discussions.cmd.d.ts +18 -0
  2380. package/dist/cli/cmd/vcs-draft-note/help.d.ts +5 -0
  2381. package/dist/cli/cmd/vcs-draft-note/index.d.ts +1 -0
  2382. package/dist/cli/cmd/vcs-draft-note/vcs-draft-note.cmd.d.ts +30 -0
  2383. package/dist/cli/cmd/vcs-job/help.d.ts +5 -0
  2384. package/dist/cli/cmd/vcs-job/index.d.ts +2 -0
  2385. package/dist/cli/cmd/vcs-job/vcs-job.cmd.d.ts +31 -0
  2386. package/dist/cli/cmd/vcs-job-log/help.d.ts +5 -0
  2387. package/dist/cli/cmd/vcs-job-log/index.d.ts +2 -0
  2388. package/dist/cli/cmd/vcs-job-log/vcs-job-log.cmd.d.ts +28 -0
  2389. package/dist/cli/cmd/vcs-mr-create/help.d.ts +5 -0
  2390. package/dist/cli/cmd/vcs-mr-create/index.d.ts +1 -0
  2391. package/dist/cli/cmd/vcs-mr-create/vcs-mr-create.cmd.d.ts +19 -0
  2392. package/dist/cli/cmd/vcs-mr-edit/help.d.ts +5 -0
  2393. package/dist/cli/cmd/vcs-mr-edit/index.d.ts +1 -0
  2394. package/dist/cli/cmd/vcs-mr-edit/vcs-mr-edit.cmd.d.ts +18 -0
  2395. package/dist/cli/cmd/vcs-pipeline/help.d.ts +5 -0
  2396. package/dist/cli/cmd/vcs-pipeline/index.d.ts +2 -0
  2397. package/dist/cli/cmd/vcs-pipeline/vcs-pipeline.cmd.d.ts +29 -0
  2398. package/dist/cli/cmd/vcs-react/help.d.ts +5 -0
  2399. package/dist/cli/cmd/vcs-react/index.d.ts +1 -0
  2400. package/dist/cli/cmd/vcs-react/vcs-react.cmd.d.ts +16 -0
  2401. package/dist/cli/cmd/vcs-reply/vcs-reply.cmd.d.ts +49 -8
  2402. package/dist/cli/cmd/vcs-todo/help.d.ts +4 -0
  2403. package/dist/cli/cmd/vcs-todo/index.d.ts +1 -0
  2404. package/dist/cli/cmd/vcs-todo/vcs-todo.cmd.d.ts +35 -0
  2405. package/dist/cli/cmd/vcs-worktree/_core/logic/locate-clone.logic.d.ts +38 -0
  2406. package/dist/cli/cmd/vcs-worktree/_core/logic/worktree-links.logic.d.ts +47 -0
  2407. package/dist/cli/cmd/vcs-worktree/_core/logic/worktree-ops.logic.d.ts +80 -0
  2408. package/dist/cli/cmd/vcs-worktree/help.d.ts +4 -0
  2409. package/dist/cli/cmd/vcs-worktree/index.d.ts +1 -0
  2410. package/dist/cli/cmd/vcs-worktree/vcs-worktree.cmd.d.ts +2 -0
  2411. package/dist/cli/cmd/yagni/help.d.ts +4 -0
  2412. package/dist/cli/cmd/yagni/index.d.ts +1 -0
  2413. package/dist/cli/cmd/yagni/yagni.cmd.d.ts +8 -0
  2414. package/dist/cli/cmd/yagni/yagni.types.d.ts +16 -0
  2415. package/dist/gennady.js +209 -21
  2416. package/dist/index.js +4 -4
  2417. package/dist/services/agent-inbox/modules/inbox-api/board-provider.mock.d.ts +157 -0
  2418. package/dist/services/agent-inbox/modules/inbox-api/board-provider.port.d.ts +79 -0
  2419. package/dist/services/agent-inbox/modules/inbox-api/board-provider.real.d.ts +139 -0
  2420. package/dist/services/agent-inbox/modules/inbox-api/dto/feed-widget.type.d.ts +87 -0
  2421. package/dist/services/agent-inbox/modules/inbox-api/dto/mr-card.type.d.ts +48 -0
  2422. package/dist/services/agent-inbox/modules/inbox-api/errors.d.ts +41 -0
  2423. package/dist/services/agent-inbox/modules/inbox-api/http-helpers.d.ts +46 -0
  2424. package/dist/services/agent-inbox/modules/inbox-api/http-server.d.ts +204 -0
  2425. package/dist/services/agent-inbox/modules/inbox-api/index.d.ts +7 -0
  2426. package/dist/services/agent-inbox/modules/inbox-api/projections/board-projection.d.ts +106 -0
  2427. package/dist/services/agent-inbox/modules/inbox-api/projections/feed-projection.d.ts +96 -0
  2428. package/dist/services/agent-inbox/modules/inbox-api/routers/artifact.router.d.ts +55 -0
  2429. package/dist/services/agent-inbox/modules/inbox-api/routers/audit.router.d.ts +27 -0
  2430. package/dist/services/agent-inbox/modules/inbox-api/routers/board.router.d.ts +40 -0
  2431. package/dist/services/agent-inbox/modules/inbox-api/routers/boot.router.d.ts +70 -0
  2432. package/dist/services/agent-inbox/modules/inbox-api/routers/chat.router.d.ts +133 -0
  2433. package/dist/services/agent-inbox/modules/inbox-api/routers/decision.router.d.ts +38 -0
  2434. package/dist/services/agent-inbox/modules/inbox-api/routers/diagnostics.router.d.ts +18 -0
  2435. package/dist/services/agent-inbox/modules/inbox-api/routers/feed.router.d.ts +27 -0
  2436. package/dist/services/agent-inbox/modules/inbox-api/routers/mr.router.d.ts +64 -0
  2437. package/dist/services/agent-inbox/modules/inbox-api/routers/mutate.router.d.ts +60 -0
  2438. package/dist/services/agent-inbox/modules/inbox-api/routers/role.router.d.ts +28 -0
  2439. package/dist/services/agent-inbox/modules/inbox-api/routers/state.router.d.ts +68 -0
  2440. package/dist/services/agent-inbox/modules/inbox-api/routers/stream.router.d.ts +33 -0
  2441. package/dist/services/agent-inbox/modules/inbox-api/routers/task.router.d.ts +28 -0
  2442. package/dist/services/agent-inbox/modules/inbox-api/sse-hub.d.ts +88 -0
  2443. package/dist/services/agent-inbox/modules/inbox-api/static-files.d.ts +34 -0
  2444. package/dist/services/agent-inbox/modules/inbox-api/types.d.ts +110 -0
  2445. package/dist/services/agent-inbox/modules/inbox-chat/anchor.d.ts +40 -0
  2446. package/dist/services/agent-inbox/modules/inbox-chat/chat-gc.d.ts +29 -0
  2447. package/dist/services/agent-inbox/modules/inbox-chat/chat-session.d.ts +119 -0
  2448. package/dist/services/agent-inbox/modules/inbox-chat/chat-transcript.d.ts +44 -0
  2449. package/dist/services/agent-inbox/modules/inbox-chat/context-assembler.d.ts +77 -0
  2450. package/dist/services/agent-inbox/modules/inbox-chat/errors.d.ts +19 -0
  2451. package/dist/services/agent-inbox/modules/inbox-chat/mutation-applier.d.ts +125 -0
  2452. package/dist/services/agent-inbox/modules/inbox-chat/mutation-flow.d.ts +94 -0
  2453. package/dist/services/agent-inbox/modules/inbox-chat/mutation-runtime.d.ts +91 -0
  2454. package/dist/services/agent-inbox/modules/inbox-chat/operator-session.d.ts +102 -0
  2455. package/dist/services/agent-inbox/modules/inbox-chat/origin.d.ts +20 -0
  2456. package/dist/services/agent-inbox/modules/inbox-chat/types.d.ts +76 -0
  2457. package/dist/services/agent-inbox/modules/inbox-core/adapters/controlled-clock.d.ts +45 -0
  2458. package/dist/services/agent-inbox/modules/inbox-core/adapters/in-memory-artifact-store.d.ts +27 -0
  2459. package/dist/services/agent-inbox/modules/inbox-core/adapters/in-memory-journal.d.ts +29 -0
  2460. package/dist/services/agent-inbox/modules/inbox-core/adapters/local-artifact-store.d.ts +36 -0
  2461. package/dist/services/agent-inbox/modules/inbox-core/adapters/system-clock.d.ts +22 -0
  2462. package/dist/services/agent-inbox/modules/inbox-core/audit-log.d.ts +64 -0
  2463. package/dist/services/agent-inbox/modules/inbox-core/boot-readiness.d.ts +106 -0
  2464. package/dist/services/agent-inbox/modules/inbox-core/capability-modes.d.ts +33 -0
  2465. package/dist/services/agent-inbox/modules/inbox-core/context-builder.d.ts +66 -0
  2466. package/dist/services/agent-inbox/modules/inbox-core/decision-journal.d.ts +121 -0
  2467. package/dist/services/agent-inbox/modules/inbox-core/dry-run.d.ts +49 -0
  2468. package/dist/services/agent-inbox/modules/inbox-core/errors.d.ts +19 -0
  2469. package/dist/services/agent-inbox/modules/inbox-core/event-journal.d.ts +144 -0
  2470. package/dist/services/agent-inbox/modules/inbox-core/finding-signature.d.ts +34 -0
  2471. package/dist/services/agent-inbox/modules/inbox-core/inbox-config.d.ts +68 -0
  2472. package/dist/services/agent-inbox/modules/inbox-core/inbox-registry.d.ts +135 -0
  2473. package/dist/services/agent-inbox/modules/inbox-core/ports/artifact-store.port.d.ts +44 -0
  2474. package/dist/services/agent-inbox/modules/inbox-core/ports/clock.port.d.ts +31 -0
  2475. package/dist/services/agent-inbox/modules/inbox-core/review-config.d.ts +63 -0
  2476. package/dist/services/agent-inbox/modules/inbox-core/runtime-profile.d.ts +57 -0
  2477. package/dist/services/agent-inbox/modules/inbox-core/runtime-profile.port.d.ts +71 -0
  2478. package/dist/services/agent-inbox/modules/inbox-core/state/review-change-batch.d.ts +101 -0
  2479. package/dist/services/agent-inbox/modules/inbox-core/state/review-lifecycle.d.ts +58 -0
  2480. package/dist/services/agent-inbox/modules/inbox-core/state/review-participation.d.ts +56 -0
  2481. package/dist/services/agent-inbox/modules/inbox-core/state/review-state.d.ts +79 -0
  2482. package/dist/services/agent-inbox/modules/inbox-core/state-store.d.ts +153 -0
  2483. package/dist/services/agent-inbox/modules/inbox-core/test-support/test-tmp.d.ts +14 -0
  2484. package/dist/services/agent-inbox/modules/inbox-core/types/review-event.type.d.ts +71 -0
  2485. package/dist/services/agent-inbox/modules/inbox-core/types/review-runtime-binding.type.d.ts +10 -0
  2486. package/dist/services/agent-inbox/modules/inbox-core/types/review-runtime-profile-spec.type.d.ts +15 -0
  2487. package/dist/services/agent-inbox/modules/inbox-core/types/review-runtime-roots.type.d.ts +9 -0
  2488. package/dist/services/agent-inbox/modules/inbox-core/vcs-inbox.mock.d.ts +61 -0
  2489. package/dist/services/agent-inbox/modules/inbox-core/vcs-inbox.port.d.ts +110 -0
  2490. package/dist/services/agent-inbox/modules/inbox-core/vcs-inbox.real.d.ts +146 -0
  2491. package/dist/services/agent-inbox/modules/inbox-core/vcs-validators.d.ts +7 -0
  2492. package/dist/services/agent-inbox/modules/inbox-dashboard/App.d.ts +4 -0
  2493. package/dist/services/agent-inbox/modules/inbox-dashboard/components/ActionPanel.d.ts +13 -0
  2494. package/dist/services/agent-inbox/modules/inbox-dashboard/components/ArtifactBrowser.d.ts +14 -0
  2495. package/dist/services/agent-inbox/modules/inbox-dashboard/components/ArtifactView.d.ts +10 -0
  2496. package/dist/services/agent-inbox/modules/inbox-dashboard/components/AwaitingQueue.d.ts +8 -0
  2497. package/dist/services/agent-inbox/modules/inbox-dashboard/components/BoardPage.d.ts +5 -0
  2498. package/dist/services/agent-inbox/modules/inbox-dashboard/components/BoardSkeleton.d.ts +5 -0
  2499. package/dist/services/agent-inbox/modules/inbox-dashboard/components/ChatComposer.d.ts +24 -0
  2500. package/dist/services/agent-inbox/modules/inbox-dashboard/components/ChatPanel.d.ts +21 -0
  2501. package/dist/services/agent-inbox/modules/inbox-dashboard/components/ChatThread.d.ts +19 -0
  2502. package/dist/services/agent-inbox/modules/inbox-dashboard/components/DebugLogButton.d.ts +5 -0
  2503. package/dist/services/agent-inbox/modules/inbox-dashboard/components/Header.d.ts +4 -0
  2504. package/dist/services/agent-inbox/modules/inbox-dashboard/components/KanbanLane.d.ts +16 -0
  2505. package/dist/services/agent-inbox/modules/inbox-dashboard/components/MrCard.d.ts +9 -0
  2506. package/dist/services/agent-inbox/modules/inbox-dashboard/components/MrDetailPage.d.ts +8 -0
  2507. package/dist/services/agent-inbox/modules/inbox-dashboard/components/MutationProposalCard.d.ts +19 -0
  2508. package/dist/services/agent-inbox/modules/inbox-dashboard/components/RoleBlock.d.ts +8 -0
  2509. package/dist/services/agent-inbox/modules/inbox-dashboard/components/SelectionPill.d.ts +18 -0
  2510. package/dist/services/agent-inbox/modules/inbox-dashboard/components/UnassignedBlock.d.ts +8 -0
  2511. package/dist/services/agent-inbox/modules/inbox-dashboard/components/ViewSwitch.d.ts +11 -0
  2512. package/dist/services/agent-inbox/modules/inbox-dashboard/dashboard-entry.d.ts +3 -0
  2513. package/dist/services/agent-inbox/modules/inbox-dashboard/dashboard-v2-api.d.ts +24 -0
  2514. package/dist/services/agent-inbox/modules/inbox-dashboard/dashboard-v2-ui.d.ts +93 -0
  2515. package/dist/services/agent-inbox/modules/inbox-dashboard/lib/utils.d.ts +19 -0
  2516. package/dist/services/agent-inbox/modules/inbox-dashboard/services/api-client.d.ts +73 -0
  2517. package/dist/services/agent-inbox/modules/inbox-dashboard/services/board-store.d.ts +39 -0
  2518. package/dist/services/agent-inbox/modules/inbox-dashboard/services/chat-api-client.d.ts +111 -0
  2519. package/dist/services/agent-inbox/modules/inbox-dashboard/services/debug-log.d.ts +44 -0
  2520. package/dist/services/agent-inbox/modules/inbox-dashboard/v2-types.d.ts +134 -0
  2521. package/dist/services/agent-inbox/modules/inbox-dashboard/vite.config.d.ts +5 -0
  2522. package/dist/services/agent-inbox/modules/inbox-eval/diff-hunk.d.ts +37 -0
  2523. package/dist/services/agent-inbox/modules/inbox-eval/eval-driver.d.ts +51 -0
  2524. package/dist/services/agent-inbox/modules/inbox-eval/eval-report.d.ts +48 -0
  2525. package/dist/services/agent-inbox/modules/inbox-eval/gates.d.ts +120 -0
  2526. package/dist/services/agent-inbox/modules/inbox-eval/harness.d.ts +44 -0
  2527. package/dist/services/agent-inbox/modules/inbox-eval/metrics.d.ts +56 -0
  2528. package/dist/services/agent-inbox/modules/inbox-eval/runs/autonomy.run.d.ts +9 -0
  2529. package/dist/services/agent-inbox/modules/inbox-eval/runs/boot.run.d.ts +7 -0
  2530. package/dist/services/agent-inbox/modules/inbox-eval/runs/chat.run.d.ts +7 -0
  2531. package/dist/services/agent-inbox/modules/inbox-eval/runs/context.d.ts +33 -0
  2532. package/dist/services/agent-inbox/modules/inbox-eval/runs/coverage-gate.run.d.ts +7 -0
  2533. package/dist/services/agent-inbox/modules/inbox-eval/runs/crash-recovery.run.d.ts +7 -0
  2534. package/dist/services/agent-inbox/modules/inbox-eval/runs/effects.run.d.ts +7 -0
  2535. package/dist/services/agent-inbox/modules/inbox-eval/runs/events.run.d.ts +7 -0
  2536. package/dist/services/agent-inbox/modules/inbox-eval/runs/index.d.ts +11 -0
  2537. package/dist/services/agent-inbox/modules/inbox-eval/runs/parallel.run.d.ts +7 -0
  2538. package/dist/services/agent-inbox/modules/inbox-eval/runs/pipeline.run.d.ts +7 -0
  2539. package/dist/services/agent-inbox/modules/inbox-eval/runs/role-pickup.run.d.ts +7 -0
  2540. package/dist/services/agent-inbox/modules/inbox-mocks/board.mock.d.ts +38 -0
  2541. package/dist/services/agent-inbox/modules/inbox-mocks/index.d.ts +6 -0
  2542. package/dist/services/agent-inbox/modules/inbox-mocks/mr.mock.d.ts +139 -0
  2543. package/dist/services/agent-inbox/modules/inbox-mocks/opencode.mock.d.ts +32 -0
  2544. package/dist/services/agent-inbox/modules/inbox-opencode/agent-coverage-trace.d.ts +25 -0
  2545. package/dist/services/agent-inbox/modules/inbox-opencode/agent-outcome-classifier.d.ts +61 -0
  2546. package/dist/services/agent-inbox/modules/inbox-opencode/errors.d.ts +51 -0
  2547. package/dist/services/agent-inbox/modules/inbox-opencode/opencode.mock.d.ts +201 -0
  2548. package/dist/services/agent-inbox/modules/inbox-opencode/opencode.port.d.ts +272 -0
  2549. package/dist/services/agent-inbox/modules/inbox-opencode/opencode.real.d.ts +220 -0
  2550. package/dist/services/agent-inbox/modules/inbox-opencode/prompt-compile.d.ts +88 -0
  2551. package/dist/services/agent-inbox/modules/inbox-opencode/schema-registry.d.ts +57 -0
  2552. package/dist/services/agent-inbox/modules/inbox-opencode/session-lifecycle.d.ts +122 -0
  2553. package/dist/services/agent-inbox/modules/inbox-opencode/session-pool.d.ts +218 -0
  2554. package/dist/services/agent-inbox/modules/inbox-opencode/session-registry.d.ts +85 -0
  2555. package/dist/services/agent-inbox/modules/inbox-pipeline/adapters/local-review-runtime-receipt-store.adapter.d.ts +52 -0
  2556. package/dist/services/agent-inbox/modules/inbox-pipeline/adapters/memory-review-runtime-receipt-store.adapter.d.ts +58 -0
  2557. package/dist/services/agent-inbox/modules/inbox-pipeline/coverage-gate.d.ts +74 -0
  2558. package/dist/services/agent-inbox/modules/inbox-pipeline/findings-journal.d.ts +93 -0
  2559. package/dist/services/agent-inbox/modules/inbox-pipeline/gate-verdict.d.ts +68 -0
  2560. package/dist/services/agent-inbox/modules/inbox-pipeline/lens-registry.d.ts +66 -0
  2561. package/dist/services/agent-inbox/modules/inbox-pipeline/model/review-artifact.d.ts +20 -0
  2562. package/dist/services/agent-inbox/modules/inbox-pipeline/model/review-contract.d.ts +28 -0
  2563. package/dist/services/agent-inbox/modules/inbox-pipeline/model/review-finding.d.ts +11 -0
  2564. package/dist/services/agent-inbox/modules/inbox-pipeline/model/review-input-manifest.d.ts +43 -0
  2565. package/dist/services/agent-inbox/modules/inbox-pipeline/model/review-plan.d.ts +33 -0
  2566. package/dist/services/agent-inbox/modules/inbox-pipeline/model/review-receipt-consumption.d.ts +14 -0
  2567. package/dist/services/agent-inbox/modules/inbox-pipeline/model/review-repair-task.d.ts +13 -0
  2568. package/dist/services/agent-inbox/modules/inbox-pipeline/model/review-slot-schema-catalog.d.ts +36 -0
  2569. package/dist/services/agent-inbox/modules/inbox-pipeline/model/review-synthesis.d.ts +30 -0
  2570. package/dist/services/agent-inbox/modules/inbox-pipeline/pipeline-runtime.d.ts +230 -0
  2571. package/dist/services/agent-inbox/modules/inbox-pipeline/plan-template.d.ts +62 -0
  2572. package/dist/services/agent-inbox/modules/inbox-pipeline/planning/review-contract-compiler.d.ts +52 -0
  2573. package/dist/services/agent-inbox/modules/inbox-pipeline/planning/review-input-manifest-builder.d.ts +36 -0
  2574. package/dist/services/agent-inbox/modules/inbox-pipeline/ports/review-runtime-receipt-store.port.d.ts +63 -0
  2575. package/dist/services/agent-inbox/modules/inbox-pipeline/receipts/review-runtime-receipt-recorder.d.ts +55 -0
  2576. package/dist/services/agent-inbox/modules/inbox-pipeline/review/review-cross-reviewer.d.ts +41 -0
  2577. package/dist/services/agent-inbox/modules/inbox-pipeline/review/review-orchestrator.d.ts +37 -0
  2578. package/dist/services/agent-inbox/modules/inbox-pipeline/synthesize.d.ts +60 -0
  2579. package/dist/services/agent-inbox/modules/inbox-pipeline/tails/author-tail.d.ts +44 -0
  2580. package/dist/services/agent-inbox/modules/inbox-pipeline/tails/reviewer-tail.d.ts +50 -0
  2581. package/dist/services/agent-inbox/modules/inbox-pipeline/trigger-registry.d.ts +46 -0
  2582. package/dist/services/agent-inbox/modules/inbox-pipeline/types/review-completeness-verdict.type.d.ts +42 -0
  2583. package/dist/services/agent-inbox/modules/inbox-pipeline/types/review-contract-input-mapping.type.d.ts +46 -0
  2584. package/dist/services/agent-inbox/modules/inbox-pipeline/types/review-contract-slot.type.d.ts +40 -0
  2585. package/dist/services/agent-inbox/modules/inbox-pipeline/types/review-coverage.type.d.ts +25 -0
  2586. package/dist/services/agent-inbox/modules/inbox-pipeline/types/review-evidence.type.d.ts +37 -0
  2587. package/dist/services/agent-inbox/modules/inbox-pipeline/types/review-input-classification.type.d.ts +15 -0
  2588. package/dist/services/agent-inbox/modules/inbox-pipeline/types/review-intent.type.d.ts +41 -0
  2589. package/dist/services/agent-inbox/modules/inbox-pipeline/types/review-publication-handoff.type.d.ts +32 -0
  2590. package/dist/services/agent-inbox/modules/inbox-pipeline/types/review-runtime-receipt.type.d.ts +46 -0
  2591. package/dist/services/agent-inbox/modules/inbox-pipeline/verification/review-delta-verifier.d.ts +39 -0
  2592. package/dist/services/agent-inbox/modules/inbox-pipeline/verification/review-freshness-gate.d.ts +77 -0
  2593. package/dist/services/agent-inbox/modules/inbox-queue/adapters/local-task-executor.adapter.d.ts +74 -0
  2594. package/dist/services/agent-inbox/modules/inbox-queue/automation/review-automation-policy.d.ts +95 -0
  2595. package/dist/services/agent-inbox/modules/inbox-queue/effects/review-effect-coordinator.d.ts +118 -0
  2596. package/dist/services/agent-inbox/modules/inbox-queue/executor.d.ts +127 -0
  2597. package/dist/services/agent-inbox/modules/inbox-queue/model/review-action-package.d.ts +73 -0
  2598. package/dist/services/agent-inbox/modules/inbox-queue/model/review-decision.d.ts +54 -0
  2599. package/dist/services/agent-inbox/modules/inbox-queue/model/review-effect-queue.d.ts +79 -0
  2600. package/dist/services/agent-inbox/modules/inbox-queue/model/review-outcome.d.ts +60 -0
  2601. package/dist/services/agent-inbox/modules/inbox-queue/model/review-proposal.d.ts +77 -0
  2602. package/dist/services/agent-inbox/modules/inbox-queue/model/review-task.d.ts +60 -0
  2603. package/dist/services/agent-inbox/modules/inbox-queue/ports/task-executor.port.d.ts +89 -0
  2604. package/dist/services/agent-inbox/modules/inbox-queue/registry/review-action-catalog.d.ts +95 -0
  2605. package/dist/services/agent-inbox/modules/inbox-queue/registry/review-task-registry.d.ts +81 -0
  2606. package/dist/services/agent-inbox/modules/inbox-queue/session-router.d.ts +80 -0
  2607. package/dist/services/agent-inbox/modules/inbox-queue/task-queue.d.ts +129 -0
  2608. package/dist/services/agent-inbox/modules/inbox-queue/task-registry.d.ts +208 -0
  2609. package/dist/services/agent-inbox/modules/inbox-queue/types/review-effect.type.d.ts +106 -0
  2610. package/dist/services/agent-inbox/modules/inbox-queue/types/review-guarded-intent.type.d.ts +38 -0
  2611. package/dist/services/agent-inbox/modules/inbox-roles/artifact-recovery.d.ts +149 -0
  2612. package/dist/services/agent-inbox/modules/inbox-roles/artifact-validator.d.ts +129 -0
  2613. package/dist/services/agent-inbox/modules/inbox-roles/author.role.d.ts +8 -0
  2614. package/dist/services/agent-inbox/modules/inbox-roles/context-builder.d.ts +50 -0
  2615. package/dist/services/agent-inbox/modules/inbox-roles/disk-artifact.d.ts +21 -0
  2616. package/dist/services/agent-inbox/modules/inbox-roles/effect-executor.d.ts +194 -0
  2617. package/dist/services/agent-inbox/modules/inbox-roles/errors.d.ts +31 -0
  2618. package/dist/services/agent-inbox/modules/inbox-roles/mr-watch.d.ts +73 -0
  2619. package/dist/services/agent-inbox/modules/inbox-roles/outcome-classifier.d.ts +12 -0
  2620. package/dist/services/agent-inbox/modules/inbox-roles/phase-telemetry.d.ts +201 -0
  2621. package/dist/services/agent-inbox/modules/inbox-roles/review-progress.d.ts +38 -0
  2622. package/dist/services/agent-inbox/modules/inbox-roles/reviewer.role.d.ts +7 -0
  2623. package/dist/services/agent-inbox/modules/inbox-roles/rights-escalator.d.ts +92 -0
  2624. package/dist/services/agent-inbox/modules/inbox-roles/role-engine.d.ts +82 -0
  2625. package/dist/services/agent-inbox/modules/inbox-roles/role-instance.d.ts +419 -0
  2626. package/dist/services/agent-inbox/modules/inbox-roles/role-node.d.ts +377 -0
  2627. package/dist/services/agent-inbox/modules/inbox-roles/role-scheduler.d.ts +278 -0
  2628. package/dist/services/agent-inbox/modules/inbox-roles/thread-signal-classifier.d.ts +73 -0
  2629. package/dist/services/agent-inbox/modules/inbox-serve/dev-seed.d.ts +7 -0
  2630. package/dist/services/agent-inbox/modules/inbox-serve/inbox-serve.d.ts +1 -0
  2631. package/dist/services/agent-inbox/modules/inbox-vcs/attention.d.ts +54 -0
  2632. package/dist/services/agent-inbox/modules/inbox-vcs/background-verify.d.ts +89 -0
  2633. package/dist/services/agent-inbox/modules/inbox-vcs/effects.d.ts +176 -0
  2634. package/dist/services/agent-inbox/modules/inbox-vcs/event-normalizer.d.ts +78 -0
  2635. package/dist/services/agent-inbox/modules/inbox-vcs/permission-policy.d.ts +45 -0
  2636. package/dist/services/agent-inbox/modules/inbox-vcs/readonly-effect.guard.d.ts +36 -0
  2637. package/dist/services/agent-inbox/modules/inbox-vcs/reconciler.d.ts +52 -0
  2638. package/dist/services/agent-inbox/modules/inbox-vcs/sync-coordinator.d.ts +87 -0
  2639. package/dist/services/agent-inbox/modules/inbox-vcs/sync.d.ts +213 -0
  2640. package/dist/services/agent-inbox/modules/inbox-vcs/vcs-gitlab.port.d.ts +146 -0
  2641. package/dist/services/agent-inbox/modules/inbox-vcs/vcs-port.d.ts +475 -0
  2642. package/dist/services/agent-inbox/modules/inbox-vcs/vcs-runtime.d.ts +17 -0
  2643. package/dist/services/agent-inbox/serve/bootstrap.d.ts +104 -0
  2644. package/dist/services/agent-inbox/serve/pid-utils.d.ts +21 -0
  2645. package/dist/services/agent-inbox/serve/run-mode.d.ts +78 -0
  2646. package/dist/services/agent-inbox/serve/shutdown.d.ts +34 -0
  2647. package/dist/services/agent-inbox/serve/state-seed.d.ts +44 -0
  2648. package/dist/services/agent-inbox/test/cassettes.d.ts +60 -0
  2649. package/dist/services/agent-inbox/test/dto-factories.d.ts +17 -0
  2650. package/dist/services/agent-inbox/test/port-contract.suite.d.ts +28 -0
  2651. package/dist/services/agent-inbox/test/seed.d.ts +44 -0
  2652. package/dist/services/agent-mon/providers/claude/claude-provider.d.ts +0 -2
  2653. package/dist/services/agent-mon/providers/opencode/db.d.ts +1 -1
  2654. package/dist/services/agent-mon/providers/opencode/opencode-provider.d.ts +0 -2
  2655. package/dist/services/agent-run/core/agent-run-error.d.ts +22 -0
  2656. package/dist/services/agent-run/core/ports/agent-engine.port.d.ts +34 -0
  2657. package/dist/services/agent-run/core/registry.d.ts +35 -0
  2658. package/dist/services/agent-run/core/run-options.type.d.ts +39 -0
  2659. package/dist/services/agent-run/core/run.d.ts +27 -0
  2660. package/dist/services/agent-run/engines/opencode/opencode-engine.d.ts +41 -0
  2661. package/dist/services/agent-run/engines/opencode/opencode-error-map.d.ts +31 -0
  2662. package/dist/services/agent-run/index.d.ts +4 -0
  2663. package/dist/services/ai-kit/compile.d.ts +27 -0
  2664. package/dist/services/ai-kit/node-map.d.ts +8 -0
  2665. package/dist/services/ai-kit/selector.d.ts +38 -0
  2666. package/dist/services/dbc/linter/dbc-ast-adapter.types.d.ts +2 -2
  2667. package/dist/services/dbc/linter/dbc-linter.types.d.ts +7 -0
  2668. package/dist/services/dbc/linter/implementations/ts/dbc-ts-ast-adapter.d.ts +19 -11
  2669. package/dist/services/dbc/linter/implementations/ts/dbc-ts-linter.d.ts +28 -23
  2670. package/dist/services/dbc/parser/implementations/jsdoc/dbc-jsdoc-parser.d.ts +0 -2
  2671. package/dist/services/logger/logger.d.ts +8 -1
  2672. package/dist/services/mr-stats/classifier.d.ts +16 -0
  2673. package/dist/services/mr-stats/duplicate-detector.d.ts +16 -0
  2674. package/dist/services/mr-stats/entity-counter.d.ts +11 -0
  2675. package/dist/services/mr-stats/line-counter.d.ts +38 -0
  2676. package/dist/services/mr-stats/mr-resolver.d.ts +66 -0
  2677. package/dist/services/mr-stats/mr-stats.types.d.ts +118 -0
  2678. package/dist/services/mr-stats/reporter.d.ts +32 -0
  2679. package/dist/services/symbol-index/implementations/grep/grep-symbol-index-adapter.d.ts +12 -0
  2680. package/dist/services/symbol-index/implementations/tree-sitter/ts-symbol-index-adapter.d.ts +43 -0
  2681. package/dist/services/symbol-index/select-symbol-index.d.ts +11 -0
  2682. package/dist/services/symbol-index/symbol-index.types.d.ts +38 -0
  2683. package/dist/services/vcs-client/abstract/vcs-client-inbox.d.ts +28 -0
  2684. package/dist/services/vcs-client/abstract/vcs-client-merge-discussions.d.ts +170 -0
  2685. package/dist/services/vcs-client/abstract/vcs-client-merge-requests.d.ts +60 -0
  2686. package/dist/services/vcs-client/abstract/vcs-client-pipeline.d.ts +37 -0
  2687. package/dist/services/vcs-client/abstract/vcs-client-reactions.d.ts +19 -0
  2688. package/dist/services/vcs-client/abstract/vcs-client.d.ts +9 -0
  2689. package/dist/services/vcs-client/entities/mr-activity-event.type.d.ts +19 -0
  2690. package/dist/services/vcs-client/entities/vcs-actionable-mr.type.d.ts +79 -0
  2691. package/dist/services/vcs-client/entities/vcs-delete-discussion-query.type.d.ts +9 -0
  2692. package/dist/services/vcs-client/entities/vcs-delete-note-query.type.d.ts +11 -0
  2693. package/dist/services/vcs-client/entities/vcs-draft-note.type.d.ts +9 -0
  2694. package/dist/services/vcs-client/entities/vcs-job-query.type.d.ts +7 -0
  2695. package/dist/services/vcs-client/entities/vcs-job.type.d.ts +15 -0
  2696. package/dist/services/vcs-client/entities/vcs-merge-request-approve-query.type.d.ts +7 -0
  2697. package/dist/services/vcs-client/entities/vcs-merge-request-create-query.type.d.ts +26 -0
  2698. package/dist/services/vcs-client/entities/vcs-merge-request-update-query.type.d.ts +30 -0
  2699. package/dist/services/vcs-client/entities/vcs-pipeline-status.type.d.ts +14 -0
  2700. package/dist/services/vcs-client/entities/vcs-reaction-query.type.d.ts +14 -0
  2701. package/dist/services/vcs-client/entities/vcs-resolve-discussion-query.type.d.ts +11 -0
  2702. package/dist/services/vcs-client/entities/vcs-update-note-query.type.d.ts +11 -0
  2703. package/dist/services/vcs-client/github/vcs-github-client.d.ts +9 -1
  2704. package/dist/services/vcs-client/github/vcs-github-merge-discussions.d.ts +109 -0
  2705. package/dist/services/vcs-client/github/vcs-github-merge-requests.d.ts +52 -10
  2706. package/dist/services/vcs-client/github/vcs-github-reactions.d.ts +31 -0
  2707. package/dist/services/vcs-client/gitlab/vcs-gitlab-client.d.ts +80 -0
  2708. package/dist/services/vcs-client/gitlab/vcs-gitlab-inbox.d.ts +37 -0
  2709. package/dist/services/vcs-client/gitlab/vcs-gitlab-merge-discussions.d.ts +91 -1
  2710. package/dist/services/vcs-client/gitlab/vcs-gitlab-merge-requests.d.ts +64 -3
  2711. package/dist/services/vcs-client/gitlab/vcs-gitlab-pipeline.d.ts +51 -0
  2712. package/dist/services/vcs-client/gitlab/vcs-gitlab-reactions.d.ts +31 -0
  2713. package/dist/shared/common/changed-files.d.ts +14 -0
  2714. package/dist/shared/common/exec.d.ts +7 -2
  2715. package/dist/shared/common/parse-args.d.ts +8 -1
  2716. package/dist/shared/common/sync/sync-core.shared.d.ts +1 -1
  2717. package/dist/shared/mermaid/mermaid.d.ts +19 -0
  2718. package/dist/shared/prompt-lint/stop-words.d.ts +34 -0
  2719. package/dist/shared/sdd/anchor-inject.d.ts +32 -0
  2720. package/dist/shared/sdd/bdd-coverage.d.ts +72 -0
  2721. package/dist/shared/sdd/check.d.ts +225 -0
  2722. package/dist/shared/sdd/consumers-resolvable.d.ts +41 -0
  2723. package/dist/shared/sdd/flow.d.ts +21 -0
  2724. package/dist/shared/sdd/id-replace.d.ts +68 -0
  2725. package/dist/shared/sdd/inventory.d.ts +6 -0
  2726. package/dist/shared/sdd/mermaid-check.d.ts +10 -0
  2727. package/dist/shared/sdd/migration-move.d.ts +88 -0
  2728. package/dist/shared/sdd/migration-plan.d.ts +126 -0
  2729. package/dist/shared/sdd/portal.d.ts +40 -0
  2730. package/dist/shared/sdd/probe.d.ts +23 -0
  2731. package/dist/shared/sdd/readiness.d.ts +49 -0
  2732. package/dist/shared/sdd/rules-cascade.d.ts +31 -0
  2733. package/dist/shared/sdd/scripts.d.ts +19 -0
  2734. package/dist/shared/sdd/section.d.ts +52 -0
  2735. package/dist/shared/sdd/tasks-append-only.d.ts +17 -0
  2736. package/dist/shared/sdd/templates.d.ts +61 -0
  2737. package/dist/shared/sdd/ticket.d.ts +81 -0
  2738. package/dist/shared/sdd/tracker.d.ts +70 -0
  2739. package/dist/shared/sdd/yagni.d.ts +71 -0
  2740. package/dist/utils/test/mock-http.d.ts +51 -0
  2741. package/package.json +42 -5
  2742. package/ai/directives/dbc-audit.directive.xml +0 -131
  2743. package/ai/directives/dev-review.directive.xml +0 -148
  2744. package/ai/directives/perf-auditor/perf-auditor.directive.xml +0 -75
  2745. package/ai/directives/perf-auditor/rules/async-latency.xml +0 -101
  2746. package/ai/directives/perf-auditor/rules/data-structures.xml +0 -103
  2747. package/ai/directives/perf-auditor/rules/iteration-fusion.xml +0 -96
  2748. package/ai/directives/perf-auditor/rules/memory-gc.xml +0 -102
  2749. package/ai/directives/sdd/README.md +0 -49
  2750. package/ai/directives/sdd/audit.directive.xml +0 -543
  2751. package/ai/directives/sdd/critic-protocol.xml +0 -78
  2752. package/ai/directives/sdd/critic.directive.xml +0 -158
  2753. package/ai/directives/sdd/discovery.directive.xml +0 -824
  2754. package/ai/directives/sdd/fix.directive.xml +0 -249
  2755. package/ai/directives/sdd/module-decomposition.directive.xml +0 -666
  2756. package/ai/directives/sdd/phase-execution-protocol.xml +0 -341
  2757. package/ai/directives/sdd/scaffold.directive.xml +0 -717
  2758. package/ai/directives/sdd/setup.directive.xml +0 -213
  2759. package/ai/directives/sdd/svelte-ui-discovery.directive.xml +0 -263
  2760. package/ai/directives/semantic-change-extractor.directive.xml +0 -99
  2761. package/ai/docs/README.md +0 -17
  2762. package/ai/docs/ai-icl.md +0 -538
  2763. package/ai/docs/ai-priming.md +0 -548
  2764. package/ai/docs/ai-prompt-formats.md +0 -406
  2765. package/ai/docs/ai-promting.md +0 -572
  2766. package/ai/drafts/DRAFT.md +0 -120
  2767. package/ai/drafts/agent-devgen-class-from-description.rules.xml +0 -123
  2768. package/ai/drafts/agent-typescript-devgen.v1.xml +0 -303
  2769. package/ai/drafts/d.md +0 -65
  2770. package/ai/drafts/music-posts.md +0 -105
  2771. package/ai/fw/v1/architecture/blueprint-factory.xml +0 -77
  2772. package/ai/fw/v1/core/mental-model.xml +0 -50
  2773. package/ai/fw/v1/discovery/intent-reactor.xml +0 -92
  2774. package/ai/fw/v1/production/swarm-protocol.xml +0 -122
  2775. package/ai/fw/v1/review/quality-pipeline.xml +0 -102
  2776. package/ai/fw/v2/arch-universal.xml +0 -73
  2777. package/ai/fw-draft/README.md +0 -79
  2778. package/ai/fw-draft/bin/discovery.sh +0 -116
  2779. package/ai/fw-draft/gennady.xml +0 -58
  2780. package/ai/fw-draft/provider/claude.xml +0 -16
  2781. package/ai/fw-draft/provider/cursor.xml +0 -23
  2782. package/ai/fw-draft/provider/default.xml +0 -12
  2783. package/ai/fw-draft/roles/developer.xml +0 -18
  2784. package/ai/fw-draft/router.xml +0 -39
  2785. package/ai/fw-draft/routes/development.xml +0 -32
  2786. package/ai/fw-draft/routes/universal.xml +0 -58
  2787. package/ai/fw-draft/rules/dev/base/file-structure-rules.xml +0 -89
  2788. package/ai/fw-draft/rules/dev/typescript/contacts.xml +0 -194
  2789. package/ai/skills/alt-opinion/SKILL.md +0 -79
  2790. package/ai/skills/alt-opinion/opinion.prompt.md +0 -11
  2791. package/ai/skills/alt-opinion/synth.prompt.md +0 -8
  2792. package/ai/skills/sdd-continue/SKILL.md +0 -13
  2793. package/ai/skills/sdd-discover/SKILL.md +0 -13
  2794. package/ai/skills/sdd-execute/scripts/README.md +0 -84
  2795. package/ai/skills/sdd-execute/scripts/check-blockers.sh +0 -158
  2796. package/ai/skills/sdd-execute/scripts/classify-scripts.js +0 -111
  2797. package/ai/skills/sdd-execute/scripts/classify-scripts.ts +0 -133
  2798. package/ai/skills/sdd-execute/scripts/extract-section.sh +0 -219
  2799. package/ai/skills/sdd-execute/scripts/lint-artifacts.sh +0 -143
  2800. package/ai/skills/sdd-execute/scripts/scan.sh +0 -385
  2801. package/ai/skills/sdd-execute/scripts/sdd +0 -114
  2802. package/ai/skills/sdd-execute/scripts/verify.sh +0 -139
  2803. package/ai/skills/sdd-execute-batch/SKILL.md +0 -213
  2804. package/ai/skills/sdd-fix/SKILL.md +0 -13
  2805. package/ai/skills/sdd-infra/SKILL.md +0 -13
  2806. package/ai/skills/sdd-module-decomposition/SKILL.md +0 -13
  2807. package/ai/skills/sdd-setup/SKILL.md +0 -13
  2808. package/dist/ai/directives/dbc-audit.directive.xml +0 -131
  2809. package/dist/ai/directives/dev-review.directive.xml +0 -148
  2810. package/dist/ai/directives/perf-auditor/perf-auditor.directive.xml +0 -75
  2811. package/dist/ai/directives/perf-auditor/rules/async-latency.xml +0 -101
  2812. package/dist/ai/directives/perf-auditor/rules/data-structures.xml +0 -103
  2813. package/dist/ai/directives/perf-auditor/rules/iteration-fusion.xml +0 -96
  2814. package/dist/ai/directives/perf-auditor/rules/memory-gc.xml +0 -102
  2815. package/dist/ai/directives/sdd/README.md +0 -49
  2816. package/dist/ai/directives/sdd/audit.directive.xml +0 -543
  2817. package/dist/ai/directives/sdd/critic-protocol.xml +0 -78
  2818. package/dist/ai/directives/sdd/critic.directive.xml +0 -158
  2819. package/dist/ai/directives/sdd/discovery.directive.xml +0 -824
  2820. package/dist/ai/directives/sdd/fix.directive.xml +0 -249
  2821. package/dist/ai/directives/sdd/module-decomposition.directive.xml +0 -666
  2822. package/dist/ai/directives/sdd/phase-execution-protocol.xml +0 -341
  2823. package/dist/ai/directives/sdd/scaffold.directive.xml +0 -717
  2824. package/dist/ai/directives/sdd/setup.directive.xml +0 -213
  2825. package/dist/ai/directives/sdd/svelte-ui-discovery.directive.xml +0 -263
  2826. package/dist/ai/directives/semantic-change-extractor.directive.xml +0 -99
  2827. package/dist/ai/docs/README.md +0 -17
  2828. package/dist/ai/docs/ai-icl.md +0 -538
  2829. package/dist/ai/docs/ai-priming.md +0 -548
  2830. package/dist/ai/docs/ai-prompt-formats.md +0 -406
  2831. package/dist/ai/docs/ai-promting.md +0 -572
  2832. package/dist/ai/drafts/DRAFT.md +0 -120
  2833. package/dist/ai/drafts/agent-devgen-class-from-description.rules.xml +0 -123
  2834. package/dist/ai/drafts/agent-typescript-devgen.v1.xml +0 -303
  2835. package/dist/ai/drafts/d.md +0 -65
  2836. package/dist/ai/drafts/music-posts.md +0 -105
  2837. package/dist/ai/fw/v1/architecture/blueprint-factory.xml +0 -77
  2838. package/dist/ai/fw/v1/core/mental-model.xml +0 -50
  2839. package/dist/ai/fw/v1/discovery/intent-reactor.xml +0 -92
  2840. package/dist/ai/fw/v1/production/swarm-protocol.xml +0 -122
  2841. package/dist/ai/fw/v1/review/quality-pipeline.xml +0 -102
  2842. package/dist/ai/fw/v2/arch-universal.xml +0 -73
  2843. package/dist/ai/fw-draft/README.md +0 -79
  2844. package/dist/ai/fw-draft/bin/discovery.sh +0 -116
  2845. package/dist/ai/fw-draft/gennady.xml +0 -58
  2846. package/dist/ai/fw-draft/provider/claude.xml +0 -16
  2847. package/dist/ai/fw-draft/provider/cursor.xml +0 -23
  2848. package/dist/ai/fw-draft/provider/default.xml +0 -12
  2849. package/dist/ai/fw-draft/roles/developer.xml +0 -18
  2850. package/dist/ai/fw-draft/router.xml +0 -39
  2851. package/dist/ai/fw-draft/routes/development.xml +0 -32
  2852. package/dist/ai/fw-draft/routes/universal.xml +0 -58
  2853. package/dist/ai/fw-draft/rules/dev/base/file-structure-rules.xml +0 -89
  2854. package/dist/ai/fw-draft/rules/dev/typescript/contacts.xml +0 -194
  2855. package/dist/ai/skills/alt-opinion/SKILL.md +0 -79
  2856. package/dist/ai/skills/alt-opinion/opinion.prompt.md +0 -11
  2857. package/dist/ai/skills/alt-opinion/synth.prompt.md +0 -8
  2858. package/dist/ai/skills/sdd-continue/SKILL.md +0 -13
  2859. package/dist/ai/skills/sdd-discover/SKILL.md +0 -13
  2860. package/dist/ai/skills/sdd-execute/scripts/README.md +0 -84
  2861. package/dist/ai/skills/sdd-execute/scripts/check-blockers.sh +0 -158
  2862. package/dist/ai/skills/sdd-execute/scripts/classify-scripts.js +0 -111
  2863. package/dist/ai/skills/sdd-execute/scripts/classify-scripts.ts +0 -133
  2864. package/dist/ai/skills/sdd-execute/scripts/extract-section.sh +0 -219
  2865. package/dist/ai/skills/sdd-execute/scripts/lint-artifacts.sh +0 -143
  2866. package/dist/ai/skills/sdd-execute/scripts/scan.sh +0 -385
  2867. package/dist/ai/skills/sdd-execute/scripts/sdd +0 -114
  2868. package/dist/ai/skills/sdd-execute/scripts/verify.sh +0 -139
  2869. package/dist/ai/skills/sdd-execute-batch/SKILL.md +0 -213
  2870. package/dist/ai/skills/sdd-fix/SKILL.md +0 -13
  2871. package/dist/ai/skills/sdd-infra/SKILL.md +0 -13
  2872. package/dist/ai/skills/sdd-module-decomposition/SKILL.md +0 -13
  2873. package/dist/ai/skills/sdd-setup/SKILL.md +0 -13
  2874. package/dist/assistant/music/music-filter.d.ts +0 -7
  2875. package/dist/chunks/_commonjsHelpers-DaMA6jEr.js +0 -8
  2876. package/dist/chunks/devtools-CPZ0IUNM.js +0 -79
  2877. package/dist/chunks/help-CSPhOoI9.js +0 -8
  2878. package/dist/chunks/help-DL_QBMwy.js +0 -8
  2879. package/dist/chunks/help-_Y_TN4DZ.js +0 -6
  2880. package/dist/chunks/help.cmd-BDO4k0_z.js +0 -41
  2881. package/dist/chunks/index-4fUNp3za.js +0 -156
  2882. package/dist/chunks/index-9JlEjsvH.js +0 -443
  2883. package/dist/chunks/index-9e72uZq7.js +0 -97
  2884. package/dist/chunks/index-B4ODZbtC.js +0 -143
  2885. package/dist/chunks/index-BXWDYM_9.js +0 -16979
  2886. package/dist/chunks/index-BgKyH0dB.js +0 -658
  2887. package/dist/chunks/index-BmABG4HA.js +0 -183
  2888. package/dist/chunks/index-C9UEDrqg.js +0 -754
  2889. package/dist/chunks/index-DICatQqS.js +0 -3793
  2890. package/dist/chunks/index-DQpmjvCj.js +0 -125
  2891. package/dist/chunks/index-DS_1ZX6G.js +0 -7
  2892. package/dist/chunks/index-DoaxOhQ8.js +0 -26971
  2893. package/dist/chunks/index-ZpU_VoI0.js +0 -265
  2894. package/dist/chunks/index-jOIhIHdS.js +0 -369
  2895. package/dist/chunks/index-mkUNzixA.js +0 -7
  2896. package/dist/chunks/run-review-command.logic-CHVCVJWO.js +0 -267
  2897. package/dist/chunks/services-IgZptnTi.js +0 -2732
  2898. package/dist/chunks/shared-9J_oXE74.js +0 -763
  2899. package/dist/services/ai-client/providers/ai-model.type.d.ts +0 -47
  2900. package/dist/services/ai-client/providers/open-router/open-router-model.type.d.ts +0 -26
  2901. package/dist/services/ai-client/providers/open-router/open-router-provider.d.ts +0 -26
  2902. package/dist/services/ai-client/providers/openai-like-provider.d.ts +0 -3
  2903. package/dist/services/data-ore/telegram/telegram-data-ore.d.ts +0 -28
  2904. package/dist/services/data-ore/telegram/telegram-data-ore.types.d.ts +0 -9
  2905. package/dist/services/data-ore/telegram/telegram-demo-music-helper.d.ts +0 -10
  2906. package/dist/services/data-ore/telegram/telegram-demo.d.ts +0 -3
  2907. /package/dist/{services/ai-client/ai-client.d.ts → cli/cmd/inbox-eval/index.d.ts} +0 -0
@@ -1,2732 +0,0 @@
1
- import { createServer as ie } from "node:http";
2
- import { readFileSync as A, writeFileSync as oe, existsSync as K, readdirSync as X, statSync as ae } from "node:fs";
3
- import * as M from "node:path";
4
- import { join as $ } from "node:path";
5
- import * as ce from "node:os";
6
- import { homedir as D } from "node:os";
7
- import { execSync as le } from "node:child_process";
8
- import { DatabaseSync as de } from "node:sqlite";
9
- const S = { debug: 0, info: 1, warn: 2, error: 3, silent: 4 };
10
- let E = "warn";
11
- const mt = (i) => {
12
- E = i;
13
- }, g = {
14
- debug: (i, e) => {
15
- S[E] <= S.debug && console.debug(i, ...e !== void 0 ? [e] : []);
16
- },
17
- info: (i, e) => {
18
- S[E] <= S.info && console.info(i, ...e !== void 0 ? [e] : []);
19
- },
20
- warn: (i, e) => {
21
- S[E] <= S.warn && console.warn(i, ...e !== void 0 ? [e] : []);
22
- },
23
- error: (i, e) => {
24
- S[E] <= S.error && console.error(i, ...e !== void 0 ? [e] : []);
25
- }
26
- }, gt = (i) => {
27
- if (!i || typeof i != "string" || i.trim().length === 0)
28
- return null;
29
- const e = i.trim();
30
- let t;
31
- try {
32
- t = new URL(e);
33
- } catch {
34
- return null;
35
- }
36
- const r = t.host, n = t.pathname.replace(/\/$/, ""), s = n.match(/^\/(.+?)\/-\/merge_requests\/(\d+)$/);
37
- if (s) {
38
- const a = parseInt(s[2], 10);
39
- return isNaN(a) ? null : {
40
- provider: "gitlab",
41
- host: r,
42
- repository: s[1],
43
- iid: a
44
- };
45
- }
46
- const o = n.match(/^\/(.+?)\/pull\/(\d+)$/);
47
- if (o) {
48
- const a = parseInt(o[2], 10);
49
- return isNaN(a) ? null : {
50
- provider: "github",
51
- host: r,
52
- repository: o[1],
53
- iid: a
54
- };
55
- }
56
- return null;
57
- };
58
- class Y {
59
- }
60
- class ue extends Y {
61
- /** @purpose Bound HTTP request function injected for GitLab API calls */
62
- _request;
63
- /**
64
- * @purpose Wire the HTTP request adapter for GitLab merge request endpoints.
65
- * @param request Authenticated HTTP request function targeting GitLab API.
66
- */
67
- constructor(e) {
68
- super(), this._request = e;
69
- }
70
- /**
71
- * @param query Target project and optional filters.
72
- * @returns List of merge requests matching the filters.
73
- * @sideEffect Network: GET /projects/:project/merge_requests
74
- * @see {VcsClientMergeRequests#getList} in services/vcs-client/abstract/vcs-merge-requests.ts
75
- */
76
- async getList(e) {
77
- const t = new URLSearchParams(), r = e?.state ?? "opened";
78
- e?.sourceBranch && t.set("source_branch", e.sourceBranch), r && t.set("state", r), e?.perPage && t.set("per_page", String(e.perPage)), e?.page && t.set("page", String(e.page));
79
- const n = encodeURIComponent(e.project), s = await this._request(
80
- `/projects/${n}/merge_requests?${t.toString()}`
81
- );
82
- return Array.isArray(s) ? s : [];
83
- }
84
- /**
85
- * @param query Target project and optional filters.
86
- * @returns First matching merge request or null.
87
- * @sideEffect Network: Delegates to getList() with per_page=1 limit.
88
- * @see {VcsClientMergeRequests#getList} in services/vcs-client/abstract/vcs-merge-requests.ts
89
- */
90
- async getOne(e) {
91
- const t = await this.getList({ ...e, perPage: 1 });
92
- return t.length > 0 ? t[0] : null;
93
- }
94
- /**
95
- * @param query Target project and MR IID.
96
- * @returns Merge request object or null on 404.
97
- * @sideEffect Network: GET /projects/:project/merge_requests/:iid
98
- * @see {VcsClientMergeRequests#getList} in services/vcs-client/abstract/vcs-merge-requests.ts
99
- */
100
- async getByIid(e) {
101
- const t = encodeURIComponent(e.project), r = encodeURIComponent(String(e.iid));
102
- try {
103
- return await this._request(`/projects/${t}/merge_requests/${r}`);
104
- } catch (n) {
105
- if ((n.message ?? "").includes("404"))
106
- return null;
107
- throw n;
108
- }
109
- }
110
- /**
111
- * @param query Target repository and MR IID, optional pagination.
112
- * @returns List of changed files with metadata.
113
- * @sideEffect Network: GET /projects/:project/merge_requests/:iid/changes
114
- * @see {VcsClientMergeRequests#getChanges} in services/vcs-client/abstract/vcs-client-merge-requests.ts
115
- */
116
- async getChanges(e) {
117
- const t = new URLSearchParams();
118
- e?.perPage && t.set("per_page", String(e.perPage)), e?.page && t.set("page", String(e.page));
119
- const r = encodeURIComponent(e.repository), n = encodeURIComponent(String(e.iid)), s = await this._request(
120
- `/projects/${r}/merge_requests/${n}/changes?${t.toString()}`
121
- ), o = s?.changes ?? [], a = s.sha ?? s.source_branch ?? "main";
122
- return o.map((c) => {
123
- const d = c.new_path ?? c.old_path ?? "", l = c.new_file, u = c.deleted_file, h = c.renamed_file;
124
- let p = "modified";
125
- u ? p = "deleted" : l ? p = "added" : h && (p = "renamed");
126
- const f = {
127
- path: d,
128
- status: p,
129
- ref: a
130
- };
131
- return h && c.old_path && (f.previousPath = c.old_path), typeof c.additions == "number" && (f.additions = c.additions), typeof c.deletions == "number" && (f.deletions = c.deletions), f;
132
- });
133
- }
134
- }
135
- class pe {
136
- }
137
- class fe extends pe {
138
- /** @purpose Bound HTTP request function injected for GitLab API calls */
139
- _request;
140
- /**
141
- * @purpose Wire the HTTP request adapter for GitLab merge discussion endpoints.
142
- * @param request Authenticated HTTP request function targeting GitLab API.
143
- */
144
- constructor(e) {
145
- super(), this._request = e;
146
- }
147
- /**
148
- * @param query Target project, MR, discussion, and note body.
149
- * @returns Created note object from GitLab API.
150
- * @sideEffect Network: POST /projects/:project/merge_requests/:iid/discussions/:discussion_id/notes
151
- * @see {VcsClientMergeDiscussions#addNote} in services/vcs-client/abstract/vcs-merge-discussions.ts
152
- */
153
- async addNote(e) {
154
- const t = encodeURIComponent(e.project), r = encodeURIComponent(String(e.iid)), n = encodeURIComponent(e.discussionId);
155
- return this._request(
156
- `/projects/${t}/merge_requests/${r}/discussions/${n}/notes`,
157
- {
158
- method: "POST",
159
- headers: { "Content-Type": "application/json" },
160
- body: JSON.stringify({ body: e.body })
161
- }
162
- );
163
- }
164
- /**
165
- * @param query Target project, MR, and optional pagination.
166
- * @returns List of discussions for the requested page.
167
- * @sideEffect Network: GET /projects/:project/merge_requests/:iid/discussions
168
- * @see {VcsClientMergeDiscussions#getList} in services/vcs-client/abstract/vcs-merge-discussions.ts
169
- */
170
- async getList(e) {
171
- const t = new URLSearchParams();
172
- e?.perPage && t.set("per_page", String(e.perPage)), e?.page && t.set("page", String(e.page));
173
- const r = encodeURIComponent(e.project), n = await this._request(
174
- `/projects/${r}/merge_requests/${encodeURIComponent(String(e.iid))}/discussions?${t.toString()}`
175
- );
176
- return Array.isArray(n) ? n : [];
177
- }
178
- /**
179
- * @param query Target project and MR.
180
- * @returns Complete list of all discussions across all pages.
181
- * @sideEffect Network: Multiple GET requests for paginated loading.
182
- * @see {VcsClientMergeDiscussions#getAll} in services/vcs-client/abstract/vcs-merge-discussions.ts
183
- */
184
- async getAll(e) {
185
- let r = 1;
186
- const n = [];
187
- for (; ; ) {
188
- const s = await this.getList({ ...e, perPage: 100, page: r });
189
- if (!Array.isArray(s) || s.length === 0 || (n.push(...s), s.length < 100)) break;
190
- r += 1;
191
- }
192
- return n;
193
- }
194
- }
195
- class Q {
196
- }
197
- class he extends Q {
198
- /** @purpose GitLab instance base URL */
199
- _baseUrl;
200
- /** @purpose GitLab access token */
201
- _token;
202
- /**
203
- * @purpose Wire the adapter with GitLab connection params for raw file fetches.
204
- * @param baseUrl GitLab instance base URL (e.g. https://gitlab.com/api/v4).
205
- * @param token GitLab personal access token.
206
- */
207
- constructor(e, t) {
208
- super(), this._baseUrl = e, this._token = t;
209
- }
210
- /**
211
- * @param query Target repository, file path, and ref.
212
- * @returns File content or null if file not found.
213
- * @sideEffect Network: GET /projects/:id/repository/files/:path/raw?ref=
214
- * @see {VcsClientRepositoryFiles#getFileContent} in services/vcs-client/abstract/vcs-client-repository-files.ts
215
- */
216
- async getFileContent(e) {
217
- const t = encodeURIComponent(e.repository), r = encodeURIComponent(e.path), n = encodeURIComponent(e.ref);
218
- let s;
219
- try {
220
- s = await fetch(
221
- `${this._baseUrl}/projects/${t}/repository/files/${r}/raw?ref=${n}`,
222
- { headers: { "PRIVATE-TOKEN": this._token } }
223
- );
224
- } catch (d) {
225
- throw new Error(`GitLab request failed: network error for file ${e.path}`, { cause: d });
226
- }
227
- if (s.status === 404)
228
- return null;
229
- if (!s.ok) {
230
- const d = await s.text().catch(() => "");
231
- throw new Error(`GitLab request failed: ${s.status} ${s.statusText} ${d}`);
232
- }
233
- const o = s.headers.get("content-type") ?? "", a = await s.text(), c = o.startsWith("text/") || o.includes("json") || o.includes("xml") || o.includes("javascript") || !o;
234
- return {
235
- path: e.path,
236
- content: a,
237
- encoding: c ? "utf-8" : "base64"
238
- };
239
- }
240
- }
241
- class Z {
242
- }
243
- class _t extends Z {
244
- /** @see {VcsClient#MergeRequests} in services/vcs-client/abstract/vcs-client.ts */
245
- MergeRequests;
246
- /** @see {VcsClient#MergeDiscussions} in services/vcs-client/abstract/vcs-client.ts */
247
- MergeDiscussions;
248
- /** @see {VcsClient#RepositoryFiles} in services/vcs-client/abstract/vcs-client.ts */
249
- RepositoryFiles;
250
- /**
251
- * @purpose Create a GitLab API client bound to a base URL with access token.
252
- * @param options Connection parameters: base URL and access token.
253
- */
254
- constructor(e) {
255
- super();
256
- const t = async (r, n = {}) => {
257
- const s = await fetch(`${e.baseUrl}${r}`, {
258
- ...n,
259
- headers: {
260
- "PRIVATE-TOKEN": e.token,
261
- ...n.headers ?? {}
262
- }
263
- });
264
- if (!s.ok) {
265
- const o = await s.text().catch(() => "");
266
- throw new Error(`GitLab request failed: ${s.status} ${s.statusText} ${o}`);
267
- }
268
- return s.json();
269
- };
270
- this.MergeRequests = new ue(t), this.MergeDiscussions = new fe(t), this.RepositoryFiles = new he(e.baseUrl, e.token);
271
- }
272
- }
273
- class me extends Y {
274
- /** @purpose Bound HTTP request function for GitHub API calls */
275
- _request;
276
- /**
277
- * @purpose Wire the HTTP request adapter for GitHub PR endpoints.
278
- * @param request Authenticated HTTP request function targeting GitHub API.
279
- */
280
- constructor(e) {
281
- super(), this._request = e;
282
- }
283
- /**
284
- * @purpose GitHub getList not implemented — use getChanges for PR files.
285
- * @returns Empty array — not implemented.
286
- */
287
- async getList() {
288
- throw new Error("GitHub getList not implemented — use getChanges for PR files");
289
- }
290
- /**
291
- * @purpose GitHub getOne not implemented.
292
- * @returns Null — not implemented.
293
- */
294
- async getOne() {
295
- throw new Error("GitHub getOne not implemented");
296
- }
297
- /**
298
- * @purpose GitHub getByIid not implemented.
299
- * @returns Null — not implemented.
300
- */
301
- async getByIid() {
302
- throw new Error("GitHub getByIid not implemented");
303
- }
304
- /**
305
- * @param query Target repository and PR number, optional pagination.
306
- * @returns List of changed files with metadata.
307
- * @sideEffect Network: GET /repos/:owner/:repo/pulls/:number/files
308
- * @see {VcsClientMergeRequests#getChanges} in services/vcs-client/abstract/vcs-client-merge-requests.ts
309
- */
310
- async getChanges(e) {
311
- const t = new URLSearchParams();
312
- e?.perPage && t.set("per_page", String(e.perPage)), e?.page && t.set("page", String(e.page));
313
- const r = encodeURIComponent(e.repository), n = encodeURIComponent(String(e.iid)), [s, o] = await Promise.all([
314
- this._request(`/repos/${r}/pulls/${n}`),
315
- this._request(`/repos/${r}/pulls/${n}/files?${t.toString()}`)
316
- ]), a = s?.head?.ref ?? "main";
317
- return (Array.isArray(o) ? o : []).map((d) => {
318
- const l = d.filename ?? "", u = d.status ?? "modified", h = d.additions, p = d.deletions;
319
- let f = "modified";
320
- u === "added" ? f = "added" : u === "removed" ? f = "deleted" : u === "renamed" && (f = "renamed");
321
- const m = {
322
- path: l,
323
- status: f,
324
- ref: a
325
- };
326
- return f === "renamed" && d.previous_filename && (m.previousPath = d.previous_filename), typeof h == "number" && (m.additions = h), typeof p == "number" && (m.deletions = p), m;
327
- });
328
- }
329
- }
330
- class ge extends Q {
331
- /** @purpose GitHub API base URL */
332
- _baseUrl;
333
- /** @purpose GitHub access token */
334
- _token;
335
- /**
336
- * @purpose Wire the adapter with GitHub connection params for raw content fetches.
337
- * @param baseUrl GitHub API base URL (e.g. https://api.github.com).
338
- * @param token GitHub personal access token.
339
- */
340
- constructor(e, t) {
341
- super(), this._baseUrl = e, this._token = t;
342
- }
343
- /**
344
- * @param query Target repository, file path, and ref.
345
- * @returns File content or null if file not found.
346
- * @sideEffect Network: GET /repos/:owner/:repo/contents/:path?ref=
347
- * @see {VcsClientRepositoryFiles#getFileContent} in services/vcs-client/abstract/vcs-client-repository-files.ts
348
- */
349
- async getFileContent(e) {
350
- const t = encodeURIComponent(e.repository), r = encodeURIComponent(e.path), n = encodeURIComponent(e.ref);
351
- let s;
352
- try {
353
- s = await fetch(`${this._baseUrl}/repos/${t}/contents/${r}?ref=${n}`, {
354
- headers: {
355
- Authorization: "Bearer " + this._token,
356
- Accept: "application/vnd.github+json",
357
- "X-GitHub-Api-Version": "2022-11-28"
358
- }
359
- });
360
- } catch (l) {
361
- throw new Error(`GitHub request failed: network error for file ${e.path}`, { cause: l });
362
- }
363
- if (s.status === 404)
364
- return null;
365
- if (!s.ok) {
366
- const l = await s.text().catch(() => "");
367
- throw new Error(`GitHub request failed: ${s.status} ${s.statusText} ${l}`);
368
- }
369
- const o = await s.json(), a = o.encoding ?? "none", c = o.content ?? "";
370
- if (a === "base64") {
371
- const l = Buffer.from(c, "base64").toString("utf-8"), u = !l.includes("\0");
372
- return {
373
- path: e.path,
374
- content: u ? l : c,
375
- encoding: u ? "utf-8" : "base64"
376
- };
377
- }
378
- const d = o.type;
379
- return d === "submodule" || d === "symlink" ? {
380
- path: e.path,
381
- content: o.submodule_git_url ?? o.target ?? "",
382
- encoding: "utf-8"
383
- } : {
384
- path: e.path,
385
- content: c,
386
- encoding: "utf-8"
387
- };
388
- }
389
- }
390
- class yt extends Z {
391
- /** @see {VcsClient#MergeRequests} in services/vcs-client/abstract/vcs-client.ts */
392
- MergeRequests;
393
- /** @see {VcsClient#MergeDiscussions} in services/vcs-client/abstract/vcs-client.ts */
394
- MergeDiscussions = void 0;
395
- /** @see {VcsClient#RepositoryFiles} in services/vcs-client/abstract/vcs-client.ts */
396
- RepositoryFiles;
397
- /**
398
- * @purpose Create a GitHub API client bound to a base URL with access token.
399
- * @param options Connection parameters: base URL and access token.
400
- */
401
- constructor(e) {
402
- super();
403
- const t = async (r, n = {}) => {
404
- const s = await fetch(`${e.baseUrl}${r}`, {
405
- ...n,
406
- headers: {
407
- Authorization: "Bearer " + e.token,
408
- Accept: "application/vnd.github+json",
409
- "X-GitHub-Api-Version": "2022-11-28",
410
- ...n.headers ?? {}
411
- }
412
- });
413
- if (!s.ok) {
414
- const o = await s.text().catch(() => "");
415
- throw new Error(`GitHub request failed: ${s.status} ${s.statusText} ${o}`);
416
- }
417
- return s.json();
418
- };
419
- this.MergeRequests = new me(t), this.RepositoryFiles = new ge(e.baseUrl, e.token);
420
- }
421
- }
422
- function L(i) {
423
- try {
424
- if (i === null)
425
- return { kind: "primitive", text: "null" };
426
- if (i === void 0)
427
- return { kind: "primitive", text: "undefined" };
428
- const e = typeof i;
429
- if (e === "string" || e === "number" || e === "boolean" || e === "bigint" || e === "symbol")
430
- return { kind: "primitive", text: String(i) };
431
- if (e === "function")
432
- return {
433
- kind: "tagged",
434
- tag: "[object Function]",
435
- text: `[function ${i.name || "anonymous"}]`
436
- };
437
- const t = Object.prototype.toString.call(i);
438
- if (i instanceof Error) {
439
- const n = i.message ? `${i.name}: ${i.message}` : i.name;
440
- return { kind: "tagged", tag: t, text: n };
441
- }
442
- const r = _e(i);
443
- return r ? { kind: "tagged", tag: t, text: `${t} ${r}` } : { kind: "tagged", tag: t, text: t };
444
- } catch (e) {
445
- return {
446
- kind: "tagged",
447
- tag: "[object Unserializable]",
448
- text: `[unserializable: ${String(e)}]`
449
- };
450
- }
451
- }
452
- function _e(i) {
453
- const e = /* @__PURE__ */ new WeakSet();
454
- try {
455
- return JSON.stringify(i, (r, n) => {
456
- if (typeof n == "bigint")
457
- return `${n.toString()}n`;
458
- if (typeof n == "symbol")
459
- return n.toString();
460
- if (typeof n == "function")
461
- return `[function ${n.name || "anonymous"}]`;
462
- if (n && typeof n == "object") {
463
- if (e.has(n))
464
- return "[circular]";
465
- e.add(n);
466
- }
467
- return n;
468
- }) ?? null;
469
- } catch {
470
- return null;
471
- }
472
- }
473
- const O = ["log", "info", "warn", "error", "debug"], ye = 5e3, P = /* @__PURE__ */ new WeakMap(), C = globalThis;
474
- function be(i, e) {
475
- we(i, e);
476
- const t = P.get(i);
477
- if (t)
478
- return t.duplicateConnectWarned || (t.duplicateConnectWarned = !0, t.originals.warn(
479
- "[remoteConsoleClient.connect] [connected → connected] Duplicate connect ignored for existing target"
480
- )), t.runtime;
481
- const r = ve(i), s = {
482
- disconnect: async () => {
483
- const a = P.get(i);
484
- a && await k(a, !1);
485
- }
486
- }, o = {
487
- url: e.url,
488
- tabId: e.tabId,
489
- branch: e.branch,
490
- consoleTarget: i,
491
- originals: r,
492
- queue: [],
493
- flushInFlight: !1,
494
- transportFailureNotified: !1,
495
- duplicateConnectWarned: !1,
496
- shutdownStarted: !1,
497
- intervalId: null,
498
- pagehideListener: () => {
499
- k(o, !0);
500
- },
501
- beforeunloadListener: () => {
502
- k(o, !0);
503
- },
504
- runtime: s
505
- };
506
- return Ie(o), Se(o), xe(o), o.intervalId = setInterval(() => {
507
- ee(o, !1);
508
- }, ye), i.__remote__ = s, P.set(i, o), s;
509
- }
510
- const bt = {
511
- connect: be
512
- };
513
- function we(i, e) {
514
- try {
515
- new URL(e.url);
516
- } catch (t) {
517
- throw new Error("[remoteConsoleClient.connect] Invalid config.url: expected absolute URL", {
518
- cause: t
519
- });
520
- }
521
- for (const t of O)
522
- if (typeof i[t] != "function")
523
- throw new Error(`[remoteConsoleClient.connect] Missing console method: ${t}`);
524
- }
525
- function ve(i) {
526
- return {
527
- log: i.log.bind(i),
528
- info: i.info.bind(i),
529
- warn: i.warn.bind(i),
530
- error: i.error.bind(i),
531
- debug: i.debug.bind(i)
532
- };
533
- }
534
- function Ie(i) {
535
- for (const e of O) {
536
- const t = i.originals[e];
537
- i.consoleTarget[e] = (...r) => {
538
- t(...r), !i.shutdownStarted && i.queue.push({
539
- level: e,
540
- timestamp: Date.now(),
541
- args: r.map((n) => L(n)),
542
- tabId: i.tabId,
543
- branch: i.branch
544
- });
545
- };
546
- }
547
- }
548
- function Se(i) {
549
- i.queue.push({
550
- level: "info",
551
- timestamp: Date.now(),
552
- args: [
553
- L("[remote-console] connected"),
554
- L(`tabId=${i.tabId ?? "unknown"}`),
555
- L(`branch=${i.branch ?? "unknown"}`)
556
- ],
557
- tabId: i.tabId,
558
- branch: i.branch
559
- });
560
- }
561
- function Ce(i) {
562
- for (const e of O)
563
- i.consoleTarget[e] = i.originals[e];
564
- delete i.consoleTarget.__remote__;
565
- }
566
- function xe(i) {
567
- typeof C.addEventListener == "function" && (C.addEventListener("pagehide", i.pagehideListener), C.addEventListener("beforeunload", i.beforeunloadListener));
568
- }
569
- function Re(i) {
570
- typeof C.removeEventListener == "function" && (C.removeEventListener("pagehide", i.pagehideListener), C.removeEventListener("beforeunload", i.beforeunloadListener));
571
- }
572
- async function k(i, e) {
573
- if (!i.shutdownStarted) {
574
- i.shutdownStarted = !0, i.intervalId && (clearInterval(i.intervalId), i.intervalId = null), Re(i);
575
- try {
576
- await ee(i, e);
577
- try {
578
- await te(i, { type: "disconnect", tabId: i.tabId }, e);
579
- } catch {
580
- }
581
- } finally {
582
- Ce(i), P.delete(i.consoleTarget);
583
- }
584
- }
585
- }
586
- async function ee(i, e) {
587
- if (i.flushInFlight || i.queue.length === 0)
588
- return;
589
- i.flushInFlight = !0;
590
- const t = i.queue.splice(0, i.queue.length);
591
- try {
592
- await te(i, { type: "logs", tabId: i.tabId, items: t }, e);
593
- } catch (r) {
594
- i.transportFailureNotified || (i.transportFailureNotified = !0, i.originals.error(
595
- "[remoteConsoleClient.connect] [streaming → degraded] Remote sink became unavailable; local console remains active",
596
- { cause: r }
597
- ));
598
- } finally {
599
- i.flushInFlight = !1;
600
- }
601
- }
602
- async function te(i, e, t) {
603
- if (t) {
604
- await Ee(i.url, e);
605
- return;
606
- }
607
- const r = await fetch(i.url, {
608
- method: "POST",
609
- headers: {
610
- "content-type": "application/json"
611
- },
612
- body: JSON.stringify(e)
613
- });
614
- if (!r.ok)
615
- throw new Error(`[remoteConsoleClient.connect] Unexpected response status: ${r.status}`);
616
- }
617
- async function Ee(i, e) {
618
- const t = JSON.stringify(e), r = new Blob([t], { type: "application/json" }), n = C.navigator?.sendBeacon;
619
- if (!(typeof n == "function" && n.call(C.navigator, i, r)))
620
- try {
621
- await fetch(i, {
622
- method: "POST",
623
- headers: {
624
- "content-type": "application/json"
625
- },
626
- body: t,
627
- keepalive: !0
628
- });
629
- } catch {
630
- }
631
- }
632
- class $e {
633
- /** @purpose Stores low-level line sink used to emit already-rendered stdout entries. */
634
- _writeLine;
635
- /**
636
- * @purpose Configures writer with injected sink or defaults to process.stdout line output.
637
- * @param [writeLine] Optional custom line writer function.
638
- */
639
- constructor(e) {
640
- this._writeLine = e ?? ((t) => process.stdout.write(`${t}
641
- `));
642
- }
643
- /**
644
- * @purpose Prints ordered log entries as one normalized line per entry.
645
- * @param items Parsed log entry list from command envelope payload.
646
- * @sideEffect IO: writes rendered lines into stdout stream (or injected writer).
647
- */
648
- write(e) {
649
- for (const t of e) {
650
- const r = this.render(t);
651
- this._writeLine(r);
652
- }
653
- }
654
- /**
655
- * @purpose Creates stable text format independent from platform util.inspect behavior.
656
- * @param item Single remote log entry with serialized args.
657
- * @returns Flat line in format `[console.<level>] <arg1> <arg2> ...`.
658
- */
659
- render(e) {
660
- const t = e.args.map((r) => r.text).join(" ").trim();
661
- return t ? `[console.${e.level}] ${t}` : `[console.${e.level}]`;
662
- }
663
- }
664
- const ne = "/";
665
- async function wt(i) {
666
- Ae(i);
667
- const e = i.host ?? "127.0.0.1", t = new $e(i.stdoutWrite), r = new Le(
668
- i.exitCode ?? 0,
669
- i.exit
670
- ), n = ie((o, a) => {
671
- Te(o, a, t, r, n).catch(
672
- () => {
673
- a.writableEnded || v(a, 500, { ok: !1, error: "runtime_failure" });
674
- }
675
- );
676
- });
677
- await new Promise((o, a) => {
678
- n.once("error", a), n.listen(i.port, e, () => {
679
- n.off("error", a), o();
680
- });
681
- });
682
- const s = n.address();
683
- if (!s || typeof s == "string")
684
- throw new Error("[startRemoteConsoleServer] Failed to resolve runtime endpoint address");
685
- return {
686
- url: `http://${e}:${s.port}${ne}`,
687
- close: async () => {
688
- await re(n);
689
- }
690
- };
691
- }
692
- function Ae(i) {
693
- if (!Number.isInteger(i.port) || i.port < 0 || i.port > 65535)
694
- throw new Error("[startRemoteConsoleServer] Invalid port: expected integer in range 0..65535");
695
- }
696
- async function Te(i, e, t, r, n) {
697
- try {
698
- if (i.url !== ne) {
699
- v(e, 404, { ok: !1, error: "not_found" });
700
- return;
701
- }
702
- if (i.method !== "POST") {
703
- v(e, 405, { ok: !1, error: "method_not_allowed" });
704
- return;
705
- }
706
- const s = await Me(i);
707
- let o;
708
- try {
709
- o = JSON.parse(s);
710
- } catch {
711
- v(e, 400, { ok: !1, error: "invalid_json" });
712
- return;
713
- }
714
- if (!Ne(o)) {
715
- v(e, 400, { ok: !1, error: "invalid_envelope" });
716
- return;
717
- }
718
- if (o.type === "logs") {
719
- if (!Array.isArray(o.items) || o.items.length === 0) {
720
- v(e, 400, { ok: !1, error: "invalid_logs_payload" });
721
- return;
722
- }
723
- t.write(o.items), v(e, 202, { ok: !0 });
724
- return;
725
- }
726
- if (o.type === "disconnect") {
727
- v(e, 202, { ok: !0 }), await r.begin(n);
728
- return;
729
- }
730
- v(e, 400, { ok: !1, error: "unsupported_command" });
731
- } catch {
732
- e.writableEnded || v(e, 500, { ok: !1, error: "runtime_failure" });
733
- }
734
- }
735
- function Ne(i) {
736
- if (!i || typeof i != "object")
737
- return !1;
738
- const e = i.type;
739
- return e === "disconnect" ? !0 : e === "logs" ? Array.isArray(i.items) : !1;
740
- }
741
- async function Me(i) {
742
- let e = "";
743
- for await (const t of i)
744
- e += t.toString();
745
- return e;
746
- }
747
- function v(i, e, t) {
748
- i.statusCode = e, i.setHeader("content-type", "application/json"), i.end(JSON.stringify(t));
749
- }
750
- async function re(i) {
751
- await new Promise((e, t) => {
752
- i.close((r) => {
753
- if (r) {
754
- t(r);
755
- return;
756
- }
757
- e();
758
- });
759
- });
760
- }
761
- class Le {
762
- /** @purpose Stores configured exit code used after controlled socket shutdown completes. */
763
- _exitCode;
764
- /** @purpose Stores process-exit strategy (real exit in prod, spy callback in tests). */
765
- _exit;
766
- /** @purpose Prevents duplicate shutdown orchestration across repeated disconnect signals. */
767
- _started = !1;
768
- /** @purpose Initializes controller with deterministic exit behavior for runtime or test harnesses. */
769
- constructor(e, t) {
770
- this._exitCode = e, this._exit = t ?? ((r) => process.exit(r));
771
- }
772
- /**
773
- * @purpose Starts shutdown exactly once: close server socket first, then trigger configured exit strategy.
774
- * @param server Active server runtime instance.
775
- * @sideEffect Network: stops accepting incoming HTTP connections.
776
- * @sideEffect Process: triggers exit callback with configured exit code.
777
- */
778
- async begin(e) {
779
- if (!this._started) {
780
- this._started = !0;
781
- try {
782
- await re(e);
783
- } finally {
784
- this._exit(this._exitCode);
785
- }
786
- }
787
- }
788
- }
789
- const j = "ERR_DBC_PURPOSE_CONFLICT", Pe = "ERR_DBC_ORDER", ke = "ERR_DBC_PARAM_NAME_MISSING", De = "ERR_DBC_SEE_FORMAT_INVALID", Oe = [
790
- "implements",
791
- "invariant",
792
- "pre",
793
- "param",
794
- "throws",
795
- "returns",
796
- "post",
797
- "sideEffect"
798
- ], Fe = new Map(
799
- Oe.map((i, e) => [i, e])
800
- );
801
- class vt {
802
- /**
803
- * @param inputContract Raw contract text to parse.
804
- * @returns Parsed DBC schema with entries and format metadata.
805
- * @see {DbcParser#parse} in ../../dbc-parser.types.ts
806
- */
807
- parse(e) {
808
- const t = [];
809
- let n = e.trim();
810
- n.startsWith("/**") && (n = n.slice(3)), n.endsWith("*/") && (n = n.slice(0, -2)), n = n.trim();
811
- const s = n.includes(`
812
- `) ? "multi-line" : "single-line", o = e.split(/\r?\n/u);
813
- let a, c = !1;
814
- const d = [];
815
- for (let u = 0; u < o.length; u += 1) {
816
- const h = u + 1, p = this.normalizeLine(o[u] ?? "");
817
- if (p.length !== 0) {
818
- if (p.startsWith("@")) {
819
- !c && d.length > 0 && (t.push({
820
- type: "description",
821
- value: d.join(`
822
- `),
823
- issues: [],
824
- line: 1
825
- }), d.length = 0), c = !0;
826
- const f = this.parseTagLine(p, h);
827
- if (!f)
828
- continue;
829
- t.push(f), a = f;
830
- continue;
831
- }
832
- if (!c) {
833
- d.push(p);
834
- continue;
835
- }
836
- a && (a.value = a.value.length > 0 ? `${a.value}
837
- ${p}` : p);
838
- }
839
- }
840
- !c && d.length > 0 && t.push({
841
- type: "description",
842
- value: d.join(`
843
- `),
844
- issues: [],
845
- line: 1
846
- }), this.validatePurposeConflict(t), this.validateContractOrder(t), this.validateParamSpecifier(t), this.validateSeeSpecifier(t);
847
- let l;
848
- if (s === "single-line" && t.length > 0) {
849
- const u = t[0];
850
- if (u && u.value.includes(" | @")) {
851
- const h = u.value.split(" | @");
852
- u.value = (h[0] ?? "").trim();
853
- const p = [];
854
- for (let f = 1; f < h.length; f += 1) {
855
- const m = `@${h[f] ?? ""}`, _ = this.parseTagLine(m, u.line);
856
- _ && p.push(_);
857
- }
858
- p.length > 0 && (l = p);
859
- }
860
- }
861
- return {
862
- entries: t.map(({ line: u, ...h }, p) => p === 0 && l ? {
863
- ...h,
864
- inline: l.map(({ line: f, ...m }) => m)
865
- } : h),
866
- format: s
867
- };
868
- }
869
- /**
870
- * @purpose Normalizes a raw source line by stripping JSDoc framing tokens and edge whitespace.
871
- * @param sourceLine Raw line from the input contract.
872
- * @returns Line prepared for tag and multiline-value parsing.
873
- */
874
- normalizeLine(e) {
875
- let t = e.trimStart();
876
- return t.startsWith("*/") ? "" : (t.startsWith("/**") && (t = t.slice(3)), t = t.trimStart(), t.startsWith("*") && (t = t.slice(1).trimStart()), t.endsWith("*/") && (t = t.slice(0, -2).trimEnd()), t.trim());
877
- }
878
- /**
879
- * @purpose Parses a normalized tag line into an entry object with a source line reference.
880
- * @param tagLine Normalized line starting with `@`.
881
- * @param line One-based source line number.
882
- * @returns Parsed entry or undefined when the tag name is missing.
883
- */
884
- parseTagLine(e, t) {
885
- const r = /^@(\S+)(?:\s+([\s\S]*))?$/u.exec(e);
886
- if (!r)
887
- return;
888
- const n = r[1]?.trim();
889
- if (!n)
890
- return;
891
- const s = (r[2] ?? "").trim();
892
- return n === "param" ? this.parseParamTag(n, s, t) : n === "see" ? this.parseSeeTag(n, s, t) : n === "implements" ? this.parseImplementsTag(n, s, t) : n === "returns" || n === "throws" ? this.parseTagWithOptionalDataType(n, s, t) : n === "description" ? {
893
- type: "description",
894
- value: s,
895
- issues: [],
896
- line: t
897
- } : {
898
- type: n,
899
- value: s,
900
- issues: [],
901
- line: t
902
- };
903
- }
904
- /**
905
- * @purpose Parses tags where `{dataType}` is optional and the remainder is a plain value.
906
- * @param type Tag type.
907
- * @param tail Content after the tag name.
908
- * @param line One-based source line number.
909
- * @returns Parsed entry.
910
- */
911
- parseTagWithOptionalDataType(e, t, r) {
912
- const n = /^\{([^}]+)\}\s*(.*)$/u.exec(t);
913
- return n ? {
914
- type: e,
915
- dataType: n[1]?.trim(),
916
- value: (n[2] ?? "").trim(),
917
- issues: [],
918
- line: r
919
- } : {
920
- type: e,
921
- value: t,
922
- issues: [],
923
- line: r
924
- };
925
- }
926
- /**
927
- * @purpose Parses `@param` into `dataType`, optional `specifier`, `optional`, and value fields.
928
- * @param type Tag type.
929
- * @param tail Content after `@param`.
930
- * @param line One-based source line number.
931
- * @returns Parsed entry.
932
- */
933
- parseParamTag(e, t, r) {
934
- const n = {
935
- type: e,
936
- value: "",
937
- issues: [],
938
- line: r
939
- };
940
- let s = t;
941
- const o = /^\{([^}]+)\}\s*(.*)$/u.exec(s);
942
- if (o && (n.dataType = o[1]?.trim(), s = (o[2] ?? "").trim()), s.length === 0)
943
- return n;
944
- const a = /^(\[[^\]]+\]|\S+)(?:\s+([\s\S]*))?$/u.exec(s);
945
- if (!a)
946
- return n.value = s, n;
947
- const c = a[1] ?? "";
948
- return c.startsWith("[") && c.endsWith("]") ? (n.optional = !0, n.specifier = c.slice(1, -1).trim()) : n.specifier = c.trim(), n.value = (a[2] ?? "").trim(), n;
949
- }
950
- /**
951
- * @purpose Parses `@see` into required `{specifier}` and optional trailing value.
952
- * @param type Tag type.
953
- * @param tail Content after `@see`.
954
- * @param line Source line number.
955
- * @returns Parsed entry.
956
- */
957
- parseSeeTag(e, t, r) {
958
- const n = {
959
- type: e,
960
- value: "",
961
- issues: [],
962
- line: r
963
- }, s = /^\{([^}]+)\}\s*(.*)$/u.exec(t);
964
- return s ? (n.specifier = s[1]?.trim(), n.value = (s[2] ?? "").trim(), n) : (n.value = t, n);
965
- }
966
- /**
967
- * @purpose Parses `@implements` into required `{ContractName}` and optional trailing value.
968
- * @param type Tag type.
969
- * @param tail Content after `@implements`.
970
- * @param line One-based source line number.
971
- * @returns Parsed entry.
972
- */
973
- parseImplementsTag(e, t, r) {
974
- const n = {
975
- type: e,
976
- value: "",
977
- issues: [],
978
- line: r
979
- }, s = /^\{([^}]+)\}\s*(.*)$/u.exec(t);
980
- return s ? (n.specifier = s[1]?.trim(), n.value = (s[2] ?? "").trim(), n) : (n.value = t, n);
981
- }
982
- /**
983
- * @purpose Emits a conflict issue when `purpose` and `see` are both present in the parsed entries.
984
- * @param entries Parsed entries with source lines.
985
- */
986
- validatePurposeConflict(e) {
987
- let t = !1, r = !1;
988
- for (const n of e) {
989
- if (n.type === "purpose") {
990
- r && this.attachIssue(n, j), t = !0;
991
- continue;
992
- }
993
- n.type === "see" && (t && this.attachIssue(n, j), r = !0);
994
- }
995
- }
996
- /**
997
- * @purpose Verifies that contract tags follow the strict sequence required by the DBC standard.
998
- * @param entries Parsed entries with source lines.
999
- */
1000
- validateContractOrder(e) {
1001
- let t = -1;
1002
- for (const r of e) {
1003
- const n = Fe.get(r.type);
1004
- n !== void 0 && (n < t && this.attachIssue(r, Pe), t = Math.max(t, n));
1005
- }
1006
- }
1007
- /**
1008
- * @purpose Emits missing-parameter-name issues for `@param` entries without a non-empty specifier.
1009
- * @param entries Parsed entries with source lines.
1010
- */
1011
- validateParamSpecifier(e) {
1012
- for (const t of e)
1013
- t.type === "param" && (!t.specifier || t.specifier.trim().length === 0) && this.attachIssue(t, ke);
1014
- }
1015
- /**
1016
- * @purpose Emits invalid-see-format issues for `@see` entries.
1017
- * @param entries Parsed entries to validate.
1018
- */
1019
- validateSeeSpecifier(e) {
1020
- for (const t of e)
1021
- t.type === "see" && (!t.specifier || t.specifier.trim().length === 0) && this.attachIssue(t, De);
1022
- }
1023
- /**
1024
- * @purpose Adds an issue to a specific entry and preserves the entry start line in diagnostics.
1025
- * @param entry Parsed entry with source line.
1026
- * @param code Stable parser issue code.
1027
- */
1028
- attachIssue(e, t) {
1029
- e.issues.push({
1030
- code: t,
1031
- line: e.line
1032
- });
1033
- }
1034
- }
1035
- const W = "ERR_DBC_LINT_MISSING_CONTRACT", N = "ERR_DBC_LINT_PARSE_FAILED", Ue = "ERR_DBC_LINT_PARAM_MISSING", J = "ERR_DBC_LINT_PARAM_EXTRA", Be = "ERR_DBC_LINT_PARAM_ORDER", G = "ERR_DBC_LINT_RETURNS_MISSING", z = "ERR_DBC_LINT_RETURNS_UNEXPECTED", je = "ERR_DBC_LINT_TYPE_REDUNDANT", H = "ERR_DBC_LINT_PARAM_OPTIONAL_MISMATCH", F = /* @__PURE__ */ new Set([
1036
- "function",
1037
- "method",
1038
- "interface-method",
1039
- "constructor",
1040
- "export-default"
1041
- ]), U = /* @__PURE__ */ new Set([
1042
- "function",
1043
- "method",
1044
- "interface-method",
1045
- "export-default"
1046
- ]), se = /* @__PURE__ */ new Set(["getter"]), B = /* @__PURE__ */ new Set([
1047
- "constructor",
1048
- "setter",
1049
- "field",
1050
- "interface-property",
1051
- "const",
1052
- "type",
1053
- "enum",
1054
- "enum-member",
1055
- "class",
1056
- "interface"
1057
- ]), We = /* @__PURE__ */ new Set([
1058
- ...F,
1059
- ...U,
1060
- ...se,
1061
- ...B,
1062
- "export-default"
1063
- ]);
1064
- function x(i) {
1065
- let e = i;
1066
- return e.startsWith("...") && (e = e.slice(3)), e.startsWith("[") && e.endsWith("]") && (e = e.slice(1, -1)), e;
1067
- }
1068
- function y(i, e) {
1069
- return {
1070
- file: "",
1071
- line: 1,
1072
- col: 1,
1073
- severity: "error",
1074
- code: i,
1075
- message: e
1076
- };
1077
- }
1078
- function Je(i, e, t) {
1079
- if (!We.has(t))
1080
- return [];
1081
- const r = [], n = i.filter((l) => l.type === "param"), s = i.find((l) => l.type === "returns"), o = F.has(t), a = U.has(t), c = se.has(t), d = B.has(t);
1082
- if (o) {
1083
- const l = e.params.map((p) => p.name), u = n.map((p) => x(p.specifier ?? ""));
1084
- for (const p of l)
1085
- u.includes(p) || r.push(
1086
- y(Ue, `Parameter '${p}' is missing from contract`)
1087
- );
1088
- for (let p = 0; p < n.length; p += 1) {
1089
- const f = u[p];
1090
- l.includes(f) || r.push(
1091
- y(
1092
- J,
1093
- `Extra @param '${n[p].specifier ?? ""}' not in signature`
1094
- )
1095
- );
1096
- }
1097
- const h = new Map(e.params.map((p) => [p.name, p]));
1098
- for (const p of n) {
1099
- const f = x(p.specifier ?? ""), m = h.get(f);
1100
- m && !m.isRest && (m.optional && !p.optional ? r.push(
1101
- y(
1102
- H,
1103
- `Parameter '${f}' is optional in signature but missing brackets in contract`
1104
- )
1105
- ) : !m.optional && p.optional && r.push(
1106
- y(
1107
- H,
1108
- `Parameter '${f}' is not optional in signature but has brackets in contract`
1109
- )
1110
- ));
1111
- }
1112
- if (l.length === u.length && l.every((p) => u.includes(p))) {
1113
- let p = 0, f = !1;
1114
- for (const m of u) {
1115
- const _ = l.indexOf(m);
1116
- if (_ >= 0) {
1117
- if (_ < p) {
1118
- f = !0;
1119
- break;
1120
- }
1121
- p = _;
1122
- }
1123
- }
1124
- f && r.push(y(Be, "@param order does not match signature"));
1125
- }
1126
- } else
1127
- for (let l = 0; l < n.length; l += 1)
1128
- r.push(y(J, `@param not applicable for kind '${t}'`));
1129
- c ? s || r.push(y(G, `Missing @returns for kind '${t}'`)) : a ? (e.returnType !== "void" && !s && r.push(
1130
- y(
1131
- G,
1132
- `Missing @returns for non-void return type '${e.returnType}'`
1133
- )
1134
- ), e.returnType === "void" && s && r.push(
1135
- y(z, "Unexpected @returns for void return type")
1136
- )) : d && s && r.push(
1137
- y(z, `@returns not applicable for kind '${t}'`)
1138
- );
1139
- for (const l of i)
1140
- (l.type === "param" || l.type === "returns") && l.dataType && r.push(
1141
- y(je, `Redundant {${l.dataType}} in @${l.type}`)
1142
- );
1143
- return r;
1144
- }
1145
- function R(i) {
1146
- return i.map((e) => `${e.file}:${e.line}:${e.col}: ${e.severity}: ${e.code}: ${e.message}`).join(`
1147
- `);
1148
- }
1149
- class It {
1150
- /** @purpose DBC parser for parsing contract text */
1151
- _parser;
1152
- /** @purpose AST adapter for parsing TypeScript source files */
1153
- _astAdapter;
1154
- /**
1155
- * @purpose Construct a linter with injected parser and AST adapter.
1156
- * @param parser DbcParser instance for contract parsing.
1157
- * @param astAdapter DbcAstAdapter instance for source file parsing.
1158
- */
1159
- constructor(e, t) {
1160
- this._parser = e, this._astAdapter = t;
1161
- }
1162
- /**
1163
- * @param filePath Path to the source file to check.
1164
- * @param [options] Optional lint configuration.
1165
- * @returns Full lint report with errors and a formatting function.
1166
- * @see {DbcLinter#lint} in ../../dbc-linter.types.ts
1167
- */
1168
- async lint(e, t) {
1169
- g.debug(`[DbcTsLinter#lint] [idle → parsing] ${e}`);
1170
- try {
1171
- const r = await this._astAdapter.parseFile(
1172
- e,
1173
- t?.content
1174
- );
1175
- if (!r.ok) {
1176
- const s = {
1177
- file: e,
1178
- line: 1,
1179
- col: 1,
1180
- severity: "error",
1181
- code: N,
1182
- message: r.error
1183
- };
1184
- return g.warn(`[DbcTsLinter#lint] [parsing → parse-failed] ${e}`), { errors: [s], format: () => R([s]) };
1185
- }
1186
- const n = this._lintEntities(r.exported, e);
1187
- return g.info(`[DbcTsLinter#lint] [parsing → linted] ${e} (${n.length} errors)`), {
1188
- errors: n,
1189
- format: () => R(n)
1190
- };
1191
- } catch (r) {
1192
- const n = new Error(`[DbcTsLinter#lint] Lint failed for ${e}`, { cause: r });
1193
- g.error(`[DbcTsLinter#lint] [parsing → failed] ${e}`, {
1194
- error: n
1195
- });
1196
- const s = {
1197
- file: e,
1198
- line: 1,
1199
- col: 1,
1200
- severity: "error",
1201
- code: N,
1202
- message: `Unexpected error: ${String(r)}`
1203
- };
1204
- return { errors: [s], format: () => R([s]) };
1205
- }
1206
- }
1207
- /**
1208
- * @param filePath Path to the source file to check.
1209
- * @param [options] Optional lint configuration.
1210
- * @returns Combined report with errors and count of auto-fixed issues.
1211
- * @see {DbcLinter#lintAndFix} in ../../dbc-linter.types.ts
1212
- */
1213
- async lintAndFix(e, t) {
1214
- g.debug(`[DbcTsLinter#lintAndFix] [idle → linting] ${e}`);
1215
- try {
1216
- const r = await this.lint(e, t), n = r.errors.length, s = await this._astAdapter.parseFile(e, t?.content);
1217
- if (!s.ok)
1218
- return {
1219
- errors: r.errors,
1220
- autoFixed: 0,
1221
- format: () => R(r.errors)
1222
- };
1223
- let o = t?.content ?? A(e, "utf8");
1224
- const a = this._collectContracts(s.exported);
1225
- let c = !1;
1226
- for (const h of a) {
1227
- const p = h.text;
1228
- let f = p;
1229
- if (f = this._expandToMultiline(f, h.kind), f = this._removeRedundantTypes(f), f = this._normalizeParamBrackets(f, h.signature), f = this._removeExtraParams(f, h.signature), f = this._removeUnexpectedReturns(f, h.kind, h.signature), f = this._reorderParams(f, h.signature), f = this._reorderTags(f), f = this._normalizeMultiLine(f), f !== p) {
1230
- let m = f;
1231
- if (f.includes(`
1232
- `) && !p.includes(`
1233
- `)) {
1234
- const _ = o.indexOf(p), w = _ > 0 ? o.lastIndexOf(`
1235
- `, _ - 1) : -1, I = o.slice(w + 1, _), b = f.split(`
1236
- `);
1237
- for (let T = 1; T < b.length; T += 1)
1238
- b[T] = I + " " + b[T].trimStart();
1239
- b[b.length - 1] = I + "*/", m = b.join(`
1240
- `);
1241
- }
1242
- o = o.replace(p, m), c = !0;
1243
- }
1244
- }
1245
- c ? (oe(e, o, "utf8"), g.info(`[DbcTsLinter#lintAndFix] [fixing → written] ${e}`)) : g.info(`[DbcTsLinter#lintAndFix] [linting → clean] ${e} (nothing to fix)`);
1246
- const d = c ? await this.lint(e, { strategy: "full" }) : r, l = d.errors.length, u = n - l;
1247
- return g.info(`[DbcTsLinter#lintAndFix] [written → done] ${e} (autoFixed=${u})`), {
1248
- errors: d.errors,
1249
- autoFixed: u >= 0 ? u : 0,
1250
- format: () => R(d.errors)
1251
- };
1252
- } catch (r) {
1253
- const n = new Error(`[DbcTsLinter#lintAndFix] Fix failed for ${e}`, { cause: r });
1254
- return g.error(`[DbcTsLinter#lintAndFix] [linting → failed] ${e}`, { error: n }), {
1255
- errors: [
1256
- {
1257
- file: e,
1258
- line: 1,
1259
- col: 1,
1260
- severity: "error",
1261
- code: N,
1262
- message: `Autofix error: ${String(r)}`
1263
- }
1264
- ],
1265
- autoFixed: 0,
1266
- format: () => R([
1267
- {
1268
- file: e,
1269
- line: 1,
1270
- col: 1,
1271
- severity: "error",
1272
- code: N,
1273
- message: `Autofix error: ${String(r)}`
1274
- }
1275
- ])
1276
- };
1277
- }
1278
- }
1279
- // --- LINT_HELPERS
1280
- /**
1281
- * @purpose Walk all exported entities and their members, collecting lint errors.
1282
- * @param entities Exported entities from AST parse result.
1283
- * @param filePath Source file path for error attribution.
1284
- * @returns Array of lint errors collected from entities and members.
1285
- */
1286
- _lintEntities(e, t) {
1287
- const r = [];
1288
- for (const n of e) {
1289
- if (!n.contract)
1290
- r.push(
1291
- y(
1292
- W,
1293
- `Entity '${n.name}' (${n.kind}) is missing a DBC contract`
1294
- )
1295
- );
1296
- else {
1297
- const s = this._validateContract(
1298
- n.contract.text,
1299
- n.signature,
1300
- n.kind,
1301
- t,
1302
- n.contract.startLine,
1303
- n.contract.startCol
1304
- );
1305
- r.push(...s);
1306
- }
1307
- for (const s of n.members)
1308
- if (!s.contract)
1309
- r.push(
1310
- y(
1311
- W,
1312
- `Member '${s.name}' (${s.kind}) of '${n.name}' is missing a DBC contract`
1313
- )
1314
- );
1315
- else {
1316
- const o = this._validateContract(
1317
- s.contract.text,
1318
- s.signature,
1319
- s.kind,
1320
- t,
1321
- s.contract.startLine,
1322
- s.contract.startCol
1323
- );
1324
- r.push(...o);
1325
- }
1326
- }
1327
- return r.map((n, s) => ({
1328
- ...n,
1329
- file: t || n.file,
1330
- line: n.line > 1 ? n.line : s + 1
1331
- }));
1332
- }
1333
- /**
1334
- * @purpose Parse a contract text and validate it, returning both parser issues
1335
- * (translated per FR-23) and structural mismatches via DbcContractMatchValidator.
1336
- * @param contractText Raw JSDoc contract text to parse and validate.
1337
- * @param signature Signature info from AST for parameter/returns matching.
1338
- * @param kind Entity or member kind for validation matrix lookup.
1339
- * @param filePath Source file path for error attribution.
1340
- * @param startLine Contract start line in source for error position.
1341
- * @param startCol Contract start column in source for error position.
1342
- * @returns Array of lint errors from parser issues and structural mismatches.
1343
- */
1344
- _validateContract(e, t, r, n, s, o) {
1345
- const a = [], c = this._parser.parse(e), d = [];
1346
- for (const u of c.entries)
1347
- if (d.push(u), u.inline)
1348
- for (const h of u.inline)
1349
- d.push(h);
1350
- for (const u of d)
1351
- for (const h of u.issues) {
1352
- const p = s + (h.line ?? 1) - 1;
1353
- a.push({
1354
- file: n,
1355
- line: p > 0 ? p : s,
1356
- col: o,
1357
- severity: "error",
1358
- code: h.code,
1359
- message: `Parser issue in contract: ${h.code}`
1360
- });
1361
- }
1362
- const l = Je(d, t, r);
1363
- for (const u of l)
1364
- a.push({
1365
- ...u,
1366
- file: n,
1367
- line: s,
1368
- col: o
1369
- });
1370
- return a;
1371
- }
1372
- // --- END LINT_HELPERS
1373
- // --- AUTOFIX_COLLECT
1374
- /** @purpose Internal record of a contract block with context for autofix. */
1375
- _ContractBlock = class {
1376
- text;
1377
- kind;
1378
- signature;
1379
- constructor(e, t, r) {
1380
- this.text = e, this.kind = t, this.signature = r;
1381
- }
1382
- };
1383
- /**
1384
- * @purpose Walk entities and members, collecting all JSDoc contract blocks
1385
- * with their associated kind and signature for autofix processing.
1386
- * @param entities Exported entities from AST parse result.
1387
- * @returns Array of contract blocks with kind and signature context.
1388
- */
1389
- _collectContracts(e) {
1390
- const t = [];
1391
- for (const r of e) {
1392
- r.contract && t.push(new this._ContractBlock(r.contract.text, r.kind, r.signature));
1393
- for (const n of r.members)
1394
- n.contract && t.push(new this._ContractBlock(n.contract.text, n.kind, n.signature));
1395
- }
1396
- return t;
1397
- }
1398
- // --- END AUTOFIX_COLLECT
1399
- // --- AUTOFIX_CHAIN_METHODS
1400
- /**
1401
- * @purpose Expand single-line pipe contracts to multi-line for callable kinds or >3 tags.
1402
- * @param jsdocText Raw JSDoc comment text.
1403
- * @param [kind] Entity kind — callable kinds or pipe with >3 tags are expanded.
1404
- * @returns JSDoc text in multi-line format if applicable.
1405
- */
1406
- _expandToMultiline(e, t) {
1407
- if (e.includes(`
1408
- `) || !e.includes(" | @")) return e;
1409
- const n = e.replace(/^\s*\/\*\*\s*/, "").replace(/\s*\*\/\s*$/, "").split(" | @");
1410
- if (n.length === 0 || n.length <= 3 && !F.has(t ?? "")) return e;
1411
- const o = e.match(/^(\s*)/), a = o ? o[1] : "", c = a + " ", d = [a + "/**"];
1412
- d.push(c + "* " + (n[0] ?? "").trim());
1413
- for (let l = 1; l < n.length; l += 1)
1414
- d.push(c + "* @" + (n[l] ?? "").trim());
1415
- return d.push(a + " */"), d.join(`
1416
- `);
1417
- }
1418
- /**
1419
- * @purpose Remove redundant `{dataType}` annotations from @param and @returns tags.
1420
- * @param jsdocText Raw JSDoc comment text.
1421
- * @returns JSDoc text with types stripped.
1422
- */
1423
- _removeRedundantTypes(e) {
1424
- return e.replace(/(\*?\s*)@(param|returns)\s+\{[^}]*\}\s+/g, "$1@$2 ");
1425
- }
1426
- /**
1427
- * @purpose Adjust @param specifiers to wrap optional params in `[brackets]` and remove brackets from required params.
1428
- * @param jsdocText Raw JSDoc comment text.
1429
- * @param signature Signature with optionality flags.
1430
- * @returns JSDoc text with normalized brackets.
1431
- */
1432
- _normalizeParamBrackets(e, t) {
1433
- const r = new Map(t.params.map((o) => [o.name, o]));
1434
- if (!e.includes(`
1435
- `)) {
1436
- const o = e.match(/^(\s*)/), a = o ? o[1] : "", l = e.replace(/^\s*\/\*\*\s*/, "").replace(/\s*\*\/\s*$/, "").split(" | ").map((u) => {
1437
- const h = u.trim();
1438
- if (!/^@param\s/.test(h)) return u;
1439
- const p = this._extractParamSpecifier(h), f = x(p), m = r.get(f);
1440
- if (!m || m.isRest) return u;
1441
- const _ = m.optional, w = p.startsWith("[") && p.endsWith("]");
1442
- if (_ === w) return u;
1443
- let I;
1444
- _ ? I = p.startsWith("...") ? "[..." + f + "]" : "[" + f + "]" : I = p.startsWith("...") ? "..." + f : f;
1445
- const b = p.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1446
- return u.replace(
1447
- new RegExp(`(@param\\s+(?:\\{[^}]*\\}\\s+)?)${b}`),
1448
- `$1${I}`
1449
- );
1450
- });
1451
- return a + "/** " + l.join(" | ") + " */";
1452
- }
1453
- const n = e.split(`
1454
- `), s = [];
1455
- for (const o of n) {
1456
- let a = o.trim();
1457
- if (a.startsWith("* ") ? a = a.slice(2).trimStart() : a.startsWith("*") && (a = a.slice(1).trimStart()), !/^@param\s/.test(a)) {
1458
- s.push(o);
1459
- continue;
1460
- }
1461
- const c = this._extractParamSpecifier(a), d = x(c), l = r.get(d);
1462
- if (!l || l.isRest) {
1463
- s.push(o);
1464
- continue;
1465
- }
1466
- const u = l.optional, h = c.startsWith("[") && c.endsWith("]");
1467
- if (u === h) {
1468
- s.push(o);
1469
- continue;
1470
- }
1471
- let p;
1472
- u ? p = c.startsWith("...") ? "[..." + d + "]" : "[" + d + "]" : p = c.startsWith("...") ? "..." + d : d;
1473
- const f = c.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), m = o.replace(
1474
- new RegExp(`(@param\\s+(?:\\{[^}]*\\}\\s+)?)${f}`),
1475
- `$1${p}`
1476
- );
1477
- s.push(m);
1478
- }
1479
- return s.join(`
1480
- `);
1481
- }
1482
- /**
1483
- * @purpose Remove @param entries whose specifier does not match any signature parameter. | Handles both multi-line and single-line contracts.
1484
- * @param jsdocText Raw JSDoc comment text.
1485
- * @param signature Signature to match against.
1486
- * @returns JSDoc text with extra params removed.
1487
- */
1488
- _removeExtraParams(e, t) {
1489
- const r = new Set(t.params.map((a) => a.name)), n = e.split(`
1490
- `), s = [];
1491
- let o = !1;
1492
- for (const a of n) {
1493
- let c = a.trim();
1494
- if (c === "*/" || c === "*/ ") {
1495
- o = !1, s.push(a);
1496
- continue;
1497
- }
1498
- if (c.startsWith("* ") ? c = c.slice(2).trimStart() : c.startsWith("*") && (c = c.slice(1).trimStart()), /^@param\s/.test(c)) {
1499
- const d = this._extractParamSpecifier(c), l = x(d);
1500
- r.has(l) ? (o = !1, s.push(a)) : o = !0;
1501
- } else /^@\w/.test(c) ? (o = !1, s.push(a)) : o || s.push(a);
1502
- }
1503
- return s.join(`
1504
- `);
1505
- }
1506
- /**
1507
- * @purpose Remove @returns tag when the kind does not allow it or return type is void.
1508
- * @param jsdocText Raw JSDoc comment text.
1509
- * @param kind Entity or member kind.
1510
- * @param [signature] Optional signature info to check void return type.
1511
- * @returns JSDoc text with unexpected @returns removed.
1512
- */
1513
- _removeUnexpectedReturns(e, t, r) {
1514
- if (!(B.has(t) || U.has(t) && r?.returnType === "void"))
1515
- return e;
1516
- const s = e.split(`
1517
- `), o = [];
1518
- let a = !1;
1519
- for (const c of s) {
1520
- let d = c.trim();
1521
- if (d === "*/" || d === "*/ ") {
1522
- a = !1, o.push(c);
1523
- continue;
1524
- }
1525
- d.startsWith("* ") ? d = d.slice(2).trimStart() : d.startsWith("*") && (d = d.slice(1).trimStart()), /^@returns\b/.test(d) ? a = !0 : /^@\w/.test(d) ? (a = !1, o.push(c)) : a || o.push(c);
1526
- }
1527
- return o.join(`
1528
- `);
1529
- }
1530
- /**
1531
- * @purpose Reorder @param entries to match the signature parameter order.
1532
- * @param jsdocText Raw JSDoc comment text.
1533
- * @param signature Signature with desired parameter order.
1534
- * @returns JSDoc text with params reordered.
1535
- */
1536
- _reorderParams(e, t) {
1537
- if (t.params.length === 0)
1538
- return e;
1539
- const r = t.params.map((f) => f.name), n = e.split(`
1540
- `), s = [], o = [], a = [];
1541
- let c = !1, d = !1, l = null;
1542
- for (const f of n) {
1543
- let m = f.trim();
1544
- if (m.startsWith("* ") ? m = m.slice(2).trimStart() : m.startsWith("*") && (m = m.slice(1).trimStart()), !c && !d && /^@param\s/.test(m) && (c = !0), !c && !d) {
1545
- if (o.push(f), /^@param\s/.test(m)) {
1546
- c = !0;
1547
- const _ = this._extractParamSpecifier(m);
1548
- l = {
1549
- name: x(_),
1550
- lines: [f]
1551
- };
1552
- }
1553
- continue;
1554
- }
1555
- if (c)
1556
- if (/^@param\s/.test(m)) {
1557
- l && s.push(l);
1558
- const _ = this._extractParamSpecifier(m);
1559
- l = {
1560
- name: x(_),
1561
- lines: [f]
1562
- };
1563
- } else /^@\w/.test(m) ? (l && (s.push(l), l = null), c = !1, d = !0, a.push(f)) : l && l.lines.push(f);
1564
- else d && a.push(f);
1565
- }
1566
- l && s.push(l);
1567
- const u = /* @__PURE__ */ new Map();
1568
- for (const f of s)
1569
- u.set(f.name, f);
1570
- const h = [];
1571
- for (const f of r) {
1572
- const m = u.get(f);
1573
- m && (h.push(m), u.delete(f));
1574
- }
1575
- for (const [, f] of u)
1576
- h.push(f);
1577
- const p = [...o];
1578
- for (const f of h)
1579
- p.push(...f.lines);
1580
- return p.push(...a), p.join(`
1581
- `);
1582
- }
1583
- /**
1584
- * @purpose Reorder contract tags to canonical DBC order. | Order: description → purpose → implements → invariant → pre → param(*) → | throws → returns → post → sideEffect → other tags.
1585
- * @param jsdocText Raw JSDoc comment text.
1586
- * @returns JSDoc text with tags in canonical order.
1587
- */
1588
- _reorderTags(e) {
1589
- const t = /* @__PURE__ */ new Map([
1590
- ["purpose", 0],
1591
- ["implements", 1],
1592
- ["invariant", 2],
1593
- ["pre", 3],
1594
- ["param", 4],
1595
- ["throws", 5],
1596
- ["returns", 6],
1597
- ["post", 7],
1598
- ["sideEffect", 8],
1599
- ["see", 9],
1600
- ["consumer", 9],
1601
- ["consumers", 9],
1602
- ["author", 9],
1603
- ["deprecated", 9]
1604
- ]), r = e.split(`
1605
- `), n = [], s = [];
1606
- let o = null, a = !1, c = null;
1607
- for (const u of r) {
1608
- let h = u.trim();
1609
- if (h === "*/" || h === "*/ ") {
1610
- c = u;
1611
- continue;
1612
- }
1613
- h.startsWith("* ") ? h = h.slice(2).trimStart() : h.startsWith("*") && (h = h.slice(1).trimStart());
1614
- const p = h.match(/^@(\w+)/);
1615
- if (!a && !p)
1616
- n.push(u);
1617
- else if (p) {
1618
- a = !0;
1619
- const f = p[1];
1620
- o && s.push(o), o = {
1621
- tag: f,
1622
- order: t.get(f) ?? 99,
1623
- lines: [u]
1624
- };
1625
- } else a && o ? o.lines.push(u) : n.push(u);
1626
- }
1627
- o && s.push(o);
1628
- const d = s.map((u, h) => ({ ...u, origIdx: h }));
1629
- d.sort((u, h) => u.order !== h.order ? u.order - h.order : u.origIdx - h.origIdx);
1630
- const l = [...n];
1631
- for (const u of d)
1632
- l.push(...u.lines);
1633
- return c !== null && l.push(c), l.join(`
1634
- `);
1635
- }
1636
- /**
1637
- * @purpose Normalize multi-line JSDoc format: ensure closing marker is on its own line | and opening marker is bare (no content after it). | Preserves original indentation by patching specific format issues | rather than reconstructing the entire block.
1638
- * @invariant Single-line contracts pass through unchanged.
1639
- * @param jsdocText Raw JSDoc comment text.
1640
- * @returns Normalized JSDoc text.
1641
- */
1642
- _normalizeMultiLine(e) {
1643
- if (!e.includes(`
1644
- `))
1645
- return e;
1646
- const t = e.split(`
1647
- `), n = t[0].match(/^(\s*\/\*\*)\s+(.+)/);
1648
- if (n) {
1649
- t[0] = n[1];
1650
- const c = this._detectContentIndent(t);
1651
- t.splice(1, 0, c + "* " + n[2]);
1652
- }
1653
- const s = t.length - 1, a = t[s].match(/^(\s*)\*\s+(.+?)\s*\*\/\s*$/);
1654
- if (a) {
1655
- const c = a[1];
1656
- t[s] = c + "* " + a[2];
1657
- const d = c.length > 0 ? c.slice(0, -1) : "";
1658
- t.push(d + " */");
1659
- }
1660
- for (let c = 1; c < t.length - 1; c += 1) {
1661
- const d = t[c];
1662
- if (d.trim() !== "" && !/^\s*\*\s/.test(d)) {
1663
- const l = d.match(/^(\s*)/), u = l ? l[1] : "";
1664
- t[c] = u + "* " + d.trimStart();
1665
- }
1666
- }
1667
- return t.join(`
1668
- `);
1669
- }
1670
- /**
1671
- * @purpose Detect the indentation pattern used by content lines. | Returns the whitespace prefix before `*` on the first content line, | or the indent of the opening line as fallback.
1672
- * @param lines All lines of the JSDoc block (may be mutated by Step 1).
1673
- * @returns Indent string for `*`-prefixed content lines.
1674
- */
1675
- _detectContentIndent(e) {
1676
- for (let r = 1; r < e.length - 1; r += 1) {
1677
- const n = e[r].match(/^(\s*)\*\s/);
1678
- if (n)
1679
- return n[1];
1680
- }
1681
- return (e[0].match(/^(\s*)/)?.[1] ?? "") + " ";
1682
- }
1683
- /**
1684
- * @purpose Attempt to convert a multi-line JSDoc comment to single-line format. | Inlines only single-tag contracts (1 @tag); multi-tag contracts stay multi-line. | Performs a dry-run through the parser: if the inline version introduces new | parse errors, the original multi-line text is returned unchanged.
1685
- * @param jsdocText Raw JSDoc comment text.
1686
- * @returns Inline text if safe, otherwise the original text.
1687
- */
1688
- _inlineIfSafe(e) {
1689
- if (!e.includes(`
1690
- `))
1691
- return e;
1692
- const t = e.replace(/^\/\*\*\s*/, "").replace(/\s*\*\/\s*$/, "").split(`
1693
- `).map((d) => d.replace(/^\s*\*\s?/, "").trim()).filter((d) => d.length > 0);
1694
- if (t.length === 0 || t.filter((d) => /^@\w/.test(d)).length > 1)
1695
- return e;
1696
- const n = e.match(/^(\s*)/), o = (n ? n[1] : "") + "/** " + t.join(" | ") + " */";
1697
- return this._parser.parse(o).entries.some((d) => d.issues.length > 0) ? e : o;
1698
- }
1699
- /**
1700
- * @purpose Extract the specifier (parameter name) from a @param tag line. | Example: `@param userId Description` → `userId`
1701
- * @param line Trimmed line content starting with `@param`.
1702
- * @returns The specifier or empty string.
1703
- */
1704
- _extractParamSpecifier(e) {
1705
- const n = e.replace(/^(\*?\s*)?@param\s+/, "").replace(/^\{[^}]*\}\s+/, "").match(/^(\S+)/);
1706
- return n ? n[1] : "";
1707
- }
1708
- // --- END AUTOFIX_CHAIN_METHODS
1709
- }
1710
- class St {
1711
- /** @purpose Lazy-initialized tree-sitter parser instance */
1712
- _parser;
1713
- /**
1714
- * @param filePath Absolute path to the TypeScript source file.
1715
- * @param [content] Optional pre-loaded file content, bypasses disk read.
1716
- * @returns Parse result with exported entities or an error.
1717
- * @see {DbcAstAdapter#parseFile} in ../../dbc-ast-adapter.types.ts
1718
- */
1719
- async parseFile(e, t) {
1720
- try {
1721
- g.debug(`[DbcTsAstAdapter#parseFile] [idle → reading] ${e}`);
1722
- const r = t ?? A(e, "utf8"), s = (await this._initializeParser()).parse(r);
1723
- if (s.rootNode.hasError) {
1724
- const c = this._findErrorNode(s.rootNode), d = c ? ` at line ${c.startPosition.row + 1}` : "";
1725
- return g.warn(`[DbcTsAstAdapter#parseFile] [reading → parse-failed] ${e}${d}`), { ok: !1, error: `Syntax error in ${e}${d}` };
1726
- }
1727
- const a = this._extractExported(s.rootNode, r);
1728
- return g.info(
1729
- `[DbcTsAstAdapter#parseFile] [reading → parsed] ${e} (${a.length} entities)`
1730
- ), { ok: !0, exported: a };
1731
- } catch (r) {
1732
- if (r instanceof Error && "code" in r && r.code === "ENOENT")
1733
- return g.warn(`[DbcTsAstAdapter#parseFile] [reading → not-found] ${e}`), { ok: !1, error: `File not found: ${e}` };
1734
- const s = new Error(`[DbcTsAstAdapter#parseFile] Parse failed for ${e}`, {
1735
- cause: r
1736
- });
1737
- return g.error(`[DbcTsAstAdapter#parseFile] [reading → failed] ${e}`, { error: s }), { ok: !1, error: `Failed to parse ${e}: ${String(r)}` };
1738
- }
1739
- }
1740
- /**
1741
- * @purpose Lazy-initializes the tree-sitter Parser with the TypeScript grammar.
1742
- * Uses dynamic import so tree-sitter is only loaded when the adapter is actually used.
1743
- * @returns Configured Parser instance.
1744
- */
1745
- async _initializeParser() {
1746
- if (!this._parser) {
1747
- const [e, t] = await Promise.all([
1748
- import("tree-sitter"),
1749
- import("tree-sitter-typescript")
1750
- ]), r = e.default, n = t.default;
1751
- this._parser = new r();
1752
- const s = n.tsx ?? n;
1753
- this._parser.setLanguage(s);
1754
- }
1755
- return this._parser;
1756
- }
1757
- /**
1758
- * @purpose Walks the root AST node and extracts all exported entities,
1759
- * skipping re-exports.
1760
- * @param root Root CST node.
1761
- * @param source Full source text for slicing.
1762
- * @returns Array of exported entities.
1763
- */
1764
- _extractExported(e, t) {
1765
- const r = [];
1766
- let n;
1767
- for (let s = 0; s < e.childCount; s += 1) {
1768
- const o = e.child(s);
1769
- if (o) {
1770
- if (o.type === "comment") {
1771
- const a = t.slice(o.startIndex, o.endIndex);
1772
- a.startsWith("/**") ? n = {
1773
- text: a,
1774
- startLine: o.startPosition.row + 1,
1775
- startCol: o.startPosition.column + 1
1776
- } : n = void 0;
1777
- continue;
1778
- }
1779
- if (o.type === "export_statement") {
1780
- const a = this._extractExportEntity(o, t, n);
1781
- a && r.push(a), n = void 0;
1782
- continue;
1783
- }
1784
- o.type !== "comment" && (n = void 0);
1785
- }
1786
- }
1787
- return r;
1788
- }
1789
- /**
1790
- * @purpose Extracts a single exported entity from an export_statement node.
1791
- * Skips re-exports.
1792
- * @param node export_statement node.
1793
- * @param source Full source text.
1794
- * @param pendingContract JSDoc contract that precedes this export, if any.
1795
- * @returns Exported entity or undefined for re-exports.
1796
- */
1797
- _extractExportEntity(e, t, r) {
1798
- if (this._isReExport(e))
1799
- return;
1800
- let n = !1, s = null;
1801
- for (let h = 0; h < e.childCount; h += 1) {
1802
- const p = e.child(h);
1803
- if (p) {
1804
- if (p.type === "default") {
1805
- n = !0;
1806
- continue;
1807
- }
1808
- p.type === "export" || p.type === ";" || !s && p.type !== "export" && p.type !== ";" && (s = p);
1809
- }
1810
- }
1811
- if (!s)
1812
- return;
1813
- const o = this._mapKind(s.type, n), a = this._extractName(s, t, n), c = this._extractSignature(s, t), d = this._extractMembers(s, t, o), l = o === "class" ? this._hasImplements(s) : void 0, u = r ? {
1814
- text: r.text,
1815
- startLine: r.startLine,
1816
- startCol: r.startCol
1817
- } : void 0;
1818
- return {
1819
- name: a,
1820
- kind: o,
1821
- members: d,
1822
- contract: u,
1823
- signature: c,
1824
- implementsInterfaces: l
1825
- };
1826
- }
1827
- /**
1828
- * @purpose Determines whether an export_statement is a re-export.
1829
- * @param node export_statement node.
1830
- * @returns True if the export is a re-export that should be skipped.
1831
- */
1832
- _isReExport(e) {
1833
- for (let t = 0; t < e.childCount; t += 1) {
1834
- const r = e.child(t);
1835
- if (r && (r.type === "export_clause" || r.type === "*"))
1836
- return !0;
1837
- }
1838
- return !1;
1839
- }
1840
- /**
1841
- * @purpose Maps a declaration node type to an entity kind string.
1842
- * @param nodeType tree-sitter node type.
1843
- * @param isDefault Whether this is a default export.
1844
- * @returns Entity kind.
1845
- */
1846
- _mapKind(e, t) {
1847
- switch (e) {
1848
- case "function_declaration":
1849
- case "generator_function_declaration":
1850
- return "function";
1851
- case "class_declaration":
1852
- return "class";
1853
- case "interface_declaration":
1854
- return "interface";
1855
- case "type_alias_declaration":
1856
- return "type";
1857
- case "enum_declaration":
1858
- return "enum";
1859
- case "lexical_declaration":
1860
- case "variable_declaration":
1861
- return "const";
1862
- default:
1863
- return t ? "export-default" : e;
1864
- }
1865
- }
1866
- /**
1867
- * @purpose Extracts the entity name from a declaration node.
1868
- * @param node Declaration node.
1869
- * @param source Full source text.
1870
- * @param isDefault Whether this is a default export.
1871
- * @returns Entity name.
1872
- */
1873
- _extractName(e, t, r) {
1874
- const n = e.childForFieldName?.("name") ?? null;
1875
- if (n)
1876
- return t.slice(n.startIndex, n.endIndex);
1877
- for (let s = 0; s < e.childCount; s += 1) {
1878
- const o = e.child(s);
1879
- if (o) {
1880
- if (o.type === "variable_declarator") {
1881
- const a = o.child(0);
1882
- if (a)
1883
- return t.slice(a.startIndex, a.endIndex);
1884
- }
1885
- if (o.type === "identifier" && r)
1886
- return t.slice(o.startIndex, o.endIndex);
1887
- }
1888
- }
1889
- return r ? "_default" : "unknown";
1890
- }
1891
- /**
1892
- * @purpose Extracts signature info (params + returnType) from a callable declaration.
1893
- * @param node Declaration node.
1894
- * @param source Full source text.
1895
- * @returns Signature info with empty arrays for non-callable entities.
1896
- */
1897
- _extractSignature(e, t) {
1898
- const r = [];
1899
- let n = "void";
1900
- const s = this._findChild(e, "formal_parameters");
1901
- if (s)
1902
- for (let a = 0; a < s.childCount; a += 1) {
1903
- const c = s.child(a);
1904
- c && (c.type === "required_parameter" || c.type === "optional_parameter") && r.push(this._extractParam(c, t));
1905
- }
1906
- if (e.type === "function_type") {
1907
- const a = [];
1908
- for (let d = 0; d < e.childCount; d += 1) {
1909
- const l = e.child(d);
1910
- l && a.push(l);
1911
- }
1912
- const c = a.findIndex((d) => d.type === "=>");
1913
- return c >= 0 && c + 1 < a.length && (n = t.slice(a[c + 1].startIndex, a[c + 1].endIndex).trim(), n || (n = "unknown")), { params: r, returnType: n };
1914
- }
1915
- const o = e.childForFieldName?.("return_type") ?? null;
1916
- return o && (n = t.slice(o.startIndex + 1, o.endIndex).trim(), n || (n = "unknown")), r.length === 0 && !o && (n = "void"), { params: r, returnType: n };
1917
- }
1918
- /**
1919
- * @purpose Extracts a single parameter (required or optional) from the formal_parameters list.
1920
- * @param paramNode required_parameter or optional_parameter node.
1921
- * @param source Full source text.
1922
- * @returns Parameter info.
1923
- */
1924
- _extractParam(e, t) {
1925
- let r = "", n = "any", s = e.type === "optional_parameter", o = !1;
1926
- for (let a = 0; a < e.childCount; a += 1) {
1927
- const c = e.child(a);
1928
- if (c) {
1929
- if (c.type === "rest_pattern") {
1930
- o = !0;
1931
- for (let d = 0; d < c.childCount; d += 1) {
1932
- const l = c.child(d);
1933
- l && (l.type === "identifier" || l.type === "object_pattern" || l.type === "array_pattern") && (r = t.slice(l.startIndex, l.endIndex));
1934
- }
1935
- continue;
1936
- }
1937
- if (c.type === "...") {
1938
- o = !0;
1939
- continue;
1940
- }
1941
- if (c.type === "?") {
1942
- s = !0;
1943
- continue;
1944
- }
1945
- if (c.type === "=") {
1946
- s = !0;
1947
- continue;
1948
- }
1949
- if (c.type === "identifier" || c.type === "object_pattern" || c.type === "array_pattern") {
1950
- r = t.slice(c.startIndex, c.endIndex);
1951
- continue;
1952
- }
1953
- if (c.type === "type_annotation") {
1954
- for (let d = 0; d < c.childCount; d += 1) {
1955
- const l = c.child(d);
1956
- l && l.type !== ":" && (n = t.slice(l.startIndex, l.endIndex));
1957
- }
1958
- continue;
1959
- }
1960
- }
1961
- }
1962
- return { name: r, type: n, optional: s, isRest: o };
1963
- }
1964
- /**
1965
- * @purpose Extracts members of a class, interface, or enum entity.
1966
- * @param node Declaration node.
1967
- * @param source Full source text.
1968
- * @param kind Entity kind.
1969
- * @returns Array of members (empty for non-collection entities).
1970
- */
1971
- _extractMembers(e, t, r) {
1972
- return r === "class" ? this._extractClassMembers(e, t) : r === "interface" ? this._extractInterfaceMembers(e, t) : r === "enum" ? this._extractEnumMembers(e, t) : r === "type" ? this._extractTypeAliasMembers(e, t) : [];
1973
- }
1974
- /**
1975
- * @purpose Extracts members from a class declaration body.
1976
- * @param node class_declaration node.
1977
- * @param source Full source text.
1978
- * @returns Array of class members.
1979
- */
1980
- _extractClassMembers(e, t) {
1981
- const r = e.childForFieldName?.("body") ?? null;
1982
- if (!r) return [];
1983
- const n = [];
1984
- let s;
1985
- for (let o = 0; o < r.childCount; o += 1) {
1986
- const a = r.child(o);
1987
- if (!a) continue;
1988
- if (a.type === "comment") {
1989
- const u = t.slice(a.startIndex, a.endIndex);
1990
- u.startsWith("/**") ? s = {
1991
- text: u,
1992
- startLine: a.startPosition.row + 1,
1993
- startCol: a.startPosition.column + 1
1994
- } : s = void 0;
1995
- continue;
1996
- }
1997
- if (a.type === "comment") {
1998
- s = void 0;
1999
- continue;
2000
- }
2001
- let c, d = "", l = null;
2002
- if (a.type === "method_definition" ? (d = this._extractMethodName(a, t), d === "constructor" ? c = "constructor" : this._hasToken(a, "get") ? c = "getter" : this._hasToken(a, "set") ? c = "setter" : c = "method", l = a) : a.type === "public_field_definition" && (d = this._extractFieldName(a, t), c = "field"), c && d) {
2003
- const u = l ? this._extractSignature(l, t) : { params: [], returnType: "void" }, h = s ? {
2004
- text: s.text,
2005
- startLine: s.startLine,
2006
- startCol: s.startCol
2007
- } : void 0;
2008
- n.push({ name: d, kind: c, contract: h, signature: u }), s = void 0;
2009
- } else
2010
- s = void 0;
2011
- }
2012
- return n;
2013
- }
2014
- /**
2015
- * @purpose Extracts members from an interface declaration body.
2016
- * @param node interface_declaration node.
2017
- * @param source Full source text.
2018
- * @returns Array of interface members.
2019
- */
2020
- _extractInterfaceMembers(e, t) {
2021
- const r = e.childForFieldName?.("body") ?? null;
2022
- return r ? this._extractObjectTypeMembers(r, t) : [];
2023
- }
2024
- /**
2025
- * @purpose Extracts members from a type alias with an object type literal body.
2026
- * Delegates to the same logic as interface members since object_type ≡ interface body.
2027
- * @param node type_alias_declaration node.
2028
- * @param source Full source text.
2029
- * @returns Array of object type members.
2030
- */
2031
- _extractTypeAliasMembers(e, t) {
2032
- for (let r = 0; r < e.childCount; r += 1) {
2033
- const n = e.child(r);
2034
- if (n?.type === "object_type")
2035
- return this._extractObjectTypeMembers(n, t);
2036
- }
2037
- return [];
2038
- }
2039
- /**
2040
- * @purpose Extracts members from an object_type or interface body node.
2041
- * Shared by type alias (object_type) and interface declarations.
2042
- * @param body object_type or interface_body node.
2043
- * @param source Full source text.
2044
- * @returns Array of members.
2045
- */
2046
- _extractObjectTypeMembers(e, t) {
2047
- const r = [];
2048
- let n;
2049
- for (let s = 0; s < e.childCount; s += 1) {
2050
- const o = e.child(s);
2051
- if (!o) continue;
2052
- if (o.type === "comment") {
2053
- const l = t.slice(o.startIndex, o.endIndex);
2054
- l.startsWith("/**") ? n = {
2055
- text: l,
2056
- startLine: o.startPosition.row + 1,
2057
- startCol: o.startPosition.column + 1
2058
- } : n = void 0;
2059
- continue;
2060
- }
2061
- if (o.type === "{" || o.type === "}" || o.type === ";" || o.type === ",")
2062
- continue;
2063
- let a, c = "", d = null;
2064
- if (o.type === "method_signature") {
2065
- const l = o.childForFieldName?.("name") ?? null;
2066
- l && (c = t.slice(l.startIndex, l.endIndex)), a = "interface-method", d = o;
2067
- } else if (o.type === "property_signature") {
2068
- const l = o.childForFieldName?.("name") ?? null;
2069
- l && (c = t.slice(l.startIndex, l.endIndex)), this._isFunctionTypedProperty(o) ? (a = "interface-method", d = this._findFunctionTypeNode(o)) : a = "interface-property";
2070
- }
2071
- if (a && c) {
2072
- const l = d ? this._extractSignature(d, t) : { params: [], returnType: "void" }, u = n ? {
2073
- text: n.text,
2074
- startLine: n.startLine,
2075
- startCol: n.startCol
2076
- } : void 0;
2077
- r.push({ name: c, kind: a, contract: u, signature: l }), n = void 0;
2078
- } else
2079
- n = void 0;
2080
- }
2081
- return r;
2082
- }
2083
- /**
2084
- * @purpose Checks if a property_signature node has a function type annotation.
2085
- * @param node property_signature node.
2086
- * @returns True if the property is function-typed.
2087
- */
2088
- _isFunctionTypedProperty(e) {
2089
- for (let t = 0; t < e.childCount; t += 1) {
2090
- const r = e.child(t);
2091
- if (r?.type === "type_annotation") {
2092
- for (let n = 0; n < r.childCount; n += 1)
2093
- if (r.child(n)?.type === "function_type") return !0;
2094
- }
2095
- }
2096
- return !1;
2097
- }
2098
- /**
2099
- * @purpose Finds the function_type node inside a property_signature's type annotation.
2100
- * @param node property_signature node.
2101
- * @returns The function_type node, or null.
2102
- */
2103
- _findFunctionTypeNode(e) {
2104
- for (let t = 0; t < e.childCount; t += 1) {
2105
- const r = e.child(t);
2106
- if (r?.type === "type_annotation")
2107
- for (let n = 0; n < r.childCount; n += 1) {
2108
- const s = r.child(n);
2109
- if (s?.type === "function_type") return s;
2110
- }
2111
- }
2112
- return null;
2113
- }
2114
- /**
2115
- * @purpose Extracts members from an enum declaration body.
2116
- * @param node enum_declaration node.
2117
- * @param source Full source text.
2118
- * @returns Array of enum members.
2119
- */
2120
- _extractEnumMembers(e, t) {
2121
- const r = e.childForFieldName?.("body") ?? null;
2122
- if (!r) return [];
2123
- const n = [];
2124
- let s;
2125
- for (let o = 0; o < r.childCount; o += 1) {
2126
- const a = r.child(o);
2127
- if (a) {
2128
- if (a.type === "comment") {
2129
- const c = t.slice(a.startIndex, a.endIndex);
2130
- c.startsWith("/**") ? s = {
2131
- text: c,
2132
- startLine: a.startPosition.row + 1,
2133
- startCol: a.startPosition.column + 1
2134
- } : s = void 0;
2135
- continue;
2136
- }
2137
- if (a.type === "property_identifier" || a.type === "identifier" || a.type === "string" || a.type === "shorthand_property_identifier") {
2138
- const c = t.slice(a.startIndex, a.endIndex), d = s ? {
2139
- text: s.text,
2140
- startLine: s.startLine,
2141
- startCol: s.startCol
2142
- } : void 0;
2143
- n.push({
2144
- name: c,
2145
- kind: "enum-member",
2146
- contract: d,
2147
- signature: { params: [], returnType: "void" }
2148
- }), s = void 0;
2149
- } else a.type !== "," && a.type !== "{" && a.type !== "}" && (s = void 0);
2150
- }
2151
- }
2152
- return n;
2153
- }
2154
- /**
2155
- * @purpose Extracts the method name from a method_definition node,
2156
- * handling getter/setter property names.
2157
- * @param node method_definition node.
2158
- * @param source Full source text.
2159
- * @returns Method name.
2160
- */
2161
- _extractMethodName(e, t) {
2162
- const r = e.childForFieldName?.("name") ?? null;
2163
- return r ? t.slice(r.startIndex, r.endIndex) : "unknown";
2164
- }
2165
- /**
2166
- * @purpose Extracts the field name from a public_field_definition node.
2167
- * @param node public_field_definition node.
2168
- * @param source Full source text.
2169
- * @returns Field name.
2170
- */
2171
- _extractFieldName(e, t) {
2172
- for (let r = 0; r < e.childCount; r += 1) {
2173
- const n = e.child(r);
2174
- if (n && (n.type === "property_identifier" || n.type === "identifier"))
2175
- return t.slice(n.startIndex, n.endIndex);
2176
- }
2177
- return "unknown";
2178
- }
2179
- /**
2180
- * @purpose Checks if a method_definition has a given token (e.g., 'get', 'set').
2181
- * @param node method_definition node.
2182
- * @param token Token text to search for.
2183
- * @returns True if the token is present.
2184
- */
2185
- _hasToken(e, t) {
2186
- for (let r = 0; r < e.childCount; r += 1) {
2187
- const n = e.child(r);
2188
- if (n && n.type === t)
2189
- return !0;
2190
- }
2191
- return !1;
2192
- }
2193
- /**
2194
- * @purpose Checks if a class_declaration node has an implements clause.
2195
- * @param node class_declaration node.
2196
- * @returns True if the class has `implements` clause.
2197
- */
2198
- _hasImplements(e) {
2199
- const t = this._findChild(e, "class_heritage");
2200
- return t ? this._findChild(t, "implements_clause") !== null : !1;
2201
- }
2202
- /**
2203
- * @purpose Finds a direct child node by type, returning first match.
2204
- * @param parent Parent node.
2205
- * @param type Child node type to find.
2206
- * @returns First matching child or null.
2207
- */
2208
- _findChild(e, t) {
2209
- for (let r = 0; r < e.childCount; r += 1) {
2210
- const n = e.child(r);
2211
- if (n && n.type === t)
2212
- return n;
2213
- }
2214
- return null;
2215
- }
2216
- /**
2217
- * @purpose Recursively searches for the first ERROR node in the tree.
2218
- * @param node Root node to search from.
2219
- * @returns First ERROR node found, or undefined.
2220
- */
2221
- _findErrorNode(e) {
2222
- if (e.type === "ERROR" || e.isError)
2223
- return e;
2224
- for (let t = 0; t < e.childCount; t += 1) {
2225
- const r = e.child(t);
2226
- if (!r) continue;
2227
- const n = this._findErrorNode(r);
2228
- if (n) return n;
2229
- }
2230
- }
2231
- }
2232
- class Ge extends Error {
2233
- /** @purpose The conflicting provider key */
2234
- key;
2235
- /**
2236
- * @purpose Construct with the duplicate key and a trace-prefixed message.
2237
- * @param key The provider key that is already registered.
2238
- */
2239
- constructor(e) {
2240
- super(`[DuplicateProviderError] Provider with key "${e}" is already registered`), this.name = "DuplicateProviderError", this.key = e;
2241
- }
2242
- }
2243
- class ze extends Error {
2244
- /** @purpose The missing provider key */
2245
- key;
2246
- /**
2247
- * @purpose Construct with the missing key and a trace-prefixed message.
2248
- * @param key The provider key that was not found.
2249
- */
2250
- constructor(e) {
2251
- super(`[ProviderNotFoundError] Provider with key "${e}" is not registered`), this.name = "ProviderNotFoundError", this.key = e;
2252
- }
2253
- }
2254
- class He {
2255
- /** @purpose Provider registry — maps string keys to AgentProvider instances | @invariant Empty on construction; mutated only via register/unregister */
2256
- _providers = /* @__PURE__ */ new Map();
2257
- /**
2258
- * @purpose Register a provider under a unique key; rejects on duplicate.
2259
- * @param key Unique provider identifier — non-empty string.
2260
- * @param provider The provider instance implementing AgentProvider.
2261
- * @throws {DuplicateProviderError} When key is already registered.
2262
- * @post Provider is stored in the registry under the given key.
2263
- */
2264
- register(e, t) {
2265
- if (this._providers.has(e))
2266
- throw new Ge(e);
2267
- this._providers.set(e, t), g.debug(`[AgentMonitor#register] [idle → registered] ${e}`);
2268
- }
2269
- /**
2270
- * @purpose Remove a provider from the registry; no-op when the key is not found.
2271
- * @param key Provider key to remove.
2272
- * @post Provider with the given key is no longer in the registry.
2273
- */
2274
- unregister(e) {
2275
- this._providers.delete(e), g.debug(`[AgentMonitor#unregister] [registered → removed] ${e}`);
2276
- }
2277
- /**
2278
- * @purpose Scan all registered providers concurrently, aggregate and sort results by startedAt descending.
2279
- * @invariant Graceful degradation: a failing provider returns [] and does not abort other providers.
2280
- * @param [opts] Optional scan filtering (since timestamp or 'today').
2281
- * @returns All sessions from all providers, sorted by startedAt descending.
2282
- * @sideEffect Calls each registered provider's scan() — may read filesystem / database.
2283
- */
2284
- async scanAll(e) {
2285
- g.debug(`[AgentMonitor#scanAll] [idle → scanning] providers=${this._providers.size}`);
2286
- const r = (await Promise.all(
2287
- [...this._providers.values()].map(async (n) => {
2288
- try {
2289
- return await n.scan(e);
2290
- } catch (s) {
2291
- const o = new Error(`[AgentMonitor#scanAll] Provider ${n.key} failed`, {
2292
- cause: s
2293
- });
2294
- return g.error(`[AgentMonitor#scanAll] [scanning → degraded] ${n.key}`, { error: o }), [];
2295
- }
2296
- })
2297
- )).flat().sort((n, s) => s.startedAt - n.startedAt);
2298
- return g.info(`[AgentMonitor#scanAll] [scanning → completed] sessions=${r.length}`), r;
2299
- }
2300
- /**
2301
- * @purpose Scan a single provider by key; rejects when the provider is not registered.
2302
- * @param key Registered provider key.
2303
- * @param [opts] Optional scan filtering.
2304
- * @throws {ProviderNotFoundError} When the key is not registered.
2305
- * @returns Sessions from the specified provider.
2306
- * @sideEffect Calls the provider's scan() — may read filesystem / database.
2307
- */
2308
- async scanOne(e, t) {
2309
- g.debug(`[AgentMonitor#scanOne] [idle → scanning] ${e}`);
2310
- const r = this._providers.get(e);
2311
- if (r === void 0)
2312
- throw new ze(e);
2313
- try {
2314
- const n = await r.scan(t);
2315
- return g.info(
2316
- `[AgentMonitor#scanOne] [scanning → completed] ${e} sessions=${n.length}`
2317
- ), n;
2318
- } catch (n) {
2319
- const s = new Error(`[AgentMonitor#scanOne] Provider ${e} failed`, { cause: n });
2320
- throw g.error(`[AgentMonitor#scanOne] [scanning → failed] ${e}`, { error: s }), s;
2321
- }
2322
- }
2323
- }
2324
- function Ct() {
2325
- return new He();
2326
- }
2327
- function qe(i) {
2328
- if (i.length === 0) return /* @__PURE__ */ new Map();
2329
- try {
2330
- const e = i.join(","), t = le(`ps -p ${e} -o pid=,pcpu=,rss=,args=`, {
2331
- encoding: "utf-8",
2332
- timeout: 5e3
2333
- }), r = /* @__PURE__ */ new Map(), n = t.trim().split(`
2334
- `);
2335
- for (const s of n) {
2336
- const o = s.trim();
2337
- if (!o) continue;
2338
- const a = o.split(/\s+/);
2339
- if (a.length < 4) continue;
2340
- const c = a[0], d = a[1], l = a[2], u = a.slice(3).join(" "), h = parseInt(c, 10), p = parseFloat(d), f = parseInt(l, 10);
2341
- isNaN(h) || isNaN(p) || isNaN(f) || r.set(h, {
2342
- pid: h,
2343
- cpuPercent: p,
2344
- memoryMb: f / 1024,
2345
- args: u
2346
- });
2347
- }
2348
- return g.debug(
2349
- `[psInfo] [idle → completed] Batch ps: ${i.length} requested, ${r.size} alive`
2350
- ), r;
2351
- } catch (e) {
2352
- const t = new Error("[psInfo] Batch ps command failed", { cause: e });
2353
- return g.warn(`[psInfo] [idle → failed] ps command error for ${i.length} PIDs`, { error: t }), /* @__PURE__ */ new Map();
2354
- }
2355
- }
2356
- function Ve(i) {
2357
- const e = {}, t = i.match(/--model\s+(\S+)/);
2358
- t && (e.model = t[1]);
2359
- const r = i.match(/--effort\s+(\S+)/);
2360
- return r && (e.effort = r[1]), e;
2361
- }
2362
- function Ke(i) {
2363
- const e = i.match(/--allowedTools\s+([^"]*?)(?:\s+--|$)/);
2364
- if (!e) return;
2365
- const r = (e[1] ?? "").match(/Read\(\/\/(?:Users\/[^/]+\/Developer\/)?([^)]+?)(?:\/\*\*)?\)/);
2366
- if (!r) return;
2367
- const s = (r[1] ?? "").split("/");
2368
- return s.length <= 1 ? s[0] : s.slice(-2).join("/");
2369
- }
2370
- function Xe(i) {
2371
- try {
2372
- const e = A(i, "utf-8"), t = JSON.parse(e);
2373
- if (typeof t != "object" || t === null)
2374
- return g.warn(`[readSessionJson] [idle -> skipped] Not a JSON object: ${i}`), null;
2375
- const r = t;
2376
- return typeof r.pid != "number" || typeof r.sessionId != "string" || typeof r.cwd != "string" || typeof r.startedAt != "number" ? (g.warn(`[readSessionJson] [idle -> skipped] Missing required fields in: ${i}`), null) : {
2377
- pid: r.pid,
2378
- sessionId: r.sessionId,
2379
- cwd: r.cwd,
2380
- startedAt: r.startedAt
2381
- };
2382
- } catch (e) {
2383
- const t = new Error("[readSessionJson] Failed to parse session JSON", { cause: e });
2384
- return g.error(`[readSessionJson] [idle -> failed] ${i}`, { error: t }), null;
2385
- }
2386
- }
2387
- function Ye(i, e) {
2388
- try {
2389
- const t = i.replace(/\//g, "-"), r = $(D(), ".claude", "projects", t, `${e}.jsonl`);
2390
- if (!K(r))
2391
- return g.debug(`[readSessionTitle] [idle -> not-found] JSONL missing: ${r}`), "Unknown";
2392
- const s = A(r, "utf-8").trim().split(`
2393
- `);
2394
- for (const o of s)
2395
- try {
2396
- const a = JSON.parse(o);
2397
- if (typeof a == "object" && a !== null && a.type === "ai-title" && typeof a.aiTitle == "string")
2398
- return a.aiTitle;
2399
- } catch {
2400
- }
2401
- for (const o of s)
2402
- try {
2403
- const a = JSON.parse(o);
2404
- if (typeof a == "object" && a !== null && a.type === "user") {
2405
- const c = a.message;
2406
- if (c?.content) {
2407
- const d = typeof c.content == "string" ? c.content : Array.isArray(c.content) && c.content.length > 0 ? String(c.content[0]?.text ?? "") : "";
2408
- if (d) return d;
2409
- }
2410
- }
2411
- } catch {
2412
- }
2413
- return "Unknown";
2414
- } catch (t) {
2415
- const r = new Error("[readSessionTitle] Failed to read session title", { cause: t });
2416
- return g.warn(`[readSessionTitle] [idle -> failed] cwd=${i} sessionId=${e}`, { error: r }), "Unknown";
2417
- }
2418
- }
2419
- function Qe(i) {
2420
- try {
2421
- const e = $(D(), ".claude", "tasks", i);
2422
- if (!K(e)) return "Unknown";
2423
- const t = X(e).filter((n) => n.endsWith(".json"));
2424
- if (t.length === 0) return "Unknown";
2425
- let r;
2426
- for (const n of t)
2427
- try {
2428
- const s = A($(e, n), "utf-8"), o = JSON.parse(s), a = o?.subject;
2429
- if (!a) continue;
2430
- if (o?.status === "in_progress") return a;
2431
- r = r ?? a;
2432
- } catch {
2433
- }
2434
- return r ?? "Unknown";
2435
- } catch {
2436
- return "Unknown";
2437
- }
2438
- }
2439
- class xt {
2440
- /** @see {AgentProvider#key} in ../../model/agent-provider.type.ts */
2441
- key = "claude";
2442
- /** @purpose Batch ps inspection function */
2443
- _psInfo;
2444
- /** @purpose Claude CLI argument parser */
2445
- _parseClaudeArgs;
2446
- /** @purpose Session JSON file reader */
2447
- _readSessionJson;
2448
- /** @purpose Session title extractor from JSONL */
2449
- _readSessionTitle;
2450
- /** @purpose Logger instance */
2451
- _logger;
2452
- /**
2453
- * @purpose Construct with optional DI overrides for testing.
2454
- * @param [deps] Injectable function replacements; omitted deps use real implementations.
2455
- */
2456
- constructor(e) {
2457
- this._psInfo = e?.psInfo ?? qe, this._parseClaudeArgs = e?.parseClaudeArgs ?? Ve, this._readSessionJson = e?.readSessionJson ?? Xe, this._readSessionTitle = e?.readSessionTitle ?? Ye, this._logger = g;
2458
- }
2459
- /**
2460
- * @param [opts] Optional scan filtering parameters.
2461
- * @returns Parsed agent sessions array.
2462
- * @see {AgentProvider#scan} in ../../model/agent-provider.type.ts
2463
- */
2464
- async scan(e) {
2465
- this._logger.debug("[ClaudeProvider#scan] [idle -> scanning]");
2466
- const t = $(D(), ".claude", "sessions");
2467
- let r;
2468
- try {
2469
- r = X(t).filter((l) => l.endsWith(".json"));
2470
- } catch (l) {
2471
- if (l.code === "ENOENT")
2472
- return this._logger.warn(
2473
- `[ClaudeProvider#scan] [scanning -> not-found] Sessions dir missing: ${t}`
2474
- ), [];
2475
- const u = new Error("[ClaudeProvider#scan] Failed to read sessions directory", { cause: l });
2476
- return this._logger.error("[ClaudeProvider#scan] [scanning -> failed]", { error: u }), [];
2477
- }
2478
- const n = [];
2479
- for (const l of r) {
2480
- const u = $(t, l), h = this._readSessionJson(u);
2481
- if (!h) continue;
2482
- let p = 0;
2483
- try {
2484
- p = ae(u).mtimeMs;
2485
- } catch {
2486
- p = h.startedAt;
2487
- }
2488
- n.push({
2489
- pid: h.pid,
2490
- sessionId: h.sessionId,
2491
- cwd: h.cwd,
2492
- startedAt: h.startedAt,
2493
- lastActivityAt: p
2494
- });
2495
- }
2496
- if (n.length === 0)
2497
- return this._logger.debug("[ClaudeProvider#scan] [scanning -> empty] No valid sessions found"), [];
2498
- const s = n.map((l) => l.pid), o = this._psInfo(s), a = Date.now(), c = [];
2499
- for (const l of n) {
2500
- const u = o.get(l.pid), h = u !== void 0;
2501
- let p, f, m;
2502
- h ? (u?.cpuPercent ?? 0) > 0 ? p = "active" : (p = "idle", f = l.lastActivityAt > 0 ? (a - l.lastActivityAt) / 1e3 : void 0) : (p = "completed", m = l.lastActivityAt > 0 ? l.lastActivityAt : a);
2503
- const _ = u ? this._parseClaudeArgs(u.args).model : void 0;
2504
- let w = this._readSessionTitle(l.cwd, l.sessionId);
2505
- if (w === "Unknown" && (w = Qe(l.sessionId)), w === "Unknown" && u) {
2506
- const b = Ke(u.args);
2507
- b ? w = `${M.basename(l.cwd)}: ${b}` : w = `[${M.basename(l.cwd)}] session`;
2508
- }
2509
- const I = (a - l.startedAt) / 1e3;
2510
- c.push({
2511
- provider: "claude",
2512
- pid: l.pid,
2513
- sessionId: l.sessionId,
2514
- cwd: l.cwd,
2515
- project: M.basename(l.cwd),
2516
- startedAt: l.startedAt,
2517
- lastActivityAt: l.lastActivityAt > 0 ? l.lastActivityAt : void 0,
2518
- status: p,
2519
- title: w,
2520
- model: _,
2521
- cpuPercent: u?.cpuPercent,
2522
- memoryMb: u?.memoryMb,
2523
- elapsedSeconds: I,
2524
- idleSeconds: f,
2525
- completedAt: m
2526
- });
2527
- }
2528
- let d = c;
2529
- if (e?.since !== void 0) {
2530
- const l = e.since === "today" ? Ze() : e.since;
2531
- d = c.filter((u) => u.startedAt >= l);
2532
- }
2533
- return this._logger.info(
2534
- `[ClaudeProvider#scan] [scanning -> completed] ${d.length} sessions (${c.length} total)`
2535
- ), d;
2536
- }
2537
- }
2538
- function Ze() {
2539
- const i = /* @__PURE__ */ new Date();
2540
- return i.setHours(0, 0, 0, 0), i.getTime();
2541
- }
2542
- function et(i, e) {
2543
- let t = "SELECT id, slug, title, directory, time_created, time_updated, agent, model, tokens_input, tokens_output, parent_id FROM session WHERE time_archived IS NULL";
2544
- const r = [], n = e?.since ?? Date.now() - 864e5;
2545
- return t += " AND time_updated >= ?", r.push(n), t += " ORDER BY time_updated DESC", i.prepare(t).all(...r);
2546
- }
2547
- function tt(i, e) {
2548
- const r = i.prepare(
2549
- "SELECT data FROM message WHERE session_id = ? ORDER BY time_updated DESC LIMIT 1"
2550
- ).get(e);
2551
- if (!r?.data) return null;
2552
- try {
2553
- const s = JSON.parse(r.data)?.content;
2554
- return typeof s == "string" ? s : Array.isArray(s) && s.length > 0 && typeof s[0]?.text == "string" ? s[0].text : null;
2555
- } catch {
2556
- return r.data;
2557
- }
2558
- }
2559
- function nt(i) {
2560
- if (i)
2561
- try {
2562
- return JSON.parse(i).id ?? i;
2563
- } catch {
2564
- return "unknown";
2565
- }
2566
- }
2567
- const rt = "~/.local/share/opencode/opencode.db";
2568
- class Rt {
2569
- /** @purpose Provider identifier key ('opencode') */
2570
- key = "opencode";
2571
- /** @purpose Resolved dependency injection container */
2572
- _deps;
2573
- /** @purpose Logger instance for structured logging */
2574
- _logger = g;
2575
- /**
2576
- * @purpose Construct with optional dependency injection for testing.
2577
- * @param [deps] Injectable query functions and db path overrides.
2578
- */
2579
- constructor(e) {
2580
- this._deps = {
2581
- dbPath: e?.dbPath ?? rt,
2582
- querySessions: e?.querySessions ?? et,
2583
- queryLastMessage: e?.queryLastMessage ?? tt,
2584
- parseModelJson: e?.parseModelJson ?? nt
2585
- };
2586
- }
2587
- /**
2588
- * @param [opts] Optional scan filtering parameters.
2589
- * @returns Parsed agent sessions array.
2590
- * @see {AgentProvider#scan} in ../../model/agent-provider.type.ts
2591
- */
2592
- async scan(e) {
2593
- this._logger.debug("[OpenCodeProvider#scan] [idle → opening]");
2594
- const t = this._resolvePath(this._deps.dbPath);
2595
- let r;
2596
- try {
2597
- r = new de(t);
2598
- } catch (n) {
2599
- return this._logger.warn(`[OpenCodeProvider#scan] [opening → not_found] ${t}`, { cause: n }), [];
2600
- }
2601
- try {
2602
- const n = this._deps.querySessions(r, e), s = [];
2603
- for (const o of n) {
2604
- const a = this._deps.parseModelJson(o.model), c = this._deps.queryLastMessage(r, o.id), d = o.time_created, l = o.time_updated, u = Math.max(0, Math.round((l - d) / 1e3));
2605
- s.push({
2606
- provider: "opencode",
2607
- pid: null,
2608
- sessionId: o.slug,
2609
- parentId: o.parent_id ?? void 0,
2610
- title: o.title ?? "",
2611
- slug: o.slug,
2612
- cwd: o.directory,
2613
- project: o.directory.split("/").pop() ?? o.directory,
2614
- model: a,
2615
- agent: o.agent ?? void 0,
2616
- status: "active",
2617
- startedAt: d,
2618
- lastActivityAt: l,
2619
- elapsedSeconds: u,
2620
- tokensInput: o.tokens_input ?? void 0,
2621
- tokensOutput: o.tokens_output ?? void 0,
2622
- lastMessage: c ?? void 0
2623
- });
2624
- }
2625
- return this._logger.info(`[OpenCodeProvider#scan] [querying → scanned] ${s.length} sessions`), s;
2626
- } catch (n) {
2627
- const s = new Error("[OpenCodeProvider#scan] Query failed", { cause: n });
2628
- return this._logger.error("[OpenCodeProvider#scan] [querying → failed]", { error: s }), [];
2629
- } finally {
2630
- r.close();
2631
- }
2632
- }
2633
- /**
2634
- * @purpose Resolve tilde-prefixed path to an absolute path using the home directory.
2635
- * @param raw Raw path string potentially starting with ~/.
2636
- * @returns Absolute path with ~ resolved to os.homedir().
2637
- */
2638
- _resolvePath(e) {
2639
- return e.startsWith("~/") ? M.join(ce.homedir(), e.slice(2)) : e;
2640
- }
2641
- }
2642
- const st = [
2643
- "status",
2644
- "title",
2645
- "lastActivityAt",
2646
- "elapsedSeconds",
2647
- "idleSeconds",
2648
- "toolCallCount",
2649
- "errorCount",
2650
- "lastMessage",
2651
- "tokensInput",
2652
- "tokensOutput"
2653
- ];
2654
- function it(i, e) {
2655
- g.debug("[diff] [idle → comparing]");
2656
- const t = new Map(i.map((a) => [a.sessionId, a])), r = new Map(e.map((a) => [a.sessionId, a])), n = [], s = [], o = [];
2657
- for (const a of e) {
2658
- const c = t.get(a.sessionId);
2659
- if (!c) {
2660
- n.push(a);
2661
- continue;
2662
- }
2663
- ot(c, a) && o.push(a);
2664
- }
2665
- for (const a of i)
2666
- r.has(a.sessionId) || s.push(a);
2667
- return g.debug(
2668
- `[diff] [comparing → done] added=${n.length} removed=${s.length} updated=${o.length}`
2669
- ), { added: n, removed: s, updated: o };
2670
- }
2671
- function ot(i, e) {
2672
- return st.some((t) => i[t] !== e[t]);
2673
- }
2674
- const at = 3e5, q = 100;
2675
- function V(i, e) {
2676
- const t = Date.now();
2677
- for (const r of i)
2678
- r.lastActivityAt !== void 0 && t - r.lastActivityAt > e && (r.status = "idle");
2679
- }
2680
- function ct() {
2681
- return { added: [], removed: [], updated: [] };
2682
- }
2683
- async function* Et(i, e) {
2684
- if (e.interval < q)
2685
- throw new RangeError(
2686
- `[observe] interval must be >= ${q}ms, got ${e.interval}`
2687
- );
2688
- const t = e.idleThresholdMs ?? at;
2689
- g.debug(
2690
- `[observe] [idle → initializing] interval=${e.interval}ms idleThreshold=${t}ms`
2691
- );
2692
- let r;
2693
- try {
2694
- r = await i.scanAll(), V(r, t), g.debug(`[observe] [initializing → baseline] sessions=${r.length}`);
2695
- } catch (n) {
2696
- const s = new Error("[observe] Baseline scan failed", { cause: n });
2697
- g.error("[observe] [initializing → failed]", { error: s }), r = [];
2698
- }
2699
- for (; ; ) {
2700
- await new Promise((n) => setTimeout(n, e.interval));
2701
- try {
2702
- const n = await i.scanAll();
2703
- V(n, t);
2704
- const s = it(r, n);
2705
- g.debug(
2706
- `[observe] [polling → yielded] added=${s.added.length} removed=${s.removed.length} updated=${s.updated.length}`
2707
- ), r = n, yield s;
2708
- } catch (n) {
2709
- const s = new Error("[observe] Scan cycle failed", { cause: n });
2710
- g.error("[observe] [polling → degraded]", { error: s }), yield ct();
2711
- }
2712
- }
2713
- }
2714
- export {
2715
- xt as C,
2716
- It as D,
2717
- Rt as O,
2718
- $e as R,
2719
- _t as V,
2720
- vt as a,
2721
- St as b,
2722
- wt as c,
2723
- yt as d,
2724
- Ct as e,
2725
- be as f,
2726
- L as g,
2727
- g as l,
2728
- Et as o,
2729
- gt as p,
2730
- bt as r,
2731
- mt as s
2732
- };