flingit 0.0.65 → 0.0.67

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 (179) hide show
  1. package/dist/cli/commands/config.d.ts +2 -2
  2. package/dist/cli/commands/config.d.ts.map +1 -1
  3. package/dist/cli/commands/config.js +3 -3
  4. package/dist/cli/commands/config.js.map +1 -1
  5. package/dist/cli/commands/cron.d.ts +9 -9
  6. package/dist/cli/commands/cron.d.ts.map +1 -1
  7. package/dist/cli/commands/cron.js +8 -13
  8. package/dist/cli/commands/cron.js.map +1 -1
  9. package/dist/cli/commands/db.d.ts +13 -3
  10. package/dist/cli/commands/db.d.ts.map +1 -1
  11. package/dist/cli/commands/db.js +22 -5
  12. package/dist/cli/commands/db.js.map +1 -1
  13. package/dist/cli/commands/dev.d.ts +2 -2
  14. package/dist/cli/commands/dev.d.ts.map +1 -1
  15. package/dist/cli/commands/dev.js +15 -4
  16. package/dist/cli/commands/dev.js.map +1 -1
  17. package/dist/cli/commands/email.d.ts +4 -4
  18. package/dist/cli/commands/email.d.ts.map +1 -1
  19. package/dist/cli/commands/email.js +4 -3
  20. package/dist/cli/commands/email.js.map +1 -1
  21. package/dist/cli/commands/feedback.js +3 -3
  22. package/dist/cli/commands/feedback.js.map +1 -1
  23. package/dist/cli/commands/init.d.ts +2 -2
  24. package/dist/cli/commands/init.d.ts.map +1 -1
  25. package/dist/cli/commands/init.js +3 -3
  26. package/dist/cli/commands/init.js.map +1 -1
  27. package/dist/cli/commands/launch.d.ts +14 -14
  28. package/dist/cli/commands/launch.d.ts.map +1 -1
  29. package/dist/cli/commands/launch.js +12 -12
  30. package/dist/cli/commands/launch.js.map +1 -1
  31. package/dist/cli/commands/logs.d.ts +2 -2
  32. package/dist/cli/commands/logs.d.ts.map +1 -1
  33. package/dist/cli/commands/logs.js +4 -4
  34. package/dist/cli/commands/logs.js.map +1 -1
  35. package/dist/cli/commands/plugin.d.ts.map +1 -1
  36. package/dist/cli/commands/plugin.js +4 -3
  37. package/dist/cli/commands/plugin.js.map +1 -1
  38. package/dist/cli/commands/project.d.ts +2 -2
  39. package/dist/cli/commands/project.d.ts.map +1 -1
  40. package/dist/cli/commands/project.js +32 -22
  41. package/dist/cli/commands/project.js.map +1 -1
  42. package/dist/cli/commands/push.d.ts +1 -0
  43. package/dist/cli/commands/push.d.ts.map +1 -1
  44. package/dist/cli/commands/push.js +8 -8
  45. package/dist/cli/commands/push.js.map +1 -1
  46. package/dist/cli/commands/storage.d.ts +8 -11
  47. package/dist/cli/commands/storage.d.ts.map +1 -1
  48. package/dist/cli/commands/storage.js +16 -24
  49. package/dist/cli/commands/storage.js.map +1 -1
  50. package/dist/cli/commands/tunnel.js +2 -2
  51. package/dist/cli/commands/tunnel.js.map +1 -1
  52. package/dist/cli/commands/upgrade.d.ts +2 -2
  53. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  54. package/dist/cli/commands/upgrade.js +2 -2
  55. package/dist/cli/commands/upgrade.js.map +1 -1
  56. package/dist/cli/commands/whoami.d.ts.map +1 -1
  57. package/dist/cli/commands/whoami.js +4 -4
  58. package/dist/cli/commands/whoami.js.map +1 -1
  59. package/dist/cli/commands/workflow.d.ts +9 -9
  60. package/dist/cli/commands/workflow.d.ts.map +1 -1
  61. package/dist/cli/commands/workflow.js +8 -14
  62. package/dist/cli/commands/workflow.js.map +1 -1
  63. package/dist/cli/index.js +3 -3
  64. package/dist/cli/index.js.map +1 -1
  65. package/dist/cli/utils/cli-io-impl.d.ts +48 -26
  66. package/dist/cli/utils/cli-io-impl.d.ts.map +1 -1
  67. package/dist/cli/utils/cli-io-impl.js +124 -40
  68. package/dist/cli/utils/cli-io-impl.js.map +1 -1
  69. package/dist/cli/utils/cli-io.d.ts +57 -29
  70. package/dist/cli/utils/cli-io.d.ts.map +1 -1
  71. package/dist/cli/utils/cli-io.js +8 -4
  72. package/dist/cli/utils/cli-io.js.map +1 -1
  73. package/dist/cli/utils/config.d.ts +10 -10
  74. package/dist/cli/utils/config.d.ts.map +1 -1
  75. package/dist/cli/utils/config.js +1 -1
  76. package/dist/cli/utils/config.js.map +1 -1
  77. package/dist/cli/utils/duplicate-check.d.ts +3 -3
  78. package/dist/cli/utils/duplicate-check.d.ts.map +1 -1
  79. package/dist/cli/utils/duplicate-check.js.map +1 -1
  80. package/dist/cli/utils/email.d.ts +2 -1
  81. package/dist/cli/utils/email.d.ts.map +1 -1
  82. package/dist/cli/utils/email.js +8 -21
  83. package/dist/cli/utils/email.js.map +1 -1
  84. package/dist/cli/utils/format.d.ts +17 -0
  85. package/dist/cli/utils/format.d.ts.map +1 -0
  86. package/dist/cli/utils/format.js +30 -0
  87. package/dist/cli/utils/format.js.map +1 -0
  88. package/dist/cli/utils/project-name.d.ts +13 -4
  89. package/dist/cli/utils/project-name.d.ts.map +1 -1
  90. package/dist/cli/utils/project-name.js +28 -0
  91. package/dist/cli/utils/project-name.js.map +1 -1
  92. package/dist/cli/utils/project.d.ts +21 -8
  93. package/dist/cli/utils/project.d.ts.map +1 -1
  94. package/dist/cli/utils/project.js +16 -0
  95. package/dist/cli/utils/project.js.map +1 -1
  96. package/dist/cli/utils/prompt-new-project.d.ts +2 -2
  97. package/dist/cli/utils/prompt-new-project.d.ts.map +1 -1
  98. package/dist/cli/utils/prompt-new-project.js.map +1 -1
  99. package/dist/cli/utils/registry.d.ts +10 -10
  100. package/dist/cli/utils/registry.d.ts.map +1 -1
  101. package/dist/cli/utils/registry.js.map +1 -1
  102. package/dist/index.d.ts +2 -0
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +1 -0
  105. package/dist/index.js.map +1 -1
  106. package/dist/repo-shared/email-validation.d.ts +21 -0
  107. package/dist/repo-shared/email-validation.d.ts.map +1 -0
  108. package/dist/repo-shared/email-validation.js +30 -0
  109. package/dist/repo-shared/email-validation.js.map +1 -0
  110. package/dist/repo-shared/slug-validation.d.ts +29 -0
  111. package/dist/repo-shared/slug-validation.d.ts.map +1 -0
  112. package/dist/repo-shared/slug-validation.js +60 -0
  113. package/dist/repo-shared/slug-validation.js.map +1 -0
  114. package/dist/runtime/auth.d.ts +26 -0
  115. package/dist/runtime/auth.d.ts.map +1 -0
  116. package/dist/runtime/auth.js +241 -0
  117. package/dist/runtime/auth.js.map +1 -0
  118. package/dist/runtime/discord.d.ts +3 -2
  119. package/dist/runtime/discord.d.ts.map +1 -1
  120. package/dist/runtime/discord.js.map +1 -1
  121. package/dist/runtime/entry.d.ts +2 -0
  122. package/dist/runtime/entry.d.ts.map +1 -1
  123. package/dist/runtime/entry.js +9 -0
  124. package/dist/runtime/entry.js.map +1 -1
  125. package/dist/shared/constants.d.ts +1 -10
  126. package/dist/shared/constants.d.ts.map +1 -1
  127. package/dist/shared/constants.js +1 -10
  128. package/dist/shared/constants.js.map +1 -1
  129. package/dist/shared/hmac.d.ts +17 -0
  130. package/dist/shared/hmac.d.ts.map +1 -0
  131. package/dist/shared/hmac.js +37 -0
  132. package/dist/shared/hmac.js.map +1 -0
  133. package/dist/shared/plugin-metadata.d.ts.map +1 -1
  134. package/dist/shared/plugin-metadata.js +6 -4
  135. package/dist/shared/plugin-metadata.js.map +1 -1
  136. package/dist/worker-runtime/auth.d.ts +79 -0
  137. package/dist/worker-runtime/auth.d.ts.map +1 -0
  138. package/dist/worker-runtime/auth.js +425 -0
  139. package/dist/worker-runtime/auth.js.map +1 -0
  140. package/dist/worker-runtime/d1-event-store.d.ts +2 -1
  141. package/dist/worker-runtime/d1-event-store.d.ts.map +1 -1
  142. package/dist/worker-runtime/d1-event-store.js +26 -0
  143. package/dist/worker-runtime/d1-event-store.js.map +1 -1
  144. package/dist/worker-runtime/entry-extract.d.ts.map +1 -1
  145. package/dist/worker-runtime/entry-extract.js +1 -0
  146. package/dist/worker-runtime/entry-extract.js.map +1 -1
  147. package/dist/worker-runtime/entry.d.ts.map +1 -1
  148. package/dist/worker-runtime/entry.js +24 -16
  149. package/dist/worker-runtime/entry.js.map +1 -1
  150. package/dist/worker-runtime/index.d.ts +2 -0
  151. package/dist/worker-runtime/index.d.ts.map +1 -1
  152. package/dist/worker-runtime/index.js +2 -0
  153. package/dist/worker-runtime/index.js.map +1 -1
  154. package/dist/worker-runtime/types.d.ts +2 -0
  155. package/dist/worker-runtime/types.d.ts.map +1 -1
  156. package/dist/workflow/runtime.d.ts +3 -0
  157. package/dist/workflow/runtime.d.ts.map +1 -1
  158. package/dist/workflow/runtime.js +37 -4
  159. package/dist/workflow/runtime.js.map +1 -1
  160. package/node_modules/flingflow/README.md +10 -0
  161. package/node_modules/flingflow/SPEC.md +0 -4
  162. package/node_modules/flingflow/TESTING.md +2 -0
  163. package/node_modules/flingflow/dist/index.d.ts +1 -1
  164. package/node_modules/flingflow/dist/store-memory.d.ts +2 -1
  165. package/node_modules/flingflow/dist/store-memory.js +36 -0
  166. package/node_modules/flingflow/dist/store-memory.js.map +1 -1
  167. package/node_modules/flingflow/dist/store-sqlite.d.ts +2 -1
  168. package/node_modules/flingflow/dist/store-sqlite.js +45 -0
  169. package/node_modules/flingflow/dist/store-sqlite.js.map +1 -1
  170. package/node_modules/flingflow/dist/store.d.ts +5 -0
  171. package/node_modules/flingflow/src/index.ts +1 -1
  172. package/node_modules/flingflow/src/store-memory.ts +40 -0
  173. package/node_modules/flingflow/src/store-sqlite.ts +47 -0
  174. package/node_modules/flingflow/src/store.ts +6 -0
  175. package/node_modules/flingflow/test/store-conformance.ts +42 -0
  176. package/package.json +3 -3
  177. package/templates/default/dot-claude/skills/fling/.hash +1 -1
  178. package/templates/default/dot-claude/skills/fling/SKILL.md +4 -2
  179. package/templates/default/dot-claude/skills/fling/references/AUTH.md +149 -0
