@cat-factory/contracts 0.323.1 → 0.325.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 (50) hide show
  1. package/dist/agent-gating.d.ts +19 -0
  2. package/dist/agent-gating.d.ts.map +1 -1
  3. package/dist/agent-gating.js +32 -0
  4. package/dist/agent-gating.js.map +1 -1
  5. package/dist/consensus.d.ts +71 -5
  6. package/dist/consensus.d.ts.map +1 -1
  7. package/dist/consensus.js +64 -5
  8. package/dist/consensus.js.map +1 -1
  9. package/dist/entities.d.ts +9 -0
  10. package/dist/entities.d.ts.map +1 -1
  11. package/dist/execution.d.ts +2 -2
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/inline-use-cases.d.ts +367 -0
  17. package/dist/inline-use-cases.d.ts.map +1 -0
  18. package/dist/inline-use-cases.js +225 -0
  19. package/dist/inline-use-cases.js.map +1 -0
  20. package/dist/routes/agent-runs.d.ts +2 -2
  21. package/dist/routes/board.d.ts +117 -0
  22. package/dist/routes/board.d.ts.map +1 -1
  23. package/dist/routes/bug-hunt.d.ts +20 -2
  24. package/dist/routes/bug-hunt.d.ts.map +1 -1
  25. package/dist/routes/execution.d.ts +27 -9
  26. package/dist/routes/execution.d.ts.map +1 -1
  27. package/dist/routes/human-review.d.ts +1 -1
  28. package/dist/routes/human-test.d.ts +5 -5
  29. package/dist/routes/index.d.ts +1 -0
  30. package/dist/routes/index.d.ts.map +1 -1
  31. package/dist/routes/index.js +1 -0
  32. package/dist/routes/index.js.map +1 -1
  33. package/dist/routes/initiative.d.ts +9 -0
  34. package/dist/routes/initiative.d.ts.map +1 -1
  35. package/dist/routes/tasks.d.ts +27 -0
  36. package/dist/routes/tasks.d.ts.map +1 -1
  37. package/dist/routes/use-cases.d.ts +265 -0
  38. package/dist/routes/use-cases.d.ts.map +1 -0
  39. package/dist/routes/use-cases.js +80 -0
  40. package/dist/routes/use-cases.js.map +1 -0
  41. package/dist/routes/visual-confirm.d.ts +3 -3
  42. package/dist/routes/workspaces.d.ts +38 -2
  43. package/dist/routes/workspaces.d.ts.map +1 -1
  44. package/dist/snapshot.d.ts +19 -1
  45. package/dist/snapshot.d.ts.map +1 -1
  46. package/dist/step-conditions.d.ts +6 -1
  47. package/dist/step-conditions.d.ts.map +1 -1
  48. package/dist/step-conditions.js +6 -0
  49. package/dist/step-conditions.js.map +1 -1
  50. package/package.json +1 -1
@@ -718,7 +718,7 @@ export declare const confirmHumanTestContract: {
718
718
  }, undefined>, undefined>;
719
719
  }, undefined>, undefined>, undefined>;
720
720
  readonly skipped: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
721
- readonly skipReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["gated", "condition", "producer_skipped", "run_complete"], undefined>, undefined>;
721
+ readonly skipReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["gated", "condition", "producer_skipped", "run_complete", "no_pull_request"], undefined>, undefined>;
722
722
  readonly noBusinessSpecs: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
723
723
  readonly technicalCorroborated: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
724
724
  readonly output: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
@@ -1939,7 +1939,7 @@ export declare const requestHumanTestFixContract: {
1939
1939
  }, undefined>, undefined>;
1940
1940
  }, undefined>, undefined>, undefined>;
1941
1941
  readonly skipped: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
1942
- readonly skipReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["gated", "condition", "producer_skipped", "run_complete"], undefined>, undefined>;
1942
+ readonly skipReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["gated", "condition", "producer_skipped", "run_complete", "no_pull_request"], undefined>, undefined>;
1943
1943
  readonly noBusinessSpecs: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
1944
1944
  readonly technicalCorroborated: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
1945
1945
  readonly output: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
