@cat-factory/contracts 0.126.0 → 0.127.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/forkDecision.d.ts +6 -0
- package/dist/forkDecision.d.ts.map +1 -1
- package/dist/forkDecision.js +7 -1
- package/dist/forkDecision.js.map +1 -1
- package/dist/routes/forkDecision.d.ts +69 -0
- package/dist/routes/forkDecision.d.ts.map +1 -1
- package/dist/routes/forkDecision.js +12 -4
- package/dist/routes/forkDecision.js.map +1 -1
- package/package.json +1 -1
package/dist/forkDecision.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
+
/**
|
|
3
|
+
* Default hard budget on grounded chat turns (human messages) before a 409. The single source
|
|
4
|
+
* of truth for the cap, referenced by the `maxChatTurns` schema default below, the orchestration
|
|
5
|
+
* gate logic, and the window's UI fallback so the three can't drift.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_FORK_MAX_CHAT_TURNS = 15;
|
|
2
8
|
/**
|
|
3
9
|
* One materially different implementation approach the proposer surfaced. Two
|
|
4
10
|
* forks are materially different only if they lead to different code being
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forkDecision.d.ts","sourceRoot":"","sources":["../src/forkDecision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAqB5B;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;IAC3B,kFAAkF;;IAElF,sCAAsC;;IAEtC,gDAAgD;;IAEhD,4EAA4E;;IAE5E,+DAA+D;;IAE/D,kFAAkF;;IAElF,uDAAuD;;aAEvD,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;aAKhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,gHAOnC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;GAGG;AACH,eAAO,MAAM,gBAAgB;IAEzB,sFAAsF;;IAEtF,kFAAkF;;IAElF,+DAA+D;;;;;;;;gDAQlE,CAAA;AACD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;;IAEtC,8EAA8E;;IAE9E,+EAA+E;;QApF/E,kFAAkF;;QAElF,sCAAsC;;QAEtC,gDAAgD;;QAEhD,4EAA4E;;QAE5E,+DAA+D;;QAE/D,kFAAkF;;QAElF,uDAAuD;;;IA0EvD,0FAA0F;;IAE1F,oEAAoE;;;;;;;IAEpE,6EAA6E;;IAE7E,8EAA8E;;QAlC5E,sFAAsF;;QAEtF,kFAAkF;;QAElF,+DAA+D;;;;;;;;;IAgCjE,4EAA4E;;aAE5E,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAIrF,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB;;aAEhC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE9E;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;gDAU5B,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;IAC7B,qDAAqD;;;;;;;;;;IAerD,gFAAgF;;;aAGhF,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"forkDecision.d.ts","sourceRoot":"","sources":["../src/forkDecision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAqB5B;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;IAC3B,kFAAkF;;IAElF,sCAAsC;;IAEtC,gDAAgD;;IAEhD,4EAA4E;;IAE5E,+DAA+D;;IAE/D,kFAAkF;;IAElF,uDAAuD;;aAEvD,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;aAKhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,gHAOnC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;GAGG;AACH,eAAO,MAAM,gBAAgB;IAEzB,sFAAsF;;IAEtF,kFAAkF;;IAElF,+DAA+D;;;;;;;;gDAQlE,CAAA;AACD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;;IAEtC,8EAA8E;;IAE9E,+EAA+E;;QApF/E,kFAAkF;;QAElF,sCAAsC;;QAEtC,gDAAgD;;QAEhD,4EAA4E;;QAE5E,+DAA+D;;QAE/D,kFAAkF;;QAElF,uDAAuD;;;IA0EvD,0FAA0F;;IAE1F,oEAAoE;;;;;;;IAEpE,6EAA6E;;IAE7E,8EAA8E;;QAlC5E,sFAAsF;;QAEtF,kFAAkF;;QAElF,+DAA+D;;;;;;;;;IAgCjE,4EAA4E;;aAE5E,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAIrF,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB;;aAEhC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE9E;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;gDAU5B,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;IAC7B,qDAAqD;;;;;;;;;;IAerD,gFAAgF;;;aAGhF,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA"}
|
package/dist/forkDecision.js
CHANGED
|
@@ -17,6 +17,12 @@ import * as v from 'valibot';
|
|
|
17
17
|
// coder step (`PipelineStep.forkDecision`) — no side table — so it is
|
|
18
18
|
// runtime-symmetric by construction, exactly like `followUps` / `testerQuality`.
|
|
19
19
|
// ---------------------------------------------------------------------------
|
|
20
|
+
/**
|
|
21
|
+
* Default hard budget on grounded chat turns (human messages) before a 409. The single source
|
|
22
|
+
* of truth for the cap, referenced by the `maxChatTurns` schema default below, the orchestration
|
|
23
|
+
* gate logic, and the window's UI fallback so the three can't drift.
|
|
24
|
+
*/
|
|
25
|
+
export const DEFAULT_FORK_MAX_CHAT_TURNS = 15;
|
|
20
26
|
/**
|
|
21
27
|
* One materially different implementation approach the proposer surfaced. Two
|
|
22
28
|
* forks are materially different only if they lead to different code being
|
|
@@ -101,7 +107,7 @@ export const forkDecisionStepStateSchema = v.object({
|
|
|
101
107
|
/** The grounded chat so far (human + assistant turns), in order. */
|
|
102
108
|
chat: v.optional(v.array(forkChatMessageSchema), []),
|
|
103
109
|
/** Hard budget on chat turns (human messages); a 409 is returned past it. */
|
|
104
|
-
maxChatTurns: v.optional(v.number(),
|
|
110
|
+
maxChatTurns: v.optional(v.number(), DEFAULT_FORK_MAX_CHAT_TURNS),
|
|
105
111
|
/** The human's resolution once decided; absent while proposing / awaiting. */
|
|
106
112
|
chosen: v.optional(v.nullable(forkChoiceSchema)),
|
|
107
113
|
/** Identifier of the model that produced the proposal, for transparency. */
|
package/dist/forkDecision.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forkDecision.js","sourceRoot":"","sources":["../src/forkDecision.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"forkDecision.js","sourceRoot":"","sources":["../src/forkDecision.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,75 @@ export declare const getForkDecisionContract: {
|
|
|
65
65
|
}, undefined>, undefined>;
|
|
66
66
|
};
|
|
67
67
|
};
|
|
68
|
+
export declare const forkChatContract: {
|
|
69
|
+
readonly method: "post";
|
|
70
|
+
readonly requestPathParamsSchema: v.ObjectSchema<{
|
|
71
|
+
executionId: v.StringSchema<undefined>;
|
|
72
|
+
}, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
|
|
73
|
+
readonly pathResolver: ({ executionId }: {
|
|
74
|
+
executionId: string;
|
|
75
|
+
}) => string;
|
|
76
|
+
readonly requestBodySchema: v.ObjectSchema<{
|
|
77
|
+
readonly text: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
|
|
78
|
+
}, undefined>;
|
|
79
|
+
readonly responsesByStatusCode: {
|
|
80
|
+
readonly '4xx': v.ObjectSchema<{
|
|
81
|
+
readonly error: v.ObjectSchema<{
|
|
82
|
+
readonly code: v.StringSchema<undefined>;
|
|
83
|
+
readonly message: v.StringSchema<undefined>;
|
|
84
|
+
readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
85
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
86
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
87
|
+
readonly message: v.StringSchema<undefined>;
|
|
88
|
+
}, undefined>, undefined>, undefined>;
|
|
89
|
+
}, undefined>;
|
|
90
|
+
}, undefined>;
|
|
91
|
+
readonly '5xx': v.ObjectSchema<{
|
|
92
|
+
readonly error: v.ObjectSchema<{
|
|
93
|
+
readonly code: v.StringSchema<undefined>;
|
|
94
|
+
readonly message: v.StringSchema<undefined>;
|
|
95
|
+
readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
96
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
97
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
98
|
+
readonly message: v.StringSchema<undefined>;
|
|
99
|
+
}, undefined>, undefined>, undefined>;
|
|
100
|
+
}, undefined>;
|
|
101
|
+
}, undefined>;
|
|
102
|
+
readonly 200: v.ObjectSchema<{
|
|
103
|
+
readonly status: v.PicklistSchema<["proposing", "awaiting_choice", "answering", "chosen", "single_path", "skipped"], undefined>;
|
|
104
|
+
readonly seamSummary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
105
|
+
readonly forks: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
106
|
+
readonly id: v.StringSchema<undefined>;
|
|
107
|
+
readonly title: v.StringSchema<undefined>;
|
|
108
|
+
readonly summary: v.StringSchema<undefined>;
|
|
109
|
+
readonly approach: v.StringSchema<undefined>;
|
|
110
|
+
readonly tradeoffs: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
111
|
+
readonly riskNotes: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
112
|
+
readonly recommended: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
113
|
+
}, undefined>, undefined>, readonly []>;
|
|
114
|
+
readonly singlePathReason: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
115
|
+
readonly chat: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
116
|
+
readonly id: v.StringSchema<undefined>;
|
|
117
|
+
readonly role: v.PicklistSchema<["human", "assistant"], undefined>;
|
|
118
|
+
readonly text: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
|
|
119
|
+
readonly createdAt: v.NumberSchema<undefined>;
|
|
120
|
+
}, undefined>, undefined>, readonly []>;
|
|
121
|
+
readonly maxChatTurns: v.OptionalSchema<v.NumberSchema<undefined>, 15>;
|
|
122
|
+
readonly chosen: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
123
|
+
readonly forkId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
124
|
+
readonly custom: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
125
|
+
readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
126
|
+
readonly at: v.NumberSchema<undefined>;
|
|
127
|
+
}, undefined>, v.CheckAction<{
|
|
128
|
+
forkId?: string | null | undefined;
|
|
129
|
+
custom?: string | null | undefined;
|
|
130
|
+
note?: string | null | undefined;
|
|
131
|
+
at: number;
|
|
132
|
+
}, "Provide exactly one of forkId or custom.">]>, undefined>, undefined>;
|
|
133
|
+
readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
134
|
+
}, undefined>;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
68
137
|
export declare const chooseForkContract: {
|
|
69
138
|
readonly method: "post";
|
|
70
139
|
readonly requestPathParamsSchema: v.ObjectSchema<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forkDecision.d.ts","sourceRoot":"","sources":["../../src/routes/forkDecision.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"forkDecision.d.ts","sourceRoot":"","sources":["../../src/routes/forkDecision.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM3B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM7B,CAAA"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { defineApiContract } from '@toad-contracts/valibot';
|
|
2
2
|
import * as v from 'valibot';
|
|
3
|
-
import { chooseForkSchema, forkDecisionStepStateSchema } from '../forkDecision.js';
|
|
3
|
+
import { chooseForkSchema, forkChatRequestSchema, forkDecisionStepStateSchema, } from '../forkDecision.js';
|
|
4
4
|
import { errorResponses, singleStringParam } from './_shared.js';
|
|
5
5
|
// ---------------------------------------------------------------------------
|
|
6
6
|
// Implementation-fork decision route contracts. Mounted under
|
|
7
7
|
// `/workspaces/:workspaceId`, so the paths here are relative to that prefix. The
|
|
8
8
|
// read returns the run's active fork-decision state (or null when no coder step
|
|
9
|
-
// carries one); `
|
|
10
|
-
//
|
|
11
|
-
//
|
|
9
|
+
// carries one); `chat` sends a grounded question about the forks (the assistant
|
|
10
|
+
// reply is computed in the durable driver and arrives via the execution stream);
|
|
11
|
+
// `choose` records the human's pick and re-runs the Coder with it folded in. See
|
|
12
|
+
// ForkDecisionController in @cat-factory/server.
|
|
12
13
|
// ---------------------------------------------------------------------------
|
|
13
14
|
const executionIdParams = singleStringParam('executionId');
|
|
14
15
|
export const getForkDecisionContract = defineApiContract({
|
|
@@ -17,6 +18,13 @@ export const getForkDecisionContract = defineApiContract({
|
|
|
17
18
|
pathResolver: ({ executionId }) => `/executions/${executionId}/fork-decision`,
|
|
18
19
|
responsesByStatusCode: { 200: v.nullable(forkDecisionStepStateSchema), ...errorResponses },
|
|
19
20
|
});
|
|
21
|
+
export const forkChatContract = defineApiContract({
|
|
22
|
+
method: 'post',
|
|
23
|
+
requestPathParamsSchema: executionIdParams,
|
|
24
|
+
pathResolver: ({ executionId }) => `/executions/${executionId}/fork-decision/chat`,
|
|
25
|
+
requestBodySchema: forkChatRequestSchema,
|
|
26
|
+
responsesByStatusCode: { 200: forkDecisionStepStateSchema, ...errorResponses },
|
|
27
|
+
});
|
|
20
28
|
export const chooseForkContract = defineApiContract({
|
|
21
29
|
method: 'post',
|
|
22
30
|
requestPathParamsSchema: executionIdParams,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forkDecision.js","sourceRoot":"","sources":["../../src/routes/forkDecision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"forkDecision.js","sourceRoot":"","sources":["../../src/routes/forkDecision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,8EAA8E;AAC9E,8DAA8D;AAC9D,iFAAiF;AACjF,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,iDAAiD;AACjD,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAA;AAE1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,iBAAiB;IAC1C,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,gBAAgB;IAC7E,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,GAAG,cAAc,EAAE;CAC3F,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;IAChD,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,iBAAiB;IAC1C,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,qBAAqB;IAClF,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,2BAA2B,EAAE,GAAG,cAAc,EAAE;CAC/E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;IAClD,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,iBAAiB;IAC1C,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,uBAAuB;IACpF,iBAAiB,EAAE,gBAAgB;IACnC,qBAAqB,EAAE,EAAE,GAAG,EAAE,2BAA2B,EAAE,GAAG,cAAc,EAAE;CAC/E,CAAC,CAAA"}
|