@intentic/sandbox-contract 1.345.0 → 1.347.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 (222) hide show
  1. package/README.md +26 -14
  2. package/dist/contracts/accounts.contract.d.ts +0 -80
  3. package/dist/contracts/accounts.contract.d.ts.map +1 -1
  4. package/dist/contracts/agent.contract.d.ts +33 -2
  5. package/dist/contracts/agent.contract.d.ts.map +1 -1
  6. package/dist/contracts/agents.contract.d.ts +910 -29
  7. package/dist/contracts/agents.contract.d.ts.map +1 -1
  8. package/dist/contracts/agents.contract.js +43 -2
  9. package/dist/contracts/agents.contract.js.map +1 -1
  10. package/dist/contracts/device.contract.d.ts +2 -1
  11. package/dist/contracts/device.contract.d.ts.map +1 -1
  12. package/dist/contracts/endpoints.contract.d.ts +0 -1
  13. package/dist/contracts/endpoints.contract.d.ts.map +1 -1
  14. package/dist/contracts/providers.contract.d.ts +0 -1
  15. package/dist/contracts/providers.contract.d.ts.map +1 -1
  16. package/dist/contracts/runner.contract.d.ts +134 -123
  17. package/dist/contracts/runner.contract.d.ts.map +1 -1
  18. package/dist/contracts/settings.contract.d.ts +4 -0
  19. package/dist/contracts/settings.contract.d.ts.map +1 -1
  20. package/dist/contracts/system.contract.d.ts +102 -1
  21. package/dist/contracts/system.contract.d.ts.map +1 -1
  22. package/dist/contracts/translator.contract.d.ts +0 -80
  23. package/dist/contracts/translator.contract.d.ts.map +1 -1
  24. package/dist/events/agent-events.d.ts +43 -0
  25. package/dist/events/agent-events.d.ts.map +1 -1
  26. package/dist/events/agent-events.js +42 -37
  27. package/dist/events/agent-events.js.map +1 -1
  28. package/dist/events/failure-rows.d.ts +14 -0
  29. package/dist/events/failure-rows.d.ts.map +1 -0
  30. package/dist/events/failure-rows.js +109 -0
  31. package/dist/events/failure-rows.js.map +1 -0
  32. package/dist/events/sandbox-notice.d.ts +16 -0
  33. package/dist/events/sandbox-notice.d.ts.map +1 -1
  34. package/dist/events/sandbox-notice.js +1 -0
  35. package/dist/events/sandbox-notice.js.map +1 -1
  36. package/dist/events/system-events.d.ts +68 -0
  37. package/dist/events/system-events.d.ts.map +1 -1
  38. package/dist/events/system-events.js +7 -1
  39. package/dist/events/system-events.js.map +1 -1
  40. package/dist/index.d.ts +1158 -303
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/models/agent-lanes.d.ts.map +1 -1
  43. package/dist/models/agent-lanes.js +3 -5
  44. package/dist/models/agent-lanes.js.map +1 -1
  45. package/dist/models/agent-standing.d.ts +3 -20
  46. package/dist/models/agent-standing.d.ts.map +1 -1
  47. package/dist/models/agent-standing.js +12 -37
  48. package/dist/models/agent-standing.js.map +1 -1
  49. package/dist/models/model-pins.d.ts +3 -0
  50. package/dist/models/model-pins.d.ts.map +1 -1
  51. package/dist/models/model-pins.js +2 -0
  52. package/dist/models/model-pins.js.map +1 -1
  53. package/dist/models/plan-pools.d.ts +23 -5
  54. package/dist/models/plan-pools.d.ts.map +1 -1
  55. package/dist/models/plan-pools.js +116 -33
  56. package/dist/models/plan-pools.js.map +1 -1
  57. package/dist/protocol/doors/runner-protocol.d.ts +1 -0
  58. package/dist/protocol/doors/runner-protocol.d.ts.map +1 -1
  59. package/dist/protocol/doors/runner-protocol.js +1 -0
  60. package/dist/protocol/doors/runner-protocol.js.map +1 -1
  61. package/dist/protocol/raw/raw-json-routes.d.ts +3 -1
  62. package/dist/protocol/raw/raw-json-routes.d.ts.map +1 -1
  63. package/dist/protocol/raw/raw-routes.d.ts +4 -0
  64. package/dist/protocol/raw/raw-routes.d.ts.map +1 -1
  65. package/dist/protocol/raw/raw-routes.js +1 -0
  66. package/dist/protocol/raw/raw-routes.js.map +1 -1
  67. package/dist/schemas/agent-next.d.ts +21 -0
  68. package/dist/schemas/agent-next.d.ts.map +1 -0
  69. package/dist/schemas/agent-next.js +21 -0
  70. package/dist/schemas/agent-next.js.map +1 -0
  71. package/dist/schemas/agent-search.d.ts +45 -0
  72. package/dist/schemas/agent-search.d.ts.map +1 -0
  73. package/dist/schemas/agent-search.js +28 -0
  74. package/dist/schemas/agent-search.js.map +1 -0
  75. package/dist/schemas/agent.d.ts +9 -0
  76. package/dist/schemas/agent.d.ts.map +1 -1
  77. package/dist/schemas/agent.js +14 -10
  78. package/dist/schemas/agent.js.map +1 -1
  79. package/dist/schemas/agents-list.d.ts +16 -0
  80. package/dist/schemas/agents-list.d.ts.map +1 -1
  81. package/dist/schemas/agents.d.ts +48 -43
  82. package/dist/schemas/agents.d.ts.map +1 -1
  83. package/dist/schemas/agents.js +10 -33
  84. package/dist/schemas/agents.js.map +1 -1
  85. package/dist/schemas/compose-overlay.d.ts +9 -0
  86. package/dist/schemas/compose-overlay.d.ts.map +1 -0
  87. package/dist/schemas/compose-overlay.js +11 -0
  88. package/dist/schemas/compose-overlay.js.map +1 -0
  89. package/dist/schemas/composer-drafts.d.ts +169 -0
  90. package/dist/schemas/composer-drafts.d.ts.map +1 -0
  91. package/dist/schemas/composer-drafts.js +60 -0
  92. package/dist/schemas/composer-drafts.js.map +1 -0
  93. package/dist/schemas/device-commands.d.ts +63 -0
  94. package/dist/schemas/device-commands.d.ts.map +1 -0
  95. package/dist/schemas/device-commands.js +42 -0
  96. package/dist/schemas/device-commands.js.map +1 -0
  97. package/dist/schemas/device-folder.d.ts +11 -0
  98. package/dist/schemas/device-folder.d.ts.map +1 -1
  99. package/dist/schemas/device-folder.js +1 -0
  100. package/dist/schemas/device-folder.js.map +1 -1
  101. package/dist/schemas/devices.d.ts +14 -67
  102. package/dist/schemas/devices.d.ts.map +1 -1
  103. package/dist/schemas/devices.js +7 -45
  104. package/dist/schemas/devices.js.map +1 -1
  105. package/dist/schemas/environment.d.ts.map +1 -1
  106. package/dist/schemas/environment.js.map +1 -1
  107. package/dist/schemas/hosts.d.ts +27 -0
  108. package/dist/schemas/hosts.d.ts.map +1 -1
  109. package/dist/schemas/hosts.js +21 -0
  110. package/dist/schemas/hosts.js.map +1 -1
  111. package/dist/schemas/privacy-egress.d.ts +41 -0
  112. package/dist/schemas/privacy-egress.d.ts.map +1 -0
  113. package/dist/schemas/privacy-egress.js +30 -0
  114. package/dist/schemas/privacy-egress.js.map +1 -0
  115. package/dist/schemas/privacy.d.ts +1 -0
  116. package/dist/schemas/privacy.d.ts.map +1 -1
  117. package/dist/schemas/privacy.js +1 -0
  118. package/dist/schemas/privacy.js.map +1 -1
  119. package/dist/schemas/providers/plan-limits.d.ts +2 -130
  120. package/dist/schemas/providers/plan-limits.d.ts.map +1 -1
  121. package/dist/schemas/providers/plan-limits.js +5 -23
  122. package/dist/schemas/providers/plan-limits.js.map +1 -1
  123. package/dist/schemas/providers/provider-oauth.d.ts +0 -82
  124. package/dist/schemas/providers/provider-oauth.d.ts.map +1 -1
  125. package/dist/schemas/providers/provider-oauth.js +1 -6
  126. package/dist/schemas/providers/provider-oauth.js.map +1 -1
  127. package/dist/schemas/providers/refusals.d.ts +64 -0
  128. package/dist/schemas/providers/refusals.d.ts.map +1 -0
  129. package/dist/schemas/providers/refusals.js +33 -0
  130. package/dist/schemas/providers/refusals.js.map +1 -0
  131. package/dist/schemas/sessions.js +1 -1
  132. package/dist/schemas/sessions.js.map +1 -1
  133. package/dist/schemas/settings.d.ts +4 -0
  134. package/dist/schemas/settings.d.ts.map +1 -1
  135. package/dist/schemas/settings.js +2 -0
  136. package/dist/schemas/settings.js.map +1 -1
  137. package/dist/schemas/system.d.ts +16 -0
  138. package/dist/schemas/system.d.ts.map +1 -1
  139. package/dist/schemas/system.js +11 -0
  140. package/dist/schemas/system.js.map +1 -1
  141. package/dist/state/definition.d.ts +8 -0
  142. package/dist/state/definition.d.ts.map +1 -1
  143. package/dist/state/runtime-state.d.ts +3 -0
  144. package/dist/state/runtime-state.d.ts.map +1 -1
  145. package/dist/state/runtime-state.js +1 -0
  146. package/dist/state/runtime-state.js.map +1 -1
  147. package/dist/state/sandbox-build.d.ts +20 -0
  148. package/dist/state/sandbox-build.d.ts.map +1 -0
  149. package/dist/state/sandbox-build.js +43 -0
  150. package/dist/state/sandbox-build.js.map +1 -0
  151. package/dist/state/ways-back.d.ts +4 -0
  152. package/dist/state/ways-back.d.ts.map +1 -0
  153. package/dist/state/ways-back.js +8 -0
  154. package/dist/state/ways-back.js.map +1 -0
  155. package/dist/text/land-rows.d.ts +14 -0
  156. package/dist/text/land-rows.d.ts.map +1 -0
  157. package/dist/text/land-rows.js +86 -0
  158. package/dist/text/land-rows.js.map +1 -0
  159. package/dist/text/transcript-fold.d.ts +4 -2
  160. package/dist/text/transcript-fold.d.ts.map +1 -1
  161. package/dist/text/transcript-fold.js +21 -187
  162. package/dist/text/transcript-fold.js.map +1 -1
  163. package/package.json +6 -6
  164. package/src/contracts/agents.contract.ts +49 -25
  165. package/src/events/agent-events.ts +95 -78
  166. package/src/events/failure-rows.ts +148 -0
  167. package/src/events/sandbox-notice.ts +11 -2
  168. package/src/events/system-events.ts +14 -4
  169. package/src/ids/project-dir.test.ts +2 -2
  170. package/src/ids/project-dir.ts +4 -4
  171. package/src/models/agent-lanes.ts +7 -21
  172. package/src/models/agent-runtimes.ts +2 -2
  173. package/src/models/agent-standing.ts +31 -96
  174. package/src/models/model-pins.test.ts +31 -1
  175. package/src/models/model-pins.ts +17 -0
  176. package/src/models/plan-pools.test.ts +159 -24
  177. package/src/models/plan-pools.ts +215 -83
  178. package/src/protocol/doors/runner-protocol.ts +4 -1
  179. package/src/protocol/raw/raw-routes.ts +1 -0
  180. package/src/schemas/agent-next.ts +34 -0
  181. package/src/schemas/agent-search.ts +51 -0
  182. package/src/schemas/agent.ts +21 -12
  183. package/src/schemas/agents.ts +24 -63
  184. package/src/schemas/compose-overlay.test.ts +35 -0
  185. package/src/schemas/compose-overlay.ts +19 -0
  186. package/src/schemas/composer-drafts.ts +86 -0
  187. package/src/schemas/device-commands.ts +89 -0
  188. package/src/schemas/device-folder.ts +9 -0
  189. package/src/schemas/devices.ts +24 -106
  190. package/src/schemas/environment.ts +8 -9
  191. package/src/schemas/hosts.ts +56 -0
  192. package/src/schemas/machine-presence.test.ts +33 -0
  193. package/src/schemas/privacy-egress.test.ts +83 -0
  194. package/src/schemas/privacy-egress.ts +86 -0
  195. package/src/schemas/privacy.ts +4 -0
  196. package/src/schemas/project-delivery.ts +1 -1
  197. package/src/schemas/providers/plan-limits.test.ts +16 -0
  198. package/src/schemas/providers/plan-limits.ts +8 -49
  199. package/src/schemas/providers/provider-oauth.ts +1 -13
  200. package/src/schemas/providers/refusals.ts +62 -0
  201. package/src/schemas/sessions.ts +1 -1
  202. package/src/schemas/settings.ts +2 -0
  203. package/src/schemas/system.ts +15 -0
  204. package/src/state/runtime-state.ts +5 -0
  205. package/src/state/sandbox-build.test.ts +95 -0
  206. package/src/state/sandbox-build.ts +96 -0
  207. package/src/state/ways-back.test.ts +36 -0
  208. package/src/state/ways-back.ts +19 -0
  209. package/src/state/workspace-state.ts +1 -1
  210. package/src/text/land-rows.ts +111 -0
  211. package/src/text/transcript-fold.test.ts +38 -9
  212. package/src/text/transcript-fold.ts +30 -232
  213. package/dist/events/undelivered.d.ts +0 -10
  214. package/dist/events/undelivered.d.ts.map +0 -1
  215. package/dist/events/undelivered.js +0 -22
  216. package/dist/events/undelivered.js.map +0 -1
  217. package/dist/state/history-state.d.ts +0 -3
  218. package/dist/state/history-state.d.ts.map +0 -1
  219. package/dist/state/history-state.js +0 -153
  220. package/dist/state/history-state.js.map +0 -1
  221. package/src/events/undelivered.ts +0 -33
  222. package/src/state/history-state.ts +0 -313
