@intentic/sandbox-contract 1.225.0 → 1.226.1

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 (172) hide show
  1. package/dist/agent-catalog.d.ts +2 -0
  2. package/dist/agent-catalog.d.ts.map +1 -1
  3. package/dist/agent-catalog.js +16 -0
  4. package/dist/agent-catalog.js.map +1 -1
  5. package/dist/contracts/activity.contract.d.ts.map +1 -1
  6. package/dist/contracts/activity.contract.js +17 -2
  7. package/dist/contracts/activity.contract.js.map +1 -1
  8. package/dist/contracts/agent.contract.d.ts.map +1 -1
  9. package/dist/contracts/agent.contract.js +71 -8
  10. package/dist/contracts/agent.contract.js.map +1 -1
  11. package/dist/contracts/agents.contract.d.ts +1 -0
  12. package/dist/contracts/agents.contract.d.ts.map +1 -1
  13. package/dist/contracts/agents.contract.js +164 -19
  14. package/dist/contracts/agents.contract.js.map +1 -1
  15. package/dist/contracts/automations.contract.d.ts.map +1 -1
  16. package/dist/contracts/automations.contract.js +78 -9
  17. package/dist/contracts/automations.contract.js.map +1 -1
  18. package/dist/contracts/capabilities.contract.d.ts.map +1 -1
  19. package/dist/contracts/capabilities.contract.js +98 -11
  20. package/dist/contracts/capabilities.contract.js.map +1 -1
  21. package/dist/contracts/chores.contract.d.ts.map +1 -1
  22. package/dist/contracts/chores.contract.js +26 -3
  23. package/dist/contracts/chores.contract.js.map +1 -1
  24. package/dist/contracts/ci.contract.d.ts.map +1 -1
  25. package/dist/contracts/ci.contract.js +52 -6
  26. package/dist/contracts/ci.contract.js.map +1 -1
  27. package/dist/contracts/claude.contract.d.ts.map +1 -1
  28. package/dist/contracts/claude.contract.js +44 -5
  29. package/dist/contracts/claude.contract.js.map +1 -1
  30. package/dist/contracts/drafts.contract.d.ts.map +1 -1
  31. package/dist/contracts/drafts.contract.js +26 -3
  32. package/dist/contracts/drafts.contract.js.map +1 -1
  33. package/dist/contracts/endpoints.contract.d.ts.map +1 -1
  34. package/dist/contracts/endpoints.contract.js +17 -2
  35. package/dist/contracts/endpoints.contract.js.map +1 -1
  36. package/dist/contracts/exit.contract.d.ts.map +1 -1
  37. package/dist/contracts/exit.contract.js +62 -7
  38. package/dist/contracts/exit.contract.js.map +1 -1
  39. package/dist/contracts/extensions.contract.d.ts.map +1 -1
  40. package/dist/contracts/extensions.contract.js +124 -15
  41. package/dist/contracts/extensions.contract.js.map +1 -1
  42. package/dist/contracts/git.contract.d.ts.map +1 -1
  43. package/dist/contracts/git.contract.js +384 -43
  44. package/dist/contracts/git.contract.js.map +1 -1
  45. package/dist/contracts/grok.contract.d.ts.map +1 -1
  46. package/dist/contracts/grok.contract.js +25 -3
  47. package/dist/contracts/grok.contract.js.map +1 -1
  48. package/dist/contracts/history.contract.d.ts.map +1 -1
  49. package/dist/contracts/history.contract.js +35 -4
  50. package/dist/contracts/history.contract.js.map +1 -1
  51. package/dist/contracts/intentic.contract.d.ts.map +1 -1
  52. package/dist/contracts/intentic.contract.js +25 -3
  53. package/dist/contracts/intentic.contract.js.map +1 -1
  54. package/dist/contracts/inventory.contract.d.ts.map +1 -1
  55. package/dist/contracts/inventory.contract.js +26 -3
  56. package/dist/contracts/inventory.contract.js.map +1 -1
  57. package/dist/contracts/logs.contract.d.ts.map +1 -1
  58. package/dist/contracts/logs.contract.js +17 -2
  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.map +1 -1
  76. package/dist/contracts/providers.contract.js +9 -1
  77. package/dist/contracts/providers.contract.js.map +1 -1
  78. package/dist/contracts/public.contract.d.ts.map +1 -1
  79. package/dist/contracts/public.contract.js +26 -3
  80. package/dist/contracts/public.contract.js.map +1 -1
  81. package/dist/contracts/push.contract.d.ts.map +1 -1
  82. package/dist/contracts/push.contract.js +35 -4
  83. package/dist/contracts/push.contract.js.map +1 -1
  84. package/dist/contracts/secrets.contract.d.ts.map +1 -1
  85. package/dist/contracts/secrets.contract.js +43 -5
  86. package/dist/contracts/secrets.contract.js.map +1 -1
  87. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  88. package/dist/contracts/sessions.contract.js +15 -2
  89. package/dist/contracts/sessions.contract.js.map +1 -1
  90. package/dist/contracts/settings.contract.d.ts.map +1 -1
  91. package/dist/contracts/settings.contract.js +43 -5
  92. package/dist/contracts/settings.contract.js.map +1 -1
  93. package/dist/contracts/share.contract.d.ts.map +1 -1
  94. package/dist/contracts/share.contract.js +35 -4
  95. package/dist/contracts/share.contract.js.map +1 -1
  96. package/dist/contracts/skills.contract.d.ts.map +1 -1
  97. package/dist/contracts/skills.contract.js +35 -4
  98. package/dist/contracts/skills.contract.js.map +1 -1
  99. package/dist/contracts/system.contract.d.ts.map +1 -1
  100. package/dist/contracts/system.contract.js +107 -14
  101. package/dist/contracts/system.contract.js.map +1 -1
  102. package/dist/contracts/translator.contract.d.ts.map +1 -1
  103. package/dist/contracts/translator.contract.js +29 -4
  104. package/dist/contracts/translator.contract.js.map +1 -1
  105. package/dist/contracts/usage.contract.d.ts.map +1 -1
  106. package/dist/contracts/usage.contract.js +9 -1
  107. package/dist/contracts/usage.contract.js.map +1 -1
  108. package/dist/contracts/vpn.contract.d.ts.map +1 -1
  109. package/dist/contracts/vpn.contract.js +32 -4
  110. package/dist/contracts/vpn.contract.js.map +1 -1
  111. package/dist/contracts/workflows.contract.d.ts.map +1 -1
  112. package/dist/contracts/workflows.contract.js +70 -8
  113. package/dist/contracts/workflows.contract.js.map +1 -1
  114. package/dist/contracts/workspace.contract.d.ts.map +1 -1
  115. package/dist/contracts/workspace.contract.js +216 -25
  116. package/dist/contracts/workspace.contract.js.map +1 -1
  117. package/dist/events.d.ts.map +1 -1
  118. package/dist/events.js +179 -88
  119. package/dist/events.js.map +1 -1
  120. package/dist/history-state.d.ts.map +1 -1
  121. package/dist/history-state.js +1 -0
  122. package/dist/history-state.js.map +1 -1
  123. package/dist/index.d.ts +1 -0
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/schemas.d.ts +1 -0
  126. package/dist/schemas.d.ts.map +1 -1
  127. package/dist/schemas.js +2856 -1276
  128. package/dist/schemas.js.map +1 -1
  129. package/package.json +4 -4
  130. package/src/agent-catalog.test.ts +48 -3
  131. package/src/agent-catalog.ts +88 -0
  132. package/src/capability-ledger.test.ts +21 -2
  133. package/src/contracts/activity.contract.ts +18 -2
  134. package/src/contracts/agent.contract.ts +78 -8
  135. package/src/contracts/agents.contract.ts +180 -19
  136. package/src/contracts/automations.contract.ts +80 -9
  137. package/src/contracts/capabilities.contract.ts +106 -11
  138. package/src/contracts/chores.contract.ts +29 -3
  139. package/src/contracts/ci.contract.ts +55 -6
  140. package/src/contracts/claude.contract.ts +47 -5
  141. package/src/contracts/drafts.contract.ts +26 -3
  142. package/src/contracts/endpoints.contract.ts +19 -2
  143. package/src/contracts/exit.contract.ts +69 -7
  144. package/src/contracts/extensions.contract.ts +134 -15
  145. package/src/contracts/git.contract.ts +421 -43
  146. package/src/contracts/grok.contract.ts +26 -3
  147. package/src/contracts/history.contract.ts +37 -4
  148. package/src/contracts/intentic.contract.ts +28 -3
  149. package/src/contracts/inventory.contract.ts +27 -3
  150. package/src/contracts/logs.contract.ts +18 -2
  151. package/src/contracts/loops.contract.ts +58 -6
  152. package/src/contracts/panels.contract.ts +26 -3
  153. package/src/contracts/personas.contract.ts +77 -8
  154. package/src/contracts/ports.contract.ts +27 -3
  155. package/src/contracts/prepush.contract.ts +26 -3
  156. package/src/contracts/providers.contract.ts +10 -1
  157. package/src/contracts/public.contract.ts +29 -3
  158. package/src/contracts/push.contract.ts +37 -4
  159. package/src/contracts/secrets.contract.ts +46 -5
  160. package/src/contracts/sessions.contract.ts +16 -2
  161. package/src/contracts/settings.contract.ts +46 -5
  162. package/src/contracts/share.contract.ts +37 -4
  163. package/src/contracts/skills.contract.ts +39 -4
  164. package/src/contracts/system.contract.ts +119 -14
  165. package/src/contracts/translator.contract.ts +32 -4
  166. package/src/contracts/usage.contract.ts +10 -1
  167. package/src/contracts/vpn.contract.ts +35 -4
  168. package/src/contracts/workflows.contract.ts +77 -8
  169. package/src/contracts/workspace.contract.ts +231 -25
  170. package/src/events.ts +207 -88
  171. package/src/history-state.ts +6 -0
  172. package/src/schemas.ts +3506 -1260
