@claudexor/schema 2.1.3 → 3.0.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/dist/agent-capabilities.d.ts +32 -24
- package/dist/agent-capabilities.d.ts.map +1 -1
- package/dist/agent-capabilities.js +20 -11
- package/dist/agent-capabilities.js.map +1 -1
- package/dist/apply-eligibility.d.ts +166 -0
- package/dist/apply-eligibility.d.ts.map +1 -1
- package/dist/apply-eligibility.js +63 -2
- package/dist/apply-eligibility.js.map +1 -1
- package/dist/attachment.d.ts +5 -5
- package/dist/budget.d.ts +4 -4
- package/dist/config.d.ts +59 -41
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +16 -6
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +6 -6
- package/dist/control-operation-responses.d.ts +190 -97
- package/dist/control-operation-responses.d.ts.map +1 -1
- package/dist/control-operation-responses.js +14 -1
- package/dist/control-operation-responses.js.map +1 -1
- package/dist/control-run-detail.d.ts +347 -215
- package/dist/control-run-detail.d.ts.map +1 -1
- package/dist/control-run-detail.js +34 -7
- package/dist/control-run-detail.js.map +1 -1
- package/dist/control-thread-apply.d.ts +5 -5
- package/dist/control-trust.d.ts +6 -6
- package/dist/control.d.ts +769 -306
- package/dist/control.d.ts.map +1 -1
- package/dist/control.js +164 -61
- package/dist/control.js.map +1 -1
- package/dist/credential-profile.d.ts +400 -1
- package/dist/credential-profile.d.ts.map +1 -1
- package/dist/credential-profile.js +109 -4
- package/dist/credential-profile.js.map +1 -1
- package/dist/decision.d.ts +78 -14
- package/dist/decision.d.ts.map +1 -1
- package/dist/decision.js +53 -20
- package/dist/decision.js.map +1 -1
- package/dist/delivery.d.ts +3 -3
- package/dist/delivery.js +1 -1
- package/dist/delivery.js.map +1 -1
- package/dist/events.d.ts +32 -6
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +45 -11
- package/dist/events.js.map +1 -1
- package/dist/gate.d.ts +4 -4
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +2 -2
- package/dist/gate.js.map +1 -1
- package/dist/harness.d.ts +137 -47
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js +65 -16
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/operation.d.ts +66 -7
- package/dist/operation.d.ts.map +1 -1
- package/dist/operation.js +29 -2
- package/dist/operation.js.map +1 -1
- package/dist/output-schema.d.ts +40 -0
- package/dist/output-schema.d.ts.map +1 -0
- package/dist/output-schema.js +109 -0
- package/dist/output-schema.js.map +1 -0
- package/dist/plan.d.ts +206 -0
- package/dist/plan.d.ts.map +1 -0
- package/dist/plan.js +107 -0
- package/dist/plan.js.map +1 -0
- package/dist/primitives.d.ts +14 -10
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +14 -11
- package/dist/primitives.js.map +1 -1
- package/dist/project.d.ts +75 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +17 -0
- package/dist/project.js.map +1 -1
- package/dist/quota.d.ts +119 -0
- package/dist/quota.d.ts.map +1 -1
- package/dist/quota.js +22 -0
- package/dist/quota.js.map +1 -1
- package/dist/raw.d.ts +4 -4
- package/dist/readiness.d.ts +14 -7
- package/dist/readiness.d.ts.map +1 -1
- package/dist/run-strategy.d.ts +17 -0
- package/dist/run-strategy.d.ts.map +1 -0
- package/dist/run-strategy.js +47 -0
- package/dist/run-strategy.js.map +1 -0
- package/dist/setup.d.ts +160 -160
- package/dist/status-projection.d.ts +78 -0
- package/dist/status-projection.d.ts.map +1 -0
- package/dist/status-projection.js +171 -0
- package/dist/status-projection.js.map +1 -0
- package/dist/task.d.ts +48 -316
- package/dist/task.d.ts.map +1 -1
- package/dist/task.js +3 -60
- package/dist/task.js.map +1 -1
- package/dist/telemetry.d.ts +89 -89
- package/dist/thread.d.ts +167 -32
- package/dist/thread.d.ts.map +1 -1
- package/dist/thread.js +92 -28
- package/dist/thread.js.map +1 -1
- package/dist/tool-ref.d.ts +1 -1
- package/generated/AgentCapabilityCatalog.schema.json +4 -6
- package/generated/ApplyEligibility.schema.json +1 -1
- package/generated/BudgetLease.schema.json +1 -2
- package/generated/ConformanceReport.schema.json +1 -2
- package/generated/ContinuityDisclosure.schema.json +74 -0
- package/generated/ControlApplyRequest.schema.json +1 -2
- package/generated/ControlCredentialProfileUpdateRequest.schema.json +20 -0
- package/generated/ControlCredentialProfileUpdateResponse.schema.json +142 -0
- package/generated/ControlCredentialProfilesResponse.schema.json +126 -2
- package/generated/ControlDeliveryResponse.schema.json +0 -1
- package/generated/ControlHandshakeResponse.schema.json +31 -3
- package/generated/ControlHarnessListResponse.schema.json +11 -6
- package/generated/ControlHarnessSettingsPatch.schema.json +4 -0
- package/generated/ControlOperationCatalog.schema.json +16 -1
- package/generated/ControlOperationDescriptor.schema.json +15 -0
- package/generated/ControlProject.schema.json +35 -0
- package/generated/ControlProjectListResponse.schema.json +35 -0
- package/generated/ControlProjectOutputsResponse.schema.json +57 -0
- package/generated/ControlQueuedRunInfo.schema.json +2 -11
- package/generated/ControlQuotaResponse.schema.json +42 -0
- package/generated/ControlRunAgainDraft.schema.json +37 -35
- package/generated/ControlRunDecisionRequest.schema.json +0 -1
- package/generated/ControlRunDetail.schema.json +292 -213
- package/generated/ControlRunListResponse.schema.json +88 -27
- package/generated/ControlRunStartRequest.schema.json +37 -35
- package/generated/ControlRunStartResponse.schema.json +2 -11
- package/generated/ControlRunSummary.schema.json +88 -27
- package/generated/ControlSettingsSnapshot.schema.json +6 -11
- package/generated/ControlSettingsUpdateRequest.schema.json +5 -10
- package/generated/ControlThread.schema.json +21 -3
- package/generated/ControlThreadApplyResponse.schema.json +0 -1
- package/generated/ControlThreadCreateRequest.schema.json +12 -3
- package/generated/ControlThreadDetail.schema.json +174 -16
- package/generated/ControlThreadListResponse.schema.json +60 -3
- package/generated/ControlThreadTurnRequest.schema.json +40 -34
- package/generated/ControlThreadUpdateRequest.schema.json +19 -0
- package/generated/DecisionRecord.schema.json +73 -33
- package/generated/GateResult.schema.json +1 -2
- package/generated/GlobalConfig.schema.json +7 -12
- package/generated/HarnessManifest.schema.json +11 -6
- package/generated/HarnessStatusDto.schema.json +11 -6
- package/generated/LaneCheckpoint.schema.json +59 -0
- package/generated/McpRunHandleResult.schema.json +234 -0
- package/generated/McpRunToolResult.schema.json +124 -2
- package/generated/RoutePrimaryDivergedPayload.schema.json +56 -0
- package/generated/RunEvent.schema.json +9 -5
- package/generated/RunTelemetry.schema.json +2 -4
- package/generated/TaskContract.schema.json +3 -135
- package/generated/Thread.schema.json +21 -3
- package/generated/ThreadTurn.schema.json +88 -0
- package/package.json +2 -2
- package/dist/control-spec.d.ts +0 -603
- package/dist/control-spec.d.ts.map +0 -1
- package/dist/control-spec.js +0 -87
- package/dist/control-spec.js.map +0 -1
- package/dist/orchestrate.d.ts +0 -556
- package/dist/orchestrate.d.ts.map +0 -1
- package/dist/orchestrate.js +0 -356
- package/dist/orchestrate.js.map +0 -1
- package/dist/spec.d.ts +0 -678
- package/dist/spec.d.ts.map +0 -1
- package/dist/spec.js +0 -186
- package/dist/spec.js.map +0 -1
- package/generated/ControlSpecAnswersRequest.schema.json +0 -74
- package/generated/ControlSpecQuestionsRequest.schema.json +0 -209
- package/generated/ControlSpecSession.schema.json +0 -261
- package/generated/ControlSpecSessionListResponse.schema.json +0 -273
- package/generated/OrchestrateContract.schema.json +0 -119
- package/generated/OrchestratePlan.schema.json +0 -264
- package/generated/OrchestratePlanProgress.schema.json +0 -164
- package/generated/SessionReboundLineage.schema.json +0 -73
- package/generated/SpecPack.schema.json +0 -483
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Caller-supplied per-run output-schema normalization/transport helpers. A
|
|
3
|
+
* run's final ANSWER may be constrained to a JSON Schema (agent race/ask):
|
|
4
|
+
* the ORIGINAL validated schema stays the conformance authority, while the
|
|
5
|
+
* vendor transport gets a strict (all-required + additionalProperties:false)
|
|
6
|
+
* form. Shared owner for both transforms, harness-agnostic.
|
|
7
|
+
*/
|
|
8
|
+
/** A caller-supplied output schema the structured-output routes cannot carry. */
|
|
9
|
+
export class UnsupportedOutputSchemaError extends Error {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Validate a CALLER-supplied per-run output schema and return it UNCHANGED —
|
|
13
|
+
* it stays the CONFORMANCE AUTHORITY (the engine validates the final answer
|
|
14
|
+
* against exactly what the caller asked for). The vendor transport separately
|
|
15
|
+
* strictifies via `strictifyOutputSchema`; NEVER validate the answer against
|
|
16
|
+
* the strictified form — strictify turns an optional string into a required
|
|
17
|
+
* `string|null`, so `{"field":null}` would falsely pass a schema that forbids it.
|
|
18
|
+
*
|
|
19
|
+
* Refuses — typed, at the boundary — the shapes the native routes are
|
|
20
|
+
* LIVE-VERIFIED to reject rather than let a vendor 400 surface mid-run: the
|
|
21
|
+
* root must be an inline `type: "object"` (claude materializes --json-schema as
|
|
22
|
+
* a StructuredOutput tool whose input_schema needs a top-level type; a
|
|
23
|
+
* $ref-wrapped root 400s), `$ref` is refused anywhere, and `format` is refused
|
|
24
|
+
* while the pinned claude (<2.1.205) silently drops a format-bearing schema.
|
|
25
|
+
*/
|
|
26
|
+
export function normalizeUserOutputSchema(schema) {
|
|
27
|
+
if (schema["type"] !== "object" || typeof schema["properties"] !== "object") {
|
|
28
|
+
throw new UnsupportedOutputSchemaError('outputSchema root must be an inline object schema ({"type":"object","properties":{...}}); $ref-wrapped or non-object roots are rejected by the native structured-output routes');
|
|
29
|
+
}
|
|
30
|
+
const hasRef = (value) => {
|
|
31
|
+
if (Array.isArray(value))
|
|
32
|
+
return value.some(hasRef);
|
|
33
|
+
if (!value || typeof value !== "object")
|
|
34
|
+
return false;
|
|
35
|
+
const obj = value;
|
|
36
|
+
if ("$ref" in obj)
|
|
37
|
+
return true;
|
|
38
|
+
return Object.values(obj).some(hasRef);
|
|
39
|
+
};
|
|
40
|
+
if (hasRef(schema)) {
|
|
41
|
+
throw new UnsupportedOutputSchemaError("outputSchema must not contain $ref (native structured-output routes do not resolve references); inline the referenced shapes");
|
|
42
|
+
}
|
|
43
|
+
const hasFormat = (value) => {
|
|
44
|
+
if (Array.isArray(value))
|
|
45
|
+
return value.some(hasFormat);
|
|
46
|
+
if (!value || typeof value !== "object")
|
|
47
|
+
return false;
|
|
48
|
+
const obj = value;
|
|
49
|
+
if (typeof obj["format"] === "string")
|
|
50
|
+
return true;
|
|
51
|
+
return Object.values(obj).some(hasFormat);
|
|
52
|
+
};
|
|
53
|
+
if (hasFormat(schema)) {
|
|
54
|
+
throw new UnsupportedOutputSchemaError("outputSchema must not use `format`: the pinned claude CLI (<2.1.205) silently drops the whole schema when format is present; express the constraint with pattern/enum instead");
|
|
55
|
+
}
|
|
56
|
+
return schema;
|
|
57
|
+
}
|
|
58
|
+
/** Vendor-strict transport form of a validated output schema (all keys
|
|
59
|
+
* required, additionalProperties:false, optionals nullable). Used ONLY to
|
|
60
|
+
* constrain the harness — NEVER to judge conformance (see normalizeUserOutputSchema). */
|
|
61
|
+
export function strictifyOutputSchema(schema) {
|
|
62
|
+
return strictifyForStructuredOutput(schema);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Vendor STRICT structured-output mode (LIVE-VERIFIED against codex 0.137 /
|
|
66
|
+
* the OpenAI Responses API): every object must list ALL property keys in
|
|
67
|
+
* `required` and set `additionalProperties: false` — optional-with-default
|
|
68
|
+
* fields become always-emitted (their Zod defaults make explicit values
|
|
69
|
+
* equivalent). One owner for the transform; a schema that violates this is
|
|
70
|
+
* rejected by the vendor with invalid_json_schema.
|
|
71
|
+
*/
|
|
72
|
+
export function strictifyForStructuredOutput(node) {
|
|
73
|
+
const walk = (value) => {
|
|
74
|
+
if (Array.isArray(value))
|
|
75
|
+
return value.map(walk);
|
|
76
|
+
if (!value || typeof value !== "object")
|
|
77
|
+
return value;
|
|
78
|
+
const obj = { ...value };
|
|
79
|
+
for (const key of Object.keys(obj))
|
|
80
|
+
obj[key] = walk(obj[key]);
|
|
81
|
+
if (obj["type"] === "object" && obj["properties"] && typeof obj["properties"] === "object") {
|
|
82
|
+
const props = obj["properties"];
|
|
83
|
+
const originallyRequired = new Set(Array.isArray(obj["required"]) ? obj["required"] : []);
|
|
84
|
+
// Vendor strict mode demands required = ALL keys; fields that were
|
|
85
|
+
// OPTIONAL in the source schema stay expressible by becoming NULLABLE
|
|
86
|
+
// (the OpenAI strict-mode recipe) — otherwise the model would be FORCED
|
|
87
|
+
// to invent values on every call.
|
|
88
|
+
for (const key of Object.keys(props)) {
|
|
89
|
+
if (originallyRequired.has(key))
|
|
90
|
+
continue;
|
|
91
|
+
const prop = props[key];
|
|
92
|
+
if (prop && typeof prop === "object" && !Array.isArray(prop)) {
|
|
93
|
+
const p = prop;
|
|
94
|
+
if (typeof p["type"] === "string" && p["type"] !== "null") {
|
|
95
|
+
p["type"] = [p["type"], "null"];
|
|
96
|
+
}
|
|
97
|
+
else if (Array.isArray(p["type"]) && !p["type"].includes("null")) {
|
|
98
|
+
p["type"].push("null");
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
obj["required"] = Object.keys(props);
|
|
103
|
+
obj["additionalProperties"] = false;
|
|
104
|
+
}
|
|
105
|
+
return obj;
|
|
106
|
+
};
|
|
107
|
+
return walk(node);
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=output-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-schema.js","sourceRoot":"","sources":["../src/output-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/plan.d.ts
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Typed plan-question artifacts (v3 plan lifecycle, D17/D31): the planner's
|
|
4
|
+
* tagged `## Open Questions` block is parsed by the ENGINE into
|
|
5
|
+
* `final/questions.json`, and readiness is DERIVED from that artifact by one
|
|
6
|
+
* server-side projection — surfaces consume the projection, never re-parse.
|
|
7
|
+
*/
|
|
8
|
+
export declare const PlanQuestionKind: z.ZodEnum<["single", "multi", "text"]>;
|
|
9
|
+
export type PlanQuestionKind = z.infer<typeof PlanQuestionKind>;
|
|
10
|
+
export declare const PlanQuestionOption: z.ZodObject<{
|
|
11
|
+
id: z.ZodString;
|
|
12
|
+
label: z.ZodString;
|
|
13
|
+
}, "strict", z.ZodTypeAny, {
|
|
14
|
+
id: string;
|
|
15
|
+
label: string;
|
|
16
|
+
}, {
|
|
17
|
+
id: string;
|
|
18
|
+
label: string;
|
|
19
|
+
}>;
|
|
20
|
+
export type PlanQuestionOption = z.infer<typeof PlanQuestionOption>;
|
|
21
|
+
export declare const PlanQuestion: z.ZodObject<{
|
|
22
|
+
id: z.ZodString;
|
|
23
|
+
kind: z.ZodEnum<["single", "multi", "text"]>;
|
|
24
|
+
prompt: z.ZodString;
|
|
25
|
+
options: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
26
|
+
id: z.ZodString;
|
|
27
|
+
label: z.ZodString;
|
|
28
|
+
}, "strict", z.ZodTypeAny, {
|
|
29
|
+
id: string;
|
|
30
|
+
label: string;
|
|
31
|
+
}, {
|
|
32
|
+
id: string;
|
|
33
|
+
label: string;
|
|
34
|
+
}>, "many">>;
|
|
35
|
+
allow_text: z.ZodDefault<z.ZodBoolean>;
|
|
36
|
+
}, "strict", z.ZodTypeAny, {
|
|
37
|
+
options: {
|
|
38
|
+
id: string;
|
|
39
|
+
label: string;
|
|
40
|
+
}[];
|
|
41
|
+
kind: "text" | "single" | "multi";
|
|
42
|
+
id: string;
|
|
43
|
+
prompt: string;
|
|
44
|
+
allow_text: boolean;
|
|
45
|
+
}, {
|
|
46
|
+
kind: "text" | "single" | "multi";
|
|
47
|
+
id: string;
|
|
48
|
+
prompt: string;
|
|
49
|
+
options?: {
|
|
50
|
+
id: string;
|
|
51
|
+
label: string;
|
|
52
|
+
}[] | undefined;
|
|
53
|
+
allow_text?: boolean | undefined;
|
|
54
|
+
}>;
|
|
55
|
+
export type PlanQuestion = z.infer<typeof PlanQuestion>;
|
|
56
|
+
export declare const PlanQuestionsArtifact: z.ZodObject<{
|
|
57
|
+
/** Whether a tagged Open Questions block was found at all. `none_found`
|
|
58
|
+
* is DISCLOSED, never silently equated with "ready" (zen: honest states). */
|
|
59
|
+
parse: z.ZodEnum<["found", "none_found"]>;
|
|
60
|
+
questions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
61
|
+
id: z.ZodString;
|
|
62
|
+
kind: z.ZodEnum<["single", "multi", "text"]>;
|
|
63
|
+
prompt: z.ZodString;
|
|
64
|
+
options: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
65
|
+
id: z.ZodString;
|
|
66
|
+
label: z.ZodString;
|
|
67
|
+
}, "strict", z.ZodTypeAny, {
|
|
68
|
+
id: string;
|
|
69
|
+
label: string;
|
|
70
|
+
}, {
|
|
71
|
+
id: string;
|
|
72
|
+
label: string;
|
|
73
|
+
}>, "many">>;
|
|
74
|
+
allow_text: z.ZodDefault<z.ZodBoolean>;
|
|
75
|
+
}, "strict", z.ZodTypeAny, {
|
|
76
|
+
options: {
|
|
77
|
+
id: string;
|
|
78
|
+
label: string;
|
|
79
|
+
}[];
|
|
80
|
+
kind: "text" | "single" | "multi";
|
|
81
|
+
id: string;
|
|
82
|
+
prompt: string;
|
|
83
|
+
allow_text: boolean;
|
|
84
|
+
}, {
|
|
85
|
+
kind: "text" | "single" | "multi";
|
|
86
|
+
id: string;
|
|
87
|
+
prompt: string;
|
|
88
|
+
options?: {
|
|
89
|
+
id: string;
|
|
90
|
+
label: string;
|
|
91
|
+
}[] | undefined;
|
|
92
|
+
allow_text?: boolean | undefined;
|
|
93
|
+
}>, "many">>;
|
|
94
|
+
}, "strict", z.ZodTypeAny, {
|
|
95
|
+
questions: {
|
|
96
|
+
options: {
|
|
97
|
+
id: string;
|
|
98
|
+
label: string;
|
|
99
|
+
}[];
|
|
100
|
+
kind: "text" | "single" | "multi";
|
|
101
|
+
id: string;
|
|
102
|
+
prompt: string;
|
|
103
|
+
allow_text: boolean;
|
|
104
|
+
}[];
|
|
105
|
+
parse: "found" | "none_found";
|
|
106
|
+
}, {
|
|
107
|
+
parse: "found" | "none_found";
|
|
108
|
+
questions?: {
|
|
109
|
+
kind: "text" | "single" | "multi";
|
|
110
|
+
id: string;
|
|
111
|
+
prompt: string;
|
|
112
|
+
options?: {
|
|
113
|
+
id: string;
|
|
114
|
+
label: string;
|
|
115
|
+
}[] | undefined;
|
|
116
|
+
allow_text?: boolean | undefined;
|
|
117
|
+
}[] | undefined;
|
|
118
|
+
}>;
|
|
119
|
+
export type PlanQuestionsArtifact = z.infer<typeof PlanQuestionsArtifact>;
|
|
120
|
+
export declare const PlanReadinessState: z.ZodEnum<["ready", "needs_answers", "unverified"]>;
|
|
121
|
+
export type PlanReadinessState = z.infer<typeof PlanReadinessState>;
|
|
122
|
+
export declare const PlanReadiness: z.ZodObject<{
|
|
123
|
+
state: z.ZodEnum<["ready", "needs_answers", "unverified"]>;
|
|
124
|
+
questionCount: z.ZodDefault<z.ZodNumber>;
|
|
125
|
+
}, "strict", z.ZodTypeAny, {
|
|
126
|
+
state: "ready" | "needs_answers" | "unverified";
|
|
127
|
+
questionCount: number;
|
|
128
|
+
}, {
|
|
129
|
+
state: "ready" | "needs_answers" | "unverified";
|
|
130
|
+
questionCount?: number | undefined;
|
|
131
|
+
}>;
|
|
132
|
+
export type PlanReadiness = z.infer<typeof PlanReadiness>;
|
|
133
|
+
/** One council member's role and outcome (INV-031). `primary` is the merger;
|
|
134
|
+
* `member` is a draft-only participant. A council with one surviving member
|
|
135
|
+
* still merges (the primary normalizes the format + extracts questions). */
|
|
136
|
+
export declare const CouncilMember: z.ZodObject<{
|
|
137
|
+
harnessId: z.ZodString;
|
|
138
|
+
role: z.ZodEnum<["primary", "member"]>;
|
|
139
|
+
status: z.ZodEnum<["drafted", "failed", "merged"]>;
|
|
140
|
+
error: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
141
|
+
}, "strict", z.ZodTypeAny, {
|
|
142
|
+
status: "failed" | "drafted" | "merged";
|
|
143
|
+
harnessId: string;
|
|
144
|
+
error: string | null;
|
|
145
|
+
role: "primary" | "member";
|
|
146
|
+
}, {
|
|
147
|
+
status: "failed" | "drafted" | "merged";
|
|
148
|
+
harnessId: string;
|
|
149
|
+
role: "primary" | "member";
|
|
150
|
+
error?: string | null | undefined;
|
|
151
|
+
}>;
|
|
152
|
+
export type CouncilMember = z.infer<typeof CouncilMember>;
|
|
153
|
+
/** Council membership + merge projection (INV-031), projected from
|
|
154
|
+
* `council/membership.yaml`. Present only for `--council` plan runs; the
|
|
155
|
+
* downstream plan artifacts (final/plan.md, questions.json, readiness) are
|
|
156
|
+
* shape-identical to a solo plan, so this field is purely additive disclosure. */
|
|
157
|
+
export declare const CouncilProjection: z.ZodObject<{
|
|
158
|
+
requested: z.ZodNumber;
|
|
159
|
+
drafted: z.ZodNumber;
|
|
160
|
+
degraded: z.ZodDefault<z.ZodBoolean>;
|
|
161
|
+
mergedBy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
162
|
+
members: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
163
|
+
harnessId: z.ZodString;
|
|
164
|
+
role: z.ZodEnum<["primary", "member"]>;
|
|
165
|
+
status: z.ZodEnum<["drafted", "failed", "merged"]>;
|
|
166
|
+
error: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
167
|
+
}, "strict", z.ZodTypeAny, {
|
|
168
|
+
status: "failed" | "drafted" | "merged";
|
|
169
|
+
harnessId: string;
|
|
170
|
+
error: string | null;
|
|
171
|
+
role: "primary" | "member";
|
|
172
|
+
}, {
|
|
173
|
+
status: "failed" | "drafted" | "merged";
|
|
174
|
+
harnessId: string;
|
|
175
|
+
role: "primary" | "member";
|
|
176
|
+
error?: string | null | undefined;
|
|
177
|
+
}>, "many">>;
|
|
178
|
+
}, "strict", z.ZodTypeAny, {
|
|
179
|
+
requested: number;
|
|
180
|
+
degraded: boolean;
|
|
181
|
+
drafted: number;
|
|
182
|
+
mergedBy: string | null;
|
|
183
|
+
members: {
|
|
184
|
+
status: "failed" | "drafted" | "merged";
|
|
185
|
+
harnessId: string;
|
|
186
|
+
error: string | null;
|
|
187
|
+
role: "primary" | "member";
|
|
188
|
+
}[];
|
|
189
|
+
}, {
|
|
190
|
+
requested: number;
|
|
191
|
+
drafted: number;
|
|
192
|
+
degraded?: boolean | undefined;
|
|
193
|
+
mergedBy?: string | null | undefined;
|
|
194
|
+
members?: {
|
|
195
|
+
status: "failed" | "drafted" | "merged";
|
|
196
|
+
harnessId: string;
|
|
197
|
+
role: "primary" | "member";
|
|
198
|
+
error?: string | null | undefined;
|
|
199
|
+
}[] | undefined;
|
|
200
|
+
}>;
|
|
201
|
+
export type CouncilProjection = z.infer<typeof CouncilProjection>;
|
|
202
|
+
/** THE single derivation authority for plan readiness (declared per the v3
|
|
203
|
+
* plan-lifecycle decision): every surface consumes this projection of
|
|
204
|
+
* final/questions.json; nothing re-parses plan text. */
|
|
205
|
+
export declare function derivePlanReadiness(artifact: PlanQuestionsArtifact): PlanReadiness;
|
|
206
|
+
//# sourceMappingURL=plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAEH,eAAO,MAAM,gBAAgB,wCAEkD,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,kBAAkB;;;;;;;;;EAMyB,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeoC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,qBAAqB;IAE9B;iFAC6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOE,CAAC;AACpF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,eAAO,MAAM,kBAAkB,qDAI5B,CAAC;AACJ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,eAAO,MAAM,aAAa;;;;;;;;;EAMwD,CAAC;AACnF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;4EAE4E;AAC5E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAgBuC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;;kFAGkF;AAClF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBgD,CAAC;AAC/E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;wDAEwD;AACxD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,aAAa,CAOlF"}
|
package/dist/plan.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Typed plan-question artifacts (v3 plan lifecycle, D17/D31): the planner's
|
|
4
|
+
* tagged `## Open Questions` block is parsed by the ENGINE into
|
|
5
|
+
* `final/questions.json`, and readiness is DERIVED from that artifact by one
|
|
6
|
+
* server-side projection — surfaces consume the projection, never re-parse.
|
|
7
|
+
*/
|
|
8
|
+
export const PlanQuestionKind = z
|
|
9
|
+
.enum(["single", "multi", "text"])
|
|
10
|
+
.describe("Question kind: pick exactly one, pick one or more, or free text.");
|
|
11
|
+
export const PlanQuestionOption = z
|
|
12
|
+
.object({
|
|
13
|
+
id: z.string().min(1).describe("Stable option id within the question."),
|
|
14
|
+
label: z.string().min(1).describe("Option label shown to the user."),
|
|
15
|
+
})
|
|
16
|
+
.strict()
|
|
17
|
+
.describe("One selectable option of a plan question.");
|
|
18
|
+
export const PlanQuestion = z
|
|
19
|
+
.object({
|
|
20
|
+
id: z.string().min(1).describe("Stable question id within the plan revision."),
|
|
21
|
+
kind: PlanQuestionKind,
|
|
22
|
+
prompt: z.string().min(1).describe("The question text."),
|
|
23
|
+
options: z
|
|
24
|
+
.array(PlanQuestionOption)
|
|
25
|
+
.default([])
|
|
26
|
+
.describe("Options for single/multi questions; empty for free text."),
|
|
27
|
+
allow_text: z
|
|
28
|
+
.boolean()
|
|
29
|
+
.default(false)
|
|
30
|
+
.describe("True when a free-text answer is accepted (text questions)."),
|
|
31
|
+
})
|
|
32
|
+
.strict()
|
|
33
|
+
.describe("One open question surfaced by a plan revision.");
|
|
34
|
+
export const PlanQuestionsArtifact = z
|
|
35
|
+
.object({
|
|
36
|
+
/** Whether a tagged Open Questions block was found at all. `none_found`
|
|
37
|
+
* is DISCLOSED, never silently equated with "ready" (zen: honest states). */
|
|
38
|
+
parse: z
|
|
39
|
+
.enum(["found", "none_found"])
|
|
40
|
+
.describe("Whether the planner emitted a parseable Open Questions block."),
|
|
41
|
+
questions: z.array(PlanQuestion).default([]).describe("Open questions of this plan revision."),
|
|
42
|
+
})
|
|
43
|
+
.strict()
|
|
44
|
+
.describe("Engine-parsed open questions of one plan run (final/questions.json).");
|
|
45
|
+
export const PlanReadinessState = z
|
|
46
|
+
.enum(["ready", "needs_answers", "unverified"])
|
|
47
|
+
.describe("Derived plan readiness: ready (block parsed, zero open questions), needs_answers (open questions remain), unverified (no parseable block — the planner ignored the format).");
|
|
48
|
+
export const PlanReadiness = z
|
|
49
|
+
.object({
|
|
50
|
+
state: PlanReadinessState,
|
|
51
|
+
questionCount: z.number().int().nonnegative().default(0),
|
|
52
|
+
})
|
|
53
|
+
.strict()
|
|
54
|
+
.describe("Server-derived readiness of a plan run (one derivation owner; D17).");
|
|
55
|
+
/** One council member's role and outcome (INV-031). `primary` is the merger;
|
|
56
|
+
* `member` is a draft-only participant. A council with one surviving member
|
|
57
|
+
* still merges (the primary normalizes the format + extracts questions). */
|
|
58
|
+
export const CouncilMember = z
|
|
59
|
+
.object({
|
|
60
|
+
harnessId: z.string().min(1).describe("Harness that drafted (or merged) this member's plan."),
|
|
61
|
+
role: z
|
|
62
|
+
.enum(["primary", "member"])
|
|
63
|
+
.describe("primary = the merger that synthesizes the unified plan; member = draft only."),
|
|
64
|
+
status: z
|
|
65
|
+
.enum(["drafted", "failed", "merged"])
|
|
66
|
+
.describe("drafted = draft landed; merged = this member produced the unified plan; failed."),
|
|
67
|
+
error: z
|
|
68
|
+
.string()
|
|
69
|
+
.nullable()
|
|
70
|
+
.default(null)
|
|
71
|
+
.describe("First redacted draft error; null unless the member failed."),
|
|
72
|
+
})
|
|
73
|
+
.strict()
|
|
74
|
+
.describe("One council member's role and draft/merge outcome.");
|
|
75
|
+
/** Council membership + merge projection (INV-031), projected from
|
|
76
|
+
* `council/membership.yaml`. Present only for `--council` plan runs; the
|
|
77
|
+
* downstream plan artifacts (final/plan.md, questions.json, readiness) are
|
|
78
|
+
* shape-identical to a solo plan, so this field is purely additive disclosure. */
|
|
79
|
+
export const CouncilProjection = z
|
|
80
|
+
.object({
|
|
81
|
+
requested: z.number().int().positive().describe("Requested member count (n; 2..4)."),
|
|
82
|
+
drafted: z.number().int().nonnegative().describe("Members whose draft survived to the merge."),
|
|
83
|
+
degraded: z
|
|
84
|
+
.boolean()
|
|
85
|
+
.default(false)
|
|
86
|
+
.describe("True when fewer members drafted than requested (failures disclosed per member)."),
|
|
87
|
+
mergedBy: z
|
|
88
|
+
.string()
|
|
89
|
+
.nullable()
|
|
90
|
+
.default(null)
|
|
91
|
+
.describe("Harness that produced the unified plan (the primary); null if the merge failed."),
|
|
92
|
+
members: z.array(CouncilMember).default([]).describe("Per-member role and outcome."),
|
|
93
|
+
})
|
|
94
|
+
.strict()
|
|
95
|
+
.describe("Council membership + merge disclosure for a --council plan run.");
|
|
96
|
+
/** THE single derivation authority for plan readiness (declared per the v3
|
|
97
|
+
* plan-lifecycle decision): every surface consumes this projection of
|
|
98
|
+
* final/questions.json; nothing re-parses plan text. */
|
|
99
|
+
export function derivePlanReadiness(artifact) {
|
|
100
|
+
if (artifact.parse === "none_found") {
|
|
101
|
+
return { state: "unverified", questionCount: 0 };
|
|
102
|
+
}
|
|
103
|
+
return artifact.questions.length === 0
|
|
104
|
+
? { state: "ready", questionCount: 0 }
|
|
105
|
+
: { state: "needs_answers", questionCount: artifact.questions.length };
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=plan.js.map
|
package/dist/plan.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KACjC,QAAQ,CAAC,kEAAkE,CAAC,CAAC;AAGhF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CACrE,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,2CAA2C,CAAC,CAAC;AAGzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC9E,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACxD,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,kBAAkB,CAAC;SACzB,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,0DAA0D,CAAC;IACvE,UAAU,EAAE,CAAC;SACV,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,gDAAgD,CAAC,CAAC;AAG9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN;iFAC6E;IAC7E,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;SAC7B,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CAC/F,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,sEAAsE,CAAC,CAAC;AAGpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,IAAI,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;KAC9C,QAAQ,CACP,6KAA6K,CAC9K,CAAC;AAGJ,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,KAAK,EAAE,kBAAkB;IACzB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,qEAAqE,CAAC,CAAC;AAGnF;;4EAE4E;AAC5E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAC7F,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC3B,QAAQ,CAAC,8EAA8E,CAAC;IAC3F,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;SACrC,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,oDAAoD,CAAC,CAAC;AAGlE;;;kFAGkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACpF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC9F,QAAQ,EAAE,CAAC;SACR,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CACrF,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,iEAAiE,CAAC,CAAC;AAG/E;;wDAEwD;AACxD,MAAM,UAAU,mBAAmB,CAAC,QAA+B;IACjE,IAAI,QAAQ,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QACpC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;QACtC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;AAC3E,CAAC"}
|
package/dist/primitives.d.ts
CHANGED
|
@@ -28,21 +28,25 @@ export type OutputReadyState = z.infer<typeof OutputReadyState>;
|
|
|
28
28
|
export declare const ProviderFamily: z.ZodEnum<["openai", "anthropic", "google", "cursor", "opencode", "xai", "local", "unknown"]>;
|
|
29
29
|
export type ProviderFamily = z.infer<typeof ProviderFamily>;
|
|
30
30
|
/**
|
|
31
|
-
* Canonical modes (
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
31
|
+
* Canonical modes (v3.0.0 collapse, BREAKING): three conversation intents —
|
|
32
|
+
* ask (read-only answer; `deep_scan` widens it into the bounded multi-scout
|
|
33
|
+
* research sweep that used to be `audit --swarm`/`explore`), plan
|
|
34
|
+
* (read-only planning), agent (writes). Engine strategies remain FLAGS on a
|
|
35
|
+
* mode, never modes: `n` (best-of race width / deep-scan width), `attempts`
|
|
36
|
+
* / `until_clean` (agent convergence), `create` (agent from-scratch),
|
|
37
|
+
* `deep_scan` (ask sweep). Retired ids (`audit`, `explore`,
|
|
38
|
+
* `readonly_audit`, `best_of_n`, …) hard-error at every wire boundary
|
|
39
|
+
* (Bible: modes are canonical and breaking, never silent aliases). The former
|
|
40
|
+
* `orchestrate` mode was deleted once its delegation replacement landed
|
|
41
|
+
* (`agent --delegate`, INV-030); the retired verb hard-errors naming it.
|
|
38
42
|
*/
|
|
39
|
-
export declare const ModeKind: z.ZodEnum<["ask", "plan", "
|
|
43
|
+
export declare const ModeKind: z.ZodEnum<["ask", "plan", "agent"]>;
|
|
40
44
|
export type ModeKind = z.infer<typeof ModeKind>;
|
|
41
45
|
/** Canonical intents a harness can be assigned. Roles are intents, never fixed
|
|
42
46
|
* classes. (`compare`/`arbitrate` were retired in the v0.15 triage: no run
|
|
43
47
|
* site ever requested them — comparison/arbitration are engine phases, not
|
|
44
48
|
* harness assignments. `verify` stays for the FinalVerifier.) */
|
|
45
|
-
export declare const Intent: z.ZodEnum<["plan", "spec", "implement", "create_from_scratch", "repair", "review", "verify", "synthesize", "explain", "audit"
|
|
49
|
+
export declare const Intent: z.ZodEnum<["plan", "spec", "implement", "create_from_scratch", "repair", "review", "verify", "synthesize", "explain", "audit"]>;
|
|
46
50
|
export type Intent = z.infer<typeof Intent>;
|
|
47
51
|
/**
|
|
48
52
|
* How a dirty working tree is handled when creating an envelope: `snapshot`
|
|
@@ -54,7 +58,7 @@ export type Intent = z.infer<typeof Intent>;
|
|
|
54
58
|
export declare const DirtyPolicy: z.ZodEnum<["refuse", "snapshot"]>;
|
|
55
59
|
export type DirtyPolicy = z.infer<typeof DirtyPolicy>;
|
|
56
60
|
/**
|
|
57
|
-
* A user's preferred auth route for a harness
|
|
61
|
+
* A user's preferred auth route for a harness or thread.
|
|
58
62
|
* `subscription` = native/OAuth session; `api_key` = a stored API key; `auto`
|
|
59
63
|
* lets the engine pick subscription-first and fall back per policy. This is a
|
|
60
64
|
* preference, not a secret — the actual key refs live in global/trust config.
|
package/dist/primitives.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oFAAoF;AACpF,eAAO,MAAM,cAAc,EAAG,CAAU,CAAC;AAEzC,eAAO,MAAM,aAAa,iBAEoD,CAAC;AAE/E,qCAAqC;AACrC,eAAO,MAAM,EAAE,aAA6D,CAAC;AAC7E,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAEpC,iFAAiF;AACjF,eAAO,MAAM,cAAc,aAIgE,CAAC;AAC5F,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,iCAAiC;AACjC,eAAO,MAAM,YAAY,aAA2D,CAAC;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,wDAAwD;AACxD,eAAO,MAAM,WAAW,aAG4C,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,SAAS,kDAE0D,CAAC;AACjF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,aAAa,+FAIvB,CAAC;AACJ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,8CAI/B,CAAC;AACJ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,6DAI1B,CAAC;AACJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,sFAAsF;AACtF,eAAO,MAAM,cAAc,+FAIxB,CAAC;AACJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oFAAoF;AACpF,eAAO,MAAM,cAAc,EAAG,CAAU,CAAC;AAEzC,eAAO,MAAM,aAAa,iBAEoD,CAAC;AAE/E,qCAAqC;AACrC,eAAO,MAAM,EAAE,aAA6D,CAAC;AAC7E,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAEpC,iFAAiF;AACjF,eAAO,MAAM,cAAc,aAIgE,CAAC;AAC5F,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,iCAAiC;AACjC,eAAO,MAAM,YAAY,aAA2D,CAAC;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,wDAAwD;AACxD,eAAO,MAAM,WAAW,aAG4C,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,SAAS,kDAE0D,CAAC;AACjF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,aAAa,+FAIvB,CAAC;AACJ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,8CAI/B,CAAC;AACJ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,6DAI1B,CAAC;AACJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,sFAAsF;AACtF,eAAO,MAAM,cAAc,+FAIxB,CAAC;AACJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,qCAIlB,CAAC;AACJ,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD;;;iEAGiE;AACjE,eAAO,MAAM,MAAM,iIAehB,CAAC;AACJ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,mCAIrB,CAAC;AACJ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,gDAIxB,CAAC;AACJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,cAAc,0OAuBxB,CAAC;AACJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
package/dist/primitives.js
CHANGED
|
@@ -38,17 +38,21 @@ export const ProviderFamily = z
|
|
|
38
38
|
.enum(["openai", "anthropic", "google", "cursor", "opencode", "xai", "local", "unknown"])
|
|
39
39
|
.describe('Vendor/provider family a harness routes to, used for route-diversity reasoning; open-ended via "unknown".');
|
|
40
40
|
/**
|
|
41
|
-
* Canonical modes (
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
41
|
+
* Canonical modes (v3.0.0 collapse, BREAKING): three conversation intents —
|
|
42
|
+
* ask (read-only answer; `deep_scan` widens it into the bounded multi-scout
|
|
43
|
+
* research sweep that used to be `audit --swarm`/`explore`), plan
|
|
44
|
+
* (read-only planning), agent (writes). Engine strategies remain FLAGS on a
|
|
45
|
+
* mode, never modes: `n` (best-of race width / deep-scan width), `attempts`
|
|
46
|
+
* / `until_clean` (agent convergence), `create` (agent from-scratch),
|
|
47
|
+
* `deep_scan` (ask sweep). Retired ids (`audit`, `explore`,
|
|
48
|
+
* `readonly_audit`, `best_of_n`, …) hard-error at every wire boundary
|
|
49
|
+
* (Bible: modes are canonical and breaking, never silent aliases). The former
|
|
50
|
+
* `orchestrate` mode was deleted once its delegation replacement landed
|
|
51
|
+
* (`agent --delegate`, INV-030); the retired verb hard-errors naming it.
|
|
48
52
|
*/
|
|
49
53
|
export const ModeKind = z
|
|
50
|
-
.enum(["ask", "plan", "
|
|
51
|
-
.describe("Canonical run mode: ask
|
|
54
|
+
.enum(["ask", "plan", "agent"])
|
|
55
|
+
.describe("Canonical run mode: ask and plan are read-only, agent writes. Engine strategies (race width, attempts, deep_scan, create, delegate) are flags on a mode, not modes.");
|
|
52
56
|
/** Canonical intents a harness can be assigned. Roles are intents, never fixed
|
|
53
57
|
* classes. (`compare`/`arbitrate` were retired in the v0.15 triage: no run
|
|
54
58
|
* site ever requested them — comparison/arbitration are engine phases, not
|
|
@@ -65,7 +69,6 @@ export const Intent = z
|
|
|
65
69
|
"synthesize",
|
|
66
70
|
"explain",
|
|
67
71
|
"audit",
|
|
68
|
-
"orchestrate",
|
|
69
72
|
])
|
|
70
73
|
.describe("Canonical intent a harness can be assigned for a session (roles are intents, never fixed classes).");
|
|
71
74
|
/**
|
|
@@ -79,7 +82,7 @@ export const DirtyPolicy = z
|
|
|
79
82
|
.enum(["refuse", "snapshot"])
|
|
80
83
|
.describe("How a dirty working tree is handled when creating an envelope: snapshot captures the dirty state as the base SHA without touching the live tree; refuse fails loudly.");
|
|
81
84
|
/**
|
|
82
|
-
* A user's preferred auth route for a harness
|
|
85
|
+
* A user's preferred auth route for a harness or thread.
|
|
83
86
|
* `subscription` = native/OAuth session; `api_key` = a stored API key; `auto`
|
|
84
87
|
* lets the engine pick subscription-first and fall back per policy. This is a
|
|
85
88
|
* preference, not a secret — the actual key refs live in global/trust config.
|
package/dist/primitives.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oFAAoF;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,OAAO,CAAC,cAAc,CAAC;KACvB,QAAQ,CAAC,iEAAiE,CAAC,CAAC;AAE/E,qCAAqC;AACrC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;AAG7E,iFAAiF;AACjF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,KAAK,CAAC,IAAI,EAAE,6BAA6B,CAAC;KAC1C,QAAQ,CAAC,8EAA8E,CAAC,CAAC;AAG5F,iCAAiC;AACjC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AAGrF,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CAAC,uDAAuD,CAAC,CAAC;AAGrE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC;KACvB,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;KAC3C,QAAQ,CAAC,mEAAmE,CAAC,CAAC;AAGjF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,IAAI,CAAC,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;KACxF,QAAQ,CACP,qTAAqT,CACtT,CAAC;AAGJ,2EAA2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KACvC,QAAQ,CACP,0LAA0L,CAC3L,CAAC;AAGJ,4EAA4E;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;KACtD,QAAQ,CACP,4KAA4K,CAC7K,CAAC;AAGJ,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;KACxF,QAAQ,CACP,2GAA2G,CAC5G,CAAC;AAGJ
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}
|