@tangle-network/agent-runtime 0.318.0 → 0.319.5
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/dist/{activation-CRG-tjnR.js → activation-DPpb2I8z.js} +3 -3
- package/dist/{activation-CRG-tjnR.js.map → activation-DPpb2I8z.js.map} +1 -1
- package/dist/{activation-RExX9RDm.d.ts → activation-OColGsfd.d.ts} +2 -2
- package/dist/agent.d.ts +3 -3
- package/dist/agent.js +3 -3
- package/dist/{bundle-RgHpAFDY.js → bundle-Cw-QdGmH.js} +2 -2
- package/dist/{bundle-RgHpAFDY.js.map → bundle-Cw-QdGmH.js.map} +1 -1
- package/dist/candidate-execution/index.d.ts +40 -3
- package/dist/candidate-execution/index.js +86 -7
- package/dist/candidate-execution/index.js.map +1 -1
- package/dist/{coordination-driver-DK3pI_HB.js → coordination-driver-woTI2Vpr.js} +3 -3
- package/dist/{coordination-driver-DK3pI_HB.js.map → coordination-driver-woTI2Vpr.js.map} +1 -1
- package/dist/{delegate-Co9vJIgE.js → delegate-DrFainK0.js} +2 -2
- package/dist/{delegate-Co9vJIgE.js.map → delegate-DrFainK0.js.map} +1 -1
- package/dist/durable.d.ts +1 -1
- package/dist/durable.js +4 -4
- package/dist/{graph-DYBCYZjg.js → graph-joXNwtkE.js} +5 -5
- package/dist/{graph-DYBCYZjg.js.map → graph-joXNwtkE.js.map} +1 -1
- package/dist/graph-registry-BuJbzTzF.js +211 -0
- package/dist/graph-registry-BuJbzTzF.js.map +1 -0
- package/dist/{improvement-cycle-jp80l_ZQ.js → improvement-cycle-Dkrb5nVc.js} +7 -7
- package/dist/{improvement-cycle-jp80l_ZQ.js.map → improvement-cycle-Dkrb5nVc.js.map} +1 -1
- package/dist/{index-CHlWvoo5.d.ts → index-Da7w2H86.d.ts} +268 -82
- package/dist/index.d.ts +5 -5
- package/dist/index.js +10 -10
- package/dist/intelligence.d.ts +4 -4
- package/dist/intelligence.js +7 -7
- package/dist/kernel.d.ts +3 -2
- package/dist/kernel.js +12 -11
- package/dist/{loop-runner-bin-C-QaaVE2.d.ts → loop-runner-bin-CbBoLC9D.d.ts} +2 -2
- package/dist/{loop-runner-bin-C8jLr2gR.js → loop-runner-bin-OYVzvqiL.js} +3 -3
- package/dist/{loop-runner-bin-C8jLr2gR.js.map → loop-runner-bin-OYVzvqiL.js.map} +1 -1
- package/dist/loop-runner-bin.d.ts +1 -1
- package/dist/loop-runner-bin.js +1 -1
- package/dist/mcp/bin.js +3 -3
- package/dist/mcp/index.d.ts +2 -2
- package/dist/mcp/index.js +6 -6
- package/dist/{model-policy-B-rOb8Nj.js → model-policy-CNe257pB.js} +4 -4
- package/dist/{model-policy-B-rOb8Nj.js.map → model-policy-CNe257pB.js.map} +1 -1
- package/dist/{openai-tools-BuJB3JQH.d.ts → openai-tools-Cu9E1Bda.d.ts} +2 -2
- package/dist/placement.d.ts +1 -1
- package/dist/{prepare-CD9kR0gS.js → prepare-DjCLEN-q.js} +3 -3
- package/dist/prepare-DjCLEN-q.js.map +1 -0
- package/dist/{profile-CHXYmpGd.js → profile-DmVM4Gxb.js} +9 -2
- package/dist/profile-DmVM4Gxb.js.map +1 -0
- package/dist/{profile-materialization-Cca615eu.d.ts → profile-materialization-C5-t3HJ7.d.ts} +14 -3
- package/dist/profiles.d.ts +1 -1
- package/dist/profiles.js +1 -1
- package/dist/{protected-model-port-C9QtEf3y.d.ts → protected-model-port-CQg2gstJ.d.ts} +3 -3
- package/dist/{protected-model-port-B0pHd65J.js → protected-model-port-D1fcnYdj.js} +4 -4
- package/dist/{protected-model-port-B0pHd65J.js.map → protected-model-port-D1fcnYdj.js.map} +1 -1
- package/dist/{provision-supervisor-CunKnayY.js → provision-supervisor-CN16EdkE.js} +5 -5
- package/dist/{provision-supervisor-CunKnayY.js.map → provision-supervisor-CN16EdkE.js.map} +1 -1
- package/dist/{runtime-UG5tV_yf.js → runtime-BE4GW_q1.js} +307 -13
- package/dist/runtime-BE4GW_q1.js.map +1 -0
- package/dist/{search-executor-DMX6tCY4.js → search-executor-DuHd_fws.js} +4 -4
- package/dist/{search-executor-DMX6tCY4.js.map → search-executor-DuHd_fws.js.map} +1 -1
- package/dist/{server-fSBvPPLH.js → server-CYdjyARj.js} +4 -4
- package/dist/{server-fSBvPPLH.js.map → server-CYdjyARj.js.map} +1 -1
- package/dist/{supervise-C41ywfFd.js → supervise-CvKx8rlw.js} +5 -5
- package/dist/{supervise-C41ywfFd.js.map → supervise-CvKx8rlw.js.map} +1 -1
- package/dist/{supervisor-BXEL_Fxe.js → supervisor--nmU6w86.js} +259 -36
- package/dist/supervisor--nmU6w86.js.map +1 -0
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +14 -14
- package/dist/tui/index.d.ts +1 -1
- package/dist/tui/index.js +1 -1
- package/dist/workspace-store/index.d.ts +171 -3
- package/dist/workspace-store/index.js +529 -8
- package/dist/workspace-store/index.js.map +1 -1
- package/dist/{workspace-streams-DkijayqX.js → workspace-streams-DFAhW7hF.js} +300 -42
- package/dist/workspace-streams-DFAhW7hF.js.map +1 -0
- package/dist/{workspace-streams-CpSmt3zx.d.ts → workspace-streams-U6_UfOXu.d.ts} +10 -2
- package/package.json +13 -10
- package/skills/codemode/references/runtime-execution.md +10 -3
- package/skills/graph-designer/SKILL.md +57 -0
- package/dist/prepare-CD9kR0gS.js.map +0 -1
- package/dist/profile-CHXYmpGd.js.map +0 -1
- package/dist/runtime-UG5tV_yf.js.map +0 -1
- package/dist/supervisor-BXEL_Fxe.js.map +0 -1
- package/dist/workspace-streams-DkijayqX.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { A as agentImprovementTargetInput, M as agentProfileImprovementStateDigest, c as requireSealedCandidateExperiment, d as verifyAgentImprovementActivation, f as verifyAgentImprovementProposal, k as agentImprovementTargetDigest } from "./improvement-cycle-
|
|
1
|
+
import { B as verifyCanonicalCandidateDocument, L as immutableCandidateValue, N as canonicalCandidateDigest$1, P as canonicalCandidateDocument } from "./workspace-streams-DFAhW7hF.js";
|
|
2
|
+
import { A as agentImprovementTargetInput, M as agentProfileImprovementStateDigest, c as requireSealedCandidateExperiment, d as verifyAgentImprovementActivation, f as verifyAgentImprovementProposal, k as agentImprovementTargetDigest } from "./improvement-cycle-Dkrb5nVc.js";
|
|
3
3
|
import { agentImprovementActivationResultSchema, agentImprovementActivationSchema, agentProfileImprovementExperimentSchema } from "@tangle-network/agent-interface";
|
|
4
4
|
//#region src/runtime-usage.ts
|
|
5
5
|
function createRuntimeUsageTotals() {
|
|
@@ -231,4 +231,4 @@ function targetIdentity(target) {
|
|
|
231
231
|
//#endregion
|
|
232
232
|
export { createRuntimeUsageTotals as a, addRuntimeUsage as i, executeAgentImprovementActivation as n, isUsageAmount as o, verifyAgentImprovementActivationResult as r, createAgentImprovementActivationResult as t };
|
|
233
233
|
|
|
234
|
-
//# sourceMappingURL=activation-
|
|
234
|
+
//# sourceMappingURL=activation-DPpb2I8z.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activation-CRG-tjnR.js","names":["canonicalCandidateDigest"],"sources":["../src/runtime-usage.ts","../src/intelligence/activation.ts"],"sourcesContent":["import type { RuntimeStreamEvent } from './types'\n\n/** Observed subtotals, with missing measurements kept separate from measured zeroes. */\nexport interface RuntimeUsageTotals {\n /** Observed input tokens across normalized per-call events. */\n tokensIn: number\n /** Observed output tokens across normalized per-call events. */\n tokensOut: number\n /** Observed dollar subtotal; incomplete when `usdKnown` is false. */\n costUsd: number\n /** Number of observed model calls, including unpriced or incompletely metered calls. */\n llmCalls: number\n /** False when any observed call has incomplete token usage. */\n tokensKnown?: false\n /** False when any observed call lacks complete provider-billed cost. */\n usdKnown?: false\n /** Sum of reported external estimates; never included in `costUsd` or proof of complete cost. */\n estimatedCostUsd?: number\n}\n\nexport function createRuntimeUsageTotals(): RuntimeUsageTotals {\n return { tokensIn: 0, tokensOut: 0, costUsd: 0, llmCalls: 0 }\n}\n\nexport function isUsageAmount(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value) && value >= 0\n}\n\n/** Fold normalized per-call events. Backend adapters own cumulative receipt reconciliation. */\nexport function addRuntimeUsage(\n totals: RuntimeUsageTotals,\n event: Extract<RuntimeStreamEvent, { type: 'llm_call' }>,\n): void {\n totals.llmCalls += 1\n for (const key of ['tokensIn', 'tokensOut', 'costUsd'] as const) {\n const value = event[key]\n if (isUsageAmount(value)) totals[key] += value\n else if (key === 'costUsd') totals.usdKnown = false\n else totals.tokensKnown = false\n }\n if (event.tokensKnown === false) totals.tokensKnown = false\n if (event.usdKnown === false) totals.usdKnown = false\n if (isUsageAmount(event.estimatedCostUsd)) {\n totals.estimatedCostUsd = (totals.estimatedCostUsd ?? 0) + event.estimatedCostUsd\n }\n}\n","import type {\n AgentCandidateBundle,\n AgentCandidateExperiment,\n AgentImprovementActivation,\n AgentImprovementActivationOutcome,\n AgentImprovementActivationResult,\n AgentImprovementActivationTarget,\n AgentImprovementProposal,\n AgentImprovementReview,\n AgentImprovementSurface,\n AgentProfileImprovementChange,\n AgentProfileImprovementExperiment,\n Sha256Digest,\n} from '@tangle-network/agent-interface'\nimport {\n agentImprovementActivationResultSchema,\n agentImprovementActivationSchema,\n agentProfileImprovementExperimentSchema,\n} from '@tangle-network/agent-interface'\n\nimport {\n canonicalCandidateDigest,\n canonicalCandidateDocument,\n immutableCandidateValue,\n verifyCanonicalCandidateDocument,\n} from '../candidate-execution/digest'\nimport {\n requireSealedCandidateExperiment,\n verifyAgentImprovementActivation,\n verifyAgentImprovementProposal,\n} from './improvement-cycle'\nimport {\n agentImprovementTargetDigest,\n agentImprovementTargetInput,\n agentProfileImprovementStateDigest,\n} from './improvement-surfaces'\n\nexport interface CreateAgentImprovementActivationResultOptions {\n completedAt: string\n outcome: AgentImprovementActivationOutcome\n}\n\nexport interface AgentImprovementActivationTargetPlan extends AgentImprovementActivationTarget {\n desiredDigest: Sha256Digest\n /**\n * Exact measured input the product must apply to reach `desiredDigest`.\n * Transition surfaces such as code and knowledge are applied operations, so\n * their resulting state digest is not the digest of this input document.\n */\n desiredInput: unknown\n}\n\nexport type AgentProfileImprovementActivationOperation =\n | {\n kind: 'apply-change'\n changes: AgentProfileImprovementChange\n }\n | {\n /** The product must load its own saved state at `desiredStateDigest`. */\n kind: 'restore-state'\n }\n\nexport interface AgentProfileImprovementActivationTargetPlan\n extends AgentImprovementActivationTarget {\n desiredDigest: Sha256Digest\n desiredInput: AgentProfileImprovementActivationOperation\n}\n\nexport interface SealedCandidateActivationTransitionInput {\n kind: 'sealed-candidate'\n activation: AgentImprovementActivation\n candidateBundle: AgentCandidateBundle\n bundle: AgentCandidateBundle\n targets: [AgentImprovementActivationTargetPlan, ...AgentImprovementActivationTargetPlan[]]\n attemptedAt: string\n expired: boolean\n}\n\n/**\n * A measured profile change without raw profile bytes.\n * The product owns the private state lookup and atomic write.\n */\nexport interface ProfileImprovementActivationTransitionInput {\n kind: 'profile-improvement'\n activation: AgentImprovementActivation\n experiment: AgentProfileImprovementExperiment\n sourceStateDigest: Sha256Digest\n desiredStateDigest: Sha256Digest\n operation: AgentProfileImprovementActivationOperation\n targets: [\n AgentProfileImprovementActivationTargetPlan,\n ...AgentProfileImprovementActivationTargetPlan[],\n ]\n attemptedAt: string\n expired: boolean\n}\n\nexport type AgentImprovementActivationTransitionInput =\n | SealedCandidateActivationTransitionInput\n | ProfileImprovementActivationTransitionInput\n\nexport interface AgentImprovementActivationResultStore {\n load(idempotencyKey: Sha256Digest): Promise<unknown | undefined>\n putIfAbsent(result: AgentImprovementActivationResult): Promise<unknown>\n}\n\n/**\n * Product-owned or Runtime-composed transition.\n *\n * Implementations resolve a stored result for `activation.digest`, compare\n * every target, and make the write durably idempotent. Co-located targets store\n * the all-or-none write with its result. Other targets throw when result\n * storage fails so a retry can reconcile it. Runtime never invokes this write\n * function after authorization expires.\n */\nexport type AgentImprovementActivationTransition = (\n input: AgentImprovementActivationTransitionInput,\n) => Promise<unknown>\n\n/**\n * Target-read-only check for a prior exact write.\n * It may persist recovered result metadata, but must not change an activation target.\n * Return undefined only when no target write can have committed.\n */\nexport type AgentImprovementActivationReconciliation = (\n input: AgentImprovementActivationTransitionInput,\n) => Promise<unknown | undefined>\n\nexport interface ExecuteAgentImprovementActivationInput {\n proposal: AgentImprovementProposal\n review: AgentImprovementReview\n activation: AgentImprovementActivation\n}\n\nexport interface ExecuteAgentImprovementActivationOptions {\n transition: AgentImprovementActivationTransition\n reconcile?: AgentImprovementActivationReconciliation\n now?: () => Date\n}\n\n/** Create the exact result a product stores in the same transaction as its target write. */\nexport function createAgentImprovementActivationResult(\n transition: AgentImprovementActivationTransitionInput,\n options: CreateAgentImprovementActivationResultOptions,\n): AgentImprovementActivationResult {\n const activation = verifyCanonicalCandidateDocument(\n agentImprovementActivationSchema.parse(transition.activation),\n 'agent improvement activation',\n )\n assertTransitionInput(activation, transition)\n const result = agentImprovementActivationResultSchema.parse(\n canonicalCandidateDocument<AgentImprovementActivationResult>({\n kind: 'agent-improvement-activation-result',\n idempotencyKey: activation.digest,\n attemptedAt: transition.attemptedAt,\n completedAt: options.completedAt,\n outcome: options.outcome,\n }).value,\n )\n assertResultAgainstActivation(activation, result)\n assertOutcomeDesiredState(\n activation,\n result,\n new Map(transition.targets.map((target) => [targetIdentity(target), target.desiredDigest])),\n )\n return immutableCandidateValue(result)\n}\n\n/**\n * Recompute one historical activation result against the exact measured proposal and authority.\n * The result records that attempt; it is not a query of the target's current state.\n */\nexport function verifyAgentImprovementActivationResult(input: {\n proposal: unknown\n review: unknown\n activation: unknown\n result: unknown\n}): AgentImprovementActivationResult {\n const proposal = verifyAgentImprovementProposal(input.proposal)\n const activation = verifyAgentImprovementActivation(input)\n const result = verifyCanonicalCandidateDocument(\n agentImprovementActivationResultSchema.parse(input.result),\n 'agent improvement activation result',\n )\n assertResultAgainstActivation(activation, result)\n assertResultDesiredState(proposal, activation, result)\n return result\n}\n\n/** Validate and execute one product-owned activation transition. */\nexport async function executeAgentImprovementActivation(\n input: ExecuteAgentImprovementActivationInput,\n options: ExecuteAgentImprovementActivationOptions,\n): Promise<AgentImprovementActivationResult> {\n const proposal = verifyAgentImprovementProposal(input.proposal)\n const activation = verifyAgentImprovementActivation(input)\n const observedAt = (options.now ?? (() => new Date()))().toISOString()\n const attemptedAt =\n Date.parse(observedAt) < Date.parse(activation.authorizedAt)\n ? activation.authorizedAt\n : observedAt\n const expired = Date.parse(attemptedAt) >= Date.parse(activation.expiresAt)\n const transition = immutableCandidateValue<AgentImprovementActivationTransitionInput>(\n proposal.evaluation.kind === 'agent-improvement-measured-comparison'\n ? sealedCandidateTransition(proposal.evaluation.experiment, activation, attemptedAt, expired)\n : profileImprovementTransition(\n proposal.evaluation.experiment,\n activation,\n attemptedAt,\n expired,\n ),\n )\n\n if (transition.expired) {\n if (!options.reconcile) {\n return uncertainActivationResult(transition, 'RECONCILIATION_UNAVAILABLE')\n }\n let reconciled: unknown\n try {\n reconciled = await options.reconcile(transition)\n } catch {\n return uncertainActivationResult(transition, 'RECONCILIATION_THROW')\n }\n if (reconciled === undefined) {\n return createAgentImprovementActivationResult(transition, {\n completedAt: transition.attemptedAt,\n outcome: { status: 'expired' },\n })\n }\n try {\n return verifyAgentImprovementActivationResult({ ...input, result: reconciled })\n } catch {\n return uncertainActivationResult(transition, 'INVALID_RECONCILIATION')\n }\n }\n\n let rawResult: unknown\n try {\n rawResult = await options.transition(transition)\n } catch {\n return uncertainActivationResult(transition, 'TRANSITION_THROW')\n }\n try {\n return verifyAgentImprovementActivationResult({ ...input, result: rawResult })\n } catch {\n return uncertainActivationResult(transition, 'INVALID_RESULT')\n }\n}\n\nfunction sealedCandidateTransition(\n experiment: AgentCandidateExperiment,\n activation: AgentImprovementActivation,\n attemptedAt: string,\n expired: boolean,\n): SealedCandidateActivationTransitionInput {\n const targetArm = activation.intent === 'activate-candidate' ? 'candidate' : 'baseline'\n return {\n kind: 'sealed-candidate',\n activation,\n candidateBundle: experiment.candidate,\n bundle: experiment[targetArm],\n targets: activation.targets.map((target) => ({\n ...target,\n desiredDigest: agentImprovementTargetDigest(experiment, targetArm, target.surface),\n desiredInput: agentImprovementTargetInput(experiment[targetArm], target.surface),\n })) as SealedCandidateActivationTransitionInput['targets'],\n attemptedAt,\n expired,\n }\n}\n\nfunction profileImprovementTransition(\n experiment: AgentProfileImprovementExperiment,\n activation: AgentImprovementActivation,\n attemptedAt: string,\n expired: boolean,\n): ProfileImprovementActivationTransitionInput {\n const sourceArm = activation.intent === 'activate-candidate' ? 'baseline' : 'candidate'\n const targetArm = activation.intent === 'activate-candidate' ? 'candidate' : 'baseline'\n const operation = profileImprovementOperation(experiment, activation.intent)\n return {\n kind: 'profile-improvement',\n activation,\n experiment,\n sourceStateDigest: agentProfileImprovementStateDigest(experiment, sourceArm),\n desiredStateDigest: agentProfileImprovementStateDigest(experiment, targetArm),\n operation,\n targets: activation.targets.map((target) => ({\n ...target,\n desiredDigest: agentProfileImprovementStateDigest(experiment, targetArm),\n desiredInput: operation,\n })) as ProfileImprovementActivationTransitionInput['targets'],\n attemptedAt,\n expired,\n }\n}\n\nfunction profileImprovementOperation(\n experiment: AgentProfileImprovementExperiment,\n intent: AgentImprovementActivation['intent'],\n): AgentProfileImprovementActivationOperation {\n return intent === 'activate-candidate'\n ? { kind: 'apply-change', changes: experiment.change }\n : { kind: 'restore-state' }\n}\n\nfunction uncertainActivationResult(\n transition: AgentImprovementActivationTransitionInput,\n code: string,\n): AgentImprovementActivationResult {\n return createAgentImprovementActivationResult(transition, {\n completedAt: transition.attemptedAt,\n outcome: {\n status: 'indeterminate',\n code,\n message: 'The product transition did not return a trustworthy commit result.',\n },\n })\n}\n\nfunction assertTransitionInput(\n activation: AgentImprovementActivation,\n transition: AgentImprovementActivationTransitionInput,\n): void {\n if (transition.kind === 'sealed-candidate') {\n assertSealedCandidateTransitionInput(activation, transition)\n return\n }\n assertProfileImprovementTransitionInput(activation, transition)\n}\n\nfunction assertSealedCandidateTransitionInput(\n activation: AgentImprovementActivation,\n transition: SealedCandidateActivationTransitionInput,\n): void {\n assertAuthorizedTransitionTargets(activation, transition.targets)\n const desiredInputsMatch = transition.targets.every(\n (target) =>\n canonicalCandidateDigest(target.desiredInput) ===\n canonicalCandidateDigest(agentImprovementTargetInput(transition.bundle, target.surface)),\n )\n if (\n transition.expired !== Date.parse(transition.attemptedAt) >= Date.parse(activation.expiresAt) ||\n transition.candidateBundle.digest !== activation.candidateDigest ||\n !desiredInputsMatch ||\n (activation.intent === 'activate-candidate' &&\n transition.bundle.digest !== transition.candidateBundle.digest)\n ) {\n throw new Error('activation transition does not match its authorization')\n }\n}\n\nfunction assertProfileImprovementTransitionInput(\n activation: AgentImprovementActivation,\n transition: ProfileImprovementActivationTransitionInput,\n): void {\n assertAuthorizedTransitionTargets(activation, transition.targets)\n const targetsAgentProfile = activation.targets.some(\n (target) => target.surface === 'agent-profile',\n )\n const experiment = agentProfileImprovementExperimentSchema.parse(transition.experiment)\n const sourceArm = activation.intent === 'activate-candidate' ? 'baseline' : 'candidate'\n const targetArm = activation.intent === 'activate-candidate' ? 'candidate' : 'baseline'\n const sourceStateDigest = agentProfileImprovementStateDigest(experiment, sourceArm)\n const desiredStateDigest = agentProfileImprovementStateDigest(experiment, targetArm)\n const operation = profileImprovementOperation(experiment, activation.intent)\n const targetsMatch = transition.targets.every(\n (target) =>\n target.expectedBaseDigest === sourceStateDigest &&\n target.desiredDigest === desiredStateDigest &&\n canonicalCandidateDigest(target.desiredInput) === canonicalCandidateDigest(operation),\n )\n if (\n transition.expired !== Date.parse(transition.attemptedAt) >= Date.parse(activation.expiresAt) ||\n experiment.digest !== activation.experimentDigest ||\n experiment.candidate.stateDigest !== activation.candidateDigest ||\n (targetsAgentProfile &&\n (activation.executionRef === undefined ||\n canonicalCandidateDigest(activation.executionRef) !==\n canonicalCandidateDigest(experiment.executionRef))) ||\n transition.sourceStateDigest !== sourceStateDigest ||\n transition.desiredStateDigest !== desiredStateDigest ||\n canonicalCandidateDigest(transition.operation) !== canonicalCandidateDigest(operation) ||\n !targetsMatch\n ) {\n throw new Error('activation transition does not match its authorization')\n }\n}\n\nfunction assertAuthorizedTransitionTargets(\n activation: AgentImprovementActivation,\n targets: readonly AgentImprovementActivationTargetPlan[],\n): void {\n const authorized = targetMap(activation.targets)\n const planned = targetMap(targets)\n if (\n authorized.size !== planned.size ||\n [...authorized.entries()].some(\n ([identity, target]) =>\n planned.get(identity)?.expectedBaseDigest !== target.expectedBaseDigest,\n )\n ) {\n throw new Error('activation transition does not match its authorization')\n }\n}\n\nfunction assertResultAgainstActivation(\n activation: AgentImprovementActivation,\n result: AgentImprovementActivationResult,\n): void {\n const attemptedAt = Date.parse(result.attemptedAt)\n const completedAt = Date.parse(result.completedAt)\n const expiresAt = Date.parse(activation.expiresAt)\n if (\n result.idempotencyKey !== activation.digest ||\n attemptedAt < Date.parse(activation.authorizedAt) ||\n completedAt < attemptedAt\n ) {\n throw new Error('activation result does not bind its authorization')\n }\n const expired = attemptedAt >= expiresAt\n if (\n (result.outcome.status === 'expired' && !expired) ||\n (expired && !['expired', 'indeterminate', 'already-applied'].includes(result.outcome.status))\n ) {\n throw new Error('activation result does not honor its authorization expiry')\n }\n if (!('targets' in result.outcome)) return\n const authorized = targetMap(activation.targets)\n const observed = new Set(result.outcome.targets.map(targetIdentity))\n if (\n authorized.size !== observed.size ||\n [...authorized.keys()].some((identity) => !observed.has(identity))\n ) {\n throw new Error('activation result must cover every authorized target exactly once')\n }\n if (\n result.outcome.status === 'applied' &&\n result.outcome.targets.some(\n (target) =>\n target.beforeDigest !== authorized.get(targetIdentity(target))?.expectedBaseDigest,\n )\n ) {\n throw new Error('applied activation did not start from its authorized base state')\n }\n}\n\nfunction assertResultDesiredState(\n proposal: AgentImprovementProposal,\n activation: AgentImprovementActivation,\n result: AgentImprovementActivationResult,\n): void {\n if (!('targets' in result.outcome)) return\n const targetArm = activation.intent === 'activate-candidate' ? 'candidate' : 'baseline'\n const desiredStateDigest =\n proposal.evaluation.kind === 'agent-profile-improvement-measured-comparison'\n ? agentProfileImprovementStateDigest(proposal.evaluation.experiment, targetArm)\n : undefined\n const desired = new Map(\n activation.targets.map((target) => [\n targetIdentity(target),\n desiredStateDigest ??\n agentImprovementTargetDigest(\n requireSealedCandidateExperiment(proposal),\n targetArm,\n target.surface,\n ),\n ]),\n )\n assertOutcomeDesiredState(activation, result, desired)\n}\n\nfunction assertOutcomeDesiredState(\n activation: AgentImprovementActivation,\n result: AgentImprovementActivationResult,\n desired: ReadonlyMap<string, Sha256Digest>,\n): void {\n if (!('targets' in result.outcome)) return\n if (result.outcome.status === 'applied') {\n if (\n result.outcome.targets.some(\n (target) => target.afterDigest !== desired.get(targetIdentity(target)),\n )\n ) {\n throw new Error('applied activation does not match the requested bundle')\n }\n return\n }\n const allDesired = result.outcome.targets.every(\n (target) => target.currentDigest === desired.get(targetIdentity(target)),\n )\n if (result.outcome.status === 'already-applied') {\n if (!allDesired) throw new Error('already-applied activation is not at the requested state')\n return\n }\n const authorized = targetMap(activation.targets)\n const hasStaleTarget = result.outcome.targets.some(\n (target) => target.currentDigest !== authorized.get(targetIdentity(target))?.expectedBaseDigest,\n )\n if (allDesired || !hasStaleTarget) {\n throw new Error('activation conflict does not identify stale target state')\n }\n}\n\nfunction targetMap<T extends { surface: AgentImprovementSurface; identity: string }>(\n targets: readonly T[],\n): Map<string, T> {\n return new Map(targets.map((target) => [targetIdentity(target), target]))\n}\n\nfunction targetIdentity(target: { surface: AgentImprovementSurface; identity: string }): string {\n return `${target.surface}\\u0000${target.identity}`\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"activation-DPpb2I8z.js","names":["canonicalCandidateDigest"],"sources":["../src/runtime-usage.ts","../src/intelligence/activation.ts"],"sourcesContent":["import type { RuntimeStreamEvent } from './types'\n\n/** Observed subtotals, with missing measurements kept separate from measured zeroes. */\nexport interface RuntimeUsageTotals {\n /** Observed input tokens across normalized per-call events. */\n tokensIn: number\n /** Observed output tokens across normalized per-call events. */\n tokensOut: number\n /** Observed dollar subtotal; incomplete when `usdKnown` is false. */\n costUsd: number\n /** Number of observed model calls, including unpriced or incompletely metered calls. */\n llmCalls: number\n /** False when any observed call has incomplete token usage. */\n tokensKnown?: false\n /** False when any observed call lacks complete provider-billed cost. */\n usdKnown?: false\n /** Sum of reported external estimates; never included in `costUsd` or proof of complete cost. */\n estimatedCostUsd?: number\n}\n\nexport function createRuntimeUsageTotals(): RuntimeUsageTotals {\n return { tokensIn: 0, tokensOut: 0, costUsd: 0, llmCalls: 0 }\n}\n\nexport function isUsageAmount(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value) && value >= 0\n}\n\n/** Fold normalized per-call events. Backend adapters own cumulative receipt reconciliation. */\nexport function addRuntimeUsage(\n totals: RuntimeUsageTotals,\n event: Extract<RuntimeStreamEvent, { type: 'llm_call' }>,\n): void {\n totals.llmCalls += 1\n for (const key of ['tokensIn', 'tokensOut', 'costUsd'] as const) {\n const value = event[key]\n if (isUsageAmount(value)) totals[key] += value\n else if (key === 'costUsd') totals.usdKnown = false\n else totals.tokensKnown = false\n }\n if (event.tokensKnown === false) totals.tokensKnown = false\n if (event.usdKnown === false) totals.usdKnown = false\n if (isUsageAmount(event.estimatedCostUsd)) {\n totals.estimatedCostUsd = (totals.estimatedCostUsd ?? 0) + event.estimatedCostUsd\n }\n}\n","import type {\n AgentCandidateBundle,\n AgentCandidateExperiment,\n AgentImprovementActivation,\n AgentImprovementActivationOutcome,\n AgentImprovementActivationResult,\n AgentImprovementActivationTarget,\n AgentImprovementProposal,\n AgentImprovementReview,\n AgentImprovementSurface,\n AgentProfileImprovementChange,\n AgentProfileImprovementExperiment,\n Sha256Digest,\n} from '@tangle-network/agent-interface'\nimport {\n agentImprovementActivationResultSchema,\n agentImprovementActivationSchema,\n agentProfileImprovementExperimentSchema,\n} from '@tangle-network/agent-interface'\n\nimport {\n canonicalCandidateDigest,\n canonicalCandidateDocument,\n immutableCandidateValue,\n verifyCanonicalCandidateDocument,\n} from '../candidate-execution/digest'\nimport {\n requireSealedCandidateExperiment,\n verifyAgentImprovementActivation,\n verifyAgentImprovementProposal,\n} from './improvement-cycle'\nimport {\n agentImprovementTargetDigest,\n agentImprovementTargetInput,\n agentProfileImprovementStateDigest,\n} from './improvement-surfaces'\n\nexport interface CreateAgentImprovementActivationResultOptions {\n completedAt: string\n outcome: AgentImprovementActivationOutcome\n}\n\nexport interface AgentImprovementActivationTargetPlan extends AgentImprovementActivationTarget {\n desiredDigest: Sha256Digest\n /**\n * Exact measured input the product must apply to reach `desiredDigest`.\n * Transition surfaces such as code and knowledge are applied operations, so\n * their resulting state digest is not the digest of this input document.\n */\n desiredInput: unknown\n}\n\nexport type AgentProfileImprovementActivationOperation =\n | {\n kind: 'apply-change'\n changes: AgentProfileImprovementChange\n }\n | {\n /** The product must load its own saved state at `desiredStateDigest`. */\n kind: 'restore-state'\n }\n\nexport interface AgentProfileImprovementActivationTargetPlan\n extends AgentImprovementActivationTarget {\n desiredDigest: Sha256Digest\n desiredInput: AgentProfileImprovementActivationOperation\n}\n\nexport interface SealedCandidateActivationTransitionInput {\n kind: 'sealed-candidate'\n activation: AgentImprovementActivation\n candidateBundle: AgentCandidateBundle\n bundle: AgentCandidateBundle\n targets: [AgentImprovementActivationTargetPlan, ...AgentImprovementActivationTargetPlan[]]\n attemptedAt: string\n expired: boolean\n}\n\n/**\n * A measured profile change without raw profile bytes.\n * The product owns the private state lookup and atomic write.\n */\nexport interface ProfileImprovementActivationTransitionInput {\n kind: 'profile-improvement'\n activation: AgentImprovementActivation\n experiment: AgentProfileImprovementExperiment\n sourceStateDigest: Sha256Digest\n desiredStateDigest: Sha256Digest\n operation: AgentProfileImprovementActivationOperation\n targets: [\n AgentProfileImprovementActivationTargetPlan,\n ...AgentProfileImprovementActivationTargetPlan[],\n ]\n attemptedAt: string\n expired: boolean\n}\n\nexport type AgentImprovementActivationTransitionInput =\n | SealedCandidateActivationTransitionInput\n | ProfileImprovementActivationTransitionInput\n\nexport interface AgentImprovementActivationResultStore {\n load(idempotencyKey: Sha256Digest): Promise<unknown | undefined>\n putIfAbsent(result: AgentImprovementActivationResult): Promise<unknown>\n}\n\n/**\n * Product-owned or Runtime-composed transition.\n *\n * Implementations resolve a stored result for `activation.digest`, compare\n * every target, and make the write durably idempotent. Co-located targets store\n * the all-or-none write with its result. Other targets throw when result\n * storage fails so a retry can reconcile it. Runtime never invokes this write\n * function after authorization expires.\n */\nexport type AgentImprovementActivationTransition = (\n input: AgentImprovementActivationTransitionInput,\n) => Promise<unknown>\n\n/**\n * Target-read-only check for a prior exact write.\n * It may persist recovered result metadata, but must not change an activation target.\n * Return undefined only when no target write can have committed.\n */\nexport type AgentImprovementActivationReconciliation = (\n input: AgentImprovementActivationTransitionInput,\n) => Promise<unknown | undefined>\n\nexport interface ExecuteAgentImprovementActivationInput {\n proposal: AgentImprovementProposal\n review: AgentImprovementReview\n activation: AgentImprovementActivation\n}\n\nexport interface ExecuteAgentImprovementActivationOptions {\n transition: AgentImprovementActivationTransition\n reconcile?: AgentImprovementActivationReconciliation\n now?: () => Date\n}\n\n/** Create the exact result a product stores in the same transaction as its target write. */\nexport function createAgentImprovementActivationResult(\n transition: AgentImprovementActivationTransitionInput,\n options: CreateAgentImprovementActivationResultOptions,\n): AgentImprovementActivationResult {\n const activation = verifyCanonicalCandidateDocument(\n agentImprovementActivationSchema.parse(transition.activation),\n 'agent improvement activation',\n )\n assertTransitionInput(activation, transition)\n const result = agentImprovementActivationResultSchema.parse(\n canonicalCandidateDocument<AgentImprovementActivationResult>({\n kind: 'agent-improvement-activation-result',\n idempotencyKey: activation.digest,\n attemptedAt: transition.attemptedAt,\n completedAt: options.completedAt,\n outcome: options.outcome,\n }).value,\n )\n assertResultAgainstActivation(activation, result)\n assertOutcomeDesiredState(\n activation,\n result,\n new Map(transition.targets.map((target) => [targetIdentity(target), target.desiredDigest])),\n )\n return immutableCandidateValue(result)\n}\n\n/**\n * Recompute one historical activation result against the exact measured proposal and authority.\n * The result records that attempt; it is not a query of the target's current state.\n */\nexport function verifyAgentImprovementActivationResult(input: {\n proposal: unknown\n review: unknown\n activation: unknown\n result: unknown\n}): AgentImprovementActivationResult {\n const proposal = verifyAgentImprovementProposal(input.proposal)\n const activation = verifyAgentImprovementActivation(input)\n const result = verifyCanonicalCandidateDocument(\n agentImprovementActivationResultSchema.parse(input.result),\n 'agent improvement activation result',\n )\n assertResultAgainstActivation(activation, result)\n assertResultDesiredState(proposal, activation, result)\n return result\n}\n\n/** Validate and execute one product-owned activation transition. */\nexport async function executeAgentImprovementActivation(\n input: ExecuteAgentImprovementActivationInput,\n options: ExecuteAgentImprovementActivationOptions,\n): Promise<AgentImprovementActivationResult> {\n const proposal = verifyAgentImprovementProposal(input.proposal)\n const activation = verifyAgentImprovementActivation(input)\n const observedAt = (options.now ?? (() => new Date()))().toISOString()\n const attemptedAt =\n Date.parse(observedAt) < Date.parse(activation.authorizedAt)\n ? activation.authorizedAt\n : observedAt\n const expired = Date.parse(attemptedAt) >= Date.parse(activation.expiresAt)\n const transition = immutableCandidateValue<AgentImprovementActivationTransitionInput>(\n proposal.evaluation.kind === 'agent-improvement-measured-comparison'\n ? sealedCandidateTransition(proposal.evaluation.experiment, activation, attemptedAt, expired)\n : profileImprovementTransition(\n proposal.evaluation.experiment,\n activation,\n attemptedAt,\n expired,\n ),\n )\n\n if (transition.expired) {\n if (!options.reconcile) {\n return uncertainActivationResult(transition, 'RECONCILIATION_UNAVAILABLE')\n }\n let reconciled: unknown\n try {\n reconciled = await options.reconcile(transition)\n } catch {\n return uncertainActivationResult(transition, 'RECONCILIATION_THROW')\n }\n if (reconciled === undefined) {\n return createAgentImprovementActivationResult(transition, {\n completedAt: transition.attemptedAt,\n outcome: { status: 'expired' },\n })\n }\n try {\n return verifyAgentImprovementActivationResult({ ...input, result: reconciled })\n } catch {\n return uncertainActivationResult(transition, 'INVALID_RECONCILIATION')\n }\n }\n\n let rawResult: unknown\n try {\n rawResult = await options.transition(transition)\n } catch {\n return uncertainActivationResult(transition, 'TRANSITION_THROW')\n }\n try {\n return verifyAgentImprovementActivationResult({ ...input, result: rawResult })\n } catch {\n return uncertainActivationResult(transition, 'INVALID_RESULT')\n }\n}\n\nfunction sealedCandidateTransition(\n experiment: AgentCandidateExperiment,\n activation: AgentImprovementActivation,\n attemptedAt: string,\n expired: boolean,\n): SealedCandidateActivationTransitionInput {\n const targetArm = activation.intent === 'activate-candidate' ? 'candidate' : 'baseline'\n return {\n kind: 'sealed-candidate',\n activation,\n candidateBundle: experiment.candidate,\n bundle: experiment[targetArm],\n targets: activation.targets.map((target) => ({\n ...target,\n desiredDigest: agentImprovementTargetDigest(experiment, targetArm, target.surface),\n desiredInput: agentImprovementTargetInput(experiment[targetArm], target.surface),\n })) as SealedCandidateActivationTransitionInput['targets'],\n attemptedAt,\n expired,\n }\n}\n\nfunction profileImprovementTransition(\n experiment: AgentProfileImprovementExperiment,\n activation: AgentImprovementActivation,\n attemptedAt: string,\n expired: boolean,\n): ProfileImprovementActivationTransitionInput {\n const sourceArm = activation.intent === 'activate-candidate' ? 'baseline' : 'candidate'\n const targetArm = activation.intent === 'activate-candidate' ? 'candidate' : 'baseline'\n const operation = profileImprovementOperation(experiment, activation.intent)\n return {\n kind: 'profile-improvement',\n activation,\n experiment,\n sourceStateDigest: agentProfileImprovementStateDigest(experiment, sourceArm),\n desiredStateDigest: agentProfileImprovementStateDigest(experiment, targetArm),\n operation,\n targets: activation.targets.map((target) => ({\n ...target,\n desiredDigest: agentProfileImprovementStateDigest(experiment, targetArm),\n desiredInput: operation,\n })) as ProfileImprovementActivationTransitionInput['targets'],\n attemptedAt,\n expired,\n }\n}\n\nfunction profileImprovementOperation(\n experiment: AgentProfileImprovementExperiment,\n intent: AgentImprovementActivation['intent'],\n): AgentProfileImprovementActivationOperation {\n return intent === 'activate-candidate'\n ? { kind: 'apply-change', changes: experiment.change }\n : { kind: 'restore-state' }\n}\n\nfunction uncertainActivationResult(\n transition: AgentImprovementActivationTransitionInput,\n code: string,\n): AgentImprovementActivationResult {\n return createAgentImprovementActivationResult(transition, {\n completedAt: transition.attemptedAt,\n outcome: {\n status: 'indeterminate',\n code,\n message: 'The product transition did not return a trustworthy commit result.',\n },\n })\n}\n\nfunction assertTransitionInput(\n activation: AgentImprovementActivation,\n transition: AgentImprovementActivationTransitionInput,\n): void {\n if (transition.kind === 'sealed-candidate') {\n assertSealedCandidateTransitionInput(activation, transition)\n return\n }\n assertProfileImprovementTransitionInput(activation, transition)\n}\n\nfunction assertSealedCandidateTransitionInput(\n activation: AgentImprovementActivation,\n transition: SealedCandidateActivationTransitionInput,\n): void {\n assertAuthorizedTransitionTargets(activation, transition.targets)\n const desiredInputsMatch = transition.targets.every(\n (target) =>\n canonicalCandidateDigest(target.desiredInput) ===\n canonicalCandidateDigest(agentImprovementTargetInput(transition.bundle, target.surface)),\n )\n if (\n transition.expired !== Date.parse(transition.attemptedAt) >= Date.parse(activation.expiresAt) ||\n transition.candidateBundle.digest !== activation.candidateDigest ||\n !desiredInputsMatch ||\n (activation.intent === 'activate-candidate' &&\n transition.bundle.digest !== transition.candidateBundle.digest)\n ) {\n throw new Error('activation transition does not match its authorization')\n }\n}\n\nfunction assertProfileImprovementTransitionInput(\n activation: AgentImprovementActivation,\n transition: ProfileImprovementActivationTransitionInput,\n): void {\n assertAuthorizedTransitionTargets(activation, transition.targets)\n const targetsAgentProfile = activation.targets.some(\n (target) => target.surface === 'agent-profile',\n )\n const experiment = agentProfileImprovementExperimentSchema.parse(transition.experiment)\n const sourceArm = activation.intent === 'activate-candidate' ? 'baseline' : 'candidate'\n const targetArm = activation.intent === 'activate-candidate' ? 'candidate' : 'baseline'\n const sourceStateDigest = agentProfileImprovementStateDigest(experiment, sourceArm)\n const desiredStateDigest = agentProfileImprovementStateDigest(experiment, targetArm)\n const operation = profileImprovementOperation(experiment, activation.intent)\n const targetsMatch = transition.targets.every(\n (target) =>\n target.expectedBaseDigest === sourceStateDigest &&\n target.desiredDigest === desiredStateDigest &&\n canonicalCandidateDigest(target.desiredInput) === canonicalCandidateDigest(operation),\n )\n if (\n transition.expired !== Date.parse(transition.attemptedAt) >= Date.parse(activation.expiresAt) ||\n experiment.digest !== activation.experimentDigest ||\n experiment.candidate.stateDigest !== activation.candidateDigest ||\n (targetsAgentProfile &&\n (activation.executionRef === undefined ||\n canonicalCandidateDigest(activation.executionRef) !==\n canonicalCandidateDigest(experiment.executionRef))) ||\n transition.sourceStateDigest !== sourceStateDigest ||\n transition.desiredStateDigest !== desiredStateDigest ||\n canonicalCandidateDigest(transition.operation) !== canonicalCandidateDigest(operation) ||\n !targetsMatch\n ) {\n throw new Error('activation transition does not match its authorization')\n }\n}\n\nfunction assertAuthorizedTransitionTargets(\n activation: AgentImprovementActivation,\n targets: readonly AgentImprovementActivationTargetPlan[],\n): void {\n const authorized = targetMap(activation.targets)\n const planned = targetMap(targets)\n if (\n authorized.size !== planned.size ||\n [...authorized.entries()].some(\n ([identity, target]) =>\n planned.get(identity)?.expectedBaseDigest !== target.expectedBaseDigest,\n )\n ) {\n throw new Error('activation transition does not match its authorization')\n }\n}\n\nfunction assertResultAgainstActivation(\n activation: AgentImprovementActivation,\n result: AgentImprovementActivationResult,\n): void {\n const attemptedAt = Date.parse(result.attemptedAt)\n const completedAt = Date.parse(result.completedAt)\n const expiresAt = Date.parse(activation.expiresAt)\n if (\n result.idempotencyKey !== activation.digest ||\n attemptedAt < Date.parse(activation.authorizedAt) ||\n completedAt < attemptedAt\n ) {\n throw new Error('activation result does not bind its authorization')\n }\n const expired = attemptedAt >= expiresAt\n if (\n (result.outcome.status === 'expired' && !expired) ||\n (expired && !['expired', 'indeterminate', 'already-applied'].includes(result.outcome.status))\n ) {\n throw new Error('activation result does not honor its authorization expiry')\n }\n if (!('targets' in result.outcome)) return\n const authorized = targetMap(activation.targets)\n const observed = new Set(result.outcome.targets.map(targetIdentity))\n if (\n authorized.size !== observed.size ||\n [...authorized.keys()].some((identity) => !observed.has(identity))\n ) {\n throw new Error('activation result must cover every authorized target exactly once')\n }\n if (\n result.outcome.status === 'applied' &&\n result.outcome.targets.some(\n (target) =>\n target.beforeDigest !== authorized.get(targetIdentity(target))?.expectedBaseDigest,\n )\n ) {\n throw new Error('applied activation did not start from its authorized base state')\n }\n}\n\nfunction assertResultDesiredState(\n proposal: AgentImprovementProposal,\n activation: AgentImprovementActivation,\n result: AgentImprovementActivationResult,\n): void {\n if (!('targets' in result.outcome)) return\n const targetArm = activation.intent === 'activate-candidate' ? 'candidate' : 'baseline'\n const desiredStateDigest =\n proposal.evaluation.kind === 'agent-profile-improvement-measured-comparison'\n ? agentProfileImprovementStateDigest(proposal.evaluation.experiment, targetArm)\n : undefined\n const desired = new Map(\n activation.targets.map((target) => [\n targetIdentity(target),\n desiredStateDigest ??\n agentImprovementTargetDigest(\n requireSealedCandidateExperiment(proposal),\n targetArm,\n target.surface,\n ),\n ]),\n )\n assertOutcomeDesiredState(activation, result, desired)\n}\n\nfunction assertOutcomeDesiredState(\n activation: AgentImprovementActivation,\n result: AgentImprovementActivationResult,\n desired: ReadonlyMap<string, Sha256Digest>,\n): void {\n if (!('targets' in result.outcome)) return\n if (result.outcome.status === 'applied') {\n if (\n result.outcome.targets.some(\n (target) => target.afterDigest !== desired.get(targetIdentity(target)),\n )\n ) {\n throw new Error('applied activation does not match the requested bundle')\n }\n return\n }\n const allDesired = result.outcome.targets.every(\n (target) => target.currentDigest === desired.get(targetIdentity(target)),\n )\n if (result.outcome.status === 'already-applied') {\n if (!allDesired) throw new Error('already-applied activation is not at the requested state')\n return\n }\n const authorized = targetMap(activation.targets)\n const hasStaleTarget = result.outcome.targets.some(\n (target) => target.currentDigest !== authorized.get(targetIdentity(target))?.expectedBaseDigest,\n )\n if (allDesired || !hasStaleTarget) {\n throw new Error('activation conflict does not identify stale target state')\n }\n}\n\nfunction targetMap<T extends { surface: AgentImprovementSurface; identity: string }>(\n targets: readonly T[],\n): Map<string, T> {\n return new Map(targets.map((target) => [targetIdentity(target), target]))\n}\n\nfunction targetIdentity(target: { surface: AgentImprovementSurface; identity: string }): string {\n return `${target.surface}\\u0000${target.identity}`\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fi as AgentTurnUsage, Ii as CollectedAgentTurn, OC as WorkerSlots, f_ as SharedBoxPlacement, ix as OtelExportConfig, p_ as SharedBoxPlacementOptions, rw as BudgetPool, ug as ExecutorConfig } from "./index-Da7w2H86.js";
|
|
2
2
|
import { AgentCandidateBundle, AgentImprovementActivation, AgentImprovementActivationOutcome, AgentImprovementActivationResult, AgentImprovementActivationTarget, AgentImprovementProposal, AgentImprovementReview, AgentImprovementSurface, AgentProfile, AgentProfileImprovementChange, AgentProfileImprovementExperiment, AgentTrainingReceipt, AgentTrainingTask, HarnessType, ReasoningEffort, Sha256Digest } from "@tangle-network/agent-interface";
|
|
3
3
|
import { CostLedgerHandle, CostReceiptInput, MaximumCharge, PairedPromotionDecision, PendingCostCallView, ProposalFinding, RunRecord } from "@tangle-network/agent-eval";
|
|
4
4
|
import { CampaignCellResult, CampaignScenarioIdentity, CampaignStorage, CompareOptimizationMethodsOptions, OptimizationMethod, OptimizationMethodComparison, Scenario, SearchAllocator, SearchCellResult, SearchCellStage, SearchClaim, SearchClaimVerification, SearchHistoryReceipt, SearchLane, SearchModelIdentity, SearchPolicy, SearchSourceRef, SearchSplit, SearchStateView, SurfaceProposer, WorktreeAdapter } from "@tangle-network/agent-eval/campaign";
|
|
@@ -1013,4 +1013,4 @@ declare function verifyAgentImprovementActivationResult(input: {
|
|
|
1013
1013
|
declare function executeAgentImprovementActivation(input: ExecuteAgentImprovementActivationInput, options: ExecuteAgentImprovementActivationOptions): Promise<AgentImprovementActivationResult>;
|
|
1014
1014
|
//#endregion
|
|
1015
1015
|
export { ImproveScenarioPartitions as $, createCommandProfileTrainer as A, AgenticGeneratorShotReceipt as At, ImproveMethodContext as B, ControlledTrainingCommand as C, subscriptionLane as Ct, ProfileTrainerRequest as D, AgenticGeneratorOptions as Dt, ProfileTrainer as E, AgenticGeneratorExecutorForWorktree as Et, ImproveCodeResult as F, defaultBuildPrompt as Ft, ImproveMethodSource as G, ImproveMethodLineage as H, ImproveCodeRunOptions as I, CandidateGenerator as It, ImproveProfileAgent as J, ImproveOptimizationRunOptions as K, ImproveCost as L, ImproveCandidateValidator as M, VerifyResult as Mt, ImproveCodeBaseOptions as N, agenticGenerator as Nt, TrainingBoundaryResult as O, AgenticGeneratorShotDisposition as Ot, ImproveCodeOptions as P, commandVerifier as Pt, ImproveRuntimeCodeGeneratorOptions as Q, ImproveCustomCodeGeneratorOptions as R, CheckpointServingPort as S, sharedBoxLane as St, ImproveTrainingResult as T, ReadonlyAgentProfile as Tt, ImproveMethodOptions as U, ImproveMethodFactory as V, ImproveMethodResult as W, ImproveProfileSurface as X, ImproveProfileComponents as Y, ImproveResult as Z, SearchMethodOptions as _, SearchTraceOptions as _t, AgentImprovementActivationTransitionInput as a, ImproveSkillsOptions as at, SearchImprovementDecision as b, isSearchEnvironmentFault as bt, CreateAgentImprovementActivationResultOptions as c, ImprovementCodeCandidate as ct, ProfileImprovementActivationTransitionInput as d, SearchPromotion as dt, ImproveSearchAgent as et, SealedCandidateActivationTransitionInput as f, SearchCellContext as ft, improve as g, SearchLaneOptions as gt, verifyAgentImprovementActivationResult as h, SearchLaneKind as ht, AgentImprovementActivationTransition as i, ImproveSearchResult as it, ImproveCandidateValidationInput as j, Verifier as jt, TrainingDatasetDocument as k, AgenticGeneratorShotExecution as kt, ExecuteAgentImprovementActivationInput as l, ImprovementProfileCandidate as lt, executeAgentImprovementActivation as m, SearchLane$1 as mt, AgentImprovementActivationResultStore as n, ImproveSearchMethod as nt, AgentProfileImprovementActivationOperation as o, ImproveSurface as ot, createAgentImprovementActivationResult as p, SearchEnvironmentFault as pt, ImproveOptions as q, AgentImprovementActivationTargetPlan as r, ImproveSearchOptions as rt, AgentProfileImprovementActivationTargetPlan as s, ImprovementCandidate as st, AgentImprovementActivationReconciliation as t, ImproveSearchIdentity as tt, ExecuteAgentImprovementActivationOptions as u, SearchDispatchContext as ut, searchMethod as v, SharedBoxSearchLane as vt, ImproveTrainingOptions as w, DeepReadonly as wt, decideSearchImprovement as x, routerLane as xt, DecideSearchImprovementOptions as y, dedicatedLane as yt, ImproveLineage as z };
|
|
1016
|
-
//# sourceMappingURL=activation-
|
|
1016
|
+
//# sourceMappingURL=activation-OColGsfd.d.ts.map
|
package/dist/agent.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ST as RuntimeStreamEvent, Uw as SandboxClient, Vw as OutputAdapter, vw as AgentRunSpec } from "./index-Da7w2H86.js";
|
|
2
2
|
import { a as createSurfaceImprovementProposer, c as SurfaceValidationIssue, d as validateSurfaces, i as SurfaceImprovementEdit, l as renderSurfaceIssues, n as DraftPatchInput, o as AgentSurfaces, r as DraftPatchOutput, s as ResolvedSurface, t as CreateSurfaceImprovementProposerOptions, u as resolveSubjectPath } from "./improvement-adapter-D5gwwoXQ.js";
|
|
3
|
-
import {
|
|
3
|
+
import { C as worktreeCliProfileMaterialization, S as validateProfileMaterialization, _ as promptModelProfileMaterialization, a as DefineProfileMaterializationContractOptions, b as renderProfileMaterializationIssues, c as ProfileMaterializationIssue, d as assertProfileMaterializes, f as controlProfileMaterialization, g as promptControlProfileMaterialization, h as profileMaterializationAxes, i as CanonicalAgentProfileMaterializationAxis, l as ValidateProfileMaterializationOptions, m as fullProfileMaterialization, n as AgentProfileMaterializationAxis, o as KnownAgentProfileMaterializationAxis, p as defineProfileMaterializationContract, r as AssertProfileMaterializationOptions, s as ProfileMaterializationContract, t as AGENT_PROFILE_MATERIALIZATION_AXES, u as assertProfileMaterialization, v as promptOnlyProfileMaterialization, x as sandboxActProfileMaterialization, y as promptResourceProfileMaterialization } from "./profile-materialization-C5-t3HJ7.js";
|
|
4
4
|
import { AgentProfile, AgentProfileFileMount, AgentProfileMcpServer } from "@tangle-network/agent-interface";
|
|
5
5
|
import { TraceAnalystDefinition } from "@tangle-network/agent-eval";
|
|
6
6
|
import { SandboxEvent } from "@tangle-network/sandbox";
|
|
@@ -274,5 +274,5 @@ interface CreateSandboxActOptions<TPersona, TRunOutput> {
|
|
|
274
274
|
*/
|
|
275
275
|
declare function createSandboxAct<TPersona, TRunOutput>(options: CreateSandboxActOptions<TPersona, TRunOutput>): (persona: TPersona, ctx: AgentRunContext) => AgentRunInvocation<TRunOutput>;
|
|
276
276
|
//#endregion
|
|
277
|
-
export { AGENT_PROFILE_MATERIALIZATION_AXES, type AgentManifest, AgentManifestError, type AgentProfileMaterializationAxis, type AgentRubric, type AgentRunContext, type AgentRunInvocation, type AgentRuntime, type AgentSurfaces, type AnalystConfig, type AssertProfileMaterializationOptions, type CanonicalAgentProfileMaterializationAxis, type CreateSandboxActOptions, type CreateSurfaceImprovementProposerOptions, type DefineProfileMaterializationContractOptions, type DraftPatchInput, type DraftPatchOutput, type JudgeConfig, type KnownAgentProfileMaterializationAxis, type ProfileMaterializationContract, type ProfileMaterializationIssue, type ResolvedSurface, type RubricDimension, type SandboxActComposeOverrides, type SurfaceImprovementEdit, type SurfaceValidationIssue, type ValidateProfileMaterializationOptions, assertProfileMaterialization, collectAgentRun, controlProfileMaterialization, createSandboxAct, createSurfaceImprovementProposer, defineAgent, defineProfileMaterializationContract, fullProfileMaterialization, profileMaterializationAxes, promptControlProfileMaterialization, promptModelProfileMaterialization, promptOnlyProfileMaterialization, promptResourceProfileMaterialization, renderProfileMaterializationIssues, renderSurfaceIssues, resolveSubjectPath, sandboxActProfileMaterialization, unimplementedAgentRun, validateProfileMaterialization, validateSurfaces, worktreeCliProfileMaterialization };
|
|
277
|
+
export { AGENT_PROFILE_MATERIALIZATION_AXES, type AgentManifest, AgentManifestError, type AgentProfileMaterializationAxis, type AgentRubric, type AgentRunContext, type AgentRunInvocation, type AgentRuntime, type AgentSurfaces, type AnalystConfig, type AssertProfileMaterializationOptions, type CanonicalAgentProfileMaterializationAxis, type CreateSandboxActOptions, type CreateSurfaceImprovementProposerOptions, type DefineProfileMaterializationContractOptions, type DraftPatchInput, type DraftPatchOutput, type JudgeConfig, type KnownAgentProfileMaterializationAxis, type ProfileMaterializationContract, type ProfileMaterializationIssue, type ResolvedSurface, type RubricDimension, type SandboxActComposeOverrides, type SurfaceImprovementEdit, type SurfaceValidationIssue, type ValidateProfileMaterializationOptions, assertProfileMaterialization, assertProfileMaterializes, collectAgentRun, controlProfileMaterialization, createSandboxAct, createSurfaceImprovementProposer, defineAgent, defineProfileMaterializationContract, fullProfileMaterialization, profileMaterializationAxes, promptControlProfileMaterialization, promptModelProfileMaterialization, promptOnlyProfileMaterialization, promptResourceProfileMaterialization, renderProfileMaterializationIssues, renderSurfaceIssues, resolveSubjectPath, sandboxActProfileMaterialization, unimplementedAgentRun, validateProfileMaterialization, validateSurfaces, worktreeCliProfileMaterialization };
|
|
278
278
|
//# sourceMappingURL=agent.d.ts.map
|
package/dist/agent.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Ai as
|
|
2
|
-
import "./runtime-
|
|
1
|
+
import { Ai as promptOnlyProfileMaterialization, Ci as assertProfileMaterializes, Di as profileMaterializationAxes, Ei as fullProfileMaterialization, Ii as validateProfileMaterialization, Li as worktreeCliProfileMaterialization, Mi as renderProfileMaterializationIssues, Oi as promptControlProfileMaterialization, Pi as sandboxActProfileMaterialization, Si as assertProfileMaterialization, Ti as defineProfileMaterializationContract, ji as promptResourceProfileMaterialization, ki as promptModelProfileMaterialization, ma as mapSandboxEvent, mn as createSandboxForSpec, wi as controlProfileMaterialization, xi as AGENT_PROFILE_MATERIALIZATION_AXES } from "./supervisor--nmU6w86.js";
|
|
2
|
+
import "./runtime-BE4GW_q1.js";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
5
5
|
import { isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
@@ -516,6 +516,6 @@ function applyComposeOverrides(base, overrides) {
|
|
|
516
516
|
};
|
|
517
517
|
}
|
|
518
518
|
//#endregion
|
|
519
|
-
export { AGENT_PROFILE_MATERIALIZATION_AXES, AgentManifestError, assertProfileMaterialization, collectAgentRun, controlProfileMaterialization, createSandboxAct, createSurfaceImprovementProposer, defineAgent, defineProfileMaterializationContract, fullProfileMaterialization, profileMaterializationAxes, promptControlProfileMaterialization, promptModelProfileMaterialization, promptOnlyProfileMaterialization, promptResourceProfileMaterialization, renderProfileMaterializationIssues, renderSurfaceIssues, resolveSubjectPath, sandboxActProfileMaterialization, unimplementedAgentRun, validateProfileMaterialization, validateSurfaces, worktreeCliProfileMaterialization };
|
|
519
|
+
export { AGENT_PROFILE_MATERIALIZATION_AXES, AgentManifestError, assertProfileMaterialization, assertProfileMaterializes, collectAgentRun, controlProfileMaterialization, createSandboxAct, createSurfaceImprovementProposer, defineAgent, defineProfileMaterializationContract, fullProfileMaterialization, profileMaterializationAxes, promptControlProfileMaterialization, promptModelProfileMaterialization, promptOnlyProfileMaterialization, promptResourceProfileMaterialization, renderProfileMaterializationIssues, renderSurfaceIssues, resolveSubjectPath, sandboxActProfileMaterialization, unimplementedAgentRun, validateProfileMaterialization, validateSurfaces, worktreeCliProfileMaterialization };
|
|
520
520
|
|
|
521
521
|
//# sourceMappingURL=agent.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { L as immutableCandidateValue, N as canonicalCandidateDigest$1, R as omitTopLevelDigest } from "./workspace-streams-DFAhW7hF.js";
|
|
2
2
|
import { agentCandidateBundleSchema } from "@tangle-network/agent-interface";
|
|
3
3
|
//#region src/candidate-execution/bundle.ts
|
|
4
4
|
/** Validate and content-address a candidate bundle before it crosses an approval boundary. */
|
|
@@ -14,4 +14,4 @@ function sealAgentCandidateBundle(input) {
|
|
|
14
14
|
//#endregion
|
|
15
15
|
export { sealAgentCandidateBundle as t };
|
|
16
16
|
|
|
17
|
-
//# sourceMappingURL=bundle-
|
|
17
|
+
//# sourceMappingURL=bundle-Cw-QdGmH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-
|
|
1
|
+
{"version":3,"file":"bundle-Cw-QdGmH.js","names":["canonicalCandidateDigest"],"sources":["../src/candidate-execution/bundle.ts"],"sourcesContent":["import type { AgentCandidateBundle } from '@tangle-network/agent-interface'\nimport { agentCandidateBundleSchema } from '@tangle-network/agent-interface'\n\nimport { canonicalCandidateDigest, immutableCandidateValue, omitTopLevelDigest } from './digest'\n\n/** Exact candidate wire shape before the runtime computes its canonical digest. */\nexport type AgentCandidateBundleInput = Omit<AgentCandidateBundle, 'digest'>\n\n/** Validate and content-address a candidate bundle before it crosses an approval boundary. */\nexport function sealAgentCandidateBundle(input: AgentCandidateBundleInput): AgentCandidateBundle {\n const digest = canonicalCandidateDigest(input)\n const parsed = agentCandidateBundleSchema.parse({ ...input, digest })\n const parsedDigest = canonicalCandidateDigest(omitTopLevelDigest(parsed))\n if (parsedDigest !== digest) {\n throw new Error('candidate bundle changed while validating its canonical wire shape')\n }\n return immutableCandidateValue(parsed)\n}\n"],"mappings":";;;;AASA,SAAgB,yBAAyB,OAAwD;CAC/F,MAAM,SAASA,2BAAyB,KAAK;CAC7C,MAAM,SAAS,2BAA2B,MAAM;EAAE,GAAG;EAAO;CAAO,CAAC;CAEpE,IADqBA,2BAAyB,mBAAmB,MAAM,CACxD,MAAM,QACnB,MAAM,IAAI,MAAM,oEAAoE;CAEtF,OAAO,wBAAwB,MAAM;AACvC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as PreparedAgentCandidateLaunch, A as AgentCandidateMemoryPort, B as AgentCandidateProtectedRunCapture, C as AgentCandidateExecutorPort, D as AgentCandidateExecutorTaskOutcomeCapture, E as AgentCandidateExecutorStopRequest, F as AgentCandidateOutputPurpose, G as AgentCandidateWorkspacePort, H as AgentCandidateRunFinalization, I as AgentCandidateProtectedModelActivation, J as CanonicalCandidateDocument, K as CANDIDATE_TRACE_ENV, L as AgentCandidateProtectedModelReservation, M as AgentCandidateModelLimits, N as AgentCandidateModelPort, O as AgentCandidateExecutorWorkspaceFile, P as AgentCandidateOutputArtifactPort, Q as PreparedAgentCandidateKnowledge, R as AgentCandidateProtectedModelSettlement, S as AgentCandidateExecutorMemoryCapture, T as AgentCandidateExecutorRequest, U as AgentCandidateTaskExecution, V as AgentCandidateRepositoryPort, W as AgentCandidateVerificationPorts, X as PreparedAgentCandidateExecution, Y as PersistedTaskOutcomeEvidence, Z as PreparedAgentCandidateInstruction, _ as AgentCandidateBenchmarkGraderIdentity, a as captureAgentCandidateWorkspaceTreeToArtifacts, b as AgentCandidateExecutionPorts, c as verifyAgentCandidateWorkspaceTree, d as CapturedAgentCandidateWorkspace, et as PreparedAgentCandidateTrace, f as CreateAgentCandidateWorkspacePortOptions, g as AgentCandidateArtifactPort, h as createAgentCandidateWorkspacePort, i as captureAgentCandidateWorkspaceToArtifacts, it as AgentCandidateExecutionRoots, j as AgentCandidateMemoryResetResult, k as AgentCandidateExecutorWorkspaceInput, l as AgentCandidateWorkspaceArchiveLimits, m as captureAgentCandidateWorkspaceFiles, n as AgentCandidateWorkspaceTree, nt as VerifiedAgentCandidate, o as materializeAgentCandidateWorkspaceFromArtifacts, p as captureAgentCandidateWorkspace, q as CANDIDATE_TRACE_TAGS, r as CaptureAgentCandidateWorkspaceToArtifactsOptions, rt as VerifiedAgentCandidateTaskOutcome, s as verifyAgentCandidateWorkspaceArtifacts, t as AgentCandidateWorkspaceArtifactsOptions, tt as ResolvedAgentCandidateContainer, u as CaptureAgentCandidateWorkspaceOptions, v as AgentCandidateBenchmarkGraderPort, w as AgentCandidateExecutorProfileFile, x as AgentCandidateExecutorFinalCapture, y as AgentCandidateContainerPort, z as AgentCandidateProtectedModelSettlementCall } from "../workspace-streams-
|
|
2
|
-
import { A as AgentCandidateExecutionPhase, B as AgentCandidatePreparationEvidence, C as AgentCandidateExecutionClaim, D as AgentCandidateExecutionFailureClass, E as AgentCandidateExecutionCleanupHandles, F as AgentCandidateExecutionTerminalResult, I as AgentCandidateRetryRejection, L as InMemoryAgentCandidateExecutionClaimStore, M as AgentCandidateExecutionRecoveryEvidence, N as AgentCandidateExecutionStageResult, O as AgentCandidateExecutionFinishResult, P as AgentCandidateExecutionTerminalRecord, R as InMemoryAgentCandidateExecutionClaimStoreOptions, S as AgentCandidateExecutionAttemptRef, T as AgentCandidateExecutionClaimStore, _ as PrepareAgentCandidateExecutionOptions, a as AgentCandidateModelGrantSettleInput, b as executePreparedAgentCandidate, c as agentCandidateProfileAsAgentProfile, d as freezeGenericAgentCandidateProfile, f as omitUndefinedObjectFields, g as parseExactCandidateProfile, h as parseExactAgentProfileDiff, i as AgentCandidateModelGrantReserveInput, j as AgentCandidateExecutionPhaseResult, k as AgentCandidateExecutionLease, l as applyExactAgentProfileDiff, m as parseExactAgentProfile, n as AgentCandidateModelGrantClient, o as CreateProtectedAgentCandidateModelPortOptions, r as AgentCandidateModelGrantReservation, s as createProtectedAgentCandidateModelPort, t as AgentCandidateModelGrantActivateInput, u as assertCandidateProfileBinding, v as prepareAgentCandidateExecution, w as AgentCandidateExecutionClaimResult, x as AgentCandidateExecutionAttemptRecord, y as ExecutePreparedAgentCandidateOptions, z as candidateExecutionClaim } from "../protected-model-port-
|
|
1
|
+
import { $ as PreparedAgentCandidateLaunch, A as AgentCandidateMemoryPort, B as AgentCandidateProtectedRunCapture, C as AgentCandidateExecutorPort, D as AgentCandidateExecutorTaskOutcomeCapture, E as AgentCandidateExecutorStopRequest, F as AgentCandidateOutputPurpose, G as AgentCandidateWorkspacePort, H as AgentCandidateRunFinalization, I as AgentCandidateProtectedModelActivation, J as CanonicalCandidateDocument, K as CANDIDATE_TRACE_ENV, L as AgentCandidateProtectedModelReservation, M as AgentCandidateModelLimits, N as AgentCandidateModelPort, O as AgentCandidateExecutorWorkspaceFile, P as AgentCandidateOutputArtifactPort, Q as PreparedAgentCandidateKnowledge, R as AgentCandidateProtectedModelSettlement, S as AgentCandidateExecutorMemoryCapture, T as AgentCandidateExecutorRequest, U as AgentCandidateTaskExecution, V as AgentCandidateRepositoryPort, W as AgentCandidateVerificationPorts, X as PreparedAgentCandidateExecution, Y as PersistedTaskOutcomeEvidence, Z as PreparedAgentCandidateInstruction, _ as AgentCandidateBenchmarkGraderIdentity, a as captureAgentCandidateWorkspaceTreeToArtifacts, b as AgentCandidateExecutionPorts, c as verifyAgentCandidateWorkspaceTree, d as CapturedAgentCandidateWorkspace, et as PreparedAgentCandidateTrace, f as CreateAgentCandidateWorkspacePortOptions, g as AgentCandidateArtifactPort, h as createAgentCandidateWorkspacePort, i as captureAgentCandidateWorkspaceToArtifacts, it as AgentCandidateExecutionRoots, j as AgentCandidateMemoryResetResult, k as AgentCandidateExecutorWorkspaceInput, l as AgentCandidateWorkspaceArchiveLimits, m as captureAgentCandidateWorkspaceFiles, n as AgentCandidateWorkspaceTree, nt as VerifiedAgentCandidate, o as materializeAgentCandidateWorkspaceFromArtifacts, p as captureAgentCandidateWorkspace, q as CANDIDATE_TRACE_TAGS, r as CaptureAgentCandidateWorkspaceToArtifactsOptions, rt as VerifiedAgentCandidateTaskOutcome, s as verifyAgentCandidateWorkspaceArtifacts, t as AgentCandidateWorkspaceArtifactsOptions, tt as ResolvedAgentCandidateContainer, u as CaptureAgentCandidateWorkspaceOptions, v as AgentCandidateBenchmarkGraderPort, w as AgentCandidateExecutorProfileFile, x as AgentCandidateExecutorFinalCapture, y as AgentCandidateContainerPort, z as AgentCandidateProtectedModelSettlementCall } from "../workspace-streams-U6_UfOXu.js";
|
|
2
|
+
import { A as AgentCandidateExecutionPhase, B as AgentCandidatePreparationEvidence, C as AgentCandidateExecutionClaim, D as AgentCandidateExecutionFailureClass, E as AgentCandidateExecutionCleanupHandles, F as AgentCandidateExecutionTerminalResult, I as AgentCandidateRetryRejection, L as InMemoryAgentCandidateExecutionClaimStore, M as AgentCandidateExecutionRecoveryEvidence, N as AgentCandidateExecutionStageResult, O as AgentCandidateExecutionFinishResult, P as AgentCandidateExecutionTerminalRecord, R as InMemoryAgentCandidateExecutionClaimStoreOptions, S as AgentCandidateExecutionAttemptRef, T as AgentCandidateExecutionClaimStore, _ as PrepareAgentCandidateExecutionOptions, a as AgentCandidateModelGrantSettleInput, b as executePreparedAgentCandidate, c as agentCandidateProfileAsAgentProfile, d as freezeGenericAgentCandidateProfile, f as omitUndefinedObjectFields, g as parseExactCandidateProfile, h as parseExactAgentProfileDiff, i as AgentCandidateModelGrantReserveInput, j as AgentCandidateExecutionPhaseResult, k as AgentCandidateExecutionLease, l as applyExactAgentProfileDiff, m as parseExactAgentProfile, n as AgentCandidateModelGrantClient, o as CreateProtectedAgentCandidateModelPortOptions, r as AgentCandidateModelGrantReservation, s as createProtectedAgentCandidateModelPort, t as AgentCandidateModelGrantActivateInput, u as assertCandidateProfileBinding, v as prepareAgentCandidateExecution, w as AgentCandidateExecutionClaimResult, x as AgentCandidateExecutionAttemptRecord, y as ExecutePreparedAgentCandidateOptions, z as candidateExecutionClaim } from "../protected-model-port-CQg2gstJ.js";
|
|
3
3
|
import { AgentCandidateArtifactRef, AgentCandidateBundle, AgentCandidateCapturedArtifact, AgentCandidateCodeDisabled, AgentCandidateCodeNoOp, AgentCandidateExecution, AgentCandidateGitHubRepository, AgentCandidateKnowledge, AgentCandidateMemoryPolicy, AgentCandidateProfile, AgentCandidateResolvedModel, AgentCandidateRunCell, AgentCandidateWorkspaceManifestMaterial, AgentCandidateWorkspaceSnapshotEvidence, AgentProfile, AgentProfileDiff, Sha256Digest } from "@tangle-network/agent-interface";
|
|
4
4
|
import { TraceStore } from "@tangle-network/agent-eval";
|
|
5
5
|
import { CodeSurface } from "@tangle-network/agent-eval/campaign";
|
|
@@ -16,6 +16,8 @@ interface WorkspaceScanOptions {
|
|
|
16
16
|
readonly signal?: AbortSignal;
|
|
17
17
|
readonly ignoredProtectedRootEntries?: readonly ('.git' | '.sidecar')[];
|
|
18
18
|
readonly limits?: WorkspaceScanLimits;
|
|
19
|
+
/** Scan only these root-relative files, pruning every unrelated directory. */
|
|
20
|
+
readonly selectedPaths?: readonly string[];
|
|
19
21
|
/**
|
|
20
22
|
* Record Git's two file modes instead of the filesystem's exact permission bits: `0o755` when
|
|
21
23
|
* any execute bit is set, `0o644` otherwise. A checkout umask then cannot move a manifest
|
|
@@ -247,6 +249,41 @@ declare const AGENT_CANDIDATE_EXECUTION_SUPPORT: Readonly<{
|
|
|
247
249
|
/** Verifies every digest, resource, workspace, and Git object in a candidate bundle. */
|
|
248
250
|
declare function verifyAgentCandidateBundle(input: unknown, ports: AgentCandidateVerificationPorts): Promise<VerifiedAgentCandidate>;
|
|
249
251
|
//#endregion
|
|
252
|
+
//#region src/candidate-execution/workspace-transfer.d.ts
|
|
253
|
+
/** The canonical workspace evidence without manifest material or embedded file bytes. */
|
|
254
|
+
type AgentCandidateWorkspaceSnapshotReferences = Pick<AgentCandidateWorkspaceSnapshotEvidence, 'kind' | 'digest'> & {
|
|
255
|
+
readonly manifest: AgentCandidateArtifactRef;
|
|
256
|
+
readonly archive: AgentCandidateArtifactRef;
|
|
257
|
+
};
|
|
258
|
+
type CaptureAgentWorkspaceSnapshotOptions = Omit<CaptureAgentCandidateWorkspaceOptions, 'artifactPersistence'> & {
|
|
259
|
+
artifactPersistence: NonNullable<CaptureAgentCandidateWorkspaceOptions['artifactPersistence']>;
|
|
260
|
+
};
|
|
261
|
+
/**
|
|
262
|
+
* Capture through the canonical archive owner and return references only.
|
|
263
|
+
* The caller holds its existing private source workspace lease throughout capture, and binds
|
|
264
|
+
* its public source provenance at the SDK boundary. Choose includeRepository and working-tree
|
|
265
|
+
* explicitly when staged, dirty, deleted and unignored untracked Git files must travel.
|
|
266
|
+
*/
|
|
267
|
+
declare function captureAgentWorkspaceSnapshot(root: string, options: CaptureAgentWorkspaceSnapshotOptions): Promise<AgentCandidateWorkspaceSnapshotReferences>;
|
|
268
|
+
interface MaterializeAgentWorkspaceSnapshotOptions {
|
|
269
|
+
snapshot: AgentCandidateWorkspaceSnapshotReferences;
|
|
270
|
+
/** Authorizes each immutable reference for the accepted transfer owner; must stream reads. */
|
|
271
|
+
artifacts: AgentCandidateArtifactPort;
|
|
272
|
+
/** Absent destination inside a caller-owned private allocation scope. */
|
|
273
|
+
destination: string;
|
|
274
|
+
limits?: Partial<AgentCandidateWorkspaceArchiveLimits>;
|
|
275
|
+
signal?: AbortSignal;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Restore canonical workspace references before an agent starts.
|
|
279
|
+
* The SDK boundary validates source provenance and the accepted snapshot digest before this
|
|
280
|
+
* byte-level composition runs. Artifact references identify content; the injected port owns
|
|
281
|
+
* authorization. The archive owner verifies all files and Git state before publishing fresh
|
|
282
|
+
* staging. Destinations present before or during artifact reads are refused. The caller owns
|
|
283
|
+
* the allocation scope against other writers; Node directory rename is not atomic no-replace.
|
|
284
|
+
*/
|
|
285
|
+
declare function materializeAgentWorkspaceSnapshot(input: MaterializeAgentWorkspaceSnapshotOptions): Promise<void>;
|
|
286
|
+
//#endregion
|
|
250
287
|
//#region src/candidate-execution/workspace-tree.d.ts
|
|
251
288
|
/**
|
|
252
289
|
* `'tree-v1'` records a file's exact permission bits. `'portable-tree-v1'` records the two modes
|
|
@@ -333,5 +370,5 @@ declare function describeWorkspaceTree(directory: string, options?: DescribeWork
|
|
|
333
370
|
*/
|
|
334
371
|
declare function seedWorkspaceTree(input: SeedWorkspaceTreeInput): Promise<WorkspaceTreeDescriptor>;
|
|
335
372
|
//#endregion
|
|
336
|
-
export { AGENT_CANDIDATE_EXECUTION_SUPPORT, type AgentCandidateArtifactPort, type AgentCandidateBenchmarkGraderIdentity, type AgentCandidateBenchmarkGraderPort, type AgentCandidateBundleInput, type AgentCandidateCodeSource, type AgentCandidateCodeSurfaceSource, type AgentCandidateContainerPort, type AgentCandidateExecutionAttemptRecord, type AgentCandidateExecutionAttemptRef, type AgentCandidateExecutionClaim, type AgentCandidateExecutionClaimResult, type AgentCandidateExecutionClaimStore, type AgentCandidateExecutionCleanupHandles, type AgentCandidateExecutionFailureClass, type AgentCandidateExecutionFinishResult, type AgentCandidateExecutionLease, type AgentCandidateExecutionPhase, type AgentCandidateExecutionPhaseResult, type AgentCandidateExecutionPorts, type AgentCandidateExecutionRecoveryEvidence, type AgentCandidateExecutionRoots, type AgentCandidateExecutionStageResult, type AgentCandidateExecutionTerminalRecord, type AgentCandidateExecutionTerminalResult, type AgentCandidateExecutorFinalCapture, type AgentCandidateExecutorMemoryCapture, type AgentCandidateExecutorPort, type AgentCandidateExecutorProfileFile, type AgentCandidateExecutorRequest, type AgentCandidateExecutorStopRequest, type AgentCandidateExecutorTaskOutcomeCapture, type AgentCandidateExecutorWorkspaceFile, type AgentCandidateExecutorWorkspaceInput, type AgentCandidateMemoryPort, type AgentCandidateMemoryResetResult, type AgentCandidateModelGrantActivateInput, type AgentCandidateModelGrantClient, type AgentCandidateModelGrantReservation, type AgentCandidateModelGrantReserveInput, type AgentCandidateModelGrantRunReservationInput, type AgentCandidateModelGrantSettleInput, type AgentCandidateModelLimits, type AgentCandidateModelPort, type AgentCandidateOutputArtifactPort, type AgentCandidateOutputPurpose, type AgentCandidatePreparationEvidence, type AgentCandidateProfileSource, type AgentCandidateProtectedModelActivation, type AgentCandidateProtectedModelReservation, type AgentCandidateProtectedModelSettlement, type AgentCandidateProtectedModelSettlementCall, type AgentCandidateProtectedRunCapture, type AgentCandidateRepositoryPort, type AgentCandidateRetryRejection, type AgentCandidateRunFinalization, type AgentCandidateTaskExecution, type AgentCandidateVerificationPorts, type AgentCandidateWorkspaceArchiveLimits, type AgentCandidateWorkspaceArtifactsOptions, type AgentCandidateWorkspacePort, type AgentCandidateWorkspaceTree, type BuildAgentCandidateBundleInput, CANDIDATE_KNOWLEDGE_RETRIEVAL_CONFIG_ENV, CANDIDATE_KNOWLEDGE_ROOT_ENV, CANDIDATE_TRACE_ENV, CANDIDATE_TRACE_TAGS, type CanonicalCandidateDocument, type CaptureAgentCandidateWorkspaceOptions, type CaptureAgentCandidateWorkspaceToArtifactsOptions, type CapturedAgentCandidateWorkspace, type CreateAgentCandidateWorkspacePortOptions, type CreateProtectedAgentCandidateModelPortOptions, type DescribeWorkspaceTreeOptions, type DisposePreparedAgentCandidateOptions, type ExactProcessCandidateExecutorOptions, type ExecutePreparedAgentCandidateOptions, FileAgentCandidateExecutionClaimStore, type FileAgentCandidateExecutionClaimStoreOptions, InMemoryAgentCandidateExecutionClaimStore, type InMemoryAgentCandidateExecutionClaimStoreOptions, type PersistedTaskOutcomeEvidence, type PrepareAgentCandidateExecutionOptions, type PreparedAgentCandidateExecution, type PreparedAgentCandidateInstruction, type PreparedAgentCandidateKnowledge, type PreparedAgentCandidateLaunch, type PreparedAgentCandidateTrace, type ProtectedAgentCandidateModelGrantContext, type RecoverExpiredAgentCandidateOptions, type ResolvedAgentCandidateContainer, type RunProtectedAgentCandidateModelGrantOptions, type RunProtectedAgentCandidateModelGrantResult, type SeedWorkspaceTreeInput, type VerifiedAgentCandidate, type VerifiedAgentCandidateTaskOutcome, type WorkspaceScanLimits, type WorkspaceScanOptions, type WorkspaceTreeAlgorithm, type WorkspaceTreeDescriptor, type WorkspaceTreeEntryPolicy, type WorkspaceTreeExclusion, type WorkspaceTreeExclusionReason, agentCandidateProfileAsAgentProfile, applyExactAgentProfileDiff, assertCandidateProfileBinding, buildAgentCandidateBundle, candidateExecutionClaim, candidateKnowledgeExecutionPaths, candidateWorkspaceManifest, captureAgentCandidateWorkspace, captureAgentCandidateWorkspaceFiles, captureAgentCandidateWorkspaceToArtifacts, captureAgentCandidateWorkspaceTreeToArtifacts, createAgentCandidateWorkspacePort, createProtectedAgentCandidateModelPort, describeWorkspaceTree, disposePreparedAgentCandidateExecution, exactProcessProviderAsCandidateExecutor, executePreparedAgentCandidate, freezeGenericAgentCandidateProfile, materializeAgentCandidateWorkspaceFromArtifacts, omitUndefinedObjectFields, parseExactAgentProfile, parseExactAgentProfileDiff, parseExactCandidateProfile, persistCandidateOutputArtifact, prepareAgentCandidateExecution, recoverExpiredAgentCandidateExecution, runProtectedAgentCandidateModelGrant, scanMaterializedWorkspaceManifest, sealAgentCandidateBundle, seedWorkspaceTree, verifyAgentCandidateBundle, verifyAgentCandidateWorkspaceArtifacts, verifyAgentCandidateWorkspaceTree, verifyMaterializedWorkspace };
|
|
373
|
+
export { AGENT_CANDIDATE_EXECUTION_SUPPORT, type AgentCandidateArtifactPort, type AgentCandidateBenchmarkGraderIdentity, type AgentCandidateBenchmarkGraderPort, type AgentCandidateBundleInput, type AgentCandidateCodeSource, type AgentCandidateCodeSurfaceSource, type AgentCandidateContainerPort, type AgentCandidateExecutionAttemptRecord, type AgentCandidateExecutionAttemptRef, type AgentCandidateExecutionClaim, type AgentCandidateExecutionClaimResult, type AgentCandidateExecutionClaimStore, type AgentCandidateExecutionCleanupHandles, type AgentCandidateExecutionFailureClass, type AgentCandidateExecutionFinishResult, type AgentCandidateExecutionLease, type AgentCandidateExecutionPhase, type AgentCandidateExecutionPhaseResult, type AgentCandidateExecutionPorts, type AgentCandidateExecutionRecoveryEvidence, type AgentCandidateExecutionRoots, type AgentCandidateExecutionStageResult, type AgentCandidateExecutionTerminalRecord, type AgentCandidateExecutionTerminalResult, type AgentCandidateExecutorFinalCapture, type AgentCandidateExecutorMemoryCapture, type AgentCandidateExecutorPort, type AgentCandidateExecutorProfileFile, type AgentCandidateExecutorRequest, type AgentCandidateExecutorStopRequest, type AgentCandidateExecutorTaskOutcomeCapture, type AgentCandidateExecutorWorkspaceFile, type AgentCandidateExecutorWorkspaceInput, type AgentCandidateMemoryPort, type AgentCandidateMemoryResetResult, type AgentCandidateModelGrantActivateInput, type AgentCandidateModelGrantClient, type AgentCandidateModelGrantReservation, type AgentCandidateModelGrantReserveInput, type AgentCandidateModelGrantRunReservationInput, type AgentCandidateModelGrantSettleInput, type AgentCandidateModelLimits, type AgentCandidateModelPort, type AgentCandidateOutputArtifactPort, type AgentCandidateOutputPurpose, type AgentCandidatePreparationEvidence, type AgentCandidateProfileSource, type AgentCandidateProtectedModelActivation, type AgentCandidateProtectedModelReservation, type AgentCandidateProtectedModelSettlement, type AgentCandidateProtectedModelSettlementCall, type AgentCandidateProtectedRunCapture, type AgentCandidateRepositoryPort, type AgentCandidateRetryRejection, type AgentCandidateRunFinalization, type AgentCandidateTaskExecution, type AgentCandidateVerificationPorts, type AgentCandidateWorkspaceArchiveLimits, type AgentCandidateWorkspaceArtifactsOptions, type AgentCandidateWorkspacePort, type AgentCandidateWorkspaceSnapshotReferences, type AgentCandidateWorkspaceTree, type BuildAgentCandidateBundleInput, CANDIDATE_KNOWLEDGE_RETRIEVAL_CONFIG_ENV, CANDIDATE_KNOWLEDGE_ROOT_ENV, CANDIDATE_TRACE_ENV, CANDIDATE_TRACE_TAGS, type CanonicalCandidateDocument, type CaptureAgentCandidateWorkspaceOptions, type CaptureAgentCandidateWorkspaceToArtifactsOptions, type CaptureAgentWorkspaceSnapshotOptions, type CapturedAgentCandidateWorkspace, type CreateAgentCandidateWorkspacePortOptions, type CreateProtectedAgentCandidateModelPortOptions, type DescribeWorkspaceTreeOptions, type DisposePreparedAgentCandidateOptions, type ExactProcessCandidateExecutorOptions, type ExecutePreparedAgentCandidateOptions, FileAgentCandidateExecutionClaimStore, type FileAgentCandidateExecutionClaimStoreOptions, InMemoryAgentCandidateExecutionClaimStore, type InMemoryAgentCandidateExecutionClaimStoreOptions, type MaterializeAgentWorkspaceSnapshotOptions, type PersistedTaskOutcomeEvidence, type PrepareAgentCandidateExecutionOptions, type PreparedAgentCandidateExecution, type PreparedAgentCandidateInstruction, type PreparedAgentCandidateKnowledge, type PreparedAgentCandidateLaunch, type PreparedAgentCandidateTrace, type ProtectedAgentCandidateModelGrantContext, type RecoverExpiredAgentCandidateOptions, type ResolvedAgentCandidateContainer, type RunProtectedAgentCandidateModelGrantOptions, type RunProtectedAgentCandidateModelGrantResult, type SeedWorkspaceTreeInput, type VerifiedAgentCandidate, type VerifiedAgentCandidateTaskOutcome, type WorkspaceScanLimits, type WorkspaceScanOptions, type WorkspaceTreeAlgorithm, type WorkspaceTreeDescriptor, type WorkspaceTreeEntryPolicy, type WorkspaceTreeExclusion, type WorkspaceTreeExclusionReason, agentCandidateProfileAsAgentProfile, applyExactAgentProfileDiff, assertCandidateProfileBinding, buildAgentCandidateBundle, candidateExecutionClaim, candidateKnowledgeExecutionPaths, candidateWorkspaceManifest, captureAgentCandidateWorkspace, captureAgentCandidateWorkspaceFiles, captureAgentCandidateWorkspaceToArtifacts, captureAgentCandidateWorkspaceTreeToArtifacts, captureAgentWorkspaceSnapshot, createAgentCandidateWorkspacePort, createProtectedAgentCandidateModelPort, describeWorkspaceTree, disposePreparedAgentCandidateExecution, exactProcessProviderAsCandidateExecutor, executePreparedAgentCandidate, freezeGenericAgentCandidateProfile, materializeAgentCandidateWorkspaceFromArtifacts, materializeAgentWorkspaceSnapshot, omitUndefinedObjectFields, parseExactAgentProfile, parseExactAgentProfileDiff, parseExactCandidateProfile, persistCandidateOutputArtifact, prepareAgentCandidateExecution, recoverExpiredAgentCandidateExecution, runProtectedAgentCandidateModelGrant, scanMaterializedWorkspaceManifest, sealAgentCandidateBundle, seedWorkspaceTree, verifyAgentCandidateBundle, verifyAgentCandidateWorkspaceArtifacts, verifyAgentCandidateWorkspaceTree, verifyMaterializedWorkspace };
|
|
337
374
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { A as recoveredTerminalRecord, C as candidateCleanupDeadline, D as assertTerminalAllowedInPhase, E as assertRecoveryMatchesStaged, F as terminalRecord, M as rejectedStage, N as requireStagedTerminal, O as assertTerminalMatchesClaim, P as sealTerminalDigest, S as candidateClaimFileInternals, T as withinCandidateCleanupDeadline, _ as consumePreparedCandidateExecution, a as AGENT_CANDIDATE_EXECUTION_SUPPORT, c as executePreparedAgentCandidate, d as sealAgentCandidateModelSettlement, g as beginPreparedCandidateDisposal, h as assertPreparedCandidateIntegrity, i as candidateKnowledgeExecutionPaths, j as rejectedFinish, k as assertTerminalMatchesStaged, l as RecoveryAgentCandidateTraceStore, m as candidateExecutionClaim, n as CANDIDATE_KNOWLEDGE_RETRIEVAL_CONFIG_ENV, p as sealAgentCandidateExecutorStopAcknowledgement, r as CANDIDATE_KNOWLEDGE_ROOT_ENV, s as verifyAgentCandidateBundle, t as prepareAgentCandidateExecution, u as persistCandidateModelSettlementEvidence, v as CANDIDATE_TRACE_ENV, w as candidateCleanupTimeout, x as InMemoryAgentCandidateExecutionClaimStore, y as CANDIDATE_TRACE_TAGS } from "../prepare-
|
|
3
|
-
import { a as assertCandidateProfileBinding, d as omitUndefinedObjectFields, h as parseExactCandidateProfile, i as applyExactAgentProfileDiff, l as freezeGenericAgentCandidateProfile, m as parseExactAgentProfileDiff, p as parseExactAgentProfile, r as agentCandidateProfileAsAgentProfile } from "../profile-
|
|
4
|
-
import { t as sealAgentCandidateBundle } from "../bundle-
|
|
5
|
-
import { n as exactProcessProviderAsCandidateExecutor, t as createProtectedAgentCandidateModelPort } from "../protected-model-port-
|
|
6
|
-
import { agentCandidateExecutionPlanMaterialSchema, agentCandidateMaterializationReceiptSchema } from "@tangle-network/agent-interface";
|
|
1
|
+
import { F as deepFreezeCandidate, I as embeddedCandidateArtifact, M as canonicalCandidateBytes$1, O as verifyMaterializedWorkspace, T as scanMaterializedWorkspaceManifest, a as verifyAgentCandidateWorkspaceArtifacts, c as captureAgentCandidateWorkspaceFiles, d as workspaceLimits, f as persistCandidateOutputArtifact, j as verifiedArtifactChunks, l as createAgentCandidateWorkspacePort, n as captureAgentCandidateWorkspaceTreeToArtifacts, o as verifyAgentCandidateWorkspaceTree, r as materializeAgentCandidateWorkspaceFromArtifacts, s as captureAgentCandidateWorkspace, t as captureAgentCandidateWorkspaceToArtifacts, w as readVerifiedArtifact, x as candidateWorkspaceManifest } from "../workspace-streams-DFAhW7hF.js";
|
|
2
|
+
import { A as recoveredTerminalRecord, C as candidateCleanupDeadline, D as assertTerminalAllowedInPhase, E as assertRecoveryMatchesStaged, F as terminalRecord, M as rejectedStage, N as requireStagedTerminal, O as assertTerminalMatchesClaim, P as sealTerminalDigest, S as candidateClaimFileInternals, T as withinCandidateCleanupDeadline, _ as consumePreparedCandidateExecution, a as AGENT_CANDIDATE_EXECUTION_SUPPORT, c as executePreparedAgentCandidate, d as sealAgentCandidateModelSettlement, g as beginPreparedCandidateDisposal, h as assertPreparedCandidateIntegrity, i as candidateKnowledgeExecutionPaths, j as rejectedFinish, k as assertTerminalMatchesStaged, l as RecoveryAgentCandidateTraceStore, m as candidateExecutionClaim, n as CANDIDATE_KNOWLEDGE_RETRIEVAL_CONFIG_ENV, p as sealAgentCandidateExecutorStopAcknowledgement, r as CANDIDATE_KNOWLEDGE_ROOT_ENV, s as verifyAgentCandidateBundle, t as prepareAgentCandidateExecution, u as persistCandidateModelSettlementEvidence, v as CANDIDATE_TRACE_ENV, w as candidateCleanupTimeout, x as InMemoryAgentCandidateExecutionClaimStore, y as CANDIDATE_TRACE_TAGS } from "../prepare-DjCLEN-q.js";
|
|
3
|
+
import { a as assertCandidateProfileBinding, d as omitUndefinedObjectFields, h as parseExactCandidateProfile, i as applyExactAgentProfileDiff, l as freezeGenericAgentCandidateProfile, m as parseExactAgentProfileDiff, p as parseExactAgentProfile, r as agentCandidateProfileAsAgentProfile } from "../profile-DmVM4Gxb.js";
|
|
4
|
+
import { t as sealAgentCandidateBundle } from "../bundle-Cw-QdGmH.js";
|
|
5
|
+
import { n as exactProcessProviderAsCandidateExecutor, t as createProtectedAgentCandidateModelPort } from "../protected-model-port-D1fcnYdj.js";
|
|
6
|
+
import { agentCandidateArtifactRefSchema, agentCandidateExecutionPlanMaterialSchema, agentCandidateMaterializationReceiptSchema, agentCandidateWorkspaceManifestMaterialSchema, agentCandidateWorkspaceSnapshotEvidenceSchema } from "@tangle-network/agent-interface";
|
|
7
7
|
import { createHash, randomUUID } from "node:crypto";
|
|
8
8
|
import { constants, linkSync } from "node:fs";
|
|
9
9
|
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
@@ -579,6 +579,85 @@ function parseCanonicalBytes(bytes, label) {
|
|
|
579
579
|
return parsed;
|
|
580
580
|
}
|
|
581
581
|
//#endregion
|
|
582
|
+
//#region src/candidate-execution/workspace-transfer.ts
|
|
583
|
+
/**
|
|
584
|
+
* Capture through the canonical archive owner and return references only.
|
|
585
|
+
* The caller holds its existing private source workspace lease throughout capture, and binds
|
|
586
|
+
* its public source provenance at the SDK boundary. Choose includeRepository and working-tree
|
|
587
|
+
* explicitly when staged, dirty, deleted and unignored untracked Git files must travel.
|
|
588
|
+
*/
|
|
589
|
+
async function captureAgentWorkspaceSnapshot(root, options) {
|
|
590
|
+
if (!options?.artifactPersistence) throw new Error("portable workspace capture requires artifactPersistence");
|
|
591
|
+
return workspaceReferences((await captureAgentCandidateWorkspace(root, {
|
|
592
|
+
...options,
|
|
593
|
+
...options.limits ? { limits: { ...options.limits } } : {},
|
|
594
|
+
artifactPersistence: { ...options.artifactPersistence }
|
|
595
|
+
})).snapshot);
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Restore canonical workspace references before an agent starts.
|
|
599
|
+
* The SDK boundary validates source provenance and the accepted snapshot digest before this
|
|
600
|
+
* byte-level composition runs. Artifact references identify content; the injected port owns
|
|
601
|
+
* authorization. The archive owner verifies all files and Git state before publishing fresh
|
|
602
|
+
* staging. Destinations present before or during artifact reads are refused. The caller owns
|
|
603
|
+
* the allocation scope against other writers; Node directory rename is not atomic no-replace.
|
|
604
|
+
*/
|
|
605
|
+
async function materializeAgentWorkspaceSnapshot(input) {
|
|
606
|
+
input.signal?.throwIfAborted();
|
|
607
|
+
const snapshot = workspaceReferences(input.snapshot);
|
|
608
|
+
const limits = workspaceLimits(input.limits);
|
|
609
|
+
if (!input.artifacts.readStream) throw new Error("portable workspace restore requires an authorized readStream");
|
|
610
|
+
if (!isAbsolute(input.destination)) throw new Error("portable workspace destination must be absolute");
|
|
611
|
+
const destination = resolve(input.destination);
|
|
612
|
+
await assertAbsentDestination(destination);
|
|
613
|
+
for (const artifact of [snapshot.manifest, snapshot.archive]) if (artifact.byteLength > limits.maxArchiveBytes) throw new Error("portable workspace artifact exceeds maxArchiveBytes");
|
|
614
|
+
const manifest = await readArtifact(snapshot.manifest, input.artifacts, input.signal);
|
|
615
|
+
const material = agentCandidateWorkspaceManifestMaterialSchema.parse(JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(manifest)));
|
|
616
|
+
if (!Buffer.from(canonicalCandidateBytes$1(material)).equals(manifest)) throw new Error("workspace manifest artifact is not the exact canonical manifest material");
|
|
617
|
+
const evidence = agentCandidateWorkspaceSnapshotEvidenceSchema.parse({
|
|
618
|
+
...snapshot,
|
|
619
|
+
material
|
|
620
|
+
});
|
|
621
|
+
const archive = await readArtifact(snapshot.archive, input.artifacts, input.signal);
|
|
622
|
+
input.signal?.throwIfAborted();
|
|
623
|
+
await assertAbsentDestination(destination);
|
|
624
|
+
input.signal?.throwIfAborted();
|
|
625
|
+
await createAgentCandidateWorkspacePort({ limits }).materialize({
|
|
626
|
+
role: "task",
|
|
627
|
+
snapshot: evidence,
|
|
628
|
+
archive,
|
|
629
|
+
destination,
|
|
630
|
+
...input.signal ? { signal: input.signal } : {}
|
|
631
|
+
});
|
|
632
|
+
}
|
|
633
|
+
function workspaceReferences(snapshot) {
|
|
634
|
+
if (snapshot.kind !== "agent-candidate-workspace-snapshot") throw new Error("portable workspace snapshot kind is invalid");
|
|
635
|
+
const manifest = agentCandidateArtifactRefSchema.parse(snapshot.manifest);
|
|
636
|
+
const archive = agentCandidateArtifactRefSchema.parse(snapshot.archive);
|
|
637
|
+
for (const artifact of [manifest, archive]) if (!Number.isSafeInteger(artifact.byteLength) || artifact.byteLength < 1) throw new Error("portable workspace artifacts require positive safe byte lengths");
|
|
638
|
+
if (snapshot.digest !== manifest.sha256) throw new Error("workspace digest must equal the canonical manifest hash");
|
|
639
|
+
return deepFreezeCandidate({
|
|
640
|
+
kind: snapshot.kind,
|
|
641
|
+
digest: snapshot.digest,
|
|
642
|
+
manifest,
|
|
643
|
+
archive
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
async function readArtifact(reference, artifacts, signal) {
|
|
647
|
+
const chunks = [];
|
|
648
|
+
for await (const chunk of verifiedArtifactChunks(reference, artifacts, signal)) chunks.push(Buffer.from(chunk));
|
|
649
|
+
return Buffer.concat(chunks);
|
|
650
|
+
}
|
|
651
|
+
async function assertAbsentDestination(destination) {
|
|
652
|
+
try {
|
|
653
|
+
await lstat(destination);
|
|
654
|
+
} catch (error) {
|
|
655
|
+
if (error.code === "ENOENT") return;
|
|
656
|
+
throw error;
|
|
657
|
+
}
|
|
658
|
+
throw new Error("portable workspace destination already exists");
|
|
659
|
+
}
|
|
660
|
+
//#endregion
|
|
582
661
|
//#region src/candidate-execution/workspace-tree.ts
|
|
583
662
|
/**
|
|
584
663
|
* A content digest over a DIRECTORY TREE, and the per-file seed that fills one.
|
|
@@ -825,6 +904,6 @@ async function lstatIfPresent(path) {
|
|
|
825
904
|
}
|
|
826
905
|
}
|
|
827
906
|
//#endregion
|
|
828
|
-
export { AGENT_CANDIDATE_EXECUTION_SUPPORT, CANDIDATE_KNOWLEDGE_RETRIEVAL_CONFIG_ENV, CANDIDATE_KNOWLEDGE_ROOT_ENV, CANDIDATE_TRACE_ENV, CANDIDATE_TRACE_TAGS, FileAgentCandidateExecutionClaimStore, InMemoryAgentCandidateExecutionClaimStore, agentCandidateProfileAsAgentProfile, applyExactAgentProfileDiff, assertCandidateProfileBinding, buildAgentCandidateBundle, candidateExecutionClaim, candidateKnowledgeExecutionPaths, candidateWorkspaceManifest, captureAgentCandidateWorkspace, captureAgentCandidateWorkspaceFiles, captureAgentCandidateWorkspaceToArtifacts, captureAgentCandidateWorkspaceTreeToArtifacts, createAgentCandidateWorkspacePort, createProtectedAgentCandidateModelPort, describeWorkspaceTree, disposePreparedAgentCandidateExecution, exactProcessProviderAsCandidateExecutor, executePreparedAgentCandidate, freezeGenericAgentCandidateProfile, materializeAgentCandidateWorkspaceFromArtifacts, omitUndefinedObjectFields, parseExactAgentProfile, parseExactAgentProfileDiff, parseExactCandidateProfile, persistCandidateOutputArtifact, prepareAgentCandidateExecution, recoverExpiredAgentCandidateExecution, runProtectedAgentCandidateModelGrant, scanMaterializedWorkspaceManifest, sealAgentCandidateBundle, seedWorkspaceTree, verifyAgentCandidateBundle, verifyAgentCandidateWorkspaceArtifacts, verifyAgentCandidateWorkspaceTree, verifyMaterializedWorkspace };
|
|
907
|
+
export { AGENT_CANDIDATE_EXECUTION_SUPPORT, CANDIDATE_KNOWLEDGE_RETRIEVAL_CONFIG_ENV, CANDIDATE_KNOWLEDGE_ROOT_ENV, CANDIDATE_TRACE_ENV, CANDIDATE_TRACE_TAGS, FileAgentCandidateExecutionClaimStore, InMemoryAgentCandidateExecutionClaimStore, agentCandidateProfileAsAgentProfile, applyExactAgentProfileDiff, assertCandidateProfileBinding, buildAgentCandidateBundle, candidateExecutionClaim, candidateKnowledgeExecutionPaths, candidateWorkspaceManifest, captureAgentCandidateWorkspace, captureAgentCandidateWorkspaceFiles, captureAgentCandidateWorkspaceToArtifacts, captureAgentCandidateWorkspaceTreeToArtifacts, captureAgentWorkspaceSnapshot, createAgentCandidateWorkspacePort, createProtectedAgentCandidateModelPort, describeWorkspaceTree, disposePreparedAgentCandidateExecution, exactProcessProviderAsCandidateExecutor, executePreparedAgentCandidate, freezeGenericAgentCandidateProfile, materializeAgentCandidateWorkspaceFromArtifacts, materializeAgentWorkspaceSnapshot, omitUndefinedObjectFields, parseExactAgentProfile, parseExactAgentProfileDiff, parseExactCandidateProfile, persistCandidateOutputArtifact, prepareAgentCandidateExecution, recoverExpiredAgentCandidateExecution, runProtectedAgentCandidateModelGrant, scanMaterializedWorkspaceManifest, sealAgentCandidateBundle, seedWorkspaceTree, verifyAgentCandidateBundle, verifyAgentCandidateWorkspaceArtifacts, verifyAgentCandidateWorkspaceTree, verifyMaterializedWorkspace };
|
|
829
908
|
|
|
830
909
|
//# sourceMappingURL=index.js.map
|