@angriff36/manifest 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (995) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +476 -0
  3. package/dist/manifest/agent-sdk/agent-runtime.d.ts +30 -0
  4. package/dist/manifest/agent-sdk/agent-runtime.d.ts.map +1 -0
  5. package/dist/manifest/agent-sdk/agent-runtime.js +232 -0
  6. package/dist/manifest/agent-sdk/agent-runtime.js.map +1 -0
  7. package/dist/manifest/agent-sdk/index.d.ts +17 -0
  8. package/dist/manifest/agent-sdk/index.d.ts.map +1 -0
  9. package/dist/manifest/agent-sdk/index.js +21 -0
  10. package/dist/manifest/agent-sdk/index.js.map +1 -0
  11. package/dist/manifest/agent-sdk/intent-mapper.d.ts +17 -0
  12. package/dist/manifest/agent-sdk/intent-mapper.d.ts.map +1 -0
  13. package/dist/manifest/agent-sdk/intent-mapper.js +115 -0
  14. package/dist/manifest/agent-sdk/intent-mapper.js.map +1 -0
  15. package/dist/manifest/agent-sdk/introspect.d.ts +42 -0
  16. package/dist/manifest/agent-sdk/introspect.d.ts.map +1 -0
  17. package/dist/manifest/agent-sdk/introspect.js +284 -0
  18. package/dist/manifest/agent-sdk/introspect.js.map +1 -0
  19. package/dist/manifest/agent-sdk/json-schema.d.ts +29 -0
  20. package/dist/manifest/agent-sdk/json-schema.d.ts.map +1 -0
  21. package/dist/manifest/agent-sdk/json-schema.js +132 -0
  22. package/dist/manifest/agent-sdk/json-schema.js.map +1 -0
  23. package/dist/manifest/agent-sdk/tool-definitions.d.ts +41 -0
  24. package/dist/manifest/agent-sdk/tool-definitions.d.ts.map +1 -0
  25. package/dist/manifest/agent-sdk/tool-definitions.js +288 -0
  26. package/dist/manifest/agent-sdk/tool-definitions.js.map +1 -0
  27. package/dist/manifest/agent-sdk/types.d.ts +293 -0
  28. package/dist/manifest/agent-sdk/types.d.ts.map +1 -0
  29. package/dist/manifest/agent-sdk/types.js +6 -0
  30. package/dist/manifest/agent-sdk/types.js.map +1 -0
  31. package/dist/manifest/api-diagnostics.d.ts +41 -0
  32. package/dist/manifest/api-diagnostics.d.ts.map +1 -0
  33. package/dist/manifest/api-diagnostics.js +105 -0
  34. package/dist/manifest/api-diagnostics.js.map +1 -0
  35. package/dist/manifest/approval/approval-store.d.ts +52 -0
  36. package/dist/manifest/approval/approval-store.d.ts.map +1 -0
  37. package/dist/manifest/approval/approval-store.js +25 -0
  38. package/dist/manifest/approval/approval-store.js.map +1 -0
  39. package/dist/manifest/approval/stores/memory.d.ts +33 -0
  40. package/dist/manifest/approval/stores/memory.d.ts.map +1 -0
  41. package/dist/manifest/approval/stores/memory.js +56 -0
  42. package/dist/manifest/approval/stores/memory.js.map +1 -0
  43. package/dist/manifest/approval/stores/postgres.d.ts +41 -0
  44. package/dist/manifest/approval/stores/postgres.d.ts.map +1 -0
  45. package/dist/manifest/approval/stores/postgres.js +124 -0
  46. package/dist/manifest/approval/stores/postgres.js.map +1 -0
  47. package/dist/manifest/audit/audit-sink.d.ts +53 -0
  48. package/dist/manifest/audit/audit-sink.d.ts.map +1 -0
  49. package/dist/manifest/audit/audit-sink.js +15 -0
  50. package/dist/manifest/audit/audit-sink.js.map +1 -0
  51. package/dist/manifest/audit/sinks/memory.d.ts +50 -0
  52. package/dist/manifest/audit/sinks/memory.d.ts.map +1 -0
  53. package/dist/manifest/audit/sinks/memory.js +66 -0
  54. package/dist/manifest/audit/sinks/memory.js.map +1 -0
  55. package/dist/manifest/audit/sinks/postgres.d.ts +31 -0
  56. package/dist/manifest/audit/sinks/postgres.d.ts.map +1 -0
  57. package/dist/manifest/audit/sinks/postgres.js +67 -0
  58. package/dist/manifest/audit/sinks/postgres.js.map +1 -0
  59. package/dist/manifest/binary-ir.d.ts +76 -0
  60. package/dist/manifest/binary-ir.d.ts.map +1 -0
  61. package/dist/manifest/binary-ir.js +124 -0
  62. package/dist/manifest/binary-ir.js.map +1 -0
  63. package/dist/manifest/breaking-change.d.ts +75 -0
  64. package/dist/manifest/breaking-change.d.ts.map +1 -0
  65. package/dist/manifest/breaking-change.js +704 -0
  66. package/dist/manifest/breaking-change.js.map +1 -0
  67. package/dist/manifest/compiler.d.ts +12 -0
  68. package/dist/manifest/compiler.d.ts.map +1 -0
  69. package/dist/manifest/compiler.js +23 -0
  70. package/dist/manifest/compiler.js.map +1 -0
  71. package/dist/manifest/config.d.ts +171 -0
  72. package/dist/manifest/config.d.ts.map +1 -0
  73. package/dist/manifest/config.js +65 -0
  74. package/dist/manifest/config.js.map +1 -0
  75. package/dist/manifest/constraint-analysis.d.ts +122 -0
  76. package/dist/manifest/constraint-analysis.d.ts.map +1 -0
  77. package/dist/manifest/constraint-analysis.js +340 -0
  78. package/dist/manifest/constraint-analysis.js.map +1 -0
  79. package/dist/manifest/date-time.d.ts +13 -0
  80. package/dist/manifest/date-time.d.ts.map +1 -0
  81. package/dist/manifest/date-time.js +60 -0
  82. package/dist/manifest/date-time.js.map +1 -0
  83. package/dist/manifest/debug/command-trace.d.ts +37 -0
  84. package/dist/manifest/debug/command-trace.d.ts.map +1 -0
  85. package/dist/manifest/debug/command-trace.js +51 -0
  86. package/dist/manifest/debug/command-trace.js.map +1 -0
  87. package/dist/manifest/debug/index.d.ts +3 -0
  88. package/dist/manifest/debug/index.d.ts.map +1 -0
  89. package/dist/manifest/debug/index.js +2 -0
  90. package/dist/manifest/debug/index.js.map +1 -0
  91. package/dist/manifest/domain-completeness.d.ts +13 -0
  92. package/dist/manifest/domain-completeness.d.ts.map +1 -0
  93. package/dist/manifest/domain-completeness.js +245 -0
  94. package/dist/manifest/domain-completeness.js.map +1 -0
  95. package/dist/manifest/entity-composition.d.ts +24 -0
  96. package/dist/manifest/entity-composition.d.ts.map +1 -0
  97. package/dist/manifest/entity-composition.js +157 -0
  98. package/dist/manifest/entity-composition.js.map +1 -0
  99. package/dist/manifest/examples.d.ts +6 -0
  100. package/dist/manifest/examples.d.ts.map +1 -0
  101. package/dist/manifest/examples.js +443 -0
  102. package/dist/manifest/examples.js.map +1 -0
  103. package/dist/manifest/federation/client.d.ts +52 -0
  104. package/dist/manifest/federation/client.d.ts.map +1 -0
  105. package/dist/manifest/federation/client.js +152 -0
  106. package/dist/manifest/federation/client.js.map +1 -0
  107. package/dist/manifest/federation/descriptor.d.ts +25 -0
  108. package/dist/manifest/federation/descriptor.d.ts.map +1 -0
  109. package/dist/manifest/federation/descriptor.js +97 -0
  110. package/dist/manifest/federation/descriptor.js.map +1 -0
  111. package/dist/manifest/federation/http-adapter.d.ts +26 -0
  112. package/dist/manifest/federation/http-adapter.d.ts.map +1 -0
  113. package/dist/manifest/federation/http-adapter.js +209 -0
  114. package/dist/manifest/federation/http-adapter.js.map +1 -0
  115. package/dist/manifest/federation/index.d.ts +51 -0
  116. package/dist/manifest/federation/index.d.ts.map +1 -0
  117. package/dist/manifest/federation/index.js +49 -0
  118. package/dist/manifest/federation/index.js.map +1 -0
  119. package/dist/manifest/federation/policy-bridge.d.ts +51 -0
  120. package/dist/manifest/federation/policy-bridge.d.ts.map +1 -0
  121. package/dist/manifest/federation/policy-bridge.js +122 -0
  122. package/dist/manifest/federation/policy-bridge.js.map +1 -0
  123. package/dist/manifest/federation/registry.d.ts +88 -0
  124. package/dist/manifest/federation/registry.d.ts.map +1 -0
  125. package/dist/manifest/federation/registry.js +165 -0
  126. package/dist/manifest/federation/registry.js.map +1 -0
  127. package/dist/manifest/federation/types.d.ts +209 -0
  128. package/dist/manifest/federation/types.d.ts.map +1 -0
  129. package/dist/manifest/federation/types.js +13 -0
  130. package/dist/manifest/federation/types.js.map +1 -0
  131. package/dist/manifest/generator.d.ts +44 -0
  132. package/dist/manifest/generator.d.ts.map +1 -0
  133. package/dist/manifest/generator.js +899 -0
  134. package/dist/manifest/generator.js.map +1 -0
  135. package/dist/manifest/ir-cache.d.ts +48 -0
  136. package/dist/manifest/ir-cache.d.ts.map +1 -0
  137. package/dist/manifest/ir-cache.js +91 -0
  138. package/dist/manifest/ir-cache.js.map +1 -0
  139. package/dist/manifest/ir-compiler.d.ts +135 -0
  140. package/dist/manifest/ir-compiler.d.ts.map +1 -0
  141. package/dist/manifest/ir-compiler.js +1477 -0
  142. package/dist/manifest/ir-compiler.js.map +1 -0
  143. package/dist/manifest/ir-diff.d.ts +266 -0
  144. package/dist/manifest/ir-diff.d.ts.map +1 -0
  145. package/dist/manifest/ir-diff.js +731 -0
  146. package/dist/manifest/ir-diff.js.map +1 -0
  147. package/dist/manifest/ir-version-store.d.ts +109 -0
  148. package/dist/manifest/ir-version-store.d.ts.map +1 -0
  149. package/dist/manifest/ir-version-store.js +162 -0
  150. package/dist/manifest/ir-version-store.js.map +1 -0
  151. package/dist/manifest/ir.d.ts +616 -0
  152. package/dist/manifest/ir.d.ts.map +1 -0
  153. package/dist/manifest/ir.js +2 -0
  154. package/dist/manifest/ir.js.map +1 -0
  155. package/dist/manifest/lexer.d.ts +37 -0
  156. package/dist/manifest/lexer.d.ts.map +1 -0
  157. package/dist/manifest/lexer.js +224 -0
  158. package/dist/manifest/lexer.js.map +1 -0
  159. package/dist/manifest/masking.d.ts +11 -0
  160. package/dist/manifest/masking.d.ts.map +1 -0
  161. package/dist/manifest/masking.js +34 -0
  162. package/dist/manifest/masking.js.map +1 -0
  163. package/dist/manifest/module-resolver.d.ts +42 -0
  164. package/dist/manifest/module-resolver.d.ts.map +1 -0
  165. package/dist/manifest/module-resolver.js +162 -0
  166. package/dist/manifest/module-resolver.js.map +1 -0
  167. package/dist/manifest/multi-compiler.d.ts +40 -0
  168. package/dist/manifest/multi-compiler.d.ts.map +1 -0
  169. package/dist/manifest/multi-compiler.js +324 -0
  170. package/dist/manifest/multi-compiler.js.map +1 -0
  171. package/dist/manifest/outbox/outbox-store.d.ts +56 -0
  172. package/dist/manifest/outbox/outbox-store.d.ts.map +1 -0
  173. package/dist/manifest/outbox/outbox-store.js +13 -0
  174. package/dist/manifest/outbox/outbox-store.js.map +1 -0
  175. package/dist/manifest/outbox/stores/dynamodb.d.ts +100 -0
  176. package/dist/manifest/outbox/stores/dynamodb.d.ts.map +1 -0
  177. package/dist/manifest/outbox/stores/dynamodb.js +239 -0
  178. package/dist/manifest/outbox/stores/dynamodb.js.map +1 -0
  179. package/dist/manifest/outbox/stores/memory.d.ts +54 -0
  180. package/dist/manifest/outbox/stores/memory.d.ts.map +1 -0
  181. package/dist/manifest/outbox/stores/memory.js +131 -0
  182. package/dist/manifest/outbox/stores/memory.js.map +1 -0
  183. package/dist/manifest/outbox/stores/mongodb.d.ts +58 -0
  184. package/dist/manifest/outbox/stores/mongodb.d.ts.map +1 -0
  185. package/dist/manifest/outbox/stores/mongodb.js +151 -0
  186. package/dist/manifest/outbox/stores/mongodb.js.map +1 -0
  187. package/dist/manifest/outbox/stores/postgres.d.ts +81 -0
  188. package/dist/manifest/outbox/stores/postgres.d.ts.map +1 -0
  189. package/dist/manifest/outbox/stores/postgres.js +182 -0
  190. package/dist/manifest/outbox/stores/postgres.js.map +1 -0
  191. package/dist/manifest/outbox/stores/redis.d.ts +95 -0
  192. package/dist/manifest/outbox/stores/redis.d.ts.map +1 -0
  193. package/dist/manifest/outbox/stores/redis.js +248 -0
  194. package/dist/manifest/outbox/stores/redis.js.map +1 -0
  195. package/dist/manifest/parser.d.ts +148 -0
  196. package/dist/manifest/parser.d.ts.map +1 -0
  197. package/dist/manifest/parser.js +2243 -0
  198. package/dist/manifest/parser.js.map +1 -0
  199. package/dist/manifest/plugin-api.d.ts +202 -0
  200. package/dist/manifest/plugin-api.d.ts.map +1 -0
  201. package/dist/manifest/plugin-api.js +101 -0
  202. package/dist/manifest/plugin-api.js.map +1 -0
  203. package/dist/manifest/plugin-loader.d.ts +101 -0
  204. package/dist/manifest/plugin-loader.d.ts.map +1 -0
  205. package/dist/manifest/plugin-loader.js +332 -0
  206. package/dist/manifest/plugin-loader.js.map +1 -0
  207. package/dist/manifest/profiling.d.ts +183 -0
  208. package/dist/manifest/profiling.d.ts.map +1 -0
  209. package/dist/manifest/profiling.js +186 -0
  210. package/dist/manifest/profiling.js.map +1 -0
  211. package/dist/manifest/projections/analytics/generator.d.ts +27 -0
  212. package/dist/manifest/projections/analytics/generator.d.ts.map +1 -0
  213. package/dist/manifest/projections/analytics/generator.js +686 -0
  214. package/dist/manifest/projections/analytics/generator.js.map +1 -0
  215. package/dist/manifest/projections/analytics/types.d.ts +46 -0
  216. package/dist/manifest/projections/analytics/types.d.ts.map +1 -0
  217. package/dist/manifest/projections/analytics/types.js +8 -0
  218. package/dist/manifest/projections/analytics/types.js.map +1 -0
  219. package/dist/manifest/projections/builtins.d.ts +29 -0
  220. package/dist/manifest/projections/builtins.d.ts.map +1 -0
  221. package/dist/manifest/projections/builtins.js +143 -0
  222. package/dist/manifest/projections/builtins.js.map +1 -0
  223. package/dist/manifest/projections/convex/expression.d.ts +52 -0
  224. package/dist/manifest/projections/convex/expression.d.ts.map +1 -0
  225. package/dist/manifest/projections/convex/expression.js +166 -0
  226. package/dist/manifest/projections/convex/expression.js.map +1 -0
  227. package/dist/manifest/projections/convex/functions.d.ts +22 -0
  228. package/dist/manifest/projections/convex/functions.d.ts.map +1 -0
  229. package/dist/manifest/projections/convex/functions.js +786 -0
  230. package/dist/manifest/projections/convex/functions.js.map +1 -0
  231. package/dist/manifest/projections/convex/generator.d.ts +79 -0
  232. package/dist/manifest/projections/convex/generator.d.ts.map +1 -0
  233. package/dist/manifest/projections/convex/generator.js +406 -0
  234. package/dist/manifest/projections/convex/generator.js.map +1 -0
  235. package/dist/manifest/projections/convex/index.d.ts +10 -0
  236. package/dist/manifest/projections/convex/index.d.ts.map +1 -0
  237. package/dist/manifest/projections/convex/index.js +10 -0
  238. package/dist/manifest/projections/convex/index.js.map +1 -0
  239. package/dist/manifest/projections/convex/options.d.ts +153 -0
  240. package/dist/manifest/projections/convex/options.d.ts.map +1 -0
  241. package/dist/manifest/projections/convex/options.js +60 -0
  242. package/dist/manifest/projections/convex/options.js.map +1 -0
  243. package/dist/manifest/projections/convex/orchestration.d.ts +23 -0
  244. package/dist/manifest/projections/convex/orchestration.d.ts.map +1 -0
  245. package/dist/manifest/projections/convex/orchestration.js +150 -0
  246. package/dist/manifest/projections/convex/orchestration.js.map +1 -0
  247. package/dist/manifest/projections/convex/type-mapping.d.ts +40 -0
  248. package/dist/manifest/projections/convex/type-mapping.d.ts.map +1 -0
  249. package/dist/manifest/projections/convex/type-mapping.js +71 -0
  250. package/dist/manifest/projections/convex/type-mapping.js.map +1 -0
  251. package/dist/manifest/projections/dart/generator.d.ts +33 -0
  252. package/dist/manifest/projections/dart/generator.d.ts.map +1 -0
  253. package/dist/manifest/projections/dart/generator.js +981 -0
  254. package/dist/manifest/projections/dart/generator.js.map +1 -0
  255. package/dist/manifest/projections/dart/types.d.ts +29 -0
  256. package/dist/manifest/projections/dart/types.d.ts.map +1 -0
  257. package/dist/manifest/projections/dart/types.js +5 -0
  258. package/dist/manifest/projections/dart/types.js.map +1 -0
  259. package/dist/manifest/projections/drizzle/generator.d.ts +27 -0
  260. package/dist/manifest/projections/drizzle/generator.d.ts.map +1 -0
  261. package/dist/manifest/projections/drizzle/generator.js +654 -0
  262. package/dist/manifest/projections/drizzle/generator.js.map +1 -0
  263. package/dist/manifest/projections/drizzle/index.d.ts +12 -0
  264. package/dist/manifest/projections/drizzle/index.d.ts.map +1 -0
  265. package/dist/manifest/projections/drizzle/index.js +12 -0
  266. package/dist/manifest/projections/drizzle/index.js.map +1 -0
  267. package/dist/manifest/projections/drizzle/options.d.ts +94 -0
  268. package/dist/manifest/projections/drizzle/options.d.ts.map +1 -0
  269. package/dist/manifest/projections/drizzle/options.js +31 -0
  270. package/dist/manifest/projections/drizzle/options.js.map +1 -0
  271. package/dist/manifest/projections/drizzle/type-mapping.d.ts +74 -0
  272. package/dist/manifest/projections/drizzle/type-mapping.d.ts.map +1 -0
  273. package/dist/manifest/projections/drizzle/type-mapping.js +101 -0
  274. package/dist/manifest/projections/drizzle/type-mapping.js.map +1 -0
  275. package/dist/manifest/projections/dynamodb/generator.d.ts +48 -0
  276. package/dist/manifest/projections/dynamodb/generator.d.ts.map +1 -0
  277. package/dist/manifest/projections/dynamodb/generator.js +341 -0
  278. package/dist/manifest/projections/dynamodb/generator.js.map +1 -0
  279. package/dist/manifest/projections/elasticsearch/generator.d.ts +44 -0
  280. package/dist/manifest/projections/elasticsearch/generator.d.ts.map +1 -0
  281. package/dist/manifest/projections/elasticsearch/generator.js +613 -0
  282. package/dist/manifest/projections/elasticsearch/generator.js.map +1 -0
  283. package/dist/manifest/projections/elasticsearch/options.d.ts +56 -0
  284. package/dist/manifest/projections/elasticsearch/options.d.ts.map +1 -0
  285. package/dist/manifest/projections/elasticsearch/options.js +37 -0
  286. package/dist/manifest/projections/elasticsearch/options.js.map +1 -0
  287. package/dist/manifest/projections/elasticsearch/type-mapping.d.ts +30 -0
  288. package/dist/manifest/projections/elasticsearch/type-mapping.d.ts.map +1 -0
  289. package/dist/manifest/projections/elasticsearch/type-mapping.js +34 -0
  290. package/dist/manifest/projections/elasticsearch/type-mapping.js.map +1 -0
  291. package/dist/manifest/projections/elasticsearch/types.d.ts +81 -0
  292. package/dist/manifest/projections/elasticsearch/types.d.ts.map +1 -0
  293. package/dist/manifest/projections/elasticsearch/types.js +10 -0
  294. package/dist/manifest/projections/elasticsearch/types.js.map +1 -0
  295. package/dist/manifest/projections/express/generator.d.ts +38 -0
  296. package/dist/manifest/projections/express/generator.d.ts.map +1 -0
  297. package/dist/manifest/projections/express/generator.js +620 -0
  298. package/dist/manifest/projections/express/generator.js.map +1 -0
  299. package/dist/manifest/projections/express/index.d.ts +8 -0
  300. package/dist/manifest/projections/express/index.d.ts.map +1 -0
  301. package/dist/manifest/projections/express/index.js +7 -0
  302. package/dist/manifest/projections/express/index.js.map +1 -0
  303. package/dist/manifest/projections/express/types.d.ts +92 -0
  304. package/dist/manifest/projections/express/types.d.ts.map +1 -0
  305. package/dist/manifest/projections/express/types.js +9 -0
  306. package/dist/manifest/projections/express/types.js.map +1 -0
  307. package/dist/manifest/projections/graphql/generator.d.ts +43 -0
  308. package/dist/manifest/projections/graphql/generator.d.ts.map +1 -0
  309. package/dist/manifest/projections/graphql/generator.js +662 -0
  310. package/dist/manifest/projections/graphql/generator.js.map +1 -0
  311. package/dist/manifest/projections/graphql/index.d.ts +11 -0
  312. package/dist/manifest/projections/graphql/index.d.ts.map +1 -0
  313. package/dist/manifest/projections/graphql/index.js +10 -0
  314. package/dist/manifest/projections/graphql/index.js.map +1 -0
  315. package/dist/manifest/projections/graphql/types.d.ts +69 -0
  316. package/dist/manifest/projections/graphql/types.d.ts.map +1 -0
  317. package/dist/manifest/projections/graphql/types.js +9 -0
  318. package/dist/manifest/projections/graphql/types.js.map +1 -0
  319. package/dist/manifest/projections/health/generator.d.ts +36 -0
  320. package/dist/manifest/projections/health/generator.d.ts.map +1 -0
  321. package/dist/manifest/projections/health/generator.js +355 -0
  322. package/dist/manifest/projections/health/generator.js.map +1 -0
  323. package/dist/manifest/projections/health/types.d.ts +67 -0
  324. package/dist/manifest/projections/health/types.d.ts.map +1 -0
  325. package/dist/manifest/projections/health/types.js +28 -0
  326. package/dist/manifest/projections/health/types.js.map +1 -0
  327. package/dist/manifest/projections/hono/generator.d.ts +36 -0
  328. package/dist/manifest/projections/hono/generator.d.ts.map +1 -0
  329. package/dist/manifest/projections/hono/generator.js +578 -0
  330. package/dist/manifest/projections/hono/generator.js.map +1 -0
  331. package/dist/manifest/projections/hono/types.d.ts +86 -0
  332. package/dist/manifest/projections/hono/types.d.ts.map +1 -0
  333. package/dist/manifest/projections/hono/types.js +10 -0
  334. package/dist/manifest/projections/hono/types.js.map +1 -0
  335. package/dist/manifest/projections/index.d.ts +58 -0
  336. package/dist/manifest/projections/index.d.ts.map +1 -0
  337. package/dist/manifest/projections/index.js +41 -0
  338. package/dist/manifest/projections/index.js.map +1 -0
  339. package/dist/manifest/projections/interface.d.ts +285 -0
  340. package/dist/manifest/projections/interface.d.ts.map +1 -0
  341. package/dist/manifest/projections/interface.js +8 -0
  342. package/dist/manifest/projections/interface.js.map +1 -0
  343. package/dist/manifest/projections/jsonschema/generator.d.ts +35 -0
  344. package/dist/manifest/projections/jsonschema/generator.d.ts.map +1 -0
  345. package/dist/manifest/projections/jsonschema/generator.js +347 -0
  346. package/dist/manifest/projections/jsonschema/generator.js.map +1 -0
  347. package/dist/manifest/projections/jsonschema/index.d.ts +3 -0
  348. package/dist/manifest/projections/jsonschema/index.d.ts.map +1 -0
  349. package/dist/manifest/projections/jsonschema/index.js +2 -0
  350. package/dist/manifest/projections/jsonschema/index.js.map +1 -0
  351. package/dist/manifest/projections/jsonschema/types.d.ts +31 -0
  352. package/dist/manifest/projections/jsonschema/types.d.ts.map +1 -0
  353. package/dist/manifest/projections/jsonschema/types.js +2 -0
  354. package/dist/manifest/projections/jsonschema/types.js.map +1 -0
  355. package/dist/manifest/projections/kysely/generator.d.ts +36 -0
  356. package/dist/manifest/projections/kysely/generator.d.ts.map +1 -0
  357. package/dist/manifest/projections/kysely/generator.js +325 -0
  358. package/dist/manifest/projections/kysely/generator.js.map +1 -0
  359. package/dist/manifest/projections/kysely/index.d.ts +4 -0
  360. package/dist/manifest/projections/kysely/index.d.ts.map +1 -0
  361. package/dist/manifest/projections/kysely/index.js +2 -0
  362. package/dist/manifest/projections/kysely/index.js.map +1 -0
  363. package/dist/manifest/projections/kysely/options.d.ts +61 -0
  364. package/dist/manifest/projections/kysely/options.d.ts.map +1 -0
  365. package/dist/manifest/projections/kysely/options.js +31 -0
  366. package/dist/manifest/projections/kysely/options.js.map +1 -0
  367. package/dist/manifest/projections/kysely/type-mapping.d.ts +61 -0
  368. package/dist/manifest/projections/kysely/type-mapping.d.ts.map +1 -0
  369. package/dist/manifest/projections/kysely/type-mapping.js +84 -0
  370. package/dist/manifest/projections/kysely/type-mapping.js.map +1 -0
  371. package/dist/manifest/projections/llm-context/generator.d.ts +24 -0
  372. package/dist/manifest/projections/llm-context/generator.d.ts.map +1 -0
  373. package/dist/manifest/projections/llm-context/generator.js +371 -0
  374. package/dist/manifest/projections/llm-context/generator.js.map +1 -0
  375. package/dist/manifest/projections/llm-context/types.d.ts +205 -0
  376. package/dist/manifest/projections/llm-context/types.d.ts.map +1 -0
  377. package/dist/manifest/projections/llm-context/types.js +9 -0
  378. package/dist/manifest/projections/llm-context/types.js.map +1 -0
  379. package/dist/manifest/projections/materialized-views/expression-to-sql.d.ts +29 -0
  380. package/dist/manifest/projections/materialized-views/expression-to-sql.d.ts.map +1 -0
  381. package/dist/manifest/projections/materialized-views/expression-to-sql.js +211 -0
  382. package/dist/manifest/projections/materialized-views/expression-to-sql.js.map +1 -0
  383. package/dist/manifest/projections/materialized-views/generator.d.ts +29 -0
  384. package/dist/manifest/projections/materialized-views/generator.d.ts.map +1 -0
  385. package/dist/manifest/projections/materialized-views/generator.js +263 -0
  386. package/dist/manifest/projections/materialized-views/generator.js.map +1 -0
  387. package/dist/manifest/projections/materialized-views/options.d.ts +59 -0
  388. package/dist/manifest/projections/materialized-views/options.d.ts.map +1 -0
  389. package/dist/manifest/projections/materialized-views/options.js +34 -0
  390. package/dist/manifest/projections/materialized-views/options.js.map +1 -0
  391. package/dist/manifest/projections/materialized-views/types.d.ts +100 -0
  392. package/dist/manifest/projections/materialized-views/types.d.ts.map +1 -0
  393. package/dist/manifest/projections/materialized-views/types.js +11 -0
  394. package/dist/manifest/projections/materialized-views/types.js.map +1 -0
  395. package/dist/manifest/projections/mermaid/generator.d.ts +46 -0
  396. package/dist/manifest/projections/mermaid/generator.d.ts.map +1 -0
  397. package/dist/manifest/projections/mermaid/generator.js +436 -0
  398. package/dist/manifest/projections/mermaid/generator.js.map +1 -0
  399. package/dist/manifest/projections/mongoose/options.d.ts +30 -0
  400. package/dist/manifest/projections/mongoose/options.d.ts.map +1 -0
  401. package/dist/manifest/projections/mongoose/options.js +18 -0
  402. package/dist/manifest/projections/mongoose/options.js.map +1 -0
  403. package/dist/manifest/projections/mongoose/type-mapping.d.ts +42 -0
  404. package/dist/manifest/projections/mongoose/type-mapping.d.ts.map +1 -0
  405. package/dist/manifest/projections/mongoose/type-mapping.js +64 -0
  406. package/dist/manifest/projections/mongoose/type-mapping.js.map +1 -0
  407. package/dist/manifest/projections/nextjs/defaults.d.ts +161 -0
  408. package/dist/manifest/projections/nextjs/defaults.d.ts.map +1 -0
  409. package/dist/manifest/projections/nextjs/defaults.js +157 -0
  410. package/dist/manifest/projections/nextjs/defaults.js.map +1 -0
  411. package/dist/manifest/projections/nextjs/generator.d.ts +78 -0
  412. package/dist/manifest/projections/nextjs/generator.d.ts.map +1 -0
  413. package/dist/manifest/projections/nextjs/generator.js +1339 -0
  414. package/dist/manifest/projections/nextjs/generator.js.map +1 -0
  415. package/dist/manifest/projections/nextjs/schedule-generator.d.ts +10 -0
  416. package/dist/manifest/projections/nextjs/schedule-generator.d.ts.map +1 -0
  417. package/dist/manifest/projections/nextjs/schedule-generator.js +54 -0
  418. package/dist/manifest/projections/nextjs/schedule-generator.js.map +1 -0
  419. package/dist/manifest/projections/openapi/generator.d.ts +37 -0
  420. package/dist/manifest/projections/openapi/generator.d.ts.map +1 -0
  421. package/dist/manifest/projections/openapi/generator.js +690 -0
  422. package/dist/manifest/projections/openapi/generator.js.map +1 -0
  423. package/dist/manifest/projections/openapi/index.d.ts +11 -0
  424. package/dist/manifest/projections/openapi/index.d.ts.map +1 -0
  425. package/dist/manifest/projections/openapi/index.js +10 -0
  426. package/dist/manifest/projections/openapi/index.js.map +1 -0
  427. package/dist/manifest/projections/openapi/types.d.ts +75 -0
  428. package/dist/manifest/projections/openapi/types.d.ts.map +1 -0
  429. package/dist/manifest/projections/openapi/types.js +9 -0
  430. package/dist/manifest/projections/openapi/types.js.map +1 -0
  431. package/dist/manifest/projections/prisma/generator.d.ts +32 -0
  432. package/dist/manifest/projections/prisma/generator.d.ts.map +1 -0
  433. package/dist/manifest/projections/prisma/generator.js +861 -0
  434. package/dist/manifest/projections/prisma/generator.js.map +1 -0
  435. package/dist/manifest/projections/prisma/index.d.ts +12 -0
  436. package/dist/manifest/projections/prisma/index.d.ts.map +1 -0
  437. package/dist/manifest/projections/prisma/index.js +12 -0
  438. package/dist/manifest/projections/prisma/index.js.map +1 -0
  439. package/dist/manifest/projections/prisma/options.d.ts +243 -0
  440. package/dist/manifest/projections/prisma/options.d.ts.map +1 -0
  441. package/dist/manifest/projections/prisma/options.js +59 -0
  442. package/dist/manifest/projections/prisma/options.js.map +1 -0
  443. package/dist/manifest/projections/prisma/type-mapping.d.ts +60 -0
  444. package/dist/manifest/projections/prisma/type-mapping.d.ts.map +1 -0
  445. package/dist/manifest/projections/prisma/type-mapping.js +95 -0
  446. package/dist/manifest/projections/prisma/type-mapping.js.map +1 -0
  447. package/dist/manifest/projections/prisma-store/generator.d.ts +12 -0
  448. package/dist/manifest/projections/prisma-store/generator.d.ts.map +1 -0
  449. package/dist/manifest/projections/prisma-store/generator.js +52 -0
  450. package/dist/manifest/projections/prisma-store/generator.js.map +1 -0
  451. package/dist/manifest/projections/prisma-store/metadata-builder.d.ts +11 -0
  452. package/dist/manifest/projections/prisma-store/metadata-builder.d.ts.map +1 -0
  453. package/dist/manifest/projections/prisma-store/metadata-builder.js +183 -0
  454. package/dist/manifest/projections/prisma-store/metadata-builder.js.map +1 -0
  455. package/dist/manifest/projections/prisma-store/options.d.ts +31 -0
  456. package/dist/manifest/projections/prisma-store/options.d.ts.map +1 -0
  457. package/dist/manifest/projections/prisma-store/options.js +21 -0
  458. package/dist/manifest/projections/prisma-store/options.js.map +1 -0
  459. package/dist/manifest/projections/prisma-store/persistence.d.ts +4 -0
  460. package/dist/manifest/projections/prisma-store/persistence.d.ts.map +1 -0
  461. package/dist/manifest/projections/prisma-store/persistence.js +24 -0
  462. package/dist/manifest/projections/prisma-store/persistence.js.map +1 -0
  463. package/dist/manifest/projections/pydantic/generator.d.ts +27 -0
  464. package/dist/manifest/projections/pydantic/generator.d.ts.map +1 -0
  465. package/dist/manifest/projections/pydantic/generator.js +798 -0
  466. package/dist/manifest/projections/pydantic/generator.js.map +1 -0
  467. package/dist/manifest/projections/pydantic/types.d.ts +32 -0
  468. package/dist/manifest/projections/pydantic/types.d.ts.map +1 -0
  469. package/dist/manifest/projections/pydantic/types.js +5 -0
  470. package/dist/manifest/projections/pydantic/types.js.map +1 -0
  471. package/dist/manifest/projections/react-query/generator.d.ts +87 -0
  472. package/dist/manifest/projections/react-query/generator.d.ts.map +1 -0
  473. package/dist/manifest/projections/react-query/generator.js +413 -0
  474. package/dist/manifest/projections/react-query/generator.js.map +1 -0
  475. package/dist/manifest/projections/registry.d.ts +59 -0
  476. package/dist/manifest/projections/registry.d.ts.map +1 -0
  477. package/dist/manifest/projections/registry.js +110 -0
  478. package/dist/manifest/projections/registry.js.map +1 -0
  479. package/dist/manifest/projections/remix/generator.d.ts +58 -0
  480. package/dist/manifest/projections/remix/generator.d.ts.map +1 -0
  481. package/dist/manifest/projections/remix/generator.js +788 -0
  482. package/dist/manifest/projections/remix/generator.js.map +1 -0
  483. package/dist/manifest/projections/routes/generator.d.ts +32 -0
  484. package/dist/manifest/projections/routes/generator.d.ts.map +1 -0
  485. package/dist/manifest/projections/routes/generator.js +401 -0
  486. package/dist/manifest/projections/routes/generator.js.map +1 -0
  487. package/dist/manifest/projections/routes/types.d.ts +104 -0
  488. package/dist/manifest/projections/routes/types.d.ts.map +1 -0
  489. package/dist/manifest/projections/routes/types.js +11 -0
  490. package/dist/manifest/projections/routes/types.js.map +1 -0
  491. package/dist/manifest/projections/shared/naming.d.ts +64 -0
  492. package/dist/manifest/projections/shared/naming.d.ts.map +1 -0
  493. package/dist/manifest/projections/shared/naming.js +138 -0
  494. package/dist/manifest/projections/shared/naming.js.map +1 -0
  495. package/dist/manifest/projections/storybook/generator.d.ts +38 -0
  496. package/dist/manifest/projections/storybook/generator.d.ts.map +1 -0
  497. package/dist/manifest/projections/storybook/generator.js +462 -0
  498. package/dist/manifest/projections/storybook/generator.js.map +1 -0
  499. package/dist/manifest/projections/sveltekit/generator.d.ts +64 -0
  500. package/dist/manifest/projections/sveltekit/generator.d.ts.map +1 -0
  501. package/dist/manifest/projections/sveltekit/generator.js +1043 -0
  502. package/dist/manifest/projections/sveltekit/generator.js.map +1 -0
  503. package/dist/manifest/projections/sveltekit/index.d.ts +11 -0
  504. package/dist/manifest/projections/sveltekit/index.d.ts.map +1 -0
  505. package/dist/manifest/projections/sveltekit/index.js +10 -0
  506. package/dist/manifest/projections/sveltekit/index.js.map +1 -0
  507. package/dist/manifest/projections/sveltekit/types.d.ts +122 -0
  508. package/dist/manifest/projections/sveltekit/types.d.ts.map +1 -0
  509. package/dist/manifest/projections/sveltekit/types.js +10 -0
  510. package/dist/manifest/projections/sveltekit/types.js.map +1 -0
  511. package/dist/manifest/projections/terraform/generator.d.ts +29 -0
  512. package/dist/manifest/projections/terraform/generator.d.ts.map +1 -0
  513. package/dist/manifest/projections/terraform/generator.js +722 -0
  514. package/dist/manifest/projections/terraform/generator.js.map +1 -0
  515. package/dist/manifest/projections/terraform/index.d.ts +7 -0
  516. package/dist/manifest/projections/terraform/index.d.ts.map +1 -0
  517. package/dist/manifest/projections/terraform/index.js +7 -0
  518. package/dist/manifest/projections/terraform/index.js.map +1 -0
  519. package/dist/manifest/projections/terraform/options.d.ts +92 -0
  520. package/dist/manifest/projections/terraform/options.d.ts.map +1 -0
  521. package/dist/manifest/projections/terraform/options.js +37 -0
  522. package/dist/manifest/projections/terraform/options.js.map +1 -0
  523. package/dist/manifest/projections/terraform/types.d.ts +55 -0
  524. package/dist/manifest/projections/terraform/types.d.ts.map +1 -0
  525. package/dist/manifest/projections/terraform/types.js +38 -0
  526. package/dist/manifest/projections/terraform/types.js.map +1 -0
  527. package/dist/manifest/projections/zod/generator.d.ts +27 -0
  528. package/dist/manifest/projections/zod/generator.d.ts.map +1 -0
  529. package/dist/manifest/projections/zod/generator.js +367 -0
  530. package/dist/manifest/projections/zod/generator.js.map +1 -0
  531. package/dist/manifest/projections/zod/index.d.ts +8 -0
  532. package/dist/manifest/projections/zod/index.d.ts.map +1 -0
  533. package/dist/manifest/projections/zod/index.js +7 -0
  534. package/dist/manifest/projections/zod/index.js.map +1 -0
  535. package/dist/manifest/projections/zod/types.d.ts +14 -0
  536. package/dist/manifest/projections/zod/types.d.ts.map +1 -0
  537. package/dist/manifest/projections/zod/types.js +5 -0
  538. package/dist/manifest/projections/zod/types.js.map +1 -0
  539. package/dist/manifest/reaction-completeness-checks.d.ts +11 -0
  540. package/dist/manifest/reaction-completeness-checks.d.ts.map +1 -0
  541. package/dist/manifest/reaction-completeness-checks.js +106 -0
  542. package/dist/manifest/reaction-completeness-checks.js.map +1 -0
  543. package/dist/manifest/reaction-completeness.d.ts +9 -0
  544. package/dist/manifest/reaction-completeness.d.ts.map +1 -0
  545. package/dist/manifest/reaction-completeness.js +35 -0
  546. package/dist/manifest/reaction-completeness.js.map +1 -0
  547. package/dist/manifest/registry/emit.d.ts +53 -0
  548. package/dist/manifest/registry/emit.d.ts.map +1 -0
  549. package/dist/manifest/registry/emit.js +96 -0
  550. package/dist/manifest/registry/emit.js.map +1 -0
  551. package/dist/manifest/runtime-command-extensions.d.ts +21 -0
  552. package/dist/manifest/runtime-command-extensions.d.ts.map +1 -0
  553. package/dist/manifest/runtime-command-extensions.js +136 -0
  554. package/dist/manifest/runtime-command-extensions.js.map +1 -0
  555. package/dist/manifest/runtime-engine.d.ts +1019 -0
  556. package/dist/manifest/runtime-engine.d.ts.map +1 -0
  557. package/dist/manifest/runtime-engine.js +3872 -0
  558. package/dist/manifest/runtime-engine.js.map +1 -0
  559. package/dist/manifest/runtime-profiling-bridge.d.ts +22 -0
  560. package/dist/manifest/runtime-profiling-bridge.d.ts.map +1 -0
  561. package/dist/manifest/runtime-profiling-bridge.js +69 -0
  562. package/dist/manifest/runtime-profiling-bridge.js.map +1 -0
  563. package/dist/manifest/runtime-rate-limit.d.ts +52 -0
  564. package/dist/manifest/runtime-rate-limit.d.ts.map +1 -0
  565. package/dist/manifest/runtime-rate-limit.js +70 -0
  566. package/dist/manifest/runtime-rate-limit.js.map +1 -0
  567. package/dist/manifest/runtime-retry.d.ts +68 -0
  568. package/dist/manifest/runtime-retry.d.ts.map +1 -0
  569. package/dist/manifest/runtime-retry.js +93 -0
  570. package/dist/manifest/runtime-retry.js.map +1 -0
  571. package/dist/manifest/runtime-schedule.d.ts +47 -0
  572. package/dist/manifest/runtime-schedule.d.ts.map +1 -0
  573. package/dist/manifest/runtime-schedule.js +95 -0
  574. package/dist/manifest/runtime-schedule.js.map +1 -0
  575. package/dist/manifest/schedule-utils.d.ts +15 -0
  576. package/dist/manifest/schedule-utils.d.ts.map +1 -0
  577. package/dist/manifest/schedule-utils.js +82 -0
  578. package/dist/manifest/schedule-utils.js.map +1 -0
  579. package/dist/manifest/standalone-generator.d.ts +32 -0
  580. package/dist/manifest/standalone-generator.d.ts.map +1 -0
  581. package/dist/manifest/standalone-generator.js +596 -0
  582. package/dist/manifest/standalone-generator.js.map +1 -0
  583. package/dist/manifest/stores/prisma-generic/coercion.d.ts +17 -0
  584. package/dist/manifest/stores/prisma-generic/coercion.d.ts.map +1 -0
  585. package/dist/manifest/stores/prisma-generic/coercion.js +83 -0
  586. package/dist/manifest/stores/prisma-generic/coercion.js.map +1 -0
  587. package/dist/manifest/stores/prisma-generic/index.d.ts +3 -0
  588. package/dist/manifest/stores/prisma-generic/index.d.ts.map +1 -0
  589. package/dist/manifest/stores/prisma-generic/index.js +2 -0
  590. package/dist/manifest/stores/prisma-generic/index.js.map +1 -0
  591. package/dist/manifest/stores/prisma-generic/store.d.ts +35 -0
  592. package/dist/manifest/stores/prisma-generic/store.d.ts.map +1 -0
  593. package/dist/manifest/stores/prisma-generic/store.js +216 -0
  594. package/dist/manifest/stores/prisma-generic/store.js.map +1 -0
  595. package/dist/manifest/stores/prisma-generic/types.d.ts +46 -0
  596. package/dist/manifest/stores/prisma-generic/types.d.ts.map +1 -0
  597. package/dist/manifest/stores/prisma-generic/types.js +6 -0
  598. package/dist/manifest/stores/prisma-generic/types.js.map +1 -0
  599. package/dist/manifest/stores.node.d.ts +248 -0
  600. package/dist/manifest/stores.node.d.ts.map +1 -0
  601. package/dist/manifest/stores.node.js +718 -0
  602. package/dist/manifest/stores.node.js.map +1 -0
  603. package/dist/manifest/test/postgres-live-env.d.ts +9 -0
  604. package/dist/manifest/test/postgres-live-env.d.ts.map +1 -0
  605. package/dist/manifest/test/postgres-live-env.js +14 -0
  606. package/dist/manifest/test/postgres-live-env.js.map +1 -0
  607. package/dist/manifest/types.d.ts +570 -0
  608. package/dist/manifest/types.d.ts.map +1 -0
  609. package/dist/manifest/types.js +2 -0
  610. package/dist/manifest/types.js.map +1 -0
  611. package/dist/manifest/version.d.ts +15 -0
  612. package/dist/manifest/version.d.ts.map +1 -0
  613. package/dist/manifest/version.js +15 -0
  614. package/dist/manifest/version.js.map +1 -0
  615. package/dist/manifest/wasm/index.d.ts +15 -0
  616. package/dist/manifest/wasm/index.d.ts.map +1 -0
  617. package/dist/manifest/wasm/index.js +15 -0
  618. package/dist/manifest/wasm/index.js.map +1 -0
  619. package/dist/manifest/wasm/wasm-evaluator.d.ts +93 -0
  620. package/dist/manifest/wasm/wasm-evaluator.d.ts.map +1 -0
  621. package/dist/manifest/wasm/wasm-evaluator.js +242 -0
  622. package/dist/manifest/wasm/wasm-evaluator.js.map +1 -0
  623. package/dist/manifest/wasm/wasm-loader.d.ts +56 -0
  624. package/dist/manifest/wasm/wasm-loader.d.ts.map +1 -0
  625. package/dist/manifest/wasm/wasm-loader.js +132 -0
  626. package/dist/manifest/wasm/wasm-loader.js.map +1 -0
  627. package/docs/spec/config/manifest.config.schema.json +737 -0
  628. package/docs/spec/config/prisma-projection.schema.json +173 -0
  629. package/docs/spec/ir/ir-v1.schema.json +2033 -0
  630. package/docs/spec/plugins/plugin.schema.json +104 -0
  631. package/docs/spec/registry/bypasses.schema.json +87 -0
  632. package/docs/spec/registry/commands.schema.json +61 -0
  633. package/docs/spec/registry/entities.schema.json +52 -0
  634. package/docs/spec/semantics.md +630 -0
  635. package/package.json +356 -0
  636. package/packages/cli/dist/audit/bypass-violations.d.ts +16 -0
  637. package/packages/cli/dist/audit/bypass-violations.d.ts.map +1 -0
  638. package/packages/cli/dist/audit/bypass-violations.js +98 -0
  639. package/packages/cli/dist/audit/bypass-violations.js.map +1 -0
  640. package/packages/cli/dist/audit/direct-writes.d.ts +15 -0
  641. package/packages/cli/dist/audit/direct-writes.d.ts.map +1 -0
  642. package/packages/cli/dist/audit/direct-writes.js +86 -0
  643. package/packages/cli/dist/audit/direct-writes.js.map +1 -0
  644. package/packages/cli/dist/audit/event-fabrication.d.ts +17 -0
  645. package/packages/cli/dist/audit/event-fabrication.d.ts.map +1 -0
  646. package/packages/cli/dist/audit/event-fabrication.js +101 -0
  647. package/packages/cli/dist/audit/event-fabrication.js.map +1 -0
  648. package/packages/cli/dist/audit/existing-command-available.d.ts +20 -0
  649. package/packages/cli/dist/audit/existing-command-available.d.ts.map +1 -0
  650. package/packages/cli/dist/audit/existing-command-available.js +158 -0
  651. package/packages/cli/dist/audit/existing-command-available.js.map +1 -0
  652. package/packages/cli/dist/audit/missing-tests.d.ts +17 -0
  653. package/packages/cli/dist/audit/missing-tests.d.ts.map +1 -0
  654. package/packages/cli/dist/audit/missing-tests.js +108 -0
  655. package/packages/cli/dist/audit/missing-tests.js.map +1 -0
  656. package/packages/cli/dist/audit/route-drift.d.ts +16 -0
  657. package/packages/cli/dist/audit/route-drift.d.ts.map +1 -0
  658. package/packages/cli/dist/audit/route-drift.js +86 -0
  659. package/packages/cli/dist/audit/route-drift.js.map +1 -0
  660. package/packages/cli/dist/audit/types.d.ts +63 -0
  661. package/packages/cli/dist/audit/types.d.ts.map +1 -0
  662. package/packages/cli/dist/audit/types.js +10 -0
  663. package/packages/cli/dist/audit/types.js.map +1 -0
  664. package/packages/cli/dist/audit/unregistered-command-call.d.ts +25 -0
  665. package/packages/cli/dist/audit/unregistered-command-call.d.ts.map +1 -0
  666. package/packages/cli/dist/audit/unregistered-command-call.js +196 -0
  667. package/packages/cli/dist/audit/unregistered-command-call.js.map +1 -0
  668. package/packages/cli/dist/audit/unregistered-entity-write.d.ts +16 -0
  669. package/packages/cli/dist/audit/unregistered-entity-write.d.ts.map +1 -0
  670. package/packages/cli/dist/audit/unregistered-entity-write.js +96 -0
  671. package/packages/cli/dist/audit/unregistered-entity-write.js.map +1 -0
  672. package/packages/cli/dist/audit/write-receiver.d.ts +23 -0
  673. package/packages/cli/dist/audit/write-receiver.d.ts.map +1 -0
  674. package/packages/cli/dist/audit/write-receiver.js +32 -0
  675. package/packages/cli/dist/audit/write-receiver.js.map +1 -0
  676. package/packages/cli/dist/checks/dispatcher-presence.d.ts +37 -0
  677. package/packages/cli/dist/checks/dispatcher-presence.d.ts.map +1 -0
  678. package/packages/cli/dist/checks/dispatcher-presence.js +57 -0
  679. package/packages/cli/dist/checks/dispatcher-presence.js.map +1 -0
  680. package/packages/cli/dist/checks/package-shape.d.ts +81 -0
  681. package/packages/cli/dist/checks/package-shape.d.ts.map +1 -0
  682. package/packages/cli/dist/checks/package-shape.js +359 -0
  683. package/packages/cli/dist/checks/package-shape.js.map +1 -0
  684. package/packages/cli/dist/checks/runtime-smoke.d.ts +42 -0
  685. package/packages/cli/dist/checks/runtime-smoke.d.ts.map +1 -0
  686. package/packages/cli/dist/checks/runtime-smoke.js +167 -0
  687. package/packages/cli/dist/checks/runtime-smoke.js.map +1 -0
  688. package/packages/cli/dist/commands/analyze.d.ts +97 -0
  689. package/packages/cli/dist/commands/analyze.d.ts.map +1 -0
  690. package/packages/cli/dist/commands/analyze.js +411 -0
  691. package/packages/cli/dist/commands/analyze.js.map +1 -0
  692. package/packages/cli/dist/commands/audit-bypasses.d.ts +31 -0
  693. package/packages/cli/dist/commands/audit-bypasses.d.ts.map +1 -0
  694. package/packages/cli/dist/commands/audit-bypasses.js +152 -0
  695. package/packages/cli/dist/commands/audit-bypasses.js.map +1 -0
  696. package/packages/cli/dist/commands/audit-constitution.d.ts +20 -0
  697. package/packages/cli/dist/commands/audit-constitution.d.ts.map +1 -0
  698. package/packages/cli/dist/commands/audit-constitution.js +18 -0
  699. package/packages/cli/dist/commands/audit-constitution.js.map +1 -0
  700. package/packages/cli/dist/commands/audit-governance.d.ts +37 -0
  701. package/packages/cli/dist/commands/audit-governance.d.ts.map +1 -0
  702. package/packages/cli/dist/commands/audit-governance.js +78 -0
  703. package/packages/cli/dist/commands/audit-governance.js.map +1 -0
  704. package/packages/cli/dist/commands/audit-routes.d.ts +135 -0
  705. package/packages/cli/dist/commands/audit-routes.d.ts.map +1 -0
  706. package/packages/cli/dist/commands/audit-routes.js +514 -0
  707. package/packages/cli/dist/commands/audit-routes.js.map +1 -0
  708. package/packages/cli/dist/commands/breaking-change.d.ts +15 -0
  709. package/packages/cli/dist/commands/breaking-change.d.ts.map +1 -0
  710. package/packages/cli/dist/commands/breaking-change.js +150 -0
  711. package/packages/cli/dist/commands/breaking-change.js.map +1 -0
  712. package/packages/cli/dist/commands/build.d.ts +26 -0
  713. package/packages/cli/dist/commands/build.d.ts.map +1 -0
  714. package/packages/cli/dist/commands/build.js +58 -0
  715. package/packages/cli/dist/commands/build.js.map +1 -0
  716. package/packages/cli/dist/commands/changelog.d.ts +26 -0
  717. package/packages/cli/dist/commands/changelog.d.ts.map +1 -0
  718. package/packages/cli/dist/commands/changelog.js +365 -0
  719. package/packages/cli/dist/commands/changelog.js.map +1 -0
  720. package/packages/cli/dist/commands/check.d.ts +21 -0
  721. package/packages/cli/dist/commands/check.d.ts.map +1 -0
  722. package/packages/cli/dist/commands/check.js +31 -0
  723. package/packages/cli/dist/commands/check.js.map +1 -0
  724. package/packages/cli/dist/commands/compile.d.ts +19 -0
  725. package/packages/cli/dist/commands/compile.d.ts.map +1 -0
  726. package/packages/cli/dist/commands/compile.js +325 -0
  727. package/packages/cli/dist/commands/compile.js.map +1 -0
  728. package/packages/cli/dist/commands/config.d.ts +23 -0
  729. package/packages/cli/dist/commands/config.d.ts.map +1 -0
  730. package/packages/cli/dist/commands/config.js +172 -0
  731. package/packages/cli/dist/commands/config.js.map +1 -0
  732. package/packages/cli/dist/commands/coverage.d.ts +55 -0
  733. package/packages/cli/dist/commands/coverage.d.ts.map +1 -0
  734. package/packages/cli/dist/commands/coverage.js +343 -0
  735. package/packages/cli/dist/commands/coverage.js.map +1 -0
  736. package/packages/cli/dist/commands/diagram.d.ts +22 -0
  737. package/packages/cli/dist/commands/diagram.d.ts.map +1 -0
  738. package/packages/cli/dist/commands/diagram.js +176 -0
  739. package/packages/cli/dist/commands/diagram.js.map +1 -0
  740. package/packages/cli/dist/commands/docs.d.ts +18 -0
  741. package/packages/cli/dist/commands/docs.d.ts.map +1 -0
  742. package/packages/cli/dist/commands/docs.js +722 -0
  743. package/packages/cli/dist/commands/docs.js.map +1 -0
  744. package/packages/cli/dist/commands/doctor-lib.d.ts +147 -0
  745. package/packages/cli/dist/commands/doctor-lib.d.ts.map +1 -0
  746. package/packages/cli/dist/commands/doctor-lib.js +491 -0
  747. package/packages/cli/dist/commands/doctor-lib.js.map +1 -0
  748. package/packages/cli/dist/commands/doctor.d.ts +31 -0
  749. package/packages/cli/dist/commands/doctor.d.ts.map +1 -0
  750. package/packages/cli/dist/commands/doctor.js +628 -0
  751. package/packages/cli/dist/commands/doctor.js.map +1 -0
  752. package/packages/cli/dist/commands/emit-registries.d.ts +33 -0
  753. package/packages/cli/dist/commands/emit-registries.d.ts.map +1 -0
  754. package/packages/cli/dist/commands/emit-registries.js +109 -0
  755. package/packages/cli/dist/commands/emit-registries.js.map +1 -0
  756. package/packages/cli/dist/commands/enforce-surface.d.ts +62 -0
  757. package/packages/cli/dist/commands/enforce-surface.d.ts.map +1 -0
  758. package/packages/cli/dist/commands/enforce-surface.js +172 -0
  759. package/packages/cli/dist/commands/enforce-surface.js.map +1 -0
  760. package/packages/cli/dist/commands/fmt.d.ts +17 -0
  761. package/packages/cli/dist/commands/fmt.d.ts.map +1 -0
  762. package/packages/cli/dist/commands/fmt.js +129 -0
  763. package/packages/cli/dist/commands/fmt.js.map +1 -0
  764. package/packages/cli/dist/commands/gen-tests.d.ts +41 -0
  765. package/packages/cli/dist/commands/gen-tests.d.ts.map +1 -0
  766. package/packages/cli/dist/commands/gen-tests.js +370 -0
  767. package/packages/cli/dist/commands/gen-tests.js.map +1 -0
  768. package/packages/cli/dist/commands/generate-from-prompt.d.ts +34 -0
  769. package/packages/cli/dist/commands/generate-from-prompt.d.ts.map +1 -0
  770. package/packages/cli/dist/commands/generate-from-prompt.js +990 -0
  771. package/packages/cli/dist/commands/generate-from-prompt.js.map +1 -0
  772. package/packages/cli/dist/commands/generate.d.ts +36 -0
  773. package/packages/cli/dist/commands/generate.d.ts.map +1 -0
  774. package/packages/cli/dist/commands/generate.js +371 -0
  775. package/packages/cli/dist/commands/generate.js.map +1 -0
  776. package/packages/cli/dist/commands/harness.d.ts +13 -0
  777. package/packages/cli/dist/commands/harness.d.ts.map +1 -0
  778. package/packages/cli/dist/commands/harness.js +276 -0
  779. package/packages/cli/dist/commands/harness.js.map +1 -0
  780. package/packages/cli/dist/commands/init-ci.d.ts +19 -0
  781. package/packages/cli/dist/commands/init-ci.d.ts.map +1 -0
  782. package/packages/cli/dist/commands/init-ci.js +148 -0
  783. package/packages/cli/dist/commands/init-ci.js.map +1 -0
  784. package/packages/cli/dist/commands/init.d.ts +33 -0
  785. package/packages/cli/dist/commands/init.d.ts.map +1 -0
  786. package/packages/cli/dist/commands/init.js +157 -0
  787. package/packages/cli/dist/commands/init.js.map +1 -0
  788. package/packages/cli/dist/commands/install-hooks.d.ts +29 -0
  789. package/packages/cli/dist/commands/install-hooks.d.ts.map +1 -0
  790. package/packages/cli/dist/commands/install-hooks.js +139 -0
  791. package/packages/cli/dist/commands/install-hooks.js.map +1 -0
  792. package/packages/cli/dist/commands/integration-check.d.ts +62 -0
  793. package/packages/cli/dist/commands/integration-check.d.ts.map +1 -0
  794. package/packages/cli/dist/commands/integration-check.js +298 -0
  795. package/packages/cli/dist/commands/integration-check.js.map +1 -0
  796. package/packages/cli/dist/commands/ir-diff.d.ts +8 -0
  797. package/packages/cli/dist/commands/ir-diff.d.ts.map +1 -0
  798. package/packages/cli/dist/commands/ir-diff.js +199 -0
  799. package/packages/cli/dist/commands/ir-diff.js.map +1 -0
  800. package/packages/cli/dist/commands/lint-routes.d.ts +56 -0
  801. package/packages/cli/dist/commands/lint-routes.d.ts.map +1 -0
  802. package/packages/cli/dist/commands/lint-routes.js +228 -0
  803. package/packages/cli/dist/commands/lint-routes.js.map +1 -0
  804. package/packages/cli/dist/commands/load-test.d.ts +61 -0
  805. package/packages/cli/dist/commands/load-test.d.ts.map +1 -0
  806. package/packages/cli/dist/commands/load-test.js +675 -0
  807. package/packages/cli/dist/commands/load-test.js.map +1 -0
  808. package/packages/cli/dist/commands/migrate.d.ts +21 -0
  809. package/packages/cli/dist/commands/migrate.d.ts.map +1 -0
  810. package/packages/cli/dist/commands/migrate.js +264 -0
  811. package/packages/cli/dist/commands/migrate.js.map +1 -0
  812. package/packages/cli/dist/commands/mock.d.ts +79 -0
  813. package/packages/cli/dist/commands/mock.d.ts.map +1 -0
  814. package/packages/cli/dist/commands/mock.js +324 -0
  815. package/packages/cli/dist/commands/mock.js.map +1 -0
  816. package/packages/cli/dist/commands/pack-unpack.d.ts +30 -0
  817. package/packages/cli/dist/commands/pack-unpack.d.ts.map +1 -0
  818. package/packages/cli/dist/commands/pack-unpack.js +108 -0
  819. package/packages/cli/dist/commands/pack-unpack.js.map +1 -0
  820. package/packages/cli/dist/commands/preflight.d.ts +31 -0
  821. package/packages/cli/dist/commands/preflight.d.ts.map +1 -0
  822. package/packages/cli/dist/commands/preflight.js +246 -0
  823. package/packages/cli/dist/commands/preflight.js.map +1 -0
  824. package/packages/cli/dist/commands/profile.d.ts +30 -0
  825. package/packages/cli/dist/commands/profile.d.ts.map +1 -0
  826. package/packages/cli/dist/commands/profile.js +201 -0
  827. package/packages/cli/dist/commands/profile.js.map +1 -0
  828. package/packages/cli/dist/commands/repl.d.ts +16 -0
  829. package/packages/cli/dist/commands/repl.d.ts.map +1 -0
  830. package/packages/cli/dist/commands/repl.js +772 -0
  831. package/packages/cli/dist/commands/repl.js.map +1 -0
  832. package/packages/cli/dist/commands/routes.d.ts +24 -0
  833. package/packages/cli/dist/commands/routes.d.ts.map +1 -0
  834. package/packages/cli/dist/commands/routes.js +144 -0
  835. package/packages/cli/dist/commands/routes.js.map +1 -0
  836. package/packages/cli/dist/commands/scan.d.ts +23 -0
  837. package/packages/cli/dist/commands/scan.d.ts.map +1 -0
  838. package/packages/cli/dist/commands/scan.js +722 -0
  839. package/packages/cli/dist/commands/scan.js.map +1 -0
  840. package/packages/cli/dist/commands/seed.d.ts +35 -0
  841. package/packages/cli/dist/commands/seed.d.ts.map +1 -0
  842. package/packages/cli/dist/commands/seed.js +503 -0
  843. package/packages/cli/dist/commands/seed.js.map +1 -0
  844. package/packages/cli/dist/commands/validate-ai-ajv.d.ts +4 -0
  845. package/packages/cli/dist/commands/validate-ai-ajv.d.ts.map +1 -0
  846. package/packages/cli/dist/commands/validate-ai-ajv.js +78 -0
  847. package/packages/cli/dist/commands/validate-ai-ajv.js.map +1 -0
  848. package/packages/cli/dist/commands/validate-ai-compiler.d.ts +5 -0
  849. package/packages/cli/dist/commands/validate-ai-compiler.d.ts.map +1 -0
  850. package/packages/cli/dist/commands/validate-ai-compiler.js +8 -0
  851. package/packages/cli/dist/commands/validate-ai-compiler.js.map +1 -0
  852. package/packages/cli/dist/commands/validate-ai-report.d.ts +5 -0
  853. package/packages/cli/dist/commands/validate-ai-report.d.ts.map +1 -0
  854. package/packages/cli/dist/commands/validate-ai-report.js +80 -0
  855. package/packages/cli/dist/commands/validate-ai-report.js.map +1 -0
  856. package/packages/cli/dist/commands/validate-ai-resolve-inputs.d.ts +6 -0
  857. package/packages/cli/dist/commands/validate-ai-resolve-inputs.d.ts.map +1 -0
  858. package/packages/cli/dist/commands/validate-ai-resolve-inputs.js +54 -0
  859. package/packages/cli/dist/commands/validate-ai-resolve-inputs.js.map +1 -0
  860. package/packages/cli/dist/commands/validate-ai-semantic-checks.d.ts +4 -0
  861. package/packages/cli/dist/commands/validate-ai-semantic-checks.d.ts.map +1 -0
  862. package/packages/cli/dist/commands/validate-ai-semantic-checks.js +218 -0
  863. package/packages/cli/dist/commands/validate-ai-semantic-checks.js.map +1 -0
  864. package/packages/cli/dist/commands/validate-ai-types.d.ts +41 -0
  865. package/packages/cli/dist/commands/validate-ai-types.d.ts.map +1 -0
  866. package/packages/cli/dist/commands/validate-ai-types.js +2 -0
  867. package/packages/cli/dist/commands/validate-ai-types.js.map +1 -0
  868. package/packages/cli/dist/commands/validate-ai-validate-file.d.ts +5 -0
  869. package/packages/cli/dist/commands/validate-ai-validate-file.d.ts.map +1 -0
  870. package/packages/cli/dist/commands/validate-ai-validate-file.js +126 -0
  871. package/packages/cli/dist/commands/validate-ai-validate-file.js.map +1 -0
  872. package/packages/cli/dist/commands/validate-ai.d.ts +15 -0
  873. package/packages/cli/dist/commands/validate-ai.d.ts.map +1 -0
  874. package/packages/cli/dist/commands/validate-ai.js +124 -0
  875. package/packages/cli/dist/commands/validate-ai.js.map +1 -0
  876. package/packages/cli/dist/commands/validate.d.ts +15 -0
  877. package/packages/cli/dist/commands/validate.d.ts.map +1 -0
  878. package/packages/cli/dist/commands/validate.js +205 -0
  879. package/packages/cli/dist/commands/validate.js.map +1 -0
  880. package/packages/cli/dist/commands/versions.d.ts +56 -0
  881. package/packages/cli/dist/commands/versions.d.ts.map +1 -0
  882. package/packages/cli/dist/commands/versions.js +427 -0
  883. package/packages/cli/dist/commands/versions.js.map +1 -0
  884. package/packages/cli/dist/commands/watch.d.ts +34 -0
  885. package/packages/cli/dist/commands/watch.d.ts.map +1 -0
  886. package/packages/cli/dist/commands/watch.js +253 -0
  887. package/packages/cli/dist/commands/watch.js.map +1 -0
  888. package/packages/cli/dist/index.d.ts +14 -0
  889. package/packages/cli/dist/index.d.ts.map +1 -0
  890. package/packages/cli/dist/index.js +1159 -0
  891. package/packages/cli/dist/index.js.map +1 -0
  892. package/packages/cli/dist/utils/config-validate.d.ts +48 -0
  893. package/packages/cli/dist/utils/config-validate.d.ts.map +1 -0
  894. package/packages/cli/dist/utils/config-validate.js +116 -0
  895. package/packages/cli/dist/utils/config-validate.js.map +1 -0
  896. package/packages/cli/dist/utils/config.d.ts +360 -0
  897. package/packages/cli/dist/utils/config.d.ts.map +1 -0
  898. package/packages/cli/dist/utils/config.js +567 -0
  899. package/packages/cli/dist/utils/config.js.map +1 -0
  900. package/packages/cli/dist/utils/schema.d.ts +8 -0
  901. package/packages/cli/dist/utils/schema.d.ts.map +1 -0
  902. package/packages/cli/dist/utils/schema.js +13 -0
  903. package/packages/cli/dist/utils/schema.js.map +1 -0
  904. package/packages/lsp-server/bin/manifest-lsp.js +3 -0
  905. package/packages/lsp-server/dist/compiler-bridge.d.ts +24 -0
  906. package/packages/lsp-server/dist/compiler-bridge.d.ts.map +1 -0
  907. package/packages/lsp-server/dist/compiler-bridge.js +32 -0
  908. package/packages/lsp-server/dist/compiler-bridge.js.map +1 -0
  909. package/packages/lsp-server/dist/document-store.d.ts +23 -0
  910. package/packages/lsp-server/dist/document-store.d.ts.map +1 -0
  911. package/packages/lsp-server/dist/document-store.js +40 -0
  912. package/packages/lsp-server/dist/document-store.js.map +1 -0
  913. package/packages/lsp-server/dist/features/completion.d.ts +23 -0
  914. package/packages/lsp-server/dist/features/completion.d.ts.map +1 -0
  915. package/packages/lsp-server/dist/features/completion.js +293 -0
  916. package/packages/lsp-server/dist/features/completion.js.map +1 -0
  917. package/packages/lsp-server/dist/features/definition.d.ts +9 -0
  918. package/packages/lsp-server/dist/features/definition.d.ts.map +1 -0
  919. package/packages/lsp-server/dist/features/definition.js +24 -0
  920. package/packages/lsp-server/dist/features/definition.js.map +1 -0
  921. package/packages/lsp-server/dist/features/diagnostics.d.ts +8 -0
  922. package/packages/lsp-server/dist/features/diagnostics.d.ts.map +1 -0
  923. package/packages/lsp-server/dist/features/diagnostics.js +40 -0
  924. package/packages/lsp-server/dist/features/diagnostics.js.map +1 -0
  925. package/packages/lsp-server/dist/features/document-symbols.d.ts +8 -0
  926. package/packages/lsp-server/dist/features/document-symbols.d.ts.map +1 -0
  927. package/packages/lsp-server/dist/features/document-symbols.js +164 -0
  928. package/packages/lsp-server/dist/features/document-symbols.js.map +1 -0
  929. package/packages/lsp-server/dist/features/hover.d.ts +9 -0
  930. package/packages/lsp-server/dist/features/hover.d.ts.map +1 -0
  931. package/packages/lsp-server/dist/features/hover.js +100 -0
  932. package/packages/lsp-server/dist/features/hover.js.map +1 -0
  933. package/packages/lsp-server/dist/index.d.ts +6 -0
  934. package/packages/lsp-server/dist/index.d.ts.map +1 -0
  935. package/packages/lsp-server/dist/index.js +11 -0
  936. package/packages/lsp-server/dist/index.js.map +1 -0
  937. package/packages/lsp-server/dist/position-utils.d.ts +25 -0
  938. package/packages/lsp-server/dist/position-utils.d.ts.map +1 -0
  939. package/packages/lsp-server/dist/position-utils.js +39 -0
  940. package/packages/lsp-server/dist/position-utils.js.map +1 -0
  941. package/packages/lsp-server/dist/server.d.ts +14 -0
  942. package/packages/lsp-server/dist/server.d.ts.map +1 -0
  943. package/packages/lsp-server/dist/server.js +96 -0
  944. package/packages/lsp-server/dist/server.js.map +1 -0
  945. package/packages/lsp-server/dist/symbols/builtin-docs.d.ts +34 -0
  946. package/packages/lsp-server/dist/symbols/builtin-docs.d.ts.map +1 -0
  947. package/packages/lsp-server/dist/symbols/builtin-docs.js +193 -0
  948. package/packages/lsp-server/dist/symbols/builtin-docs.js.map +1 -0
  949. package/packages/lsp-server/dist/symbols/symbol-index.d.ts +18 -0
  950. package/packages/lsp-server/dist/symbols/symbol-index.d.ts.map +1 -0
  951. package/packages/lsp-server/dist/symbols/symbol-index.js +107 -0
  952. package/packages/lsp-server/dist/symbols/symbol-index.js.map +1 -0
  953. package/packages/mcp-server/bin/manifest-mcp.js +27 -0
  954. package/packages/mcp-server/dist/index.d.ts +24 -0
  955. package/packages/mcp-server/dist/index.d.ts.map +1 -0
  956. package/packages/mcp-server/dist/index.js +36 -0
  957. package/packages/mcp-server/dist/index.js.map +1 -0
  958. package/packages/mcp-server/dist/resources/ir-cache.d.ts +9 -0
  959. package/packages/mcp-server/dist/resources/ir-cache.d.ts.map +1 -0
  960. package/packages/mcp-server/dist/resources/ir-cache.js +47 -0
  961. package/packages/mcp-server/dist/resources/ir-cache.js.map +1 -0
  962. package/packages/mcp-server/dist/resources/ir-schema.d.ts +8 -0
  963. package/packages/mcp-server/dist/resources/ir-schema.d.ts.map +1 -0
  964. package/packages/mcp-server/dist/resources/ir-schema.js +39 -0
  965. package/packages/mcp-server/dist/resources/ir-schema.js.map +1 -0
  966. package/packages/mcp-server/dist/resources/semantics.d.ts +8 -0
  967. package/packages/mcp-server/dist/resources/semantics.d.ts.map +1 -0
  968. package/packages/mcp-server/dist/resources/semantics.js +38 -0
  969. package/packages/mcp-server/dist/resources/semantics.js.map +1 -0
  970. package/packages/mcp-server/dist/server.d.ts +7 -0
  971. package/packages/mcp-server/dist/server.d.ts.map +1 -0
  972. package/packages/mcp-server/dist/server.js +22 -0
  973. package/packages/mcp-server/dist/server.js.map +1 -0
  974. package/packages/mcp-server/dist/state/session-store.d.ts +39 -0
  975. package/packages/mcp-server/dist/state/session-store.d.ts.map +1 -0
  976. package/packages/mcp-server/dist/state/session-store.js +58 -0
  977. package/packages/mcp-server/dist/state/session-store.js.map +1 -0
  978. package/packages/mcp-server/dist/tools/compile.d.ts +30 -0
  979. package/packages/mcp-server/dist/tools/compile.d.ts.map +1 -0
  980. package/packages/mcp-server/dist/tools/compile.js +54 -0
  981. package/packages/mcp-server/dist/tools/compile.js.map +1 -0
  982. package/packages/mcp-server/dist/tools/execute.d.ts +112 -0
  983. package/packages/mcp-server/dist/tools/execute.d.ts.map +1 -0
  984. package/packages/mcp-server/dist/tools/execute.js +103 -0
  985. package/packages/mcp-server/dist/tools/execute.js.map +1 -0
  986. package/packages/mcp-server/dist/tools/explain.d.ts +25 -0
  987. package/packages/mcp-server/dist/tools/explain.d.ts.map +1 -0
  988. package/packages/mcp-server/dist/tools/explain.js +254 -0
  989. package/packages/mcp-server/dist/tools/explain.js.map +1 -0
  990. package/packages/mcp-server/dist/tools/validate.d.ts +23 -0
  991. package/packages/mcp-server/dist/tools/validate.d.ts.map +1 -0
  992. package/packages/mcp-server/dist/tools/validate.js +38 -0
  993. package/packages/mcp-server/dist/tools/validate.js.map +1 -0
  994. package/src/manifest/audit/sinks/postgres.sql +51 -0
  995. package/src/manifest/outbox/stores/postgres.sql +61 -0
