@zhivex-ai/harness 1.2.0-rc.8 → 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 +43 -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 +1096 -609
- 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 +11 -1
- package/dist/{cli-7nj89dq0.js → cli-3jmy4h5h.js} +385 -217
- 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-hkxakkng.js → cli-entry-c2f58zj2.js} +998 -210
- 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/compaction.d.ts +1 -1
- package/dist/context/semantic-compaction.d.ts +1 -1
- package/dist/context/task-memory.d.ts +2 -2
- package/dist/hostile-repository-demo.js +950 -509
- package/dist/index.js +1803 -1132
- 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/progress-monitor.d.ts +6 -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 +1112 -639
- package/dist/{service-client-cli-s3ee2hrj.js → service-client-cli-yx56n0hc.js} +66 -8
- package/dist/tools/dependency-read.d.ts +51 -4
- package/dist/tools/execution.d.ts +8 -8
- package/dist/tools/workspace.d.ts +27 -16
- package/dist/verify-historical-migrations.js +1122 -638
- package/dist/workspace/file-security.d.ts +6 -0
- package/dist/zhx.js +2 -2
- package/docs/CLI.md +75 -23
- package/docs/CONTEXT_ENGINEERING.md +25 -5
- 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 +55 -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) });
|
|
@@ -1,16 +1,63 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export declare const dependencyReadSchema: z.ZodObject<{
|
|
3
3
|
package: z.ZodString;
|
|
4
|
+
action: z.ZodDefault<z.ZodEnum<{
|
|
5
|
+
list: "list";
|
|
6
|
+
read: "read";
|
|
7
|
+
search: "search";
|
|
8
|
+
}>>;
|
|
4
9
|
file: z.ZodDefault<z.ZodString>;
|
|
10
|
+
path: z.ZodDefault<z.ZodString>;
|
|
11
|
+
query: z.ZodOptional<z.ZodString>;
|
|
12
|
+
recursive: z.ZodDefault<z.ZodBoolean>;
|
|
13
|
+
caseSensitive: z.ZodDefault<z.ZodBoolean>;
|
|
5
14
|
startLine: z.ZodDefault<z.ZodNumber>;
|
|
15
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
16
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
6
17
|
}, z.core.$strip>;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export declare function readDependency(root: string, input: z.infer<typeof dependencyReadSchema>): Promise<{
|
|
18
|
+
type DependencyInput = z.input<typeof dependencyReadSchema>;
|
|
19
|
+
type DependencyReadResult = {
|
|
10
20
|
package: string;
|
|
11
21
|
file: string;
|
|
12
22
|
startLine: number;
|
|
13
23
|
content: string;
|
|
14
24
|
digest: string;
|
|
15
25
|
truncated: boolean;
|
|
16
|
-
}
|
|
26
|
+
};
|
|
27
|
+
type DependencyPage = {
|
|
28
|
+
package: string;
|
|
29
|
+
path: string;
|
|
30
|
+
skippedFiles: number;
|
|
31
|
+
truncated: boolean;
|
|
32
|
+
nextOffset: number | null;
|
|
33
|
+
notice?: string;
|
|
34
|
+
};
|
|
35
|
+
type DependencyListResult = DependencyPage & {
|
|
36
|
+
action: "list";
|
|
37
|
+
entries: {
|
|
38
|
+
path: string;
|
|
39
|
+
type: "file" | "directory";
|
|
40
|
+
}[];
|
|
41
|
+
};
|
|
42
|
+
type DependencySearchResult = DependencyPage & {
|
|
43
|
+
action: "search";
|
|
44
|
+
matches: {
|
|
45
|
+
file: string;
|
|
46
|
+
line: number;
|
|
47
|
+
text: string;
|
|
48
|
+
}[];
|
|
49
|
+
};
|
|
50
|
+
type DependencyResult = DependencyReadResult | DependencyListResult | DependencySearchResult;
|
|
51
|
+
/** Dedicated read-only package boundary. Reads never execute source, follow links,
|
|
52
|
+
* enter nested dependencies or expose hidden files. Content reads are descriptor-bound. */
|
|
53
|
+
export declare function readDependency(root: string, input: DependencyInput & {
|
|
54
|
+
action?: "read";
|
|
55
|
+
}): Promise<DependencyReadResult>;
|
|
56
|
+
export declare function readDependency(root: string, input: DependencyInput & {
|
|
57
|
+
action: "list";
|
|
58
|
+
}): Promise<DependencyListResult>;
|
|
59
|
+
export declare function readDependency(root: string, input: DependencyInput & {
|
|
60
|
+
action: "search";
|
|
61
|
+
}): Promise<DependencySearchResult>;
|
|
62
|
+
export declare function readDependency(root: string, input: DependencyInput): Promise<DependencyResult>;
|
|
63
|
+
export {};
|
|
@@ -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,37 +1,48 @@
|
|
|
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
|
+
action: z.ZodDefault<z.ZodEnum<{
|
|
7
|
+
list: "list";
|
|
8
|
+
read: "read";
|
|
9
|
+
search: "search";
|
|
10
|
+
}>>;
|
|
6
11
|
file: z.ZodDefault<z.ZodString>;
|
|
12
|
+
path: z.ZodDefault<z.ZodString>;
|
|
13
|
+
query: z.ZodOptional<z.ZodString>;
|
|
14
|
+
recursive: z.ZodDefault<z.ZodBoolean>;
|
|
15
|
+
caseSensitive: z.ZodDefault<z.ZodBoolean>;
|
|
7
16
|
startLine: z.ZodDefault<z.ZodNumber>;
|
|
17
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
18
|
+
offset: z.ZodDefault<z.ZodNumber>;
|
|
8
19
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
9
|
-
list_files: import("@zhivex-ai/
|
|
20
|
+
list_files: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
10
21
|
path: z.ZodDefault<z.ZodString>;
|
|
11
22
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
12
23
|
includeDigests: z.ZodDefault<z.ZodBoolean>;
|
|
13
24
|
cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
14
25
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
15
|
-
read_file: import("@zhivex-ai/
|
|
26
|
+
read_file: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
16
27
|
path: z.ZodString;
|
|
17
28
|
startLine: z.ZodDefault<z.ZodNumber>;
|
|
18
29
|
endLine: z.ZodOptional<z.ZodNumber>;
|
|
19
30
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
20
|
-
read_files: import("@zhivex-ai/
|
|
31
|
+
read_files: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
21
32
|
files: z.ZodArray<z.ZodObject<{
|
|
22
33
|
path: z.ZodString;
|
|
23
34
|
startLine: z.ZodDefault<z.ZodNumber>;
|
|
24
35
|
endLine: z.ZodOptional<z.ZodNumber>;
|
|
25
36
|
}, z.core.$strip>>;
|
|
26
37
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
27
|
-
search_files: import("@zhivex-ai/
|
|
38
|
+
search_files: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
28
39
|
query: z.ZodString;
|
|
29
40
|
path: z.ZodDefault<z.ZodString>;
|
|
30
41
|
caseSensitive: z.ZodDefault<z.ZodBoolean>;
|
|
31
42
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
32
43
|
cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
33
44
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
34
|
-
search_many: import("@zhivex-ai/
|
|
45
|
+
search_many: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
35
46
|
queries: z.ZodArray<z.ZodObject<{
|
|
36
47
|
query: z.ZodString;
|
|
37
48
|
caseSensitive: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -39,14 +50,14 @@ export declare const createWorkspaceTools: (workspace: Workspace, allowedChecks:
|
|
|
39
50
|
path: z.ZodDefault<z.ZodString>;
|
|
40
51
|
limitPerQuery: z.ZodDefault<z.ZodNumber>;
|
|
41
52
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
42
|
-
propose_edits: import("@zhivex-ai/
|
|
53
|
+
propose_edits: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
43
54
|
changes: z.ZodArray<z.ZodObject<{
|
|
44
55
|
path: z.ZodString;
|
|
45
56
|
expectedDigest: z.ZodNullable<z.ZodString>;
|
|
46
57
|
content: z.ZodString;
|
|
47
58
|
}, z.core.$strict>>;
|
|
48
59
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
49
|
-
apply_patch: import("@zhivex-ai/
|
|
60
|
+
apply_patch: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
50
61
|
proposalId: z.ZodString;
|
|
51
62
|
changes: z.ZodArray<z.ZodObject<{
|
|
52
63
|
path: z.ZodString;
|
|
@@ -54,37 +65,37 @@ export declare const createWorkspaceTools: (workspace: Workspace, allowedChecks:
|
|
|
54
65
|
content: z.ZodString;
|
|
55
66
|
}, z.core.$strict>>;
|
|
56
67
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
57
|
-
apply_reviewed_replacement: import("@zhivex-ai/
|
|
68
|
+
apply_reviewed_replacement: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
58
69
|
path: z.ZodString;
|
|
59
70
|
expectedDigest: z.ZodString;
|
|
60
71
|
oldText: z.ZodString;
|
|
61
72
|
newText: z.ZodString;
|
|
62
73
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
63
|
-
apply_reviewed_edits: import("@zhivex-ai/
|
|
74
|
+
apply_reviewed_edits: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
64
75
|
changes: z.ZodArray<z.ZodObject<{
|
|
65
76
|
path: z.ZodString;
|
|
66
77
|
expectedDigest: z.ZodNullable<z.ZodString>;
|
|
67
78
|
content: z.ZodString;
|
|
68
79
|
}, z.core.$strict>>;
|
|
69
80
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
70
|
-
move_file: import("@zhivex-ai/
|
|
81
|
+
move_file: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
71
82
|
source: z.ZodString;
|
|
72
83
|
destination: z.ZodString;
|
|
73
84
|
expectedDigest: z.ZodString;
|
|
74
85
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
75
|
-
quarantine_file: import("@zhivex-ai/
|
|
86
|
+
quarantine_file: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
76
87
|
path: z.ZodString;
|
|
77
88
|
expectedDigest: z.ZodString;
|
|
78
89
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
79
|
-
restore_file: import("@zhivex-ai/
|
|
90
|
+
restore_file: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
80
91
|
quarantineId: z.ZodString;
|
|
81
92
|
destination: z.ZodOptional<z.ZodString>;
|
|
82
93
|
expectedDigest: z.ZodOptional<z.ZodString>;
|
|
83
94
|
}, z.core.$strict>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
84
|
-
run_check: import("@zhivex-ai/
|
|
95
|
+
run_check: import("@zhivex-ai/core").ToolDefinition<z.ZodObject<{
|
|
85
96
|
check: z.ZodString;
|
|
86
97
|
expectedScript: z.ZodString;
|
|
87
98
|
}, z.core.$strip>, import("@zhivex-ai/core").JsonValue, unknown>;
|
|
88
|
-
mutation_audit: import("@zhivex-ai/
|
|
89
|
-
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>;
|
|
90
101
|
};
|