@adonis-agora/agent 0.43.0 → 0.45.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/CHANGELOG.md +18 -0
- package/dist/providers/agent_provider.d.ts.map +1 -1
- package/dist/providers/agent_provider.js +93 -13
- package/dist/providers/agent_provider.js.map +1 -1
- package/dist/src/agent-deps-factory.d.ts +3 -1
- package/dist/src/agent-deps-factory.d.ts.map +1 -1
- package/dist/src/agent-deps-factory.js +4 -0
- package/dist/src/agent-deps-factory.js.map +1 -1
- package/dist/src/agent-loop.d.ts +1 -1
- package/dist/src/agent-loop.d.ts.map +1 -1
- package/dist/src/agent-loop.js +90 -29
- package/dist/src/agent-loop.js.map +1 -1
- package/dist/src/agent-service.d.ts +54 -1
- package/dist/src/agent-service.d.ts.map +1 -1
- package/dist/src/agent-service.js +96 -6
- package/dist/src/agent-service.js.map +1 -1
- package/dist/src/ai-sdk/ai-sdk-model.d.ts +7 -0
- package/dist/src/ai-sdk/ai-sdk-model.d.ts.map +1 -1
- package/dist/src/ai-sdk/ai-sdk-model.js +10 -2
- package/dist/src/ai-sdk/ai-sdk-model.js.map +1 -1
- package/dist/src/ai-tool-ref.d.ts +2 -0
- package/dist/src/ai-tool-ref.d.ts.map +1 -1
- package/dist/src/ai-tool-ref.js +1 -0
- package/dist/src/ai-tool-ref.js.map +1 -1
- package/dist/src/define_config.d.ts +25 -2
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/genui/builtins.d.ts +6 -0
- package/dist/src/genui/builtins.d.ts.map +1 -0
- package/dist/src/genui/builtins.js +6 -0
- package/dist/src/genui/builtins.js.map +1 -0
- package/dist/src/genui/factory.d.ts +34 -0
- package/dist/src/genui/factory.d.ts.map +1 -0
- package/dist/src/genui/factory.js +11 -0
- package/dist/src/genui/factory.js.map +1 -0
- package/dist/src/genui/index.d.ts +53 -0
- package/dist/src/genui/index.d.ts.map +1 -0
- package/dist/src/genui/index.js +72 -0
- package/dist/src/genui/index.js.map +1 -0
- package/dist/src/index.d.ts +6 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +4 -1
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/spi/agent-store.d.ts +27 -0
- package/dist/src/spi/agent-store.d.ts.map +1 -1
- package/dist/src/spi/model-catalog.d.ts +67 -0
- package/dist/src/spi/model-catalog.d.ts.map +1 -0
- package/dist/src/spi/model-catalog.js +41 -0
- package/dist/src/spi/model-catalog.js.map +1 -0
- package/dist/src/spi/model-provider.d.ts +6 -0
- package/dist/src/spi/model-provider.d.ts.map +1 -1
- package/dist/src/spi/quota-provider.d.ts +60 -0
- package/dist/src/spi/quota-provider.d.ts.map +1 -0
- package/dist/src/spi/quota-provider.js +47 -0
- package/dist/src/spi/quota-provider.js.map +1 -0
- package/dist/src/spi/token-stream-sink.d.ts +2 -0
- package/dist/src/spi/token-stream-sink.d.ts.map +1 -1
- package/dist/src/spi/token-stream-sink.js.map +1 -1
- package/dist/src/spi/tool.d.ts +40 -0
- package/dist/src/spi/tool.d.ts.map +1 -1
- package/dist/src/sse.d.ts.map +1 -1
- package/dist/src/sse.js +1 -0
- package/dist/src/sse.js.map +1 -1
- package/dist/src/stores/factory.d.ts +15 -1
- package/dist/src/stores/factory.d.ts.map +1 -1
- package/dist/src/stores/factory.js +17 -0
- package/dist/src/stores/factory.js.map +1 -1
- package/dist/src/stores/ledger-quota-provider.d.ts +32 -0
- package/dist/src/stores/ledger-quota-provider.d.ts.map +1 -0
- package/dist/src/stores/ledger-quota-provider.js +55 -0
- package/dist/src/stores/ledger-quota-provider.js.map +1 -0
- package/dist/src/stores/lucid-schema.d.ts.map +1 -1
- package/dist/src/stores/lucid-schema.js +2 -0
- package/dist/src/stores/lucid-schema.js.map +1 -1
- package/dist/src/stores/lucid.d.ts +8 -1
- package/dist/src/stores/lucid.d.ts.map +1 -1
- package/dist/src/stores/lucid.js +34 -0
- package/dist/src/stores/lucid.js.map +1 -1
- package/dist/src/testing/in-memory-store.d.ts +8 -1
- package/dist/src/testing/in-memory-store.d.ts.map +1 -1
- package/dist/src/testing/in-memory-store.js +36 -0
- package/dist/src/testing/in-memory-store.js.map +1 -1
- package/dist/src/testing/index.d.ts +1 -0
- package/dist/src/testing/index.d.ts.map +1 -1
- package/dist/src/testing/index.js +1 -0
- package/dist/src/testing/index.js.map +1 -1
- package/dist/src/tool-discovery.d.ts.map +1 -1
- package/dist/src/tool-discovery.js +1 -0
- package/dist/src/tool-discovery.js.map +1 -1
- package/dist/src/tool-registry.d.ts +2 -2
- package/dist/src/tool-registry.d.ts.map +1 -1
- package/dist/src/tool-registry.js +17 -7
- package/dist/src/tool-registry.js.map +1 -1
- package/dist/src/tool-ui.d.ts +35 -0
- package/dist/src/tool-ui.d.ts.map +1 -0
- package/dist/src/tool-ui.js +100 -0
- package/dist/src/tool-ui.js.map +1 -0
- package/dist/src/types.d.ts +18 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +16 -1
package/dist/src/spi/tool.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
1
2
|
import type { Actor, PageContext, Persona } from '../types.js';
|
|
2
3
|
/**
|
|
3
4
|
* Per-invocation context handed to a tool handler. Host-supplied bits are optional. Identity lives
|
|
@@ -10,6 +11,8 @@ export interface AiToolCtx {
|
|
|
10
11
|
runId: string;
|
|
11
12
|
requestId: string;
|
|
12
13
|
persona?: Persona;
|
|
14
|
+
/** The agent running the turn, when it has a name. */
|
|
15
|
+
agentName?: string;
|
|
13
16
|
pageContext?: PageContext;
|
|
14
17
|
/** Optional host handle (e.g. an ORM EntityManager) the app threads through options. */
|
|
15
18
|
host?: unknown;
|
|
@@ -19,6 +22,19 @@ export interface AiToolCtx {
|
|
|
19
22
|
* assembly provides it; other ctx builders may omit it.
|
|
20
23
|
*/
|
|
21
24
|
emitComponent?(name: string, data: unknown): void | Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Push a component into the conversation: streamed at once as a `ui` frame (a `component` frame
|
|
27
|
+
* under the legacy envelope) and persisted on the assistant message once the step's tools settle,
|
|
28
|
+
* so a reload shows it where the live stream did. `id` defaults to `<toolCallId>:ui:<n>`; pushing
|
|
29
|
+
* an `id` again replaces that component. `props` must be JSON. Always present — outside a
|
|
30
|
+
* conversation (an MCP call) it accepts the push and does nothing, so a tool never has to branch.
|
|
31
|
+
*/
|
|
32
|
+
emitUi(component: string, props: Record<string, unknown>, options?: {
|
|
33
|
+
id?: string;
|
|
34
|
+
version?: number;
|
|
35
|
+
}): Promise<{
|
|
36
|
+
id: string;
|
|
37
|
+
}>;
|
|
22
38
|
}
|
|
23
39
|
/**
|
|
24
40
|
* A tool implementation. `I` is the parsed (Zod-validated) input; `O` is what `execute` returns
|
|
@@ -27,5 +43,29 @@ export interface AiToolCtx {
|
|
|
27
43
|
*/
|
|
28
44
|
export interface ToolHandler<I = unknown, O = unknown> {
|
|
29
45
|
execute(input: I, ctx: AiToolCtx): Promise<O> | O;
|
|
46
|
+
/**
|
|
47
|
+
* What the model is told about this tool for THIS turn — a description and/or input schema that
|
|
48
|
+
* depend on who is asking (a per-tenant component catalog, a per-plan list of options). Called
|
|
49
|
+
* when the turn's tool list is built, after every gate has passed; whatever it returns replaces
|
|
50
|
+
* the registered spec's `description` / `inputSchema` in the definition the model sees. Omit, or
|
|
51
|
+
* return `undefined`, to use the registered spec as is.
|
|
52
|
+
*
|
|
53
|
+
* It shapes what the model is SHOWN only: the registry still validates a call against the
|
|
54
|
+
* registered `inputSchema`, so a tool whose accepted input varies per turn registers a permissive
|
|
55
|
+
* schema and validates in `execute`.
|
|
56
|
+
*/
|
|
57
|
+
describe?(scope: ToolDescribeScope): ToolDescription | undefined | Promise<ToolDescription | undefined>;
|
|
58
|
+
}
|
|
59
|
+
/** Who a turn's tool list is being built for — what {@link ToolHandler.describe} can vary on. */
|
|
60
|
+
export interface ToolDescribeScope {
|
|
61
|
+
actor: Actor;
|
|
62
|
+
/** Absent where the list is built outside a conversation (the MCP server's `tools/list`). */
|
|
63
|
+
threadId?: string;
|
|
64
|
+
agentName?: string;
|
|
65
|
+
}
|
|
66
|
+
/** A per-turn override of a tool's model-facing definition ({@link ToolHandler.describe}). */
|
|
67
|
+
export interface ToolDescription {
|
|
68
|
+
description?: string;
|
|
69
|
+
inputSchema?: StandardSchemaV1;
|
|
30
70
|
}
|
|
31
71
|
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/spi/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,wFAAwF;IACxF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/spi/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,wFAAwF;IACxF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE;;;;;;OAMG;IACH,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IACnD,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,CACP,KAAK,EAAE,iBAAiB,GACvB,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;CACvE;AAED,iGAAiG;AACjG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,8FAA8F;AAC9F,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC"}
|
package/dist/src/sse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAiBrD;AAOD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOlE;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAiBrD;AAOD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOlE;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA2CtF;AAED;;;;;;;;;;GAUG;AACH,qBAAa,eAAe;IAKd,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJlC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,MAAM,CAAS;IAEvB,YAA6B,KAAK,SAAI,EAAI;IAE1C,kEAAkE;IAClE,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAejC;IAED;;;OAGG;IACH,KAAK,IAAI,MAAM,CAEd;CACF"}
|
package/dist/src/sse.js
CHANGED
|
@@ -65,6 +65,7 @@ export function frameToEvents(frame, position) {
|
|
|
65
65
|
id: frame.id ?? `ui:${position}`,
|
|
66
66
|
component: frame.name,
|
|
67
67
|
props: isRecord(frame.data) ? frame.data : { value: frame.data },
|
|
68
|
+
...(frame.version !== undefined ? { version: frame.version } : {}),
|
|
68
69
|
...(frame.toolCallId !== undefined ? { toolCallId: frame.toolCallId } : {}),
|
|
69
70
|
},
|
|
70
71
|
];
|
package/dist/src/sse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/sse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/sse.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,11 @@ import type { AttachmentStagingStore } from '../spi/attachment-staging.js';
|
|
|
10
10
|
import type { EmbeddingProvider } from '../spi/embedding-provider.js';
|
|
11
11
|
import type { AgentGovernanceQueries } from '../spi/governance-queries.js';
|
|
12
12
|
import type { AgentPricingStore } from '../spi/pricing-store.js';
|
|
13
|
+
import type { QuotaProvider } from '../spi/quota-provider.js';
|
|
13
14
|
import type { QuotaStore } from '../spi/quota-store.js';
|
|
14
15
|
import type { Retriever } from '../spi/retriever.js';
|
|
15
16
|
import type { TokenStreamSink } from '../spi/token-stream-sink.js';
|
|
17
|
+
import type { QuotaLimits } from './ledger-quota-provider.js';
|
|
16
18
|
import type { LucidDatabaseLike } from './lucid.js';
|
|
17
19
|
/**
|
|
18
20
|
* Runtime context a {@link StoreFactory} thunk receives when the agent provider builds the configured
|
|
@@ -83,7 +85,7 @@ export interface QuotaContext extends StoreContext {
|
|
|
83
85
|
* budgeting (fail-open). A plain `() => new InMemoryQuotaStore()` still satisfies this — the context
|
|
84
86
|
* arg is optional to consume.
|
|
85
87
|
*/
|
|
86
|
-
export type QuotaFactory = (ctx: QuotaContext) => QuotaStore | Promise<QuotaStore>;
|
|
88
|
+
export type QuotaFactory = (ctx: QuotaContext) => QuotaStore | QuotaProvider | Promise<QuotaStore | QuotaProvider>;
|
|
87
89
|
/** Options for both bundled quota stores — the daily per-actor token budget. */
|
|
88
90
|
export interface QuotaConfig {
|
|
89
91
|
/** Daily token budget per actor. */
|
|
@@ -108,6 +110,18 @@ export declare const quotas: {
|
|
|
108
110
|
* truth across replicas, with no double-counting. Pairs with any {@link AgentStore}.
|
|
109
111
|
*/
|
|
110
112
|
ledger(config: QuotaConfig): QuotaFactory;
|
|
113
|
+
/**
|
|
114
|
+
* Budget windows off the usage ledger — per day and per month, in tokens and/or recorded spend:
|
|
115
|
+
*
|
|
116
|
+
* ```ts
|
|
117
|
+
* quota: quotas.windows({ day: { tokens: 200_000 }, month: { usd: 20 } })
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
120
|
+
* `GET <path>/quota` reports every window, and a send while one is exhausted is refused with `429`
|
|
121
|
+
* `{ code: 'quota_exceeded', period }` before the turn starts. Spend is the provider-reported cost
|
|
122
|
+
* the usage rows recorded (a gateway), so a `usd` ceiling binds only where cost is reported.
|
|
123
|
+
*/
|
|
124
|
+
windows(limits: QuotaLimits): QuotaFactory;
|
|
111
125
|
};
|
|
112
126
|
/** Runtime context a {@link PricingFactory} thunk receives — the booted application. */
|
|
113
127
|
export type PricingContext = StoreContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/stores/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,kBAAkB,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAwCtE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAIhF;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qEAAqE;AACrE,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,MAAM;IACjB,2FAA2F;IAC3F,MAAM,WAAU,iBAAiB,GAAQ,YAAY;IAOrD,8EAA8E;IAC9E,KAAK,UAAS,gBAAgB,GAAQ,YAAY;CAgBnD,CAAC;AAIF;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/stores/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,23 @@ export const quotas = {
|
|
|
98
98
|
return new LedgerQuotaStore(store, config.limitTokens);
|
|
99
99
|
};
|
|
100
100
|
},
|
|
101
|
+
/**
|
|
102
|
+
* Budget windows off the usage ledger — per day and per month, in tokens and/or recorded spend:
|
|
103
|
+
*
|
|
104
|
+
* ```ts
|
|
105
|
+
* quota: quotas.windows({ day: { tokens: 200_000 }, month: { usd: 20 } })
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
* `GET <path>/quota` reports every window, and a send while one is exhausted is refused with `429`
|
|
109
|
+
* `{ code: 'quota_exceeded', period }` before the turn starts. Spend is the provider-reported cost
|
|
110
|
+
* the usage rows recorded (a gateway), so a `usd` ceiling binds only where cost is reported.
|
|
111
|
+
*/
|
|
112
|
+
windows(limits) {
|
|
113
|
+
return async ({ store }) => {
|
|
114
|
+
const { LedgerQuotaProvider } = await import('./ledger-quota-provider.js');
|
|
115
|
+
return new LedgerQuotaProvider(store, undefined, limits);
|
|
116
|
+
};
|
|
117
|
+
},
|
|
101
118
|
};
|
|
102
119
|
/**
|
|
103
120
|
* The pricing factory namespace used in `config/agent.ts`, mirroring {@link stores}:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/stores/factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/stores/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { AgentStore } from '../spi/agent-store.js';
|
|
2
|
+
import { type QuotaProvider, type QuotaQuery, type QuotaReport } from '../spi/quota-provider.js';
|
|
3
|
+
import type { QuotaStore } from '../spi/quota-store.js';
|
|
4
|
+
/** Ceilings for one window. Either, both or neither. */
|
|
5
|
+
export interface QuotaWindowLimits {
|
|
6
|
+
tokens?: number;
|
|
7
|
+
usd?: number;
|
|
8
|
+
}
|
|
9
|
+
/** Ceilings per window — what `quotas.windows({ … })` takes. */
|
|
10
|
+
export interface QuotaLimits {
|
|
11
|
+
day?: QuotaWindowLimits;
|
|
12
|
+
month?: QuotaWindowLimits;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A {@link QuotaProvider} over the usage ledger: a day window (tokens from `quotaToday`, spend from
|
|
16
|
+
* `usageBetween` when the store has it), and a month window when the store implements
|
|
17
|
+
* `usageBetween`. Ceilings come from `limits`; a {@link QuotaStore} passed alongside lends the day
|
|
18
|
+
* window its own token ceiling when `limits.day.tokens` does not set one.
|
|
19
|
+
*
|
|
20
|
+
* Spend is what the usage rows recorded — the provider-reported cost of a gateway — so a USD ceiling
|
|
21
|
+
* only binds where the provider reports cost.
|
|
22
|
+
*/
|
|
23
|
+
export declare class LedgerQuotaProvider implements QuotaProvider {
|
|
24
|
+
private readonly store;
|
|
25
|
+
private readonly quota?;
|
|
26
|
+
private readonly limits;
|
|
27
|
+
constructor(store: AgentStore, quota?: QuotaStore | undefined, limits?: QuotaLimits);
|
|
28
|
+
report(query: QuotaQuery): Promise<QuotaReport>;
|
|
29
|
+
private dayWindow;
|
|
30
|
+
private window;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ledger-quota-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ledger-quota-provider.d.ts","sourceRoot":"","sources":["../../../src/stores/ledger-quota-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EAGjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IAErD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHzB,YACmB,KAAK,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,UAAU,YAAA,EAClB,MAAM,GAAE,WAAgB,EACvC;IAEE,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAWpD;YAEa,SAAS;IAavB,OAAO,CAAC,MAAM;CAgBf"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { exhaustedWindow, quotaPeriodRange, } from '../spi/quota-provider.js';
|
|
2
|
+
/**
|
|
3
|
+
* A {@link QuotaProvider} over the usage ledger: a day window (tokens from `quotaToday`, spend from
|
|
4
|
+
* `usageBetween` when the store has it), and a month window when the store implements
|
|
5
|
+
* `usageBetween`. Ceilings come from `limits`; a {@link QuotaStore} passed alongside lends the day
|
|
6
|
+
* window its own token ceiling when `limits.day.tokens` does not set one.
|
|
7
|
+
*
|
|
8
|
+
* Spend is what the usage rows recorded — the provider-reported cost of a gateway — so a USD ceiling
|
|
9
|
+
* only binds where the provider reports cost.
|
|
10
|
+
*/
|
|
11
|
+
export class LedgerQuotaProvider {
|
|
12
|
+
store;
|
|
13
|
+
quota;
|
|
14
|
+
limits;
|
|
15
|
+
constructor(store, quota, limits = {}) {
|
|
16
|
+
this.store = store;
|
|
17
|
+
this.quota = quota;
|
|
18
|
+
this.limits = limits;
|
|
19
|
+
}
|
|
20
|
+
async report(query) {
|
|
21
|
+
const now = query.now ?? new Date();
|
|
22
|
+
const actorRef = query.actor.id;
|
|
23
|
+
const windows = [await this.dayWindow(actorRef, now)];
|
|
24
|
+
if (this.store.usageBetween !== undefined) {
|
|
25
|
+
const range = quotaPeriodRange('month', now);
|
|
26
|
+
const used = await this.store.usageBetween(actorRef, range.fromDay, range.toDay);
|
|
27
|
+
windows.push(this.window('month', used.usedTokens, used.costUsd, range.resetsAt));
|
|
28
|
+
}
|
|
29
|
+
const blocked = exhaustedWindow(windows);
|
|
30
|
+
return { windows, ...(blocked !== undefined ? { blocked } : {}) };
|
|
31
|
+
}
|
|
32
|
+
async dayWindow(actorRef, now) {
|
|
33
|
+
const range = quotaPeriodRange('day', now);
|
|
34
|
+
const used = this.store.usageBetween !== undefined
|
|
35
|
+
? await this.store.usageBetween(actorRef, range.fromDay, range.toDay)
|
|
36
|
+
: { ...(await this.store.quotaToday(actorRef, range.fromDay)), costUsd: 0 };
|
|
37
|
+
const window = this.window('day', used.usedTokens, used.costUsd, range.resetsAt);
|
|
38
|
+
if (this.quota !== undefined && window.limitTokens === undefined) {
|
|
39
|
+
window.limitTokens = (await this.quota.check(actorRef, range.fromDay)).limitTokens;
|
|
40
|
+
}
|
|
41
|
+
return window;
|
|
42
|
+
}
|
|
43
|
+
window(period, usedTokens, usedUsd, resetsAt) {
|
|
44
|
+
const limits = this.limits[period] ?? {};
|
|
45
|
+
return {
|
|
46
|
+
period,
|
|
47
|
+
usedTokens,
|
|
48
|
+
...(limits.tokens !== undefined ? { limitTokens: limits.tokens } : {}),
|
|
49
|
+
usedUsd,
|
|
50
|
+
...(limits.usd !== undefined ? { limitUsd: limits.usd } : {}),
|
|
51
|
+
resetsAt,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=ledger-quota-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ledger-quota-provider.js","sourceRoot":"","sources":["../../../src/stores/ledger-quota-provider.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EAMf,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAelC;;;;;;;;GAQG;AACH,MAAM,OAAO,mBAAmB;IAEX,KAAK;IACL,KAAK;IACL,MAAM;IAHzB,YACmB,KAAiB,EACjB,KAAkB,EAClB,MAAM,GAAgB,EAAE;qBAFxB,KAAK;qBACL,KAAK;sBACL,MAAM;IACtB,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GAAkB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,GAAS;QACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,IAAI,GACR,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;YACnC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YACrE,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjE,MAAM,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;QACrF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CACZ,MAAmB,EACnB,UAAkB,EAClB,OAAe,EACf,QAAgB;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO;YACL,MAAM;YACN,UAAU;YACV,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucid-schema.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,YAAY;aACvB,OAAO,EAAE,cAAc;aACvB,QAAQ,EAAE,eAAe;aACzB,SAAS,EAAE,iBAAiB;aAC5B,UAAU,EAAE,mBAAmB;aAC/B,YAAY,EAAE,qBAAqB;aACnC,IAAI,EAAE,WAAW;CACT,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"lucid-schema.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,YAAY;aACvB,OAAO,EAAE,cAAc;aACvB,QAAQ,EAAE,eAAe;aACzB,SAAS,EAAE,iBAAiB;aAC5B,UAAU,EAAE,mBAAmB;aAC/B,YAAY,EAAE,qBAAqB;aACnC,IAAI,EAAE,WAAW;CACT,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CA6GhD;AAmDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA6B7E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAK9C;AAED,+GAA+G;AAC/G,wBAAsB,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;AAWD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAanE"}
|
|
@@ -40,6 +40,7 @@ export function createTableStatements() {
|
|
|
40
40
|
"summary" TEXT NULL,
|
|
41
41
|
"summary_message_count" INTEGER NOT NULL DEFAULT 0,
|
|
42
42
|
"active_stream_id" VARCHAR(255) NULL,
|
|
43
|
+
"model" VARCHAR(255) NULL,
|
|
43
44
|
"created_at" BIGINT NOT NULL,
|
|
44
45
|
"updated_at" BIGINT NOT NULL,
|
|
45
46
|
"deleted_at" BIGINT NULL
|
|
@@ -158,6 +159,7 @@ const ADDITIVE_COLUMNS = [
|
|
|
158
159
|
{ table: AGENT_TABLES.messages, column: 'reasoning_ms', type: 'INTEGER NULL' },
|
|
159
160
|
{ table: AGENT_TABLES.messages, column: 'ui', type: 'TEXT NULL' },
|
|
160
161
|
{ table: AGENT_TABLES.messages, column: 'feedback', type: 'TEXT NULL' },
|
|
162
|
+
{ table: AGENT_TABLES.threads, column: 'model', type: 'VARCHAR(255) NULL' },
|
|
161
163
|
{ table: AGENT_TABLES.toolCalls, column: 'approver', type: 'VARCHAR(255) NULL' },
|
|
162
164
|
{ table: AGENT_TABLES.toolCalls, column: 'expires_at', type: 'BIGINT NULL' },
|
|
163
165
|
{ table: AGENT_TABLES.toolCalls, column: 'remember', type: 'INTEGER NULL' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucid-schema.js","sourceRoot":"","sources":["../../../src/stores/lucid-schema.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,eAAe;IACzB,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,qBAAqB;IACnC,IAAI,EAAE,WAAW;CACT,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,CAAC,GAAG,YAAY,CAAC;IACvB,OAAO;QACL,+BAA+B,CAAC,CAAC,OAAO
|
|
1
|
+
{"version":3,"file":"lucid-schema.js","sourceRoot":"","sources":["../../../src/stores/lucid-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { AgentStore, AppendMessageInput, CreateThreadInput, RecordRunEndInput, RecordRunStartInput, RecordToolCallInput, RecordUsageInput, ThreadTurnPage, ThreadTurnQuery, ThreadTurnReader, UpdateToolCallInput } from '../spi/agent-store.js';
|
|
1
|
+
import type { AgentStore, AppendMessageInput, CreateThreadInput, RecordRunEndInput, RecordRunStartInput, RecordToolCallInput, RecordUsageInput, ThreadTurnPage, ThreadTurnQuery, ThreadTurnReader, UpdateThreadInput, UpdateToolCallInput } from '../spi/agent-store.js';
|
|
2
2
|
import { type ToolCallApprovalState } from '../spi/approval-policy.js';
|
|
3
|
+
import type { AgentUiComponent } from '../stream-events.js';
|
|
3
4
|
import type { MessageFeedback, StoredMessage, ThreadDetail, ThreadSummary, ToolResult } from '../types.js';
|
|
4
5
|
/** The chainable query-builder surface the store leans on (Knex-shaped). */
|
|
5
6
|
export interface LucidQueryBuilderLike {
|
|
@@ -98,8 +99,10 @@ export declare class LucidAgentStore implements AgentStore, ThreadTurnReader {
|
|
|
98
99
|
softDeleteThread(threadId: string): Promise<void>;
|
|
99
100
|
forkThread(threadId: string, fromMessageId: string): Promise<ThreadSummary>;
|
|
100
101
|
setTitle(threadId: string, title: string): Promise<void>;
|
|
102
|
+
updateThread(threadId: string, patch: UpdateThreadInput): Promise<void>;
|
|
101
103
|
setActiveStream(threadId: string, runId: string | null): Promise<void>;
|
|
102
104
|
appendMessage(input: AppendMessageInput): Promise<StoredMessage>;
|
|
105
|
+
setMessageUi(messageId: string, ui: AgentUiComponent[]): Promise<void>;
|
|
103
106
|
setMessageToolResults(messageId: string, results: ToolResult[]): Promise<void>;
|
|
104
107
|
truncateFrom(threadId: string, messageId: string): Promise<void>;
|
|
105
108
|
recordToolCall(input: RecordToolCallInput): Promise<void>;
|
|
@@ -116,6 +119,10 @@ export declare class LucidAgentStore implements AgentStore, ThreadTurnReader {
|
|
|
116
119
|
recordRunStart(input: RecordRunStartInput): Promise<void>;
|
|
117
120
|
getRunActorRef(runId: string): Promise<string | null>;
|
|
118
121
|
recordRunEnd(input: RecordRunEndInput): Promise<void>;
|
|
122
|
+
usageBetween(actorRef: string, fromDay: string, toDay: string): Promise<{
|
|
123
|
+
usedTokens: number;
|
|
124
|
+
costUsd: number;
|
|
125
|
+
}>;
|
|
119
126
|
quotaToday(actorRef: string, day: string): Promise<{
|
|
120
127
|
usedTokens: number;
|
|
121
128
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
|
package/dist/src/stores/lucid.js
CHANGED
|
@@ -222,6 +222,7 @@ export class LucidAgentStore {
|
|
|
222
222
|
summary: null,
|
|
223
223
|
summary_message_count: 0,
|
|
224
224
|
active_stream_id: null,
|
|
225
|
+
model: source.model ?? null,
|
|
225
226
|
created_at: now,
|
|
226
227
|
updated_at: now,
|
|
227
228
|
deleted_at: null,
|
|
@@ -262,6 +263,15 @@ export class LucidAgentStore {
|
|
|
262
263
|
.where('id', threadId)
|
|
263
264
|
.update({ title, updated_at: Date.now() });
|
|
264
265
|
}
|
|
266
|
+
async updateThread(threadId, patch) {
|
|
267
|
+
await this.init();
|
|
268
|
+
const update = { updated_at: Date.now() };
|
|
269
|
+
if (patch.title !== undefined)
|
|
270
|
+
update.title = patch.title;
|
|
271
|
+
if (patch.model !== undefined)
|
|
272
|
+
update.model = patch.model;
|
|
273
|
+
await this.db.from(AGENT_TABLES.threads).where('id', threadId).update(update);
|
|
274
|
+
}
|
|
265
275
|
async setActiveStream(threadId, runId) {
|
|
266
276
|
await this.init();
|
|
267
277
|
await this.db
|
|
@@ -312,6 +322,13 @@ export class LucidAgentStore {
|
|
|
312
322
|
...(input.ui !== undefined ? { ui: input.ui } : {}),
|
|
313
323
|
};
|
|
314
324
|
}
|
|
325
|
+
async setMessageUi(messageId, ui) {
|
|
326
|
+
await this.init();
|
|
327
|
+
await this.db
|
|
328
|
+
.from(AGENT_TABLES.messages)
|
|
329
|
+
.where('id', messageId)
|
|
330
|
+
.update({ ui: safeJson(ui) });
|
|
331
|
+
}
|
|
315
332
|
async setMessageToolResults(messageId, results) {
|
|
316
333
|
await this.init();
|
|
317
334
|
await this.db
|
|
@@ -523,6 +540,22 @@ export class LucidAgentStore {
|
|
|
523
540
|
.where('status', 'running')
|
|
524
541
|
.update(patch);
|
|
525
542
|
}
|
|
543
|
+
async usageBetween(actorRef, fromDay, toDay) {
|
|
544
|
+
await this.init();
|
|
545
|
+
const rows = await this.db
|
|
546
|
+
.from(AGENT_TABLES.tokenUsage)
|
|
547
|
+
.where('actor_ref', actorRef)
|
|
548
|
+
.where('created_at', '>=', Date.parse(`${fromDay}T00:00:00.000Z`))
|
|
549
|
+
.where('created_at', '<=', Date.parse(`${toDay}T23:59:59.999Z`))
|
|
550
|
+
.select('input_tokens', 'output_tokens', 'cost_usd');
|
|
551
|
+
let usedTokens = 0;
|
|
552
|
+
let costUsd = 0;
|
|
553
|
+
for (const row of rows) {
|
|
554
|
+
usedTokens += toInt(row.input_tokens) + toInt(row.output_tokens);
|
|
555
|
+
costUsd += row.cost_usd === null || row.cost_usd === undefined ? 0 : Number(row.cost_usd);
|
|
556
|
+
}
|
|
557
|
+
return { usedTokens, costUsd };
|
|
558
|
+
}
|
|
526
559
|
async quotaToday(actorRef, day) {
|
|
527
560
|
await this.init();
|
|
528
561
|
// Inclusive UTC day window over epoch-ms `created_at`. Cache tokens are subsets of input/output
|
|
@@ -550,6 +583,7 @@ function threadRowToSummary(row, lastPreview) {
|
|
|
550
583
|
updatedAt: msToIso(row.updated_at),
|
|
551
584
|
...(pinnedAt !== null && pinnedAt !== undefined ? { pinnedAt: msToIso(pinnedAt) } : {}),
|
|
552
585
|
...(lastPreview !== undefined ? { lastMessagePreview: lastPreview.slice(0, 120) } : {}),
|
|
586
|
+
model: typeof row.model === 'string' ? row.model : null,
|
|
553
587
|
};
|
|
554
588
|
}
|
|
555
589
|
/** A tool-call row's approval columns, in the shape the shared mapping reads. */
|