@wairon/cli 5.1.1-dev.102 → 5.1.1-dev.103

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/dist/index.d.ts CHANGED
@@ -3134,6 +3134,14 @@ declare const AgentBriefSchema: z.ZodObject<{
3134
3134
  * agent implements nothing.
3135
3135
  */
3136
3136
  typeMapping: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3137
+ /**
3138
+ * Where an implementing agent may write CODE: each source file its
3139
+ * implementations name, plus the folder they share below the project root as
3140
+ * `<folder>/**`. Empty when nothing names a file yet (the instructions then
3141
+ * ask the spawning session to name the planned files); absent for an agent
3142
+ * that implements nothing.
3143
+ */
3144
+ codeFence: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3137
3145
  /**
3138
3146
  * Set only on a brief for a member's agent (an id qualified `<alias>::`): the
3139
3147
  * member's directory relative to the root the brief was asked from. The
@@ -3212,6 +3220,7 @@ declare const AgentBriefSchema: z.ZodObject<{
3212
3220
  readPaths?: string[] | undefined;
3213
3221
  variantGuidance?: string | undefined;
3214
3222
  typeMapping?: string[] | undefined;
3223
+ codeFence?: string[] | undefined;
3215
3224
  root?: string | undefined;
3216
3225
  budget?: {
3217
3226
  toolClass: "read-only" | "implement" | "orchestrate" | "full";
@@ -3238,6 +3247,7 @@ declare const AgentBriefSchema: z.ZodObject<{
3238
3247
  readPaths?: string[] | undefined;
3239
3248
  variantGuidance?: string | undefined;
3240
3249
  typeMapping?: string[] | undefined;
3250
+ codeFence?: string[] | undefined;
3241
3251
  root?: string | undefined;
3242
3252
  budget?: {
3243
3253
  toolClass: "read-only" | "implement" | "orchestrate" | "full";
@@ -4462,6 +4472,13 @@ interface RuleContext {
4462
4472
  * importing it, and the `use` line that would. Null when none does.
4463
4473
  */
4464
4474
  importHint(name: string): string | null;
4475
+ /**
4476
+ * rule_context.aliasSpelling — for a dotted type reference `<first>.<name>`
4477
+ * whose first segment is an alias the bound project declares (not one of its
4478
+ * subsystems) and whose supplier exports the name: the `alias::publicName`
4479
+ * it must be written as. Null otherwise.
4480
+ */
4481
+ aliasSpelling(ref: string): string | null;
4465
4482
  /** Every contract method across the component's interfaces (memoized — eight rules ask per binding or per step). */
4466
4483
  interfaceMethodsOf(compId: string): MethodSignature[];
4467
4484
  /** The run's source-code model keyed for lookup (memoized). */
@@ -7414,11 +7431,6 @@ interface LockRecord {
7414
7431
  }
7415
7432
  /** Read the current project's lock record, or null when absent/unreadable. */
7416
7433
  declare function readLockRecord(): LockRecord | null;
7417
- /**
7418
- * Persist the lock record atomically to .wai/lock.json (overwrites any prior).
7419
- * A legacy `children` map is never written: `members` is recorded instead.
7420
- */
7421
- declare function writeLockRecord(record: LockRecord): void;
7422
7434
 
7423
7435
  declare class WaironError extends Error {
7424
7436
  constructor(message: string);
@@ -7483,6 +7495,241 @@ interface CarriedRekey {
7483
7495
  to: string;
7484
7496
  }
7485
7497
 
7498
+ interface CanvasModel {
7499
+ system: {
7500
+ name: string;
7501
+ vision?: string;
7502
+ targetLanguage?: string;
7503
+ databases?: {
7504
+ id: string;
7505
+ name: string;
7506
+ engine: string;
7507
+ description?: string;
7508
+ tables?: string[];
7509
+ }[];
7510
+ diagram?: {
7511
+ lineStyle?: 'bezier' | 'straight' | 'taxi';
7512
+ defaultView?: 'architecture' | 'types' | 'databases';
7513
+ showDatabases?: boolean;
7514
+ };
7515
+ };
7516
+ generatedAt: string;
7517
+ subsystems: {
7518
+ id: string;
7519
+ name: string;
7520
+ description: string;
7521
+ targetLanguage?: string;
7522
+ status?: string;
7523
+ trustedLinks: {
7524
+ subsystem: string;
7525
+ reason: string;
7526
+ }[];
7527
+ /** A member project's node (stage 3): its id is the member's key, its name the
7528
+ * alias its parent declares it under; the member's specs hang under it. */
7529
+ project?: boolean;
7530
+ /** Hosted (stage 7): a member project node's record id, present only when the
7531
+ * caller may read that record — the web app links the node to its page. */
7532
+ recordId?: string;
7533
+ /** Stage 8: the storage badge of a subsystem a PART holds (it is this
7534
+ * project's own subsystem, stored elsewhere) — `part <alias> · contained`,
7535
+ * `… · ../admin`, `… · git a1b2c3d` — or of a referenced project node. */
7536
+ storage?: string;
7537
+ /** A declared external that is no project of the family, drawn as a
7538
+ * project node of its own (dashed) that its consumption edges land on. */
7539
+ external?: boolean;
7540
+ /** Opt-in deep expansion: with Internals on, this subsystem's box renders
7541
+ * its WHOLE subtree (nested boundary boxes + leaf tiles + direct relation
7542
+ * lines) instead of one layer. Never set by buildCanvasModel — the hosted
7543
+ * environment adapter stamps it on unit-derived frames. Absent ⇒ the
7544
+ * engine behaves exactly as before. */
7545
+ deepInternals?: boolean;
7546
+ }[];
7547
+ components: {
7548
+ id: string;
7549
+ name: string;
7550
+ description: string;
7551
+ subsystem: string;
7552
+ componentType: string;
7553
+ portalType?: string;
7554
+ status?: string;
7555
+ public: boolean;
7556
+ /** The L0 gateway entry id this component backs (the OpenAPI operation tag),
7557
+ * present only for a component published in the system's public surface. */
7558
+ apiTag?: string;
7559
+ owner?: string;
7560
+ owns: string[];
7561
+ dependsOn: string[];
7562
+ interfaces: {
7563
+ id: string;
7564
+ name: string;
7565
+ description: string;
7566
+ methods: {
7567
+ name: string;
7568
+ description: string;
7569
+ signature: string;
7570
+ returns: string;
7571
+ params?: {
7572
+ name: string;
7573
+ type: string;
7574
+ optional?: boolean;
7575
+ }[];
7576
+ /** Where the method takes its params and returns from, shown beside its signature ("from X"). */
7577
+ signatureFrom?: string;
7578
+ endpoint?: unknown;
7579
+ guarantees?: string[];
7580
+ }[];
7581
+ }[];
7582
+ narratives: {
7583
+ method: string;
7584
+ steps: {
7585
+ n: number;
7586
+ text: string;
7587
+ kind: string;
7588
+ call?: {
7589
+ component: string;
7590
+ method: string;
7591
+ };
7592
+ cond?: string;
7593
+ onTrue?: number;
7594
+ onFalse?: number;
7595
+ on?: string;
7596
+ cases?: {
7597
+ value: string;
7598
+ step: number;
7599
+ }[];
7600
+ defaultStep?: number;
7601
+ loopKind?: string;
7602
+ over?: string;
7603
+ end?: number;
7604
+ catches?: {
7605
+ error: string;
7606
+ step: number;
7607
+ }[];
7608
+ fin?: number;
7609
+ to?: number;
7610
+ /** parallel: arm entry steps (contiguous ordered sub-regions of the body). */
7611
+ branches?: {
7612
+ step: number;
7613
+ name?: string;
7614
+ }[];
7615
+ /** call/dispatch: fire-and-forget — failure does not propagate to this flow. */
7616
+ detach?: boolean;
7617
+ outcome?: string;
7618
+ err?: string;
7619
+ }[];
7620
+ }[];
7621
+ /** Opaque external references surfaced on the canvas element (see ExternalLinkSchema).
7622
+ * wairon never fetches them; an `implementation` link is the external source-of-record. */
7623
+ externalLinks?: {
7624
+ url: string;
7625
+ type: string;
7626
+ label?: string;
7627
+ }[];
7628
+ /** Methods specified as intent prose instead of a narrative (the detail dial). */
7629
+ intents: {
7630
+ method: string;
7631
+ text: string;
7632
+ }[];
7633
+ }[];
7634
+ /** `consumption`: the edge's ends lie in different projects (or it lands on a
7635
+ * referenced or external project node); `relation`: the CanvasRelation it
7636
+ * takes its health from, present only when the model carries relations. */
7637
+ edges: {
7638
+ from: string;
7639
+ to: string;
7640
+ cross: boolean;
7641
+ consumption?: boolean;
7642
+ relation?: string;
7643
+ }[];
7644
+ /** Relation health, one per consumer→producer pair the edges connect. PRESENT
7645
+ * only when health was computed (empty when nothing is consumed); ABSENT when
7646
+ * it was not — then consumption edges are drawn neutral, "not checked". */
7647
+ relations?: CanvasRelation[];
7648
+ types: {
7649
+ id: string;
7650
+ name: string;
7651
+ kind: string;
7652
+ subsystem?: string;
7653
+ fields: {
7654
+ name: string;
7655
+ type: string;
7656
+ optional?: boolean;
7657
+ key?: string;
7658
+ references?: string;
7659
+ }[];
7660
+ methods: {
7661
+ name: string;
7662
+ signature: string;
7663
+ returns: string;
7664
+ description?: string;
7665
+ }[];
7666
+ /** A signature type's derived text, `(a: T, b?: U): R` — drawn in place of a field list. */
7667
+ signature?: string;
7668
+ /** An enum's values in declared order — drawn in place of a field list. */
7669
+ values?: {
7670
+ name: string;
7671
+ description?: string;
7672
+ }[];
7673
+ /** A named scalar's primitive — drawn compactly beside its name, with no field rows and no edges. */
7674
+ holds?: string;
7675
+ /** Interface methods whose params/returns reference this type (usage trace). */
7676
+ usedBy: {
7677
+ component: string;
7678
+ method: string;
7679
+ }[];
7680
+ componentClass?: string;
7681
+ database?: string;
7682
+ table?: string;
7683
+ linkedEntity?: string;
7684
+ }[];
7685
+ /** Type → type references derived from field type strings (ERD edges). */
7686
+ typeEdges: {
7687
+ from: string;
7688
+ to: string;
7689
+ field: string;
7690
+ card: '1' | '0..1' | '*';
7691
+ }[];
7692
+ /** Data-coupling edges: a component depends on another subsystem's data
7693
+ * (uses a type it owns), pointed at that subsystem's published portal. */
7694
+ dataEdges: {
7695
+ from: string;
7696
+ to: string;
7697
+ }[];
7698
+ issues: {
7699
+ severity: string;
7700
+ code: string;
7701
+ message: string;
7702
+ specId?: string;
7703
+ }[];
7704
+ }
7705
+ /**
7706
+ * canvas_relation — one consumer-project-to-producer-project relation as the
7707
+ * canvas draws it: the health every consumption edge between the two takes,
7708
+ * and the detail a reader sees on hover or in the details panel.
7709
+ */
7710
+ interface CanvasRelation {
7711
+ /** `<consumer>→<producer>`: the key a consumption edge names in its `relation`. */
7712
+ id: string;
7713
+ /** The consuming project's key ('' for the bound root). */
7714
+ consumer: string;
7715
+ /** The alias the consumer reaches the producer under. */
7716
+ producer: string;
7717
+ health: RelationHealth;
7718
+ /** The uses that are NOT unchanged, with their state and why. */
7719
+ uses: {
7720
+ name: string;
7721
+ state: string;
7722
+ detail?: string;
7723
+ }[];
7724
+ /** How many uses compared unchanged. */
7725
+ unchanged: number;
7726
+ pinnedCommit?: string;
7727
+ pinnedDigest?: string;
7728
+ comparedAt: string;
7729
+ /** Why the relation is unavailable, when it is. */
7730
+ detail?: string;
7731
+ }
7732
+
7486
7733
  /** What a landscape edge says about its two ends. */
7487
7734
  type LandscapeEdgeKind = 'contains' | 'owns' | 'shared_with' | 'publishes' | 'consumes' | 'depends_on' | 'mirrors';
7488
7735
  /** A directed edge of the hosted landscape graph. */
@@ -7534,6 +7781,49 @@ interface WebGraphModel {
7534
7781
  scope?: string;
7535
7782
  }
7536
7783
 
7784
+ /** The formats the architecture diagram renders to. */
7785
+ type DiagramFormat = 'canvas' | 'mermaid' | 'drawio' | 'excalidraw';
7786
+ /**
7787
+ * The full CanvasModel for the current (request-scoped) project — the same model
7788
+ * `renderDiagram('canvas')` renders to the standalone HTML, but returned as data
7789
+ * so the React web app can mount the shared renderer directly (no iframe) and,
7790
+ * later, receive it in on-demand scope slices. Pure derivation, no side effects;
7791
+ * relation health is drawn only when passed in.
7792
+ */
7793
+ declare function buildCanvasDataModel(relations?: ProjectRelations[]): CanvasModel;
7794
+ interface DiagramFile {
7795
+ /** Path relative to the diagrams output directory, using forward slashes. */
7796
+ relPath: string;
7797
+ title: string;
7798
+ /** Raw mermaid source (no markdown fence). */
7799
+ mermaid: string;
7800
+ }
7801
+ interface SpecGraph {
7802
+ systemName: string;
7803
+ subsystems: SubsystemSpec[];
7804
+ components: ComponentSpec[];
7805
+ interfaces: InterfaceSpec[];
7806
+ implementations: ImplementationSpec[];
7807
+ /** Component ids published via some subsystem's publicInterfaces. */
7808
+ publicComponents: Set<string>;
7809
+ }
7810
+ declare function loadSpecGraph(): SpecGraph;
7811
+ interface ComponentDiagramOptions {
7812
+ /** Scope to one subsystem (its components plus directly-connected externals). */
7813
+ subsystem?: string;
7814
+ }
7815
+ declare function generateComponentDiagram(options?: ComponentDiagramOptions): string;
7816
+ interface SequenceDiagramOptions {
7817
+ /** Max call-expansion depth (default 3). Depth 1 = only the method's own steps. */
7818
+ depth?: number;
7819
+ }
7820
+ declare function generateSequenceDiagram(componentId: string, methodName: string, options?: SequenceDiagramOptions): string;
7821
+ declare function generateDiagramSet(): DiagramFile[];
7822
+ /** Wrap raw mermaid in a titled markdown document (renders on GitHub / IDEs). */
7823
+ declare function toMarkdown(file: DiagramFile): string;
7824
+ /** Index README linking every generated diagram. */
7825
+ declare function diagramSetIndex(files: DiagramFile[], systemName: string): string;
7826
+
7537
7827
  /** spec_index — the bound tree as one scan read it: every spec by kind, and the file each is stored in. */
7538
7828
  interface SpecIndex {
7539
7829
  subsystems: SubsystemSpec[];
@@ -7942,6 +8232,18 @@ interface LockStatus {
7942
8232
  * every caller now shares this.
7943
8233
  */
7944
8234
  declare function readLockState(current: StateId): LockStatus;
8235
+ /**
8236
+ * core_orchestrator.writeLockRecord — the lock record written through the lock
8237
+ * store. The approval portal publishes THIS function, so a Portal never reaches
8238
+ * the store's write itself: writes route through the Orchestrator.
8239
+ */
8240
+ declare function writeLockRecord(record: LockRecord): void;
8241
+ /**
8242
+ * core_orchestrator.renderDiagram — the spec tree rendered in the requested
8243
+ * format by the architecture diagrams, with the relation health passed through
8244
+ * (only the canvas draws it). The spec tree portal publishes this function.
8245
+ */
8246
+ declare function renderDiagram(format: DiagramFormat, relations?: ProjectRelations[]): string;
7945
8247
  /** Write a fresh configuration for a project that has none; refuses when one exists. */
7946
8248
  declare function createProjectConfig(config: ProjectConfig): void;
7947
8249
  /** Select a pack by name, moving a re-selected pack last; returns whether an earlier selection was replaced. */
@@ -17098,6 +17400,20 @@ interface CallSiteFact {
17098
17400
  * and only where the class holds a body under the invoked name.
17099
17401
  */
17100
17402
  enclosingClass?: string;
17403
+ /**
17404
+ * The receiver written as a CHAIN of property accesses — set only when the
17405
+ * call was written `this.<field>.<property>….name(…)`
17406
+ * (`this.c.tracker.checkIn()` → ["this", "c", "tracker"]) or
17407
+ * `<name>.<property>….name(…)` (`deps.tracker.checkIn()` → ["deps",
17408
+ * "tracker"]), and never together with `via`, `field`, `constructed`,
17409
+ * `returnedBy` or `enclosingClass`. The shape constructor-injected
17410
+ * collaborators take when they arrive as ONE bag object. Followed link by
17411
+ * link through what the code DECLARES each link to be — the root's field
17412
+ * or annotated type, then each property's declared type on the shape that
17413
+ * declares it — and, like every receiver past an import binding, a
17414
+ * POSSIBLE origin and never a proven one.
17415
+ */
17416
+ receiverPath?: string[];
17101
17417
  /**
17102
17418
  * The file this site was READ in, set only when it is not the file these
17103
17419
  * facts describe — a pure re-export barrel carries the sites of the function
@@ -17348,7 +17664,9 @@ interface SourceFileFacts {
17348
17664
  * bindings therefore keep EVERY declared type, and a wider answer only ever
17349
17665
  * widens what a call may have reached. A binding the file annotates with
17350
17666
  * nothing records nothing, and so does one annotated with anything but a
17351
- * plain type reference: what an initializer INFERS is not what the code
17667
+ * plain type reference or a member-preserving utility (`Pick`, `Omit`,
17668
+ * `Partial`, `Required`, `Readonly`) around one, which names the type it
17669
+ * wraps: what an initializer INFERS is not what the code
17352
17670
  * declares, and a guess is not a fact.
17353
17671
  */
17354
17672
  localTypes?: Record<string, string[]>;
@@ -17362,6 +17680,27 @@ interface SourceFileFacts {
17362
17680
  * rather than folded in.
17363
17681
  */
17364
17682
  typeOnlyBindings?: Record<string, string>;
17683
+ /**
17684
+ * The type names each PROPERTY of a named shape the file declares is
17685
+ * DECLARED with, keyed `<shape>.<property>` — an interface's or a type
17686
+ * literal alias's property signatures, and a class's property declarations
17687
+ * and constructor parameter properties. EXACT grade only.
17688
+ *
17689
+ * What a receiver CHAIN (`CallSiteFact.receiverPath`) is followed through:
17690
+ * a bag of collaborators handed to a constructor names each one's type
17691
+ * exactly here. Read the way `fieldTypes` is, and a property annotated with
17692
+ * anything else records nothing.
17693
+ */
17694
+ memberTypes?: Record<string, string[]>;
17695
+ /**
17696
+ * The ONE type each type alias NAMES outright, by alias name —
17697
+ * `type Contract = Pick<HabitRepository, 'find'>` names HabitRepository,
17698
+ * `type Store = SpecStore` names SpecStore. EXACT grade only. Read the way
17699
+ * `fieldTypes` is, so a union, an intersection, a literal or any other
17700
+ * generic names nothing. The one hop a declared type is followed through
17701
+ * when it is an alias of this file.
17702
+ */
17703
+ aliasTargets?: Record<string, string>;
17365
17704
  /**
17366
17705
  * The members of each named shape the file declares, by declaration name
17367
17706
  * (see TypeShapeFact). EXACT grade only — below it a member list cannot be
@@ -17513,6 +17852,20 @@ declare function fieldTypesOf(facts: SourceFileFacts, field: string): string[];
17513
17852
  * field.
17514
17853
  */
17515
17854
  declare function localTypesOf(facts: SourceFileFacts, name: string): string[];
17855
+ /**
17856
+ * source_file_facts.memberTypesOf — the type names a property of a named
17857
+ * shape this file declares is DECLARED with, or EMPTY when the file declares
17858
+ * no such shape or property, annotates it with nothing, or was analyzed below
17859
+ * exact grade. The empty answer keeps an unresolvable link of a receiver
17860
+ * chain from becoming a guess.
17861
+ */
17862
+ declare function memberTypesOf(facts: SourceFileFacts, shape: string, property: string): string[];
17863
+ /**
17864
+ * source_file_facts.aliasTargetOf — the type a type alias this file declares
17865
+ * names outright, or undefined when the name is no such alias or its right
17866
+ * side names no single type.
17867
+ */
17868
+ declare function aliasTargetOf(facts: SourceFileFacts, name: string): string | undefined;
17516
17869
  /**
17517
17870
  * source_file_facts.typeBindingOf — the module specifier a NAME was imported
17518
17871
  * from, whether the import was type-only or a runtime one, since a declared
@@ -35965,7 +36318,7 @@ type DesignExport = z.infer<typeof DesignExportSchema>;
35965
36318
 
35966
36319
  declare const DEFAULT_TARGET_DIRS: Record<string, string>;
35967
36320
  declare function defaultTargetConfig(type: 'claude' | 'gemini' | 'agy' | 'cursor' | 'copilot' | 'codex'): BuiltinTargetConfig;
35968
- declare const WAIRON_VERSION = "5.1.1-dev.102";
36321
+ declare const WAIRON_VERSION = "5.1.1-dev.103";
35969
36322
  declare const GITHUB_REPO = "SYW-Apps/Waffle-AIron";
35970
36323
  declare const ARCHITECT_AGENT_ID = "agent-architect";
35971
36324
  declare const ARCHITECT_TEMPLATE_ID = "architect";
@@ -36122,7 +36475,7 @@ declare function moveMember(alias: string, newPath: string): void;
36122
36475
  * `as: project` it then promotes the new part — the pre-stage-8 externalize —
36123
36476
  * every promote refusal found before anything moves.
36124
36477
  */
36125
- declare function externalizeSubsystem(subsystemId: string, path: string, as?: string): void;
36478
+ declare function externalizeSubsystem(subsystemId: string, path: string, as?: string): PromoteResult | undefined;
36126
36479
  /**
36127
36480
  * core_orchestrator.promoteMember — promote a part of the bound project to an
36128
36481
  * independent project IN PLACE (stage 8): its files stay where they are and
@@ -36132,7 +36485,24 @@ declare function externalizeSubsystem(subsystemId: string, path: string, as?: st
36132
36485
  * `<parent id>::name` the other), the parent declared as its external and its
36133
36486
  * L0 re-exports re-pointed at the member. Locks nothing.
36134
36487
  */
36135
- declare function promoteMember(alias: string, id?: string): void;
36488
+ declare function promoteMember(alias: string, id?: string): PromoteResult;
36489
+ /**
36490
+ * promote_result — what a promote (or an externalize as project) wrote across
36491
+ * the new boundary, each one named, so a plan lists exactly what its rehearsal
36492
+ * wrote.
36493
+ */
36494
+ interface PromoteResult {
36495
+ /** Every reference of the parent's specs respelled across the boundary, at its parsed position. */
36496
+ respelled: ReferenceEdit[];
36497
+ /** Every reference of the new project's specs respelled: back into the parent, or a self-prefix made bare. */
36498
+ memberRespelled: ReferenceEdit[];
36499
+ /** One line per export entry written, naming the side. */
36500
+ exported: string[];
36501
+ /** One line per bare type name imported by name. */
36502
+ imported: string[];
36503
+ /** One line per consumers entry dropped because it named a subsystem across the boundary. */
36504
+ consumersDropped: string[];
36505
+ }
36136
36506
  /**
36137
36507
  * internalize_result — what internalizing a member did with each thing the
36138
36508
  * member held: the subsystems and types it moved, where each piece of the
@@ -36147,6 +36517,12 @@ interface InternalizeResult {
36147
36517
  deleted: string[];
36148
36518
  /** Each piece of metadata deliberately not carried, with the reason. */
36149
36519
  notCarried: string[];
36520
+ /**
36521
+ * Demote only: one line per consumers list widened by the subsystems across
36522
+ * the old boundary that depend on the surface it restricts — the use the
36523
+ * project boundary's export table granted, kept as the list a part needs.
36524
+ */
36525
+ consumersRestored: string[];
36150
36526
  }
36151
36527
  /**
36152
36528
  * core_orchestrator.internalizeMember — fold a member back into the bound
@@ -36290,16 +36666,6 @@ interface TypeRename {
36290
36666
  /** Every edit the rename made to the debt register: an entry anchored on the type. */
36291
36667
  carried: CarriedRekey[];
36292
36668
  }
36293
- /**
36294
- * Rename a type and every reference to it in the bound tree (core_orchestrator.renameType).
36295
- * The type moves to the new id under the same owner, its old id appended to
36296
- * its rename trace; every type position naming it is respelled, and an export
36297
- * entry's typeDef — one that stated no `as` first keeping its public name.
36298
- * Before writing anything it refuses a type that does not exist
36299
- * (type-missing), one in another project (chained-type), a new id outside the
36300
- * id grammar (invalid-id), and a new id another type of the same owner holds
36301
- * or retired (id-taken, id-retired).
36302
- */
36303
36669
  declare function renameType(typeId: string, newId: string): TypeRename;
36304
36670
  /**
36305
36671
  * core_orchestrator.moveMountToMembers — move one legacy L1 mount of the bound
@@ -36316,285 +36682,6 @@ declare function moveMountToMembers(alias: string): boolean;
36316
36682
  */
36317
36683
  declare function normalizeReferences(kind: WritableSpecKind, id: string): boolean;
36318
36684
 
36319
- interface CanvasModel {
36320
- system: {
36321
- name: string;
36322
- vision?: string;
36323
- targetLanguage?: string;
36324
- databases?: {
36325
- id: string;
36326
- name: string;
36327
- engine: string;
36328
- description?: string;
36329
- tables?: string[];
36330
- }[];
36331
- diagram?: {
36332
- lineStyle?: 'bezier' | 'straight' | 'taxi';
36333
- defaultView?: 'architecture' | 'types' | 'databases';
36334
- showDatabases?: boolean;
36335
- };
36336
- };
36337
- generatedAt: string;
36338
- subsystems: {
36339
- id: string;
36340
- name: string;
36341
- description: string;
36342
- targetLanguage?: string;
36343
- status?: string;
36344
- trustedLinks: {
36345
- subsystem: string;
36346
- reason: string;
36347
- }[];
36348
- /** A member project's node (stage 3): its id is the member's key, its name the
36349
- * alias its parent declares it under; the member's specs hang under it. */
36350
- project?: boolean;
36351
- /** Hosted (stage 7): a member project node's record id, present only when the
36352
- * caller may read that record — the web app links the node to its page. */
36353
- recordId?: string;
36354
- /** Stage 8: the storage badge of a subsystem a PART holds (it is this
36355
- * project's own subsystem, stored elsewhere) — `part <alias> · contained`,
36356
- * `… · ../admin`, `… · git a1b2c3d` — or of a referenced project node. */
36357
- storage?: string;
36358
- /** A declared external that is no project of the family, drawn as a
36359
- * project node of its own (dashed) that its consumption edges land on. */
36360
- external?: boolean;
36361
- /** Opt-in deep expansion: with Internals on, this subsystem's box renders
36362
- * its WHOLE subtree (nested boundary boxes + leaf tiles + direct relation
36363
- * lines) instead of one layer. Never set by buildCanvasModel — the hosted
36364
- * environment adapter stamps it on unit-derived frames. Absent ⇒ the
36365
- * engine behaves exactly as before. */
36366
- deepInternals?: boolean;
36367
- }[];
36368
- components: {
36369
- id: string;
36370
- name: string;
36371
- description: string;
36372
- subsystem: string;
36373
- componentType: string;
36374
- portalType?: string;
36375
- status?: string;
36376
- public: boolean;
36377
- /** The L0 gateway entry id this component backs (the OpenAPI operation tag),
36378
- * present only for a component published in the system's public surface. */
36379
- apiTag?: string;
36380
- owner?: string;
36381
- owns: string[];
36382
- dependsOn: string[];
36383
- interfaces: {
36384
- id: string;
36385
- name: string;
36386
- description: string;
36387
- methods: {
36388
- name: string;
36389
- description: string;
36390
- signature: string;
36391
- returns: string;
36392
- params?: {
36393
- name: string;
36394
- type: string;
36395
- optional?: boolean;
36396
- }[];
36397
- /** Where the method takes its params and returns from, shown beside its signature ("from X"). */
36398
- signatureFrom?: string;
36399
- endpoint?: unknown;
36400
- guarantees?: string[];
36401
- }[];
36402
- }[];
36403
- narratives: {
36404
- method: string;
36405
- steps: {
36406
- n: number;
36407
- text: string;
36408
- kind: string;
36409
- call?: {
36410
- component: string;
36411
- method: string;
36412
- };
36413
- cond?: string;
36414
- onTrue?: number;
36415
- onFalse?: number;
36416
- on?: string;
36417
- cases?: {
36418
- value: string;
36419
- step: number;
36420
- }[];
36421
- defaultStep?: number;
36422
- loopKind?: string;
36423
- over?: string;
36424
- end?: number;
36425
- catches?: {
36426
- error: string;
36427
- step: number;
36428
- }[];
36429
- fin?: number;
36430
- to?: number;
36431
- /** parallel: arm entry steps (contiguous ordered sub-regions of the body). */
36432
- branches?: {
36433
- step: number;
36434
- name?: string;
36435
- }[];
36436
- /** call/dispatch: fire-and-forget — failure does not propagate to this flow. */
36437
- detach?: boolean;
36438
- outcome?: string;
36439
- err?: string;
36440
- }[];
36441
- }[];
36442
- /** Opaque external references surfaced on the canvas element (see ExternalLinkSchema).
36443
- * wairon never fetches them; an `implementation` link is the external source-of-record. */
36444
- externalLinks?: {
36445
- url: string;
36446
- type: string;
36447
- label?: string;
36448
- }[];
36449
- /** Methods specified as intent prose instead of a narrative (the detail dial). */
36450
- intents: {
36451
- method: string;
36452
- text: string;
36453
- }[];
36454
- }[];
36455
- /** `consumption`: the edge's ends lie in different projects (or it lands on a
36456
- * referenced or external project node); `relation`: the CanvasRelation it
36457
- * takes its health from, present only when the model carries relations. */
36458
- edges: {
36459
- from: string;
36460
- to: string;
36461
- cross: boolean;
36462
- consumption?: boolean;
36463
- relation?: string;
36464
- }[];
36465
- /** Relation health, one per consumer→producer pair the edges connect. PRESENT
36466
- * only when health was computed (empty when nothing is consumed); ABSENT when
36467
- * it was not — then consumption edges are drawn neutral, "not checked". */
36468
- relations?: CanvasRelation[];
36469
- types: {
36470
- id: string;
36471
- name: string;
36472
- kind: string;
36473
- subsystem?: string;
36474
- fields: {
36475
- name: string;
36476
- type: string;
36477
- optional?: boolean;
36478
- key?: string;
36479
- references?: string;
36480
- }[];
36481
- methods: {
36482
- name: string;
36483
- signature: string;
36484
- returns: string;
36485
- description?: string;
36486
- }[];
36487
- /** A signature type's derived text, `(a: T, b?: U): R` — drawn in place of a field list. */
36488
- signature?: string;
36489
- /** An enum's values in declared order — drawn in place of a field list. */
36490
- values?: {
36491
- name: string;
36492
- description?: string;
36493
- }[];
36494
- /** A named scalar's primitive — drawn compactly beside its name, with no field rows and no edges. */
36495
- holds?: string;
36496
- /** Interface methods whose params/returns reference this type (usage trace). */
36497
- usedBy: {
36498
- component: string;
36499
- method: string;
36500
- }[];
36501
- componentClass?: string;
36502
- database?: string;
36503
- table?: string;
36504
- linkedEntity?: string;
36505
- }[];
36506
- /** Type → type references derived from field type strings (ERD edges). */
36507
- typeEdges: {
36508
- from: string;
36509
- to: string;
36510
- field: string;
36511
- card: '1' | '0..1' | '*';
36512
- }[];
36513
- /** Data-coupling edges: a component depends on another subsystem's data
36514
- * (uses a type it owns), pointed at that subsystem's published portal. */
36515
- dataEdges: {
36516
- from: string;
36517
- to: string;
36518
- }[];
36519
- issues: {
36520
- severity: string;
36521
- code: string;
36522
- message: string;
36523
- specId?: string;
36524
- }[];
36525
- }
36526
- /**
36527
- * canvas_relation — one consumer-project-to-producer-project relation as the
36528
- * canvas draws it: the health every consumption edge between the two takes,
36529
- * and the detail a reader sees on hover or in the details panel.
36530
- */
36531
- interface CanvasRelation {
36532
- /** `<consumer>→<producer>`: the key a consumption edge names in its `relation`. */
36533
- id: string;
36534
- /** The consuming project's key ('' for the bound root). */
36535
- consumer: string;
36536
- /** The alias the consumer reaches the producer under. */
36537
- producer: string;
36538
- health: RelationHealth;
36539
- /** The uses that are NOT unchanged, with their state and why. */
36540
- uses: {
36541
- name: string;
36542
- state: string;
36543
- detail?: string;
36544
- }[];
36545
- /** How many uses compared unchanged. */
36546
- unchanged: number;
36547
- pinnedCommit?: string;
36548
- pinnedDigest?: string;
36549
- comparedAt: string;
36550
- /** Why the relation is unavailable, when it is. */
36551
- detail?: string;
36552
- }
36553
-
36554
- /** The formats the architecture diagram renders to. */
36555
- type DiagramFormat = 'canvas' | 'mermaid' | 'drawio' | 'excalidraw';
36556
- declare function renderDiagram(format: DiagramFormat, relations?: ProjectRelations[]): string;
36557
- /**
36558
- * The full CanvasModel for the current (request-scoped) project — the same model
36559
- * `renderDiagram('canvas')` renders to the standalone HTML, but returned as data
36560
- * so the React web app can mount the shared renderer directly (no iframe) and,
36561
- * later, receive it in on-demand scope slices. Pure derivation, no side effects;
36562
- * relation health is drawn only when passed in.
36563
- */
36564
- declare function buildCanvasDataModel(relations?: ProjectRelations[]): CanvasModel;
36565
- interface DiagramFile {
36566
- /** Path relative to the diagrams output directory, using forward slashes. */
36567
- relPath: string;
36568
- title: string;
36569
- /** Raw mermaid source (no markdown fence). */
36570
- mermaid: string;
36571
- }
36572
- interface SpecGraph {
36573
- systemName: string;
36574
- subsystems: SubsystemSpec[];
36575
- components: ComponentSpec[];
36576
- interfaces: InterfaceSpec[];
36577
- implementations: ImplementationSpec[];
36578
- /** Component ids published via some subsystem's publicInterfaces. */
36579
- publicComponents: Set<string>;
36580
- }
36581
- declare function loadSpecGraph(): SpecGraph;
36582
- interface ComponentDiagramOptions {
36583
- /** Scope to one subsystem (its components plus directly-connected externals). */
36584
- subsystem?: string;
36585
- }
36586
- declare function generateComponentDiagram(options?: ComponentDiagramOptions): string;
36587
- interface SequenceDiagramOptions {
36588
- /** Max call-expansion depth (default 3). Depth 1 = only the method's own steps. */
36589
- depth?: number;
36590
- }
36591
- declare function generateSequenceDiagram(componentId: string, methodName: string, options?: SequenceDiagramOptions): string;
36592
- declare function generateDiagramSet(): DiagramFile[];
36593
- /** Wrap raw mermaid in a titled markdown document (renders on GitHub / IDEs). */
36594
- declare function toMarkdown(file: DiagramFile): string;
36595
- /** Index README linking every generated diagram. */
36596
- declare function diagramSetIndex(files: DiagramFile[], systemName: string): string;
36597
-
36598
36685
  /**
36599
36686
  * Scan a project root and return all domain candidates.
36600
36687
  * Already-tracked domain paths are marked with alreadyTracked: true.
@@ -37043,6 +37130,8 @@ interface ApprovalVerdict {
37043
37130
  text: string;
37044
37131
  /** Whether the tree has actually moved since it was approved. */
37045
37132
  drifted: boolean;
37133
+ /** Every own spec that moved since the approval, prefixed `~` changed, `+` added, `-` removed; absent when none moved. */
37134
+ moved?: string[];
37046
37135
  }
37047
37136
  /**
37048
37137
  * What has changed since the human last approved this tree.
@@ -37420,9 +37509,25 @@ declare function getRequestParentReach(): {
37420
37509
  declare function setProjectRoot(dir: string | null): void;
37421
37510
  /** Get the raw project root override value (or null if none set) */
37422
37511
  declare function getProjectRootOverride(): string | null;
37512
+ /** How a project came to be bound. */
37513
+ type ProjectBindingVia = 'here' | 'ancestor' | 'declared-member';
37514
+ /** project_binding — the project a folder binds to, and how. */
37515
+ interface ProjectBinding {
37516
+ /** The bound project root (absolute). */
37517
+ root: string;
37518
+ /** here: the folder itself; ancestor: a folder above it, inside its repository; declared-member: a project above the repository root that declares it. */
37519
+ via: ProjectBindingVia;
37520
+ /** The repository root the walk was bounded by, when the folder is inside one. */
37521
+ repositoryRoot?: string;
37522
+ }
37423
37523
  /**
37424
- * Walk up from startDir to the nearest ancestor containing a wairon project
37425
- * with system.yaml in its specs folder. Returns null if none is found.
37524
+ * Resolve the project a folder binds to by the binding rule; null when none
37525
+ * does. Never fails: an unreadable ancestor configuration declares nothing.
37526
+ */
37527
+ declare function resolveProjectBinding(startDir: string): ProjectBinding | null;
37528
+ /**
37529
+ * The root the binding rule binds from startDir (resolveProjectBinding), or
37530
+ * null when no project binds it.
37426
37531
  */
37427
37532
  declare function findSystemRoot(startDir: string): string | null;
37428
37533
  /** The resolved project root: the request-scoped root if bound (hosting server),
@@ -37559,4 +37664,4 @@ declare function schemaFingerprint(): string;
37559
37664
  */
37560
37665
  declare function loadProjectConfig(): ProjectConfig;
37561
37666
 
37562
- export { AI_PATHS, ARCHITECT_AGENT_ID, ARCHITECT_TEMPLATE_ID, type AgentBrief, AgentBriefSchema, type AgentRecord, AgentRecordSchema, type AgentStatus, AgentStatusSchema, type AgentTemplate, AgentTemplateSchema, type AnalysisGrade, type ApiKeyLocation, ApiKeyLocationSchema, type ApprovalDiff, type ApprovalVerdict, type ArchProfile, type AuthoredReference, BACKEND_COMMANDS, BUILTIN_PROFILES, type BoundaryItem, BoundaryItemSchema, type BuildContextOptions, type BuiltinTarget, type BuiltinTargetConfig, BuiltinTargetConfigSchema, BuiltinTargetSchema, BundleNotFoundError, type CallSiteFact, type CarriedDebt, type CarriedDebtKind, CarriedDebtKindSchema, CarriedDebtSchema, type CarriedFinding, type CarriedFindingEntry, CarriedFindingSchema, type CatchClause, CatchClauseSchema, ChainingMigrationRefusedError, ClaudeExporter, type ClaudeExporterOptions, type CodeIndex, type CodeModel, type ComplexityRuleConfig, ComplexityRuleConfigSchema, type ComponentRename, type ComponentSpec, ComponentSpecSchema, type ComponentType, ComponentTypeSchema, type CompositionConfig, CompositionConfigSchema, ConfigValidationError, type ConformanceRuleConfig, ConformanceRuleConfigSchema, type ConformanceTier, ConformanceTierSchema, type CrossProjectReference, CustomExporter, type CustomTarget, type CustomTargetConfig, CustomTargetConfigSchema, CustomTargetSchema, DEFAULT_TARGET_DIRS, DESIGN_APPROVALS, DESIGN_DEPENDENCY_ROLES, DESIGN_FORMAT, DESIGN_FORMAT_VERSION, type DatabaseSpec, DatabaseSpecSchema, type DeclarativePack, type DeclaredCall, type DeclaredExternal, type DeclaredMember, type DependencyClass, DependencyClassSchema, type DependencyEdge, type DependencyEdges, type DesignApproval, DesignApprovalSchema, type DesignComponent, DesignComponentSchema, type DesignDependency, type DesignDependencyRole, DesignDependencyRoleSchema, DesignDependencySchema, type DesignDepth, DesignDepthSchema, type DesignExport, type DesignExportEntry, DesignExportEntrySchema, DesignExportSchema, type DesignField, DesignFieldSchema, type DesignImplementation, DesignImplementationSchema, type DesignInterface, DesignInterfaceSchema, type DesignMethod, type DesignMethodBody, DesignMethodBodySchema, DesignMethodSchema, type DesignParam, DesignParamSchema, type DesignProject, DesignProjectSchema, type DesignSource, DesignSourceSchema, type DesignSubsystem, DesignSubsystemSchema, type DesignType, type DesignTypeRef, DesignTypeRefSchema, DesignTypeSchema, type DetectedDomainCandidate, type DiagramConfig, DiagramConfigSchema, type DiagramLineStyle, DiagramLineStyleSchema, type DiagramView, DiagramViewSchema, type DispatchBinding, DispatchBindingSchema, DoctorOptionsError, type DocumentationRuleConfig, DocumentationRuleConfigSchema, type Domain, DomainSchema, type DomainType, DomainTypeSchema, type Durability, DurabilitySchema, EXTERNAL_ALIAS_RE, type EdgeReach, type Endpoint, EndpointSchema, type EnumValue, EnumValueSchema, type EventBinding, EventBindingSchema, type ExportAliasFact, type ExportContext, type ExportKind, type ExportProblem, type ExportProblemKind, type ExportResult, type ExportTableLevel, type ExportUsage, type ExportUse, type Exporter, type ExtData, ExtDataSchema, type ExtensionPack, type ExternalBinding, type ExternalDeclaration, ExternalDeclarationSchema, type ExternalLink, ExternalLinkSchema, type ExternalLinkType, ExternalLinkTypeSchema, type ExternalListing, type ExternalLockEntry, ExternalLockEntrySchema, type ExternalPin, type ExternalPinOutcome, type ExternalRelation, type ExternalRole, type ExternalSource, type ExternalSourceKind, ExternalSourceSchema, type ExternalStatus, type ExternalUseState, type ExternalUseStatus, type ExternalsLock, ExternalsLockSchema, FULL_COMMIT_RE, type FamilyProblemKind, type FamilySwitches, type FindingDeclaration, FindingDeclarationSchema, type FindingParts, type ForeignFieldRepair, type ForwardedName, type FunctionBodyFact, GITHUB_REPO, GeminiExporter, type GenerateOptions, type GenerateSummary, type GroupSpec, GroupSpecSchema, type Guarantee, GuaranteeSchema, HOLDABLE_PRIMITIVES, type HostedRecordLookup, type HttpMethod, HttpMethodSchema, type ImplementationSpec, ImplementationSpecSchema, type ImportBindingFact, type ImportGraph, type ImportSection, type InstalledPack, type InterfaceSpec, InterfaceSpecSchema, type InternalizeDestination, type InternalizeResult, type Invariant, InvariantSchema, type InvocationKind, InvocationKindSchema, type IssueSeverity, type LegacySpecFile, type LifecycleEntrypoint, LifecycleEntrypointSchema, type LifecyclePhase, LifecyclePhaseSchema, type LintAllow, LintAllowSchema, type LintConfig, LintConfigSchema, type LoadedExtensions, type LoadedPackSkill, type LockRecord, type LockStatus, type LogLevel, type LoopKind, LoopKindSchema, type MemberAdvance, type MemberCreation, type MemberDeclaration, MemberDeclarationSchema, type MemberKind, type MemberPin, type MemberSource, type MemberStorage, type MethodEffect, MethodEffectSchema, type MethodImplementation, MethodImplementationSchema, type MethodLike, type MethodParam, MethodParamSchema, type MethodRename, type MethodSignature, MethodSignatureSchema, type MountForm, type NamedOpenApiSpec, NamedOpenApiSpecSchema, type NamingRuleConfig, NamingRuleConfigSchema, type NarrativeDetail, NarrativeDetailSchema, type NarrativeStep, NarrativeStepSchema, type NarrativeStepType, NarrativeStepTypeSchema, type OAuthFlow, OAuthFlowSchema, type OutputTarget, OutputTargetSchema, type OwnershipIndex, PATTERN_TYPES, PRIMITIVE_TYPES, PROJECT_ID_RE, PROJECT_KINDS, PUBLIC_NAME_RE, type PackDiagnosis, type PackEntry, type PackPath, type PackRef, type PackRequirement, PackRequirementSchema, type PackScope, type PackSelection, PackSelectionSchema, type ParallelBranch, ParallelBranchSchema, type ParameterFact, type ParentExcerpt, ParentExcerptSchema, type ParsedMemberSource, type PartOf, PartOfSchema, type PathsConfig, PathsConfigSchema, type PatternRef, PatternRefSchema, type PinnedExternal, type PinnedParent, type PortalAuth, PortalAuthSchema, type PortalAuthScheme, PortalAuthSchemeSchema, type PortalMount, PortalMountSchema, type PortalType, PortalTypeSchema, PreviousIdsSchema, PreviousNamesSchema, ProfileSelectionSubjectSchema, type ProjectConfig, ProjectConfigSchema, type ProjectFamily, type ProjectFamilyProblem, type ProjectIdOrigin, type ProjectIdSource, type ProjectIdentity, type ProjectIdentityProblem, type ProjectImport, type ProjectNode, ProjectNotInitializedError, type ProjectProfileSelection, ProjectProfileSelectionSchema, type ProjectRelations, type PublicInterface, PublicInterfaceSchema, type PublicInterfaceType, PublicInterfaceTypeSchema, RETIRED_STEREOTYPES, type ReadableProject, type RealizationIndex, type ReexportBindingFact, type ReferenceBinding, type ReferenceEdit, type ReferenceForm, type ReferenceLanding, type ReferenceResolution, type Registry, RegistrySchema, type RelationHealth, type RenameTraceHolders, type RequirementItem, RequirementItemSchema, type ResolutionOutcome, type ResolvedBody, type ResolvedDetail, type ResolvedExport, type ResolvedExportTable, type ResolvedExternal, ResolvedInterfaceSpecSchema, type ResolvedMethod, ResolvedMethodSignatureSchema, ResolvedTypeMethodSchema, ResolvedTypeSpecSchema, type RouteFact, type RuleCode, type RuleContext, type RuleJudgement, type RuleScope, type RulesConfig, RulesConfigSchema, SCAN_EXCLUDE_DIRS, SDD_RULES, SEMANTIC_GUARANTEES, STEP_COMMON_FIELDS, STEP_LABEL_TWINS, STEP_TYPE_FIELDS, SUPPORTED_ALIASES, SURFACE_AUDIENCES, type ScopeFilterOptions, type SddRule, type Severity, type ShapeMemberFact, type ShapeOrigin, type SignatureFacts, type SignatureResolution, type SignatureSourceFact, type SignatureTextRepair, type SourceFileFacts, type SourceFileStatus, type SpecId, type SpecIdKind, SpecIdSchema, type SpecIndex, type SpecScanOptions, type SpecStatus, SpecStatusSchema, type SpecialistRetirement, type SpecialistRetype, type StaleSignatureText, type StateId, type StatusDecor, type StatusOptions, type StatusReport, type StepConfigCode, type StepConfigProblem, type StepConfigVerdict, type StepGraph, type StoredInterfaceSpec, type StoredMethodSignature, StoredMethodSignatureSchema, type StoredTypeMethod, StoredTypeMethodSchema, type StoredTypeSpec, type SubsystemSpec, SubsystemSpecSchema, type SubsystemWriteRule, type SupportedAlias, type SurfaceAudience, SurfaceAudienceSchema, type SurfaceContractEntry, SurfaceContractEntrySchema, type SurfaceOrigin, SurfaceOriginSchema, type SurfaceRefResolution, type SurfaceSnapshot, SurfaceSnapshotSchema, type SurfaceTypeDef, SurfaceTypeDefSchema, type SurfaceTypeExport, SurfaceTypeExportSchema, type SwitchCase, SwitchCaseSchema, type SyncResult, type SystemPublicInterface, SystemPublicInterfaceSchema, type SystemSpec, SystemSpecSchema, type TargetConfig, TargetConfigSchema, type Technology, TechnologySchema, type Template, TemplateNotFoundError, TemplateSchema, type TopologyConfig, TopologyConfigSchema, type Transport, TransportSchema, type TreeExportResult, type TreeImportOptions, type TreeImportResult, type TrustedLink, TrustedLinkSchema, type TypeCanonicalization, type TypeDialect, type TypeEnumProposal, type TypeExpression, type TypeExpressionProblem, TypeExpressionSchema, type TypeField, TypeFieldSchema, type TypeForm, type TypeKind, TypeKindSchema, type TypeMethod, TypeMethodSchema, type TypeParse, type TypePosition, type TypeProblemCode, type TypeRename, type TypeRespelling, type TypeShapeFact, type TypeSpec, TypeSpecSchema, type TypeSpellingFacts, type TypeSpellingRepair, type TypedSpecKind, USE_ENTRY_RE, WAIRON_MANAGED_BANNER, WAIRON_MANAGED_MARKER, WAIRON_VERSION, type WaiPaths, WaironError, type WriteReach, activeTargetTypes, addDomain, admits, advanceMember, aiDir, aiDirAt, aiPathsAt, ambiguityMessage, approvalKeyIn, approvalRecord, approvalVerdict, assertContainedProjectPath, assertProjectInitialized, backendCommand, backfillChainedSubprojectConfigs, backupBeside, bodySitesOf, buildCanvasDataModel, buildProjectGraph, buildRuleContext, builtinProfileIds, builtinProjectKinds, callSitesOf, canonicalTypeRef, canonicalTypeText, captureApprovedSpecs, checkDeclarativePack, clearLoaderIssues, cognitiveScore, complexityLevel, composeAgentBrief, composeRuleSequence, computeGateStateId, computeOwnStateId, computeStateId, computeStateIdAt, conceptNoun, consumedContractInputs, containedPathOf, contentDigest, createAgentRecord, createEmptyRegistry, createEmptyTopologyConfig, createMember, createProjectConfig, currentRootBinding, declareExternal, declareMember, declaredExternals, declaredMembers, declaredPackNames, declaredProfileIds, declares, declaresGlobalPacks, defaultConformanceTier, defaultNarrativeDetail, defaultPackSelections, defaultTargetConfig, deleteSpec, demoteMember, dependencyCycles, deregisterPackRef, deriveExecutionProfile, deriveMethodSignature, deriveTypeSignature, derivedDocPaths, describeProject, detectDomainCandidates, diagnoseProjectPacks, diagramSetIndex, dialectOf, diffAgainstApproval, diffSize, discoverPacks, dryRunSerializeSpecs, effectiveDetail, effectiveProjectId, emptyExtensions, emptyTypeSpellingFacts, ensureDir, ensureProjectInitialized, excerpt as excerptParent, exportDesign, exportSpecTree, exportSurface, exportTargetKey, exportUsage, externalizeSubsystem, extractTypeIdentifiers, factsFor, familyApprovals, familyNode, familyRelations, fieldTypeRefs, fieldTypesOf, findChainingParent, findChainingSubprojectsMissingConfig, findLegacySpecFiles, findProjectRoot, findSystemRoot, findTestsReferencing, fromProjectRoot, generateAgent, generateAll, generateComponentDiagram, generateDiagramSet, generateSequenceDiagram, getExporter, getExternalsStatus, getHostedLookup, getLoaderIssues, getProjectRoot, getProjectRootOverride, getRequestParentReach, getRequestProjectRoot, getSnapshot, getStatusReport, getWriteReach, globalGuideFilePath, globalPacksDir, globalPacksEnabled, globalTemplatesDir, hasContext, hasFunctionBody, headNoun, holdsState, implementationSourceFiles, importBindingOf, importNames, importSpecTree, importSurface, injectGuide, installPackFromDirectory, interfaceCanonicalTypes, interfaceGenericParameters, internalizeMember, isDraftSubsystem, isLogic, isOutsideRoot, isOwnComponentEntry, isPart, isPattern, isProjectInitialized, isProvidedBy, isRetired, isTypeVocabulary, judgesCode, keyIn, landReference, languageOfSourcePath, lineEndingFor, listDirectChainedSubprojects, listExternals, listFiles, listFilesRecursive, listInstalledPacks, listPinnedExternals, listRules, listSnapshots, loadComponentSpec, loadComponentSpecs, loadExtensionPacks, loadExtensions, loadFor as loadExtensionsFor, loadImplementationSpec, loadImplementationSpecs, loadInterfaceSpec, loadInterfaceSpecs, loadProjectConfig, loadProjectExtensions, loadProjectVariants, loadRegistry, loadSpec, loadSpecGraph, loadSubsystemSpec, loadSubsystemSpecs, loadSystemSpec, loadTopologyConfig, loadTypeSpec, loadTypeSpecs, localApprover, localGuideFilePath, localTypesOf, logger, makeScopeFilter, markSelectionsBundled, matchTypeRef, measurePackDoctrine, measurePackImpact, memberDeclarationOf, memberDigest, memberLocationOf, methodGenericParameters, methodSourceFile, methodTypeRefs, moveMember, moveMethods, moveMountToMembers, nameKey, namesAnInteger, narrativeStepForeignFields, normalizeReferences, ownerOf, packDirEntry, packEntryLabel, packEntryRef, manifestOf as packManifest, packStoreDir, parseDeclarativePack, parseDeclaredCall, parseMemberSource, parseTypeExpression, parseTypePosition, parseYaml, passesIntentFloor, pathExists, pathKey, pinExternals, pinInstalledPacksAsSelections, pinnedParent, producerOf, projectConfigExists, graph as projectFamily, projectIdentity, promoteMember, provisionProject, qualifiedTypeId, rangeProblem, readCodeAnnotation, readFileOrNull, readJsonFile, readLockRecord, readLockState, readStampVersion, readYamlFile, recordProfileSelection, registerExporter, registerPackRef, reinjectLocalGuides, relationHealth, removeDomain, removeExternal, removeMember, removePackSelection, removeSnapshot, renameAlias, renameComponent, renameProjectId as renameId, renameMethod, renameType, renderDiagram, repairForeignStepFields, repairSignatures, repairTypeSpellings, repointExternal, requiredPolicies, resolveAgentTopology, resolveBudget, resolveChainingParent, resolveDomains, resolveExpectedOutputPaths, resolveDeclared as resolveExternals, resolveImport, resolveInstalledPack, resolveProjectExports, resolveSignatures, resolveSubprojectForNamespace, resolveSubsystemExports, resolveVariantGuidance, retireSpecialists, returnTypeOf, rewriteReferences, runWithHostedLookup, runWithProjectBinding, runWithProjectRoot, sameContract, saveSpec, saveTopologyConfig, scanAllSpecs, schemaFingerprint, selectsFamily, serializeYaml, setExecutionTier, setProjectId as setId, setLogLevel, setProjectRoot, setProjectType, settledSpecPaths, signatureFacts, signatureTypeRefs, specIndexRetiredBy, specPathsInScope, splitNamespace, stepConfigVerdict, stepFieldsFor, stepGraph, storedMethodSignature, storedTypeMethod, syncContextFiles, technologyName, technologyTokens, toMarkdown, typeBindingOf, typeCanonicalTypes, typeDialectFor, typeGenericParameters, typeIsMany, typeMatchesRef, typeNamedRefs, typeProblemEnumProposal, typeProblemIntProposal, typeSourceFiles, typeSpellingFacts, uninstallPack, updateMember, updateSpec, upsertPackSelection, validateAsComplete, validateComponentCandidate, validateFamily, validateProject, validateProjectConfig, validateRegistry, withLineEndings, withPack, writeFile, writeFileIfChanged, writeJsonFile, writeLockRecord, writeReachDenials, writeReachPermits, writeRootGuideDelegator, writeYamlFile, writtenTypeRefs };
37667
+ export { AI_PATHS, ARCHITECT_AGENT_ID, ARCHITECT_TEMPLATE_ID, type AgentBrief, AgentBriefSchema, type AgentRecord, AgentRecordSchema, type AgentStatus, AgentStatusSchema, type AgentTemplate, AgentTemplateSchema, type AnalysisGrade, type ApiKeyLocation, ApiKeyLocationSchema, type ApprovalDiff, type ApprovalVerdict, type ArchProfile, type AuthoredReference, BACKEND_COMMANDS, BUILTIN_PROFILES, type BoundaryItem, BoundaryItemSchema, type BuildContextOptions, type BuiltinTarget, type BuiltinTargetConfig, BuiltinTargetConfigSchema, BuiltinTargetSchema, BundleNotFoundError, type CallSiteFact, type CarriedDebt, type CarriedDebtKind, CarriedDebtKindSchema, CarriedDebtSchema, type CarriedFinding, type CarriedFindingEntry, CarriedFindingSchema, type CatchClause, CatchClauseSchema, ChainingMigrationRefusedError, ClaudeExporter, type ClaudeExporterOptions, type CodeIndex, type CodeModel, type ComplexityRuleConfig, ComplexityRuleConfigSchema, type ComponentRename, type ComponentSpec, ComponentSpecSchema, type ComponentType, ComponentTypeSchema, type CompositionConfig, CompositionConfigSchema, ConfigValidationError, type ConformanceRuleConfig, ConformanceRuleConfigSchema, type ConformanceTier, ConformanceTierSchema, type CrossProjectReference, CustomExporter, type CustomTarget, type CustomTargetConfig, CustomTargetConfigSchema, CustomTargetSchema, DEFAULT_TARGET_DIRS, DESIGN_APPROVALS, DESIGN_DEPENDENCY_ROLES, DESIGN_FORMAT, DESIGN_FORMAT_VERSION, type DatabaseSpec, DatabaseSpecSchema, type DeclarativePack, type DeclaredCall, type DeclaredExternal, type DeclaredMember, type DependencyClass, DependencyClassSchema, type DependencyEdge, type DependencyEdges, type DesignApproval, DesignApprovalSchema, type DesignComponent, DesignComponentSchema, type DesignDependency, type DesignDependencyRole, DesignDependencyRoleSchema, DesignDependencySchema, type DesignDepth, DesignDepthSchema, type DesignExport, type DesignExportEntry, DesignExportEntrySchema, DesignExportSchema, type DesignField, DesignFieldSchema, type DesignImplementation, DesignImplementationSchema, type DesignInterface, DesignInterfaceSchema, type DesignMethod, type DesignMethodBody, DesignMethodBodySchema, DesignMethodSchema, type DesignParam, DesignParamSchema, type DesignProject, DesignProjectSchema, type DesignSource, DesignSourceSchema, type DesignSubsystem, DesignSubsystemSchema, type DesignType, type DesignTypeRef, DesignTypeRefSchema, DesignTypeSchema, type DetectedDomainCandidate, type DiagramConfig, DiagramConfigSchema, type DiagramLineStyle, DiagramLineStyleSchema, type DiagramView, DiagramViewSchema, type DispatchBinding, DispatchBindingSchema, DoctorOptionsError, type DocumentationRuleConfig, DocumentationRuleConfigSchema, type Domain, DomainSchema, type DomainType, DomainTypeSchema, type Durability, DurabilitySchema, EXTERNAL_ALIAS_RE, type EdgeReach, type Endpoint, EndpointSchema, type EnumValue, EnumValueSchema, type EventBinding, EventBindingSchema, type ExportAliasFact, type ExportContext, type ExportKind, type ExportProblem, type ExportProblemKind, type ExportResult, type ExportTableLevel, type ExportUsage, type ExportUse, type Exporter, type ExtData, ExtDataSchema, type ExtensionPack, type ExternalBinding, type ExternalDeclaration, ExternalDeclarationSchema, type ExternalLink, ExternalLinkSchema, type ExternalLinkType, ExternalLinkTypeSchema, type ExternalListing, type ExternalLockEntry, ExternalLockEntrySchema, type ExternalPin, type ExternalPinOutcome, type ExternalRelation, type ExternalRole, type ExternalSource, type ExternalSourceKind, ExternalSourceSchema, type ExternalStatus, type ExternalUseState, type ExternalUseStatus, type ExternalsLock, ExternalsLockSchema, FULL_COMMIT_RE, type FamilyProblemKind, type FamilySwitches, type FindingDeclaration, FindingDeclarationSchema, type FindingParts, type ForeignFieldRepair, type ForwardedName, type FunctionBodyFact, GITHUB_REPO, GeminiExporter, type GenerateOptions, type GenerateSummary, type GroupSpec, GroupSpecSchema, type Guarantee, GuaranteeSchema, HOLDABLE_PRIMITIVES, type HostedRecordLookup, type HttpMethod, HttpMethodSchema, type ImplementationSpec, ImplementationSpecSchema, type ImportBindingFact, type ImportGraph, type ImportSection, type InstalledPack, type InterfaceSpec, InterfaceSpecSchema, type InternalizeDestination, type InternalizeResult, type Invariant, InvariantSchema, type InvocationKind, InvocationKindSchema, type IssueSeverity, type LegacySpecFile, type LifecycleEntrypoint, LifecycleEntrypointSchema, type LifecyclePhase, LifecyclePhaseSchema, type LintAllow, LintAllowSchema, type LintConfig, LintConfigSchema, type LoadedExtensions, type LoadedPackSkill, type LockRecord, type LockStatus, type LogLevel, type LoopKind, LoopKindSchema, type MemberAdvance, type MemberCreation, type MemberDeclaration, MemberDeclarationSchema, type MemberKind, type MemberPin, type MemberSource, type MemberStorage, type MethodEffect, MethodEffectSchema, type MethodImplementation, MethodImplementationSchema, type MethodLike, type MethodParam, MethodParamSchema, type MethodRename, type MethodSignature, MethodSignatureSchema, type MountForm, type NamedOpenApiSpec, NamedOpenApiSpecSchema, type NamingRuleConfig, NamingRuleConfigSchema, type NarrativeDetail, NarrativeDetailSchema, type NarrativeStep, NarrativeStepSchema, type NarrativeStepType, NarrativeStepTypeSchema, type OAuthFlow, OAuthFlowSchema, type OutputTarget, OutputTargetSchema, type OwnershipIndex, PATTERN_TYPES, PRIMITIVE_TYPES, PROJECT_ID_RE, PROJECT_KINDS, PUBLIC_NAME_RE, type PackDiagnosis, type PackEntry, type PackPath, type PackRef, type PackRequirement, PackRequirementSchema, type PackScope, type PackSelection, PackSelectionSchema, type ParallelBranch, ParallelBranchSchema, type ParameterFact, type ParentExcerpt, ParentExcerptSchema, type ParsedMemberSource, type PartOf, PartOfSchema, type PathsConfig, PathsConfigSchema, type PatternRef, PatternRefSchema, type PinnedExternal, type PinnedParent, type PortalAuth, PortalAuthSchema, type PortalAuthScheme, PortalAuthSchemeSchema, type PortalMount, PortalMountSchema, type PortalType, PortalTypeSchema, PreviousIdsSchema, PreviousNamesSchema, ProfileSelectionSubjectSchema, type ProjectBinding, type ProjectBindingVia, type ProjectConfig, ProjectConfigSchema, type ProjectFamily, type ProjectFamilyProblem, type ProjectIdOrigin, type ProjectIdSource, type ProjectIdentity, type ProjectIdentityProblem, type ProjectImport, type ProjectNode, ProjectNotInitializedError, type ProjectProfileSelection, ProjectProfileSelectionSchema, type ProjectRelations, type PromoteResult, type PublicInterface, PublicInterfaceSchema, type PublicInterfaceType, PublicInterfaceTypeSchema, RETIRED_STEREOTYPES, type ReadableProject, type RealizationIndex, type ReexportBindingFact, type ReferenceBinding, type ReferenceEdit, type ReferenceForm, type ReferenceLanding, type ReferenceResolution, type Registry, RegistrySchema, type RelationHealth, type RenameTraceHolders, type RequirementItem, RequirementItemSchema, type ResolutionOutcome, type ResolvedBody, type ResolvedDetail, type ResolvedExport, type ResolvedExportTable, type ResolvedExternal, ResolvedInterfaceSpecSchema, type ResolvedMethod, ResolvedMethodSignatureSchema, ResolvedTypeMethodSchema, ResolvedTypeSpecSchema, type RouteFact, type RuleCode, type RuleContext, type RuleJudgement, type RuleScope, type RulesConfig, RulesConfigSchema, SCAN_EXCLUDE_DIRS, SDD_RULES, SEMANTIC_GUARANTEES, STEP_COMMON_FIELDS, STEP_LABEL_TWINS, STEP_TYPE_FIELDS, SUPPORTED_ALIASES, SURFACE_AUDIENCES, type ScopeFilterOptions, type SddRule, type Severity, type ShapeMemberFact, type ShapeOrigin, type SignatureFacts, type SignatureResolution, type SignatureSourceFact, type SignatureTextRepair, type SourceFileFacts, type SourceFileStatus, type SpecId, type SpecIdKind, SpecIdSchema, type SpecIndex, type SpecScanOptions, type SpecStatus, SpecStatusSchema, type SpecialistRetirement, type SpecialistRetype, type StaleSignatureText, type StateId, type StatusDecor, type StatusOptions, type StatusReport, type StepConfigCode, type StepConfigProblem, type StepConfigVerdict, type StepGraph, type StoredInterfaceSpec, type StoredMethodSignature, StoredMethodSignatureSchema, type StoredTypeMethod, StoredTypeMethodSchema, type StoredTypeSpec, type SubsystemSpec, SubsystemSpecSchema, type SubsystemWriteRule, type SupportedAlias, type SurfaceAudience, SurfaceAudienceSchema, type SurfaceContractEntry, SurfaceContractEntrySchema, type SurfaceOrigin, SurfaceOriginSchema, type SurfaceRefResolution, type SurfaceSnapshot, SurfaceSnapshotSchema, type SurfaceTypeDef, SurfaceTypeDefSchema, type SurfaceTypeExport, SurfaceTypeExportSchema, type SwitchCase, SwitchCaseSchema, type SyncResult, type SystemPublicInterface, SystemPublicInterfaceSchema, type SystemSpec, SystemSpecSchema, type TargetConfig, TargetConfigSchema, type Technology, TechnologySchema, type Template, TemplateNotFoundError, TemplateSchema, type TopologyConfig, TopologyConfigSchema, type Transport, TransportSchema, type TreeExportResult, type TreeImportOptions, type TreeImportResult, type TrustedLink, TrustedLinkSchema, type TypeCanonicalization, type TypeDialect, type TypeEnumProposal, type TypeExpression, type TypeExpressionProblem, TypeExpressionSchema, type TypeField, TypeFieldSchema, type TypeForm, type TypeKind, TypeKindSchema, type TypeMethod, TypeMethodSchema, type TypeParse, type TypePosition, type TypeProblemCode, type TypeRename, type TypeRespelling, type TypeShapeFact, type TypeSpec, TypeSpecSchema, type TypeSpellingFacts, type TypeSpellingRepair, type TypedSpecKind, USE_ENTRY_RE, WAIRON_MANAGED_BANNER, WAIRON_MANAGED_MARKER, WAIRON_VERSION, type WaiPaths, WaironError, type WriteReach, activeTargetTypes, addDomain, admits, advanceMember, aiDir, aiDirAt, aiPathsAt, aliasTargetOf, ambiguityMessage, approvalKeyIn, approvalRecord, approvalVerdict, assertContainedProjectPath, assertProjectInitialized, backendCommand, backfillChainedSubprojectConfigs, backupBeside, bodySitesOf, buildCanvasDataModel, buildProjectGraph, buildRuleContext, builtinProfileIds, builtinProjectKinds, callSitesOf, canonicalTypeRef, canonicalTypeText, captureApprovedSpecs, checkDeclarativePack, clearLoaderIssues, cognitiveScore, complexityLevel, composeAgentBrief, composeRuleSequence, computeGateStateId, computeOwnStateId, computeStateId, computeStateIdAt, conceptNoun, consumedContractInputs, containedPathOf, contentDigest, createAgentRecord, createEmptyRegistry, createEmptyTopologyConfig, createMember, createProjectConfig, currentRootBinding, declareExternal, declareMember, declaredExternals, declaredMembers, declaredPackNames, declaredProfileIds, declares, declaresGlobalPacks, defaultConformanceTier, defaultNarrativeDetail, defaultPackSelections, defaultTargetConfig, deleteSpec, demoteMember, dependencyCycles, deregisterPackRef, deriveExecutionProfile, deriveMethodSignature, deriveTypeSignature, derivedDocPaths, describeProject, detectDomainCandidates, diagnoseProjectPacks, diagramSetIndex, dialectOf, diffAgainstApproval, diffSize, discoverPacks, dryRunSerializeSpecs, effectiveDetail, effectiveProjectId, emptyExtensions, emptyTypeSpellingFacts, ensureDir, ensureProjectInitialized, excerpt as excerptParent, exportDesign, exportSpecTree, exportSurface, exportTargetKey, exportUsage, externalizeSubsystem, extractTypeIdentifiers, factsFor, familyApprovals, familyNode, familyRelations, fieldTypeRefs, fieldTypesOf, findChainingParent, findChainingSubprojectsMissingConfig, findLegacySpecFiles, findProjectRoot, findSystemRoot, findTestsReferencing, fromProjectRoot, generateAgent, generateAll, generateComponentDiagram, generateDiagramSet, generateSequenceDiagram, getExporter, getExternalsStatus, getHostedLookup, getLoaderIssues, getProjectRoot, getProjectRootOverride, getRequestParentReach, getRequestProjectRoot, getSnapshot, getStatusReport, getWriteReach, globalGuideFilePath, globalPacksDir, globalPacksEnabled, globalTemplatesDir, hasContext, hasFunctionBody, headNoun, holdsState, implementationSourceFiles, importBindingOf, importNames, importSpecTree, importSurface, injectGuide, installPackFromDirectory, interfaceCanonicalTypes, interfaceGenericParameters, internalizeMember, isDraftSubsystem, isLogic, isOutsideRoot, isOwnComponentEntry, isPart, isPattern, isProjectInitialized, isProvidedBy, isRetired, isTypeVocabulary, judgesCode, keyIn, landReference, languageOfSourcePath, lineEndingFor, listDirectChainedSubprojects, listExternals, listFiles, listFilesRecursive, listInstalledPacks, listPinnedExternals, listRules, listSnapshots, loadComponentSpec, loadComponentSpecs, loadExtensionPacks, loadExtensions, loadFor as loadExtensionsFor, loadImplementationSpec, loadImplementationSpecs, loadInterfaceSpec, loadInterfaceSpecs, loadProjectConfig, loadProjectExtensions, loadProjectVariants, loadRegistry, loadSpec, loadSpecGraph, loadSubsystemSpec, loadSubsystemSpecs, loadSystemSpec, loadTopologyConfig, loadTypeSpec, loadTypeSpecs, localApprover, localGuideFilePath, localTypesOf, logger, makeScopeFilter, markSelectionsBundled, matchTypeRef, measurePackDoctrine, measurePackImpact, memberDeclarationOf, memberDigest, memberLocationOf, memberTypesOf, methodGenericParameters, methodSourceFile, methodTypeRefs, moveMember, moveMethods, moveMountToMembers, nameKey, namesAnInteger, narrativeStepForeignFields, normalizeReferences, ownerOf, packDirEntry, packEntryLabel, packEntryRef, manifestOf as packManifest, packStoreDir, parseDeclarativePack, parseDeclaredCall, parseMemberSource, parseTypeExpression, parseTypePosition, parseYaml, passesIntentFloor, pathExists, pathKey, pinExternals, pinInstalledPacksAsSelections, pinnedParent, producerOf, projectConfigExists, graph as projectFamily, projectIdentity, promoteMember, provisionProject, qualifiedTypeId, rangeProblem, readCodeAnnotation, readFileOrNull, readJsonFile, readLockRecord, readLockState, readStampVersion, readYamlFile, recordProfileSelection, registerExporter, registerPackRef, reinjectLocalGuides, relationHealth, removeDomain, removeExternal, removeMember, removePackSelection, removeSnapshot, renameAlias, renameComponent, renameProjectId as renameId, renameMethod, renameType, renderDiagram, repairForeignStepFields, repairSignatures, repairTypeSpellings, repointExternal, requiredPolicies, resolveAgentTopology, resolveBudget, resolveChainingParent, resolveDomains, resolveExpectedOutputPaths, resolveDeclared as resolveExternals, resolveImport, resolveInstalledPack, resolveProjectBinding, resolveProjectExports, resolveSignatures, resolveSubprojectForNamespace, resolveSubsystemExports, resolveVariantGuidance, retireSpecialists, returnTypeOf, rewriteReferences, runWithHostedLookup, runWithProjectBinding, runWithProjectRoot, sameContract, saveSpec, saveTopologyConfig, scanAllSpecs, schemaFingerprint, selectsFamily, serializeYaml, setExecutionTier, setProjectId as setId, setLogLevel, setProjectRoot, setProjectType, settledSpecPaths, signatureFacts, signatureTypeRefs, specIndexRetiredBy, specPathsInScope, splitNamespace, stepConfigVerdict, stepFieldsFor, stepGraph, storedMethodSignature, storedTypeMethod, syncContextFiles, technologyName, technologyTokens, toMarkdown, typeBindingOf, typeCanonicalTypes, typeDialectFor, typeGenericParameters, typeIsMany, typeMatchesRef, typeNamedRefs, typeProblemEnumProposal, typeProblemIntProposal, typeSourceFiles, typeSpellingFacts, uninstallPack, updateMember, updateSpec, upsertPackSelection, validateAsComplete, validateComponentCandidate, validateFamily, validateProject, validateProjectConfig, validateRegistry, withLineEndings, withPack, writeFile, writeFileIfChanged, writeJsonFile, writeLockRecord, writeReachDenials, writeReachPermits, writeRootGuideDelegator, writeYamlFile, writtenTypeRefs };