@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.
Files changed (76) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/assets/spa/assets/index-DUq09Q_k.js +9 -0
  3. package/dist/assets/spa/index.html +1 -1
  4. package/dist/providers/agent_provider.d.ts.map +1 -1
  5. package/dist/providers/agent_provider.js +51 -0
  6. package/dist/providers/agent_provider.js.map +1 -1
  7. package/dist/src/agent-loop.d.ts +8 -0
  8. package/dist/src/agent-loop.d.ts.map +1 -1
  9. package/dist/src/agent-loop.js +196 -87
  10. package/dist/src/agent-loop.js.map +1 -1
  11. package/dist/src/agent-service.d.ts +76 -1
  12. package/dist/src/agent-service.d.ts.map +1 -1
  13. package/dist/src/agent-service.js +111 -0
  14. package/dist/src/agent-service.js.map +1 -1
  15. package/dist/src/diagnostics.d.ts +67 -0
  16. package/dist/src/diagnostics.d.ts.map +1 -1
  17. package/dist/src/diagnostics.js +18 -4
  18. package/dist/src/diagnostics.js.map +1 -1
  19. package/dist/src/durable/agent-run-workflow.d.ts.map +1 -1
  20. package/dist/src/durable/agent-run-workflow.js +11 -0
  21. package/dist/src/durable/agent-run-workflow.js.map +1 -1
  22. package/dist/src/index.d.ts +4 -3
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +3 -2
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/opencode/turn.d.ts.map +1 -1
  27. package/dist/src/opencode/turn.js +4 -1
  28. package/dist/src/opencode/turn.js.map +1 -1
  29. package/dist/src/run-timings.d.ts +16 -0
  30. package/dist/src/run-timings.d.ts.map +1 -0
  31. package/dist/src/run-timings.js +59 -0
  32. package/dist/src/run-timings.js.map +1 -0
  33. package/dist/src/runners/inline-agent-runner.d.ts.map +1 -1
  34. package/dist/src/runners/inline-agent-runner.js +5 -1
  35. package/dist/src/runners/inline-agent-runner.js.map +1 -1
  36. package/dist/src/spi/agent-store.d.ts +90 -1
  37. package/dist/src/spi/agent-store.d.ts.map +1 -1
  38. package/dist/src/spi/agent-store.js +7 -0
  39. package/dist/src/spi/agent-store.js.map +1 -1
  40. package/dist/src/spi/governance-queries.d.ts +103 -0
  41. package/dist/src/spi/governance-queries.d.ts.map +1 -1
  42. package/dist/src/spi/governance-queries.js +16 -1
  43. package/dist/src/spi/governance-queries.js.map +1 -1
  44. package/dist/src/stores/lucid-governance-queries.d.ts +18 -1
  45. package/dist/src/stores/lucid-governance-queries.d.ts.map +1 -1
  46. package/dist/src/stores/lucid-governance-queries.js +180 -2
  47. package/dist/src/stores/lucid-governance-queries.js.map +1 -1
  48. package/dist/src/stores/lucid-schema.d.ts +22 -0
  49. package/dist/src/stores/lucid-schema.d.ts.map +1 -1
  50. package/dist/src/stores/lucid-schema.js +184 -20
  51. package/dist/src/stores/lucid-schema.js.map +1 -1
  52. package/dist/src/stores/lucid.d.ts +14 -0
  53. package/dist/src/stores/lucid.d.ts.map +1 -1
  54. package/dist/src/stores/lucid.js +58 -4
  55. package/dist/src/stores/lucid.js.map +1 -1
  56. package/dist/src/testing/in-memory-governance-queries.d.ts +11 -1
  57. package/dist/src/testing/in-memory-governance-queries.d.ts.map +1 -1
  58. package/dist/src/testing/in-memory-governance-queries.js +95 -2
  59. package/dist/src/testing/in-memory-governance-queries.js.map +1 -1
  60. package/dist/src/testing/in-memory-store.d.ts +15 -2
  61. package/dist/src/testing/in-memory-store.d.ts.map +1 -1
  62. package/dist/src/testing/in-memory-store.js +25 -3
  63. package/dist/src/testing/in-memory-store.js.map +1 -1
  64. package/dist/src/types.d.ts +6 -1
  65. package/dist/src/types.d.ts.map +1 -1
  66. package/dist/src/usage-attribution.d.ts +10 -0
  67. package/dist/src/usage-attribution.d.ts.map +1 -0
  68. package/dist/src/usage-attribution.js +12 -0
  69. package/dist/src/usage-attribution.js.map +1 -0
  70. package/dist/src/usage-ledger.d.ts +9 -0
  71. package/dist/src/usage-ledger.d.ts.map +1 -0
  72. package/dist/src/usage-ledger.js +36 -0
  73. package/dist/src/usage-ledger.js.map +1 -0
  74. package/package.json +1 -1
  75. package/skills/agent-governance/SKILL.md +1 -1
  76. 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