@@ -1,8 +1,29 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { OkSchema, PrepushRunSchema } from "../schemas.js";
3
3
  export const prepushContract = {
4
- state: oc.route({ method: "GET", path: "/prepush/state" }).output(PrepushRunSchema),
5
- run: oc.route({ method: "POST", path: "/prepush/run" }).output(OkSchema),
6
- cancel: oc.route({ method: "POST", path: "/prepush/cancel" }).output(OkSchema),
4
+ state: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/prepush/state",
8
+ summary: "How the pre-push check is going",
9
+ description: "The verdict, or the progress so far. Nothing is addressed by id here, because there is one working tree and so exactly one check.",
10
+ })
11
+ .output(PrepushRunSchema),
12
+ run: oc
13
+ .route({
14
+ method: "POST",
15
+ path: "/prepush/run",
16
+ summary: "Run the checks before pushing",
17
+ description: "Starts the suite the workspace runs before anything leaves the machine, and answers immediately. A suite takes minutes, and a request held open that long dies at the first proxy. It runs in a real terminal, so watch it there and poll for the verdict.",
18
+ })
19
+ .output(OkSchema),
20
+ cancel: oc
21
+ .route({
22
+ method: "POST",
23
+ path: "/prepush/cancel",
24
+ summary: "Stop the pre-push check",
25
+ description: "Kills the run. It settles as cancelled and the push it was gating does not go.",
26
+ })
27
+ .output(OkSchema),
7
28
  };