package/README.md CHANGED
@@ -34,11 +34,14 @@ flowchart LR
34
34
  sidecar sends the same frame with `surface: "folder"` and only the few routes it serves, which the browser offers
35
35
  and never reads as out of date.
36
36
  - Every file the daemon keeps says whether it travels in an environment bundle (`carry`, `secret`, `identity` or
37
- `derived`, `src/state/state-portability.ts`). There are three tables, one per root: `WORKSPACE_STATE_FILES`,
38
- `HISTORY_STATE_FILES`, and `AUTH_STATE_FILES` for the auth root of provider logins, secret vaults and trust
39
- files. In the auth root, the owner's restrictions (credential gates, host guards, the privacy shield) travel without
40
- secrets, and this sandbox's own keys, pairings and the yeses its owner gave never travel. A path no entry names keeps
41
- the directory's own class: `carry` on the workspace, `derived` on `/history`, `secret` in the auth root.
37
+ `derived`, `src/state/state-portability.ts`). The contract holds the tables for the two roots other programs read:
38
+ `WORKSPACE_STATE_FILES`, and `AUTH_STATE_FILES` for the auth root of provider logins, secret vaults and trust files.
39
+ `/history` is the daemon's alone, so its table lives there: each stored document declares its class on its own
40
+ definition, and the daemon lists the paths no document claims (`src/store/evolution/history-state.ts` in
41
+ `_sandbox/sandbox`). In the auth root, the owner's restrictions (credential gates, host guards, the privacy shield)
42
+ travel without secrets, and this sandbox's own keys, pairings and the yeses its owner gave never travel. A path no
43
+ entry names keeps the directory's own class: `carry` on the workspace, `derived` on `/history`, `secret` in the auth
44
+ root.
42
45
  - The oldest daemon the editor supports is declared here, `OLDEST_SUPPORTED_DAEMON` in `src/state/daemon-floor.ts`,
