@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,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);