8
29
  //# sourceMappingURL=prepush.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepush.contract.js","sourceRoot":"","sources":["../../src/contracts/prepush.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAW3D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACnF,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACxE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CACjF,CAAC"}
1
+ {"version":3,"file":"prepush.contract.js","sourceRoot":"","sources":["../../src/contracts/prepush.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAW3D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,KAAK,EAAE,EAAE;SACJ,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,iCAAiC;QAC1C,WAAW,EACP,mIAAmI;KAC1I,CAAC;SACD,MAAM,CAAC,gBAAgB,CAAC;IAC7B,GAAG,EAAE,EAAE;SACF,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,+BAA+B;QACxC,WAAW,EACP,4PAA4P;KACnQ,CAAC;SACD,MAAM,CAAC,QAAQ,CAAC;IACrB,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,yBAAyB;QAClC,WAAW,EAAE,gFAAgF;KAChG,CAAC;SACD,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"providers.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/providers.contract.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,iBAAiB;IAG1B,MAAM;;;;;;;;;;;;;;;;;;;;;CACT,CAAC"}
1
+ {"version":3,"file":"providers.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/providers.contract.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,iBAAiB;IAG1B,MAAM;;;;;;;;;;;;;;;;;;;;;CAUT,CAAC"}
@@ -1,6 +1,14 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { ModelsSchema, NativeProviderParamSchema } from "../schemas.js";
3
3
  export const providersContract = {
4
- models: oc.route({ method: "GET", path: "/providers/{provider}/models" }).input(NativeProviderParamSchema).output(ModelsSchema),
4
+ models: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/providers/{provider}/models",
8
+ summary: "Models one provider offers",
9
+ description: "Every model this provider serves and which one it defaults to. Never empty: it is discovered live with a stored list behind it. The order is the provider's own preference and is not rearranged here.",
10
+ })
11
+ .input(NativeProviderParamSchema)
12
+ .output(ModelsSchema),
5
13
  };
6
14
  //# sourceMappingURL=providers.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.contract.js","sourceRoot":"","sources":["../../src/contracts/providers.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAiBxE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAG7B,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;CAClI,CAAC"}
1
+ {"version":3,"file":"providers.contract.js","sourceRoot":"","sources":["../../src/contracts/providers.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAiBxE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAG7B,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,4BAA4B;QACrC,WAAW,EACP,wMAAwM;KAC/M,CAAC;SACD,KAAK,CAAC,yBAAyB,CAAC;SAChC,MAAM,CAAC,YAAY,CAAC;CAC5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"public.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/public.contract.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc;IACvB,IAAI;;;;;;;;;;IACJ,OAAO;;;;;;IACP,SAAS;;;;;CACZ,CAAC"}
1
+ {"version":3,"file":"public.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/public.contract.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc;IACvB,IAAI;;;;;;;;;;IASJ,OAAO;;;;;;IAUP,SAAS;;;;;CAUZ,CAAC"}
@@ -1,8 +1,31 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { OkSchema, PublicListSchema, PublishResultSchema, PublishSchema, UnpublishSchema } from "../schemas.js";
3
3
  export const publicContract = {
4
- list: oc.route({ method: "GET", path: "/public" }).output(PublicListSchema),
5
- publish: oc.route({ method: "POST", path: "/public/publish" }).input(PublishSchema).output(PublishResultSchema),
6
- unpublish: oc.route({ method: "POST", path: "/public/unpublish" }).input(UnpublishSchema).output(OkSchema),
4
+ list: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/public",
8
+ summary: "What is published to the internet",
9
+ description: "Everything currently in the outbox and the address it answers on. There is no call to read a published file back: it is served openly to anyone with the link, which is the entire point of having put it there.",
10
+ })
11
+ .output(PublicListSchema),
12
+ publish: oc
13
+ .route({
14
+ method: "POST",
15
+ path: "/public/publish",
16
+ summary: "Put a file on the internet",
17
+ description: "Copies a workspace file or folder into the outbox, where it is served to anyone with the link and no sign-in. Answers with the address.",
18
+ })
19
+ .input(PublishSchema)
20
+ .output(PublishResultSchema),
21
+ unpublish: oc
22
+ .route({
23
+ method: "POST",
24
+ path: "/public/unpublish",
25
+ summary: "Take something off the internet",
26
+ description: "Withdraws one published entry. When the last one goes, the outbox goes with it, so its existing at all always means something is published.",
27
+ })
28
+ .input(UnpublishSchema)
29
+ .output(OkSchema),
7
30
  };
