aimeat 2.5.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 (256) hide show
  1. package/dist/.env.example +33 -0
  2. package/dist/build-stamp.json +13 -0
  3. package/dist/locales/en.json +166 -3
  4. package/dist/locales/fi.json +166 -3
  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/js/services/audio-recorder.js +171 -0
  11. package/dist/public/js/services/messages.js +21 -2
  12. package/dist/public/spa.html +3 -0
  13. package/dist/public/views/profile/access-tab/connections.js +264 -0
  14. package/dist/public/views/profile/access-tab.js +2 -0
  15. package/dist/public/views/profile/inbox-tab/components.js +60 -10
  16. package/dist/public/views/profile/inbox-tab/helpers.js +33 -0
  17. package/dist/public/views/profile/inbox-tab/panels.js +6 -1
  18. package/dist/public/views/profile/inbox-tab/use-voice.js +50 -0
  19. package/dist/public/views/profile/inbox-tab/voice-parts.js +111 -0
  20. package/dist/public/views/profile/inbox-tab.js +18 -24
  21. package/dist/public/views/profile/openrouter/budget-panel.js +224 -0
  22. package/dist/public/views/profile/openrouter/model-picker.js +150 -0
  23. package/dist/public/views/profile/openrouter/pricing.js +139 -0
  24. package/dist/public/views/profile/openrouter-settings.js +425 -488
  25. package/dist/scripts/build-sdk-libs.d.ts.map +1 -1
  26. package/dist/scripts/build-sdk-libs.js +1 -0
  27. package/dist/scripts/build-sdk-libs.js.map +1 -1
  28. package/dist/scripts/check-ai-disclosure.d.ts.map +1 -1
  29. package/dist/scripts/check-ai-disclosure.js +65 -0
  30. package/dist/scripts/check-ai-disclosure.js.map +1 -1
  31. package/dist/src/cli/connect/ai-provenance-carry.d.ts +54 -3
  32. package/dist/src/cli/connect/ai-provenance-carry.d.ts.map +1 -1
  33. package/dist/src/cli/connect/ai-provenance-carry.js +84 -12
  34. package/dist/src/cli/connect/ai-provenance-carry.js.map +1 -1
  35. package/dist/src/cli/connect/api-client.d.ts +11 -0
  36. package/dist/src/cli/connect/api-client.d.ts.map +1 -1
  37. package/dist/src/cli/connect/api-client.js +2 -0
  38. package/dist/src/cli/connect/api-client.js.map +1 -1
  39. package/dist/src/cli/connect/mcp/local-server.d.ts.map +1 -1
  40. package/dist/src/cli/connect/mcp/local-server.js +11 -0
  41. package/dist/src/cli/connect/mcp/local-server.js.map +1 -1
  42. package/dist/src/cli/connect/mcp/tools/apps.d.ts +1 -0
  43. package/dist/src/cli/connect/mcp/tools/apps.d.ts.map +1 -1
  44. package/dist/src/cli/connect/mcp/tools/apps.js +3 -2
  45. package/dist/src/cli/connect/mcp/tools/apps.js.map +1 -1
  46. package/dist/src/cli/connect/mcp/tools/core.d.ts +2 -0
  47. package/dist/src/cli/connect/mcp/tools/core.d.ts.map +1 -1
  48. package/dist/src/cli/connect/mcp/tools/core.js +5 -2
  49. package/dist/src/cli/connect/mcp/tools/core.js.map +1 -1
  50. package/dist/src/cli/connect/mcp/tools/knowledge.d.ts +1 -0
  51. package/dist/src/cli/connect/mcp/tools/knowledge.d.ts.map +1 -1
  52. package/dist/src/cli/connect/mcp/tools/knowledge.js +3 -2
  53. package/dist/src/cli/connect/mcp/tools/knowledge.js.map +1 -1
  54. package/dist/src/config-types.d.ts +14 -0
  55. package/dist/src/config-types.d.ts.map +1 -1
  56. package/dist/src/config.d.ts.map +1 -1
  57. package/dist/src/config.js +10 -0
  58. package/dist/src/config.js.map +1 -1
  59. package/dist/src/generated/api-types.d.ts +969 -4
  60. package/dist/src/generated/api-types.d.ts.map +1 -1
  61. package/dist/src/mcp/ai-provenance-input.d.ts +33 -0
  62. package/dist/src/mcp/ai-provenance-input.d.ts.map +1 -1
  63. package/dist/src/mcp/ai-provenance-input.js +36 -0
  64. package/dist/src/mcp/ai-provenance-input.js.map +1 -1
  65. package/dist/src/mcp/apps.d.ts +7 -0
  66. package/dist/src/mcp/apps.d.ts.map +1 -1
  67. package/dist/src/mcp/apps.js +20 -2
  68. package/dist/src/mcp/apps.js.map +1 -1
  69. package/dist/src/models/ai-provenance-schemas.d.ts +7 -1
  70. package/dist/src/models/ai-provenance-schemas.d.ts.map +1 -1
  71. package/dist/src/models/ai-provenance-schemas.js +11 -1
  72. package/dist/src/models/ai-provenance-schemas.js.map +1 -1
  73. package/dist/src/models/connection-schemas.d.ts +203 -0
  74. package/dist/src/models/connection-schemas.d.ts.map +1 -0
  75. package/dist/src/models/connection-schemas.js +33 -0
  76. package/dist/src/models/connection-schemas.js.map +1 -0
  77. package/dist/src/models/message-schemas.d.ts +40 -0
  78. package/dist/src/models/message-schemas.d.ts.map +1 -1
  79. package/dist/src/models/message-schemas.js +23 -0
  80. package/dist/src/models/message-schemas.js.map +1 -1
  81. package/dist/src/routes/ai-provenance.d.ts +6 -0
  82. package/dist/src/routes/ai-provenance.d.ts.map +1 -1
  83. package/dist/src/routes/ai-provenance.js +34 -1
  84. package/dist/src/routes/ai-provenance.js.map +1 -1
  85. package/dist/src/routes/ai.d.ts +5 -0
  86. package/dist/src/routes/ai.d.ts.map +1 -1
  87. package/dist/src/routes/ai.js +83 -0
  88. package/dist/src/routes/ai.js.map +1 -1
  89. package/dist/src/routes/app-grants.d.ts.map +1 -1
  90. package/dist/src/routes/app-grants.js +4 -0
  91. package/dist/src/routes/app-grants.js.map +1 -1
  92. package/dist/src/routes/apps/drafts.d.ts +3 -0
  93. package/dist/src/routes/apps/drafts.d.ts.map +1 -1
  94. package/dist/src/routes/apps/drafts.js +13 -0
  95. package/dist/src/routes/apps/drafts.js.map +1 -1
  96. package/dist/src/routes/apps/publish.d.ts +5 -0
  97. package/dist/src/routes/apps/publish.d.ts.map +1 -1
  98. package/dist/src/routes/apps/publish.js +21 -5
  99. package/dist/src/routes/apps/publish.js.map +1 -1
  100. package/dist/src/routes/connections.d.ts +35 -0
  101. package/dist/src/routes/connections.d.ts.map +1 -0
  102. package/dist/src/routes/connections.js +406 -0
  103. package/dist/src/routes/connections.js.map +1 -0
  104. package/dist/src/routes/libs.js +1 -1
  105. package/dist/src/routes/libs.js.map +1 -1
  106. package/dist/src/routes/messages.d.ts +5 -0
  107. package/dist/src/routes/messages.d.ts.map +1 -1
  108. package/dist/src/routes/messages.js +92 -0
  109. package/dist/src/routes/messages.js.map +1 -1
  110. package/dist/src/routes/openrouter.d.ts +6 -1
  111. package/dist/src/routes/openrouter.d.ts.map +1 -1
  112. package/dist/src/routes/openrouter.js +37 -7
  113. package/dist/src/routes/openrouter.js.map +1 -1
  114. package/dist/src/routes/upload.d.ts +5 -0
  115. package/dist/src/routes/upload.d.ts.map +1 -1
  116. package/dist/src/routes/upload.js +32 -0
  117. package/dist/src/routes/upload.js.map +1 -1
  118. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  119. package/dist/src/server-bootstrap/routes-loader.js +2 -0
  120. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  121. package/dist/src/services/ai-completion.d.ts +48 -0
  122. package/dist/src/services/ai-completion.d.ts.map +1 -1
  123. package/dist/src/services/ai-completion.js +112 -72
  124. package/dist/src/services/ai-completion.js.map +1 -1
  125. package/dist/src/services/ai-disclosure.d.ts +6 -0
  126. package/dist/src/services/ai-disclosure.d.ts.map +1 -1
  127. package/dist/src/services/ai-disclosure.js +20 -2
  128. package/dist/src/services/ai-disclosure.js.map +1 -1
  129. package/dist/src/services/ai-provenance-page.d.ts +59 -0
  130. package/dist/src/services/ai-provenance-page.d.ts.map +1 -0
  131. package/dist/src/services/ai-provenance-page.js +185 -0
  132. package/dist/src/services/ai-provenance-page.js.map +1 -0
  133. package/dist/src/services/ai-provenance.d.ts +6 -0
  134. package/dist/src/services/ai-provenance.d.ts.map +1 -1
  135. package/dist/src/services/ai-provenance.js +5 -0
  136. package/dist/src/services/ai-provenance.js.map +1 -1
  137. package/dist/src/services/ai-transcription.d.ts +66 -0
  138. package/dist/src/services/ai-transcription.d.ts.map +1 -0
  139. package/dist/src/services/ai-transcription.js +90 -0
  140. package/dist/src/services/ai-transcription.js.map +1 -0
  141. package/dist/src/services/app-publish.d.ts.map +1 -1
  142. package/dist/src/services/app-publish.js +16 -1
  143. package/dist/src/services/app-publish.js.map +1 -1
  144. package/dist/src/services/build-app-prompt.d.ts.map +1 -1
  145. package/dist/src/services/build-app-prompt.js +2 -1
  146. package/dist/src/services/build-app-prompt.js.map +1 -1
  147. package/dist/src/services/connections/attach.d.ts +62 -0
  148. package/dist/src/services/connections/attach.d.ts.map +1 -0
  149. package/dist/src/services/connections/attach.js +168 -0
  150. package/dist/src/services/connections/attach.js.map +1 -0
  151. package/dist/src/services/connections/credential.d.ts +39 -0
  152. package/dist/src/services/connections/credential.d.ts.map +1 -0
  153. package/dist/src/services/connections/credential.js +66 -0
  154. package/dist/src/services/connections/credential.js.map +1 -0
  155. package/dist/src/services/connections/instance.d.ts +65 -0
  156. package/dist/src/services/connections/instance.d.ts.map +1 -0
  157. package/dist/src/services/connections/instance.js +144 -0
  158. package/dist/src/services/connections/instance.js.map +1 -0
  159. package/dist/src/services/connections/oauth.d.ts +77 -0
  160. package/dist/src/services/connections/oauth.d.ts.map +1 -0
  161. package/dist/src/services/connections/oauth.js +290 -0
  162. package/dist/src/services/connections/oauth.js.map +1 -0
  163. package/dist/src/services/connections/providers.d.ts +118 -0
  164. package/dist/src/services/connections/providers.d.ts.map +1 -0
  165. package/dist/src/services/connections/providers.js +260 -0
  166. package/dist/src/services/connections/providers.js.map +1 -0
  167. package/dist/src/services/connections/publish-gate.d.ts +103 -0
  168. package/dist/src/services/connections/publish-gate.d.ts.map +1 -0
  169. package/dist/src/services/connections/publish-gate.js +0 -0
  170. package/dist/src/services/connections/publish-gate.js.map +1 -0
  171. package/dist/src/services/connections/publish.d.ts +60 -0
  172. package/dist/src/services/connections/publish.d.ts.map +1 -0
  173. package/dist/src/services/connections/publish.js +340 -0
  174. package/dist/src/services/connections/publish.js.map +1 -0
  175. package/dist/src/services/connections/refresh.d.ts +55 -0
  176. package/dist/src/services/connections/refresh.d.ts.map +1 -0
  177. package/dist/src/services/connections/refresh.js +307 -0
  178. package/dist/src/services/connections/refresh.js.map +1 -0
  179. package/dist/src/services/message-send.d.ts.map +1 -1
  180. package/dist/src/services/message-send.js +16 -2
  181. package/dist/src/services/message-send.js.map +1 -1
  182. package/dist/src/services/openrouter.d.ts +67 -1
  183. package/dist/src/services/openrouter.d.ts.map +1 -1
  184. package/dist/src/services/openrouter.js +102 -11
  185. package/dist/src/services/openrouter.js.map +1 -1
  186. package/dist/src/services/upload-token.d.ts +5 -1
  187. package/dist/src/services/upload-token.d.ts.map +1 -1
  188. package/dist/src/services/upload-token.js +13 -1
  189. package/dist/src/services/upload-token.js.map +1 -1
  190. package/dist/src/services/workflow/engine-util.d.ts +18 -0
  191. package/dist/src/services/workflow/engine-util.d.ts.map +1 -1
  192. package/dist/src/services/workflow/engine-util.js +27 -0
  193. package/dist/src/services/workflow/engine-util.js.map +1 -1
  194. package/dist/src/services/workflow/engine.d.ts.map +1 -1
  195. package/dist/src/services/workflow/engine.js +4 -2
  196. package/dist/src/services/workflow/engine.js.map +1 -1
  197. package/dist/src/storage/interface.d.ts +2 -1
  198. package/dist/src/storage/interface.d.ts.map +1 -1
  199. package/dist/src/storage/providers/postgres-kysely/db-types.d.ts +65 -0
  200. package/dist/src/storage/providers/postgres-kysely/db-types.d.ts.map +1 -1
  201. package/dist/src/storage/providers/postgres-kysely/index.d.ts.map +1 -1
  202. package/dist/src/storage/providers/postgres-kysely/index.js +2 -1
  203. package/dist/src/storage/providers/postgres-kysely/index.js.map +1 -1
  204. package/dist/src/storage/providers/postgres-kysely/methods/connections.d.ts +44 -0
  205. package/dist/src/storage/providers/postgres-kysely/methods/connections.d.ts.map +1 -0
  206. package/dist/src/storage/providers/postgres-kysely/methods/connections.js +308 -0
  207. package/dist/src/storage/providers/postgres-kysely/methods/connections.js.map +1 -0
  208. package/dist/src/storage/providers/postgres-kysely/methods/node-infra.d.ts.map +1 -1
  209. package/dist/src/storage/providers/postgres-kysely/methods/node-infra.js +4 -2
  210. package/dist/src/storage/providers/postgres-kysely/methods/node-infra.js.map +1 -1
  211. package/dist/src/storage/providers/postgres-kysely/migrations/0021_connections.sql +116 -0
  212. package/dist/src/storage/providers/postgres-kysely/migrations/0022_provider_clients.sql +36 -0
  213. package/dist/src/storage/providers/postgres-kysely/migrations/0023_nonce_payload.sql +13 -0
  214. package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
  215. package/dist/src/storage/providers/sqlite/index.js +2 -1
  216. package/dist/src/storage/providers/sqlite/index.js.map +1 -1
  217. package/dist/src/storage/providers/sqlite/methods/community.d.ts.map +1 -1
  218. package/dist/src/storage/providers/sqlite/methods/community.js +2 -1
  219. package/dist/src/storage/providers/sqlite/methods/community.js.map +1 -1
  220. package/dist/src/storage/providers/sqlite/methods/connections.d.ts +60 -0
  221. package/dist/src/storage/providers/sqlite/methods/connections.d.ts.map +1 -0
  222. package/dist/src/storage/providers/sqlite/methods/connections.js +287 -0
  223. package/dist/src/storage/providers/sqlite/methods/connections.js.map +1 -0
  224. package/dist/src/storage/providers/sqlite/schema-tables-1.d.ts.map +1 -1
  225. package/dist/src/storage/providers/sqlite/schema-tables-1.js +4 -0
  226. package/dist/src/storage/providers/sqlite/schema-tables-1.js.map +1 -1
  227. package/dist/src/storage/providers/sqlite/schema-tables-3.d.ts.map +1 -1
  228. package/dist/src/storage/providers/sqlite/schema-tables-3.js +106 -0
  229. package/dist/src/storage/providers/sqlite/schema-tables-3.js.map +1 -1
  230. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  231. package/dist/src/storage/providers/sqlite/schema.js +2 -0
  232. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  233. package/dist/src/storage/repositories/connection.repository.d.ts +124 -0
  234. package/dist/src/storage/repositories/connection.repository.d.ts.map +1 -0
  235. package/dist/src/storage/repositories/connection.repository.js +2 -0
  236. package/dist/src/storage/repositories/connection.repository.js.map +1 -0
  237. package/dist/src/storage/types/agents-messaging.d.ts +19 -0
  238. package/dist/src/storage/types/agents-messaging.d.ts.map +1 -1
  239. package/dist/src/storage/types/agents-messaging.js.map +1 -1
  240. package/dist/src/storage/types/auth.d.ts +8 -1
  241. package/dist/src/storage/types/auth.d.ts.map +1 -1
  242. package/dist/src/utils/build-stamp.d.ts +56 -0
  243. package/dist/src/utils/build-stamp.d.ts.map +1 -0
  244. package/dist/src/utils/build-stamp.js +142 -0
  245. package/dist/src/utils/build-stamp.js.map +1 -0
  246. package/dist/src/utils/messaging.d.ts +14 -0
  247. package/dist/src/utils/messaging.d.ts.map +1 -1
  248. package/dist/src/utils/messaging.js +0 -0
  249. package/dist/src/utils/messaging.js.map +1 -1
  250. package/dist/static/sdk-libs/connect/index.js +199 -0
  251. package/dist/static/sdk-libs/connect/notes.js +47 -0
  252. package/dist/static/sdk-libs/connect/panel.js +238 -0
  253. package/dist/static/sdk-libs/data/index.js +63 -11
  254. package/dist/static/sdk-libs/dist/aimeat-connect.js +357 -0
  255. package/dist/static/sdk-libs/dist/aimeat-data.js +40 -9
  256. package/package.json +2 -2
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @file src/services/ai-provenance-page.ts
3
+ * @description The READABLE provenance record — the page a person lands on after clicking the
4
+ * "How this was made" link on a visible AI label.
5
+ *
6
+ * WHY THIS EXISTS. The visible chip's second layer pointed at `/v1/provenance/{id}`, which
7
+ * answered `application/json` to everyone, browsers included. The route's own comment says a
8
+ * person arrives here ("this is the one page where somebody who thinks a label is wrong or
9
+ * missing already has the identifier in front of them"), and the correction procedure it offers
10
+ * lived in `next_actions` — invisible to exactly the reader it exists for. So the compliance
11
+ * label answered a member of the public with a JSON dump.
12
+ *
13
+ * CONTENT NEGOTIATION, NOT A NEW CHIP. The alternative was a dialog inside the injected label, and
14
+ * that label runs as foreign script inside somebody else's single-file app on an isolated origin —
15
+ * its three lines are deliberately minimal. Negotiating here fixes every app on the node at once
16
+ * and touches no app.
17
+ *
18
+ * THE WORDING IS THE RECORD'S OWN. `disclosure.short` and `.long` are pre-rendered at mint time in
19
+ * every locale, so the page says exactly what the chip said. Writing fresh sentences here would
20
+ * create a second source of truth for a compliance statement, and the two would drift.
21
+ *
22
+ * WHAT IS DELIBERATELY NOT HERE: any field the JSON would not have served to the same caller. The
23
+ * route decides `isOwner` and projects the record BEFORE calling this; a page that reached past
24
+ * that projection would widen a disclosure boundary in the one format nobody diffs.
25
+ * @structure
26
+ * - provenancePage(record, opts) — the full HTML document
27
+ * @usage
28
+ * if (prefersHtmlPage(req)) return res.type('html').send(provenancePage(serve(row, isOwner), {...}));
29
+ * @version-history
30
+ * v1.0.0 — 2026-08-02 — Initial. LUOTAIN finding: the label's second layer was machine-only.
31
+ */
32
+ import type { AiProvenance } from '../models/ai-provenance-schemas.js';
33
+ import type { Locale } from '../i18n.js';
34
+ export interface ProvenancePageOptions {
35
+ /** The node's apex, for the links out. */
36
+ baseUrl: string;
37
+ /** Reader language, from Accept-Language. Only 'en' and 'fi' are rendered. */
38
+ locale: Locale;
39
+ /** The record's addressable URL, shown so a reader can cite or re-fetch it. */
40
+ recordUrl: string;
41
+ }
42
+ /**
43
+ * The 404 page — ONE page for "no such record", "not yours" and "its content is not public".
44
+ *
45
+ * The JSON branch collapses those three into one identical body so the endpoint cannot be used as
46
+ * an oracle for which ids exist on this node. The HTML branch has to be exactly as uninformative,
47
+ * or adding a readable page would reopen what that code closed. It therefore takes NO argument
48
+ * about the record: there is nothing it could differ on.
49
+ */
50
+ export declare function provenanceNotFoundPage(opts: {
51
+ baseUrl: string;
52
+ locale: Locale;
53
+ }): string;
54
+ /**
55
+ * The page. `record` is ALREADY projected for the caller — pass exactly what the JSON branch would
56
+ * have served, never the raw row.
57
+ */
58
+ export declare function provenancePage(record: AiProvenance, opts: ProvenancePageOptions): string;
59
+ //# sourceMappingURL=ai-provenance-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-provenance-page.d.ts","sourceRoot":"","sources":["../../../src/services/ai-provenance-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;CACnB;AAuFD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAuBxF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAoExF"}
@@ -0,0 +1,185 @@
1
+ function esc(s) {
2
+ return String(s)
3
+ .replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')
4
+ .replace(/"/g, '&quot;').replace(/'/g, '&#39;');
5
+ }
6
+ /** Localized copy. Only the CHROME lives here; every statement of fact comes off the record. */
7
+ const COPY = {
8
+ en: {
9
+ title: 'How this was made',
10
+ unstated: 'This record does not state it.',
11
+ fields: 'What the record says',
12
+ level: 'How much a model made', method: 'Method', human: 'Human involvement',
13
+ model: 'Model', provider: 'Served by', generatedAt: 'Recorded', pipeline: 'Pipeline',
14
+ principal: 'Recorded for', stampedBy: 'Stated by', sources: 'Sources',
15
+ hash: 'Content fingerprint',
16
+ hashNote: 'The record is bound to these exact bytes. Content that has changed since is not what '
17
+ + 'this record describes.',
18
+ stampedNode: 'the node, which did not witness the generation and inferred this',
19
+ stampedPrincipal: 'the account that produced it, as its own statement',
20
+ wrongTitle: 'Is this label wrong, or missing somewhere?',
21
+ wrongBody: 'Anyone can report it. Quote the record id below.',
22
+ reportBtn: 'How to report it',
23
+ howNode: 'How this node marks AI content',
24
+ recordId: 'Record id',
25
+ machine: 'The same record as JSON',
26
+ noneOwed: 'No visible label is owed for this content.',
27
+ gone: 'No such record',
28
+ goneBody: 'There is no provenance record at this address, or it is not public. If you arrived '
29
+ + 'from a label, the content it described may have been unpublished.',
30
+ },
31
+ fi: {
32
+ title: 'Miten tämä on tehty',
33
+ unstated: 'Tietue ei kerro sitä.',
34
+ fields: 'Mitä tietue kertoo',
35
+ level: 'Kuinka paljon malli teki', method: 'Menetelmä', human: 'Ihmisen osuus',
36
+ model: 'Malli', provider: 'Tarjoaja', generatedAt: 'Kirjattu', pipeline: 'Tuotantoketju',
37
+ principal: 'Kirjattu tilille', stampedBy: 'Kertonut', sources: 'Lähteet',
38
+ hash: 'Sisällön sormenjälki',
39
+ hashNote: 'Tietue on sidottu juuri näihin tavuihin. Sen jälkeen muuttunut sisältö ei ole se, '
40
+ + 'mitä tämä tietue kuvaa.',
41
+ stampedNode: 'solmu, joka ei nähnyt tuottamista vaan päätteli tämän',
42
+ stampedPrincipal: 'sisällön tuottanut tili omana ilmoituksenaan',
43
+ wrongTitle: 'Onko merkintä väärä tai puuttuuko se jostain?',
44
+ wrongBody: 'Kuka tahansa voi ilmoittaa siitä. Mainitse alla oleva tietueen tunnus.',
45
+ reportBtn: 'Miten ilmoitat',
46
+ howNode: 'Miten tämä solmu merkitsee tekoälysisältöä',
47
+ recordId: 'Tietueen tunnus',
48
+ machine: 'Sama tietue JSONina',
49
+ noneOwed: 'Tälle sisällölle ei ole näkyvää merkintää velvoitettu.',
50
+ gone: 'Tietuetta ei ole',
51
+ goneBody: 'Tässä osoitteessa ei ole alkuperätietuetta, tai se ei ole julkinen. Jos tulit '
52
+ + 'merkinnästä, sen kuvaama sisältö on voitu poistaa julkaisusta.',
53
+ },
54
+ };
55
+ const STYLE = `
56
+ :root{color-scheme:light dark;--fg:#14151a;--dim:#5b6070;--line:#dfe2ea;--bg:#fbfbfd;--card:#fff;--accent:#8b2500}
57
+ @media (prefers-color-scheme:dark){:root{--fg:#e8e9ee;--dim:#9aa0b0;--line:#2c2f3a;--bg:#14151a;--card:#1b1d25;--accent:#ff8a66}}
58
+ *{box-sizing:border-box}
59
+ body{margin:0;padding:2rem 1rem 4rem;background:var(--bg);color:var(--fg);
60
+ font:400 16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
61
+ main{max-width:44rem;margin:0 auto}
62
+ h1{font-size:1.5rem;margin:0 0 .25rem}
63
+ .lede{font-size:1.05rem;margin:0 0 1.75rem}
64
+ h2{font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);
65
+ margin:2rem 0 .6rem;font-weight:600}
66
+ .card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.15rem}
67
+ dl{margin:0;display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:.45rem 1rem}
68
+ dt{color:var(--dim)}
69
+ dd{margin:0;overflow-wrap:anywhere}
70
+ code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}
71
+ ol{margin:.3rem 0 0;padding-left:1.2rem}
72
+ li{margin-bottom:.3rem;overflow-wrap:anywhere}
73
+ a{color:var(--accent)}
74
+ .note{color:var(--dim);font-size:.9rem;margin:.6rem 0 0}
75
+ .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}
76
+ @media (max-width:32rem){dl{grid-template-columns:1fr;gap:.15rem}dt{margin-top:.5rem}}
77
+ `;
78
+ function row(dt, dd) {
79
+ if (!dd)
80
+ return '';
81
+ return `<dt>${esc(dt)}</dt><dd>${dd}</dd>`;
82
+ }
83
+ /**
84
+ * The 404 page — ONE page for "no such record", "not yours" and "its content is not public".
85
+ *
86
+ * The JSON branch collapses those three into one identical body so the endpoint cannot be used as
87
+ * an oracle for which ids exist on this node. The HTML branch has to be exactly as uninformative,
88
+ * or adding a readable page would reopen what that code closed. It therefore takes NO argument
89
+ * about the record: there is nothing it could differ on.
90
+ */
91
+ export function provenanceNotFoundPage(opts) {
92
+ const t = COPY[opts.locale === 'fi' ? 'fi' : 'en'];
93
+ const lang = opts.locale === 'fi' ? 'fi' : 'en';
94
+ const base = opts.baseUrl.replace(/\/+$/, '');
95
+ return `<!DOCTYPE html>
96
+ <html lang="${lang}">
97
+ <head>
98
+ <meta charset="utf-8">
99
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
100
+ <title>${esc(t.gone)}</title>
101
+ <meta name="robots" content="noindex">
102
+ <style>${STYLE}</style>
103
+ </head>
104
+ <body>
105
+ <main>
106
+ <h1>${esc(t.gone)}</h1>
107
+ <p class="lede">${esc(t.goneBody)}</p>
108
+ <div class="card"><div class="actions">
109
+ <a href="${esc(base)}/v1/ai-transparency">${esc(t.howNode)}</a>
110
+ </div></div>
111
+ </main>
112
+ </body>
113
+ </html>`;
114
+ }
115
+ /**
116
+ * The page. `record` is ALREADY projected for the caller — pass exactly what the JSON branch would
117
+ * have served, never the raw row.
118
+ */
119
+ export function provenancePage(record, opts) {
120
+ const t = COPY[opts.locale === 'fi' ? 'fi' : 'en'];
121
+ const lang = opts.locale === 'fi' ? 'fi' : 'en';
122
+ const base = opts.baseUrl.replace(/\/+$/, '');
123
+ const d = record.disclosure;
124
+ const g = record.generator;
125
+ // The chip's own sentence, in the reader's language, with the record's fallbacks.
126
+ const short = d?.short?.[lang] ?? d?.short?.en ?? '';
127
+ const long = d?.long?.[lang] ?? d?.long?.en ?? '';
128
+ const lede = d?.required === false && !short ? t.noneOwed : [short, long].filter(Boolean).join('. ');
129
+ const sources = (record.sources ?? []).filter(s => s?.url);
130
+ const stamped = record.attestation?.stampedBy === 'node' ? t.stampedNode
131
+ : record.attestation?.stampedBy === 'principal' ? t.stampedPrincipal : null;
132
+ return `<!DOCTYPE html>
133
+ <html lang="${lang}">
134
+ <head>
135
+ <meta charset="utf-8">
136
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
137
+ <title>${esc(t.title)}</title>
138
+ <meta name="robots" content="noindex">
139
+ <link rel="alternate" type="application/json" href="${esc(opts.recordUrl)}">
140
+ <style>${STYLE}</style>
141
+ </head>
142
+ <body>
143
+ <main>
144
+ <h1>${esc(t.title)}</h1>
145
+ <p class="lede">${esc(lede)}</p>
146
+
147
+ <h2>${esc(t.fields)}</h2>
148
+ <div class="card"><dl>
149
+ ${row(t.level, esc(record.level))}
150
+ ${row(t.method, record.method ? esc(record.method) : '')}
151
+ ${row(t.human, esc(record.humanInvolvement))}
152
+ ${row(t.model, g?.model ? `<code>${esc(g.model)}</code>` : '')}
153
+ ${row(t.provider, g?.provider ? esc(g.provider) : '')}
154
+ ${row(t.pipeline, g?.pipeline ? `<code>${esc(g.pipeline)}</code>` : '')}
155
+ ${row(t.principal, g?.principal ? `<code>${esc(g.principal)}</code>` : '')}
156
+ ${row(t.generatedAt, record.generatedAt ? esc(record.generatedAt) : '')}
157
+ ${row(t.stampedBy, stamped ? esc(stamped) : '')}
158
+ </dl></div>
159
+
160
+ ${sources.length ? `<h2>${esc(t.sources)}</h2>
161
+ <div class="card"><ol>
162
+ ${sources.map(s => `<li><a href="${esc(s.url)}" rel="noopener noreferrer nofollow" target="_blank">${esc(s.title || s.url)}</a>${s.retrievedAt ? ` <span class="note">(${esc(String(s.retrievedAt).slice(0, 10))})</span>` : ''}</li>`).join('\n')}
163
+ </ol></div>` : ''}
164
+
165
+ ${record.attestation?.contentHash ? `<h2>${esc(t.hash)}</h2>
166
+ <div class="card"><code>${esc(record.attestation.contentHash)}</code>
167
+ <p class="note">${esc(t.hashNote)}</p></div>` : ''}
168
+
169
+ ${record.notes ? `<div class="card" style="margin-top:1rem"><p class="note" style="margin:0">${esc(record.notes)}</p></div>` : ''}
170
+
171
+ <h2>${esc(t.wrongTitle)}</h2>
172
+ <div class="card">
173
+ <p style="margin:0">${esc(t.wrongBody)}</p>
174
+ <p class="note">${esc(t.recordId)}: <code>${esc(opts.recordUrl.split('/').pop() ?? '')}</code></p>
175
+ <div class="actions">
176
+ <a href="${esc(base)}/v1/ai-transparency">${esc(t.howNode)}</a>
177
+ <a href="${esc(base)}/v1/docs#post-v1flags">${esc(t.reportBtn)}</a>
178
+ <a href="${esc(opts.recordUrl)}">${esc(t.machine)}</a>
179
+ </div>
180
+ </div>
181
+ </main>
182
+ </body>
183
+ </html>`;
184
+ }
185
+ //# sourceMappingURL=ai-provenance-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-provenance-page.js","sourceRoot":"","sources":["../../../src/services/ai-provenance-page.ts"],"names":[],"mappings":"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"}
@@ -120,6 +120,12 @@ export interface DeclaredProvenance {
120
120
  */
121
121
  humanInvolvement?: AiHumanInvolvement;
122
122
  model?: string;
123
+ /**
124
+ * Who SERVED the model, when a declarer routes through an intermediary. Separate from `model`
125
+ * because they answer different questions, and a router alias answers neither on its own: an
126
+ * agent recording `openrouter/openrouter/free` has named a routing pool, not a writer.
127
+ */
128
+ provider?: string;
123
129
  sources?: AiProvenanceSource[];
124
130
  notes?: string;
125
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provenance.d.ts","sourceRoot":"","sources":["../../../src/services/ai-provenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-provenance.d.ts","sourceRoot":"","sources":["../../../src/services/ai-provenance.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAEL,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAC3F,KAAK,WAAW,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAE9F,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAIpG,+FAA+F;AAC/F,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,SAAS,EAAE,WAAW,CAAC;IACvB,2FAA2F;IAC3F,SAAS,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAElB,KAAK,EAAE,iBAAiB,CAAC;IACzB,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAE5B,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC9B,sGAAsG;IACtG,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,gGAAgG;IAChG,SAAS,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,GAAG,QAAQ,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAEhE;AAkBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,GAAE,qBAA+B,GACjF,iBAAiB,CA8BnB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,GAC3C,OAAO,CAAC,qBAAqB,CAAC,CAiDhC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;IACL,uFAAuF;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,gEAAgE;IAChE,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAuB7B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,mFAAmF;AACnF,qBAAa,oBAAqB,SAAQ,KAAK;IAEjC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE;IADzC,QAAQ,CAAC,IAAI,kBAAkB;gBACV,UAAU,EAAE,MAAM,EAAE;CAM1C;AAED;4FAC4F;AAC5F,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AA2BzD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;IACL,uFAAuF;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmD7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;IACL,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAuB7B;AAED;kEACkE;AAClE,eAAO,MAAM,0BAA0B,QAE6C,CAAC;AAErF,oGAAoG;AACpG,eAAO,MAAM,4BAA4B,QAGuD,CAAC;AAOjG;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GACpE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAI7B;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAG9F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAU/F"}
@@ -305,6 +305,11 @@ export async function provenanceForWrite(storage, input) {
305
305
  content: input.content,
306
306
  generator: {
307
307
  ...(input.declared.model ? { model: input.declared.model } : {}),
308
+ // The declarer's own answer to "who ran it". The record schema has always had the field;
309
+ // until now only the node's OWN generation path could fill it, so an agent declaring for
310
+ // content it produced elsewhere had no way to say — and every such record came back with the
311
+ // question unanswered no matter how carefully the agent knew it.
312
+ ...(input.declared.provider ? { provider: input.declared.provider } : {}),
308
313
  ...(input.pipeline ? { pipeline: input.pipeline } : {}),
309
314
  },
310
315
  sources: input.declared.sources,
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provenance.js","sourceRoot":"","sources":["../../../src/services/ai-provenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-provenance.js","sourceRoot":"","sources":["../../../src/services/ai-provenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EACL,qBAAqB,EAAE,kBAAkB,GAI1C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAmD,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAoD9C,4FAA4F;AAC5F,MAAM,UAAU,aAAa,CAAC,KAA0B;IACtD,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,eAAe,GAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAEvF,sGAAsG;AACtG,SAAS,SAAS,CAAC,GAAW,EAAE,IAA6B;IAC3D,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,OAAO;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9D,OAAO,GAAoB,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAoB,EAAE,GAAmB,EAAE,SAAgC,OAAO;IAElF,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAEpD,IAAI,QAAgB,CAAC;IACrB,IAAI,OAAe,CAAC;IACpB,IAAI,QAAQ,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;QAC9C,QAAQ,GAAG,eAAe,CAAC;QAAC,OAAO,GAAG,cAAc,CAAC;IACvD,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxC,+FAA+F;QAC/F,2FAA2F;QAC3F,2EAA2E;QAC3E,QAAQ,GAAG,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,OAAO,GAAG,oBAAoB,CAAC;IACjC,CAAC;SAAM,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACvC,QAAQ,GAAG,kBAAkB,CAAC;QAAC,OAAO,GAAG,sBAAsB,CAAC;IAClE,CAAC;SAAM,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACvC,QAAQ,GAAG,kBAAkB,CAAC;QAAC,OAAO,GAAG,sBAAsB,CAAC;IAClE,CAAC;SAAM,IAAI,MAAM,CAAC,gBAAgB,KAAK,mBAAmB,IAAI,MAAM,CAAC,gBAAgB,KAAK,YAAY,EAAE,CAAC;QACvG,QAAQ,GAAG,eAAe,CAAC;QAAC,OAAO,GAAG,yBAAyB,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,eAAe,CAAC;QAAC,OAAO,GAAG,oBAAoB,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC;QAC1B,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC;KACzB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgB,EAAE,KAA0B;IAE5C,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS;QAC7C,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;IAErC,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,WAAW;QACX,SAAS,EAAE;YACT,GAAG,KAAK,CAAC,SAAS;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM;SAChD;QACD,WAAW,EAAE;YACX,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,4FAA4F;YAC5F,+FAA+F;YAC/F,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;YAChE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpG;KACF,CAAC;IACF,IAAI,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM;QAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACzD,IAAI,KAAK,CAAC,WAAW,EAAE,MAAM;QAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACrE,IAAI,KAAK,CAAC,KAAK;QAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAE3C,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAE/F,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uDAAuD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,GAAG,GAA0B;QACjC,EAAE;QACF,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,WAAW,IAAI,IAAI;QAChC,WAAW;QACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,MAAM,CAAC,IAAI;KACpB,CAAC;IACF,MAAM,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAgB,EAChB,KAeC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5D,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;QACxC,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,cAAc;QACrB,gBAAgB,EAAE,MAAM;QACxB,+FAA+F;QAC/F,8FAA8F;QAC9F,gBAAgB;QAChB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;QACpE,KAAK,EAAE,4BAA4B;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,EAAE,CAAC;AAChB,CAAC;AAkCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,mFAAmF;AACnF,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAExB;IADZ,IAAI,GAAG,cAAc,CAAC;IAC/B,YAAqB,UAAoB;QACvC,KAAK,CACH,UAAU,sBAAsB,6CAA6C;cAC3E,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QAHhF,eAAU,GAAV,UAAU,CAAU;QAIvC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;4FAC4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,oBAAoB,CAAC,OAAgB,EAAE,SAAiB;IACrE,iGAAiG;IACjG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9B,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE;QAC1D,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,IAAI,EAAE,CAAC;IAC7D,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACzF,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgB,EAChB,KAiBC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAE9C,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAClD,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,6FAA6F;QAC7F,qEAAqE;QACrE,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;YACxC,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;YACvC,2FAA2F;YAC3F,wFAAwF;YACxF,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;YAC3B,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM;YAC3D,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;YAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE;gBACT,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,yFAAyF;gBACzF,yFAAyF;gBACzF,6FAA6F;gBAC7F,iEAAiE;gBACjE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD;YACD,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;YAC/B,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,0BAA0B;YACzD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,eAAe,CAAC,OAAO,EAAE;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAgB,EAChB,KAuBC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;QACxC,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,cAAc;QACpC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM;QACzD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,QAAQ;YACb,CAAC,CAAC,kCAAkC,KAAK,CAAC,QAAQ,qBAAqB,QAAQ,CAAC,GAAG,QAAQ,QAAQ,CAAC,IAAI,KAAK;kBACzG,yDAAyD;YAC7D,CAAC,CAAC,kCAAkC,KAAK,CAAC,QAAQ,kDAAkD;QACtG,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,EAAE,CAAC;AAChB,CAAC;AAED;kEACkE;AAClE,MAAM,CAAC,MAAM,0BAA0B,GACrC,mGAAmG;MACjG,gFAAgF,CAAC;AAErF,oGAAoG;AACpG,MAAM,CAAC,MAAM,4BAA4B,GACvC,iGAAiG;MAC/F,8FAA8F;MAC9F,4FAA4F,CAAC;AAEjG,oGAAoG;AACpG,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAgB,EAAE,SAAiB,EAAE,YAAgC;IAErE,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IACpC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACxD,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAgB,EAAE,GAAa;IACtE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IACvC,OAAO,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB,EAAE,MAA0B;IAC/E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;IACF,IAAI,MAAM,CAAC,UAAU;QAAE,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAC9D,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @file ai-transcription.ts
3
+ * @description Speech-to-text for a single owner, using their own encrypted provider key. The
4
+ * sibling of ai-completion.ts and deliberately its mirror image: same preflight (provider
5
+ * allowlist, app allowlist, key decrypt, daily budget), same usage record, same typed error. One
6
+ * call is one transcription; the caller supplies bytes and gets text plus what it actually cost.
7
+ * @structure
8
+ * - transcribeForOwner(storage, config, gaii, opts) — runs one transcription
9
+ * - STT_UNSET_MESSAGE — the one place the "no model chosen" wording lives
10
+ * @usage
11
+ * import { transcribeForOwner } from '../services/ai-transcription.js';
12
+ * const r = await transcribeForOwner(storage, config, gaii, { audio, appId: 'inbox' });
13
+ * @version-history
14
+ * v1.0.0 — 2026-08-01 — Initial version. Multipart transport (services/openrouter.ts transcribe),
15
+ * shared gate from ai-completion.ts, cost taken from the provider's reported usage.cost because
16
+ * for audio models it is the only trustworthy price signal.
17
+ */
18
+ import type { AimeatConfig } from '../config.js';
19
+ import type { Storage } from '../storage/interface.js';
20
+ import { type TranscriptionAudio } from './openrouter.js';
21
+ /** Shown when the owner has no `sttModel`. Kept here so the route, the message route and the UI copy
22
+ * all point at the same instruction. */
23
+ export declare const STT_UNSET_MESSAGE = "No transcription model selected. Choose one in Settings \u2192 OpenRouter (for example openai/whisper-large-v3).";
24
+ export interface TranscribeForOwnerOptions {
25
+ audio: TranscriptionAudio;
26
+ /** Model override. Without it the owner's configured `sttModel` is used. */
27
+ model?: string;
28
+ /** ISO-639-1 hint. Without it the owner's `sttLanguage`, and without that, auto-detect. */
29
+ language?: string;
30
+ /** Ask for segment timestamps (verbose_json). */
31
+ verbose?: boolean;
32
+ /** App/source attribution — enables the per-app allowlist and quota, and labels the spend. */
33
+ appId?: string;
34
+ }
35
+ export interface TranscribeForOwnerResult {
36
+ text: string;
37
+ model: string;
38
+ language?: string;
39
+ /** Audio duration as the provider measured it; 0 when it did not report one. */
40
+ seconds: number;
41
+ usage: {
42
+ totalTokens: number;
43
+ costUsd: number;
44
+ costExact: boolean;
45
+ };
46
+ budget: {
47
+ dailyBudgetUsd: number;
48
+ spentTodayUsd: number;
49
+ remainingUsd: number;
50
+ };
51
+ }
52
+ /**
53
+ * Transcribe audio on behalf of an owner.
54
+ *
55
+ * Two deliberate differences from completeForOwner:
56
+ *
57
+ * 1. **No model fallback.** An unset `sttModel` is an error, not a reason to reach for the default
58
+ * model — that default is a text model, and sending it audio produces an opaque provider error
59
+ * instead of an instruction the owner can act on.
60
+ * 2. **No cost estimate.** When the provider reports no cost we record 0 with costExact:false rather
61
+ * than deriving one from duration. Audio pricing in the catalogue is per-minute on one provider
62
+ * and per-hour on another with nothing distinguishing them, so a derived number would be
63
+ * confidently wrong. Zero-and-flagged is the honest answer.
64
+ */
65
+ export declare function transcribeForOwner(storage: Storage, config: AimeatConfig, gaii: string, opts: TranscribeForOwnerOptions): Promise<TranscribeForOwnerResult>;
66
+ //# sourceMappingURL=ai-transcription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-transcription.d.ts","sourceRoot":"","sources":["../../../src/services/ai-transcription.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAoD,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAO5G;yCACyC;AACzC,eAAO,MAAM,iBAAiB,qHACiF,CAAC;AAEhH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IACpE,MAAM,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACjF;AAOD;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CA0EnC"}
@@ -0,0 +1,90 @@
1
+ import { transcribe, DEFAULT_BASE_URLS } from './openrouter.js';
2
+ import { AiCompletionError, assertProviderAllowed, assertAppAllowed, decryptOwnerKey, assertWithinBudget, recordAiUsage, todayKey, } from './ai-completion.js';
3
+ import { logger } from '../utils/logger.js';
4
+ /** Shown when the owner has no `sttModel`. Kept here so the route, the message route and the UI copy
5
+ * all point at the same instruction. */
6
+ export const STT_UNSET_MESSAGE = 'No transcription model selected. Choose one in Settings → OpenRouter (for example openai/whisper-large-v3).';
7
+ const emptyUsage = () => ({
8
+ date: todayKey(), total_cost_usd: 0, total_calls: 0, total_tokens: 0,
9
+ audio_seconds: 0, per_app: {}, updated_at: new Date().toISOString(),
10
+ });
11
+ /**
12
+ * Transcribe audio on behalf of an owner.
13
+ *
14
+ * Two deliberate differences from completeForOwner:
15
+ *
16
+ * 1. **No model fallback.** An unset `sttModel` is an error, not a reason to reach for the default
17
+ * model — that default is a text model, and sending it audio produces an opaque provider error
18
+ * instead of an instruction the owner can act on.
19
+ * 2. **No cost estimate.** When the provider reports no cost we record 0 with costExact:false rather
20
+ * than deriving one from duration. Audio pricing in the catalogue is per-minute on one provider
21
+ * and per-hour on another with nothing distinguishing them, so a derived number would be
22
+ * confidently wrong. Zero-and-flagged is the honest answer.
23
+ */
24
+ export async function transcribeForOwner(storage, config, gaii, opts) {
25
+ const bytes = opts.audio?.data;
26
+ if (!bytes || bytes.length === 0) {
27
+ throw new AiCompletionError('INVALID_BODY', 400, 'audio is required.');
28
+ }
29
+ const maxBytes = config.sttMaxMb * 1024 * 1024;
30
+ if (bytes.length > maxBytes) {
31
+ throw new AiCompletionError('AUDIO_TOO_LARGE', 400, `Audio is ${(bytes.length / 1048576).toFixed(1)} MB; this node accepts up to ${config.sttMaxMb} MB for transcription.`);
32
+ }
33
+ const [apiKeyRecord, prefsRecord, usageRecord] = await Promise.all([
34
+ storage.getMemory(gaii, 'openrouter.apikey'),
35
+ storage.getMemory(gaii, 'openrouter.settings'),
36
+ storage.getMemory(gaii, `ai-usage.${gaii}.${todayKey()}`),
37
+ ]);
38
+ const prefs = prefsRecord?.value ?? {};
39
+ const provider = prefs.provider || 'openrouter';
40
+ const baseUrl = prefs.baseUrl || DEFAULT_BASE_URLS[provider];
41
+ assertProviderAllowed(config, baseUrl);
42
+ assertAppAllowed(prefs, opts.appId);
43
+ const model = opts.model || (typeof prefs.sttModel === 'string' ? prefs.sttModel : '');
44
+ if (!model)
45
+ throw new AiCompletionError('NO_STT_MODEL', 400, STT_UNSET_MESSAGE);
46
+ const decryptedKey = decryptOwnerKey(config, apiKeyRecord?.value, provider);
47
+ const usage = usageRecord?.value ?? emptyUsage();
48
+ const dailyBudget = assertWithinBudget(usage, prefs, opts.appId);
49
+ const language = opts.language || (typeof prefs.sttLanguage === 'string' ? prefs.sttLanguage : undefined) || undefined;
50
+ let result;
51
+ try {
52
+ result = await transcribe(decryptedKey, model, opts.audio, baseUrl, { language, verbose: opts.verbose });
53
+ }
54
+ catch (e) {
55
+ const status = e.status;
56
+ if (status === 401)
57
+ throw new AiCompletionError('INVALID_API_KEY', 401, 'API key was rejected by the provider.');
58
+ if (status === 429)
59
+ throw new AiCompletionError('RATE_LIMITED', 429, 'Provider rate limit hit. Try again later.');
60
+ throw new AiCompletionError('PROVIDER_ERROR', 502, e.message);
61
+ }
62
+ const seconds = result.usage?.seconds ?? 0;
63
+ const totalTok = result.usage?.total_tokens
64
+ ?? ((result.usage?.input_tokens ?? 0) + (result.usage?.output_tokens ?? 0));
65
+ const costExact = typeof result.usage?.cost_usd === 'number';
66
+ const costUsd = costExact ? result.usage.cost_usd : 0;
67
+ // The duration ceiling can only be checked here: nothing before the response knows how long the
68
+ // audio was. The charge already happened, so this warns rather than throws — refusing to return
69
+ // text the owner has paid for would waste the money twice.
70
+ if (config.sttMaxSeconds > 0 && seconds > config.sttMaxSeconds) {
71
+ logger.warn(`[stt] gaii=${gaii} transcribed ${seconds}s, over the ${config.sttMaxSeconds}s guideline (model=${model})`);
72
+ }
73
+ const updated = await recordAiUsage(storage, gaii, usage, {
74
+ costUsd, tokens: totalTok, audioSeconds: seconds, appId: opts.appId,
75
+ });
76
+ logger.info(`[stt] gaii=${gaii} app=${opts.appId || '_unknown'} model=${result.model} seconds=${seconds} chars=${result.text.length} cost=$${costUsd.toFixed(6)} day_total=$${updated.total_cost_usd.toFixed(4)}`);
77
+ return {
78
+ text: result.text,
79
+ model: result.model,
80
+ language: result.language,
81
+ seconds,
82
+ usage: { totalTokens: totalTok, costUsd, costExact },
83
+ budget: {
84
+ dailyBudgetUsd: dailyBudget,
85
+ spentTodayUsd: updated.total_cost_usd,
86
+ remainingUsd: Math.max(0, dailyBudget - updated.total_cost_usd),
87
+ },
88
+ };
89
+ }
90
+ //# sourceMappingURL=ai-transcription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-transcription.js","sourceRoot":"","sources":["../../../src/services/ai-transcription.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-publish.d.ts","sourceRoot":"","sources":["../../../src/services/app-publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-publish.d.ts","sourceRoot":"","sources":["../../../src/services/app-publish.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,10 @@
37
37
  * });
38
38
  * if ('refusal' in out) return res.status(out.refusal.status).json(error(...));
39
39
  * @version-history
40
+ * v1.1.0 — 2026-08-02 — The app's declared `public-interest` reaches the disclosure decision.
41
+ * It was parsed into the posture and then never passed, so every publish fell to the
42
+ * over-label default and recorded the statutory basis. Tri-state: `observed` (the author
43
+ * said nothing) stays unstated rather than becoming a `no`.
40
44
  * v1.0.0 — 2026-08-01 — TARGET-058 Phase 8 step 0a. Extracted from routes/apps/publish.ts,
41
45
  * routes/upload.ts and routes/apps/drafts.ts, which each held a partial copy of it.
42
46
  */
@@ -153,7 +157,18 @@ export async function publishApp(storage, config, input) {
153
157
  declaredId: input.declaredProvenanceId,
154
158
  declared: input.declaredProvenance,
155
159
  pipeline: 'app.publish',
156
- surface: { visibility: accessCode || parked ? 'private' : 'public', humanAudience: true },
160
+ surface: {
161
+ visibility: accessCode || parked ? 'private' : 'public',
162
+ humanAudience: true,
163
+ // THE APP'S OWN ANSWER, finally asked. `<meta name="aimeat-ai" content="… public-interest=yes">`
164
+ // was parsed into the posture and then never reached the disclosure decision, so no publish on
165
+ // this node had ever stated one — every record fell to the D4 default and claimed the statutory
166
+ // basis regardless. Tri-state on purpose: `observed` means the author said nothing, which is
167
+ // NOT the same as saying no, and mapping silence to 'no' would be the opposite overclaim.
168
+ ...(aiLint?.posture.source === 'declared'
169
+ ? { publicInterest: aiLint.posture.publicInterest ? 'yes' : 'no' }
170
+ : {}),
171
+ },
157
172
  labelPolicy: config.aiLabelPublic,
158
173
  nodeId: config.nodeId,
159
174
  baseUrl: config.baseUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"app-publish.js","sourceRoot":"","sources":["../../../src/services/app-publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-publish.js","sourceRoot":"","sources":["../../../src/services/app-publish.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-app-prompt.d.ts","sourceRoot":"","sources":["../../../src/services/build-app-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjD,MAAM,WAAW,qBAAqB;IACpC,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,4FAA4F;IAC5F,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,8FAA8F;AAC9F,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,qBAA0B,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA0ZhC"}
1
+ {"version":3,"file":"build-app-prompt.d.ts","sourceRoot":"","sources":["../../../src/services/build-app-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjD,MAAM,WAAW,qBAAqB;IACpC,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,4FAA4F;IAC5F,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,8FAA8F;AAC9F,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,qBAA0B,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA2ZhC"}