Full SDK workspace: core, contracts, sdk, cli, browser-host, browser-kit, federation, omega-core, oracle, self-healing, strategies, tools, emacs. Clean extraction from the development monorepo. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
30 lines
707 B
TypeScript
30 lines
707 B
TypeScript
import type { NodeBase } from "./meta";
|
|
import type { VRef } from "./value";
|
|
|
|
export interface ToolContractIR extends NodeBase {
|
|
tag: "ToolContract";
|
|
id: string;
|
|
name: string;
|
|
version: string;
|
|
|
|
inputSchema: VRef;
|
|
outputSchema: VRef;
|
|
errorSchema?: VRef;
|
|
|
|
idempotency: "idempotent" | "non-idempotent" | "unknown";
|
|
capabilityTag: string;
|
|
quotaGroup?: string;
|
|
|
|
resourceModel?: {
|
|
typicalTimeMs?: number;
|
|
worstTimeMs?: number;
|
|
typicalTokens?: number;
|
|
};
|
|
|
|
provenancePolicy?: {
|
|
mustAttachEvidence?: boolean;
|
|
evidenceMode?: Array<"observed" | "measured" | "derived">;
|
|
stalenessInputs?: Array<"toolContract" | "schema" | "sourceFingerprint" | "oracleConfig">;
|
|
};
|
|
}
|