@intentic/sandbox-contract 1.244.0 → 1.246.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 (211) hide show
  1. package/README.md +17 -1
  2. package/dist/batch-runs.d.ts +32 -0
  3. package/dist/batch-runs.d.ts.map +1 -0
  4. package/dist/batch-runs.js +43 -0
  5. package/dist/batch-runs.js.map +1 -0
  6. package/dist/command-classes.d.ts +6 -3
  7. package/dist/command-classes.d.ts.map +1 -1
  8. package/dist/command-classes.js +43 -18
  9. package/dist/command-classes.js.map +1 -1
  10. package/dist/contracts/{cursor.contract.d.ts → accounts.contract.d.ts} +102 -3
  11. package/dist/contracts/accounts.contract.d.ts.map +1 -0
  12. package/dist/contracts/accounts.contract.js +61 -0
  13. package/dist/contracts/accounts.contract.js.map +1 -0
  14. package/dist/contracts/agents.contract.d.ts +121 -0
  15. package/dist/contracts/agents.contract.d.ts.map +1 -1
  16. package/dist/contracts/agents.contract.js +4 -4
  17. package/dist/contracts/agents.contract.js.map +1 -1
  18. package/dist/contracts/ci.contract.d.ts +2 -0
  19. package/dist/contracts/ci.contract.d.ts.map +1 -1
  20. package/dist/contracts/host.contract.d.ts +35 -0
  21. package/dist/contracts/host.contract.d.ts.map +1 -1
  22. package/dist/contracts/host.contract.js +3 -2
  23. package/dist/contracts/host.contract.js.map +1 -1
  24. package/dist/contracts/personas.contract.d.ts +4 -2
  25. package/dist/contracts/personas.contract.d.ts.map +1 -1
  26. package/dist/contracts/runner.contract.d.ts +2 -2
  27. package/dist/contracts/settings.contract.d.ts +2 -51
  28. package/dist/contracts/settings.contract.d.ts.map +1 -1
  29. package/dist/contracts/system.contract.d.ts +52 -2
  30. package/dist/contracts/system.contract.d.ts.map +1 -1
  31. package/dist/contracts/system.contract.js +26 -17
  32. package/dist/contracts/system.contract.js.map +1 -1
  33. package/dist/definition.d.ts +4 -8
  34. package/dist/definition.d.ts.map +1 -1
  35. package/dist/documents.d.ts +0 -1
  36. package/dist/documents.d.ts.map +1 -1
  37. package/dist/documents.js +1 -2
  38. package/dist/documents.js.map +1 -1
  39. package/dist/embed.d.ts +23 -0
  40. package/dist/embed.d.ts.map +1 -0
  41. package/dist/embed.js +84 -0
  42. package/dist/embed.js.map +1 -0
  43. package/dist/events.d.ts +21 -0
  44. package/dist/events.d.ts.map +1 -1
  45. package/dist/events.js +5 -2
  46. package/dist/events.js.map +1 -1
  47. package/dist/history-state.d.ts.map +1 -1
  48. package/dist/history-state.js +2 -0
  49. package/dist/history-state.js.map +1 -1
  50. package/dist/index.d.ts +354 -335
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +5 -13
  53. package/dist/index.js.map +1 -1
  54. package/dist/peer-dial.d.ts +33 -0
  55. package/dist/peer-dial.d.ts.map +1 -0
  56. package/dist/peer-dial.js +79 -0
  57. package/dist/peer-dial.js.map +1 -0
  58. package/dist/peer-mcp-server.d.ts +36 -0
  59. package/dist/peer-mcp-server.d.ts.map +1 -0
  60. package/dist/peer-mcp-server.js +71 -0
  61. package/dist/peer-mcp-server.js.map +1 -0
  62. package/dist/provider-specs.d.ts +38 -20
  63. package/dist/provider-specs.d.ts.map +1 -1
  64. package/dist/provider-specs.js +39 -13
  65. package/dist/provider-specs.js.map +1 -1
  66. package/dist/quick-model.d.ts.map +1 -1
  67. package/dist/quick-model.js +2 -1
  68. package/dist/quick-model.js.map +1 -1
  69. package/dist/runtime-state.d.ts +1 -1
  70. package/dist/runtime-state.js +1 -1
  71. package/dist/runtime-state.js.map +1 -1
  72. package/dist/safety-policy.d.ts +12 -3
  73. package/dist/safety-policy.d.ts.map +1 -1
  74. package/dist/safety-policy.js +30 -5
  75. package/dist/safety-policy.js.map +1 -1
  76. package/dist/schemas/agent.d.ts +6 -6
  77. package/dist/schemas/agent.d.ts.map +1 -1
  78. package/dist/schemas/agent.js +6 -2
  79. package/dist/schemas/agent.js.map +1 -1
  80. package/dist/schemas/agents.d.ts +42 -0
  81. package/dist/schemas/agents.d.ts.map +1 -1
  82. package/dist/schemas/agents.js +25 -4
  83. package/dist/schemas/agents.js.map +1 -1
  84. package/dist/schemas/automations.d.ts +11 -2
  85. package/dist/schemas/automations.d.ts.map +1 -1
  86. package/dist/schemas/automations.js +1 -1
  87. package/dist/schemas/automations.js.map +1 -1
  88. package/dist/schemas/ci.d.ts +6 -0
  89. package/dist/schemas/ci.d.ts.map +1 -1
  90. package/dist/schemas/ci.js +3 -2
  91. package/dist/schemas/ci.js.map +1 -1
  92. package/dist/schemas/context.d.ts +30 -0
  93. package/dist/schemas/context.d.ts.map +1 -0
  94. package/dist/schemas/context.js +34 -0
  95. package/dist/schemas/context.js.map +1 -0
  96. package/dist/schemas/{computers.d.ts → devices.d.ts} +155 -61
  97. package/dist/schemas/devices.d.ts.map +1 -0
  98. package/dist/schemas/devices.js +157 -0
  99. package/dist/schemas/devices.js.map +1 -0
  100. package/dist/schemas/hosts.d.ts +12 -0
  101. package/dist/schemas/hosts.d.ts.map +1 -1
  102. package/dist/schemas/hosts.js +1 -0
  103. package/dist/schemas/hosts.js.map +1 -1
  104. package/dist/schemas/issues.d.ts +0 -5
  105. package/dist/schemas/issues.d.ts.map +1 -1
  106. package/dist/schemas/issues.js +0 -1
  107. package/dist/schemas/issues.js.map +1 -1
  108. package/dist/schemas/personas.d.ts +5 -3
  109. package/dist/schemas/personas.d.ts.map +1 -1
  110. package/dist/schemas/personas.js +3 -2
  111. package/dist/schemas/personas.js.map +1 -1
  112. package/dist/schemas/provider-oauth.d.ts +48 -16
  113. package/dist/schemas/provider-oauth.d.ts.map +1 -1
  114. package/dist/schemas/provider-oauth.js +22 -20
  115. package/dist/schemas/provider-oauth.js.map +1 -1
  116. package/dist/schemas/settings.d.ts +1 -52
  117. package/dist/schemas/settings.d.ts.map +1 -1
  118. package/dist/schemas/settings.js +8 -11
  119. package/dist/schemas/settings.js.map +1 -1
  120. package/dist/schemas/terminal.js +9 -9
  121. package/dist/schemas/terminal.js.map +1 -1
  122. package/dist/schemas/usage.d.ts +0 -2
  123. package/dist/schemas/usage.d.ts.map +1 -1
  124. package/dist/schemas/usage.js +0 -2
  125. package/dist/schemas/usage.js.map +1 -1
  126. package/dist/shell-regions.d.ts +4 -0
  127. package/dist/shell-regions.d.ts.map +1 -0
  128. package/dist/shell-regions.js +156 -0
  129. package/dist/shell-regions.js.map +1 -0
  130. package/dist/workspace-state.d.ts +15 -0
  131. package/dist/workspace-state.d.ts.map +1 -1
  132. package/dist/workspace-state.js +21 -5
  133. package/dist/workspace-state.js.map +1 -1
  134. package/package.json +48 -4
  135. package/src/agent-catalog.ts +1 -1
  136. package/src/arrival.ts +3 -3
  137. package/src/batch-runs.test.ts +167 -0
  138. package/src/batch-runs.ts +181 -0
  139. package/src/command-classes.test.ts +195 -71
  140. package/src/command-classes.ts +148 -46
  141. package/src/contracts/accounts.contract.ts +94 -0
  142. package/src/contracts/agents.contract.ts +4 -3
  143. package/src/contracts/exit.contract.ts +2 -2
  144. package/src/contracts/host.contract.ts +17 -5
  145. package/src/contracts/settings.contract.ts +1 -1
  146. package/src/contracts/system.contract.ts +43 -24
  147. package/src/contracts/vpn.contract.ts +2 -2
  148. package/src/documents.test.ts +2 -1
  149. package/src/documents.ts +7 -11
  150. package/src/embed.test.ts +68 -0
  151. package/src/embed.ts +164 -0
  152. package/src/events.ts +30 -3
  153. package/src/history-state.ts +12 -3
  154. package/src/host-protocol.ts +2 -2
  155. package/src/index.ts +6 -14
  156. package/src/model-order.ts +1 -1
  157. package/src/peer-dial.test.ts +203 -0
  158. package/src/peer-dial.ts +163 -0
  159. package/src/peer-mcp-server.test.ts +104 -0
  160. package/src/peer-mcp-server.ts +144 -0
  161. package/src/provider-specs.test.ts +44 -17
  162. package/src/provider-specs.ts +147 -67
  163. package/src/quick-model.ts +10 -3
  164. package/src/routes.test.ts +6 -3
  165. package/src/runner-protocol.ts +1 -1
  166. package/src/runtime-state.ts +2 -2
  167. package/src/safety-policy.test.ts +88 -0
  168. package/src/safety-policy.ts +84 -14
  169. package/src/schemas/agent.ts +41 -13
  170. package/src/schemas/agents.ts +65 -4
  171. package/src/schemas/automations.ts +6 -4
  172. package/src/schemas/capabilities.ts +4 -4
  173. package/src/schemas/ci.ts +23 -6
  174. package/src/schemas/context.ts +87 -0
  175. package/src/schemas/{computers.ts → devices.ts} +201 -109
  176. package/src/schemas/hosts.ts +5 -1
  177. package/src/schemas/issues.ts +0 -4
  178. package/src/schemas/personas.ts +8 -3
  179. package/src/schemas/provider-oauth.ts +49 -52
  180. package/src/schemas/settings.ts +30 -54
  181. package/src/schemas/terminal.ts +12 -12
  182. package/src/schemas/usage.ts +3 -27
  183. package/src/schemas/version-seam.test.ts +0 -1
  184. package/src/shell-regions.ts +289 -0
  185. package/src/versions.ts +2 -2
  186. package/src/webext-links.ts +2 -2
  187. package/src/webext-protocol.ts +2 -2
  188. package/src/workspace-state.test.ts +55 -1
  189. package/src/workspace-state.ts +76 -11
  190. package/dist/contracts/claude.contract.d.ts +0 -91
  191. package/dist/contracts/claude.contract.d.ts.map +0 -1
  192. package/dist/contracts/claude.contract.js +0 -50
  193. package/dist/contracts/claude.contract.js.map +0 -1
  194. package/dist/contracts/cursor.contract.d.ts.map +0 -1
  195. package/dist/contracts/cursor.contract.js +0 -50
  196. package/dist/contracts/cursor.contract.js.map +0 -1
  197. package/dist/contracts/grok.contract.d.ts +0 -36
  198. package/dist/contracts/grok.contract.d.ts.map +0 -1
  199. package/dist/contracts/grok.contract.js +0 -31
  200. package/dist/contracts/grok.contract.js.map +0 -1
  201. package/dist/contracts/keys.contract.d.ts +0 -81
  202. package/dist/contracts/keys.contract.d.ts.map +0 -1
  203. package/dist/contracts/keys.contract.js +0 -51
  204. package/dist/contracts/keys.contract.js.map +0 -1
  205. package/dist/schemas/computers.d.ts.map +0 -1
  206. package/dist/schemas/computers.js +0 -134
  207. package/dist/schemas/computers.js.map +0 -1
  208. package/src/contracts/claude.contract.ts +0 -71
  209. package/src/contracts/cursor.contract.ts +0 -74
  210. package/src/contracts/grok.contract.ts +0 -41
  211. package/src/contracts/keys.contract.ts +0 -79
