@archmax-ai/harness 2.0.1 → 2.2.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/README.md +11 -1
- package/dist/assembly/compose.d.ts +11 -1
- package/dist/assembly/compose.js +29 -5
- package/dist/assembly/compose.js.map +1 -1
- package/dist/assembly/index.js +10 -2
- package/dist/assembly/index.js.map +1 -1
- package/dist/assembly/plain.js +9 -2
- package/dist/assembly/plain.js.map +1 -1
- package/dist/assembly/telemetry-middleware.d.ts +11 -0
- package/dist/assembly/telemetry-middleware.js +65 -0
- package/dist/assembly/telemetry-middleware.js.map +1 -0
- package/dist/authoring-skill/archmax-harness/references/backend-integration.md +20 -0
- package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +4 -0
- package/dist/core/events.d.ts +2 -0
- package/dist/core/events.js +4 -0
- package/dist/core/events.js.map +1 -1
- package/dist/core/file-operations.js +2 -1
- package/dist/core/file-operations.js.map +1 -1
- package/dist/core/state-listing.d.ts +14 -0
- package/dist/core/state-listing.js +23 -0
- package/dist/core/state-listing.js.map +1 -0
- package/dist/core/telemetry.d.ts +213 -0
- package/dist/core/telemetry.js +705 -0
- package/dist/core/telemetry.js.map +1 -0
- package/dist/core/workspace-router.d.ts +13 -1
- package/dist/core/workspace-router.js +34 -6
- package/dist/core/workspace-router.js.map +1 -1
- package/dist/core/workspace.d.ts +15 -0
- package/dist/core/workspace.js +28 -0
- package/dist/core/workspace.js.map +1 -1
- package/dist/env.js +92 -1
- package/dist/env.js.map +1 -1
- package/dist/kernel/kernel.d.ts +6 -0
- package/dist/kernel/kernel.js +55 -1
- package/dist/kernel/kernel.js.map +1 -1
- package/dist/machine/allow.d.ts +2 -0
- package/dist/machine/allow.js +11 -7
- package/dist/machine/allow.js.map +1 -1
- package/dist/machine/variables.d.ts +19 -2
- package/dist/machine/variables.js +47 -3
- package/dist/machine/variables.js.map +1 -1
- package/dist/sandbox/ptc-gateway.d.ts +7 -0
- package/dist/sandbox/ptc-gateway.js +51 -19
- package/dist/sandbox/ptc-gateway.js.map +1 -1
- package/dist/workflow/automated.d.ts +3 -0
- package/dist/workflow/automated.js +2 -0
- package/dist/workflow/automated.js.map +1 -1
- package/dist/workflow/control-tools.d.ts +5 -0
- package/dist/workflow/control-tools.js +15 -1
- package/dist/workflow/control-tools.js.map +1 -1
- package/dist/workflow/governance.d.ts +7 -1
- package/dist/workflow/governance.js +97 -34
- package/dist/workflow/governance.js.map +1 -1
- package/dist/workflow/grader-state.d.ts +5 -17
- package/dist/workflow/grader-state.js +85 -6
- package/dist/workflow/grader-state.js.map +1 -1
- package/dist/workflow/middleware.d.ts +3 -0
- package/dist/workflow/middleware.js +2 -0
- package/dist/workflow/middleware.js.map +1 -1
- package/dist/workflow/turn-runner.d.ts +12 -0
- package/dist/workflow/turn-runner.js +91 -16
- package/dist/workflow/turn-runner.js.map +1 -1
- package/package.json +8 -1
- package/skills/archmax-harness/references/backend-integration.md +20 -0
- package/skills/archmax-harness/references/workflow-schema.md +4 -0
|
@@ -1,13 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A grader state's run: an isolated grader subagent — its own model, its own
|
|
3
|
+
* prompt, its own messages — that judges the session and decides where it goes.
|
|
4
|
+
*
|
|
5
|
+
* Isolated in three ways. It reads the session only through its tools
|
|
6
|
+
* (`archmax_get_history` above all), and nothing it says enters the session's
|
|
7
|
+
* transcript. Its tokens are tagged `nostream`, so they never stream as the
|
|
8
|
+
* session's text. And it compiles with no checkpointer, so it writes nothing into
|
|
9
|
+
* the session's thread. What it decided reaches the session as the step
|
|
10
|
+
* recorder's decision, which the orchestrator (`automated.ts`) commits.
|
|
11
|
+
*
|
|
12
|
+
* Its tools are its state's surface, already governed by the PTC gateway on the
|
|
13
|
+
* `agent` origin; this module adds what a model's calls get on the agent's own
|
|
14
|
+
* path — `${{…}}` argument substitution, and a refused or failed call answered
|
|
15
|
+
* as an error the model can read rather than thrown — and ends the loop the
|
|
16
|
+
* moment a decision is recorded.
|
|
17
|
+
*/
|
|
18
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
1
19
|
import { HumanMessage, ToolMessage } from "@langchain/core/messages";
|
|
2
20
|
import { isCommand, isGraphBubbleUp } from "@langchain/langgraph";
|
|
21
|
+
import { context } from "@opentelemetry/api";
|
|
3
22
|
import { createAgent, createMiddleware, tool } from "langchain";
|
|
4
23
|
import { DEFAULT_RECURSION_LIMIT } from "../core/deepagents.js";
|
|
5
24
|
import { contentToString, isAiMessage } from "../core/messages.js";
|
|
25
|
+
import { Telemetry, toolOutcomeOf } from "../core/telemetry.js";
|
|
6
26
|
import { addSummaries, extractUsage, summarizeUsage } from "../core/usage.js";
|
|
7
27
|
import { ADVANCE_TOOL, GET_HISTORY_TOOL, RAISE_TOOL, isWorkflowToolName } from "../machine/tool-names.js";
|
|
8
28
|
import { resolveArguments } from "../machine/variables.js";
|
|
9
29
|
import { PtcGovernanceError } from "../sandbox/ptc-gateway.js";
|
|
10
|
-
import { unresolvedArgumentMessage } from "./control-tools.js";
|
|
30
|
+
import { UNRESOLVED_ARGUMENT_RULE, unresolvedArgumentMessage } from "./control-tools.js";
|
|
11
31
|
import { renderTransitions } from "./render-prompt.js";
|
|
12
32
|
import { blockedMessage } from "./tool-service.js";
|
|
13
33
|
/**
|
|
@@ -41,6 +61,11 @@ export function graderTask(machine, state) {
|
|
|
41
61
|
...renderTransitions(machine, state),
|
|
42
62
|
].join("\n\n");
|
|
43
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Whether a grader's call reached the gateway, which reports every call it
|
|
66
|
+
* sees; the grader's middleware reports the ones that never do.
|
|
67
|
+
*/
|
|
68
|
+
const gatewayReached = new AsyncLocalStorage();
|
|
44
69
|
/** The tag LangGraph's message stream skips: a grader's tokens are not the session's text. */
|
|
45
70
|
const NO_STREAM_TAG = "langsmith:nostream";
|
|
46
71
|
/** The text a tool's settled value reads as, for the grader's tool answer. */
|
|
@@ -69,7 +94,13 @@ function answerText(value) {
|
|
|
69
94
|
* the session's turn config, which the gateway supplies.
|
|
70
95
|
*/
|
|
71
96
|
function graderTool(governed) {
|
|
72
|
-
return tool(async (args) =>
|
|
97
|
+
return tool(async (args) => {
|
|
98
|
+
// The arguments passed the tool's schema: the call reaches the gateway, which reports it.
|
|
99
|
+
const probe = gatewayReached.getStore();
|
|
100
|
+
if (probe)
|
|
101
|
+
probe.reached = true;
|
|
102
|
+
return answerText(await governed.invoke(args));
|
|
103
|
+
}, {
|
|
73
104
|
name: governed.name,
|
|
74
105
|
description: governed.description,
|
|
75
106
|
schema: governed.schema,
|
|
@@ -82,12 +113,42 @@ function graderTool(governed) {
|
|
|
82
113
|
* turn is not the grader's failure: its abort propagates.
|
|
83
114
|
*/
|
|
84
115
|
export async function runGraderState(run) {
|
|
85
|
-
const { machine, emit, recorder, state } = run;
|
|
116
|
+
const { machine, emit, recorder, state, sessionId } = run;
|
|
86
117
|
const declared = machine.spec.states[state];
|
|
87
118
|
const timeoutMs = declared?.budget?.timeoutMs;
|
|
119
|
+
const telemetry = run.telemetry ?? new Telemetry();
|
|
88
120
|
let usage;
|
|
89
121
|
const middleware = createMiddleware({
|
|
90
122
|
name: "GraderMiddleware",
|
|
123
|
+
// Each of the grader's model calls is a span under its state's, priced as its `model-usage` event is.
|
|
124
|
+
wrapModelCall: async (request, handler) => {
|
|
125
|
+
const span = telemetry.modelCall({
|
|
126
|
+
sessionId,
|
|
127
|
+
state,
|
|
128
|
+
role: "grader",
|
|
129
|
+
model: run.model,
|
|
130
|
+
...(run.modelId ? { requestModel: run.modelId, pricingModel: run.modelId } : {}),
|
|
131
|
+
...(run.pricing ? { pricing: run.pricing } : {}),
|
|
132
|
+
});
|
|
133
|
+
// The call ends at the budget's expiry, whether or not the model honours the abort.
|
|
134
|
+
const onExpiry = () => span.expire();
|
|
135
|
+
expiry?.addEventListener("abort", onExpiry, { once: true });
|
|
136
|
+
try {
|
|
137
|
+
const answer = await context.with(span.context, () => handler(request));
|
|
138
|
+
span.settle(answer);
|
|
139
|
+
return answer;
|
|
140
|
+
}
|
|
141
|
+
catch (err) {
|
|
142
|
+
if (expiry?.aborted && !run.signal?.aborted)
|
|
143
|
+
span.expire();
|
|
144
|
+
else
|
|
145
|
+
span.fail(err);
|
|
146
|
+
throw err;
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
expiry?.removeEventListener("abort", onExpiry);
|
|
150
|
+
}
|
|
151
|
+
},
|
|
91
152
|
beforeModel: {
|
|
92
153
|
canJumpTo: ["end"],
|
|
93
154
|
hook: () => {
|
|
@@ -110,24 +171,39 @@ export async function runGraderState(run) {
|
|
|
110
171
|
usage = usage ? addSummaries(usage, summary) : summary;
|
|
111
172
|
return undefined;
|
|
112
173
|
},
|
|
174
|
+
// A call that reaches the gateway is reported there, under the id its events
|
|
175
|
+
// carry; one that never does — a name no tool has, an unresolved argument,
|
|
176
|
+
// arguments the tool's schema refuses — is reported here.
|
|
113
177
|
wrapToolCall: async (request, handler) => {
|
|
114
178
|
const name = request.toolCall.name;
|
|
115
179
|
const callId = request.toolCall.id ?? "";
|
|
180
|
+
const unknown = request.tool === undefined;
|
|
181
|
+
const report = (outcome, rule) => telemetry
|
|
182
|
+
.toolCall({ sessionId, state, tool: unknown ? "unknown" : name, callId, origin: "grader" })
|
|
183
|
+
.end(unknown ? "unknown" : outcome, rule);
|
|
116
184
|
let call = request;
|
|
117
185
|
// `${{…}}` resolves against the session's variables as this run sees them,
|
|
118
186
|
// exactly as the agent's own arguments do; a delegation's are its params.
|
|
119
187
|
if (!isWorkflowToolName(name)) {
|
|
120
188
|
const substituted = resolveArguments((request.toolCall.args ?? {}), recorder.store());
|
|
121
|
-
if (!substituted.ok)
|
|
189
|
+
if (!substituted.ok) {
|
|
190
|
+
report("blocked", UNRESOLVED_ARGUMENT_RULE);
|
|
122
191
|
return blockedMessage(name, callId, unresolvedArgumentMessage(substituted));
|
|
192
|
+
}
|
|
123
193
|
call = { ...request, toolCall: { ...request.toolCall, args: substituted.args } };
|
|
124
194
|
}
|
|
195
|
+
const probe = { reached: false };
|
|
125
196
|
try {
|
|
126
|
-
|
|
197
|
+
const answer = await gatewayReached.run(probe, () => handler(call));
|
|
198
|
+
if (!probe.reached)
|
|
199
|
+
report(toolOutcomeOf(answer));
|
|
200
|
+
return answer;
|
|
127
201
|
}
|
|
128
202
|
catch (err) {
|
|
129
203
|
if (isGraphBubbleUp(err) || run.signal?.aborted)
|
|
130
204
|
throw err;
|
|
205
|
+
if (!probe.reached)
|
|
206
|
+
report("error");
|
|
131
207
|
const cause = err?.cause ?? err;
|
|
132
208
|
const message = String(cause?.message ?? cause);
|
|
133
209
|
if (cause instanceof PtcGovernanceError)
|
|
@@ -144,7 +220,10 @@ export async function runGraderState(run) {
|
|
|
144
220
|
checkpointer: false,
|
|
145
221
|
name: `grader:${state}`,
|
|
146
222
|
});
|
|
147
|
-
|
|
223
|
+
// The time budget starts here, as the grader is invoked; the middleware above
|
|
224
|
+
// reads it during the run, when it is already set.
|
|
225
|
+
const expiry = timeoutMs != null ? AbortSignal.timeout(timeoutMs) : undefined;
|
|
226
|
+
const signals = [run.signal, expiry].filter((signal) => signal !== undefined);
|
|
148
227
|
const signal = signals.length > 1 ? AbortSignal.any(signals) : signals[0];
|
|
149
228
|
try {
|
|
150
229
|
await grader.invoke({ messages: [new HumanMessage(graderTask(machine, state))] }, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grader-state.js","sourceRoot":"","sources":["../../src/workflow/grader-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grader-state.js","sourceRoot":"","sources":["../../src/workflow/grader-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import type { GovernanceRule } from "../kernel/kernel.js";
|
|
|
13
13
|
import { type MountPrefixes } from "../core/mounts.js";
|
|
14
14
|
import type { SkillRegistry } from "../core/skills.js";
|
|
15
15
|
import { type PricingTable } from "../core/usage.js";
|
|
16
|
+
import type { Telemetry } from "../core/telemetry.js";
|
|
16
17
|
import { type PromptShaping, type StateModels } from "./governance.js";
|
|
17
18
|
export type { PromptShaping, StateModels } from "./governance.js";
|
|
18
19
|
export { resolveToolName } from "./governance.js";
|
|
@@ -71,6 +72,8 @@ export interface WorkflowMiddlewareOptions {
|
|
|
71
72
|
seededVariables?: VariableStore;
|
|
72
73
|
/** Token prices used to attach `costUsd` to usage events. */
|
|
73
74
|
pricing?: PricingTable;
|
|
75
|
+
/** Where the model-call and tool-call spans go: the assembly's telemetry. */
|
|
76
|
+
telemetry?: Telemetry;
|
|
74
77
|
/** The sessions are a sub-workflow's children: the control tools ask for no title. */
|
|
75
78
|
child?: boolean;
|
|
76
79
|
/**
|
|
@@ -77,6 +77,8 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
77
77
|
skills: opts.skills ?? new Map(),
|
|
78
78
|
shaping: opts.promptShaping ?? {},
|
|
79
79
|
...(opts.stateModels ? { stateModels: opts.stateModels } : {}),
|
|
80
|
+
...(pricing ? { pricing } : {}),
|
|
81
|
+
...(opts.telemetry ? { telemetry: opts.telemetry } : {}),
|
|
80
82
|
...(ptcGateway ? { ptcGateway } : {}),
|
|
81
83
|
...(subWorkflows ? { subWorkflows } : {}),
|
|
82
84
|
child: opts.child === true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/workflow/middleware.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/workflow/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import type { RunnableConfig } from "@langchain/core/runnables";
|
|
8
8
|
import type { WorkflowEventEmitter } from "../core/events.js";
|
|
9
9
|
import type { CompiledAgentGraph } from "../core/deepagents.js";
|
|
10
|
+
import type { Telemetry } from "../core/telemetry.js";
|
|
10
11
|
/** Drives one turn on a session: the graph's `invoke`/`stream`/`streamEvents`, session-bound. */
|
|
11
12
|
export interface TurnRunner {
|
|
12
13
|
invoke(input: unknown, config?: RunnableConfig): Promise<Record<string, unknown>>;
|
|
@@ -22,6 +23,16 @@ export interface TurnRunnerOptions {
|
|
|
22
23
|
bindSession: SessionBinder;
|
|
23
24
|
/** The state deltas are attributed to before the graph reports one. */
|
|
24
25
|
entryState: string;
|
|
26
|
+
/** Where the turn's span goes, and the workflow and state types it is named by. */
|
|
27
|
+
telemetry: TurnTelemetry;
|
|
28
|
+
}
|
|
29
|
+
/** What a turn's span is opened with: the assembly's telemetry, and how this composition names its turns. */
|
|
30
|
+
export interface TurnTelemetry {
|
|
31
|
+
telemetry: Telemetry;
|
|
32
|
+
/** The workflow slug; absent for a plain agent. */
|
|
33
|
+
workflow?: string;
|
|
34
|
+
/** A state's type, for a governed turn's state spans. */
|
|
35
|
+
stateType?: (slug: string) => string | undefined;
|
|
25
36
|
}
|
|
26
37
|
export declare function sessionIdOfConfig(config: RunnableConfig | undefined): string;
|
|
27
38
|
export declare function createTurnRunner(opts: TurnRunnerOptions): TurnRunner;
|
|
@@ -37,4 +48,5 @@ export declare function createTurnRunner(opts: TurnRunnerOptions): TurnRunner;
|
|
|
37
48
|
export declare function createPlainTurnRunner(opts: {
|
|
38
49
|
graph: CompiledAgentGraph;
|
|
39
50
|
bindSession: SessionBinder;
|
|
51
|
+
telemetry: TurnTelemetry;
|
|
40
52
|
}): TurnRunner;
|
|
@@ -1,23 +1,77 @@
|
|
|
1
|
-
import { GraphRecursionError, INTERRUPT } from "@langchain/langgraph";
|
|
1
|
+
import { Command, GraphRecursionError, INTERRUPT } from "@langchain/langgraph";
|
|
2
|
+
import { context } from "@opentelemetry/api";
|
|
2
3
|
import { contentToString, isAiMessage } from "../core/messages.js";
|
|
3
|
-
import { currentWorkflowState, WORKFLOW_STATUSES } from "./state.js";
|
|
4
|
+
import { currentWorkflowState, readWorkflowState, WORKFLOW_STATUSES } from "./state.js";
|
|
4
5
|
import { DEFAULT_SESSION_ID } from "../sessions/scope.js";
|
|
5
6
|
export function sessionIdOfConfig(config) {
|
|
6
7
|
const id = config?.configurable?.thread_id;
|
|
7
8
|
return typeof id === "string" && id ? id : DEFAULT_SESSION_ID;
|
|
8
9
|
}
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
/** The start of a turn's span: a resume (a decision, a reply, a delivery) is a command to the parked graph. */
|
|
11
|
+
function turnStart(turn, sessionId, input) {
|
|
12
|
+
return {
|
|
13
|
+
sessionId,
|
|
14
|
+
resume: input instanceof Command,
|
|
15
|
+
...(turn.workflow ? { workflow: turn.workflow } : {}),
|
|
16
|
+
...(turn.stateType ? { stateType: turn.stateType } : {}),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/** How a governed turn settled, from the session's values: its status and the state it is in. */
|
|
20
|
+
function settledFrom(values) {
|
|
21
|
+
const status = values?.status;
|
|
22
|
+
const state = readWorkflowState(values).workflowState;
|
|
23
|
+
return {
|
|
24
|
+
...(typeof status === "string" ? { status } : {}),
|
|
25
|
+
...(typeof state === "string" ? { state } : {}),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Bind every step of an async iterable to the session: `next()` runs in the
|
|
30
|
+
* caller's context, so the binding — the turn's span among it — is per step.
|
|
31
|
+
* The turn's span opens with the stream and ends when the iterator does: at its
|
|
32
|
+
* last step (settled from `settled`, read only when a provider records it), at
|
|
33
|
+
* a throw, or when the consumer stops reading.
|
|
34
|
+
*/
|
|
35
|
+
async function* boundIterable(sessionId, bind, open, turn) {
|
|
36
|
+
let handle;
|
|
37
|
+
const inTurn = (fn) => (handle ? context.with(handle.context, fn) : fn());
|
|
38
|
+
try {
|
|
39
|
+
const iterable = await bind(sessionId, () => {
|
|
40
|
+
handle = turn.telemetry.openTurn(turn.start);
|
|
41
|
+
return inTurn(open);
|
|
42
|
+
});
|
|
43
|
+
const iterator = iterable[Symbol.asyncIterator]();
|
|
44
|
+
for (;;) {
|
|
45
|
+
const step = await bind(sessionId, () => inTurn(() => iterator.next()));
|
|
46
|
+
if (step.done)
|
|
47
|
+
break;
|
|
48
|
+
yield step.value;
|
|
49
|
+
}
|
|
50
|
+
let settled = {};
|
|
51
|
+
if (handle?.recording && turn.settled) {
|
|
52
|
+
try {
|
|
53
|
+
settled = await bind(sessionId, turn.settled);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Reading how the turn ended is reporting, never the turn's failure.
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
handle?.end(settled);
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
handle?.fail(err);
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
65
|
+
finally {
|
|
66
|
+
// The consumer stopped reading: the turn's span ends where it did.
|
|
67
|
+
handle?.end();
|
|
17
68
|
}
|
|
18
69
|
}
|
|
19
70
|
export function createTurnRunner(opts) {
|
|
20
71
|
const { graph, emit, bindSession } = opts;
|
|
72
|
+
const { telemetry } = opts.telemetry;
|
|
73
|
+
/** The session's values after a streamed turn, for its span. */
|
|
74
|
+
const settledOf = (sessionId) => async () => settledFrom((await graph.getState({ configurable: { thread_id: sessionId } }))?.values);
|
|
21
75
|
/**
|
|
22
76
|
* Drive one turn via LangGraph streaming (`["values", "messages"]`): each AI
|
|
23
77
|
* chunk with text is an `agent-text-delta` attributed to the current state (a
|
|
@@ -114,13 +168,24 @@ export function createTurnRunner(opts) {
|
|
|
114
168
|
// `async`, so a refused session id is a rejection like every other failure of
|
|
115
169
|
// the call, never a synchronous throw out of `invoke`.
|
|
116
170
|
async invoke(input, config) {
|
|
117
|
-
|
|
171
|
+
const sessionId = sessionIdOfConfig(config);
|
|
172
|
+
return bindSession(sessionId, () => telemetry.turn(turnStart(opts.telemetry, sessionId, input), () => drive(input, config), settledFrom));
|
|
118
173
|
},
|
|
119
174
|
stream(input, config) {
|
|
120
|
-
|
|
175
|
+
const sessionId = sessionIdOfConfig(config);
|
|
176
|
+
return boundIterable(sessionId, bindSession, () => graph.stream(input, config), {
|
|
177
|
+
telemetry,
|
|
178
|
+
start: turnStart(opts.telemetry, sessionId, input),
|
|
179
|
+
settled: settledOf(sessionId),
|
|
180
|
+
});
|
|
121
181
|
},
|
|
122
182
|
streamEvents(input, config, options) {
|
|
123
|
-
|
|
183
|
+
const sessionId = sessionIdOfConfig(config);
|
|
184
|
+
return boundIterable(sessionId, bindSession, async () => graph.streamEvents(input, config, options), {
|
|
185
|
+
telemetry,
|
|
186
|
+
start: turnStart(opts.telemetry, sessionId, input),
|
|
187
|
+
settled: settledOf(sessionId),
|
|
188
|
+
});
|
|
124
189
|
},
|
|
125
190
|
};
|
|
126
191
|
}
|
|
@@ -135,15 +200,25 @@ export function createTurnRunner(opts) {
|
|
|
135
200
|
*/
|
|
136
201
|
export function createPlainTurnRunner(opts) {
|
|
137
202
|
const { graph, bindSession } = opts;
|
|
203
|
+
const { telemetry } = opts.telemetry;
|
|
138
204
|
return {
|
|
139
205
|
async invoke(input, config) {
|
|
140
|
-
|
|
206
|
+
const sessionId = sessionIdOfConfig(config);
|
|
207
|
+
return bindSession(sessionId, () => telemetry.turn(turnStart(opts.telemetry, sessionId, input), () => graph.invoke(input, config), () => ({})));
|
|
141
208
|
},
|
|
142
209
|
stream(input, config) {
|
|
143
|
-
|
|
210
|
+
const sessionId = sessionIdOfConfig(config);
|
|
211
|
+
return boundIterable(sessionId, bindSession, () => graph.stream(input, config), {
|
|
212
|
+
telemetry,
|
|
213
|
+
start: turnStart(opts.telemetry, sessionId, input),
|
|
214
|
+
});
|
|
144
215
|
},
|
|
145
216
|
streamEvents(input, config, options) {
|
|
146
|
-
|
|
217
|
+
const sessionId = sessionIdOfConfig(config);
|
|
218
|
+
return boundIterable(sessionId, bindSession, async () => graph.streamEvents(input, config, options), {
|
|
219
|
+
telemetry,
|
|
220
|
+
start: turnStart(opts.telemetry, sessionId, input),
|
|
221
|
+
});
|
|
147
222
|
},
|
|
148
223
|
};
|
|
149
224
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../src/workflow/turn-runner.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../src/workflow/turn-runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@archmax-ai/harness",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Agents can't reliably follow a process. archmax harness makes them: a governed layer over LangChain Deep Agents that enforces a declarative workflow state machine on every step.",
|
|
6
6
|
"keywords": [
|
|
@@ -107,6 +107,10 @@
|
|
|
107
107
|
},
|
|
108
108
|
"devDependencies": {
|
|
109
109
|
"@eslint/js": "^10.0.1",
|
|
110
|
+
"@opentelemetry/api": "^1.10.0",
|
|
111
|
+
"@opentelemetry/context-async-hooks": "^3.1.1",
|
|
112
|
+
"@opentelemetry/sdk-metrics": "^3.1.1",
|
|
113
|
+
"@opentelemetry/sdk-trace": "^3.1.1",
|
|
110
114
|
"@types/node": "^26.5.1",
|
|
111
115
|
"@types/picomatch": "^4.0.3",
|
|
112
116
|
"eslint": "^10.10.0",
|
|
@@ -116,5 +120,8 @@
|
|
|
116
120
|
"typescript": "^6.0.3",
|
|
117
121
|
"typescript-eslint": "^8.70.0",
|
|
118
122
|
"vitest": "^5.0.0"
|
|
123
|
+
},
|
|
124
|
+
"peerDependencies": {
|
|
125
|
+
"@opentelemetry/api": "^1.9.0"
|
|
119
126
|
}
|
|
120
127
|
}
|
|
@@ -12,6 +12,7 @@ export of the installed package. When in doubt, check its `dist/index.d.ts`.
|
|
|
12
12
|
- [Models](#models)
|
|
13
13
|
- [Outcomes and parked sessions](#outcomes-and-parked-sessions)
|
|
14
14
|
- [Events](#events)
|
|
15
|
+
- [Tracing](#tracing)
|
|
15
16
|
- [Sessions, storage and artifacts](#sessions-storage-and-artifacts)
|
|
16
17
|
- [Host tools that use the workspace](#host-tools-that-use-the-workspace)
|
|
17
18
|
- [Exposing a workflow to callers](#exposing-a-workflow-to-callers)
|
|
@@ -196,6 +197,25 @@ notes such as `[decision]`, `[event]`, `[error]`, `[grader]` and `[code]`. Tell
|
|
|
196
197
|
apart with `isRuntimeNote(message)` and `runtimeNoteKind(message)`, never by role or by
|
|
197
198
|
a bracket prefix.
|
|
198
199
|
|
|
200
|
+
## Tracing
|
|
201
|
+
|
|
202
|
+
The runtime reports OpenTelemetry spans and metrics through `@opentelemetry/api`, a peer
|
|
203
|
+
dependency. Register an SDK in the host (`new NodeSDK({ traceExporter }).start()`) before the
|
|
204
|
+
first turn; there is nothing to pass to `createAgent`, and without an SDK nothing is recorded.
|
|
205
|
+
|
|
206
|
+
| Span | One per | Under |
|
|
207
|
+
| --- | --- | --- |
|
|
208
|
+
| `invoke_agent <workflow>` | Turn: a message, `decide`, `reply`, `deliver`, a child session's turn | The host's active span |
|
|
209
|
+
| `state <slug>` | Visit to a state, automated states included | The turn |
|
|
210
|
+
| `chat <model>` | Model call, a grader's included; tokens and cost as `gen_ai.usage.*` | Its state |
|
|
211
|
+
| `execute_tool <tool>` | Tool call by the agent, a grader or a script; `archmax.tool.outcome`, `archmax.tool.rule` on a block | Its state, or the `archmax_eval` call a script made it in |
|
|
212
|
+
|
|
213
|
+
A child session's turn sits under the `execute_tool archmax_workflow_<slug>` span that dispatched
|
|
214
|
+
it. `gen_ai.conversation.id` is the session id and `gen_ai.tool.call.id` the events' `callId`, so
|
|
215
|
+
spans join to events. Spans carry metadata only, never messages, arguments, results, variable
|
|
216
|
+
values or error text. The guide lists every attribute:
|
|
217
|
+
<https://harness.archmax.ai/guides/telemetry/>.
|
|
218
|
+
|
|
199
219
|
## Sessions, storage and artifacts
|
|
200
220
|
|
|
201
221
|
- **Sessions** are durable by default, under `<rootDir>/sessions/<id>/`.
|
|
@@ -423,6 +423,10 @@ block one. What a type withholds, no grant can give.
|
|
|
423
423
|
|
|
424
424
|
- A path argument (a tool's declared paths, else `file_path`) is canonicalized before it
|
|
425
425
|
is matched. Any other argument, such as a URL or an address, is matched as written.
|
|
426
|
+
- A path with a backslash, a control character or a space at either end of a segment is
|
|
427
|
+
refused. So is one starting with the session's own id.
|
|
428
|
+
- A variable filling whole segments of a path guard (`${{dir}}/**`) must name a path. An
|
|
429
|
+
empty value, `.` or `/` is refused.
|
|
426
430
|
- `*` never crosses `/`; `**` does. Globs match dot-files, so `secrets/**` covers
|
|
427
431
|
`secrets/.env`. `""` matches only an empty value.
|
|
428
432
|
- In an allow entry, `paths:` needs every path argument to match. In a forbid entry, one
|