@adonis-agora/agent 0.60.0 → 0.61.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 (198) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/configure.d.ts.map +1 -1
  3. package/dist/configure.js +2 -0
  4. package/dist/configure.js.map +1 -1
  5. package/dist/providers/agent_provider.d.ts.map +1 -1
  6. package/dist/providers/agent_provider.js +119 -2
  7. package/dist/providers/agent_provider.js.map +1 -1
  8. package/dist/src/action-proposal-approval.d.ts +26 -0
  9. package/dist/src/action-proposal-approval.d.ts.map +1 -0
  10. package/dist/src/action-proposal-approval.js +28 -0
  11. package/dist/src/action-proposal-approval.js.map +1 -0
  12. package/dist/src/action-proposal-discovery.d.ts +9 -0
  13. package/dist/src/action-proposal-discovery.d.ts.map +1 -0
  14. package/dist/src/action-proposal-discovery.js +20 -0
  15. package/dist/src/action-proposal-discovery.js.map +1 -0
  16. package/dist/src/action-proposal-executor.d.ts +37 -0
  17. package/dist/src/action-proposal-executor.d.ts.map +1 -0
  18. package/dist/src/action-proposal-executor.js +70 -0
  19. package/dist/src/action-proposal-executor.js.map +1 -0
  20. package/dist/src/action-proposal-outcome.d.ts +12 -0
  21. package/dist/src/action-proposal-outcome.d.ts.map +1 -0
  22. package/dist/src/action-proposal-outcome.js +86 -0
  23. package/dist/src/action-proposal-outcome.js.map +1 -0
  24. package/dist/src/action-proposal-preparation.d.ts +20 -0
  25. package/dist/src/action-proposal-preparation.d.ts.map +1 -0
  26. package/dist/src/action-proposal-preparation.js +27 -0
  27. package/dist/src/action-proposal-preparation.js.map +1 -0
  28. package/dist/src/action-proposal-receipt.d.ts +12 -0
  29. package/dist/src/action-proposal-receipt.d.ts.map +1 -0
  30. package/dist/src/action-proposal-receipt.js +4 -0
  31. package/dist/src/action-proposal-receipt.js.map +1 -0
  32. package/dist/src/action-proposal-runtime.d.ts +9 -0
  33. package/dist/src/action-proposal-runtime.d.ts.map +1 -0
  34. package/dist/src/action-proposal-runtime.js +34 -0
  35. package/dist/src/action-proposal-runtime.js.map +1 -0
  36. package/dist/src/action-proposal-service.d.ts +43 -0
  37. package/dist/src/action-proposal-service.d.ts.map +1 -0
  38. package/dist/src/action-proposal-service.js +132 -0
  39. package/dist/src/action-proposal-service.js.map +1 -0
  40. package/dist/src/action-proposal-text.d.ts +33 -0
  41. package/dist/src/action-proposal-text.d.ts.map +1 -0
  42. package/dist/src/action-proposal-text.js +51 -0
  43. package/dist/src/action-proposal-text.js.map +1 -0
  44. package/dist/src/action-proposal-transitions.d.ts +20 -0
  45. package/dist/src/action-proposal-transitions.d.ts.map +1 -0
  46. package/dist/src/action-proposal-transitions.js +311 -0
  47. package/dist/src/action-proposal-transitions.js.map +1 -0
  48. package/dist/src/action-proposal-worker.d.ts +31 -0
  49. package/dist/src/action-proposal-worker.d.ts.map +1 -0
  50. package/dist/src/action-proposal-worker.js +133 -0
  51. package/dist/src/action-proposal-worker.js.map +1 -0
  52. package/dist/src/ag-ui/adapter.d.ts.map +1 -1
  53. package/dist/src/ag-ui/adapter.js +33 -0
  54. package/dist/src/ag-ui/adapter.js.map +1 -1
  55. package/dist/src/ag-ui/frames.d.ts.map +1 -1
  56. package/dist/src/ag-ui/frames.js +1 -0
  57. package/dist/src/ag-ui/frames.js.map +1 -1
  58. package/dist/src/ag-ui/proposal-decision.d.ts +9 -0
  59. package/dist/src/ag-ui/proposal-decision.d.ts.map +1 -0
  60. package/dist/src/ag-ui/proposal-decision.js +23 -0
  61. package/dist/src/ag-ui/proposal-decision.js.map +1 -0
  62. package/dist/src/agent-deps-factory.d.ts +5 -0
  63. package/dist/src/agent-deps-factory.d.ts.map +1 -1
  64. package/dist/src/agent-deps-factory.js +9 -0
  65. package/dist/src/agent-deps-factory.js.map +1 -1
  66. package/dist/src/agent-deps.d.ts +4 -0
  67. package/dist/src/agent-deps.d.ts.map +1 -1
  68. package/dist/src/agent-deps.js.map +1 -1
  69. package/dist/src/agent-loop.d.ts +4 -0
  70. package/dist/src/agent-loop.d.ts.map +1 -1
  71. package/dist/src/agent-loop.js +372 -62
  72. package/dist/src/agent-loop.js.map +1 -1
  73. package/dist/src/agent-service.d.ts +42 -1
  74. package/dist/src/agent-service.d.ts.map +1 -1
  75. package/dist/src/agent-service.js +49 -1
  76. package/dist/src/agent-service.js.map +1 -1
  77. package/dist/src/ai-tool-ref.d.ts +2 -1
  78. package/dist/src/ai-tool-ref.d.ts.map +1 -1
  79. package/dist/src/ai-tool-ref.js +22 -2
  80. package/dist/src/ai-tool-ref.js.map +1 -1
  81. package/dist/src/chat-queue-service.d.ts.map +1 -1
  82. package/dist/src/chat-queue-service.js +2 -0
  83. package/dist/src/chat-queue-service.js.map +1 -1
  84. package/dist/src/client/chat-client.d.ts +12 -0
  85. package/dist/src/client/chat-client.d.ts.map +1 -1
  86. package/dist/src/client/chat-client.js +69 -1
  87. package/dist/src/client/chat-client.js.map +1 -1
  88. package/dist/src/client/sse.d.ts +15 -0
  89. package/dist/src/client/sse.d.ts.map +1 -1
  90. package/dist/src/client/sse.js +45 -0
  91. package/dist/src/client/sse.js.map +1 -1
  92. package/dist/src/define_config.d.ts +9 -0
  93. package/dist/src/define_config.d.ts.map +1 -1
  94. package/dist/src/define_config.js.map +1 -1
  95. package/dist/src/genui/factory.d.ts +8 -1
  96. package/dist/src/genui/factory.d.ts.map +1 -1
  97. package/dist/src/genui/factory.js +3 -1
  98. package/dist/src/genui/factory.js.map +1 -1
  99. package/dist/src/genui/index.d.ts.map +1 -1
  100. package/dist/src/genui/index.js +1 -0
  101. package/dist/src/genui/index.js.map +1 -1
  102. package/dist/src/index.d.ts +18 -2
  103. package/dist/src/index.d.ts.map +1 -1
  104. package/dist/src/index.js +18 -2
  105. package/dist/src/index.js.map +1 -1
  106. package/dist/src/negotiated-tool-ui.d.ts +10 -0
  107. package/dist/src/negotiated-tool-ui.d.ts.map +1 -0
  108. package/dist/src/negotiated-tool-ui.js +53 -0
  109. package/dist/src/negotiated-tool-ui.js.map +1 -0
  110. package/dist/src/spi/action-proposal-outcome-store.d.ts +43 -0
  111. package/dist/src/spi/action-proposal-outcome-store.d.ts.map +1 -0
  112. package/dist/src/spi/action-proposal-outcome-store.js +2 -0
  113. package/dist/src/spi/action-proposal-outcome-store.js.map +1 -0
  114. package/dist/src/spi/action-proposal-store.d.ts +152 -0
  115. package/dist/src/spi/action-proposal-store.d.ts.map +1 -0
  116. package/dist/src/spi/action-proposal-store.js +2 -0
  117. package/dist/src/spi/action-proposal-store.js.map +1 -0
  118. package/dist/src/spi/action-proposal-worker-store.d.ts +17 -0
  119. package/dist/src/spi/action-proposal-worker-store.d.ts.map +1 -0
  120. package/dist/src/spi/action-proposal-worker-store.js +2 -0
  121. package/dist/src/spi/action-proposal-worker-store.js.map +1 -0
  122. package/dist/src/spi/agent-store.d.ts +5 -0
  123. package/dist/src/spi/agent-store.d.ts.map +1 -1
  124. package/dist/src/spi/agent-store.js.map +1 -1
  125. package/dist/src/spi/approval-policy.d.ts +3 -0
  126. package/dist/src/spi/approval-policy.d.ts.map +1 -1
  127. package/dist/src/spi/approval-policy.js +8 -1
  128. package/dist/src/spi/approval-policy.js.map +1 -1
  129. package/dist/src/spi/background-actor-resolver.d.ts +9 -0
  130. package/dist/src/spi/background-actor-resolver.d.ts.map +1 -0
  131. package/dist/src/spi/background-actor-resolver.js +2 -0
  132. package/dist/src/spi/background-actor-resolver.js.map +1 -0
  133. package/dist/src/spi/chat-queue.d.ts +3 -0
  134. package/dist/src/spi/chat-queue.d.ts.map +1 -1
  135. package/dist/src/spi/chat-queue.js.map +1 -1
  136. package/dist/src/spi/token-stream-sink.d.ts +9 -0
  137. package/dist/src/spi/token-stream-sink.d.ts.map +1 -1
  138. package/dist/src/spi/token-stream-sink.js.map +1 -1
  139. package/dist/src/spi/tool.d.ts +22 -0
  140. package/dist/src/spi/tool.d.ts.map +1 -1
  141. package/dist/src/sse.d.ts.map +1 -1
  142. package/dist/src/sse.js +6 -0
  143. package/dist/src/sse.js.map +1 -1
  144. package/dist/src/stores/lucid-action-proposal-store.d.ts +55 -0
  145. package/dist/src/stores/lucid-action-proposal-store.d.ts.map +1 -0
  146. package/dist/src/stores/lucid-action-proposal-store.js +465 -0
  147. package/dist/src/stores/lucid-action-proposal-store.js.map +1 -0
  148. package/dist/src/stores/lucid-schema.d.ts +8 -6
  149. package/dist/src/stores/lucid-schema.d.ts.map +1 -1
  150. package/dist/src/stores/lucid-schema.js +59 -6
  151. package/dist/src/stores/lucid-schema.js.map +1 -1
  152. package/dist/src/stores/lucid.d.ts +4 -2
  153. package/dist/src/stores/lucid.d.ts.map +1 -1
  154. package/dist/src/stores/lucid.js +43 -14
  155. package/dist/src/stores/lucid.js.map +1 -1
  156. package/dist/src/stores/sqlite-transactions.d.ts +8 -0
  157. package/dist/src/stores/sqlite-transactions.d.ts.map +1 -0
  158. package/dist/src/stores/sqlite-transactions.js +24 -0
  159. package/dist/src/stores/sqlite-transactions.js.map +1 -0
  160. package/dist/src/stream-events.d.ts +4 -0
  161. package/dist/src/stream-events.d.ts.map +1 -1
  162. package/dist/src/testing/in-memory-action-proposal-store.d.ts +32 -0
  163. package/dist/src/testing/in-memory-action-proposal-store.d.ts.map +1 -0
  164. package/dist/src/testing/in-memory-action-proposal-store.js +159 -0
  165. package/dist/src/testing/in-memory-action-proposal-store.js.map +1 -0
  166. package/dist/src/testing/in-memory-store.d.ts +9 -1
  167. package/dist/src/testing/in-memory-store.d.ts.map +1 -1
  168. package/dist/src/testing/in-memory-store.js +79 -1
  169. package/dist/src/testing/in-memory-store.js.map +1 -1
  170. package/dist/src/testing/index.d.ts +1 -0
  171. package/dist/src/testing/index.d.ts.map +1 -1
  172. package/dist/src/testing/index.js +1 -0
  173. package/dist/src/testing/index.js.map +1 -1
  174. package/dist/src/tool-discovery.d.ts.map +1 -1
  175. package/dist/src/tool-discovery.js +7 -0
  176. package/dist/src/tool-discovery.js.map +1 -1
  177. package/dist/src/tool-registry.d.ts +25 -1
  178. package/dist/src/tool-registry.d.ts.map +1 -1
  179. package/dist/src/tool-registry.js +73 -3
  180. package/dist/src/tool-registry.js.map +1 -1
  181. package/dist/src/tool-retry.d.ts +0 -11
  182. package/dist/src/tool-retry.d.ts.map +1 -1
  183. package/dist/src/tool-retry.js +5 -1
  184. package/dist/src/tool-retry.js.map +1 -1
  185. package/dist/src/tool-ui.d.ts +4 -1
  186. package/dist/src/tool-ui.d.ts.map +1 -1
  187. package/dist/src/tool-ui.js +32 -4
  188. package/dist/src/tool-ui.js.map +1 -1
  189. package/dist/src/types.d.ts +28 -2
  190. package/dist/src/types.d.ts.map +1 -1
  191. package/dist/src/ui-capabilities.d.ts +9 -0
  192. package/dist/src/ui-capabilities.d.ts.map +1 -0
  193. package/dist/src/ui-capabilities.js +25 -0
  194. package/dist/src/ui-capabilities.js.map +1 -0
  195. package/dist/stubs/database/migrations/add_action_proposal_discovery.stub +24 -0
  196. package/dist/stubs/database/migrations/add_action_proposal_runtime.stub +19 -0
  197. package/dist/stubs/database/migrations/create_agent_tables.stub +3 -3
  198. package/package.json +5 -5
