@crewhaus/ir 0.1.2 → 0.1.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewhaus/ir",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "description": "Canonical typed intermediate representation",
6
6
  "main": "src/index.ts",
package/src/index.d.ts ADDED
@@ -0,0 +1,941 @@
1
+ /**
2
+ * v0 IR — runtime-agnostic representation, target-tagged.
3
+ * In the slice, IR shape mirrors the spec; later passes (ir-passes module)
4
+ * will perform optimization and target-specific lowering.
5
+ */
6
+ export type IrPermissionRule = {
7
+ readonly type: "alwaysAllow" | "alwaysDeny" | "alwaysAsk";
8
+ readonly pattern: string;
9
+ };
10
+ /**
11
+ * Permissions config carried through to codegen. The mode here cannot be
12
+ * "bypass" — that's enforced by the spec parser. Bypass enters via CLI flag.
13
+ */
14
+ export type IrPermissions = {
15
+ readonly mode?: "default" | "plan" | "auto";
16
+ readonly rules: readonly IrPermissionRule[];
17
+ };
18
+ /**
19
+ * MCP server configs carried through to codegen (Section 9). Lower-time
20
+ * normalisation: optional spec fields become required IR fields with
21
+ * empty defaults, so target codegen doesn't need `?? []` guards.
22
+ */
23
+ export type IrMcpStdioConfig = {
24
+ readonly transport: "stdio";
25
+ readonly command: string;
26
+ readonly args: readonly string[];
27
+ readonly env?: Readonly<Record<string, string>>;
28
+ };
29
+ export type IrMcpSseConfig = {
30
+ readonly transport: "sse";
31
+ readonly url: string;
32
+ readonly headers?: Readonly<Record<string, string>>;
33
+ };
34
+ export type IrMcpServerConfig = IrMcpStdioConfig | IrMcpSseConfig;
35
+ export type IrMcpServers = Readonly<Record<string, IrMcpServerConfig>>;
36
+ /**
37
+ * Section 13 — a sub-agent definition lowered from spec form. The map's key
38
+ * is hoisted to a `name` field for ergonomics. `tools: readonly string[]`
39
+ * mirrors `IrV0.tools`; codegen filters the parent catalog to this
40
+ * allowlist when building the child catalog. `permissions` defaults to
41
+ * `"inherit"` at lower-time when undefined; `inheritBypass` to false.
42
+ */
43
+ export type IrSubAgentDefinition = {
44
+ readonly name: string;
45
+ readonly description: string;
46
+ readonly instructions: string;
47
+ readonly tools: readonly string[];
48
+ readonly model?: string;
49
+ readonly permissions: "inherit" | "scoped" | {
50
+ readonly allow: readonly string[];
51
+ readonly deny: readonly string[];
52
+ };
53
+ readonly inheritBypass: boolean;
54
+ };
55
+ /**
56
+ * Section 14 — per-tool runtime config carried verbatim from the spec to
57
+ * codegen. Keys are tool names (lowercase variable name as used in
58
+ * `BUILTIN_TOOL_MAP`); values are tool-specific config blobs whose schemas
59
+ * live inside each tool package. Empty-default at lower-time so codegen
60
+ * never has to `?? {}`.
61
+ */
62
+ export type IrToolConfigs = Readonly<Record<string, unknown>>;
63
+ /**
64
+ * Section 17 — optional per-target compaction config. `model` overrides
65
+ * the model used by `compaction-autocompact` for summarisation; when
66
+ * undefined (or the whole block is undefined) the runtime defaults to
67
+ * the agent's primary model. Lower-time the spec block is normalised to
68
+ * an object so codegen never has to `?? {}`.
69
+ */
70
+ export type IrCompaction = {
71
+ readonly model?: string;
72
+ /** Pillar 2 — when true, target emitters wire `compaction-curator`
73
+ * as a pre-pass before the autocompact threshold check. The spec
74
+ * layer accepts this verbatim (validated in `packages/spec`); the
75
+ * IR holds it as an opt-in flag with no default so emitters can
76
+ * distinguish "user said false" from "user didn't say". */
77
+ readonly curate?: boolean;
78
+ /** Cosine threshold for the curator's dedupe pass. Curator's own
79
+ * default (0.92, `DEFAULT_DEDUPE_THRESHOLD` in
80
+ * `@crewhaus/compaction-curator`) applies when undefined. */
81
+ readonly dedupeThreshold?: number;
82
+ /** Top-K cap for the curator's relevance reorder. Undefined means
83
+ * reorder without trimming. */
84
+ readonly relevanceTopK?: number;
85
+ };
86
+ /**
87
+ * Section 55 (Track A) — named failure taxonomy. Cross-cutting; carried
88
+ * through to runtime-core so `recovery-engine` can consult the user's
89
+ * named classes before falling back to its built-in taxonomy.
90
+ *
91
+ * `pattern` is a substring (case-insensitive) of the error.message OR a
92
+ * `/regex/` literal — the recovery engine compiles each form once at
93
+ * spec-load time. `recovery` names which `RecoveryAction` to take.
94
+ * `hint`, when present, is what `runtime-core` appends as a synthetic
95
+ * system message on `retry`/`continue` recoveries so the model gets
96
+ * named-class self-correction guidance.
97
+ *
98
+ * Source: Natural-Language Agent Harnesses (arxiv 2603.25723).
99
+ */
100
+ export type IrFailureTaxonomyEntry = {
101
+ readonly class: string;
102
+ readonly pattern: string;
103
+ readonly recovery: "retry" | "compact" | "continue" | "tombstone" | "fail";
104
+ readonly hint?: string;
105
+ };
106
+ export type IrFailureTaxonomy = readonly IrFailureTaxonomyEntry[];
107
+ /**
108
+ * Pillar 3 (FR-004) — per-target security fabric configuration the
109
+ * compiler lowers from the spec's `security` block. Today it carries the
110
+ * intent-gate's judge selection; `egressPolicy` is reserved for the
111
+ * sink-side fabric (FR-002/006) and intentionally not modelled here.
112
+ *
113
+ * `justification.judge` selects which `JustificationJudge` the runtime
114
+ * wires for `requireJustification: true` tools — `"rule-based"` (the
115
+ * deterministic default, `ruleBasedJustificationJudge`) or `"claude"`
116
+ * (the model-backed `@crewhaus/justification-judge-claude`). `model` is
117
+ * the judge model id when `judge: "claude"`; the consumer defaults it to
118
+ * a haiku-class model when omitted. Optional + spread-in at lower-time so
119
+ * the field is absent when the spec omits the block (same convention as
120
+ * `failureTaxonomy`).
121
+ */
122
+ export type IrSecurity = {
123
+ readonly justification?: {
124
+ readonly judge: "rule-based" | "claude";
125
+ readonly model?: string;
126
+ };
127
+ /**
128
+ * Pillar 3 sink-side fabric (FR-006) — the egress-matching strategy.
129
+ * `"substring"` is the behavior-preserving `SubstringEgressMatcher`
130
+ * (`MIN_MATCH_LENGTH`); `"semantic"` selects the optional embedding-backed
131
+ * `@crewhaus/egress-matcher-semantic`. Lowered from
132
+ * `spec.security.egressMatcher`. Absent when the spec omits it, in which
133
+ * case the runtime stays on the substring default. Honoured on BOTH paths:
134
+ * the `crewhaus run` interpreter resolves it into
135
+ * `runChatLoop({ egressMatcher })`, and `@crewhaus/target-cli` emits the
136
+ * same matcher construction into the standalone compiled bundle. Only
137
+ * changes *how* lineage matches are detected — the per-origin/per-sink
138
+ * policy and the three audit outcomes (`egress-passed | egress-warned |
139
+ * egress-blocked`) are matcher-independent and live in `classifyEgress`,
140
+ * not here.
141
+ */
142
+ readonly egressMatcher?: "substring" | "semantic";
143
+ };
144
+ /**
145
+ * Track F (Section 57) — typed message schemas (Σ) for multi-agent
146
+ * communication. Source: AgentFlow (arxiv 2604.20801). A typed graph
147
+ * DSL with well-formedness checking makes searching the full multi-
148
+ * agent design space tractable: structurally broken candidates are
149
+ * eliminated cheaply, so the search budget goes to well-formed
150
+ * harnesses only.
151
+ *
152
+ * An IrMessageSchema is a named JSON-Schema shape describing what a
153
+ * given edge in the crew/graph carries. The well-formedness pass in
154
+ * `@crewhaus/ir-passes` checks that every edge in the graph references
155
+ * either a declared schema or `untyped` (the legacy default).
156
+ */
157
+ export type IrMessageSchema = {
158
+ readonly name: string;
159
+ /** JSON Schema describing the message payload. v0 keeps it as `unknown`
160
+ * rather than typed-importing zod-to-json-schema — the wellformedness
161
+ * pass only checks that the schema is an object; full validation
162
+ * happens at runtime in `@crewhaus/runtime-core`. */
163
+ readonly schema: Readonly<Record<string, unknown>>;
164
+ };
165
+ /**
166
+ * Per-edge schema reference. `untyped` means "any payload" (the v0
167
+ * default that preserves backwards compatibility). Named references
168
+ * must match one of the variant's `messageSchemas` entries.
169
+ */
170
+ export type IrSchemaRef = {
171
+ readonly kind: "untyped";
172
+ } | {
173
+ readonly kind: "named";
174
+ readonly name: string;
175
+ };
176
+ /**
177
+ * Phase 3 §3.3 — CLI banner config carried into IR for codegen.
178
+ */
179
+ export type IrCliBanner = {
180
+ readonly taglineMode: "static" | "random";
181
+ readonly taglines: readonly string[];
182
+ };
183
+ export type IrCliOptions = {
184
+ readonly banner?: IrCliBanner;
185
+ /** Phase 2 M2.2 — TUI mode gate. */
186
+ readonly tui?: "basic" | "rich";
187
+ };
188
+ export type IrV0 = {
189
+ readonly version: 0;
190
+ readonly name: string;
191
+ readonly target: "cli";
192
+ readonly agent: {
193
+ readonly model: string;
194
+ readonly instructions: string;
195
+ };
196
+ readonly tools: readonly string[];
197
+ readonly toolConfigs: IrToolConfigs;
198
+ readonly mcp_servers: IrMcpServers;
199
+ readonly permissions: IrPermissions;
200
+ readonly subAgents: readonly IrSubAgentDefinition[];
201
+ readonly compaction: IrCompaction;
202
+ readonly cli?: IrCliOptions;
203
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
204
+ readonly failureTaxonomy?: IrFailureTaxonomy;
205
+ /** Pillar 3 (FR-004) — security fabric config (intent-gate judge
206
+ * selection). Optional; absent when the spec omits the `security`
207
+ * block. */
208
+ readonly security?: IrSecurity;
209
+ /** §47 cross-cutting blockchain subsystem (slice 0). All optional. */
210
+ readonly chains?: readonly IrChainBinding[];
211
+ readonly wallets?: readonly IrWalletBinding[];
212
+ readonly contracts?: readonly IrContractBinding[];
213
+ readonly transactionPolicy?: IrTransactionPolicy;
214
+ };
215
+ /**
216
+ * One step in a workflow IR. `model` is resolved at lower-time
217
+ * (`step.model ?? workflow.model`) so codegen can read it directly.
218
+ */
219
+ export type IrWorkflowStep = {
220
+ readonly name: string;
221
+ readonly instructions: string;
222
+ readonly model: string;
223
+ readonly tools: readonly string[];
224
+ readonly toolConfigs: IrToolConfigs;
225
+ };
226
+ /**
227
+ * Workflow IR — a sequence of steps. Each step runs as one user→assistant
228
+ * turn; the prior step's terminal assistant text is threaded into the next
229
+ * step's user message by the generated runtime (target-workflow).
230
+ */
231
+ export type IrWorkflowV0 = {
232
+ readonly version: 0;
233
+ readonly name: string;
234
+ readonly target: "workflow";
235
+ readonly steps: readonly IrWorkflowStep[];
236
+ readonly mcp_servers: IrMcpServers;
237
+ readonly permissions: IrPermissions;
238
+ /** §47 cross-cutting blockchain subsystem (slice 0). All optional. */
239
+ readonly chains?: readonly IrChainBinding[];
240
+ readonly wallets?: readonly IrWalletBinding[];
241
+ readonly contracts?: readonly IrContractBinding[];
242
+ readonly transactionPolicy?: IrTransactionPolicy;
243
+ readonly compaction: IrCompaction;
244
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
245
+ readonly failureTaxonomy?: IrFailureTaxonomy;
246
+ };
247
+ /**
248
+ * A secret value referenced by a channel config (Section 12). Lower-time
249
+ * normalisation: spec strings starting with `$VAR_NAME` (where VAR_NAME
250
+ * matches `[A-Z_][A-Z0-9_]*`) become `{ kind: "env", name }`, anything else
251
+ * becomes `{ kind: "literal", value }`. Codegen emits literals as quoted
252
+ * strings and env-refs as `process.env.VAR_NAME`, plus a startup check
253
+ * that exits non-zero when a referenced env var is unset.
254
+ */
255
+ export type IrSecretRef = {
256
+ readonly kind: "literal";
257
+ readonly value: string;
258
+ } | {
259
+ readonly kind: "env";
260
+ readonly name: string;
261
+ };
262
+ /**
263
+ * Section 47 — Blockchain primitives (cross-cutting subsystem).
264
+ *
265
+ * These types are shared across shapes that interact with chain state.
266
+ * Any shape may declare optional `chains` / `wallets` / `contracts` /
267
+ * `transactionPolicy` blocks; the §47 `onchain` and `onchain-game`
268
+ * target variants additionally require `triggers` and a `game` block
269
+ * respectively (those types land with slice 2).
270
+ *
271
+ * Finality policy is encoded explicitly because reorg tolerance and
272
+ * confirmation counts are quality knobs (Pillar 2: optimizable) and
273
+ * security boundaries (Pillar 3: a wrong finality choice lets an
274
+ * attacker present a reorged log as real). See [recipes/47-onchain-daemon-and-game.md](https://github.com/crewhaus/demos/blob/main/walkthroughs/47-onchain-daemon-and-game.md).
275
+ */
276
+ export type IrChainFinality = {
277
+ readonly kind: "confirmations";
278
+ readonly count: number;
279
+ } | {
280
+ readonly kind: "finalized";
281
+ } | {
282
+ readonly kind: "safe";
283
+ };
284
+ /**
285
+ * Resolved chain config. `kind: "evm"` is the only supported family in
286
+ * slice 0/1/2 — Solana, Cosmos, and Bitcoin are deferred. `rpcUrls` is
287
+ * an array of `IrSecretRef` so URLs that carry API keys (Alchemy,
288
+ * Infura) can be loaded from env at runtime. `rpcPolicy` controls how
289
+ * multiple URLs are used: `single` picks the first, `fallback` retries
290
+ * the next on error, `quorum` requires N/M agreement on critical reads.
291
+ */
292
+ export type IrChainBinding = {
293
+ readonly id: string;
294
+ readonly kind: "evm";
295
+ readonly rpcUrls: readonly IrSecretRef[];
296
+ readonly rpcPolicy: "single" | "quorum" | "fallback";
297
+ readonly finality: IrChainFinality;
298
+ readonly reorgTolerant: boolean;
299
+ };
300
+ /**
301
+ * Wallet binding — how the runtime signs transactions for `chainId`.
302
+ * `custody` declares where the key lives; `signingPolicy` declares how
303
+ * each sign request is gated. The default for any `destructive: true`
304
+ * tool that uses this wallet is `explicit-user-approval`; `policy-gated`
305
+ * defers to the §47 `transaction_policy` block; `automated` is only
306
+ * permitted when the wallet is also marked `kms` or `hsm` custody.
307
+ * `keyRef` is required for `kms` / `hsm` / `local` custody; for
308
+ * `user-controlled` (WalletConnect, MetaMask, etc.) the signing happens
309
+ * externally and `keyRef` is omitted.
310
+ */
311
+ export type IrWalletBinding = {
312
+ readonly id: string;
313
+ readonly chainId: string;
314
+ readonly custody: "user-controlled" | "kms" | "hsm" | "local";
315
+ readonly signingPolicy: "explicit-user-approval" | "policy-gated" | "automated";
316
+ readonly keyRef?: IrSecretRef;
317
+ };
318
+ /**
319
+ * Smart-contract binding. `abiRef` is a string the
320
+ * `tool-contract-gateway` (slice 1) resolves into a typed-tool set;
321
+ * supported schemes are `abi://erc20`, `abi://erc721`, `abi://erc1155`,
322
+ * and `file://path/to/abi.json`. Reads against this contract become
323
+ * `readOnly: true` tools; writes become `destructive: true` and gate
324
+ * approval automatically via `permission-engine`.
325
+ */
326
+ export type IrContractBinding = {
327
+ readonly id: string;
328
+ readonly chainId: string;
329
+ readonly address: string;
330
+ readonly abiRef: string;
331
+ };
332
+ /**
333
+ * Transaction policy — the safety floor for any tool that signs and
334
+ * broadcasts a transaction. `defaultWriteApproval: "required"` is the
335
+ * default; setting it to `"none"` is only valid when every wallet is
336
+ * `automated` custody, which the §47 IR pass enforces. `maxValueUsd`
337
+ * is an upper bound on native-token transfers (in USD, evaluated at
338
+ * sign-time via the configured price oracle); transactions exceeding
339
+ * the cap are rejected pre-broadcast. `allowedContracts` is a list of
340
+ * `IrContractBinding.id` values — destructive calls to any other
341
+ * contract are rejected. `simulationRequired: true` forces every
342
+ * destructive call through a fork-simulator before approval.
343
+ */
344
+ export type IrTransactionPolicy = {
345
+ readonly defaultWriteApproval: "required" | "policy" | "none";
346
+ readonly maxValueUsd?: number;
347
+ /** Oracle-free native-token spend ceiling (wei, decimal or 0x-hex string). */
348
+ readonly maxValueWei?: string;
349
+ readonly allowedContracts: readonly string[];
350
+ readonly simulationRequired: boolean;
351
+ };
352
+ export type IrSlackConfig = {
353
+ readonly botToken: IrSecretRef;
354
+ readonly signingSecret: IrSecretRef;
355
+ readonly appToken?: IrSecretRef;
356
+ };
357
+ /**
358
+ * Section 33 — Telegram channel config. `secretToken` is the value passed
359
+ * to `setWebhook(secret_token=...)` and verified on every inbound POST
360
+ * via the `X-Telegram-Bot-Api-Secret-Token` header.
361
+ */
362
+ export type IrTelegramConfig = {
363
+ readonly botToken: IrSecretRef;
364
+ readonly secretToken: IrSecretRef;
365
+ };
366
+ /**
367
+ * Section 33 — Discord channel config. `publicKeyHex` is the bot
368
+ * application's public key (hex, 64 chars) used for Ed25519 verification
369
+ * of inbound interaction webhooks.
370
+ */
371
+ export type IrDiscordConfig = {
372
+ readonly applicationId: IrSecretRef;
373
+ readonly botToken: IrSecretRef;
374
+ readonly publicKeyHex: IrSecretRef;
375
+ };
376
+ /**
377
+ * Section 33 — WhatsApp Business Cloud API channel config.
378
+ * `phoneNumberId` is the Meta-issued phone-number id (numeric,
379
+ * stringified) the bot sends messages from. `accessToken` is the
380
+ * system-user token authorising sends. `appSecret` is the Meta app
381
+ * secret used to verify the `X-Hub-Signature-256` HMAC.
382
+ */
383
+ export type IrWhatsAppConfig = {
384
+ readonly phoneNumberId: IrSecretRef;
385
+ readonly accessToken: IrSecretRef;
386
+ readonly appSecret: IrSecretRef;
387
+ };
388
+ /**
389
+ * Section 33 — iMessage channel config (macOS host-bound). `chatDbPath`
390
+ * defaults to `~/Library/Messages/chat.db`; `cursorPath` defaults to
391
+ * `.crewhaus/imessage-cursor.json`. Both can be overridden in spec for
392
+ * tests. The adapter requires `CREWHAUS_IMESSAGE_HOST_ENABLED=1` at
393
+ * boot, so no IR-level secret is needed.
394
+ */
395
+ export type IrIMessageConfig = {
396
+ readonly chatDbPath?: IrSecretRef;
397
+ readonly cursorPath?: IrSecretRef;
398
+ };
399
+ export type IrChannels = {
400
+ readonly slack?: IrSlackConfig;
401
+ readonly telegram?: IrTelegramConfig;
402
+ readonly discord?: IrDiscordConfig;
403
+ readonly whatsapp?: IrWhatsAppConfig;
404
+ readonly imessage?: IrIMessageConfig;
405
+ };
406
+ export type IrRouting = {
407
+ readonly sessionKey: "thread" | "user" | "channel";
408
+ };
409
+ /**
410
+ * Channel IR — a long-running daemon that listens for inbound webhook events
411
+ * and runs one agent turn per inbound message. The daemon resumes per-thread
412
+ * sessions (keyed by `routing.sessionKey`) via session-store + event-log,
413
+ * appends the new message, and runs one `runChatLoop` turn.
414
+ */
415
+ /**
416
+ * Phase 3 §3.1 — heartbeat config carried into IR. `everyMs` is
417
+ * normalized from the duration-string in the spec to milliseconds at
418
+ * lower time so codegen can emit a literal numeric setInterval arg.
419
+ */
420
+ export type IrHeartbeat = {
421
+ readonly everyMs: number;
422
+ readonly instructions: string;
423
+ };
424
+ /**
425
+ * Phase 3 §3.4 — channel daemon control-UI gateway config.
426
+ */
427
+ export type IrChannelGateway = {
428
+ readonly port: number;
429
+ readonly ui: boolean;
430
+ };
431
+ export type IrChannelV0 = {
432
+ readonly version: 0;
433
+ readonly name: string;
434
+ readonly target: "channel";
435
+ readonly agent: {
436
+ readonly model: string;
437
+ readonly instructions: string;
438
+ };
439
+ readonly tools: readonly string[];
440
+ readonly toolConfigs: IrToolConfigs;
441
+ readonly channels: IrChannels;
442
+ readonly routing: IrRouting;
443
+ readonly mcp_servers: IrMcpServers;
444
+ readonly permissions: IrPermissions;
445
+ readonly subAgents: readonly IrSubAgentDefinition[];
446
+ readonly compaction: IrCompaction;
447
+ readonly heartbeat?: IrHeartbeat;
448
+ readonly gateway?: IrChannelGateway;
449
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
450
+ readonly failureTaxonomy?: IrFailureTaxonomy;
451
+ /** §47 cross-cutting blockchain subsystem (slice 0). All optional. */
452
+ readonly chains?: readonly IrChainBinding[];
453
+ readonly wallets?: readonly IrWalletBinding[];
454
+ readonly contracts?: readonly IrContractBinding[];
455
+ readonly transactionPolicy?: IrTransactionPolicy;
456
+ };
457
+ /**
458
+ * Section 20 — Managed daemon IR. Carries the agent block, the
459
+ * tenant table, and any per-tenant policy / budget overrides. The
460
+ * `target-managed` codegen consumes this to emit `daemon.ts` +
461
+ * `agent.ts` files.
462
+ */
463
+ export type IrManagedTenant = {
464
+ readonly id: string;
465
+ readonly budget: {
466
+ readonly maxInputTokens: number;
467
+ readonly maxOutputTokens: number;
468
+ };
469
+ };
470
+ export type IrManagedV0 = {
471
+ readonly version: 0;
472
+ readonly name: string;
473
+ readonly target: "managed";
474
+ readonly agent: {
475
+ readonly model: string;
476
+ readonly instructions: string;
477
+ };
478
+ readonly tenants: readonly IrManagedTenant[];
479
+ readonly permissions: IrPermissions;
480
+ readonly compaction: IrCompaction;
481
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
482
+ readonly failureTaxonomy?: IrFailureTaxonomy;
483
+ };
484
+ /**
485
+ * Section 19 — Graph IR. A `target: "graph"` spec lowers into a fixed
486
+ * set of LLM-backed nodes plus the edges that connect them.
487
+ */
488
+ export type IrGraphNode = {
489
+ readonly name: string;
490
+ readonly instructions: string;
491
+ /** Resolved at lower-time (node.model ?? graph.model). */
492
+ readonly model: string;
493
+ readonly tools: readonly string[];
494
+ readonly toolConfigs: IrToolConfigs;
495
+ /**
496
+ * When set, the node calls `ctx.requestApproval(prompt)` after the
497
+ * LLM turn and pauses the graph until `resume(checkpointId, decision)`.
498
+ */
499
+ readonly hitlPrompt?: string;
500
+ };
501
+ export type IrGraphEdge = {
502
+ readonly from: string;
503
+ readonly to: string;
504
+ /** Track F (Section 57) — typed message schema carried by this edge.
505
+ * Defaults to `{ kind: "untyped" }` (any payload) when absent. The
506
+ * ir-passes wellformedness check verifies named refs resolve. */
507
+ readonly schema?: IrSchemaRef;
508
+ };
509
+ export type IrGraphV0 = {
510
+ readonly version: 0;
511
+ readonly name: string;
512
+ readonly target: "graph";
513
+ readonly entry: string;
514
+ readonly nodes: readonly IrGraphNode[];
515
+ readonly edges: readonly IrGraphEdge[];
516
+ /** Track F (Section 57) — named message schemas referenced by edges.
517
+ * Absent means no typed edges (all `untyped` by default). */
518
+ readonly messageSchemas?: readonly IrMessageSchema[];
519
+ readonly permissions: IrPermissions;
520
+ readonly compaction: IrCompaction;
521
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
522
+ readonly failureTaxonomy?: IrFailureTaxonomy;
523
+ /** §47 cross-cutting blockchain subsystem (slice 0). All optional. */
524
+ readonly chains?: readonly IrChainBinding[];
525
+ readonly wallets?: readonly IrWalletBinding[];
526
+ readonly contracts?: readonly IrContractBinding[];
527
+ readonly transactionPolicy?: IrTransactionPolicy;
528
+ };
529
+ /**
530
+ * Section 21 — Pipeline / RAG IR. Carries the embedder + vector-store
531
+ * config + an indexing pipeline (chunker → embed → store) + the agent
532
+ * block that uses the Retrieve tool.
533
+ */
534
+ export type IrPipelineDocument = {
535
+ readonly id: string;
536
+ readonly text: string;
537
+ readonly metadata?: Readonly<Record<string, unknown>>;
538
+ };
539
+ /**
540
+ * Vector-store backend selector. Mirrors `VectorBackendId` from
541
+ * `@crewhaus/vector-store` — the canonical source of truth for which
542
+ * backends exist — but kept inline here (exactly as `IrBatchQueueAdapter`
543
+ * mirrors the `queue-protocol` adapter ids) so the runtime-agnostic IR
544
+ * keeps its zero runtime-package dependencies. Keep the two in sync when a
545
+ * backend is added or removed.
546
+ */
547
+ export type IrVectorBackend = "in-memory" | "lance" | "qdrant" | "pinecone" | "weaviate";
548
+ export type IrPipelineV0 = {
549
+ readonly version: 0;
550
+ readonly name: string;
551
+ readonly target: "pipeline";
552
+ readonly agent: {
553
+ readonly model: string;
554
+ readonly instructions: string;
555
+ };
556
+ readonly retrieve: {
557
+ readonly embedderModel: string;
558
+ readonly vectorBackend: IrVectorBackend;
559
+ readonly defaultK: number;
560
+ /**
561
+ * Remote (qdrant/pinecone/weaviate) and file (lance) backends — the
562
+ * service base URL or, for lance, the on-disk index path. Omitted for
563
+ * `in-memory`. Required for the HTTP backends (enforced at spec parse).
564
+ */
565
+ readonly url?: string;
566
+ /** Remote/file backends — collection / table name. */
567
+ readonly collection?: string;
568
+ /**
569
+ * Remote backends — API key, lowered to an env-ref (`$VAR` →
570
+ * `process.env`) or a literal so real secrets stay out of the bundle.
571
+ */
572
+ readonly apiKey?: IrSecretRef;
573
+ };
574
+ readonly indexing: {
575
+ readonly chunkStrategy: "fixed" | "semantic" | "markdown";
576
+ readonly chunkSize: number;
577
+ readonly chunkOverlap: number;
578
+ readonly documents: readonly IrPipelineDocument[];
579
+ };
580
+ readonly permissions: IrPermissions;
581
+ readonly compaction: IrCompaction;
582
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
583
+ readonly failureTaxonomy?: IrFailureTaxonomy;
584
+ };
585
+ /**
586
+ * Section 22 — CRW (multi-agent crew) IR. One role definition per entry;
587
+ * `entry` names the role that runs first; optional `routing` block carries
588
+ * either a `match` map (predicate-driven) or `llm` directive (use a model
589
+ * to pick the next role) — both lower-time placeholders today, with the
590
+ * built-in default-router behaviour preserved when both are absent.
591
+ */
592
+ export type IrCrewRole = {
593
+ readonly name: string;
594
+ /** Resolved at lower-time (`role.model ?? crew.model`). */
595
+ readonly model: string;
596
+ readonly instructions: string;
597
+ readonly tools: readonly string[];
598
+ readonly toolConfigs: IrToolConfigs;
599
+ readonly subAgents: readonly IrSubAgentDefinition[];
600
+ };
601
+ export type IrCrewRoutingKind = "match" | "llm";
602
+ export type IrCrewRouting = {
603
+ readonly kind: IrCrewRoutingKind;
604
+ /**
605
+ * Per-role match table. Only set when `kind === "match"`. Keys are
606
+ * source role names; values are simple substring matchers tested
607
+ * against the source role's terminal output to pick the next role.
608
+ */
609
+ readonly match?: Readonly<Record<string, ReadonlyArray<{
610
+ readonly contains: string;
611
+ readonly to: string;
612
+ }>>>;
613
+ };
614
+ export type IrCrewV0 = {
615
+ readonly version: 0;
616
+ readonly name: string;
617
+ readonly target: "crew";
618
+ readonly entry: string;
619
+ readonly roles: readonly IrCrewRole[];
620
+ readonly routing?: IrCrewRouting;
621
+ /** Track F (Section 57) — named message schemas referenced by handoffs.
622
+ * Absent means no typed handoffs (all `untyped` by default). */
623
+ readonly messageSchemas?: readonly IrMessageSchema[];
624
+ readonly mcp_servers: IrMcpServers;
625
+ readonly permissions: IrPermissions;
626
+ readonly compaction: IrCompaction;
627
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
628
+ readonly failureTaxonomy?: IrFailureTaxonomy;
629
+ /** §47 cross-cutting blockchain subsystem (slice 0). All optional. */
630
+ readonly chains?: readonly IrChainBinding[];
631
+ readonly wallets?: readonly IrWalletBinding[];
632
+ readonly contracts?: readonly IrContractBinding[];
633
+ readonly transactionPolicy?: IrTransactionPolicy;
634
+ };
635
+ /**
636
+ * Section 23 — RES (autonomous research) IR. The compiled daemon
637
+ * decomposes `goal` into `branchingFactor` sub-questions, runs each
638
+ * branch as a single-turn agent loop, and writes a numbered-citation
639
+ * report. The agent in each branch has the standard tool catalog plus
640
+ * the auto-injected `Source(uri)` and `CiteFact(uri, snippet, ...)`
641
+ * tools from `@crewhaus/crawler` + `@crewhaus/citation-tracker`.
642
+ */
643
+ export type IrResearchV0 = {
644
+ readonly version: 0;
645
+ readonly name: string;
646
+ readonly target: "research";
647
+ readonly agent: {
648
+ readonly model: string;
649
+ readonly instructions: string;
650
+ };
651
+ /** Default research goal. The daemon's `--goal "..."` flag overrides. */
652
+ readonly goal: string;
653
+ /** How many sub-questions the planner decomposes into per run. */
654
+ readonly branchingFactor: number;
655
+ /** Soft per-run wall-clock cap. The daemon emits `[budget exceeded]` and writes a partial report. */
656
+ readonly maxDurationMs: number;
657
+ readonly retrieve: {
658
+ /** http(s) origins the crawler may fetch. Empty array denies all https. */
659
+ readonly allowedOrigins: readonly string[];
660
+ /** Absolute file:// roots the crawler may read from. Empty denies all file://. */
661
+ readonly allowedFileRoots: readonly string[];
662
+ /** Optional vector backend hint for future RAG-augmented research. */
663
+ readonly vectorBackend?: IrVectorBackend;
664
+ };
665
+ readonly tools: readonly string[];
666
+ readonly toolConfigs: IrToolConfigs;
667
+ readonly mcp_servers: IrMcpServers;
668
+ readonly permissions: IrPermissions;
669
+ readonly compaction: IrCompaction;
670
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
671
+ readonly failureTaxonomy?: IrFailureTaxonomy;
672
+ /** §47 cross-cutting blockchain subsystem (slice 0). All optional. */
673
+ readonly chains?: readonly IrChainBinding[];
674
+ readonly wallets?: readonly IrWalletBinding[];
675
+ readonly contracts?: readonly IrContractBinding[];
676
+ readonly transactionPolicy?: IrTransactionPolicy;
677
+ };
678
+ /**
679
+ * Section 23 BATCH — queue-worker IR. The compiled daemon pulls jobs
680
+ * from the configured queue, runs the user's handler with `concurrency`
681
+ * bounded parallelism, wraps each invocation in an idempotency-key
682
+ * cache, and acks/nacks based on outcome. The handler runs the agent
683
+ * (single-turn `runChatLoop`) with the job's input as the user message.
684
+ */
685
+ export type IrBatchQueueAdapter = "in-memory" | "sqs" | "redis-streams" | "postgres";
686
+ export type IrBatchV0 = {
687
+ readonly version: 0;
688
+ readonly name: string;
689
+ readonly target: "batch";
690
+ readonly agent: {
691
+ readonly model: string;
692
+ readonly instructions: string;
693
+ };
694
+ readonly queue: {
695
+ readonly adapter: IrBatchQueueAdapter;
696
+ /** Per-domain rate-limit ms; >= 0. */
697
+ readonly visibilityTimeoutMs: number;
698
+ /** Stop renew sidecar past this; ack/nack by then. */
699
+ readonly visibilityRenewIntervalMs?: number;
700
+ /** Cap on attempts before DLQ. Default 3. */
701
+ readonly maxRetries: number;
702
+ /** When `adapter === "in-memory"`, optional seed jobs (mostly tests + smoke). */
703
+ readonly seedJobs?: readonly string[];
704
+ };
705
+ readonly concurrency: number;
706
+ readonly idempotencyWindowMs: number;
707
+ readonly tools: readonly string[];
708
+ readonly toolConfigs: IrToolConfigs;
709
+ readonly mcp_servers: IrMcpServers;
710
+ readonly permissions: IrPermissions;
711
+ readonly compaction: IrCompaction;
712
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
713
+ readonly failureTaxonomy?: IrFailureTaxonomy;
714
+ /** §47 cross-cutting blockchain subsystem (slice 0). All optional. */
715
+ readonly chains?: readonly IrChainBinding[];
716
+ readonly wallets?: readonly IrWalletBinding[];
717
+ readonly contracts?: readonly IrContractBinding[];
718
+ readonly transactionPolicy?: IrTransactionPolicy;
719
+ };
720
+ /**
721
+ * Section 24 — VOICE (realtime audio agent) IR. The compiled daemon
722
+ * opens a realtime adapter (OpenAI Realtime by default), hosts a
723
+ * call-session state machine, and runs a barge-in controller over
724
+ * inbound audio frames.
725
+ */
726
+ export type IrVoiceProvider = "openai" | "vapi";
727
+ export type IrVoiceTelephony = "twilio" | "livekit-sip" | "in-memory";
728
+ export type IrVoiceV0 = {
729
+ readonly version: 0;
730
+ readonly name: string;
731
+ readonly target: "voice";
732
+ readonly agent: {
733
+ readonly model: string;
734
+ readonly instructions: string;
735
+ };
736
+ readonly voice: {
737
+ readonly provider: IrVoiceProvider;
738
+ /** Provider-specific voice id (OpenAI: alloy, echo, …). */
739
+ readonly voiceId: string;
740
+ /** Server VAD vs caller-driven. v0 defaults to "server". */
741
+ readonly vad: "server" | "none";
742
+ /** Barge-in trigger frame count (consecutive speech frames). */
743
+ readonly bargeInTriggerFrames: number;
744
+ /** Barge-in window ms — sliding window for the trigger count. */
745
+ readonly bargeInWindowMs: number;
746
+ };
747
+ /** Optional telephony adapter wiring (Twilio, LiveKit, in-memory for the smoke). */
748
+ readonly telephony?: {
749
+ readonly provider: IrVoiceTelephony;
750
+ };
751
+ readonly tools: readonly string[];
752
+ readonly toolConfigs: IrToolConfigs;
753
+ readonly mcp_servers: IrMcpServers;
754
+ readonly permissions: IrPermissions;
755
+ readonly compaction: IrCompaction;
756
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
757
+ readonly failureTaxonomy?: IrFailureTaxonomy;
758
+ };
759
+ /**
760
+ * Section 25 — BROW (computer-use / browser driver) IR. The compiled
761
+ * daemon launches a chromium driver, registers Screenshot + Click /
762
+ * Type / Key / Scroll + FindElement tools, optionally navigates to
763
+ * `startUrl`, and runs `runChatLoop` against the user's prompt.
764
+ */
765
+ export type IrBrowserBackend = "host" | "chromium" | "remote";
766
+ export type IrBrowserV0 = {
767
+ readonly version: 0;
768
+ readonly name: string;
769
+ readonly target: "browser";
770
+ readonly agent: {
771
+ readonly model: string;
772
+ readonly instructions: string;
773
+ };
774
+ readonly driver: {
775
+ readonly backend: IrBrowserBackend;
776
+ readonly viewport: {
777
+ readonly width: number;
778
+ readonly height: number;
779
+ };
780
+ /** Optional initial URL; daemon calls driver.goto() before runChatLoop. */
781
+ readonly startUrl?: string;
782
+ };
783
+ /** Vision-grounding model. Defaults at lower-time to agent.model. */
784
+ readonly groundingModel: string;
785
+ readonly tools: readonly string[];
786
+ readonly toolConfigs: IrToolConfigs;
787
+ readonly mcp_servers: IrMcpServers;
788
+ readonly permissions: IrPermissions;
789
+ readonly compaction: IrCompaction;
790
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
791
+ readonly failureTaxonomy?: IrFailureTaxonomy;
792
+ };
793
+ /** Discriminated union over every supported target IR. */
794
+ /**
795
+ * Section 29 — IR for the EVAL target shape. Lowered from the spec's
796
+ * dataset/graders/concurrency/seed; codegen writes a single-file
797
+ * `agent.ts` that boots dataset-registry + grader-registry + eval-runner.
798
+ */
799
+ export type IrEvalV0 = {
800
+ readonly version: 0;
801
+ readonly name: string;
802
+ readonly target: "eval";
803
+ readonly agent: {
804
+ readonly model: string;
805
+ readonly instructions: string;
806
+ readonly tools: readonly string[];
807
+ };
808
+ readonly dataset: {
809
+ readonly name: string;
810
+ readonly version: string;
811
+ readonly split: "train" | "dev" | "test";
812
+ };
813
+ readonly graders: readonly {
814
+ readonly name: string;
815
+ readonly opts?: Readonly<Record<string, unknown>>;
816
+ }[];
817
+ readonly concurrency: number;
818
+ readonly seed?: number;
819
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
820
+ readonly failureTaxonomy?: IrFailureTaxonomy;
821
+ };
822
+ /**
823
+ * Section 47 — `onchain` daemon trigger. The compiled daemon listens
824
+ * for one of three trigger kinds and runs one agent turn per inbound
825
+ * event:
826
+ * - `event`: subscribe to a contract event (topic[0] = keccak of the
827
+ * event signature). The daemon decodes the event using the
828
+ * declared contract ABI and threads the decoded payload into the
829
+ * agent's user message.
830
+ * - `block`: scan new blocks at `scanIntervalMs` cadence, running
831
+ * the agent against block-level summaries. Used by treasury
832
+ * monitors and reorg detectors.
833
+ * - `address`: watch transfers/calls to or from a watched address.
834
+ * `direction` ("in" | "out" | "both") filters which side of the
835
+ * transfer fires the trigger.
836
+ */
837
+ export type IrChainTrigger = {
838
+ readonly kind: "event";
839
+ readonly chainId: string;
840
+ readonly contract: string;
841
+ readonly event: string;
842
+ readonly filter?: Readonly<Record<string, unknown>>;
843
+ } | {
844
+ readonly kind: "block";
845
+ readonly chainId: string;
846
+ readonly scanIntervalMs: number;
847
+ } | {
848
+ readonly kind: "address";
849
+ readonly chainId: string;
850
+ readonly address: string;
851
+ readonly direction: "in" | "out" | "both";
852
+ };
853
+ /**
854
+ * Section 47 — IR for the `onchain` target shape. The compiled daemon
855
+ * subscribes to the configured triggers, dedupes events by `(txHash,
856
+ * logIndex)` within `idempotencyWindowMs`, and runs one
857
+ * `runChatLoop({singleTurn: true})` per inbound trigger with the
858
+ * decoded payload as the user message. The agent has access to the
859
+ * standard tool catalog (including §47 `tool-evm` + `tool-evm-tx`) so
860
+ * it can respond with transactions, alerts, or notifications.
861
+ */
862
+ export type IrChainV0 = {
863
+ readonly version: 0;
864
+ readonly name: string;
865
+ readonly target: "onchain";
866
+ readonly agent: {
867
+ readonly model: string;
868
+ readonly instructions: string;
869
+ };
870
+ readonly chains: readonly IrChainBinding[];
871
+ readonly wallets: readonly IrWalletBinding[];
872
+ readonly contracts: readonly IrContractBinding[];
873
+ readonly transactionPolicy: IrTransactionPolicy;
874
+ readonly triggers: readonly IrChainTrigger[];
875
+ /** Dedup window for `(txHash, logIndex)` (or block height for block triggers). */
876
+ readonly idempotencyWindowMs: number;
877
+ readonly tools: readonly string[];
878
+ readonly toolConfigs: IrToolConfigs;
879
+ readonly mcp_servers: IrMcpServers;
880
+ readonly permissions: IrPermissions;
881
+ readonly compaction: IrCompaction;
882
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
883
+ readonly failureTaxonomy?: IrFailureTaxonomy;
884
+ };
885
+ /**
886
+ * Section 47 — IR for the `onchain-game` target. Models a perceive-act
887
+ * loop against a game contract: the daemon reads game state via the
888
+ * configured `stateReader` view function, runs the agent to propose a
889
+ * move, broadcasts the move as a transaction, waits for confirmation,
890
+ * and re-reads the new state. Closest analogues are `voice` (realtime
891
+ * perceive-act loop with barge-in) and `browser` (perceive-act loop
892
+ * with vision grounding). The chain-specific concerns are turn
893
+ * semantics (sync/realtime/async) and move-confirmation finality.
894
+ */
895
+ export type IrChainGameTurnSemantics = "turn-based" | "real-time" | "async";
896
+ export type IrChainGameV0 = {
897
+ readonly version: 0;
898
+ readonly name: string;
899
+ readonly target: "onchain-game";
900
+ readonly agent: {
901
+ readonly model: string;
902
+ readonly instructions: string;
903
+ };
904
+ /** Games are bound to one chain at a time; multi-chain games are rare. */
905
+ readonly chain: IrChainBinding;
906
+ /** Single player wallet. */
907
+ readonly wallet: IrWalletBinding;
908
+ readonly game: {
909
+ /** Game contract binding. */
910
+ readonly contract: IrContractBinding;
911
+ /** ABI method name for reading the full game state (a view fn). */
912
+ readonly stateReader: string;
913
+ /** Optional separate actions contract; defaults to game.contract. */
914
+ readonly actionsContract?: string;
915
+ readonly turnSemantics: IrChainGameTurnSemantics;
916
+ /** Hard cap on a move's wall-clock spend for real-time games. */
917
+ readonly moveTimeoutMs?: number;
918
+ /** Natural-language win condition the model uses to evaluate state. */
919
+ readonly objective?: string;
920
+ };
921
+ readonly transactionPolicy: IrTransactionPolicy;
922
+ readonly tools: readonly string[];
923
+ readonly toolConfigs: IrToolConfigs;
924
+ readonly mcp_servers: IrMcpServers;
925
+ readonly permissions: IrPermissions;
926
+ readonly compaction: IrCompaction;
927
+ /** Section 55 (Track A) — named failure taxonomy. Optional. */
928
+ readonly failureTaxonomy?: IrFailureTaxonomy;
929
+ };
930
+ export type IrNode = IrV0 | IrWorkflowV0 | IrChannelV0 | IrGraphV0 | IrManagedV0 | IrPipelineV0 | IrCrewV0 | IrResearchV0 | IrBatchV0 | IrVoiceV0 | IrBrowserV0 | IrEvalV0 | IrChainV0 | IrChainGameV0;
931
+ /**
932
+ * The output of compilation: a set of files to be written to disk by the
933
+ * bundle-packager (slice: written directly by the CLI app).
934
+ */
935
+ export type Bundle = {
936
+ readonly files: ReadonlyArray<{
937
+ readonly path: string;
938
+ readonly content: string;
939
+ }>;
940
+ };
941
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
package/src/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":""}