8
31
  //# sourceMappingURL=public.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.contract.js","sourceRoot":"","sources":["../../src/contracts/public.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQhH,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,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAC/G,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CAC7G,CAAC"}
1
+ {"version":3,"file":"public.contract.js","sourceRoot":"","sources":["../../src/contracts/public.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQhH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EACP,kNAAkN;KACzN,CAAC;SACD,MAAM,CAAC,gBAAgB,CAAC;IAC7B,OAAO,EAAE,EAAE;SACN,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,4BAA4B;QACrC,WAAW,EACP,yIAAyI;KAChJ,CAAC;SACD,KAAK,CAAC,aAAa,CAAC;SACpB,MAAM,CAAC,mBAAmB,CAAC;IAChC,SAAS,EAAE,EAAE;SACR,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,iCAAiC;QAC1C,WAAW,EACP,6IAA6I;KACpJ,CAAC;SACD,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"push.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/push.contract.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY;IACrB,MAAM;;;;;;IACN,SAAS;;;;;;;;;;;;;;;IACT,WAAW;;;;;IACX,IAAI;;;CACP,CAAC"}
1
+ {"version":3,"file":"push.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/push.contract.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY;IACrB,MAAM;;;;;;IASN,SAAS;;;;;;;;;;;;;;;IAUT,WAAW;;;;;IASX,IAAI;;;CASP,CAAC"}
@@ -1,9 +1,40 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { OkSchema, PushChannelIdSchema, PushChannelSchema, PushConfigQuerySchema, PushConfigSchema, PushTestSchema } from "../schemas.js";
3
3
  export const pushContract = {
4
- config: oc.route({ method: "GET", path: "/push/config" }).input(PushConfigQuerySchema).output(PushConfigSchema),
5
- subscribe: oc.route({ method: "POST", path: "/push/subscribe" }).input(PushChannelSchema).output(OkSchema),
6
- unsubscribe: oc.route({ method: "POST", path: "/push/unsubscribe" }).input(PushChannelIdSchema).output(OkSchema),
7
- test: oc.route({ method: "POST", path: "/push/test" }).output(PushTestSchema),
4
+ config: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/push/config",
8
+ summary: "What a device needs to subscribe",
9
+ description: "The public key and settings a browser or app needs before it can register for notifications from this sandbox.",
10
+ })
11
+ .input(PushConfigQuerySchema)
12
+ .output(PushConfigSchema),
13
+ subscribe: oc
14
+ .route({
15
+ method: "POST",
16
+ path: "/push/subscribe",
17
+ summary: "Send notifications to this device",
18
+ description: "Registers one device. The sandbox only interrupts you on the three moments where attention is genuinely wanted: a turn has finished, the agent is stuck on a question, and something is waiting for approval.",
19
+ })
20
+ .input(PushChannelSchema)
21
+ .output(OkSchema),
22
+ unsubscribe: oc
23
+ .route({
24
+ method: "POST",
25
+ path: "/push/unsubscribe",
26
+ summary: "Stop notifying a device",
27
+ description: "Removes one registered device. Others keep receiving.",
28
+ })
29
+ .input(PushChannelIdSchema)
30
+ .output(OkSchema),
31
+ test: oc
32
+ .route({
33
+ method: "POST",
34
+ path: "/push/test",
35
+ summary: "Send a test notification",
36
+ description: "Proves the whole chain end to end. Worth having, because there are four separate places a notification can be lost that nobody can inspect from the outside: the device's permission, its registration, the sandbox's key, and the delivery service.",
37
+ })
38
+ .output(PushTestSchema),
8
39
  };
9
40
  //# sourceMappingURL=push.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.contract.js","sourceRoot":"","sources":["../../src/contracts/push.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAW1I,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC/G,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC1G,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAChH,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;CAChF,CAAC"}
