@intentic/sandbox-contract 1.226.0 → 1.227.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 (194) hide show
  1. package/dist/contracts/activity.contract.d.ts.map +1 -1
  2. package/dist/contracts/activity.contract.js +17 -2
  3. package/dist/contracts/activity.contract.js.map +1 -1
  4. package/dist/contracts/agent.contract.d.ts +19 -2
  5. package/dist/contracts/agent.contract.d.ts.map +1 -1
  6. package/dist/contracts/agent.contract.js +71 -8
  7. package/dist/contracts/agent.contract.js.map +1 -1
  8. package/dist/contracts/agents.contract.d.ts +59 -0
  9. package/dist/contracts/agents.contract.d.ts.map +1 -1
  10. package/dist/contracts/agents.contract.js +164 -19
  11. package/dist/contracts/agents.contract.js.map +1 -1
  12. package/dist/contracts/automations.contract.d.ts.map +1 -1
  13. package/dist/contracts/automations.contract.js +78 -9
  14. package/dist/contracts/automations.contract.js.map +1 -1
  15. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  16. package/dist/contracts/capabilities.contract.js +98 -11
  17. package/dist/contracts/capabilities.contract.js.map +1 -1
  18. package/dist/contracts/chores.contract.d.ts.map +1 -1
  19. package/dist/contracts/chores.contract.js +26 -3
  20. package/dist/contracts/chores.contract.js.map +1 -1
  21. package/dist/contracts/ci.contract.d.ts.map +1 -1
  22. package/dist/contracts/ci.contract.js +52 -6
  23. package/dist/contracts/ci.contract.js.map +1 -1
  24. package/dist/contracts/claude.contract.d.ts.map +1 -1
  25. package/dist/contracts/claude.contract.js +44 -5
  26. package/dist/contracts/claude.contract.js.map +1 -1
  27. package/dist/contracts/drafts.contract.d.ts.map +1 -1
  28. package/dist/contracts/drafts.contract.js +26 -3
  29. package/dist/contracts/drafts.contract.js.map +1 -1
  30. package/dist/contracts/endpoints.contract.d.ts +1 -0
  31. package/dist/contracts/endpoints.contract.d.ts.map +1 -1
  32. package/dist/contracts/endpoints.contract.js +17 -2
  33. package/dist/contracts/endpoints.contract.js.map +1 -1
  34. package/dist/contracts/exit.contract.d.ts.map +1 -1
  35. package/dist/contracts/exit.contract.js +62 -7
  36. package/dist/contracts/exit.contract.js.map +1 -1
  37. package/dist/contracts/extensions.contract.d.ts +1 -0
  38. package/dist/contracts/extensions.contract.d.ts.map +1 -1
  39. package/dist/contracts/extensions.contract.js +124 -15
  40. package/dist/contracts/extensions.contract.js.map +1 -1
  41. package/dist/contracts/git.contract.d.ts.map +1 -1
  42. package/dist/contracts/git.contract.js +384 -43
  43. package/dist/contracts/git.contract.js.map +1 -1
  44. package/dist/contracts/grok.contract.d.ts.map +1 -1
  45. package/dist/contracts/grok.contract.js +25 -3
  46. package/dist/contracts/grok.contract.js.map +1 -1
  47. package/dist/contracts/history.contract.d.ts.map +1 -1
  48. package/dist/contracts/history.contract.js +35 -4
  49. package/dist/contracts/history.contract.js.map +1 -1
  50. package/dist/contracts/intentic.contract.d.ts.map +1 -1
  51. package/dist/contracts/intentic.contract.js +25 -3
  52. package/dist/contracts/intentic.contract.js.map +1 -1
  53. package/dist/contracts/inventory.contract.d.ts.map +1 -1
  54. package/dist/contracts/inventory.contract.js +26 -3
  55. package/dist/contracts/inventory.contract.js.map +1 -1
  56. package/dist/contracts/logs.contract.d.ts +17 -0
  57. package/dist/contracts/logs.contract.d.ts.map +1 -1
  58. package/dist/contracts/logs.contract.js +27 -3
  59. package/dist/contracts/logs.contract.js.map +1 -1
  60. package/dist/contracts/loops.contract.d.ts.map +1 -1
  61. package/dist/contracts/loops.contract.js +52 -6
  62. package/dist/contracts/loops.contract.js.map +1 -1
  63. package/dist/contracts/panels.contract.d.ts.map +1 -1
  64. package/dist/contracts/panels.contract.js +26 -3
  65. package/dist/contracts/panels.contract.js.map +1 -1
  66. package/dist/contracts/personas.contract.d.ts.map +1 -1
  67. package/dist/contracts/personas.contract.js +71 -8
  68. package/dist/contracts/personas.contract.js.map +1 -1
  69. package/dist/contracts/ports.contract.d.ts.map +1 -1
  70. package/dist/contracts/ports.contract.js +26 -3
  71. package/dist/contracts/ports.contract.js.map +1 -1
  72. package/dist/contracts/prepush.contract.d.ts.map +1 -1
  73. package/dist/contracts/prepush.contract.js +24 -3
  74. package/dist/contracts/prepush.contract.js.map +1 -1
  75. package/dist/contracts/providers.contract.d.ts +1 -0
  76. package/dist/contracts/providers.contract.d.ts.map +1 -1
  77. package/dist/contracts/providers.contract.js +9 -1
  78. package/dist/contracts/providers.contract.js.map +1 -1
  79. package/dist/contracts/public.contract.d.ts.map +1 -1
  80. package/dist/contracts/public.contract.js +26 -3
  81. package/dist/contracts/public.contract.js.map +1 -1
  82. package/dist/contracts/push.contract.d.ts.map +1 -1
  83. package/dist/contracts/push.contract.js +35 -4
  84. package/dist/contracts/push.contract.js.map +1 -1
  85. package/dist/contracts/secrets.contract.d.ts.map +1 -1
  86. package/dist/contracts/secrets.contract.js +43 -5
  87. package/dist/contracts/secrets.contract.js.map +1 -1
  88. package/dist/contracts/sessions.contract.d.ts +3 -0
  89. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  90. package/dist/contracts/sessions.contract.js +15 -2
  91. package/dist/contracts/sessions.contract.js.map +1 -1
  92. package/dist/contracts/settings.contract.d.ts +19 -0
  93. package/dist/contracts/settings.contract.d.ts.map +1 -1
  94. package/dist/contracts/settings.contract.js +43 -5
  95. package/dist/contracts/settings.contract.js.map +1 -1
  96. package/dist/contracts/share.contract.d.ts.map +1 -1
  97. package/dist/contracts/share.contract.js +35 -4
  98. package/dist/contracts/share.contract.js.map +1 -1
  99. package/dist/contracts/skills.contract.d.ts.map +1 -1
  100. package/dist/contracts/skills.contract.js +35 -4
  101. package/dist/contracts/skills.contract.js.map +1 -1
  102. package/dist/contracts/system.contract.d.ts +7 -0
  103. package/dist/contracts/system.contract.d.ts.map +1 -1
  104. package/dist/contracts/system.contract.js +107 -14
  105. package/dist/contracts/system.contract.js.map +1 -1
  106. package/dist/contracts/translator.contract.d.ts.map +1 -1
  107. package/dist/contracts/translator.contract.js +29 -4
  108. package/dist/contracts/translator.contract.js.map +1 -1
  109. package/dist/contracts/usage.contract.d.ts.map +1 -1
  110. package/dist/contracts/usage.contract.js +9 -1
  111. package/dist/contracts/usage.contract.js.map +1 -1
  112. package/dist/contracts/vpn.contract.d.ts.map +1 -1
  113. package/dist/contracts/vpn.contract.js +32 -4
  114. package/dist/contracts/vpn.contract.js.map +1 -1
  115. package/dist/contracts/workflows.contract.d.ts.map +1 -1
  116. package/dist/contracts/workflows.contract.js +70 -8
  117. package/dist/contracts/workflows.contract.js.map +1 -1
  118. package/dist/contracts/workspace.contract.d.ts.map +1 -1
  119. package/dist/contracts/workspace.contract.js +216 -25
  120. package/dist/contracts/workspace.contract.js.map +1 -1
  121. package/dist/events.d.ts +46 -0
  122. package/dist/events.d.ts.map +1 -1
  123. package/dist/events.js +193 -88
  124. package/dist/events.js.map +1 -1
  125. package/dist/history-state.d.ts.map +1 -1
  126. package/dist/history-state.js +1 -0
  127. package/dist/history-state.js.map +1 -1
  128. package/dist/index.d.ts +197 -70
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +2 -0
  131. package/dist/index.js.map +1 -1
  132. package/dist/prompt-complexity.d.ts +9 -1
  133. package/dist/prompt-complexity.d.ts.map +1 -1
  134. package/dist/prompt-complexity.js +13 -5
  135. package/dist/prompt-complexity.js.map +1 -1
  136. package/dist/request-id.d.ts +3 -0
  137. package/dist/request-id.d.ts.map +1 -0
  138. package/dist/request-id.js +3 -0
  139. package/dist/request-id.js.map +1 -0
  140. package/dist/schemas.d.ts +89 -0
  141. package/dist/schemas.d.ts.map +1 -1
  142. package/dist/schemas.js +2912 -1276
  143. package/dist/schemas.js.map +1 -1
  144. package/dist/starter.d.ts +3 -0
  145. package/dist/starter.d.ts.map +1 -0
  146. package/dist/starter.js +3 -0
  147. package/dist/starter.js.map +1 -0
  148. package/package.json +5 -4
  149. package/src/contract-lock.test.ts +8 -2
  150. package/src/contracts/activity.contract.ts +18 -2
  151. package/src/contracts/agent.contract.ts +78 -8
  152. package/src/contracts/agents.contract.ts +180 -19
  153. package/src/contracts/automations.contract.ts +80 -9
  154. package/src/contracts/capabilities.contract.ts +106 -11
  155. package/src/contracts/chores.contract.ts +29 -3
  156. package/src/contracts/ci.contract.ts +55 -6
  157. package/src/contracts/claude.contract.ts +47 -5
  158. package/src/contracts/drafts.contract.ts +26 -3
  159. package/src/contracts/endpoints.contract.ts +19 -2
  160. package/src/contracts/exit.contract.ts +69 -7
  161. package/src/contracts/extensions.contract.ts +134 -15
  162. package/src/contracts/git.contract.ts +421 -43
  163. package/src/contracts/grok.contract.ts +26 -3
  164. package/src/contracts/history.contract.ts +37 -4
  165. package/src/contracts/intentic.contract.ts +28 -3
  166. package/src/contracts/inventory.contract.ts +27 -3
  167. package/src/contracts/logs.contract.ts +41 -4
  168. package/src/contracts/loops.contract.ts +58 -6
  169. package/src/contracts/panels.contract.ts +26 -3
  170. package/src/contracts/personas.contract.ts +77 -8
  171. package/src/contracts/ports.contract.ts +27 -3
  172. package/src/contracts/prepush.contract.ts +26 -3
  173. package/src/contracts/providers.contract.ts +10 -1
  174. package/src/contracts/public.contract.ts +29 -3
  175. package/src/contracts/push.contract.ts +37 -4
  176. package/src/contracts/secrets.contract.ts +46 -5
  177. package/src/contracts/sessions.contract.ts +16 -2
  178. package/src/contracts/settings.contract.ts +46 -5
  179. package/src/contracts/share.contract.ts +37 -4
  180. package/src/contracts/skills.contract.ts +39 -4
  181. package/src/contracts/system.contract.ts +119 -14
  182. package/src/contracts/translator.contract.ts +32 -4
  183. package/src/contracts/usage.contract.ts +10 -1
  184. package/src/contracts/vpn.contract.ts +35 -4
  185. package/src/contracts/workflows.contract.ts +77 -8
  186. package/src/contracts/workspace.contract.ts +231 -25
  187. package/src/events.ts +259 -89
  188. package/src/history-state.ts +6 -0
  189. package/src/index.ts +2 -0
  190. package/src/prompt-complexity.test.ts +69 -0
  191. package/src/prompt-complexity.ts +102 -39
  192. package/src/request-id.ts +41 -0
  193. package/src/schemas.ts +3700 -1260
  194. package/src/starter.ts +13 -0
