@oneie/sdk 0.9.0 → 0.10.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.
@@ -0,0 +1,743 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Receiver registry — one source of truth for capability.
4
+ *
5
+ * The schema is truth for *data*; this registry is truth for *capability*.
6
+ * A receiver declares its contract (request/response zod + agent-ergonomic
7
+ * metadata). Handlers bind in the service that runs them (web `world-receivers.ts`,
8
+ * channels tool modules) — the SDK ships the catalog, the services ship the
9
+ * implementations. Nothing is hand-maintained twice.
10
+ *
11
+ * Consumers: typed `ask<R>`/`signal<R>` (inference, no codegen) · OpenAPI
12
+ * generator · MCP tool descriptions · `meta:catalog` discovery.
13
+ *
14
+ * See `plans/agent-first-spec.md`.
15
+ */
16
+ /** Role gate — mirrors the web route's `gateSignalByRole` action. Kept as a loose
17
+ * string so the contract layer carries no web runtime dependency. */
18
+ export type RoleAction = string;
19
+ /** What a call costs, so an agent can budget before acting. */
20
+ export type ReceiverCost = "free" | "variable" | {
21
+ fixed: number;
22
+ };
23
+ /** Whether the call moves real, permanent value. */
24
+ export type Settlement = "none" | "offchain" | "onchain";
25
+ /** Fire-and-forget vs. awaits an outcome. */
26
+ export type ReceiverEffect = "signal" | "ask";
27
+ /**
28
+ * A receiver's declared contract. Every field beyond the core five is
29
+ * agent-ergonomic metadata, read via `meta:catalog` (C5).
30
+ */
31
+ export interface Receiver<Req extends z.ZodTypeAny = z.ZodTypeAny, Res extends z.ZodTypeAny = z.ZodTypeAny> {
32
+ /** Canonical name, e.g. "world:create-actor". */
33
+ receiver: string;
34
+ /** One line — feeds OpenAPI, MCP, and `meta:catalog`. */
35
+ summary: string;
36
+ /** Validated BEFORE dispatch; errors carry the fix (error-as-affordance). */
37
+ request: Req;
38
+ /** The result shape (for `ask`). */
39
+ response: Res;
40
+ /** Fire-and-forget (`signal`) vs. awaits an outcome (`ask`). */
41
+ effect: ReceiverEffect;
42
+ /** Role gate — documents the existing `gateSignalByRole` check. */
43
+ auth?: RoleAction;
44
+ /** What it costs, so an agent budgets before acting. */
45
+ cost?: ReceiverCost;
46
+ /** Default true; false ⇒ should be dry-run first. */
47
+ reversible?: boolean;
48
+ /** Does it move real, permanent value? */
49
+ settles?: Settlement;
50
+ /** Accepts `{ simulate: true }` → projects an outcome, commits nothing. */
51
+ simulatable?: boolean;
52
+ /** Safe to retry as-is; else dedupes on the envelope `idempotencyKey`. */
53
+ idempotent?: boolean;
54
+ /** Capability version — agents pin; additive bumps never break callers. */
55
+ version?: string;
56
+ /** Valid payloads — seed MCP and the error-as-affordance hint. */
57
+ examples?: Array<z.infer<Req>>;
58
+ /** Migration target if retiring — agents read this and move. */
59
+ deprecated?: string;
60
+ /**
61
+ * Bound in the service, not the SDK. Contract-only declarations omit it;
62
+ * `world-receivers.ts` and channels tool modules attach it.
63
+ */
64
+ handler?: (data: z.infer<Req>, env: unknown, ctx: unknown) => Promise<z.infer<Res>>;
65
+ }
66
+ /**
67
+ * Declare a receiver contract. Identity at runtime — its only job is to pin the
68
+ * `Req`/`Res` generics so the catalog infers payload + outcome types.
69
+ */
70
+ export declare function receiver<Req extends z.ZodTypeAny, Res extends z.ZodTypeAny>(r: Receiver<Req, Res>): Receiver<Req, Res>;
71
+ /**
72
+ * The receiver catalog — one source of truth for capability. Object-literal keys
73
+ * are always literal, so `keyof typeof RECEIVERS` yields the declared receiver
74
+ * names and `ask<R>` infers payload + outcome by inference (no codegen).
75
+ *
76
+ * Populated incrementally: C2 = spine + 21 `world:*` + `grant-capability`;
77
+ * C4 = remaining families with metadata; C5 = the `meta:` family.
78
+ */
79
+ export declare const RECEIVERS: {
80
+ "auth:agent": Receiver<z.ZodObject<{
81
+ name: z.ZodOptional<z.ZodString>;
82
+ uid: z.ZodOptional<z.ZodString>;
83
+ kind: z.ZodOptional<z.ZodString>;
84
+ }, z.core.$strip>, z.ZodObject<{
85
+ uid: z.ZodString;
86
+ name: z.ZodString;
87
+ kind: z.ZodString;
88
+ wallet: z.ZodNullable<z.ZodString>;
89
+ apiKey: z.ZodString;
90
+ keyId: z.ZodString;
91
+ returning: z.ZodBoolean;
92
+ }, z.core.$strip>>;
93
+ "agents:sync": Receiver<z.ZodUnion<readonly [z.ZodObject<{
94
+ markdown: z.ZodString;
95
+ }, z.core.$strip>, z.ZodObject<{
96
+ agents: z.ZodArray<z.ZodObject<{
97
+ name: z.ZodOptional<z.ZodString>;
98
+ content: z.ZodString;
99
+ }, z.core.$strip>>;
100
+ world: z.ZodOptional<z.ZodString>;
101
+ description: z.ZodOptional<z.ZodUnknown>;
102
+ }, z.core.$strip>]>, z.ZodObject<{
103
+ ok: z.ZodBoolean;
104
+ agent: z.ZodOptional<z.ZodString>;
105
+ uid: z.ZodOptional<z.ZodString>;
106
+ wallet: z.ZodOptional<z.ZodNullable<z.ZodString>>;
107
+ suiObjectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
108
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
109
+ world: z.ZodOptional<z.ZodString>;
110
+ }, z.core.$loose>>;
111
+ "world:create-workspace": Receiver<z.ZodObject<{
112
+ name: z.ZodString;
113
+ slug: z.ZodString;
114
+ ownerEmail: z.ZodOptional<z.ZodString>;
115
+ parent: z.ZodOptional<z.ZodString>;
116
+ plan: z.ZodOptional<z.ZodEnum<{
117
+ free: "free";
118
+ pro: "pro";
119
+ studio: "studio";
120
+ agency: "agency";
121
+ enterprise: "enterprise";
122
+ }>>;
123
+ credit: z.ZodOptional<z.ZodNumber>;
124
+ markup: z.ZodOptional<z.ZodNumber>;
125
+ cap: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
126
+ brand: z.ZodOptional<z.ZodBoolean>;
127
+ agents: z.ZodOptional<z.ZodArray<z.ZodString>>;
128
+ }, z.core.$strip>, z.ZodObject<{
129
+ wsid: z.ZodString;
130
+ slug: z.ZodString;
131
+ }, z.core.$strip>>;
132
+ "world:invite-client": Receiver<z.ZodObject<{
133
+ slug: z.ZodString;
134
+ name: z.ZodOptional<z.ZodString>;
135
+ email: z.ZodOptional<z.ZodString>;
136
+ plan: z.ZodOptional<z.ZodEnum<{
137
+ free: "free";
138
+ pro: "pro";
139
+ studio: "studio";
140
+ agency: "agency";
141
+ enterprise: "enterprise";
142
+ }>>;
143
+ credits: z.ZodOptional<z.ZodNumber>;
144
+ markup: z.ZodOptional<z.ZodNumber>;
145
+ cap: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
146
+ brand: z.ZodOptional<z.ZodBoolean>;
147
+ agents: z.ZodOptional<z.ZodArray<z.ZodString>>;
148
+ }, z.core.$strip>, z.ZodObject<{
149
+ token: z.ZodString;
150
+ id: z.ZodString;
151
+ child: z.ZodString;
152
+ expiresAt: z.ZodNumber;
153
+ }, z.core.$strip>>;
154
+ "world:accept-client-invite": Receiver<z.ZodObject<{
155
+ token: z.ZodString;
156
+ email: z.ZodOptional<z.ZodString>;
157
+ name: z.ZodOptional<z.ZodString>;
158
+ }, z.core.$strip>, z.ZodObject<{
159
+ wsid: z.ZodString;
160
+ slug: z.ZodString;
161
+ owner: z.ZodString;
162
+ parent: z.ZodString;
163
+ }, z.core.$strip>>;
164
+ "world:invite-member": Receiver<z.ZodObject<{
165
+ workspace: z.ZodString;
166
+ email: z.ZodString;
167
+ role: z.ZodOptional<z.ZodString>;
168
+ }, z.core.$strip>, z.ZodObject<{
169
+ ok: z.ZodBoolean;
170
+ uid: z.ZodString;
171
+ }, z.core.$strip>>;
172
+ "world:remove-member": Receiver<z.ZodObject<{
173
+ workspace: z.ZodString;
174
+ aid: z.ZodString;
175
+ }, z.core.$strip>, z.ZodObject<{
176
+ ok: z.ZodBoolean;
177
+ }, z.core.$strip>>;
178
+ "world:suspend-workspace": Receiver<z.ZodObject<{
179
+ workspace: z.ZodString;
180
+ }, z.core.$strip>, z.ZodObject<{
181
+ ok: z.ZodBoolean;
182
+ }, z.core.$strip>>;
183
+ "world:create-group": Receiver<z.ZodObject<{
184
+ name: z.ZodString;
185
+ type: z.ZodString;
186
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
187
+ }, z.core.$strip>, z.ZodObject<{
188
+ gid: z.ZodString;
189
+ }, z.core.$strip>>;
190
+ "world:update-group": Receiver<z.ZodObject<{
191
+ gid: z.ZodString;
192
+ name: z.ZodOptional<z.ZodString>;
193
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
194
+ meta: z.ZodOptional<z.ZodUnknown>;
195
+ }, z.core.$strip>, z.ZodObject<{
196
+ ok: z.ZodBoolean;
197
+ }, z.core.$strip>>;
198
+ "world:remove-group": Receiver<z.ZodObject<{
199
+ gid: z.ZodString;
200
+ }, z.core.$strip>, z.ZodObject<{
201
+ ok: z.ZodBoolean;
202
+ }, z.core.$strip>>;
203
+ "world:create-actor": Receiver<z.ZodObject<{
204
+ name: z.ZodString;
205
+ type: z.ZodString;
206
+ group: z.ZodOptional<z.ZodString>;
207
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
208
+ model: z.ZodOptional<z.ZodString>;
209
+ prompt: z.ZodOptional<z.ZodString>;
210
+ }, z.core.$strip>, z.ZodObject<{
211
+ aid: z.ZodString;
212
+ }, z.core.$strip>>;
213
+ "world:update-actor": Receiver<z.ZodObject<{
214
+ aid: z.ZodString;
215
+ name: z.ZodOptional<z.ZodString>;
216
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
217
+ prompt: z.ZodOptional<z.ZodString>;
218
+ model: z.ZodOptional<z.ZodString>;
219
+ }, z.core.$strip>, z.ZodObject<{
220
+ ok: z.ZodBoolean;
221
+ }, z.core.$strip>>;
222
+ "world:remove-actor": Receiver<z.ZodObject<{
223
+ aid: z.ZodString;
224
+ }, z.core.$strip>, z.ZodObject<{
225
+ ok: z.ZodBoolean;
226
+ }, z.core.$strip>>;
227
+ "world:create-key": Receiver<z.ZodObject<{
228
+ actor: z.ZodString;
229
+ scope: z.ZodOptional<z.ZodString>;
230
+ label: z.ZodOptional<z.ZodString>;
231
+ }, z.core.$strip>, z.ZodObject<{
232
+ key: z.ZodString;
233
+ keyId: z.ZodString;
234
+ }, z.core.$strip>>;
235
+ "world:revoke-key": Receiver<z.ZodObject<{
236
+ keyId: z.ZodString;
237
+ }, z.core.$strip>, z.ZodObject<{
238
+ ok: z.ZodBoolean;
239
+ }, z.core.$strip>>;
240
+ "world:create-thing": Receiver<z.ZodObject<{
241
+ name: z.ZodString;
242
+ type: z.ZodString;
243
+ group: z.ZodOptional<z.ZodString>;
244
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
245
+ price: z.ZodOptional<z.ZodNumber>;
246
+ }, z.core.$strip>, z.ZodObject<{
247
+ tid: z.ZodString;
248
+ }, z.core.$strip>>;
249
+ "world:update-thing": Receiver<z.ZodObject<{
250
+ tid: z.ZodString;
251
+ name: z.ZodOptional<z.ZodString>;
252
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
253
+ price: z.ZodOptional<z.ZodNumber>;
254
+ meta: z.ZodOptional<z.ZodUnknown>;
255
+ }, z.core.$strip>, z.ZodObject<{
256
+ ok: z.ZodBoolean;
257
+ }, z.core.$strip>>;
258
+ "world:remove-thing": Receiver<z.ZodObject<{
259
+ tid: z.ZodString;
260
+ }, z.core.$strip>, z.ZodObject<{
261
+ ok: z.ZodBoolean;
262
+ }, z.core.$strip>>;
263
+ "world:freeze-path": Receiver<z.ZodObject<{
264
+ edge: z.ZodString;
265
+ }, z.core.$strip>, z.ZodObject<{
266
+ ok: z.ZodBoolean;
267
+ }, z.core.$strip>>;
268
+ "world:unfreeze-path": Receiver<z.ZodObject<{
269
+ edge: z.ZodString;
270
+ }, z.core.$strip>, z.ZodObject<{
271
+ ok: z.ZodBoolean;
272
+ }, z.core.$strip>>;
273
+ "world:remove-path": Receiver<z.ZodObject<{
274
+ edge: z.ZodString;
275
+ }, z.core.$strip>, z.ZodObject<{
276
+ ok: z.ZodBoolean;
277
+ }, z.core.$strip>>;
278
+ "world:create-hypothesis": Receiver<z.ZodObject<{
279
+ claim: z.ZodString;
280
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
281
+ confidence: z.ZodOptional<z.ZodNumber>;
282
+ }, z.core.$strip>, z.ZodObject<{
283
+ hid: z.ZodString;
284
+ }, z.core.$strip>>;
285
+ "world:promote-hypothesis": Receiver<z.ZodObject<{
286
+ hid: z.ZodString;
287
+ }, z.core.$strip>, z.ZodObject<{
288
+ ok: z.ZodBoolean;
289
+ }, z.core.$strip>>;
290
+ "world:reject-hypothesis": Receiver<z.ZodObject<{
291
+ hid: z.ZodString;
292
+ reason: z.ZodOptional<z.ZodString>;
293
+ }, z.core.$strip>, z.ZodObject<{
294
+ ok: z.ZodBoolean;
295
+ }, z.core.$strip>>;
296
+ "grant-capability": Receiver<z.ZodObject<{
297
+ grantee: z.ZodString;
298
+ actions: z.ZodArray<z.ZodString>;
299
+ scope: z.ZodString;
300
+ valid_from: z.ZodNumber;
301
+ valid_to: z.ZodNumber;
302
+ }, z.core.$strip>, z.ZodObject<{
303
+ outcome: z.ZodLiteral<"granted">;
304
+ id: z.ZodString;
305
+ grantee: z.ZodString;
306
+ scope: z.ZodString;
307
+ }, z.core.$strip>>;
308
+ "identity:address": Receiver<z.ZodObject<{
309
+ uid: z.ZodString;
310
+ }, z.core.$strip>, z.ZodObject<{
311
+ uid: z.ZodString;
312
+ address: z.ZodString;
313
+ }, z.core.$strip>>;
314
+ "auth:sign-in": Receiver<z.ZodObject<{
315
+ email: z.ZodString;
316
+ password: z.ZodString;
317
+ }, z.core.$strip>, z.ZodObject<{
318
+ sessionId: z.ZodString;
319
+ userId: z.ZodString;
320
+ }, z.core.$strip>>;
321
+ "auth:sign-out": Receiver<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
322
+ ok: z.ZodBoolean;
323
+ }, z.core.$strip>>;
324
+ "board:join": Receiver<z.ZodObject<{
325
+ uid: z.ZodString;
326
+ group: z.ZodOptional<z.ZodString>;
327
+ }, z.core.$strip>, z.ZodObject<{
328
+ ok: z.ZodBoolean;
329
+ uid: z.ZodString;
330
+ group: z.ZodString;
331
+ role: z.ZodString;
332
+ }, z.core.$strip>>;
333
+ "agency:push:complete": Receiver<z.ZodObject<{
334
+ agents: z.ZodNumber;
335
+ skills: z.ZodNumber;
336
+ }, z.core.$strip>, z.ZodObject<{
337
+ ok: z.ZodBoolean;
338
+ }, z.core.$strip>>;
339
+ "agency:friction": Receiver<z.ZodObject<{
340
+ agency: z.ZodString;
341
+ cycle: z.ZodNullable<z.ZodString>;
342
+ wave: z.ZodNullable<z.ZodString>;
343
+ reason: z.ZodString;
344
+ }, z.core.$strip>, z.ZodObject<{
345
+ ok: z.ZodBoolean;
346
+ }, z.core.$strip>>;
347
+ "groups:join": Receiver<z.ZodObject<{
348
+ gid: z.ZodString;
349
+ }, z.core.$strip>, z.ZodObject<{
350
+ ok: z.ZodBoolean;
351
+ gid: z.ZodString;
352
+ role: z.ZodString;
353
+ }, z.core.$strip>>;
354
+ "groups:leave": Receiver<z.ZodObject<{
355
+ gid: z.ZodString;
356
+ }, z.core.$strip>, z.ZodObject<{
357
+ ok: z.ZodBoolean;
358
+ }, z.core.$strip>>;
359
+ "groups:invite": Receiver<z.ZodObject<{
360
+ gid: z.ZodString;
361
+ uid: z.ZodString;
362
+ role: z.ZodOptional<z.ZodString>;
363
+ }, z.core.$strip>, z.ZodObject<{
364
+ ok: z.ZodBoolean;
365
+ }, z.core.$strip>>;
366
+ "groups:members": Receiver<z.ZodObject<{
367
+ gid: z.ZodString;
368
+ }, z.core.$strip>, z.ZodObject<{
369
+ gid: z.ZodString;
370
+ members: z.ZodArray<z.ZodObject<{
371
+ uid: z.ZodString;
372
+ name: z.ZodOptional<z.ZodString>;
373
+ role: z.ZodString;
374
+ }, z.core.$strip>>;
375
+ }, z.core.$strip>>;
376
+ "billing:clients": Receiver<z.ZodOptional<z.ZodObject<{}, z.core.$strip>>, z.ZodObject<{
377
+ agency: z.ZodNullable<z.ZodObject<{
378
+ slug: z.ZodString;
379
+ name: z.ZodNullable<z.ZodString>;
380
+ markup_pct: z.ZodNumber;
381
+ pool: z.ZodNumber;
382
+ }, z.core.$strip>>;
383
+ clients: z.ZodArray<z.ZodObject<{
384
+ slug: z.ZodString;
385
+ name: z.ZodNullable<z.ZodString>;
386
+ plan: z.ZodString;
387
+ funded: z.ZodNumber;
388
+ burned: z.ZodNumber;
389
+ margin: z.ZodNumber;
390
+ balance: z.ZodNumber;
391
+ cap: z.ZodNullable<z.ZodNumber>;
392
+ }, z.core.$strip>>;
393
+ }, z.core.$strip>>;
394
+ "paths:bridge": Receiver<z.ZodObject<{
395
+ from: z.ZodString;
396
+ to: z.ZodString;
397
+ }, z.core.$strip>, z.ZodObject<{
398
+ ok: z.ZodOptional<z.ZodBoolean>;
399
+ status: z.ZodOptional<z.ZodEnum<{
400
+ pending: "pending";
401
+ bridged: "bridged";
402
+ }>>;
403
+ key: z.ZodOptional<z.ZodString>;
404
+ gid: z.ZodOptional<z.ZodString>;
405
+ awaiting: z.ZodOptional<z.ZodString>;
406
+ }, z.core.$strip>>;
407
+ "subscriptions:register": Receiver<z.ZodObject<{
408
+ receiver: z.ZodString;
409
+ tags: z.ZodArray<z.ZodString>;
410
+ scope: z.ZodOptional<z.ZodEnum<{
411
+ private: "private";
412
+ public: "public";
413
+ }>>;
414
+ }, z.core.$strip>, z.ZodObject<{
415
+ ok: z.ZodBoolean;
416
+ }, z.core.$strip>>;
417
+ "agents:register": Receiver<z.ZodObject<{
418
+ uid: z.ZodString;
419
+ kind: z.ZodOptional<z.ZodString>;
420
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodObject<{
421
+ skill: z.ZodString;
422
+ price: z.ZodOptional<z.ZodNumber>;
423
+ }, z.core.$strip>>>;
424
+ wallet: z.ZodOptional<z.ZodString>;
425
+ chain: z.ZodOptional<z.ZodString>;
426
+ }, z.core.$strip>, z.ZodObject<{
427
+ ok: z.ZodBoolean;
428
+ uid: z.ZodString;
429
+ status: z.ZodString;
430
+ kind: z.ZodString;
431
+ wallet: z.ZodNullable<z.ZodString>;
432
+ walletLinked: z.ZodBoolean;
433
+ capabilities: z.ZodNumber;
434
+ }, z.core.$strip>>;
435
+ "agents:commend": Receiver<z.ZodObject<{
436
+ uid: z.ZodString;
437
+ }, z.core.$strip>, z.ZodObject<{
438
+ ok: z.ZodBoolean;
439
+ id: z.ZodString;
440
+ action: z.ZodString;
441
+ }, z.core.$strip>>;
442
+ "agents:flag": Receiver<z.ZodObject<{
443
+ uid: z.ZodString;
444
+ }, z.core.$strip>, z.ZodObject<{
445
+ ok: z.ZodBoolean;
446
+ id: z.ZodString;
447
+ action: z.ZodString;
448
+ }, z.core.$strip>>;
449
+ "agents:status": Receiver<z.ZodObject<{
450
+ uid: z.ZodString;
451
+ status: z.ZodString;
452
+ }, z.core.$strip>, z.ZodObject<{
453
+ ok: z.ZodBoolean;
454
+ id: z.ZodString;
455
+ status: z.ZodString;
456
+ }, z.core.$strip>>;
457
+ "agents:capabilities": Receiver<z.ZodObject<{
458
+ uid: z.ZodString;
459
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
460
+ skillId: z.ZodString;
461
+ skillName: z.ZodString;
462
+ price: z.ZodNumber;
463
+ currency: z.ZodString;
464
+ }, z.core.$strip>>>;
465
+ "agents:deploy-on-behalf": Receiver<z.ZodObject<{
466
+ owner: z.ZodString;
467
+ spec: z.ZodRecord<z.ZodString, z.ZodUnknown>;
468
+ }, z.core.$strip>, z.ZodObject<{
469
+ ok: z.ZodBoolean;
470
+ uid: z.ZodString;
471
+ owner: z.ZodString;
472
+ inheritedPaths: z.ZodArray<z.ZodObject<{
473
+ from: z.ZodString;
474
+ to: z.ZodString;
475
+ strength: z.ZodNumber;
476
+ }, z.core.$strip>>;
477
+ }, z.core.$strip>>;
478
+ "pay:weight": Receiver<z.ZodObject<{
479
+ from: z.ZodString;
480
+ to: z.ZodString;
481
+ task: z.ZodString;
482
+ amount: z.ZodNumber;
483
+ }, z.core.$strip>, z.ZodObject<{
484
+ ok: z.ZodBoolean;
485
+ from: z.ZodString;
486
+ to: z.ZodString;
487
+ task: z.ZodString;
488
+ amount: z.ZodNumber;
489
+ sui: z.ZodNullable<z.ZodString>;
490
+ }, z.core.$strip>>;
491
+ "market:hire": Receiver<z.ZodObject<{
492
+ providerUid: z.ZodString;
493
+ skillId: z.ZodString;
494
+ initialMessage: z.ZodOptional<z.ZodString>;
495
+ }, z.core.$strip>, z.ZodUnion<readonly [z.ZodObject<{
496
+ ok: z.ZodLiteral<true>;
497
+ groupId: z.ZodString;
498
+ chatUrl: z.ZodString;
499
+ }, z.core.$strip>, z.ZodObject<{
500
+ status: z.ZodLiteral<402>;
501
+ code: z.ZodString;
502
+ escrow_template: z.ZodRecord<z.ZodString, z.ZodUnknown>;
503
+ expires_at: z.ZodString;
504
+ }, z.core.$strip>]>>;
505
+ "market:bounty": Receiver<z.ZodObject<{
506
+ skillId: z.ZodString;
507
+ sellerUid: z.ZodString;
508
+ posterUid: z.ZodString;
509
+ price: z.ZodNumber;
510
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
511
+ content: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
512
+ rubric: z.ZodOptional<z.ZodObject<{
513
+ fit: z.ZodOptional<z.ZodNumber>;
514
+ form: z.ZodOptional<z.ZodNumber>;
515
+ truth: z.ZodOptional<z.ZodNumber>;
516
+ taste: z.ZodOptional<z.ZodNumber>;
517
+ }, z.core.$strip>>;
518
+ deadline: z.ZodOptional<z.ZodString>;
519
+ posterUnitObjectId: z.ZodOptional<z.ZodString>;
520
+ workerUnitObjectId: z.ZodOptional<z.ZodString>;
521
+ pathObjectId: z.ZodOptional<z.ZodString>;
522
+ }, z.core.$strip>, z.ZodObject<{
523
+ id: z.ZodString;
524
+ escrowId: z.ZodOptional<z.ZodString>;
525
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
526
+ }, z.core.$strip>>;
527
+ "market:bounties": Receiver<z.ZodObject<{
528
+ seller: z.ZodOptional<z.ZodString>;
529
+ poster: z.ZodOptional<z.ZodString>;
530
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
531
+ id: z.ZodString;
532
+ skillId: z.ZodString;
533
+ sellerUid: z.ZodString;
534
+ posterUid: z.ZodString;
535
+ price: z.ZodNumber;
536
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
537
+ deadline: z.ZodOptional<z.ZodString>;
538
+ status: z.ZodString;
539
+ }, z.core.$strip>>>;
540
+ "market:list": Receiver<z.ZodObject<{
541
+ tag: z.ZodOptional<z.ZodString>;
542
+ maxPrice: z.ZodOptional<z.ZodNumber>;
543
+ }, z.core.$strip>, z.ZodObject<{
544
+ capabilities: z.ZodArray<z.ZodUnknown>;
545
+ }, z.core.$strip>>;
546
+ "capabilities:publish": Receiver<z.ZodObject<{
547
+ skillId: z.ZodString;
548
+ name: z.ZodString;
549
+ price: z.ZodNumber;
550
+ mode: z.ZodOptional<z.ZodString>;
551
+ visibility: z.ZodOptional<z.ZodString>;
552
+ scope: z.ZodOptional<z.ZodString>;
553
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
554
+ rubricThresholds: z.ZodOptional<z.ZodObject<{
555
+ fit: z.ZodOptional<z.ZodNumber>;
556
+ form: z.ZodOptional<z.ZodNumber>;
557
+ truth: z.ZodOptional<z.ZodNumber>;
558
+ taste: z.ZodOptional<z.ZodNumber>;
559
+ }, z.core.$strip>>;
560
+ }, z.core.$strip>, z.ZodObject<{
561
+ ok: z.ZodLiteral<true>;
562
+ sid: z.ZodString;
563
+ scope: z.ZodString;
564
+ }, z.core.$strip>>;
565
+ "loop:close": Receiver<z.ZodObject<{
566
+ session: z.ZodString;
567
+ outcome: z.ZodEnum<{
568
+ timeout: "timeout";
569
+ result: "result";
570
+ dissolved: "dissolved";
571
+ failure: "failure";
572
+ }>;
573
+ rubric: z.ZodOptional<z.ZodNumber>;
574
+ reason: z.ZodOptional<z.ZodString>;
575
+ }, z.core.$strip>, z.ZodObject<{
576
+ ok: z.ZodLiteral<true>;
577
+ stages: z.ZodArray<z.ZodUnknown>;
578
+ highways: z.ZodArray<z.ZodObject<{
579
+ path: z.ZodString;
580
+ strength: z.ZodNumber;
581
+ resistance: z.ZodNumber;
582
+ net: z.ZodNumber;
583
+ }, z.core.$strip>>;
584
+ }, z.core.$strip>>;
585
+ "signals:list": Receiver<z.ZodObject<{
586
+ limit: z.ZodOptional<z.ZodNumber>;
587
+ since: z.ZodOptional<z.ZodNumber>;
588
+ from: z.ZodOptional<z.ZodNumber>;
589
+ to: z.ZodOptional<z.ZodNumber>;
590
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
591
+ id: z.ZodString;
592
+ from: z.ZodString;
593
+ to: z.ZodString;
594
+ skill: z.ZodOptional<z.ZodString>;
595
+ outcome: z.ZodEnum<{
596
+ success: "success";
597
+ timeout: "timeout";
598
+ failure: "failure";
599
+ }>;
600
+ revenue: z.ZodNumber;
601
+ ts: z.ZodNumber;
602
+ }, z.core.$strip>>>;
603
+ "stats:current": Receiver<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
604
+ units: z.ZodObject<{
605
+ total: z.ZodNumber;
606
+ proven: z.ZodNumber;
607
+ atRisk: z.ZodNumber;
608
+ }, z.core.$strip>;
609
+ skills: z.ZodObject<{
610
+ total: z.ZodNumber;
611
+ }, z.core.$strip>;
612
+ highways: z.ZodObject<{
613
+ count: z.ZodNumber;
614
+ totalEdges: z.ZodNumber;
615
+ }, z.core.$strip>;
616
+ revenue: z.ZodObject<{
617
+ total: z.ZodNumber;
618
+ gdp: z.ZodNumber;
619
+ }, z.core.$strip>;
620
+ signals: z.ZodObject<{
621
+ total: z.ZodNumber;
622
+ recent: z.ZodNumber;
623
+ }, z.core.$strip>;
624
+ timestamp: z.ZodString;
625
+ }, z.core.$strip>>;
626
+ "dashboard:usage": Receiver<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
627
+ tier: z.ZodString;
628
+ calls_this_month: z.ZodNumber;
629
+ agents_count: z.ZodNumber;
630
+ api_limit: z.ZodNumber;
631
+ agent_limit: z.ZodNumber;
632
+ loops: z.ZodArray<z.ZodString>;
633
+ highways_count: z.ZodNumber;
634
+ upgrade_url: z.ZodString;
635
+ }, z.core.$strip>>;
636
+ "world:state": Receiver<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>>;
637
+ "meta:catalog": Receiver<z.ZodObject<{
638
+ goal: z.ZodOptional<z.ZodEnum<{
639
+ spine: "spine";
640
+ build: "build";
641
+ trade: "trade";
642
+ transact: "transact";
643
+ }>>;
644
+ }, z.core.$strip>, z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
645
+ receiver: z.ZodString;
646
+ summary: z.ZodString;
647
+ effect: z.ZodEnum<{
648
+ signal: "signal";
649
+ ask: "ask";
650
+ }>;
651
+ auth: z.ZodOptional<z.ZodString>;
652
+ reversible: z.ZodOptional<z.ZodBoolean>;
653
+ settles: z.ZodOptional<z.ZodEnum<{
654
+ none: "none";
655
+ offchain: "offchain";
656
+ onchain: "onchain";
657
+ }>>;
658
+ }, z.core.$loose>>, z.ZodObject<{
659
+ goal: z.ZodString;
660
+ recipe: z.ZodArray<z.ZodString>;
661
+ }, z.core.$strip>]>>;
662
+ "meta:schema": Receiver<z.ZodObject<{
663
+ receiver: z.ZodString;
664
+ }, z.core.$strip>, z.ZodObject<{
665
+ receiver: z.ZodString;
666
+ summary: z.ZodString;
667
+ request: z.ZodUnknown;
668
+ response: z.ZodUnknown;
669
+ }, z.core.$strip>>;
670
+ "meta:recall": Receiver<z.ZodObject<{
671
+ match: z.ZodOptional<z.ZodString>;
672
+ limit: z.ZodOptional<z.ZodNumber>;
673
+ }, z.core.$strip>, z.ZodObject<{
674
+ hypotheses: z.ZodArray<z.ZodObject<{
675
+ hid: z.ZodString;
676
+ claim: z.ZodString;
677
+ status: z.ZodString;
678
+ confidence: z.ZodNullable<z.ZodNumber>;
679
+ }, z.core.$strip>>;
680
+ }, z.core.$strip>>;
681
+ "actors:find": Receiver<z.ZodObject<{
682
+ type: z.ZodOptional<z.ZodEnum<{
683
+ agent: "agent";
684
+ world: "world";
685
+ }>>;
686
+ search: z.ZodOptional<z.ZodString>;
687
+ skill: z.ZodOptional<z.ZodString>;
688
+ limit: z.ZodOptional<z.ZodNumber>;
689
+ }, z.core.$strip>, z.ZodObject<{
690
+ actors: z.ZodArray<z.ZodObject<{
691
+ uid: z.ZodString;
692
+ name: z.ZodString;
693
+ type: z.ZodString;
694
+ }, z.core.$strip>>;
695
+ total: z.ZodNumber;
696
+ }, z.core.$strip>>;
697
+ "peer:message": Receiver<z.ZodObject<{
698
+ to: z.ZodString;
699
+ content: z.ZodString;
700
+ from: z.ZodOptional<z.ZodString>;
701
+ }, z.core.$strip>, z.ZodObject<{
702
+ ok: z.ZodBoolean;
703
+ id: z.ZodOptional<z.ZodString>;
704
+ ts: z.ZodOptional<z.ZodNumber>;
705
+ to: z.ZodOptional<z.ZodString>;
706
+ from: z.ZodOptional<z.ZodString>;
707
+ error: z.ZodOptional<z.ZodString>;
708
+ }, z.core.$strip>>;
709
+ "chat:send": Receiver<z.ZodObject<{
710
+ group: z.ZodString;
711
+ text: z.ZodString;
712
+ slug: z.ZodOptional<z.ZodString>;
713
+ }, z.core.$strip>, z.ZodObject<{
714
+ ok: z.ZodBoolean;
715
+ reply: z.ZodOptional<z.ZodString>;
716
+ error: z.ZodOptional<z.ZodString>;
717
+ }, z.core.$strip>>;
718
+ };
719
+ /** A declared receiver name — `keyof` the catalog. */
720
+ export type ReceiverName = keyof typeof RECEIVERS;
721
+ /** The request (input) type for a receiver. */
722
+ export type ReqOf<R extends ReceiverName> = (typeof RECEIVERS)[R] extends Receiver<infer Req, z.ZodTypeAny> ? z.input<Req> : never;
723
+ /** The response (output) type for a receiver. */
724
+ export type ResOf<R extends ReceiverName> = (typeof RECEIVERS)[R] extends Receiver<z.ZodTypeAny, infer Res> ? z.output<Res> : never;
725
+ /**
726
+ * RECIPES — the four agent journeys as typed, ordered receiver sequences (C6).
727
+ * Each entry is `readonly ReceiverName[]`, so a typo or a renamed receiver is a
728
+ * compile error. `meta:catalog?goal=` returns one of these; the MCP server
729
+ * groups its tools by them. See `plans/agent-first-spec.md`.
730
+ */
731
+ export declare const RECIPES: {
732
+ /** Onboard: become an actor → mint a key → join a group → declare capability. */
733
+ spine: ("auth:agent" | "agents:sync" | "world:create-key" | "groups:join")[];
734
+ /** Build a world: workspace → group → actor → thing. */
735
+ build: ("world:create-workspace" | "world:create-group" | "world:create-actor" | "world:create-thing")[];
736
+ /** Trade: list a capability → browse the market → hire → pay. */
737
+ trade: ("pay:weight" | "market:hire" | "market:list" | "capabilities:publish")[];
738
+ /** Transact: post a bounty → settle it onchain. */
739
+ transact: ("pay:weight" | "market:bounty")[];
740
+ };
741
+ /** A declared recipe name. */
742
+ export type RecipeName = keyof typeof RECIPES;
743
+ //# sourceMappingURL=receivers.d.ts.map