@decantr/core 2.1.0 → 3.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -25,9 +25,12 @@ npm install @decantr/core
25
25
  - execution-pack schema URLs
26
26
  - markdown rendering for compiled packs
27
27
  - IR and pipeline helpers used by higher-level Decantr surfaces
28
+ - draft Decantr 3 typed graph types, graph constants, Essence/IR-to-graph snapshot derivation, temporal snapshot/diff shapes, source import/reference edges, contract capsule derivation with a bounded source-artifact path index, task-aware route-context ranking, node impact context extraction, and an in-memory `GraphStore` adapter for early graph-foundation work
28
29
 
29
30
  In the current workflow architecture, `@decantr/core` owns the canonical adapter labels used by compiled packs, while runnable greenfield bootstrap adapters are resolved in the CLI on top of those labels.
30
31
 
32
+ The graph exports are draft Decantr 3 foundation APIs. They establish the storage boundary, typed schema shape, temporal snapshot/diff shape, payload-filterable node queries, task-aware route-context ranking, node impact traversal, and provider-neutral contract capsule shape for CLI, MCP, verifier, and CI integration. The capsule keeps the contract cache key stable while listing bounded SourceArtifact paths agents can use for file-impact follow-up queries. The core package remains pure library code: filesystem graph persistence belongs in higher-level packages such as the CLI.
33
+
31
34
  ## FAQ
32
35
 
33
36
  Most teams should start with the CLI rather than this low-level package:
@@ -73,6 +76,18 @@ This package publishes execution-pack schemas under:
73
76
  - `@decantr/core/schema/execution-pack-bundle.v1.json`
74
77
  - `@decantr/core/schema/selected-execution-pack.v1.json`
75
78
 
79
+ It also publishes the draft Decantr 3 typed graph artifact schemas:
80
+
81
+ - `@decantr/core/schema/graph.common.v1.json`
82
+ - `@decantr/core/schema/graph-snapshot.v1.json`
83
+ - `@decantr/core/schema/graph-manifest.v1.json`
84
+ - `@decantr/core/schema/graph-diff.v1.json`
85
+ - `@decantr/core/schema/contract-capsule.v1.json`
86
+
87
+ ## Security And Permissions
88
+
89
+ `@decantr/core` is a local execution-pack compiler and type/schema package. It does not read or write project files, call the network, spawn processes, emit telemetry, or upload source by itself. The draft graph exports include pure builders and an in-memory adapter only; filesystem graph persistence belongs in higher-level CLI/verifier wiring. Schema URLs in emitted packs are identifiers, not network calls. See [security permissions](https://decantr.ai/reference/security-permissions.md).
90
+
76
91
  ## License
77
92
 
78
93
  MIT
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { StructurePage, EssenceFile, EssenceV4 } from '@decantr/essence-spec';
1
+ import { EssenceV4, StructurePage, EssenceFile } from '@decantr/essence-spec';
2
2
  import { Pattern, ResolvedPreset, Theme, ContentResolver } from '@decantr/registry';
3
3
 
4
4
  type IRNodeType = 'app' | 'shell' | 'page' | 'pattern' | 'grid' | 'nav' | 'store';
@@ -150,6 +150,369 @@ interface IRStoreNode extends IRNode {
150
150
  }[];
151
151
  }
152
152
 
