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.
- package/dist/.env.example +33 -0
- package/dist/build-stamp.json +13 -0
- package/dist/locales/en.json +166 -3
- package/dist/locales/fi.json +166 -3
- package/dist/public/components/VoiceRecorder.js +116 -0
- package/dist/public/connection-done.html +53 -0
- package/dist/public/css/components/voice-recorder.css +66 -0
- package/dist/public/css/views/inbox.css +41 -0
- package/dist/public/css/views/profile.css +171 -95
- package/dist/public/js/services/audio-recorder.js +171 -0
- package/dist/public/js/services/messages.js +21 -2
- package/dist/public/spa.html +3 -0
- package/dist/public/views/profile/access-tab/connections.js +264 -0
- package/dist/public/views/profile/access-tab.js +2 -0
- package/dist/public/views/profile/inbox-tab/components.js +60 -10
- package/dist/public/views/profile/inbox-tab/helpers.js +33 -0
- package/dist/public/views/profile/inbox-tab/panels.js +6 -1
- package/dist/public/views/profile/inbox-tab/use-voice.js +50 -0
- package/dist/public/views/profile/inbox-tab/voice-parts.js +111 -0
- package/dist/public/views/profile/inbox-tab.js +18 -24
- package/dist/public/views/profile/openrouter/budget-panel.js +224 -0
- package/dist/public/views/profile/openrouter/model-picker.js +150 -0
- package/dist/public/views/profile/openrouter/pricing.js +139 -0
- package/dist/public/views/profile/openrouter-settings.js +425 -488
- package/dist/scripts/build-sdk-libs.d.ts.map +1 -1
- package/dist/scripts/build-sdk-libs.js +1 -0
- package/dist/scripts/build-sdk-libs.js.map +1 -1
- package/dist/scripts/check-ai-disclosure.d.ts.map +1 -1
- package/dist/scripts/check-ai-disclosure.js +65 -0
- package/dist/scripts/check-ai-disclosure.js.map +1 -1
- package/dist/src/cli/connect/ai-provenance-carry.d.ts +54 -3
- package/dist/src/cli/connect/ai-provenance-carry.d.ts.map +1 -1
- package/dist/src/cli/connect/ai-provenance-carry.js +84 -12
- package/dist/src/cli/connect/ai-provenance-carry.js.map +1 -1
- package/dist/src/cli/connect/api-client.d.ts +11 -0
- package/dist/src/cli/connect/api-client.d.ts.map +1 -1
- package/dist/src/cli/connect/api-client.js +2 -0
- package/dist/src/cli/connect/api-client.js.map +1 -1
- package/dist/src/cli/connect/mcp/local-server.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/local-server.js +11 -0
- package/dist/src/cli/connect/mcp/local-server.js.map +1 -1
- package/dist/src/cli/connect/mcp/tools/apps.d.ts +1 -0
- package/dist/src/cli/connect/mcp/tools/apps.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/apps.js +3 -2
- package/dist/src/cli/connect/mcp/tools/apps.js.map +1 -1
- package/dist/src/cli/connect/mcp/tools/core.d.ts +2 -0
- package/dist/src/cli/connect/mcp/tools/core.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/core.js +5 -2
- package/dist/src/cli/connect/mcp/tools/core.js.map +1 -1
- package/dist/src/cli/connect/mcp/tools/knowledge.d.ts +1 -0
- package/dist/src/cli/connect/mcp/tools/knowledge.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/knowledge.js +3 -2
- package/dist/src/cli/connect/mcp/tools/knowledge.js.map +1 -1
- package/dist/src/config-types.d.ts +14 -0
- package/dist/src/config-types.d.ts.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +10 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/generated/api-types.d.ts +969 -4
- package/dist/src/generated/api-types.d.ts.map +1 -1
- package/dist/src/mcp/ai-provenance-input.d.ts +33 -0
- package/dist/src/mcp/ai-provenance-input.d.ts.map +1 -1
- package/dist/src/mcp/ai-provenance-input.js +36 -0
- package/dist/src/mcp/ai-provenance-input.js.map +1 -1
- package/dist/src/mcp/apps.d.ts +7 -0
- package/dist/src/mcp/apps.d.ts.map +1 -1
- package/dist/src/mcp/apps.js +20 -2
- package/dist/src/mcp/apps.js.map +1 -1
- package/dist/src/models/ai-provenance-schemas.d.ts +7 -1
- package/dist/src/models/ai-provenance-schemas.d.ts.map +1 -1
- package/dist/src/models/ai-provenance-schemas.js +11 -1
- package/dist/src/models/ai-provenance-schemas.js.map +1 -1
- package/dist/src/models/connection-schemas.d.ts +203 -0
- package/dist/src/models/connection-schemas.d.ts.map +1 -0
- package/dist/src/models/connection-schemas.js +33 -0
- package/dist/src/models/connection-schemas.js.map +1 -0
- package/dist/src/models/message-schemas.d.ts +40 -0
- package/dist/src/models/message-schemas.d.ts.map +1 -1
- package/dist/src/models/message-schemas.js +23 -0
- package/dist/src/models/message-schemas.js.map +1 -1
- package/dist/src/routes/ai-provenance.d.ts +6 -0
- package/dist/src/routes/ai-provenance.d.ts.map +1 -1
- package/dist/src/routes/ai-provenance.js +34 -1
- package/dist/src/routes/ai-provenance.js.map +1 -1
- package/dist/src/routes/ai.d.ts +5 -0
- package/dist/src/routes/ai.d.ts.map +1 -1
- package/dist/src/routes/ai.js +83 -0
- package/dist/src/routes/ai.js.map +1 -1
- package/dist/src/routes/app-grants.d.ts.map +1 -1
- package/dist/src/routes/app-grants.js +4 -0
- package/dist/src/routes/app-grants.js.map +1 -1
- package/dist/src/routes/apps/drafts.d.ts +3 -0
- package/dist/src/routes/apps/drafts.d.ts.map +1 -1
- package/dist/src/routes/apps/drafts.js +13 -0
- package/dist/src/routes/apps/drafts.js.map +1 -1
- package/dist/src/routes/apps/publish.d.ts +5 -0
- package/dist/src/routes/apps/publish.d.ts.map +1 -1
- package/dist/src/routes/apps/publish.js +21 -5
- package/dist/src/routes/apps/publish.js.map +1 -1
- package/dist/src/routes/connections.d.ts +35 -0
- package/dist/src/routes/connections.d.ts.map +1 -0
- package/dist/src/routes/connections.js +406 -0
- package/dist/src/routes/connections.js.map +1 -0
- package/dist/src/routes/libs.js +1 -1
- package/dist/src/routes/libs.js.map +1 -1
- package/dist/src/routes/messages.d.ts +5 -0
- package/dist/src/routes/messages.d.ts.map +1 -1
- package/dist/src/routes/messages.js +92 -0
- package/dist/src/routes/messages.js.map +1 -1
- package/dist/src/routes/openrouter.d.ts +6 -1
- package/dist/src/routes/openrouter.d.ts.map +1 -1
- package/dist/src/routes/openrouter.js +37 -7
- package/dist/src/routes/openrouter.js.map +1 -1
- package/dist/src/routes/upload.d.ts +5 -0
- package/dist/src/routes/upload.d.ts.map +1 -1
- package/dist/src/routes/upload.js +32 -0
- package/dist/src/routes/upload.js.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.js +2 -0
- package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
- package/dist/src/services/ai-completion.d.ts +48 -0
- package/dist/src/services/ai-completion.d.ts.map +1 -1
- package/dist/src/services/ai-completion.js +112 -72
- package/dist/src/services/ai-completion.js.map +1 -1
- package/dist/src/services/ai-disclosure.d.ts +6 -0
- package/dist/src/services/ai-disclosure.d.ts.map +1 -1
- package/dist/src/services/ai-disclosure.js +20 -2
- package/dist/src/services/ai-disclosure.js.map +1 -1
- package/dist/src/services/ai-provenance-page.d.ts +59 -0
- package/dist/src/services/ai-provenance-page.d.ts.map +1 -0
- package/dist/src/services/ai-provenance-page.js +185 -0
- package/dist/src/services/ai-provenance-page.js.map +1 -0
- package/dist/src/services/ai-provenance.d.ts +6 -0
- package/dist/src/services/ai-provenance.d.ts.map +1 -1
- package/dist/src/services/ai-provenance.js +5 -0
- package/dist/src/services/ai-provenance.js.map +1 -1
- package/dist/src/services/ai-transcription.d.ts +66 -0
- package/dist/src/services/ai-transcription.d.ts.map +1 -0
- package/dist/src/services/ai-transcription.js +90 -0
- package/dist/src/services/ai-transcription.js.map +1 -0
- package/dist/src/services/app-publish.d.ts.map +1 -1
- package/dist/src/services/app-publish.js +16 -1
- package/dist/src/services/app-publish.js.map +1 -1
- package/dist/src/services/build-app-prompt.d.ts.map +1 -1
- package/dist/src/services/build-app-prompt.js +2 -1
- package/dist/src/services/build-app-prompt.js.map +1 -1
- package/dist/src/services/connections/attach.d.ts +62 -0
- package/dist/src/services/connections/attach.d.ts.map +1 -0
- package/dist/src/services/connections/attach.js +168 -0
- package/dist/src/services/connections/attach.js.map +1 -0
- package/dist/src/services/connections/credential.d.ts +39 -0
- package/dist/src/services/connections/credential.d.ts.map +1 -0
- package/dist/src/services/connections/credential.js +66 -0
- package/dist/src/services/connections/credential.js.map +1 -0
- package/dist/src/services/connections/instance.d.ts +65 -0
- package/dist/src/services/connections/instance.d.ts.map +1 -0
- package/dist/src/services/connections/instance.js +144 -0
- package/dist/src/services/connections/instance.js.map +1 -0
- package/dist/src/services/connections/oauth.d.ts +77 -0
- package/dist/src/services/connections/oauth.d.ts.map +1 -0
- package/dist/src/services/connections/oauth.js +290 -0
- package/dist/src/services/connections/oauth.js.map +1 -0
- package/dist/src/services/connections/providers.d.ts +118 -0
- package/dist/src/services/connections/providers.d.ts.map +1 -0
- package/dist/src/services/connections/providers.js +260 -0
- package/dist/src/services/connections/providers.js.map +1 -0
- package/dist/src/services/connections/publish-gate.d.ts +103 -0
- package/dist/src/services/connections/publish-gate.d.ts.map +1 -0
- package/dist/src/services/connections/publish-gate.js +0 -0
- package/dist/src/services/connections/publish-gate.js.map +1 -0
- package/dist/src/services/connections/publish.d.ts +60 -0
- package/dist/src/services/connections/publish.d.ts.map +1 -0
- package/dist/src/services/connections/publish.js +340 -0
- package/dist/src/services/connections/publish.js.map +1 -0
- package/dist/src/services/connections/refresh.d.ts +55 -0
- package/dist/src/services/connections/refresh.d.ts.map +1 -0
- package/dist/src/services/connections/refresh.js +307 -0
- package/dist/src/services/connections/refresh.js.map +1 -0
- package/dist/src/services/message-send.d.ts.map +1 -1
- package/dist/src/services/message-send.js +16 -2
- package/dist/src/services/message-send.js.map +1 -1
- package/dist/src/services/openrouter.d.ts +67 -1
- package/dist/src/services/openrouter.d.ts.map +1 -1
- package/dist/src/services/openrouter.js +102 -11
- package/dist/src/services/openrouter.js.map +1 -1
- package/dist/src/services/upload-token.d.ts +5 -1
- package/dist/src/services/upload-token.d.ts.map +1 -1
- package/dist/src/services/upload-token.js +13 -1
- package/dist/src/services/upload-token.js.map +1 -1
- package/dist/src/services/workflow/engine-util.d.ts +18 -0
- package/dist/src/services/workflow/engine-util.d.ts.map +1 -1
- package/dist/src/services/workflow/engine-util.js +27 -0
- package/dist/src/services/workflow/engine-util.js.map +1 -1
- package/dist/src/services/workflow/engine.d.ts.map +1 -1
- package/dist/src/services/workflow/engine.js +4 -2
- package/dist/src/services/workflow/engine.js.map +1 -1
- package/dist/src/storage/interface.d.ts +2 -1
- package/dist/src/storage/interface.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/db-types.d.ts +65 -0
- package/dist/src/storage/providers/postgres-kysely/db-types.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/index.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/index.js +2 -1
- package/dist/src/storage/providers/postgres-kysely/index.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/connections.d.ts +44 -0
- package/dist/src/storage/providers/postgres-kysely/methods/connections.d.ts.map +1 -0
- package/dist/src/storage/providers/postgres-kysely/methods/connections.js +308 -0
- package/dist/src/storage/providers/postgres-kysely/methods/connections.js.map +1 -0
- package/dist/src/storage/providers/postgres-kysely/methods/node-infra.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/node-infra.js +4 -2
- package/dist/src/storage/providers/postgres-kysely/methods/node-infra.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/migrations/0021_connections.sql +116 -0
- package/dist/src/storage/providers/postgres-kysely/migrations/0022_provider_clients.sql +36 -0
- package/dist/src/storage/providers/postgres-kysely/migrations/0023_nonce_payload.sql +13 -0
- package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/index.js +2 -1
- package/dist/src/storage/providers/sqlite/index.js.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/community.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/community.js +2 -1
- package/dist/src/storage/providers/sqlite/methods/community.js.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/connections.d.ts +60 -0
- package/dist/src/storage/providers/sqlite/methods/connections.d.ts.map +1 -0
- package/dist/src/storage/providers/sqlite/methods/connections.js +287 -0
- package/dist/src/storage/providers/sqlite/methods/connections.js.map +1 -0
- package/dist/src/storage/providers/sqlite/schema-tables-1.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema-tables-1.js +4 -0
- package/dist/src/storage/providers/sqlite/schema-tables-1.js.map +1 -1
- package/dist/src/storage/providers/sqlite/schema-tables-3.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema-tables-3.js +106 -0
- package/dist/src/storage/providers/sqlite/schema-tables-3.js.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.js +2 -0
- package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
- package/dist/src/storage/repositories/connection.repository.d.ts +124 -0
- package/dist/src/storage/repositories/connection.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/connection.repository.js +2 -0
- package/dist/src/storage/repositories/connection.repository.js.map +1 -0
- package/dist/src/storage/types/agents-messaging.d.ts +19 -0
- package/dist/src/storage/types/agents-messaging.d.ts.map +1 -1
- package/dist/src/storage/types/agents-messaging.js.map +1 -1
- package/dist/src/storage/types/auth.d.ts +8 -1
- package/dist/src/storage/types/auth.d.ts.map +1 -1
- package/dist/src/utils/build-stamp.d.ts +56 -0
- package/dist/src/utils/build-stamp.d.ts.map +1 -0
- package/dist/src/utils/build-stamp.js +142 -0
- package/dist/src/utils/build-stamp.js.map +1 -0
- package/dist/src/utils/messaging.d.ts +14 -0
- package/dist/src/utils/messaging.d.ts.map +1 -1
- package/dist/src/utils/messaging.js +0 -0
- package/dist/src/utils/messaging.js.map +1 -1
- package/dist/static/sdk-libs/connect/index.js +199 -0
- package/dist/static/sdk-libs/connect/notes.js +47 -0
- package/dist/static/sdk-libs/connect/panel.js +238 -0
- package/dist/static/sdk-libs/data/index.js +63 -11
- package/dist/static/sdk-libs/dist/aimeat-connect.js +357 -0
- package/dist/static/sdk-libs/dist/aimeat-data.js +40 -9
- 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, '&').replace(/</g, '<').replace(/>/g, '>')
|
|
4
|
+
.replace(/"/g, '"').replace(/'/g, ''');
|
|
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":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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":"
|
|
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: {
|
|
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":"AAAA
|
|
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,
|
|
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"}
|