@zhivex-ai/harness 1.0.0 → 1.1.0-rc.2

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.
Files changed (181) hide show
  1. package/CHANGELOG.md +97 -1
  2. package/README.md +52 -306
  3. package/SECURITY.md +1 -1
  4. package/SUPPORT.md +7 -3
  5. package/benchmarks/README.md +3 -3
  6. package/contracts/client-protocol-v1.schema.json +341 -0
  7. package/contracts/public-api.json +100 -1
  8. package/contracts/stable-api-signatures.json +14 -14
  9. package/dist/approval-diff.d.ts +45 -0
  10. package/dist/approval-history.d.ts +38 -0
  11. package/dist/approval-preview.d.ts +26 -0
  12. package/dist/cli-credentials.d.ts +38 -0
  13. package/dist/cli-help.d.ts +3 -0
  14. package/dist/cli-options.d.ts +1 -1
  15. package/dist/cli-stream.d.ts +3 -3
  16. package/dist/cli.d.ts +15 -69
  17. package/dist/cli.js +13796 -10032
  18. package/dist/client-contract.d.ts +208 -0
  19. package/dist/console-commands.d.ts +6 -0
  20. package/dist/console-context.d.ts +5 -1
  21. package/dist/console-input.d.ts +44 -4
  22. package/dist/console-model-catalog.d.ts +25 -0
  23. package/dist/console-navigation.d.ts +27 -0
  24. package/dist/console-presentation.d.ts +18 -0
  25. package/dist/console-welcome.d.ts +13 -0
  26. package/dist/execution-environment.d.ts +4 -0
  27. package/dist/harness.d.ts +3 -0
  28. package/dist/hostile-repository-demo.js +1913 -798
  29. package/dist/index.d.ts +7 -0
  30. package/dist/index.js +7908 -6330
  31. package/dist/local-service.d.ts +34 -0
  32. package/dist/operations.d.ts +23 -1
  33. package/dist/orchestration.d.ts +3 -0
  34. package/dist/persistence-secrets.d.ts +2 -0
  35. package/dist/recorded-workspace.d.ts +4 -0
  36. package/dist/run-document.d.ts +91 -0
  37. package/dist/runtime-policy.d.ts +4 -4
  38. package/dist/service-cli.d.ts +2 -0
  39. package/dist/service-cli.js +10858 -0
  40. package/dist/service-client-cli.d.ts +2 -0
  41. package/dist/service-events.d.ts +50 -0
  42. package/dist/sessions.d.ts +3 -0
  43. package/dist/sqlite-access.d.ts +26 -0
  44. package/dist/sqlite-database.d.ts +2 -0
  45. package/dist/state-backup.d.ts +8 -0
  46. package/dist/task-memory.d.ts +2 -2
  47. package/dist/terminal-continuation.d.ts +3 -0
  48. package/dist/terminal-markdown.d.ts +1 -0
  49. package/dist/terminal-ui.d.ts +5 -0
  50. package/dist/usage-ledger.d.ts +84 -0
  51. package/dist/verify-historical-migrations.js +5699 -5191
  52. package/dist/workspace.d.ts +22 -0
  53. package/dist/zhx.js +13796 -10032
  54. package/docs/CLI.md +136 -30
  55. package/docs/CLIENT_PROTOCOL.md +212 -0
  56. package/docs/CREDENTIALS.md +59 -0
  57. package/docs/DURABLE_OPERATIONS.md +2 -2
  58. package/docs/FIRST_USE.md +82 -0
  59. package/docs/FIRST_USE_EXAMPLE.md +40 -0
  60. package/docs/HOSTILE_REPOSITORY_DEMO.md +1 -1
  61. package/docs/LOCAL_SERVICE.md +142 -0
  62. package/docs/README.md +24 -23
  63. package/docs/THREAT_MODEL.md +1 -1
  64. package/docs/TIME_TO_SAFE_FIX.md +2 -2
  65. package/docs/USAGE.md +181 -0
  66. package/evaluations/daily-cli-cohort.json +33 -0
  67. package/evaluations/representative-assembly-matrix.json +19 -1
  68. package/examples/README.md +26 -0
  69. package/examples/first-use/greeting.test.ts +3 -0
  70. package/examples/first-use/greeting.ts +1 -0
  71. package/examples/first-use/package.json +7 -0
  72. package/package.json +34 -9
  73. package/ROADMAP.md +0 -414
  74. package/benchmarks/baselines/context-navigation-2026-09-09.json +0 -94
  75. package/benchmarks/baselines/efficiency-2026-09-08.json +0 -233
  76. package/benchmarks/baselines/external-final-2026-09-08.json +0 -588
  77. package/benchmarks/baselines/external-intermediate-2026-09-08.json +0 -116
  78. package/benchmarks/baselines/external-matched-openai-2026-09-08.json +0 -1922
  79. package/benchmarks/baselines/external-matched-qwen-2026-09-08.json +0 -1706
  80. package/benchmarks/baselines/external-pilot-2026-09-08.json +0 -439
  81. package/benchmarks/baselines/external-qwen-flash-2026-09-08.json +0 -1570
  82. package/benchmarks/baselines/external-qwen-remediation-2026-09-09.json +0 -1509
  83. package/benchmarks/baselines/external-qwen-sdk-114-progress-2026-09-09.json +0 -2509
  84. package/benchmarks/baselines/external-sdk-upgrade-2026-09-08.json +0 -564
  85. package/benchmarks/baselines/external-verifier-recovery-2026-09-09.json +0 -794
  86. package/benchmarks/baselines/full-harness-review-2026-09-10.json +0 -134
  87. package/benchmarks/baselines/harness-audit-2026-09-09.json +0 -136
  88. package/benchmarks/baselines/harness-remediation-2026-09-09.json +0 -160
  89. package/benchmarks/baselines/oci-remediation-2026-09-10.json +0 -535
  90. package/benchmarks/baselines/rc14-holdout-2026-09-10.json +0 -854
  91. package/benchmarks/baselines/repair-architecture-audit-2026-09-09.json +0 -75
  92. package/benchmarks/baselines/time-to-safe-fix-live-expanded-2026-08-21.json +0 -186
  93. package/benchmarks/baselines/time-to-safe-fix-live-smoke-2026-08-21.json +0 -186
  94. package/docs/GA_READINESS.md +0 -29
  95. package/docs/GEMINI_1_0_DECISION.md +0 -9
  96. package/docs/LIVE_CERTIFICATION.md +0 -107
  97. package/docs/RC13_SECURITY_REVIEW.md +0 -28
  98. package/docs/RC14_DELEGATED_SECURITY_DECISION.md +0 -80
  99. package/docs/RC14_SECURITY_REVIEW.md +0 -40
  100. package/docs/RELEASE.md +0 -96
  101. package/docs/ROLLBACK.md +0 -9
  102. package/docs/SECURITY_REVIEW_EVIDENCE.md +0 -17
  103. package/docs/ga-readiness.json +0 -366
  104. package/docs/reports/EFFICIENCY_REVIEW.md +0 -156
  105. package/docs/reports/EXTERNAL_COMPARISON.md +0 -434
  106. package/docs/reports/FULL_HARNESS_REVIEW_2026-09-10.md +0 -200
  107. package/docs/reports/GA_BUDGET_REMEDIATION_2026-09-19.md +0 -38
  108. package/docs/reports/GA_REPAIR_RECOVERY_2026-09-19.md +0 -700
  109. package/docs/reports/GA_VALIDATION_2026-09-19.md +0 -111
  110. package/docs/reports/HARNESS_ARCHITECTURE_REVIEW_2026-09-09.md +0 -202
  111. package/docs/reports/HARNESS_AUDIT_2026-09-09.md +0 -306
  112. package/docs/reports/HARNESS_REMEDIATION_2026-09-09.md +0 -74
  113. package/docs/reports/HARNESS_REMEDIATION_2026-09-10.md +0 -90
  114. package/docs/reports/MODEL_COMPARISON_2026-09-09.md +0 -184
  115. package/docs/reports/QWEN_REMEDIATION_COMPARISON_2026-09-09.md +0 -142
  116. package/docs/reports/RC14_VALIDATION_2026-09-10.md +0 -45
  117. package/docs/reports/README.md +0 -26
  118. package/docs/reports/evidence/ga-budget-remediation-2026-09-19.json +0 -133
  119. package/docs/reports/evidence/ga-catalog-ablation-2026-09-19.json +0 -699
  120. package/docs/reports/evidence/ga-catalog-ablation-plan-2026-09-19.json +0 -40
  121. package/docs/reports/evidence/ga-catalog-observed-2026-09-19.json +0 -985
  122. package/docs/reports/evidence/ga-catalog-observed-plan-2026-09-19.json +0 -28
  123. package/docs/reports/evidence/ga-catalog-observed-status-2026-09-19.json +0 -15
  124. package/docs/reports/evidence/ga-complete-local-check-2026-09-19.json +0 -47
  125. package/docs/reports/evidence/ga-completion-reminder-2026-09-19.json +0 -22
  126. package/docs/reports/evidence/ga-fresh-cohort-plan-2026-09-19.json +0 -54
  127. package/docs/reports/evidence/ga-fresh-cohort-preparation-2026-09-19.json +0 -242
  128. package/docs/reports/evidence/ga-fresh-cohort-result-2026-09-19.json +0 -4318
  129. package/docs/reports/evidence/ga-local-validation-followup-2026-09-19.json +0 -66
  130. package/docs/reports/evidence/ga-node-consumers-2026-09-19.json +0 -31
  131. package/docs/reports/evidence/ga-package-content-validation-2026-09-19.json +0 -22
  132. package/docs/reports/evidence/ga-plan-completion-2026-09-19.json +0 -39
  133. package/docs/reports/evidence/ga-plan-reserve-2026-09-19.json +0 -573
  134. package/docs/reports/evidence/ga-plan-reserve-plan-2026-09-19.json +0 -24
  135. package/docs/reports/evidence/ga-plan-transition-2026-09-19.json +0 -19
  136. package/docs/reports/evidence/ga-private-verifier-plan-2026-09-19.json +0 -24
  137. package/docs/reports/evidence/ga-private-verifier-root-cause-2026-09-19.json +0 -41
  138. package/docs/reports/evidence/ga-published-sdk-2026-09-19.json +0 -35
  139. package/docs/reports/evidence/ga-python-checkout-imports-2026-09-19.json +0 -95
  140. package/docs/reports/evidence/ga-python-origin-delivery-2026-09-19.json +0 -211
  141. package/docs/reports/evidence/ga-python-origin-delivery-plan-2026-09-19.json +0 -27
  142. package/docs/reports/evidence/ga-qwen-patched-package-2026-09-19.json +0 -1092
  143. package/docs/reports/evidence/ga-qwen-patched-package-plan-2026-09-19.json +0 -18
  144. package/docs/reports/evidence/ga-qwen-published-2026-09-19.json +0 -571
  145. package/docs/reports/evidence/ga-qwen-published-plan-2026-09-19.json +0 -18
  146. package/docs/reports/evidence/ga-qwen-tool-choice-2026-09-19.json +0 -85
  147. package/docs/reports/evidence/ga-qwen-tool-choice-patched-2026-09-19.json +0 -85
  148. package/docs/reports/evidence/ga-recovery-development-2026-09-19.json +0 -1066
  149. package/docs/reports/evidence/ga-recovery-graded-development-2026-09-19.json +0 -1313
  150. package/docs/reports/evidence/ga-recovery-graded-v2-2026-09-19.json +0 -1151
  151. package/docs/reports/evidence/ga-recovery-v3-2026-09-19.json +0 -3943
  152. package/docs/reports/evidence/ga-recovery-v4-2026-09-19.json +0 -1055
  153. package/docs/reports/evidence/ga-recovery-v5-2026-09-19.json +0 -1245
  154. package/docs/reports/evidence/ga-recovery-v6-2026-09-19.json +0 -699
  155. package/docs/reports/evidence/ga-recovery-v7-2026-09-19.json +0 -854
  156. package/docs/reports/evidence/ga-recovery-v8-2026-09-19.json +0 -596
  157. package/docs/reports/evidence/ga-required-delivery-2026-09-19.json +0 -25
  158. package/docs/reports/evidence/ga-required-delivery-live-2026-09-19.json +0 -1337
  159. package/docs/reports/evidence/ga-required-delivery-live-plan-2026-09-19.json +0 -25
  160. package/docs/reports/evidence/ga-retained-candidate-grading-2026-09-19.json +0 -30
  161. package/docs/reports/evidence/ga-tool-selection-live-2026-09-19.json +0 -559
  162. package/docs/reports/evidence/ga-tool-selection-live-plan-2026-09-19.json +0 -28
  163. package/docs/reports/evidence/ga-tool-selection-recovery-2026-09-19.json +0 -27
  164. package/docs/reports/evidence/ga-validation-2026-09-19.json +0 -236
  165. package/docs/reports/evidence/ga-verifier-discovery-live-2026-09-19.json +0 -1369
  166. package/docs/reports/evidence/ga-verifier-discovery-plan-2026-09-19.json +0 -29
  167. package/docs/reports/evidence/ga-verifier-failure-identification-2026-09-19.json +0 -30
  168. package/docs/reports/evidence/ga-verifier-feedback-2026-09-19.json +0 -65
  169. package/docs/reports/evidence/ga-verifier-hints-live-2026-09-19.json +0 -1297
  170. package/docs/reports/evidence/ga-verifier-hints-plan-2026-09-19.json +0 -27
  171. package/docs/reports/evidence/ga-work-boundary-context-analysis-2026-09-19.json +0 -113
  172. package/docs/reports/evidence/ga-work-boundary-live-2026-09-19.json +0 -301
  173. package/docs/reports/evidence/ga-work-boundary-live-plan-2026-09-19.json +0 -84
  174. package/docs/reports/evidence/ga-work-budget-planning-2026-09-19.json +0 -32
  175. package/docs/reports/evidence/ga-working-context-2026-09-19.json +0 -22
  176. package/docs/reports/evidence/rc14-delegated-security-review-2026-09-20.json +0 -81
  177. package/docs/reports/evidence/rc14-ga-gate-2026-09-20.json +0 -18
  178. package/docs/reports/evidence/rc14-representative-2026-09-20.json +0 -509
  179. package/docs/reports/evidence/rc14-security-regressions-2026-09-20.json +0 -64
  180. package/docs/reports/evidence/security-current-2026-09-19.json +0 -91
  181. package/docs/reports/evidence/security-remediation-2026-09-19.json +0 -97
