@adonis-agora/agent 0.1.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 (314) hide show
  1. package/LICENSE +21 -0
  2. package/dist/configure.d.ts +18 -0
  3. package/dist/configure.d.ts.map +1 -0
  4. package/dist/configure.js +29 -0
  5. package/dist/configure.js.map +1 -0
  6. package/dist/providers/agent_provider.d.ts +25 -0
  7. package/dist/providers/agent_provider.d.ts.map +1 -0
  8. package/dist/providers/agent_provider.js +511 -0
  9. package/dist/providers/agent_provider.js.map +1 -0
  10. package/dist/src/actor-resolver.d.ts +41 -0
  11. package/dist/src/actor-resolver.d.ts.map +1 -0
  12. package/dist/src/agent-deps-factory.d.ts +59 -0
  13. package/dist/src/agent-deps-factory.d.ts.map +1 -0
  14. package/dist/src/agent-deps-factory.js +111 -0
  15. package/dist/src/agent-deps-factory.js.map +1 -0
  16. package/dist/src/agent-deps.d.ts +42 -0
  17. package/dist/src/agent-deps.d.ts.map +1 -0
  18. package/dist/src/agent-deps.js +5 -0
  19. package/dist/src/agent-deps.js.map +1 -0
  20. package/dist/src/agent-loop.d.ts +101 -0
  21. package/dist/src/agent-loop.d.ts.map +1 -0
  22. package/dist/src/agent-loop.js +396 -0
  23. package/dist/src/agent-loop.js.map +1 -0
  24. package/dist/src/agent-registry.d.ts +10 -0
  25. package/dist/src/agent-registry.d.ts.map +1 -0
  26. package/dist/src/agent-service.d.ts +50 -0
  27. package/dist/src/agent-service.d.ts.map +1 -0
  28. package/dist/src/agent-service.js +82 -0
  29. package/dist/src/agent-service.js.map +1 -0
  30. package/dist/src/ai-sdk/ai-sdk-model.d.ts +17 -0
  31. package/dist/src/ai-sdk/ai-sdk-model.d.ts.map +1 -0
  32. package/dist/src/ai-sdk/ai-sdk-model.js +263 -0
  33. package/dist/src/ai-sdk/ai-sdk-model.js.map +1 -0
  34. package/dist/src/ai-sdk/index.d.ts +2 -0
  35. package/dist/src/ai-sdk/index.d.ts.map +1 -0
  36. package/dist/src/ai-tool-ref.d.ts +79 -0
  37. package/dist/src/ai-tool-ref.d.ts.map +1 -0
  38. package/dist/src/ai-tool-ref.js +81 -0
  39. package/dist/src/ai-tool-ref.js.map +1 -0
  40. package/dist/src/authorizer.d.ts +18 -0
  41. package/dist/src/authorizer.d.ts.map +1 -0
  42. package/dist/src/authz/authz-tool-authorizer.d.ts +85 -0
  43. package/dist/src/authz/authz-tool-authorizer.d.ts.map +1 -0
  44. package/dist/src/authz/authz-tool-authorizer.js +63 -0
  45. package/dist/src/authz/authz-tool-authorizer.js.map +1 -0
  46. package/dist/src/authz/index.d.ts +3 -0
  47. package/dist/src/authz/index.d.ts.map +1 -0
  48. package/dist/src/authz/index.js +2 -0
  49. package/dist/src/authz/index.js.map +1 -0
  50. package/dist/src/data/data-tool.d.ts +64 -0
  51. package/dist/src/data/data-tool.d.ts.map +1 -0
  52. package/dist/src/data/data-tool.js +146 -0
  53. package/dist/src/data/data-tool.js.map +1 -0
  54. package/dist/src/data/index.d.ts +7 -0
  55. package/dist/src/data/index.d.ts.map +1 -0
  56. package/dist/src/data/index.js +7 -0
  57. package/dist/src/data/index.js.map +1 -0
  58. package/dist/src/data/limit.d.ts +12 -0
  59. package/dist/src/data/limit.d.ts.map +1 -0
  60. package/dist/src/data/limit.js +29 -0
  61. package/dist/src/data/limit.js.map +1 -0
  62. package/dist/src/data/parser.d.ts +27 -0
  63. package/dist/src/data/parser.d.ts.map +1 -0
  64. package/dist/src/data/parser.js +18 -0
  65. package/dist/src/data/parser.js.map +1 -0
  66. package/dist/src/data/sql-validator.d.ts +37 -0
  67. package/dist/src/data/sql-validator.d.ts.map +1 -0
  68. package/dist/src/data/sql-validator.js +92 -0
  69. package/dist/src/data/sql-validator.js.map +1 -0
  70. package/dist/src/data/table-access.d.ts +40 -0
  71. package/dist/src/data/table-access.d.ts.map +1 -0
  72. package/dist/src/data/table-access.js +41 -0
  73. package/dist/src/data/table-access.js.map +1 -0
  74. package/dist/src/data/tenant-scope.d.ts +39 -0
  75. package/dist/src/data/tenant-scope.d.ts.map +1 -0
  76. package/dist/src/data/tenant-scope.js +126 -0
  77. package/dist/src/data/tenant-scope.js.map +1 -0
  78. package/dist/src/define_config.d.ts +153 -0
  79. package/dist/src/define_config.d.ts.map +1 -0
  80. package/dist/src/define_config.js +7 -0
  81. package/dist/src/define_config.js.map +1 -0
  82. package/dist/src/diagnostics.d.ts +82 -0
  83. package/dist/src/diagnostics.d.ts.map +1 -0
  84. package/dist/src/diagnostics.js +50 -0
  85. package/dist/src/diagnostics.js.map +1 -0
  86. package/dist/src/durable/agent-run-context.d.ts +24 -0
  87. package/dist/src/durable/agent-run-context.d.ts.map +1 -0
  88. package/dist/src/durable/agent-run-context.js +17 -0
  89. package/dist/src/durable/agent-run-context.js.map +1 -0
  90. package/dist/src/durable/agent-run-workflow.d.ts +37 -0
  91. package/dist/src/durable/agent-run-workflow.d.ts.map +1 -0
  92. package/dist/src/durable/agent-run-workflow.js +128 -0
  93. package/dist/src/durable/agent-run-workflow.js.map +1 -0
  94. package/dist/src/durable/durable-agent-runner.d.ts +25 -0
  95. package/dist/src/durable/durable-agent-runner.d.ts.map +1 -0
  96. package/dist/src/durable/durable-agent-runner.js +59 -0
  97. package/dist/src/durable/durable-agent-runner.js.map +1 -0
  98. package/dist/src/durable/index.d.ts +17 -0
  99. package/dist/src/durable/index.d.ts.map +1 -0
  100. package/dist/src/durable/index.js +20 -0
  101. package/dist/src/durable/index.js.map +1 -0
  102. package/dist/src/index.d.ts +55 -0
  103. package/dist/src/index.d.ts.map +1 -0
  104. package/dist/src/index.js +45 -0
  105. package/dist/src/index.js.map +1 -0
  106. package/dist/src/personas.d.ts +7 -0
  107. package/dist/src/personas.d.ts.map +1 -0
  108. package/dist/src/rag/chunk.d.ts +14 -0
  109. package/dist/src/rag/chunk.d.ts.map +1 -0
  110. package/dist/src/rag/chunk.js +42 -0
  111. package/dist/src/rag/chunk.js.map +1 -0
  112. package/dist/src/rag/embedding-retriever.d.ts +15 -0
  113. package/dist/src/rag/embedding-retriever.d.ts.map +1 -0
  114. package/dist/src/rag/embedding-retriever.js +24 -0
  115. package/dist/src/rag/embedding-retriever.js.map +1 -0
  116. package/dist/src/rag/filter.d.ts +6 -0
  117. package/dist/src/rag/filter.d.ts.map +1 -0
  118. package/dist/src/rag/filter.js +11 -0
  119. package/dist/src/rag/filter.js.map +1 -0
  120. package/dist/src/rag/index.d.ts +8 -0
  121. package/dist/src/rag/index.d.ts.map +1 -0
  122. package/dist/src/rag/index.js +8 -0
  123. package/dist/src/rag/index.js.map +1 -0
  124. package/dist/src/rag/ingest.d.ts +33 -0
  125. package/dist/src/rag/ingest.d.ts.map +1 -0
  126. package/dist/src/rag/ingest.js +37 -0
  127. package/dist/src/rag/ingest.js.map +1 -0
  128. package/dist/src/rag/memory-vector-store.d.ts +16 -0
  129. package/dist/src/rag/memory-vector-store.d.ts.map +1 -0
  130. package/dist/src/rag/memory-vector-store.js +70 -0
  131. package/dist/src/rag/memory-vector-store.js.map +1 -0
  132. package/dist/src/rag/pg-vector-store.d.ts +84 -0
  133. package/dist/src/rag/pg-vector-store.d.ts.map +1 -0
  134. package/dist/src/rag/pg-vector-store.js +220 -0
  135. package/dist/src/rag/pg-vector-store.js.map +1 -0
  136. package/dist/src/rag/vector-store.d.ts +47 -0
  137. package/dist/src/rag/vector-store.d.ts.map +1 -0
  138. package/dist/src/rag/vector-store.js +5 -0
  139. package/dist/src/rag/vector-store.js.map +1 -0
  140. package/dist/src/rag-media/diagnostics.d.ts +43 -0
  141. package/dist/src/rag-media/diagnostics.d.ts.map +1 -0
  142. package/dist/src/rag-media/diagnostics.js +36 -0
  143. package/dist/src/rag-media/diagnostics.js.map +1 -0
  144. package/dist/src/rag-media/index.d.ts +5 -0
  145. package/dist/src/rag-media/index.d.ts.map +1 -0
  146. package/dist/src/rag-media/index.js +5 -0
  147. package/dist/src/rag-media/index.js.map +1 -0
  148. package/dist/src/rag-media/media-events.d.ts +23 -0
  149. package/dist/src/rag-media/media-events.d.ts.map +1 -0
  150. package/dist/src/rag-media/media-events.js +28 -0
  151. package/dist/src/rag-media/media-events.js.map +1 -0
  152. package/dist/src/rag-media/media-rag-ingestion.d.ts +155 -0
  153. package/dist/src/rag-media/media-rag-ingestion.d.ts.map +1 -0
  154. package/dist/src/rag-media/media-rag-ingestion.js +204 -0
  155. package/dist/src/rag-media/media-rag-ingestion.js.map +1 -0
  156. package/dist/src/rag-media/text-extractor.d.ts +46 -0
  157. package/dist/src/rag-media/text-extractor.d.ts.map +1 -0
  158. package/dist/src/rag-media/text-extractor.js +92 -0
  159. package/dist/src/rag-media/text-extractor.js.map +1 -0
  160. package/dist/src/redis-stream-client.d.ts +29 -0
  161. package/dist/src/redis-stream-client.d.ts.map +1 -0
  162. package/dist/src/redis-stream-client.js +2 -0
  163. package/dist/src/redis-stream-client.js.map +1 -0
  164. package/dist/src/redis-token-stream-sink.d.ts +36 -0
  165. package/dist/src/redis-token-stream-sink.d.ts.map +1 -0
  166. package/dist/src/redis-token-stream-sink.js +94 -0
  167. package/dist/src/redis-token-stream-sink.js.map +1 -0
  168. package/dist/src/runners/inline-agent-runner.d.ts +26 -0
  169. package/dist/src/runners/inline-agent-runner.d.ts.map +1 -0
  170. package/dist/src/runners/inline-agent-runner.js +85 -0
  171. package/dist/src/runners/inline-agent-runner.js.map +1 -0
  172. package/dist/src/spi/actor-directory.d.ts +23 -0
  173. package/dist/src/spi/actor-directory.d.ts.map +1 -0
  174. package/dist/src/spi/actor-directory.js +2 -0
  175. package/dist/src/spi/actor-directory.js.map +1 -0
  176. package/dist/src/spi/actor-resolver.d.ts +18 -0
  177. package/dist/src/spi/actor-resolver.d.ts.map +1 -0
  178. package/dist/src/spi/agent-runner.d.ts +20 -0
  179. package/dist/src/spi/agent-runner.d.ts.map +1 -0
  180. package/dist/src/spi/agent-store.d.ts +104 -0
  181. package/dist/src/spi/agent-store.d.ts.map +1 -0
  182. package/dist/src/spi/agent-store.js +2 -0
  183. package/dist/src/spi/agent-store.js.map +1 -0
  184. package/dist/src/spi/attachment-staging.d.ts +27 -0
  185. package/dist/src/spi/attachment-staging.d.ts.map +1 -0
  186. package/dist/src/spi/attachment-staging.js +2 -0
  187. package/dist/src/spi/attachment-staging.js.map +1 -0
  188. package/dist/src/spi/embedding-provider.d.ts +12 -0
  189. package/dist/src/spi/embedding-provider.d.ts.map +1 -0
  190. package/dist/src/spi/embedding-provider.js +2 -0
  191. package/dist/src/spi/embedding-provider.js.map +1 -0
  192. package/dist/src/spi/governance-queries.d.ts +215 -0
  193. package/dist/src/spi/governance-queries.d.ts.map +1 -0
  194. package/dist/src/spi/governance-queries.js +15 -0
  195. package/dist/src/spi/governance-queries.js.map +1 -0
  196. package/dist/src/spi/model-provider.d.ts +41 -0
  197. package/dist/src/spi/model-provider.d.ts.map +1 -0
  198. package/dist/src/spi/pricing-store.d.ts +45 -0
  199. package/dist/src/spi/pricing-store.d.ts.map +1 -0
  200. package/dist/src/spi/pricing-store.js +24 -0
  201. package/dist/src/spi/pricing-store.js.map +1 -0
  202. package/dist/src/spi/quota-store.d.ts +7 -0
  203. package/dist/src/spi/quota-store.d.ts.map +1 -0
  204. package/dist/src/spi/reranker.d.ts +17 -0
  205. package/dist/src/spi/reranker.d.ts.map +1 -0
  206. package/dist/src/spi/reranker.js +2 -0
  207. package/dist/src/spi/reranker.js.map +1 -0
  208. package/dist/src/spi/retriever.d.ts +28 -0
  209. package/dist/src/spi/retriever.d.ts.map +1 -0
  210. package/dist/src/spi/retriever.js +11 -0
  211. package/dist/src/spi/retriever.js.map +1 -0
  212. package/dist/src/spi/roles-policy.d.ts +11 -0
  213. package/dist/src/spi/roles-policy.d.ts.map +1 -0
  214. package/dist/src/spi/tool.d.ts +21 -0
  215. package/dist/src/spi/tool.d.ts.map +1 -0
  216. package/dist/src/stores/factory.d.ts +363 -0
  217. package/dist/src/stores/factory.d.ts.map +1 -0
  218. package/dist/src/stores/factory.js +341 -0
  219. package/dist/src/stores/factory.js.map +1 -0
  220. package/dist/src/stores/ledger-quota.d.ts +23 -0
  221. package/dist/src/stores/ledger-quota.d.ts.map +1 -0
  222. package/dist/src/stores/ledger-quota.js +32 -0
  223. package/dist/src/stores/ledger-quota.js.map +1 -0
  224. package/dist/src/stores/lucid-governance-queries.d.ts +73 -0
  225. package/dist/src/stores/lucid-governance-queries.d.ts.map +1 -0
  226. package/dist/src/stores/lucid-governance-queries.js +510 -0
  227. package/dist/src/stores/lucid-governance-queries.js.map +1 -0
  228. package/dist/src/stores/lucid-pricing.d.ts +20 -0
  229. package/dist/src/stores/lucid-pricing.d.ts.map +1 -0
  230. package/dist/src/stores/lucid-pricing.js +67 -0
  231. package/dist/src/stores/lucid-pricing.js.map +1 -0
  232. package/dist/src/stores/lucid-schema.d.ts +37 -0
  233. package/dist/src/stores/lucid-schema.d.ts.map +1 -0
  234. package/dist/src/stores/lucid-schema.js +139 -0
  235. package/dist/src/stores/lucid-schema.js.map +1 -0
  236. package/dist/src/stores/lucid.d.ts +73 -0
  237. package/dist/src/stores/lucid.d.ts.map +1 -0
  238. package/dist/src/stores/lucid.js +400 -0
  239. package/dist/src/stores/lucid.js.map +1 -0
  240. package/dist/src/telescope/dashboard.d.ts +21 -0
  241. package/dist/src/telescope/dashboard.d.ts.map +1 -0
  242. package/dist/src/telescope/dashboard.js +140 -0
  243. package/dist/src/telescope/dashboard.js.map +1 -0
  244. package/dist/src/telescope/data-providers.d.ts +39 -0
  245. package/dist/src/telescope/data-providers.d.ts.map +1 -0
  246. package/dist/src/telescope/data-providers.js +345 -0
  247. package/dist/src/telescope/data-providers.js.map +1 -0
  248. package/dist/src/telescope/extension.d.ts +27 -0
  249. package/dist/src/telescope/extension.d.ts.map +1 -0
  250. package/dist/src/telescope/extension.js +45 -0
  251. package/dist/src/telescope/extension.js.map +1 -0
  252. package/dist/src/telescope/index.d.ts +5 -0
  253. package/dist/src/telescope/index.d.ts.map +1 -0
  254. package/dist/src/telescope/index.js +4 -0
  255. package/dist/src/telescope/index.js.map +1 -0
  256. package/dist/src/telescope/telescope-sdk.d.ts +126 -0
  257. package/dist/src/telescope/telescope-sdk.d.ts.map +1 -0
  258. package/dist/src/telescope/telescope-sdk.js +15 -0
  259. package/dist/src/telescope/telescope-sdk.js.map +1 -0
  260. package/dist/src/testing/fake-embedding-provider.d.ts +37 -0
  261. package/dist/src/testing/fake-embedding-provider.d.ts.map +1 -0
  262. package/dist/src/testing/fake-embedding-provider.js +67 -0
  263. package/dist/src/testing/fake-embedding-provider.js.map +1 -0
  264. package/dist/src/testing/fake-media.d.ts +44 -0
  265. package/dist/src/testing/fake-media.d.ts.map +1 -0
  266. package/dist/src/testing/fake-media.js +69 -0
  267. package/dist/src/testing/fake-media.js.map +1 -0
  268. package/dist/src/testing/fake-model-provider.d.ts +29 -0
  269. package/dist/src/testing/fake-model-provider.d.ts.map +1 -0
  270. package/dist/src/testing/in-memory-actor-directory.d.ts +14 -0
  271. package/dist/src/testing/in-memory-actor-directory.d.ts.map +1 -0
  272. package/dist/src/testing/in-memory-actor-directory.js +27 -0
  273. package/dist/src/testing/in-memory-actor-directory.js.map +1 -0
  274. package/dist/src/testing/in-memory-attachment-staging.d.ts +22 -0
  275. package/dist/src/testing/in-memory-attachment-staging.d.ts.map +1 -0
  276. package/dist/src/testing/in-memory-attachment-staging.js +28 -0
  277. package/dist/src/testing/in-memory-attachment-staging.js.map +1 -0
  278. package/dist/src/testing/in-memory-governance-queries.d.ts +34 -0
  279. package/dist/src/testing/in-memory-governance-queries.d.ts.map +1 -0
  280. package/dist/src/testing/in-memory-governance-queries.js +373 -0
  281. package/dist/src/testing/in-memory-governance-queries.js.map +1 -0
  282. package/dist/src/testing/in-memory-pricing.d.ts +13 -0
  283. package/dist/src/testing/in-memory-pricing.d.ts.map +1 -0
  284. package/dist/src/testing/in-memory-pricing.js +27 -0
  285. package/dist/src/testing/in-memory-pricing.js.map +1 -0
  286. package/dist/src/testing/in-memory-quota.d.ts +11 -0
  287. package/dist/src/testing/in-memory-quota.d.ts.map +1 -0
  288. package/dist/src/testing/in-memory-sink.d.ts +14 -0
  289. package/dist/src/testing/in-memory-sink.d.ts.map +1 -0
  290. package/dist/src/testing/in-memory-store.d.ts +119 -0
  291. package/dist/src/testing/in-memory-store.d.ts.map +1 -0
  292. package/dist/src/testing/in-memory-store.js +317 -0
  293. package/dist/src/testing/in-memory-store.js.map +1 -0
  294. package/dist/src/testing/index.d.ts +11 -0
  295. package/dist/src/testing/index.d.ts.map +1 -0
  296. package/dist/src/testing/index.js +11 -0
  297. package/dist/src/testing/index.js.map +1 -0
  298. package/dist/src/tool-discovery.d.ts +35 -0
  299. package/dist/src/tool-discovery.d.ts.map +1 -0
  300. package/dist/src/tool-registry.d.ts +45 -0
  301. package/dist/src/tool-registry.d.ts.map +1 -0
  302. package/dist/src/tool-retry.d.ts +56 -0
  303. package/dist/src/tool-retry.d.ts.map +1 -0
  304. package/dist/src/tool-retry.js +95 -0
  305. package/dist/src/tool-retry.js.map +1 -0
  306. package/dist/src/types.d.ts +222 -0
  307. package/dist/src/types.d.ts.map +1 -0
  308. package/dist/src/types.js +2 -0
  309. package/dist/src/types.js.map +1 -0
  310. package/dist/stubs/config/agent.stub +55 -0
  311. package/dist/stubs/database/migrations/create_agent_rag_chunks.stub +41 -0
  312. package/dist/stubs/database/migrations/create_agent_run_tracking.stub +80 -0
  313. package/dist/stubs/database/migrations/create_agent_tables.stub +113 -0
  314. package/package.json +174 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent_provider.js","sourceRoot":"","sources":["../../providers/agent_provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { ActorResolver } from './spi/actor-resolver.js';