@@ -3158,7 +3158,7 @@ export declare const pullMainHumanTestContract: {
3158
3158
  }, undefined>, undefined>;
3159
3159
  }, undefined>, undefined>, undefined>;
3160
3160
  readonly skipped: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
3161
- readonly skipReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["gated", "condition", "producer_skipped", "run_complete"], undefined>, undefined>;
3161
+ readonly skipReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["gated", "condition", "producer_skipped", "run_complete", "no_pull_request"], undefined>, undefined>;
3162
3162
  readonly noBusinessSpecs: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
3163
3163
  readonly technicalCorroborated: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
3164
3164
  readonly output: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
@@ -4377,7 +4377,7 @@ export declare const recreateHumanTestEnvContract: {
4377
4377
  }, undefined>, undefined>;
4378
4378
  }, undefined>, undefined>, undefined>;
4379
4379
  readonly skipped: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
4380
- readonly skipReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["gated", "condition", "producer_skipped", "run_complete"], undefined>, undefined>;
4380
+ readonly skipReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["gated", "condition", "producer_skipped", "run_complete", "no_pull_request"], undefined>, undefined>;
4381
4381
  readonly noBusinessSpecs: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
4382
4382
  readonly technicalCorroborated: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
4383
4383
  readonly output: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
@@ -5596,7 +5596,7 @@ export declare const destroyHumanTestEnvContract: {
5596
5596
  }, undefined>, undefined>;
5597
5597
  }, undefined>, undefined>, undefined>;
5598
5598
  readonly skipped: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
5599
- readonly skipReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["gated", "condition", "producer_skipped", "run_complete"], undefined>, undefined>;
5599
+ readonly skipReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["gated", "condition", "producer_skipped", "run_complete", "no_pull_request"], undefined>, undefined>;
5600
5600
  readonly noBusinessSpecs: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
5601
5601
  readonly technicalCorroborated: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
5602
5602
  readonly output: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
@@ -39,6 +39,7 @@ export * from './model-presets.js';
39
39
  export * from './agent-prompts.js';
40
40
  export * from './agent-settings.js';
41
41
  export * from './task-types.js';
42
+ export * from './use-cases.js';
42
43
  export * from './shared-stacks.js';
43
44
  export * from './models.js';
44
45
  export * from './notifications.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,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"}
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,gBAAgB,CAAA;AAC9B,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"}
@@ -42,6 +42,7 @@ export * from './model-presets.js';
42
42
  export * from './agent-prompts.js';
43
43
  export * from './agent-settings.js';
44
44
  export * from './task-types.js';
45
+ export * from './use-cases.js';
45
46
  export * from './shared-stacks.js';
46
47
  export * from './models.js';
47
48
  export * from './notifications.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,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"}
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,gBAAgB,CAAA;AAC9B,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"}
@@ -199,6 +199,15 @@ export declare const createInitiativeContract: {
199
199
  readonly rationale: v.StringSchema<undefined>;
200
200
  readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
201
201
  readonly createdAt: v.NumberSchema<undefined>;
202
+ readonly basis: v.OptionalSchema<v.PicklistSchema<readonly ["predicted", "observed"], undefined>, undefined>;
203
+ readonly supersedes: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
204
+ readonly complexity: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
205
+ readonly risk: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
206
+ readonly impact: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
207
+ readonly basis: v.OptionalSchema<v.PicklistSchema<readonly ["predicted", "observed"], undefined>, undefined>;
208
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
209
+ readonly createdAt: v.NumberSchema<undefined>;
210
+ }, undefined>, undefined>, undefined>;
202
211
  }, undefined>, undefined>, undefined>;
203
212
  readonly moduleName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
204
213
  readonly taskType: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<readonly ["feature", "bug", "document", "spike", "review", "ralph", "media", "recurring"], undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>], undefined>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"initiative.d.ts","sourceRoot":"","sources":["../../src/routes/initiative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initiative.d.ts","sourceRoot":"","sources":["../../src/routes/initiative.ts"],"names":[],"mappings":"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"}
