@cat-factory/contracts 0.320.0 → 0.322.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/debug-api.d.ts +1 -1
- package/dist/debug-api.d.ts.map +1 -1
- package/dist/debug-api.js +3 -7
- package/dist/debug-api.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/kaizen.d.ts +74 -0
- package/dist/kaizen.d.ts.map +1 -1
- package/dist/kaizen.js +37 -0
- package/dist/kaizen.js.map +1 -1
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +7 -18
- package/dist/public-api.js.map +1 -1
- package/dist/public-kaizen.d.ts +316 -0
- package/dist/public-kaizen.d.ts.map +1 -0
- package/dist/public-kaizen.js +218 -0
- package/dist/public-kaizen.js.map +1 -0
- package/dist/public-paging.d.ts +24 -0
- package/dist/public-paging.d.ts.map +1 -0
- package/dist/public-paging.js +41 -0
- package/dist/public-paging.js.map +1 -0
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/kaizen.d.ts +6 -0
- package/dist/routes/kaizen.d.ts.map +1 -1
- package/dist/routes/public-kaizen.d.ts +240 -0
- package/dist/routes/public-kaizen.d.ts.map +1 -0
- package/dist/routes/public-kaizen.js +64 -0
- package/dist/routes/public-kaizen.js.map +1 -0
- package/dist/routes/tasks.d.ts +1 -1
- package/dist/tasks.d.ts +11 -2
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +10 -0
- package/dist/tasks.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/** Hard ceiling on rows one page may return, wherever a list is paginated. */
|
|
3
|
+
export declare const PUBLIC_MAX_PAGE_LIMIT = 100;
|
|
4
|
+
/**
|
|
5
|
+
* An OPAQUE keyset pagination cursor. Callers must treat it as a black box and echo it back
|
|
6
|
+
* verbatim — its encoding is an implementation detail (today a base64url `<sortKey>|<id>` pair)
|
|
7
|
+
* that may change. Keyset, not offset: an offset page shifts under concurrent inserts, silently
|
|
8
|
+
* skipping or repeating rows, which is exactly what a polling integration must never see.
|
|
9
|
+
*/
|
|
10
|
+
export declare const cursorSchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
|
|
11
|
+
/** Rows one page may return (1..{@link PUBLIC_MAX_PAGE_LIMIT}); each list documents its default. */
|
|
12
|
+
export declare const pageLimitSchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a whole number">, v.TransformAction<any, number>, v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100, undefined>]>;
|
|
13
|
+
/** An epoch-ms query filter: digits only, for the same reason as {@link pageLimitSchema}. */
|
|
14
|
+
export declare const epochMsQuerySchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Must be a whole number of epoch milliseconds">, v.TransformAction<any, number>, v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
15
|
+
/**
|
|
16
|
+
* A boolean query filter, spelled `true` / `false`.
|
|
17
|
+
*
|
|
18
|
+
* A closed picklist rather than "anything that is not `false` is true": on a tri-state filter
|
|
19
|
+
* (omitted / true / false) a typo has to refuse, because coercing `?acknowledged=yes` to `true`
|
|
20
|
+
* would serve a caller the confident opposite of what it asked for on a `false` typo, with no
|
|
21
|
+
* way to notice.
|
|
22
|
+
*/
|
|
23
|
+
export declare const booleanQuerySchema: v.SchemaWithPipe<readonly [v.PicklistSchema<["true", "false"], undefined>, v.TransformAction<"false" | "true", boolean>]>;
|
|
24
|
+
//# sourceMappingURL=public-paging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-paging.d.ts","sourceRoot":"","sources":["../src/public-paging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAExC;;;;;GAKG;AACH,eAAO,MAAM,YAAY,0JAAiE,CAAA;AAE1F,oGAAoG;AACpG,eAAO,MAAM,eAAe,0RAQ3B,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,sQAO9B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,2HAG9B,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// The query-parameter primitives every bounded `/api/v1` list shares: the opaque keyset
|
|
4
|
+
// cursor, the page limit, an epoch-ms lower bound and a boolean flag.
|
|
5
|
+
//
|
|
6
|
+
// One module rather than a private copy per contract file, because these ARE the surface's
|
|
7
|
+
// pagination contract (`backend/docs/public-api.md`, "Pagination") rather than four
|
|
8
|
+
// independent local details: a list whose `limit` ceiling or cursor length drifted from its
|
|
9
|
+
// siblings would be a difference a caller discovers by getting a 400 from one endpoint and
|
|
10
|
+
// not another. `/jobs`, the task list, the whole `/debug` surface and the Kaizen entries all
|
|
11
|
+
// read them from here.
|
|
12
|
+
//
|
|
13
|
+
// Query params arrive as STRINGS, so each numeric one is digit-checked BEFORE the coercion:
|
|
14
|
+
// `Number()` alone also accepts `1e9`, `0x64` and `' '`, which would read as plausible values
|
|
15
|
+
// rather than the 400 a malformed request deserves. The `maxValue` ceilings are what make the
|
|
16
|
+
// bounds real backstops rather than suggestions (a caller cannot ask for the whole table back
|
|
17
|
+
// by passing a huge limit).
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
/** Hard ceiling on rows one page may return, wherever a list is paginated. */
|
|
20
|
+
export const PUBLIC_MAX_PAGE_LIMIT = 100;
|
|
21
|
+
/**
|
|
22
|
+
* An OPAQUE keyset pagination cursor. Callers must treat it as a black box and echo it back
|
|
23
|
+
* verbatim — its encoding is an implementation detail (today a base64url `<sortKey>|<id>` pair)
|
|
24
|
+
* that may change. Keyset, not offset: an offset page shifts under concurrent inserts, silently
|
|
25
|
+
* skipping or repeating rows, which is exactly what a polling integration must never see.
|
|
26
|
+
*/
|
|
27
|
+
export const cursorSchema = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(200));
|
|
28
|
+
/** Rows one page may return (1..{@link PUBLIC_MAX_PAGE_LIMIT}); each list documents its default. */
|
|
29
|
+
export const pageLimitSchema = v.pipe(v.string(), v.regex(/^\d+$/, 'Must be a whole number'), v.transform(Number), v.number(), v.integer(), v.minValue(1), v.maxValue(PUBLIC_MAX_PAGE_LIMIT));
|
|
30
|
+
/** An epoch-ms query filter: digits only, for the same reason as {@link pageLimitSchema}. */
|
|
31
|
+
export const epochMsQuerySchema = v.pipe(v.string(), v.regex(/^\d+$/, 'Must be a whole number of epoch milliseconds'), v.transform(Number), v.number(), v.integer(), v.minValue(0));
|
|
32
|
+
/**
|
|
33
|
+
* A boolean query filter, spelled `true` / `false`.
|
|
34
|
+
*
|
|
35
|
+
* A closed picklist rather than "anything that is not `false` is true": on a tri-state filter
|
|
36
|
+
* (omitted / true / false) a typo has to refuse, because coercing `?acknowledged=yes` to `true`
|
|
37
|
+
* would serve a caller the confident opposite of what it asked for on a `false` typo, with no
|
|
38
|
+
* way to notice.
|
|
39
|
+
*/
|
|
40
|
+
export const booleanQuerySchema = v.pipe(v.picklist(['true', 'false']), v.transform((value) => value === 'true'));
|
|
41
|
+
//# sourceMappingURL=public-paging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-paging.js","sourceRoot":"","sources":["../src/public-paging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,wFAAwF;AACxF,sEAAsE;AACtE,EAAE;AACF,2FAA2F;AAC3F,oFAAoF;AACpF,4FAA4F;AAC5F,2FAA2F;AAC3F,6FAA6F;AAC7F,uBAAuB;AACvB,EAAE;AACF,4FAA4F;AAC5F,8FAA8F;AAC9F,8FAA8F;AAC9F,8FAA8F;AAC9F,4BAA4B;AAC5B,8EAA8E;AAE9E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAE1F,oGAAoG;AACpG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CACnC,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAC1C,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EACnB,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EACb,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAClC,CAAA;AAED,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CACtC,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,8CAA8C,CAAC,EAChE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EACnB,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACd,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CACtC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7B,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CACzC,CAAA"}
|
package/dist/routes/index.d.ts
CHANGED
|
@@ -55,6 +55,7 @@ export * from './public-board.js';
|
|
|
55
55
|
export * from './public-provisioning.js';
|
|
56
56
|
export * from './public-evidence.js';
|
|
57
57
|
export * from './public-spec.js';
|
|
58
|
+
export * from './public-kaizen.js';
|
|
58
59
|
export * from './public-merge-evidence.js';
|
|
59
60
|
export * from './debug-api.js';
|
|
60
61
|
export * from './public-decisions.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
package/dist/routes/index.js
CHANGED
|
@@ -58,6 +58,7 @@ export * from './public-board.js';
|
|
|
58
58
|
export * from './public-provisioning.js';
|
|
59
59
|
export * from './public-evidence.js';
|
|
60
60
|
export * from './public-spec.js';
|
|
61
|
+
export * from './public-kaizen.js';
|
|
61
62
|
export * from './public-merge-evidence.js';
|
|
62
63
|
export * from './debug-api.js';
|
|
63
64
|
export * from './public-decisions.js';
|
package/dist/routes/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
package/dist/routes/kaizen.d.ts
CHANGED
|
@@ -40,6 +40,9 @@ export declare const getKaizenOverviewContract: {
|
|
|
40
40
|
readonly recommendations: import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
41
41
|
readonly graderModel: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
42
42
|
readonly error: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
43
|
+
readonly acknowledgedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
44
|
+
readonly acknowledgedBy: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
45
|
+
readonly acknowledgementNote: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
43
46
|
readonly createdAt: import("valibot").NumberSchema<undefined>;
|
|
44
47
|
readonly updatedAt: import("valibot").NumberSchema<undefined>;
|
|
45
48
|
}, undefined>, undefined>;
|
|
@@ -103,6 +106,9 @@ export declare const getKaizenRunGradingsContract: {
|
|
|
103
106
|
readonly recommendations: import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
104
107
|
readonly graderModel: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
105
108
|
readonly error: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
109
|
+
readonly acknowledgedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
110
|
+
readonly acknowledgedBy: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
111
|
+
readonly acknowledgementNote: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
106
112
|
readonly createdAt: import("valibot").NumberSchema<undefined>;
|
|
107
113
|
readonly updatedAt: import("valibot").NumberSchema<undefined>;
|
|
108
114
|
}, undefined>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaizen.d.ts","sourceRoot":"","sources":["../../src/routes/kaizen.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"kaizen.d.ts","sourceRoot":"","sources":["../../src/routes/kaizen.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAA"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One page of the workspace's Kaizen entries, newest first, with the acknowledgement / status /
|
|
3
|
+
* agent-kind / since filters applied in SQL.
|
|
4
|
+
*
|
|
5
|
+
* The read this surface exists for: an improvement loop enumerates every grading the workspace
|
|
6
|
+
* has produced without naming a run or a task first, which is the one thing it cannot know
|
|
7
|
+
* (finding out is the question it is asking). `?acknowledged=false` is the backlog, and paging
|
|
8
|
+
* is keyset, so a poll loop can never skip an entry because a run finished mid-page.
|
|
9
|
+
*/
|
|
10
|
+
export declare const listPublicKaizenEntriesContract: {
|
|
11
|
+
readonly method: "get";
|
|
12
|
+
readonly requestQuerySchema: import("valibot").ObjectSchema<{
|
|
13
|
+
readonly limit: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "Must be a whole number">, import("valibot").TransformAction<any, number>, import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 100, undefined>]>, undefined>;
|
|
14
|
+
readonly cursor: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
15
|
+
readonly acknowledged: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").PicklistSchema<["true", "false"], undefined>, import("valibot").TransformAction<"false" | "true", boolean>]>, undefined>;
|
|
16
|
+
readonly settled: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").PicklistSchema<["true", "false"], undefined>, import("valibot").TransformAction<"false" | "true", boolean>]>, undefined>;
|
|
17
|
+
readonly status: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["scheduled", "running", "complete", "failed"], undefined>, undefined>;
|
|
18
|
+
readonly agentKind: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>, undefined>;
|
|
19
|
+
readonly since: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "Must be a whole number of epoch milliseconds">, import("valibot").TransformAction<any, number>, import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 0, undefined>]>, undefined>;
|
|
20
|
+
}, undefined>;
|
|
21
|
+
readonly pathResolver: () => string;
|
|
22
|
+
readonly responsesByStatusCode: {
|
|
23
|
+
readonly '4xx': import("valibot").ObjectSchema<{
|
|
24
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
25
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
26
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
27
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
28
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
29
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
30
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
31
|
+
}, undefined>, undefined>, undefined>;
|
|
32
|
+
}, undefined>;
|
|
33
|
+
}, undefined>;
|
|
34
|
+
readonly '5xx': import("valibot").ObjectSchema<{
|
|
35
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
36
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
37
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
38
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
39
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
40
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
41
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
42
|
+
}, undefined>, undefined>, undefined>;
|
|
43
|
+
}, undefined>;
|
|
44
|
+
}, undefined>;
|
|
45
|
+
readonly 200: import("valibot").ObjectSchema<{
|
|
46
|
+
readonly entries: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
47
|
+
readonly entryId: import("valibot").StringSchema<undefined>;
|
|
48
|
+
readonly runId: import("valibot").StringSchema<undefined>;
|
|
49
|
+
readonly stepIndex: import("valibot").NumberSchema<undefined>;
|
|
50
|
+
readonly taskId: import("valibot").StringSchema<undefined>;
|
|
51
|
+
readonly task: import("valibot").NullableSchema<import("valibot").ObjectSchema<{
|
|
52
|
+
readonly title: import("valibot").StringSchema<undefined>;
|
|
53
|
+
readonly status: import("valibot").PicklistSchema<["planned", "ready", "in_progress", "blocked", "pr_ready", "done"], undefined>;
|
|
54
|
+
readonly serviceId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
55
|
+
readonly serviceTitle: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
56
|
+
}, undefined>, undefined>;
|
|
57
|
+
readonly agentKind: import("valibot").StringSchema<undefined>;
|
|
58
|
+
readonly model: import("valibot").StringSchema<undefined>;
|
|
59
|
+
readonly promptVersion: import("valibot").NumberSchema<undefined>;
|
|
60
|
+
readonly comboKey: import("valibot").StringSchema<undefined>;
|
|
61
|
+
readonly combo: import("valibot").NullableSchema<import("valibot").ObjectSchema<{
|
|
62
|
+
readonly consecutiveHighGrades: import("valibot").NumberSchema<undefined>;
|
|
63
|
+
readonly verified: import("valibot").BooleanSchema<undefined>;
|
|
64
|
+
readonly verifiedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
65
|
+
}, undefined>, undefined>;
|
|
66
|
+
readonly status: import("valibot").PicklistSchema<["scheduled", "running", "complete", "failed"], undefined>;
|
|
67
|
+
readonly grade: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
68
|
+
readonly summary: import("valibot").StringSchema<undefined>;
|
|
69
|
+
readonly recommendations: import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
70
|
+
readonly graderModel: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
71
|
+
readonly error: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
72
|
+
readonly acknowledged: import("valibot").BooleanSchema<undefined>;
|
|
73
|
+
readonly acknowledgedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
74
|
+
readonly acknowledgedBy: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
75
|
+
readonly acknowledgementNote: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
76
|
+
readonly createdAt: import("valibot").NumberSchema<undefined>;
|
|
77
|
+
readonly updatedAt: import("valibot").NumberSchema<undefined>;
|
|
78
|
+
}, undefined>, undefined>;
|
|
79
|
+
readonly nextCursor: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
80
|
+
}, undefined>;
|
|
81
|
+
};
|
|
82
|
+
} & {
|
|
83
|
+
readonly minScope: "read";
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* One entry by id: the read-back beside the acknowledge write, so a caller holding an `entryId`
|
|
87
|
+
* (from a page it stored, or from a ticket it filed) can re-read the current grade, its
|
|
88
|
+
* recommendations and its triage state rather than re-paging the list to find it.
|
|
89
|
+
*/
|
|
90
|
+
export declare const getPublicKaizenEntryContract: {
|
|
91
|
+
readonly method: "get";
|
|
92
|
+
readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
|
|
93
|
+
entryId: import("valibot").StringSchema<undefined>;
|
|
94
|
+
}, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
|
|
95
|
+
readonly pathResolver: ({ entryId }: {
|
|
96
|
+
entryId: string;
|
|
97
|
+
}) => string;
|
|
98
|
+
readonly responsesByStatusCode: {
|
|
99
|
+
readonly '4xx': import("valibot").ObjectSchema<{
|
|
100
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
101
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
102
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
103
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
104
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
105
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
106
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
107
|
+
}, undefined>, undefined>, undefined>;
|
|
108
|
+
}, undefined>;
|
|
109
|
+
}, undefined>;
|
|
110
|
+
readonly '5xx': import("valibot").ObjectSchema<{
|
|
111
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
112
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
113
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
114
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
115
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
116
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
117
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
118
|
+
}, undefined>, undefined>, undefined>;
|
|
119
|
+
}, undefined>;
|
|
120
|
+
}, undefined>;
|
|
121
|
+
readonly 200: import("valibot").ObjectSchema<{
|
|
122
|
+
readonly entryId: import("valibot").StringSchema<undefined>;
|
|
123
|
+
readonly runId: import("valibot").StringSchema<undefined>;
|
|
124
|
+
readonly stepIndex: import("valibot").NumberSchema<undefined>;
|
|
125
|
+
readonly taskId: import("valibot").StringSchema<undefined>;
|
|
126
|
+
readonly task: import("valibot").NullableSchema<import("valibot").ObjectSchema<{
|
|
127
|
+
readonly title: import("valibot").StringSchema<undefined>;
|
|
128
|
+
readonly status: import("valibot").PicklistSchema<["planned", "ready", "in_progress", "blocked", "pr_ready", "done"], undefined>;
|
|
129
|
+
readonly serviceId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
130
|
+
readonly serviceTitle: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
131
|
+
}, undefined>, undefined>;
|
|
132
|
+
readonly agentKind: import("valibot").StringSchema<undefined>;
|
|
133
|
+
readonly model: import("valibot").StringSchema<undefined>;
|
|
134
|
+
readonly promptVersion: import("valibot").NumberSchema<undefined>;
|
|
135
|
+
readonly comboKey: import("valibot").StringSchema<undefined>;
|
|
136
|
+
readonly combo: import("valibot").NullableSchema<import("valibot").ObjectSchema<{
|
|
137
|
+
readonly consecutiveHighGrades: import("valibot").NumberSchema<undefined>;
|
|
138
|
+
readonly verified: import("valibot").BooleanSchema<undefined>;
|
|
139
|
+
readonly verifiedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
140
|
+
}, undefined>, undefined>;
|
|
141
|
+
readonly status: import("valibot").PicklistSchema<["scheduled", "running", "complete", "failed"], undefined>;
|
|
142
|
+
readonly grade: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
143
|
+
readonly summary: import("valibot").StringSchema<undefined>;
|
|
144
|
+
readonly recommendations: import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
145
|
+
readonly graderModel: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
146
|
+
readonly error: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
147
|
+
readonly acknowledged: import("valibot").BooleanSchema<undefined>;
|
|
148
|
+
readonly acknowledgedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
149
|
+
readonly acknowledgedBy: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
150
|
+
readonly acknowledgementNote: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
151
|
+
readonly createdAt: import("valibot").NumberSchema<undefined>;
|
|
152
|
+
readonly updatedAt: import("valibot").NumberSchema<undefined>;
|
|
153
|
+
}, undefined>;
|
|
154
|
+
};
|
|
155
|
+
} & {
|
|
156
|
+
readonly minScope: "read";
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Record (or clear) that an entry has been triaged, and answer with the updated entry.
|
|
160
|
+
*
|
|
161
|
+
* `write`, not `admin`: acknowledging is bookkeeping about work a human has already read. The
|
|
162
|
+
* body is optional in practice (an empty `{}` acknowledges), and acknowledging an
|
|
163
|
+
* already-acknowledged entry is a no-op that returns it unchanged, so a retrying client cannot
|
|
164
|
+
* rewrite when the entry was first triaged. An entry the grader has not settled yet is refused
|
|
165
|
+
* `409` with `details.reason: "kaizen_entry_not_settled"`, because there are no recommendations
|
|
166
|
+
* to have triaged.
|
|
167
|
+
*/
|
|
168
|
+
export declare const acknowledgePublicKaizenEntryContract: {
|
|
169
|
+
readonly method: "post";
|
|
170
|
+
readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
|
|
171
|
+
entryId: import("valibot").StringSchema<undefined>;
|
|
172
|
+
}, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
|
|
173
|
+
readonly pathResolver: ({ entryId }: {
|
|
174
|
+
entryId: string;
|
|
175
|
+
}) => string;
|
|
176
|
+
readonly requestBodySchema: import("valibot").ObjectSchema<{
|
|
177
|
+
readonly acknowledged: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
|
|
178
|
+
readonly note: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MaxLengthAction<string, 2000, undefined>]>, undefined>, undefined>;
|
|
179
|
+
}, undefined>;
|
|
180
|
+
readonly responsesByStatusCode: {
|
|
181
|
+
readonly '4xx': import("valibot").ObjectSchema<{
|
|
182
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
183
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
184
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
185
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
186
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
187
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
188
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
189
|
+
}, undefined>, undefined>, undefined>;
|
|
190
|
+
}, undefined>;
|
|
191
|
+
}, undefined>;
|
|
192
|
+
readonly '5xx': import("valibot").ObjectSchema<{
|
|
193
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
194
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
195
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
196
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
197
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
198
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
199
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
200
|
+
}, undefined>, undefined>, undefined>;
|
|
201
|
+
}, undefined>;
|
|
202
|
+
}, undefined>;
|
|
203
|
+
readonly 200: import("valibot").ObjectSchema<{
|
|
204
|
+
readonly entryId: import("valibot").StringSchema<undefined>;
|
|
205
|
+
readonly runId: import("valibot").StringSchema<undefined>;
|
|
206
|
+
readonly stepIndex: import("valibot").NumberSchema<undefined>;
|
|
207
|
+
readonly taskId: import("valibot").StringSchema<undefined>;
|
|
208
|
+
readonly task: import("valibot").NullableSchema<import("valibot").ObjectSchema<{
|
|
209
|
+
readonly title: import("valibot").StringSchema<undefined>;
|
|
210
|
+
readonly status: import("valibot").PicklistSchema<["planned", "ready", "in_progress", "blocked", "pr_ready", "done"], undefined>;
|
|
211
|
+
readonly serviceId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
212
|
+
readonly serviceTitle: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
213
|
+
}, undefined>, undefined>;
|
|
214
|
+
readonly agentKind: import("valibot").StringSchema<undefined>;
|
|
215
|
+
readonly model: import("valibot").StringSchema<undefined>;
|
|
216
|
+
readonly promptVersion: import("valibot").NumberSchema<undefined>;
|
|
217
|
+
readonly comboKey: import("valibot").StringSchema<undefined>;
|
|
218
|
+
readonly combo: import("valibot").NullableSchema<import("valibot").ObjectSchema<{
|
|
219
|
+
readonly consecutiveHighGrades: import("valibot").NumberSchema<undefined>;
|
|
220
|
+
readonly verified: import("valibot").BooleanSchema<undefined>;
|
|
221
|
+
readonly verifiedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
222
|
+
}, undefined>, undefined>;
|
|
223
|
+
readonly status: import("valibot").PicklistSchema<["scheduled", "running", "complete", "failed"], undefined>;
|
|
224
|
+
readonly grade: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
225
|
+
readonly summary: import("valibot").StringSchema<undefined>;
|
|
226
|
+
readonly recommendations: import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
227
|
+
readonly graderModel: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
228
|
+
readonly error: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
229
|
+
readonly acknowledged: import("valibot").BooleanSchema<undefined>;
|
|
230
|
+
readonly acknowledgedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
231
|
+
readonly acknowledgedBy: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
232
|
+
readonly acknowledgementNote: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
233
|
+
readonly createdAt: import("valibot").NumberSchema<undefined>;
|
|
234
|
+
readonly updatedAt: import("valibot").NumberSchema<undefined>;
|
|
235
|
+
}, undefined>;
|
|
236
|
+
};
|
|
237
|
+
} & {
|
|
238
|
+
readonly minScope: "write";
|
|
239
|
+
};
|
|
240
|
+
//# sourceMappingURL=public-kaizen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-kaizen.d.ts","sourceRoot":"","sources":["../../src/routes/public-kaizen.ts"],"names":[],"mappings":"AA4BA;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ3C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQxC,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAShD,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { defineApiContract } from '@toad-contracts/valibot';
|
|
2
|
+
import { acknowledgeKaizenEntrySchema, listPublicKaizenEntriesQuerySchema, publicKaizenEntryListSchema, publicKaizenEntrySchema, } from '../public-kaizen.js';
|
|
3
|
+
import { errorResponses, singleStringParam, withMinScope } from './_shared.js';
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Route contracts for the public KAIZEN surface: absolute `/api/v1` paths, authenticated
|
|
6
|
+
// in-controller by a public-API key. The wire shapes and the reasoning behind them live in
|
|
7
|
+
// `../public-kaizen.ts`; the grading machinery behind an entry is `KaizenService`, and the
|
|
8
|
+
// surface's own account for an integrator is `backend/docs/public-api.md`.
|
|
9
|
+
//
|
|
10
|
+
// The scope split follows the one the merge-evidence surface established. Reading gradings is
|
|
11
|
+
// `read` like every other read on this API. ACKNOWLEDGING is `write`, not `admin`: it records
|
|
12
|
+
// that a person has triaged a recommendation, which starts nothing, spends nothing and merges
|
|
13
|
+
// nothing. Requiring `admin` for it would mean an integration whose whole job is draining the
|
|
14
|
+
// improvement backlog had to hold a key that also deletes tasks and merges pull requests.
|
|
15
|
+
//
|
|
16
|
+
// The entries are addressed by ENTRY id under `/api/v1/kaizen/entries`, and both point routes
|
|
17
|
+
// re-apply the key's workspace to the row they load, the rule every point read on this API
|
|
18
|
+
// follows (`/api/v1/debug/llm-calls/:callId`, `/api/v1/merge-records/:recordId`).
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
const entryIdParams = singleStringParam('entryId');
|
|
21
|
+
/**
|
|
22
|
+
* One page of the workspace's Kaizen entries, newest first, with the acknowledgement / status /
|
|
23
|
+
* agent-kind / since filters applied in SQL.
|
|
24
|
+
*
|
|
25
|
+
* The read this surface exists for: an improvement loop enumerates every grading the workspace
|
|
26
|
+
* has produced without naming a run or a task first, which is the one thing it cannot know
|
|
27
|
+
* (finding out is the question it is asking). `?acknowledged=false` is the backlog, and paging
|
|
28
|
+
* is keyset, so a poll loop can never skip an entry because a run finished mid-page.
|
|
29
|
+
*/
|
|
30
|
+
export const listPublicKaizenEntriesContract = withMinScope('read', defineApiContract({
|
|
31
|
+
method: 'get',
|
|
32
|
+
requestQuerySchema: listPublicKaizenEntriesQuerySchema,
|
|
33
|
+
pathResolver: () => '/api/v1/kaizen/entries',
|
|
34
|
+
responsesByStatusCode: { 200: publicKaizenEntryListSchema, ...errorResponses },
|
|
35
|
+
}));
|
|
36
|
+
/**
|
|
37
|
+
* One entry by id: the read-back beside the acknowledge write, so a caller holding an `entryId`
|
|
38
|
+
* (from a page it stored, or from a ticket it filed) can re-read the current grade, its
|
|
39
|
+
* recommendations and its triage state rather than re-paging the list to find it.
|
|
40
|
+
*/
|
|
41
|
+
export const getPublicKaizenEntryContract = withMinScope('read', defineApiContract({
|
|
42
|
+
method: 'get',
|
|
43
|
+
requestPathParamsSchema: entryIdParams,
|
|
44
|
+
pathResolver: ({ entryId }) => `/api/v1/kaizen/entries/${entryId}`,
|
|
45
|
+
responsesByStatusCode: { 200: publicKaizenEntrySchema, ...errorResponses },
|
|
46
|
+
}));
|
|
47
|
+
/**
|
|
48
|
+
* Record (or clear) that an entry has been triaged, and answer with the updated entry.
|
|
49
|
+
*
|
|
50
|
+
* `write`, not `admin`: acknowledging is bookkeeping about work a human has already read. The
|
|
51
|
+
* body is optional in practice (an empty `{}` acknowledges), and acknowledging an
|
|
52
|
+
* already-acknowledged entry is a no-op that returns it unchanged, so a retrying client cannot
|
|
53
|
+
* rewrite when the entry was first triaged. An entry the grader has not settled yet is refused
|
|
54
|
+
* `409` with `details.reason: "kaizen_entry_not_settled"`, because there are no recommendations
|
|
55
|
+
* to have triaged.
|
|
56
|
+
*/
|
|
57
|
+
export const acknowledgePublicKaizenEntryContract = withMinScope('write', defineApiContract({
|
|
58
|
+
method: 'post',
|
|
59
|
+
requestPathParamsSchema: entryIdParams,
|
|
60
|
+
pathResolver: ({ entryId }) => `/api/v1/kaizen/entries/${entryId}/acknowledge`,
|
|
61
|
+
requestBodySchema: acknowledgeKaizenEntrySchema,
|
|
62
|
+
responsesByStatusCode: { 200: publicKaizenEntrySchema, ...errorResponses },
|
|
63
|
+
}));
|
|
64
|
+
//# sourceMappingURL=public-kaizen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-kaizen.js","sourceRoot":"","sources":["../../src/routes/public-kaizen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACL,4BAA4B,EAC5B,kCAAkC,EAClC,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE9E,8EAA8E;AAC9E,yFAAyF;AACzF,2FAA2F;AAC3F,2FAA2F;AAC3F,2EAA2E;AAC3E,EAAE;AACF,8FAA8F;AAC9F,8FAA8F;AAC9F,8FAA8F;AAC9F,8FAA8F;AAC9F,0FAA0F;AAC1F,EAAE;AACF,8FAA8F;AAC9F,2FAA2F;AAC3F,kFAAkF;AAClF,8EAA8E;AAE9E,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;AAElD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,YAAY,CACzD,MAAM,EACN,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,kBAAkB,EAAE,kCAAkC;IACtD,YAAY,EAAE,GAAG,EAAE,CAAC,wBAAwB;IAC5C,qBAAqB,EAAE,EAAE,GAAG,EAAE,2BAA2B,EAAE,GAAG,cAAc,EAAE;CAC/E,CAAC,CACH,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CACtD,MAAM,EACN,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,0BAA0B,OAAO,EAAE;IAClE,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CACH,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,YAAY,CAC9D,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,0BAA0B,OAAO,cAAc;IAC9E,iBAAiB,EAAE,4BAA4B;IAC/C,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CACH,CAAA"}
|
package/dist/routes/tasks.d.ts
CHANGED
|
@@ -234,7 +234,7 @@ export declare const diagnoseTaskSourceContract: {
|
|
|
234
234
|
readonly 200: v.ObjectSchema<{
|
|
235
235
|
readonly source: v.UnionSchema<[v.PicklistSchema<readonly ["jira", "github", "linear", "gitlab"], undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>], undefined>;
|
|
236
236
|
readonly ok: v.BooleanSchema<undefined>;
|
|
237
|
-
readonly status: v.PicklistSchema<["ready", "not_installed", "not_connected", "auth_failed", "forbidden", "unreachable", "error"], undefined>;
|
|
237
|
+
readonly status: v.PicklistSchema<["ready", "not_installed", "not_connected", "auth_failed", "forbidden", "unreachable", "rate_limited", "error"], undefined>;
|
|
238
238
|
readonly message: v.StringSchema<undefined>;
|
|
239
239
|
readonly detail: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
240
240
|
}, undefined>;
|
package/dist/tasks.d.ts
CHANGED
|
@@ -295,16 +295,25 @@ export type TaskSourceState = v.InferOutput<typeof taskSourceStateSchema>;
|
|
|
295
295
|
* - `forbidden` — authenticated but lacking the needed scope, e.g. the
|
|
296
296
|
* GitHub App has no Issues permission (HTTP 403).
|
|
297
297
|
* - `unreachable` — the source host could not be reached (network / DNS).
|
|
298
|
+
* - `rate_limited` — the credential is good and the quota is spent, so the fix
|
|
299
|
+
* is to wait rather than to reconnect. Its own verdict
|
|
300
|
+
* because the status a vendor answers with cannot say it:
|
|
301
|
+
* Linear reports an exhausted quota as HTTP 400 with a
|
|
302
|
+
* `RATELIMITED` error code, which reads as a malformed
|
|
303
|
+
* request, and GitHub's secondary limit arrives as a 403,
|
|
304
|
+
* which reads as a missing permission. Both send an
|
|
305
|
+
* operator to re-mint a credential that was never the
|
|
306
|
+
* problem.
|
|
298
307
|
* - `error` — anything else (unexpected status or body).
|
|
299
308
|
*/
|
|
300
|
-
export declare const taskSourceDiagnosticStatusSchema: v.PicklistSchema<["ready", "not_installed", "not_connected", "auth_failed", "forbidden", "unreachable", "error"], undefined>;
|
|
309
|
+
export declare const taskSourceDiagnosticStatusSchema: v.PicklistSchema<["ready", "not_installed", "not_connected", "auth_failed", "forbidden", "unreachable", "rate_limited", "error"], undefined>;
|
|
301
310
|
export type TaskSourceDiagnosticStatus = v.InferOutput<typeof taskSourceDiagnosticStatusSchema>;
|
|
302
311
|
/** A source's live setup-check result: a status + a human-readable, actionable message. */
|
|
303
312
|
export declare const taskSourceDiagnosticSchema: v.ObjectSchema<{
|
|
304
313
|
readonly source: v.UnionSchema<[v.PicklistSchema<readonly ["jira", "github", "linear", "gitlab"], undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>], undefined>;
|
|
305
314
|
/** Convenience: `status === 'ready'`. */
|
|
306
315
|
readonly ok: v.BooleanSchema<undefined>;
|
|
307
|
-
readonly status: v.PicklistSchema<["ready", "not_installed", "not_connected", "auth_failed", "forbidden", "unreachable", "error"], undefined>;
|
|
316
|
+
readonly status: v.PicklistSchema<["ready", "not_installed", "not_connected", "auth_failed", "forbidden", "unreachable", "rate_limited", "error"], undefined>;
|
|
308
317
|
/** A one-line explanation the panel shows verbatim (what's wrong + how to fix). */
|
|
309
318
|
readonly message: v.StringSchema<undefined>;
|
|
310
319
|
/** Optional extra context, e.g. the resolved account login or repo count. */
|
package/dist/tasks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B,iGAAiG;AACjG,eAAO,MAAM,yBAAyB,YAAI,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAExF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oBAAoB,sQAG/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAQD,sFAAsF;AACtF,eAAO,MAAM,uBAAuB;;IAElC;;;OAGG;;IAEH,uFAAuF;;IAEvF;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;;;;;;;OAUG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;IAtCxC;;;OAGG;;IAEH,uFAAuF;;IAEvF;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;;;;;;;OAUG;;;aAaH,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC;;aAE3C,CAAA;AACF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAEpG;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B;;aAExC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAM9F;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;IAErC,iCAAiC;;IAEjC,uCAAuC;;IAEvC,yDAAyD;;;;;;;;IAEzD,6CAA6C;;IAE7C,mDAAmD;;IAEnD;;;;OAIG;;IAEH;;;;;;OAMG;;aAEH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,yFAKrC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB;;;;aAI3B,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB;;IA3DhC,iCAAiC;;IAEjC,uCAAuC;;IAEvC,yDAAyD;;;;;;;;IAEzD,6CAA6C;;IAE7C,mDAAmD;;IAEnD;;;;OAIG;;IAEH;;;;;;OAMG;;;;IAyCH;;;;;;;;;;;OAWG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;;OAUG;;aAEH,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAIzE
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B,iGAAiG;AACjG,eAAO,MAAM,yBAAyB,YAAI,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAExF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oBAAoB,sQAG/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAQD,sFAAsF;AACtF,eAAO,MAAM,uBAAuB;;IAElC;;;OAGG;;IAEH,uFAAuF;;IAEvF;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;;;;;;;OAUG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;IAtCxC;;;OAGG;;IAEH,uFAAuF;;IAEvF;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;;;;;;;OAUG;;;aAaH,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC;;aAE3C,CAAA;AACF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAEpG;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B;;aAExC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAM9F;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;IAErC,iCAAiC;;IAEjC,uCAAuC;;IAEvC,yDAAyD;;;;;;;;IAEzD,6CAA6C;;IAE7C,mDAAmD;;IAEnD;;;;OAIG;;IAEH;;;;;;OAMG;;aAEH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,yFAKrC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB;;;;aAI3B,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB;;IA3DhC,iCAAiC;;IAEjC,uCAAuC;;IAEvC,yDAAyD;;;;;;;;IAEzD,6CAA6C;;IAE7C,mDAAmD;;IAEnD;;;;OAIG;;IAEH;;;;;;OAMG;;;;IAyCH;;;;;;;;;;;OAWG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;;OAUG;;aAEH,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAIzE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,gCAAgC,8IAS3C,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAE/F,2FAA2F;AAC3F,eAAO,MAAM,0BAA0B;;IAErC,yCAAyC;;;IAGzC,mFAAmF;;IAEnF,6EAA6E;;aAE7E,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAInF,gGAAgG;AAChG,eAAO,MAAM,oBAAoB;;IAE/B,qEAAqE;;IAErE,sDAAsD;;aAEtD,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB;IAC5B,sDAAsD;;IAEtD,2EAA2E;;IAE3E,wDAAwD;;aAExD,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;IAEnC,qFAAqF;;aAErF,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,iFAAiF;AACjF,eAAO,MAAM,gBAAgB;;IAE3B,mFAAmF;;IAEnF,6BAA6B;;IAE7B,gDAAgD;;IAEhD,gDAAgD;;IAEhD,mCAAmC;;IAEnC,sDAAsD;;IAEtD,wCAAwC;;IAExC,oBAAoB;;IAEpB,6DAA6D;;IAE7D,qEAAqE;;QA5CrE,sDAAsD;;QAEtD,2EAA2E;;QAE3E,wDAAwD;;;IA0CxD,4EAA4E;;IAE5E,oEAAoE;;IAEpE,8DAA8D;;aAE9D,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;IAEjC,6EAA6E;;;IAG7E,gDAAgD;;IAEhD,+DAA+D;;IAE/D,oEAAoE;;aAEpE,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAI3E;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;aAKlC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAElF,oFAAoF;AACpF,eAAO,MAAM,0BAA0B;;aAErC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAExF,wEAAwE;AACxE,eAAO,MAAM,gBAAgB;;aAE3B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEpE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,YAGnC,iBAAiB,EAIjB,qBAAqB,EAGrB,eAAe,EAGf,eAAe,EAGf,oBAAoB,EAMpB,oBAAoB,CACZ,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE5E,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB;;IAE5B;;;;;;;;OAQG;;aAEH,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEtE,iEAAiE;AACjE,eAAO,MAAM,cAAc;;;;aAIzB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAA;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;IAGpC,sDAAsD;;aAEtD,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEtF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;IAG1B,2FAA2F;;;;;aAE3F,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA"}
|
package/dist/tasks.js
CHANGED
|
@@ -249,6 +249,15 @@ export const taskSourceStateSchema = v.object({
|
|
|
249
249
|
* - `forbidden` — authenticated but lacking the needed scope, e.g. the
|
|
250
250
|
* GitHub App has no Issues permission (HTTP 403).
|
|
251
251
|
* - `unreachable` — the source host could not be reached (network / DNS).
|
|
252
|
+
* - `rate_limited` — the credential is good and the quota is spent, so the fix
|
|
253
|
+
* is to wait rather than to reconnect. Its own verdict
|
|
254
|
+
* because the status a vendor answers with cannot say it:
|
|
255
|
+
* Linear reports an exhausted quota as HTTP 400 with a
|
|
256
|
+
* `RATELIMITED` error code, which reads as a malformed
|
|
257
|
+
* request, and GitHub's secondary limit arrives as a 403,
|
|
258
|
+
* which reads as a missing permission. Both send an
|
|
259
|
+
* operator to re-mint a credential that was never the
|
|
260
|
+
* problem.
|
|
252
261
|
* - `error` — anything else (unexpected status or body).
|
|
253
262
|
*/
|
|
254
263
|
export const taskSourceDiagnosticStatusSchema = v.picklist([
|
|
@@ -258,6 +267,7 @@ export const taskSourceDiagnosticStatusSchema = v.picklist([
|
|
|
258
267
|
'auth_failed',
|
|
259
268
|
'forbidden',
|
|
260
269
|
'unreachable',
|
|
270
|
+
'rate_limited',
|
|
261
271
|
'error',
|
|
262
272
|
]);
|
|
263
273
|
/** A source's live setup-check result: a status + a human-readable, actionable message. */
|
package/dist/tasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"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"}
|