@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.
- package/LICENSE +21 -0
- package/dist/configure.d.ts +18 -0
- package/dist/configure.d.ts.map +1 -0
- package/dist/configure.js +29 -0
- package/dist/configure.js.map +1 -0
- package/dist/providers/agent_provider.d.ts +25 -0
- package/dist/providers/agent_provider.d.ts.map +1 -0
- package/dist/providers/agent_provider.js +511 -0
- package/dist/providers/agent_provider.js.map +1 -0
- package/dist/src/actor-resolver.d.ts +41 -0
- package/dist/src/actor-resolver.d.ts.map +1 -0
- package/dist/src/agent-deps-factory.d.ts +59 -0
- package/dist/src/agent-deps-factory.d.ts.map +1 -0
- package/dist/src/agent-deps-factory.js +111 -0
- package/dist/src/agent-deps-factory.js.map +1 -0
- package/dist/src/agent-deps.d.ts +42 -0
- package/dist/src/agent-deps.d.ts.map +1 -0
- package/dist/src/agent-deps.js +5 -0
- package/dist/src/agent-deps.js.map +1 -0
- package/dist/src/agent-loop.d.ts +101 -0
- package/dist/src/agent-loop.d.ts.map +1 -0
- package/dist/src/agent-loop.js +396 -0
- package/dist/src/agent-loop.js.map +1 -0
- package/dist/src/agent-registry.d.ts +10 -0
- package/dist/src/agent-registry.d.ts.map +1 -0
- package/dist/src/agent-service.d.ts +50 -0
- package/dist/src/agent-service.d.ts.map +1 -0
- package/dist/src/agent-service.js +82 -0
- package/dist/src/agent-service.js.map +1 -0
- package/dist/src/ai-sdk/ai-sdk-model.d.ts +17 -0
- package/dist/src/ai-sdk/ai-sdk-model.d.ts.map +1 -0
- package/dist/src/ai-sdk/ai-sdk-model.js +263 -0
- package/dist/src/ai-sdk/ai-sdk-model.js.map +1 -0
- package/dist/src/ai-sdk/index.d.ts +2 -0
- package/dist/src/ai-sdk/index.d.ts.map +1 -0
- package/dist/src/ai-tool-ref.d.ts +79 -0
- package/dist/src/ai-tool-ref.d.ts.map +1 -0
- package/dist/src/ai-tool-ref.js +81 -0
- package/dist/src/ai-tool-ref.js.map +1 -0
- package/dist/src/authorizer.d.ts +18 -0
- package/dist/src/authorizer.d.ts.map +1 -0
- package/dist/src/authz/authz-tool-authorizer.d.ts +85 -0
- package/dist/src/authz/authz-tool-authorizer.d.ts.map +1 -0
- package/dist/src/authz/authz-tool-authorizer.js +63 -0
- package/dist/src/authz/authz-tool-authorizer.js.map +1 -0
- package/dist/src/authz/index.d.ts +3 -0
- package/dist/src/authz/index.d.ts.map +1 -0
- package/dist/src/authz/index.js +2 -0
- package/dist/src/authz/index.js.map +1 -0
- package/dist/src/data/data-tool.d.ts +64 -0
- package/dist/src/data/data-tool.d.ts.map +1 -0
- package/dist/src/data/data-tool.js +146 -0
- package/dist/src/data/data-tool.js.map +1 -0
- package/dist/src/data/index.d.ts +7 -0
- package/dist/src/data/index.d.ts.map +1 -0
- package/dist/src/data/index.js +7 -0
- package/dist/src/data/index.js.map +1 -0
- package/dist/src/data/limit.d.ts +12 -0
- package/dist/src/data/limit.d.ts.map +1 -0
- package/dist/src/data/limit.js +29 -0
- package/dist/src/data/limit.js.map +1 -0
- package/dist/src/data/parser.d.ts +27 -0
- package/dist/src/data/parser.d.ts.map +1 -0
- package/dist/src/data/parser.js +18 -0
- package/dist/src/data/parser.js.map +1 -0
- package/dist/src/data/sql-validator.d.ts +37 -0
- package/dist/src/data/sql-validator.d.ts.map +1 -0
- package/dist/src/data/sql-validator.js +92 -0
- package/dist/src/data/sql-validator.js.map +1 -0
- package/dist/src/data/table-access.d.ts +40 -0
- package/dist/src/data/table-access.d.ts.map +1 -0
- package/dist/src/data/table-access.js +41 -0
- package/dist/src/data/table-access.js.map +1 -0
- package/dist/src/data/tenant-scope.d.ts +39 -0
- package/dist/src/data/tenant-scope.d.ts.map +1 -0
- package/dist/src/data/tenant-scope.js +126 -0
- package/dist/src/data/tenant-scope.js.map +1 -0
- package/dist/src/define_config.d.ts +153 -0
- package/dist/src/define_config.d.ts.map +1 -0
- package/dist/src/define_config.js +7 -0
- package/dist/src/define_config.js.map +1 -0
- package/dist/src/diagnostics.d.ts +82 -0
- package/dist/src/diagnostics.d.ts.map +1 -0
- package/dist/src/diagnostics.js +50 -0
- package/dist/src/diagnostics.js.map +1 -0
- package/dist/src/durable/agent-run-context.d.ts +24 -0
- package/dist/src/durable/agent-run-context.d.ts.map +1 -0
- package/dist/src/durable/agent-run-context.js +17 -0
- package/dist/src/durable/agent-run-context.js.map +1 -0
- package/dist/src/durable/agent-run-workflow.d.ts +37 -0
- package/dist/src/durable/agent-run-workflow.d.ts.map +1 -0
- package/dist/src/durable/agent-run-workflow.js +128 -0
- package/dist/src/durable/agent-run-workflow.js.map +1 -0
- package/dist/src/durable/durable-agent-runner.d.ts +25 -0
- package/dist/src/durable/durable-agent-runner.d.ts.map +1 -0
- package/dist/src/durable/durable-agent-runner.js +59 -0
- package/dist/src/durable/durable-agent-runner.js.map +1 -0
- package/dist/src/durable/index.d.ts +17 -0
- package/dist/src/durable/index.d.ts.map +1 -0
- package/dist/src/durable/index.js +20 -0
- package/dist/src/durable/index.js.map +1 -0
- package/dist/src/index.d.ts +55 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +45 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/personas.d.ts +7 -0
- package/dist/src/personas.d.ts.map +1 -0
- package/dist/src/rag/chunk.d.ts +14 -0
- package/dist/src/rag/chunk.d.ts.map +1 -0
- package/dist/src/rag/chunk.js +42 -0
- package/dist/src/rag/chunk.js.map +1 -0
- package/dist/src/rag/embedding-retriever.d.ts +15 -0
- package/dist/src/rag/embedding-retriever.d.ts.map +1 -0
- package/dist/src/rag/embedding-retriever.js +24 -0
- package/dist/src/rag/embedding-retriever.js.map +1 -0
- package/dist/src/rag/filter.d.ts +6 -0
- package/dist/src/rag/filter.d.ts.map +1 -0
- package/dist/src/rag/filter.js +11 -0
- package/dist/src/rag/filter.js.map +1 -0
- package/dist/src/rag/index.d.ts +8 -0
- package/dist/src/rag/index.d.ts.map +1 -0
- package/dist/src/rag/index.js +8 -0
- package/dist/src/rag/index.js.map +1 -0
- package/dist/src/rag/ingest.d.ts +33 -0
- package/dist/src/rag/ingest.d.ts.map +1 -0
- package/dist/src/rag/ingest.js +37 -0
- package/dist/src/rag/ingest.js.map +1 -0
- package/dist/src/rag/memory-vector-store.d.ts +16 -0
- package/dist/src/rag/memory-vector-store.d.ts.map +1 -0
- package/dist/src/rag/memory-vector-store.js +70 -0
- package/dist/src/rag/memory-vector-store.js.map +1 -0
- package/dist/src/rag/pg-vector-store.d.ts +84 -0
- package/dist/src/rag/pg-vector-store.d.ts.map +1 -0
- package/dist/src/rag/pg-vector-store.js +220 -0
- package/dist/src/rag/pg-vector-store.js.map +1 -0
- package/dist/src/rag/vector-store.d.ts +47 -0
- package/dist/src/rag/vector-store.d.ts.map +1 -0
- package/dist/src/rag/vector-store.js +5 -0
- package/dist/src/rag/vector-store.js.map +1 -0
- package/dist/src/rag-media/diagnostics.d.ts +43 -0
- package/dist/src/rag-media/diagnostics.d.ts.map +1 -0
- package/dist/src/rag-media/diagnostics.js +36 -0
- package/dist/src/rag-media/diagnostics.js.map +1 -0
- package/dist/src/rag-media/index.d.ts +5 -0
- package/dist/src/rag-media/index.d.ts.map +1 -0
- package/dist/src/rag-media/index.js +5 -0
- package/dist/src/rag-media/index.js.map +1 -0
- package/dist/src/rag-media/media-events.d.ts +23 -0
- package/dist/src/rag-media/media-events.d.ts.map +1 -0
- package/dist/src/rag-media/media-events.js +28 -0
- package/dist/src/rag-media/media-events.js.map +1 -0
- package/dist/src/rag-media/media-rag-ingestion.d.ts +155 -0
- package/dist/src/rag-media/media-rag-ingestion.d.ts.map +1 -0
- package/dist/src/rag-media/media-rag-ingestion.js +204 -0
- package/dist/src/rag-media/media-rag-ingestion.js.map +1 -0
- package/dist/src/rag-media/text-extractor.d.ts +46 -0
- package/dist/src/rag-media/text-extractor.d.ts.map +1 -0
- package/dist/src/rag-media/text-extractor.js +92 -0
- package/dist/src/rag-media/text-extractor.js.map +1 -0
- package/dist/src/redis-stream-client.d.ts +29 -0
- package/dist/src/redis-stream-client.d.ts.map +1 -0
- package/dist/src/redis-stream-client.js +2 -0
- package/dist/src/redis-stream-client.js.map +1 -0
- package/dist/src/redis-token-stream-sink.d.ts +36 -0
- package/dist/src/redis-token-stream-sink.d.ts.map +1 -0
- package/dist/src/redis-token-stream-sink.js +94 -0
- package/dist/src/redis-token-stream-sink.js.map +1 -0
- package/dist/src/runners/inline-agent-runner.d.ts +26 -0
- package/dist/src/runners/inline-agent-runner.d.ts.map +1 -0
- package/dist/src/runners/inline-agent-runner.js +85 -0
- package/dist/src/runners/inline-agent-runner.js.map +1 -0
- package/dist/src/spi/actor-directory.d.ts +23 -0
- package/dist/src/spi/actor-directory.d.ts.map +1 -0
- package/dist/src/spi/actor-directory.js +2 -0
- package/dist/src/spi/actor-directory.js.map +1 -0
- package/dist/src/spi/actor-resolver.d.ts +18 -0
- package/dist/src/spi/actor-resolver.d.ts.map +1 -0
- package/dist/src/spi/agent-runner.d.ts +20 -0
- package/dist/src/spi/agent-runner.d.ts.map +1 -0
- package/dist/src/spi/agent-store.d.ts +104 -0
- package/dist/src/spi/agent-store.d.ts.map +1 -0
- package/dist/src/spi/agent-store.js +2 -0
- package/dist/src/spi/agent-store.js.map +1 -0
- package/dist/src/spi/attachment-staging.d.ts +27 -0
- package/dist/src/spi/attachment-staging.d.ts.map +1 -0
- package/dist/src/spi/attachment-staging.js +2 -0
- package/dist/src/spi/attachment-staging.js.map +1 -0
- package/dist/src/spi/embedding-provider.d.ts +12 -0
- package/dist/src/spi/embedding-provider.d.ts.map +1 -0
- package/dist/src/spi/embedding-provider.js +2 -0
- package/dist/src/spi/embedding-provider.js.map +1 -0
- package/dist/src/spi/governance-queries.d.ts +215 -0
- package/dist/src/spi/governance-queries.d.ts.map +1 -0
- package/dist/src/spi/governance-queries.js +15 -0
- package/dist/src/spi/governance-queries.js.map +1 -0
- package/dist/src/spi/model-provider.d.ts +41 -0
- package/dist/src/spi/model-provider.d.ts.map +1 -0
- package/dist/src/spi/pricing-store.d.ts +45 -0
- package/dist/src/spi/pricing-store.d.ts.map +1 -0
- package/dist/src/spi/pricing-store.js +24 -0
- package/dist/src/spi/pricing-store.js.map +1 -0
- package/dist/src/spi/quota-store.d.ts +7 -0
- package/dist/src/spi/quota-store.d.ts.map +1 -0
- package/dist/src/spi/reranker.d.ts +17 -0
- package/dist/src/spi/reranker.d.ts.map +1 -0
- package/dist/src/spi/reranker.js +2 -0
- package/dist/src/spi/reranker.js.map +1 -0
- package/dist/src/spi/retriever.d.ts +28 -0
- package/dist/src/spi/retriever.d.ts.map +1 -0
- package/dist/src/spi/retriever.js +11 -0
- package/dist/src/spi/retriever.js.map +1 -0
- package/dist/src/spi/roles-policy.d.ts +11 -0
- package/dist/src/spi/roles-policy.d.ts.map +1 -0
- package/dist/src/spi/tool.d.ts +21 -0
- package/dist/src/spi/tool.d.ts.map +1 -0
- package/dist/src/stores/factory.d.ts +363 -0
- package/dist/src/stores/factory.d.ts.map +1 -0
- package/dist/src/stores/factory.js +341 -0
- package/dist/src/stores/factory.js.map +1 -0
- package/dist/src/stores/ledger-quota.d.ts +23 -0
- package/dist/src/stores/ledger-quota.d.ts.map +1 -0
- package/dist/src/stores/ledger-quota.js +32 -0
- package/dist/src/stores/ledger-quota.js.map +1 -0
- package/dist/src/stores/lucid-governance-queries.d.ts +73 -0
- package/dist/src/stores/lucid-governance-queries.d.ts.map +1 -0
- package/dist/src/stores/lucid-governance-queries.js +510 -0
- package/dist/src/stores/lucid-governance-queries.js.map +1 -0
- package/dist/src/stores/lucid-pricing.d.ts +20 -0
- package/dist/src/stores/lucid-pricing.d.ts.map +1 -0
- package/dist/src/stores/lucid-pricing.js +67 -0
- package/dist/src/stores/lucid-pricing.js.map +1 -0
- package/dist/src/stores/lucid-schema.d.ts +37 -0
- package/dist/src/stores/lucid-schema.d.ts.map +1 -0
- package/dist/src/stores/lucid-schema.js +139 -0
- package/dist/src/stores/lucid-schema.js.map +1 -0
- package/dist/src/stores/lucid.d.ts +73 -0
- package/dist/src/stores/lucid.d.ts.map +1 -0
- package/dist/src/stores/lucid.js +400 -0
- package/dist/src/stores/lucid.js.map +1 -0
- package/dist/src/telescope/dashboard.d.ts +21 -0
- package/dist/src/telescope/dashboard.d.ts.map +1 -0
- package/dist/src/telescope/dashboard.js +140 -0
- package/dist/src/telescope/dashboard.js.map +1 -0
- package/dist/src/telescope/data-providers.d.ts +39 -0
- package/dist/src/telescope/data-providers.d.ts.map +1 -0
- package/dist/src/telescope/data-providers.js +345 -0
- package/dist/src/telescope/data-providers.js.map +1 -0
- package/dist/src/telescope/extension.d.ts +27 -0
- package/dist/src/telescope/extension.d.ts.map +1 -0
- package/dist/src/telescope/extension.js +45 -0
- package/dist/src/telescope/extension.js.map +1 -0
- package/dist/src/telescope/index.d.ts +5 -0
- package/dist/src/telescope/index.d.ts.map +1 -0
- package/dist/src/telescope/index.js +4 -0
- package/dist/src/telescope/index.js.map +1 -0
- package/dist/src/telescope/telescope-sdk.d.ts +126 -0
- package/dist/src/telescope/telescope-sdk.d.ts.map +1 -0
- package/dist/src/telescope/telescope-sdk.js +15 -0
- package/dist/src/telescope/telescope-sdk.js.map +1 -0
- package/dist/src/testing/fake-embedding-provider.d.ts +37 -0
- package/dist/src/testing/fake-embedding-provider.d.ts.map +1 -0
- package/dist/src/testing/fake-embedding-provider.js +67 -0
- package/dist/src/testing/fake-embedding-provider.js.map +1 -0
- package/dist/src/testing/fake-media.d.ts +44 -0
- package/dist/src/testing/fake-media.d.ts.map +1 -0
- package/dist/src/testing/fake-media.js +69 -0
- package/dist/src/testing/fake-media.js.map +1 -0
- package/dist/src/testing/fake-model-provider.d.ts +29 -0
- package/dist/src/testing/fake-model-provider.d.ts.map +1 -0
- package/dist/src/testing/in-memory-actor-directory.d.ts +14 -0
- package/dist/src/testing/in-memory-actor-directory.d.ts.map +1 -0
- package/dist/src/testing/in-memory-actor-directory.js +27 -0
- package/dist/src/testing/in-memory-actor-directory.js.map +1 -0
- package/dist/src/testing/in-memory-attachment-staging.d.ts +22 -0
- package/dist/src/testing/in-memory-attachment-staging.d.ts.map +1 -0
- package/dist/src/testing/in-memory-attachment-staging.js +28 -0
- package/dist/src/testing/in-memory-attachment-staging.js.map +1 -0
- package/dist/src/testing/in-memory-governance-queries.d.ts +34 -0
- package/dist/src/testing/in-memory-governance-queries.d.ts.map +1 -0
- package/dist/src/testing/in-memory-governance-queries.js +373 -0
- package/dist/src/testing/in-memory-governance-queries.js.map +1 -0
- package/dist/src/testing/in-memory-pricing.d.ts +13 -0
- package/dist/src/testing/in-memory-pricing.d.ts.map +1 -0
- package/dist/src/testing/in-memory-pricing.js +27 -0
- package/dist/src/testing/in-memory-pricing.js.map +1 -0
- package/dist/src/testing/in-memory-quota.d.ts +11 -0
- package/dist/src/testing/in-memory-quota.d.ts.map +1 -0
- package/dist/src/testing/in-memory-sink.d.ts +14 -0
- package/dist/src/testing/in-memory-sink.d.ts.map +1 -0
- package/dist/src/testing/in-memory-store.d.ts +119 -0
- package/dist/src/testing/in-memory-store.d.ts.map +1 -0
- package/dist/src/testing/in-memory-store.js +317 -0
- package/dist/src/testing/in-memory-store.js.map +1 -0
- package/dist/src/testing/index.d.ts +11 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/dist/src/testing/index.js +11 -0
- package/dist/src/testing/index.js.map +1 -0
- package/dist/src/tool-discovery.d.ts +35 -0
- package/dist/src/tool-discovery.d.ts.map +1 -0
- package/dist/src/tool-registry.d.ts +45 -0
- package/dist/src/tool-registry.d.ts.map +1 -0
- package/dist/src/tool-retry.d.ts +56 -0
- package/dist/src/tool-retry.d.ts.map +1 -0
- package/dist/src/tool-retry.js +95 -0
- package/dist/src/tool-retry.js.map +1 -0
- package/dist/src/types.d.ts +222 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/stubs/config/agent.stub +55 -0
- package/dist/stubs/database/migrations/create_agent_rag_chunks.stub +41 -0
- package/dist/stubs/database/migrations/create_agent_run_tracking.stub +80 -0
- package/dist/stubs/database/migrations/create_agent_tables.stub +113 -0
- 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":"AAcA,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,mBAAmB,GAAyD;IAChF,WAAW,EAAE;QACX,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE;YAC3B,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,EACtD,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAG,KAA0B,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/D,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,EAAE,CAAC;QAChE,CAAC;KACF;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAsB,EAAE,MAAqB;IACjF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACjC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5C,mGAAmG;YACnG,MAAM,KAAK,GACT,OAAO,gBAAgB,EAAE,YAAY,KAAK,QAAQ;gBAChD,CAAC,CAAC,WAAW,gBAAgB,CAAC,YAAY,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,QAAQ,CACf;gBACE,IAAI;gBACJ,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,MAAM;gBACnB,WAAW,EAAE,2BAA2B,MAAM,8BAA8B,KAAK,EAAE;gBACnF,WAAW,EAAE,mBAAmB;aACjC;YACD,4DAA4D;YAC5D,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAC9B,CAAC;YACF,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA6BD;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,MAA8B;QAA9B,WAAM,GAAN,MAAM,CAAwB;IAAG,CAAC;IAE/D,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,SAAS,CAAC;IACnD,CAAC;IAEO,cAAc,CAAC,UAAuC;QAC5D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvE,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO,SAAS,CAAC,CAAC,iBAAiB;QACrC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,SAAkB;QACzB,MAAM,IAAI,GAAG,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC5C,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;YACjD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,YAAY,EAAE,UAAU,EAAE,YAAY,IAAI,8BAA8B;YACxE,QAAQ,EAAE,UAAU,EAAE,QAAQ,IAAI,CAAC;YACnC,QAAQ;YACR,cAAc,EAAE,UAAU,EAAE,cAAc,IAAI,SAAS;YACvD,GAAG,CAAC,UAAU,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBAC9C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS;gBAC9C,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBACxD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -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 @@
|
|
|
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"}
|