@@ -740,6 +740,15 @@ export declare const createTaskFromIssueContract: {
740
740
  readonly rationale: v.StringSchema<undefined>;
741
741
  readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
742
742
  readonly createdAt: v.NumberSchema<undefined>;
743
+ readonly basis: v.OptionalSchema<v.PicklistSchema<readonly ["predicted", "observed"], undefined>, undefined>;
744
+ readonly supersedes: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
745
+ readonly complexity: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
746
+ readonly risk: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
747
+ readonly impact: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
748
+ readonly basis: v.OptionalSchema<v.PicklistSchema<readonly ["predicted", "observed"], undefined>, undefined>;
749
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
750
+ readonly createdAt: v.NumberSchema<undefined>;
751
+ }, undefined>, undefined>, undefined>;
743
752
  }, undefined>, undefined>, undefined>;
744
753
  readonly moduleName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
745
754
  readonly taskType: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<readonly ["feature", "bug", "document", "spike", "review", "ralph", "media", "recurring"], undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>], undefined>, undefined>;
@@ -1175,6 +1184,15 @@ export declare const spawnEpicContract: {
1175
1184
  readonly rationale: v.StringSchema<undefined>;
1176
1185
  readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1177
1186
  readonly createdAt: v.NumberSchema<undefined>;
1187
+ readonly basis: v.OptionalSchema<v.PicklistSchema<readonly ["predicted", "observed"], undefined>, undefined>;
1188
+ readonly supersedes: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1189
+ readonly complexity: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
1190
+ readonly risk: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
1191
+ readonly impact: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
1192
+ readonly basis: v.OptionalSchema<v.PicklistSchema<readonly ["predicted", "observed"], undefined>, undefined>;
1193
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1194
+ readonly createdAt: v.NumberSchema<undefined>;
1195
+ }, undefined>, undefined>, undefined>;
1178
1196
  }, undefined>, undefined>, undefined>;
1179
1197
  readonly moduleName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1180
1198
  readonly taskType: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<readonly ["feature", "bug", "document", "spike", "review", "ralph", "media", "recurring"], undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>], undefined>, undefined>;
@@ -1547,6 +1565,15 @@ export declare const spawnEpicContract: {
1547
1565
  readonly rationale: v.StringSchema<undefined>;
1548
1566
  readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1549
1567
  readonly createdAt: v.NumberSchema<undefined>;
1568
+ readonly basis: v.OptionalSchema<v.PicklistSchema<readonly ["predicted", "observed"], undefined>, undefined>;
1569
+ readonly supersedes: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1570
+ readonly complexity: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
1571
+ readonly risk: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
1572
+ readonly impact: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
1573
+ readonly basis: v.OptionalSchema<v.PicklistSchema<readonly ["predicted", "observed"], undefined>, undefined>;
1574
+ readonly model: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1575
+ readonly createdAt: v.NumberSchema<undefined>;
1576
+ }, undefined>, undefined>, undefined>;
1550
1577
  }, undefined>, undefined>, undefined>;
1551
1578
  readonly moduleName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1552
1579
  readonly taskType: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<readonly ["feature", "bug", "document", "spike", "review", "ralph", "media", "recurring"], undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>], undefined>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/routes/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA2D5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMvC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAItC,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMpC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMrC,CAAA;AAKF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM7C,CAAA;AAIF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM1C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKzC,CAAA;AAIF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAItC,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW5B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM7B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM9B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK3B,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtC,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM5B,CAAA"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/routes/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA2D5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMvC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAItC,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMpC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMrC,CAAA;AAKF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM7C,CAAA;AAIF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM1C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKzC,CAAA;AAIF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAItC,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW5B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM7B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM9B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK3B,CAAA;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtC,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM5B,CAAA"}