@@ -1,9 +1,11 @@
1
1
  import type { LucidRawRunner } from './lucid.js';
2
2
  /**
3
- * The nine agent table names. They match the cross-adapter snake_case contract the reference Drizzle
3
+ * The ten 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.
5
5
  */
6
6
  export declare const AGENT_TABLES: {
7
+ /** Independent action proposals, including durable execution work and its lease. */
8
+ readonly actionProposals: 'agent_action_proposal';
7
9
  readonly threads: 'agent_thread';
8
10
  readonly messages: 'agent_message';
9
11
  readonly toolCalls: 'agent_tool_call';
@@ -41,7 +43,7 @@ export declare function forDialect(statement: string, mysql: boolean): string;
41
43
  */
42
44
  export declare function streamFrameTableStatement(table?: string): string;
43
45
  /**
44
- * `CREATE TABLE IF NOT EXISTS` DDL for the nine agent tables plus their indexes, one statement per
46
+ * `CREATE TABLE IF NOT EXISTS` DDL for the ten agent tables plus their indexes, one statement per
45
47
  * array element so each can be issued through Lucid's `rawQuery`. Portable across SQLite / Postgres /
46
48
  * MySQL: quoted identifiers, epoch-ms `BIGINT` timestamps, `INTEGER` booleans (0/1) and `TEXT` JSON
47
49
  * columns — no dialect-only types. A real deployment should prefer the bundled migration stub so the
@@ -60,7 +62,7 @@ export declare function createTableStatements(): string[];
60
62
  /** Rows of a raw query result, whatever the driver wraps them in (`{ rows }`, `[rows, fields]`, rows). */
61
63
  export declare function rowsOf(result: unknown): Record<string, unknown>[];
62
64
  /**
63
- * Idempotently provision the nine agent tables through Lucid's async raw runner (`CREATE TABLE IF
65
+ * Idempotently provision the ten agent tables through Lucid's async raw runner (`CREATE TABLE IF
64
66
  * NOT EXISTS`), then additively repair a database that predates run tracking by ALTERing in the
65
67
  * `run_id` columns its three older tables are missing.
66
68
  *
@@ -81,12 +83,12 @@ export declare function rowsOf(result: unknown): Record<string, unknown>[];
81
83
  */
82
84
  export declare function createAgentTables(db: LucidRawRunner): Promise<string[]>;
83
85
  /**
84
- * `DROP TABLE IF EXISTS` for the nine agent tables, in reverse dependency order so a dialect that
86
+ * `DROP TABLE IF EXISTS` for the ten agent tables, in reverse dependency order so a dialect that
85
87
  * enforces the `REFERENCES` clauses never refuses a drop for a child that still exists. The mirror of
86
88
  * {@link createAgentTables}, and what the published migration's `down()` calls.
87
89
  */
88
90
  export declare function dropTableStatements(): string[];
89
- /** Drop the nine agent tables. Destructive and irreversible — this erases every thread and every ledger row. */
91
+ /** Drop the ten agent tables. Destructive and irreversible — this erases every thread and every ledger row. */
90
92
  export declare function dropAgentTables(db: LucidRawRunner): Promise<void>;
91
93
  /**
92
94
  * The client schema DDL should run on: one of its OWN, outside a global transaction the caller has
@@ -108,7 +110,7 @@ export declare function dropAgentTables(db: LucidRawRunner): Promise<void>;
108
110
  */
109
111
  export declare function schemaRunner(db: LucidRawRunner): LucidRawRunner;
110
112
  /**
111
- * Idempotently ensure the nine agent tables exist, memoized per db client. This is what the stores
113
+ * Idempotently ensure the ten agent tables exist, memoized per db client. This is what the stores
112
114
  * run when `autoCreateTables` is on (the default): the agent provider calls each store's
113
115
  * `ensureSchema()` once as the app starts, and a store used without the provider (a script, a test
114
116
  * that builds one by hand) falls back to it on first use — whichever store touches the connection
@@ -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;AAGjD;;;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;IACjB,wFAAwF;aACxF,cAAc,EAAE,sBAAsB;IACtC,qGAAqG;aACrG,aAAa,EAAE,qBAAqB;IACpC,+FAA+F;aAC/F,YAAY,EAAE,oBAAoB;CAC1B,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAQpE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,GAAE,MAAkC,GAAG,MAAM,CAQ3F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAgJhD;AA0DD,0GAA0G;AAC1G,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAQjE;AAoGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA6C7E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAa9C;AAED,gHAAgH;AAChH,wBAAsB,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;AA0BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,cAAc,GAAG,cAAc,CAY/D;AAWD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAanE;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,cAAc,EAClB,KAAK,GAAE,MAAkC,GACxC,OAAO,CAAC,IAAI,CAAC,CAMf"}
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;AAGjD;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB,oFAAoF;aACpF,eAAe,EAAE,uBAAuB;aACxC,OAAO,EAAE,cAAc;aACvB,QAAQ,EAAE,eAAe;aACzB,SAAS,EAAE,iBAAiB;aAC5B,UAAU,EAAE,mBAAmB;aAC/B,YAAY,EAAE,qBAAqB;aACnC,IAAI,EAAE,WAAW;IACjB,wFAAwF;aACxF,cAAc,EAAE,sBAAsB;IACtC,qGAAqG;aACrG,aAAa,EAAE,qBAAqB;IACpC,+FAA+F;aAC/F,YAAY,EAAE,oBAAoB;CAC1B,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAQpE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,GAAE,MAAkC,GAAG,MAAM,CAQ3F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CA8KhD;AA8ED,0GAA0G;AAC1G,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAQjE;AAoGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA6C7E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAc9C;AAED,+GAA+G;AAC/G,wBAAsB,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;AA0BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,cAAc,GAAG,cAAc,CAY/D;AAWD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAanE;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,cAAc,EAClB,KAAK,GAAE,MAAkC,GACxC,OAAO,CAAC,IAAI,CAAC,CAMf"}
@@ -1,9 +1,11 @@
1
1
  import { isMySql, portableSql } from './sql-dialect.js';
2
2
  /**
3
- * The nine agent table names. They match the cross-adapter snake_case contract the reference Drizzle
3
+ * The ten 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.
5
5
  */
6
6
  export const AGENT_TABLES = {
7
+ /** Independent action proposals, including durable execution work and its lease. */
8
+ actionProposals: 'agent_action_proposal',
7
9
  threads: 'agent_thread',
8
10
  messages: 'agent_message',
9
11
  toolCalls: 'agent_tool_call',
@@ -58,7 +60,7 @@ export function streamFrameTableStatement(table = AGENT_TABLES.streamFrames) {
58
60
  )`;
59
61
  }
60
62
  /**
61
- * `CREATE TABLE IF NOT EXISTS` DDL for the nine agent tables plus their indexes, one statement per
63
+ * `CREATE TABLE IF NOT EXISTS` DDL for the ten agent tables plus their indexes, one statement per
62
64
  * array element so each can be issued through Lucid's `rawQuery`. Portable across SQLite / Postgres /
63
65
  * MySQL: quoted identifiers, epoch-ms `BIGINT` timestamps, `INTEGER` booleans (0/1) and `TEXT` JSON
64
66
  * columns — no dialect-only types. A real deployment should prefer the bundled migration stub so the
@@ -76,6 +78,32 @@ export function streamFrameTableStatement(table = AGENT_TABLES.streamFrames) {
76
78
  export function createTableStatements() {
77
79
  const t = AGENT_TABLES;
78
80
  return [
81
+ `CREATE TABLE IF NOT EXISTS "${t.actionProposals}" (
82
+ "id" VARCHAR(64) PRIMARY KEY NOT NULL,
83
+ "scope_key" VARCHAR(64) NOT NULL,
84
+ "logical_sort" VARCHAR(1020) NOT NULL,
85
+ "insert_token" VARCHAR(64) NOT NULL,
86
+ "decision" VARCHAR(32) NOT NULL,
87
+ "execution_status" VARCHAR(32) NULL,
88
+ "lease_expires_at" BIGINT NULL,
89
+ "proposal_expires_at" BIGINT NULL,
90
+ "discovery_index_version" INTEGER NOT NULL DEFAULT 0,
91
+ "replacement_group_key" VARCHAR(64) NULL,
92
+ "outcome_key" VARCHAR(64) NULL,
93
+ "delivery_status" VARCHAR(32) NULL,
94
+ "delivery_lease_expires_at" BIGINT NULL,
95
+ "payload" TEXT NOT NULL,
96
+ "version" BIGINT NOT NULL DEFAULT 0,
97
+ "created_at" BIGINT NOT NULL,
98
+ "updated_at" BIGINT NOT NULL
99
+ )`,
100
+ `CREATE INDEX IF NOT EXISTS "${t.actionProposals}_work_idx" ON "${t.actionProposals}" ("discovery_index_version", "decision", "execution_status", "lease_expires_at", "created_at")`,
101
+ `CREATE INDEX IF NOT EXISTS "${t.actionProposals}_expiry_idx" ON "${t.actionProposals}" ("discovery_index_version", "decision", "proposal_expires_at", "created_at")`,
102
+ `CREATE INDEX IF NOT EXISTS "${t.actionProposals}_backfill_idx" ON "${t.actionProposals}" ("discovery_index_version", "created_at")`,
103
+ `CREATE INDEX IF NOT EXISTS "${t.actionProposals}_replacement_idx" ON "${t.actionProposals}" ("scope_key", "replacement_group_key", "decision")`,
104
+ `CREATE INDEX IF NOT EXISTS "${t.actionProposals}_delivery_idx" ON "${t.actionProposals}" ("delivery_status", "delivery_lease_expires_at", "created_at")`,
105
+ `CREATE INDEX IF NOT EXISTS "${t.actionProposals}_outcome_idx" ON "${t.actionProposals}" ("outcome_key")`,
106
+ `CREATE INDEX IF NOT EXISTS "${t.actionProposals}_scope_idx" ON "${t.actionProposals}" ("scope_key", "created_at")`,
79
107
  `CREATE TABLE IF NOT EXISTS "${t.threads}" (
80
108
  "id" VARCHAR(255) PRIMARY KEY NOT NULL,
81
109
  "actor_ref" VARCHAR(255) NOT NULL,
@@ -110,6 +138,7 @@ export function createTableStatements() {
110
138
  "reasoning" TEXT NULL,
111
139
  "reasoning_ms" INTEGER NULL,
112
140
  "ui" TEXT NULL,
141
+ "action_proposal_outcome" TEXT NULL,
113
142
  "feedback" TEXT NULL,
114
143
  "agent_name" VARCHAR(255) NULL,
115
144
  "seq" BIGINT NOT NULL DEFAULT 0,
@@ -123,6 +152,7 @@ export function createTableStatements() {
123
152
  "message_id" VARCHAR(255) NOT NULL,
124
153
  "tool_name" VARCHAR(255) NOT NULL,
125
154
  "tool_type" VARCHAR(255) NOT NULL,
155
+ "proposal_id" VARCHAR(255) NULL,
126
156
  "input" TEXT NULL,
127
157
  "output" TEXT NULL,
128
158
  "status" VARCHAR(255) NOT NULL,
@@ -133,6 +163,7 @@ export function createTableStatements() {
133
163
  "created_at" BIGINT NOT NULL,
134
164
  "executed_at" BIGINT NULL,
135
165
  "approver" VARCHAR(255) NULL,
166
+ "confirmation" TEXT NULL,
136
167
  "expires_at" BIGINT NULL,
137
168
  "remember" INTEGER NULL,
138
169
  "decided_via" VARCHAR(64) NULL,
@@ -199,6 +230,7 @@ export function createTableStatements() {
199
230
  "persona" VARCHAR(255) NULL,
200
231
  "model" VARCHAR(255) NULL,
201
232
  "page_context" TEXT NULL,
233
+ "ui_capabilities" TEXT NULL,
202
234
  "interrupt" INTEGER NOT NULL DEFAULT 0,
203
235
  "position" INTEGER NOT NULL,
204
236
  "created_at" BIGINT NOT NULL,
@@ -236,6 +268,25 @@ const RUN_ID_COLUMNS = [
236
268
  * reason: the store writes them on every turn.
237
269
  */
238
270
  const ADDITIVE_COLUMNS = [
271
+ { table: AGENT_TABLES.queuedMessages, column: 'ui_capabilities', type: 'TEXT NULL' },
272
+ { table: AGENT_TABLES.toolCalls, column: 'proposal_id', type: 'VARCHAR(255) NULL' },
273
+ {
274
+ table: AGENT_TABLES.actionProposals,
275
+ column: 'replacement_group_key',
276
+ type: 'VARCHAR(64) NULL',
277
+ },
278
+ { table: AGENT_TABLES.actionProposals, column: 'outcome_key', type: 'VARCHAR(64) NULL' },
279
+ { table: AGENT_TABLES.actionProposals, column: 'delivery_status', type: 'VARCHAR(32) NULL' },
280
+ { table: AGENT_TABLES.actionProposals, column: 'delivery_lease_expires_at', type: 'BIGINT NULL' },
281
+ { table: AGENT_TABLES.messages, column: 'action_proposal_outcome', type: 'TEXT NULL' },
282
+ { table: AGENT_TABLES.actionProposals, column: 'execution_status', type: 'VARCHAR(32) NULL' },
283
+ { table: AGENT_TABLES.actionProposals, column: 'lease_expires_at', type: 'BIGINT NULL' },
284
+ { table: AGENT_TABLES.actionProposals, column: 'proposal_expires_at', type: 'BIGINT NULL' },
285
+ {
286
+ table: AGENT_TABLES.actionProposals,
287
+ column: 'discovery_index_version',
288
+ type: 'INTEGER NOT NULL DEFAULT 0',
289
+ },
239
290
  { table: AGENT_TABLES.runs, column: 'parent_run_id', type: 'VARCHAR(255) NULL' },
240
291
  { table: AGENT_TABLES.messages, column: 'reasoning', type: 'TEXT NULL' },
241
292
  { table: AGENT_TABLES.messages, column: 'reasoning_ms', type: 'INTEGER NULL' },
@@ -249,6 +300,7 @@ const ADDITIVE_COLUMNS = [
249
300
  { table: AGENT_TABLES.threads, column: 'default_agent', type: 'VARCHAR(255) NULL' },
250
301
  // The persona a queued message's send resolved, so it starts under that one.
251
302
  { table: AGENT_TABLES.queuedMessages, column: 'persona', type: 'VARCHAR(255) NULL' },
303
+ { table: AGENT_TABLES.toolCalls, column: 'confirmation', type: 'TEXT NULL' },
252
304
  { table: AGENT_TABLES.toolCalls, column: 'approver', type: 'VARCHAR(255) NULL' },
253
305
  { table: AGENT_TABLES.toolCalls, column: 'expires_at', type: 'BIGINT NULL' },
254
306
  { table: AGENT_TABLES.toolCalls, column: 'remember', type: 'INTEGER NULL' },
@@ -374,7 +426,7 @@ function isTransientLockFailure(error) {
374
426
  return false;
375
427
  }
376
428
  /**
377
- * Idempotently provision the nine agent tables through Lucid's async raw runner (`CREATE TABLE IF
429
+ * Idempotently provision the ten agent tables through Lucid's async raw runner (`CREATE TABLE IF
378
430
  * NOT EXISTS`), then additively repair a database that predates run tracking by ALTERing in the
379
431
  * `run_id` columns its three older tables are missing.
380
432
  *
@@ -432,13 +484,14 @@ export async function createAgentTables(db) {
432
484
  return repairs;
433
485
  }
434
486
  /**
435
- * `DROP TABLE IF EXISTS` for the nine agent tables, in reverse dependency order so a dialect that
487
+ * `DROP TABLE IF EXISTS` for the ten agent tables, in reverse dependency order so a dialect that
436
488
  * enforces the `REFERENCES` clauses never refuses a drop for a child that still exists. The mirror of
437
489
  * {@link createAgentTables}, and what the published migration's `down()` calls.
438
490
  */
439
491
  export function dropTableStatements() {
440
492
  const t = AGENT_TABLES;
441
493
  return [
494
+ t.actionProposals,
442
495
  t.confirmTokens,
443
496
  t.streamFrames,
444
497
  t.queuedMessages,
@@ -450,7 +503,7 @@ export function dropTableStatements() {
450
503
  t.threads,
451
504
  ].map((table) => `DROP TABLE IF EXISTS "${table}"`);
452
505
  }
453
- /** Drop the nine agent tables. Destructive and irreversible — this erases every thread and every ledger row. */
506
+ /** Drop the ten agent tables. Destructive and irreversible — this erases every thread and every ledger row. */
454
507
  export async function dropAgentTables(db) {
455
508
  for (const stmt of dropTableStatements()) {
456
509
  await db.rawQuery(portableSql(db, stmt));
@@ -508,7 +561,7 @@ export function schemaRunner(db) {
508
561
  */
509
562
  const provisioned = new WeakMap();
510
563
  /**
511
- * Idempotently ensure the nine agent tables exist, memoized per db client. This is what the stores
564
+ * Idempotently ensure the ten agent tables exist, memoized per db client. This is what the stores
512
565
  * run when `autoCreateTables` is on (the default): the agent provider calls each store's
513
566
  * `ensureSchema()` once as the app starts, and a store used without the provider (a script, a test
514
567
  * that builds one by hand) falls back to it on first use — whichever store touches the connection
@@ -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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"}
@@ -1,9 +1,11 @@
1
1
  import type { ToolCallOutcome } from '../dangling-tool-calls.js';
2
+ import type { ActionProposalStoreOptions } from '../spi/action-proposal-store.js';
2
3
  import type { AgentStore, AppendMessageInput, CreateThreadInput, RecordRunEndInput, RecordRunStartInput, RecordToolCallInput, RecordUsageInput, ThreadTurnPage, ThreadTurnQuery, ThreadTurnReader, UpdateThreadInput, UpdateToolCallInput } from '../spi/agent-store.js';
3
4
  import { type ToolCallApprovalState } from '../spi/approval-policy.js';
4
5
  import type { ChatQueueStore, EnqueueMessageInput, QueuedMessage, QueuedMessagePatch, QueuePause } from '../spi/chat-queue.js';
5
6
  import type { AgentUiComponent } from '../stream-events.js';
6
7
  import type { MessageFeedback, StoredMessage, ThreadDetail, ThreadSummary, ToolResult } from '../types.js';
8
+ import { LucidActionProposalStore } from './lucid-action-proposal-store.js';
7
9
  /** The chainable query-builder surface the store leans on (Knex-shaped). */
8
10
  export interface LucidQueryBuilderLike {
9
11
  where(column: string, value: unknown): this;
@@ -65,7 +67,7 @@ export interface LucidDatabaseLike extends LucidClientLike, LucidRawRunner {
65
67
  * the database then returned them in either order.
66
68
  */
67
69
  export declare function inAppendOrder<Q extends LucidQueryBuilderLike>(query: Q, direction: 'asc' | 'desc'): Q;
68
- export interface LucidAgentStoreOptions {
70
+ export interface LucidAgentStoreOptions extends ActionProposalStoreOptions {
69
71
  /**
70
72
  * Provision the agent tables (via {@link ensureAgentTables}) — as the app starts when the agent
71
73
  * provider built the store, else on first use — so the lib manages its own schema, the ecosystem
@@ -89,7 +91,7 @@ export interface LucidAgentStoreOptions {
89
91
  * Usually you don't construct this directly: `config/agent.ts` selects it via `stores.lucid({ ... })`
90
92
  * and the provider builds it, lazily importing `@adonisjs/lucid` only when the `lucid` store is chosen.
91
93
  */
92
- export declare class LucidAgentStore implements AgentStore, ThreadTurnReader, ChatQueueStore {
94
+ export declare class LucidAgentStore extends LucidActionProposalStore implements AgentStore, ThreadTurnReader, ChatQueueStore {
93
95
  private readonly db;
94
96
  private readonly autoCreateTables;
95
97
  private ready;
@@ -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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"}
@@ -1,5 +1,8 @@
1
+ import { canonicalActionProposalJson, snapshotActionProposal, } from '../action-proposal-transitions.js';
1
2
  import { toolCallApprovalFromRow, } from '../spi/approval-policy.js';
3
+ import { LucidActionProposalStore } from './lucid-action-proposal-store.js';
2
4
  import { AGENT_TABLES, ensureAgentTables } from './lucid-schema.js';
5
+ import { withStoreTransaction } from './sqlite-transactions.js';
3
6
  /**
4
7
  * `query` in the order its messages were appended: `seq`, which append assigns, then `created_at`
5
8
  * and `id` for the rows from before `seq` existed (they all hold 0, and so sort first). `created_at`
@@ -56,6 +59,7 @@ function affectedRows(result) {
56
59
  function queuedMessageFromRow(row) {
57
60
  const attachments = parseJson(row.attachments);
58
61
  const pageContext = parseJson(row.page_context);
62
+ const uiCapabilities = parseJson(row.ui_capabilities);
59
63
  return {
60
64
  id: String(row.id),
61
65
  threadId: String(row.thread_id),
@@ -66,6 +70,7 @@ function queuedMessageFromRow(row) {
66
70
  ...(typeof row.persona === 'string' && row.persona.length > 0 ? { persona: row.persona } : {}),
67
71
  ...(typeof row.model === 'string' ? { model: row.model } : {}),
68
72
  ...(pageContext !== undefined ? { pageContext } : {}),
73
+ ...(uiCapabilities !== undefined ? { uiCapabilities } : {}),
69
74
  ...(toInt(row.interrupt) === 1 ? { interrupt: true } : {}),
70
75
  createdAt: msToIso(row.created_at),
71
76
  updatedAt: msToIso(row.updated_at),
@@ -93,6 +98,7 @@ const TURN_MESSAGE_COLUMNS = [
93
98
  'tool_calls',
94
99
  'tool_results',
95
100
  'attachments',
101
+ 'action_proposal_outcome',
96
102
  'created_at',
97
103
  ];
98
104
  /**
@@ -108,11 +114,12 @@ const TURN_MESSAGE_COLUMNS = [
108
114
  * Usually you don't construct this directly: `config/agent.ts` selects it via `stores.lucid({ ... })`
109
115
  * and the provider builds it, lazily importing `@adonisjs/lucid` only when the `lucid` store is chosen.
110
116
  */
111
- export class LucidAgentStore {
117
+ export class LucidAgentStore extends LucidActionProposalStore {
112
118
  db;
113
119
  autoCreateTables;
114
120
  ready = null;
115
121
  constructor(db, options = {}) {
122
+ super(db, options, () => this.init());
116
123
  this.db = db;
117
124
  this.autoCreateTables = options.autoCreateTables ?? true;
118
125
  }
@@ -258,7 +265,7 @@ export class LucidAgentStore {
258
265
  }
259
266
  async forkThread(threadId, fromMessageId) {
260
267
  await this.init();
261
- return this.db.transaction(async (trx) => {
268
+ return withStoreTransaction(this.db, async (trx) => {
262
269
  const source = await trx.from(AGENT_TABLES.threads).where('id', threadId).first();
263
270
  if (source === null || source === undefined) {
264
271
  throw new Error(`thread ${threadId} not found`);
@@ -305,6 +312,7 @@ export class LucidAgentStore {
305
312
  reasoning: m.reasoning ?? null,
306
313
  reasoning_ms: m.reasoning_ms ?? null,
307
314
  ui: m.ui ?? null,
315
+ action_proposal_outcome: m.action_proposal_outcome ?? null,
308
316
  ...(typeof m.agent_name === 'string' ? { agent_name: m.agent_name } : {}),
309
317
  created_at: toInt(m.created_at),
310
318
  });
@@ -422,7 +430,7 @@ export class LucidAgentStore {
422
430
  await this.init();
423
431
  const id = crypto.randomUUID();
424
432
  const now = Date.now();
425
- await this.db.transaction(async (trx) => {
433
+ await withStoreTransaction(this.db, async (trx) => {
426
434
  const rows = await trx
427
435
  .from(AGENT_TABLES.queuedMessages)
428
436
  .where('thread_id', input.threadId)
@@ -446,6 +454,7 @@ export class LucidAgentStore {
446
454
  persona: input.persona ?? null,
447
455
  model: input.model ?? null,
448
456
  page_context: input.pageContext !== undefined ? safeJson(input.pageContext) : null,
457
+ ui_capabilities: input.uiCapabilities !== undefined ? safeJson(input.uiCapabilities) : null,
449
458
  interrupt: input.interrupt === true ? 1 : 0,
450
459
  position,
451
460
  created_at: now,
@@ -490,7 +499,7 @@ export class LucidAgentStore {
490
499
  }
491
500
  async moveQueuedMessage(id, index) {
492
501
  await this.init();
493
- return this.db.transaction(async (trx) => {
502
+ return withStoreTransaction(this.db, async (trx) => {
494
503
  const target = await trx.from(AGENT_TABLES.queuedMessages).where('id', id).first();
495
504
  if (target === null || target === undefined) {
496
505
  return false;
@@ -559,6 +568,9 @@ export class LucidAgentStore {
559
568
  reasoning: input.reasoning ?? null,
560
569
  reasoning_ms: input.reasoningMs ?? null,
561
570
  ui: safeJson(input.ui),
571
+ action_proposal_outcome: input.actionProposalOutcome !== undefined
572
+ ? canonicalActionProposalJson(input.actionProposalOutcome)
573
+ : null,
562
574
  created_at: now,
563
575
  });
564
576
  // Keep the thread's `updated_at` in step so list ordering reflects the latest activity.
@@ -582,6 +594,9 @@ export class LucidAgentStore {
582
594
  ...(input.reasoning !== undefined ? { reasoning: input.reasoning } : {}),
583
595
  ...(input.reasoningMs !== undefined ? { reasoningMs: input.reasoningMs } : {}),
584
596
  ...(input.ui !== undefined ? { ui: input.ui } : {}),
597
+ ...(input.actionProposalOutcome !== undefined
598
+ ? { actionProposalOutcome: snapshotActionProposal(input.actionProposalOutcome) }
599
+ : {}),
585
600
  };
586
601
  }
587
602
  /**
@@ -613,7 +628,7 @@ export class LucidAgentStore {
613
628
  }
614
629
  async truncateFrom(threadId, messageId) {
615
630
  await this.init();
616
- await this.db.transaction(async (trx) => {
631
+ await withStoreTransaction(this.db, async (trx) => {
617
632
  const rows = await inAppendOrder(trx.from(AGENT_TABLES.messages).where('thread_id', threadId), 'asc').select('id');
618
633
  const cutoff = rows.findIndex((m) => String(m.id) === messageId);
619
634
  if (cutoff < 0)
@@ -677,6 +692,7 @@ export class LucidAgentStore {
677
692
  await this.db.table(AGENT_TABLES.toolCalls).insert({
678
693
  id: input.toolCallId,
679
694
  message_id: input.messageId,
695
+ proposal_id: input.proposalId ?? null,
680
696
  tool_name: input.toolName,
681
697
  tool_type: input.toolType,
682
698
  input: safeJson(input.input),
@@ -689,6 +705,7 @@ export class LucidAgentStore {
689
705
  created_at: Date.now(),
690
706
  executed_at: null,
691
707
  approver: input.approver ?? null,
708
+ confirmation: input.confirmation !== undefined ? JSON.stringify(input.confirmation) : null,
692
709
  expires_at: input.expiresAt !== undefined ? Date.parse(input.expiresAt) : null,
693
710
  remember: null,
694
711
  decided_via: null,
@@ -739,15 +756,21 @@ export class LucidAgentStore {
739
756
  }
740
757
  async rememberedApprovals(threadId) {
741
758
  await this.init();
742
- const messageIds = (await this.db.from(AGENT_TABLES.messages).where('thread_id', threadId).select('id')).map((row) => String(row.id));
743
- if (messageIds.length === 0)
759
+ const scope = await this.getThreadActionProposalScope(threadId);
760
+ if (!scope)
744
761
  return [];
745
- const rows = await this.db
746
- .from(AGENT_TABLES.toolCalls)
747
- .whereIn('message_id', messageIds)
748
- .where('remember', 1)
749
- .select('tool_name');
750
- return [...new Set(rows.map((row) => String(row.tool_name)))];
762
+ const names = new Set(await this.rememberedActionProposalTools(scope));
763
+ const messageIds = (await this.db.from(AGENT_TABLES.messages).where('thread_id', threadId).select('id')).map((row) => String(row.id));
764
+ if (messageIds.length) {
765
+ const rows = await this.db
766
+ .from(AGENT_TABLES.toolCalls)
767
+ .whereIn('message_id', messageIds)
768
+ .where('remember', 1)
769
+ .select('tool_name');
770
+ for (const row of rows)
771
+ names.add(String(row.tool_name));
772
+ }
773
+ return [...names];
751
774
  }
752
775
  async toolCallApproval(toolCallId) {
753
776
  await this.init();
@@ -944,7 +967,11 @@ function threadRowToSummary(row, lastPreview) {
944
967
  /** A tool-call row's approval columns, in the shape the shared mapping reads. */
945
968
  function approvalColumns(row) {
946
969
  return {
970
+ ...(typeof row.proposal_id === 'string' ? { proposalId: row.proposal_id } : {}),
947
971
  toolCallId: String(row.id),
972
+ ...(row.confirmation != null
973
+ ? { confirmation: parseJson(row.confirmation) }
974
+ : {}),
948
975
  status: String(row.status),
949
976
  approver: typeof row.approver === 'string' ? row.approver : null,
950
977
  expiresAt: row.expires_at !== null && row.expires_at !== undefined
@@ -962,7 +989,8 @@ function rowToMessage(row) {
962
989
  const attachments = parseJson(row.attachments);
963
990
  const followUps = parseJson(row.follow_ups);
964
991
  const usage = parseJson(row.usage);
965
- const ui = parseJson(row.ui);
992
+ const outcome = parseJson(row.action_proposal_outcome);
993
+ const ui = outcome?.ui ?? parseJson(row.ui);
966
994
  const feedback = parseJson(row.feedback);
967
995
  return {
968
996
  id: String(row.id),
@@ -982,6 +1010,7 @@ function rowToMessage(row) {
982
1010
  ? { reasoningMs: toInt(row.reasoning_ms) }
983
1011
  : {}),
984
1012
  ...(ui !== undefined ? { ui } : {}),
1013
+ ...(outcome !== undefined ? { actionProposalOutcome: outcome } : {}),
985
1014
  ...(feedback !== undefined && feedback !== null ? { feedback } : {}),
986
1015
  };
987
1016
  }