@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,189 +2,189 @@
2
2
  * Tauri Integration Tests
3
3
  */
4
4
 
5
- import { describe, it, expect, beforeEach } from "vitest";
5
+ import { describe, it, expect, beforeEach } from 'vitest';
6
6
  import {
7
7
  createMockTauriBridge,
8
8
  createTauriPraxisAdapter,
9
9
  attachTauriToEngine,
10
10
  generateTauriConfig,
11
- } from "../integrations/tauri.js";
12
- import { createPraxisEngine, PraxisRegistry } from "../index.js";
11
+ } from '../integrations/tauri.js';
12
+ import { createPraxisEngine, PraxisRegistry } from '../index.js';
13
13
 
14
- describe("Tauri Integration", () => {
15
- describe("createMockTauriBridge", () => {
16
- it("should create a mock bridge", () => {
14
+ describe('Tauri Integration', () => {
15
+ describe('createMockTauriBridge', () => {
16
+ it('should create a mock bridge', () => {
17
17
  const bridge = createMockTauriBridge();
18
-
18
+
19
19
  expect(bridge).toBeDefined();
20
- expect(bridge.app.name).toBe("Mock App");
21
- expect(bridge.app.tauriVersion).toBe("mock");
20
+ expect(bridge.app.name).toBe('Mock App');
21
+ expect(bridge.app.tauriVersion).toBe('mock');
22
22
  });
23
-
24
- it("should provide file system operations", async () => {
23
+
24
+ it('should provide file system operations', async () => {
25
25
  const bridge = createMockTauriBridge();
26
-
26
+
27
27
  // Write and read text file
28
- await bridge.fs.writeTextFile("/test.txt", "Hello, World!");
29
- const content = await bridge.fs.readTextFile("/test.txt");
30
-
31
- expect(content).toBe("Hello, World!");
28
+ await bridge.fs.writeTextFile('/test.txt', 'Hello, World!');
29
+ const content = await bridge.fs.readTextFile('/test.txt');
30
+
31
+ expect(content).toBe('Hello, World!');
32
32
  });
33
-
34
- it("should check file existence", async () => {
33
+
34
+ it('should check file existence', async () => {
35
35
  const bridge = createMockTauriBridge();
36
-
37
- await bridge.fs.writeTextFile("/exists.txt", "content");
38
-
39
- expect(await bridge.fs.exists("/exists.txt")).toBe(true);
40
- expect(await bridge.fs.exists("/not-exists.txt")).toBe(false);
36
+
37
+ await bridge.fs.writeTextFile('/exists.txt', 'content');
38
+
39
+ expect(await bridge.fs.exists('/exists.txt')).toBe(true);
40
+ expect(await bridge.fs.exists('/not-exists.txt')).toBe(false);
41
41
  });
42
-
43
- it("should remove files", async () => {
42
+
43
+ it('should remove files', async () => {
44
44
  const bridge = createMockTauriBridge();
45
-
46
- await bridge.fs.writeTextFile("/to-remove.txt", "content");
47
- expect(await bridge.fs.exists("/to-remove.txt")).toBe(true);
48
-
49
- await bridge.fs.remove("/to-remove.txt");
50
- expect(await bridge.fs.exists("/to-remove.txt")).toBe(false);
45
+
46
+ await bridge.fs.writeTextFile('/to-remove.txt', 'content');
47
+ expect(await bridge.fs.exists('/to-remove.txt')).toBe(true);
48
+
49
+ await bridge.fs.remove('/to-remove.txt');
50
+ expect(await bridge.fs.exists('/to-remove.txt')).toBe(false);
51
51
  });
52
-
53
- it("should rename files", async () => {
52
+
53
+ it('should rename files', async () => {
54
54
  const bridge = createMockTauriBridge();
55
-
56
- await bridge.fs.writeTextFile("/old.txt", "content");
57
- await bridge.fs.rename("/old.txt", "/new.txt");
58
-
59
- expect(await bridge.fs.exists("/old.txt")).toBe(false);
60
- expect(await bridge.fs.exists("/new.txt")).toBe(true);
61
- expect(await bridge.fs.readTextFile("/new.txt")).toBe("content");
55
+
56
+ await bridge.fs.writeTextFile('/old.txt', 'content');
57
+ await bridge.fs.rename('/old.txt', '/new.txt');
58
+
59
+ expect(await bridge.fs.exists('/old.txt')).toBe(false);
60
+ expect(await bridge.fs.exists('/new.txt')).toBe(true);
61
+ expect(await bridge.fs.readTextFile('/new.txt')).toBe('content');
62
62
  });
63
-
64
- it("should handle binary files", async () => {
63
+
64
+ it('should handle binary files', async () => {
65
65
  const bridge = createMockTauriBridge();
66
66
  const data = new Uint8Array([1, 2, 3, 4, 5]);
67
-
68
- await bridge.fs.writeFile("/binary.bin", data);
69
- const read = await bridge.fs.readFile("/binary.bin");
70
-
67
+
68
+ await bridge.fs.writeFile('/binary.bin', data);
69
+ const read = await bridge.fs.readFile('/binary.bin');
70
+
71
71
  expect(read).toEqual(data);
72
72
  });
73
-
74
- it("should invoke commands", async () => {
73
+
74
+ it('should invoke commands', async () => {
75
75
  const bridge = createMockTauriBridge();
76
- const result = await bridge.invoke("test-command", { arg: "value" });
77
-
76
+ const result = await bridge.invoke('test-command', { arg: 'value' });
77
+
78
78
  expect(result).toBeNull(); // Mock returns null
79
79
  });
80
-
81
- it("should emit and listen to events", async () => {
80
+
81
+ it('should emit and listen to events', async () => {
82
82
  const bridge = createMockTauriBridge();
83
-
83
+
84
84
  const received: unknown[] = [];
85
- await bridge.listen("test-event", (event) => {
85
+ await bridge.listen('test-event', (event) => {
86
86
  received.push(event.payload);
87
87
  });
88
-
89
- await bridge.emit("test-event", { data: "test" });
90
-
88
+
89
+ await bridge.emit('test-event', { data: 'test' });
90
+
91
91
  expect(received.length).toBe(1);
92
- expect(received[0]).toEqual({ data: "test" });
92
+ expect(received[0]).toEqual({ data: 'test' });
93
93
  });
94
-
95
- it("should provide notification API", async () => {
94
+
95
+ it('should provide notification API', async () => {
96
96
  const bridge = createMockTauriBridge();
97
-
97
+
98
98
  const permission = await bridge.notification.checkPermission();
99
- expect(permission).toBe("granted");
100
-
99
+ expect(permission).toBe('granted');
100
+
101
101
  // Should not throw
102
- await bridge.notification.send({ title: "Test", body: "Body" });
102
+ await bridge.notification.send({ title: 'Test', body: 'Body' });
103
103
  });
104
-
105
- it("should check for updates", async () => {
104
+
105
+ it('should check for updates', async () => {
106
106
  const bridge = createMockTauriBridge();
107
-
107
+
108
108
  const update = await bridge.checkForUpdates();
109
109
  expect(update).toBeNull(); // Mock returns null
110
110
  });
111
111
  });
112
112
 
113
- describe("createTauriPraxisAdapter", () => {
114
- it("should create an adapter", () => {
113
+ describe('createTauriPraxisAdapter', () => {
114
+ it('should create an adapter', () => {
115
115
  const bridge = createMockTauriBridge();
116
116
  const adapter = createTauriPraxisAdapter({ bridge });
117
-
117
+
118
118
  expect(adapter).toBeDefined();
119
- expect(adapter.getStatePath()).toBe("praxis-state.json");
120
- expect(adapter.getEventsPath()).toBe("praxis-events.json");
119
+ expect(adapter.getStatePath()).toBe('praxis-state.json');
120
+ expect(adapter.getEventsPath()).toBe('praxis-events.json');
121
121
  });
122
-
123
- it("should use custom paths", () => {
122
+
123
+ it('should use custom paths', () => {
124
124
  const bridge = createMockTauriBridge();
125
125
  const adapter = createTauriPraxisAdapter({
126
126
  bridge,
127
- statePath: "custom-state.json",
128
- eventsPath: "custom-events.json",
127
+ statePath: 'custom-state.json',
128
+ eventsPath: 'custom-events.json',
129
129
  });
130
-
131
- expect(adapter.getStatePath()).toBe("custom-state.json");
132
- expect(adapter.getEventsPath()).toBe("custom-events.json");
130
+
131
+ expect(adapter.getStatePath()).toBe('custom-state.json');
132
+ expect(adapter.getEventsPath()).toBe('custom-events.json');
133
133
  });
134
-
135
- it("should save and load state", async () => {
134
+
135
+ it('should save and load state', async () => {
136
136
  const bridge = createMockTauriBridge();
137
137
  const adapter = createTauriPraxisAdapter<{ count: number }>({ bridge });
138
-
138
+
139
139
  await adapter.saveState({ count: 42 });
140
140
  const loaded = await adapter.loadState();
141
-
141
+
142
142
  expect(loaded).toEqual({ count: 42 });
143
143
  });
144
-
145
- it("should return null for missing state", async () => {
144
+
145
+ it('should return null for missing state', async () => {
146
146
  const bridge = createMockTauriBridge();
147
147
  const adapter = createTauriPraxisAdapter<{ count: number }>({ bridge });
148
-
148
+
149
149
  const loaded = await adapter.loadState();
150
150
  expect(loaded).toBeNull();
151
151
  });
152
-
153
- it("should save and load events", async () => {
152
+
153
+ it('should save and load events', async () => {
154
154
  const bridge = createMockTauriBridge();
155
155
  const adapter = createTauriPraxisAdapter({ bridge });
156
-
156
+
157
157
  const events = [
158
- { tag: "Event1", payload: { id: "1" } },
159
- { tag: "Event2", payload: { id: "2" } },
158
+ { tag: 'Event1', payload: { id: '1' } },
159
+ { tag: 'Event2', payload: { id: '2' } },
160
160
  ];
161
-
161
+
162
162
  await adapter.saveEvents(events);
163
163
  const loaded = await adapter.loadEvents();
164
-
164
+
165
165
  expect(loaded).toEqual(events);
166
166
  });
167
-
168
- it("should return empty array for missing events", async () => {
167
+
168
+ it('should return empty array for missing events', async () => {
169
169
  const bridge = createMockTauriBridge();
170
170
  const adapter = createTauriPraxisAdapter({ bridge });
171
-
171
+
172
172
  const loaded = await adapter.loadEvents();
173
173
  expect(loaded).toEqual([]);
174
174
  });
175
-
176
- it("should provide watch function", async () => {
175
+
176
+ it('should provide watch function', async () => {
177
177
  const bridge = createMockTauriBridge();
178
178
  const adapter = createTauriPraxisAdapter<{ count: number }>({ bridge });
179
-
179
+
180
180
  const cleanup = await adapter.watchStateFile(() => {});
181
181
  expect(cleanup).toBeInstanceOf(Function);
182
182
  cleanup();
183
183
  });
184
184
  });
185
185
 
186
- describe("attachTauriToEngine", () => {
187
- it("should attach adapter to engine", () => {
186
+ describe('attachTauriToEngine', () => {
187
+ it('should attach adapter to engine', () => {
188
188
  const bridge = createMockTauriBridge();
189
189
  const adapter = createTauriPraxisAdapter({ bridge });
190
190
  const registry = new PraxisRegistry();
@@ -192,17 +192,17 @@ describe("Tauri Integration", () => {
192
192
  initialContext: { count: 0 },
193
193
  registry,
194
194
  });
195
-
195
+
196
196
  const cleanup = attachTauriToEngine(engine, adapter, {
197
197
  autoSave: true,
198
198
  saveInterval: 1000,
199
199
  });
200
-
200
+
201
201
  expect(cleanup).toBeInstanceOf(Function);
202
202
  cleanup();
203
203
  });
204
-
205
- it("should work without auto-save", () => {
204
+
205
+ it('should work without auto-save', () => {
206
206
  const bridge = createMockTauriBridge();
207
207
  const adapter = createTauriPraxisAdapter({ bridge });
208
208
  const registry = new PraxisRegistry();
@@ -210,89 +210,91 @@ describe("Tauri Integration", () => {
210
210
  initialContext: {},
211
211
  registry,
212
212
  });
213
-
213
+
214
214
  const cleanup = attachTauriToEngine(engine, adapter, {
215
215
  autoSave: false,
216
216
  });
217
-
217
+
218
218
  expect(cleanup).toBeInstanceOf(Function);
219
219
  cleanup();
220
220
  });
221
221
  });
222
222
 
223
- describe("generateTauriConfig", () => {
224
- it("should generate basic config", () => {
223
+ describe('generateTauriConfig', () => {
224
+ it('should generate basic config', () => {
225
225
  const config = generateTauriConfig({
226
- name: "My App",
227
- version: "1.0.0",
228
- identifier: "com.example.myapp",
226
+ name: 'My App',
227
+ version: '1.0.0',
228
+ identifier: 'com.example.myapp',
229
229
  });
230
-
231
- expect(config.productName).toBe("My App");
232
- expect(config.version).toBe("1.0.0");
233
- expect(config.identifier).toBe("com.example.myapp");
230
+
231
+ expect(config.productName).toBe('My App');
232
+ expect(config.version).toBe('1.0.0');
233
+ expect(config.identifier).toBe('com.example.myapp');
234
234
  });
235
-
236
- it("should include window config", () => {
235
+
236
+ it('should include window config', () => {
237
237
  const config = generateTauriConfig({
238
- name: "My App",
239
- version: "1.0.0",
240
- identifier: "com.example.myapp",
238
+ name: 'My App',
239
+ version: '1.0.0',
240
+ identifier: 'com.example.myapp',
241
241
  window: {
242
- title: "My Window",
242
+ title: 'My Window',
243
243
  width: 1024,
244
244
  height: 768,
245
245
  resizable: true,
246
246
  center: true,
247
247
  },
248
248
  });
249
-
250
- const app = config.app as { windows: Array<{ title: string; width: number; height: number }> };
251
- expect(app.windows[0].title).toBe("My Window");
249
+
250
+ const app = config.app as {
251
+ windows: Array<{ title: string; width: number; height: number }>;
252
+ };
253
+ expect(app.windows[0].title).toBe('My Window');
252
254
  expect(app.windows[0].width).toBe(1024);
253
255
  expect(app.windows[0].height).toBe(768);
254
256
  });
255
-
256
- it("should include security config", () => {
257
+
258
+ it('should include security config', () => {
257
259
  const config = generateTauriConfig({
258
- name: "My App",
259
- version: "1.0.0",
260
- identifier: "com.example.myapp",
260
+ name: 'My App',
261
+ version: '1.0.0',
262
+ identifier: 'com.example.myapp',
261
263
  security: {
262
264
  csp: "default-src 'self'; script-src 'self'",
263
265
  devTools: true,
264
266
  },
265
267
  });
266
-
268
+
267
269
  const app = config.app as { security: { csp: string; devtools: boolean } };
268
270
  expect(app.security.csp).toBe("default-src 'self'; script-src 'self'");
269
271
  expect(app.security.devtools).toBe(true);
270
272
  });
271
-
272
- it("should include plugins", () => {
273
+
274
+ it('should include plugins', () => {
273
275
  const config = generateTauriConfig({
274
- name: "My App",
275
- version: "1.0.0",
276
- identifier: "com.example.myapp",
276
+ name: 'My App',
277
+ version: '1.0.0',
278
+ identifier: 'com.example.myapp',
277
279
  plugins: [
278
- { name: "shell", config: { open: true } },
279
- { name: "fs", config: { scope: ["$APP/*"] } },
280
+ { name: 'shell', config: { open: true } },
281
+ { name: 'fs', config: { scope: ['$APP/*'] } },
280
282
  ],
281
283
  });
282
-
284
+
283
285
  const plugins = config.plugins as Record<string, unknown>;
284
286
  expect(plugins.shell).toEqual({ open: true });
285
- expect(plugins.fs).toEqual({ scope: ["$APP/*"] });
287
+ expect(plugins.fs).toEqual({ scope: ['$APP/*'] });
286
288
  });
287
-
288
- it("should have $schema", () => {
289
+
290
+ it('should have $schema', () => {
289
291
  const config = generateTauriConfig({
290
- name: "My App",
291
- version: "1.0.0",
292
- identifier: "com.example.myapp",
292
+ name: 'My App',
293
+ version: '1.0.0',
294
+ identifier: 'com.example.myapp',
293
295
  });
294
-
295
- expect(config.$schema).toContain("tauri-config-schema");
296
+
297
+ expect(config.$schema).toContain('tauri-config-schema');
296
298
  });
297
299
  });
298
300
  });
@@ -4,6 +4,7 @@ import { loadSchemaFromYaml, loadSchemaFromJson } from '../core/schema/loader.js
4
4
  import {
5
5
  createTerminalAdapter,
6
6
  runTerminalCommand,
7
+ createMockExecutor,
7
8
  type TerminalExecutionResult,
8
9
  } from '../runtime/terminal-adapter.js';
9
10
  import type { PraxisSchema } from '../core/schema/types.js';
@@ -199,7 +200,7 @@ orchestration:
199
200
  const result = loadSchemaFromYaml(yaml);
200
201
  expect(result.errors).toHaveLength(0);
201
202
  expect(result.schema).toBeDefined();
202
-
203
+
203
204
  const node = result.schema?.orchestration?.nodes?.[0];
204
205
  expect(node?.type).toBe('terminal');
205
206
  expect(node?.bindings?.input).toBe('/plures/terminal/input');
@@ -287,13 +288,13 @@ orchestration:
287
288
  });
288
289
 
289
290
  const result = await adapter.executeCommand('echo hello');
290
-
291
+
291
292
  expect(result).toBeDefined();
292
293
  expect(result.command).toBe('echo hello');
293
294
  expect(result.output).toContain('hello');
294
295
  expect(result.exitCode).toBe(0);
295
296
  expect(result.timestamp).toBeGreaterThan(0);
296
-
297
+
297
298
  const state = adapter.getState();
298
299
  expect(state.history).toContain('echo hello');
299
300
  expect(state.lastOutput).toBe(result.output);
@@ -319,9 +320,9 @@ orchestration:
319
320
 
320
321
  await adapter.executeCommand('ls');
321
322
  await adapter.executeCommand('pwd');
322
-
323
+
323
324
  expect(adapter.getHistory()).toHaveLength(2);
324
-
325
+
325
326
  adapter.clearHistory();
326
327
  expect(adapter.getHistory()).toHaveLength(0);
327
328
  });
@@ -342,8 +343,12 @@ orchestration:
342
343
 
343
344
  describe('runTerminalCommand convenience function', () => {
344
345
  it('executes command using convenience function', async () => {
345
- const result = await runTerminalCommand('test-node', 'ls -la');
346
-
346
+ const executor = createMockExecutor({
347
+ 'ls -la': { output: 'mock listing', exitCode: 0 },
348
+ });
349
+
350
+ const result = await runTerminalCommand('test-node', 'ls -la', { executor });
351
+
347
352
  expect(result).toBeDefined();
348
353
  expect(result.command).toBe('ls -la');
349
354
  expect(result.exitCode).toBe(0);