@@ -0,0 +1,1159 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Manifest CLI
4
+ *
5
+ * Command-line interface for the Manifest language.
6
+ * Provides commands for compiling, generating code, and managing Manifest projects.
7
+ */
8
+ import { Command } from 'commander';
9
+ import chalk from 'chalk';
10
+ import { compileCommand } from './commands/compile.js';
11
+ import { generateCommand } from './commands/generate.js';
12
+ import { buildCommand } from './commands/build.js';
13
+ import { watchCommand } from './commands/watch.js';
14
+ import { validateCommand } from './commands/validate.js';
15
+ import { validateAICommand } from './commands/validate-ai.js';
16
+ import { docsCommand } from './commands/docs.js';
17
+ import { diagramCommand } from './commands/diagram.js';
18
+ import { preflightCommand } from './commands/preflight.js';
19
+ import { checkCommand } from './commands/check.js';
20
+ import { initCommand } from './commands/init.js';
21
+ import { initCiCommand } from './commands/init-ci.js';
22
+ import { scanCommand } from './commands/scan.js';
23
+ import { harnessCommand } from './commands/harness.js';
24
+ import { lintRoutesCommand } from './commands/lint-routes.js';
25
+ import { routesCommand } from './commands/routes.js';
26
+ import { auditRoutesCommand } from './commands/audit-routes.js';
27
+ import { emitRegistriesCommand } from './commands/emit-registries.js';
28
+ import { auditBypassesCommand } from './commands/audit-bypasses.js';
29
+ import { auditGovernanceCommand } from './commands/audit-governance.js';
30
+ import { enforceSurfaceCommand } from './commands/enforce-surface.js';
31
+ import { coverageCommand } from './commands/coverage.js';
32
+ import { integrationCheckCommand } from './commands/integration-check.js';
33
+ import { configValidateCommand, configPrintDefaultsCommand, configInspectCommand, } from './commands/config.js';
34
+ import { cacheStatusCommand, doctorCommand, duplicatesCommand, inspectEntityCommand, runtimeCheckCommand, diffSourceVsIRCommand, } from './commands/doctor.js';
35
+ import { diffIRCommand } from './commands/ir-diff.js';
36
+ import { loadTestCommand } from './commands/load-test.js';
37
+ import { mockCommand } from './commands/mock.js';
38
+ import { breakingChangeCommand } from './commands/breaking-change.js';
39
+ import { migrateCommand } from './commands/migrate.js';
40
+ import { fmtCommand } from './commands/fmt.js';
41
+ import { changelogCommand } from './commands/changelog.js';
42
+ import { installHooksCommand } from './commands/install-hooks.js';
43
+ import { versionsListCommand, versionsShowCommand, versionsSaveCommand, versionsDiffCommand, versionsChangelogCommand, versionsTagCommand, versionsRollbackCommand, versionsVerifyCommand, } from './commands/versions.js';
44
+ import { getConfig, resolveNextJsProjectionOptions } from './utils/config.js';
45
+ import { fileURLToPath, pathToFileURL } from 'node:url';
46
+ import { resolve, normalize, dirname, join } from 'node:path';
47
+ import { realpath, readFile } from 'node:fs/promises';
48
+ /**
49
+ * Read version from the root package.json at runtime so the CLI always
50
+ * reports the same version as the published package — no manual sync needed.
51
+ */
52
+ async function getPackageVersion() {
53
+ try {
54
+ const here = dirname(fileURLToPath(import.meta.url));
55
+ // Traverse up from dist/ (or src/ in dev) to find the root package.json
56
+ for (let dir = here, prev = ''; dir !== prev; prev = dir, dir = dirname(dir)) {
57
+ try {
58
+ const pkgPath = join(dir, 'package.json');
59
+ const raw = await readFile(pkgPath, 'utf-8');
60
+ const pkg = JSON.parse(raw);
61
+ if (pkg.name === '@angriff36/manifest' && pkg.version) {
62
+ return pkg.version;
63
+ }
64
+ }
65
+ catch {
66
+ // not found at this level, keep walking up
67
+ }
68
+ }
69
+ }
70
+ catch {
71
+ // fall through
72
+ }
73
+ // Deliberate sentinel: returned only when the walk-up cannot locate
74
+ // package.json (e.g. the CLI is loaded outside the package layout).
75
+ // This is the "version is unknown" marker, not a real version string —
76
+ // hence the lint-rule exemption on the literal below.
77
+ // eslint-disable-next-line manifest/no-hardcoded-versions
78
+ return '0.0.0';
79
+ }
80
+ const program = new Command();
81
+ const packageVersion = await getPackageVersion();
82
+ program
83
+ .name('manifest')
84
+ .description('Manifest language CLI - Compile, generate, and validate Manifest code')
85
+ .version(packageVersion);
86
+ /**
87
+ * manifest init
88
+ *
89
+ * Initialize Manifest configuration for your project.
90
+ */
91
+ program
92
+ .command('init')
93
+ .description('Initialize Manifest configuration (interactive) or generate CI workflows')
94
+ .option('-f, --force', 'Overwrite existing config or workflow file')
95
+ .option('--ci <provider>', 'Generate CI workflow for provider (github)')
96
+ .option('--node-versions <versions>', 'Comma-separated Node.js versions for CI matrix (default: 18,20,22)')
97
+ .action(async (options) => {
98
+ if (options.ci) {
99
+ await initCiCommand(options.ci, {
100
+ force: options.force,
101
+ nodeVersions: options.nodeVersions,
102
+ });
103
+ return;
104
+ }
105
+ await initCommand(options);
106
+ });
107
+ /**
108
+ * manifest compile [source]
109
+ *
110
+ * Compile .manifest source files to IR (Intermediate Representation).
111
+ */
112
+ program
113
+ .command('compile')
114
+ .description('Compile .manifest source to IR')
115
+ .argument('[source]', 'Source .manifest file or glob pattern')
116
+ .option('-o, --output <path>', 'Output directory or file path')
117
+ .option('-g, --glob <pattern>', 'Glob pattern for multiple files (use with output directory)')
118
+ .option('-d, --diagnostics', 'Include diagnostics in output', false)
119
+ .option('--pretty', 'Pretty-print JSON output', true)
120
+ .option('--merge', 'Merge multiple files into single IR (resolves use declarations)', false)
121
+ .option('--entry <files...>', 'Entry file(s) for merge compilation (auto-detected if omitted)')
122
+ .action(async (source, options = {}) => {
123
+ const config = (await getConfig()) ?? {};
124
+ if (!options.output && config?.output) {
125
+ options.output = config.output;
126
+ }
127
+ await compileCommand(source, options);
128
+ });
129
+ /**
130
+ * manifest generate <ir>
131
+ *
132
+ * Generate code from IR using a projection.
133
+ */
134
+ program
135
+ .command('generate')
136
+ .description('Generate code from IR using a projection')
137
+ .argument('<ir>', 'IR file or directory')
138
+ .option('-p, --projection <name>', 'Projection name — any registered projection (nextjs, prisma, zod, kysely, ...)', 'nextjs')
139
+ .option('-s, --surface <name>', 'Projection surface (route, command, types, client, all)', 'all')
140
+ .option('-o, --output <path>', 'Output directory')
141
+ .option('--auth <provider>', 'Auth provider or import path')
142
+ .option('--database <path>', 'Database import path')
143
+ .option('--runtime <path>', 'Runtime import path')
144
+ .option('--response <path>', 'Response helpers import path')
145
+ .option('--check', 'Compare generated code to committed files and exit non-zero on drift (writes nothing)')
146
+ .action(async (ir, options = {}) => {
147
+ // resolveNextJsProjectionOptions returns the user's raw nextjs options
148
+ // (incl. dispatcher.*, concreteCommandRoutes.*) — no defaults baked in.
149
+ // CLI flag overrides are layered on inside generateCommand.
150
+ const projectionOptionsFromConfig = await resolveNextJsProjectionOptions();
151
+ // Default to cwd — the projection's pathHint already contains the full
152
+ // relative path from project root (e.g. apps/api/app/api/…). Omitting
153
+ // -o should write files relative to the project root, not crash.
154
+ if (!options.output) {
155
+ options.output = '.';
156
+ }
157
+ await generateCommand(ir, {
158
+ ...options,
159
+ projectionOptionsFromConfig,
160
+ });
161
+ });
162
+ /**
163
+ * manifest build [source]
164
+ *
165
+ * Compile .manifest to IR and generate code in one step.
166
+ */
167
+ program
168
+ .command('build')
169
+ .description('Compile and generate in one step')
170
+ .argument('[source]', 'Source .manifest file or glob pattern')
171
+ .option('-p, --projection <name>', 'Projection name — any registered projection (nextjs, prisma, zod, kysely, ...)', 'nextjs')
172
+ .option('-s, --surface <name>', 'Projection surface (route, command, types, client, all)', 'all')
173
+ .option('--ir-output <path>', 'IR output directory')
174
+ .option('--code-output <path>', 'Generated code output directory')
175
+ .option('-g, --glob <pattern>', 'Glob pattern for multiple files')
176
+ .option('--auth <provider>', 'Auth provider or import path')
177
+ .option('--database <path>', 'Database import path')
178
+ .option('--runtime <path>', 'Runtime import path')
179
+ .option('--response <path>', 'Response helpers import path')
180
+ .action(async (source, options = {}) => {
181
+ const config = (await getConfig()) ?? {};
182
+ const projectionOptionsFromConfig = await resolveNextJsProjectionOptions();
183
+ const finalOptions = {
184
+ ...options,
185
+ irOutput: options.irOutput || config?.output || 'ir/',
186
+ codeOutput: options.codeOutput ||
187
+ config?.projections?.nextjs?.output ||
188
+ config?.projections?.['nextjs']?.output ||
189
+ 'generated/',
190
+ projectionOptionsFromConfig,
191
+ };
192
+ await buildCommand(source, finalOptions);
193
+ });
194
+ /**
195
+ * manifest watch [source]
196
+ *
197
+ * Watch .manifest files for changes and rebuild incrementally.
198
+ */
199
+ program
200
+ .command('watch')
201
+ .description('Watch .manifest files and rebuild on change')
202
+ .argument('[source]', 'Source .manifest file, directory, or glob pattern')
203
+ .option('-p, --projection <name>', 'Projection name — any registered projection (nextjs, prisma, zod, kysely, ...)', 'nextjs')
204
+ .option('-s, --surface <name>', 'Projection surface (route, command, types, client, all)', 'all')
205
+ .option('--ir-output <path>', 'IR output directory')
206
+ .option('--code-output <path>', 'Generated code output directory')
207
+ .option('-g, --glob <pattern>', 'Glob pattern for multiple files')
208
+ .option('--auth <provider>', 'Auth provider or import path')
209
+ .option('--database <path>', 'Database import path')
210
+ .option('--runtime <path>', 'Runtime import path')
211
+ .option('--response <path>', 'Response helpers import path')
212
+ .option('--debounce <ms>', 'Debounce delay in milliseconds', '300')
213
+ .option('--events', 'Emit structured JSON change events to stdout', false)
214
+ .option('--clear', 'Clear terminal on each rebuild', false)
215
+ .action(async (source, options = {}) => {
216
+ const config = (await getConfig()) ?? {};
217
+ const projectionOptionsFromConfig = await resolveNextJsProjectionOptions();
218
+ const finalOptions = {
219
+ ...options,
220
+ irOutput: options.irOutput || config?.output || 'ir/',
221
+ codeOutput: options.codeOutput ||
222
+ config?.projections?.nextjs?.output ||
223
+ config?.projections?.['nextjs']?.output ||
224
+ 'generated/',
225
+ debounce: parseInt(options.debounce, 10) || 300,
226
+ projectionOptionsFromConfig,
227
+ };
228
+ await watchCommand(source, finalOptions);
229
+ });
230
+ /**
231
+ * manifest validate [ir]
232
+ *
233
+ * Validate IR against schema.
234
+ */
235
+ program
236
+ .command('validate')
237
+ .description('Validate IR against schema')
238
+ .argument('[ir]', 'IR file or glob pattern')
239
+ .option('--schema <path>', 'Schema path (default: docs/spec/ir/ir-v1.schema.json)')
240
+ .option('--strict', 'Fail on warnings', false)
241
+ .action(validateCommand);
242
+ /**
243
+ * manifest fmt [source]
244
+ *
245
+ * Format .manifest source files deterministically.
246
+ */
247
+ program
248
+ .command('fmt')
249
+ .description('Format .manifest source files (deterministic whitespace normalization)')
250
+ .argument('[source]', 'Source .manifest file, directory, or glob pattern')
251
+ .option('--check', 'Fail if any file would change', false)
252
+ .option('--write', 'Write formatted output to files', false)
253
+ .option('-g, --glob <pattern>', 'Glob pattern when source is a directory')
254
+ .action(async (source, options = {}) => {
255
+ await fmtCommand(source, {
256
+ check: options.check,
257
+ write: !options.check,
258
+ glob: options.glob,
259
+ });
260
+ });
261
+ /**
262
+ * manifest install-hooks
263
+ *
264
+ * Install pre-commit hooks for fmt --check and validate.
265
+ */
266
+ program
267
+ .command('install-hooks')
268
+ .description('Install pre-commit hooks (Husky or simple-git-hooks)')
269
+ .option('-f, --force', 'Overwrite existing hook configuration')
270
+ .option('--provider <provider>', 'Hook provider: husky | simple-git-hooks', 'husky')
271
+ .action(async (options) => {
272
+ const provider = options.provider === 'simple-git-hooks' ? 'simple-git-hooks' : 'husky';
273
+ await installHooksCommand({
274
+ force: options.force,
275
+ provider,
276
+ });
277
+ });
278
+ /**
279
+ * manifest validate-ai [source]
280
+ *
281
+ * Structured validation for LLM-generated .manifest or IR JSON with scored reports.
282
+ */
283
+ program
284
+ .command('validate-ai')
285
+ .description('Validate manifest/IR with scored diagnostics for AI agents')
286
+ .argument('[source]', 'Source .manifest, .ir.json, directory, or glob')
287
+ .option('-f, --format <format>', 'Output format (text, json)', 'text')
288
+ .option('--schema <path>', 'Schema path (default: docs/spec/ir/ir-v1.schema.json)')
289
+ .option('--min-score <n>', 'Minimum score to pass (default: 100)', (v) => parseInt(v, 10), 100)
290
+ .option('--verbose', 'Include info-level diagnostics', false)
291
+ .action(async (source, options = {}) => {
292
+ await validateAICommand(source, {
293
+ format: options.format,
294
+ schema: options.schema,
295
+ minScore: options.minScore,
296
+ verbose: options.verbose,
297
+ });
298
+ });
299
+ /**
300
+ * manifest generate-tests [source]
301
+ *
302
+ * LLM-driven conformance fixture generation: analyzes existing fixtures
303
+ * and emits new .manifest sources + expected IR covering edge cases,
304
+ * boundary conditions, and adversarial inputs. Generated fixtures are
305
+ * compiled and validated before being written.
306
+ */
307
+ program
308
+ .command('generate-tests')
309
+ .alias('gen-tests')
310
+ .description('Generate conformance test fixtures via LLM analysis of existing fixtures')
311
+ .argument('[source]', 'Source .manifest file, directory, or glob to analyze')
312
+ .option('--feature <description>', 'Feature description to focus generation on')
313
+ .option('--category <type>', 'Test category: edge-cases, boundary, adversarial, coverage', 'edge-cases')
314
+ .option('--count <n>', 'Number of fixtures to generate', (v) => parseInt(v, 10), 3)
315
+ .option('--output <path>', 'Output directory for fixtures (default: conformance fixtures dir)')
316
+ .option('--api-key <key>', 'Anthropic API key (default: ANTHROPIC_API_KEY env var)')
317
+ .option('--model <model>', 'Claude model to use')
318
+ .option('--temperature <n>', 'Generation temperature (0-1)', (v) => parseFloat(v))
319
+ .option('--max-retries <n>', 'Max retry attempts for validation failures', (v) => parseInt(v, 10))
320
+ .option('--dry-run', 'Preview generated fixtures without writing files', false)
321
+ .option('--verbose', 'Show detailed iteration logs', false)
322
+ .action(async (source, options = {}) => {
323
+ const { genTestsCommand } = await import('./commands/gen-tests.js');
324
+ await genTestsCommand(source, {
325
+ feature: options.feature,
326
+ category: options.category,
327
+ count: options.count,
328
+ output: options.output,
329
+ apiKey: options.apiKey,
330
+ model: options.model,
331
+ temperature: options.temperature,
332
+ maxRetries: options.maxRetries,
333
+ dryRun: options.dryRun,
334
+ verbose: options.verbose,
335
+ });
336
+ });
337
+ /**
338
+ * manifest docs [source]
339
+ *
340
+ * Generate static documentation site from IR.
341
+ */
342
+ program
343
+ .command('docs')
344
+ .description('Generate static documentation site from Manifest IR')
345
+ .argument('[source]', 'Source .manifest, .ir.json, directory, or glob')
346
+ .option('-o, --output <path>', 'Output directory', 'docs-site')
347
+ .option('-f, --format <format>', 'Output format (html, markdown)', 'html')
348
+ .option('-t, --title <title>', 'Site title', 'Manifest API Reference')
349
+ .action(async (source, options = {}) => {
350
+ await docsCommand(source, {
351
+ output: options.output,
352
+ format: options.format,
353
+ title: options.title,
354
+ });
355
+ });
356
+ /**
357
+ * manifest diagram [source]
358
+ *
359
+ * Generate Mermaid diagrams from IR (ER, state machine, sequence).
360
+ */
361
+ program
362
+ .command('diagram')
363
+ .description('Generate Mermaid diagrams from Manifest IR (ER, state, sequence)')
364
+ .argument('[source]', 'Source .manifest, .ir.json, directory, or glob')
365
+ .option('-o, --output <path>', 'Output directory', 'diagrams')
366
+ .option('-t, --type <type>', 'Diagram type (er, state, sequence, all)', 'all')
367
+ .option('-e, --entity <name>', 'Filter to a specific entity')
368
+ .option('--markdown', 'Wrap output in markdown fenced code blocks', false)
369
+ .action(async (source, options = {}) => {
370
+ await diagramCommand(source, {
371
+ output: options.output,
372
+ type: options.type,
373
+ entity: options.entity,
374
+ markdown: options.markdown,
375
+ });
376
+ });
377
+ /**
378
+ * manifest preflight
379
+ *
380
+ * Validate environment variables against manifest.config env mapping.
381
+ */
382
+ program
383
+ .command('preflight')
384
+ .description('Validate environment variables and generate .env.example')
385
+ .option('-f, --format <format>', 'Output format (text, json)', 'text')
386
+ .option('--generate-example', 'Generate .env.example instead of checking')
387
+ .option('-o, --output <path>', 'Output path for .env.example', '.env.example')
388
+ .action(async (options = {}) => {
389
+ await preflightCommand({
390
+ format: options.format,
391
+ generateExample: options.generateExample,
392
+ output: options.output,
393
+ });
394
+ });
395
+ /**
396
+ * manifest check [source]
397
+ *
398
+ * Compile .manifest source and validate generated IR in one step.
399
+ */
400
+ program
401
+ .command('check')
402
+ .description('Compile and validate in one step')
403
+ .argument('[source]', 'Source .manifest file or glob pattern')
404
+ .option('-o, --output <path>', 'IR output directory or file path')
405
+ .option('-g, --glob <pattern>', 'Glob pattern for multiple files (use with output directory)')
406
+ .option('-d, --diagnostics', 'Include diagnostics in compile output', false)
407
+ .option('--pretty', 'Pretty-print JSON output', true)
408
+ .option('--schema <path>', 'Schema path (default: docs/spec/ir/ir-v1.schema.json)')
409
+ .option('--strict', 'Fail on warnings', false)
410
+ .action(async (source, options = {}) => {
411
+ const config = (await getConfig()) ?? {};
412
+ if (!options.output && config?.output) {
413
+ options.output = config.output;
414
+ }
415
+ await checkCommand(source, options);
416
+ });
417
+ /**
418
+ * manifest scan [source]
419
+ *
420
+ * Scan .manifest files for configuration issues before runtime.
421
+ * Primary goal: "If scan passes, the code works."
422
+ *
423
+ * Checks:
424
+ * - Policy coverage: Every command has a policy
425
+ * - Store consistency: Store targets are recognized
426
+ */
427
+ program
428
+ .command('scan')
429
+ .description('Scan manifest files for configuration issues')
430
+ .argument('[source]', 'Source .manifest file or directory')
431
+ .option('-g, --glob <pattern>', 'Glob pattern for manifest files', '**/*.manifest')
432
+ .option('-f, --format <format>', 'Output format (text, json)', 'text')
433
+ .option('--strict', 'Fail on warnings', false)
434
+ .action(async (source, options = {}) => {
435
+ await scanCommand(source, options);
436
+ });
437
+ /**
438
+ * manifest harness <manifest>
439
+ *
440
+ * Run a fixture-generator style test script against compiled IR and report
441
+ * step/assertion pass-fail counts.
442
+ */
443
+ program
444
+ .command('harness')
445
+ .description('Run IR harness script and report failed steps/assertions')
446
+ .argument('<manifest>', 'Path to a .manifest file')
447
+ .requiredOption('-s, --script <path>', 'Path to harness script JSON')
448
+ .option('-f, --format <format>', 'Output format (text, json)', 'text')
449
+ .action(async (manifest, options = {}) => {
450
+ await harnessCommand(manifest, options);
451
+ });
452
+ /**
453
+ * manifest mock <source>
454
+ *
455
+ * Start a local HTTP mock server that simulates API routes derived from
456
+ * compiled Manifest IR. Uses RuntimeEngine with in-memory stores for real
457
+ * command execution. Enables frontend teams to develop against a realistic
458
+ * API before the backend is deployed.
459
+ */
460
+ program
461
+ .command('mock')
462
+ .description('Start a local mock HTTP server from IR (for frontend development)')
463
+ .argument('<source>', 'Source .manifest file or compiled .ir.json')
464
+ .option('-p, --port <number>', 'Port number', '4000')
465
+ .option('--host <host>', 'Bind host', '127.0.0.1')
466
+ .option('--cors', 'Enable CORS headers', false)
467
+ .option('--scenario <mode>', 'Hint mode: default|guard-fail|constraint-fail', 'default')
468
+ .action(async (source, options = {}) => {
469
+ await mockCommand(source, {
470
+ port: options.port,
471
+ host: options.host,
472
+ cors: options.cors,
473
+ scenario: options.scenario,
474
+ });
475
+ });
476
+ /**
477
+ * manifest routes
478
+ *
479
+ * Compile all .manifest files and output the canonical route manifest.
480
+ * Agent-accessible equivalent of the DevTools Route Surface tab.
481
+ *
482
+ * See docs/spec/manifest-vnext.md § "Canonical Routes (Normative)".
483
+ */
484
+ program
485
+ .command('routes')
486
+ .description('Generate canonical route manifest from compiled IR')
487
+ .option('-s, --src <pattern>', 'Source glob pattern for .manifest files')
488
+ .option('-f, --format <format>', 'Output format (json, summary)', 'json')
489
+ .option('-b, --base-path <path>', 'Base path prefix for routes', '/api')
490
+ .action(async (options = {}) => {
491
+ await routesCommand(options);
492
+ });
493
+ /**
494
+ * manifest lint-routes
495
+ *
496
+ * Scan client directories for hardcoded route strings.
497
+ * Fails when violations are found — the enforcement layer for canonical routes.
498
+ *
499
+ * See docs/spec/manifest-vnext.md § "Canonical Routes (Normative)".
500
+ */
501
+ program
502
+ .command('lint-routes')
503
+ .description('Scan for hardcoded route strings (canonical routes enforcement)')
504
+ .option('-f, --format <format>', 'Output format (text, json)', 'text')
505
+ .option('-c, --config <path>', 'Config file path')
506
+ .action(async (options = {}) => {
507
+ await lintRoutesCommand(options);
508
+ });
509
+ /**
510
+ * manifest audit-routes
511
+ *
512
+ * Audit generated/handwritten routes for Manifest boundary compliance:
513
+ * - Writes should execute via runtime.runCommand
514
+ * - Direct reads should include expected tenant/location/soft-delete filters
515
+ */
516
+ program
517
+ .command('audit-routes')
518
+ .description('Audit route boundary compliance (runtime writes + scoped reads + ownership)')
519
+ .option('-r, --root <path>', 'Root directory to audit', '.')
520
+ .option('-f, --format <format>', 'Output format (text, json)', 'text')
521
+ .option('--strict', 'Fail on warnings and enforce ownership rules as errors', false)
522
+ .option('--tenant-field <name>', 'Tenant scope field name', 'tenantId')
523
+ .option('--deleted-field <name>', 'Soft-delete field name', 'deletedAt')
524
+ .option('--location-field <name>', 'Location scope field name', 'locationId')
525
+ .option('--commands-manifest <path>', 'Path to commands manifest JSON (enables ownership rules)')
526
+ .option('--exemptions <path>', 'Path to exemptions registry JSON')
527
+ .action(async (options = {}) => {
528
+ await auditRoutesCommand(options);
529
+ });
530
+ /**
531
+ * manifest emit registries
532
+ *
533
+ * Emit machine-readable command and governed-entity registries from a
534
+ * compiled IR JSON or a manifest source file. Validates against the schemas
535
+ * in docs/spec/registry/. See docs/spec/registry/README.md.
536
+ */
537
+ const emitProgram = program
538
+ .command('emit')
539
+ .description('Emit IR-derived artifacts');
540
+ /**
541
+ * manifest audit-bypasses
542
+ *
543
+ * Validates an approved-bypass registry against
544
+ * docs/spec/registry/bypasses.schema.json. Reports missing-file references
545
+ * as errors and expired review dates as warnings (or errors under
546
+ * --strict-expiry).
547
+ */
548
+ /**
549
+ * manifest audit-governance
550
+ *
551
+ * Umbrella that runs every governance detector and aggregates findings.
552
+ * Under --strict, any error finding causes a non-zero exit. Detectors:
553
+ * direct-writes, event-fabrication, route-drift, missing-tests,
554
+ * bypass-violations.
555
+ *
556
+ * `audit-constitution` is retained as a deprecated alias.
557
+ */
558
+ program
559
+ .command('audit-governance')
560
+ .alias('audit-constitution')
561
+ .description('Run the full governance audit suite (umbrella). `audit-constitution` is a deprecated alias.')
562
+ .option('-r, --root <path>', 'Root directory to audit', '.')
563
+ .option('--only <list>', 'Comma-separated detector names to run (default: all)')
564
+ .option('--commands-registry <path>', 'Path to commands.json (enables missing-tests detector)')
565
+ .option('--bypass-registry <path>', 'Path to bypasses.json (enables bypass-violations detector)')
566
+ .option('--strict', 'Exit non-zero on any error finding', false)
567
+ .option('-f, --format <format>', 'Output format (text, json)', 'text')
568
+ .option('--write-receiver <name>', 'ORM client identifier direct-write detectors match on (default: prisma)')
569
+ .action(async (options = {}, cmd) => {
570
+ // Surface a deprecation hint when callers invoke the legacy alias.
571
+ const invokedAs = cmd?.args?.[0] ?? cmd?.name?.();
572
+ const calledByAlias = process.argv.includes('audit-constitution');
573
+ if (calledByAlias) {
574
+ console.warn(chalk.yellow('[deprecation] `manifest audit-constitution` is renamed to `manifest audit-governance`. ' +
575
+ 'The alias still works but will be removed in a future release.'));
576
+ }
577
+ const result = await auditGovernanceCommand(options);
578
+ if (options.strict && result.errorCount > 0) {
579
+ process.exitCode = 1;
580
+ }
581
+ else if (!options.strict && result.errorCount > 0) {
582
+ // Non-strict still surfaces failures; the exit code is left to the
583
+ // caller's CI integration. Mirror audit-routes behavior.
584
+ process.exitCode = 1;
585
+ }
586
+ // Suppress unused-var noise from optional invokedAs lookup.
587
+ void invokedAs;
588
+ });
589
+ /**
590
+ * `enforce-surface` — the strictest registry-vs-app check.
591
+ *
592
+ * Composes the governance detectors with three registry-aware detectors to
593
+ * stop agents and contributors from inventing duplicate or bypass write
594
+ * paths when a registered Manifest command already exists.
595
+ */
596
+ program
597
+ .command('enforce-surface')
598
+ .description('Enforce that application code only writes through registered Manifest commands')
599
+ .requiredOption('--root <path>', 'Repository or application root to scan')
600
+ .requiredOption('--commands-registry <path>', 'Path to commands.json emitted from Manifest IR')
601
+ .option('--entities-registry <path>', 'Path to entities.json emitted from Manifest IR')
602
+ .option('--bypass-registry <path>', 'Path to bypasses.json (approved exceptions)')
603
+ .option('-f, --format <format>', 'Output format (text, json)', 'text')
604
+ .option('--strict', 'Exit non-zero on any error finding', false)
605
+ .option('--include <glob...>', 'Additional include globs')
606
+ .option('--exclude <glob...>', 'Exclude globs (generated files, build output, fixtures, etc.)')
607
+ .option('--write-receiver <name>', 'ORM client identifier direct-write detectors match on (default: prisma)')
608
+ .action(async (options = {}) => {
609
+ await enforceSurfaceCommand({
610
+ root: options.root,
611
+ commandsRegistry: options.commandsRegistry,
612
+ entitiesRegistry: options.entitiesRegistry,
613
+ bypassRegistry: options.bypassRegistry,
614
+ format: options.format,
615
+ strict: !!options.strict,
616
+ include: options.include,
617
+ exclude: options.exclude,
618
+ writeReceiver: options.writeReceiver,
619
+ });
620
+ });
621
+ program
622
+ .command('audit-bypasses')
623
+ .description('Validate the approved-bypass registry against the schema')
624
+ .option('--registry <path>', 'Path to bypass registry JSON file')
625
+ .option('-r, --root <path>', 'Root directory used to resolve bypass paths', '.')
626
+ .option('--strict-expiry', 'Treat expired reviewBy dates as errors', false)
627
+ .option('-f, --format <format>', 'Output format (text, json)', 'text')
628
+ .action(async (options = {}) => {
629
+ const result = await auditBypassesCommand(options);
630
+ if (result.errorCount > 0) {
631
+ process.exitCode = 1;
632
+ }
633
+ });
634
+ /**
635
+ * manifest coverage
636
+ *
637
+ * Analyze conformance and unit test results to report which commands, guards,
638
+ * policies, and constraint branches have been exercised. Produces a coverage
639
+ * summary with uncovered paths highlighted.
640
+ */
641
+ program
642
+ .command('coverage')
643
+ .description('Report command/guard/policy/constraint coverage from conformance and unit tests')
644
+ .option('--ir <path>', 'Path to compiled IR JSON file')
645
+ .option('-s, --source <path>', 'Path to .manifest source file (compiles on the fly)')
646
+ .option('-r, --root <path>', 'Root directory to scan for test evidence', '.')
647
+ .option('-f, --format <format>', 'Output format (text, json)', 'text')
648
+ .option('--min-coverage <n>', 'Minimum overall coverage percentage to pass', (v) => parseFloat(v))
649
+ .option('--strict', 'Exit non-zero when below --min-coverage', false)
650
+ .action(async (options = {}) => {
651
+ const result = await coverageCommand(options);
652
+ if (options.strict && typeof options.minCoverage === 'number') {
653
+ if (result.overall.percentage < options.minCoverage) {
654
+ console.error(chalk.red(`Coverage ${result.overall.percentage}% is below threshold ${options.minCoverage}%`));
655
+ process.exitCode = 1;
656
+ }
657
+ }
658
+ });
659
+ /**
660
+ * manifest load-test [source]
661
+ *
662
+ * Generate k6 or Artillery load test scripts from IR entities and commands.
663
+ * Produces self-contained scripts with realistic data generation (faker.js
664
+ * patterns), configurable ramp-up profiles, SLO thresholds, and optional
665
+ * integration with the Manifest performance profiler.
666
+ */
667
+ program
668
+ .command('load-test')
669
+ .description('Generate k6 or Artillery load test scripts from IR')
670
+ .argument('[source]', 'Source .manifest file, .ir.json file, or directory')
671
+ .option('-o, --output <path>', 'Output directory for generated scripts', 'load-tests')
672
+ .option('-f, --format <format>', 'Script format: k6 | artillery (default: k6)', 'k6')
673
+ .option('--base-url <url>', 'Base URL for the API under test', 'http://localhost:3000')
674
+ .option('--ramp-up <stages>', 'Ramp-up profile: "duration:target,duration:target" (e.g. "10s:5,30s:20,1m:50")', '10s:5,30s:20,1m:50')
675
+ .option('--slo <thresholds>', 'SLO thresholds: "metric:op:value" (e.g. "p95:<:500ms,error_rate:<=:0.01")')
676
+ .option('--command <name...>', 'Only generate for the named command(s)')
677
+ .option('--entity <name...>', 'Only include the named entity/entities')
678
+ .option('--profile', 'Emit per-request profiling timestamps for profiler correlation', false)
679
+ .option('--timeout <ms>', 'Request timeout in milliseconds', (v) => parseInt(v, 10), 30000)
680
+ .option('--json', 'Emit structured JSON to stdout instead of writing files', false)
681
+ .action(async (source, options = {}) => {
682
+ await loadTestCommand({
683
+ source,
684
+ output: options.output,
685
+ format: options.format,
686
+ baseUrl: options.baseUrl,
687
+ rampUp: options.rampUp,
688
+ slo: options.slo,
689
+ command: options.command,
690
+ entity: options.entity,
691
+ profile: options.profile,
692
+ timeout: options.timeout,
693
+ json: options.json,
694
+ });
695
+ });
696
+ emitProgram
697
+ .command('registries')
698
+ .description('Emit commands.json and entities.json registries from IR')
699
+ .option('--ir <path>', 'Path to a compiled IR JSON file')
700
+ .option('--source <path>', 'Path to a .manifest source file to compile and emit from')
701
+ .option('--out <dir>', 'Output directory', 'manifest-registry')
702
+ .option('--no-validate', 'Skip JSON-schema validation of the emitted output')
703
+ .option('--no-pretty', 'Emit compact JSON (no indentation)')
704
+ .action(async (options = {}) => {
705
+ await emitRegistriesCommand(options);
706
+ });
707
+ /**
708
+ * manifest inspect entity <EntityName>
709
+ *
710
+ * Inspect source manifests and precompiled IR for a single entity.
711
+ */
712
+ const inspectProgram = program
713
+ .command('inspect')
714
+ .description('Inspect manifest source and compiled IR surfaces');
715
+ inspectProgram
716
+ .command('entity')
717
+ .description('Inspect a single entity across source manifests and precompiled IR')
718
+ .argument('<entityName>', 'Entity name')
719
+ .option('--json', 'JSON output', false)
720
+ .option('--src <pattern>', 'Source manifest glob pattern')
721
+ .option('--ir-root <path...>', 'Compiled IR root directory/directories')
722
+ .action(async (entityName, options = {}) => {
723
+ await inspectEntityCommand(entityName, options);
724
+ });
725
+ /**
726
+ * manifest diff source-vs-ir <EntityName>
727
+ */
728
+ const diffProgram = program
729
+ .command('diff')
730
+ .description('Diff manifest source surfaces against precompiled IR');
731
+ diffProgram
732
+ .command('source-vs-ir')
733
+ .description('Compare source manifest parse output vs precompiled IR for an entity')
734
+ .argument('<entityName>', 'Entity name')
735
+ .option('--json', 'JSON output', false)
736
+ .option('--src <pattern>', 'Source manifest glob pattern')
737
+ .option('--ir-root <path...>', 'Compiled IR root directory/directories')
738
+ .action(async (entityName, options = {}) => {
739
+ await diffSourceVsIRCommand(entityName, options);
740
+ });
741
+ /**
742
+ * manifest diff ir-vs-ir <oldIR> <newIR>
743
+ */
744
+ diffProgram
745
+ .command('ir-vs-ir')
746
+ .description('Compare two IR JSON files and produce a diff report')
747
+ .argument('<oldIR>', 'Path to old IR JSON file')
748
+ .argument('<newIR>', 'Path to new IR JSON file')
749
+ .option('--json', 'JSON output', false)
750
+ .option('--sql', 'Include SQL migration in output', false)
751
+ .option('--prisma', 'Include Prisma migration in output', false)
752
+ .option('-o, --output <path>', 'Write output to file')
753
+ .action(async (oldIR, newIR, options = {}) => {
754
+ await diffIRCommand(oldIR, newIR, options);
755
+ });
756
+ /**
757
+ * manifest diff breaking <oldIR> <newIR>
758
+ */
759
+ diffProgram
760
+ .command('breaking')
761
+ .description('Classify IR diff changes as compatible/deprecated/breaking with consumer impact')
762
+ .argument('<oldIR>', 'Path to old IR JSON file')
763
+ .argument('<newIR>', 'Path to new IR JSON file')
764
+ .option('--json', 'JSON output', false)
765
+ .option('--ack <path>', 'Path to acknowledgments JSON file')
766
+ .option('--ci', 'Exit non-zero on unacknowledged breaking changes', false)
767
+ .option('-o, --output <path>', 'Write output to file')
768
+ .action(async (oldIR, newIR, options = {}) => {
769
+ await breakingChangeCommand(oldIR, newIR, options);
770
+ });
771
+ /**
772
+ * manifest migrate
773
+ *
774
+ * IR diff analysis for database migration planning.
775
+ */
776
+ program
777
+ .command('migrate')
778
+ .description('Analyze IR diff for database migration (dry-run, preview, reversibility checks)')
779
+ .requiredOption('--old-ir <path>', 'Path to old IR JSON file')
780
+ .requiredOption('--new-ir <path>', 'Path to new IR JSON file')
781
+ .option('--dry-run', 'Show migration plan without applying', false)
782
+ .option('--preview', 'Show SQL and Prisma migration steps', false)
783
+ .option('--force', 'Apply even with warnings or unacknowledged breaking changes', false)
784
+ .option('--json', 'JSON output', false)
785
+ .option('--tool <tool>', 'Migration tool (prisma, drizzle)', 'prisma')
786
+ .option('--no-check-reversibility', 'Skip reversibility validation')
787
+ .option('-o, --output <path>', 'Write output to file')
788
+ .action(async (options = {}) => {
789
+ await migrateCommand({
790
+ oldIR: options.oldIr,
791
+ newIR: options.newIr,
792
+ dryRun: options.dryRun,
793
+ preview: options.preview,
794
+ force: options.force,
795
+ json: options.json,
796
+ output: options.output,
797
+ tool: options.tool,
798
+ checkReversibility: options.checkReversibility,
799
+ });
800
+ });
801
+ /**
802
+ * manifest changelog <from-ref> [to-ref]
803
+ *
804
+ * Generate a human-readable Markdown changelog from IR diffs between Git refs.
805
+ * Compiles .manifest sources at each ref, classifies changes as new entities,
806
+ * modified constraints, added policies, or breaking schema changes. Outputs
807
+ * Markdown formatted for GitHub Releases and Keep a Changelog conventions.
808
+ */
809
+ program
810
+ .command('changelog')
811
+ .description('Generate Markdown changelog from IR diffs between Git refs')
812
+ .argument('<from-ref>', 'Base Git ref (tag, branch, or SHA)')
813
+ .argument('[to-ref]', 'Target Git ref (default: HEAD)', 'HEAD')
814
+ .option('-s, --source <pattern>', 'Glob pattern for .manifest files', '**/*.manifest')
815
+ .option('-o, --output <path>', 'Write changelog to file')
816
+ .option('-t, --title <title>', 'Custom heading for the changelog')
817
+ .option('--json', 'Emit structured JSON instead of Markdown', false)
818
+ .action(async (fromRef, toRef, options = {}) => {
819
+ await changelogCommand(fromRef, toRef, {
820
+ source: options.source,
821
+ output: options.output,
822
+ title: options.title,
823
+ json: options.json,
824
+ });
825
+ });
826
+ /**
827
+ * manifest duplicates
828
+ */
829
+ program
830
+ .command('duplicates')
831
+ .description('Summarize duplicate merge reports (*.merge-report.json)')
832
+ .option('--entity <name>', 'Filter duplicate entries by entity name/key')
833
+ .option('--merge-report <pattern>', 'Override merge report glob pattern')
834
+ .option('--json', 'JSON output', false)
835
+ .action(async (options = {}) => {
836
+ await duplicatesCommand(options);
837
+ });
838
+ /**
839
+ * manifest runtime-check <EntityName> <command>
840
+ */
841
+ program
842
+ .command('runtime-check')
843
+ .description('Correlate route surface, source manifests, and precompiled IR for a command')
844
+ .argument('<entityName>', 'Entity name')
845
+ .argument('<commandName>', 'Command name')
846
+ .option('--route <path>', 'Optional canonical route path to validate (exact match)')
847
+ .option('--json', 'JSON output', false)
848
+ .option('--src <pattern>', 'Source manifest glob pattern')
849
+ .option('--ir-root <path...>', 'Compiled IR root directory/directories')
850
+ .action(async (entityName, commandName, options = {}) => {
851
+ await runtimeCheckCommand(entityName, commandName, options);
852
+ });
853
+ /**
854
+ * manifest cache-status
855
+ */
856
+ program
857
+ .command('cache-status')
858
+ .description('Show offline cache guidance (precompiled IR timestamps + restart advice)')
859
+ .option('--entity <name>', 'Optional entity context for guidance text')
860
+ .option('--command <name>', 'Optional command context for guidance text')
861
+ .option('--json', 'JSON output', false)
862
+ .option('--ir-root <path...>', 'Compiled IR root directory/directories')
863
+ .action(async (options = {}) => {
864
+ await cacheStatusCommand(options);
865
+ });
866
+ /**
867
+ * manifest doctor
868
+ */
869
+ /**
870
+ * manifest repl [source]
871
+ *
872
+ * Interactive REPL for inspecting IR and running commands against the runtime.
873
+ */
874
+ program
875
+ .command('repl')
876
+ .description('Interactive Manifest runtime REPL for debugging guards, policies, and entity state')
877
+ .argument('[source]', 'Source .manifest file or directory')
878
+ .option('--json', 'JSON output mode for machine-readable responses', false)
879
+ .option('--user <id>', 'User id for runtime context')
880
+ .option('--tenant <id>', 'Tenant id for runtime context')
881
+ .option('--context <json>', 'Additional runtime context JSON')
882
+ .action(async (source, options = {}) => {
883
+ const { replCommand } = await import('./commands/repl.js');
884
+ await replCommand(source, {
885
+ json: options.json,
886
+ user: options.user,
887
+ tenant: options.tenant,
888
+ context: options.context,
889
+ });
890
+ });
891
+ program
892
+ .command('doctor')
893
+ .description('Run ranked offline diagnostics for source/IR/route drift and duplicate merges')
894
+ .option('--entity <name>', 'Optional entity to focus the diagnosis')
895
+ .option('--command <name>', 'Optional command to focus the diagnosis')
896
+ .option('--route <path>', 'Optional route path for route-surface correlation')
897
+ .option('--json', 'JSON output', false)
898
+ .option('--src <pattern>', 'Source manifest glob pattern')
899
+ .option('--ir-root <path...>', 'Compiled IR root directory/directories')
900
+ .action(async (options = {}) => {
901
+ await doctorCommand(options);
902
+ });
903
+ /**
904
+ * manifest integration-check
905
+ *
906
+ * End-to-end validation that a downstream repo is correctly integrated
907
+ * with the Manifest governance contract. Runs static governance + bypass
908
+ * audit + dispatcher presence + runtime smoke (audit/outbox adapters) +
909
+ * package shape. Exit code is 0 only if every section passes.
910
+ */
911
+ program
912
+ .command('integration-check')
913
+ .description('Validate a downstream repo against the full Manifest governance + runtime contract')
914
+ .option('--root <path>', 'Downstream repo root (defaults to cwd)')
915
+ .option('--commands-registry <path>', 'Path to a commands registry JSON')
916
+ .option('--bypass-registry <path>', 'Path to a bypass registry JSON')
917
+ .option('--format <fmt>', 'Output format: text | json', 'text')
918
+ .option('--strict', 'Treat warnings as failures', false)
919
+ .option('--skip-runtime-smoke', 'Skip the in-memory RuntimeEngine smoke', false)
920
+ .option('--skip-package-shape', 'Skip the package-shape check', false)
921
+ .option('--skip-tarball', 'Skip the `npm pack --dry-run` sub-step in package-shape', false)
922
+ .option('--package-root <path>', 'Override the @angriff36/manifest package root for the package-shape check')
923
+ .action(async (options = {}) => {
924
+ const result = await integrationCheckCommand({
925
+ root: options.root,
926
+ commandsRegistry: options.commandsRegistry,
927
+ bypassRegistry: options.bypassRegistry,
928
+ format: options.format === 'json' ? 'json' : 'text',
929
+ strict: !!options.strict,
930
+ skipRuntimeSmoke: !!options.skipRuntimeSmoke,
931
+ skipPackageShape: !!options.skipPackageShape,
932
+ skipTarball: !!options.skipTarball,
933
+ packageRoot: options.packageRoot,
934
+ });
935
+ if (!result.ok)
936
+ process.exit(1);
937
+ });
938
+ /**
939
+ * manifest config
940
+ *
941
+ * Inspection and validation surface for manifest.config.{yaml,yml,ts,js}.
942
+ * Generic to Manifest itself — not tied to any downstream consumer.
943
+ */
944
+ const configProgram = program
945
+ .command('config')
946
+ .description('Inspect and validate manifest.config.{yaml,ts,js}');
947
+ configProgram
948
+ .command('validate')
949
+ .description('Validate manifest.config against the JSON schema')
950
+ .option('--json', 'JSON output (and non-zero exit on failure)', false)
951
+ .action(async (options = {}) => {
952
+ await configValidateCommand({ json: !!options.json });
953
+ });
954
+ configProgram
955
+ .command('print-defaults')
956
+ .description('Print the canonical defaults Manifest applies when no config is set')
957
+ .option('--json', 'JSON output (default: yes)', true)
958
+ .action(async (options = {}) => {
959
+ await configPrintDefaultsCommand({ json: options.json !== false });
960
+ });
961
+ configProgram
962
+ .command('inspect')
963
+ .alias('print-effective')
964
+ .description('Print the effective config (defaults + user overrides). Stable, key-sorted; safe for CI snapshots.')
965
+ .option('--json', 'JSON output (default: yes)', true)
966
+ .action(async (options = {}) => {
967
+ await configInspectCommand({ json: options.json !== false });
968
+ });
969
+ /**
970
+ * manifest versions
971
+ *
972
+ * IR snapshot versioning with semantic tags, changelog, and integrity verification.
973
+ */
974
+ const versionsProgram = program
975
+ .command('versions')
976
+ .description('Manage IR version snapshots (.manifest-versions/)');
977
+ versionsProgram
978
+ .command('list')
979
+ .description('List saved IR versions')
980
+ .option('--store <path>', 'Version store directory', '.manifest-versions')
981
+ .option('--json', 'JSON output', false)
982
+ .action(async (options = {}) => {
983
+ await versionsListCommand({ store: options.store, json: options.json });
984
+ });
985
+ versionsProgram
986
+ .command('show')
987
+ .description('Show version metadata (by number, tag, or "latest")')
988
+ .argument('<version>', 'Version number, tag, or "latest"')
989
+ .option('--store <path>', 'Version store directory', '.manifest-versions')
990
+ .option('--json', 'JSON output', false)
991
+ .action(async (version, options = {}) => {
992
+ await versionsShowCommand(version, { store: options.store, json: options.json });
993
+ });
994
+ versionsProgram
995
+ .command('save')
996
+ .description('Compile and save a new IR snapshot')
997
+ .argument('[source]', 'Path to .manifest source file')
998
+ .option('--store <path>', 'Version store directory', '.manifest-versions')
999
+ .option('--tag <tag>', 'Semantic version tag (e.g. 1.0.0)')
1000
+ .option('--auto-tag', 'Auto-increment semver from previous version', false)
1001
+ .option('--label <text>', 'Human-readable label for this version')
1002
+ .action(async (source, options = {}) => {
1003
+ await versionsSaveCommand(source, {
1004
+ store: options.store,
1005
+ tag: options.tag,
1006
+ autoTag: options.autoTag,
1007
+ label: options.label,
1008
+ });
1009
+ });
1010
+ versionsProgram
1011
+ .command('diff')
1012
+ .description('Compare two saved IR versions')
1013
+ .argument('<from>', 'Source version (number, tag, or "latest")')
1014
+ .argument('<to>', 'Target version (number, tag, or "latest")')
1015
+ .option('--store <path>', 'Version store directory', '.manifest-versions')
1016
+ .option('--json', 'JSON output', false)
1017
+ .option('--breaking', 'Include breaking change analysis', false)
1018
+ .option('--sql', 'Include migration SQL preview', false)
1019
+ .action(async (from, to, options = {}) => {
1020
+ await versionsDiffCommand(from, to, {
1021
+ store: options.store,
1022
+ json: options.json,
1023
+ breaking: options.breaking,
1024
+ sql: options.sql,
1025
+ });
1026
+ });
1027
+ versionsProgram
1028
+ .command('changelog')
1029
+ .description('Generate changelog between two versions')
1030
+ .argument('[from]', 'Source version (default: previous)')
1031
+ .argument('[to]', 'Target version (default: latest)')
1032
+ .option('--store <path>', 'Version store directory', '.manifest-versions')
1033
+ .option('--json', 'JSON output', false)
1034
+ .action(async (from, to, options = {}) => {
1035
+ await versionsChangelogCommand(from, to, { store: options.store, json: options.json });
1036
+ });
1037
+ versionsProgram
1038
+ .command('tag')
1039
+ .description('Apply a semantic version tag to a saved version')
1040
+ .argument('<version>', 'Version number or "latest"')
1041
+ .argument('<tag>', 'Semantic version tag (e.g. 1.0.0)')
1042
+ .option('--store <path>', 'Version store directory', '.manifest-versions')
1043
+ .action(async (version, tag, options = {}) => {
1044
+ await versionsTagCommand(version, tag, { store: options.store });
1045
+ });
1046
+ versionsProgram
1047
+ .command('rollback')
1048
+ .description('Output a previous IR snapshot')
1049
+ .argument('<version>', 'Version number, tag, or "latest"')
1050
+ .option('--store <path>', 'Version store directory', '.manifest-versions')
1051
+ .option('-o, --output <path>', 'Write IR to file instead of stdout')
1052
+ .action(async (version, options = {}) => {
1053
+ await versionsRollbackCommand(version, { store: options.store, output: options.output });
1054
+ });
1055
+ versionsProgram
1056
+ .command('verify')
1057
+ .description('Verify IR integrity via SHA-256 hash comparison')
1058
+ .argument('[version]', 'Version to verify (default: latest)')
1059
+ .option('--store <path>', 'Version store directory', '.manifest-versions')
1060
+ .option('--json', 'JSON output', false)
1061
+ .option('--all', 'Verify all saved versions', false)
1062
+ .action(async (version, options = {}) => {
1063
+ await versionsVerifyCommand(version, { store: options.store, json: options.json, all: options.all });
1064
+ });
1065
+ /**
1066
+ * manifest plugins
1067
+ *
1068
+ * List and inspect loaded plugins from manifest.config.yaml.
1069
+ */
1070
+ const pluginsProgram = program
1071
+ .command('plugins')
1072
+ .description('List and inspect Manifest plugins');
1073
+ pluginsProgram
1074
+ .command('list')
1075
+ .description('List plugins declared in manifest.config')
1076
+ .option('--json', 'JSON output', false)
1077
+ .action(async (options = {}) => {
1078
+ const config = (await getConfig()) ?? {};
1079
+ const pluginDecls = config.plugins ?? [];
1080
+ if (pluginDecls.length === 0) {
1081
+ if (options.json) {
1082
+ console.log(JSON.stringify({ plugins: [], message: 'No plugins declared in manifest.config' }, null, 2));
1083
+ }
1084
+ else {
1085
+ console.log(chalk.gray('No plugins declared in manifest.config'));
1086
+ }
1087
+ return;
1088
+ }
1089
+ const summary = pluginDecls.map((p) => ({
1090
+ module: p.module,
1091
+ enabled: p.enabled !== false,
1092
+ hasOptions: !!p.options && Object.keys(p.options).length > 0,
1093
+ }));
1094
+ if (options.json) {
1095
+ console.log(JSON.stringify({ plugins: summary }, null, 2));
1096
+ }
1097
+ else {
1098
+ console.log(chalk.bold('Declared plugins:\n'));
1099
+ for (const p of summary) {
1100
+ const status = p.enabled ? chalk.green('enabled') : chalk.red('disabled');
1101
+ const opts = p.hasOptions ? chalk.gray(' (with options)') : '';
1102
+ console.log(` ${chalk.cyan(p.module)} ${status}${opts}`);
1103
+ }
1104
+ console.log(`\n Total: ${summary.length} plugin(s)`);
1105
+ }
1106
+ });
1107
+ /**
1108
+ * Run the CLI
1109
+ *
1110
+ * This function is exported so it can be called from the bin file.
1111
+ */
1112
+ export async function runCli() {
1113
+ await program.parseAsync(process.argv);
1114
+ }
1115
+ function normalizeForComparison(path) {
1116
+ const normalizedPath = normalize(path);
1117
+ return process.platform === 'win32' ? normalizedPath.toLowerCase() : normalizedPath;
1118
+ }
1119
+ async function resolveRealPath(inputPath) {
1120
+ try {
1121
+ return await realpath(inputPath);
1122
+ }
1123
+ catch {
1124
+ return undefined;
1125
+ }
1126
+ }
1127
+ async function isDirectExecution() {
1128
+ const modulePath = await resolveRealPath(fileURLToPath(import.meta.url));
1129
+ const argvEntry = process.argv[1];
1130
+ if (!modulePath) {
1131
+ return false;
1132
+ }
1133
+ if (argvEntry) {
1134
+ const argvResolvedPath = resolve(argvEntry);
1135
+ const argvPath = await resolveRealPath(argvResolvedPath);
1136
+ if (argvPath) {
1137
+ return normalizeForComparison(modulePath) === normalizeForComparison(argvPath);
1138
+ }
1139
+ // Fallback for shim/symlink bin paths that cannot be resolved.
1140
+ const normalizedArgv = normalizeForComparison(argvResolvedPath);
1141
+ if (normalizedArgv.includes('manifest') || normalizedArgv.endsWith('index.js')) {
1142
+ return true;
1143
+ }
1144
+ // ESM equivalent of "module is main".
1145
+ if (import.meta.url === pathToFileURL(argvResolvedPath).href) {
1146
+ return true;
1147
+ }
1148
+ }
1149
+ return false;
1150
+ }
1151
+ void isDirectExecution().then((shouldRun) => {
1152
+ if (shouldRun) {
1153
+ runCli().catch((error) => {
1154
+ console.error('CLI error:', error);
1155
+ process.exit(1);
1156
+ });
1157
+ }
1158
+ });
1159
+ //# sourceMappingURL=index.js.map