@@ -1,14 +1,83 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { AutomationApprovalIdParamSchema, AutomationApprovalsListSchema, AutomationCatalogSchema, AutomationEnabledInputSchema, AutomationIdParamSchema, AutomationSchema, AutomationsListSchema, OkSchema, } from "../schemas.js";
3
3
  export const automationsContract = {
4
- list: oc.route({ method: "GET", path: "/automations" }).output(AutomationsListSchema),
5
- catalog: oc.route({ method: "GET", path: "/automations/catalog" }).output(AutomationCatalogSchema),
6
- upsert: oc.route({ method: "POST", path: "/automations" }).input(AutomationSchema).output(OkSchema),
7
- setEnabled: oc.route({ method: "POST", path: "/automations/{id}/enabled" }).input(AutomationEnabledInputSchema).output(OkSchema),
8
- remove: oc.route({ method: "DELETE", path: "/automations/{id}" }).input(AutomationIdParamSchema).output(OkSchema),
9
- run: oc.route({ method: "POST", path: "/automations/{id}/run" }).input(AutomationIdParamSchema).output(OkSchema),
10
- pendingList: oc.route({ method: "GET", path: "/automations/pending" }).output(AutomationApprovalsListSchema),
11
- approve: oc.route({ method: "POST", path: "/automations/pending/{id}/approve" }).input(AutomationApprovalIdParamSchema).output(OkSchema),
12
- reject: oc.route({ method: "POST", path: "/automations/pending/{id}/reject" }).input(AutomationApprovalIdParamSchema).output(OkSchema),
4
+ list: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/automations",
8
+ summary: "Things that wake an agent on their own",
9
+ description: "Every automation with its recent runs and when it fires next.",
10
+ })
11
+ .output(AutomationsListSchema),
12
+ catalog: oc
13
+ .route({
14
+ method: "GET",
15
+ path: "/automations/catalog",
16
+ summary: "What can trigger an automation here",
17
+ description: "Every trigger this sandbox understands and every template worth starting from, the daemon's own merged with each installed extension's. Writing an automation is checked against this same list, so a screen and the daemon can never disagree about what is allowed.",
18
+ })
19
+ .output(AutomationCatalogSchema),
20
+ upsert: oc
21
+ .route({
22
+ method: "POST",
23
+ path: "/automations",
24
+ summary: "Create or edit an automation",
25
+ description: "Writes an automation by id. Nothing needs provisioning: the scheduler picks it up on its next sweep.",
26
+ })
27
+ .input(AutomationSchema)
28
+ .output(OkSchema),
29
+ setEnabled: oc
30
+ .route({
31
+ method: "POST",
32
+ path: "/automations/{id}/enabled",
33
+ summary: "Turn an automation on or off",
34
+ description: "Flips only the switch, so a row in a list can be toggled without rebuilding the whole record.",
35
+ })
36
+ .input(AutomationEnabledInputSchema)
37
+ .output(OkSchema),
38
+ remove: oc
39
+ .route({
40
+ method: "DELETE",
41
+ path: "/automations/{id}",
42
+ summary: "Delete an automation",
43
+ description: "Removes it, so nothing fires from it again.",
44
+ })
45
+ .input(AutomationIdParamSchema)
46
+ .output(OkSchema),
47
+ run: oc
48
+ .route({
49
+ method: "POST",
50
+ path: "/automations/{id}/run",
51
+ summary: "Fire an automation by hand",
52
+ description: "The answer to writing something that runs at three in the morning and having no way to try it. It takes exactly the path the real trigger takes, including the check that decides whether there was anything to do, since skipped by the guard is the most useful thing this can tell you. A switched-off automation fires too, because trying it before switching it on is the main reason to press this. Not available for the trigger that listens for incoming messages, where a hand-fire would produce an agent asked to handle events and handed none; send the bot a message instead. Answers straight away and runs detached.",
53
+ })
54
+ .input(AutomationIdParamSchema)
55
+ .output(OkSchema),
56
+ pendingList: oc
57
+ .route({
58
+ method: "GET",
59
+ path: "/automations/pending",
60
+ summary: "Automations waiting for a yes",
61
+ description: "The queue an automation set to ask first lands in each time it would have fired.",
62
+ })
63
+ .output(AutomationApprovalsListSchema),
64
+ approve: oc
65
+ .route({
66
+ method: "POST",
67
+ path: "/automations/pending/{id}/approve",
68
+ summary: "Let a held automation run",
69
+ description: "Releases one waiting automation and runs the wake it was holding. Answers straight away and runs detached.",
70
+ })
71
+ .input(AutomationApprovalIdParamSchema)
72
+ .output(OkSchema),
73
+ reject: oc
74
+ .route({
75
+ method: "POST",
76
+ path: "/automations/pending/{id}/reject",
77
+ summary: "Drop a held automation",
78
+ description: "Throws one waiting fire away. The automation stays on, and the next trigger queues as usual.",
79
+ })
80
+ .input(AutomationApprovalIdParamSchema)
81
+ .output(OkSchema),
13
82
  };
