@plures/praxis 1.0.2 → 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 (518) 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 -96
  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 +49 -0
  133. package/src/cli/index.ts +21 -2
  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/index.d.ts +0 -8
  294. package/dist/src/cli/index.d.ts.map +0 -1
  295. package/dist/src/cli/index.js +0 -211
  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/cli/commands/index.d.ts +0 -7
  484. package/dist/tools/cli/commands/index.d.ts.map +0 -1
  485. package/dist/tools/cli/commands/index.js +0 -7
  486. package/dist/tools/cli/commands/index.js.map +0 -1
  487. package/dist/tools/cli/index.d.ts +0 -8
  488. package/dist/tools/cli/index.d.ts.map +0 -1
  489. package/dist/tools/cli/index.js +0 -9
  490. package/dist/tools/cli/index.js.map +0 -1
  491. package/dist/tools/watcher/index.d.ts +0 -105
  492. package/dist/tools/watcher/index.d.ts.map +0 -1
  493. package/dist/tools/watcher/index.js +0 -213
  494. package/dist/tools/watcher/index.js.map +0 -1
  495. package/dist/ui/canvas/canvas-projection.d.ts +0 -78
  496. package/dist/ui/canvas/canvas-projection.d.ts.map +0 -1
  497. package/dist/ui/canvas/canvas-projection.js +0 -416
  498. package/dist/ui/canvas/canvas-projection.js.map +0 -1
  499. package/dist/ui/canvas/canvas-state.d.ts +0 -200
  500. package/dist/ui/canvas/canvas-state.d.ts.map +0 -1
  501. package/dist/ui/canvas/canvas-state.js +0 -464
  502. package/dist/ui/canvas/canvas-state.js.map +0 -1
  503. package/dist/ui/canvas/components/index.d.ts +0 -95
  504. package/dist/ui/canvas/components/index.d.ts.map +0 -1
  505. package/dist/ui/canvas/components/index.js +0 -19
  506. package/dist/ui/canvas/components/index.js.map +0 -1
  507. package/dist/ui/canvas/index.d.ts +0 -32
  508. package/dist/ui/canvas/index.d.ts.map +0 -1
  509. package/dist/ui/canvas/index.js +0 -32
  510. package/dist/ui/canvas/index.js.map +0 -1
  511. package/dist/ui/svelte-generator/index.d.ts +0 -9
  512. package/dist/ui/svelte-generator/index.d.ts.map +0 -1
  513. package/dist/ui/svelte-generator/index.js +0 -11
  514. package/dist/ui/svelte-generator/index.js.map +0 -1
  515. package/dist/ui/svelte-generator/psf-generator.d.ts +0 -128
  516. package/dist/ui/svelte-generator/psf-generator.d.ts.map +0 -1
  517. package/dist/ui/svelte-generator/psf-generator.js +0 -506
  518. package/dist/ui/svelte-generator/psf-generator.js.map +0 -1
