@adonis-agora/agent 0.92.0 → 0.94.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 +23 -0
- package/dist/assets/spa/assets/index-DUq09Q_k.js +9 -0
- package/dist/assets/spa/index.html +1 -1
- package/dist/providers/agent_provider.d.ts.map +1 -1
- package/dist/providers/agent_provider.js +51 -0
- package/dist/providers/agent_provider.js.map +1 -1
- package/dist/src/agent-loop.d.ts +8 -0
- package/dist/src/agent-loop.d.ts.map +1 -1
- package/dist/src/agent-loop.js +196 -87
- package/dist/src/agent-loop.js.map +1 -1
- package/dist/src/agent-service.d.ts +76 -1
- package/dist/src/agent-service.d.ts.map +1 -1
- package/dist/src/agent-service.js +111 -0
- package/dist/src/agent-service.js.map +1 -1
- package/dist/src/diagnostics.d.ts +67 -0
- package/dist/src/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics.js +18 -4
- package/dist/src/diagnostics.js.map +1 -1
- package/dist/src/durable/agent-run-workflow.d.ts.map +1 -1
- package/dist/src/durable/agent-run-workflow.js +11 -0
- package/dist/src/durable/agent-run-workflow.js.map +1 -1
- package/dist/src/index.d.ts +4 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/opencode/turn.d.ts.map +1 -1
- package/dist/src/opencode/turn.js +4 -1
- package/dist/src/opencode/turn.js.map +1 -1
- package/dist/src/run-timings.d.ts +16 -0
- package/dist/src/run-timings.d.ts.map +1 -0
- package/dist/src/run-timings.js +59 -0
- package/dist/src/run-timings.js.map +1 -0
- package/dist/src/runners/inline-agent-runner.d.ts.map +1 -1
- package/dist/src/runners/inline-agent-runner.js +5 -1
- package/dist/src/runners/inline-agent-runner.js.map +1 -1
- package/dist/src/spi/agent-store.d.ts +90 -1
- package/dist/src/spi/agent-store.d.ts.map +1 -1
- package/dist/src/spi/agent-store.js +7 -0
- package/dist/src/spi/agent-store.js.map +1 -1
- package/dist/src/spi/governance-queries.d.ts +103 -0
- package/dist/src/spi/governance-queries.d.ts.map +1 -1
- package/dist/src/spi/governance-queries.js +16 -1
- package/dist/src/spi/governance-queries.js.map +1 -1
- package/dist/src/stores/lucid-governance-queries.d.ts +18 -1
- package/dist/src/stores/lucid-governance-queries.d.ts.map +1 -1
- package/dist/src/stores/lucid-governance-queries.js +180 -2
- package/dist/src/stores/lucid-governance-queries.js.map +1 -1
- package/dist/src/stores/lucid-schema.d.ts +22 -0
- package/dist/src/stores/lucid-schema.d.ts.map +1 -1
- package/dist/src/stores/lucid-schema.js +184 -20
- package/dist/src/stores/lucid-schema.js.map +1 -1
- package/dist/src/stores/lucid.d.ts +14 -0
- package/dist/src/stores/lucid.d.ts.map +1 -1
- package/dist/src/stores/lucid.js +58 -4
- package/dist/src/stores/lucid.js.map +1 -1
- package/dist/src/testing/in-memory-governance-queries.d.ts +11 -1
- package/dist/src/testing/in-memory-governance-queries.d.ts.map +1 -1
- package/dist/src/testing/in-memory-governance-queries.js +95 -2
- package/dist/src/testing/in-memory-governance-queries.js.map +1 -1
- package/dist/src/testing/in-memory-store.d.ts +15 -2
- package/dist/src/testing/in-memory-store.d.ts.map +1 -1
- package/dist/src/testing/in-memory-store.js +25 -3
- package/dist/src/testing/in-memory-store.js.map +1 -1
- package/dist/src/types.d.ts +6 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/usage-attribution.d.ts +10 -0
- package/dist/src/usage-attribution.d.ts.map +1 -0
- package/dist/src/usage-attribution.js +12 -0
- package/dist/src/usage-attribution.js.map +1 -0
- package/dist/src/usage-ledger.d.ts +9 -0
- package/dist/src/usage-ledger.d.ts.map +1 -0
- package/dist/src/usage-ledger.js +36 -0
- package/dist/src/usage-ledger.js.map +1 -0
- package/package.json +1 -1
- package/skills/agent-governance/SKILL.md +1 -1
- package/dist/assets/spa/assets/index-BsGunSCg.js +0 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isMySql, portableSql } from './sql-dialect.js';
|
|
1
|
+
import { dialectOf, isMySql, portableSql } from './sql-dialect.js';
|
|
2
2
|
/**
|
|
3
3
|
* The twelve agent table names. They match the cross-adapter snake_case contract the reference Drizzle
|
|
4
4
|
* store uses, so a dashboard or migration can point at any adapter and see the same physical schema.
|
|
@@ -93,6 +93,44 @@ export function channelStateTableStatements(table = AGENT_TABLES.channelState) {
|
|
|
93
93
|
`CREATE INDEX IF NOT EXISTS "${table}_expires_idx" ON "${table}" ("expires_at")`,
|
|
94
94
|
];
|
|
95
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* The usage ledger, `agent_token_usage`: one row per billed call — every model call an agent turn
|
|
98
|
+
* makes, and whatever an app records itself through `AgentService.recordUsage` (transcription, TTS,
|
|
99
|
+
* batch embeddings, a direct SDK call). `thread_id` is NULL on a row recorded outside any
|
|
100
|
+
* conversation; the foreign key still cascades a deleted thread's rows away. `feature` says what the
|
|
101
|
+
* spend was for, `audio_seconds` / `characters` / `requests` hold the units a row bills by when they
|
|
102
|
+
* are not tokens, and `metadata` is the caller's own JSON.
|
|
103
|
+
*
|
|
104
|
+
* Its own function so the SQLite rebuild that makes an old ledger's `thread_id` nullable (see
|
|
105
|
+
* {@link createAgentTables}) creates exactly this shape under a scratch name.
|
|
106
|
+
*/
|
|
107
|
+
export function tokenUsageTableStatement(table = AGENT_TABLES.tokenUsage) {
|
|
108
|
+
return `CREATE TABLE IF NOT EXISTS "${table}" (
|
|
109
|
+
"id" VARCHAR(255) PRIMARY KEY NOT NULL,
|
|
110
|
+
"thread_id" VARCHAR(255) NULL,
|
|
111
|
+
"actor_ref" VARCHAR(255) NOT NULL,
|
|
112
|
+
"message_id" VARCHAR(255) NULL,
|
|
113
|
+
"model_id" VARCHAR(255) NOT NULL,
|
|
114
|
+
"purpose" VARCHAR(255) NOT NULL,
|
|
115
|
+
"input_tokens" INTEGER NOT NULL,
|
|
116
|
+
"output_tokens" INTEGER NOT NULL,
|
|
117
|
+
"cache_write_tokens" INTEGER NULL,
|
|
118
|
+
"cache_read_tokens" INTEGER NULL,
|
|
119
|
+
"cost_usd" DOUBLE PRECISION NULL,
|
|
120
|
+
"cost_source" VARCHAR(16) NULL,
|
|
121
|
+
"run_id" VARCHAR(255) NULL,
|
|
122
|
+
"created_at" BIGINT NOT NULL,
|
|
123
|
+
"feature" VARCHAR(255) NULL,
|
|
124
|
+
"provider" VARCHAR(255) NULL,
|
|
125
|
+
"tenant_ref" VARCHAR(255) NULL,
|
|
126
|
+
"audio_seconds" DOUBLE PRECISION NULL,
|
|
127
|
+
"characters" BIGINT NULL,
|
|
128
|
+
"requests" INTEGER NULL,
|
|
129
|
+
"metadata" TEXT NULL,
|
|
130
|
+
"counts_towards_quota" INTEGER NOT NULL DEFAULT 1,
|
|
131
|
+
FOREIGN KEY ("thread_id") REFERENCES "${AGENT_TABLES.threads}" ("id") ON DELETE CASCADE
|
|
132
|
+
)`;
|
|
133
|
+
}
|
|
96
134
|
/**
|
|
97
135
|
* `CREATE TABLE IF NOT EXISTS` DDL for the twelve agent tables plus their indexes, one statement per
|
|
98
136
|
* array element so each can be issued through Lucid's `rawQuery`. Portable across SQLite / Postgres /
|
|
@@ -214,27 +252,12 @@ export function createTableStatements() {
|
|
|
214
252
|
`CREATE INDEX IF NOT EXISTS "${t.toolCalls}_call_idx" ON "${t.toolCalls}" ("call_id", "run_id")`,
|
|
215
253
|
`CREATE INDEX IF NOT EXISTS "${t.toolCalls}_status_created_idx" ON "${t.toolCalls}" ("status", "created_at")`,
|
|
216
254
|
`CREATE INDEX IF NOT EXISTS "${t.toolCalls}_message_idx" ON "${t.toolCalls}" ("message_id")`,
|
|
217
|
-
|
|
218
|
-
"id" VARCHAR(255) PRIMARY KEY NOT NULL,
|
|
219
|
-
"thread_id" VARCHAR(255) NOT NULL,
|
|
220
|
-
"actor_ref" VARCHAR(255) NOT NULL,
|
|
221
|
-
"message_id" VARCHAR(255) NULL,
|
|
222
|
-
"model_id" VARCHAR(255) NOT NULL,
|
|
223
|
-
"purpose" VARCHAR(255) NOT NULL,
|
|
224
|
-
"input_tokens" INTEGER NOT NULL,
|
|
225
|
-
"output_tokens" INTEGER NOT NULL,
|
|
226
|
-
"cache_write_tokens" INTEGER NULL,
|
|
227
|
-
"cache_read_tokens" INTEGER NULL,
|
|
228
|
-
"cost_usd" DOUBLE PRECISION NULL,
|
|
229
|
-
"cost_source" VARCHAR(16) NULL,
|
|
230
|
-
"run_id" VARCHAR(255) NULL,
|
|
231
|
-
"created_at" BIGINT NOT NULL,
|
|
232
|
-
FOREIGN KEY ("thread_id") REFERENCES "${t.threads}" ("id") ON DELETE CASCADE
|
|
233
|
-
)`,
|
|
255
|
+
tokenUsageTableStatement(),
|
|
234
256
|
`CREATE INDEX IF NOT EXISTS "${t.tokenUsage}_actor_created_idx" ON "${t.tokenUsage}" ("actor_ref", "created_at")`,
|
|
235
257
|
`CREATE INDEX IF NOT EXISTS "${t.tokenUsage}_run_idx" ON "${t.tokenUsage}" ("run_id")`,
|
|
236
258
|
`CREATE INDEX IF NOT EXISTS "${t.tokenUsage}_thread_idx" ON "${t.tokenUsage}" ("thread_id")`,
|
|
237
259
|
`CREATE INDEX IF NOT EXISTS "${t.tokenUsage}_created_idx" ON "${t.tokenUsage}" ("created_at")`,
|
|
260
|
+
`CREATE INDEX IF NOT EXISTS "${t.tokenUsage}_feature_created_idx" ON "${t.tokenUsage}" ("feature", "created_at")`,
|
|
238
261
|
`CREATE TABLE IF NOT EXISTS "${t.modelPricing}" (
|
|
239
262
|
"id" VARCHAR(255) PRIMARY KEY NOT NULL,
|
|
240
263
|
"model_id" VARCHAR(255) NOT NULL,
|
|
@@ -264,6 +287,12 @@ export function createTableStatements() {
|
|
|
264
287
|
"ttft_ms" INTEGER NULL,
|
|
265
288
|
"error_code" VARCHAR(64) NULL,
|
|
266
289
|
"model_id" VARCHAR(255) NULL,
|
|
290
|
+
"queue_ms" INTEGER NULL,
|
|
291
|
+
"model_ms" INTEGER NULL,
|
|
292
|
+
"tools_ms" INTEGER NULL,
|
|
293
|
+
"model_calls" INTEGER NULL,
|
|
294
|
+
"tool_calls" INTEGER NULL,
|
|
295
|
+
"timings" TEXT NULL,
|
|
267
296
|
FOREIGN KEY ("thread_id") REFERENCES "${t.threads}" ("id") ON DELETE CASCADE
|
|
268
297
|
)`,
|
|
269
298
|
`CREATE INDEX IF NOT EXISTS "${t.runs}_started_idx" ON "${t.runs}" ("started_at")`,
|
|
@@ -404,7 +433,113 @@ const ADDITIVE_COLUMNS = [
|
|
|
404
433
|
// a row from before, and on every message nobody named a send time for: `created_at` stands in.
|
|
405
434
|
{ table: AGENT_TABLES.messages, column: 'sent_at', type: 'BIGINT NULL' },
|
|
406
435
|
{ table: AGENT_TABLES.queuedMessages, column: 'sent_at', type: 'BIGINT NULL' },
|
|
436
|
+
// The ledger beyond agent turns (`AgentService.recordUsage`): what the spend was for, who served
|
|
437
|
+
// it, the tenant, the units it bills by when they are not tokens, and the caller's JSON. NULL on
|
|
438
|
+
// every row from before — all of them agent-turn rows, which reports read as feature `agent`.
|
|
439
|
+
{ table: AGENT_TABLES.tokenUsage, column: 'feature', type: 'VARCHAR(255) NULL' },
|
|
440
|
+
{ table: AGENT_TABLES.tokenUsage, column: 'provider', type: 'VARCHAR(255) NULL' },
|
|
441
|
+
{ table: AGENT_TABLES.tokenUsage, column: 'tenant_ref', type: 'VARCHAR(255) NULL' },
|
|
442
|
+
{ table: AGENT_TABLES.tokenUsage, column: 'audio_seconds', type: 'DOUBLE PRECISION NULL' },
|
|
443
|
+
{ table: AGENT_TABLES.tokenUsage, column: 'characters', type: 'BIGINT NULL' },
|
|
444
|
+
{ table: AGENT_TABLES.tokenUsage, column: 'requests', type: 'INTEGER NULL' },
|
|
445
|
+
{ table: AGENT_TABLES.tokenUsage, column: 'metadata', type: 'TEXT NULL' },
|
|
446
|
+
// 0 keeps a row out of the agent's quota windows (`recordUsage({ countsTowardsQuota: false })`).
|
|
447
|
+
// Every row from before counted, hence the default.
|
|
448
|
+
{
|
|
449
|
+
table: AGENT_TABLES.tokenUsage,
|
|
450
|
+
column: 'counts_towards_quota',
|
|
451
|
+
type: 'INTEGER NOT NULL DEFAULT 1',
|
|
452
|
+
},
|
|
453
|
+
// Where a run's time went: queue wait, model and tool totals, how many of each, and the per-step
|
|
454
|
+
// breakdown (JSON). NULL on a run from before, and (but `queue_ms`) on one that did not complete.
|
|
455
|
+
{ table: AGENT_TABLES.runs, column: 'queue_ms', type: 'INTEGER NULL' },
|
|
456
|
+
{ table: AGENT_TABLES.runs, column: 'model_ms', type: 'INTEGER NULL' },
|
|
457
|
+
{ table: AGENT_TABLES.runs, column: 'tools_ms', type: 'INTEGER NULL' },
|
|
458
|
+
{ table: AGENT_TABLES.runs, column: 'model_calls', type: 'INTEGER NULL' },
|
|
459
|
+
{ table: AGENT_TABLES.runs, column: 'tool_calls', type: 'INTEGER NULL' },
|
|
460
|
+
{ table: AGENT_TABLES.runs, column: 'timings', type: 'TEXT NULL' },
|
|
461
|
+
];
|
|
462
|
+
/**
|
|
463
|
+
* Columns that were created `NOT NULL` and are nullable now. `ADD COLUMN` cannot reach them: the
|
|
464
|
+
* column exists, it only refuses a NULL. `agent_token_usage.thread_id` is the one — usage recorded
|
|
465
|
+
* outside any conversation has no thread. Its foreign key to `agent_thread` stays (a NULL never
|
|
466
|
+
* violates it, and a deleted thread still takes its rows with it).
|
|
467
|
+
*/
|
|
468
|
+
const NULLABLE_COLUMNS = [
|
|
469
|
+
{ table: AGENT_TABLES.tokenUsage, column: 'thread_id', type: 'VARCHAR(255) NULL' },
|
|
407
470
|
];
|
|
471
|
+
/**
|
|
472
|
+
* Whether `table.column` accepts NULL, read from the catalog — `true` also when the catalog cannot
|
|
473
|
+
* say (an unknown dialect is left alone rather than rebuilt on a guess). Postgres and MySQL through
|
|
474
|
+
* `information_schema.columns`, SQLite through `PRAGMA table_info`. A read: no lock is taken.
|
|
475
|
+
*/
|
|
476
|
+
async function isNullable(db, table, column) {
|
|
477
|
+
if (isMySql(db)) {
|
|
478
|
+
const rows = rowsOf(await db.rawQuery('SELECT is_nullable AS nullable FROM information_schema.columns ' +
|
|
479
|
+
'WHERE table_schema = DATABASE() AND table_name = ? AND column_name = ?', [table, column]));
|
|
480
|
+
const value = rows[0]?.nullable ?? rows[0]?.NULLABLE;
|
|
481
|
+
return value === undefined || String(value).toUpperCase() === 'YES';
|
|
482
|
+
}
|
|
483
|
+
try {
|
|
484
|
+
const rows = rowsOf(await db.rawQuery('SELECT is_nullable AS nullable FROM information_schema.columns ' +
|
|
485
|
+
'WHERE table_schema = ANY (current_schemas(false)) AND table_name = ? AND column_name = ?', [table, column]));
|
|
486
|
+
const value = rows[0]?.nullable;
|
|
487
|
+
return value === undefined || String(value).toUpperCase() === 'YES';
|
|
488
|
+
}
|
|
489
|
+
catch {
|
|
490
|
+
// Not Postgres — SQLite has no information_schema.
|
|
491
|
+
}
|
|
492
|
+
try {
|
|
493
|
+
const rows = rowsOf(await db.rawQuery(`PRAGMA table_info("${table}")`));
|
|
494
|
+
const row = rows.find((each) => String(each.name) === column);
|
|
495
|
+
return row === undefined || Number(row.notnull) === 0;
|
|
496
|
+
}
|
|
497
|
+
catch {
|
|
498
|
+
return true;
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
/** Is this a SQLite client? The one dialect that cannot drop a NOT NULL in place. */
|
|
502
|
+
function isSqlite(db) {
|
|
503
|
+
return /sqlite|libsql/i.test(dialectOf(db));
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Make `table.column` nullable. Postgres and MySQL change the column in place; SQLite cannot, so the
|
|
507
|
+
* ledger is rebuilt — created under a scratch name in its current shape, the rows copied over, the
|
|
508
|
+
* old table dropped and the new one renamed — inside a savepoint, so a failure leaves the old table
|
|
509
|
+
* as it was. Only the usage ledger is ever rebuilt: no table references it, so dropping it breaks no
|
|
510
|
+
* foreign key, and its indexes are recreated by the index phase that follows.
|
|
511
|
+
*/
|
|
512
|
+
async function makeNullable(db, table, column, type) {
|
|
513
|
+
const mysql = isMySql(db);
|
|
514
|
+
if (mysql) {
|
|
515
|
+
await db.rawQuery(forDialect(`ALTER TABLE "${table}" MODIFY "${column}" ${type}`, true));
|
|
516
|
+
return;
|
|
517
|
+
}
|
|
518
|
+
if (!isSqlite(db)) {
|
|
519
|
+
await db.rawQuery(`ALTER TABLE "${table}" ALTER COLUMN "${column}" DROP NOT NULL`);
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
522
|
+
if (table !== AGENT_TABLES.tokenUsage) {
|
|
523
|
+
throw new Error(`[@adonis-agora/agent] cannot make ${table}.${column} nullable on SQLite`);
|
|
524
|
+
}
|
|
525
|
+
const scratch = `${table}__rebuild`;
|
|
526
|
+
const columns = rowsOf(await db.rawQuery(`PRAGMA table_info("${table}")`)).map((row) => String(row.name));
|
|
527
|
+
const list = columns.map((name) => `"${name}"`).join(', ');
|
|
528
|
+
await db.rawQuery('SAVEPOINT agent_ledger_rebuild');
|
|
529
|
+
try {
|
|
530
|
+
await db.rawQuery(`DROP TABLE IF EXISTS "${scratch}"`);
|
|
531
|
+
await db.rawQuery(tokenUsageTableStatement(scratch));
|
|
532
|
+
await db.rawQuery(`INSERT INTO "${scratch}" (${list}) SELECT ${list} FROM "${table}"`);
|
|
533
|
+
await db.rawQuery(`DROP TABLE "${table}"`);
|
|
534
|
+
await db.rawQuery(`ALTER TABLE "${scratch}" RENAME TO "${table}"`);
|
|
535
|
+
await db.rawQuery('RELEASE SAVEPOINT agent_ledger_rebuild');
|
|
536
|
+
}
|
|
537
|
+
catch (error) {
|
|
538
|
+
await db.rawQuery('ROLLBACK TO SAVEPOINT agent_ledger_rebuild').catch(() => undefined);
|
|
539
|
+
await db.rawQuery('RELEASE SAVEPOINT agent_ledger_rebuild').catch(() => undefined);
|
|
540
|
+
throw error;
|
|
541
|
+
}
|
|
542
|
+
}
|
|
408
543
|
/**
|
|
409
544
|
* Does `table` already have `column`? Probed with a zero-row `SELECT` rather than `information_schema`
|
|
410
545
|
* (absent on SQLite) or a `PRAGMA` (SQLite-only): every dialect rejects an unknown column at parse
|
|
@@ -441,6 +576,26 @@ export async function hasSentAtColumns(db) {
|
|
|
441
576
|
return ((await hasColumn(runner, AGENT_TABLES.messages, 'sent_at')) &&
|
|
442
577
|
(await hasColumn(runner, AGENT_TABLES.queuedMessages, 'sent_at')));
|
|
443
578
|
}
|
|
579
|
+
/**
|
|
580
|
+
* Whether `agent_token_usage` has the columns `AgentService.recordUsage` writes, and a nullable
|
|
581
|
+
* `thread_id` — what `LucidAgentStore` checks under `autoCreateTables: false`. Probed like
|
|
582
|
+
* {@link hasToolCallIdColumn}.
|
|
583
|
+
*/
|
|
584
|
+
export async function hasLedgerColumns(db) {
|
|
585
|
+
const runner = schemaRunner(db);
|
|
586
|
+
return ((await hasColumn(runner, AGENT_TABLES.tokenUsage, 'feature')) &&
|
|
587
|
+
(await hasColumn(runner, AGENT_TABLES.tokenUsage, 'metadata')));
|
|
588
|
+
}
|
|
589
|
+
/** Whether `agent_token_usage` has `counts_towards_quota`. Probed like {@link hasLedgerColumns}. */
|
|
590
|
+
export function hasQuotaFlagColumn(db) {
|
|
591
|
+
return hasColumn(schemaRunner(db), AGENT_TABLES.tokenUsage, 'counts_towards_quota');
|
|
592
|
+
}
|
|
593
|
+
/** Whether `agent_run` has its timing columns. Probed like {@link hasLedgerColumns}. */
|
|
594
|
+
export async function hasRunTimingColumns(db) {
|
|
595
|
+
const runner = schemaRunner(db);
|
|
596
|
+
return ((await hasColumn(runner, AGENT_TABLES.runs, 'queue_ms')) &&
|
|
597
|
+
(await hasColumn(runner, AGENT_TABLES.runs, 'timings')));
|
|
598
|
+
}
|
|
444
599
|
/** Rows of a raw query result, whatever the driver wraps them in (`{ rows }`, `[rows, fields]`, rows). */
|
|
445
600
|
export function rowsOf(result) {
|
|
446
601
|
if (Array.isArray(result)) {
|
|
@@ -507,10 +662,10 @@ async function hasTable(db, table) {
|
|
|
507
662
|
* create is there now, the race was lost and the job is done. Anything else — a permission error, a
|
|
508
663
|
* lock timeout, a typo — still throws.
|
|
509
664
|
*/
|
|
510
|
-
async function issue(db, statement, done) {
|
|
665
|
+
async function issue(db, statement, done, run = () => db.rawQuery(statement)) {
|
|
511
666
|
for (let attempt = 1;; attempt += 1) {
|
|
512
667
|
try {
|
|
513
|
-
await
|
|
668
|
+
await run();
|
|
514
669
|
return;
|
|
515
670
|
}
|
|
516
671
|
catch (error) {
|
|
@@ -589,6 +744,15 @@ export async function createAgentTables(db) {
|
|
|
589
744
|
for (const { table, column, type } of ADDITIVE_COLUMNS) {
|
|
590
745
|
await addColumn(table, column, type);
|
|
591
746
|
}
|
|
747
|
+
// After the added columns (a SQLite rebuild copies every column the table has by then) and before
|
|
748
|
+
// the indexes (the rebuild drops the old table's, and the index phase puts them back).
|
|
749
|
+
for (const { table, column, type } of NULLABLE_COLUMNS) {
|
|
750
|
+
if (await isNullable(db, table, column))
|
|
751
|
+
continue;
|
|
752
|
+
// Several statements on SQLite, so `issue` is handed the change rather than one statement.
|
|
753
|
+
await issue(db, `${table}.${column} NULL`, () => isNullable(db, table, column), () => makeNullable(db, table, column, type));
|
|
754
|
+
repairs.push(`${table}.${column}`);
|
|
755
|
+
}
|
|
592
756
|
const indexes = await existingIndexes(db);
|
|
593
757
|
for (const stmt of statements) {
|
|
594
758
|
if (!stmt.startsWith('CREATE INDEX'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucid-schema.js","sourceRoot":"","sources":["../../../src/stores/lucid-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucid-schema.js","sourceRoot":"","sources":["../../../src/stores/lucid-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,6 +124,15 @@ export declare class LucidAgentStore extends LucidActionProposalStore implements
|
|
|
124
124
|
* provisions the schema; see {@link checkToolCallSchema} for when it is not.
|
|
125
125
|
*/
|
|
126
126
|
private sentAtColumns;
|
|
127
|
+
/**
|
|
128
|
+
* Whether `agent_token_usage` has the columns usage beyond agent turns writes (`feature`,
|
|
129
|
+
* `provider`, the units, `metadata`). Always so when the store provisions the schema.
|
|
130
|
+
*/
|
|
131
|
+
private ledgerColumns;
|
|
132
|
+
/** Whether `agent_token_usage` has `counts_towards_quota`. As {@link ledgerColumns}. */
|
|
133
|
+
private quotaFlagColumn;
|
|
134
|
+
/** Whether `agent_run` has the timing columns (`queue_ms`, `model_ms`…). As {@link ledgerColumns}. */
|
|
135
|
+
private runTimingColumns;
|
|
127
136
|
constructor(db: LucidDatabaseLike, options?: LucidAgentStoreOptions);
|
|
128
137
|
/** The database this store writes to — what other Lucid-backed state (a channel store) shares. */
|
|
129
138
|
get database(): LucidDatabaseLike;
|
|
@@ -235,6 +244,11 @@ export declare class LucidAgentStore extends LucidActionProposalStore implements
|
|
|
235
244
|
recordRunStart(input: RecordRunStartInput): Promise<void>;
|
|
236
245
|
getRunActorRef(runId: string): Promise<string | null>;
|
|
237
246
|
recordRunEnd(input: RecordRunEndInput): Promise<void>;
|
|
247
|
+
/**
|
|
248
|
+
* The rows a quota window counts. A filter on the rows the `(actor_ref, created_at)` index already
|
|
249
|
+
* narrows to one actor's window, so it adds no scan of its own.
|
|
250
|
+
*/
|
|
251
|
+
private quotaPredicate;
|
|
238
252
|
usageBetween(actorRef: string, fromDay: string, toDay: string): Promise<UsageTotals>;
|
|
239
253
|
quotaToday(actorRef: string, day: string): Promise<{
|
|
240
254
|
usedTokens: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EACL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAIV,eAAe,EAIf,aAAa,EACb,YAAY,EACZ,aAAa,EAIb,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,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
|
@@ -2,7 +2,7 @@ import { createHash } from 'node:crypto';
|
|
|
2
2
|
import { canonicalActionProposalJson, snapshotActionProposal, } from '../action-proposal-transitions.js';
|
|
3
3
|
import { toolCallApprovalFromRow, } from '../spi/approval-policy.js';
|
|
4
4
|
import { LucidActionProposalStore } from './lucid-action-proposal-store.js';
|
|
5
|
-
import { AGENT_TABLES, ensureAgentTables, hasSentAtColumns, hasToolCallIdColumn, rowsOf, } from './lucid-schema.js';
|
|
5
|
+
import { AGENT_TABLES, ensureAgentTables, hasLedgerColumns, hasQuotaFlagColumn, hasRunTimingColumns, hasSentAtColumns, hasToolCallIdColumn, rowsOf, } from './lucid-schema.js';
|
|
6
6
|
import { portableSql } from './sql-dialect.js';
|
|
7
7
|
import { withStoreTransaction } from './sqlite-transactions.js';
|
|
8
8
|
/**
|
|
@@ -205,6 +205,15 @@ export class LucidAgentStore extends LucidActionProposalStore {
|
|
|
205
205
|
* provisions the schema; see {@link checkToolCallSchema} for when it is not.
|
|
206
206
|
*/
|
|
207
207
|
sentAtColumns = true;
|
|
208
|
+
/**
|
|
209
|
+
* Whether `agent_token_usage` has the columns usage beyond agent turns writes (`feature`,
|
|
210
|
+
* `provider`, the units, `metadata`). Always so when the store provisions the schema.
|
|
211
|
+
*/
|
|
212
|
+
ledgerColumns = true;
|
|
213
|
+
/** Whether `agent_token_usage` has `counts_towards_quota`. As {@link ledgerColumns}. */
|
|
214
|
+
quotaFlagColumn = true;
|
|
215
|
+
/** Whether `agent_run` has the timing columns (`queue_ms`, `model_ms`…). As {@link ledgerColumns}. */
|
|
216
|
+
runTimingColumns = true;
|
|
208
217
|
constructor(db, options = {}) {
|
|
209
218
|
super(db, options, () => this.init());
|
|
210
219
|
this.db = db;
|
|
@@ -239,6 +248,20 @@ export class LucidAgentStore extends LucidActionProposalStore {
|
|
|
239
248
|
'schema is yours: add a migration that calls createAgentTables(). Until it runs, send times ' +
|
|
240
249
|
'(sentAt) are not stored, and messageTimestamps labels messages with their created_at.');
|
|
241
250
|
}
|
|
251
|
+
this.ledgerColumns = await hasLedgerColumns(this.db);
|
|
252
|
+
this.quotaFlagColumn = await hasQuotaFlagColumn(this.db);
|
|
253
|
+
if (!this.quotaFlagColumn) {
|
|
254
|
+
console.warn('[@adonis-agora/agent] agent_token_usage has no counts_towards_quota column. With autoCreateTables ' +
|
|
255
|
+
'off the schema is yours: add a migration that calls createAgentTables(). Until it runs, every ' +
|
|
256
|
+
'usage row counts towards the quota, countsTowardsQuota: false included.');
|
|
257
|
+
}
|
|
258
|
+
this.runTimingColumns = await hasRunTimingColumns(this.db);
|
|
259
|
+
if (!this.ledgerColumns || !this.runTimingColumns) {
|
|
260
|
+
console.warn('[@adonis-agora/agent] agent_token_usage / agent_run lack the usage-ledger and run-timing ' +
|
|
261
|
+
'columns. With autoCreateTables off the schema is yours: add a migration that calls ' +
|
|
262
|
+
'createAgentTables(). Until it runs, usage rows are written without feature/units/metadata, ' +
|
|
263
|
+
'usage without a thread is refused, and run timings are not stored.');
|
|
264
|
+
}
|
|
242
265
|
this.toolCallsScoped = await hasToolCallIdColumn(this.db);
|
|
243
266
|
if (!this.toolCallsScoped) {
|
|
244
267
|
console.warn('[@adonis-agora/agent] agent_tool_call has no call_id column. With autoCreateTables off the ' +
|
|
@@ -1032,7 +1055,7 @@ export class LucidAgentStore extends LucidActionProposalStore {
|
|
|
1032
1055
|
await this.init();
|
|
1033
1056
|
await this.db.table(AGENT_TABLES.tokenUsage).insert({
|
|
1034
1057
|
id: crypto.randomUUID(),
|
|
1035
|
-
thread_id: input.threadId,
|
|
1058
|
+
thread_id: input.threadId ?? null,
|
|
1036
1059
|
actor_ref: input.actorRef,
|
|
1037
1060
|
message_id: input.messageId ?? null,
|
|
1038
1061
|
model_id: input.modelId,
|
|
@@ -1045,6 +1068,20 @@ export class LucidAgentStore extends LucidActionProposalStore {
|
|
|
1045
1068
|
cost_source: input.costUsd !== undefined ? (input.costSource ?? 'provider') : null,
|
|
1046
1069
|
run_id: input.runId ?? null,
|
|
1047
1070
|
created_at: Date.now(),
|
|
1071
|
+
...(this.ledgerColumns
|
|
1072
|
+
? {
|
|
1073
|
+
feature: input.feature ?? null,
|
|
1074
|
+
provider: input.provider ?? null,
|
|
1075
|
+
tenant_ref: input.tenantRef ?? null,
|
|
1076
|
+
audio_seconds: input.audioSeconds ?? null,
|
|
1077
|
+
characters: input.characters ?? null,
|
|
1078
|
+
requests: input.requests ?? null,
|
|
1079
|
+
metadata: input.metadata !== undefined ? JSON.stringify(input.metadata) : null,
|
|
1080
|
+
}
|
|
1081
|
+
: {}),
|
|
1082
|
+
...(this.quotaFlagColumn
|
|
1083
|
+
? { counts_towards_quota: input.countsTowardsQuota === false ? 0 : 1 }
|
|
1084
|
+
: {}),
|
|
1048
1085
|
});
|
|
1049
1086
|
}
|
|
1050
1087
|
async recordGenuiCalls(rows) {
|
|
@@ -1101,6 +1138,9 @@ export class LucidAgentStore extends LucidActionProposalStore {
|
|
|
1101
1138
|
cost_usd: null,
|
|
1102
1139
|
error: null,
|
|
1103
1140
|
durable: input.durable ? 1 : 0,
|
|
1141
|
+
...(this.runTimingColumns && input.queueMs !== undefined
|
|
1142
|
+
? { queue_ms: Math.max(0, Math.round(input.queueMs)) }
|
|
1143
|
+
: {}),
|
|
1104
1144
|
});
|
|
1105
1145
|
}
|
|
1106
1146
|
async getRunActorRef(runId) {
|
|
@@ -1132,6 +1172,13 @@ export class LucidAgentStore extends LucidActionProposalStore {
|
|
|
1132
1172
|
patch.error_code = input.errorCode;
|
|
1133
1173
|
if (input.modelId !== undefined)
|
|
1134
1174
|
patch.model_id = input.modelId;
|
|
1175
|
+
if (input.timings !== undefined && this.runTimingColumns) {
|
|
1176
|
+
patch.model_ms = Math.round(input.timings.modelMs);
|
|
1177
|
+
patch.tools_ms = Math.round(input.timings.toolsMs);
|
|
1178
|
+
patch.model_calls = input.timings.modelCalls;
|
|
1179
|
+
patch.tool_calls = input.timings.toolCalls;
|
|
1180
|
+
patch.timings = JSON.stringify(input.timings.steps);
|
|
1181
|
+
}
|
|
1135
1182
|
// First terminal wins: only settle a run still `running`, so a late `completed` from the loop can
|
|
1136
1183
|
// never overwrite a `failed`/`cancelled` the runner already recorded (idempotent under replay too).
|
|
1137
1184
|
await this.db
|
|
@@ -1140,6 +1187,13 @@ export class LucidAgentStore extends LucidActionProposalStore {
|
|
|
1140
1187
|
.where('status', 'running')
|
|
1141
1188
|
.update(patch);
|
|
1142
1189
|
}
|
|
1190
|
+
/**
|
|
1191
|
+
* The rows a quota window counts. A filter on the rows the `(actor_ref, created_at)` index already
|
|
1192
|
+
* narrows to one actor's window, so it adds no scan of its own.
|
|
1193
|
+
*/
|
|
1194
|
+
quotaPredicate() {
|
|
1195
|
+
return this.quotaFlagColumn ? ` AND "counts_towards_quota" = 1` : '';
|
|
1196
|
+
}
|
|
1143
1197
|
async usageBetween(actorRef, fromDay, toDay) {
|
|
1144
1198
|
await this.init();
|
|
1145
1199
|
// Summed by the database: a month of an active actor's ledger is thousands of rows, read on
|
|
@@ -1147,7 +1201,7 @@ export class LucidAgentStore extends LucidActionProposalStore {
|
|
|
1147
1201
|
const [row] = rowsOf(await this.db.rawQuery(portableSql(this.db, `SELECT COALESCE(SUM("input_tokens" + "output_tokens"), 0) AS used_tokens, ` +
|
|
1148
1202
|
`COALESCE(SUM("cost_usd"), 0) AS cost_usd, ` +
|
|
1149
1203
|
`COALESCE(SUM(CASE WHEN "cost_source" = 'estimate' THEN "cost_usd" ELSE 0 END), 0) AS estimated_cost_usd ` +
|
|
1150
|
-
`FROM "${AGENT_TABLES.tokenUsage}" WHERE "actor_ref" = ? AND "created_at" >= ? AND "created_at" <=
|
|
1204
|
+
`FROM "${AGENT_TABLES.tokenUsage}" WHERE "actor_ref" = ? AND "created_at" >= ? AND "created_at" <= ?${this.quotaPredicate()}`), [actorRef, Date.parse(`${fromDay}T00:00:00.000Z`), Date.parse(`${toDay}T23:59:59.999Z`)]));
|
|
1151
1205
|
return {
|
|
1152
1206
|
usedTokens: toInt(row?.used_tokens),
|
|
1153
1207
|
costUsd: Number(row?.cost_usd ?? 0),
|
|
@@ -1159,7 +1213,7 @@ export class LucidAgentStore extends LucidActionProposalStore {
|
|
|
1159
1213
|
// Inclusive UTC day window over epoch-ms `created_at`. Cache tokens are subsets of input/output
|
|
1160
1214
|
// and are NEVER re-added, so summing input+output is the whole-day token spend.
|
|
1161
1215
|
const [row] = rowsOf(await this.db.rawQuery(portableSql(this.db, `SELECT COALESCE(SUM("input_tokens" + "output_tokens"), 0) AS used_tokens ` +
|
|
1162
|
-
`FROM "${AGENT_TABLES.tokenUsage}" WHERE "actor_ref" = ? AND "created_at" >= ? AND "created_at" <=
|
|
1216
|
+
`FROM "${AGENT_TABLES.tokenUsage}" WHERE "actor_ref" = ? AND "created_at" >= ? AND "created_at" <= ?${this.quotaPredicate()}`), [actorRef, Date.parse(`${day}T00:00:00.000Z`), Date.parse(`${day}T23:59:59.999Z`)]));
|
|
1163
1217
|
return { usedTokens: toInt(row?.used_tokens) };
|
|
1164
1218
|
}
|
|
1165
1219
|
}
|