14
83
  //# sourceMappingURL=automations.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"automations.contract.js","sourceRoot":"","sources":["../../src/contracts/automations.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACH,+BAA+B,EAC/B,6BAA6B,EAC7B,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,GACX,MAAM,eAAe,CAAC;AAQvB,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAKrF,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAClG,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnG,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAChI,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAoBjH,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAChH,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC;IAC5G,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACxI,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CACzI,CAAC"}
1
+ {"version":3,"file":"automations.contract.js","sourceRoot":"","sources":["../../src/contracts/automations.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACH,+BAA+B,EAC/B,6BAA6B,EAC7B,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,GACX,MAAM,eAAe,CAAC;AAQvB,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,wCAAwC;QACjD,WAAW,EAAE,+DAA+D;KAC/E,CAAC;SACD,MAAM,CAAC,qBAAqB,CAAC;IAKlC,OAAO,EAAE,EAAE;SACN,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,qCAAqC;QAC9C,WAAW,EACP,uQAAuQ;KAC9Q,CAAC;SACD,MAAM,CAAC,uBAAuB,CAAC;IACpC,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,8BAA8B;QACvC,WAAW,EAAE,sGAAsG;KACtH,CAAC;SACD,KAAK,CAAC,gBAAgB,CAAC;SACvB,MAAM,CAAC,QAAQ,CAAC;IACrB,UAAU,EAAE,EAAE;SACT,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,8BAA8B;QACvC,WAAW,EAAE,+FAA+F;KAC/G,CAAC;SACD,KAAK,CAAC,4BAA4B,CAAC;SACnC,MAAM,CAAC,QAAQ,CAAC;IACrB,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,6CAA6C;KAC7D,CAAC;SACD,KAAK,CAAC,uBAAuB,CAAC;SAC9B,MAAM,CAAC,QAAQ,CAAC;IAoBrB,GAAG,EAAE,EAAE;SACF,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,4BAA4B;QACrC,WAAW,EACP,wmBAAwmB;KAC/mB,CAAC;SACD,KAAK,CAAC,uBAAuB,CAAC;SAC9B,MAAM,CAAC,QAAQ,CAAC;IACrB,WAAW,EAAE,EAAE;SACV,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,+BAA+B;QACxC,WAAW,EAAE,kFAAkF;KAClG,CAAC;SACD,MAAM,CAAC,6BAA6B,CAAC;IAC1C,OAAO,EAAE,EAAE;SACN,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,4GAA4G;KAC5H,CAAC;SACD,KAAK,CAAC,+BAA+B,CAAC;SACtC,MAAM,CAAC,QAAQ,CAAC;IACrB,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,8FAA8F;KAC9G,CAAC;SACD,KAAK,CAAC,+BAA+B,CAAC;SACtC,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/capabilities.contract.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,oBAAoB;IAC7B,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACJ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACH,MAAM;;;;;IAKN,MAAM;;;;;;IAEN,SAAS;;;;;;IACT,MAAM;;;;;;;;;;;;IAMN,UAAU;;;;;;;IACV,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGX,OAAO;;;;;IAGP,KAAK;;;;;IAIL,GAAG;;;;;;CACN,CAAC"}
1
+ {"version":3,"file":"capabilities.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/capabilities.contract.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,oBAAoB;IAC7B,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASJ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUH,MAAM;;;;;IAcN,MAAM;;;;;;IAWN,SAAS;;;;;;IAST,MAAM;;;;;;;;;;;;IAcN,UAAU;;;;;;;IAUV,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWX,OAAO;;;;;IAYP,KAAK;;;;;IAaL,GAAG;;;;;;CAUN,CAAC"}
@@ -2,16 +2,103 @@ import { eventIterator, oc } from "@orpc/contract";
2
2
  import { IntenticLineSchema } from "../events.js";
3
3
  import { CapabilitiesListSchema, CapabilityCardParamSchema, CapabilityConnectionSchema, CapabilityIdParamSchema, CapabilityLoginSchema, CapabilityOtpSchema, CapabilityRenameSchema, CapabilitySchema, CapabilitySecretInputSchema, CapabilityStatusSchema, MarketplaceRequestSchema, MarketplaceSchema, OkSchema, } from "../schemas.js";
4
4
  export const capabilitiesContract = {
5
- list: oc.route({ method: "GET", path: "/capabilities" }).output(CapabilitiesListSchema),
6
- add: oc.route({ method: "POST", path: "/capabilities" }).input(CapabilitySchema).output(eventIterator(IntenticLineSchema)),
7
- remove: oc.route({ method: "DELETE", path: "/capabilities/{id}" }).input(CapabilityIdParamSchema).output(OkSchema),
8
- rename: oc.route({ method: "POST", path: "/capabilities/{id}/rename" }).input(CapabilityRenameSchema).output(OkSchema),
9
- setSecret: oc.route({ method: "POST", path: "/capabilities/{id}/secret" }).input(CapabilitySecretInputSchema).output(OkSchema),
10
- status: oc.route({ method: "GET", path: "/capabilities/{id}/status" }).input(CapabilityIdParamSchema).output(CapabilityStatusSchema),
11
- connection: oc.route({ method: "GET", path: "/capabilities/{id}/connection" }).input(CapabilityIdParamSchema).output(CapabilityConnectionSchema),
12
- marketplace: oc.route({ method: "POST", path: "/capabilities/marketplace" }).input(MarketplaceRequestSchema).output(MarketplaceSchema),
13
- dismiss: oc.route({ method: "DELETE", path: "/capabilities/recommendations/{card}" }).input(CapabilityCardParamSchema).output(OkSchema),
14
- login: oc.route({ method: "POST", path: "/capabilities/{id}/login" }).input(CapabilityIdParamSchema).output(CapabilityLoginSchema),
15
- otp: oc.route({ method: "GET", path: "/capabilities/{id}/otp" }).input(CapabilityIdParamSchema).output(CapabilityOtpSchema),
5
+ list: oc
6
+ .route({
7
+ method: "GET",
8
+ path: "/capabilities",
9
+ summary: "Everything this sandbox is connected to",
10
+ description: "Each connection with its live state, the settings that are safe to show, and the names of the credentials it holds. The values of those credentials are never in the answer, on any route but one.",
11
+ })
12
+ .output(CapabilitiesListSchema),
13
+ add: oc
14
+ .route({
15
+ method: "POST",
16
+ path: "/capabilities",
17
+ summary: "Connect something, or change a connection",
18
+ description: "Writes a connection and streams the work of applying it, because some kinds provision real infrastructure and take a while. Sending an id that already exists edits that connection: this is the edit as well as the create. Since a caller is never shown stored credentials, it marks the ones it is leaving alone and the daemon fills them in, which is the only way to change one setting without retyping a key.",
19
+ })
20
+ .input(CapabilitySchema)
21
+ .output(eventIterator(IntenticLineSchema)),
22
+ remove: oc
23
+ .route({
24
+ method: "DELETE",
25
+ path: "/capabilities/{id}",
26
+ summary: "Disconnect something",
27
+ description: "Tears a connection down. The kinds that own real infrastructure refuse, because deleting those would be losing data rather than losing a connection.",
28
+ })
29
+ .input(CapabilityIdParamSchema)
30
+ .output(OkSchema),
31
+ rename: oc
32
+ .route({
33
+ method: "POST",
34
+ path: "/capabilities/{id}/rename",
35
+ summary: "Rename a connection",
36
+ description: "Carries everything the old name keyed across with it: a browser profile and its logins, an enrolled machine, an extension's copy of its source. Removing and re-adding would lose exactly the state that made the connection worth keeping. Kinds whose name is part of what they are refuse.",
37
+ })
38
+ .input(CapabilityRenameSchema)
39
+ .output(OkSchema),
40
+ setSecret: oc
41
+ .route({
42
+ method: "POST",
43
+ path: "/capabilities/{id}/secret",
44
+ summary: "Replace a stored credential",
45
+ description: "Swaps one connection's key or token for a new one and re-applies it, without touching any of its other settings.",
46
+ })
47
+ .input(CapabilitySecretInputSchema)
48
+ .output(OkSchema),
49
+ status: oc
50
+ .route({
51
+ method: "GET",
52
+ path: "/capabilities/{id}/status",
53
+ summary: "Re-check one connection",
54
+ description: "Probes a single connection right now, for a screen that wants to refresh one row rather than the whole list.",
55
+ })
56
+ .input(CapabilityIdParamSchema)
57
+ .output(CapabilityStatusSchema),
58
+ connection: oc
59
+ .route({
60
+ method: "GET",
61
+ path: "/capabilities/{id}/connection",
62
+ summary: "A connection's settings, credentials included",
63
+ description: "The one call that hands back stored secrets, so an extension's own backend can dial the service behind a connection. Never answered for a signed-in person: only a machine credential reaches it, and an extension's only if its manifest asked for this route out loud at install time.",
64
+ })
65
+ .input(CapabilityIdParamSchema)
66
+ .output(CapabilityConnectionSchema),
67
+ marketplace: oc
68
+ .route({
69
+ method: "POST",
70
+ path: "/capabilities/marketplace",
71
+ summary: "Read a plugin marketplace",
72
+ description: "Resolves a plugin marketplace source into the list of connections you could install from it.",
73
+ })
74
+ .input(MarketplaceRequestSchema)
75
+ .output(MarketplaceSchema),
76
+ dismiss: oc
77
+ .route({
78
+ method: "DELETE",
79
+ path: "/capabilities/recommendations/{card}",
80
+ summary: "Stop suggesting this connection",
81
+ description: "Not needed, for now. Nothing is torn down. The suggestion comes back if what prompted it in the workspace changes, because what is remembered is the evidence, not the refusal.",
82
+ })
83
+ .input(CapabilityCardParamSchema)
84
+ .output(OkSchema),
85
+ login: oc
86
+ .route({
87
+ method: "POST",
88
+ path: "/capabilities/{id}/login",
89
+ summary: "Sign in to a connection by hand",
90
+ description: "Opens the connection's own sign-in in a terminal a person can type into, for the flows that need a code pasted or a device confirmed. The answer names the terminal to attach to.",
91
+ })
92
+ .input(CapabilityIdParamSchema)
93
+ .output(CapabilityLoginSchema),
94
+ otp: oc
95
+ .route({
96
+ method: "GET",
97
+ path: "/capabilities/{id}/otp",
98
+ summary: "Mint a one-time code",
99
+ description: "Generates a single two-factor code from a stored seed. The one credential-adjacent read an agent is allowed, and it is safe because a code expires in seconds and never reveals the seed, so an agent can answer a prompt without ever holding the factor.",
100
+ })
101
+ .input(CapabilityIdParamSchema)
102
+ .output(CapabilityOtpSchema),
16
103
  };
17
104
  //# sourceMappingURL=capabilities.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.contract.js","sourceRoot":"","sources":["../../src/contracts/capabilities.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACH,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,QAAQ,GACX,MAAM,eAAe,CAAC;AAcvB,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC;IACvF,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC1H,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAKlH,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAEtH,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9H,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAMpI,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC;IAChJ,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAGtI,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,sCAAsC,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAGvI,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAIlI,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;CAC9H,CAAC"}
1
+ {"version":3,"file":"capabilities.contract.js","sourceRoot":"","sources":["../../src/contracts/capabilities.contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chores.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/chores.contract.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,cAAc;IAGvB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGJ,KAAK;;;;;;;;;;;;;IAGL,MAAM;;;;;;;;;;;;;;;CACT,CAAC"}
1
+ {"version":3,"file":"chores.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/chores.contract.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,cAAc;IAGvB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWJ,KAAK;;;;;;;;;;;;;IAYL,MAAM;;;;;;;;;;;;;;;CAUT,CAAC"}
@@ -1,8 +1,31 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { ChoreLedgerWriteSchema, ChoreProbeRequestSchema, ChoresReportSchema, OkSchema } from "../schemas.js";
3
3
  export const choresContract = {
4
- list: oc.route({ method: "GET", path: "/chores" }).output(ChoresReportSchema),
5
- probe: oc.route({ method: "POST", path: "/chores/probe" }).input(ChoreProbeRequestSchema).output(OkSchema),
6
- record: oc.route({ method: "POST", path: "/chores/ledger" }).input(ChoreLedgerWriteSchema).output(OkSchema),
4
+ list: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/chores",
8
+ summary: "What maintenance the repos are asking for",
9
+ description: "Every repo's standing evidence in one read: what the last measurement found and how old it is, the cheap signals that are always current, and what has already been decided about each.",
10
+ })
11
+ .output(ChoresReportSchema),
12
+ probe: oc
13
+ .route({
14
+ method: "POST",
15
+ path: "/chores/probe",
16
+ summary: "Measure one repo again now",
17
+ description: "Re-runs a single check without waiting for it to go stale. Answers immediately: the work happens in the background and the result turns up in the next read, because some of these sweeps outlive any sane request.",
18
+ })
19
+ .input(ChoreProbeRequestSchema)
20
+ .output(OkSchema),
21
+ record: oc
22
+ .route({
23
+ method: "POST",
24
+ path: "/chores/ledger",
25
+ summary: "Record a verdict, or snooze one",
26
+ description: "Writes what somebody concluded about one repo's chore, replacing the previous verdict. A chore has one current answer, not a growing pile of times it was fine.",
27
+ })
28
+ .input(ChoreLedgerWriteSchema)
29
+ .output(OkSchema),
7
30
  };