@@ -0,0 +1,265 @@
1
+ /**
2
+ * The catalog: every use case this deployment has registered, with its parameters, the models it
3
+ * may run on and the generation bounds an invocation may steer within.
4
+ *
5
+ * The read this surface exists for. Without it a wrapper's only route to the same knowledge is a
6
+ * hard-coded copy of the deployment's own registration, which is a second source of truth that
7
+ * drifts the first time an operator narrows a model list, and drifts SILENTLY, because the
8
+ * wrapper keeps offering a choice the invocation now refuses.
9
+ */
10
+ export declare const listPublicUseCasesContract: {
11
+ readonly method: "get";
12
+ readonly pathResolver: () => string;
13
+ readonly responsesByStatusCode: {
14
+ readonly '4xx': import("valibot").ObjectSchema<{
15
+ readonly error: import("valibot").ObjectSchema<{
16
+ readonly code: import("valibot").StringSchema<undefined>;
17
+ readonly message: import("valibot").StringSchema<undefined>;
18
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
19
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
20
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
21
+ readonly message: import("valibot").StringSchema<undefined>;
22
+ }, undefined>, undefined>, undefined>;
23
+ }, undefined>;
24
+ }, undefined>;
25
+ readonly '5xx': import("valibot").ObjectSchema<{
26
+ readonly error: import("valibot").ObjectSchema<{
27
+ readonly code: import("valibot").StringSchema<undefined>;
28
+ readonly message: import("valibot").StringSchema<undefined>;
29
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
30
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
31
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
32
+ readonly message: import("valibot").StringSchema<undefined>;
33
+ }, undefined>, undefined>, undefined>;
34
+ }, undefined>;
35
+ }, undefined>;
36
+ readonly 200: import("valibot").ObjectSchema<{
37
+ readonly useCases: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
38
+ readonly useCaseId: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>;
39
+ readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
40
+ readonly description: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 500, undefined>]>;
41
+ readonly category: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 60, undefined>]>, undefined>;
42
+ readonly models: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
43
+ readonly id: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
44
+ readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
45
+ readonly description: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 500, undefined>]>, undefined>;
46
+ readonly default: import("valibot").BooleanSchema<undefined>;
47
+ readonly available: import("valibot").BooleanSchema<undefined>;
48
+ readonly unavailableReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<readonly ["provider_unavailable", "container_only"], undefined>, undefined>;
49
+ }, undefined>, undefined>;
50
+ readonly parameters: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
51
+ readonly key: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 80, undefined>]>;
52
+ readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
53
+ readonly section: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>, undefined>;
54
+ readonly help: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 300, undefined>]>, undefined>;
55
+ readonly placeholder: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
56
+ readonly required: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
57
+ readonly options: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
58
+ readonly value: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
59
+ readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
60
+ }, undefined>, undefined>, undefined>;
61
+ readonly default: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 2000, undefined>]>, undefined>;
62
+ readonly defaultValues: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 2000, undefined>]>, undefined>, import("valibot").MaxLengthAction<string[], 50, undefined>]>, undefined>;
63
+ readonly showWhen: import("valibot").OptionalSchema<import("valibot").ObjectSchema<{
64
+ readonly key: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>]>;
65
+ readonly equals: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").BooleanSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, undefined>;
66
+ readonly includes: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
67
+ }, undefined>, undefined>;
68
+ readonly maxLength: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 2000, undefined>]>, undefined>;
69
+ readonly min: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
70
+ readonly max: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
71
+ readonly type: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["text", "textarea", "number", "select", "checkbox", "checkbox-group"], undefined>, undefined>;
72
+ }, undefined>, undefined>;
73
+ readonly generation: import("valibot").ObjectSchema<{
74
+ readonly temperature: import("valibot").ObjectSchema<{
75
+ readonly default: import("valibot").NumberSchema<undefined>;
76
+ readonly min: import("valibot").NumberSchema<undefined>;
77
+ readonly max: import("valibot").NumberSchema<undefined>;
78
+ }, undefined>;
79
+ readonly maxOutputTokens: import("valibot").ObjectSchema<{
80
+ readonly default: import("valibot").NumberSchema<undefined>;
81
+ readonly min: import("valibot").NumberSchema<undefined>;
82
+ readonly max: import("valibot").NumberSchema<undefined>;
83
+ }, undefined>;
84
+ }, undefined>;
85
+ }, undefined>, undefined>;
86
+ }, undefined>;
87
+ };
88
+ } & {
89
+ readonly minScope: "read";
90
+ };
91
+ /**
92
+ * One use case by id: the point read beside the catalog, so a wrapper holding a `useCaseId` (from
93
+ * its own config, or from a form a user built earlier) can re-read the parameters and the current
94
+ * model availability without paging the whole catalog to find it.
95
+ */
96
+ export declare const getPublicUseCaseContract: {
97
+ readonly method: "get";
98
+ readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
99
+ useCaseId: import("valibot").StringSchema<undefined>;
100
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
101
+ readonly pathResolver: ({ useCaseId }: {
102
+ useCaseId: string;
103
+ }) => string;
104
+ readonly responsesByStatusCode: {
105
+ readonly '4xx': import("valibot").ObjectSchema<{
106
+ readonly error: import("valibot").ObjectSchema<{
107
+ readonly code: import("valibot").StringSchema<undefined>;
108
+ readonly message: import("valibot").StringSchema<undefined>;
109
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
110
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
111
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
112
+ readonly message: import("valibot").StringSchema<undefined>;
113
+ }, undefined>, undefined>, undefined>;
114
+ }, undefined>;
115
+ }, undefined>;
116
+ readonly '5xx': import("valibot").ObjectSchema<{
117
+ readonly error: import("valibot").ObjectSchema<{
118
+ readonly code: import("valibot").StringSchema<undefined>;
119
+ readonly message: import("valibot").StringSchema<undefined>;
120
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
121
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
122
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
123
+ readonly message: import("valibot").StringSchema<undefined>;
124
+ }, undefined>, undefined>, undefined>;
125
+ }, undefined>;
126
+ }, undefined>;
127
+ readonly 200: import("valibot").ObjectSchema<{
128
+ readonly useCaseId: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>;
129
+ readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
130
+ readonly description: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 500, undefined>]>;
131
+ readonly category: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 60, undefined>]>, undefined>;
132
+ readonly models: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
133
+ readonly id: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
134
+ readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
135
+ readonly description: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 500, undefined>]>, undefined>;
136
+ readonly default: import("valibot").BooleanSchema<undefined>;
137
+ readonly available: import("valibot").BooleanSchema<undefined>;
138
+ readonly unavailableReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<readonly ["provider_unavailable", "container_only"], undefined>, undefined>;
139
+ }, undefined>, undefined>;
140
+ readonly parameters: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
141
+ readonly key: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 80, undefined>]>;
142
+ readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
143
+ readonly section: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>, undefined>;
144
+ readonly help: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 300, undefined>]>, undefined>;
145
+ readonly placeholder: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
146
+ readonly required: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
147
+ readonly options: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
148
+ readonly value: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
149
+ readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
150
+ }, undefined>, undefined>, undefined>;
151
+ readonly default: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 2000, undefined>]>, undefined>;
152
+ readonly defaultValues: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 2000, undefined>]>, undefined>, import("valibot").MaxLengthAction<string[], 50, undefined>]>, undefined>;
153
+ readonly showWhen: import("valibot").OptionalSchema<import("valibot").ObjectSchema<{
154
+ readonly key: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>]>;
155
+ readonly equals: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").BooleanSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, undefined>;
156
+ readonly includes: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
157
+ }, undefined>, undefined>;
158
+ readonly maxLength: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 2000, undefined>]>, undefined>;
159
+ readonly min: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
160
+ readonly max: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
161
+ readonly type: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["text", "textarea", "number", "select", "checkbox", "checkbox-group"], undefined>, undefined>;
162
+ }, undefined>, undefined>;
163
+ readonly generation: import("valibot").ObjectSchema<{
164
+ readonly temperature: import("valibot").ObjectSchema<{
165
+ readonly default: import("valibot").NumberSchema<undefined>;
166
+ readonly min: import("valibot").NumberSchema<undefined>;
167
+ readonly max: import("valibot").NumberSchema<undefined>;
168
+ }, undefined>;
169
+ readonly maxOutputTokens: import("valibot").ObjectSchema<{
170
+ readonly default: import("valibot").NumberSchema<undefined>;
171
+ readonly min: import("valibot").NumberSchema<undefined>;
172
+ readonly max: import("valibot").NumberSchema<undefined>;
173
+ }, undefined>;
174
+ }, undefined>;
175
+ }, undefined>;
176
+ };
177
+ } & {
178
+ readonly minScope: "read";
179
+ };
180
+ /**
181
+ * Run the use case and answer with the generated text.
182
+ *
183
+ * SYNCHRONOUS, unlike `POST /api/v1/jobs`, and that is the feature rather than a shortcut: this is
184
+ * one inline model call with no checkout, no container and no durable driver, so there is no state
185
+ * for a caller to poll and a job id would be a second round-trip around a call that has already
186
+ * finished. `/invocations` rather than a bare `POST /api/v1/use-cases/{id}`, so the URL names what
187
+ * is being created and leaves the use case itself addressable as the resource it is.
188
+ *
189
+ * Refusals a caller acts on, all carrying `details.reason`: an unregistered id is `404`
190
+ * `use_case_not_found`; parameters that do not satisfy the descriptors are `422`
191
+ * `use_case_parameters_invalid` with every problem named at once; a knob outside the published
192
+ * bounds is `422` `use_case_generation_out_of_range`; a model outside the use case's own list is
193
+ * `422` `use_case_model_not_allowed`; a model this deployment cannot serve inline is `503`
194
+ * `use_case_model_unavailable` (never a silent substitution: the narrowing is the point); a
195
+ * deployment with no model provider at all is `503` `use_case_models_unconfigured`; an exhausted
196
+ * budget is `429` `budget_exhausted`; and a model that answers with no usable text is `503`
197
+ * `use_case_empty_reply` rather than a 200 carrying an empty string.
198
+ *
199
+ * Two more name what happened at the VENDOR, and they are listed because they are the likeliest
200
+ * of the set rather than the rarest: `503` `use_case_generation_failed` (the call was made and the
201
+ * provider answered with an error) and `503` `use_case_generation_timeout` (it did not answer
202
+ * inside the deployment's per-invocation deadline). They are separate because the caller's move
203
+ * differs: a failure is worth surfacing to whoever asked, a timeout is worth retrying with a
204
+ * smaller `maxOutputTokens`. A synchronous surface OWES that deadline: without one, a stalled
205
+ * vendor holds the request open for as long as the transport allows.
206
+ */
207
+ export declare const invokePublicUseCaseContract: {
208
+ readonly method: "post";
209
+ readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
210
+ useCaseId: import("valibot").StringSchema<undefined>;
211
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
212
+ readonly pathResolver: ({ useCaseId }: {
213
+ useCaseId: string;
214
+ }) => string;
215
+ readonly requestBodySchema: import("valibot").ObjectSchema<{
216
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>, undefined>;
217
+ readonly parameters: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 80, undefined>]>, import("valibot").UnionSchema<[import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 20000, undefined>]>, import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 2000, undefined>]>, undefined>, import("valibot").MaxLengthAction<string[], 50, undefined>]>, import("valibot").BooleanSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, undefined>, undefined>;
218
+ readonly temperature: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
219
+ readonly maxOutputTokens: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
220
+ }, undefined>;
221
+ readonly responsesByStatusCode: {
222
+ readonly '4xx': import("valibot").ObjectSchema<{
223
+ readonly error: import("valibot").ObjectSchema<{
224
+ readonly code: import("valibot").StringSchema<undefined>;
225
+ readonly message: import("valibot").StringSchema<undefined>;
226
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
227
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
228
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
229
+ readonly message: import("valibot").StringSchema<undefined>;
230
+ }, undefined>, undefined>, undefined>;
231
+ }, undefined>;
232
+ }, undefined>;
233
+ readonly '5xx': import("valibot").ObjectSchema<{
234
+ readonly error: import("valibot").ObjectSchema<{
235
+ readonly code: import("valibot").StringSchema<undefined>;
236
+ readonly message: import("valibot").StringSchema<undefined>;
237
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
238
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
239
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
240
+ readonly message: import("valibot").StringSchema<undefined>;
241
+ }, undefined>, undefined>, undefined>;
242
+ }, undefined>;
243
+ }, undefined>;
244
+ readonly 200: import("valibot").ObjectSchema<{
245
+ readonly useCaseId: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>;
246
+ readonly model: import("valibot").ObjectSchema<{
247
+ readonly id: import("valibot").StringSchema<undefined>;
248
+ readonly label: import("valibot").StringSchema<undefined>;
249
+ readonly provider: import("valibot").StringSchema<undefined>;
250
+ readonly model: import("valibot").StringSchema<undefined>;
251
+ }, undefined>;
252
+ readonly text: import("valibot").StringSchema<undefined>;
253
+ readonly finishReason: import("valibot").PicklistSchema<readonly ["stop", "length", "content-filter", "other"], undefined>;
254
+ readonly truncated: import("valibot").BooleanSchema<undefined>;
255
+ readonly usage: import("valibot").ObjectSchema<{
256
+ readonly inputTokens: import("valibot").NumberSchema<undefined>;
257
+ readonly outputTokens: import("valibot").NumberSchema<undefined>;
258
+ readonly totalTokens: import("valibot").NumberSchema<undefined>;
259
+ }, undefined>;
260
+ }, undefined>;
261
+ };
262
+ } & {
263
+ readonly minScope: "write";
264
+ };
265
+ //# sourceMappingURL=use-cases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-cases.d.ts","sourceRoot":"","sources":["../../src/routes/use-cases.ts"],"names":[],"mappings":"AA4BA;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOtC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQpC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASvC,CAAA"}
@@ -0,0 +1,80 @@
1
+ import { defineApiContract } from '@toad-contracts/valibot';
2
+ import { invokeUseCaseSchema, publicUseCaseListSchema, publicUseCaseSchema, useCaseInvocationSchema, } from '../inline-use-cases.js';
3
+ import { errorResponses, singleStringParam, withMinScope } from './_shared.js';
4
+ // ---------------------------------------------------------------------------
5
+ // Route contracts for the public INLINE USE-CASE surface: the non-container half of `/api/v1`.
6
+ //
7
+ // A deployment registers its use cases in code on the app-owned `InlineUseCaseRegistry`; these
8
+ // three routes are how a wrapper over this API discovers them and runs one. The wire shapes and
9
+ // the reasoning behind them live in `../inline-use-cases.ts`; the engine side is
10
+ // `backend/docs/inline-use-cases.md`.
11
+ //
12
+ // The scope split follows the ladder the rest of the surface uses. Discovery is `read`, like every
13
+ // other "what may I do here" call: knowing which use cases exist is not invoking one, and an
14
+ // integration's startup check must work on whatever rung its key holds. INVOKING is `write`, not
15
+ // `admin`: it spends model tokens and returns text, and it creates no board row, starts no run and
16
+ // merges nothing, the same reasoning that puts `POST /api/v1/jobs` on `write`. Requiring `admin`
17
+ // would mean a content editor whose whole job is generating prose had to hold a key that also
18
+ // deletes services.
19
+ // ---------------------------------------------------------------------------
20
+ const useCaseIdParams = singleStringParam('useCaseId');
21
+ /**
22
+ * The catalog: every use case this deployment has registered, with its parameters, the models it
23
+ * may run on and the generation bounds an invocation may steer within.
24
+ *
25
+ * The read this surface exists for. Without it a wrapper's only route to the same knowledge is a
26
+ * hard-coded copy of the deployment's own registration, which is a second source of truth that
27
+ * drifts the first time an operator narrows a model list, and drifts SILENTLY, because the
28
+ * wrapper keeps offering a choice the invocation now refuses.
29
+ */
30
+ export const listPublicUseCasesContract = withMinScope('read', defineApiContract({
31
+ method: 'get',
32
+ pathResolver: () => '/api/v1/use-cases',
33
+ responsesByStatusCode: { 200: publicUseCaseListSchema, ...errorResponses },
34
+ }));
35
+ /**
36
+ * One use case by id: the point read beside the catalog, so a wrapper holding a `useCaseId` (from
37
+ * its own config, or from a form a user built earlier) can re-read the parameters and the current
38
+ * model availability without paging the whole catalog to find it.
39
+ */
40
+ export const getPublicUseCaseContract = withMinScope('read', defineApiContract({
41
+ method: 'get',
42
+ requestPathParamsSchema: useCaseIdParams,
43
+ pathResolver: ({ useCaseId }) => `/api/v1/use-cases/${useCaseId}`,
44
+ responsesByStatusCode: { 200: publicUseCaseSchema, ...errorResponses },
45
+ }));
46
+ /**
47
+ * Run the use case and answer with the generated text.
48
+ *
49
+ * SYNCHRONOUS, unlike `POST /api/v1/jobs`, and that is the feature rather than a shortcut: this is
50
+ * one inline model call with no checkout, no container and no durable driver, so there is no state
51
+ * for a caller to poll and a job id would be a second round-trip around a call that has already
52
+ * finished. `/invocations` rather than a bare `POST /api/v1/use-cases/{id}`, so the URL names what
53
+ * is being created and leaves the use case itself addressable as the resource it is.
54
+ *
55
+ * Refusals a caller acts on, all carrying `details.reason`: an unregistered id is `404`
56
+ * `use_case_not_found`; parameters that do not satisfy the descriptors are `422`
57
+ * `use_case_parameters_invalid` with every problem named at once; a knob outside the published
58
+ * bounds is `422` `use_case_generation_out_of_range`; a model outside the use case's own list is
59
+ * `422` `use_case_model_not_allowed`; a model this deployment cannot serve inline is `503`
60
+ * `use_case_model_unavailable` (never a silent substitution: the narrowing is the point); a
61
+ * deployment with no model provider at all is `503` `use_case_models_unconfigured`; an exhausted
62
+ * budget is `429` `budget_exhausted`; and a model that answers with no usable text is `503`
63
+ * `use_case_empty_reply` rather than a 200 carrying an empty string.
64
+ *
65
+ * Two more name what happened at the VENDOR, and they are listed because they are the likeliest
66
+ * of the set rather than the rarest: `503` `use_case_generation_failed` (the call was made and the
67
+ * provider answered with an error) and `503` `use_case_generation_timeout` (it did not answer
68
+ * inside the deployment's per-invocation deadline). They are separate because the caller's move
69
+ * differs: a failure is worth surfacing to whoever asked, a timeout is worth retrying with a
70
+ * smaller `maxOutputTokens`. A synchronous surface OWES that deadline: without one, a stalled
71
+ * vendor holds the request open for as long as the transport allows.
72
+ */
73
+ export const invokePublicUseCaseContract = withMinScope('write', defineApiContract({
74
+ method: 'post',
75
+ requestPathParamsSchema: useCaseIdParams,
76
+ pathResolver: ({ useCaseId }) => `/api/v1/use-cases/${useCaseId}/invocations`,
77
+ requestBodySchema: invokeUseCaseSchema,
78
+ responsesByStatusCode: { 200: useCaseInvocationSchema, ...errorResponses },
79
+ }));
80
+ //# sourceMappingURL=use-cases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-cases.js","sourceRoot":"","sources":["../../src/routes/use-cases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE9E,8EAA8E;AAC9E,+FAA+F;AAC/F,EAAE;AACF,+FAA+F;AAC/F,gGAAgG;AAChG,iFAAiF;AACjF,sCAAsC;AACtC,EAAE;AACF,mGAAmG;AACnG,6FAA6F;AAC7F,iGAAiG;AACjG,mGAAmG;AACnG,iGAAiG;AACjG,8FAA8F;AAC9F,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,eAAe,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;AAEtD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CACpD,MAAM,EACN,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,mBAAmB;IACvC,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CACH,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAClD,MAAM,EACN,iBAAiB,CAAC;IAChB,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,eAAe;IACxC,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,qBAAqB,SAAS,EAAE;IACjE,qBAAqB,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,cAAc,EAAE;CACvE,CAAC,CACH,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CACrD,OAAO,EACP,iBAAiB,CAAC;IAChB,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,eAAe;IACxC,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,qBAAqB,SAAS,cAAc;IAC7E,iBAAiB,EAAE,mBAAmB;IACtC,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CACH,CAAA"}