@ggui-ai/protocol 0.13.0 → 0.15.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 (85) hide show
  1. package/dist/envelope-adapters.d.ts +1 -14
  2. package/dist/envelope-adapters.d.ts.map +1 -1
  3. package/dist/envelope-adapters.js +17 -1
  4. package/dist/envelopes/render-refusal.d.ts +49 -0
  5. package/dist/envelopes/render-refusal.d.ts.map +1 -0
  6. package/dist/envelopes/render-refusal.js +12 -0
  7. package/dist/gadgets/resolve-app-gadgets.d.ts +1 -1
  8. package/dist/gadgets/stdlib-gadgets.d.ts +2 -2
  9. package/dist/gadgets/stdlib-gadgets.js +1 -1
  10. package/dist/index.d.ts +67 -60
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +10 -0
  13. package/dist/integrations/mcp-apps.d.ts +4 -10
  14. package/dist/integrations/mcp-apps.d.ts.map +1 -1
  15. package/dist/schemas/app-theme.d.ts +5 -0
  16. package/dist/schemas/app-theme.d.ts.map +1 -1
  17. package/dist/schemas/app-theme.js +23 -0
  18. package/dist/schemas/blueprint.d.ts +2 -2
  19. package/dist/schemas/data-contract.d.ts +12 -30
  20. package/dist/schemas/data-contract.d.ts.map +1 -1
  21. package/dist/schemas/data-contract.js +6 -27
  22. package/dist/schemas/interface-context.d.ts +44 -0
  23. package/dist/schemas/interface-context.d.ts.map +1 -0
  24. package/dist/schemas/interface-context.js +22 -0
  25. package/dist/schemas/invoke.d.ts +1 -1
  26. package/dist/schemas/invoke.js +1 -1
  27. package/dist/schemas/mcp.d.ts +636 -69
  28. package/dist/schemas/mcp.d.ts.map +1 -1
  29. package/dist/schemas/mcp.js +554 -47
  30. package/dist/schemas/public-env-key.d.ts +26 -0
  31. package/dist/schemas/public-env-key.d.ts.map +1 -0
  32. package/dist/schemas/public-env-key.js +25 -0
  33. package/dist/schemas/render-input-envelope.d.ts +20 -0
  34. package/dist/schemas/render-input-envelope.d.ts.map +1 -0
  35. package/dist/schemas/render-input-envelope.js +56 -0
  36. package/dist/schemas/runtime-telemetry-limits.d.ts +11 -0
  37. package/dist/schemas/runtime-telemetry-limits.d.ts.map +1 -0
  38. package/dist/schemas/runtime-telemetry-limits.js +10 -0
  39. package/dist/transport/websocket.d.ts +5 -5
  40. package/dist/types/auth.d.ts +1 -1
  41. package/dist/types/contract-inference.d.ts +1 -1
  42. package/dist/types/events.d.ts +1 -1
  43. package/dist/types/ggui-session-event.d.ts +4 -5
  44. package/dist/types/ggui-session-event.d.ts.map +1 -1
  45. package/dist/types/ggui-session-event.js +0 -37
  46. package/dist/types/host-context.d.ts +18 -17
  47. package/dist/types/host-context.d.ts.map +1 -1
  48. package/dist/types/host-context.js +7 -0
  49. package/dist/types/interface-context.d.ts +1 -1
  50. package/dist/types/invoke.d.ts +1 -1
  51. package/dist/types/lifecycle.d.ts +1 -1
  52. package/dist/types/live-channel.d.ts +2 -2
  53. package/dist/types/llm-route.d.ts +2 -2
  54. package/dist/types/llm-route.d.ts.map +1 -1
  55. package/dist/types/llm-route.js +11 -3
  56. package/dist/types/llm.d.ts +397 -7
  57. package/dist/types/llm.d.ts.map +1 -1
  58. package/dist/types/llm.js +111 -10
  59. package/dist/types/mcp.d.ts +31 -111
  60. package/dist/types/mcp.d.ts.map +1 -1
  61. package/dist/types/mcp.js +7 -0
  62. package/dist/types/readonly.d.ts +11 -0
  63. package/dist/types/readonly.d.ts.map +1 -0
  64. package/dist/types/readonly.js +1 -0
  65. package/dist/types/refusal-codes.d.ts +340 -0
  66. package/dist/types/refusal-codes.d.ts.map +1 -0
  67. package/dist/types/refusal-codes.js +346 -0
  68. package/dist/types/render.d.ts +9 -8
  69. package/dist/types/render.d.ts.map +1 -1
  70. package/dist/types/ui-generator.d.ts +1 -1
  71. package/dist/validation/ajv-runtime.d.ts +2 -2
  72. package/dist/validation/contract-validator.d.ts +6 -6
  73. package/dist/validation/cross-references.d.ts +2 -2
  74. package/dist/validation/hygiene-rules.d.ts +1 -1
  75. package/dist/validation/name-invariants.d.ts +2 -2
  76. package/dist/validation/reserved-channels.d.ts +1 -1
  77. package/dist/validation/schema-compat-invariants.d.ts +2 -2
  78. package/dist/validation/schema-meta-validation.d.ts +1 -1
  79. package/dist/version.d.ts +201 -5
  80. package/dist/version.d.ts.map +1 -1
  81. package/dist/version.js +200 -4
  82. package/dist/wire.d.ts +45 -0
  83. package/dist/wire.d.ts.map +1 -0
  84. package/dist/wire.js +44 -0
  85. package/package.json +13 -3