8
31
  //# sourceMappingURL=chores.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chores.contract.js","sourceRoot":"","sources":["../../src/contracts/chores.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAW9G,MAAM,CAAC,MAAM,cAAc,GAAG;IAG1B,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IAG7E,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAG1G,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CAC9G,CAAC"}
1
+ {"version":3,"file":"chores.contract.js","sourceRoot":"","sources":["../../src/contracts/chores.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAW9G,MAAM,CAAC,MAAM,cAAc,GAAG;IAG1B,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,2CAA2C;QACpD,WAAW,EACP,yLAAyL;KAChM,CAAC;SACD,MAAM,CAAC,kBAAkB,CAAC;IAG/B,KAAK,EAAE,EAAE;SACJ,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,4BAA4B;QACrC,WAAW,EACP,qNAAqN;KAC5N,CAAC;SACD,KAAK,CAAC,uBAAuB,CAAC;SAC9B,MAAM,CAAC,QAAQ,CAAC;IAGrB,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,iCAAiC;QAC1C,WAAW,EACP,iKAAiK;KACxK,CAAC;SACD,KAAK,CAAC,sBAAsB,CAAC;SAC7B,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ci.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/ci.contract.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,UAAU;IACnB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACJ,KAAK;;;;;;IACL,MAAM;;;;;;IACN,IAAI;;;;;;;;;;;;;;;;;;;;;IACJ,GAAG;;;;;;;;;;IAIH,IAAI;;;CACP,CAAC"}
1
+ {"version":3,"file":"ci.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/ci.contract.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,UAAU;IACnB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASJ,KAAK;;;;;;IASL,MAAM;;;;;;IASN,IAAI;;;;;;;;;;;;;;;;;;;;;IASJ,GAAG;;;;;;;;;;IAaH,IAAI;;;CASP,CAAC"}
@@ -1,11 +1,57 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { CiFixParamSchema, CiFixResponseSchema, CiJobsResponseSchema, CiRunParamSchema, CiRunsResponseSchema, CiSeenResponseSchema, OkSchema, } from "../schemas.js";
3
3
  export const ciContract = {
4
- runs: oc.route({ method: "GET", path: "/ci/runs" }).output(CiRunsResponseSchema),
5
- rerun: oc.route({ method: "POST", path: "/ci/runs/rerun" }).input(CiRunParamSchema).output(OkSchema),
6
- cancel: oc.route({ method: "POST", path: "/ci/runs/cancel" }).input(CiRunParamSchema).output(OkSchema),
7
- jobs: oc.route({ method: "POST", path: "/ci/runs/jobs" }).input(CiRunParamSchema).output(CiJobsResponseSchema),
8
- fix: oc.route({ method: "POST", path: "/ci/fix" }).input(CiFixParamSchema).output(CiFixResponseSchema),
9
- seen: oc.route({ method: "POST", path: "/ci/seen" }).output(CiSeenResponseSchema),
4
+ runs: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/ci/runs",
8
+ summary: "Pipeline runs across the repos",
9
+ description: "What the forges are reporting for every workspace repo that has a remote, served from a cache and filled in on demand. Repos whose notifications are not wired up say so.",
10
+ })
11
+ .output(CiRunsResponseSchema),
12
+ rerun: oc
13
+ .route({
14
+ method: "POST",
15
+ path: "/ci/runs/rerun",
16
+ summary: "Run a pipeline again",
17
+ description: "Asks the forge to re-run one pipeline. The daemon only passes the request along.",
18
+ })
19
+ .input(CiRunParamSchema)
20
+ .output(OkSchema),
21
+ cancel: oc
22
+ .route({
23
+ method: "POST",
24
+ path: "/ci/runs/cancel",
25
+ summary: "Cancel a pipeline run",
26
+ description: "Asks the forge to stop a run in progress.",
27
+ })
28
+ .input(CiRunParamSchema)
29
+ .output(OkSchema),
30
+ jobs: oc
31
+ .route({
32
+ method: "POST",
33
+ path: "/ci/runs/jobs",
34
+ summary: "The steps inside one pipeline run",
35
+ description: "Each job in a run with its outcome, which is where you look to find out what actually broke.",
36
+ })
37
+ .input(CiRunParamSchema)
38
+ .output(CiJobsResponseSchema),
39
+ fix: oc
40
+ .route({
41
+ method: "POST",
42
+ path: "/ci/fix",
43
+ summary: "Put an agent on a broken pipeline",
44
+ description: "Opens a fresh isolated conversation already holding the failure: which job, which repo, what it said. The answer names the conversation so you can open it.",
45
+ })
46
+ .input(CiFixParamSchema)
47
+ .output(CiFixResponseSchema),
48
+ seen: oc
49
+ .route({
50
+ method: "POST",
51
+ path: "/ci/seen",
52
+ summary: "Mark the pipelines as read",
53
+ description: "Silences the badge for breakages already looked at. Takes nothing, because the view is read as a whole, and the daemon stamps its own clock so a browser with the wrong time cannot mark future failures as already seen.",
54
+ })
55
+ .output(CiSeenResponseSchema),
10
56
  };
