@plures/praxis 1.0.3 → 1.1.1

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 (530) hide show
  1. package/FRAMEWORK.md +55 -5
  2. package/README.md +162 -375
  3. package/core/codegen/docs-generator.ts +5 -2
  4. package/core/codegen/index.ts +1 -1
  5. package/core/db-adapter/index.ts +2 -2
  6. package/core/db-adapter/sync-engine.ts +17 -6
  7. package/core/logic-engine/engine.ts +1 -1
  8. package/core/logic-engine/index.ts +2 -2
  9. package/core/logic-engine/protocol.ts +1 -1
  10. package/core/logic-engine/psf-adapter.ts +8 -4
  11. package/core/logic-engine/rules.ts +1 -1
  12. package/core/schema-engine/compiler.ts +53 -11
  13. package/core/schema-engine/generator.ts +17 -7
  14. package/core/schema-engine/index.ts +2 -2
  15. package/core/schema-engine/psf.ts +12 -3
  16. package/core/schema-engine/types.ts +3 -11
  17. package/core/schema-engine/validator.ts +112 -22
  18. package/dist/browser/engine-BjdqxeXG.d.ts +333 -0
  19. package/dist/browser/index.d.ts +3004 -0
  20. package/dist/browser/index.js +2892 -0
  21. package/dist/{src → browser}/integrations/svelte.d.ts +19 -17
  22. package/dist/browser/integrations/svelte.js +298 -0
  23. package/dist/node/auth-STARLY7I.js +207 -0
  24. package/dist/node/build-Y7OT5VBF.js +144 -0
  25. package/dist/node/canvas-UERZHJYW.js +362 -0
  26. package/dist/node/chunk-DSDC2JWZ.js +256 -0
  27. package/dist/node/chunk-FXQZXAWF.js +175 -0
  28. package/dist/node/chunk-N5Y37EUV.js +202 -0
  29. package/dist/node/chunk-QGM4M3NI.js +37 -0
  30. package/dist/node/chunk-RJMWCNHR.js +175 -0
  31. package/dist/node/chunk-SRM3OPPM.js +404 -0
  32. package/dist/node/chunk-UATVJBNV.js +175 -0
  33. package/dist/node/chunk-UY7YEBE2.js +159 -0
  34. package/dist/node/chunk-XCY2VIFX.js +143 -0
  35. package/dist/node/chunk-YXH4Y7ZZ.js +349 -0
  36. package/dist/node/cli/index.cjs +215139 -0
  37. package/dist/node/cli/index.d.cts +1 -0
  38. package/dist/node/cli/index.d.ts +1 -0
  39. package/dist/node/cli/index.js +690 -0
  40. package/dist/node/cloud/index.cjs +1043 -0
  41. package/dist/node/cloud/index.d.cts +864 -0
  42. package/dist/node/cloud/index.d.ts +864 -0
  43. package/dist/node/cloud/index.js +456 -0
  44. package/dist/node/cloud-AXOK4PSN.js +212 -0
  45. package/dist/node/component.cjs +374 -0
  46. package/dist/node/component.d.cts +125 -0
  47. package/dist/{src/core/component/generator.d.ts → node/component.d.ts} +11 -8
  48. package/dist/node/component.js +9 -0
  49. package/dist/node/components/index.cjs +216 -0
  50. package/dist/node/components/index.d.cts +43 -0
  51. package/dist/{src → node}/components/index.d.ts +8 -8
  52. package/dist/node/components/index.js +7 -0
  53. package/dist/node/create-TRLSVCNQ.js +584 -0
  54. package/dist/node/dev-PMJZUYGE.js +65 -0
  55. package/dist/node/engine-1iqLe6_P.d.ts +214 -0
  56. package/dist/node/engine-CVJobhHm.d.cts +214 -0
  57. package/dist/node/index.cjs +3247 -0
  58. package/dist/node/index.d.cts +2579 -0
  59. package/dist/node/index.d.ts +2579 -0
  60. package/dist/node/index.js +2098 -0
  61. package/dist/node/integrations/svelte.cjs +330 -0
  62. package/dist/node/integrations/svelte.d.cts +309 -0
  63. package/dist/node/integrations/svelte.d.ts +309 -0
  64. package/dist/node/integrations/svelte.js +300 -0
  65. package/dist/node/orchestrate-737TCL5H.js +127 -0
  66. package/dist/{src/core/protocol.d.ts → node/protocol-Qek7ebBl.d.cts} +11 -10
  67. package/dist/node/protocol-Qek7ebBl.d.ts +122 -0
  68. package/dist/node/schema.cjs +200 -0
  69. package/dist/{src/core/schema/types.d.ts → node/schema.d.cts} +30 -29
  70. package/dist/node/schema.d.ts +371 -0
  71. package/dist/node/schema.js +9 -0
  72. package/dist/{src/runtime/terminal-adapter.d.ts → node/terminal-adapter-07HGftGQ.d.ts} +86 -11
  73. package/dist/node/terminal-adapter-XLtCjjb_.d.cts +231 -0
  74. package/dist/node/verify-QRYKRIDU.js +210960 -0
  75. package/docs/MONETIZATION.md +21 -16
  76. package/docs/REACTIVE_REDESIGN.md +132 -0
  77. package/docs/README.md +47 -36
  78. package/docs/SVELTE_INTEGRATION_STRATEGY.md +68 -0
  79. package/docs/TERMINAL_NODE.md +27 -24
  80. package/docs/core/building-extensions.md +58 -61
  81. package/docs/core/cli-usage.md +59 -59
  82. package/docs/core/code-canvas-sync.md +28 -16
  83. package/docs/core/logic-engine.md +77 -82
  84. package/docs/core/pluresdb-integration.md +29 -39
  85. package/docs/core/schema-model.md +66 -52
  86. package/docs/core/ui-generation.md +57 -49
  87. package/docs/core/what-is-praxis.md +32 -15
  88. package/docs/guides/canvas.md +21 -5
  89. package/docs/guides/getting-started.md +13 -7
  90. package/docs/guides/history-state-pattern.md +65 -51
  91. package/docs/guides/orchestration.md +46 -32
  92. package/docs/guides/parallel-state-pattern.md +56 -72
  93. package/docs/guides/svelte-integration.md +45 -53
  94. package/docs/tutorials/README.md +16 -0
  95. package/docs/tutorials/ecommerce-cart.md +177 -95
  96. package/docs/tutorials/first-app.md +26 -41
  97. package/docs/tutorials/form-builder.md +191 -138
  98. package/docs/tutorials/todo-pluresdb.md +71 -69
  99. package/package.json +58 -23
  100. package/src/__tests__/actors.test.ts +68 -68
  101. package/src/__tests__/billing.test.ts +32 -32
  102. package/src/__tests__/canvas-components.test.ts +94 -73
  103. package/src/__tests__/cli-create.test.ts +28 -28
  104. package/src/__tests__/cloud.test.ts +36 -36
  105. package/src/__tests__/code-canvas-integration.test.ts +132 -141
  106. package/src/__tests__/docs-generator.test.ts +3 -9
  107. package/src/__tests__/dsl.test.ts +58 -64
  108. package/src/__tests__/edge-cases.test.ts +106 -108
  109. package/src/__tests__/engine.test.ts +51 -25
  110. package/src/__tests__/generators.test.ts +42 -44
  111. package/src/__tests__/introspection.test.ts +104 -114
  112. package/src/__tests__/pluresdb.test.ts +189 -187
  113. package/src/__tests__/protocol.test.ts +15 -15
  114. package/src/__tests__/provisioning.test.ts +61 -61
  115. package/src/__tests__/schema.test.ts +7 -11
  116. package/src/__tests__/state-docs-integration.test.ts +162 -145
  117. package/src/__tests__/svelte-integration.test.ts +16 -19
  118. package/src/__tests__/tauri-integration.test.ts +149 -147
  119. package/src/__tests__/terminal-node.test.ts +12 -7
  120. package/src/__tests__/unum-integration.test.ts +68 -68
  121. package/src/adapters/cli.ts +21 -15
  122. package/src/cli/commands/auth.ts +82 -78
  123. package/src/cli/commands/build.ts +29 -27
  124. package/src/cli/commands/canvas.ts +338 -127
  125. package/src/cli/commands/cloud.ts +47 -47
  126. package/src/cli/commands/create.ts +59 -47
  127. package/src/cli/commands/dev.ts +12 -12
  128. package/src/cli/commands/generate.ts +29 -40
  129. package/src/cli/commands/orchestrate.ts +24 -24
  130. package/src/cli/commands/verify.ts +7 -8
  131. package/src/cli/index.ts +14 -10
  132. package/src/cloud/README.md +28 -15
  133. package/src/cloud/auth.ts +55 -70
  134. package/src/cloud/billing.ts +59 -58
  135. package/src/cloud/client.ts +29 -35
  136. package/src/cloud/index.ts +19 -40
  137. package/src/cloud/marketplace.ts +69 -78
  138. package/src/cloud/provisioning.ts +42 -51
  139. package/src/cloud/relay/endpoints.ts +30 -34
  140. package/src/cloud/relay/health/index.ts +1 -1
  141. package/src/cloud/relay/stats/index.ts +1 -1
  142. package/src/cloud/relay/sync/index.ts +1 -1
  143. package/src/cloud/relay/usage/index.ts +1 -1
  144. package/src/cloud/sponsors.ts +31 -34
  145. package/src/cloud/types.ts +4 -4
  146. package/src/components/README.md +1 -0
  147. package/src/components/index.ts +3 -4
  148. package/src/core/actors.ts +7 -7
  149. package/src/core/component/generator.ts +10 -28
  150. package/src/core/engine.ts +51 -24
  151. package/src/core/introspection.ts +37 -35
  152. package/src/core/logic/generator.ts +62 -62
  153. package/src/core/pluresdb/adapter.ts +8 -8
  154. package/src/core/pluresdb/generator.ts +39 -35
  155. package/src/core/pluresdb/index.ts +9 -12
  156. package/src/core/pluresdb/schema-registry.ts +22 -25
  157. package/src/core/pluresdb/store.ts +57 -57
  158. package/src/core/protocol.ts +14 -14
  159. package/src/core/reactive-engine.svelte.ts +65 -0
  160. package/src/core/reactive-engine.ts +67 -0
  161. package/src/core/rules.ts +4 -4
  162. package/src/core/schema/loader.common.ts +150 -0
  163. package/src/core/schema/loader.ts +19 -149
  164. package/src/core/schema/normalize.ts +34 -51
  165. package/src/core/schema/types.ts +47 -11
  166. package/src/dsl/index.ts +8 -8
  167. package/src/dsl.ts +11 -17
  168. package/src/examples/advanced-todo/README.md +58 -40
  169. package/src/examples/advanced-todo/index.ts +3 -3
  170. package/src/examples/auth-basic/index.ts +30 -30
  171. package/src/examples/cart/index.ts +50 -50
  172. package/src/examples/hero-ecommerce/index.ts +130 -157
  173. package/src/examples/svelte-counter/index.ts +22 -26
  174. package/src/flows.ts +6 -17
  175. package/src/index.browser.ts +204 -0
  176. package/src/index.ts +37 -42
  177. package/src/integrations/code-canvas.ts +237 -193
  178. package/src/integrations/pluresdb.ts +55 -35
  179. package/src/integrations/state-docs.ts +104 -104
  180. package/src/integrations/svelte.ts +35 -35
  181. package/src/integrations/tauri.ts +75 -73
  182. package/src/integrations/unum.ts +68 -61
  183. package/src/registry.ts +7 -14
  184. package/src/runtime/terminal-adapter.ts +31 -26
  185. package/src/step.ts +10 -16
  186. package/src/types.ts +1 -1
  187. package/templates/basic-app/README.md +6 -9
  188. package/templates/fullstack-app/README.md +10 -0
  189. package/dist/core/codegen/docs-generator.d.ts +0 -123
  190. package/dist/core/codegen/docs-generator.d.ts.map +0 -1
  191. package/dist/core/codegen/docs-generator.js +0 -674
  192. package/dist/core/codegen/docs-generator.js.map +0 -1
  193. package/dist/core/codegen/index.d.ts +0 -11
  194. package/dist/core/codegen/index.d.ts.map +0 -1
  195. package/dist/core/codegen/index.js +0 -13
  196. package/dist/core/codegen/index.js.map +0 -1
  197. package/dist/core/codegen/ts-generator.d.ts +0 -8
  198. package/dist/core/codegen/ts-generator.d.ts.map +0 -1
  199. package/dist/core/codegen/ts-generator.js +0 -8
  200. package/dist/core/codegen/ts-generator.js.map +0 -1
  201. package/dist/core/db-adapter/index.d.ts +0 -18
  202. package/dist/core/db-adapter/index.d.ts.map +0 -1
  203. package/dist/core/db-adapter/index.js +0 -23
  204. package/dist/core/db-adapter/index.js.map +0 -1
  205. package/dist/core/db-adapter/sync-engine.d.ts +0 -180
  206. package/dist/core/db-adapter/sync-engine.d.ts.map +0 -1
  207. package/dist/core/db-adapter/sync-engine.js +0 -342
  208. package/dist/core/db-adapter/sync-engine.js.map +0 -1
  209. package/dist/core/logic-engine/engine.d.ts +0 -8
  210. package/dist/core/logic-engine/engine.d.ts.map +0 -1
  211. package/dist/core/logic-engine/engine.js +0 -8
  212. package/dist/core/logic-engine/engine.js.map +0 -1
  213. package/dist/core/logic-engine/index.d.ts +0 -16
  214. package/dist/core/logic-engine/index.d.ts.map +0 -1
  215. package/dist/core/logic-engine/index.js +0 -16
  216. package/dist/core/logic-engine/index.js.map +0 -1
  217. package/dist/core/logic-engine/protocol.d.ts +0 -7
  218. package/dist/core/logic-engine/protocol.d.ts.map +0 -1
  219. package/dist/core/logic-engine/protocol.js +0 -7
  220. package/dist/core/logic-engine/protocol.js.map +0 -1
  221. package/dist/core/logic-engine/psf-adapter.d.ts +0 -88
  222. package/dist/core/logic-engine/psf-adapter.d.ts.map +0 -1
  223. package/dist/core/logic-engine/psf-adapter.js +0 -207
  224. package/dist/core/logic-engine/psf-adapter.js.map +0 -1
  225. package/dist/core/logic-engine/rules.d.ts +0 -7
  226. package/dist/core/logic-engine/rules.d.ts.map +0 -1
  227. package/dist/core/logic-engine/rules.js +0 -7
  228. package/dist/core/logic-engine/rules.js.map +0 -1
  229. package/dist/core/schema-engine/compiler.d.ts +0 -198
  230. package/dist/core/schema-engine/compiler.d.ts.map +0 -1
  231. package/dist/core/schema-engine/compiler.js +0 -262
  232. package/dist/core/schema-engine/compiler.js.map +0 -1
  233. package/dist/core/schema-engine/generator.d.ts +0 -115
  234. package/dist/core/schema-engine/generator.d.ts.map +0 -1
  235. package/dist/core/schema-engine/generator.js +0 -506
  236. package/dist/core/schema-engine/generator.js.map +0 -1
  237. package/dist/core/schema-engine/index.d.ts +0 -18
  238. package/dist/core/schema-engine/index.d.ts.map +0 -1
  239. package/dist/core/schema-engine/index.js +0 -18
  240. package/dist/core/schema-engine/index.js.map +0 -1
  241. package/dist/core/schema-engine/psf.d.ts +0 -612
  242. package/dist/core/schema-engine/psf.d.ts.map +0 -1
  243. package/dist/core/schema-engine/psf.js +0 -45
  244. package/dist/core/schema-engine/psf.js.map +0 -1
  245. package/dist/core/schema-engine/types.d.ts +0 -10
  246. package/dist/core/schema-engine/types.d.ts.map +0 -1
  247. package/dist/core/schema-engine/types.js +0 -7
  248. package/dist/core/schema-engine/types.js.map +0 -1
  249. package/dist/core/schema-engine/validator.d.ts +0 -140
  250. package/dist/core/schema-engine/validator.d.ts.map +0 -1
  251. package/dist/core/schema-engine/validator.js +0 -407
  252. package/dist/core/schema-engine/validator.js.map +0 -1
  253. package/dist/src/adapters/cli.d.ts +0 -43
  254. package/dist/src/adapters/cli.d.ts.map +0 -1
  255. package/dist/src/adapters/cli.js +0 -126
  256. package/dist/src/adapters/cli.js.map +0 -1
  257. package/dist/src/cli/commands/auth.d.ts +0 -26
  258. package/dist/src/cli/commands/auth.d.ts.map +0 -1
  259. package/dist/src/cli/commands/auth.js +0 -233
  260. package/dist/src/cli/commands/auth.js.map +0 -1
  261. package/dist/src/cli/commands/build.d.ts +0 -23
  262. package/dist/src/cli/commands/build.d.ts.map +0 -1
  263. package/dist/src/cli/commands/build.js +0 -162
  264. package/dist/src/cli/commands/build.js.map +0 -1
  265. package/dist/src/cli/commands/canvas.d.ts +0 -23
  266. package/dist/src/cli/commands/canvas.d.ts.map +0 -1
  267. package/dist/src/cli/commands/canvas.js +0 -215
  268. package/dist/src/cli/commands/canvas.js.map +0 -1
  269. package/dist/src/cli/commands/cloud.d.ts +0 -27
  270. package/dist/src/cli/commands/cloud.d.ts.map +0 -1
  271. package/dist/src/cli/commands/cloud.js +0 -232
  272. package/dist/src/cli/commands/cloud.js.map +0 -1
  273. package/dist/src/cli/commands/create.d.ts +0 -21
  274. package/dist/src/cli/commands/create.d.ts.map +0 -1
  275. package/dist/src/cli/commands/create.js +0 -621
  276. package/dist/src/cli/commands/create.js.map +0 -1
  277. package/dist/src/cli/commands/dev.d.ts +0 -21
  278. package/dist/src/cli/commands/dev.d.ts.map +0 -1
  279. package/dist/src/cli/commands/dev.js +0 -71
  280. package/dist/src/cli/commands/dev.js.map +0 -1
  281. package/dist/src/cli/commands/generate.d.ts +0 -25
  282. package/dist/src/cli/commands/generate.d.ts.map +0 -1
  283. package/dist/src/cli/commands/generate.js +0 -168
  284. package/dist/src/cli/commands/generate.js.map +0 -1
  285. package/dist/src/cli/commands/orchestrate.d.ts +0 -44
  286. package/dist/src/cli/commands/orchestrate.d.ts.map +0 -1
  287. package/dist/src/cli/commands/orchestrate.js +0 -150
  288. package/dist/src/cli/commands/orchestrate.js.map +0 -1
  289. package/dist/src/cli/commands/verify.d.ts +0 -10
  290. package/dist/src/cli/commands/verify.d.ts.map +0 -1
  291. package/dist/src/cli/commands/verify.js +0 -39
  292. package/dist/src/cli/commands/verify.js.map +0 -1
  293. package/dist/src/cli/index.d.ts +0 -8
  294. package/dist/src/cli/index.d.ts.map +0 -1
  295. package/dist/src/cli/index.js +0 -226
  296. package/dist/src/cli/index.js.map +0 -1
  297. package/dist/src/cloud/auth.d.ts +0 -51
  298. package/dist/src/cloud/auth.d.ts.map +0 -1
  299. package/dist/src/cloud/auth.js +0 -194
  300. package/dist/src/cloud/auth.js.map +0 -1
  301. package/dist/src/cloud/billing.d.ts +0 -184
  302. package/dist/src/cloud/billing.d.ts.map +0 -1
  303. package/dist/src/cloud/billing.js +0 -179
  304. package/dist/src/cloud/billing.js.map +0 -1
  305. package/dist/src/cloud/client.d.ts +0 -39
  306. package/dist/src/cloud/client.d.ts.map +0 -1
  307. package/dist/src/cloud/client.js +0 -176
  308. package/dist/src/cloud/client.js.map +0 -1
  309. package/dist/src/cloud/index.d.ts +0 -44
  310. package/dist/src/cloud/index.d.ts.map +0 -1
  311. package/dist/src/cloud/index.js +0 -44
  312. package/dist/src/cloud/index.js.map +0 -1
  313. package/dist/src/cloud/marketplace.d.ts +0 -166
  314. package/dist/src/cloud/marketplace.d.ts.map +0 -1
  315. package/dist/src/cloud/marketplace.js +0 -159
  316. package/dist/src/cloud/marketplace.js.map +0 -1
  317. package/dist/src/cloud/provisioning.d.ts +0 -110
  318. package/dist/src/cloud/provisioning.d.ts.map +0 -1
  319. package/dist/src/cloud/provisioning.js +0 -148
  320. package/dist/src/cloud/provisioning.js.map +0 -1
  321. package/dist/src/cloud/relay/endpoints.d.ts +0 -62
  322. package/dist/src/cloud/relay/endpoints.d.ts.map +0 -1
  323. package/dist/src/cloud/relay/endpoints.js +0 -217
  324. package/dist/src/cloud/relay/endpoints.js.map +0 -1
  325. package/dist/src/cloud/relay/health/index.d.ts +0 -5
  326. package/dist/src/cloud/relay/health/index.d.ts.map +0 -1
  327. package/dist/src/cloud/relay/health/index.js +0 -9
  328. package/dist/src/cloud/relay/health/index.js.map +0 -1
  329. package/dist/src/cloud/relay/stats/index.d.ts +0 -5
  330. package/dist/src/cloud/relay/stats/index.d.ts.map +0 -1
  331. package/dist/src/cloud/relay/stats/index.js +0 -9
  332. package/dist/src/cloud/relay/stats/index.js.map +0 -1
  333. package/dist/src/cloud/relay/sync/index.d.ts +0 -5
  334. package/dist/src/cloud/relay/sync/index.d.ts.map +0 -1
  335. package/dist/src/cloud/relay/sync/index.js +0 -9
  336. package/dist/src/cloud/relay/sync/index.js.map +0 -1
  337. package/dist/src/cloud/relay/usage/index.d.ts +0 -5
  338. package/dist/src/cloud/relay/usage/index.d.ts.map +0 -1
  339. package/dist/src/cloud/relay/usage/index.js +0 -9
  340. package/dist/src/cloud/relay/usage/index.js.map +0 -1
  341. package/dist/src/cloud/sponsors.d.ts +0 -81
  342. package/dist/src/cloud/sponsors.d.ts.map +0 -1
  343. package/dist/src/cloud/sponsors.js +0 -130
  344. package/dist/src/cloud/sponsors.js.map +0 -1
  345. package/dist/src/cloud/types.d.ts +0 -169
  346. package/dist/src/cloud/types.d.ts.map +0 -1
  347. package/dist/src/cloud/types.js +0 -7
  348. package/dist/src/cloud/types.js.map +0 -1
  349. package/dist/src/components/index.d.ts.map +0 -1
  350. package/dist/src/components/index.js +0 -17
  351. package/dist/src/components/index.js.map +0 -1
  352. package/dist/src/core/actors.d.ts +0 -95
  353. package/dist/src/core/actors.d.ts.map +0 -1
  354. package/dist/src/core/actors.js +0 -158
  355. package/dist/src/core/actors.js.map +0 -1
  356. package/dist/src/core/component/generator.d.ts.map +0 -1
  357. package/dist/src/core/component/generator.js +0 -349
  358. package/dist/src/core/component/generator.js.map +0 -1
  359. package/dist/src/core/engine.d.ts +0 -92
  360. package/dist/src/core/engine.d.ts.map +0 -1
  361. package/dist/src/core/engine.js +0 -199
  362. package/dist/src/core/engine.js.map +0 -1
  363. package/dist/src/core/introspection.d.ts +0 -141
  364. package/dist/src/core/introspection.d.ts.map +0 -1
  365. package/dist/src/core/introspection.js +0 -208
  366. package/dist/src/core/introspection.js.map +0 -1
  367. package/dist/src/core/logic/generator.d.ts +0 -76
  368. package/dist/src/core/logic/generator.d.ts.map +0 -1
  369. package/dist/src/core/logic/generator.js +0 -370
  370. package/dist/src/core/logic/generator.js.map +0 -1
  371. package/dist/src/core/pluresdb/adapter.d.ts +0 -72
  372. package/dist/src/core/pluresdb/adapter.d.ts.map +0 -1
  373. package/dist/src/core/pluresdb/adapter.js +0 -73
  374. package/dist/src/core/pluresdb/adapter.js.map +0 -1
  375. package/dist/src/core/pluresdb/generator.d.ts +0 -58
  376. package/dist/src/core/pluresdb/generator.d.ts.map +0 -1
  377. package/dist/src/core/pluresdb/generator.js +0 -191
  378. package/dist/src/core/pluresdb/generator.js.map +0 -1
  379. package/dist/src/core/pluresdb/index.d.ts +0 -15
  380. package/dist/src/core/pluresdb/index.d.ts.map +0 -1
  381. package/dist/src/core/pluresdb/index.js +0 -11
  382. package/dist/src/core/pluresdb/index.js.map +0 -1
  383. package/dist/src/core/pluresdb/schema-registry.d.ts +0 -104
  384. package/dist/src/core/pluresdb/schema-registry.d.ts.map +0 -1
  385. package/dist/src/core/pluresdb/schema-registry.js +0 -130
  386. package/dist/src/core/pluresdb/schema-registry.js.map +0 -1
  387. package/dist/src/core/pluresdb/store.d.ts +0 -199
  388. package/dist/src/core/pluresdb/store.d.ts.map +0 -1
  389. package/dist/src/core/pluresdb/store.js +0 -344
  390. package/dist/src/core/pluresdb/store.js.map +0 -1
  391. package/dist/src/core/protocol.d.ts.map +0 -1
  392. package/dist/src/core/protocol.js +0 -46
  393. package/dist/src/core/protocol.js.map +0 -1
  394. package/dist/src/core/rules.d.ts +0 -120
  395. package/dist/src/core/rules.d.ts.map +0 -1
  396. package/dist/src/core/rules.js +0 -81
  397. package/dist/src/core/rules.js.map +0 -1
  398. package/dist/src/core/schema/loader.d.ts +0 -47
  399. package/dist/src/core/schema/loader.d.ts.map +0 -1
  400. package/dist/src/core/schema/loader.js +0 -189
  401. package/dist/src/core/schema/loader.js.map +0 -1
  402. package/dist/src/core/schema/normalize.d.ts +0 -72
  403. package/dist/src/core/schema/normalize.d.ts.map +0 -1
  404. package/dist/src/core/schema/normalize.js +0 -190
  405. package/dist/src/core/schema/normalize.js.map +0 -1
  406. package/dist/src/core/schema/types.d.ts.map +0 -1
  407. package/dist/src/core/schema/types.js +0 -161
  408. package/dist/src/core/schema/types.js.map +0 -1
  409. package/dist/src/dsl/index.d.ts +0 -152
  410. package/dist/src/dsl/index.d.ts.map +0 -1
  411. package/dist/src/dsl/index.js +0 -132
  412. package/dist/src/dsl/index.js.map +0 -1
  413. package/dist/src/dsl.d.ts +0 -124
  414. package/dist/src/dsl.d.ts.map +0 -1
  415. package/dist/src/dsl.js +0 -130
  416. package/dist/src/dsl.js.map +0 -1
  417. package/dist/src/examples/advanced-todo/index.d.ts +0 -55
  418. package/dist/src/examples/advanced-todo/index.d.ts.map +0 -1
  419. package/dist/src/examples/advanced-todo/index.js +0 -222
  420. package/dist/src/examples/advanced-todo/index.js.map +0 -1
  421. package/dist/src/examples/auth-basic/index.d.ts +0 -17
  422. package/dist/src/examples/auth-basic/index.d.ts.map +0 -1
  423. package/dist/src/examples/auth-basic/index.js +0 -122
  424. package/dist/src/examples/auth-basic/index.js.map +0 -1
  425. package/dist/src/examples/cart/index.d.ts +0 -19
  426. package/dist/src/examples/cart/index.d.ts.map +0 -1
  427. package/dist/src/examples/cart/index.js +0 -202
  428. package/dist/src/examples/cart/index.js.map +0 -1
  429. package/dist/src/examples/hero-ecommerce/index.d.ts +0 -39
  430. package/dist/src/examples/hero-ecommerce/index.d.ts.map +0 -1
  431. package/dist/src/examples/hero-ecommerce/index.js +0 -506
  432. package/dist/src/examples/hero-ecommerce/index.js.map +0 -1
  433. package/dist/src/examples/svelte-counter/index.d.ts +0 -31
  434. package/dist/src/examples/svelte-counter/index.d.ts.map +0 -1
  435. package/dist/src/examples/svelte-counter/index.js +0 -123
  436. package/dist/src/examples/svelte-counter/index.js.map +0 -1
  437. package/dist/src/flows.d.ts +0 -125
  438. package/dist/src/flows.d.ts.map +0 -1
  439. package/dist/src/flows.js +0 -160
  440. package/dist/src/flows.js.map +0 -1
  441. package/dist/src/index.d.ts +0 -77
  442. package/dist/src/index.d.ts.map +0 -1
  443. package/dist/src/index.js +0 -64
  444. package/dist/src/index.js.map +0 -1
  445. package/dist/src/integrations/code-canvas.d.ts +0 -265
  446. package/dist/src/integrations/code-canvas.d.ts.map +0 -1
  447. package/dist/src/integrations/code-canvas.js +0 -451
  448. package/dist/src/integrations/code-canvas.js.map +0 -1
  449. package/dist/src/integrations/pluresdb.d.ts +0 -117
  450. package/dist/src/integrations/pluresdb.d.ts.map +0 -1
  451. package/dist/src/integrations/pluresdb.js +0 -117
  452. package/dist/src/integrations/pluresdb.js.map +0 -1
  453. package/dist/src/integrations/state-docs.d.ts +0 -191
  454. package/dist/src/integrations/state-docs.d.ts.map +0 -1
  455. package/dist/src/integrations/state-docs.js +0 -515
  456. package/dist/src/integrations/state-docs.js.map +0 -1
  457. package/dist/src/integrations/svelte.d.ts.map +0 -1
  458. package/dist/src/integrations/svelte.js +0 -447
  459. package/dist/src/integrations/svelte.js.map +0 -1
  460. package/dist/src/integrations/tauri.d.ts +0 -360
  461. package/dist/src/integrations/tauri.d.ts.map +0 -1
  462. package/dist/src/integrations/tauri.js +0 -278
  463. package/dist/src/integrations/tauri.js.map +0 -1
  464. package/dist/src/integrations/unum.d.ts +0 -159
  465. package/dist/src/integrations/unum.d.ts.map +0 -1
  466. package/dist/src/integrations/unum.js +0 -240
  467. package/dist/src/integrations/unum.js.map +0 -1
  468. package/dist/src/registry.d.ts +0 -94
  469. package/dist/src/registry.d.ts.map +0 -1
  470. package/dist/src/registry.js +0 -181
  471. package/dist/src/registry.js.map +0 -1
  472. package/dist/src/runtime/terminal-adapter.d.ts.map +0 -1
  473. package/dist/src/runtime/terminal-adapter.js +0 -239
  474. package/dist/src/runtime/terminal-adapter.js.map +0 -1
  475. package/dist/src/step.d.ts +0 -34
  476. package/dist/src/step.d.ts.map +0 -1
  477. package/dist/src/step.js +0 -111
  478. package/dist/src/step.js.map +0 -1
  479. package/dist/src/types.d.ts +0 -63
  480. package/dist/src/types.d.ts.map +0 -1
  481. package/dist/src/types.js +0 -6
  482. package/dist/src/types.js.map +0 -1
  483. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts +0 -8
  484. package/dist/tools/ast-analyzer/src/ast-analyzer.d.ts.map +0 -1
  485. package/dist/tools/ast-analyzer/src/ast-analyzer.js +0 -119
  486. package/dist/tools/ast-analyzer/src/ast-analyzer.js.map +0 -1
  487. package/dist/tools/cli/commands/index.d.ts +0 -7
  488. package/dist/tools/cli/commands/index.d.ts.map +0 -1
  489. package/dist/tools/cli/commands/index.js +0 -7
  490. package/dist/tools/cli/commands/index.js.map +0 -1
  491. package/dist/tools/cli/index.d.ts +0 -8
  492. package/dist/tools/cli/index.d.ts.map +0 -1
  493. package/dist/tools/cli/index.js +0 -9
  494. package/dist/tools/cli/index.js.map +0 -1
  495. package/dist/tools/watcher/index.d.ts +0 -105
  496. package/dist/tools/watcher/index.d.ts.map +0 -1
  497. package/dist/tools/watcher/index.js +0 -213
  498. package/dist/tools/watcher/index.js.map +0 -1
  499. package/dist/ui/canvas/canvas-projection.d.ts +0 -78
  500. package/dist/ui/canvas/canvas-projection.d.ts.map +0 -1
  501. package/dist/ui/canvas/canvas-projection.js +0 -416
  502. package/dist/ui/canvas/canvas-projection.js.map +0 -1
  503. package/dist/ui/canvas/canvas-state.d.ts +0 -200
  504. package/dist/ui/canvas/canvas-state.d.ts.map +0 -1
  505. package/dist/ui/canvas/canvas-state.js +0 -464
  506. package/dist/ui/canvas/canvas-state.js.map +0 -1
  507. package/dist/ui/canvas/components/index.d.ts +0 -95
  508. package/dist/ui/canvas/components/index.d.ts.map +0 -1
  509. package/dist/ui/canvas/components/index.js +0 -19
  510. package/dist/ui/canvas/components/index.js.map +0 -1
  511. package/dist/ui/canvas/index.d.ts +0 -32
  512. package/dist/ui/canvas/index.d.ts.map +0 -1
  513. package/dist/ui/canvas/index.js +0 -32
  514. package/dist/ui/canvas/index.js.map +0 -1
  515. package/dist/ui/canvas-inspector/src/server.d.ts +0 -2
  516. package/dist/ui/canvas-inspector/src/server.d.ts.map +0 -1
  517. package/dist/ui/canvas-inspector/src/server.js +0 -248
  518. package/dist/ui/canvas-inspector/src/server.js.map +0 -1
  519. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts +0 -5
  520. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.d.ts.map +0 -1
  521. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js +0 -58
  522. package/dist/ui/canvas-inspector/src/verify-fsm-implementation.js.map +0 -1
  523. package/dist/ui/svelte-generator/index.d.ts +0 -9
  524. package/dist/ui/svelte-generator/index.d.ts.map +0 -1
  525. package/dist/ui/svelte-generator/index.js +0 -11
  526. package/dist/ui/svelte-generator/index.js.map +0 -1
  527. package/dist/ui/svelte-generator/psf-generator.d.ts +0 -128
  528. package/dist/ui/svelte-generator/psf-generator.d.ts.map +0 -1
  529. package/dist/ui/svelte-generator/psf-generator.js +0 -506
  530. package/dist/ui/svelte-generator/psf-generator.js.map +0 -1
