@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.
Files changed (43) hide show
  1. package/dist/debug-api.d.ts +1 -1
  2. package/dist/debug-api.d.ts.map +1 -1
  3. package/dist/debug-api.js +3 -7
  4. package/dist/debug-api.js.map +1 -1
  5. package/dist/errors.d.ts +1 -1
  6. package/dist/errors.d.ts.map +1 -1
  7. package/dist/errors.js +7 -0
  8. package/dist/errors.js.map +1 -1
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/kaizen.d.ts +74 -0
  14. package/dist/kaizen.d.ts.map +1 -1
  15. package/dist/kaizen.js +37 -0
  16. package/dist/kaizen.js.map +1 -1
  17. package/dist/public-api.d.ts.map +1 -1
  18. package/dist/public-api.js +7 -18
  19. package/dist/public-api.js.map +1 -1
  20. package/dist/public-kaizen.d.ts +316 -0
  21. package/dist/public-kaizen.d.ts.map +1 -0
  22. package/dist/public-kaizen.js +218 -0
  23. package/dist/public-kaizen.js.map +1 -0
  24. package/dist/public-paging.d.ts +24 -0
  25. package/dist/public-paging.d.ts.map +1 -0
  26. package/dist/public-paging.js +41 -0
  27. package/dist/public-paging.js.map +1 -0
  28. package/dist/routes/index.d.ts +1 -0
  29. package/dist/routes/index.d.ts.map +1 -1
  30. package/dist/routes/index.js +1 -0
  31. package/dist/routes/index.js.map +1 -1
  32. package/dist/routes/kaizen.d.ts +6 -0
  33. package/dist/routes/kaizen.d.ts.map +1 -1
  34. package/dist/routes/public-kaizen.d.ts +240 -0
  35. package/dist/routes/public-kaizen.d.ts.map +1 -0
  36. package/dist/routes/public-kaizen.js +64 -0
  37. package/dist/routes/public-kaizen.js.map +1 -0
  38. package/dist/routes/tasks.d.ts +1 -1
  39. package/dist/tasks.d.ts +11 -2
  40. package/dist/tasks.d.ts.map +1 -1
  41. package/dist/tasks.js +10 -0
  42. package/dist/tasks.js.map +1 -1
  43. 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"}
@@ -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"}
@@ -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';
@@ -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"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAA"}
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"}
@@ -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. */
@@ -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;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,8HAQ3C,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"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"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"}
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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"}