11
57
  //# sourceMappingURL=ci.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ci.contract.js","sourceRoot":"","sources":["../../src/contracts/ci.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACH,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,GACX,MAAM,eAAe,CAAC;AAOvB,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAChF,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACpG,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACtG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAC9G,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAItG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC;CACpF,CAAC"}
1
+ {"version":3,"file":"ci.contract.js","sourceRoot":"","sources":["../../src/contracts/ci.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACH,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,GACX,MAAM,eAAe,CAAC;AAOvB,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,gCAAgC;QACzC,WAAW,EACP,2KAA2K;KAClL,CAAC;SACD,MAAM,CAAC,oBAAoB,CAAC;IACjC,KAAK,EAAE,EAAE;SACJ,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,kFAAkF;KAClG,CAAC;SACD,KAAK,CAAC,gBAAgB,CAAC;SACvB,MAAM,CAAC,QAAQ,CAAC;IACrB,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,2CAA2C;KAC3D,CAAC;SACD,KAAK,CAAC,gBAAgB,CAAC;SACvB,MAAM,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EAAE,8FAA8F;KAC9G,CAAC;SACD,KAAK,CAAC,gBAAgB,CAAC;SACvB,MAAM,CAAC,oBAAoB,CAAC;IACjC,GAAG,EAAE,EAAE;SACF,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EACP,6JAA6J;KACpK,CAAC;SACD,KAAK,CAAC,gBAAgB,CAAC;SACvB,MAAM,CAAC,mBAAmB,CAAC;IAIhC,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,4BAA4B;QACrC,WAAW,EACP,2NAA2N;KAClO,CAAC;SACD,MAAM,CAAC,oBAAoB,CAAC;CACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/claude.contract.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,cAAc;IACvB,KAAK;;;;;IACL,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;IAGR,QAAQ;;;;;;;;;;;;;;;;;;;;;;;IACR,MAAM;;;;;;;;;;;;;;;;;;;;;;IACN,UAAU;;;;;CACb,CAAC"}
1
+ {"version":3,"file":"claude.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/claude.contract.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,cAAc;IACvB,KAAK;;;;;IASL,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;IAYR,QAAQ;;;;;;;;;;;;;;;;;;;;;;;IAUR,MAAM;;;;;;;;;;;;;;;;;;;;;;IASN,UAAU;;;;;CASb,CAAC"}
@@ -1,10 +1,49 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { AccountIdSchema, AccountListQuerySchema, AccountRenameSchema, AuthorizeChallengeSchema, OauthAccountListSchema, OauthAccountSchema, OauthExchangeSchema, OkSchema, } from "../schemas.js";
3
3
  export const claudeContract = {
4
- start: oc.route({ method: "POST", path: "/claude/oauth/start" }).output(AuthorizeChallengeSchema),
5
- exchange: oc.route({ method: "POST", path: "/claude/oauth/exchange" }).input(OauthExchangeSchema).output(OauthAccountSchema),
6
- accounts: oc.route({ method: "GET", path: "/claude/accounts" }).input(AccountListQuerySchema).output(OauthAccountListSchema),
7
- rename: oc.route({ method: "POST", path: "/claude/account/rename" }).input(AccountRenameSchema).output(OauthAccountSchema),
8
- disconnect: oc.route({ method: "POST", path: "/claude/account/disconnect" }).input(AccountIdSchema).output(OkSchema),
4
+ start: oc
5
+ .route({
6
+ method: "POST",
7
+ path: "/claude/oauth/start",
8
+ summary: "Begin connecting a Claude account",
9
+ description: "Hands back the address to send somebody to, and the proof this sandbox will need to finish the exchange. The sandbox holds the credential afterwards, not the browser.",
10
+ })
11
+ .output(AuthorizeChallengeSchema),
12
+ exchange: oc
13
+ .route({
14
+ method: "POST",
15
+ path: "/claude/oauth/exchange",
16
+ summary: "Finish connecting a Claude account",
17
+ description: "Trades the code from the sign-in for stored tokens and answers with the account it just connected. A sandbox can hold several Claude accounts side by side.",
18
+ })
19
+ .input(OauthExchangeSchema)
20
+ .output(OauthAccountSchema),
21
+ accounts: oc
22
+ .route({
23
+ method: "GET",
24
+ path: "/claude/accounts",
25
+ summary: "Connected Claude accounts",
26
+ description: "Each connected account with how full its plan limits were when last measured. Ask for a fresh measurement and it takes one before answering, which is slower.",
27
+ })
28
+ .input(AccountListQuerySchema)
29
+ .output(OauthAccountListSchema),
30
+ rename: oc
31
+ .route({
32
+ method: "POST",
33
+ path: "/claude/account/rename",
34
+ summary: "Rename a Claude account",
35
+ description: "Changes the label one account shows under, so several are tellable apart.",
36
+ })
37
+ .input(AccountRenameSchema)
38
+ .output(OauthAccountSchema),
39
+ disconnect: oc
40
+ .route({
41
+ method: "POST",
42
+ path: "/claude/account/disconnect",
43
+ summary: "Disconnect a Claude account",
44
+ description: "Clears the stored tokens for one account. The others stay connected.",
45
+ })
46
+ .input(AccountIdSchema)
47
+ .output(OkSchema),
9
48
  };
10
49
  //# sourceMappingURL=claude.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.contract.js","sourceRoot":"","sources":["../../src/contracts/claude.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACH,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,GACX,MAAM,eAAe,CAAC;AAUvB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC;IACjG,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IAG5H,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC5H,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IAC1H,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CACvH,CAAC"}
1
+ {"version":3,"file":"claude.contract.js","sourceRoot":"","sources":["../../src/contracts/claude.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACH,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,GACX,MAAM,eAAe,CAAC;AAUvB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,KAAK,EAAE,EAAE;SACJ,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EACP,wKAAwK;KAC/K,CAAC;SACD,MAAM,CAAC,wBAAwB,CAAC;IACrC,QAAQ,EAAE,EAAE;SACP,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,oCAAoC;QAC7C,WAAW,EACP,6JAA6J;KACpK,CAAC;SACD,KAAK,CAAC,mBAAmB,CAAC;SAC1B,MAAM,CAAC,kBAAkB,CAAC;IAG/B,QAAQ,EAAE,EAAE;SACP,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,2BAA2B;QACpC,WAAW,EACP,+JAA+J;KACtK,CAAC;SACD,KAAK,CAAC,sBAAsB,CAAC;SAC7B,MAAM,CAAC,sBAAsB,CAAC;IACnC,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,yBAAyB;QAClC,WAAW,EAAE,2EAA2E;KAC3F,CAAC;SACD,KAAK,CAAC,mBAAmB,CAAC;SAC1B,MAAM,CAAC,kBAAkB,CAAC;IAC/B,UAAU,EAAE,EAAE;SACT,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,6BAA6B;QACtC,WAAW,EAAE,sEAAsE;KACtF,CAAC;SACD,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"drafts.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/drafts.contract.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc;IACvB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;IACJ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;IACN,MAAM;;;;;CACT,CAAC"}
1
+ {"version":3,"file":"drafts.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/drafts.contract.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc;IACvB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;IAQJ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;IASN,MAAM;;;;;CAST,CAAC"}
@@ -1,8 +1,31 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { DraftIdParamSchema, DraftsListSchema, DraftSummarySchema, OkSchema } from "../schemas.js";
3
3
  export const draftsContract = {
4
- list: oc.route({ method: "GET", path: "/drafts" }).output(DraftsListSchema),
5
- upsert: oc.route({ method: "POST", path: "/drafts" }).input(DraftSummarySchema).output(OkSchema),
6
- remove: oc.route({ method: "DELETE", path: "/drafts/{id}" }).input(DraftIdParamSchema).output(OkSchema),
4
+ list: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/drafts",
8
+ summary: "Posts waiting for your approval",
9
+ description: "The queue of things an agent has written and would like to publish. Nothing here has gone anywhere yet.",
10
+ })
11
+ .output(DraftsListSchema),
12
+ upsert: oc
13
+ .route({
14
+ method: "POST",
15
+ path: "/drafts",
16
+ summary: "Approve, edit or retry a draft",
17
+ description: "All three are the same act with a different field changed, so they share one call. Send the draft back as you want it.",
18
+ })
19
+ .input(DraftSummarySchema)
20
+ .output(OkSchema),
21
+ remove: oc
22
+ .route({
23
+ method: "DELETE",
24
+ path: "/drafts/{id}",
25
+ summary: "Reject a draft",
26
+ description: "Throws one away unposted.",
27
+ })
28
+ .input(DraftIdParamSchema)
29
+ .output(OkSchema),
7
30
  };
8
31
  //# sourceMappingURL=drafts.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drafts.contract.js","sourceRoot":"","sources":["../../src/contracts/drafts.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKnG,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC3E,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAChG,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CAC1G,CAAC"}
1
+ {"version":3,"file":"drafts.contract.js","sourceRoot":"","sources":["../../src/contracts/drafts.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKnG,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,iCAAiC;QAC1C,WAAW,EAAE,yGAAyG;KACzH,CAAC;SACD,MAAM,CAAC,gBAAgB,CAAC;IAC7B,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,wHAAwH;KACxI,CAAC;SACD,KAAK,CAAC,kBAAkB,CAAC;SACzB,MAAM,CAAC,QAAQ,CAAC;IACrB,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,2BAA2B;KAC3C,CAAC;SACD,KAAK,CAAC,kBAAkB,CAAC;SACzB,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -35,6 +35,7 @@ export declare const endpointsContract: {
35
35
  fast: "fast";
36
36
  reasoning: "reasoning";
37
37
  }>>>;
38
+ contextWindow: z.ZodOptional<z.ZodNumber>;
38
39
  }, z.core.$strip>>;
39
40
  default: z.ZodString;
40
41
  }, z.core.$strip>, Record<never, never>, Record<never, never>>;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/endpoints.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,QAAA,MAAM,iBAAiB;;;;;EAA4D,CAAC;AACpF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAsB5B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEpE,eAAO,MAAM,iBAAiB;IAC1B,MAAM;;;;;;;;;;;;;;;IACN,KAAK;;;;;;;;;;;;;;;CACR,CAAC"}
