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