aimeat 2.4.0 → 2.6.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 (308) hide show
  1. package/dist/.env.example +33 -0
  2. package/dist/build-stamp.json +13 -0
  3. package/dist/locales/en.json +186 -20
  4. package/dist/locales/fi.json +186 -20
  5. package/dist/public/components/VoiceRecorder.js +116 -0
  6. package/dist/public/connection-done.html +53 -0
  7. package/dist/public/css/components/voice-recorder.css +66 -0
  8. package/dist/public/css/views/inbox.css +41 -0
  9. package/dist/public/css/views/profile.css +171 -95
  10. package/dist/public/css/views/transparency.css +5 -0
  11. package/dist/public/js/services/audio-recorder.js +171 -0
  12. package/dist/public/js/services/messages.js +21 -2
  13. package/dist/public/spa.html +3 -0
  14. package/dist/public/views/landing.js +4 -0
  15. package/dist/public/views/profile/access-tab/connections.js +264 -0
  16. package/dist/public/views/profile/access-tab.js +2 -0
  17. package/dist/public/views/profile/ai-transparency-card.js +22 -17
  18. package/dist/public/views/profile/inbox-tab/components.js +60 -10
  19. package/dist/public/views/profile/inbox-tab/helpers.js +33 -0
  20. package/dist/public/views/profile/inbox-tab/panels.js +6 -1
  21. package/dist/public/views/profile/inbox-tab/use-voice.js +50 -0
  22. package/dist/public/views/profile/inbox-tab/voice-parts.js +111 -0
  23. package/dist/public/views/profile/inbox-tab.js +18 -24
  24. package/dist/public/views/profile/openrouter/budget-panel.js +224 -0
  25. package/dist/public/views/profile/openrouter/model-picker.js +150 -0
  26. package/dist/public/views/profile/openrouter/pricing.js +139 -0
  27. package/dist/public/views/profile/openrouter-settings.js +425 -488
  28. package/dist/public/views/transparency.js +50 -0
  29. package/dist/scripts/build-sdk-libs.d.ts.map +1 -1
  30. package/dist/scripts/build-sdk-libs.js +1 -0
  31. package/dist/scripts/build-sdk-libs.js.map +1 -1
  32. package/dist/scripts/check-ai-disclosure.d.ts.map +1 -1
  33. package/dist/scripts/check-ai-disclosure.js +182 -0
  34. package/dist/scripts/check-ai-disclosure.js.map +1 -1
  35. package/dist/src/cli/connect/ai-provenance-carry.d.ts +247 -0
  36. package/dist/src/cli/connect/ai-provenance-carry.d.ts.map +1 -0
  37. package/dist/src/cli/connect/ai-provenance-carry.js +334 -0
  38. package/dist/src/cli/connect/ai-provenance-carry.js.map +1 -0
  39. package/dist/src/cli/connect/api-client.d.ts +11 -0
  40. package/dist/src/cli/connect/api-client.d.ts.map +1 -1
  41. package/dist/src/cli/connect/api-client.js +2 -0
  42. package/dist/src/cli/connect/api-client.js.map +1 -1
  43. package/dist/src/cli/connect/mcp/local-server.d.ts.map +1 -1
  44. package/dist/src/cli/connect/mcp/local-server.js +11 -0
  45. package/dist/src/cli/connect/mcp/local-server.js.map +1 -1
  46. package/dist/src/cli/connect/mcp/tools/agent-messages.d.ts +2 -0
  47. package/dist/src/cli/connect/mcp/tools/agent-messages.d.ts.map +1 -1
  48. package/dist/src/cli/connect/mcp/tools/agent-messages.js +5 -2
  49. package/dist/src/cli/connect/mcp/tools/agent-messages.js.map +1 -1
  50. package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts +2 -0
  51. package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts.map +1 -1
  52. package/dist/src/cli/connect/mcp/tools/agent-tasks.js +5 -2
  53. package/dist/src/cli/connect/mcp/tools/agent-tasks.js.map +1 -1
  54. package/dist/src/cli/connect/mcp/tools/apps.d.ts +3 -0
  55. package/dist/src/cli/connect/mcp/tools/apps.d.ts.map +1 -1
  56. package/dist/src/cli/connect/mcp/tools/apps.js +13 -5
  57. package/dist/src/cli/connect/mcp/tools/apps.js.map +1 -1
  58. package/dist/src/cli/connect/mcp/tools/boards.d.ts +3 -0
  59. package/dist/src/cli/connect/mcp/tools/boards.d.ts.map +1 -1
  60. package/dist/src/cli/connect/mcp/tools/boards.js +5 -2
  61. package/dist/src/cli/connect/mcp/tools/boards.js.map +1 -1
  62. package/dist/src/cli/connect/mcp/tools/core.d.ts +5 -0
  63. package/dist/src/cli/connect/mcp/tools/core.d.ts.map +1 -1
  64. package/dist/src/cli/connect/mcp/tools/core.js +25 -5
  65. package/dist/src/cli/connect/mcp/tools/core.js.map +1 -1
  66. package/dist/src/cli/connect/mcp/tools/dm-messages.d.ts +2 -0
  67. package/dist/src/cli/connect/mcp/tools/dm-messages.d.ts.map +1 -1
  68. package/dist/src/cli/connect/mcp/tools/dm-messages.js +11 -6
  69. package/dist/src/cli/connect/mcp/tools/dm-messages.js.map +1 -1
  70. package/dist/src/cli/connect/mcp/tools/exchange.d.ts +2 -0
  71. package/dist/src/cli/connect/mcp/tools/exchange.d.ts.map +1 -1
  72. package/dist/src/cli/connect/mcp/tools/exchange.js +8 -2
  73. package/dist/src/cli/connect/mcp/tools/exchange.js.map +1 -1
  74. package/dist/src/cli/connect/mcp/tools/knowledge.d.ts +3 -0
  75. package/dist/src/cli/connect/mcp/tools/knowledge.d.ts.map +1 -1
  76. package/dist/src/cli/connect/mcp/tools/knowledge.js +7 -3
  77. package/dist/src/cli/connect/mcp/tools/knowledge.js.map +1 -1
  78. package/dist/src/cli/connect/mcp/tools/organisms.d.ts +2 -0
  79. package/dist/src/cli/connect/mcp/tools/organisms.d.ts.map +1 -1
  80. package/dist/src/cli/connect/mcp/tools/organisms.js +7 -2
  81. package/dist/src/cli/connect/mcp/tools/organisms.js.map +1 -1
  82. package/dist/src/cli/connect/mcp/tools/workspaces.d.ts +3 -0
  83. package/dist/src/cli/connect/mcp/tools/workspaces.d.ts.map +1 -1
  84. package/dist/src/cli/connect/mcp/tools/workspaces.js +8 -2
  85. package/dist/src/cli/connect/mcp/tools/workspaces.js.map +1 -1
  86. package/dist/src/cli/connect/tool-call-defs-core.d.ts +3 -0
  87. package/dist/src/cli/connect/tool-call-defs-core.d.ts.map +1 -1
  88. package/dist/src/cli/connect/tool-call-defs-core.js +7 -0
  89. package/dist/src/cli/connect/tool-call-defs-core.js.map +1 -1
  90. package/dist/src/cli/connect/tool-call.d.ts +3 -0
  91. package/dist/src/cli/connect/tool-call.d.ts.map +1 -1
  92. package/dist/src/cli/connect/tool-call.js +11 -1
  93. package/dist/src/cli/connect/tool-call.js.map +1 -1
  94. package/dist/src/config-types.d.ts +14 -0
  95. package/dist/src/config-types.d.ts.map +1 -1
  96. package/dist/src/config.d.ts.map +1 -1
  97. package/dist/src/config.js +10 -0
  98. package/dist/src/config.js.map +1 -1
  99. package/dist/src/data/public-pages.d.ts +12 -0
  100. package/dist/src/data/public-pages.d.ts.map +1 -1
  101. package/dist/src/data/public-pages.js +12 -0
  102. package/dist/src/data/public-pages.js.map +1 -1
  103. package/dist/src/generated/api-types.d.ts +969 -85
  104. package/dist/src/generated/api-types.d.ts.map +1 -1
  105. package/dist/src/mcp/ai-provenance-input.d.ts +45 -2
  106. package/dist/src/mcp/ai-provenance-input.d.ts.map +1 -1
  107. package/dist/src/mcp/ai-provenance-input.js +48 -2
  108. package/dist/src/mcp/ai-provenance-input.js.map +1 -1
  109. package/dist/src/mcp/apps.d.ts +7 -0
  110. package/dist/src/mcp/apps.d.ts.map +1 -1
  111. package/dist/src/mcp/apps.js +20 -2
  112. package/dist/src/mcp/apps.js.map +1 -1
  113. package/dist/src/models/ai-provenance-schemas.d.ts +7 -1
  114. package/dist/src/models/ai-provenance-schemas.d.ts.map +1 -1
  115. package/dist/src/models/ai-provenance-schemas.js +11 -1
  116. package/dist/src/models/ai-provenance-schemas.js.map +1 -1
  117. package/dist/src/models/connection-schemas.d.ts +203 -0
  118. package/dist/src/models/connection-schemas.d.ts.map +1 -0
  119. package/dist/src/models/connection-schemas.js +33 -0
  120. package/dist/src/models/connection-schemas.js.map +1 -0
  121. package/dist/src/models/message-schemas.d.ts +40 -0
  122. package/dist/src/models/message-schemas.d.ts.map +1 -1
  123. package/dist/src/models/message-schemas.js +23 -0
  124. package/dist/src/models/message-schemas.js.map +1 -1
  125. package/dist/src/routes/ai-provenance.d.ts +6 -0
  126. package/dist/src/routes/ai-provenance.d.ts.map +1 -1
  127. package/dist/src/routes/ai-provenance.js +34 -1
  128. package/dist/src/routes/ai-provenance.js.map +1 -1
  129. package/dist/src/routes/ai-transparency.d.ts +6 -1
  130. package/dist/src/routes/ai-transparency.d.ts.map +1 -1
  131. package/dist/src/routes/ai-transparency.js +17 -3
  132. package/dist/src/routes/ai-transparency.js.map +1 -1
  133. package/dist/src/routes/ai.d.ts +5 -0
  134. package/dist/src/routes/ai.d.ts.map +1 -1
  135. package/dist/src/routes/ai.js +83 -0
  136. package/dist/src/routes/ai.js.map +1 -1
  137. package/dist/src/routes/app-grants.d.ts.map +1 -1
  138. package/dist/src/routes/app-grants.js +4 -0
  139. package/dist/src/routes/app-grants.js.map +1 -1
  140. package/dist/src/routes/apps/drafts.d.ts +3 -0
  141. package/dist/src/routes/apps/drafts.d.ts.map +1 -1
  142. package/dist/src/routes/apps/drafts.js +13 -0
  143. package/dist/src/routes/apps/drafts.js.map +1 -1
  144. package/dist/src/routes/apps/publish.d.ts +5 -0
  145. package/dist/src/routes/apps/publish.d.ts.map +1 -1
  146. package/dist/src/routes/apps/publish.js +21 -5
  147. package/dist/src/routes/apps/publish.js.map +1 -1
  148. package/dist/src/routes/connections.d.ts +35 -0
  149. package/dist/src/routes/connections.d.ts.map +1 -0
  150. package/dist/src/routes/connections.js +406 -0
  151. package/dist/src/routes/connections.js.map +1 -0
  152. package/dist/src/routes/libs.js +1 -1
  153. package/dist/src/routes/libs.js.map +1 -1
  154. package/dist/src/routes/messages.d.ts +5 -0
  155. package/dist/src/routes/messages.d.ts.map +1 -1
  156. package/dist/src/routes/messages.js +92 -0
  157. package/dist/src/routes/messages.js.map +1 -1
  158. package/dist/src/routes/openrouter.d.ts +6 -1
  159. package/dist/src/routes/openrouter.d.ts.map +1 -1
  160. package/dist/src/routes/openrouter.js +37 -7
  161. package/dist/src/routes/openrouter.js.map +1 -1
  162. package/dist/src/routes/upload.d.ts +5 -0
  163. package/dist/src/routes/upload.d.ts.map +1 -1
  164. package/dist/src/routes/upload.js +32 -0
  165. package/dist/src/routes/upload.js.map +1 -1
  166. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  167. package/dist/src/server-bootstrap/routes-loader.js +2 -0
  168. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  169. package/dist/src/services/ai-completion.d.ts +48 -0
  170. package/dist/src/services/ai-completion.d.ts.map +1 -1
  171. package/dist/src/services/ai-completion.js +112 -72
  172. package/dist/src/services/ai-completion.js.map +1 -1
  173. package/dist/src/services/ai-disclosure.d.ts +6 -0
  174. package/dist/src/services/ai-disclosure.d.ts.map +1 -1
  175. package/dist/src/services/ai-disclosure.js +20 -2
  176. package/dist/src/services/ai-disclosure.js.map +1 -1
  177. package/dist/src/services/ai-provenance-page.d.ts +59 -0
  178. package/dist/src/services/ai-provenance-page.d.ts.map +1 -0
  179. package/dist/src/services/ai-provenance-page.js +185 -0
  180. package/dist/src/services/ai-provenance-page.js.map +1 -0
  181. package/dist/src/services/ai-provenance.d.ts +6 -0
  182. package/dist/src/services/ai-provenance.d.ts.map +1 -1
  183. package/dist/src/services/ai-provenance.js +5 -0
  184. package/dist/src/services/ai-provenance.js.map +1 -1
  185. package/dist/src/services/ai-transcription.d.ts +66 -0
  186. package/dist/src/services/ai-transcription.d.ts.map +1 -0
  187. package/dist/src/services/ai-transcription.js +90 -0
  188. package/dist/src/services/ai-transcription.js.map +1 -0
  189. package/dist/src/services/app-publish.d.ts.map +1 -1
  190. package/dist/src/services/app-publish.js +16 -1
  191. package/dist/src/services/app-publish.js.map +1 -1
  192. package/dist/src/services/build-app-prompt.d.ts.map +1 -1
  193. package/dist/src/services/build-app-prompt.js +2 -1
  194. package/dist/src/services/build-app-prompt.js.map +1 -1
  195. package/dist/src/services/connections/attach.d.ts +62 -0
  196. package/dist/src/services/connections/attach.d.ts.map +1 -0
  197. package/dist/src/services/connections/attach.js +168 -0
  198. package/dist/src/services/connections/attach.js.map +1 -0
  199. package/dist/src/services/connections/credential.d.ts +39 -0
  200. package/dist/src/services/connections/credential.d.ts.map +1 -0
  201. package/dist/src/services/connections/credential.js +66 -0
  202. package/dist/src/services/connections/credential.js.map +1 -0
  203. package/dist/src/services/connections/instance.d.ts +65 -0
  204. package/dist/src/services/connections/instance.d.ts.map +1 -0
  205. package/dist/src/services/connections/instance.js +144 -0
  206. package/dist/src/services/connections/instance.js.map +1 -0
  207. package/dist/src/services/connections/oauth.d.ts +77 -0
  208. package/dist/src/services/connections/oauth.d.ts.map +1 -0
  209. package/dist/src/services/connections/oauth.js +290 -0
  210. package/dist/src/services/connections/oauth.js.map +1 -0
  211. package/dist/src/services/connections/providers.d.ts +118 -0
  212. package/dist/src/services/connections/providers.d.ts.map +1 -0
  213. package/dist/src/services/connections/providers.js +260 -0
  214. package/dist/src/services/connections/providers.js.map +1 -0
  215. package/dist/src/services/connections/publish-gate.d.ts +103 -0
  216. package/dist/src/services/connections/publish-gate.d.ts.map +1 -0
  217. package/dist/src/services/connections/publish-gate.js +0 -0
  218. package/dist/src/services/connections/publish-gate.js.map +1 -0
  219. package/dist/src/services/connections/publish.d.ts +60 -0
  220. package/dist/src/services/connections/publish.d.ts.map +1 -0
  221. package/dist/src/services/connections/publish.js +340 -0
  222. package/dist/src/services/connections/publish.js.map +1 -0
  223. package/dist/src/services/connections/refresh.d.ts +55 -0
  224. package/dist/src/services/connections/refresh.d.ts.map +1 -0
  225. package/dist/src/services/connections/refresh.js +307 -0
  226. package/dist/src/services/connections/refresh.js.map +1 -0
  227. package/dist/src/services/markdown-negotiation.d.ts +17 -0
  228. package/dist/src/services/markdown-negotiation.d.ts.map +1 -1
  229. package/dist/src/services/markdown-negotiation.js +15 -0
  230. package/dist/src/services/markdown-negotiation.js.map +1 -1
  231. package/dist/src/services/message-send.d.ts.map +1 -1
  232. package/dist/src/services/message-send.js +16 -2
  233. package/dist/src/services/message-send.js.map +1 -1
  234. package/dist/src/services/openrouter.d.ts +67 -1
  235. package/dist/src/services/openrouter.d.ts.map +1 -1
  236. package/dist/src/services/openrouter.js +102 -11
  237. package/dist/src/services/openrouter.js.map +1 -1
  238. package/dist/src/services/upload-token.d.ts +5 -1
  239. package/dist/src/services/upload-token.d.ts.map +1 -1
  240. package/dist/src/services/upload-token.js +13 -1
  241. package/dist/src/services/upload-token.js.map +1 -1
  242. package/dist/src/services/workflow/engine-util.d.ts +18 -0
  243. package/dist/src/services/workflow/engine-util.d.ts.map +1 -1
  244. package/dist/src/services/workflow/engine-util.js +27 -0
  245. package/dist/src/services/workflow/engine-util.js.map +1 -1
  246. package/dist/src/services/workflow/engine.d.ts.map +1 -1
  247. package/dist/src/services/workflow/engine.js +4 -2
  248. package/dist/src/services/workflow/engine.js.map +1 -1
  249. package/dist/src/storage/interface.d.ts +2 -1
  250. package/dist/src/storage/interface.d.ts.map +1 -1
  251. package/dist/src/storage/providers/postgres-kysely/db-types.d.ts +65 -0
  252. package/dist/src/storage/providers/postgres-kysely/db-types.d.ts.map +1 -1
  253. package/dist/src/storage/providers/postgres-kysely/index.d.ts.map +1 -1
  254. package/dist/src/storage/providers/postgres-kysely/index.js +2 -1
  255. package/dist/src/storage/providers/postgres-kysely/index.js.map +1 -1
  256. package/dist/src/storage/providers/postgres-kysely/methods/connections.d.ts +44 -0
  257. package/dist/src/storage/providers/postgres-kysely/methods/connections.d.ts.map +1 -0
  258. package/dist/src/storage/providers/postgres-kysely/methods/connections.js +308 -0
  259. package/dist/src/storage/providers/postgres-kysely/methods/connections.js.map +1 -0
  260. package/dist/src/storage/providers/postgres-kysely/methods/node-infra.d.ts.map +1 -1
  261. package/dist/src/storage/providers/postgres-kysely/methods/node-infra.js +4 -2
  262. package/dist/src/storage/providers/postgres-kysely/methods/node-infra.js.map +1 -1
  263. package/dist/src/storage/providers/postgres-kysely/migrations/0021_connections.sql +116 -0
  264. package/dist/src/storage/providers/postgres-kysely/migrations/0022_provider_clients.sql +36 -0
  265. package/dist/src/storage/providers/postgres-kysely/migrations/0023_nonce_payload.sql +13 -0
  266. package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
  267. package/dist/src/storage/providers/sqlite/index.js +2 -1
  268. package/dist/src/storage/providers/sqlite/index.js.map +1 -1
  269. package/dist/src/storage/providers/sqlite/methods/community.d.ts.map +1 -1
  270. package/dist/src/storage/providers/sqlite/methods/community.js +2 -1
  271. package/dist/src/storage/providers/sqlite/methods/community.js.map +1 -1
  272. package/dist/src/storage/providers/sqlite/methods/connections.d.ts +60 -0
  273. package/dist/src/storage/providers/sqlite/methods/connections.d.ts.map +1 -0
  274. package/dist/src/storage/providers/sqlite/methods/connections.js +287 -0
  275. package/dist/src/storage/providers/sqlite/methods/connections.js.map +1 -0
  276. package/dist/src/storage/providers/sqlite/schema-tables-1.d.ts.map +1 -1
  277. package/dist/src/storage/providers/sqlite/schema-tables-1.js +4 -0
  278. package/dist/src/storage/providers/sqlite/schema-tables-1.js.map +1 -1
  279. package/dist/src/storage/providers/sqlite/schema-tables-3.d.ts.map +1 -1
  280. package/dist/src/storage/providers/sqlite/schema-tables-3.js +106 -0
  281. package/dist/src/storage/providers/sqlite/schema-tables-3.js.map +1 -1
  282. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  283. package/dist/src/storage/providers/sqlite/schema.js +2 -0
  284. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  285. package/dist/src/storage/repositories/connection.repository.d.ts +124 -0
  286. package/dist/src/storage/repositories/connection.repository.d.ts.map +1 -0
  287. package/dist/src/storage/repositories/connection.repository.js +2 -0
  288. package/dist/src/storage/repositories/connection.repository.js.map +1 -0
  289. package/dist/src/storage/types/agents-messaging.d.ts +19 -0
  290. package/dist/src/storage/types/agents-messaging.d.ts.map +1 -1
  291. package/dist/src/storage/types/agents-messaging.js.map +1 -1
  292. package/dist/src/storage/types/auth.d.ts +8 -1
  293. package/dist/src/storage/types/auth.d.ts.map +1 -1
  294. package/dist/src/utils/build-stamp.d.ts +56 -0
  295. package/dist/src/utils/build-stamp.d.ts.map +1 -0
  296. package/dist/src/utils/build-stamp.js +142 -0
  297. package/dist/src/utils/build-stamp.js.map +1 -0
  298. package/dist/src/utils/messaging.d.ts +14 -0
  299. package/dist/src/utils/messaging.d.ts.map +1 -1
  300. package/dist/src/utils/messaging.js +0 -0
  301. package/dist/src/utils/messaging.js.map +1 -1
  302. package/dist/static/sdk-libs/connect/index.js +199 -0
  303. package/dist/static/sdk-libs/connect/notes.js +47 -0
  304. package/dist/static/sdk-libs/connect/panel.js +238 -0
  305. package/dist/static/sdk-libs/data/index.js +63 -11
  306. package/dist/static/sdk-libs/dist/aimeat-connect.js +357 -0
  307. package/dist/static/sdk-libs/dist/aimeat-data.js +40 -9
  308. package/package.json +2 -2