@@ -2,25 +2,21 @@
2
2
  * Introspection tests
3
3
  */
4
4
 
5
- import { describe, it, expect } from "vitest";
6
- import { PraxisRegistry } from "../core/rules.js";
7
- import { defineRule, defineConstraint, defineModule } from "../dsl/index.js";
8
- import { RegistryIntrospector, createIntrospector } from "../core/introspection.js";
9
- import { PRAXIS_PROTOCOL_VERSION } from "../core/protocol.js";
10
-
11
- describe("Registry Introspection", () => {
12
- describe("RegistryIntrospector", () => {
13
- it("should get basic statistics", () => {
5
+ import { describe, it, expect } from 'vitest';
6
+ import { PraxisRegistry } from '../core/rules.js';
7
+ import { defineRule, defineConstraint, defineModule } from '../dsl/index.js';
8
+ import { RegistryIntrospector, createIntrospector } from '../core/introspection.js';
9
+ import { PRAXIS_PROTOCOL_VERSION } from '../core/protocol.js';
10
+
11
+ describe('Registry Introspection', () => {
12
+ describe('RegistryIntrospector', () => {
13
+ it('should get basic statistics', () => {
14
14
  const registry = new PraxisRegistry<{ value: number }>();
15
15
 
16
- registry.registerRule(
17
- defineRule({ id: "rule1", description: "Rule 1", impl: () => [] })
18
- );
19
- registry.registerRule(
20
- defineRule({ id: "rule2", description: "Rule 2", impl: () => [] })
21
- );
16
+ registry.registerRule(defineRule({ id: 'rule1', description: 'Rule 1', impl: () => [] }));
17
+ registry.registerRule(defineRule({ id: 'rule2', description: 'Rule 2', impl: () => [] }));
22
18
  registry.registerConstraint(
23
- defineConstraint({ id: "c1", description: "Constraint 1", impl: () => true })
19
+ defineConstraint({ id: 'c1', description: 'Constraint 1', impl: () => true })
24
20
  );
25
21
 
26
22
  const introspector = new RegistryIntrospector(registry);
@@ -28,27 +24,27 @@ describe("Registry Introspection", () => {
28
24
 
29
25
  expect(stats.ruleCount).toBe(2);
30
26
  expect(stats.constraintCount).toBe(1);
31
- expect(stats.rulesById).toEqual(["rule1", "rule2"]);
32
- expect(stats.constraintsById).toEqual(["c1"]);
27
+ expect(stats.rulesById).toEqual(['rule1', 'rule2']);
28
+ expect(stats.constraintsById).toEqual(['c1']);
33
29
  });
34
30
 
35
- it("should generate schema", () => {
31
+ it('should generate schema', () => {
36
32
  const registry = new PraxisRegistry<{ value: number }>();
37
33
 
38
34
  registry.registerRule(
39
35
  defineRule({
40
- id: "rule1",
41
- description: "Test rule",
36
+ id: 'rule1',
37
+ description: 'Test rule',
42
38
  impl: () => [],
43
- meta: { category: "test" },
39
+ meta: { category: 'test' },
44
40
  })
45
41
  );
46
42
  registry.registerConstraint(
47
43
  defineConstraint({
48
- id: "c1",
49
- description: "Test constraint",
44
+ id: 'c1',
45
+ description: 'Test constraint',
50
46
  impl: () => true,
51
- meta: { level: "error" },
47
+ meta: { level: 'error' },
52
48
  })
53
49
  );
54
50
 
@@ -58,54 +54,50 @@ describe("Registry Introspection", () => {
58
54
  expect(schema.protocolVersion).toBe(PRAXIS_PROTOCOL_VERSION);
59
55
  expect(schema.rules).toHaveLength(1);
60
56
  expect(schema.constraints).toHaveLength(1);
61
- expect(schema.rules[0]?.id).toBe("rule1");
62
- expect(schema.rules[0]?.description).toBe("Test rule");
63
- expect(schema.rules[0]?.meta).toEqual({ category: "test" });
64
- expect(schema.constraints[0]?.id).toBe("c1");
65
- expect(schema.constraints[0]?.meta).toEqual({ level: "error" });
57
+ expect(schema.rules[0]?.id).toBe('rule1');
58
+ expect(schema.rules[0]?.description).toBe('Test rule');
59
+ expect(schema.rules[0]?.meta).toEqual({ category: 'test' });
60
+ expect(schema.constraints[0]?.id).toBe('c1');
61
+ expect(schema.constraints[0]?.meta).toEqual({ level: 'error' });
66
62
  });
67
63
 
68
- it("should generate graph", () => {
64
+ it('should generate graph', () => {
69
65
  const registry = new PraxisRegistry<{ value: number }>();
70
66
 
71
- registry.registerRule(
72
- defineRule({ id: "rule1", description: "Rule 1", impl: () => [] })
73
- );
74
- registry.registerRule(
75
- defineRule({ id: "rule2", description: "Rule 2", impl: () => [] })
76
- );
67
+ registry.registerRule(defineRule({ id: 'rule1', description: 'Rule 1', impl: () => [] }));
68
+ registry.registerRule(defineRule({ id: 'rule2', description: 'Rule 2', impl: () => [] }));
77
69
  registry.registerConstraint(
78
- defineConstraint({ id: "c1", description: "Constraint 1", impl: () => true })
70
+ defineConstraint({ id: 'c1', description: 'Constraint 1', impl: () => true })
79
71
  );
80
72
 
81
73
  const introspector = new RegistryIntrospector(registry);
82
74
  const graph = introspector.generateGraph();
83
75
 
84
76
  expect(graph.nodes).toHaveLength(3);
85
- expect(graph.nodes.filter((n) => n.type === "rule")).toHaveLength(2);
86
- expect(graph.nodes.filter((n) => n.type === "constraint")).toHaveLength(1);
77
+ expect(graph.nodes.filter((n) => n.type === 'rule')).toHaveLength(2);
78
+ expect(graph.nodes.filter((n) => n.type === 'constraint')).toHaveLength(1);
87
79
  expect(graph.meta.nodeCount).toBe(3);
88
80
  expect(graph.meta.ruleCount).toBe(2);
89
81
  expect(graph.meta.constraintCount).toBe(1);
90
82
  });
91
83
 
92
- it("should generate graph with dependencies", () => {
84
+ it('should generate graph with dependencies', () => {
93
85
  const registry = new PraxisRegistry<{ value: number }>();
94
86
 
95
87
  registry.registerRule(
96
88
  defineRule({
97
- id: "rule1",
98
- description: "Rule 1",
89
+ id: 'rule1',
90
+ description: 'Rule 1',
99
91
  impl: () => [],
100
92
  meta: {},
101
93
  })
102
94
  );
103
95
  registry.registerRule(
104
96
  defineRule({
105
- id: "rule2",
106
- description: "Rule 2 depends on Rule 1",
97
+ id: 'rule2',
98
+ description: 'Rule 2 depends on Rule 1',
107
99
  impl: () => [],
108
- meta: { dependsOn: "rule1" },
100
+ meta: { dependsOn: 'rule1' },
109
101
  })
110
102
  );
111
103
 
@@ -114,24 +106,22 @@ describe("Registry Introspection", () => {
114
106
 
115
107
  expect(graph.edges).toHaveLength(1);
116
108
  expect(graph.edges[0]).toEqual({
117
- from: "rule1",
118
- to: "rule2",
119
- type: "depends-on",
109
+ from: 'rule1',
110
+ to: 'rule2',
111
+ type: 'depends-on',
120
112
  });
121
113
  });
122
114
 
123
- it("should generate graph with constraint relationships", () => {
115
+ it('should generate graph with constraint relationships', () => {
124
116
  const registry = new PraxisRegistry<{ value: number }>();
125
117
 
126
- registry.registerRule(
127
- defineRule({ id: "rule1", description: "Rule 1", impl: () => [] })
128
- );
118
+ registry.registerRule(defineRule({ id: 'rule1', description: 'Rule 1', impl: () => [] }));
129
119
  registry.registerConstraint(
130
120
  defineConstraint({
131
- id: "c1",
132
- description: "Constrains rule1",
121
+ id: 'c1',
122
+ description: 'Constrains rule1',
133
123
  impl: () => true,
134
- meta: { constrains: "rule1" },
124
+ meta: { constrains: 'rule1' },
135
125
  })
136
126
  );
137
127
 
@@ -140,137 +130,137 @@ describe("Registry Introspection", () => {
140
130
 
141
131
  expect(graph.edges).toHaveLength(1);
142
132
  expect(graph.edges[0]).toEqual({
143
- from: "c1",
144
- to: "rule1",
145
- type: "constrains",
133
+ from: 'c1',
134
+ to: 'rule1',
135
+ type: 'constrains',
146
136
  });
147
137
  });
148
138
 
149
- it("should export DOT format", () => {
139
+ it('should export DOT format', () => {
150
140
  const registry = new PraxisRegistry<{ value: number }>();
151
141
 
152
- registry.registerRule(
153
- defineRule({ id: "rule1", description: "Rule 1", impl: () => [] })
154
- );
142
+ registry.registerRule(defineRule({ id: 'rule1', description: 'Rule 1', impl: () => [] }));
155
143
  registry.registerConstraint(
156
- defineConstraint({ id: "c1", description: "Constraint 1", impl: () => true })
144
+ defineConstraint({ id: 'c1', description: 'Constraint 1', impl: () => true })
157
145
  );
158
146
 
159
147
  const introspector = new RegistryIntrospector(registry);
160
148
  const dot = introspector.exportDOT();
161
149
 
162
- expect(dot).toContain("digraph PraxisRegistry");
150
+ expect(dot).toContain('digraph PraxisRegistry');
163
151
  expect(dot).toContain('"rule1"');
164
152
  expect(dot).toContain('"c1"');
165
- expect(dot).toContain("shape=box");
166
- expect(dot).toContain("shape=diamond");
153
+ expect(dot).toContain('shape=box');
154
+ expect(dot).toContain('shape=diamond');
167
155
  });
168
156
 
169
- it("should export Mermaid format", () => {
157
+ it('should export Mermaid format', () => {
170
158
  const registry = new PraxisRegistry<{ value: number }>();
171
159
 
172
- registry.registerRule(
173
- defineRule({ id: "rule1", description: "Rule 1", impl: () => [] })
174
- );
160
+ registry.registerRule(defineRule({ id: 'rule1', description: 'Rule 1', impl: () => [] }));
175
161
  registry.registerConstraint(
176
- defineConstraint({ id: "c1", description: "Constraint 1", impl: () => true })
162
+ defineConstraint({ id: 'c1', description: 'Constraint 1', impl: () => true })
177
163
  );
178
164
 
179
165
  const introspector = new RegistryIntrospector(registry);
180
166
  const mermaid = introspector.exportMermaid();
181
167
 
182
- expect(mermaid).toContain("graph TB");
183
- expect(mermaid).toContain("rule1");
184
- expect(mermaid).toContain("c1");
168
+ expect(mermaid).toContain('graph TB');
169
+ expect(mermaid).toContain('rule1');
170
+ expect(mermaid).toContain('c1');
185
171
  });
186
172
 
187
- it("should get rule info", () => {
173
+ it('should get rule info', () => {
188
174
  const rule = defineRule({
189
- id: "test.rule",
190
- description: "Test rule",
175
+ id: 'test.rule',
176
+ description: 'Test rule',
191
177
  impl: () => [],
192
- meta: { version: "1.0.0" },
178
+ meta: { version: '1.0.0' },
193
179
  });
194
180
 
195
181
  const registry = new PraxisRegistry<{ value: number }>();
196
182
  registry.registerRule(rule);
197
183
 
198
184
  const introspector = new RegistryIntrospector(registry);
199
- const info = introspector.getRuleInfo("test.rule");
185
+ const info = introspector.getRuleInfo('test.rule');
200
186
 
201
187
  expect(info).toBeDefined();
202
- expect(info?.id).toBe("test.rule");
203
- expect(info?.description).toBe("Test rule");
204
- expect(info?.meta).toEqual({ version: "1.0.0" });
188
+ expect(info?.id).toBe('test.rule');
189
+ expect(info?.description).toBe('Test rule');
190
+ expect(info?.meta).toEqual({ version: '1.0.0' });
205
191
  });
206
192
 
207
- it("should get constraint info", () => {
193
+ it('should get constraint info', () => {
208
194
  const constraint = defineConstraint({
209
- id: "test.constraint",
210
- description: "Test constraint",
195
+ id: 'test.constraint',
196
+ description: 'Test constraint',
211
197
  impl: () => true,
212
- meta: { severity: "error" },
198
+ meta: { severity: 'error' },
213
199
  });
214
200
 
215
201
  const registry = new PraxisRegistry<{ value: number }>();
216
202
  registry.registerConstraint(constraint);
217
203
 
218
204
  const introspector = new RegistryIntrospector(registry);
219
- const info = introspector.getConstraintInfo("test.constraint");
205
+ const info = introspector.getConstraintInfo('test.constraint');
220
206
 
221
207
  expect(info).toBeDefined();
222
- expect(info?.id).toBe("test.constraint");
223
- expect(info?.description).toBe("Test constraint");
224
- expect(info?.meta).toEqual({ severity: "error" });
208
+ expect(info?.id).toBe('test.constraint');
209
+ expect(info?.description).toBe('Test constraint');
210
+ expect(info?.meta).toEqual({ severity: 'error' });
225
211
  });
226
212
 
227
- it("should search rules by query", () => {
213
+ it('should search rules by query', () => {
228
214
  const registry = new PraxisRegistry<{ value: number }>();
229
215
 
230
216
  registry.registerRule(
231
- defineRule({ id: "auth.login", description: "Login rule", impl: () => [] })
217
+ defineRule({ id: 'auth.login', description: 'Login rule', impl: () => [] })
232
218
  );
233
219
  registry.registerRule(
234
- defineRule({ id: "auth.logout", description: "Logout rule", impl: () => [] })
220
+ defineRule({ id: 'auth.logout', description: 'Logout rule', impl: () => [] })
235
221
  );
236
222
  registry.registerRule(
237
- defineRule({ id: "cart.add", description: "Add to cart", impl: () => [] })
223
+ defineRule({ id: 'cart.add', description: 'Add to cart', impl: () => [] })
238
224
  );
239
225
 
240
226
  const introspector = new RegistryIntrospector(registry);
241
227
 
242
- const authRules = introspector.searchRules("auth");
228
+ const authRules = introspector.searchRules('auth');
243
229
  expect(authRules).toHaveLength(2);
244
230
 
245
- const loginRules = introspector.searchRules("login");
231
+ const loginRules = introspector.searchRules('login');
246
232
  expect(loginRules).toHaveLength(1);
247
- expect(loginRules[0]?.id).toBe("auth.login");
233
+ expect(loginRules[0]?.id).toBe('auth.login');
248
234
 
249
- const cartRules = introspector.searchRules("cart");
235
+ const cartRules = introspector.searchRules('cart');
250
236
  expect(cartRules).toHaveLength(1);
251
237
  });
252
238
 
253
- it("should search constraints by query", () => {
239
+ it('should search constraints by query', () => {
254
240
  const registry = new PraxisRegistry<{ value: number }>();
255
241
 
256
242
  registry.registerConstraint(
257
- defineConstraint({ id: "auth.maxSessions", description: "Max sessions", impl: () => true })
243
+ defineConstraint({ id: 'auth.maxSessions', description: 'Max sessions', impl: () => true })
258
244
  );
259
245
  registry.registerConstraint(
260
- defineConstraint({ id: "cart.maxItems", description: "Max items in cart", impl: () => true })
246
+ defineConstraint({
247
+ id: 'cart.maxItems',
248
+ description: 'Max items in cart',
249
+ impl: () => true,
250
+ })
261
251
  );
262
252
 
263
253
  const introspector = new RegistryIntrospector(registry);
264
254
 
265
- const authConstraints = introspector.searchConstraints("auth");
255
+ const authConstraints = introspector.searchConstraints('auth');
266
256
  expect(authConstraints).toHaveLength(1);
267
- expect(authConstraints[0]?.id).toBe("auth.maxSessions");
257
+ expect(authConstraints[0]?.id).toBe('auth.maxSessions');
268
258
 
269
- const maxConstraints = introspector.searchConstraints("max");
259
+ const maxConstraints = introspector.searchConstraints('max');
270
260
  expect(maxConstraints).toHaveLength(2);
271
261
  });
272
262
 
273
- it("should work with empty registry", () => {
263
+ it('should work with empty registry', () => {
274
264
  const registry = new PraxisRegistry<{ value: number }>();
275
265
  const introspector = new RegistryIntrospector(registry);
276
266
 
@@ -282,21 +272,21 @@ describe("Registry Introspection", () => {
282
272
  expect(graph.nodes).toHaveLength(0);
283
273
  expect(graph.edges).toHaveLength(0);
284
274
 
285
- const schema = introspector.generateSchema("1.0.0");
275
+ const schema = introspector.generateSchema('1.0.0');
286
276
  expect(schema.rules).toHaveLength(0);
287
277
  expect(schema.constraints).toHaveLength(0);
288
278
  });
289
279
 
290
- it("should work with modules", () => {
280
+ it('should work with modules', () => {
291
281
  const module = defineModule({
292
282
  rules: [
293
- defineRule({ id: "m1.rule1", description: "Module rule 1", impl: () => [] }),
294
- defineRule({ id: "m1.rule2", description: "Module rule 2", impl: () => [] }),
283
+ defineRule({ id: 'm1.rule1', description: 'Module rule 1', impl: () => [] }),
284
+ defineRule({ id: 'm1.rule2', description: 'Module rule 2', impl: () => [] }),
295
285
  ],
296
286
  constraints: [
297
- defineConstraint({ id: "m1.c1", description: "Module constraint 1", impl: () => true }),
287
+ defineConstraint({ id: 'm1.c1', description: 'Module constraint 1', impl: () => true }),
298
288
  ],
299
- meta: { moduleName: "Module 1" },
289
+ meta: { moduleName: 'Module 1' },
300
290
  });
301
291
 
302
292
  const registry = new PraxisRegistry<{ value: number }>();
@@ -310,8 +300,8 @@ describe("Registry Introspection", () => {
310
300
  });
311
301
  });
312
302
 
313
- describe("createIntrospector", () => {
314
- it("should create introspector from registry", () => {
303
+ describe('createIntrospector', () => {
304
+ it('should create introspector from registry', () => {
315
305
  const registry = new PraxisRegistry<{ value: number }>();
316
306
  const introspector = createIntrospector(registry);
317
307