@@ -1 +1 @@
1
- {"version":3,"file":"store-memory.js","sourceRoot":"","sources":["../src/store-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-memory.js","sourceRoot":"","sources":["../src/store-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAe,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAsB,MAAM,YAAY,CAAC;AACtE,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,GAMxB,MAAM,YAAY,CAAC;AAEpB,SAAS,OAAO,CAAC,CAAU;IACzB,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,OAAO,gBAAgB;IACnB,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IAChD,OAAO,CAA8B;IAE7C,YAAY,OAAyD;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,KAAK,CAAC;QAC9B,oFAAoF;IACtF,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,UAAU;QACd,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,SAAS,CAAC,KAAoB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;IAC3C,CAAC;IAEO,aAAa,CAAC,KAAa;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC5B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO;QACvC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAEO,kBAAkB,CAAC,KAAoB;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7C,0CAA0C;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,QAAQ,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;YAC/C,OAAO,IAAI,uBAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAoB,EAAE,GAAmB;QACpD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEjD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAE1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAuB,EAAE,GAAmB;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,OAAO,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,mCAAmC;YACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;YAED,+CAA+C;YAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,GAAG,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YACD,kBAAkB;YAClB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,UAAkB,EAClB,KAAoB,EACpB,GAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,uCAAuC,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,4DAA4D;YAC5D,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;oBAAE,SAAS;gBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACvF,OAAO,GAAG,CAAC,IAAI,0BAA0B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAE1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,sCAAsC,EAAE,UAAU,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,GAAmB;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,MAA4B,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAE,GAAmB;QAC5D,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,uBAAuB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,MAA4B,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,IAAI,KAAK,SAAS;oBAAE,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,GAAmB;QACzD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,SAAS,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;gBACD,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;YACD,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,KAAK,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;oBAC1C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,GAAmB;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,GAAmB;QACpD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAmB;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;oBAAE,SAAS;gBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,MAAc,EAAE,GAAmB;QAClE,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,yCAAyC,EAAE,MAAM,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,MAAmB,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;oBAAE,SAAS;gBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC;oBACjF,SAAS;gBACX,CAAC;gBAED,UAAU,EAAE,CAAC;gBACb,YAAY,IAAI,GAAG,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;CACF"}
@@ -2,7 +2,7 @@ import Database from "better-sqlite3";
2
2
  import { type Result } from "neverthrow";
3
3
  import type { SimulationTask } from "determined";
4
4
  import type { WorkflowEvent } from "./types.js";
5
- import { type EventStore, type EventStoreCheck, type AppendError, type AppendIfNoActiveError } from "./store.js";
5
+ import { type EventStore, type EventStoreCheck, type AppendError, type AppendIfNoActiveError, type PruneResult } from "./store.js";
6
6
  export declare class SqliteEventStore implements EventStore {
7
7
  private db;
8
8
  private checkFn;
@@ -26,5 +26,6 @@ export declare class SqliteEventStore implements EventStore {
26
26
  getAllEvents(runId: string, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
27
27
  getRecentRuns(limit: number, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
28
28
  getActiveWorkflows(sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
29
+ pruneTerminalRunsOlderThan(cutoff: number, sim: SimulationTask): Promise<Result<PruneResult, Error>>;
29
30
  close(): void;
30
31
  }
@@ -393,6 +393,51 @@ export class SqliteEventStore {
393
393
  }
394
394
  return ok(results);
395
395
  }
396
+ async pruneTerminalRunsOlderThan(cutoff, sim) {
397
+ try {
398
+ await sim.failpoint("store.pruneTerminalRunsOlderThan:before", cutoff);
399
+ }
400
+ catch (e) {
401
+ return err(toError(e));
402
+ }
403
+ let result;
404
+ try {
405
+ const runIds = this.db.prepare(`
406
+ SELECT e.run_id FROM ${this.table} e
407
+ INNER JOIN (
408
+ SELECT run_id, MAX(seq) as max_seq
409
+ FROM ${this.table}
410
+ GROUP BY run_id
411
+ ) latest ON e.run_id = latest.run_id AND e.seq = latest.max_seq
412
+ WHERE e.event_type IN ('workflow_completed', 'workflow_failed')
413
+ AND e.created_at < ?
414
+ `).all(cutoff);
415
+ if (runIds.length === 0) {
416
+ result = { prunedRuns: 0, prunedEvents: 0 };
417
+ }
418
+ else {
419
+ const deleteStmt = this.db.prepare(`DELETE FROM ${this.table} WHERE run_id = ?`);
420
+ const transaction = this.db.transaction((ids) => {
421
+ let prunedEvents = 0;
422
+ for (const runId of ids) {
423
+ prunedEvents += deleteStmt.run(runId).changes;
424
+ }
425
+ return { prunedRuns: ids.length, prunedEvents };
426
+ });
427
+ result = transaction(runIds.map((row) => row.run_id));
428
+ }
429
+ }
430
+ catch (e) {
431
+ return err(toError(e));
432
+ }
433
+ try {
434
+ await sim.failpoint("store.pruneTerminalRunsOlderThan:after", cutoff);
435
+ }
436
+ catch (e) {
437
+ return err(toError(e));
438
+ }
439
+ return ok(result);
440
+ }
396
441
  close() {
397
442
  this.db.close();
398
443
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store-sqlite.js","sourceRoot":"","sources":["../src/store-sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAe,MAAM,YAAY,CAAC;AAGlD,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,GAKxB,MAAM,YAAY,CAAC;AAEpB,SAAS,OAAO,CAAC,CAAU;IACzB,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAWD,SAAS,uBAAuB,CAAC,CAAU;IACzC,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,SAAS,GAAG,CAA8B,CAAC;IACjD,OAAO,SAAS,CAAC,IAAI,KAAK,8BAA8B,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,OAAO,gBAAgB;IACnB,EAAE,CAAoB;IACtB,OAAO,CAA8B;IACrC,KAAK,CAAS;IAEtB,YAAY,QAAoC,EAAE,OAAyD;QACzG,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,IAAI,iBAAiB,CAAC;IACvD,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;qCACkB,IAAI,CAAC,KAAK;;;;;;;;;;yCAUN,IAAI,CAAC,KAAK;aACtC,IAAI,CAAC,KAAK;;yCAEkB,IAAI,CAAC,KAAK;aACtC,IAAI,CAAC,KAAK;OAChB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,KAAoB;QAChC,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;YACtC,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IAEO,OAAO,CAAC,GAAa;QAC3B,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAA6B;YAC5D,UAAU,EAAE,GAAG,CAAC,UAAU;SACV,CAAC;IACrB,CAAC;IAEO,aAAa,CAAC,KAAa;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,iBAAiB,IAAI,CAAC,KAAK,oCAAoC,CAChE,CAAC,GAAG,CAAC,KAAK,CAAe,CAAC;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC5B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO;QACvC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAEO,kBAAkB,CAAC,KAAoB;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,2BAA2B,IAAI,CAAC,KAAK,2BAA2B,CACjE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAwC,CAAC;QAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;YAC/D,OAAO,IAAI,uBAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAoB,EAAE,GAAmB;QACpD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;wBACA,IAAI,CAAC,KAAK;;SAEzB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/B,OAAO,GAAG,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjE,CAAC;gBACD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAuB,EAAE,GAAmB;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,OAAO,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,mCAAmC;YACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;sBACf,IAAI,CAAC,KAAK;;OAEzB,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAqB,EAAE,EAAE;gBAChE,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChC,CAAC;oBAAC,OAAO,CAAU,EAAE,CAAC;wBACpB,IAAI,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC/B,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC3D,CAAC;wBACD,MAAM,CAAC,CAAC;oBACV,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,WAAW,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,YAAY,qBAAqB,EAAE,CAAC;oBACvC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC;gBACD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,UAAkB,EAClB,KAAoB,EACpB,GAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,uCAAuC,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;sBACnB,IAAI,CAAC,KAAK;;OAEzB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;+BACT,IAAI,CAAC,KAAK;;oDAEW,IAAI,CAAC,KAAK;;;;;OAKvD,CAAC,CAAC;YAIH,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAgB,EAAE;gBACxD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAmC,CAAC;gBAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,GAAG,CAAC,IAAI,0BAA0B,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,CAAC;oBACH,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,IAAI,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/B,OAAO,GAAG,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjE,CAAC;oBACD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;gBACD,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,sCAAsC,EAAE,UAAU,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,GAAmB;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,MAA4B,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;wBACV,IAAI,CAAC,KAAK;;;;OAI3B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAyB,CAAC;YACtC,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAE,GAAmB;QAC5D,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,uBAAuB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,MAA4B,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;wBACV,IAAI,CAAC,KAAK;;OAE3B,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAyB,CAAC;YAC3C,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,GAAmB;QACzD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;wBACX,IAAI,CAAC,KAAK;;;OAG3B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAe,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,GAAmB;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,GAAmB;QACpD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,iBAAiB,IAAI,CAAC,KAAK,iDAAiD,CAC7E,CAAC,GAAG,CAAC,KAAK,CAAe,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAmB;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;0BACT,IAAI,CAAC,KAAK;;;iBAGnB,IAAI,CAAC,KAAK;;;;OAIpB,CAAC,CAAC,GAAG,EAAgB,CAAC;YACvB,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"store-sqlite.js","sourceRoot":"","sources":["../src/store-sqlite.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@ export declare class WorkflowIdMismatchError extends Error {
14
14
  export type EventStoreCheck = (runId: string, allEvents: WorkflowEvent[]) => void;
15
15
  export type AppendError = UniqueConstraintError | WorkflowIdMismatchError | Error;
16
16
  export type AppendIfNoActiveError = WorkflowAlreadyActiveError | UniqueConstraintError | Error;
17
+ export interface PruneResult {
18
+ prunedRuns: number;
19
+ prunedEvents: number;
20
+ }
17
21
  /**
18
22
  * Event payloads are stored as JSON. This means:
19
23
  * - `undefined` values in objects are silently dropped
@@ -36,4 +40,5 @@ export interface EventStore {
36
40
  getAllEvents(runId: string, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
37
41
  getActiveWorkflows(sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
38
42
  getRecentRuns(limit: number, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
43
+ pruneTerminalRunsOlderThan(cutoff: number, sim: SimulationTask): Promise<Result<PruneResult, Error>>;
39
44
  }
@@ -31,7 +31,7 @@ export type { TransitionResult } from "./transitions.js";
31
31
  export { resolveTransition } from "./transitions.js";
32
32
 
33
33
  // Store
34
- export type { EventStore, EventStoreCheck, AppendError, AppendIfNoActiveError } from "./store.js";
34
+ export type { EventStore, EventStoreCheck, AppendError, AppendIfNoActiveError, PruneResult } from "./store.js";
35
35
  export { UniqueConstraintError, WorkflowAlreadyActiveError, WorkflowIdMismatchError } from "./store.js";
36
36
  export { MemoryEventStore } from "./store-memory.js";
37
37
  export { SqliteEventStore } from "./store-sqlite.js";
@@ -10,6 +10,7 @@ import {
10
10
  type EventStoreCheck,
11
11
  type AppendError,
12
12
  type AppendIfNoActiveError,
13
+ type PruneResult,
13
14
  } from "./store.js";
14
15
 
15
16
  function toError(e: unknown): Error {
@@ -375,4 +376,43 @@ export class MemoryEventStore implements EventStore {
375
376
 
376
377
  return ok(results);
377
378
  }
379
+
380
+ async pruneTerminalRunsOlderThan(cutoff: number, sim: SimulationTask): Promise<Result<PruneResult, Error>> {
381
+ try {
382
+ await sim.failpoint("store.pruneTerminalRunsOlderThan:before", cutoff);
383
+ } catch (e: unknown) {
384
+ return err(toError(e));
385
+ }
386
+
387
+ let result: PruneResult;
388
+ try {
389
+ let prunedRuns = 0;
390
+ let prunedEvents = 0;
391
+
392
+ for (const [runId, map] of this.events) {
393
+ if (map.size === 0) continue;
394
+ const maxSeq = Math.max(...map.keys());
395
+ const last = this.deserialize(defined(map.get(maxSeq)));
396
+ if (!TERMINAL_EVENT_TYPES.includes(last.event_type) || last.created_at >= cutoff) {
397
+ continue;
398
+ }
399
+
400
+ prunedRuns++;
401
+ prunedEvents += map.size;
402
+ this.events.delete(runId);
403
+ }
404
+
405
+ result = { prunedRuns, prunedEvents };
406
+ } catch (e: unknown) {
407
+ return err(toError(e));
408
+ }
409
+
410
+ try {
411
+ await sim.failpoint("store.pruneTerminalRunsOlderThan:after", cutoff);
412
+ } catch (e: unknown) {
413
+ return err(toError(e));
414
+ }
415
+
416
+ return ok(result);
417
+ }
378
418
  }
@@ -10,6 +10,7 @@ import {
10
10
  type EventStoreCheck,
11
11
  type AppendError,
12
12
  type AppendIfNoActiveError,
13
+ type PruneResult,
13
14
  } from "./store.js";
14
15
 
15
16
  function toError(e: unknown): Error {
@@ -445,6 +446,52 @@ export class SqliteEventStore implements EventStore {
445
446
  return ok(results);
446
447
  }
447
448
 
449
+ async pruneTerminalRunsOlderThan(cutoff: number, sim: SimulationTask): Promise<Result<PruneResult, Error>> {
450
+ try {
451
+ await sim.failpoint("store.pruneTerminalRunsOlderThan:before", cutoff);
452
+ } catch (e: unknown) {
453
+ return err(toError(e));
454
+ }
455
+
456
+ let result: PruneResult;
457
+ try {
458
+ const runIds = this.db.prepare(`
459
+ SELECT e.run_id FROM ${this.table} e
460
+ INNER JOIN (
461
+ SELECT run_id, MAX(seq) as max_seq
462
+ FROM ${this.table}
463
+ GROUP BY run_id
464
+ ) latest ON e.run_id = latest.run_id AND e.seq = latest.max_seq
465
+ WHERE e.event_type IN ('workflow_completed', 'workflow_failed')
466
+ AND e.created_at < ?
467
+ `).all(cutoff) as { run_id: string }[];
468
+
469
+ if (runIds.length === 0) {
470
+ result = { prunedRuns: 0, prunedEvents: 0 };
471
+ } else {
472
+ const deleteStmt = this.db.prepare(`DELETE FROM ${this.table} WHERE run_id = ?`);
473
+ const transaction = this.db.transaction((ids: string[]): PruneResult => {
474
+ let prunedEvents = 0;
475
+ for (const runId of ids) {
476
+ prunedEvents += deleteStmt.run(runId).changes;
477
+ }
478
+ return { prunedRuns: ids.length, prunedEvents };
479
+ });
480
+ result = transaction(runIds.map((row) => row.run_id));
481
+ }
482
+ } catch (e: unknown) {
483
+ return err(toError(e));
484
+ }
485
+
486
+ try {
487
+ await sim.failpoint("store.pruneTerminalRunsOlderThan:after", cutoff);
488
+ } catch (e: unknown) {
489
+ return err(toError(e));
490
+ }
491
+
492
+ return ok(result);
493
+ }
494
+
448
495
  close(): void {
449
496
  this.db.close();
450
497
  }
@@ -30,6 +30,11 @@ export type EventStoreCheck = (runId: string, allEvents: WorkflowEvent[]) => voi
30
30
  export type AppendError = UniqueConstraintError | WorkflowIdMismatchError | Error;
31
31
  export type AppendIfNoActiveError = WorkflowAlreadyActiveError | UniqueConstraintError | Error;
32
32
 
33
+ export interface PruneResult {
34
+ prunedRuns: number;
35
+ prunedEvents: number;
36
+ }
37
+
33
38
  /**
34
39
  * Event payloads are stored as JSON. This means:
35
40
  * - `undefined` values in objects are silently dropped
@@ -52,4 +57,5 @@ export interface EventStore {
52
57
  getAllEvents(runId: string, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
53
58
  getActiveWorkflows(sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
54
59
  getRecentRuns(limit: number, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
60
+ pruneTerminalRunsOlderThan(cutoff: number, sim: SimulationTask): Promise<Result<PruneResult, Error>>;
55
61
  }
@@ -326,6 +326,48 @@ export function storeConformanceTests(name: string, createStore: () => Promise<E
326
326
  expect(runIds).toContain("run-done");
327
327
  });
328
328
 
329
+ it("pruneTerminalRunsOlderThan removes all events for terminal runs older than the cutoff", async () => {
330
+ (await store.appendBatch([
331
+ { run_id: "run-old-done", workflow_id: "wf-old-done", seq: 0, event_type: "workflow_created", payload: { workflowName: "test", writes: {}, config: TEST_CONFIG }, created_at: 1000 },
332
+ { run_id: "run-old-done", workflow_id: "wf-old-done", seq: 1, event_type: "step_completed", payload: { step: "start", writes: {} }, created_at: 1100 },
333
+ { run_id: "run-old-done", workflow_id: "wf-old-done", seq: 2, event_type: "workflow_completed", payload: { result: "ok" }, created_at: 2000 },
334
+ ], noSim))._unsafeUnwrap();
335
+
336
+ (await store.appendBatch([
337
+ { run_id: "run-old-fail", workflow_id: "wf-old-fail", seq: 0, event_type: "workflow_created", payload: { workflowName: "test", writes: {}, config: TEST_CONFIG }, created_at: 1200 },
338
+ { run_id: "run-old-fail", workflow_id: "wf-old-fail", seq: 1, event_type: "step_failed", payload: { step: "start", attempt: 1, reason: "boom", retryable: false }, created_at: 1300 },
339
+ { run_id: "run-old-fail", workflow_id: "wf-old-fail", seq: 2, event_type: "workflow_failed", payload: { reason: "boom", cause: "non_retryable" }, created_at: 2100 },
340
+ ], noSim))._unsafeUnwrap();
341
+
342
+ const result = (await store.pruneTerminalRunsOlderThan(3000, noSim))._unsafeUnwrap();
343
+ expect(result).toEqual({ prunedRuns: 2, prunedEvents: 6 });
344
+ expect((await store.getAllEvents("run-old-done", noSim))._unsafeUnwrap()).toEqual([]);
345
+ expect((await store.getAllEvents("run-old-fail", noSim))._unsafeUnwrap()).toEqual([]);
346
+ });
347
+
348
+ it("pruneTerminalRunsOlderThan keeps active runs and runs whose terminal event is recent", async () => {
349
+ (await store.appendBatch([
350
+ { run_id: "run-active", workflow_id: "wf-active", seq: 0, event_type: "workflow_created", payload: { workflowName: "test", writes: {}, config: TEST_CONFIG }, created_at: 1000 },
351
+ { run_id: "run-active", workflow_id: "wf-active", seq: 1, event_type: "step_started", payload: { step: "start", attempt: 1 }, created_at: 2000 },
352
+ ], noSim))._unsafeUnwrap();
353
+
354
+ (await store.appendBatch([
355
+ { run_id: "run-recent-terminal", workflow_id: "wf-recent-terminal", seq: 0, event_type: "workflow_created", payload: { workflowName: "test", writes: {}, config: TEST_CONFIG }, created_at: 1000 },
356
+ { run_id: "run-recent-terminal", workflow_id: "wf-recent-terminal", seq: 1, event_type: "workflow_completed", payload: { result: "ok" }, created_at: 4000 },
357
+ ], noSim))._unsafeUnwrap();
358
+
359
+ (await store.appendBatch([
360
+ { run_id: "run-old-created-recent-terminal", workflow_id: "wf-old-created-recent-terminal", seq: 0, event_type: "workflow_created", payload: { workflowName: "test", writes: {}, config: TEST_CONFIG }, created_at: 100 },
361
+ { run_id: "run-old-created-recent-terminal", workflow_id: "wf-old-created-recent-terminal", seq: 1, event_type: "workflow_completed", payload: { result: "ok" }, created_at: 4500 },
362
+ ], noSim))._unsafeUnwrap();
363
+
364
+ const result = (await store.pruneTerminalRunsOlderThan(3000, noSim))._unsafeUnwrap();
365
+ expect(result).toEqual({ prunedRuns: 0, prunedEvents: 0 });
366
+ expect((await store.getAllEvents("run-active", noSim))._unsafeUnwrap()).toHaveLength(2);
367
+ expect((await store.getAllEvents("run-recent-terminal", noSim))._unsafeUnwrap()).toHaveLength(2);
368
+ expect((await store.getAllEvents("run-old-created-recent-terminal", noSim))._unsafeUnwrap()).toHaveLength(2);
369
+ });
370
+
329
371
  it("rejects appending event with mismatched workflow_id for existing run_id", async () => {
330
372
  (await store.append({
331
373
  run_id: "run-1", workflow_id: "wf-1", seq: 0, event_type: "workflow_created",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flingit",
3
- "version": "0.0.65",
3
+ "version": "0.0.67",
4
4
  "description": "Small Software Platform - Build and deploy personal tools through conversation",
5
5
  "type": "module",
6
6
  "engines": {
@@ -84,7 +84,7 @@
84
84
  "dependencies": {
85
85
  "@clack/prompts": "^0.11.0",
86
86
  "determined": "^0.1.0",
87
- "@hono/node-server": "^1.19.11",
87
+ "@hono/node-server": "^2.0.1",
88
88
  "@hono/zod-validator": "^0.7.6",
89
89
  "aws4fetch": "^1.0.20",
90
90
  "better-sqlite3": "^12.6.2",
@@ -95,7 +95,7 @@
95
95
  "esbuild": "^0.27.2",
96
96
  "flingflow": "*",
97
97
  "neverthrow": "^8.2.0",
98
- "hono": "^4.12.7",
98
+ "hono": "^4.12.18",
99
99
  "postal-mime": "^2.7.3",
100
100
  "tsx": "^4.19.0",
101
101
  "zod": "^4"
@@ -1 +1 @@
1
- 3967bbd0369b234b644298e4e6435cdf
1
+ ebfc9d9d449a1e9fca9c2bce6e2d2978
@@ -251,7 +251,7 @@ Slugs must be:
251
251
 
252
252
  ### Authentication
253
253
 
254
- If the user isn't logged in (no token stored), help them authenticate. Tell the user explicitly that you can log them in or sign them up, and that they don't need to go anywhere or do anything to do that, other than telling you.
254
+ If the user isn't logged in to Fling (no token stored), help them authenticate. Tell the user explicitly that you can log them in or sign them up, and that they don't need to go anywhere or do anything to do that, other than telling you.
255
255
 
256
256
  **New user:** Sign up with email and name:
257
257
  ```bash
@@ -328,7 +328,7 @@ This gives collaborators:
328
328
  - **Database operations cannot be at module top-level** - They must be inside route handlers or functions called by them.
329
329
  - **Secrets throw on missing** - No default values. Use `fling secret set` to configure.
330
330
  - **Use workflows for long-running or important cron jobs** - Cron jobs should not run more than a few minutes. For longer jobs, as well as for cron jobs that must run even if failures happen, kick off a workflow.
331
- - **Use /api prefix for backend routes** - Required for Vite proxy during development.
331
+ - **Use /api prefix for backend routes** - Required for Vite proxy during development. Built-in auth routes live under `/api/auth/*` so they work with the same proxy.
332
332
  - **Run commands yourself** - You have bash access. Don't ask the user to run `fling it`, `fling dev`, `npm start`, etc. Execute them directly.
333
333
  - **Reserved paths (`/__*`)** - Paths starting with `/__` are reserved for internal platform use (e.g., `/__cron` for cron jobs). Do not create routes with these prefixes.
334
334
  - **Feedback** - If the user encounters problems that directly or indirectly have to do with fling, suggest to them leaving feedback. Details in `references/FEEDBACK.md`.
@@ -340,6 +340,8 @@ This gives collaborators:
340
340
 
341
341
  **IMPORTANT: Migrations MUST be idempotent** (safe to run multiple times).
342
342
 
343
+ **IMPORTANT: Tables MUST not have more than 100 columns**: There is a hard limit on this in deployed flings, even though it will works locally. Design schemas to stay under 100 columns. Split wide tables into related tables joined by foreign keys, or move rarely-used fields into a JSON column.
344
+
343
345
  Use the `migrate` helper for schema changes:
344
346
 
345
347
  ```typescript
@@ -0,0 +1,149 @@
1
+ # Auth Skill
2
+
3
+ Add Google sign-in to your Fling app. Users authenticate with their Google account, and you get their email, name, and profile picture.
4
+
5
+ ## Quick Reference
6
+
7
+ ```typescript
8
+ import { app, auth } from "flingit";
9
+
10
+ // Enable auth (all Google accounts can sign in)
11
+ auth.allow();
12
+
13
+ // Or restrict to specific email domains
14
+ auth.allow({ domains: ["company.com", "partner.org"] });
15
+
16
+ // Require auth on specific routes (returns 401 if not signed in)
17
+ app.use("/api/*", auth.require());
18
+
19
+ // Get the current user (returns null if not signed in)
20
+ app.get("/api/me", async (c) => {
21
+ const user = await auth.user(c);
22
+ // user: { email: string, name: string, picture?: string } | null
23
+ return c.json(user);
24
+ });
25
+ ```
26
+
27
+ ## Built-in Routes
28
+
29
+ When you use any `auth` function, these routes are automatically added:
30
+
31
+ | Route | Purpose |
32
+ |-------|---------|
33
+ | `GET /api/auth/signin/google` | Redirects to Google sign-in when deployed; shows a dummy login form in `fling dev` |
34
+ | `POST /api/auth/signin/google` | Local dev only: accepts the dummy login form or cancel action |
35
+ | `GET /api/auth/callback` | Deployed only: handles the OAuth callback (sets session cookie) |
36
+ | `GET /api/auth/signout` | Clears the session cookie, redirects to app home |
37
+
38
+ ## API
39
+
40
+ ### `auth.allow(options?)`
41
+
42
+ Enable authentication. Call this at the top level of your worker code.
43
+
44
+ ```typescript
45
+ // Allow all Google accounts
46
+ auth.allow();
47
+
48
+ // Restrict to specific email domains
49
+ auth.allow({ domains: ["company.com"] });
50
+
51
+ // Custom session duration (default: 30 days)
52
+ auth.allow({ sessionMaxAge: 3600 }); // 1 hour
53
+ ```
54
+
55
+ ### `auth.require()`
56
+
57
+ Returns Hono middleware that rejects unauthenticated requests with `401`.
58
+
59
+ ```typescript
60
+ // Protect all /api routes
61
+ app.use("/api/*", auth.require());
62
+
63
+ // Protect a specific route
64
+ app.use("/admin/*", auth.require());
65
+ ```
66
+
67
+ ### `auth.user(c)`
68
+
69
+ Get the current user from a request context. Returns `null` if not signed in.
70
+
71
+ ```typescript
72
+ app.get("/api/profile", async (c) => {
73
+ const user = await auth.user(c);
74
+ if (!user) {
75
+ return c.json({ error: "Not signed in" }, 401);
76
+ }
77
+ return c.json({
78
+ email: user.email, // "user@example.com"
79
+ name: user.name, // "Jane Doe"
80
+ picture: user.picture // "https://..." (may be undefined)
81
+ });
82
+ });
83
+ ```
84
+
85
+ ## Common Patterns
86
+
87
+ ### Public app with optional sign-in
88
+
89
+ ```typescript
90
+ import { app, auth } from "flingit";
91
+
92
+ auth.allow();
93
+
94
+ app.get("/api/data", async (c) => {
95
+ const user = await auth.user(c);
96
+ if (user) {
97
+ return c.json({ data: "personalized for " + user.name });
98
+ }
99
+ return c.json({ data: "public data" });
100
+ });
101
+ ```
102
+
103
+ ### Internal tool restricted to your company
104
+
105
+ ```typescript
106
+ import { app, auth } from "flingit";
107
+
108
+ auth.allow({ domains: ["mycompany.com"] });
109
+ app.use("/api/*", auth.require());
110
+
111
+ app.get("/api/dashboard", async (c) => {
112
+ const user = await auth.user(c);
113
+ return c.json({ welcome: user!.name });
114
+ });
115
+ ```
116
+
117
+ ### Frontend sign-in link
118
+
119
+ ```typescript
120
+ <a href="/api/auth/signin/google">Sign in with Google</a>
121
+ ```
122
+
123
+ Or redirect programmatically:
124
+
125
+ ```typescript
126
+ // Redirect to sign in, then come back to current page
127
+ window.location.href = `/api/auth/signin/google?redirect=${encodeURIComponent(window.location.pathname)}`;
128
+ ```
129
+
130
+ ### Sign out
131
+
132
+ ```typescript
133
+ <a href="/api/auth/signout">Sign out</a>
134
+ ```
135
+
136
+ ## Local Development
137
+
138
+ In `fling dev`, `/api/auth/signin/google` shows a local-only dummy login screen instead of contacting Google. Enter an email and optional name, then click **Login** to create a local dev session. Click **Cancel** to return to the requested page with `auth_error=cancelled` and no session.
139
+
140
+ Local dummy login respects `auth.allow({ domains })`, so you can test allowed-domain behavior before deploying. It is only for development; deployed apps use the platform login worker and real Google OAuth.
141
+
142
+ ## Notes
143
+
144
+ - Auth is **opt-in** — your app has zero auth overhead unless you call `auth.allow()`, `auth.require()`, or `auth.user()`
145
+ - Sessions last 30 days by default (configurable via `sessionMaxAge`)
146
+ - The deployed session cookie is `HttpOnly`, `Secure`, and `SameSite=Lax`; local dev omits `Secure` so browsers send the cookie over `http://localhost`
147
+ - No setup commands needed — auth works immediately after `fling push`
148
+ - Local `fling dev` can exercise authenticated app flows with the dummy login screen; real Google sign-in requires a deployed app because the platform login worker signs callback tokens with the deployed worker secret
149
+ - In private workers.dev deployments, auth redirects preserve the `/<project-slug>` path prefix automatically