- `CREATE TABLE IF NOT EXISTS "${t.tokenUsage}" (
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 db.rawQuery(statement);
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":"AACA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,oFAAoF;IACpF,eAAe,EAAE,uBAAuB;IACxC,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,eAAe;IACzB,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,qBAAqB;IACnC,IAAI,EAAE,WAAW;IACjB,wFAAwF;IACxF,cAAc,EAAE,sBAAsB;IACtC,qGAAqG;IACrG,aAAa,EAAE,qBAAqB;IACpC,+FAA+F;IAC/F,YAAY,EAAE,oBAAoB;IAClC;;;OAGG;IACH,YAAY,EAAE,qBAAqB;IACnC;;;OAGG;IACH,UAAU,EAAE,kBAAkB;CACtB,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,KAAc;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC1E,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,8BAA8B,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,GAAG,GAAG,GAAG,GAAG,4DAA4D,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAK,GAAW,YAAY,CAAC,YAAY;IACjF,OAAO,+BAA+B,KAAK;;;;;;MAMvC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAK,GAAW,YAAY,CAAC,YAAY;IACjF,OAAO,+BAA+B,KAAK,qBAAqB,KAAK,4BAA4B,CAAC;AACpG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAK,GAAW,YAAY,CAAC,YAAY;IACnF,OAAO;QACL,+BAA+B,KAAK;;;;;MAKlC;QACF,+BAA+B,KAAK,qBAAqB,KAAK,kBAAkB;KACjF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,CAAC,GAAG,YAAY,CAAC;IACvB,OAAO;QACL,+BAA+B,CAAC,CAAC,eAAe;;;;;;;;;;;;;;;;;;MAkB9C;QACF,+BAA+B,CAAC,CAAC,eAAe,kBAAkB,CAAC,CAAC,eAAe,iGAAiG;QACpL,+BAA+B,CAAC,CAAC,eAAe,oBAAoB,CAAC,CAAC,eAAe,gFAAgF;QACrK,+BAA+B,CAAC,CAAC,eAAe,sBAAsB,CAAC,CAAC,eAAe,6CAA6C;QACpI,+BAA+B,CAAC,CAAC,eAAe,yBAAyB,CAAC,CAAC,eAAe,sDAAsD;QAChJ,+BAA+B,CAAC,CAAC,eAAe,sBAAsB,CAAC,CAAC,eAAe,kEAAkE;QACzJ,+BAA+B,CAAC,CAAC,eAAe,qBAAqB,CAAC,CAAC,eAAe,mBAAmB;QACzG,+BAA+B,CAAC,CAAC,eAAe,mBAAmB,CAAC,CAAC,eAAe,+BAA+B;QACnH,+BAA+B,CAAC,CAAC,OAAO;;;;;;;;;;;;;;;;;MAiBtC;QACF,+BAA+B,CAAC,CAAC,OAAO,2BAA2B,CAAC,CAAC,OAAO,+BAA+B;QAC3G,+BAA+B,CAAC,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;8CAqBC,CAAC,CAAC,OAAO;MACjD;QACF,+BAA+B,CAAC,CAAC,QAAQ,4BAA4B,CAAC,CAAC,QAAQ,+BAA+B;QAC9G,oFAAoF;QACpF,+BAA+B,CAAC,CAAC,QAAQ,wBAAwB,CAAC,CAAC,QAAQ,wBAAwB;QACnG,+BAA+B,CAAC,CAAC,QAAQ,iBAAiB,CAAC,CAAC,QAAQ,cAAc;QAClF,+BAA+B,CAAC,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;+CAqBC,CAAC,CAAC,QAAQ;MACnD;QACF,+BAA+B,CAAC,CAAC,SAAS,iBAAiB,CAAC,CAAC,SAAS,cAAc;QACpF,+BAA+B,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS,yBAAyB;QAChG,+BAA+B,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS,4BAA4B;QAC7G,+BAA+B,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,kBAAkB;QAC5F,+BAA+B,CAAC,CAAC,UAAU;;;;;;;;;;;;;;;8CAeD,CAAC,CAAC,OAAO;MACjD;QACF,+BAA+B,CAAC,CAAC,UAAU,2BAA2B,CAAC,CAAC,UAAU,+BAA+B;QACjH,+BAA+B,CAAC,CAAC,UAAU,iBAAiB,CAAC,CAAC,UAAU,cAAc;QACtF,+BAA+B,CAAC,CAAC,UAAU,oBAAoB,CAAC,CAAC,UAAU,iBAAiB;QAC5F,+BAA+B,CAAC,CAAC,UAAU,qBAAqB,CAAC,CAAC,UAAU,kBAAkB;QAC9F,+BAA+B,CAAC,CAAC,YAAY;;;;;;;;;MAS3C;QACF,+BAA+B,CAAC,CAAC,IAAI;;;;;;;;;;;;;;;;;;;8CAmBK,CAAC,CAAC,OAAO;MACjD;QACF,+BAA+B,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,IAAI,kBAAkB;QAClF,+BAA+B,CAAC,CAAC,IAAI,2BAA2B,CAAC,CAAC,IAAI,+BAA+B;QACrG,+BAA+B,CAAC,CAAC,IAAI,4BAA4B,CAAC,CAAC,IAAI,4BAA4B;QACnG,+BAA+B,CAAC,CAAC,IAAI,4BAA4B,CAAC,CAAC,IAAI,+BAA+B;QACtG,+BAA+B,CAAC,CAAC,cAAc;;;;;;;;;;;;;;;;;8CAiBL,CAAC,CAAC,OAAO;MACjD;QACF,+BAA+B,CAAC,CAAC,cAAc,6BAA6B,CAAC,CAAC,cAAc,6BAA6B;QACzH,gGAAgG;QAChG,+BAA+B,CAAC,CAAC,aAAa;;;;;;MAM5C;QACF,+BAA+B,CAAC,CAAC,aAAa,qBAAqB,CAAC,CAAC,aAAa,kBAAkB;QACpG,yBAAyB,CAAC,CAAC,CAAC,YAAY,CAAC;QACzC,yBAAyB,CAAC,CAAC,CAAC,YAAY,CAAC;QACzC,GAAG,2BAA2B,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9C,+BAA+B,CAAC,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;8CAyBD,CAAC,CAAC,OAAO;MACjD;QACF,+BAA+B,CAAC,CAAC,UAAU,qBAAqB,CAAC,CAAC,UAAU,kBAAkB;QAC9F,+BAA+B,CAAC,CAAC,UAAU,iBAAiB,CAAC,CAAC,UAAU,cAAc;KACvF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,cAAc,GAAsB;IACxC,YAAY,CAAC,QAAQ;IACrB,YAAY,CAAC,SAAS;IACtB,YAAY,CAAC,UAAU;CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAM,gBAAgB,GAA+D;IACnF,EAAE,KAAK,EAAE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE;IACpF,EAAE,KAAK,EAAE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE;IACjF,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACnF;QACE,KAAK,EAAE,YAAY,CAAC,eAAe;QACnC,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,kBAAkB;KACzB;IACD,EAAE,KAAK,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACxF,EAAE,KAAK,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC5F,EAAE,KAAK,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,aAAa,EAAE;IACjG,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,WAAW,EAAE;IACtF,EAAE,KAAK,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC7F,EAAE,KAAK,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE;IACxF,EAAE,KAAK,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,aAAa,EAAE;IAC3F;QACE,KAAK,EAAE,YAAY,CAAC,eAAe;QACnC,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,4BAA4B;KACnC;IACD,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAChF,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;IACxE,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE;IAC9E,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;IACjE,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE;IACvE,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACjF,iGAAiG;IACjG,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,EAAE;IAClF,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC3E,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE;IACzE,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACnF,6EAA6E;IAC7E,EAAE,KAAK,EAAE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACpF,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE;IAC5E,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAChF,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE;IAC5E,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE;IAC3E,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAClF,iGAAiG;IACjG,qBAAqB;IACrB,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC/E,iGAAiG;IACjG,0DAA0D;IAC1D,EAAE,KAAK,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACnF,iGAAiG;IACjG,uEAAuE;IACvE,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE;IACrE,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC5E,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC3E,kGAAkG;IAClG,gGAAgG;IAChG,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE;IACxE,EAAE,KAAK,EAAE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE;CAC/E,CAAC;AAEF;;;;;;;;GAQG;AACH,KAAK,UAAU,SAAS,CAAC,EAAkB,EAAE,KAAa,EAAE,MAAc;IACxE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,MAAM,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAkB;IACpD,OAAO,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAkB;IACvD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAChC,OAAO,CACL,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAE,MAAM,CAAC,CAAC,CAA+B;YAC1C,CAAC,CAAE,MAAoC,CAAC;IAC5C,CAAC;IACD,MAAM,IAAI,GAAI,MAAoC,EAAE,IAAI,CAAC;IACzD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,eAAe,CAAC,EAAkB;IAC/C,iGAAiG;IACjG,MAAM,UAAU,GACd,8FAA8F,CAAC;IACjG,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,MAAM,GAAG;QACb,8FAA8F;QAC9F,qFAAqF;QACrF,0FAA0F;QAC1F,qDAAqD;KACtD,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,KAAK,UAAU,QAAQ,CAAC,EAAkB,EAAE,KAAa;IACvD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,kBAAkB,KAAK,eAAe,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,KAAK,CAClB,EAAkB,EAClB,SAAiB,EACjB,IAA4B;IAE5B,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,IAAI,EAAE;gBAAE,OAAO;YACzB,+FAA+F;YAC/F,2FAA2F;YAC3F,+FAA+F;YAC/F,IAAI,OAAO,IAAI,YAAY,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YAC3E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,4GAA4G;AAC5G,SAAS,sBAAsB,CAAC,KAAc;IAC5C,KAAK,IAAI,OAAO,GAAG,KAAK,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,GAAI,CAAC;QAC5E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAA8C,CAAC;QACvE,IACE,IAAI,KAAK,kBAAkB;YAC3B,IAAI,KAAK,sBAAsB;YAC/B,KAAK,KAAK,IAAI;YACd,KAAK,KAAK,IAAI;YACd,IAAI,KAAK,OAAO;YAChB,IAAI,KAAK,OAAO,EAChB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAI,OAA+B,CAAC,KAAK,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAkB;IACxD,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE1B,oGAAoG;IACpG,uGAAuG;IACvG,oGAAoG;IACpG,oGAAoG;IACpG,0FAA0F;IAC1F,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,SAAS;QAC/C,MAAM,KAAK,GAAG,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAW,CAAC;QAChF,MAAM,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,KAAK,EAAE,KAAa,EAAE,MAAc,EAAE,IAAY,EAAE,EAAE;QACtE,IAAI,MAAM,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC;YAAE,OAAO;QAC/C,MAAM,KAAK,CACT,EAAE,EACF,UAAU,CAAC,gBAAgB,KAAK,iBAAiB,MAAM,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,EAC1E,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CACnC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACxD,CAAC;IACD,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,gBAAgB,EAAE,CAAC;QACvD,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,SAAS;QAC/C,MAAM,KAAK,GAAG,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAW,CAAC;QAChF,IAAI,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QAClC,MAAM,KAAK,CACT,EAAE,EACF,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EACvB,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAC7D,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,CAAC,GAAG,YAAY,CAAC;IACvB,OAAO;QACL,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,OAAO;KACV,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,KAAK,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,kHAAkH;AAClH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAkB;IACtD,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,EAAE,CAAC;QACzC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAeD,SAAS,SAAS,CAAC,EAAW;IAC5B,MAAM,SAAS,GAAG,EAAkC,CAAC;IACrD,OAAO,CACL,SAAS,KAAK,IAAI;QAClB,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,CAAC,4BAA4B,YAAY,GAAG;QACrD,OAAO,SAAS,CAAC,UAAU,KAAK,UAAU;QAC1C,OAAO,SAAS,CAAC,qBAAqB,KAAK,QAAQ,CACpD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAC,EAAkB;IAC7C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,CAAC;IACtC,MAAM,WAAW,GAAG,EAAE,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACzC,IAAI,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IACtE,EAAE,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,IAAI,OAAO,EAAyB,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAkB;IAClD,MAAM,GAAG,GAAG,EAAuB,CAAC;IACpC,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aACxC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACrB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACL,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAkB,EAClB,KAAK,GAAW,YAAY,CAAC,YAAY;IAEzC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAC5E,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CACxB,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,KAAK,cAAc,CAAC;IACpC,IAAI,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO;IACvD,MAAM,KAAK,CACT,MAAM,EACN,UAAU,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EACnD,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAChE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,EAAkB,EAClB,KAAK,GAAW,YAAY,CAAC,YAAY;IAEzC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,2BAA2B,CAAC,KAAK,CAAqB,CAAC;IAC/E,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,KAAK,cAAc,CAAC;IACpC,IAAI,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO;IACvD,MAAM,KAAK,CACT,MAAM,EACN,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,EACxB,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAChE,CAAC;AACJ,CAAC"}
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":"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"}
1
+ {"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
@@ -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" <= ?`), [actorRef, Date.parse(`${fromDay}T00:00:00.000Z`), Date.parse(`${toDay}T23:59:59.999Z`)]));
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" <= ?`), [actorRef, Date.parse(`${day}T00:00:00.000Z`), Date.parse(`${day}T23:59:59.999Z`)]));
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
  }