aimeat 3.3.0 → 3.3.2
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/README.md +1 -1
- package/dist/.env.example +10 -1
- package/dist/build-stamp.json +4 -4
- package/dist/locales/en.json +9263 -9225
- package/dist/locales/es.json +9255 -9217
- package/dist/locales/fi.json +9263 -9225
- package/dist/public/css/views/admin.css +935 -860
- package/dist/public/css/views/chat.css +393 -388
- package/dist/public/js/services/admin.js +12 -0
- package/dist/public/robots.node.txt +4 -0
- package/dist/public/views/admin/config-tab.js +333 -185
- package/dist/public/views/admin/usage-tab.js +373 -307
- package/dist/public/views/chat/parts.js +25 -6
- package/dist/public/views/profile/landing-page.cards.js +732 -700
- package/dist/public/views/profile/landing-page.js +6 -2
- package/dist/scripts/audit-mcp-schemas.js +22 -6
- package/dist/scripts/audit-mcp-schemas.js.map +1 -1
- package/dist/scripts/check-ai-disclosure.d.ts +1 -1
- package/dist/scripts/check-ai-disclosure.d.ts.map +1 -1
- package/dist/scripts/check-ai-disclosure.js +19 -3
- package/dist/scripts/check-ai-disclosure.js.map +1 -1
- package/dist/scripts/check-config-coverage.d.ts +2 -0
- package/dist/scripts/check-config-coverage.d.ts.map +1 -0
- package/dist/scripts/check-config-coverage.js +129 -0
- package/dist/scripts/check-config-coverage.js.map +1 -0
- package/dist/src/auth/ai-gate.d.ts +25 -0
- package/dist/src/auth/ai-gate.d.ts.map +1 -0
- package/dist/src/auth/ai-gate.js +21 -0
- package/dist/src/auth/ai-gate.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/apps.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/apps.js +102 -20
- package/dist/src/cli/connect/mcp/tools/apps.js.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-agent.d.ts.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-agent.js +38 -9
- package/dist/src/cli/connect/tool-call-defs-agent.js.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-apps.d.ts.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-apps.js +199 -103
- package/dist/src/cli/connect/tool-call-defs-apps.js.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-core.d.ts.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-core.js +149 -26
- package/dist/src/cli/connect/tool-call-defs-core.js.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-organism.d.ts.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-organism.js +20 -3
- package/dist/src/cli/connect/tool-call-defs-organism.js.map +1 -1
- package/dist/src/cli/connect/tool-call-defs-packages.d.ts +23 -0
- package/dist/src/cli/connect/tool-call-defs-packages.d.ts.map +1 -0
- package/dist/src/cli/connect/tool-call-defs-packages.js +45 -0
- package/dist/src/cli/connect/tool-call-defs-packages.js.map +1 -0
- package/dist/src/cli/connect/tool-call-defs-workflows.d.ts +14 -0
- package/dist/src/cli/connect/tool-call-defs-workflows.d.ts.map +1 -0
- package/dist/src/cli/connect/tool-call-defs-workflows.js +75 -0
- package/dist/src/cli/connect/tool-call-defs-workflows.js.map +1 -0
- package/dist/src/cli/connect/tool-call.d.ts.map +1 -1
- package/dist/src/cli/connect/tool-call.js +54 -1
- package/dist/src/cli/connect/tool-call.js.map +1 -1
- package/dist/src/config-types-ai.d.ts +13 -0
- package/dist/src/config-types-ai.d.ts.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +2 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/generated/api-types.d.ts +196 -0
- package/dist/src/generated/api-types.d.ts.map +1 -1
- package/dist/src/mcp/annotations.d.ts.map +1 -1
- package/dist/src/mcp/annotations.js +8 -0
- package/dist/src/mcp/annotations.js.map +1 -1
- package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.d.ts.map +1 -1
- package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js +25 -8
- package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js.map +1 -1
- package/dist/src/mcp/catalog/definitions/packages.d.ts +17 -0
- package/dist/src/mcp/catalog/definitions/packages.d.ts.map +1 -0
- package/dist/src/mcp/catalog/definitions/packages.js +46 -0
- package/dist/src/mcp/catalog/definitions/packages.js.map +1 -0
- package/dist/src/mcp/catalog/definitions.d.ts.map +1 -1
- package/dist/src/mcp/catalog/definitions.js +2 -0
- package/dist/src/mcp/catalog/definitions.js.map +1 -1
- package/dist/src/mcp/catalog/scopes.d.ts.map +1 -1
- package/dist/src/mcp/catalog/scopes.js +2 -0
- package/dist/src/mcp/catalog/scopes.js.map +1 -1
- package/dist/src/mcp/catalog/surfaces.d.ts.map +1 -1
- package/dist/src/mcp/catalog/surfaces.js +2 -0
- package/dist/src/mcp/catalog/surfaces.js.map +1 -1
- package/dist/src/routes/admin-usage.d.ts.map +1 -1
- package/dist/src/routes/admin-usage.js +57 -0
- package/dist/src/routes/admin-usage.js.map +1 -1
- package/dist/src/routes/ai.d.ts.map +1 -1
- package/dist/src/routes/ai.js +4 -15
- package/dist/src/routes/ai.js.map +1 -1
- package/dist/src/routes/bootstrap.d.ts +2 -1
- package/dist/src/routes/bootstrap.d.ts.map +1 -1
- package/dist/src/routes/bootstrap.js +7 -18
- package/dist/src/routes/bootstrap.js.map +1 -1
- package/dist/src/routes/chat.d.ts +3 -0
- package/dist/src/routes/chat.d.ts.map +1 -1
- package/dist/src/routes/chat.js +20 -0
- package/dist/src/routes/chat.js.map +1 -1
- package/dist/src/routes/llm-proxy.d.ts +34 -0
- package/dist/src/routes/llm-proxy.d.ts.map +1 -0
- package/dist/src/routes/llm-proxy.js +258 -0
- package/dist/src/routes/llm-proxy.js.map +1 -0
- package/dist/src/routes/sitemaps.d.ts +22 -0
- package/dist/src/routes/sitemaps.d.ts.map +1 -0
- package/dist/src/routes/sitemaps.js +67 -0
- package/dist/src/routes/sitemaps.js.map +1 -0
- 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 +76 -0
- package/dist/src/services/ai-completion.d.ts.map +1 -1
- package/dist/src/services/ai-completion.js +104 -68
- package/dist/src/services/ai-completion.js.map +1 -1
- package/dist/src/services/chat-session.d.ts +3 -0
- package/dist/src/services/chat-session.d.ts.map +1 -1
- package/dist/src/services/chat-session.js +4 -0
- package/dist/src/services/chat-session.js.map +1 -1
- package/dist/src/services/config-schema.d.ts +4 -0
- package/dist/src/services/config-schema.d.ts.map +1 -1
- package/dist/src/services/config-schema.js +33 -0
- package/dist/src/services/config-schema.js.map +1 -1
- package/dist/src/services/goose-acp.d.ts.map +1 -1
- package/dist/src/services/goose-acp.js +11 -0
- package/dist/src/services/goose-acp.js.map +1 -1
- package/dist/src/services/handbooks/appdev.d.ts +1 -1
- package/dist/src/services/handbooks/appdev.d.ts.map +1 -1
- package/dist/src/services/handbooks/appdev.js +7 -1
- package/dist/src/services/handbooks/appdev.js.map +1 -1
- package/dist/src/services/openrouter.d.ts +23 -0
- package/dist/src/services/openrouter.d.ts.map +1 -1
- package/dist/src/services/openrouter.js +32 -1
- package/dist/src/services/openrouter.js.map +1 -1
- package/dist/src/services/usage-summary.d.ts +15 -0
- package/dist/src/services/usage-summary.d.ts.map +1 -1
- package/dist/src/services/usage-summary.js +15 -0
- package/dist/src/services/usage-summary.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/wallet.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/wallet.js +23 -4
- package/dist/src/storage/providers/postgres-kysely/methods/wallet.js.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/work.d.ts +5 -0
- package/dist/src/storage/providers/sqlite/methods/work.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/work.js +34 -22
- package/dist/src/storage/providers/sqlite/methods/work.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file src/routes/llm-proxy.ts
|
|
3
|
+
* @description An OpenAI-compatible door in front of the node's own AI decisions, so an agent that
|
|
4
|
+
* speaks that dialect spends money under the same rules as everything else here.
|
|
5
|
+
*
|
|
6
|
+
* WHY THIS EXISTS. The built-in chat runs on goose, and goose talks to a model provider directly.
|
|
7
|
+
* Its provider key is process-wide, so every person's turn would arrive on the node's key with
|
|
8
|
+
* nothing between them and it: no allowance, no daily budget, no per-app quota, no usage record,
|
|
9
|
+
* no free-model fallback when the allowance runs out. This route is that something. Point the
|
|
10
|
+
* agent's provider at it and every turn goes through the same gate `/v1/ai/complete` goes through.
|
|
11
|
+
*
|
|
12
|
+
* IT DECIDES NOTHING ITSELF. Which pocket pays, which model answers, whether the allowance is
|
|
13
|
+
* spent and a free model has to answer instead of a refusal: `prepareAiCall` decides all of it,
|
|
14
|
+
* and `settleAiCall` records what happened. This file translates between OpenAI's request shape
|
|
15
|
+
* and those two, and moves bytes. A second copy of the key choice or the budget test is exactly
|
|
16
|
+
* the defect this is built to prevent.
|
|
17
|
+
*
|
|
18
|
+
* THE MODEL IS THE NODE'S CHOICE, NOT THE CALLER'S. A caller naming a model is asking the node to
|
|
19
|
+
* spend on it, and the node is the one that knows whose money this is and how much is left. The
|
|
20
|
+
* owner's own preference decides, then the node's default for the role — the same order every
|
|
21
|
+
* other AI surface uses — and the answer says which model actually ran. Honouring the caller's
|
|
22
|
+
* name instead would also disable the free-model fallback, because an explicit model is
|
|
23
|
+
* deliberately left alone by `prepareAiCall`.
|
|
24
|
+
* @structure
|
|
25
|
+
* - llmProxyRouter(config, storage) — POST /v1/llm/chat/completions, GET /v1/llm/models
|
|
26
|
+
* @usage mounted in server-bootstrap/routes-loader.ts; an agent uses <node>/v1/llm as its base URL
|
|
27
|
+
* @version-history
|
|
28
|
+
* v1.0.0 — 2026-08-16 — Initial.
|
|
29
|
+
*/
|
|
30
|
+
import { Router } from 'express';
|
|
31
|
+
import { requireAuth, requireScope } from '../auth/middleware.js';
|
|
32
|
+
import { rateLimit } from '../middleware/rate-limit.js';
|
|
33
|
+
import { assertAiUseAllowed } from '../auth/ai-gate.js';
|
|
34
|
+
import { error } from '../middleware/envelope.js';
|
|
35
|
+
import { resolveIdentity } from '../utils/gaii.js';
|
|
36
|
+
import { prepareAiCall, settleAiCall, estimateCostUsd, AiCompletionError, } from '../services/ai-completion.js';
|
|
37
|
+
import { chatCompletionRaw, listModels } from '../services/openrouter.js';
|
|
38
|
+
import { logger } from '../utils/logger.js';
|
|
39
|
+
/** A turn can take minutes when the model is reasoning; the default socket timeout is not enough. */
|
|
40
|
+
const TURN_TIMEOUT_MS = 10 * 60_000;
|
|
41
|
+
export function llmProxyRouter(config, storage) {
|
|
42
|
+
const router = Router();
|
|
43
|
+
// The same ceiling the other AI doors run under. A proxy without one is the cheapest way to
|
|
44
|
+
// spend an operator's money, and it reads the same operator setting as /v1/ai/complete.
|
|
45
|
+
const aiRateLimit = rateLimit(config.rateLimits.openrouter);
|
|
46
|
+
/**
|
|
47
|
+
* GET /v1/llm/models — the models this node will actually run.
|
|
48
|
+
*
|
|
49
|
+
* An OpenAI-shaped client asks this before it asks for anything else. The list comes from the
|
|
50
|
+
* provider through the same service the model pickers use, so a model that appears here is one
|
|
51
|
+
* the node can genuinely reach.
|
|
52
|
+
*/
|
|
53
|
+
router.get('/v1/llm/models', requireAuth(), requireScope('ai:use'), aiRateLimit, async (req, res) => {
|
|
54
|
+
if (!assertAiUseAllowed(req, res, config.nodeId))
|
|
55
|
+
return;
|
|
56
|
+
const gaii = resolveIdentity(req.auth, config.nodeId);
|
|
57
|
+
try {
|
|
58
|
+
const plan = await prepareAiCall(storage, config, gaii, { appId: 'llm-proxy' });
|
|
59
|
+
const models = await listModels(plan.key, plan.baseUrl, 'chat');
|
|
60
|
+
// OpenAI's shape, because that is what a client asking this URL parses.
|
|
61
|
+
res.json({
|
|
62
|
+
object: 'list',
|
|
63
|
+
data: models.map((m) => ({ id: m.id, object: 'model', owned_by: plan.provider })),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
sendError(res, config.nodeId, err);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* POST /v1/llm/chat/completions — one completion, streamed or whole.
|
|
72
|
+
*
|
|
73
|
+
* `requireScope('ai:use')` sits in the middleware chain and `assertAiUseAllowed` runs in the
|
|
74
|
+
* handler, and they are not redundant: owner sessions bypass scopes entirely, so the middleware
|
|
75
|
+
* alone would let a mirrored agent token through, and the in-handler test alone is invisible to
|
|
76
|
+
* the route-authorization gate. Together they admit exactly one set of callers.
|
|
77
|
+
*
|
|
78
|
+
* The gate runs before the provider is touched and the accounting runs after it answers, which
|
|
79
|
+
* is the order that matters: a call that was refused must never have been paid for, and a call
|
|
80
|
+
* that was paid for must never go unrecorded.
|
|
81
|
+
*/
|
|
82
|
+
router.post('/v1/llm/chat/completions', requireAuth(), requireScope('ai:use'), aiRateLimit, async (req, res) => {
|
|
83
|
+
if (!assertAiUseAllowed(req, res, config.nodeId))
|
|
84
|
+
return;
|
|
85
|
+
const gaii = resolveIdentity(req.auth, config.nodeId);
|
|
86
|
+
const body = (req.body ?? {});
|
|
87
|
+
if (!Array.isArray(body.messages) || body.messages.length === 0) {
|
|
88
|
+
res.status(400).json(error(config.nodeId, 'INVALID_BODY', 'messages is required.'));
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
let plan;
|
|
92
|
+
try {
|
|
93
|
+
// `model` is deliberately not passed through: see the file header. The node decides.
|
|
94
|
+
plan = await prepareAiCall(storage, config, gaii, { appId: 'llm-proxy' });
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
sendError(res, config.nodeId, err);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const upstream = {
|
|
101
|
+
model: plan.model,
|
|
102
|
+
messages: body.messages,
|
|
103
|
+
...(body.temperature !== undefined ? { temperature: body.temperature } : {}),
|
|
104
|
+
...(body.top_p !== undefined ? { top_p: body.top_p } : {}),
|
|
105
|
+
...(body.max_tokens !== undefined ? { max_tokens: body.max_tokens } : {}),
|
|
106
|
+
// Tool calling is the whole point for an agent: passed through untouched, because the
|
|
107
|
+
// node has no opinion about which tools a caller offers its own model.
|
|
108
|
+
...(body.tools !== undefined ? { tools: body.tools } : {}),
|
|
109
|
+
...(body.tool_choice !== undefined ? { tool_choice: body.tool_choice } : {}),
|
|
110
|
+
...(body.response_format !== undefined ? { response_format: body.response_format } : {}),
|
|
111
|
+
...(body.stream ? { stream: true, stream_options: { include_usage: true } } : {}),
|
|
112
|
+
};
|
|
113
|
+
req.setTimeout(TURN_TIMEOUT_MS);
|
|
114
|
+
res.setTimeout(TURN_TIMEOUT_MS);
|
|
115
|
+
const controller = new AbortController();
|
|
116
|
+
req.on('close', () => controller.abort());
|
|
117
|
+
let provider;
|
|
118
|
+
try {
|
|
119
|
+
// Through the openrouter service, never straight out of this file. That file is the
|
|
120
|
+
// node's only HTTP transport to a model provider, checked by `pnpm check:llm-transport`,
|
|
121
|
+
// and a second place speaking to a provider is a second place that can forget to meter.
|
|
122
|
+
provider = await chatCompletionRaw(plan.key, plan.baseUrl, upstream, controller.signal);
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
sendError(res, config.nodeId, new AiCompletionError('PROVIDER_ERROR', 502, err.message));
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
if (!provider.ok) {
|
|
129
|
+
// eslint-disable-next-line aimeat/no-silent-catch -- the body only enriches an error already being reported; an unreadable one is honestly reported as empty
|
|
130
|
+
const detail = await provider.text().catch(() => '');
|
|
131
|
+
sendError(res, config.nodeId, providerFailure(provider.status, detail));
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
const outcome = body.stream
|
|
136
|
+
? await pipeStream(provider, res, plan)
|
|
137
|
+
: await passWhole(provider, res, plan);
|
|
138
|
+
await settleAiCall(storage, config, gaii, plan, {
|
|
139
|
+
...outcome, appId: 'llm-proxy', source: 'llm-proxy',
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
// The provider may already have written half an answer, so there is nothing to send but
|
|
144
|
+
// the log line. Never swallowed: an operator seeing this knows a turn was spent and not
|
|
145
|
+
// recorded, which is the one bookkeeping failure that matters.
|
|
146
|
+
logger.warn(`[llm-proxy] ${gaii}: ${err.message}`);
|
|
147
|
+
if (!res.headersSent)
|
|
148
|
+
sendError(res, config.nodeId, err);
|
|
149
|
+
else
|
|
150
|
+
res.end();
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
return router;
|
|
154
|
+
}
|
|
155
|
+
/** A provider status turned into the node's own vocabulary, so a caller sees a named cause. */
|
|
156
|
+
function providerFailure(status, detail) {
|
|
157
|
+
const short = detail.slice(0, 300);
|
|
158
|
+
if (status === 401 || status === 403) {
|
|
159
|
+
return new AiCompletionError('INVALID_API_KEY', 401, `The provider rejected the key. ${short}`);
|
|
160
|
+
}
|
|
161
|
+
if (status === 429) {
|
|
162
|
+
// The one a free model hits first: the free tier's request ceiling depends on what the
|
|
163
|
+
// account has bought, so this is a quota answer and not a fault in the request.
|
|
164
|
+
return new AiCompletionError('RATE_LIMITED', 429, `The model is rate limited right now. Free models hit this first. ${short}`);
|
|
165
|
+
}
|
|
166
|
+
if (status === 502 || status === 503) {
|
|
167
|
+
return new AiCompletionError('PROVIDER_ERROR', 502, `The model is overloaded or unavailable. ${short}`);
|
|
168
|
+
}
|
|
169
|
+
return new AiCompletionError('PROVIDER_ERROR', 502, `The provider answered ${status}. ${short}`);
|
|
170
|
+
}
|
|
171
|
+
/** Send whatever went wrong in the node's envelope, with its own code. */
|
|
172
|
+
function sendError(res, nodeId, err) {
|
|
173
|
+
const e = err;
|
|
174
|
+
const status = typeof e?.status === 'number' ? e.status : 500;
|
|
175
|
+
const code = typeof e?.code === 'string' ? e.code : 'INTERNAL_ERROR';
|
|
176
|
+
res.status(status).json(error(nodeId, code, e?.message || 'The completion failed.'));
|
|
177
|
+
}
|
|
178
|
+
/** Whole-response: hand it on unchanged, and read the accounting out of it. */
|
|
179
|
+
async function passWhole(provider, res, plan) {
|
|
180
|
+
const json = await provider.json();
|
|
181
|
+
res.json(json);
|
|
182
|
+
return readUsage(json.model ?? plan.model, json.choices?.[0]?.message?.content ?? '', json.usage);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Streamed: the provider's own frames, byte for byte, while the text and the usage are read out of
|
|
186
|
+
* them on the way past.
|
|
187
|
+
*
|
|
188
|
+
* The frames are not rewritten. A client that understands OpenAI's stream understands this one, and
|
|
189
|
+
* anything the node invented in the middle would be a second dialect to keep in step.
|
|
190
|
+
*/
|
|
191
|
+
async function pipeStream(provider, res, plan) {
|
|
192
|
+
res.writeHead(200, {
|
|
193
|
+
'Content-Type': 'text/event-stream',
|
|
194
|
+
'Cache-Control': 'no-cache',
|
|
195
|
+
'Connection': 'keep-alive',
|
|
196
|
+
'X-Accel-Buffering': 'no',
|
|
197
|
+
});
|
|
198
|
+
const reader = provider.body?.getReader();
|
|
199
|
+
if (!reader)
|
|
200
|
+
throw new AiCompletionError('PROVIDER_ERROR', 502, 'The provider sent no body.');
|
|
201
|
+
const decoder = new TextDecoder();
|
|
202
|
+
let buffer = '';
|
|
203
|
+
let content = '';
|
|
204
|
+
let model = plan.model;
|
|
205
|
+
let usage;
|
|
206
|
+
for (;;) {
|
|
207
|
+
const { done, value } = await reader.read();
|
|
208
|
+
if (done)
|
|
209
|
+
break;
|
|
210
|
+
const chunk = decoder.decode(value, { stream: true });
|
|
211
|
+
res.write(chunk);
|
|
212
|
+
res.flush?.();
|
|
213
|
+
buffer += chunk;
|
|
214
|
+
let cut;
|
|
215
|
+
while ((cut = buffer.indexOf('\n\n')) !== -1) {
|
|
216
|
+
const frame = buffer.slice(0, cut);
|
|
217
|
+
buffer = buffer.slice(cut + 2);
|
|
218
|
+
for (const line of frame.split('\n')) {
|
|
219
|
+
if (!line.startsWith('data:'))
|
|
220
|
+
continue;
|
|
221
|
+
const payload = line.slice(5).trim();
|
|
222
|
+
if (!payload || payload === '[DONE]')
|
|
223
|
+
continue;
|
|
224
|
+
let parsed;
|
|
225
|
+
try {
|
|
226
|
+
parsed = JSON.parse(payload);
|
|
227
|
+
}
|
|
228
|
+
catch (err) {
|
|
229
|
+
// The frame was already forwarded verbatim above, so the client is unaffected;
|
|
230
|
+
// only the node's own reading of it failed, and only the accounting depends on
|
|
231
|
+
// that. Said out loud rather than dropped.
|
|
232
|
+
logger.warn(`[llm-proxy] unreadable frame: ${err.message}`);
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
if (parsed.model)
|
|
236
|
+
model = parsed.model;
|
|
237
|
+
const delta = parsed.choices?.[0]?.delta?.content;
|
|
238
|
+
if (typeof delta === 'string')
|
|
239
|
+
content += delta;
|
|
240
|
+
// OpenRouter puts the totals in the last frame when include_usage is set, which is
|
|
241
|
+
// why it is set: without it the node would have to guess what the turn cost.
|
|
242
|
+
if (parsed.usage)
|
|
243
|
+
usage = parsed.usage;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
res.end();
|
|
248
|
+
return readUsage(model, content, usage);
|
|
249
|
+
}
|
|
250
|
+
/** Tokens and cost, with the same estimate the rest of the node falls back to. */
|
|
251
|
+
function readUsage(model, content, usage) {
|
|
252
|
+
const promptTokens = usage?.prompt_tokens ?? 0;
|
|
253
|
+
const completionTokens = usage?.completion_tokens ?? 0;
|
|
254
|
+
const totalTokens = usage?.total_tokens ?? (promptTokens + completionTokens);
|
|
255
|
+
const costUsd = typeof usage?.cost === 'number' ? usage.cost : estimateCostUsd(promptTokens, completionTokens);
|
|
256
|
+
return { model, content, promptTokens, completionTokens, totalTokens, costUsd };
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=llm-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-proxy.js","sourceRoot":"","sources":["../../../src/routes/llm-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file sitemaps.ts
|
|
3
|
+
* @description The node's two sitemaps. `/sitemap.xml` is the page registry a crawler should
|
|
4
|
+
* index; `/sitemap-index.xml` is the sitemapindex that tells a crawler the per-app hosts exist
|
|
5
|
+
* at all, which is the one thing nothing on the apex said before.
|
|
6
|
+
*
|
|
7
|
+
* Extracted from bootstrap.ts unchanged when that file passed the 800-line ceiling. A pure move:
|
|
8
|
+
* the handlers, their comments and their behaviour are the same, and the tests that proved them
|
|
9
|
+
* still do.
|
|
10
|
+
*
|
|
11
|
+
* @structure
|
|
12
|
+
* - mountSitemapRoutes(router, config, storage) — registers both GET endpoints
|
|
13
|
+
* @usage mountSitemapRoutes(router, config, storage);
|
|
14
|
+
* @version-history
|
|
15
|
+
* v1.0.0 — 2026-08-16 — Extracted from bootstrap.ts (line ceiling), sitemap-index.xml included
|
|
16
|
+
*/
|
|
17
|
+
import type { Router } from 'express';
|
|
18
|
+
import type { AimeatConfig } from '../config.js';
|
|
19
|
+
import type { Storage } from '../storage/interface.js';
|
|
20
|
+
/** Register `/sitemap.xml` and `/sitemap-index.xml` on the given router. */
|
|
21
|
+
export declare function mountSitemapRoutes(router: Router, config: AimeatConfig, storage: Storage): void;
|
|
22
|
+
//# sourceMappingURL=sitemaps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sitemaps.d.ts","sourceRoot":"","sources":["../../../src/routes/sitemaps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAIvD,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAgE/F"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { sitemapPages } from '../data/public-pages.js';
|
|
2
|
+
import { apexOnly } from './agent-docs.js';
|
|
3
|
+
/** Register `/sitemap.xml` and `/sitemap-index.xml` on the given router. */
|
|
4
|
+
export function mountSitemapRoutes(router, config, storage) {
|
|
5
|
+
// Indexable HTML pages only, from the shared registry (src/data/public-pages.ts). The API
|
|
6
|
+
// endpoints this list used to carry — /v1/spec (YAML), /v1/catalogue and /v1/health (JSON) —
|
|
7
|
+
// are discoverable through the RFC 9727 API catalog, the Link headers on every GET, llms.txt
|
|
8
|
+
// and the bootstrap response. A sitemap advertises pages a crawler should index, and a JSON
|
|
9
|
+
// endpoint listed there only invites HTML checks it can never satisfy.
|
|
10
|
+
router.get('/sitemap.xml', (_req, res) => {
|
|
11
|
+
const b = config.baseUrl;
|
|
12
|
+
const now = new Date().toISOString().split('T')[0];
|
|
13
|
+
const xml = [
|
|
14
|
+
'<?xml version="1.0" encoding="UTF-8"?>',
|
|
15
|
+
'<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">',
|
|
16
|
+
...sitemapPages().map(p => ` <url><loc>${b}${p.path === '/' ? '/' : p.path}</loc><lastmod>${now}</lastmod><changefreq>${p.changefreq}</changefreq><priority>${p.priority}</priority></url>`),
|
|
17
|
+
'</urlset>',
|
|
18
|
+
].join('\n');
|
|
19
|
+
res.type('application/xml').send(xml);
|
|
20
|
+
});
|
|
21
|
+
// Every published app lives on its own host and already serves a valid sitemap.xml there, with a
|
|
22
|
+
// robots.txt naming it. What was missing is the only thing a crawler needs BEFORE any of that:
|
|
23
|
+
// somewhere on the apex that says those hosts exist at all. A sitemapindex is the mechanism
|
|
24
|
+
// sitemaps.org defines for exactly this, and cross-host entries are legitimate here because each
|
|
25
|
+
// listed host's own robots.txt names the sitemap being referenced.
|
|
26
|
+
//
|
|
27
|
+
// /sitemap.xml stays what it is. It is submitted through IndexNow, named in robots.txt, read by
|
|
28
|
+
// external readiness scanners and asserted by e2e-agent-readiness to hold exactly the page
|
|
29
|
+
// registry. Turning it into an index would break four things to gain one.
|
|
30
|
+
router.get('/sitemap-index.xml', apexOnly, async (_req, res) => {
|
|
31
|
+
const b = config.baseUrl.replace(/\/$/, '');
|
|
32
|
+
const now = new Date().toISOString().split('T')[0];
|
|
33
|
+
const sitemaps = [`${b}/sitemap.xml`];
|
|
34
|
+
if (config.appHost) {
|
|
35
|
+
// The anonymous view: no viewerGhii and no adminView, so parked and operator-hidden apps are
|
|
36
|
+
// already excluded by storage.
|
|
37
|
+
const [{ apps }, sites] = await Promise.all([
|
|
38
|
+
storage.listApps({ limit: 1000, sort: 'newest' }),
|
|
39
|
+
storage.listSubdomainSites(),
|
|
40
|
+
]);
|
|
41
|
+
const subFor = new Map();
|
|
42
|
+
for (const s of sites) {
|
|
43
|
+
if (s.enabled && s.kind === 'app' && s.target)
|
|
44
|
+
subFor.set(s.target, s.subdomain);
|
|
45
|
+
}
|
|
46
|
+
for (const app of apps) {
|
|
47
|
+
// A GATED app publishes no agent-facing documents of its own: its origin answers with the
|
|
48
|
+
// NODE's llms.txt and card, which e2e-app-origin asserts. Listing its sitemap would send a
|
|
49
|
+
// crawler to a host that refuses to describe the thing we just advertised.
|
|
50
|
+
if (app.accessCode || (app.manifest?.priceMorsels ?? 0) > 0)
|
|
51
|
+
continue;
|
|
52
|
+
const owner = app.ownerGaii.split('@')[0].split('#').pop() ?? '';
|
|
53
|
+
const sub = subFor.get(`${owner}/${app.filename}`);
|
|
54
|
+
if (!sub)
|
|
55
|
+
continue;
|
|
56
|
+
sitemaps.push(`https://${sub}.${config.appHost}/sitemap.xml`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
res.type('application/xml').send([
|
|
60
|
+
'<?xml version="1.0" encoding="UTF-8"?>',
|
|
61
|
+
'<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">',
|
|
62
|
+
...sitemaps.map((u) => ` <sitemap><loc>${u}</loc><lastmod>${now}</lastmod></sitemap>`),
|
|
63
|
+
'</sitemapindex>',
|
|
64
|
+
].join('\n'));
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=sitemaps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sitemaps.js","sourceRoot":"","sources":["../../../src/routes/sitemaps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes-loader.d.ts","sourceRoot":"","sources":["../../../src/server-bootstrap/routes-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"routes-loader.d.ts","sourceRoot":"","sources":["../../../src/server-bootstrap/routes-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AA6LrE,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;IACvC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;IACvC,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,gBAAgB,CAAC;QAC5B,GAAG,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;KACxC,CAAC;IACF,UAAU,EAAE,gBAAgB,CAAC;IAC7B,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC/C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,0BAA0B,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC9D,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,wBAAwB,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAihB5B"}
|
|
@@ -115,6 +115,7 @@ import { calibratorRouter } from '../routes/calibrator.js';
|
|
|
115
115
|
import { openrouterRouter } from '../routes/openrouter.js';
|
|
116
116
|
import { aiRouter } from '../routes/ai.js';
|
|
117
117
|
import { chatRouter } from '../routes/chat.js';
|
|
118
|
+
import { llmProxyRouter } from '../routes/llm-proxy.js';
|
|
118
119
|
import { aiProvenanceRouter } from '../routes/ai-provenance.js';
|
|
119
120
|
import { aiTransparencyRouter } from '../routes/ai-transparency.js';
|
|
120
121
|
import { uploadRouter } from '../routes/upload.js';
|
|
@@ -405,6 +406,7 @@ export async function mountRoutes(app, config, storage, opts) {
|
|
|
405
406
|
app.use(openrouterRouter(config, storage)); // OpenRouter AI autopilot
|
|
406
407
|
app.use(aiRouter(config, storage)); // App-level AI completion (user's key, budget-gated)
|
|
407
408
|
app.use(chatRouter(config, storage)); // The person's own chat with their built-in agent
|
|
409
|
+
app.use(llmProxyRouter(config, storage)); // The OpenAI-shaped door the chat agent's model calls come through
|
|
408
410
|
// AI provenance (TARGET-058). The by-hash detection lookup is PUBLIC + unauthenticated by
|
|
409
411
|
// design — it is the Code of Practice's detection access point, not an admin API.
|
|
410
412
|
app.use(aiProvenanceRouter(config, storage));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes-loader.js","sourceRoot":"","sources":["../../../src/server-bootstrap/routes-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routes-loader.js","sourceRoot":"","sources":["../../../src/server-bootstrap/routes-loader.ts"],"names":[],"mappings":"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"}
|