43
46
  with a dated line for why it is that release. The editor reads a daemon's version off the head of the hello's
44
47
  `build` (`<version>:<mtime>`) and draws a single "needs an update" page below it. The floor's test freezes the fields
@@ -50,16 +53,20 @@ flowchart LR
50
53
  A turn refused for an unsupported or unreadable protected policy carries `agent-domain-refused`, an admission
51
54
  refusal: its queued words remain owed, not consumed as an executed failure.
52
55
  - Some rules live here as code, not only shapes, because both ends must reach the same answer. The main one is
53
- whether an account can serve a turn: `serviceState` in `src/models/plan-pools.ts` turns a revoked sign-in, a lost
54
- seat, a translator bench, a standing refusal and the plan limits into one `AccountState` (`ready` · `spent` ·
55
- `blocked` with its `fix` · `unknown`), and `SPENT_UTILIZATION` is the only spent line. The daemon runs it for every
56
- picker and publishes it as `state` on each account row. The editor reads that field and never judges a row itself: a
57
- row without it (a daemon from before v1.313) reads as `unknown`, and the editor says the sandbox needs an update.
56
+ whether an account can serve a turn: `serviceStates` in `src/models/plan-pools.ts` turns a revoked sign-in, a lost
57
+ seat, a translator bench, every refusal still standing and the plan limits into one `AccountState` (`ready` · `spent`
58
+ · `blocked` with its `fix` · `unknown`), and `fleetCapacity` folds a provider's accounts into one answer per model
59
+ (`serving` · `spent` until when · `unknown`). `SPENT_UTILIZATION` is the only spent line. The daemon and the editor both
60
+ run it, on the same account rows and the same refusals on file (`ProviderRefusalsSchema`, every refusal per provider);
61
+ no account row carries a verdict, so no surface can read a stale one.
58
62
  - So is which lane the board files a conversation in and what of a fleet calls the person (`src/models/agent-standing.ts`,
59
63
  `src/models/agent-lanes.ts`, `src/models/agent-starter.ts`, moved from the editor on 2026-10-16): the editor draws
