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