@@ -460,7 +460,7 @@ export const communityMethods = {
460
460
  // ── Verification Nonces ──
461
461
  // ══════════════════════════════════════════════════════════
462
462
  async createVerificationNonce(record) {
463
- this.db.prepare('INSERT INTO verification_nonces (id, owner, type, state, nonce, redirectUri, createdAt, expiresAt) VALUES (?, ?, ?, ?, ?, ?, ?, ?)').run(record.id, record.owner, record.type, record.state, record.nonce, record.redirectUri ?? '', record.createdAt, record.expiresAt);
463
+ this.db.prepare('INSERT INTO verification_nonces (id, owner, type, state, nonce, redirectUri, payload, createdAt, expiresAt) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)').run(record.id, record.owner, record.type, record.state, record.nonce, record.redirectUri ?? '', record.payload ?? null, record.createdAt, record.expiresAt);
464
464
  return record;
465
465
  },
466
466
  async getVerificationNonce(state) {
@@ -474,6 +474,7 @@ export const communityMethods = {
474
474
  state: row.state,
475
475
  nonce: row.nonce,
476
476
  redirectUri: row.redirectUri,
477
+ payload: row.payload ?? null,
477
478
  createdAt: row.createdAt,
478
479
  expiresAt: row.expiresAt,
479
480
  };
@@ -1 +1 @@
1
- {"version":3,"file":"community.js","sourceRoot":"","sources":["../../../../../../src/storage/providers/sqlite/methods/community.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"community.js","sourceRoot":"","sources":["../../../../../../src/storage/providers/sqlite/methods/community.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @file src/storage/providers/sqlite/methods/connections.ts
3
+ * @description SQLite implementation of the outbound connection store (TARGET-057). Mirrors the
4
+ * Postgres provider; the two concurrency primitives are the parts worth reading.
5
+ *
6
+ * claimConnectionRefresh() is a conditional UPDATE and reports `changes`, so exactly one caller
7
+ * wins even though better-sqlite3 runs synchronously — the guarantee comes from the statement,
8
+ * not from the runtime happening to be single-threaded, and that is what keeps it equivalent to
9
+ * the Postgres path.
10
+ *
11
+ * openPublishAttempt() is INSERT ... ON CONFLICT DO NOTHING followed by a read of whatever is now
12
+ * there. The unique index arbitrates; a check-then-insert would leave the double-post window open.
13
+ * @structure connectionMethods — connections · delegations · publish attempts
14
+ * @usage merged onto SqliteStorage.prototype in ../index.ts
15
+ * @version-history
16
+ * v1.0.0 — 2026-08-02 — TARGET-057 Phase 1.
17
+ */
18
+ import type { ConnectionQuery, PublishAttemptQuery } from '../../../repositories/connection.repository.js';
19
+ import type { ConnectionRecord, ConnectionStatus, DelegationRecord, PublishAttempt, NewPublishAttempt, ProviderClientRecord } from '../../../../models/connection-schemas.js';
20
+ import type { SqliteStorage } from '../index.js';
21
+ export declare const connectionMethods: {
22
+ createConnection(this: SqliteStorage, row: ConnectionRecord): Promise<void>;
23
+ getConnection(this: SqliteStorage, id: string): Promise<ConnectionRecord | undefined>;
24
+ findConnection(this: SqliteStorage, principal: string, provider: string, externalId: string, instance: string | null): Promise<ConnectionRecord | undefined>;
25
+ listConnections(this: SqliteStorage, query?: ConnectionQuery): Promise<ConnectionRecord[]>;
26
+ updateConnectionCredential(this: SqliteStorage, id: string, credential: string, expiresAt: string | null, scopes?: string[]): Promise<void>;
27
+ setConnectionStatus(this: SqliteStorage, id: string, status: ConnectionStatus, error?: string | null): Promise<void>;
28
+ touchConnectionOk(this: SqliteStorage, id: string): Promise<void>;
29
+ deleteConnection(this: SqliteStorage, id: string): Promise<void>;
30
+ /**
31
+ * The claim is granted by the WHERE clause and reported by `changes`. Expressing it as one
32
+ * statement rather than a read followed by a write is what keeps this equivalent to the Postgres
33
+ * path instead of relying on better-sqlite3 being synchronous.
34
+ */
35
+ claimConnectionRefresh(this: SqliteStorage, id: string, staleAfterMs: number): Promise<boolean>;
36
+ releaseConnectionRefresh(this: SqliteStorage, id: string): Promise<void>;
37
+ upsertDelegation(this: SqliteStorage, row: DelegationRecord): Promise<void>;
38
+ getDelegation(this: SqliteStorage, id: string): Promise<DelegationRecord | undefined>;
39
+ findDelegation(this: SqliteStorage, appId: string, action: string): Promise<DelegationRecord | undefined>;
40
+ listDelegations(this: SqliteStorage, connectionId?: string): Promise<DelegationRecord[]>;
41
+ setDelegationEnabled(this: SqliteStorage, id: string, enabled: boolean): Promise<void>;
42
+ /**
43
+ * Insert-if-new, then read back whatever is there. The unique index arbitrates, so a retry racing
44
+ * a slow success gets the FIRST attempt's row and its outcome. The caller tells the two cases
45
+ * apart by comparing the returned id with the one it passed in.
46
+ */
47
+ openPublishAttempt(this: SqliteStorage, row: NewPublishAttempt): Promise<PublishAttempt>;
48
+ getPublishAttempt(this: SqliteStorage, id: string): Promise<PublishAttempt | undefined>;
49
+ updatePublishAttempt(this: SqliteStorage, id: string, patch: Partial<Pick<PublishAttempt, "status" | "externalRef" | "error">>): Promise<void>;
50
+ listPublishAttempts(this: SqliteStorage, query?: PublishAttemptQuery): Promise<PublishAttempt[]>;
51
+ countPublishAttempts(this: SqliteStorage, query: PublishAttemptQuery): Promise<number>;
52
+ /**
53
+ * Insert-if-new, then read back. Two users arriving from the same Mastodon instance at the same
54
+ * moment must converge on ONE registration; a check-then-insert would let both register and orphan
55
+ * the loser's credentials at the instance with nothing pointing at them.
56
+ */
57
+ upsertProviderClient(this: SqliteStorage, row: ProviderClientRecord): Promise<ProviderClientRecord>;
58
+ getProviderClient(this: SqliteStorage, provider: string, instance: string): Promise<ProviderClientRecord | undefined>;
59
+ };
60
+ //# sourceMappingURL=connections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../../../../../src/storage/providers/sqlite/methods/connections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC3G,OAAO,KAAK,EACV,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAkB,cAAc,EAAE,iBAAiB,EACnE,oBAAoB,EACrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAoFjD,eAAO,MAAM,iBAAiB;2BACC,aAAa,OAAO,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;wBAYvD,aAAa,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;yBAMnF,aAAa,aACR,MAAM,YAAY,MAAM,cAAc,MAAM,YAAY,MAAM,GAAG,IAAI,GAC/E,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;0BAUZ,aAAa,UAAS,eAAe,GAAQ,OAAO,CAAC,gBAAgB,EAAE,CAAC;qCAe5F,aAAa,MACf,MAAM,cAAc,MAAM,aAAa,MAAM,GAAG,IAAI,WAAW,MAAM,EAAE,GAC1E,OAAO,CAAC,IAAI,CAAC;8BAkBR,aAAa,MAAM,MAAM,UAAU,gBAAgB,UAAU,MAAM,GAAG,IAAI,GAC/E,OAAO,CAAC,IAAI,CAAC;4BAWc,aAAa,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;2BAK1C,aAAa,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE;;;;OAIG;iCACgC,aAAa,MAAM,MAAM,gBAAgB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;mCAahE,aAAa,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;2BAIjD,aAAa,OAAO,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;wBAevD,aAAa,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;yBAMnF,aAAa,SAAS,MAAM,UAAU,MAAM,GACjD,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;0BAOZ,aAAa,iBAAiB,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;+BAS7D,aAAa,MAAM,MAAM,WAAW,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5F;;;;OAIG;6BAC4B,aAAa,OAAO,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;4BAkBhE,aAAa,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;+BAMrF,aAAa,MACf,MAAM,SAAS,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,GACnF,OAAO,CAAC,IAAI,CAAC;8BAYR,aAAa,UAAS,mBAAmB,GAC9C,OAAO,CAAC,cAAc,EAAE,CAAC;+BAQK,aAAa,SAAS,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ5F;;;;OAIG;+BAEK,aAAa,OAAO,oBAAoB,GAC7C,OAAO,CAAC,oBAAoB,CAAC;4BAYxB,aAAa,YAAY,MAAM,YAAY,MAAM,GACtD,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;CAK7C,CAAC"}
@@ -0,0 +1,287 @@
1
+ function toConnection(r) {
2
+ return {
3
+ id: r.id,
4
+ principal: r.principal,
5
+ mode: r.mode,
6
+ provider: r.provider,
7
+ instance: r.instance ?? null,
8
+ accountLabel: r.accountLabel,
9
+ externalId: r.externalId,
10
+ credential: r.credential,
11
+ credentialShape: r.credentialShape,
12
+ scopes: JSON.parse(r.scopes || '[]'),
13
+ expiresAt: r.expiresAt ?? null,
14
+ status: r.status,
15
+ lastOkAt: r.lastOkAt ?? null,
16
+ lastError: r.lastError ?? null,
17
+ createdAt: r.createdAt,
18
+ updatedAt: r.updatedAt,
19
+ };
20
+ }
21
+ function toDelegation(r) {
22
+ const limit = r.perUserLimit;
23
+ return {
24
+ id: r.id,
25
+ connectionId: r.connectionId,
26
+ appId: r.appId,
27
+ action: r.action,
28
+ fixed: JSON.parse(r.fixed || '{}'),
29
+ perUserLimit: limit ? JSON.parse(limit) : null,
30
+ moderation: r.moderation,
31
+ enabled: Number(r.enabled) === 1,
32
+ createdAt: r.createdAt,
33
+ updatedAt: r.updatedAt,
34
+ };
35
+ }
36
+ function toAttempt(r) {
37
+ return {
38
+ id: r.id,
39
+ idempotencyKey: r.idempotencyKey,
40
+ publisher: r.publisher,
41
+ connectionId: r.connectionId,
42
+ delegationId: r.delegationId ?? null,
43
+ storageKey: r.storageKey,
44
+ status: r.status,
45
+ externalRef: r.externalRef ?? null,
46
+ error: r.error ?? null,
47
+ createdAt: r.createdAt,
48
+ updatedAt: r.updatedAt,
49
+ };
50
+ }
51
+ function toProviderClient(r) {
52
+ return {
53
+ id: r.id,
54
+ provider: r.provider,
55
+ instance: r.instance,
56
+ clientId: r.clientId,
57
+ clientSecret: r.clientSecret,
58
+ registeredAt: r.registeredAt,
59
+ };
60
+ }
61
+ /** Shared WHERE builder for the listing and the two counters, so a gate and a display cannot drift. */
62
+ function attemptWhere(query) {
63
+ const clauses = [];
64
+ const params = [];
65
+ if (query.publisher) {
66
+ clauses.push('publisher = ?');
67
+ params.push(query.publisher);
68
+ }
69
+ if (query.connectionId) {
70
+ clauses.push('connectionId = ?');
71
+ params.push(query.connectionId);
72
+ }
73
+ if (query.delegationId) {
74
+ clauses.push('delegationId = ?');
75
+ params.push(query.delegationId);
76
+ }
77
+ if (query.status) {
78
+ const list = Array.isArray(query.status) ? query.status : [query.status];
79
+ clauses.push(`status IN (${list.map(() => '?').join(',')})`);
80
+ params.push(...list);
81
+ }
82
+ if (query.since) {
83
+ clauses.push('createdAt >= ?');
84
+ params.push(query.since);
85
+ }
86
+ return { sql: clauses.length ? ` WHERE ${clauses.join(' AND ')}` : '', params };
87
+ }
88
+ export const connectionMethods = {
89
+ async createConnection(row) {
90
+ this.db.prepare(`
91
+ INSERT INTO connections (id, principal, mode, provider, instance, accountLabel, externalId,
92
+ credential, credentialShape, scopes, expiresAt, status, lastOkAt, lastError, createdAt, updatedAt)
93
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
94
+ `).run(row.id, row.principal, row.mode, row.provider, row.instance, row.accountLabel, row.externalId, row.credential, row.credentialShape, JSON.stringify(row.scopes), row.expiresAt, row.status, row.lastOkAt, row.lastError, row.createdAt, row.updatedAt);
95
+ },
96
+ async getConnection(id) {
97
+ const r = this.db.prepare('SELECT * FROM connections WHERE id = ?').get(id);
98
+ return r ? toConnection(r) : undefined;
99
+ },
100
+ async findConnection(principal, provider, externalId, instance) {
101
+ // COALESCE mirrors the unique index. `instance = NULL` is never true, so a bare comparison would
102
+ // miss every fixed-endpoint provider's row and each reconnect would insert a duplicate.
103
+ const r = this.db.prepare(`
104
+ SELECT * FROM connections
105
+ WHERE principal = ? AND provider = ? AND externalId = ? AND COALESCE(instance, '') = ?
106
+ `).get(principal, provider, externalId, instance ?? '');
107
+ return r ? toConnection(r) : undefined;
108
+ },
109
+ async listConnections(query = {}) {
110
+ const clauses = [];
111
+ const params = [];
112
+ if (query.principal) {
113
+ clauses.push('principal = ?');
114
+ params.push(query.principal);
115
+ }
116
+ if (query.provider) {
117
+ clauses.push('provider = ?');
118
+ params.push(query.provider);
119
+ }
120
+ if (query.mode) {
121
+ clauses.push('mode = ?');
122
+ params.push(query.mode);
123
+ }
124
+ if (query.status) {
125
+ clauses.push('status = ?');
126
+ params.push(query.status);
127
+ }
128
+ const where = clauses.length ? ` WHERE ${clauses.join(' AND ')}` : '';
129
+ const rows = this.db.prepare(`SELECT * FROM connections${where} ORDER BY createdAt DESC`).all(...params);
130
+ return rows.map(toConnection);
131
+ },
132
+ async updateConnectionCredential(id, credential, expiresAt, scopes) {
133
+ const now = new Date().toISOString();
134
+ // A successful token exchange IS the evidence that whatever was wrong no longer is, so status
135
+ // and lastError clear here rather than needing a second call somebody could forget to make.
136
+ if (scopes) {
137
+ this.db.prepare(`
138
+ UPDATE connections SET credential = ?, expiresAt = ?, scopes = ?,
139
+ status = 'active', lastError = NULL, updatedAt = ? WHERE id = ?
140
+ `).run(credential, expiresAt, JSON.stringify(scopes), now, id);
141
+ }
142
+ else {
143
+ this.db.prepare(`
144
+ UPDATE connections SET credential = ?, expiresAt = ?,
145
+ status = 'active', lastError = NULL, updatedAt = ? WHERE id = ?
146
+ `).run(credential, expiresAt, now, id);
147
+ }
148
+ },
149
+ async setConnectionStatus(id, status, error) {
150
+ const now = new Date().toISOString();
151
+ if (error !== undefined) {
152
+ this.db.prepare('UPDATE connections SET status = ?, lastError = ?, updatedAt = ? WHERE id = ?')
153
+ .run(status, error, now, id);
154
+ }
155
+ else {
156
+ this.db.prepare('UPDATE connections SET status = ?, updatedAt = ? WHERE id = ?')
157
+ .run(status, now, id);
158
+ }
159
+ },
160
+ async touchConnectionOk(id) {
161
+ const now = new Date().toISOString();
162
+ this.db.prepare('UPDATE connections SET lastOkAt = ?, updatedAt = ? WHERE id = ?').run(now, now, id);
163
+ },
164
+ async deleteConnection(id) {
165
+ this.db.prepare('DELETE FROM connections WHERE id = ?').run(id);
166
+ },
167
+ /**
168
+ * The claim is granted by the WHERE clause and reported by `changes`. Expressing it as one
169
+ * statement rather than a read followed by a write is what keeps this equivalent to the Postgres
170
+ * path instead of relying on better-sqlite3 being synchronous.
171
+ */
172
+ async claimConnectionRefresh(id, staleAfterMs) {
173
+ const now = Date.now();
174
+ const res = this.db.prepare(`
175
+ UPDATE connections SET refreshClaimedAt = ?
176
+ WHERE id = ? AND (refreshClaimedAt IS NULL OR refreshClaimedAt < ?)
177
+ `).run(new Date(now).toISOString(), id,
178
+ // A crash mid-refresh must not wedge the connection permanently.
179
+ new Date(now - staleAfterMs).toISOString());
180
+ return res.changes > 0;
181
+ },
182
+ async releaseConnectionRefresh(id) {
183
+ this.db.prepare('UPDATE connections SET refreshClaimedAt = NULL WHERE id = ?').run(id);
184
+ },
185
+ async upsertDelegation(row) {
186
+ this.db.prepare(`
187
+ INSERT INTO connection_delegations
188
+ (id, connectionId, appId, action, fixed, perUserLimit, moderation, enabled, createdAt, updatedAt)
189
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
190
+ ON CONFLICT(connectionId, appId, action) DO UPDATE SET
191
+ fixed = excluded.fixed, perUserLimit = excluded.perUserLimit,
192
+ moderation = excluded.moderation, enabled = excluded.enabled, updatedAt = excluded.updatedAt
193
+ `).run(row.id, row.connectionId, row.appId, row.action, JSON.stringify(row.fixed), row.perUserLimit ? JSON.stringify(row.perUserLimit) : null, row.moderation, row.enabled ? 1 : 0, row.createdAt, row.updatedAt);
194
+ },
195
+ async getDelegation(id) {
196
+ const r = this.db.prepare('SELECT * FROM connection_delegations WHERE id = ?').get(id);
197
+ return r ? toDelegation(r) : undefined;
198
+ },
199
+ async findDelegation(appId, action) {
200
+ const r = this.db.prepare('SELECT * FROM connection_delegations WHERE appId = ? AND action = ?').get(appId, action);
201
+ return r ? toDelegation(r) : undefined;
202
+ },
203
+ async listDelegations(connectionId) {
204
+ const rows = connectionId
205
+ ? this.db.prepare('SELECT * FROM connection_delegations WHERE connectionId = ? ORDER BY createdAt DESC').all(connectionId)
206
+ : this.db.prepare('SELECT * FROM connection_delegations ORDER BY createdAt DESC').all();
207
+ return rows.map(toDelegation);
208
+ },
209
+ async setDelegationEnabled(id, enabled) {
210
+ this.db.prepare('UPDATE connection_delegations SET enabled = ?, updatedAt = ? WHERE id = ?')
211
+ .run(enabled ? 1 : 0, new Date().toISOString(), id);
212
+ },
213
+ /**
214
+ * Insert-if-new, then read back whatever is there. The unique index arbitrates, so a retry racing
215
+ * a slow success gets the FIRST attempt's row and its outcome. The caller tells the two cases
216
+ * apart by comparing the returned id with the one it passed in.
217
+ */
218
+ async openPublishAttempt(row) {
219
+ const now = new Date().toISOString();
220
+ this.db.prepare(`
221
+ INSERT INTO publish_attempts
222
+ (id, idempotencyKey, publisher, connectionId, delegationId, storageKey, status,
223
+ externalRef, error, createdAt, updatedAt)
224
+ VALUES (?, ?, ?, ?, ?, ?, ?, NULL, NULL, ?, ?)
225
+ ON CONFLICT(idempotencyKey) DO NOTHING
226
+ `).run(row.id, row.idempotencyKey, row.publisher, row.connectionId, row.delegationId, row.storageKey, row.status, now, now);
227
+ const r = this.db.prepare('SELECT * FROM publish_attempts WHERE idempotencyKey = ?')
228
+ .get(row.idempotencyKey);
229
+ // Guaranteed present: either this insert placed it or the conflicting one did.
230
+ return toAttempt(r);
231
+ },
232
+ async getPublishAttempt(id) {
233
+ const r = this.db.prepare('SELECT * FROM publish_attempts WHERE id = ?').get(id);
234
+ return r ? toAttempt(r) : undefined;
235
+ },
236
+ async updatePublishAttempt(id, patch) {
237
+ const sets = [];
238
+ const params = [];
239
+ if (patch.status !== undefined) {
240
+ sets.push('status = ?');
241
+ params.push(patch.status);
242
+ }
243
+ if (patch.externalRef !== undefined) {
244
+ sets.push('externalRef = ?');
245
+ params.push(patch.externalRef);
246
+ }
247
+ if (patch.error !== undefined) {
248
+ sets.push('error = ?');
249
+ params.push(patch.error);
250
+ }
251
+ sets.push('updatedAt = ?');
252
+ params.push(new Date().toISOString());
253
+ params.push(id);
254
+ this.db.prepare(`UPDATE publish_attempts SET ${sets.join(', ')} WHERE id = ?`).run(...params);
255
+ },
256
+ async listPublishAttempts(query = {}) {
257
+ const w = attemptWhere(query);
258
+ const rows = this.db.prepare(`SELECT * FROM publish_attempts${w.sql} ORDER BY createdAt DESC`).all(...w.params);
259
+ return rows.map(toAttempt);
260
+ },
261
+ async countPublishAttempts(query) {
262
+ const w = attemptWhere(query);
263
+ const r = this.db.prepare(`SELECT COUNT(*) AS n FROM publish_attempts${w.sql}`).get(...w.params);
264
+ return Number(r?.n ?? 0);
265
+ },
266
+ /**
267
+ * Insert-if-new, then read back. Two users arriving from the same Mastodon instance at the same
268
+ * moment must converge on ONE registration; a check-then-insert would let both register and orphan
269
+ * the loser's credentials at the instance with nothing pointing at them.
270
+ */
271
+ async upsertProviderClient(row) {
272
+ this.db.prepare(`
273
+ INSERT INTO provider_clients (id, provider, instance, clientId, clientSecret, registeredAt)
274
+ VALUES (?, ?, ?, ?, ?, ?)
275
+ ON CONFLICT(provider, instance) DO NOTHING
276
+ `).run(row.id, row.provider, row.instance, row.clientId, row.clientSecret, row.registeredAt);
277
+ const r = this.db.prepare('SELECT * FROM provider_clients WHERE provider = ? AND instance = ?')
278
+ .get(row.provider, row.instance);
279
+ return toProviderClient(r);
280
+ },
281
+ async getProviderClient(provider, instance) {
282
+ const r = this.db.prepare('SELECT * FROM provider_clients WHERE provider = ? AND instance = ?')
283
+ .get(provider, instance);
284
+ return r ? toProviderClient(r) : undefined;
285
+ },
286
+ };
287
+ //# sourceMappingURL=connections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../../../../../src/storage/providers/sqlite/methods/connections.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-tables-1.d.ts","sourceRoot":"","sources":["../../../../../src/storage/providers/sqlite/schema-tables-1.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAopB9D"}
1
+ {"version":3,"file":"schema-tables-1.d.ts","sourceRoot":"","sources":["../../../../../src/storage/providers/sqlite/schema-tables-1.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAwpB9D"}
@@ -610,6 +610,10 @@ export function applySchemaTables1(db) {
610
610
  state TEXT NOT NULL UNIQUE,
611
611
  nonce TEXT NOT NULL,
612
612
  redirectUri TEXT NOT NULL DEFAULT '',
613
+ -- TARGET-057: flow-specific JSON the callback needs and the URL must not carry (provider,
614
+ -- instance, mode). In the redirect URL instead, whoever calls the callback would get to
615
+ -- choose which provider their code is redeemed against.
616
+ payload TEXT,
613
617
  createdAt TEXT NOT NULL,
614
618
  expiresAt TEXT NOT NULL
615
619
  );
@@ -1 +1 @@
1
- {"version":3,"file":"schema-tables-1.js","sourceRoot":"","sources":["../../../../../src/storage/providers/sqlite/schema-tables-1.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,kBAAkB,CAAC,EAAqB;IACtD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkpBP,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"schema-tables-1.js","sourceRoot":"","sources":["../../../../../src/storage/providers/sqlite/schema-tables-1.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,kBAAkB,CAAC,EAAqB;IACtD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAspBP,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-tables-3.d.ts","sourceRoot":"","sources":["../../../../../src/storage/providers/sqlite/schema-tables-3.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAwgB9D"}
1
+ {"version":3,"file":"schema-tables-3.d.ts","sourceRoot":"","sources":["../../../../../src/storage/providers/sqlite/schema-tables-3.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAknB9D"}