60
64
  the board by them and re-exports them where it always imported them, and the daemon counts `GET /agents/attention`
61
65
  by `fleetAttention` (the Attention lane's cards plus held wakes, and the turns producing something), which the
62
- desktop app's status bar reads through `ic sandbox attention`, so the bar and the board cannot disagree.
66
+ desktop app's status bar reads through `ic sandbox attention`, so the bar and the board cannot disagree. Whether a
67
+ conversation carries on by itself, and when, is one field the daemon derives on every card, `next`
68
+ (`src/schemas/agent-next.ts`): the lane, the card's corner and the chat read it rather than the hold, the queue or an
69
+ answer it came from (2026-10-20).
63
70
  - So are the rules the daemon and a device must agree on about the owner's machine. `DEVICE_PROGRAM_TOOLS` in
64
71
  `src/policy/device-programs.ts` says which device tools carry a program and how to read it, and
65
72
  `sandboxPowerCommands` in `src/policy/sandbox-power.ts` recognises a command that starts, stops or replaces a
@@ -68,6 +75,10 @@ flowchart LR
68
75
  (`src/state/update-probation.ts`), the one shape of `restart-intent.json` (`src/schemas/restart-intent.ts`), the
69
76
  answer of `ic sandbox swaps --json` (`src/schemas/device-swaps.ts`), and what `ic os status --json` and
70
77
  `ic os update --check --json` answer, with the argv of every `ic os` verb (`src/schemas/intentic-os.ts`).
78
+ - Which build a sandbox is, and every comparison between two of them, is `src/state/sandbox-build.ts`: a pending
79
+ rebuild, runner parity, and (2026-10-20) whether a swap landed. `/info` reports what answers (`running`: the build
80
+ and when its daemon started), and `swapVerdict` says landed, came back unmoved, or still waiting. A page used to
81
+ tell an update by the version moving, which a checkout build (always 0.0.0) never does.
71
82
  - What a credential looks like is decided here too: `CREDENTIAL_ISSUERS` in `src/policy/credential-material.ts` (each
72
83
  issuer's prefix and token body, as data) and `SECRET_REFERENCE` in `src/schemas/needs.ts` (the `{{secret:name}}`
73
84
  pattern, non-global, so each site that scans derives its own `/g` copy). The terminal output filter
@@ -124,9 +135,10 @@ flowchart LR
124
135
  under `access:METHOD /path`: every reach field of its `RouteMeta` with the default filled in (`routeAccess`). A
125
136
  field is recorded even when a route leaves it out, so a lowered floor or a new `guest`, `agent` or `panel` grant is a
126
137
  changed value, which counts as a shrink, never as growth that passes. The lock test names the route and the field
127
- that moved. Rewrite it by hand with `pnpm --filter @intentic/sandbox-contract lock`. A conversation that changed the
128
- contract has it rewritten in its own worktree before it lands (the repository's fixers,
129
- `_tools/scripts/verify/fixers.mjs`), so the lock rides the land that moved it. `src/state/contract-lock.test.ts`
138
+ that moved. It is `merge=derived` (`.gitattributes`): no land carries a copy of it, and the repository's fixers
139
+ (`_tools/scripts/verify/fixers.mjs`) write it again in the tree a land writes contract sources into, so two
140
+ conversations that both moved the contract never conflict on it. By hand, from source with no build first:
141
+ `pnpm --filter @intentic/sandbox-contract lock`. `src/state/contract-lock.test.ts`
130
142
  fails while the lock and the schemas disagree. `_tools/checks/contract-shrink.mjs` fails CI for a pushed branch
131
143
  that shrinks it with no commit declaring the break (`type!:` or `Breaking-Note:`); nothing checks the push itself.
132
144
 
@@ -84,26 +84,6 @@ export declare const accountsContract: {
84
84
  model: import("zod").ZodString;
85
85
  }, import("zod/v4/core").$strip>>;
86
86
  }, import("zod/v4/core").$strip>>;
