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
|
@@ -1360,6 +1360,64 @@ export interface paths {
|
|
|
1360
1360
|
patch?: never;
|
|
1361
1361
|
trace?: never;
|
|
1362
1362
|
};
|
|
1363
|
+
"/v1/llm/chat/completions": {
|
|
1364
|
+
parameters: {
|
|
1365
|
+
query?: never;
|
|
1366
|
+
header?: never;
|
|
1367
|
+
path?: never;
|
|
1368
|
+
cookie?: never;
|
|
1369
|
+
};
|
|
1370
|
+
get?: never;
|
|
1371
|
+
put?: never;
|
|
1372
|
+
/**
|
|
1373
|
+
* One completion, in OpenAI's request shape
|
|
1374
|
+
* @description For an agent that speaks OpenAI's dialect and would otherwise call a provider directly. Point
|
|
1375
|
+
* it at `<node>/v1/llm` as its base URL and every call goes through the same gate
|
|
1376
|
+
* `POST /v1/ai/complete` goes through: the owner's own key first and the node's allowance
|
|
1377
|
+
* second, the daily budget, the per-app quota, the usage record, and the free-model fallback
|
|
1378
|
+
* when the allowance is spent.
|
|
1379
|
+
*
|
|
1380
|
+
* `model` in the request is ignored on purpose. The node is the one that knows whose money this
|
|
1381
|
+
* is and how much is left, so the owner's own preference decides and the node's default for the
|
|
1382
|
+
* role follows; the response says which model actually ran. Honouring the caller's name would
|
|
1383
|
+
* also disable the free-model fallback, which is deliberately left alone for an explicit model.
|
|
1384
|
+
*
|
|
1385
|
+
* `tools`, `tool_choice` and `response_format` pass through untouched — the node has no opinion
|
|
1386
|
+
* about which tools a caller offers its own model. With `stream: true` the provider's own
|
|
1387
|
+
* `text/event-stream` frames are forwarded byte for byte, so any client that understands
|
|
1388
|
+
* OpenAI's stream understands this one.
|
|
1389
|
+
*
|
|
1390
|
+
* Requires an owner session or a token carrying `ai:use`.
|
|
1391
|
+
*/
|
|
1392
|
+
post: operations["llmProxyChatCompletion"];
|
|
1393
|
+
delete?: never;
|
|
1394
|
+
options?: never;
|
|
1395
|
+
head?: never;
|
|
1396
|
+
patch?: never;
|
|
1397
|
+
trace?: never;
|
|
1398
|
+
};
|
|
1399
|
+
"/v1/llm/models": {
|
|
1400
|
+
parameters: {
|
|
1401
|
+
query?: never;
|
|
1402
|
+
header?: never;
|
|
1403
|
+
path?: never;
|
|
1404
|
+
cookie?: never;
|
|
1405
|
+
};
|
|
1406
|
+
/**
|
|
1407
|
+
* The models this node will actually run
|
|
1408
|
+
* @description OpenAI's model-list shape, for a client that asks before it asks for anything else. The list
|
|
1409
|
+
* comes from the provider through the same service the node's own model pickers use, so a model
|
|
1410
|
+
* that appears here is one the node can reach. Requires an owner session or `ai:use`.
|
|
1411
|
+
*/
|
|
1412
|
+
get: operations["llmProxyListModels"];
|
|
1413
|
+
put?: never;
|
|
1414
|
+
post?: never;
|
|
1415
|
+
delete?: never;
|
|
1416
|
+
options?: never;
|
|
1417
|
+
head?: never;
|
|
1418
|
+
patch?: never;
|
|
1419
|
+
trace?: never;
|
|
1420
|
+
};
|
|
1363
1421
|
"/v1/chat/status": {
|
|
1364
1422
|
parameters: {
|
|
1365
1423
|
query?: never;
|
|
@@ -5979,6 +6037,26 @@ export interface paths {
|
|
|
5979
6037
|
patch?: never;
|
|
5980
6038
|
trace?: never;
|
|
5981
6039
|
};
|
|
6040
|
+
"/sitemap-index.xml": {
|
|
6041
|
+
parameters: {
|
|
6042
|
+
query?: never;
|
|
6043
|
+
header?: never;
|
|
6044
|
+
path?: never;
|
|
6045
|
+
cookie?: never;
|
|
6046
|
+
};
|
|
6047
|
+
/**
|
|
6048
|
+
* Sitemap index over the node and every published app
|
|
6049
|
+
* @description A sitemaps.org sitemapindex built from the current state on every request: this node's own page sitemap, then the sitemap of each published app that is public and ungated. Every app lives on its own host and serves a valid sitemap.xml there with a robots.txt naming it, which is what makes the cross-host entries legitimate; the index is the only thing on the apex that tells a crawler those hosts exist at all. Parked and operator-hidden apps are excluded by the anonymous listing, and an app behind an access code or a price is excluded deliberately: its origin serves the NODE's agent documents rather than its own, so listing it would advertise a host that refuses to describe what was advertised. /sitemap.xml is unchanged and still holds exactly the page registry. Apex only.
|
|
6050
|
+
*/
|
|
6051
|
+
get: operations["sitemapIndex"];
|
|
6052
|
+
put?: never;
|
|
6053
|
+
post?: never;
|
|
6054
|
+
delete?: never;
|
|
6055
|
+
options?: never;
|
|
6056
|
+
head?: never;
|
|
6057
|
+
patch?: never;
|
|
6058
|
+
trace?: never;
|
|
6059
|
+
};
|
|
5982
6060
|
"/AGENTS.md": {
|
|
5983
6061
|
parameters: {
|
|
5984
6062
|
query?: never;
|
|
@@ -26397,6 +26475,104 @@ export interface operations {
|
|
|
26397
26475
|
404: components["responses"]["NotFound"];
|
|
26398
26476
|
};
|
|
26399
26477
|
};
|
|
26478
|
+
llmProxyChatCompletion: {
|
|
26479
|
+
parameters: {
|
|
26480
|
+
query?: never;
|
|
26481
|
+
header?: never;
|
|
26482
|
+
path?: never;
|
|
26483
|
+
cookie?: never;
|
|
26484
|
+
};
|
|
26485
|
+
requestBody: {
|
|
26486
|
+
content: {
|
|
26487
|
+
"application/json": {
|
|
26488
|
+
/** @description OpenAI chat messages. */
|
|
26489
|
+
messages: Record<string, never>[];
|
|
26490
|
+
/** @description Forward the provider's SSE frames as they arrive. */
|
|
26491
|
+
stream?: boolean;
|
|
26492
|
+
temperature?: number;
|
|
26493
|
+
top_p?: number;
|
|
26494
|
+
max_tokens?: number;
|
|
26495
|
+
tools?: Record<string, never>[];
|
|
26496
|
+
tool_choice?: unknown;
|
|
26497
|
+
response_format?: Record<string, never>;
|
|
26498
|
+
};
|
|
26499
|
+
};
|
|
26500
|
+
};
|
|
26501
|
+
responses: {
|
|
26502
|
+
/** @description An OpenAI chat completion, or its SSE stream when `stream` is true */
|
|
26503
|
+
200: {
|
|
26504
|
+
headers: {
|
|
26505
|
+
[name: string]: unknown;
|
|
26506
|
+
};
|
|
26507
|
+
content: {
|
|
26508
|
+
"application/json": Record<string, never>;
|
|
26509
|
+
"text/event-stream": string;
|
|
26510
|
+
};
|
|
26511
|
+
};
|
|
26512
|
+
/** @description messages is missing, or no key is configured for this owner */
|
|
26513
|
+
400: {
|
|
26514
|
+
headers: {
|
|
26515
|
+
[name: string]: unknown;
|
|
26516
|
+
};
|
|
26517
|
+
content?: never;
|
|
26518
|
+
};
|
|
26519
|
+
401: components["responses"]["Unauthorized"];
|
|
26520
|
+
/** @description The allowance is spent and this node has no free-model fallback configured */
|
|
26521
|
+
402: {
|
|
26522
|
+
headers: {
|
|
26523
|
+
[name: string]: unknown;
|
|
26524
|
+
};
|
|
26525
|
+
content?: never;
|
|
26526
|
+
};
|
|
26527
|
+
/** @description Not an owner session and no ai:use scope */
|
|
26528
|
+
403: {
|
|
26529
|
+
headers: {
|
|
26530
|
+
[name: string]: unknown;
|
|
26531
|
+
};
|
|
26532
|
+
content?: never;
|
|
26533
|
+
};
|
|
26534
|
+
/** @description The model is rate limited. Free models reach this first. */
|
|
26535
|
+
429: {
|
|
26536
|
+
headers: {
|
|
26537
|
+
[name: string]: unknown;
|
|
26538
|
+
};
|
|
26539
|
+
content?: never;
|
|
26540
|
+
};
|
|
26541
|
+
/** @description The model is overloaded, unavailable, or answered with an error */
|
|
26542
|
+
502: {
|
|
26543
|
+
headers: {
|
|
26544
|
+
[name: string]: unknown;
|
|
26545
|
+
};
|
|
26546
|
+
content?: never;
|
|
26547
|
+
};
|
|
26548
|
+
};
|
|
26549
|
+
};
|
|
26550
|
+
llmProxyListModels: {
|
|
26551
|
+
parameters: {
|
|
26552
|
+
query?: never;
|
|
26553
|
+
header?: never;
|
|
26554
|
+
path?: never;
|
|
26555
|
+
cookie?: never;
|
|
26556
|
+
};
|
|
26557
|
+
requestBody?: never;
|
|
26558
|
+
responses: {
|
|
26559
|
+
/** @description `{ object: "list", data: [{ id, object, owned_by }] }` */
|
|
26560
|
+
200: {
|
|
26561
|
+
headers: {
|
|
26562
|
+
[name: string]: unknown;
|
|
26563
|
+
};
|
|
26564
|
+
content?: never;
|
|
26565
|
+
};
|
|
26566
|
+
401: components["responses"]["Unauthorized"];
|
|
26567
|
+
/** @description Not an owner session and no ai:use scope */
|
|
26568
|
+
403: {
|
|
26569
|
+
headers: {
|
|
26570
|
+
[name: string]: unknown;
|
|
26571
|
+
};
|
|
26572
|
+
content?: never;
|
|
26573
|
+
};
|
|
26574
|
+
};
|
|
26575
|
+
};
|
|
26400
26576
|
getChatStatus: {
|
|
26401
26577
|
parameters: {
|
|
26402
26578
|
query?: never;
|
|
@@ -33494,6 +33670,26 @@ export interface operations {
|
|
|
33494
33670
|
};
|
|
33495
33671
|
};
|
|
33496
33672
|
};
|
|
33673
|
+
sitemapIndex: {
|
|
33674
|
+
parameters: {
|
|
33675
|
+
query?: never;
|
|
33676
|
+
header?: never;
|
|
33677
|
+
path?: never;
|
|
33678
|
+
cookie?: never;
|
|
33679
|
+
};
|
|
33680
|
+
requestBody?: never;
|
|
33681
|
+
responses: {
|
|
33682
|
+
/** @description Sitemap index */
|
|
33683
|
+
200: {
|
|
33684
|
+
headers: {
|
|
33685
|
+
[name: string]: unknown;
|
|
33686
|
+
};
|
|
33687
|
+
content: {
|
|
33688
|
+
"application/xml": string;
|
|
33689
|
+
};
|
|
33690
|
+
};
|
|
33691
|
+
};
|
|
33692
|
+
};
|
|
33497
33693
|
agentsMd: {
|
|
33498
33694
|
parameters: {
|
|
33499
33695
|
query?: never;
|