@@ -0,0 +1,34 @@
1
+ import { z } from "zod";
2
+ import { type HarnessClientResponse, type HarnessClientNegotiation } from "./client-contract.js";
3
+ import { type HarnessActivityPage } from "./service-events.js";
4
+ import type { ZhivexHarness } from "./harness.js";
5
+ export interface HarnessLocalService {
6
+ readonly socketPath: string;
7
+ readonly credentialsPath: string;
8
+ /** Atomically blocks new mutations, preserving reads and explicit cancellation. Returns whether mutations are still active. */
9
+ pauseAdmission(): boolean;
10
+ resumeAdmission(): void;
11
+ /** Requests cancellation of this host's active invocation; never force-finalizes it. */
12
+ cancelActive(): Promise<void>;
13
+ /** Stops admission, drains accepted commands, closes adapter and host runtime. */
14
+ close(): Promise<void>;
15
+ }
16
+ export interface HarnessLocalServiceOptions {
17
+ directory: string;
18
+ approvalNow?: () => number;
19
+ sensitiveValues?: readonly string[];
20
+ maxEvents?: number;
21
+ retentionMs?: number;
22
+ }
23
+ export declare const harnessLocalCredentialsSchema: z.ZodObject<{
24
+ schemaVersion: z.ZodLiteral<1>;
25
+ socketPath: z.ZodString;
26
+ token: z.ZodString;
27
+ }, z.core.$strict>;
28
+ export type HarnessLocalCredentials = z.infer<typeof harnessLocalCredentialsSchema>;
29
+ export declare const startHarnessLocalService: (harness: ZhivexHarness, options: HarnessLocalServiceOptions) => Promise<HarnessLocalService>;
30
+ /** Read only an owner-private regular credential file; never follow a symlink. */
31
+ export declare const readHarnessLocalCredentials: (filename: string) => Promise<HarnessLocalCredentials>;
32
+ export declare const requestHarnessLocalService: <E extends "hello" | "command" | "events">(credentials: HarnessLocalCredentials, endpoint: E, payload: unknown) => Promise<E extends "hello" ? HarnessClientNegotiation : E extends "command" ? HarnessClientResponse : HarnessActivityPage>;
33
+ /** Explicit dead-owner recovery: preserves runtime DBs and never steals a live lease. */
34
+ export declare const recoverHarnessLocalService: (harness: ZhivexHarness, directory: string) => Promise<void>;
@@ -78,7 +78,7 @@ export declare const inspectHarnessRun: (store: AgentRunStore, config: HarnessCo
78
78
  cancelledAt: number | undefined;
79
79
  cancellationReason: string | undefined;
80
80
  };