87
- state: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
88
- kind: import("zod").ZodLiteral<"ready">;
89
- room: import("zod").ZodNumber;
90
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
91
- kind: import("zod").ZodLiteral<"spent">;
92
- reopensAt: import("zod").ZodOptional<import("zod").ZodNumber>;
93
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
94
- kind: import("zod").ZodLiteral<"blocked">;
95
- fix: import("zod").ZodEnum<{
96
- admin: "admin";
97
- reconnect: "reconnect";
98
- verify: "verify";
99
- wait: "wait";
100
- }>;
101
- reason: import("zod").ZodString;
102
- until: import("zod").ZodOptional<import("zod").ZodNumber>;
103
- url: import("zod").ZodOptional<import("zod").ZodString>;
104
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
105
- kind: import("zod").ZodLiteral<"unknown">;
106
- }, import("zod/v4/core").$strip>], "kind">>;
107
87
  }, import("zod/v4/core").$strip>>;
108
88
  }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
109
89
  status: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
@@ -158,26 +138,6 @@ export declare const accountsContract: {
158
138
  model: import("zod").ZodString;
159
139
  }, import("zod/v4/core").$strip>>;
160
140
  }, import("zod/v4/core").$strip>>;
161
- state: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
162
- kind: import("zod").ZodLiteral<"ready">;
163
- room: import("zod").ZodNumber;
164
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
165
- kind: import("zod").ZodLiteral<"spent">;
166
- reopensAt: import("zod").ZodOptional<import("zod").ZodNumber>;
167
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
168
- kind: import("zod").ZodLiteral<"blocked">;
169
- fix: import("zod").ZodEnum<{
170
- admin: "admin";
171
- reconnect: "reconnect";
172
- verify: "verify";
173
- wait: "wait";
174
- }>;
175
- reason: import("zod").ZodString;
176
- until: import("zod").ZodOptional<import("zod").ZodNumber>;
177
- url: import("zod").ZodOptional<import("zod").ZodString>;
178
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
179
- kind: import("zod").ZodLiteral<"unknown">;
180
- }, import("zod/v4/core").$strip>], "kind">>;
181
141
  }, import("zod/v4/core").$strip>>;
