@cat-factory/contracts 0.355.1 → 0.356.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 (217) hide show
  1. package/dist/agent-failure-kinds.d.ts +3 -1
  2. package/dist/agent-failure-kinds.d.ts.map +1 -1
  3. package/dist/agent-failure-kinds.js +9 -0
  4. package/dist/agent-failure-kinds.js.map +1 -1
  5. package/dist/agent-presentation.d.ts +45 -0
  6. package/dist/agent-presentation.d.ts.map +1 -1
  7. package/dist/agent-presentation.js +43 -0
  8. package/dist/agent-presentation.js.map +1 -1
  9. package/dist/bootstrap.d.ts +2 -2
  10. package/dist/debug-api.d.ts +21 -3
  11. package/dist/debug-api.d.ts.map +1 -1
  12. package/dist/debug-api.js +13 -1
  13. package/dist/debug-api.js.map +1 -1
  14. package/dist/env-config-repair.d.ts +1 -1
  15. package/dist/errors.d.ts +2 -2
  16. package/dist/errors.d.ts.map +1 -1
  17. package/dist/errors.js +30 -0
  18. package/dist/errors.js.map +1 -1
  19. package/dist/execution.d.ts +96 -54
  20. package/dist/execution.d.ts.map +1 -1
  21. package/dist/execution.js +24 -31
  22. package/dist/execution.js.map +1 -1
  23. package/dist/observability.d.ts +28 -0
  24. package/dist/observability.d.ts.map +1 -1
  25. package/dist/observability.js +27 -0
  26. package/dist/observability.js.map +1 -1
  27. package/dist/public-provisioning.d.ts +1 -1
  28. package/dist/routes/accounts.d.ts +4 -4
  29. package/dist/routes/accounts.d.ts.map +1 -1
  30. package/dist/routes/accounts.js +5 -5
  31. package/dist/routes/accounts.js.map +1 -1
  32. package/dist/routes/agent-runs.d.ts +66 -8
  33. package/dist/routes/agent-runs.d.ts.map +1 -1
  34. package/dist/routes/api-keys.d.ts +2 -3
  35. package/dist/routes/api-keys.d.ts.map +1 -1
  36. package/dist/routes/api-keys.js +3 -3
  37. package/dist/routes/api-keys.js.map +1 -1
  38. package/dist/routes/auth.d.ts +10 -10
  39. package/dist/routes/auth.d.ts.map +1 -1
  40. package/dist/routes/auth.js +13 -13
  41. package/dist/routes/auth.js.map +1 -1
  42. package/dist/routes/board.d.ts +1 -1
  43. package/dist/routes/board.d.ts.map +1 -1
  44. package/dist/routes/board.js +2 -2
  45. package/dist/routes/board.js.map +1 -1
  46. package/dist/routes/bootstrap.d.ts +5 -6
  47. package/dist/routes/bootstrap.d.ts.map +1 -1
  48. package/dist/routes/bootstrap.js +2 -2
  49. package/dist/routes/bootstrap.js.map +1 -1
  50. package/dist/routes/bug-hunt.d.ts +62 -4
  51. package/dist/routes/bug-hunt.d.ts.map +1 -1
  52. package/dist/routes/capability-credentials.d.ts +1 -2
  53. package/dist/routes/capability-credentials.d.ts.map +1 -1
  54. package/dist/routes/capability-credentials.js +2 -2
  55. package/dist/routes/capability-credentials.js.map +1 -1
  56. package/dist/routes/consensus.d.ts +1 -2
  57. package/dist/routes/consensus.d.ts.map +1 -1
  58. package/dist/routes/consensus.js +2 -2
  59. package/dist/routes/consensus.js.map +1 -1
  60. package/dist/routes/debug-api.d.ts +10 -2
  61. package/dist/routes/debug-api.d.ts.map +1 -1
  62. package/dist/routes/documents.d.ts +2 -3
  63. package/dist/routes/documents.d.ts.map +1 -1
  64. package/dist/routes/documents.js +3 -3
  65. package/dist/routes/documents.js.map +1 -1
  66. package/dist/routes/environmentUserHandlers.d.ts +1 -2
  67. package/dist/routes/environmentUserHandlers.d.ts.map +1 -1
  68. package/dist/routes/environmentUserHandlers.js +2 -2
  69. package/dist/routes/environmentUserHandlers.js.map +1 -1
  70. package/dist/routes/environments.d.ts +3 -3
  71. package/dist/routes/environments.d.ts.map +1 -1
  72. package/dist/routes/environments.js +4 -4
  73. package/dist/routes/environments.js.map +1 -1
  74. package/dist/routes/execution.d.ts +310 -20
  75. package/dist/routes/execution.d.ts.map +1 -1
  76. package/dist/routes/foundational-services.d.ts +4 -4
  77. package/dist/routes/foundational-services.d.ts.map +1 -1
  78. package/dist/routes/foundational-services.js +5 -5
  79. package/dist/routes/foundational-services.js.map +1 -1
  80. package/dist/routes/fragment-library.d.ts +2 -2
  81. package/dist/routes/fragment-library.d.ts.map +1 -1
  82. package/dist/routes/fragment-library.js +3 -3
  83. package/dist/routes/fragment-library.js.map +1 -1
  84. package/dist/routes/github.d.ts +3 -4
  85. package/dist/routes/github.d.ts.map +1 -1
  86. package/dist/routes/github.js +4 -4
  87. package/dist/routes/github.js.map +1 -1
  88. package/dist/routes/gitlab.d.ts +1 -2
  89. package/dist/routes/gitlab.d.ts.map +1 -1
  90. package/dist/routes/gitlab.js +2 -2
  91. package/dist/routes/gitlab.js.map +1 -1
  92. package/dist/routes/human-review.d.ts +31 -2
  93. package/dist/routes/human-review.d.ts.map +1 -1
  94. package/dist/routes/human-test.d.ts +155 -10
  95. package/dist/routes/human-test.d.ts.map +1 -1
  96. package/dist/routes/incident-enrichment.d.ts +1 -2
  97. package/dist/routes/incident-enrichment.d.ts.map +1 -1
  98. package/dist/routes/incident-enrichment.js +2 -2
  99. package/dist/routes/incident-enrichment.js.map +1 -1
  100. package/dist/routes/localModels.d.ts +1 -2
  101. package/dist/routes/localModels.d.ts.map +1 -1
  102. package/dist/routes/localModels.js +2 -2
  103. package/dist/routes/localModels.js.map +1 -1
  104. package/dist/routes/merge.d.ts +3 -3
  105. package/dist/routes/merge.d.ts.map +1 -1
  106. package/dist/routes/merge.js +4 -4
  107. package/dist/routes/merge.js.map +1 -1
  108. package/dist/routes/model-presets.d.ts +1 -1
  109. package/dist/routes/model-presets.d.ts.map +1 -1
  110. package/dist/routes/model-presets.js +2 -2
  111. package/dist/routes/model-presets.js.map +1 -1
  112. package/dist/routes/notification-webhooks.d.ts +4 -5
  113. package/dist/routes/notification-webhooks.d.ts.map +1 -1
  114. package/dist/routes/notification-webhooks.js +5 -5
  115. package/dist/routes/notification-webhooks.js.map +1 -1
  116. package/dist/routes/package-registries.d.ts +1 -2
  117. package/dist/routes/package-registries.d.ts.map +1 -1
  118. package/dist/routes/package-registries.js +2 -2
  119. package/dist/routes/package-registries.js.map +1 -1
  120. package/dist/routes/personal-subscriptions.d.ts +1 -2
  121. package/dist/routes/personal-subscriptions.d.ts.map +1 -1
  122. package/dist/routes/personal-subscriptions.js +2 -2
  123. package/dist/routes/personal-subscriptions.js.map +1 -1
  124. package/dist/routes/pipelines.d.ts +1 -1
  125. package/dist/routes/pipelines.d.ts.map +1 -1
  126. package/dist/routes/pipelines.js +2 -2
  127. package/dist/routes/pipelines.js.map +1 -1
  128. package/dist/routes/public-api.d.ts +3 -3
  129. package/dist/routes/public-api.d.ts.map +1 -1
  130. package/dist/routes/public-api.js +4 -4
  131. package/dist/routes/public-api.js.map +1 -1
  132. package/dist/routes/public-board.d.ts +2 -3
  133. package/dist/routes/public-board.d.ts.map +1 -1
  134. package/dist/routes/public-board.js +3 -3
  135. package/dist/routes/public-board.js.map +1 -1
  136. package/dist/routes/public-provisioning.d.ts +2 -2
  137. package/dist/routes/recurring.d.ts +1 -1
  138. package/dist/routes/recurring.d.ts.map +1 -1
  139. package/dist/routes/recurring.js +2 -2
  140. package/dist/routes/recurring.js.map +1 -1
  141. package/dist/routes/release.d.ts +2 -3
  142. package/dist/routes/release.d.ts.map +1 -1
  143. package/dist/routes/release.js +3 -3
  144. package/dist/routes/release.js.map +1 -1
  145. package/dist/routes/runners.d.ts +1 -2
  146. package/dist/routes/runners.d.ts.map +1 -1
  147. package/dist/routes/runners.js +2 -2
  148. package/dist/routes/runners.js.map +1 -1
  149. package/dist/routes/sandbox.d.ts +2 -2
  150. package/dist/routes/sandbox.d.ts.map +1 -1
  151. package/dist/routes/sandbox.js +3 -3
  152. package/dist/routes/sandbox.js.map +1 -1
  153. package/dist/routes/service-catalog.d.ts +1 -1
  154. package/dist/routes/service-catalog.d.ts.map +1 -1
  155. package/dist/routes/service-catalog.js +2 -2
  156. package/dist/routes/service-catalog.js.map +1 -1
  157. package/dist/routes/services.d.ts +1 -2
  158. package/dist/routes/services.d.ts.map +1 -1
  159. package/dist/routes/services.js +2 -2
  160. package/dist/routes/services.js.map +1 -1
  161. package/dist/routes/shared-stacks.d.ts +1 -1
  162. package/dist/routes/shared-stacks.d.ts.map +1 -1
  163. package/dist/routes/shared-stacks.js +2 -2
  164. package/dist/routes/shared-stacks.js.map +1 -1
  165. package/dist/routes/skill-library.d.ts +1 -1
  166. package/dist/routes/skill-library.d.ts.map +1 -1
  167. package/dist/routes/skill-library.js +2 -2
  168. package/dist/routes/skill-library.js.map +1 -1
  169. package/dist/routes/slack.d.ts +1 -2
  170. package/dist/routes/slack.d.ts.map +1 -1
  171. package/dist/routes/slack.js +2 -2
  172. package/dist/routes/slack.js.map +1 -1
  173. package/dist/routes/tasks.d.ts +3 -3
  174. package/dist/routes/tasks.d.ts.map +1 -1
  175. package/dist/routes/tasks.js +4 -4
  176. package/dist/routes/tasks.js.map +1 -1
  177. package/dist/routes/test-secrets.d.ts +1 -2
  178. package/dist/routes/test-secrets.d.ts.map +1 -1
  179. package/dist/routes/test-secrets.js +2 -2
  180. package/dist/routes/test-secrets.js.map +1 -1
  181. package/dist/routes/tool-servers.d.ts +1 -1
  182. package/dist/routes/tool-servers.d.ts.map +1 -1
  183. package/dist/routes/tool-servers.js +2 -2
  184. package/dist/routes/tool-servers.js.map +1 -1
  185. package/dist/routes/tutorial.d.ts +1 -2
  186. package/dist/routes/tutorial.d.ts.map +1 -1
  187. package/dist/routes/tutorial.js +2 -2
  188. package/dist/routes/tutorial.js.map +1 -1
  189. package/dist/routes/user-secret.d.ts +1 -2
  190. package/dist/routes/user-secret.d.ts.map +1 -1
  191. package/dist/routes/user-secret.js +2 -2
  192. package/dist/routes/user-secret.js.map +1 -1
  193. package/dist/routes/validation-checks.d.ts +1 -2
  194. package/dist/routes/validation-checks.d.ts.map +1 -1
  195. package/dist/routes/validation-checks.js +2 -2
  196. package/dist/routes/validation-checks.js.map +1 -1
  197. package/dist/routes/vendor-credentials.d.ts +1 -2
  198. package/dist/routes/vendor-credentials.d.ts.map +1 -1
  199. package/dist/routes/vendor-credentials.js +2 -2
  200. package/dist/routes/vendor-credentials.js.map +1 -1
  201. package/dist/routes/visual-confirm.d.ts +93 -6
  202. package/dist/routes/visual-confirm.d.ts.map +1 -1
  203. package/dist/routes/workspace-members.d.ts +1 -2
  204. package/dist/routes/workspace-members.d.ts.map +1 -1
  205. package/dist/routes/workspace-members.js +2 -2
  206. package/dist/routes/workspace-members.js.map +1 -1
  207. package/dist/routes/workspaces.d.ts +83 -10
  208. package/dist/routes/workspaces.d.ts.map +1 -1
  209. package/dist/routes/workspaces.js +2 -2
  210. package/dist/routes/workspaces.js.map +1 -1
  211. package/dist/run-execution-surface.d.ts +196 -0
  212. package/dist/run-execution-surface.d.ts.map +1 -0
  213. package/dist/run-execution-surface.js +201 -0
  214. package/dist/run-execution-surface.js.map +1 -0
  215. package/dist/snapshot.d.ts +41 -4
  216. package/dist/snapshot.d.ts.map +1 -1
  217. package/package.json +3 -3