81
- budget: import("@zhivex-ai/agents").AgentBudgetStatus;
81
+ budget: import("@zhivex-ai/core").AgentBudgetStatus;
82
82
  snapshot: {
83
83
  runId: string;
84
84
  agentId?: string;
@@ -168,6 +168,28 @@ export declare const inspectHarnessRun: (store: AgentRunStore, config: HarnessCo
168
168
  purpose: string;
169
169
  }[];
170
170
  } | null;
171
+ usageLedger: {
172
+ calls: number;
173
+ inputTokens: number;
174
+ outputTokens: number;
175
+ usageComplete: boolean;
176
+ estimatedUsd: number | null;
177
+ limitUsd: number | null;
178
+ schemaVersion: 1;
179
+ runId: string;
180
+ historicalUsageUnknown?: boolean | undefined;
181
+ costKind: "estimate-not-invoice";
182
+ routes: {
183
+ provider: string;
184
+ model: string;
185
+ calls: number;
186
+ inputTokens: number;
187
+ outputTokens: number;
188
+ unknownCalls: number;
189
+ estimatedUsd: number | null;
190
+ priceStatuses: ("estimate" | "missing" | "stale")[];
191
+ }[];
192
+ } | null;
171
193
  effectiveRuntime: {
172
194
  schemaVersion: 1;
173
195
  policyVersion: "repair-v2-durable-closure";
@@ -1,3 +1,4 @@
1
+ import type { UsageLedger } from "./usage-ledger.js";
1
2
  import { runAgentGroup, type AgentDefinition, type AgentHarnessBinding, type AgentRunInput, type AgentSubAgentDefinition, type LanguageModel, type ToolSet } from "@zhivex-ai/agents";
2
3
  import type { AgentMemoryStore, AgentRunStore, AgentTelemetryObserver } from "@zhivex-ai/agents/ops";
3
4
  import type { HarnessConfig, HarnessSubagentProfile } from "./config.js";
@@ -26,6 +27,7 @@ export declare const createHarnessSubagents: (options: {
26
27
  executionEnvironment?: AgentDefinition<LanguageModel>["executionEnvironment"];
27
28
  }) => HarnessSubagentRuntime;
28
29
  export interface HarnessReviewGroupResult {
30
+ usageLedger?: ReturnType<UsageLedger["summary"]>;
29
31
  schemaVersion: 1;
30
32
  kind: "review-group";
31
33
  groupId: string;
@@ -36,6 +38,7 @@ export interface HarnessReviewGroupResult {
36
38
  export declare const runHarnessReviewGroup: (runtime: {
37
39
  config: HarnessConfig;
38
40
  subagents: ReadonlyMap<HarnessSubagentProfile, AgentDefinition<LanguageModel>>;
41
+ usageLedger?: UsageLedger;
39
42
  }, input: {
40
43
  prompt: string;
41
44
  scope?: AgentRunInput<LanguageModel>["scope"];
@@ -0,0 +1,2 @@
1
+ export declare function protectPersistenceSecret(secret: string): void;
2
+ export declare function assertNoPersistenceSecret(value: unknown): void;
@@ -0,0 +1,4 @@
1
+ /** Validate an already-recorded canonical identity without creating its checkout.
2
+ * Missing paths are allowed only for archive/restore callers holding that identity.
3
+ */
4
+ export declare function validateRecordedWorkspace(workspace: string, allowAbsent?: boolean): Promise<string>;
@@ -0,0 +1,91 @@
1
+ import { type AgentRunOutput } from "@zhivex-ai/agents";
2
+ import type { ZhivexHarness } from "./harness.js";
3
+ export declare const runResultDocument: (result: AgentRunOutput, harness: ZhivexHarness) => {
4
+ schemaVersion: 1;
5
+ kind: "run-result";
6
+ runId: string;
7
+ status: import("@zhivex-ai/core").AgentStatus;
8
+ provider: string;
9
+ model: string;
10
+ output: string;
11
+ steps: number;
12
+ toolCalls: number;
13
+ mutations: readonly {
14
+ id: string;
15
+ operation: "create" | "move" | "quarantine" | "restore" | "update";
16
+ path: string;
17
+ destination?: string | undefined;
18
+ beforeDigest?: string | undefined;
19
+ afterDigest?: string | undefined;
20
+ timestamp: string;
21
+ quarantineId?: string | undefined;
22
+ }[];
23
+ pendingApprovals: {
24
+ id: string;
25
+ kind: "local-tool" | "provider" | "subagent";
26
+ name: string;
27
+ arguments: string;
28
+ childRunId?: string;
29
+ childAgentId?: string;
30
+ }[];
31
+ children: {
32
+ runId: string;
33
+ agentId: string | undefined;
34
+ toolName: string | undefined;
35
+ status: import("@zhivex-ai/core").AgentStatus;
36
+ steps: number;
37
+ toolCalls: number;
38
+ toolErrors: number;
39
+ usage: import("@zhivex-ai/core").TokenUsage | undefined;
40
+ }[];
41
+ usage: import("@zhivex-ai/core").TokenUsage | undefined;
42
+ usageLedger?: {
43
+ calls: number;
44
+ inputTokens: number;
45
+ outputTokens: number;
46
+ usageComplete: boolean;
47
+ estimatedUsd: number | null;
48
+ limitUsd: number | null;
49
+ schemaVersion: 1;
50
+ runId: string;
51
+ historicalUsageUnknown?: boolean | undefined;
52
+ costKind: "estimate-not-invoice";
53
+ routes: {
54
+ provider: string;
55
+ model: string;
56
+ calls: number;
57
+ inputTokens: number;
58
+ outputTokens: number;
59
+ unknownCalls: number;
60
+ estimatedUsd: number | null;
61
+ priceStatuses: ("estimate" | "missing" | "stale")[];
62
+ }[];
63
+ } | null;
64
+ budget: import("@zhivex-ai/core").AgentBudgetStatus;
65
+ costBudget?: {
66
+ limitUsd: number;
67
+ estimate: import("@zhivex-ai/core").CostEstimate;
68
+ };
69
+ scope: import("@zhivex-ai/core").AgentStoreScope | undefined;
70
+ capabilities: import("./capabilities.js").HarnessModelCapabilityReport;
71
+ orchestration: {
72
+ profiles: readonly ("explorer" | "implementer" | "reviewer" | "tester")[];
73
+ childBudget: import("./config.js").HarnessBudget;
74
+ mcpServers: string[];
75
+ };
76
+ execution: {
77
+ backend: "oci";
78
+ binding: import("@zhivex-ai/core").AgentExecutionEnvironmentBinding | undefined;
79
+ image: import("./execution-environment.js").OciImageInspection;
80
+ } | {
81
+ binding?: never;
82
+ image?: never;
83
+ backend: "none";
84
+ };
85
+ store: {
86
+ backend: "file" | "sqlite";
87
+ stateDirectory: string;
88
+ migration: import("./operations.js").HarnessMigrationResult | undefined;
89
+ };
90
+ stateDirectory: string;
91
+ };
@@ -3,9 +3,9 @@ import type { HarnessConfig } from "./config.js";
3
3
  /** Main runs and children use identical durable guards. Token transport controls
4
4
  * remain separate for providers that cannot accept maxTokens. */
5
5
  export declare const createRuntimeBudget: (budget: HarnessConfig["budget"], transportTokens: boolean) => {
6
- limits: import("@zhivex-ai/agents").BudgetGuardOptions;
7
- inputGuardrail: import("@zhivex-ai/agents").AgentInputGuardrail;
8
- outputGuardrail: import("@zhivex-ai/agents").AgentOutputGuardrail;
6
+ limits: import("@zhivex-ai/core").BudgetGuardOptions;
7
+ inputGuardrail: import("@zhivex-ai/core").AgentInputGuardrail;
8
+ outputGuardrail: import("@zhivex-ai/core").AgentOutputGuardrail;
9
9
  };
10
10
  export declare const runtimeManifest: (config: HarnessConfig, tools: readonly string[], role?: string) => {
11
11
  schemaVersion: number;
@@ -27,7 +27,7 @@ export declare const runtimeManifest: (config: HarnessConfig, tools: readonly st
27
27
  closureController: boolean;
28
28
  contextEnabled: boolean;
29
29
  };
30
- export declare const childRuntimeSafety: (config: HarnessConfig) => import("@zhivex-ai/agents").SafetyPolicy;
30
+ export declare const childRuntimeSafety: (config: HarnessConfig) => import("@zhivex-ai/core").SafetyPolicy;
31
31
  /** Cap each request against observed usage and the persisted checkpoint, including
32
32
  * resumed runs and compaction usage. SDK 1.20 computes its own transport ceiling only once per
33
33
  * invocation; retaining that ceiling in preflight rejects valid second turns.
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};