182
142
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
183
143
  status: import("zod").ZodLiteral<"error">;
@@ -248,26 +208,6 @@ export declare const accountsContract: {
248
208
  model: import("zod").ZodString;
249
209
  }, import("zod/v4/core").$strip>>;
250
210
  }, import("zod/v4/core").$strip>>;
251
- state: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
252
- kind: import("zod").ZodLiteral<"ready">;
253
- room: import("zod").ZodNumber;
254
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
255
- kind: import("zod").ZodLiteral<"spent">;
256
- reopensAt: import("zod").ZodOptional<import("zod").ZodNumber>;
257
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
258
- kind: import("zod").ZodLiteral<"blocked">;
259
- fix: import("zod").ZodEnum<{
260
- admin: "admin";
261
- reconnect: "reconnect";
262
- verify: "verify";
263
- wait: "wait";
264
- }>;
265
- reason: import("zod").ZodString;
266
- until: import("zod").ZodOptional<import("zod").ZodNumber>;
267
- url: import("zod").ZodOptional<import("zod").ZodString>;
268
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
269
- kind: import("zod").ZodLiteral<"unknown">;
270
- }, import("zod/v4/core").$strip>], "kind">>;
271
211
  }, import("zod/v4/core").$strip>>;
272
212
  }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
273
213
  rename: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