153
+ declare const GRAPH_SCHEMA_VERSION = "3.0.0-draft";
154
+ declare const GRAPH_COMMON_SCHEMA_URL = "https://decantr.ai/schemas/graph.common.v1.json";
155
+ declare const GRAPH_SNAPSHOT_SCHEMA_URL = "https://decantr.ai/schemas/graph-snapshot.v1.json";
156
+ declare const GRAPH_MANIFEST_SCHEMA_URL = "https://decantr.ai/schemas/graph-manifest.v1.json";
157
+ declare const GRAPH_DIFF_SCHEMA_URL = "https://decantr.ai/schemas/graph-diff.v1.json";
158
+ declare const CONTRACT_CAPSULE_SCHEMA_URL = "https://decantr.ai/schemas/contract-capsule.v1.json";
159
+ declare const DEFAULT_CONTRACT_CAPSULE_SOURCE_ARTIFACT_LIMIT = 200;
160
+ declare const GRAPH_NODE_TYPES: readonly ["Project", "Section", "Page", "Route", "Shell", "Region", "Pattern", "Component", "Token", "Theme", "Decorator", "Feature", "LocalRule", "StyleBridge", "SourceArtifact", "Finding", "Evidence", "Repair", "Test", "AgentRun"];
161
+ type GraphNodeType = (typeof GRAPH_NODE_TYPES)[number];
162
+ declare const GRAPH_RELATIONS: readonly ["PROJECT_CONTAINS_SECTION", "PROJECT_ENABLES_FEATURE", "PROJECT_USES_THEME", "SECTION_CONTAINS_PAGE", "PAGE_ROUTED_AT_ROUTE", "PAGE_USES_SHELL", "SHELL_HAS_REGION", "PAGE_COMPOSES_PATTERN", "PATTERN_NEEDS_COMPONENT", "COMPONENT_STYLED_WITH_TOKEN", "THEME_DEFINES_TOKEN", "THEME_DEFINES_DECORATOR", "COMPONENT_DECORATED_WITH_DECORATOR", "LOCAL_RULE_APPLIES_TO", "STYLE_BRIDGE_MAPS_TO", "NODE_DERIVED_FROM_SOURCE", "SOURCE_IMPORTS_SOURCE", "FINDING_VIOLATES_RULE", "FINDING_ANCHORED_AT", "EVIDENCE_SUPPORTS_FINDING", "EVIDENCE_CAPTURED_FOR", "REPAIR_FIXES_FINDING", "TEST_COVERS_NODE", "AGENT_RUN_CHANGED_NODE"];
163
+ type GraphRelation = (typeof GRAPH_RELATIONS)[number];
164
+ type GraphDiffOpType = 'node.added' | 'node.removed' | 'node.changed' | 'edge.added' | 'edge.removed' | 'edge.changed' | 'finding.added' | 'finding.resolved' | 'evidence.added';
165
+ interface GraphNode<TPayload = unknown> {
166
+ id: string;
167
+ type: GraphNodeType;
168
+ payload: TPayload;
169
+ created_at?: string;
170
+ updated_at?: string;
171
+ }
172
+ interface GraphEdge<TPayload = unknown> {
173
+ src: string;
174
+ dst: string;
175
+ relation: GraphRelation;
176
+ payload?: TPayload;
177
+ idx?: number;
178
+ }
179
+ interface SourceArtifact {
180
+ id: string;
181
+ kind: string;
182
+ path?: string;
183
+ commit?: string;
184
+ hash?: string;
185
+ payload?: Record<string, unknown>;
186
+ }
187
+ interface GraphSnapshot {
188
+ $schema?: string;
189
+ id: string;
190
+ schema_version: string;
191
+ project_id: string;
192
+ created_at: string;
193
+ parent_id?: string;
194
+ source_hash: string;
195
+ git?: {
196
+ commit?: string;
197
+ branch?: string;
198
+ dirty?: boolean;
199
+ };
200
+ nodes: GraphNode[];
201
+ edges: GraphEdge[];
202
+ summary: {
203
+ nodes: number;
204
+ edges: number;
205
+ findings: number;
206
+ evidence: number;
207
+ };
208
+ }
209
+ interface GraphManifest {
210
+ $schema?: string;
211
+ schema_version: string;
212
+ snapshot_id: string;
213
+ project_id: string;
214
+ generated_at: string;
215
+ sources: SourceArtifact[];
216
+ outputs: {
217
+ sqlite?: string;
218
+ snapshot: string;
219
+ history?: string;
220
+ diff?: string;
221
+ };
222
+ warnings: Array<{
223
+ code: string;
224
+ message: string;
225
+ }>;
226
+ }
227
+ interface GraphDiffOp {
228
+ op: GraphDiffOpType;
229
+ id?: string;
230
+ type?: GraphNodeType;
231
+ src?: string;
232
+ dst?: string;
233
+ relation?: GraphRelation;
234
+ before?: unknown;
235
+ after?: unknown;
236
+ }
237
+ interface GraphDiff {
238
+ $schema?: string;
239
+ id: string;
240
+ from?: string;
241
+ to: string;
242
+ ops: GraphDiffOp[];
243
+ }
244
+ interface GraphDiffSummary {
245
+ total: number;
246
+ by_type: Record<GraphDiffOpType, number>;
247
+ nodes: {
248
+ added: number;
249
+ removed: number;
250
+ changed: number;
251
+ };
252
+ edges: {
253
+ added: number;
254
+ removed: number;
255
+ changed: number;
256
+ };
257
+ findings: {
258
+ added: number;
259
+ resolved: number;
260
+ };
261
+ evidence: {
262
+ added: number;
263
+ };
264
+ }
265
+ interface GraphFinding {
266
+ id: string;
267
+ code: string;
268
+ severity: 'blocker' | 'error' | 'warn' | 'info';
269
+ category: string;
270
+ anchored_at?: string;
271
+ violates?: string[];
272
+ derived_from?: string[];
273
+ message: string;
274
+ payload?: Record<string, unknown>;
275
+ evidence?: string[];
276
+ baseline?: {
277
+ snapshot_id?: string;
278
+ commit?: string;
279
+ };
280
+ repair?: {
281
+ id: string;
282
+ payload?: Record<string, unknown>;
283
+ };
284
+ }
285
+ interface ContractCapsuleRoute {
286
+ id: string;
287
+ path: string;
288
+ page_id?: string;
289
+ shell_id?: string;
290
+ }
291
+ interface ContractCapsuleVocabularyItem {
292
+ id: string;
293
+ label?: string;
294
+ payload?: unknown;
295
+ }
296
+ interface ContractCapsuleSourceArtifact {
297
+ id: string;
298
+ path: string;
299
+ kind?: string;
300
+ label?: string;
301
+ payload?: unknown;
302
+ }
303
+ interface ContractCapsuleFinding {
304
+ id: string;
305
+ code?: string;
306
+ severity?: string;
307
+ anchored_at?: string;
308
+ message?: string;
309
+ }
310
+ interface ContractCapsule {
311
+ $schema?: string;
312
+ schema_version: string;
313
+ snapshot_id: string;
314
+ project_id: string;
315
+ created_at: string;
316
+ source_hash: string;
317
+ contract_hash?: string;
318
+ cache_key: string;
319
+ contract_cache_key?: string;
320
+ summary: {
321
+ routes: number;
322
+ components: number;
323
+ tokens: number;
324
+ local_rules: number;
325
+ style_bridge: number;
326
+ source_artifacts: number;
327
+ open_findings: number;
328
+ };
329
+ source_artifact_limit: number;
330
+ source_artifacts_truncated: boolean;
331
+ routes: ContractCapsuleRoute[];
332
+ components: ContractCapsuleVocabularyItem[];
333
+ tokens: ContractCapsuleVocabularyItem[];
334
+ local_rules: ContractCapsuleVocabularyItem[];
335
+ style_bridge: ContractCapsuleVocabularyItem[];
336
+ source_artifacts: ContractCapsuleSourceArtifact[];
337
+ open_findings: ContractCapsuleFinding[];
338
+ }
339
+ interface BuildContractCapsuleOptions {
340
+ createdAt?: string;
341
+ cacheKey?: string;
342
+ sourceArtifactLimit?: number;
343
+ }
344
+ interface GraphNodeQuery {
345
+ ids?: string[];
346
+ type?: GraphNodeType;
347
+ types?: GraphNodeType[];
348
+ payloadKey?: string;
349
+ payloadValue?: string;
350
+ payloadContains?: string;
351
+ }
352
+ interface GraphEdgeQuery {
353
+ src?: string;
354
+ dst?: string;
355
+ relation?: GraphRelation;
356
+ relations?: GraphRelation[];
357
+ }
358
+ type GraphTraverseDirection = 'out' | 'in' | 'both';
359
+ interface GraphTraverseQuery {
360
+ from: string | string[];
361
+ relations?: GraphRelation[];
362
+ direction?: GraphTraverseDirection;
363
+ depth?: number;
364
+ }
365
+ interface GraphSubgraph {
366
+ nodes: GraphNode[];
367
+ edges: GraphEdge[];
368
+ }
369
+ interface GraphRouteContext {
370
+ snapshotId: string;
371
+ sourceHash: string;
372
+ routeNode: GraphNode;
373
+ ranking: {
374
+ method: 'weighted_traversal' | 'weighted_traversal_with_task_boost';
375
+ seed: string;
376
+ task_keywords: string[];
377
+ };
378
+ summary: {
379
+ nodes: number;
380
+ edges: number;
381
+ pages: number;
382
+ shells: number;
383
+ patterns: number;
384
+ components: number;
385
+ tokens: number;
386
+ localRules: number;
387
+ styleBridge: number;
388
+ openFindings: number;
389
+ evidence: number;
390
+ sourceArtifacts: number;
391
+ };
392
+ ids: {
393
+ pages: string[];
394
+ shells: string[];
395
+ patterns: string[];
396
+ components: string[];
397
+ tokens: string[];
398
+ localRules: string[];
399
+ styleBridge: string[];
400
+ openFindings: string[];
401
+ evidence: string[];
402
+ sourceArtifacts: string[];
403
+ };
404
+ ranked: Array<{
405
+ id: string;
406
+ type: GraphNodeType;
407
+ score: number;
408
+ reason: string;
409
+ matched_terms?: string[];
410
+ }>;
411
+ nodes: GraphNode[];
412
+ edges: GraphEdge[];
413
+ }
414
+ interface BuildGraphRouteContextOptions {
415
+ task?: string;
416
+ }
417
+ interface GraphImpactContext {
418
+ snapshotId: string;
419
+ sourceHash: string;
420
+ seedNodes: GraphNode[];
421
+ missingNodeIds: string[];
422
+ ranking: {
423
+ method: 'impact_traversal' | 'impact_traversal_with_task_boost';
424
+ seed: string[];
425
+ task_keywords: string[];
426
+ };
427
+ summary: {
428
+ nodes: number;
429
+ edges: number;
430
+ totalNodes: number;
431
+ totalEdges: number;
432
+ truncated: boolean;
433
+ routes: number;
434
+ pages: number;
435
+ shells: number;
436
+ patterns: number;
437
+ components: number;
438
+ tokens: number;
439
+ localRules: number;
440
+ styleBridge: number;
441
+ openFindings: number;
442
+ evidence: number;
443
+ repairs: number;
444
+ sourceArtifacts: number;
445
+ };
446
+ ids: {
447
+ routes: string[];
448
+ pages: string[];
449
+ shells: string[];
450
+ patterns: string[];
451
+ components: string[];
452
+ tokens: string[];
453
+ localRules: string[];
454
+ styleBridge: string[];
455
+ openFindings: string[];
456
+ evidence: string[];
457
+ repairs: string[];
458
+ sourceArtifacts: string[];
459
+ };
460
+ ranked: Array<{
461
+ id: string;
462
+ type: GraphNodeType;
463
+ score: number;
464
+ reason: string;
465
+ matched_terms?: string[];
466
+ }>;
467
+ nodes: GraphNode[];
468
+ edges: GraphEdge[];
469
+ }
470
+ interface BuildGraphImpactContextOptions {
471
+ task?: string;
472
+ limit?: number;
473
+ }
474
+ interface GraphStore {
475
+ open(projectRoot: string): Promise<void>;
476
+ close(): Promise<void>;
477
+ upsertNode(node: GraphNode): Promise<void>;
478
+ upsertEdge(edge: GraphEdge): Promise<void>;
479
+ getNode(id: string): Promise<GraphNode | null>;
480
+ queryNodes(query: GraphNodeQuery): Promise<GraphNode[]>;
481
+ queryEdges(query: GraphEdgeQuery): Promise<GraphEdge[]>;
482
+ traverse(query: GraphTraverseQuery): Promise<GraphSubgraph>;
483
+ writeSnapshot(snapshot: GraphSnapshot): Promise<void>;
484
+ readSnapshot(id?: string): Promise<GraphSnapshot | null>;
485
+ }
486
+ interface MemoryGraphStoreSeed {
487
+ nodes?: GraphNode[];
488
+ edges?: GraphEdge[];
489
+ snapshots?: GraphSnapshot[];
490
+ }
491
+ interface BuildGraphSnapshotFromIROptions {
492
+ projectId?: string;
493
+ snapshotId?: string;
494
+ createdAt?: string;
495
+ parentId?: string;
496
+ sourceHash?: string;
497
+ git?: GraphSnapshot['git'];
498
+ sourceArtifact?: SourceArtifact;
499
+ }
500
+ type BuildGraphSnapshotFromEssenceOptions = BuildGraphSnapshotFromIROptions;
501
+ declare function sortGraphNodes(nodes: GraphNode[]): GraphNode[];
502
+ declare function sortGraphEdges(edges: GraphEdge[]): GraphEdge[];
503
+ declare function normalizeGraphSnapshot(snapshot: GraphSnapshot): GraphSnapshot;
504
+ declare function diffGraphSnapshots(from: GraphSnapshot | null, to: GraphSnapshot): GraphDiff;
505
+ declare function summarizeGraphDiff(diff: GraphDiff | null | undefined): GraphDiffSummary;
506
+ declare function graphPayloadRecord(payload: unknown): Record<string, unknown>;
507
+ declare function graphPayloadString(payload: unknown, key: string): string | undefined;
508
+ declare function graphContractHash(snapshot: GraphSnapshot): string;
509
+ declare function buildContractCapsuleFromSnapshot(snapshot: GraphSnapshot, options?: BuildContractCapsuleOptions): ContractCapsule;
510
+ declare function buildGraphRouteContext(snapshot: GraphSnapshot | null | undefined, route: string, options?: BuildGraphRouteContextOptions): GraphRouteContext | null;
511
+ declare function buildGraphImpactContext(snapshot: GraphSnapshot | null | undefined, seed: string | string[], options?: BuildGraphImpactContextOptions): GraphImpactContext | null;
512
+ declare function buildGraphSnapshotFromEssence(essence: EssenceV4, options?: BuildGraphSnapshotFromEssenceOptions): GraphSnapshot;
513
+ declare function buildGraphSnapshotFromIR(ir: IRAppNode, options?: BuildGraphSnapshotFromIROptions): GraphSnapshot;
514
+ declare function createMemoryGraphStore(seed?: MemoryGraphStoreSeed): GraphStore;
515
+
153
516
  interface ResolvedPatternEntry {
154
517
  pattern: Pattern;
155
518
  preset: ResolvedPreset;
@@ -657,4 +1020,4 @@ declare function resolveEssence(essence: EssenceFile, resolver: ContentResolver)
657
1020
  /** Convert a kebab-case or snake_case string to PascalCase */
658
1021
  declare function pascalCase(str: string): string;
659
1022
 
660
- export { type CompileExecutionPackBundleOptions, EXECUTION_PACK_BUNDLE_SCHEMA_URL, EXECUTION_PACK_SCHEMA_URLS, type ExecutionPackAntiPattern, type ExecutionPackBase, type ExecutionPackBundle, type ExecutionPackExample, type ExecutionPackManifest, type ExecutionPackScope, type ExecutionPackSelector, type ExecutionPackSuccessCheck, type ExecutionPackTarget, type ExecutionPackTokenBudget, type ExecutionPackType, type IRAppNode, type IRBreakpointEntry, type IRCardWrapping, type IRGridNode, type IRHookType, type IRLayer, type IRNavItem, type IRNode, type IRNodeType, type IRPageNode, type IRPatternMeta, type IRPatternNode, type IRRoute, type IRShellConfig, type IRShellNode, type IRSpatial, type IRStoreNode, type IRTheme, type IRThemeDecoration, type IRVisualEffect, type IRWiring, type IRWiringSignal, type MutationExecutionPack, type MutationPackBuilderOptions, type MutationPackData, type MutationPackKind, PACK_MANIFEST_SCHEMA_URL, type PackManifestEntry, type PackManifestMutationEntry, type PackManifestPageEntry, type PackManifestSectionEntry, type PageExecutionPack, type PagePackBuilderOptions, type PagePackData, type PagePackInput, type PagePackPattern, type PipelineOptions, type PipelineResult, type RealizationAdapter, type RealizationInteractionPlaceholder, type RealizationMockDataSeed, type RealizationPlan, type RealizationRoute, type ResolvedEssence, type ResolvedPage, type ReviewExecutionPack, type ReviewPackBuilderOptions, type ReviewPackData, type ReviewPackKind, SELECTED_EXECUTION_PACK_SCHEMA_URL, type ScaffoldExecutionPack, type ScaffoldPackBuilderOptions, type ScaffoldPackData, type ScaffoldPackRoute, type SectionExecutionPack, type SectionPackBuilderOptions, type SectionPackData, type SectionPackInput, type SectionPackRoute, type SelectedExecutionPack, type SelectedExecutionPackResponse, buildMutationPack, buildPageIR, buildPagePack, buildReviewPack, buildScaffoldPack, buildSectionPack, compileExecutionPackBundle, compileRealizationPlan, compileSelectedExecutionPack, countPatterns, findNodes, listPackPages, listPackSections, pascalCase, renderExecutionPackMarkdown, resolveEssence, resolvePackAdapter, resolveVisualEffects, runPipeline, selectExecutionPackFromBundle, validateIR, walkIR };
1023
+ export { type BuildContractCapsuleOptions, type BuildGraphImpactContextOptions, type BuildGraphRouteContextOptions, type BuildGraphSnapshotFromEssenceOptions, type BuildGraphSnapshotFromIROptions, CONTRACT_CAPSULE_SCHEMA_URL, type CompileExecutionPackBundleOptions, type ContractCapsule, type ContractCapsuleFinding, type ContractCapsuleRoute, type ContractCapsuleSourceArtifact, type ContractCapsuleVocabularyItem, DEFAULT_CONTRACT_CAPSULE_SOURCE_ARTIFACT_LIMIT, EXECUTION_PACK_BUNDLE_SCHEMA_URL, EXECUTION_PACK_SCHEMA_URLS, type ExecutionPackAntiPattern, type ExecutionPackBase, type ExecutionPackBundle, type ExecutionPackExample, type ExecutionPackManifest, type ExecutionPackScope, type ExecutionPackSelector, type ExecutionPackSuccessCheck, type ExecutionPackTarget, type ExecutionPackTokenBudget, type ExecutionPackType, GRAPH_COMMON_SCHEMA_URL, GRAPH_DIFF_SCHEMA_URL, GRAPH_MANIFEST_SCHEMA_URL, GRAPH_NODE_TYPES, GRAPH_RELATIONS, GRAPH_SCHEMA_VERSION, GRAPH_SNAPSHOT_SCHEMA_URL, type GraphDiff, type GraphDiffOp, type GraphDiffOpType, type GraphDiffSummary, type GraphEdge, type GraphEdgeQuery, type GraphFinding, type GraphImpactContext, type GraphManifest, type GraphNode, type GraphNodeQuery, type GraphNodeType, type GraphRelation, type GraphRouteContext, type GraphSnapshot, type GraphStore, type GraphSubgraph, type GraphTraverseDirection, type GraphTraverseQuery, type IRAppNode, type IRBreakpointEntry, type IRCardWrapping, type IRGridNode, type IRHookType, type IRLayer, type IRNavItem, type IRNode, type IRNodeType, type IRPageNode, type IRPatternMeta, type IRPatternNode, type IRRoute, type IRShellConfig, type IRShellNode, type IRSpatial, type IRStoreNode, type IRTheme, type IRThemeDecoration, type IRVisualEffect, type IRWiring, type IRWiringSignal, type MemoryGraphStoreSeed, type MutationExecutionPack, type MutationPackBuilderOptions, type MutationPackData, type MutationPackKind, PACK_MANIFEST_SCHEMA_URL, type PackManifestEntry, type PackManifestMutationEntry, type PackManifestPageEntry, type PackManifestSectionEntry, type PageExecutionPack, type PagePackBuilderOptions, type PagePackData, type PagePackInput, type PagePackPattern, type PipelineOptions, type PipelineResult, type RealizationAdapter, type RealizationInteractionPlaceholder, type RealizationMockDataSeed, type RealizationPlan, type RealizationRoute, type ResolvedEssence, type ResolvedPage, type ReviewExecutionPack, type ReviewPackBuilderOptions, type ReviewPackData, type ReviewPackKind, SELECTED_EXECUTION_PACK_SCHEMA_URL, type ScaffoldExecutionPack, type ScaffoldPackBuilderOptions, type ScaffoldPackData, type ScaffoldPackRoute, type SectionExecutionPack, type SectionPackBuilderOptions, type SectionPackData, type SectionPackInput, type SectionPackRoute, type SelectedExecutionPack, type SelectedExecutionPackResponse, type SourceArtifact, buildContractCapsuleFromSnapshot, buildGraphImpactContext, buildGraphRouteContext, buildGraphSnapshotFromEssence, buildGraphSnapshotFromIR, buildMutationPack, buildPageIR, buildPagePack, buildReviewPack, buildScaffoldPack, buildSectionPack, compileExecutionPackBundle, compileRealizationPlan, compileSelectedExecutionPack, countPatterns, createMemoryGraphStore, diffGraphSnapshots, findNodes, graphContractHash, graphPayloadRecord, graphPayloadString, listPackPages, listPackSections, normalizeGraphSnapshot, pascalCase, renderExecutionPackMarkdown, resolveEssence, resolvePackAdapter, resolveVisualEffects, runPipeline, selectExecutionPackFromBundle, sortGraphEdges, sortGraphNodes, summarizeGraphDiff, validateIR, walkIR };