@@ -1,91 +0,0 @@
1
- export declare const claudeContract: {
2
- start: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
3
- authorizeUrl: import("zod").ZodString;
4
- verifier: import("zod").ZodString;
5
- state: import("zod").ZodString;
6
- }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
7
- exchange: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8
- code: import("zod").ZodString;
9
- verifier: import("zod").ZodString;
10
- state: import("zod").ZodString;
11
- label: import("zod").ZodOptional<import("zod").ZodString>;
12
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
13
- id: import("zod").ZodString;
14
- label: import("zod").ZodString;
15
- email: import("zod").ZodOptional<import("zod").ZodString>;
16
- organization: import("zod").ZodOptional<import("zod").ZodString>;
17
- scope: import("zod").ZodOptional<import("zod").ZodString>;
18
- connectedAt: import("zod").ZodNumber;
19
- needsReauth: import("zod").ZodOptional<import("zod").ZodBoolean>;
20
- detail: import("zod").ZodOptional<import("zod").ZodString>;
21
- usage: import("zod").ZodOptional<import("zod").ZodObject<{
22
- windows: import("zod").ZodArray<import("zod").ZodObject<{
23
- kind: import("zod").ZodString;
24
- label: import("zod").ZodOptional<import("zod").ZodString>;
25
- utilization: import("zod").ZodNumber;
26
- resetsAt: import("zod").ZodOptional<import("zod").ZodNumber>;
27
- gates: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"all">, import("zod").ZodLiteral<"none">, import("zod").ZodObject<{
28
- models: import("zod").ZodArray<import("zod").ZodString>;
29
- }, import("zod/v4/core").$strip>]>;
30
- }, import("zod/v4/core").$strip>>;
31
- measuredAt: import("zod").ZodNumber;
32
- }, import("zod/v4/core").$strip>>;
33
- }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
34
- accounts: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
35
- force: import("zod").ZodDefault<import("zod").ZodCodec<import("zod").ZodString, import("zod").ZodBoolean>>;
36
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
37
- accounts: import("zod").ZodArray<import("zod").ZodObject<{
38
- id: import("zod").ZodString;
39
- label: import("zod").ZodString;
40
- email: import("zod").ZodOptional<import("zod").ZodString>;
41
- organization: import("zod").ZodOptional<import("zod").ZodString>;
42
- scope: import("zod").ZodOptional<import("zod").ZodString>;
43
- connectedAt: import("zod").ZodNumber;
44
- needsReauth: import("zod").ZodOptional<import("zod").ZodBoolean>;
45
- detail: import("zod").ZodOptional<import("zod").ZodString>;
46
- usage: import("zod").ZodOptional<import("zod").ZodObject<{
47
- windows: import("zod").ZodArray<import("zod").ZodObject<{
48
- kind: import("zod").ZodString;
49
- label: import("zod").ZodOptional<import("zod").ZodString>;
50
- utilization: import("zod").ZodNumber;
51
- resetsAt: import("zod").ZodOptional<import("zod").ZodNumber>;
52
- gates: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"all">, import("zod").ZodLiteral<"none">, import("zod").ZodObject<{
53
- models: import("zod").ZodArray<import("zod").ZodString>;
54
- }, import("zod/v4/core").$strip>]>;
55
- }, import("zod/v4/core").$strip>>;
56
- measuredAt: import("zod").ZodNumber;
57
- }, import("zod/v4/core").$strip>>;
58
- }, import("zod/v4/core").$strip>>;
59
- }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
60
- rename: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
61
- id: import("zod").ZodString;
62
- label: import("zod").ZodString;
63
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
64
- id: import("zod").ZodString;
65
- label: import("zod").ZodString;
66
- email: import("zod").ZodOptional<import("zod").ZodString>;
67
- organization: import("zod").ZodOptional<import("zod").ZodString>;
68
- scope: import("zod").ZodOptional<import("zod").ZodString>;
69
- connectedAt: import("zod").ZodNumber;
70
- needsReauth: import("zod").ZodOptional<import("zod").ZodBoolean>;
71
- detail: import("zod").ZodOptional<import("zod").ZodString>;
72
- usage: import("zod").ZodOptional<import("zod").ZodObject<{
73
- windows: import("zod").ZodArray<import("zod").ZodObject<{
74
- kind: import("zod").ZodString;
75
- label: import("zod").ZodOptional<import("zod").ZodString>;
76
- utilization: import("zod").ZodNumber;
77
- resetsAt: import("zod").ZodOptional<import("zod").ZodNumber>;
78
- gates: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"all">, import("zod").ZodLiteral<"none">, import("zod").ZodObject<{
79
- models: import("zod").ZodArray<import("zod").ZodString>;
80
- }, import("zod/v4/core").$strip>]>;
81
- }, import("zod/v4/core").$strip>>;
82
- measuredAt: import("zod").ZodNumber;
83
- }, import("zod/v4/core").$strip>>;
84
- }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
85
- disconnect: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
86
- id: import("zod").ZodString;
87
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
88
- ok: import("zod").ZodLiteral<true>;
89
- }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
90
- };
91
- //# sourceMappingURL=claude.contract.d.ts.map
@@ -1 +0,0 @@
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,50 +0,0 @@
1
- import { oc } from "@orpc/contract";
2
- import { AccountIdSchema, AccountListQuerySchema, AccountRenameSchema, AuthorizeChallengeSchema, OauthAccountListSchema, OauthAccountSchema, OauthExchangeSchema, } from "../schemas/provider-oauth.js";
3
- import { OkSchema } from "../schemas/shared.js";
4
- export const claudeContract = {
5
- start: oc
6
- .route({
7
- method: "POST",
8
- path: "/claude/oauth/start",
9
- summary: "Begin connecting a Claude account",
10
- 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.",
11
- })
12
- .output(AuthorizeChallengeSchema),
13
- exchange: oc
14
- .route({
15
- method: "POST",
16
- path: "/claude/oauth/exchange",
17
- summary: "Finish connecting a Claude account",
18
- 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.",
19
- })
20
- .input(OauthExchangeSchema)
21
- .output(OauthAccountSchema),
22
- accounts: oc
23
- .route({
24
- method: "GET",
25
- path: "/claude/accounts",
26
- summary: "Connected Claude accounts",
27
- 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.",
28
- })
29
- .input(AccountListQuerySchema)
30
- .output(OauthAccountListSchema),
31
- rename: oc
32
- .route({
33
- method: "POST",
34
- path: "/claude/account/rename",
35
- summary: "Rename a Claude account",
36
- description: "Changes the label one account shows under, so several are tellable apart.",
37
- })
38
- .input(AccountRenameSchema)
39
- .output(OauthAccountSchema),
40
- disconnect: oc
41
- .route({
42
- method: "POST",
43
- path: "/claude/account/disconnect",
44
- summary: "Disconnect a Claude account",
45
- description: "Clears the stored tokens for one account. The others stay connected.",
46
- })
47
- .input(AccountIdSchema)
48
- .output(OkSchema),
49
- };
50
- //# sourceMappingURL=claude.contract.js.map
@@ -1 +0,0 @@
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,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAUhD,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 +0,0 @@
1
- {"version":3,"file":"cursor.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/cursor.contract.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,cAAc;IACvB,KAAK;;;;;IASL,MAAM;;;;;IAYN,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;IAUR,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;IASN,UAAU;;;;;CASb,CAAC"}
@@ -1,50 +0,0 @@
1
- import { oc } from "@orpc/contract";
2
- import { AccountIdSchema, AccountListQuerySchema, AccountRenameSchema, CursorLoginCancelSchema, CursorLoginStartSchema, OauthAccountListSchema, OauthAccountSchema, } from "../schemas/provider-oauth.js";
3
- import { OkSchema } from "../schemas/shared.js";
4
- export const cursorContract = {
5
- start: oc
6
- .route({
7
- method: "POST",
8
- path: "/cursor/login/start",
9
- summary: "Begin connecting a Cursor account",
10
- description: "Hands back the page to sign in on. The sandbox finishes the handshake itself and stores the credential, so nothing has to be pasted back: watch the account list instead.",
11
- })
12
- .output(CursorLoginStartSchema),
13
- cancel: oc
14
- .route({
15
- method: "POST",
16
- path: "/cursor/login/cancel",
17
- summary: "Abandon a Cursor sign-in",
18
- description: "Stops waiting on a sign-in nobody completed. An abandoned attempt also expires on its own.",
19
- })
20
- .input(CursorLoginCancelSchema)
21
- .output(OkSchema),
22
- accounts: oc
23
- .route({
24
- method: "GET",
25
- path: "/cursor/accounts",
26
- summary: "Connected Cursor accounts",
27
- description: "Each connected account, and whether its stored key is still good. Cursor publishes no plan-wide allowance, so these rows carry no usage reading.",
28
- })
29
- .input(AccountListQuerySchema)
30
- .output(OauthAccountListSchema),
31
- rename: oc
32
- .route({
33
- method: "POST",
34
- path: "/cursor/account/rename",
35
- summary: "Rename a Cursor account",
36
- description: "Changes the label one account shows under, so several are tellable apart.",
37
- })
38
- .input(AccountRenameSchema)
39
- .output(OauthAccountSchema),
40
- disconnect: oc
41
- .route({
42
- method: "POST",
43
- path: "/cursor/account/disconnect",
44
- summary: "Disconnect a Cursor account",
45
- description: "Clears the stored key for one account. The others stay connected.",
46
- })
47
- .input(AccountIdSchema)
48
- .output(OkSchema),
49
- };
50
- //# sourceMappingURL=cursor.contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cursor.contract.js","sourceRoot":"","sources":["../../src/contracts/cursor.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACH,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAahD,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,2KAA2K;KAClL,CAAC;SACD,MAAM,CAAC,sBAAsB,CAAC;IACnC,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,0BAA0B;QACnC,WAAW,EAAE,4FAA4F;KAC5G,CAAC;SACD,KAAK,CAAC,uBAAuB,CAAC;SAC9B,MAAM,CAAC,QAAQ,CAAC;IAIrB,QAAQ,EAAE,EAAE;SACP,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,2BAA2B;QACpC,WAAW,EACP,kJAAkJ;KACzJ,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,mEAAmE;KACnF,CAAC;SACD,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -1,36 +0,0 @@
1
- export declare const grokContract: {
2
- start: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
3
- url: import("zod").ZodString;
4
- code: import("zod").ZodString;
5
- }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
6
- accounts: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
7
- accounts: import("zod").ZodArray<import("zod").ZodObject<{
8
- id: import("zod").ZodString;
9
- label: import("zod").ZodString;
10
- email: import("zod").ZodOptional<import("zod").ZodString>;
11
- organization: import("zod").ZodOptional<import("zod").ZodString>;
12
- scope: import("zod").ZodOptional<import("zod").ZodString>;
13
- connectedAt: import("zod").ZodNumber;
14
- needsReauth: import("zod").ZodOptional<import("zod").ZodBoolean>;
15
- detail: import("zod").ZodOptional<import("zod").ZodString>;
16
- usage: import("zod").ZodOptional<import("zod").ZodObject<{
17
- windows: import("zod").ZodArray<import("zod").ZodObject<{
18
- kind: import("zod").ZodString;
19
- label: import("zod").ZodOptional<import("zod").ZodString>;
20
- utilization: import("zod").ZodNumber;
21
- resetsAt: import("zod").ZodOptional<import("zod").ZodNumber>;
22
- gates: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"all">, import("zod").ZodLiteral<"none">, import("zod").ZodObject<{
23
- models: import("zod").ZodArray<import("zod").ZodString>;
24
- }, import("zod/v4/core").$strip>]>;
25
- }, import("zod/v4/core").$strip>>;
26
- measuredAt: import("zod").ZodNumber;
27
- }, import("zod/v4/core").$strip>>;
28
- }, import("zod/v4/core").$strip>>;
29
- }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
30
- disconnect: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
31
- id: import("zod").ZodString;
32
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
33
- ok: import("zod").ZodLiteral<true>;
34
- }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
35
- };
36
- //# sourceMappingURL=grok.contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grok.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/grok.contract.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY;IACrB,KAAK;;;;IASL,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;IAQR,UAAU;;;;;CASb,CAAC"}
@@ -1,31 +0,0 @@
1
- import { oc } from "@orpc/contract";
2
- import { AccountIdSchema, DeviceStartSchema, OauthAccountListSchema } from "../schemas/provider-oauth.js";
3
- import { OkSchema } from "../schemas/shared.js";
4
- export const grokContract = {
5
- start: oc
6
- .route({
7
- method: "POST",
8
- path: "/grok/oauth/start",
9
- summary: "Begin connecting a Grok account",
10
- description: "Hands back the page to open and the one-time code to type there. Nothing is pasted back afterwards: the sandbox waits for the sign-in to complete on its own, so poll the accounts call until it appears.",
11
- })
12
- .output(DeviceStartSchema),
13
- accounts: oc
14
- .route({
15
- method: "GET",
16
- path: "/grok/accounts",
17
- summary: "Connected Grok account",
18
- description: "What is signed in. A list for consistency with the other providers, though there is at most one.",
19
- })
20
- .output(OauthAccountListSchema),
21
- disconnect: oc
22
- .route({
23
- method: "POST",
24
- path: "/grok/account/disconnect",
25
- summary: "Disconnect the Grok account",
26
- description: "Clears the stored tokens.",
27
- })
28
- .input(AccountIdSchema)
29
- .output(OkSchema),
30
- };
31
- //# sourceMappingURL=grok.contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grok.contract.js","sourceRoot":"","sources":["../../src/contracts/grok.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC1G,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAWhD,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,KAAK,EAAE,EAAE;SACJ,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,iCAAiC;QAC1C,WAAW,EACP,2MAA2M;KAClN,CAAC;SACD,MAAM,CAAC,iBAAiB,CAAC;IAC9B,QAAQ,EAAE,EAAE;SACP,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,kGAAkG;KAClH,CAAC;SACD,MAAM,CAAC,sBAAsB,CAAC;IACnC,UAAU,EAAE,EAAE;SACT,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,6BAA6B;QACtC,WAAW,EAAE,2BAA2B;KAC3C,CAAC;SACD,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -1,81 +0,0 @@
1
- import { z } from "zod";
2
- export declare const keysContract: {
3
- accounts: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4
- provider: z.ZodEnum<{
5
- meta: "meta";
6
- zai: "zai";
7
- }>;
8
- }, z.core.$strip>, z.ZodObject<{
9
- accounts: z.ZodArray<z.ZodObject<{
10
- id: z.ZodString;
11
- label: z.ZodString;
12
- email: z.ZodOptional<z.ZodString>;
13
- organization: z.ZodOptional<z.ZodString>;
14
- scope: z.ZodOptional<z.ZodString>;
15
- connectedAt: z.ZodNumber;
16
- needsReauth: z.ZodOptional<z.ZodBoolean>;
17
- detail: z.ZodOptional<z.ZodString>;
18
- usage: z.ZodOptional<z.ZodObject<{
19
- windows: z.ZodArray<z.ZodObject<{
20
- kind: z.ZodString;
21
- label: z.ZodOptional<z.ZodString>;
22
- utilization: z.ZodNumber;
23
- resetsAt: z.ZodOptional<z.ZodNumber>;
24
- gates: z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodLiteral<"none">, z.ZodObject<{
25
- models: z.ZodArray<z.ZodString>;
26
- }, z.core.$strip>]>;
27
- }, z.core.$strip>>;
28
- measuredAt: z.ZodNumber;
29
- }, z.core.$strip>>;
30
- }, z.core.$strip>>;
31
- }, z.core.$strip>, Record<never, never>, Record<never, never>>;
32
- connect: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
33
- provider: z.ZodEnum<{
34
- meta: "meta";
35
- zai: "zai";
36
- }>;
37
- apiKey: z.ZodString;
38
- label: z.ZodOptional<z.ZodString>;
39
- }, z.core.$strip>, z.ZodObject<{
40
- id: z.ZodString;
41
- label: z.ZodString;
42
- email: z.ZodOptional<z.ZodString>;
43
- organization: z.ZodOptional<z.ZodString>;
44
- scope: z.ZodOptional<z.ZodString>;
45
- connectedAt: z.ZodNumber;
46
- needsReauth: z.ZodOptional<z.ZodBoolean>;
47
- detail: z.ZodOptional<z.ZodString>;
48
- usage: z.ZodOptional<z.ZodObject<{
49
- windows: z.ZodArray<z.ZodObject<{
50
- kind: z.ZodString;
51
- label: z.ZodOptional<z.ZodString>;
52
- utilization: z.ZodNumber;
53
- resetsAt: z.ZodOptional<z.ZodNumber>;
54
- gates: z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodLiteral<"none">, z.ZodObject<{
55
- models: z.ZodArray<z.ZodString>;
56
- }, z.core.$strip>]>;
57
- }, z.core.$strip>>;
58
- measuredAt: z.ZodNumber;
59
- }, z.core.$strip>>;
60
- }, z.core.$strip>, Record<never, never>, Record<never, never>>;
61
- rename: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
62
- provider: z.ZodEnum<{
63
- meta: "meta";
64
- zai: "zai";
65
- }>;
66
- id: z.ZodString;
67
- label: z.ZodString;
68
- }, z.core.$strip>, z.ZodObject<{
69
- ok: z.ZodLiteral<true>;
70
- }, z.core.$strip>, Record<never, never>, Record<never, never>>;
71
- disconnect: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
72
- provider: z.ZodEnum<{
73
- meta: "meta";
74
- zai: "zai";
75
- }>;
76
- id: z.ZodString;
77
- }, z.core.$strip>, z.ZodObject<{
78
- ok: z.ZodLiteral<true>;
79
- }, z.core.$strip>, Record<never, never>, Record<never, never>>;
80
- };
81
- //# sourceMappingURL=keys.contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keys.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/keys.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB,eAAO,MAAM,YAAY;IACrB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASR,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBP,MAAM;;;;;;;;;;IASN,UAAU;;;;;;;;;CASb,CAAC"}
@@ -1,51 +0,0 @@
1
- import { oc } from "@orpc/contract";
2
- import { z } from "zod";
3
- import { KeyProviderParamSchema } from "../schemas/agent.js";
4
- import { AccountIdSchema, AccountRenameSchema, OauthAccountListSchema, OauthAccountSchema } from "../schemas/provider-oauth.js";
5
- import { OkSchema } from "../schemas/shared.js";
6
- export const keysContract = {
7
- accounts: oc
8
- .route({
9
- method: "GET",
10
- path: "/keys/{provider}/accounts",
11
- summary: "Connected accounts for a key-based provider",
12
- description: "Which keys are connected for this provider. The keys themselves never travel: being in this list is what connected means.",
13
- })
14
- .input(KeyProviderParamSchema)
15
- .output(OauthAccountListSchema),
16
- connect: oc
17
- .route({
18
- method: "POST",
19
- path: "/keys/{provider}/connect",
20
- summary: "Connect an API key",
21
- description: "Stores an API key for this provider and answers with the account it became. A sandbox can hold several keys for one provider side by side.",
22
- })
23
- .input(KeyProviderParamSchema.extend({
24
- apiKey: z.string().min(1).describe("The key, as the provider issued it. Stored in this sandbox and never sent back out."),
25
- label: z
26
- .string()
27
- .max(80)
28
- .optional()
29
- .describe("What to call it. Blank falls back to the provider's own name, which is all a pasted key can say about itself."),
30
- }))
31
- .output(OauthAccountSchema),
32
- rename: oc
33
- .route({
34
- method: "POST",
35
- path: "/keys/{provider}/account/rename",
36
- summary: "Rename one connected key",
37
- description: "Nothing in a pasted key says whose it is, so naming it is the only way to tell two of them apart.",
38
- })
39
- .input(KeyProviderParamSchema.extend(AccountRenameSchema.shape))
40
- .output(OkSchema),
41
- disconnect: oc
42
- .route({
43
- method: "POST",
44
- path: "/keys/{provider}/account/disconnect",
45
- summary: "Disconnect one key",
46
- description: "Removes a single stored key. Any others under the same provider stay connected.",
47
- })
48
- .input(KeyProviderParamSchema.extend(AccountIdSchema.shape))
49
- .output(OkSchema),
50
- };
51
- //# sourceMappingURL=keys.contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keys.contract.js","sourceRoot":"","sources":["../../src/contracts/keys.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAChI,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AA2BhD,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,QAAQ,EAAE,EAAE;SACP,KAAK,CAAC;QACH,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,6CAA6C;QACtD,WAAW,EAAE,2HAA2H;KAC3I,CAAC;SACD,KAAK,CAAC,sBAAsB,CAAC;SAC7B,MAAM,CAAC,sBAAsB,CAAC;IACnC,OAAO,EAAE,EAAE;SACN,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EACP,4IAA4I;KACnJ,CAAC;SACD,KAAK,CACF,sBAAsB,CAAC,MAAM,CAAC;QAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qFAAqF,CAAC;QACzH,KAAK,EAAE,CAAC;aACH,MAAM,EAAE;aACR,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,+GAA+G,CAAC;KACjI,CAAC,CACL;SACA,MAAM,CAAC,kBAAkB,CAAC;IAC/B,MAAM,EAAE,EAAE;SACL,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,0BAA0B;QACnC,WAAW,EAAE,mGAAmG;KACnH,CAAC;SACD,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;SAC/D,MAAM,CAAC,QAAQ,CAAC;IACrB,UAAU,EAAE,EAAE;SACT,KAAK,CAAC;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qCAAqC;QAC3C,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EAAE,iFAAiF;KACjG,CAAC;SACD,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC3D,MAAM,CAAC,QAAQ,CAAC;CACxB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"computers.d.ts","sourceRoot":"","sources":["../../src/schemas/computers.ts"],"names":[],"mappings":"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"}
@@ -1,134 +0,0 @@
1
- import { z } from "zod";
2
- import { HostFactsSchema } from "./hosts.js";
3
- export const MachineSandboxSchema = z.object({
4
- slug: z.string(),
5
- container: z.string(),
6
- name: z.string().optional(),
7
- running: z.boolean(),
8
- image: z.string(),
9
- tunnelRunning: z.boolean().optional(),
10
- });
11
- export const MachineSandboxOpSchema = z.enum([
12
- "start",
13
- "stop",
14
- "restart",
15
- "prepare",
16
- "update",
17
- "rebuild",
18
- "rollback",
19
- "remove",
20
- "logs",
21
- "runner-up",
22
- "runner-remove",
23
- ]);
24
- export const MachineSandboxFlowSchema = z.object({
25
- op: MachineSandboxOpSchema,
26
- slug: z.string().min(1),
27
- hash: z.string().optional(),
28
- parentUrl: z.string().optional(),
29
- pair: z.string().optional().meta({ secret: true }),
30
- definition: z.string().optional(),
31
- overlay: z.string().optional(),
32
- overlayHash: z.string().optional(),
33
- });
34
- export const MachineSandboxFlowInputSchema = MachineSandboxFlowSchema.extend({ id: z.string().min(1) });
35
- export const MachineFlowLineSchema = z.discriminatedUnion("kind", [
36
- z.object({ kind: z.literal("line"), text: z.string() }),
37
- z.object({ kind: z.literal("result"), message: z.string() }),
38
- z.object({ kind: z.literal("error"), message: z.string() }),
39
- ]);
40
- export const MachineCommandSchema = z.enum(["mirror-off", "mirror-on", "sync-pause", "sync-resume", "sync-unpair"]);
41
- export const MachineSandboxIdSchema = z
42
- .string()
43
- .max(200)
44
- .regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/);
45
- export const MachineCommandInputSchema = z.object({
46
- id: z.string().min(1),
47
- command: MachineCommandSchema,
48
- sandboxId: MachineSandboxIdSchema.optional(),
49
- });
50
- export const MachineCommandResultSchema = z.object({
51
- ok: z.boolean(),
52
- message: z.string(),
53
- output: z.string().optional(),
54
- });
55
- export const MachinePairingSchema = z.object({
56
- sandboxId: z.string(),
57
- mode: z.enum(["sync", "mirror"]),
58
- localDir: z.string().optional(),
59
- mirroring: z.enum(["on", "off"]).optional(),
60
- mutagenStatus: z.string().optional(),
61
- conflicts: z.number().int().nonnegative().optional(),
62
- paused: z.boolean().optional(),
63
- backupStatus: z.string().optional(),
64
- });
65
- export const MachinePortStateSchema = z.enum([
66
- "mirrored",
67
- "held-by-sandbox",
68
- "busy",
69
- ]);
70
- export const MachinePortSchema = z.object({
71
- port: z.number().int().min(1).max(65535),
72
- host: z.enum(["127.0.0.1", "::1"]),
73
- sandboxId: z.string(),
74
- state: MachinePortStateSchema,
75
- heldBy: z.string().optional(),
76
- command: z.string().optional(),
77
- });
78
- export const MachineWatcherSchema = z.object({
79
- running: z.boolean(),
80
- pid: z.number().int().optional(),
81
- build: z.string().optional(),
82
- lastTickAt: z.number().optional(),
83
- });
84
- export const WATCHER_STALL_AFTER_MS = 60_000;
85
- export const watcherStalled = (watcher, now) => watcher.running && watcher.lastTickAt !== undefined && now - watcher.lastTickAt > WATCHER_STALL_AFTER_MS;
86
- export const MachineReportSchema = z.object({
87
- hostname: z.string(),
88
- os: z.string(),
89
- agents: z.object({ sync: z.string().optional(), host: z.string().optional() }),
90
- sandboxes: z.array(MachineSandboxSchema),
91
- pairings: z.array(MachinePairingSchema),
92
- ports: z.array(MachinePortSchema),
93
- watcher: MachineWatcherSchema,
94
- capturedAt: z.number(),
95
- });
96
- export const watcherBuildSkew = (report) => {
97
- const running = report.watcher.build;
98
- const installed = report.agents.sync;
99
- if (!report.watcher.running || running === undefined || installed === undefined || running === installed) {
100
- return undefined;
101
- }
102
- return { running, installed };
103
- };
104
- export const ComputerGapSchema = z.enum([
105
- "offline",
106
- "scope-off",
107
- "no-agent",
108
- "unreported",
109
- ]);
110
- export const ComputerSyncSchema = z.object({
111
- machine: z.string(),
112
- mode: z.enum(["sync", "mirror"]),
113
- seenAt: z.number().optional(),
114
- });
115
- export const ComputerSchema = z.object({
116
- key: z.string(),
117
- label: z.string(),
118
- sync: ComputerSyncSchema.optional(),
119
- hostId: z.string().optional(),
120
- online: z.boolean().optional(),
121
- platform: z.string().optional(),
122
- facts: HostFactsSchema.optional(),
123
- hostAgent: z.string().optional(),
124
- lastSeen: z.number().optional(),
125
- report: MachineReportSchema.optional(),
126
- gap: ComputerGapSchema.optional(),
127
- });
128
- export const ComputersListSchema = z.object({ computers: z.array(ComputerSchema) });
129
- export const SyncStatusSchema = z.object({
130
- enrolled: z.boolean(),
131
- available: z.boolean().optional(),
132
- machines: z.array(MachineReportSchema).optional(),
133
- });
134
- //# sourceMappingURL=computers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"computers.js","sourceRoot":"","sources":["../../src/schemas/computers.ts"],"names":[],"mappings":"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"}