2
+ import type { Actor } from './types.js';
3
+ /**
4
+ * The default {@link ActorResolver} the provider installs when `config/agent.ts` sets no
5
+ * `actorResolver`. It throws on every request rather than inventing an identity — security by
6
+ * default. Wire a real resolver (e.g. {@link AuthActorResolver}) or the opt-in
7
+ * {@link HeaderActorResolver} via `defineConfig({ actorResolver })`.
8
+ */
9
+ export declare class UnconfiguredActorResolver implements ActorResolver {
10
+ resolve(): Actor;
11
+ }
12
+ /**
13
+ * A development / gateway {@link ActorResolver} that trusts request headers:
14
+ * `x-actor-id` (required), `x-actor-role` (comma-separated → `roles`), `x-tenant-ref`.
15
+ *
16
+ * **Security:** it throws when `x-actor-id` is absent — it never fabricates an identity and never
17
+ * grants a default role (an actor with no `x-actor-role` gets `roles: []`, i.e. no tools). Trusting
18
+ * client headers is only safe behind a gateway that strips and re-sets them from an authenticated
19
+ * principal. Real deployments should provide their own resolver (or {@link AuthActorResolver}) that
20
+ * reads a verified session/JWT instead.
21
+ */
22
+ export declare class HeaderActorResolver implements ActorResolver {
23
+ resolve(ctx: unknown): Actor;
24
+ }
25
+ /** Options for {@link AuthActorResolver}. */
26
+ export interface AuthActorResolverOptions {
27
+ /** Map the authenticated user to an {@link Actor}. Defaults to reading `id`/`roles`/`tenantRef`. */
28
+ toActor?: (user: unknown) => Actor;
29
+ }
30
+ /**
31
+ * Reads Adonis's authenticated principal (`ctx.auth.user`, populated by `@adonisjs/auth`) into an
32
+ * {@link Actor}. Fail-closed: throws when no user is authenticated rather than fabricating one. Pass
33
+ * a `toActor` mapper when your user model doesn't expose `id`/`roles`/`tenantRef` directly (e.g. to
34
+ * pull roles from a relation). This is the resolver most apps wire in `config/agent.ts`.
35
+ */
36
+ export declare class AuthActorResolver implements ActorResolver {
37
+ private readonly options;
38
+ constructor(options?: AuthActorResolverOptions);
39
+ resolve(ctx: unknown): Actor;
40
+ }
41
+ //# sourceMappingURL=actor-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actor-resolver.d.ts","sourceRoot":"","sources":["../../src/actor-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;GAKG;AACH,qBAAa,yBAA0B,YAAW,aAAa;IAC7D,OAAO,IAAI,KAAK;CAQjB;AASD;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK;CAoB7B;AASD,6CAA6C;AAC7C,MAAM,WAAW,wBAAwB;IACvC,oGAAoG;IACpG,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,CAAC;CACpC;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,wBAA6B;IAEnE,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK;CAyB7B"}
@@ -0,0 +1,59 @@
1
+ import type { AgentDeps } from './agent-deps.js';
2
+ import type { AgentRegistry } from './agent-registry.js';
3
+ import type { AgentStore } from './spi/agent-store.js';
4
+ import type { ModelProvider } from './spi/model-provider.js';
5
+ import type { AgentPricingStore } from './spi/pricing-store.js';
6
+ import type { QuotaStore } from './spi/quota-store.js';
7
+ import type { Retriever } from './spi/retriever.js';
8
+ import type { RolesPolicy } from './spi/roles-policy.js';
9
+ import type { TokenStreamSink } from './spi/token-stream-sink.js';
10
+ import type { ToolRegistry } from './tool-registry.js';
11
+ import type { ToolTransientRetrySetting } from './tool-retry.js';
12
+ /** The synthesized `agent`-kind tool name an orchestrator uses to delegate to `target`. */
13
+ export declare function delegateToolName(target: string): string;
14
+ /**
15
+ * Synthesize an `agent`-kind delegate tool for each `agent→agent` edge declared via `delegatesTo`, so
16
+ * an orchestrator can call `ask_<target>({ task })` to hand work to another registered agent. The loop
17
+ * handles delegation itself (never the handler), so the handler is a no-op. Skips names already taken.
18
+ * Returns the number of delegate tools registered.
19
+ */
20
+ export declare function registerDelegateTools(registry: ToolRegistry, agents: AgentRegistry): number;
21
+ /** The shared infrastructure the factory hands to every per-agent deps bundle. */
22
+ export interface AgentDepsFactoryConfig {
23
+ model: ModelProvider;
24
+ store: AgentStore;
25
+ sink: TokenStreamSink;
26
+ rolesPolicy: RolesPolicy;
27
+ registry: ToolRegistry;
28
+ agents: AgentRegistry;
29
+ quota?: QuotaStore;
30
+ /** Shared pricing store so every agent's turns are priced from one table. Omit → cost stays `null`. */
31
+ pricingStore?: AgentPricingStore;
32
+ /**
33
+ * Shared inject-mode retriever. When set, every agent's loop retrieves passages for the user message
34
+ * and folds them into its system prompt (replay-safe under durable). Omit → no injection.
35
+ */
36
+ retriever?: Retriever;
37
+ /** How many passages inject-mode retrieval requests. Undefined → 5. */
38
+ retrievalTopK?: number;
39
+ /**
40
+ * Shared in-place transient-retry policy applied to every agent's tool invocations (DB deadlock /
41
+ * lock-wait timeout / serialization failure). Undefined → the loop default; `false` disables it.
42
+ */
43
+ toolTransientRetry?: ToolTransientRetrySetting;
44
+ /** Name of the implicit default agent. Defaults to `'default'`. */
45
+ defaultAgentName?: string;
46
+ }
47
+ /**
48
+ * Builds the per-agent {@link AgentDeps} the runner feeds `runAgentLoop`. The single-agent case is
49
+ * just the `default` definition; a named agent (registered in the {@link AgentRegistry}) supplies its
50
+ * own prompt, personas, tool allow-list and step budget. Model/store/sink/roles are shared.
51
+ */
52
+ export declare class AgentDepsFactory {
53
+ private readonly config;
54
+ constructor(config: AgentDepsFactoryConfig);
55
+ defaultAgentName(): string;
56
+ private effectiveTools;
57
+ forAgent(agentName?: string): AgentDeps;
58
+ }
59
+ //# sourceMappingURL=agent-deps-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-deps-factory.d.ts","sourceRoot":"","sources":["../../src/agent-deps-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAGjE,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAwBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,CA2B3F;AAED,kFAAkF;AAClF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,uGAAuG;IACvG,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAC/C,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,sBAAsB;IAE3D,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,cAAc;IAWtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;CA+BxC"}
@@ -0,0 +1,111 @@
1
+ /** The synthesized `agent`-kind tool name an orchestrator uses to delegate to `target`. */
2
+ export function delegateToolName(target) {
3
+ return `ask_${target.replace(/[^a-zA-Z0-9]+/g, '_')}`;
4
+ }
5
+ /**
6
+ * The `{ task: string }` input a delegate (`agent`-kind) tool takes, as a zero-dependency Standard
7
+ * Schema so synthesizing delegate tools never pulls in `zod` (an optional peer). The loop validates
8
+ * against it before delegating.
9
+ */
10
+ const delegateInputSchema = {
11
+ '~standard': {
12
+ version: 1,
13
+ vendor: '@adonis-agora/agent',
14
+ validate: (value) => {
15
+ if (typeof value === 'object' &&
16
+ value !== null &&
17
+ typeof value.task === 'string') {
18
+ return { value: { task: value.task } };
19
+ }
20
+ return { issues: [{ message: 'expected { task: string }' }] };
21
+ },
22
+ },
23
+ };
24
+ /**
25
+ * Synthesize an `agent`-kind delegate tool for each `agent→agent` edge declared via `delegatesTo`, so
26
+ * an orchestrator can call `ask_<target>({ task })` to hand work to another registered agent. The loop
27
+ * handles delegation itself (never the handler), so the handler is a no-op. Skips names already taken.
28
+ * Returns the number of delegate tools registered.
29
+ */
30
+ export function registerDelegateTools(registry, agents) {
31
+ let count = 0;
32
+ for (const definition of agents.list()) {
33
+ for (const target of definition.delegatesTo ?? []) {
34
+ const name = delegateToolName(target);
35
+ if (registry.has(name))
36
+ continue;
37
+ const targetDefinition = agents.get(target);
38
+ // Only a flat string prompt is worth surfacing; a PromptBuilder is per-request source, so skip it.
39
+ const blurb = typeof targetDefinition?.systemPrompt === 'string'
40
+ ? ` It is: ${targetDefinition.systemPrompt}`
41
+ : '';
42
+ registry.register({
43
+ name,
44
+ kind: 'agent',
45
+ targetAgent: target,
46
+ description: `Delegate a task to the "${target}" agent and get its answer.${blurb}`,
47
+ inputSchema: delegateInputSchema,
48
+ },
49
+ // Loop-handled (kind 'agent'); the handler is never called.
50
+ { execute: async () => ({}) });
51
+ count += 1;
52
+ }
53
+ }
54
+ return count;
55
+ }
56
+ /**
57
+ * Builds the per-agent {@link AgentDeps} the runner feeds `runAgentLoop`. The single-agent case is
58
+ * just the `default` definition; a named agent (registered in the {@link AgentRegistry}) supplies its
59
+ * own prompt, personas, tool allow-list and step budget. Model/store/sink/roles are shared.
60
+ */
61
+ export class AgentDepsFactory {
62
+ config;
63
+ constructor(config) {
64
+ this.config = config;
65
+ }
66
+ defaultAgentName() {
67
+ return this.config.defaultAgentName ?? 'default';
68
+ }
69
+ effectiveTools(definition) {
70
+ if (definition === undefined) {
71
+ return undefined;
72
+ }
73
+ const delegated = (definition.delegatesTo ?? []).map(delegateToolName);
74
+ if (definition.tools === undefined && delegated.length === 0) {
75
+ return undefined; // no restriction
76
+ }
77
+ return [...(definition.tools ?? []), ...delegated];
78
+ }
79
+ forAgent(agentName) {
80
+ const name = agentName ?? this.defaultAgentName();
81
+ const definition = this.config.agents.get(name);
82
+ const personas = new Map();
83
+ for (const persona of definition?.personas ?? []) {
84
+ personas.set(persona.id, persona);
85
+ }
86
+ const toolAllowList = this.effectiveTools(definition);
87
+ return {
88
+ model: this.config.model,
89
+ store: this.config.store,
90
+ sink: this.config.sink,
91
+ rolesPolicy: this.config.rolesPolicy,
92
+ registry: this.config.registry,
93
+ systemPrompt: definition?.systemPrompt ?? 'You are a helpful assistant.',
94
+ maxSteps: definition?.maxSteps ?? 8,
95
+ personas,
96
+ defaultPersona: definition?.defaultPersona ?? 'default',
97
+ ...(definition?.modelId !== undefined ? { modelId: definition.modelId } : {}),
98
+ ...(this.config.quota !== undefined ? { quota: this.config.quota } : {}),
99
+ ...(this.config.pricingStore !== undefined ? { pricingStore: this.config.pricingStore } : {}),
100
+ ...(this.config.retriever !== undefined ? { retriever: this.config.retriever } : {}),
101
+ ...(this.config.retrievalTopK !== undefined
102
+ ? { retrievalTopK: this.config.retrievalTopK }
103
+ : {}),
104
+ ...(this.config.toolTransientRetry !== undefined
105
+ ? { toolTransientRetry: this.config.toolTransientRetry }
106
+ : {}),
107
+ ...(toolAllowList !== undefined ? { toolAllowList } : {}),
108
+ };
109
+ }
110
+ }
111
+ //# sourceMappingURL=agent-deps-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-deps-factory.js","sourceRoot":"","sources":["../../src/agent-deps-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { AgentStore } from './spi/agent-store.js';
2
+ import type { ModelProvider } from './spi/model-provider.js';
3
+ import type { AgentPricingStore } from './spi/pricing-store.js';
4
+ import type { QuotaStore } from './spi/quota-store.js';
5
+ import type { Retriever } from './spi/retriever.js';
6
+ import type { RolesPolicy } from './spi/roles-policy.js';
7
+ import type { TokenStreamSink } from './spi/token-stream-sink.js';
8
+ import type { ToolRegistry } from './tool-registry.js';
9
+ import type { ToolTransientRetrySetting } from './tool-retry.js';
10
+ import type { Persona, PromptBuilder } from './types.js';
11
+ /** Everything `runAgentLoop` needs, minus the per-run `day` the runner stamps. */
12
+ export interface AgentDeps {
13
+ model: ModelProvider;
14
+ store: AgentStore;
15
+ registry: ToolRegistry;
16
+ rolesPolicy: RolesPolicy;
17
+ quota?: QuotaStore;
18
+ /** Prices each turn's tokens into `usage.costUsd`. Omit → cost is always `null`. */
19
+ pricingStore?: AgentPricingStore;
20
+ sink: TokenStreamSink;
21
+ /** Fallback accounting label; the provider's turn result overrides it when set. */
22
+ modelId?: string;
23
+ systemPrompt: string | PromptBuilder;
24
+ maxSteps: number;
25
+ personas: Map<string, Persona>;
26
+ defaultPersona: string;
27
+ /** Agent-level tool allow-list (intersected with the persona's). Undefined → all tools. */
28
+ toolAllowList?: string[];
29
+ /** Inject-mode retriever: when set, the loop retrieves + folds context into the prompt each run. */
30
+ retriever?: Retriever;
31
+ /** How many passages inject-mode retrieval requests. Undefined → 5. */
32
+ retrievalTopK?: number;
33
+ /**
34
+ * In-place transient-retry policy for a tool's own invocation (DB deadlock / lock-wait timeout /
35
+ * serialization failure). Undefined → the loop's default (`{ attempts: 2, backoffMs: 150 }`);
36
+ * `false` disables it.
37
+ */
38
+ toolTransientRetry?: ToolTransientRetrySetting;
39
+ }
40
+ /** The UTC calendar day (`YYYY-MM-DD`) a run is accounted against — deterministic for quota/day. */
41
+ export declare function utcDay(date?: Date): string;
42
+ //# sourceMappingURL=agent-deps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-deps.d.ts","sourceRoot":"","sources":["../../src/agent-deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzD,kFAAkF;AAClF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,oFAAoF;IACpF,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,aAAa,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oGAAoG;IACpG,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAED,oGAAoG;AACpG,wBAAgB,MAAM,CAAC,IAAI,OAAa,GAAG,MAAM,CAEhD"}
@@ -0,0 +1,5 @@
1
+ /** The UTC calendar day (`YYYY-MM-DD`) a run is accounted against — deterministic for quota/day. */
2
+ export function utcDay(date = new Date()) {
3
+ return date.toISOString().slice(0, 10);
4
+ }
5
+ //# sourceMappingURL=agent-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-deps.js","sourceRoot":"","sources":["../../src/agent-deps.ts"],"names":[],"mappings":"AAyCA,oGAAoG;AACpG,MAAM,UAAU,MAAM,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;IACtC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,101 @@
1
+ import type { AgentStore } from './spi/agent-store.js';
2
+ import type { ModelProvider } from './spi/model-provider.js';
3
+ import { type AgentPricingStore } from './spi/pricing-store.js';
4
+ import type { QuotaStore } from './spi/quota-store.js';
5
+ import type { Retriever } from './spi/retriever.js';
6
+ import type { RolesPolicy } from './spi/roles-policy.js';
7
+ import type { SinkWriter } from './spi/token-stream-sink.js';
8
+ import type { AiToolCtx } from './spi/tool.js';
9
+ import type { ToolRegistry } from './tool-registry.js';
10
+ import { type ToolTransientRetrySetting } from './tool-retry.js';
11
+ import type { AgentRunInput, Decision, PromptBuilder, ToolCallRequest } from './types.js';
12
+ export interface AgentLoopDeps {
13
+ model: ModelProvider;
14
+ store: AgentStore;
15
+ registry: ToolRegistry;
16
+ rolesPolicy: RolesPolicy;
17
+ quota?: QuotaStore;
18
+ /**
19
+ * Prices each step's token usage into `usage.costUsd` on the persisted assistant message. The
20
+ * current price list is fetched ONCE per run (not per step) and reused for every step's estimate.
21
+ * Undefined → `costUsd` is always `null` (never a fabricated `0`). A provider-reported cost always
22
+ * wins over the estimate.
23
+ */
24
+ pricingStore?: AgentPricingStore;
25
+ /**
26
+ * Fallback accounting label when the provider's turn result doesn't report a `modelId`.
27
+ * Optional — a provider that reports its own model makes this unnecessary.
28
+ */
29
+ modelId?: string;
30
+ /** Pre-computed (YYYY-MM-DD) so the loop body stays deterministic under durable replay. */
31
+ day: string;
32
+ /** The agent's base prompt. A flat string, or a {@link PromptBuilder} resolved per turn. */
33
+ systemPrompt: string | PromptBuilder;
34
+ maxSteps?: number;
35
+ /** Optional host handle threaded to tool ctx (e.g. an ORM EntityManager). */
36
+ host?: unknown;
37
+ /** Agent-level tool allow-list (intersected with the persona's). Undefined → all tools. */
38
+ toolAllowList?: string[];
39
+ /**
40
+ * Enables always-on ("inject") RAG: before the turn, retrieve passages for the user message and fold
41
+ * them into the system prompt. Its presence IS inject mode (a retriever wired as a `read` tool for
42
+ * agentic retrieval sets nothing here). Retrieval runs inside `hooks.step` so durable replay reuses
43
+ * the same passages deterministically. Undefined → no injection (unchanged behavior).
44
+ */
45
+ retriever?: Retriever;
46
+ /** How many passages inject-mode retrieval requests. Undefined → 5. */
47
+ retrievalTopK?: number;
48
+ /**
49
+ * Retries a tool's own invocation, in place, when it throws a classified-transient error (a DB
50
+ * deadlock, a lock-wait timeout, a serialization failure — see {@link isTransientToolError}) —
51
+ * never a new durable step/checkpoint, just repeated attempts inside the same `tool:<call.id>` step
52
+ * body (so a durable replay reuses the memoized successful result and side effects run once).
53
+ * Default ON (`{ attempts: 2, backoffMs: 150 }` with the default classifier) when undefined; set
54
+ * `{ classify }` to widen/narrow which errors count as transient, or `false` to disable entirely. A
55
+ * tool's other (non-transient) failures are unaffected — they remain a one-shot business outcome.
56
+ */
57
+ toolTransientRetry?: ToolTransientRetrySetting;
58
+ }
59
+ export interface AgentLoopHooks {
60
+ runId: string;
61
+ /**
62
+ * True when this run executes as a replay-safe durable workflow, false/undefined for the inline
63
+ * runner. Recorded on the `agent_run` row so governance can tell durable runs apart.
64
+ */
65
+ durable?: boolean;
66
+ /** A writer for this run's live token stream (data plane). */
67
+ openSink(): SinkWriter | Promise<SinkWriter>;
68
+ /** HITL gate for an action tool. Inline resolves a pending promise; durable awaits a signal. */
69
+ awaitApproval(call: ToolCallRequest, ctx: AiToolCtx): Promise<Decision>;
70
+ /**
71
+ * Run another named agent and return its answer. Provided only when the host wired multi-agent
72
+ * support (durable → child workflow, inline → nested loop). Exposed to tools as `ctx.runAgent`.
73
+ */
74
+ runAgent?(agentName: string, task: string): Promise<{
75
+ text: string;
76
+ }>;
77
+ /**
78
+ * Checkpoint wrapper. Inline = call fn directly; durable = ctx.step(name, fn).
79
+ * EVERY side-effect and control-flow read goes through this so durable replay returns
80
+ * cached results (stable ids, no double-write, no re-streaming).
81
+ */
82
+ step<T>(name: string, fn: () => Promise<T>): Promise<T>;
83
+ /**
84
+ * Recognizes the runner's control-flow signals (durable suspend / continue-as-new) so the tool
85
+ * transient-retry loop never mistakes one for a retryable tool error. Provided only by the durable
86
+ * runner; the inline runner has no such notion and leaves it unset.
87
+ */
88
+ isControlFlowError?(error: unknown): boolean;
89
+ }
90
+ export declare class QuotaExceededError extends Error {
91
+ constructor();
92
+ }
93
+ /**
94
+ * The provider-agnostic agent turn, reused by both the inline and durable runners.
95
+ * It drives the model→tools→model iteration; the runner supplies the `step`/`awaitApproval`
96
+ * hooks that make the same loop body either in-process or a replay-safe durable workflow.
97
+ */
98
+ export declare function runAgentLoop(deps: AgentLoopDeps, input: AgentRunInput, hooks: AgentLoopHooks): Promise<{
99
+ text: string;
100
+ }>;
101
+ //# sourceMappingURL=agent-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../src/agent-loop.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,yBAAyB,EAA4B,MAAM,iBAAiB,CAAC;AAC3F,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EAGR,aAAa,EAEb,eAAe,EAEhB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,GAAG,EAAE,MAAM,CAAC;IACZ,4FAA4F;IAC5F,YAAY,EAAE,MAAM,GAAG,aAAa,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAyBD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,IAAI,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,gGAAgG;IAChG,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxE;;;OAGG;IACH,QAAQ,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxD;;;;OAIG;IACH,kBAAkB,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9C;AAED,qBAAa,kBAAmB,SAAQ,KAAK;;CAK5C;AAyDD;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAwX3B"}