@@ -319,26 +259,6 @@ export declare const accountsContract: {
319
259
  model: import("zod").ZodString;
320
260
  }, import("zod/v4/core").$strip>>;
321
261
  }, import("zod/v4/core").$strip>>;
322
- state: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
323
- kind: import("zod").ZodLiteral<"ready">;
324
- room: import("zod").ZodNumber;
325
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
326
- kind: import("zod").ZodLiteral<"spent">;
327
- reopensAt: import("zod").ZodOptional<import("zod").ZodNumber>;
328
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
329
- kind: import("zod").ZodLiteral<"blocked">;
330
- fix: import("zod").ZodEnum<{
331
- admin: "admin";
332
- reconnect: "reconnect";
333
- verify: "verify";
334
- wait: "wait";
335
- }>;
336
- reason: import("zod").ZodString;
337
- until: import("zod").ZodOptional<import("zod").ZodNumber>;
338
- url: import("zod").ZodOptional<import("zod").ZodString>;
339
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
340
- kind: import("zod").ZodLiteral<"unknown">;
341
- }, import("zod/v4/core").$strip>], "kind">>;
342
262
  }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
343
263
  disconnect: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
344
264
  id: import("zod").ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/accounts.contract.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,gBAAgB;IACzB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUL,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUR,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUN,MAAM;;;;;;;;;;;;;;;;IAUN,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUR,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASN,UAAU;;;;;;;;;;;;;;;;CASb,CAAC"}