@@ -1,360 +0,0 @@
1
- /**
2
- * Tauri Integration
3
- *
4
- * Integration with plures/svelte-tauri-template for cross-platform desktop applications.
5
- * Provides Praxis engine integration with Tauri 2 for native desktop capabilities.
6
- *
7
- * Features:
8
- * - Cross-Platform: Windows, macOS, Linux, Android, iOS
9
- * - Native Integration: File system, system tray, notifications
10
- * - IPC Bridge: Type-safe communication between Rust and TypeScript
11
- * - Auto-Updates: Built-in update system
12
- * - Code Signing: Support for signed releases
13
- *
14
- * @see https://github.com/plures/svelte-tauri-template
15
- */
16
- import type { LogicEngine } from "../core/engine.js";
17
- import type { PraxisEvent } from "../core/protocol.js";
18
- /**
19
- * Tauri app configuration
20
- */
21
- export interface TauriAppConfig {
22
- /** Application name */
23
- name: string;
24
- /** Application version */
25
- version: string;
26
- /** Application identifier (e.g., com.example.myapp) */
27
- identifier: string;
28
- /** Window configuration */
29
- window?: TauriWindowConfig;
30
- /** Security configuration */
31
- security?: TauriSecurityConfig;
32
- /** Update configuration */
33
- updates?: TauriUpdateConfig;
34
- /** Plugins to enable */
35
- plugins?: TauriPlugin[];
36
- }
37
- /**
38
- * Window configuration
39
- */
40
- export interface TauriWindowConfig {
41
- /** Window title */
42
- title?: string;
43
- /** Window width */
44
- width?: number;
45
- /** Window height */
46
- height?: number;
47
- /** Minimum width */
48
- minWidth?: number;
49
- /** Minimum height */
50
- minHeight?: number;
51
- /** Whether window is resizable */
52
- resizable?: boolean;
53
- /** Whether window is fullscreen */
54
- fullscreen?: boolean;
55
- /** Whether to show title bar */
56
- decorations?: boolean;
57
- /** Whether window is transparent */
58
- transparent?: boolean;
59
- /** Whether to always be on top */
60
- alwaysOnTop?: boolean;
61
- /** Center window on screen */
62
- center?: boolean;
63
- }
64
- /**
65
- * Security configuration
66
- */
67
- export interface TauriSecurityConfig {
68
- /** Content Security Policy */
69
- csp?: string;
70
- /** Allowed domains for fetch */
71
- allowedDomains?: string[];
72
- /** Enable dev tools in production */
73
- devTools?: boolean;
74
- /** Dangerous features to allow */
75
- dangerousAllowList?: string[];
76
- }
77
- /**
78
- * Auto-update configuration
79
- */
80
- export interface TauriUpdateConfig {
81
- /** Enable auto-updates */
82
- enabled: boolean;
83
- /** Update endpoint URL */
84
- endpoint?: string;
85
- /** Update check interval (ms) */
86
- checkInterval?: number;
87
- /** Whether to install silently */
88
- silent?: boolean;
89
- /** Public key for update verification */
90
- publicKey?: string;
91
- }
92
- /**
93
- * Tauri plugin definition
94
- */
95
- export interface TauriPlugin {
96
- /** Plugin name */
97
- name: string;
98
- /** Plugin version */
99
- version?: string;
100
- /** Plugin configuration */
101
- config?: Record<string, unknown>;
102
- }
103
- /**
104
- * IPC message from frontend to backend
105
- */
106
- export interface TauriCommand<T = unknown> {
107
- /** Command name */
108
- cmd: string;
109
- /** Command payload */
110
- payload?: T;
111
- }
112
- /**
113
- * IPC event from backend to frontend
114
- */
115
- export interface TauriEvent<T = unknown> {
116
- /** Event name */
117
- event: string;
118
- /** Event payload */
119
- payload?: T;
120
- /** Window label that emitted the event */
121
- windowLabel?: string;
122
- }
123
- /**
124
- * File system operations
125
- */
126
- export interface TauriFS {
127
- /** Read a file */
128
- readFile(path: string): Promise<Uint8Array>;
129
- /** Read a file as text */
130
- readTextFile(path: string): Promise<string>;
131
- /** Write to a file */
132
- writeFile(path: string, data: Uint8Array): Promise<void>;
133
- /** Write text to a file */
134
- writeTextFile(path: string, data: string): Promise<void>;
135
- /** Check if path exists */
136
- exists(path: string): Promise<boolean>;
137
- /** Create directory */
138
- mkdir(path: string, options?: {
139
- recursive?: boolean;
140
- }): Promise<void>;
141
- /** Remove file or directory */
142
- remove(path: string, options?: {
143
- recursive?: boolean;
144
- }): Promise<void>;
145
- /** Rename/move file */
146
- rename(oldPath: string, newPath: string): Promise<void>;
147
- /** List directory contents */
148
- readDir(path: string): Promise<TauriFileEntry[]>;
149
- }
150
- /**
151
- * File entry from directory listing
152
- */
153
- export interface TauriFileEntry {
154
- /** File name */
155
- name: string;
156
- /** Full path */
157
- path: string;
158
- /** Is directory */
159
- isDirectory: boolean;
160
- /** Is file */
161
- isFile: boolean;
162
- /** File size in bytes */
163
- size?: number;
164
- /** Last modified timestamp */
165
- modifiedAt?: number;
166
- }
167
- /**
168
- * System tray operations
169
- */
170
- export interface TauriTray {
171
- /** Set tray icon */
172
- setIcon(icon: string | Uint8Array): Promise<void>;
173
- /** Set tray tooltip */
174
- setTooltip(tooltip: string): Promise<void>;
175
- /** Set tray menu */
176
- setMenu(menu: TauriMenuItem[]): Promise<void>;
177
- /** Show tray */
178
- show(): Promise<void>;
179
- /** Hide tray */
180
- hide(): Promise<void>;
181
- }
182
- /**
183
- * Tray menu item
184
- */
185
- export interface TauriMenuItem {
186
- /** Item ID */
187
- id: string;
188
- /** Item label */
189
- label: string;
190
- /** Is item enabled */
191
- enabled?: boolean;
192
- /** Is item checked (for checkboxes) */
193
- checked?: boolean;
194
- /** Submenu items */
195
- submenu?: TauriMenuItem[];
196
- /** Click handler */
197
- onClick?: () => void;
198
- }
199
- /**
200
- * Notification API
201
- */
202
- export interface TauriNotification {
203
- /** Send a notification */
204
- send(options: TauriNotificationOptions): Promise<void>;
205
- /** Request notification permission */
206
- requestPermission(): Promise<'granted' | 'denied' | 'default'>;
207
- /** Check notification permission */
208
- checkPermission(): Promise<'granted' | 'denied' | 'default'>;
209
- }
210
- /**
211
- * Notification options
212
- */
213
- export interface TauriNotificationOptions {
214
- /** Notification title */
215
- title: string;
216
- /** Notification body */
217
- body?: string;
218
- /** Notification icon */
219
- icon?: string;
220
- /** Sound to play */
221
- sound?: string;
222
- }
223
- /**
224
- * Tauri bridge for Praxis integration
225
- *
226
- * Provides type-safe access to Tauri APIs from Praxis applications.
227
- */
228
- export interface TauriBridge {
229
- /** Application info */
230
- app: {
231
- name: string;
232
- version: string;
233
- tauriVersion: string;
234
- };
235
- /** File system operations */
236
- fs: TauriFS;
237
- /** System tray operations */
238
- tray: TauriTray;
239
- /** Notification operations */
240
- notification: TauriNotification;
241
- /** Invoke a Tauri command */
242
- invoke<T = unknown>(cmd: string, payload?: unknown): Promise<T>;
243
- /** Listen to a Tauri event */
244
- listen<T = unknown>(event: string, handler: (event: TauriEvent<T>) => void): Promise<() => void>;
245
- /** Emit a Tauri event */
246
- emit(event: string, payload?: unknown): Promise<void>;
247
- /** Get window operations */
248
- window: {
249
- /** Minimize window */
250
- minimize(): Promise<void>;
251
- /** Maximize window */
252
- maximize(): Promise<void>;
253
- /** Unmaximize window */
254
- unmaximize(): Promise<void>;
255
- /** Close window */
256
- close(): Promise<void>;
257
- /** Toggle fullscreen */
258
- toggleFullscreen(): Promise<void>;
259
- /** Set window title */
260
- setTitle(title: string): Promise<void>;
261
- /** Show window */
262
- show(): Promise<void>;
263
- /** Hide window */
264
- hide(): Promise<void>;
265
- /** Focus window */
266
- focus(): Promise<void>;
267
- };
268
- /** Check for updates */
269
- checkForUpdates(): Promise<TauriUpdateInfo | null>;
270
- /** Install update */
271
- installUpdate(): Promise<void>;
272
- }
273
- /**
274
- * Update information
275
- */
276
- export interface TauriUpdateInfo {
277
- /** New version available */
278
- version: string;
279
- /** Release date */
280
- date: string;
281
- /** Release notes */
282
- notes?: string;
283
- /** Download URL */
284
- url: string;
285
- }
286
- /**
287
- * Praxis-Tauri adapter for engine persistence
288
- */
289
- export interface TauriPraxisAdapter<TContext = unknown> {
290
- /** Save engine state to file */
291
- saveState(state: TContext): Promise<void>;
292
- /** Load engine state from file */
293
- loadState(): Promise<TContext | null>;
294
- /** Save events to file */
295
- saveEvents(events: PraxisEvent[]): Promise<void>;
296
- /** Load events from file */
297
- loadEvents(): Promise<PraxisEvent[]>;
298
- /** Watch for file changes */
299
- watchStateFile(handler: (state: TContext) => void): Promise<() => void>;
300
- /** Get state file path */
301
- getStatePath(): string;
302
- /** Get events file path */
303
- getEventsPath(): string;
304
- }
305
- /**
306
- * Create a mock Tauri bridge for development/testing
307
- *
308
- * This provides a mock implementation that works without Tauri runtime.
309
- */
310
- export declare function createMockTauriBridge(): TauriBridge;
311
- /**
312
- * Create a Tauri-Praxis adapter for engine persistence
313
- *
314
- * @example
315
- * ```typescript
316
- * import { createTauriPraxisAdapter } from '@plures/praxis/integrations/tauri';
317
- *
318
- * const adapter = createTauriPraxisAdapter({
319
- * bridge: tauriBridge,
320
- * statePath: 'app-state.json',
321
- * eventsPath: 'app-events.json',
322
- * });
323
- *
324
- * // Save state
325
- * await adapter.saveState(engine.getContext());
326
- *
327
- * // Load state
328
- * const savedState = await adapter.loadState();
329
- * ```
330
- */
331
- export declare function createTauriPraxisAdapter<TContext = unknown>(options: {
332
- bridge: TauriBridge;
333
- statePath?: string;
334
- eventsPath?: string;
335
- }): TauriPraxisAdapter<TContext>;
336
- /**
337
- * Attach Tauri bridge to a Praxis engine for auto-save
338
- *
339
- * @example
340
- * ```typescript
341
- * import { attachTauriToEngine } from '@plures/praxis/integrations/tauri';
342
- *
343
- * const cleanup = attachTauriToEngine(engine, adapter, {
344
- * autoSave: true,
345
- * saveInterval: 5000,
346
- * });
347
- *
348
- * // Later, cleanup subscriptions
349
- * cleanup();
350
- * ```
351
- */
352
- export declare function attachTauriToEngine<TContext>(engine: LogicEngine<TContext>, adapter: TauriPraxisAdapter<TContext>, options?: {
353
- autoSave?: boolean;
354
- saveInterval?: number;
355
- }): () => void;
356
- /**
357
- * Generate Tauri configuration from Praxis app config
358
- */
359
- export declare function generateTauriConfig(config: TauriAppConfig): Record<string, unknown>;
360
- //# sourceMappingURL=tauri.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tauri.d.ts","sourceRoot":"","sources":["../../../src/integrations/tauri.ts"],"names":[],"mappings":"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"}
@@ -1,278 +0,0 @@
1
- /**
2
- * Tauri Integration
3
- *
4
- * Integration with plures/svelte-tauri-template for cross-platform desktop applications.
5
- * Provides Praxis engine integration with Tauri 2 for native desktop capabilities.
6
- *
7
- * Features:
8
- * - Cross-Platform: Windows, macOS, Linux, Android, iOS
9
- * - Native Integration: File system, system tray, notifications
10
- * - IPC Bridge: Type-safe communication between Rust and TypeScript
11
- * - Auto-Updates: Built-in update system
12
- * - Code Signing: Support for signed releases
13
- *
14
- * @see https://github.com/plures/svelte-tauri-template
15
- */
16
- /**
17
- * Create a mock Tauri bridge for development/testing
18
- *
19
- * This provides a mock implementation that works without Tauri runtime.
20
- */
21
- export function createMockTauriBridge() {
22
- const eventHandlers = new Map();
23
- const storage = new Map();
24
- return {
25
- app: {
26
- name: 'Mock App',
27
- version: '0.0.0',
28
- tauriVersion: 'mock',
29
- },
30
- fs: {
31
- async readFile(path) {
32
- const data = storage.get(path);
33
- if (data instanceof Uint8Array)
34
- return data;
35
- throw new Error(`File not found: ${path}`);
36
- },
37
- async readTextFile(path) {
38
- const data = storage.get(path);
39
- if (typeof data === 'string')
40
- return data;
41
- throw new Error(`File not found: ${path}`);
42
- },
43
- async writeFile(path, data) {
44
- storage.set(path, data);
45
- },
46
- async writeTextFile(path, data) {
47
- storage.set(path, data);
48
- },
49
- async exists(path) {
50
- return storage.has(path);
51
- },
52
- async mkdir(_path, _options) {
53
- // No-op for mock
54
- },
55
- async remove(path, _options) {
56
- storage.delete(path);
57
- },
58
- async rename(oldPath, newPath) {
59
- const data = storage.get(oldPath);
60
- if (data !== undefined) {
61
- storage.set(newPath, data);
62
- storage.delete(oldPath);
63
- }
64
- },
65
- async readDir(_path) {
66
- return [];
67
- },
68
- },
69
- tray: {
70
- async setIcon(_icon) { },
71
- async setTooltip(_tooltip) { },
72
- async setMenu(_menu) { },
73
- async show() { },
74
- async hide() { },
75
- },
76
- notification: {
77
- async send(options) {
78
- console.log('Mock notification:', options.title, options.body);
79
- },
80
- async requestPermission() {
81
- return 'granted';
82
- },
83
- async checkPermission() {
84
- return 'granted';
85
- },
86
- },
87
- async invoke(cmd, payload) {
88
- console.log('Mock invoke:', cmd, payload);
89
- return null;
90
- },
91
- async listen(event, handler) {
92
- if (!eventHandlers.has(event)) {
93
- eventHandlers.set(event, new Set());
94
- }
95
- eventHandlers.get(event).add(handler);
96
- return () => {
97
- eventHandlers.get(event)?.delete(handler);
98
- };
99
- },
100
- async emit(event, payload) {
101
- const handlers = eventHandlers.get(event);
102
- if (handlers) {
103
- const tauriEvent = { event, payload };
104
- handlers.forEach(h => h(tauriEvent));
105
- }
106
- },
107
- window: {
108
- async minimize() { },
109
- async maximize() { },
110
- async unmaximize() { },
111
- async close() { },
112
- async toggleFullscreen() { },
113
- async setTitle(_title) { },
114
- async show() { },
115
- async hide() { },
116
- async focus() { },
117
- },
118
- async checkForUpdates() {
119
- return null;
120
- },
121
- async installUpdate() { },
122
- };
123
- }
124
- /**
125
- * Create a Tauri-Praxis adapter for engine persistence
126
- *
127
- * @example
128
- * ```typescript
129
- * import { createTauriPraxisAdapter } from '@plures/praxis/integrations/tauri';
130
- *
131
- * const adapter = createTauriPraxisAdapter({
132
- * bridge: tauriBridge,
133
- * statePath: 'app-state.json',
134
- * eventsPath: 'app-events.json',
135
- * });
136
- *
137
- * // Save state
138
- * await adapter.saveState(engine.getContext());
139
- *
140
- * // Load state
141
- * const savedState = await adapter.loadState();
142
- * ```
143
- */
144
- export function createTauriPraxisAdapter(options) {
145
- const { bridge, statePath = 'praxis-state.json', eventsPath = 'praxis-events.json' } = options;
146
- return {
147
- async saveState(state) {
148
- const json = JSON.stringify(state, null, 2);
149
- await bridge.fs.writeTextFile(statePath, json);
150
- },
151
- async loadState() {
152
- try {
153
- const exists = await bridge.fs.exists(statePath);
154
- if (!exists)
155
- return null;
156
- const json = await bridge.fs.readTextFile(statePath);
157
- return JSON.parse(json);
158
- }
159
- catch {
160
- return null;
161
- }
162
- },
163
- async saveEvents(events) {
164
- const json = JSON.stringify(events, null, 2);
165
- await bridge.fs.writeTextFile(eventsPath, json);
166
- },
167
- async loadEvents() {
168
- try {
169
- const exists = await bridge.fs.exists(eventsPath);
170
- if (!exists)
171
- return [];
172
- const json = await bridge.fs.readTextFile(eventsPath);
173
- return JSON.parse(json);
174
- }
175
- catch {
176
- return [];
177
- }
178
- },
179
- async watchStateFile(_handler) {
180
- // In a real implementation, this would use Tauri's fs watch API
181
- // For now, we'll just return a no-op cleanup function
182
- console.log('File watching not implemented in mock');
183
- return () => { };
184
- },
185
- getStatePath() {
186
- return statePath;
187
- },
188
- getEventsPath() {
189
- return eventsPath;
190
- },
191
- };
192
- }
193
- /**
194
- * Attach Tauri bridge to a Praxis engine for auto-save
195
- *
196
- * @example
197
- * ```typescript
198
- * import { attachTauriToEngine } from '@plures/praxis/integrations/tauri';
199
- *
200
- * const cleanup = attachTauriToEngine(engine, adapter, {
201
- * autoSave: true,
202
- * saveInterval: 5000,
203
- * });
204
- *
205
- * // Later, cleanup subscriptions
206
- * cleanup();
207
- * ```
208
- */
209
- export function attachTauriToEngine(engine, adapter, options = {}) {
210
- const { autoSave = true, saveInterval = 5000 } = options;
211
- const cleanupFns = [];
212
- if (autoSave) {
213
- let saveTimer = null;
214
- let pendingSave = false;
215
- const debouncedSave = async () => {
216
- pendingSave = true;
217
- if (saveTimer)
218
- clearTimeout(saveTimer);
219
- saveTimer = setTimeout(async () => {
220
- if (pendingSave) {
221
- await adapter.saveState(engine.getContext());
222
- pendingSave = false;
223
- }
224
- }, saveInterval);
225
- };
226
- // Note: In a future implementation, this would hook into engine state changes
227
- // For now, we provide manual save on interval if state is dirty
228
- // The caller can trigger debouncedSave manually after engine.step() calls
229
- // Initial save setup - clean up timer on dispose
230
- cleanupFns.push(() => {
231
- if (saveTimer)
232
- clearTimeout(saveTimer);
233
- });
234
- // Expose a way to trigger save (for future use)
235
- void debouncedSave;
236
- }
237
- return () => {
238
- cleanupFns.forEach(fn => fn());
239
- };
240
- }
241
- /**
242
- * Generate Tauri configuration from Praxis app config
243
- */
244
- export function generateTauriConfig(config) {
245
- return {
246
- $schema: "https://raw.githubusercontent.com/tauri-apps/tauri/tauri-v2.0.0/core/tauri-config-schema/schema.json",
247
- productName: config.name,
248
- version: config.version,
249
- identifier: config.identifier,
250
- app: {
251
- windows: [
252
- {
253
- title: config.window?.title || config.name,
254
- width: config.window?.width || 800,
255
- height: config.window?.height || 600,
256
- minWidth: config.window?.minWidth,
257
- minHeight: config.window?.minHeight,
258
- resizable: config.window?.resizable ?? true,
259
- fullscreen: config.window?.fullscreen ?? false,
260
- decorations: config.window?.decorations ?? true,
261
- transparent: config.window?.transparent ?? false,
262
- alwaysOnTop: config.window?.alwaysOnTop ?? false,
263
- center: config.window?.center ?? true,
264
- },
265
- ],
266
- security: {
267
- csp: config.security?.csp || "default-src 'self'",
268
- devtools: config.security?.devTools ?? false,
269
- },
270
- },
271
- build: {
272
- devUrl: "http://localhost:5173",
273
- frontendDist: "../dist",
274
- },
275
- plugins: Object.fromEntries((config.plugins || []).map(p => [p.name, p.config || {}])),
276
- };
277
- }
278
- //# sourceMappingURL=tauri.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tauri.js","sourceRoot":"","sources":["../../../src/integrations/tauri.ts"],"names":[],"mappings":"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"}