@@ -1,4 +1,3 @@
1
- import { ContractNoBody } from '@toad-contracts/valibot';
2
1
  import * as v from 'valibot';
3
2
  /**
4
3
  * A board as returned by `GET /workspaces`, annotated with the caller's effective
@@ -894,6 +893,34 @@ export declare const createWorkspaceContract: {
894
893
  readonly id: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
895
894
  readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
896
895
  }, undefined>, undefined>, undefined>;
896
+ readonly delegated: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
897
+ readonly executor: v.StringSchema<undefined>;
898
+ readonly status: v.PicklistSchema<["starting", "running", "done", "failed", "cancelled"], undefined>;
899
+ readonly correlationKey: v.StringSchema<undefined>;
900
+ readonly poll: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
901
+ readonly intervalMs: v.NumberSchema<undefined>;
902
+ readonly maxDurationMs: v.NumberSchema<undefined>;
903
+ }, undefined>, undefined>, undefined>;
904
+ readonly externalId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
905
+ readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
906
+ readonly phase: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
907
+ readonly branches: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
908
+ readonly base: v.StringSchema<undefined>;
909
+ readonly work: v.StringSchema<undefined>;
910
+ }, undefined>, undefined>, undefined>;
911
+ readonly repo: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
912
+ readonly owner: v.StringSchema<undefined>;
913
+ readonly name: v.StringSchema<undefined>;
914
+ }, undefined>, undefined>, undefined>;
915
+ readonly branch: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
916
+ readonly attempts: v.ArraySchema<v.ObjectSchema<{
917
+ readonly startedAt: v.NumberSchema<undefined>;
918
+ readonly externalId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
919
+ readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
920
+ readonly outcome: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
921
+ }, undefined>, undefined>;
922
+ readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
923
+ }, undefined>, undefined>, undefined>;
897
924
  readonly search: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
898
925
  readonly available: v.BooleanSchema<undefined>;
899
926
  readonly provider: v.NullableSchema<v.PicklistSchema<["brave", "searxng"], undefined>, undefined>;
@@ -1483,6 +1510,7 @@ export declare const createWorkspaceContract: {
1483
1510
  readonly evictionRecoveries: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1484
1511
  readonly transientEvictionRecoveries: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1485
1512
  readonly branchContentionRecoveries: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1513
+ readonly delegatedRetries: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1486
1514
  readonly firstEvictionDetail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1487
1515
  readonly deployProvisioning: v.OptionalSchema<v.ObjectSchema<{
1488
1516
  readonly type: v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>;
@@ -1760,7 +1788,7 @@ export declare const createWorkspaceContract: {
1760
1788
  readonly currentStep: v.NumberSchema<undefined>;
1761
1789
  readonly status: v.PicklistSchema<["running", "blocked", "done", "paused", "failed"], undefined>;
1762
1790
  readonly failure: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1763
- readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
1791
+ readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "delegated_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
1764
1792
  readonly message: v.StringSchema<undefined>;
1765
1793
  readonly detail: v.NullableSchema<v.StringSchema<undefined>, undefined>;
1766
1794
  readonly hint: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -1778,7 +1806,7 @@ export declare const createWorkspaceContract: {
1778
1806
  readonly stepIndex: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1779
1807
  }, undefined>, undefined>, undefined>;
1780
1808
  readonly failureHistory: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1781
- readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
1809
+ readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "delegated_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
1782
1810
  readonly message: v.StringSchema<undefined>;
1783
1811
  readonly detail: v.NullableSchema<v.StringSchema<undefined>, undefined>;
1784
1812
  readonly hint: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -1875,7 +1903,7 @@ export declare const createWorkspaceContract: {
1875
1903
  }, undefined>, undefined>;
1876
1904
  readonly error: v.NullableSchema<v.StringSchema<undefined>, undefined>;
1877
1905
  readonly failure: v.NullableSchema<v.ObjectSchema<{
1878
- readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
1906
+ readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "delegated_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
1879
1907
  readonly message: v.StringSchema<undefined>;
1880
1908
  readonly detail: v.NullableSchema<v.StringSchema<undefined>, undefined>;
1881
1909
  readonly hint: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -1984,7 +2012,7 @@ export declare const createWorkspaceContract: {
1984
2012
  }, undefined>, undefined>;
1985
2013
  readonly error: v.NullableSchema<v.StringSchema<undefined>, undefined>;
1986
2014
  readonly failure: v.NullableSchema<v.ObjectSchema<{
1987
- readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
2015
+ readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "delegated_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
1988
2016
  readonly message: v.StringSchema<undefined>;
1989
2017
  readonly detail: v.NullableSchema<v.StringSchema<undefined>, undefined>;
1990
2018
  readonly hint: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -3451,6 +3479,14 @@ export declare const createWorkspaceContract: {
3451
3479
  readonly container: v.BooleanSchema<undefined>;
3452
3480
  readonly binaryOutput: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
3453
3481
  readonly companionTargets: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, undefined>;
3482
+ readonly executor: v.OptionalSchema<v.PicklistSchema<["inline", "container", "delegated"], undefined>, undefined>;
3483
+ readonly delegatedExecutor: v.OptionalSchema<v.ObjectSchema<{
3484
+ readonly id: v.StringSchema<undefined>;
3485
+ readonly label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
3486
+ readonly icon: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
3487
+ readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
3488
+ readonly telemetry: v.OptionalSchema<v.PicklistSchema<["not-reported", "self-reported"], undefined>, undefined>;
3489
+ }, undefined>, undefined>;
3454
3490
  }, undefined>, undefined>, undefined>;
3455
3491
  readonly agentKindVariants: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
3456
3492
  readonly id: v.StringSchema<undefined>;
@@ -4705,6 +4741,34 @@ export declare const getWorkspaceContract: {
4705
4741
  readonly id: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4706
4742
  readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4707
4743
  }, undefined>, undefined>, undefined>;
4744
+ readonly delegated: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
4745
+ readonly executor: v.StringSchema<undefined>;
4746
+ readonly status: v.PicklistSchema<["starting", "running", "done", "failed", "cancelled"], undefined>;
4747
+ readonly correlationKey: v.StringSchema<undefined>;
4748
+ readonly poll: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
4749
+ readonly intervalMs: v.NumberSchema<undefined>;
4750
+ readonly maxDurationMs: v.NumberSchema<undefined>;
4751
+ }, undefined>, undefined>, undefined>;
4752
+ readonly externalId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4753
+ readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4754
+ readonly phase: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4755
+ readonly branches: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
4756
+ readonly base: v.StringSchema<undefined>;
4757
+ readonly work: v.StringSchema<undefined>;
4758
+ }, undefined>, undefined>, undefined>;
4759
+ readonly repo: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
4760
+ readonly owner: v.StringSchema<undefined>;
4761
+ readonly name: v.StringSchema<undefined>;
4762
+ }, undefined>, undefined>, undefined>;
4763
+ readonly branch: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4764
+ readonly attempts: v.ArraySchema<v.ObjectSchema<{
4765
+ readonly startedAt: v.NumberSchema<undefined>;
4766
+ readonly externalId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4767
+ readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4768
+ readonly outcome: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4769
+ }, undefined>, undefined>;
4770
+ readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
4771
+ }, undefined>, undefined>, undefined>;
4708
4772
  readonly search: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
4709
4773
  readonly available: v.BooleanSchema<undefined>;
4710
4774
  readonly provider: v.NullableSchema<v.PicklistSchema<["brave", "searxng"], undefined>, undefined>;
@@ -5294,6 +5358,7 @@ export declare const getWorkspaceContract: {
5294
5358
  readonly evictionRecoveries: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
5295
5359
  readonly transientEvictionRecoveries: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
5296
5360
  readonly branchContentionRecoveries: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
5361
+ readonly delegatedRetries: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
5297
5362
  readonly firstEvictionDetail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
5298
5363
  readonly deployProvisioning: v.OptionalSchema<v.ObjectSchema<{
5299
5364
  readonly type: v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>;
@@ -5571,7 +5636,7 @@ export declare const getWorkspaceContract: {
5571
5636
  readonly currentStep: v.NumberSchema<undefined>;
5572
5637
  readonly status: v.PicklistSchema<["running", "blocked", "done", "paused", "failed"], undefined>;
5573
5638
  readonly failure: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
5574
- readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
5639
+ readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "delegated_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
5575
5640
  readonly message: v.StringSchema<undefined>;
5576
5641
  readonly detail: v.NullableSchema<v.StringSchema<undefined>, undefined>;
5577
5642
  readonly hint: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -5589,7 +5654,7 @@ export declare const getWorkspaceContract: {
5589
5654
  readonly stepIndex: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
5590
5655
  }, undefined>, undefined>, undefined>;
5591
5656
  readonly failureHistory: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
5592
- readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
5657
+ readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "delegated_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
5593
5658
  readonly message: v.StringSchema<undefined>;
5594
5659
  readonly detail: v.NullableSchema<v.StringSchema<undefined>, undefined>;
5595
5660
  readonly hint: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -5686,7 +5751,7 @@ export declare const getWorkspaceContract: {
5686
5751
  }, undefined>, undefined>;
5687
5752
  readonly error: v.NullableSchema<v.StringSchema<undefined>, undefined>;
5688
5753
  readonly failure: v.NullableSchema<v.ObjectSchema<{
5689
- readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
5754
+ readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "delegated_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
5690
5755
  readonly message: v.StringSchema<undefined>;
5691
5756
  readonly detail: v.NullableSchema<v.StringSchema<undefined>, undefined>;
5692
5757
  readonly hint: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -5795,7 +5860,7 @@ export declare const getWorkspaceContract: {
5795
5860
  }, undefined>, undefined>;
5796
5861
  readonly error: v.NullableSchema<v.StringSchema<undefined>, undefined>;
5797
5862
  readonly failure: v.NullableSchema<v.ObjectSchema<{
5798
- readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
5863
+ readonly kind: v.PicklistSchema<["preflight", "dispatch", "environment", "evicted", "harness_shutdown", "timeout", "agent", "job_failed", "delegated_failed", "rejected", "companion_rejected", "stalled", "state_unreadable", "cancelled", "unknown"], undefined>;
5799
5864
  readonly message: v.StringSchema<undefined>;
5800
5865
  readonly detail: v.NullableSchema<v.StringSchema<undefined>, undefined>;
5801
5866
  readonly hint: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -7262,6 +7327,14 @@ export declare const getWorkspaceContract: {
7262
7327
  readonly container: v.BooleanSchema<undefined>;
7263
7328
  readonly binaryOutput: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
7264
7329
  readonly companionTargets: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, undefined>;
7330
+ readonly executor: v.OptionalSchema<v.PicklistSchema<["inline", "container", "delegated"], undefined>, undefined>;
7331
+ readonly delegatedExecutor: v.OptionalSchema<v.ObjectSchema<{
7332
+ readonly id: v.StringSchema<undefined>;
7333
+ readonly label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
7334
+ readonly icon: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
7335
+ readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
7336
+ readonly telemetry: v.OptionalSchema<v.PicklistSchema<["not-reported", "self-reported"], undefined>, undefined>;
7337
+ }, undefined>, undefined>;
7265
7338
  }, undefined>, undefined>, undefined>;
7266
7339
  readonly agentKindVariants: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
7267
7340
  readonly id: v.StringSchema<undefined>;
@@ -7752,7 +7825,7 @@ export declare const deleteWorkspaceContract: {
7752
7825
  }, undefined>, undefined>, undefined>;
7753
7826
  }, undefined>;
7754
7827
  }, undefined>;
7755
- readonly 204: typeof ContractNoBody;
7828
+ readonly 204: import("@toad-contracts/core").NoBodyContentResponseEntry;
7756
7829
  };
7757
7830
  };
7758
7831
  //# sourceMappingURL=workspaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;aAGlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI7E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA"}
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;aAGlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI7E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { ContractNoBody, defineApiContract } from '@toad-contracts/valibot';
1
+ import { defineApiContract, noBodyResponse } from '@toad-contracts/valibot';
2
2
  import * as v from 'valibot';
3
3
  import { workspaceSchema } from '../entities.js';
4
4
  import { createWorkspaceSchema, renameWorkspaceSchema } from '../requests.js';
@@ -51,6 +51,6 @@ export const deleteWorkspaceContract = defineApiContract({
51
51
  method: 'delete',
52
52
  requestPathParamsSchema: singleStringParam('workspaceId'),
53
53
  pathResolver: ({ workspaceId }) => `/workspaces/${workspaceId}`,
54
- responsesByStatusCode: { 204: ContractNoBody, ...errorResponses },
54
+ responsesByStatusCode: { 204: noBodyResponse(), ...errorResponses },
55
55
  });
56
56
  //# sourceMappingURL=workspaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,2EAA2E;AAC3E,kFAAkF;AAClF,wEAAwE;AACxE,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,GAAG,eAAe,CAAC,OAAO;IAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;CAC5C,CAAC,CAAA;AAGF,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;IACtD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa;IACjC,qBAAqB,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,cAAc,EAAE;CACvE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa;IACjC,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACpD,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,iBAAiB,CAAC,aAAa,CAAC;IACzD,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,EAAE;IAC/D,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,OAAO;IACf,uBAAuB,EAAE,iBAAiB,CAAC,aAAa,CAAC;IACzD,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,EAAE;IAC/D,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE;CACnE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,QAAQ;IAChB,uBAAuB,EAAE,iBAAiB,CAAC,aAAa,CAAC;IACzD,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,EAAE;IAC/D,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA"}
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,2EAA2E;AAC3E,kFAAkF;AAClF,wEAAwE;AACxE,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,GAAG,eAAe,CAAC,OAAO;IAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;CAC5C,CAAC,CAAA;AAGF,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;IACtD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa;IACjC,qBAAqB,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,cAAc,EAAE;CACvE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa;IACjC,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACpD,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,iBAAiB,CAAC,aAAa,CAAC;IACzD,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,EAAE;IAC/D,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,OAAO;IACf,uBAAuB,EAAE,iBAAiB,CAAC,aAAa,CAAC;IACzD,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,EAAE;IAC/D,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE;CACnE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,QAAQ;IAChB,uBAAuB,EAAE,iBAAiB,CAAC,aAAa,CAAC;IACzD,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,EAAE;IAC/D,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE;CACpE,CAAC,CAAA"}
@@ -0,0 +1,196 @@
1
+ import * as v from 'valibot';
2
+ /**
3
+ * The lifecycle status of the per-run container backing a container agent step:
4
+ * `starting` (dispatching / cold-booting), `up` (running the agent's job),
5
+ * `errored` (the container failed to start, was evicted, or its job faulted), and
6
+ * `destroyed` (the run's container has been reclaimed). The SPA additionally derives
7
+ * `destroyed` for a finished run's container steps (the container is reclaimed as a
8
+ * unit when the run terminates), so the backend only ever persists the first three.
9
+ */
10
+ export declare const runContainerStatusSchema: v.PicklistSchema<["starting", "up", "errored", "destroyed"], undefined>;
11
+ export type RunContainerStatus = v.InferOutput<typeof runContainerStatusSchema>;
12
+ /**
13
+ * The compact, non-secret projection of the per-run container a container agent step
14
+ * runs in, so a run's details can show WHAT the container is doing and WHERE it lives
15
+ * instead of a step's "spinning up container…" badge vanishing into a blank "working"
16
+ * state once the container is up. Populated by the engine across the dispatch + poll
17
+ * lifecycle of an async (container) step; only ever set on container-backed steps.
18
+ */
19
+ export declare const runContainerSchema: v.ObjectSchema<{
20
+ /** The container lifecycle status; see {@link runContainerStatusSchema}. */
21
+ readonly status: v.PicklistSchema<["starting", "up", "errored", "destroyed"], undefined>;
22
+ /**
23
+ * The coarse phase the agent's job is in while the container is `up` (`clone` →
24
+ * `agent` → `push`, seeded `starting`), forwarded from the harness. Lets the details
25
+ * distinguish "still preparing the checkout" from "the agent is making calls". Absent
26
+ * until the first poll, or when the runner doesn't report a phase.
27
+ */
28
+ readonly phase: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
29
+ /** Provider container/runner id (Cloudflare DO id, docker container id), when known. */
30
+ readonly id: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
31
+ /** A reachable address for the running container (the local docker host URL), when one exists. */
32
+ readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
33
+ }, undefined>;
34
+ export type RunContainer = v.InferOutput<typeof runContainerSchema>;
35
+ /**
36
+ * The lifecycle of one unit of DELEGATED work: `starting` (the claim is committed, the executor
37
+ * has not answered yet), `running`, the two terminal outcomes, and `cancelled`.
38
+ *
39
+ * `starting` is load-bearing rather than cosmetic. It is written and COMMITTED before the
40
+ * executor's `start` is called, so a replay of the dispatch finds it and polls by correlation
41
+ * instead of starting a second external run: the claim-before-effect rule, which for a delegated
42
+ * step is the difference between one pull request and two.
43
+ */
44
+ export declare const runDelegationStatusSchema: v.PicklistSchema<["starting", "running", "done", "failed", "cancelled"], undefined>;
45
+ export type RunDelegationStatus = v.InferOutput<typeof runDelegationStatusSchema>;
46
+ /**
47
+ * Whether a stored status is still a member of this build's vocabulary, DERIVED from the picklist
48
+ * so it cannot drift from it.
49
+ *
50
+ * The vocabulary is CLOSED and PERSISTED, which is the pairing that makes an exhaustive
51
+ * `Record<RunDelegationStatus, …>` total against the TYPE and partial against the DATA: retiring a
52
+ * member does not rewrite the rows that hold it, and the reader that meets one first is the step
53
+ * panel whose whole job is to say what happened to the run. Indexed bare, that is `undefined.cls`
54
+ * and a white screen over the one surface with the answer on it.
55
+ *
56
+ * The negative case is RENDERED as the unrecognised value it is, never guessed onto a current
57
+ * member: nothing can know which one was meant, and a status silently re-pointed reports the wrong
58
+ * outcome for external work a person is deciding whether to go and stop.
59
+ */
60
+ export declare function isRunDelegationStatus(value: string): value is RunDelegationStatus;
61
+ /** One attempt at the external work: when it started, what it was, and where to read about it. */
62
+ export declare const runDelegationAttemptSchema: v.ObjectSchema<{
63
+ readonly startedAt: v.NumberSchema<undefined>;
64
+ readonly externalId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
65
+ readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
66
+ /** How the attempt ended, in the executor's own words. Absent while it is still running. */
67
+ readonly outcome: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
68
+ }, undefined>;
69
+ export type RunDelegationAttempt = v.InferOutput<typeof runDelegationAttemptSchema>;
70
+ /**
71
+ * The DELEGATION record: the compact, non-secret projection of the external work a delegated step
72
+ * dispatched, and the delegated sibling of {@link runContainerSchema}.
73
+ *
74
+ * Its own field rather than a fourth `runContainerStatus` value, because nothing about it is a
75
+ * container: there is no phase, no id, no reachable address, and the one affordance that matters
76
+ * (a link to the executor's own logs) has no counterpart there. Sharing the field would also make
77
+ * every existing container reader (the board badge, the reclaim path, the SPA's derived
78
+ * `destroyed`) silently speak for runs whose containers are somebody else's.
79
+ *
80
+ * The attempt LOG is kept across a re-run on purpose: the previous attempt's logs are the evidence
81
+ * for why the step is being re-run, and the platform holds nothing else about it.
82
+ */
83
+ export declare const runDelegationSchema: v.ObjectSchema<{
84
+ /** The registered `DelegatedExecutorDefinition.id` this work was dispatched to. */
85
+ readonly executor: v.StringSchema<undefined>;
86
+ readonly status: v.PicklistSchema<["starting", "running", "done", "failed", "cancelled"], undefined>;
87
+ /**
88
+ * The key the executor was asked to make its own run recoverable by, and the step's `jobId` at
89
+ * the moment of the claim.
90
+ *
91
+ * Persisted rather than re-derived because it is what tells the poll site WHICH job is in flight
92
+ * on this step. A helper re-dispatch (a fixer round) overwrites `jobId` with a container job's,
93
+ * and a cadence or a route read off a stale delegation record would then address the wrong
94
+ * thing entirely.
95
+ */
96
+ readonly correlationKey: v.StringSchema<undefined>;
97
+ /**
98
+ * The poll cadence this run was dispatched under, copied from the executor's declaration at the
99
+ * claim.
100
+ *
101
+ * On the RECORD rather than looked up per poll because anything the poll needs must be on the
102
+ * step: the durable driver rebuilds everything from it, in another process, and the driver's own
103
+ * park loop has no registry in scope at all. Copying also means an in-flight run keeps the
104
+ * cadence it started under when a deployment re-tunes its executor, which is the honest answer
105
+ * for work already running somewhere else.
106
+ *
107
+ * NULL is a real state and not a default: a record opened by a dispatch site that never claimed
108
+ * has no executor declaration within reach, and the driver then polls the step on the
109
+ * DEPLOYMENT's own job cadence, exactly as it polls a container job. Recorded as absence rather
110
+ * than as a zero window, which derived a budget of no polls at all and failed the step as
111
+ * un-settled before it was ever asked how it was going.
112
+ */
113
+ readonly poll: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
114
+ readonly intervalMs: v.NumberSchema<undefined>;
115
+ readonly maxDurationMs: v.NumberSchema<undefined>;
116
+ }, undefined>, undefined>, undefined>;
117
+ /** The executor's own id for the work. Absent between the claim and the executor's answer. */
118
+ readonly externalId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
119
+ /** Where a human watches it. The primary affordance on the step card. */
120
+ readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
121
+ /** A coarse phase in the executor's own vocabulary, when it reports one. */
122
+ readonly phase: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
123
+ /**
124
+ * The branch pair this dispatch handed the executor, persisted because the POLL needs it and
125
+ * cannot derive it: the work branch is named from the BLOCK, and a poll rebuilds its handle from
126
+ * the step and the run alone. An executor reading what its workflow produced would otherwise
127
+ * guess, and the wrong branch means the wrong pull request recorded on this block.
128
+ */
129
+ readonly branches: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
130
+ readonly base: v.StringSchema<undefined>;
131
+ readonly work: v.StringSchema<undefined>;
132
+ }, undefined>, undefined>, undefined>;
133
+ /**
134
+ * The repository the work TARGETS, persisted beside the branches and for the same reason: the
135
+ * poll rebuilds its handle from the step, and the executor's own configured repository is
136
+ * routinely a different one (an automation repo holding the workflow, dispatching against many
137
+ * product repos). Without it, an executor reading back what it produced looks in the wrong place
138
+ * and reports every run as having produced nothing.
139
+ */
140
+ readonly repo: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
141
+ readonly owner: v.StringSchema<undefined>;
142
+ readonly name: v.StringSchema<undefined>;
143
+ }, undefined>, undefined>, undefined>;
144
+ /**
145
+ * The branch the external work actually LANDED on, as the executor reported it at settlement.
146
+ *
147
+ * Distinct from `branches.work`, which is what the dispatch ASKED for: this is what came back,
148
+ * and it is the whole product of a step whose executor pushes without opening a pull request (a
149
+ * seed-only step, or a policy of letting a later step open the PR). Absent means the executor
150
+ * reported none, which for a run that opened a pull request is the ordinary case.
151
+ */
152
+ readonly branch: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
153
+ /** Every attempt on this step, oldest first. A re-run APPENDS; it never clears. */
154
+ readonly attempts: v.ArraySchema<v.ObjectSchema<{
155
+ readonly startedAt: v.NumberSchema<undefined>;
156
+ readonly externalId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
157
+ readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
158
+ /** How the attempt ended, in the executor's own words. Absent while it is still running. */
159
+ readonly outcome: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
160
+ }, undefined>, undefined>;
161
+ /**
162
+ * One line of context the platform could not otherwise state: how an id was recovered, or that
163
+ * a cancelled run's executor declares no `cancel` and the external work is still alive. Never a
164
+ * credential.
165
+ */
166
+ readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
167
+ }, undefined>;
168
+ export type RunDelegation = v.InferOutput<typeof runDelegationSchema>;
169
+ /**
170
+ * Whether a delegated step's model spend is MISSING from the platform's totals.
171
+ *
172
+ * Here rather than in the engine because both sides have to agree about the answer: the backend
173
+ * folds it into the debug overview's reporting gaps, and the SPA prints "usage not reported by
174
+ * <executor>" on the step card. Stated twice, the two drifted in both directions at once, which is
175
+ * what this seam exists to make impossible (see the contracts rule in CLAUDE.md).
176
+ *
177
+ * Read off the STEP's own record, never off the executor's declared `telemetry`. The declaration
178
+ * is a deployment's INTENTION, and what a reader needs is what actually landed: an executor
179
+ * declaring `self-reported` that silently stops filing is precisely the case a declaration-based
180
+ * check reports as covered, and one declaring `not-reported` that does fill
181
+ * `DelegationResult.usage` would have the card deny a number printed beside it.
182
+ *
183
+ * Work still IN FLIGHT is not a gap, and that is the check that keeps the two counts apart: a
184
+ * `self-reported` executor files with its RESULT, so between the claim and the settlement it has
185
+ * reported nothing and is supposed to have. Counting it would merge "has not filed yet" with
186
+ * "never will" on exactly the reads a person takes while watching a run.
187
+ */
188
+ export declare function delegatedSpendUnreported(step: {
189
+ delegated?: {
190
+ status: string;
191
+ } | null;
192
+ metrics?: {
193
+ calls: number;
194
+ } | null;
195
+ }): boolean;
196
+ //# sourceMappingURL=run-execution-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-execution-surface.d.ts","sourceRoot":"","sources":["../src/run-execution-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,yEAAyD,CAAA;AAC9F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;IAC7B,4EAA4E;;IAE5E;;;;;OAKG;;IAEH,wFAAwF;;IAExF,kGAAkG;;aAElG,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,qFAMpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAIjF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,mBAAmB,CAEjF;AAED,kGAAkG;AAClG,eAAO,MAAM,0BAA0B;;;;IAIrC,4FAA4F;;aAE5F,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB;IAC9B,mFAAmF;;;IAGnF;;;;;;;;OAQG;;IAEH;;;;;;;;;;;;;;;OAeG;;;;;IAEH,8FAA8F;;IAE9F,yEAAyE;;IAEzE,4EAA4E;;IAE5E;;;;;OAKG;;;;;IAEH;;;;;;OAMG;;;;;IAEH;;;;;;;OAOG;;IAEH,mFAAmF;;;;;QA/EnF,4FAA4F;;;IAiF5F;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACrC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CACnC,GAAG,OAAO,CAQV"}