@zhivex-ai/harness 1.2.0-rc.9 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/README.md +7 -7
- package/contracts/public-api.json +5 -0
- package/contracts/stable-api-signatures.json +28 -28
- package/dist/acp-cli.js +804 -545
- package/dist/cli/arguments.d.ts +2 -0
- package/dist/cli/cli-credentials.d.ts +1 -1
- package/dist/cli/cli-options.d.ts +1 -1
- package/dist/cli/cli-profiles.d.ts +15 -0
- package/dist/cli/cli-stream.d.ts +3 -3
- package/dist/cli/console/console-commands.d.ts +3 -3
- package/dist/cli/console/console-input.d.ts +22 -3
- package/dist/cli/console/console-navigation.d.ts +3 -0
- package/dist/cli/console/console-presentation.d.ts +8 -2
- package/dist/cli/console/console-reasoning.d.ts +3 -0
- package/dist/cli/presentation.d.ts +3 -0
- package/dist/cli/run-document.d.ts +4 -4
- package/dist/cli/terminal/activity-history.d.ts +15 -0
- package/dist/cli/terminal/tool-activity.d.ts +3 -1
- package/dist/{cli-2dxcfrz5.js → cli-3jmy4h5h.js} +348 -187
- package/dist/{cli-entry-t3bay5k5.js → cli-entry-427869g9.js} +287 -180
- package/dist/{cli-entry-0mhbpe8j.js → cli-entry-b1mfvmxe.js} +2 -1
- package/dist/{cli-entry-gddtj1db.js → cli-entry-c2f58zj2.js} +699 -139
- package/dist/cli.js +2 -2
- package/dist/client/json-contracts.d.ts +20 -0
- package/dist/{config-w1npe8mp.js → config-1k9t4jhh.js} +1 -1
- package/dist/context/task-memory.d.ts +2 -2
- package/dist/hostile-repository-demo.js +661 -448
- package/dist/index.js +1517 -1074
- package/dist/persistence/operations.d.ts +5 -1
- package/dist/persistence/state-backup-stream.d.ts +4 -0
- package/dist/providers/meta-replay.d.ts +1 -1
- package/dist/providers/qwen-context.d.ts +2 -0
- package/dist/providers/qwen-hosted-policy.d.ts +5 -0
- package/dist/providers/reasoning.d.ts +18 -0
- package/dist/runtime/config.d.ts +3 -0
- package/dist/runtime/error-diagnostics.d.ts +2 -0
- package/dist/runtime/harness.d.ts +1 -1
- package/dist/runtime/model-edit-references.d.ts +4 -2
- package/dist/runtime/runtime-policy.d.ts +5 -4
- package/dist/runtime/time-to-safe-fix.d.ts +6 -1
- package/dist/service-cli.js +820 -575
- package/dist/{service-client-cli-1c9j6xah.js → service-client-cli-yx56n0hc.js} +66 -8
- package/dist/tools/execution.d.ts +8 -8
- package/dist/tools/workspace.d.ts +16 -16
- package/dist/verify-historical-migrations.js +830 -574
- package/dist/workspace/file-security.d.ts +6 -0
- package/dist/zhx.js +2 -2
- package/docs/CLI.md +52 -1
- package/docs/DURABLE_OPERATIONS.md +8 -0
- package/docs/EXTENSIBILITY.md +1 -1
- package/docs/FIRST_USE.md +6 -6
- package/docs/MODEL_CATALOG.md +28 -1
- package/evaluations/representative-assembly-matrix.json +46 -1
- package/evaluations/representative-repositories-v2.jsonl +7 -0
- package/examples/README.md +4 -4
- package/package.json +7 -7
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
|
+
ActivityHistory,
|
|
2
3
|
CLI_EVENT_SCHEMA_VERSION,
|
|
3
4
|
CLI_JSON_SCHEMA_VERSION,
|
|
4
5
|
ConsoleInput,
|
|
6
|
+
ToolActivity,
|
|
5
7
|
changeEnvelopeSchema,
|
|
6
|
-
|
|
8
|
+
formatAppliedFiles,
|
|
7
9
|
formatConsoleHelp,
|
|
8
10
|
formatConsoleWelcome,
|
|
9
11
|
navigateConsole,
|
|
10
12
|
sanitizeTerminalText,
|
|
11
13
|
serializeStreamResult
|
|
12
|
-
} from "./cli-entry-
|
|
14
|
+
} from "./cli-entry-c2f58zj2.js";
|
|
13
15
|
import {
|
|
14
16
|
HARNESS_VERSION
|
|
15
17
|
} from "./cli-entry-64pdp3k5.js";
|
|
@@ -18,8 +20,9 @@ import {
|
|
|
18
20
|
HARNESS_ERROR_SCHEMA_VERSION,
|
|
19
21
|
HarnessConfigError,
|
|
20
22
|
HarnessStateConflictError,
|
|
21
|
-
PROVIDERS
|
|
22
|
-
|
|
23
|
+
PROVIDERS,
|
|
24
|
+
reasoningEffortSchema
|
|
25
|
+
} from "./cli-entry-427869g9.js";
|
|
23
26
|
import {
|
|
24
27
|
__require
|
|
25
28
|
} from "./cli-entry-1bx83sw4.js";
|
|
@@ -441,7 +444,8 @@ var cliInitDocumentSchema = observationalDocument({
|
|
|
441
444
|
path: z6.string().min(1),
|
|
442
445
|
schemaVersion: nonnegativeInteger,
|
|
443
446
|
provider: z6.enum(PROVIDERS),
|
|
444
|
-
model: z6.string().min(1)
|
|
447
|
+
model: z6.string().min(1),
|
|
448
|
+
reasoningEffort: reasoningEffortSchema.optional()
|
|
445
449
|
}),
|
|
446
450
|
credential: observationalDocument({
|
|
447
451
|
configured: z6.boolean(),
|
|
@@ -783,6 +787,9 @@ var runServiceCli = async (options, annotate) => {
|
|
|
783
787
|
} else
|
|
784
788
|
session2 = await create(options.idempotencyKey);
|
|
785
789
|
let activeRun;
|
|
790
|
+
let consoleInput;
|
|
791
|
+
const history = new ActivityHistory;
|
|
792
|
+
const seenMutations = new Set;
|
|
786
793
|
const currentRun = async (runId = activeRun ?? session2.runs.at(-1)?.runId) => {
|
|
787
794
|
if (!runId)
|
|
788
795
|
return;
|
|
@@ -808,6 +815,27 @@ var runServiceCli = async (options, annotate) => {
|
|
|
808
815
|
const invoke = async (command) => {
|
|
809
816
|
let cursor = await cursorAtEnd();
|
|
810
817
|
let finished = false, streamed = false;
|
|
818
|
+
consoleInput?.startBackground();
|
|
819
|
+
const activity = new ToolActivity((text) => {
|
|
820
|
+
process.stderr.write(text);
|
|
821
|
+
}, Boolean(consoleInput && process.stdout.isTTY), () => process.stdout.columns || 80, () => consoleInput?.backgroundStatus ?? "");
|
|
822
|
+
const observe = (a) => {
|
|
823
|
+
if (options.json || options.jsonl)
|
|
824
|
+
return;
|
|
825
|
+
history.observeService(a);
|
|
826
|
+
if (a.type === "agent-step-start" || a.type === "agent-run-start")
|
|
827
|
+
activity.phase("Waiting for model response");
|
|
828
|
+
else if (a.type === "agent-compaction")
|
|
829
|
+
activity.phase("Updating context");
|
|
830
|
+
else if (a.type === "tool-call")
|
|
831
|
+
activity.start(typeof a.toolName === "string" ? a.toolName : undefined);
|
|
832
|
+
else if (a.type === "tool-result")
|
|
833
|
+
activity.finish(typeof a.toolName === "string" ? a.toolName : "tool", a.isError !== true);
|
|
834
|
+
else if (["agent-run-finish", "tool-approval-request", "agent-approval-request"].includes(String(a.type)))
|
|
835
|
+
activity.flush();
|
|
836
|
+
else if (a.type === "text-delta")
|
|
837
|
+
activity.pause();
|
|
838
|
+
};
|
|
811
839
|
const pending = call(command).finally(() => {
|
|
812
840
|
finished = true;
|
|
813
841
|
});
|
|
@@ -825,6 +853,7 @@ var runServiceCli = async (options, annotate) => {
|
|
|
825
853
|
const a = event.activity;
|
|
826
854
|
if (a.type === "checkpoint" || a.type === "user-message")
|
|
827
855
|
continue;
|
|
856
|
+
observe(a);
|
|
828
857
|
if (options.jsonl)
|
|
829
858
|
process.stdout.write(JSON.stringify({ ...a, schemaVersion: 1, kind: "run-event", sequence: ++sequence }) + `
|
|
830
859
|
`);
|
|
@@ -848,6 +877,7 @@ var runServiceCli = async (options, annotate) => {
|
|
|
848
877
|
const a = event.activity;
|
|
849
878
|
if (a.type === "checkpoint" || a.type === "user-message")
|
|
850
879
|
continue;
|
|
880
|
+
observe(a);
|
|
851
881
|
if (options.jsonl)
|
|
852
882
|
process.stdout.write(JSON.stringify({ ...a, schemaVersion: 1, kind: "run-event", sequence: ++sequence }) + `
|
|
853
883
|
`);
|
|
@@ -868,6 +898,8 @@ var runServiceCli = async (options, annotate) => {
|
|
|
868
898
|
} catch (e) {
|
|
869
899
|
throw annotate(e, sequence);
|
|
870
900
|
} finally {
|
|
901
|
+
activity.flush();
|
|
902
|
+
consoleInput?.stopBackground();
|
|
871
903
|
activeRun = undefined;
|
|
872
904
|
}
|
|
873
905
|
};
|
|
@@ -885,6 +917,18 @@ var runServiceCli = async (options, annotate) => {
|
|
|
885
917
|
Run ${run2.runId} · ${run2.status} · session ${session2.sessionId}
|
|
886
918
|
`);
|
|
887
919
|
}
|
|
920
|
+
if (!options.json && !options.jsonl) {
|
|
921
|
+
const fresh = document.mutations.filter((entry) => !seenMutations.has(entry.id));
|
|
922
|
+
for (const entry of fresh)
|
|
923
|
+
seenMutations.add(entry.id);
|
|
924
|
+
while (seenMutations.size > 2000)
|
|
925
|
+
seenMutations.delete(seenMutations.values().next().value);
|
|
926
|
+
const receipt = formatAppliedFiles(fresh, "Review changes in the host workspace");
|
|
927
|
+
if (receipt) {
|
|
928
|
+
process.stdout.write(receipt);
|
|
929
|
+
history.add(receipt.trim());
|
|
930
|
+
}
|
|
931
|
+
}
|
|
888
932
|
if (["failed", "cancelled", "timed_out"].includes(run2.status))
|
|
889
933
|
process.exitCode = 1;
|
|
890
934
|
};
|
|
@@ -928,6 +972,7 @@ Run ${run2.runId} · ${run2.status} · session ${session2.sessionId}
|
|
|
928
972
|
}
|
|
929
973
|
const input = new ConsoleInput(process.stdin, process.stdout, Boolean(process.stdin.isTTY), "service");
|
|
930
974
|
input.onInterrupt = interrupt;
|
|
975
|
+
consoleInput = input;
|
|
931
976
|
try {
|
|
932
977
|
process.stdout.write(formatConsoleWelcome({ version: HARNESS_VERSION, workspace: projectId, sessionId: session2.sessionId, service: true }, { columns: process.stdout.columns ?? 80 }) + `
|
|
933
978
|
`);
|
|
@@ -935,9 +980,8 @@ Run ${run2.runId} · ${run2.status} · session ${session2.sessionId}
|
|
|
935
980
|
if (previous)
|
|
936
981
|
print(previous);
|
|
937
982
|
for (;; ) {
|
|
938
|
-
|
|
939
|
-
const raw = await input.
|
|
940
|
-
> `, true).catch((e) => {
|
|
983
|
+
input.setQueueEnabled(!session2.runs.some((run2) => ["created", "running", "waiting_approval"].includes(run2.status)));
|
|
984
|
+
const raw = await input.compose({ model: "local service", status: session2.runs.at(-1)?.status === "waiting_approval" ? "approval pending · /pending" : "ready", ...session2.title ? { title: session2.title } : {}, automaticApprovals: options.yes === true }).catch((e) => {
|
|
941
985
|
if (input.isClosed)
|
|
942
986
|
return "/exit";
|
|
943
987
|
if (e instanceof Error && e.name === "AbortError")
|
|
@@ -961,11 +1005,23 @@ Run ${run2.runId} · ${run2.status} · session ${session2.sessionId}
|
|
|
961
1005
|
}
|
|
962
1006
|
if (text === "/help" || text === "/help all")
|
|
963
1007
|
process.stdout.write(formatConsoleHelp("service", text === "/help all"));
|
|
1008
|
+
else if (text === "/activity" || text === "/activity clear") {
|
|
1009
|
+
if (text.endsWith(" clear"))
|
|
1010
|
+
history.clear();
|
|
1011
|
+
process.stdout.write(history.render());
|
|
1012
|
+
} else if (text === "/queue clear") {
|
|
1013
|
+
input.clearQueue();
|
|
1014
|
+
process.stdout.write(`Queued tasks cleared.
|
|
1015
|
+
`);
|
|
1016
|
+
} else if (text === "/queue")
|
|
1017
|
+
process.stdout.write(input.queueSummary());
|
|
964
1018
|
else if (text === "/sessions" || text.startsWith("/sessions "))
|
|
965
1019
|
print(await list(text.slice(9).trim() || undefined));
|
|
966
1020
|
else if (text === "/new") {
|
|
967
1021
|
session2 = await create();
|
|
968
1022
|
input.clearHistory();
|
|
1023
|
+
history.clear();
|
|
1024
|
+
seenMutations.clear();
|
|
969
1025
|
process.stdout.write(`Session ${session2.sessionId}.
|
|
970
1026
|
`);
|
|
971
1027
|
} else if (text === "/resume" || text.startsWith("/resume ")) {
|
|
@@ -978,6 +1034,8 @@ Run ${run2.runId} · ${run2.status} · session ${session2.sessionId}
|
|
|
978
1034
|
}
|
|
979
1035
|
session2 = await getSession(id2);
|
|
980
1036
|
input.clearHistory();
|
|
1037
|
+
history.clear();
|
|
1038
|
+
seenMutations.clear();
|
|
981
1039
|
print(await currentRun());
|
|
982
1040
|
} else if (text.startsWith("/rename ")) {
|
|
983
1041
|
const r = await call({ method: "session.rename", sessionId: session2.sessionId, expectedRevision: session2.revision, idempotencyKey: key("rename"), title: text.slice(8) });
|
|
@@ -4,13 +4,13 @@ import { Workspace } from "../workspace/workspace.js";
|
|
|
4
4
|
export declare const createExecutionEnvironmentTools: (workspace: Workspace, execution?: Extract<HarnessConfig["execution"], {
|
|
5
5
|
backend: "oci";
|
|
6
6
|
}>) => {
|
|
7
|
-
run_environment_command: import("@zhivex-ai/
|
|
7
|
+
run_environment_command: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
8
8
|
command: z.ZodEnum<{
|
|
9
9
|
[x: string]: string;
|
|
10
10
|
}> | z.ZodString;
|
|
11
11
|
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
12
12
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
13
|
-
run_environment_batch: import("@zhivex-ai/
|
|
13
|
+
run_environment_batch: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
14
14
|
commands: z.ZodArray<z.ZodObject<{
|
|
15
15
|
command: z.ZodEnum<{
|
|
16
16
|
[x: string]: string;
|
|
@@ -18,22 +18,22 @@ export declare const createExecutionEnvironmentTools: (workspace: Workspace, exe
|
|
|
18
18
|
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
19
19
|
}, z.core.$strict>>;
|
|
20
20
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
21
|
-
run_environment_shell?: import("@zhivex-ai/
|
|
21
|
+
run_environment_shell?: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
22
22
|
script: z.ZodString;
|
|
23
23
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
24
|
-
environment_status: import("@zhivex-ai/
|
|
25
|
-
inspect_environment_patch: import("@zhivex-ai/
|
|
26
|
-
apply_environment_patch: import("@zhivex-ai/
|
|
24
|
+
environment_status: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
25
|
+
inspect_environment_patch: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
26
|
+
apply_environment_patch: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
27
27
|
patchId: z.ZodString;
|
|
28
28
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
29
|
-
verify_and_apply_environment_patch: import("@zhivex-ai/
|
|
29
|
+
verify_and_apply_environment_patch: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
30
30
|
patchId: z.ZodString;
|
|
31
31
|
command: z.ZodEnum<{
|
|
32
32
|
[x: string]: string;
|
|
33
33
|
}> | z.ZodString;
|
|
34
34
|
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
35
35
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
36
|
-
verify_and_apply_reviewed_edits: import("@zhivex-ai/
|
|
36
|
+
verify_and_apply_reviewed_edits: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
37
37
|
changes: z.ZodArray<z.ZodObject<{
|
|
38
38
|
path: z.ZodString;
|
|
39
39
|
expectedDigest: z.ZodNullable<z.ZodString>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { Workspace } from "../workspace/workspace.js";
|
|
3
3
|
export declare const createWorkspaceTools: (workspace: Workspace, allowedChecks: readonly string[]) => {
|
|
4
|
-
read_dependency: import("@zhivex-ai/
|
|
4
|
+
read_dependency: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
5
5
|
package: z.ZodString;
|
|
6
6
|
action: z.ZodDefault<z.ZodEnum<{
|
|
7
7
|
list: "list";
|
|
@@ -17,32 +17,32 @@ export declare const createWorkspaceTools: (workspace: Workspace, allowedChecks:
|
|
|
17
17
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
18
18
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
19
19
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
20
|
-
list_files: import("@zhivex-ai/
|
|
20
|
+
list_files: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
21
21
|
path: z.ZodDefault<z.ZodString>;
|
|
22
22
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
23
23
|
includeDigests: z.ZodDefault<z.ZodBoolean>;
|
|
24
24
|
cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
25
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
26
|
-
read_file: import("@zhivex-ai/
|
|
26
|
+
read_file: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
27
27
|
path: z.ZodString;
|
|
28
28
|
startLine: z.ZodDefault<z.ZodNumber>;
|
|
29
29
|
endLine: z.ZodOptional<z.ZodNumber>;
|
|
30
30
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
31
|
-
read_files: import("@zhivex-ai/
|
|
31
|
+
read_files: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
32
32
|
files: z.ZodArray<z.ZodObject<{
|
|
33
33
|
path: z.ZodString;
|
|
34
34
|
startLine: z.ZodDefault<z.ZodNumber>;
|
|
35
35
|
endLine: z.ZodOptional<z.ZodNumber>;
|
|
36
36
|
}, z.core.$strip>>;
|
|
37
37
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
38
|
-
search_files: import("@zhivex-ai/
|
|
38
|
+
search_files: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
39
39
|
query: z.ZodString;
|
|
40
40
|
path: z.ZodDefault<z.ZodString>;
|
|
41
41
|
caseSensitive: z.ZodDefault<z.ZodBoolean>;
|
|
42
42
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
43
43
|
cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
44
44
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
45
|
-
search_many: import("@zhivex-ai/
|
|
45
|
+
search_many: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
46
46
|
queries: z.ZodArray<z.ZodObject<{
|
|
47
47
|
query: z.ZodString;
|
|
48
48
|
caseSensitive: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -50,14 +50,14 @@ export declare const createWorkspaceTools: (workspace: Workspace, allowedChecks:
|
|
|
50
50
|
path: z.ZodDefault<z.ZodString>;
|
|
51
51
|
limitPerQuery: z.ZodDefault<z.ZodNumber>;
|
|
52
52
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
53
|
-
propose_edits: import("@zhivex-ai/
|
|
53
|
+
propose_edits: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
54
54
|
changes: z.ZodArray<z.ZodObject<{
|
|
55
55
|
path: z.ZodString;
|
|
56
56
|
expectedDigest: z.ZodNullable<z.ZodString>;
|
|
57
57
|
content: z.ZodString;
|
|
58
58
|
}, z.core.$strict>>;
|
|
59
59
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
60
|
-
apply_patch: import("@zhivex-ai/
|
|
60
|
+
apply_patch: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
61
61
|
proposalId: z.ZodString;
|
|
62
62
|
changes: z.ZodArray<z.ZodObject<{
|
|
63
63
|
path: z.ZodString;
|
|
@@ -65,37 +65,37 @@ export declare const createWorkspaceTools: (workspace: Workspace, allowedChecks:
|
|
|
65
65
|
content: z.ZodString;
|
|
66
66
|
}, z.core.$strict>>;
|
|
67
67
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
68
|
-
apply_reviewed_replacement: import("@zhivex-ai/
|
|
68
|
+
apply_reviewed_replacement: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
69
69
|
path: z.ZodString;
|
|
70
70
|
expectedDigest: z.ZodString;
|
|
71
71
|
oldText: z.ZodString;
|
|
72
72
|
newText: z.ZodString;
|
|
73
73
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
74
|
-
apply_reviewed_edits: import("@zhivex-ai/
|
|
74
|
+
apply_reviewed_edits: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
75
75
|
changes: z.ZodArray<z.ZodObject<{
|
|
76
76
|
path: z.ZodString;
|
|
77
77
|
expectedDigest: z.ZodNullable<z.ZodString>;
|
|
78
78
|
content: z.ZodString;
|
|
79
79
|
}, z.core.$strict>>;
|
|
80
80
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
81
|
-
move_file: import("@zhivex-ai/
|
|
81
|
+
move_file: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
82
82
|
source: z.ZodString;
|
|
83
83
|
destination: z.ZodString;
|
|
84
84
|
expectedDigest: z.ZodString;
|
|
85
85
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
86
|
-
quarantine_file: import("@zhivex-ai/
|
|
86
|
+
quarantine_file: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
87
87
|
path: z.ZodString;
|
|
88
88
|
expectedDigest: z.ZodString;
|
|
89
89
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
90
|
-
restore_file: import("@zhivex-ai/
|
|
90
|
+
restore_file: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
91
91
|
quarantineId: z.ZodString;
|
|
92
92
|
destination: z.ZodOptional<z.ZodString>;
|
|
93
93
|
expectedDigest: z.ZodOptional<z.ZodString>;
|
|
94
94
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
95
|
-
run_check: import("@zhivex-ai/
|
|
95
|
+
run_check: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
96
96
|
check: z.ZodString;
|
|
97
97
|
expectedScript: z.ZodString;
|
|
98
98
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
99
|
-
mutation_audit: import("@zhivex-ai/
|
|
100
|
-
git_diff: import("@zhivex-ai/
|
|
99
|
+
mutation_audit: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
100
|
+
git_diff: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
101
101
|
};
|