@intentic/sandbox-contract 1.345.0 → 1.346.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.
- package/README.md +26 -14
- package/dist/contracts/accounts.contract.d.ts +0 -80
- package/dist/contracts/accounts.contract.d.ts.map +1 -1
- package/dist/contracts/agent.contract.d.ts +33 -2
- package/dist/contracts/agent.contract.d.ts.map +1 -1
- package/dist/contracts/agents.contract.d.ts +910 -29
- package/dist/contracts/agents.contract.d.ts.map +1 -1
- package/dist/contracts/agents.contract.js +43 -2
- package/dist/contracts/agents.contract.js.map +1 -1
- package/dist/contracts/device.contract.d.ts +2 -1
- package/dist/contracts/device.contract.d.ts.map +1 -1
- package/dist/contracts/endpoints.contract.d.ts +0 -1
- package/dist/contracts/endpoints.contract.d.ts.map +1 -1
- package/dist/contracts/providers.contract.d.ts +0 -1
- package/dist/contracts/providers.contract.d.ts.map +1 -1
- package/dist/contracts/runner.contract.d.ts +134 -123
- package/dist/contracts/runner.contract.d.ts.map +1 -1
- package/dist/contracts/settings.contract.d.ts +4 -0
- package/dist/contracts/settings.contract.d.ts.map +1 -1
- package/dist/contracts/system.contract.d.ts +102 -1
- package/dist/contracts/system.contract.d.ts.map +1 -1
- package/dist/contracts/translator.contract.d.ts +0 -80
- package/dist/contracts/translator.contract.d.ts.map +1 -1
- package/dist/events/agent-events.d.ts +43 -0
- package/dist/events/agent-events.d.ts.map +1 -1
- package/dist/events/agent-events.js +42 -37
- package/dist/events/agent-events.js.map +1 -1
- package/dist/events/failure-rows.d.ts +14 -0
- package/dist/events/failure-rows.d.ts.map +1 -0
- package/dist/events/failure-rows.js +109 -0
- package/dist/events/failure-rows.js.map +1 -0
- package/dist/events/sandbox-notice.d.ts +16 -0
- package/dist/events/sandbox-notice.d.ts.map +1 -1
- package/dist/events/sandbox-notice.js +1 -0
- package/dist/events/sandbox-notice.js.map +1 -1
- package/dist/events/system-events.d.ts +68 -0
- package/dist/events/system-events.d.ts.map +1 -1
- package/dist/events/system-events.js +7 -1
- package/dist/events/system-events.js.map +1 -1
- package/dist/index.d.ts +1158 -303
- package/dist/index.d.ts.map +1 -1
- package/dist/models/agent-lanes.d.ts.map +1 -1
- package/dist/models/agent-lanes.js +3 -5
- package/dist/models/agent-lanes.js.map +1 -1
- package/dist/models/agent-standing.d.ts +3 -20
- package/dist/models/agent-standing.d.ts.map +1 -1
- package/dist/models/agent-standing.js +12 -37
- package/dist/models/agent-standing.js.map +1 -1
- package/dist/models/model-pins.d.ts +3 -0
- package/dist/models/model-pins.d.ts.map +1 -1
- package/dist/models/model-pins.js +2 -0
- package/dist/models/model-pins.js.map +1 -1
- package/dist/models/plan-pools.d.ts +23 -5
- package/dist/models/plan-pools.d.ts.map +1 -1
- package/dist/models/plan-pools.js +116 -33
- package/dist/models/plan-pools.js.map +1 -1
- package/dist/protocol/doors/runner-protocol.d.ts +1 -0
- package/dist/protocol/doors/runner-protocol.d.ts.map +1 -1
- package/dist/protocol/doors/runner-protocol.js +1 -0
- package/dist/protocol/doors/runner-protocol.js.map +1 -1
- package/dist/protocol/raw/raw-json-routes.d.ts +3 -1
- package/dist/protocol/raw/raw-json-routes.d.ts.map +1 -1
- package/dist/protocol/raw/raw-routes.d.ts +4 -0
- package/dist/protocol/raw/raw-routes.d.ts.map +1 -1
- package/dist/protocol/raw/raw-routes.js +1 -0
- package/dist/protocol/raw/raw-routes.js.map +1 -1
- package/dist/schemas/agent-next.d.ts +21 -0
- package/dist/schemas/agent-next.d.ts.map +1 -0
- package/dist/schemas/agent-next.js +21 -0
- package/dist/schemas/agent-next.js.map +1 -0
- package/dist/schemas/agent-search.d.ts +45 -0
- package/dist/schemas/agent-search.d.ts.map +1 -0
- package/dist/schemas/agent-search.js +28 -0
- package/dist/schemas/agent-search.js.map +1 -0
- package/dist/schemas/agent.d.ts +9 -0
- package/dist/schemas/agent.d.ts.map +1 -1
- package/dist/schemas/agent.js +14 -10
- package/dist/schemas/agent.js.map +1 -1
- package/dist/schemas/agents-list.d.ts +16 -0
- package/dist/schemas/agents-list.d.ts.map +1 -1
- package/dist/schemas/agents.d.ts +48 -43
- package/dist/schemas/agents.d.ts.map +1 -1
- package/dist/schemas/agents.js +10 -33
- package/dist/schemas/agents.js.map +1 -1
- package/dist/schemas/compose-overlay.d.ts +9 -0
- package/dist/schemas/compose-overlay.d.ts.map +1 -0
- package/dist/schemas/compose-overlay.js +11 -0
- package/dist/schemas/compose-overlay.js.map +1 -0
- package/dist/schemas/composer-drafts.d.ts +169 -0
- package/dist/schemas/composer-drafts.d.ts.map +1 -0
- package/dist/schemas/composer-drafts.js +60 -0
- package/dist/schemas/composer-drafts.js.map +1 -0
- package/dist/schemas/device-commands.d.ts +63 -0
- package/dist/schemas/device-commands.d.ts.map +1 -0
- package/dist/schemas/device-commands.js +42 -0
- package/dist/schemas/device-commands.js.map +1 -0
- package/dist/schemas/device-folder.d.ts +11 -0
- package/dist/schemas/device-folder.d.ts.map +1 -1
- package/dist/schemas/device-folder.js +1 -0
- package/dist/schemas/device-folder.js.map +1 -1
- package/dist/schemas/devices.d.ts +14 -67
- package/dist/schemas/devices.d.ts.map +1 -1
- package/dist/schemas/devices.js +7 -45
- package/dist/schemas/devices.js.map +1 -1
- package/dist/schemas/environment.d.ts.map +1 -1
- package/dist/schemas/environment.js.map +1 -1
- package/dist/schemas/hosts.d.ts +27 -0
- package/dist/schemas/hosts.d.ts.map +1 -1
- package/dist/schemas/hosts.js +21 -0
- package/dist/schemas/hosts.js.map +1 -1
- package/dist/schemas/privacy-egress.d.ts +41 -0
- package/dist/schemas/privacy-egress.d.ts.map +1 -0
- package/dist/schemas/privacy-egress.js +30 -0
- package/dist/schemas/privacy-egress.js.map +1 -0
- package/dist/schemas/privacy.d.ts +1 -0
- package/dist/schemas/privacy.d.ts.map +1 -1
- package/dist/schemas/privacy.js +1 -0
- package/dist/schemas/privacy.js.map +1 -1
- package/dist/schemas/providers/plan-limits.d.ts +2 -130
- package/dist/schemas/providers/plan-limits.d.ts.map +1 -1
- package/dist/schemas/providers/plan-limits.js +5 -23
- package/dist/schemas/providers/plan-limits.js.map +1 -1
- package/dist/schemas/providers/provider-oauth.d.ts +0 -82
- package/dist/schemas/providers/provider-oauth.d.ts.map +1 -1
- package/dist/schemas/providers/provider-oauth.js +1 -6
- package/dist/schemas/providers/provider-oauth.js.map +1 -1
- package/dist/schemas/providers/refusals.d.ts +64 -0
- package/dist/schemas/providers/refusals.d.ts.map +1 -0
- package/dist/schemas/providers/refusals.js +33 -0
- package/dist/schemas/providers/refusals.js.map +1 -0
- package/dist/schemas/sessions.js +1 -1
- package/dist/schemas/sessions.js.map +1 -1
- package/dist/schemas/settings.d.ts +4 -0
- package/dist/schemas/settings.d.ts.map +1 -1
- package/dist/schemas/settings.js +2 -0
- package/dist/schemas/settings.js.map +1 -1
- package/dist/schemas/system.d.ts +16 -0
- package/dist/schemas/system.d.ts.map +1 -1
- package/dist/schemas/system.js +11 -0
- package/dist/schemas/system.js.map +1 -1
- package/dist/state/definition.d.ts +8 -0
- package/dist/state/definition.d.ts.map +1 -1
- package/dist/state/runtime-state.d.ts +3 -0
- package/dist/state/runtime-state.d.ts.map +1 -1
- package/dist/state/runtime-state.js +1 -0
- package/dist/state/runtime-state.js.map +1 -1
- package/dist/state/sandbox-build.d.ts +20 -0
- package/dist/state/sandbox-build.d.ts.map +1 -0
- package/dist/state/sandbox-build.js +43 -0
- package/dist/state/sandbox-build.js.map +1 -0
- package/dist/state/ways-back.d.ts +4 -0
- package/dist/state/ways-back.d.ts.map +1 -0
- package/dist/state/ways-back.js +8 -0
- package/dist/state/ways-back.js.map +1 -0
- package/dist/text/land-rows.d.ts +14 -0
- package/dist/text/land-rows.d.ts.map +1 -0
- package/dist/text/land-rows.js +86 -0
- package/dist/text/land-rows.js.map +1 -0
- package/dist/text/transcript-fold.d.ts +4 -2
- package/dist/text/transcript-fold.d.ts.map +1 -1
- package/dist/text/transcript-fold.js +21 -187
- package/dist/text/transcript-fold.js.map +1 -1
- package/package.json +6 -6
- package/src/contracts/agents.contract.ts +49 -25
- package/src/events/agent-events.ts +95 -78
- package/src/events/failure-rows.ts +148 -0
- package/src/events/sandbox-notice.ts +11 -2
- package/src/events/system-events.ts +14 -4
- package/src/ids/project-dir.test.ts +2 -2
- package/src/ids/project-dir.ts +4 -4
- package/src/models/agent-lanes.ts +7 -21
- package/src/models/agent-runtimes.ts +2 -2
- package/src/models/agent-standing.ts +31 -96
- package/src/models/model-pins.test.ts +31 -1
- package/src/models/model-pins.ts +17 -0
- package/src/models/plan-pools.test.ts +159 -24
- package/src/models/plan-pools.ts +215 -83
- package/src/protocol/doors/runner-protocol.ts +4 -1
- package/src/protocol/raw/raw-routes.ts +1 -0
- package/src/schemas/agent-next.ts +34 -0
- package/src/schemas/agent-search.ts +51 -0
- package/src/schemas/agent.ts +21 -12
- package/src/schemas/agents.ts +24 -63
- package/src/schemas/compose-overlay.test.ts +35 -0
- package/src/schemas/compose-overlay.ts +19 -0
- package/src/schemas/composer-drafts.ts +86 -0
- package/src/schemas/device-commands.ts +89 -0
- package/src/schemas/device-folder.ts +9 -0
- package/src/schemas/devices.ts +24 -106
- package/src/schemas/environment.ts +8 -9
- package/src/schemas/hosts.ts +56 -0
- package/src/schemas/machine-presence.test.ts +33 -0
- package/src/schemas/privacy-egress.test.ts +83 -0
- package/src/schemas/privacy-egress.ts +86 -0
- package/src/schemas/privacy.ts +4 -0
- package/src/schemas/project-delivery.ts +1 -1
- package/src/schemas/providers/plan-limits.test.ts +16 -0
- package/src/schemas/providers/plan-limits.ts +8 -49
- package/src/schemas/providers/provider-oauth.ts +1 -13
- package/src/schemas/providers/refusals.ts +62 -0
- package/src/schemas/sessions.ts +1 -1
- package/src/schemas/settings.ts +2 -0
- package/src/schemas/system.ts +15 -0
- package/src/state/runtime-state.ts +5 -0
- package/src/state/sandbox-build.test.ts +95 -0
- package/src/state/sandbox-build.ts +96 -0
- package/src/state/ways-back.test.ts +36 -0
- package/src/state/ways-back.ts +19 -0
- package/src/state/workspace-state.ts +1 -1
- package/src/text/land-rows.ts +111 -0
- package/src/text/transcript-fold.test.ts +38 -9
- package/src/text/transcript-fold.ts +30 -232
- package/dist/events/undelivered.d.ts +0 -10
- package/dist/events/undelivered.d.ts.map +0 -1
- package/dist/events/undelivered.js +0 -22
- package/dist/events/undelivered.js.map +0 -1
- package/dist/state/history-state.d.ts +0 -3
- package/dist/state/history-state.d.ts.map +0 -1
- package/dist/state/history-state.js +0 -153
- package/dist/state/history-state.js.map +0 -1
- package/src/events/undelivered.ts +0 -33
- 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`).
|
|
38
|
-
`
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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: `
|
|
54
|
-
seat, a translator bench,
|
|
55
|
-
`blocked` with its `fix` · `unknown`), and `
|
|
56
|
-
|
|
57
|
-
|
|
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.
|
|
128
|
-
|
|
129
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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"}
|