1
+ {"version":3,"file":"push.contract.js","sourceRoot":"","sources":["../../src/contracts/push.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAW1I,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,kCAAkC;QAC3C,WAAW,EAAE,gHAAgH;KAChI,CAAC;SACD,KAAK,CAAC,qBAAqB,CAAC;SAC5B,MAAM,CAAC,gBAAgB,CAAC;IAC7B,SAAS,EAAE,EAAE;SACR,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EACP,+MAA+M;KACtN,CAAC;SACD,KAAK,CAAC,iBAAiB,CAAC;SACxB,MAAM,CAAC,QAAQ,CAAC;IACrB,WAAW,EAAE,EAAE;SACV,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,yBAAyB;QAClC,WAAW,EAAE,uDAAuD;KACvE,CAAC;SACD,KAAK,CAAC,mBAAmB,CAAC;SAC1B,MAAM,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,0BAA0B;QACnC,WAAW,EACP,sPAAsP;KAC7P,CAAC;SACD,MAAM,CAAC,cAAc,CAAC;CAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/secrets.contract.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe;IACxB,GAAG;;;;;;IACH,IAAI;;;IACJ,MAAM;;;;;IACN,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACT,MAAM;;;;;CACT,CAAC"}
1
+ {"version":3,"file":"secrets.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/secrets.contract.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe;IACxB,GAAG;;;;;;IAUH,IAAI;;;IAQJ,MAAM;;;;;IASN,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAST,MAAM;;;;;CAUT,CAAC"}
@@ -1,10 +1,48 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { OkSchema, SecretInventorySchema, SecretKeyParamSchema, SecretKeysSchema, SecretRevealSchema, SecretSetSchema } from "../schemas.js";
3
3
  export const secretsContract = {
4
- set: oc.route({ method: "POST", path: "/secrets" }).input(SecretSetSchema).output(OkSchema),
5
- list: oc.route({ method: "GET", path: "/secrets" }).output(SecretKeysSchema),
6
- remove: oc.route({ method: "DELETE", path: "/secrets/{key}" }).input(SecretKeyParamSchema).output(OkSchema),
7
- inventory: oc.route({ method: "GET", path: "/secrets/inventory" }).output(SecretInventorySchema),
8
- reveal: oc.route({ method: "POST", path: "/secrets/reveal" }).input(SecretKeyParamSchema).output(SecretRevealSchema),
4
+ set: oc
5
+ .route({
6
+ method: "POST",
7
+ path: "/secrets",
8
+ summary: "Store a secret",
9
+ description: "Writes one name and value into the sandbox's own store, where running processes pick it up without a restart. Refused until the sandbox has somewhere to keep them.",
10
+ })
11
+ .input(SecretSetSchema)
12
+ .output(OkSchema),
13
+ list: oc
14
+ .route({
15
+ method: "GET",
16
+ path: "/secrets",
17
+ summary: "Names of the stored secrets",
18
+ description: "Which secrets exist here. Names only, never values.",
19
+ })
20
+ .output(SecretKeysSchema),
21
+ remove: oc
22
+ .route({
23
+ method: "DELETE",
24
+ path: "/secrets/{key}",
25
+ summary: "Delete a secret",
26
+ description: "Removes one by name.",
27
+ })
28
+ .input(SecretKeyParamSchema)
29
+ .output(OkSchema),
30
+ inventory: oc
31
+ .route({
32
+ method: "GET",
33
+ path: "/secrets/inventory",
34
+ summary: "Every secret this sandbox holds, from everywhere",
35
+ description: "One view across all the places secrets live here: what exists, where it came from and whether it is working. Never any values. This one always answers, even before there is a store to write to.",
36
+ })
37
+ .output(SecretInventorySchema),
38
+ reveal: oc
39
+ .route({
40
+ method: "POST",
41
+ path: "/secrets/reveal",
42
+ summary: "Show one secret's value",
43
+ description: "The only call that hands a value back, and it is for the owner alone. Sent as a body rather than in the address, so the name never ends up in a log or a browser's history.",
44
+ })
45
+ .input(SecretKeyParamSchema)
46
+ .output(SecretRevealSchema),
9
47
  };
10
48
  //# sourceMappingURL=secrets.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.contract.js","sourceRoot":"","sources":["../../src/contracts/secrets.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAO7I,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3F,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC5E,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3G,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAChG,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;CACvH,CAAC"}
1
+ {"version":3,"file":"secrets.contract.js","sourceRoot":"","sources":["../../src/contracts/secrets.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAO7I,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,GAAG,EAAE,EAAE;SACF,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EACP,qKAAqK;KAC5K,CAAC;SACD,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,QAAQ,CAAC;IACrB,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,6BAA6B;QACtC,WAAW,EAAE,qDAAqD;KACrE,CAAC;SACD,MAAM,CAAC,gBAAgB,CAAC;IAC7B,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,sBAAsB;KACtC,CAAC;SACD,KAAK,CAAC,oBAAoB,CAAC;SAC3B,MAAM,CAAC,QAAQ,CAAC;IACrB,SAAS,EAAE,EAAE;SACR,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,kDAAkD;QAC3D,WAAW,EACP,mMAAmM;KAC1M,CAAC;SACD,MAAM,CAAC,qBAAqB,CAAC;IAClC,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,yBAAyB;QAClC,WAAW,EACP,6KAA6K;KACpL,CAAC;SACD,KAAK,CAAC,oBAAoB,CAAC;SAC3B,MAAM,CAAC,kBAAkB,CAAC;CAClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/sessions.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,gBAAgB;IACzB,IAAI;;;;;;;;;;;;;;;;;IAIJ,GAAG;;;;;;;;;;;;;;;;;;;;;;CACN,CAAC"}
1
+ {"version":3,"file":"sessions.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/sessions.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,gBAAgB;IACzB,IAAI;;;;;;;;;;;;;;;;;IAUJ,GAAG;;;;;;;;;;;;;;;;;;;;;;CASN,CAAC"}
@@ -4,9 +4,22 @@ import { SessionTranscriptSchema } from "../events.js";
4
4
  import { SessionIdParamSchema, SessionsListSchema } from "../schemas.js";
5
5
  export const sessionsContract = {
6
6
  list: oc
7
- .route({ method: "GET", path: "/sessions" })
7
+ .route({
8
+ method: "GET",
9
+ path: "/sessions",
10
+ summary: "Past conversations in this workspace",
11
+ description: "Summaries for a history menu, filtered when you pass a search. Covers conversations that worked in their own private copies too, so nothing is hidden just because it happened on a branch.",
12
+ })
8
13
  .input(z.object({ query: z.string().optional(), caseSensitive: z.stringbool().optional() }))
9
14
  .output(SessionsListSchema),
10
- get: oc.route({ method: "GET", path: "/sessions/{id}" }).input(SessionIdParamSchema).output(SessionTranscriptSchema),
15
+ get: oc
16
+ .route({
17
+ method: "GET",
18
+ path: "/sessions/{id}",
19
+ summary: "Read one past conversation",
20
+ description: "The full record of a single conversation, restored for display.",
21
+ })
22
+ .input(SessionIdParamSchema)
23
+ .output(SessionTranscriptSchema),
11
24
  };
12
25
  //# sourceMappingURL=sessions.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.contract.js","sourceRoot":"","sources":["../../src/contracts/sessions.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,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAUzE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,IAAI,EAAE,EAAE;SACH,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;SAC3C,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SAC3F,MAAM,CAAC,kBAAkB,CAAC;IAC/B,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC;CACvH,CAAC"}
1
+ {"version":3,"file":"sessions.contract.js","sourceRoot":"","sources":["../../src/contracts/sessions.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,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAUzE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,sCAAsC;QAC/C,WAAW,EACP,6LAA6L;KACpM,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SAC3F,MAAM,CAAC,kBAAkB,CAAC;IAC/B,GAAG,EAAE,EAAE;SACF,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,4BAA4B;QACrC,WAAW,EAAE,iEAAiE;KACjF,CAAC;SACD,KAAK,CAAC,oBAAoB,CAAC;SAC3B,MAAM,CAAC,uBAAuB,CAAC;CACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/settings.contract.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,gBAAgB;IACzB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACH,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACP,aAAa;;;;;;;;;IAIb,OAAO;CACV,CAAC"}
1
+ {"version":3,"file":"settings.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/settings.contract.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,gBAAgB;IACzB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASH,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUP,aAAa;;;;;;;;;IAab,OAAO;CASV,CAAC"}
@@ -1,10 +1,48 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { BuiltinPromptSchema, BuiltinPromptTextSchema, DayWindowQuerySchema, OkSchema, RuleFiringsSchema, SandboxSettingsSchema, SavingsReportSchema, } from "../schemas.js";
3
3
  export const settingsContract = {
4
- get: oc.route({ method: "GET", path: "/settings" }).output(SandboxSettingsSchema),
5
- set: oc.route({ method: "POST", path: "/settings" }).input(SandboxSettingsSchema).output(OkSchema),
6
- savings: oc.route({ method: "GET", path: "/settings/savings" }).input(DayWindowQuerySchema).output(SavingsReportSchema),
7
- builtinPrompt: oc.route({ method: "GET", path: "/settings/system-prompt/{base}" }).input(BuiltinPromptSchema).output(BuiltinPromptTextSchema),
8
- firings: oc.route({ method: "GET", path: "/settings/rule-firings" }).output(RuleFiringsSchema),
4
+ get: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/settings",
8
+ summary: "How this sandbox is configured",
9
+ description: "Every setting that governs how agents behave here, with the defaults filled in for anything nobody has chosen.",
10
+ })
11
+ .output(SandboxSettingsSchema),
12
+ set: oc
13
+ .route({
14
+ method: "POST",
15
+ path: "/settings",
16
+ summary: "Change the sandbox settings",
17
+ description: "Writes the settings whole, so send the complete object rather than the fields you changed.",
18
+ })
19
+ .input(SandboxSettingsSchema)
20
+ .output(OkSchema),
21
+ savings: oc
22
+ .route({
23
+ method: "GET",
24
+ path: "/settings/savings",
25
+ summary: "What the token-saving measures were worth",
26
+ description: "Measured rather than estimated: what each mechanism actually saved over a range of days. The same day range the spending ledger takes, so one calendar filters both.",
27
+ })
28
+ .input(DayWindowQuerySchema)
29
+ .output(SavingsReportSchema),
30
+ builtinPrompt: oc
31
+ .route({
32
+ method: "GET",
33
+ path: "/settings/system-prompt/{base}",
34
+ summary: "Read a built-in system prompt",
35
+ description: "The actual text behind one of the built-in modes, so a settings screen can show the prompt instead of asking anyone to trust a description of it, and so either can be forked into a custom one.",
36
+ })
37
+ .input(BuiltinPromptSchema)
38
+ .output(BuiltinPromptTextSchema),
39
+ firings: oc
40
+ .route({
41
+ method: "GET",
42
+ path: "/settings/rule-firings",
43
+ summary: "When each rule last did something",
44
+ description: "A separate read rather than a field on the settings, because a rule firing is not somebody editing anything: folding it in would turn every firing into a settings write and put a self-changing value inside the object a screen edits.",
45
+ })
46
+ .output(RuleFiringsSchema),
9
47
  };
10
48
  //# sourceMappingURL=settings.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.contract.js","sourceRoot":"","sources":["../../src/contracts/settings.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,eAAe,CAAC;AASvB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;IACjF,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAClG,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACvH,aAAa,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAI7I,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;CACjG,CAAC"}
1
+ {"version":3,"file":"settings.contract.js","sourceRoot":"","sources":["../../src/contracts/settings.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,eAAe,CAAC;AASvB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,GAAG,EAAE,EAAE;SACF,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,gHAAgH;KAChI,CAAC;SACD,MAAM,CAAC,qBAAqB,CAAC;IAClC,GAAG,EAAE,EAAE;SACF,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,6BAA6B;QACtC,WAAW,EAAE,4FAA4F;KAC5G,CAAC;SACD,KAAK,CAAC,qBAAqB,CAAC;SAC5B,MAAM,CAAC,QAAQ,CAAC;IACrB,OAAO,EAAE,EAAE;SACN,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,2CAA2C;QACpD,WAAW,EACP,sKAAsK;KAC7K,CAAC;SACD,KAAK,CAAC,oBAAoB,CAAC;SAC3B,MAAM,CAAC,mBAAmB,CAAC;IAChC,aAAa,EAAE,EAAE;SACZ,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,+BAA+B;QACxC,WAAW,EACP,kMAAkM;KACzM,CAAC;SACD,KAAK,CAAC,mBAAmB,CAAC;SAC1B,MAAM,CAAC,uBAAuB,CAAC;IAIpC,OAAO,EAAE,EAAE;SACN,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EACP,0OAA0O;KACjP,CAAC;SACD,MAAM,CAAC,iBAAiB,CAAC;CACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"share.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/share.contract.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,aAAa;IACtB,IAAI;;;;;;;;;;;;;;IAEJ,MAAM;;;;;;;;;;;;;;;;;;;IAEN,MAAM;;;;;;;;;;;;;;IACN,MAAM;;;;;CACT,CAAC"}
1
+ {"version":3,"file":"share.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/share.contract.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,aAAa;IACtB,IAAI;;;;;;;;;;;;;;IAUJ,MAAM;;;;;;;;;;;;;;;;;;;IAWN,MAAM;;;;;;;;;;;;;;IASN,MAAM;;;;;CAST,CAAC"}
@@ -1,9 +1,40 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { OkSchema, ShareCreateSchema, ShareListSchema, ShareRemoveSchema, ShareUpdateSchema, SharedConversationSchema } from "../schemas.js";
3
3
  export const shareContract = {
4
- list: oc.route({ method: "GET", path: "/share" }).output(ShareListSchema),
5
- create: oc.route({ method: "POST", path: "/share" }).input(ShareCreateSchema).output(SharedConversationSchema),
6
- update: oc.route({ method: "POST", path: "/share/update" }).input(ShareUpdateSchema).output(SharedConversationSchema),
7
- remove: oc.route({ method: "POST", path: "/share/remove" }).input(ShareRemoveSchema).output(OkSchema),
4
+ list: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/share",
8
+ summary: "Conversations published as pages",
9
+ description: "Every conversation that has been turned into a read-only page, with its link. There is no call to read one back: the page itself is the read, and it answers to anyone who has the link.",
10
+ })
11
+ .output(ShareListSchema),
12
+ create: oc
13
+ .route({
14
+ method: "POST",
15
+ path: "/share",
16
+ summary: "Publish a conversation",
17
+ description: "Renders a conversation into a page anybody with the link can read, without signing in. Answers with the link, so nothing has to be listed again to find it.",
18
+ })
19
+ .input(ShareCreateSchema)
20
+ .output(SharedConversationSchema),
21
+ update: oc
22
+ .route({
23
+ method: "POST",
24
+ path: "/share/update",
25
+ summary: "Refresh a published page",
26
+ description: "Re-renders an existing page from the conversation as it stands now. Same link, newer contents.",
27
+ })
28
+ .input(ShareUpdateSchema)
29
+ .output(SharedConversationSchema),
30
+ remove: oc
31
+ .route({
32
+ method: "POST",
33
+ path: "/share/remove",
34
+ summary: "Unpublish a conversation",
35
+ description: "Takes the page down, so the link stops answering.",
36
+ })
37
+ .input(ShareRemoveSchema)
38
+ .output(OkSchema),
8
39
  };
9
40
  //# sourceMappingURL=share.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"share.contract.js","sourceRoot":"","sources":["../../src/contracts/share.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAW7I,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;IAEzE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC;IAE9G,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC;IACrH,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CACxG,CAAC"}
1
+ {"version":3,"file":"share.contract.js","sourceRoot":"","sources":["../../src/contracts/share.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAW7I,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,kCAAkC;QAC3C,WAAW,EACP,0LAA0L;KACjM,CAAC;SACD,MAAM,CAAC,eAAe,CAAC;IAE5B,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,wBAAwB;QACjC,WAAW,EACP,6JAA6J;KACpK,CAAC;SACD,KAAK,CAAC,iBAAiB,CAAC;SACxB,MAAM,CAAC,wBAAwB,CAAC;IAErC,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,0BAA0B;QACnC,WAAW,EAAE,gGAAgG;KAChH,CAAC;SACD,KAAK,CAAC,iBAAiB,CAAC;SACxB,MAAM,CAAC,wBAAwB,CAAC;IACrC,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,0BAA0B;QACnC,WAAW,EAAE,mDAAmD;KACnE,CAAC;SACD,KAAK,CAAC,iBAAiB,CAAC;SACxB,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skills.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/skills.contract.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,cAAc;IACvB,IAAI;;;;;;;;;;;;;;;;;;;IACJ,IAAI;;;;;;;IAGJ,IAAI;;;;;;;IACJ,MAAM;;;;;CACT,CAAC"}
1
+ {"version":3,"file":"skills.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/skills.contract.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,cAAc;IACvB,IAAI;;;;;;;;;;;;;;;;;;;IASJ,IAAI;;;;;;;IAYJ,IAAI;;;;;;;IAUJ,MAAM;;;;;CAUT,CAAC"}
@@ -1,9 +1,40 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { OkSchema, SkillBodySchema, SkillDraftSchema, SkillIdSchema, SkillRemoveSchema, SkillsListSchema } from "../schemas.js";
3
3
  export const skillsContract = {
4
- list: oc.route({ method: "GET", path: "/skills" }).output(SkillsListSchema),
5
- read: oc.route({ method: "GET", path: "/skills/read" }).input(SkillIdSchema).output(SkillBodySchema),
6
- save: oc.route({ method: "POST", path: "/skills" }).input(SkillDraftSchema).output(OkSchema),
7
- remove: oc.route({ method: "POST", path: "/skills/remove" }).input(SkillRemoveSchema).output(OkSchema),
4
+ list: oc
5
+ .route({
6
+ method: "GET",
7
+ path: "/skills",
8
+ summary: "What the agent knows how to do",
9
+ description: "Every skill available here and whether it is switched on, joined from all four places they come from: the owner's own, the settings, plugins a connection installed, and folders inside extensions.",
10
+ })
11
+ .output(SkillsListSchema),
12
+ read: oc
13
+ .route({
14
+ method: "GET",
15
+ path: "/skills/read",
16
+ summary: "Read one skill",
17
+ description: "The full text of a single skill. The name travels in the query rather than the address, because a name can carry the owner it came from and that will not fit in a path.",
18
+ })
19
+ .input(SkillIdSchema)
20
+ .output(SkillBodySchema),
21
+ save: oc
22
+ .route({
23
+ method: "POST",
24
+ path: "/skills",
25
+ summary: "Write a skill",
26
+ description: "Creates or rewrites a skill by name, and switches it on, because you wrote it in order to use it. Renaming is saving under the new name and deleting the old.",
27
+ })
28
+ .input(SkillDraftSchema)
29
+ .output(OkSchema),
30
+ remove: oc
31
+ .route({
32
+ method: "POST",
33
+ path: "/skills/remove",
34
+ summary: "Delete a skill",
35
+ description: "Removes the text and takes it off the enabled list in one step, so a screen never has to sequence two calls and never leaves one half done.",
36
+ })
37
+ .input(SkillRemoveSchema)
38
+ .output(OkSchema),
8
39
  };
9
40
  //# sourceMappingURL=skills.contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.contract.js","sourceRoot":"","sources":["../../src/contracts/skills.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAehI,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,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;IAGpG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC5F,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;CACzG,CAAC"}
1
+ {"version":3,"file":"skills.contract.js","sourceRoot":"","sources":["../../src/contracts/skills.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAehI,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gCAAgC;QACzC,WAAW,EACP,qMAAqM;KAC5M,CAAC;SACD,MAAM,CAAC,gBAAgB,CAAC;IAC7B,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EACP,0KAA0K;KACjL,CAAC;SACD,KAAK,CAAC,aAAa,CAAC;SACpB,MAAM,CAAC,eAAe,CAAC;IAG5B,IAAI,EAAE,EAAE;SACH,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,eAAe;QACxB,WAAW,EACP,+JAA+J;KACtK,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,gBAAgB;QACtB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EACP,6IAA6I;KACpJ,CAAC;SACD,KAAK,CAAC,iBAAiB,CAAC;SACxB,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"system.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/system.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,eAAO,MAAM,cAAc;IACvB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;IAIJ,gBAAgB;;;;;;;;;;;;IAGhB,OAAO;;;;;IACP,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKN,QAAQ;;;;;;;;;IAER,KAAK;;;;;;;;;;;;IAKL,SAAS;;;;;;;;;;;;;;;;;;;;;;;;IACT,YAAY;;;;;IAIZ,kBAAkB;;;;;;;;;IASlB,QAAQ;;;;;;;;;;;;;;;;;;;;;IACR,YAAY;;;;;IAQZ,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACT,kBAAkB;;;;;;;;;;;;;;;;;;;;;;IAWlB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIvB,CAAC"}
1
+ {"version":3,"file":"system.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/system.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,eAAO,MAAM,cAAc;IACvB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;IAYJ,gBAAgB;;;;;;;;;;;;IAWhB,OAAO;;;;;IASP,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWN,QAAQ;;;;;;;;;IAWR,KAAK;;;;;;;;;;;;IAYL,SAAS;;;;;;;;;;;;;;;;;;;;;;;;IAST,YAAY;;;;;IAYZ,kBAAkB;;;;;;;;;IAelB,QAAQ;;;;;;;;;;;;;;;;;;;;;IASR,YAAY;;;;;IAiBZ,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAST,kBAAkB;;;;;;;;;;;;;;;;;;;;;;IAiBlB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUvB,CAAC"}