@aid-framework/runtime 0.0.0 → 0.1.48
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 +201 -0
- package/README.md +183 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/agents/deep_agents.d.ts +78 -0
- package/dist/agents/deep_agents.d.ts.map +1 -0
- package/dist/agents/deep_agents.js +477 -0
- package/dist/agents/deep_agents.js.map +1 -0
- package/dist/agents/engine.d.ts +85 -0
- package/dist/agents/engine.d.ts.map +1 -0
- package/dist/agents/engine.js +129 -0
- package/dist/agents/engine.js.map +1 -0
- package/dist/agents/gateway_chat_model.d.ts +151 -0
- package/dist/agents/gateway_chat_model.d.ts.map +1 -0
- package/dist/agents/gateway_chat_model.js +350 -0
- package/dist/agents/gateway_chat_model.js.map +1 -0
- package/dist/agents/guardrail_middleware.d.ts +57 -0
- package/dist/agents/guardrail_middleware.d.ts.map +1 -0
- package/dist/agents/guardrail_middleware.js +85 -0
- package/dist/agents/guardrail_middleware.js.map +1 -0
- package/dist/agents/guardrails.d.ts +124 -0
- package/dist/agents/guardrails.d.ts.map +1 -0
- package/dist/agents/guardrails.js +336 -0
- package/dist/agents/guardrails.js.map +1 -0
- package/dist/agents/index.d.ts +15 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +15 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/ir.d.ts +144 -0
- package/dist/agents/ir.d.ts.map +1 -0
- package/dist/agents/ir.js +513 -0
- package/dist/agents/ir.js.map +1 -0
- package/dist/agents/loop.d.ts +145 -0
- package/dist/agents/loop.d.ts.map +1 -0
- package/dist/agents/loop.js +1025 -0
- package/dist/agents/loop.js.map +1 -0
- package/dist/agents/memory.d.ts +115 -0
- package/dist/agents/memory.d.ts.map +1 -0
- package/dist/agents/memory.js +258 -0
- package/dist/agents/memory.js.map +1 -0
- package/dist/agents/state.d.ts +137 -0
- package/dist/agents/state.d.ts.map +1 -0
- package/dist/agents/state.js +255 -0
- package/dist/agents/state.js.map +1 -0
- package/dist/concurrency.d.ts +36 -0
- package/dist/concurrency.d.ts.map +1 -0
- package/dist/concurrency.js +86 -0
- package/dist/concurrency.js.map +1 -0
- package/dist/control.d.ts +116 -0
- package/dist/control.d.ts.map +1 -0
- package/dist/control.js +281 -0
- package/dist/control.js.map +1 -0
- package/dist/cost.d.ts +95 -0
- package/dist/cost.d.ts.map +1 -0
- package/dist/cost.js +161 -0
- package/dist/cost.js.map +1 -0
- package/dist/errors.d.ts +213 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +316 -0
- package/dist/errors.js.map +1 -0
- package/dist/evals/dataset.d.ts +45 -0
- package/dist/evals/dataset.d.ts.map +1 -0
- package/dist/evals/dataset.js +147 -0
- package/dist/evals/dataset.js.map +1 -0
- package/dist/evals/gate.d.ts +236 -0
- package/dist/evals/gate.d.ts.map +1 -0
- package/dist/evals/gate.js +572 -0
- package/dist/evals/gate.js.map +1 -0
- package/dist/evals/metrics.d.ts +141 -0
- package/dist/evals/metrics.d.ts.map +1 -0
- package/dist/evals/metrics.js +364 -0
- package/dist/evals/metrics.js.map +1 -0
- package/dist/evals/predicate.d.ts +79 -0
- package/dist/evals/predicate.d.ts.map +1 -0
- package/dist/evals/predicate.js +178 -0
- package/dist/evals/predicate.js.map +1 -0
- package/dist/evals/runner.d.ts +94 -0
- package/dist/evals/runner.d.ts.map +1 -0
- package/dist/evals/runner.js +202 -0
- package/dist/evals/runner.js.map +1 -0
- package/dist/gateway.d.ts +118 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +250 -0
- package/dist/gateway.js.map +1 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/json.d.ts +44 -0
- package/dist/internal/json.d.ts.map +1 -0
- package/dist/internal/json.js +90 -0
- package/dist/internal/json.js.map +1 -0
- package/dist/internal/text.d.ts +17 -0
- package/dist/internal/text.d.ts.map +1 -0
- package/dist/internal/text.js +22 -0
- package/dist/internal/text.js.map +1 -0
- package/dist/pipeline.d.ts +80 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +159 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/policy.d.ts +52 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/policy.js +199 -0
- package/dist/policy.js.map +1 -0
- package/dist/prompts.d.ts +86 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +337 -0
- package/dist/prompts.js.map +1 -0
- package/dist/providers/base.d.ts +19 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +13 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/fake.d.ts +98 -0
- package/dist/providers/fake.d.ts.map +1 -0
- package/dist/providers/fake.js +181 -0
- package/dist/providers/fake.js.map +1 -0
- package/dist/providers/http.d.ts +62 -0
- package/dist/providers/http.d.ts.map +1 -0
- package/dist/providers/http.js +245 -0
- package/dist/providers/http.js.map +1 -0
- package/dist/retrieval/chunking.d.ts +88 -0
- package/dist/retrieval/chunking.d.ts.map +1 -0
- package/dist/retrieval/chunking.js +188 -0
- package/dist/retrieval/chunking.js.map +1 -0
- package/dist/retrieval/citations.d.ts +98 -0
- package/dist/retrieval/citations.d.ts.map +1 -0
- package/dist/retrieval/citations.js +134 -0
- package/dist/retrieval/citations.js.map +1 -0
- package/dist/retrieval/connectors.d.ts +74 -0
- package/dist/retrieval/connectors.d.ts.map +1 -0
- package/dist/retrieval/connectors.js +218 -0
- package/dist/retrieval/connectors.js.map +1 -0
- package/dist/retrieval/embedding.d.ts +116 -0
- package/dist/retrieval/embedding.d.ts.map +1 -0
- package/dist/retrieval/embedding.js +282 -0
- package/dist/retrieval/embedding.js.map +1 -0
- package/dist/retrieval/gate.d.ts +52 -0
- package/dist/retrieval/gate.d.ts.map +1 -0
- package/dist/retrieval/gate.js +91 -0
- package/dist/retrieval/gate.js.map +1 -0
- package/dist/retrieval/hybrid.d.ts +76 -0
- package/dist/retrieval/hybrid.d.ts.map +1 -0
- package/dist/retrieval/hybrid.js +150 -0
- package/dist/retrieval/hybrid.js.map +1 -0
- package/dist/retrieval/metrics.d.ts +126 -0
- package/dist/retrieval/metrics.d.ts.map +1 -0
- package/dist/retrieval/metrics.js +200 -0
- package/dist/retrieval/metrics.js.map +1 -0
- package/dist/retrieval/pgvector.d.ts +62 -0
- package/dist/retrieval/pgvector.d.ts.map +1 -0
- package/dist/retrieval/pgvector.js +262 -0
- package/dist/retrieval/pgvector.js.map +1 -0
- package/dist/retrieval/rerank.d.ts +61 -0
- package/dist/retrieval/rerank.d.ts.map +1 -0
- package/dist/retrieval/rerank.js +105 -0
- package/dist/retrieval/rerank.js.map +1 -0
- package/dist/retrieval/retriever.d.ts +125 -0
- package/dist/retrieval/retriever.d.ts.map +1 -0
- package/dist/retrieval/retriever.js +281 -0
- package/dist/retrieval/retriever.js.map +1 -0
- package/dist/retrieval/stores.d.ts +106 -0
- package/dist/retrieval/stores.d.ts.map +1 -0
- package/dist/retrieval/stores.js +142 -0
- package/dist/retrieval/stores.js.map +1 -0
- package/dist/retrieval/types.d.ts +314 -0
- package/dist/retrieval/types.d.ts.map +1 -0
- package/dist/retrieval/types.js +388 -0
- package/dist/retrieval/types.js.map +1 -0
- package/dist/steps.d.ts +156 -0
- package/dist/steps.d.ts.map +1 -0
- package/dist/steps.js +199 -0
- package/dist/steps.js.map +1 -0
- package/dist/structured.d.ts +91 -0
- package/dist/structured.d.ts.map +1 -0
- package/dist/structured.js +155 -0
- package/dist/structured.js.map +1 -0
- package/dist/tools.d.ts +100 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +201 -0
- package/dist/tools.js.map +1 -0
- package/dist/tracing.d.ts +104 -0
- package/dist/tracing.d.ts.map +1 -0
- package/dist/tracing.js +155 -0
- package/dist/tracing.js.map +1 -0
- package/dist/types.d.ts +240 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +357 -0
- package/dist/types.js.map +1 -0
- package/package.json +80 -14
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { ConcurrencyLimiter } from '../concurrency.js';
|
|
2
|
+
import { Budget, type CostLedger } from '../cost.js';
|
|
3
|
+
import { ModelGateway } from '../gateway.js';
|
|
4
|
+
import { Principal } from '../policy.js';
|
|
5
|
+
import type { Provider } from '../providers/base.js';
|
|
6
|
+
import { type Tool } from '../tools.js';
|
|
7
|
+
import { Message } from '../types.js';
|
|
8
|
+
import { type GuardrailRecord } from './guardrails.js';
|
|
9
|
+
import { type AgentDefinition, type RuntimeSpec } from './ir.js';
|
|
10
|
+
import { type MemoryStore, ThreadMemory } from './memory.js';
|
|
11
|
+
import { type AgentCheckpoint, type HumanDecision, RunResult, type RunStatus, type StepRecord } from './state.js';
|
|
12
|
+
/**
|
|
13
|
+
* The native agent engine: one loop, three ways to leave it.
|
|
14
|
+
*
|
|
15
|
+
* The loop is a model call, its tool calls, the observations, repeat -- until the model
|
|
16
|
+
* answers without a tool call, until `maxSteps` is spent, until a budget is crossed, or
|
|
17
|
+
* until a human is needed. It consumes a `RuntimeSpec` (the IR seam in `agents/ir`) and
|
|
18
|
+
* calls models through `ModelGateway`, so fallback, cost accounting, and tracing behave
|
|
19
|
+
* exactly as they do for a pipeline step.
|
|
20
|
+
*
|
|
21
|
+
* Two control edges, and the difference is not cosmetic:
|
|
22
|
+
*
|
|
23
|
+
* **transfer** -- IR `handoffs`. Control *moves*. The caller does not resume; the target
|
|
24
|
+
* owns the rest of the turn and its answer is the run's answer. The target inherits the
|
|
25
|
+
* conversation but not the caller's instructions: a system prompt belongs to an agent, not
|
|
26
|
+
* to a transcript. The runtime primitive is `transfer`, and it never returns to the caller.
|
|
27
|
+
*
|
|
28
|
+
* **delegate** -- IR `delegates` (Deep Agents `subagents`). Control is *lent*. The delegate
|
|
29
|
+
* gets an isolated context -- its own system prompt and the one message it was handed,
|
|
30
|
+
* nothing else -- and returns exactly one observation. The caller resumes, sees that
|
|
31
|
+
* observation as a tool result, and authors the final answer. The runtime primitive is
|
|
32
|
+
* `delegate`.
|
|
33
|
+
*
|
|
34
|
+
* So the observable difference is who produces the final answer, and whose transcript
|
|
35
|
+
* contains the other's messages: after a transfer the answer is the target's and the
|
|
36
|
+
* caller's steps are a prefix of the target's run; after a delegate the answer is the
|
|
37
|
+
* caller's and the delegate's transcript is a separate, closed conversation.
|
|
38
|
+
*
|
|
39
|
+
* Budgets are ratified decision D1: crossing one is a hard failure. An agent that declares
|
|
40
|
+
* `onBudgetExhausted: degrade` instead steps **one** rung down its declared alias ladder,
|
|
41
|
+
* **once**, and both the step record and the ledger show the cheaper alias. It is never a
|
|
42
|
+
* retry loop: a degraded frame that still does not fit fails.
|
|
43
|
+
*
|
|
44
|
+
* Span recording (`agent_span`, HITL and guardrail events) is not ported here: decision D-7
|
|
45
|
+
* defers agent-level tracing to the layer that also gives this runtime a tracer seam, and no
|
|
46
|
+
* conformance case observes a span. The observable behaviours the Python module records
|
|
47
|
+
* spans *for* -- status, steps, transfer target, degradation -- are all in `RunResult`.
|
|
48
|
+
*/
|
|
49
|
+
/** Namespacing for the control tools. A model cannot transfer by emitting prose. */
|
|
50
|
+
export declare const TRANSFER_PREFIX = "transfer_to_";
|
|
51
|
+
export declare const DELEGATE_PREFIX = "delegate_to_";
|
|
52
|
+
/** The one argument a control tool takes: what the other agent needs to know. */
|
|
53
|
+
export declare const CONTROL_ARGUMENT = "message";
|
|
54
|
+
/** A step record while the loop is still deciding what the step did. */
|
|
55
|
+
export type StepDraft = {
|
|
56
|
+
-readonly [K in keyof StepRecord]: StepRecord[K];
|
|
57
|
+
};
|
|
58
|
+
/** The memory context one agent turn resolved, and what it measured. */
|
|
59
|
+
export interface MemoryState {
|
|
60
|
+
thread: ThreadMemory | undefined;
|
|
61
|
+
context: string;
|
|
62
|
+
scopes: readonly string[];
|
|
63
|
+
entries: number;
|
|
64
|
+
tokens: number;
|
|
65
|
+
}
|
|
66
|
+
/** One agent's turn in progress: its own transcript, budget anchors, and steps. */
|
|
67
|
+
export interface Frame {
|
|
68
|
+
agent: AgentDefinition;
|
|
69
|
+
messages: Message[];
|
|
70
|
+
alias: string;
|
|
71
|
+
path: readonly string[];
|
|
72
|
+
step: number;
|
|
73
|
+
degraded: boolean;
|
|
74
|
+
memory: MemoryState;
|
|
75
|
+
memoryKey: string;
|
|
76
|
+
costAnchor: number;
|
|
77
|
+
tokenAnchor: number;
|
|
78
|
+
steps: StepDraft[];
|
|
79
|
+
resumedDecision: HumanDecision | undefined;
|
|
80
|
+
resumedChannel: string;
|
|
81
|
+
/**
|
|
82
|
+
* `input` runs once per frame, on the message the frame started from. A transferred
|
|
83
|
+
* target re-checks the conversation it inherited (its guardrails are its own), while a
|
|
84
|
+
* resumed frame does not: the checkpoint only exists because the input stage already ran.
|
|
85
|
+
*/
|
|
86
|
+
inputChecked: boolean;
|
|
87
|
+
guardrails: GuardrailRecord[];
|
|
88
|
+
}
|
|
89
|
+
/** What a frame decided, before the run's totals are stamped on it. */
|
|
90
|
+
export interface Outcome {
|
|
91
|
+
status: RunStatus;
|
|
92
|
+
agentId: string;
|
|
93
|
+
answer: string;
|
|
94
|
+
steps: readonly StepDraft[];
|
|
95
|
+
path: readonly string[];
|
|
96
|
+
checkpoint: AgentCheckpoint | undefined;
|
|
97
|
+
guardrails: readonly GuardrailRecord[];
|
|
98
|
+
}
|
|
99
|
+
export declare function outcomeOf(init: {
|
|
100
|
+
status: RunStatus;
|
|
101
|
+
agentId: string;
|
|
102
|
+
answer?: string;
|
|
103
|
+
steps: readonly StepDraft[];
|
|
104
|
+
path: readonly string[];
|
|
105
|
+
checkpoint?: AgentCheckpoint;
|
|
106
|
+
guardrails: readonly GuardrailRecord[];
|
|
107
|
+
}): Outcome;
|
|
108
|
+
/** Runs the IR's agents on the native engine. */
|
|
109
|
+
export declare class AgentRuntime {
|
|
110
|
+
#private;
|
|
111
|
+
constructor(spec: RuntimeSpec, gateway: ModelGateway, options?: {
|
|
112
|
+
readonly tools?: Iterable<Tool>;
|
|
113
|
+
readonly stores?: Readonly<Record<string, MemoryStore>> | ReadonlyMap<string, MemoryStore>;
|
|
114
|
+
readonly memoryStore?: MemoryStore;
|
|
115
|
+
readonly limiter?: ConcurrencyLimiter;
|
|
116
|
+
});
|
|
117
|
+
/**
|
|
118
|
+
* Build a runtime from an emitted IR document.
|
|
119
|
+
*
|
|
120
|
+
* The IR's `deployments[].concurrency` becomes one limiter shared by the gateway and the
|
|
121
|
+
* tool executor, so model calls, tool calls, and delegation all draw from the same budget
|
|
122
|
+
* rather than running two independent pools.
|
|
123
|
+
*/
|
|
124
|
+
static fromIr(document: Record<string, unknown>, options: {
|
|
125
|
+
readonly providers: Readonly<Record<string, Provider>>;
|
|
126
|
+
readonly tools?: Iterable<Tool>;
|
|
127
|
+
readonly stores?: Readonly<Record<string, MemoryStore>> | ReadonlyMap<string, MemoryStore>;
|
|
128
|
+
readonly memoryStore?: MemoryStore;
|
|
129
|
+
readonly ledger?: CostLedger;
|
|
130
|
+
readonly budget?: Budget;
|
|
131
|
+
}): AgentRuntime;
|
|
132
|
+
get spec(): RuntimeSpec;
|
|
133
|
+
get gateway(): ModelGateway;
|
|
134
|
+
/** Run `agentId` to a stop condition on one user message. */
|
|
135
|
+
run(agentId: string, text: string, options?: {
|
|
136
|
+
readonly principal?: Principal;
|
|
137
|
+
readonly memoryKey?: string;
|
|
138
|
+
readonly conversation?: readonly Message[];
|
|
139
|
+
}): Promise<RunResult>;
|
|
140
|
+
/** Continue a paused run from its checkpoint, with a human's answer. */
|
|
141
|
+
resume(checkpoint: AgentCheckpoint, decision: HumanDecision, options?: {
|
|
142
|
+
readonly principal?: Principal;
|
|
143
|
+
}): Promise<RunResult>;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=loop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"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"}
|