1
+ {"version":3,"file":"accounts.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/accounts.contract.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,gBAAgB;IACzB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUL,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUR,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUN,MAAM;;;;;;;;;;;;;;;;IAUN,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUR,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASN,UAAU;;;;;;;;;;;;;;;;CASb,CAAC"}
@@ -108,6 +108,7 @@ export declare const agentContract: {
108
108
  sendAtReopen: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
109
109
  sendAfter: import("zod").ZodOptional<import("zod").ZodString>;
110
110
  conversationAutoLand: import("zod").ZodOptional<import("zod").ZodBoolean>;
111
+ draft: import("zod").ZodOptional<import("zod").ZodNumber>;
111
112
  continues: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
112
113
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
113
114
  delivered: import("zod").ZodEnum<{
@@ -5468,7 +5469,7 @@ export declare const agentContract: {
5468
5469
  judge: import("zod").ZodOptional<import("zod").ZodString>;
5469
5470
  }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
5470
5471
  refusals: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
5471
- refusals: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
5472
+ refusals: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodCodec<import("zod").ZodUnion<readonly [import("zod").ZodArray<import("zod").ZodObject<{
5472
5473
  at: import("zod").ZodNumber;
5473
5474
  kind: import("zod").ZodEnum<{
5474
5475
  auth: "auth";
@@ -5479,8 +5480,38 @@ export declare const agentContract: {
5479
5480
  account: import("zod").ZodOptional<import("zod").ZodString>;
5480
5481
  model: import("zod").ZodOptional<import("zod").ZodString>;
5481
5482
  resetsAt: import("zod").ZodOptional<import("zod").ZodNumber>;
5483
+ poolResetsAt: import("zod").ZodOptional<import("zod").ZodNumber>;
5482
5484
  unmetered: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
5483
- }, import("zod/v4/core").$strip>>;
5485
+ byHand: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
5486
+ }, import("zod/v4/core").$strip>>, import("zod").ZodObject<{
5487
+ at: import("zod").ZodNumber;
5488
+ kind: import("zod").ZodEnum<{
5489
+ auth: "auth";
5490
+ entitlement: "entitlement";
5491
+ limit: "limit";
5492
+ }>;
5493
+ message: import("zod").ZodString;
5494
+ account: import("zod").ZodOptional<import("zod").ZodString>;
5495
+ model: import("zod").ZodOptional<import("zod").ZodString>;
5496
+ resetsAt: import("zod").ZodOptional<import("zod").ZodNumber>;
5497
+ poolResetsAt: import("zod").ZodOptional<import("zod").ZodNumber>;
5498
+ unmetered: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
5499
+ byHand: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
5500
+ }, import("zod/v4/core").$strip>]>, import("zod").ZodArray<import("zod").ZodObject<{
5501
+ at: import("zod").ZodNumber;
5502
+ kind: import("zod").ZodEnum<{
5503
+ auth: "auth";
5504
+ entitlement: "entitlement";
5505
+ limit: "limit";
5506
+ }>;
5507
+ message: import("zod").ZodString;
5508
+ account: import("zod").ZodOptional<import("zod").ZodString>;
5509
+ model: import("zod").ZodOptional<import("zod").ZodString>;
5510
+ resetsAt: import("zod").ZodOptional<import("zod").ZodNumber>;
5511
+ poolResetsAt: import("zod").ZodOptional<import("zod").ZodNumber>;
5512
+ unmetered: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
5513
+ byHand: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
5514
+ }, import("zod/v4/core").$strip>>>>;
5484
5515
  }, import("zod/v4/core").$strip>, Record<never, never>, import("../protocol/route-meta.js").RouteMeta & Record<never, never>>;
5485
5516
  };
5486
5517
  //# sourceMappingURL=agent.contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/agent.contract.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,aAAa;IACtB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYH,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYN,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWL,KAAK;;;;;;;;;;;;;;;;;;;;;IAWL,IAAI;;;;;;;;;;;;;IAYJ,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYT,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWX,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYZ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYb,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;IAaN,aAAa;;;;;;;;;;;;;IAYb,aAAa;;;;;;;;;;IAab,MAAM;;;;;;;;IAWN,QAAQ;;;;;;;;;IAaR,SAAS;;;;;;;;;;;;;;;;;;;;;;;;IAYT,QAAQ;;;;;;;;;;;;;;;CAUX,CAAC"}
1
+ {"version":3,"file":"agent.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/agent.contract.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,aAAa;IACtB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYH,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYN,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWL,KAAK;;;;;;;;;;;;;;;;;;;;;IAWL,IAAI;;;;;;;;;;;;;IAYJ,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYT,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWX,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYZ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYb,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;IAaN,aAAa;;;;;;;;;;;;;IAYb,aAAa;;;;;;;;;;IAab,MAAM;;;;;;;;IAWN,QAAQ;;;;;;;;;IAaR,SAAS;;;;;;;;;;;;;;;;;;;;;;;;IAYT,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUX,CAAC"}