@@ -0,0 +1,340 @@
1
+ /**
2
+ * `PRE_GENERATION_REFUSAL_CODES` — the closed registry of refusal codes
3
+ * (ggui#786).
4
+ *
5
+ * A **pre-generation refusal** is a deployment declining a call BEFORE
6
+ * it does any work: no state read, nothing committed, no model spend.
7
+ * (The call has already passed the SDK's check against the declared
8
+ * `inputSchema`; the claim is nothing READ, not nothing validated.)
9
+ * It is a third outcome, not a failure — a failure describes work
10
+ * that ran and did not produce a result. The wire shape
11
+ * of a refused render lives in `../schemas/mcp.ts`
12
+ * (`renderRefusalSchema`); this file owns the NAMES.
13
+ *
14
+ * ## Why one file
15
+ *
16
+ * The registry is the anti-drift mechanism: one `code` namespace across
17
+ * every surface a deployment can refuse on, so two names can never mean
18
+ * the same state and one name can never mean two. Emitters read a row
19
+ * from here; they never mint a code literal of their own. A code that
20
+ * is not in this file fails the wire enum at the transport, loudly — a
21
+ * bug, never a wire state.
22
+ *
23
+ * ## The rules every row obeys
24
+ *
25
+ * - **Name the STATE, not the verb.** `subscription_exists`, not
26
+ * `cannot_create_subscription`: the same state may refuse more than
27
+ * one action later, and the code must not encode which.
28
+ * - **One state, one code.** Two codes never share a name; one code MAY
29
+ * list several `surfaces` when a single state surfaces in more than
30
+ * one place (`billing_mode_anomaly`).
31
+ * - **`retry` is defined from the CALLER's side.** `after-fix` — a
32
+ * named party can act and the SAME call then succeeds; `next-period`
33
+ * — time restores it at the next period boundary; `later` —
34
+ * unbounded time (transient unavailability); `never` — no action by
35
+ * the caller restores the call under this identity.
36
+ * - **`fixBy` names WHO acts.** REQUIRED on every `after-fix` row;
37
+ * PERMITTED on a `later` row (naming the operator who restores a
38
+ * surface that is transiently unavailable); FORBIDDEN on
39
+ * `next-period` and `never` — time restores the first and nothing
40
+ * restores the second, so naming a party would be a lie about who
41
+ * can act. **An agent MUST NOT auto-retry an `after-fix` refusal
42
+ * whose `fixBy` is not `caller`** — otherwise "retry after fix"
43
+ * would mean "perform someone else's billing or policy decision on
44
+ * their behalf". `caller` is the only value an agent may act on
45
+ * itself.
46
+ * - **`emitter` is named.** A row whose emitter is unrecorded is the
47
+ * drift the registry exists to prevent.
48
+ *
49
+ * ## Reading this file as a self-hoster
50
+ *
51
+ * Every `description` here ships to npm, and the render-gate subset
52
+ * reaches an agent as JSON-Schema metadata through `tools/list`. The
53
+ * wording is therefore written from the DEPLOYMENT-POLICY perspective
54
+ * ("the allowance this deployment configured for the app is
55
+ * exhausted"), never from an operator's internal vocabulary. A
56
+ * deployment that configures none of these policies emits none of these
57
+ * codes; the registry is the vocabulary, not a mandate.
58
+ */
59
+ /**
60
+ * The surfaces a refusal code may be emitted on.
61
+ *
62
+ * - `render-gate` — the pre-generation gate on the render/mutation
63
+ * tools. These are the only codes that can appear in a refused
64
+ * tool result's `refusal.code`.
65
+ * - `owner-api` — an app owner's own billing mutations.
66
+ * - `provisioning-api` — a tenant provisioning an app on behalf of
67
+ * its own users.
68
+ * - `mcp-endpoint` — the per-app MCP endpoint's authorization, on
69
+ * any JSON-RPC request (`initialize` included). The refusal rides
70
+ * the JSON-RPC error object's `data.refusal` (HTTP 403, error code
71
+ * `-32003` `APP_NOT_FOUND`, message `App not found` — ggui#836); only the codes listed
72
+ * here are ever typed there, and an authorization failure that is
73
+ * NOT one of them stays a bare 403 by contract, so a client can
74
+ * never learn which of the untyped arms it hit.
75
+ */
76
+ export declare const REFUSAL_SURFACES: readonly ["render-gate", "owner-api", "provisioning-api", "mcp-endpoint"];
77
+ /** One member of {@link REFUSAL_SURFACES}. */
78
+ export type RefusalSurface = (typeof REFUSAL_SURFACES)[number];
79
+ /** The closed `retry` vocabulary — see the file header for semantics. */
80
+ export declare const REFUSAL_RETRIES: readonly ["after-fix", "next-period", "later", "never"];
81
+ /** One member of {@link REFUSAL_RETRIES}. */
82
+ export type RefusalRetry = (typeof REFUSAL_RETRIES)[number];
83
+ /**
84
+ * Who can act on an `after-fix` refusal. Only `caller` is the agent
85
+ * itself — see the no-auto-retry rule in the file header.
86
+ */
87
+ export declare const REFUSAL_FIX_BY: readonly ["caller", "owner", "tenant", "operator"];
88
+ /** One member of {@link REFUSAL_FIX_BY}. */
89
+ export type RefusalFixBy = (typeof REFUSAL_FIX_BY)[number];
90
+ declare const REFUSAL_ROWS: {
91
+ readonly unsupported_provider: {
92
+ readonly code: "unsupported_provider";
93
+ readonly surfaces: readonly ["render-gate"];
94
+ readonly retry: "after-fix";
95
+ readonly fixBy: "owner";
96
+ readonly emitter: "a deployment's generation gate, provider arm";
97
+ readonly description: "The provider behind the requested model is not one this deployment can fund for the app. The app owner picks a funded provider or configures the app with its own credentials.";
98
+ };
99
+ readonly insufficient_credit: {
100
+ readonly code: "insufficient_credit";
101
+ readonly surfaces: readonly ["render-gate"];
102
+ readonly retry: "after-fix";
103
+ readonly fixBy: "owner";
104
+ readonly emitter: "a deployment's generation gate, balance arm";
105
+ readonly description: "The balance this deployment funds the app from is exhausted. The app owner adds funds, after which the same call succeeds.";
106
+ };
107
+ readonly hard_cap_exceeded: {
108
+ readonly code: "hard_cap_exceeded";
109
+ readonly surfaces: readonly ["render-gate"];
110
+ readonly retry: "next-period";
111
+ readonly emitter: "a deployment's generation gate, cap arm";
112
+ readonly description: "The app reached the hard ceiling this deployment set for the current period. Nothing the caller or the owner does lifts it before the period rolls over.";
113
+ };
114
+ readonly model_not_in_tier: {
115
+ readonly code: "model_not_in_tier";
116
+ readonly surfaces: readonly ["render-gate"];
117
+ readonly retry: "after-fix";
118
+ readonly fixBy: "caller";
119
+ readonly emitter: "a deployment's generation gate, model arm";
120
+ readonly description: "The requested model is not among those the app is allowed to use. The caller picks an allowed model and retries — the one render-gate state an agent may act on itself.";
121
+ };
122
+ readonly managed_default_cap_exceeded: {
123
+ readonly code: "managed_default_cap_exceeded";
124
+ readonly surfaces: readonly ["render-gate"];
125
+ readonly retry: "after-fix";
126
+ readonly fixBy: "tenant";
127
+ readonly emitter: "a deployment's generation gate, delegated-policy arm";
128
+ readonly description: "The app is running on the default ceiling because the tenant that provisioned it has declared no policy of its own, and that ceiling is reached. The tenant declares an explicit policy for the app.";
129
+ };
130
+ readonly app_policy_missing: {
131
+ readonly code: "app_policy_missing";
132
+ readonly surfaces: readonly ["render-gate"];
133
+ readonly retry: "after-fix";
134
+ readonly fixBy: "tenant";
135
+ readonly emitter: "a deployment's generation gate, delegated-policy arm";
136
+ readonly description: "The app exists but carries no policy yet — the window between provisioning it and declaring what it may spend. The tenant declares the policy.";
137
+ };
138
+ readonly billing_mode_anomaly: {
139
+ readonly code: "billing_mode_anomaly";
140
+ readonly surfaces: readonly ["provisioning-api", "render-gate"];
141
+ readonly retry: "never";
142
+ readonly emitter: "a deployment's provisioning guard and its generation gate, reading the same record";
143
+ readonly description: "The app record declares a funding mode this deployment does not recognise, or declares none at all. The value is reported as read and never coerced — an unreadable record is not a policy.";
144
+ };
145
+ readonly app_canceled: {
146
+ readonly code: "app_canceled";
147
+ readonly surfaces: readonly ["render-gate"];
148
+ readonly retry: "after-fix";
149
+ readonly fixBy: "owner";
150
+ readonly emitter: "a deployment's generation gate, plan-state arm";
151
+ readonly description: "The app's plan has ended, so it renders nothing while the stored work is kept. The owner starts a new plan to restore rendering.";
152
+ };
153
+ readonly trial_exhausted: {
154
+ readonly code: "trial_exhausted";
155
+ readonly surfaces: readonly ["render-gate"];
156
+ readonly retry: "after-fix";
157
+ readonly fixBy: "owner";
158
+ readonly emitter: "a deployment's generation gate, trial arm";
159
+ readonly description: "The trial this deployment grants the app has used up its allotment. The owner starts a paid plan.";
160
+ };
161
+ readonly trial_expired: {
162
+ readonly code: "trial_expired";
163
+ readonly surfaces: readonly ["render-gate"];
164
+ readonly retry: "after-fix";
165
+ readonly fixBy: "owner";
166
+ readonly emitter: "a deployment's generation gate, trial arm";
167
+ readonly description: "The app's trial window has closed. The owner starts a paid plan.";
168
+ };
169
+ readonly issuer_rate_limited: {
170
+ readonly code: "issuer_rate_limited";
171
+ readonly surfaces: readonly ["render-gate"];
172
+ readonly retry: "later";
173
+ readonly emitter: "the per-issuer render-rate cap's denial";
174
+ readonly description: "Calls arriving under this issuing identity are over the rate this deployment allows. Time restores it; retry shortly.";
175
+ };
176
+ readonly app_rate_limited: {
177
+ readonly code: "app_rate_limited";
178
+ readonly surfaces: readonly ["render-gate"];
179
+ readonly retry: "later";
180
+ readonly emitter: "the per-app render-rate cap's denial";
181
+ readonly description: "This app is rendering faster than the rate this deployment allows it. The cap is the app’s own, not the issuing identity’s — the two are separate states with separate codes. Time restores it; retry shortly.";
182
+ };
183
+ readonly app_deprovisioned: {
184
+ readonly code: "app_deprovisioned";
185
+ readonly surfaces: readonly ["render-gate", "mcp-endpoint"];
186
+ readonly retry: "never";
187
+ readonly emitter: "the generation gate's owner-claim check, before any reservation or metering";
188
+ readonly description: "The app record has no owner claim any more — either the claim was removed, or the record names no issuing tenant at all. A record with no owner cannot be funded, so nothing renders under it and no caller action restores it.";
189
+ };
190
+ readonly billing_path_missing: {
191
+ readonly code: "billing_path_missing";
192
+ readonly surfaces: readonly ["render-gate"];
193
+ readonly retry: "after-fix";
194
+ readonly fixBy: "owner";
195
+ readonly emitter: "the generation gate's fall-through arm: a non-playground identity that resolves to no billing path (not a trial account, not a managed app, not a credit holder)";
196
+ readonly description: "The caller has no billing subject on this deployment, so nothing renders under it. The owner provisions one — a trial account, a managed policy, or credit. Unlike `billing_mode_anomaly` — an app record that exists and declares a funding mode this deployment cannot read — no record arm applies here: there is simply no subject to bill. A deployment MAY suppress this refusal by operator override; that switch is deployment policy, not a wire state.";
197
+ };
198
+ readonly subscription_exists: {
199
+ readonly code: "subscription_exists";
200
+ readonly surfaces: readonly ["owner-api"];
201
+ readonly retry: "after-fix";
202
+ readonly fixBy: "owner";
203
+ readonly emitter: "a deployment's owner billing mutations";
204
+ readonly description: "An active (non-canceled) plan exists on this app. It refuses starting another one AND deleting the app — the refusal's own `fix` names the next step for the action that was called.";
205
+ };
206
+ readonly checkout_unavailable: {
207
+ readonly code: "checkout_unavailable";
208
+ readonly surfaces: readonly ["owner-api"];
209
+ readonly retry: "later";
210
+ readonly fixBy: "operator";
211
+ readonly emitter: "a deployment's owner billing mutations";
212
+ readonly description: "The surface that starts a plan is unavailable on this deployment right now — unconfigured, or its provider is down. Only the operator can restore it.";
213
+ };
214
+ readonly card_update_unavailable: {
215
+ readonly code: "card_update_unavailable";
216
+ readonly surfaces: readonly ["owner-api"];
217
+ readonly retry: "later";
218
+ readonly fixBy: "operator";
219
+ readonly emitter: "a deployment's owner billing mutations";
220
+ readonly description: "The surface that updates a payment method is unavailable on this deployment right now. Only the operator can restore it.";
221
+ };
222
+ readonly portal_unavailable: {
223
+ readonly code: "portal_unavailable";
224
+ readonly surfaces: readonly ["owner-api"];
225
+ readonly retry: "later";
226
+ readonly fixBy: "operator";
227
+ readonly emitter: "a deployment's owner billing mutations";
228
+ readonly description: "The self-service billing surface is unavailable on this deployment right now. Only the operator can restore it.";
229
+ };
230
+ readonly no_subscription: {
231
+ readonly code: "no_subscription";
232
+ readonly surfaces: readonly ["owner-api"];
233
+ readonly retry: "after-fix";
234
+ readonly fixBy: "owner";
235
+ readonly emitter: "a deployment's owner billing mutations";
236
+ readonly description: "A plan-management action was called on an app that has no plan. The owner starts a plan first.";
237
+ };
238
+ readonly already_on_tier: {
239
+ readonly code: "already_on_tier";
240
+ readonly surfaces: readonly ["owner-api"];
241
+ readonly retry: "after-fix";
242
+ readonly fixBy: "owner";
243
+ readonly emitter: "a deployment's owner billing mutations";
244
+ readonly description: "The plan requested is the one the app is already on. The owner picks a different plan.";
245
+ };
246
+ readonly managed_app_no_checkout: {
247
+ readonly code: "managed_app_no_checkout";
248
+ readonly surfaces: readonly ["owner-api"];
249
+ readonly retry: "never";
250
+ readonly emitter: "a deployment's owner billing mutations";
251
+ readonly description: "This app is funded by the tenant that provisioned it, so it has no owner-facing plan surface at all. No owner action creates one.";
252
+ };
253
+ readonly managed_app_no_card_update: {
254
+ readonly code: "managed_app_no_card_update";
255
+ readonly surfaces: readonly ["owner-api"];
256
+ readonly retry: "never";
257
+ readonly emitter: "a deployment's owner billing mutations";
258
+ readonly description: "This app is funded by the tenant that provisioned it, so it carries no owner payment method to update.";
259
+ };
260
+ readonly managed_app_no_portal: {
261
+ readonly code: "managed_app_no_portal";
262
+ readonly surfaces: readonly ["owner-api"];
263
+ readonly retry: "never";
264
+ readonly emitter: "a deployment's owner billing mutations";
265
+ readonly description: "This app is funded by the tenant that provisioned it, so it has no owner self-service billing surface.";
266
+ };
267
+ readonly owner_ref_mismatch: {
268
+ readonly code: "owner_ref_mismatch";
269
+ readonly surfaces: readonly ["provisioning-api"];
270
+ readonly retry: "after-fix";
271
+ readonly fixBy: "tenant";
272
+ readonly emitter: "a deployment's provisioning guard";
273
+ readonly description: "The owner reference the caller supplied is not the one recorded on this app. The refusal names the route and the app, never the recorded reference. The tenant re-derives the reference and retries.";
274
+ };
275
+ readonly policy_version_stale: {
276
+ readonly code: "policy_version_stale";
277
+ readonly surfaces: readonly ["provisioning-api"];
278
+ readonly retry: "after-fix";
279
+ readonly fixBy: "tenant";
280
+ readonly emitter: "a deployment's provisioning guard, policy-write arm";
281
+ readonly description: "The policy write carries a version older than the one stored, so it would overwrite a newer decision. The refusal reports the stored version; the tenant re-derives from it and writes again.";
282
+ };
283
+ };
284
+ /** A refusal code = a registry key. Derived; never a second list. */
285
+ export type RefusalCode = keyof typeof REFUSAL_ROWS;
286
+ /**
287
+ * A registry row, as consumers read it. Normalized (not the literal
288
+ * row union) so `PRE_GENERATION_REFUSAL_CODES[code]` for any
289
+ * {@link RefusalCode} exposes `fixBy` as `RefusalFixBy | undefined`
290
+ * rather than a union in which some rows lack the property. The
291
+ * literal rows above still derive {@link RefusalCode}, enforce
292
+ * `code === key`, and enforce the retry/fixBy pairing.
293
+ */
294
+ export interface RefusalRow {
295
+ readonly code: RefusalCode;
296
+ readonly surfaces: readonly RefusalSurface[];
297
+ readonly retry: RefusalRetry;
298
+ readonly fixBy?: RefusalFixBy;
299
+ readonly emitter: string;
300
+ readonly description: string;
301
+ }
302
+ /** The registry consumers read. */
303
+ export declare const PRE_GENERATION_REFUSAL_CODES: Readonly<Record<RefusalCode, RefusalRow>>;
304
+ /**
305
+ * The codes on one surface, derived type-level from the literal rows'
306
+ * `surfaces` tuples. A runtime `.filter()` cannot narrow a type, so the
307
+ * union is computed here and the tuple below is proved complete
308
+ * against it.
309
+ */
310
+ type CodesOnSurface<S extends RefusalSurface> = {
311
+ [K in RefusalCode]: S extends (typeof REFUSAL_ROWS)[K]['surfaces'][number] ? K : never;
312
+ }[RefusalCode];
313
+ /**
314
+ * A code that can appear in a refused tool result's `refusal.code` —
315
+ * i.e. one whose `surfaces` include `render-gate`. Derived, so an
316
+ * owner-api or provisioning-api code is not even expressible on the
317
+ * render wire.
318
+ */
319
+ export type PreGenerationRefusalCode = CodesOnSurface<'render-gate'>;
320
+ /**
321
+ * A code that can appear in a per-app MCP endpoint refusal's
322
+ * `error.data.refusal.code` — i.e. one whose `surfaces` include
323
+ * `mcp-endpoint` (ggui#825). Derived, so a render-gate-only code is not
324
+ * expressible on the transport wire.
325
+ */
326
+ export type McpEndpointRefusalCode = CodesOnSurface<'mcp-endpoint'>;
327
+ /**
328
+ * Every render-gate code, as the literal tuple the wire enum
329
+ * (`renderRefusalSchema.code`) is built from. Order is the registry's.
330
+ */
331
+ export declare const RENDER_GATE_REFUSAL_CODES: readonly ["unsupported_provider", "insufficient_credit", "hard_cap_exceeded", "model_not_in_tier", "managed_default_cap_exceeded", "app_policy_missing", "billing_mode_anomaly", "billing_path_missing", "app_canceled", "trial_exhausted", "trial_expired", "issuer_rate_limited", "app_rate_limited", "app_deprovisioned"];
332
+ /**
333
+ * Every mcp-endpoint code, as the literal tuple the transport wire enum
334
+ * (`transportRefusalSchema.code`) is built from — the refusals a per-app
335
+ * MCP endpoint's authorization types on `error.data.refusal`
336
+ * (ggui#825). Order is the registry's.
337
+ */
338
+ export declare const MCP_ENDPOINT_REFUSAL_CODES: readonly ["app_deprovisioned"];
339
+ export {};
340
+ //# sourceMappingURL=refusal-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refusal-codes.d.ts","sourceRoot":"","sources":["../../src/types/refusal-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,2EAKnB,CAAC;AAEX,8CAA8C;AAC9C,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,yEAAyE;AACzE,eAAO,MAAM,eAAe,yDAKlB,CAAC;AAEX,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,cAAc,oDAAqD,CAAC;AAEjF,4CAA4C;AAC5C,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAiD3D,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqOhB,CAAC;AAEH,qEAAqE;AACrE,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,YAAY,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,mCAAmC;AACnC,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CACjD,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CACjB,CAAC;AAEjB;;;;;GAKG;AACH,KAAK,cAAc,CAAC,CAAC,SAAS,cAAc,IAAI;KAC7C,CAAC,IAAI,WAAW,GAAG,CAAC,SAAS,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GACtE,CAAC,GACD,KAAK;CACV,CAAC,WAAW,CAAC,CAAC;AAEf;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAErE;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAkBpE;;;GAGG;AACH,eAAO,MAAM,yBAAyB,8TAepC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,gCAErC,CAAC"}