1
+ {"version":3,"file":"endpoints.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/endpoints.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,QAAA,MAAM,iBAAiB;;;;;EAA4D,CAAC;AACpF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAsB5B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEpE,eAAO,MAAM,iBAAiB;IAC1B,MAAM;;;;;;;;;;;;;;;;IAUN,KAAK;;;;;;;;;;;;;;;CASR,CAAC"}
@@ -13,7 +13,22 @@ export const TrialStatusSchema = z.object({
13
13
  servedModel: z.string().optional(),
14
14
  });
15
15
  export const endpointsContract = {
16
- models: oc.route({ method: "GET", path: "/endpoints/{id}/models" }).input(CapabilityIdParamSchema).output(ModelsSchema),
17
- trial: oc.route({ method: "GET", path: "/endpoints/trial/status" }).output(TrialStatusSchema),
16
+ models: oc
17
+ .route({
18
+ method: "GET",
19
+ path: "/endpoints/{id}/models",
20
+ summary: "Models a connected server offers",
21
+ description: "Asks one configured model server what it serves. There is no built-in list and no fallback: what a server offers is knowable only by asking it, so an empty answer is the honest report that we could not.",
22
+ })
23
+ .input(CapabilityIdParamSchema)
24
+ .output(ModelsSchema),
25
+ trial: oc
26
+ .route({
27
+ method: "GET",
28
+ path: "/endpoints/trial/status",
29
+ summary: "What is left of the free trial",
30
+ description: "The allowance, what has been used, when it resets, and which model actually answered the last message. Not being available is the ordinary answer rather than a failure: most sandboxes run against a platform that offers no trial at all.",
31
+ })
32
+ .output(TrialStatusSchema),
18
33
  };
