@archmax-ai/harness 0.0.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/README.md +219 -0
- package/dist/agent.d.ts +174 -0
- package/dist/agent.js +140 -0
- package/dist/agent.js.map +1 -0
- package/dist/assembly/compose.d.ts +170 -0
- package/dist/assembly/compose.js +391 -0
- package/dist/assembly/compose.js.map +1 -0
- package/dist/assembly/delegation-registry.d.ts +5 -0
- package/dist/assembly/delegation-registry.js +118 -0
- package/dist/assembly/delegation-registry.js.map +1 -0
- package/dist/assembly/index.d.ts +192 -0
- package/dist/assembly/index.js +265 -0
- package/dist/assembly/index.js.map +1 -0
- package/dist/assembly/plain.d.ts +7 -0
- package/dist/assembly/plain.js +41 -0
- package/dist/assembly/plain.js.map +1 -0
- package/dist/authoring-skill/archmax-harness/README.md +76 -0
- package/dist/authoring-skill/archmax-harness/SKILL.md +241 -0
- package/dist/authoring-skill/archmax-harness/references/backend-integration.md +626 -0
- package/dist/authoring-skill/archmax-harness/references/cases.md +41 -0
- package/dist/authoring-skill/archmax-harness/references/diagnostics.md +51 -0
- package/dist/authoring-skill/archmax-harness/references/hook-and-test-scripts.md +1070 -0
- package/dist/authoring-skill/archmax-harness/references/hooks-and-scripts.md +82 -0
- package/dist/authoring-skill/archmax-harness/references/wiring.md +101 -0
- package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +1631 -0
- package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +241 -0
- package/dist/behaviour/support.d.ts +232 -0
- package/dist/behaviour/support.js +339 -0
- package/dist/behaviour/support.js.map +1 -0
- package/dist/cli/banner.d.ts +11 -0
- package/dist/cli/banner.js +29 -0
- package/dist/cli/banner.js.map +1 -0
- package/dist/cli/bootstrap.d.ts +33 -0
- package/dist/cli/bootstrap.js +153 -0
- package/dist/cli/bootstrap.js.map +1 -0
- package/dist/cli/command.d.ts +39 -0
- package/dist/cli/command.js +97 -0
- package/dist/cli/command.js.map +1 -0
- package/dist/cli/state-flow.d.ts +46 -0
- package/dist/cli/state-flow.js +268 -0
- package/dist/cli/state-flow.js.map +1 -0
- package/dist/cli/style.d.ts +41 -0
- package/dist/cli/style.js +64 -0
- package/dist/cli/style.js.map +1 -0
- package/dist/cli/turn.d.ts +41 -0
- package/dist/cli/turn.js +161 -0
- package/dist/cli/turn.js.map +1 -0
- package/dist/cli.d.ts +10 -0
- package/dist/cli.js +426 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/code-description.d.ts +22 -0
- package/dist/core/code-description.js +38 -0
- package/dist/core/code-description.js.map +1 -0
- package/dist/core/deepagents.d.ts +183 -0
- package/dist/core/deepagents.js +128 -0
- package/dist/core/deepagents.js.map +1 -0
- package/dist/core/events.d.ts +350 -0
- package/dist/core/events.js +205 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/frontmatter.d.ts +15 -0
- package/dist/core/frontmatter.js +32 -0
- package/dist/core/frontmatter.js.map +1 -0
- package/dist/core/listing-redact.d.ts +37 -0
- package/dist/core/listing-redact.js +88 -0
- package/dist/core/listing-redact.js.map +1 -0
- package/dist/core/match.d.ts +26 -0
- package/dist/core/match.js +75 -0
- package/dist/core/match.js.map +1 -0
- package/dist/core/message-readers.d.ts +84 -0
- package/dist/core/message-readers.js +159 -0
- package/dist/core/message-readers.js.map +1 -0
- package/dist/core/messages.d.ts +49 -0
- package/dist/core/messages.js +85 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/mount-prompt.d.ts +28 -0
- package/dist/core/mount-prompt.js +55 -0
- package/dist/core/mount-prompt.js.map +1 -0
- package/dist/core/mount-redact.d.ts +28 -0
- package/dist/core/mount-redact.js +32 -0
- package/dist/core/mount-redact.js.map +1 -0
- package/dist/core/mounts.d.ts +88 -0
- package/dist/core/mounts.js +147 -0
- package/dist/core/mounts.js.map +1 -0
- package/dist/core/path-mapping.d.ts +52 -0
- package/dist/core/path-mapping.js +113 -0
- package/dist/core/path-mapping.js.map +1 -0
- package/dist/core/platform-prompt.generated.d.ts +2 -0
- package/dist/core/platform-prompt.generated.js +4 -0
- package/dist/core/platform-prompt.generated.js.map +1 -0
- package/dist/core/prompt.d.ts +42 -0
- package/dist/core/prompt.js +75 -0
- package/dist/core/prompt.js.map +1 -0
- package/dist/core/session-id.d.ts +38 -0
- package/dist/core/session-id.js +61 -0
- package/dist/core/session-id.js.map +1 -0
- package/dist/core/session-store.d.ts +85 -0
- package/dist/core/session-store.js +149 -0
- package/dist/core/session-store.js.map +1 -0
- package/dist/core/session-zone.d.ts +54 -0
- package/dist/core/session-zone.js +82 -0
- package/dist/core/session-zone.js.map +1 -0
- package/dist/core/skill-prompt.d.ts +31 -0
- package/dist/core/skill-prompt.js +54 -0
- package/dist/core/skill-prompt.js.map +1 -0
- package/dist/core/skill-redact.d.ts +15 -0
- package/dist/core/skill-redact.js +27 -0
- package/dist/core/skill-redact.js.map +1 -0
- package/dist/core/skills.d.ts +172 -0
- package/dist/core/skills.js +214 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/tool-mocks.d.ts +23 -0
- package/dist/core/tool-mocks.js +39 -0
- package/dist/core/tool-mocks.js.map +1 -0
- package/dist/core/tool-telemetry.d.ts +16 -0
- package/dist/core/tool-telemetry.js +40 -0
- package/dist/core/tool-telemetry.js.map +1 -0
- package/dist/core/usage.d.ts +114 -0
- package/dist/core/usage.js +226 -0
- package/dist/core/usage.js.map +1 -0
- package/dist/core/workspace-context.d.ts +136 -0
- package/dist/core/workspace-context.js +178 -0
- package/dist/core/workspace-context.js.map +1 -0
- package/dist/core/workspace-prompt.d.ts +7 -0
- package/dist/core/workspace-prompt.js +102 -0
- package/dist/core/workspace-prompt.js.map +1 -0
- package/dist/core/workspace-router.d.ts +61 -0
- package/dist/core/workspace-router.js +145 -0
- package/dist/core/workspace-router.js.map +1 -0
- package/dist/core/workspace.d.ts +85 -0
- package/dist/core/workspace.js +193 -0
- package/dist/core/workspace.js.map +1 -0
- package/dist/core/zones.d.ts +181 -0
- package/dist/core/zones.js +202 -0
- package/dist/core/zones.js.map +1 -0
- package/dist/env.d.ts +99 -0
- package/dist/env.js +271 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +265 -0
- package/dist/index.js +197 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel/kernel.d.ts +192 -0
- package/dist/kernel/kernel.js +751 -0
- package/dist/kernel/kernel.js.map +1 -0
- package/dist/lifecycle/hook-shape.d.ts +44 -0
- package/dist/lifecycle/hook-shape.js +66 -0
- package/dist/lifecycle/hook-shape.js.map +1 -0
- package/dist/lifecycle/runner.d.ts +177 -0
- package/dist/lifecycle/runner.js +372 -0
- package/dist/lifecycle/runner.js.map +1 -0
- package/dist/lifecycle/transcript.d.ts +27 -0
- package/dist/lifecycle/transcript.js +43 -0
- package/dist/lifecycle/transcript.js.map +1 -0
- package/dist/machine/allow.d.ts +65 -0
- package/dist/machine/allow.js +107 -0
- package/dist/machine/allow.js.map +1 -0
- package/dist/machine/delegation.d.ts +9 -0
- package/dist/machine/delegation.js +10 -0
- package/dist/machine/delegation.js.map +1 -0
- package/dist/machine/diagnostic.d.ts +14 -0
- package/dist/machine/diagnostic.js +2 -0
- package/dist/machine/diagnostic.js.map +1 -0
- package/dist/machine/lint-spec.d.ts +4 -0
- package/dist/machine/lint-spec.js +266 -0
- package/dist/machine/lint-spec.js.map +1 -0
- package/dist/machine/load-spec.d.ts +90 -0
- package/dist/machine/load-spec.js +120 -0
- package/dist/machine/load-spec.js.map +1 -0
- package/dist/machine/machine.d.ts +273 -0
- package/dist/machine/machine.js +551 -0
- package/dist/machine/machine.js.map +1 -0
- package/dist/machine/mount-grants.d.ts +25 -0
- package/dist/machine/mount-grants.js +24 -0
- package/dist/machine/mount-grants.js.map +1 -0
- package/dist/machine/slug.d.ts +14 -0
- package/dist/machine/slug.js +17 -0
- package/dist/machine/slug.js.map +1 -0
- package/dist/machine/spec-schema.d.ts +662 -0
- package/dist/machine/spec-schema.js +717 -0
- package/dist/machine/spec-schema.js.map +1 -0
- package/dist/machine/tool-names.d.ts +98 -0
- package/dist/machine/tool-names.js +144 -0
- package/dist/machine/tool-names.js.map +1 -0
- package/dist/machine/triggers.d.ts +114 -0
- package/dist/machine/triggers.js +165 -0
- package/dist/machine/triggers.js.map +1 -0
- package/dist/machine/types.d.ts +186 -0
- package/dist/machine/types.js +12 -0
- package/dist/machine/types.js.map +1 -0
- package/dist/machine/validate-spec.d.ts +42 -0
- package/dist/machine/validate-spec.js +29 -0
- package/dist/machine/validate-spec.js.map +1 -0
- package/dist/machine/variables.d.ts +196 -0
- package/dist/machine/variables.js +415 -0
- package/dist/machine/variables.js.map +1 -0
- package/dist/public/cli.d.ts +15 -0
- package/dist/public/cli.js +14 -0
- package/dist/public/cli.js.map +1 -0
- package/dist/public/messages.d.ts +33 -0
- package/dist/public/messages.js +33 -0
- package/dist/public/messages.js.map +1 -0
- package/dist/public/sandbox.d.ts +99 -0
- package/dist/public/sandbox.js +32 -0
- package/dist/public/sandbox.js.map +1 -0
- package/dist/public/spec.d.ts +147 -0
- package/dist/public/spec.js +149 -0
- package/dist/public/spec.js.map +1 -0
- package/dist/public/testing.d.ts +71 -0
- package/dist/public/testing.js +39 -0
- package/dist/public/testing.js.map +1 -0
- package/dist/rubrics/rubrics.d.ts +135 -0
- package/dist/rubrics/rubrics.js +145 -0
- package/dist/rubrics/rubrics.js.map +1 -0
- package/dist/runtime/contract.d.ts +73 -0
- package/dist/runtime/contract.js +96 -0
- package/dist/runtime/contract.js.map +1 -0
- package/dist/sandbox/assets/parts/core.js +22 -0
- package/dist/sandbox/assets/parts/lifecycle-hook.js +47 -0
- package/dist/sandbox/bridge.d.ts +16 -0
- package/dist/sandbox/bridge.js +95 -0
- package/dist/sandbox/bridge.js.map +1 -0
- package/dist/sandbox/executor.d.ts +46 -0
- package/dist/sandbox/executor.js +119 -0
- package/dist/sandbox/executor.js.map +1 -0
- package/dist/sandbox/imports.d.ts +33 -0
- package/dist/sandbox/imports.js +67 -0
- package/dist/sandbox/imports.js.map +1 -0
- package/dist/sandbox/prelude.d.ts +12 -0
- package/dist/sandbox/prelude.js +51 -0
- package/dist/sandbox/prelude.js.map +1 -0
- package/dist/sandbox/ptc-gateway.d.ts +104 -0
- package/dist/sandbox/ptc-gateway.js +167 -0
- package/dist/sandbox/ptc-gateway.js.map +1 -0
- package/dist/sandbox/runtime.d.ts +59 -0
- package/dist/sandbox/runtime.js +51 -0
- package/dist/sandbox/runtime.js.map +1 -0
- package/dist/sandbox/tools.d.ts +34 -0
- package/dist/sandbox/tools.js +147 -0
- package/dist/sandbox/tools.js.map +1 -0
- package/dist/sessions/operations.d.ts +79 -0
- package/dist/sessions/operations.js +121 -0
- package/dist/sessions/operations.js.map +1 -0
- package/dist/sessions/resolve.d.ts +97 -0
- package/dist/sessions/resolve.js +145 -0
- package/dist/sessions/resolve.js.map +1 -0
- package/dist/sessions/resume.d.ts +242 -0
- package/dist/sessions/resume.js +288 -0
- package/dist/sessions/resume.js.map +1 -0
- package/dist/sessions/scope.d.ts +99 -0
- package/dist/sessions/scope.js +145 -0
- package/dist/sessions/scope.js.map +1 -0
- package/dist/sessions/summary.d.ts +65 -0
- package/dist/sessions/summary.js +56 -0
- package/dist/sessions/summary.js.map +1 -0
- package/dist/testing/assertions.d.ts +30 -0
- package/dist/testing/assertions.js +231 -0
- package/dist/testing/assertions.js.map +1 -0
- package/dist/testing/case-document.d.ts +141 -0
- package/dist/testing/case-document.js +51 -0
- package/dist/testing/case-document.js.map +1 -0
- package/dist/testing/case-schema.d.ts +29 -0
- package/dist/testing/case-schema.js +519 -0
- package/dist/testing/case-schema.js.map +1 -0
- package/dist/testing/discovery.d.ts +10 -0
- package/dist/testing/discovery.js +24 -0
- package/dist/testing/discovery.js.map +1 -0
- package/dist/testing/driver.d.ts +78 -0
- package/dist/testing/driver.js +117 -0
- package/dist/testing/driver.js.map +1 -0
- package/dist/testing/grade.d.ts +116 -0
- package/dist/testing/grade.js +261 -0
- package/dist/testing/grade.js.map +1 -0
- package/dist/testing/interpreter.d.ts +55 -0
- package/dist/testing/interpreter.js +103 -0
- package/dist/testing/interpreter.js.map +1 -0
- package/dist/testing/mock-middleware.d.ts +5 -0
- package/dist/testing/mock-middleware.js +33 -0
- package/dist/testing/mock-middleware.js.map +1 -0
- package/dist/testing/runner.d.ts +205 -0
- package/dist/testing/runner.js +266 -0
- package/dist/testing/runner.js.map +1 -0
- package/dist/testing/target.d.ts +27 -0
- package/dist/testing/target.js +21 -0
- package/dist/testing/target.js.map +1 -0
- package/dist/validate/validate.d.ts +41 -0
- package/dist/validate/validate.js +669 -0
- package/dist/validate/validate.js.map +1 -0
- package/dist/workflow/agent-tools.d.ts +10 -0
- package/dist/workflow/agent-tools.js +10 -0
- package/dist/workflow/agent-tools.js.map +1 -0
- package/dist/workflow/checkpointer.d.ts +52 -0
- package/dist/workflow/checkpointer.js +200 -0
- package/dist/workflow/checkpointer.js.map +1 -0
- package/dist/workflow/control-tools.d.ts +174 -0
- package/dist/workflow/control-tools.js +468 -0
- package/dist/workflow/control-tools.js.map +1 -0
- package/dist/workflow/governance.d.ts +104 -0
- package/dist/workflow/governance.js +546 -0
- package/dist/workflow/governance.js.map +1 -0
- package/dist/workflow/middleware.d.ts +85 -0
- package/dist/workflow/middleware.js +283 -0
- package/dist/workflow/middleware.js.map +1 -0
- package/dist/workflow/on-error.d.ts +25 -0
- package/dist/workflow/on-error.js +58 -0
- package/dist/workflow/on-error.js.map +1 -0
- package/dist/workflow/parks.d.ts +46 -0
- package/dist/workflow/parks.js +513 -0
- package/dist/workflow/parks.js.map +1 -0
- package/dist/workflow/paths.d.ts +67 -0
- package/dist/workflow/paths.js +108 -0
- package/dist/workflow/paths.js.map +1 -0
- package/dist/workflow/prompt-cache.d.ts +70 -0
- package/dist/workflow/prompt-cache.js +103 -0
- package/dist/workflow/prompt-cache.js.map +1 -0
- package/dist/workflow/prompt-pruning.d.ts +20 -0
- package/dist/workflow/prompt-pruning.js +83 -0
- package/dist/workflow/prompt-pruning.js.map +1 -0
- package/dist/workflow/render-prompt.d.ts +45 -0
- package/dist/workflow/render-prompt.js +140 -0
- package/dist/workflow/render-prompt.js.map +1 -0
- package/dist/workflow/runtime-config.d.ts +7 -0
- package/dist/workflow/runtime-config.js +9 -0
- package/dist/workflow/runtime-config.js.map +1 -0
- package/dist/workflow/session-artifacts.d.ts +90 -0
- package/dist/workflow/session-artifacts.js +134 -0
- package/dist/workflow/session-artifacts.js.map +1 -0
- package/dist/workflow/session-view.d.ts +31 -0
- package/dist/workflow/session-view.js +94 -0
- package/dist/workflow/session-view.js.map +1 -0
- package/dist/workflow/snapshot.d.ts +14 -0
- package/dist/workflow/snapshot.js +97 -0
- package/dist/workflow/snapshot.js.map +1 -0
- package/dist/workflow/state.d.ts +347 -0
- package/dist/workflow/state.js +322 -0
- package/dist/workflow/state.js.map +1 -0
- package/dist/workflow/sub-workflow.d.ts +174 -0
- package/dist/workflow/sub-workflow.js +392 -0
- package/dist/workflow/sub-workflow.js.map +1 -0
- package/dist/workflow/tool-service.d.ts +48 -0
- package/dist/workflow/tool-service.js +291 -0
- package/dist/workflow/tool-service.js.map +1 -0
- package/dist/workflow/turn-boundary.d.ts +39 -0
- package/dist/workflow/turn-boundary.js +128 -0
- package/dist/workflow/turn-boundary.js.map +1 -0
- package/dist/workflow/turn-runner.d.ts +40 -0
- package/dist/workflow/turn-runner.js +122 -0
- package/dist/workflow/turn-runner.js.map +1 -0
- package/dist/workflow/workflow-tools.d.ts +46 -0
- package/dist/workflow/workflow-tools.js +90 -0
- package/dist/workflow/workflow-tools.js.map +1 -0
- package/package.json +119 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Readers for the shape of one authored hook: a tagged object whose single key
|
|
3
|
+
* names its kind (`script`, `rubric`, or a custom kind an executor is
|
|
4
|
+
* registered for), optionally beside the reserved `max_iterations` sidecar.
|
|
5
|
+
*/
|
|
6
|
+
import type { Hook, HookSpec } from "../machine/types.js";
|
|
7
|
+
/** Reserved sidecar keys ignored by hook kind detection. */
|
|
8
|
+
export declare const HOOK_SIDECAR_KEYS: ReadonlySet<string>;
|
|
9
|
+
/** Normalize a `before`/`after` field into an ordered list of tagged hooks. */
|
|
10
|
+
export declare function normalizeHooks(spec: HookSpec | undefined): Hook[];
|
|
11
|
+
/**
|
|
12
|
+
* The kind of a tagged hook — its single key other than the sidecars — or
|
|
13
|
+
* `undefined` for a malformed hook, which callers treat as an error
|
|
14
|
+
* (fail-closed veto / validation error).
|
|
15
|
+
*/
|
|
16
|
+
export declare function hookKind(hook: Hook): string | undefined;
|
|
17
|
+
/** The target value of a tagged hook (the script path, rubric name, …). */
|
|
18
|
+
export declare function hookValue(hook: Hook): string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* The hook-level `max_iterations` sidecar — the bounded grade-and-retry budget
|
|
21
|
+
* for an `after` hook of any kind — or `undefined` when absent or not a
|
|
22
|
+
* non-negative number. It wins over the named rubric's own `max_iterations`,
|
|
23
|
+
* because the sidecar describes *this* state's retry loop.
|
|
24
|
+
*/
|
|
25
|
+
export declare function hookMaxIterations(hook: Hook): number | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Short, human-readable label for a hook, for operator surfaces (events, the CLI
|
|
28
|
+
* state flow). `{ script }` renders as the bare path; a `{ rubric }` renders as
|
|
29
|
+
* `rubric#<index>`, because an inline grader has no name and its position is
|
|
30
|
+
* what distinguishes it from the next one in the same phase; every other kind
|
|
31
|
+
* renders as `<kind>:<value>`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function afterHookLabel(hook: Hook, index?: number): string;
|
|
34
|
+
/**
|
|
35
|
+
* The key one hook's grade-and-retry budget is counted under. Per hook, not per
|
|
36
|
+
* state: `max_iterations` is declared on a hook, so two `after` hooks on one
|
|
37
|
+
* state have independent budgets and neither can reset the other's count.
|
|
38
|
+
*
|
|
39
|
+
* Keyed by **position** rather than by label, so the identity does not move when
|
|
40
|
+
* a script is renamed, and so two inline rubrics — which have no names at all —
|
|
41
|
+
* are always distinguishable. Reordering a phase's hooks re-keys them, which is
|
|
42
|
+
* the same class of edit as any other spec change (it moves the spec hash).
|
|
43
|
+
*/
|
|
44
|
+
export declare function iterationKey(state: string, phase: "before" | "after", index: number): string;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/** Reserved sidecar keys ignored by hook kind detection. */
|
|
2
|
+
export const HOOK_SIDECAR_KEYS = new Set(["max_iterations"]);
|
|
3
|
+
/** Normalize a `before`/`after` field into an ordered list of tagged hooks. */
|
|
4
|
+
export function normalizeHooks(spec) {
|
|
5
|
+
if (spec == null)
|
|
6
|
+
return [];
|
|
7
|
+
return Array.isArray(spec) ? spec : [spec];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The kind of a tagged hook — its single key other than the sidecars — or
|
|
11
|
+
* `undefined` for a malformed hook, which callers treat as an error
|
|
12
|
+
* (fail-closed veto / validation error).
|
|
13
|
+
*/
|
|
14
|
+
export function hookKind(hook) {
|
|
15
|
+
if (!hook || typeof hook !== "object" || Array.isArray(hook))
|
|
16
|
+
return undefined;
|
|
17
|
+
const keys = Object.keys(hook).filter((key) => !HOOK_SIDECAR_KEYS.has(key));
|
|
18
|
+
return keys.length === 1 ? keys[0] : undefined;
|
|
19
|
+
}
|
|
20
|
+
/** The target value of a tagged hook (the script path, rubric name, …). */
|
|
21
|
+
export function hookValue(hook) {
|
|
22
|
+
const kind = hookKind(hook);
|
|
23
|
+
return kind ? hook[kind] : undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The hook-level `max_iterations` sidecar — the bounded grade-and-retry budget
|
|
27
|
+
* for an `after` hook of any kind — or `undefined` when absent or not a
|
|
28
|
+
* non-negative number. It wins over the named rubric's own `max_iterations`,
|
|
29
|
+
* because the sidecar describes *this* state's retry loop.
|
|
30
|
+
*/
|
|
31
|
+
export function hookMaxIterations(hook) {
|
|
32
|
+
if (!hook || typeof hook !== "object" || Array.isArray(hook))
|
|
33
|
+
return undefined;
|
|
34
|
+
const value = hook.max_iterations;
|
|
35
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Short, human-readable label for a hook, for operator surfaces (events, the CLI
|
|
39
|
+
* state flow). `{ script }` renders as the bare path; a `{ rubric }` renders as
|
|
40
|
+
* `rubric#<index>`, because an inline grader has no name and its position is
|
|
41
|
+
* what distinguishes it from the next one in the same phase; every other kind
|
|
42
|
+
* renders as `<kind>:<value>`.
|
|
43
|
+
*/
|
|
44
|
+
export function afterHookLabel(hook, index = 0) {
|
|
45
|
+
const kind = hookKind(hook);
|
|
46
|
+
if (kind === undefined)
|
|
47
|
+
return "hook";
|
|
48
|
+
if (kind === "rubric")
|
|
49
|
+
return `rubric#${index}`;
|
|
50
|
+
const value = hook[kind];
|
|
51
|
+
return kind === "script" ? value : `${kind}:${value}`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The key one hook's grade-and-retry budget is counted under. Per hook, not per
|
|
55
|
+
* state: `max_iterations` is declared on a hook, so two `after` hooks on one
|
|
56
|
+
* state have independent budgets and neither can reset the other's count.
|
|
57
|
+
*
|
|
58
|
+
* Keyed by **position** rather than by label, so the identity does not move when
|
|
59
|
+
* a script is renamed, and so two inline rubrics — which have no names at all —
|
|
60
|
+
* are always distinguishable. Reordering a phase's hooks re-keys them, which is
|
|
61
|
+
* the same class of edit as any other spec change (it moves the spec hash).
|
|
62
|
+
*/
|
|
63
|
+
export function iterationKey(state, phase, index) {
|
|
64
|
+
return `${state}::${phase}::${index}`;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=hook-shape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-shape.js","sourceRoot":"","sources":["../../src/lifecycle/hook-shape.ts"],"names":[],"mappings":"AAOA,4DAA4D;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAElF,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,IAA0B;IACvD,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC,CAAC,CAAE,IAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/E,MAAM,KAAK,GAAI,IAAgC,CAAC,cAAc,CAAC;IAC/D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,KAAK,GAAG,CAAC;IAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACtC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,UAAU,KAAK,EAAE,CAAC;IAChD,MAAM,KAAK,GAAI,IAA+B,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,KAAyB,EAAE,KAAa;IAClF,OAAO,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type { RunnableConfig } from "@langchain/core/runnables";
|
|
2
|
+
import type { StructuredTool } from "@langchain/core/tools";
|
|
3
|
+
import { type ScriptExecutor, type ScriptOutcome } from "../sandbox/executor.js";
|
|
4
|
+
import type { WorkflowMachine } from "../machine/machine.js";
|
|
5
|
+
import type { Hook } from "../machine/types.js";
|
|
6
|
+
import { type Rubric } from "../rubrics/rubrics.js";
|
|
7
|
+
import type { VariableStore } from "../machine/variables.js";
|
|
8
|
+
import { type WorkflowEventHandler } from "../core/events.js";
|
|
9
|
+
export type LifecycleVerdict = "ok" | "correct" | "veto";
|
|
10
|
+
/** What a hook said, once its return value has been read. */
|
|
11
|
+
export interface LifecycleDecision {
|
|
12
|
+
verdict: LifecycleVerdict;
|
|
13
|
+
reason: string;
|
|
14
|
+
rubric?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Interpret a lifecycle hook's return value into a decision, an error, or
|
|
18
|
+
* `null` (no opinion — proceed).
|
|
19
|
+
*
|
|
20
|
+
* **One contract for every hook kind**, the one `HookResult` declares: a verdict
|
|
21
|
+
* object decides, a bare `false` vetoes, returning nothing is `ok`, and any
|
|
22
|
+
* *other* object fails closed with its keys named. A hook's return value is its
|
|
23
|
+
* verdict and nothing else, so an object that is not one is a verdict its author
|
|
24
|
+
* got wrong; reading it as `ok` would silently permit what the hook meant to
|
|
25
|
+
* block, with nothing said.
|
|
26
|
+
*
|
|
27
|
+
* A **script** hook's value arrives already reduced — the sandbox wrapper
|
|
28
|
+
* applies the same rules and throws on the last one — so what reaches here from
|
|
29
|
+
* a script is a verdict or an error outcome. The rules are restated because a
|
|
30
|
+
* custom `hookExecutors` kind hands its value through raw, and a consumer's
|
|
31
|
+
* executor is held to the same contract as a script: one governance vocabulary,
|
|
32
|
+
* whoever implements the kind.
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseLifecycleDecision(outcome: ScriptOutcome): LifecycleDecision | {
|
|
35
|
+
error: string;
|
|
36
|
+
} | null;
|
|
37
|
+
export interface LifecycleContext {
|
|
38
|
+
sessionId: string;
|
|
39
|
+
tools: StructuredTool[];
|
|
40
|
+
messages: unknown[];
|
|
41
|
+
taskTool?: StructuredTool;
|
|
42
|
+
config: RunnableConfig;
|
|
43
|
+
/**
|
|
44
|
+
* Grade-and-retry iterations already spent, keyed per hook by
|
|
45
|
+
* {@link iterationKey} — not per state. Two `after` hooks on one state have
|
|
46
|
+
* independent budgets, and a hook that passes cannot clear the count of the
|
|
47
|
+
* one still asking for corrections (issue #62).
|
|
48
|
+
*/
|
|
49
|
+
iterations: Record<string, number>;
|
|
50
|
+
/**
|
|
51
|
+
* The trigger that started the run (`id` + optional `args`), read from
|
|
52
|
+
* checkpointed state. Merged into every hook's script arguments so a
|
|
53
|
+
* `before`/`after` script can read how the run began.
|
|
54
|
+
*/
|
|
55
|
+
trigger?: {
|
|
56
|
+
id: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* The run's variables at the time the hook runs, as a plain `name → value`
|
|
60
|
+
* map. Read-only by construction: the sandbox gets a serialized copy. A hook
|
|
61
|
+
* that could *write* variables would be editing the governance inputs of the
|
|
62
|
+
* state it judges, which is why the variable tools are excluded from PTC.
|
|
63
|
+
*/
|
|
64
|
+
variables?: Record<string, unknown>;
|
|
65
|
+
/**
|
|
66
|
+
* The same variables as the checkpointed **store** — value plus lock state —
|
|
67
|
+
* for the kernel's `requires` gate. Must be the run's real store: omitted, the
|
|
68
|
+
* kernel sees an empty store and refuses to leave any state that declares
|
|
69
|
+
* `requires`.
|
|
70
|
+
*/
|
|
71
|
+
variableStore?: VariableStore;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* A phase rejection: why the hook phase blocked, and whether the failure is
|
|
75
|
+
* **terminal** — a hook execution error or an exhausted correction budget,
|
|
76
|
+
* which retrying in place cannot fix (the turn ends rejected, subject to
|
|
77
|
+
* `on_error` routing) — as opposed to a recoverable rejection (a deliberate
|
|
78
|
+
* veto or a correction with attempts remaining), where the agent stays in the
|
|
79
|
+
* state to try again.
|
|
80
|
+
*/
|
|
81
|
+
export interface PhaseRejection {
|
|
82
|
+
reason: string;
|
|
83
|
+
terminal: boolean;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* The result of {@link LifecycleRunner.attemptTransition}: whether the
|
|
87
|
+
* transition passed its hooks, and the resulting judge-correction counts for
|
|
88
|
+
* the caller to commit to the checkpoint. Correction counts advance even on a
|
|
89
|
+
* rejection (a consumed judge correction), so they are returned in both cases.
|
|
90
|
+
* `terminal` marks a rejection retrying cannot fix (see {@link PhaseRejection}).
|
|
91
|
+
*/
|
|
92
|
+
export type TransitionOutcome = {
|
|
93
|
+
ok: true;
|
|
94
|
+
from: string;
|
|
95
|
+
to: string;
|
|
96
|
+
corrections: Record<string, number>;
|
|
97
|
+
} | {
|
|
98
|
+
ok: false;
|
|
99
|
+
reason: string;
|
|
100
|
+
terminal: boolean;
|
|
101
|
+
corrections: Record<string, number>;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Executes one lifecycle hook of a given kind, returning the raw
|
|
105
|
+
* {@link ScriptOutcome} the runner reduces (parse → kernel verdict → events), so
|
|
106
|
+
* every hook kind flows through the same fail-closed path. `script` and
|
|
107
|
+
* `rubric` are built in; consumers register additional kinds via
|
|
108
|
+
* `createAgent`'s `hookExecutors` option. An executor that throws or returns an
|
|
109
|
+
* error outcome vetoes the transition.
|
|
110
|
+
*/
|
|
111
|
+
export type HookExecutor = (hook: Hook, ctx: LifecycleContext, args: Record<string, unknown>) => Promise<ScriptOutcome>;
|
|
112
|
+
/**
|
|
113
|
+
* Resolves a hook's declared `script:` value to the authoring-plane path its
|
|
114
|
+
* source lives at, or refuses it with a reason (see `resolveHookScript`).
|
|
115
|
+
*/
|
|
116
|
+
export type HookScriptResolver = (declared: string) => {
|
|
117
|
+
ok: true;
|
|
118
|
+
path: string;
|
|
119
|
+
} | {
|
|
120
|
+
ok: false;
|
|
121
|
+
reason: string;
|
|
122
|
+
};
|
|
123
|
+
/** The built-in hook kinds, which consumer executors may not shadow. */
|
|
124
|
+
export declare const BUILTIN_HOOK_KINDS: readonly ["script", "rubric"];
|
|
125
|
+
/**
|
|
126
|
+
* Runs deterministic `before`/`after` hooks (scripts or grading rubrics) at the
|
|
127
|
+
* machine's fixed points, in the same backend-backed interpreter as the model's
|
|
128
|
+
* own sandbox tool calls.
|
|
129
|
+
*/
|
|
130
|
+
export declare class LifecycleRunner {
|
|
131
|
+
private readonly machine;
|
|
132
|
+
private readonly executor;
|
|
133
|
+
private readonly rubrics;
|
|
134
|
+
private readonly ptcNames;
|
|
135
|
+
private readonly emit;
|
|
136
|
+
/** Hook kind → executor. Built-ins (`script`, `rubric`) plus registered custom kinds. */
|
|
137
|
+
private readonly hookExecutors;
|
|
138
|
+
/**
|
|
139
|
+
* Maps a hook's declared `script:` value to the path its source is read from.
|
|
140
|
+
* Injected so the runner stays ignorant of workspace layout: the harness binds
|
|
141
|
+
* it to the running workflow (workflow-relative, confined to `hooks/`). The
|
|
142
|
+
* identity default keeps a bare runner working.
|
|
143
|
+
*/
|
|
144
|
+
private readonly resolveScript;
|
|
145
|
+
/** Deprecations already reported — each is said once per assembly. */
|
|
146
|
+
constructor(machine: WorkflowMachine, executor: ScriptExecutor, rubrics: Map<string, Rubric>, ptcNames: string[], hookExecutors?: Record<string, HookExecutor>, onEvent?: WorkflowEventHandler, opts?: {
|
|
147
|
+
resolveScript?: HookScriptResolver;
|
|
148
|
+
});
|
|
149
|
+
resolvePtcTools(allTools: unknown[]): StructuredTool[];
|
|
150
|
+
/**
|
|
151
|
+
* The runtime's own dispatch for an inline grader, through the framework
|
|
152
|
+
* `task` tool. Reached only by {@link runRubric} — never wired into a script's
|
|
153
|
+
* sandbox, which has no name to dispatch by.
|
|
154
|
+
*/
|
|
155
|
+
private rubricDispatch;
|
|
156
|
+
private runScript;
|
|
157
|
+
private runRubric;
|
|
158
|
+
/**
|
|
159
|
+
* Dispatch a single tagged hook through its kind's registered executor.
|
|
160
|
+
* An unknown kind (no registered executor) produces an error outcome that
|
|
161
|
+
* reduces to a fail-closed veto — the same path as any hook execution error.
|
|
162
|
+
*/
|
|
163
|
+
private runHook;
|
|
164
|
+
private applyDecision;
|
|
165
|
+
runPhase(state: string, phase: "before" | "after", ctx: LifecycleContext, extraArgs?: Record<string, unknown>, veto?: boolean): Promise<PhaseRejection | null>;
|
|
166
|
+
private runSingleHook;
|
|
167
|
+
attemptTransition(from: string, to: string, ctx: LifecycleContext, reason?: string,
|
|
168
|
+
/**
|
|
169
|
+
* The tool call driving this attempt, when one is. Carried onto the `advance`
|
|
170
|
+
* event so a consumer can attribute the transition to the call that made it;
|
|
171
|
+
* a transition the runtime itself performs passes nothing.
|
|
172
|
+
*/
|
|
173
|
+
options?: {
|
|
174
|
+
callId?: string;
|
|
175
|
+
}): Promise<TransitionOutcome>;
|
|
176
|
+
dispose(sessionId: string): void;
|
|
177
|
+
}
|