19
34
  //# sourceMappingURL=endpoints.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.contract.js","sourceRoot":"","sources":["../../src/contracts/endpoints.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAetE,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;AAGpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAEzC,MAAM,EAAE,iBAAiB;IAEzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAW9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;IACvH,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;CAChG,CAAC"}
1
+ {"version":3,"file":"endpoints.contract.js","sourceRoot":"","sources":["../../src/contracts/endpoints.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAetE,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;AAGpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAEzC,MAAM,EAAE,iBAAiB;IAEzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAW9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,kCAAkC;QAC3C,WAAW,EACP,4MAA4M;KACnN,CAAC;SACD,KAAK,CAAC,uBAAuB,CAAC;SAC9B,MAAM,CAAC,YAAY,CAAC;IACzB,KAAK,EAAE,EAAE;SACJ,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,gCAAgC;QACzC,WAAW,EACP,6OAA6O;KACpP,CAAC;SACD,MAAM,CAAC,iBAAiB,CAAC;CACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"exit.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/exit.contract.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY;IAIrB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;IAIJ,SAAS;;;;;;;;;;;IAIT,KAAK;;;;;;;;;IAIL,GAAG;;;;;;;;;;IAGH,MAAM;;;;;;;;;IAGN,KAAK;;;;;;;IAEL,IAAI;;;;;CACP,CAAC"}
1
+ {"version":3,"file":"exit.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/exit.contract.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY;IAIrB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;IAYJ,SAAS;;;;;;;;;;;IAaT,KAAK;;;;;;;;;IAaL,GAAG;;;;;;;;;;IAYH,MAAM;;;;;;;;;IAYN,KAAK;;;;;;;IAWL,IAAI;;;;;CAUP,CAAC"}