Unified · Split
| @@ -228,6 +228,20 @@ · 227 unmodified lines | ||
| 228 | 228 | "vitest": "catalog:", |
| 229 | 229 | }, |
| 230 | 230 | }, |
| 231 | + "packages/kernel/ir": { | |
| 232 | + "name": "@executor/ir", | |
| 233 | + "version": "0.0.0", | |
| 234 | + "dependencies": { | |
| 235 | + "@executor/codemode-core": "workspace:*", | |
| 236 | + "effect": "catalog:", | |
| 237 | + }, | |
| 238 | + "devDependencies": { | |
| 239 | + "@effect/vitest": "catalog:", | |
| 240 | + "@types/node": "catalog:", | |
| 241 | + "bun-types": "catalog:", | |
| 242 | + "vitest": "catalog:", | |
| 243 | + }, | |
| 244 | + }, | |
| 231 | 245 | "packages/kernel/runtime-deno-subprocess": { |
| 232 | 246 | "name": "@executor/runtime-deno-subprocess", |
| 233 | 247 | "version": "0.0.0", |
| @@ -279,6 +293,7 @@ · 45 unmodified lines | ||
| 279 | 293 | "@executor/codemode-google-discovery": "workspace:*", |
| 280 | 294 | "@executor/codemode-mcp": "workspace:*", |
| 281 | 295 | "@executor/codemode-openapi": "workspace:*", |
| 296 | + "@executor/ir": "workspace:*", | |
| 282 | 297 | "@executor/runtime-deno-subprocess": "workspace:*", |
| 283 | 298 | "@executor/runtime-quickjs": "workspace:*", |
| 284 | 299 | "@executor/runtime-ses": "workspace:*", |
| @@ -540,6 +555,8 @@ · 255 unmodified lines | ||
| 540 | 555 | |
| 541 | 556 | "@executor/executor-mcp": ["@executor/executor-mcp@workspace:packages/hosts/mcp"], |
| 542 | 557 | |
| 558 | + "@executor/ir": ["@executor/ir@workspace:packages/kernel/ir"], | |
| 559 | + | |
| 543 | 560 | "@executor/kitchen-sink": ["@executor/kitchen-sink@workspace:packages/dev/kitchen-sink"], |
| 544 | 561 | |
| 545 | 562 | "@executor/mcp-elicitation-demo": ["@executor/mcp-elicitation-demo@workspace:apps/mcp-elicitation-demo"], |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | # IR v1 |
| 2 | 2 | |
| 3 | −`@executor/control-plane/ir` is the greenfield semantic center for imported sources. | |
| 3 | +`@executor/ir` is the greenfield semantic center for imported sources. | |
| 4 | 4 | |
| 5 | 5 | ## Boundary |
| 6 | 6 | |
| @@ -21,7 +21,8 @@ The existing runtime-specific compiled payload blobs are no longer the target se · 14 unmodified lines | ||
| 21 | 21 | |
| 22 | 22 | Use either: |
| 23 | 23 | |
| 24 | −- `@executor/control-plane/ir` | |
| 24 | +- `@executor/ir` | |
| 25 | +- `@executor/control-plane/ir` as a compatibility shim | |
| 25 | 26 | - `import { ir } from "@executor/control-plane"` |
| 26 | 27 | |
| 27 | 28 | ## Guarantees |
| @@ -0,0 +1,27 @@ | ||
| 1 | +{ | |
| 2 | + "name": "@executor/ir", | |
| 3 | + "private": true, | |
| 4 | + "type": "module", | |
| 5 | + "exports": { | |
| 6 | + ".": "./src/index.ts", | |
| 7 | + "./catalog": "./src/catalog.ts", | |
| 8 | + "./ids": "./src/ids.ts", | |
| 9 | + "./model": "./src/model.ts" | |
| 10 | + }, | |
| 11 | + "scripts": { | |
| 12 | + "typecheck": "bunx tsc --noEmit -p tsconfig.json", | |
| 13 | + "test": "vitest run", | |
| 14 | + "test:watch": "vitest" | |
| 15 | + }, | |
| 16 | + "dependencies": { | |
| 17 | + "@executor/codemode-core": "workspace:*", | |
| 18 | + "effect": "catalog:" | |
| 19 | + }, | |
| 20 | + "devDependencies": { | |
| 21 | + "@effect/vitest": "catalog:", | |
| 22 | + "@types/node": "catalog:", | |
| 23 | + "bun-types": "catalog:", | |
| 24 | + "vitest": "catalog:" | |
| 25 | + }, | |
| 26 | + "version": "0.0.0" | |
| 27 | +} | |
File renamed without changes.
File renamed without changes.
File renamed without changes.
| @@ -0,0 +1,3 @@ | ||
| 1 | +export * from "./ids"; | |
| 2 | +export * from "./model"; | |
| 3 | +export * from "./catalog"; | |
File renamed without changes.
| @@ -0,0 +1,15 @@ | ||
| 1 | +{ | |
| 2 | + "compilerOptions": { | |
| 3 | + "target": "ES2022", | |
| 4 | + "module": "ESNext", | |
| 5 | + "moduleResolution": "Bundler", | |
| 6 | + "strict": true, | |
| 7 | + "skipLibCheck": true, | |
| 8 | + "noEmit": true, | |
| 9 | + "lib": ["ES2022"], | |
| 10 | + "types": ["bun-types", "node"] | |
| 11 | + }, | |
| 12 | + "include": [ | |
| 13 | + "src/**/*.ts" | |
| 14 | + ] | |
| 15 | +} | |
| @@ -24,6 +24,7 @@ · 23 unmodified lines | ||
| 24 | 24 | |
| 25 | 25 | "@executor/codemode-core": "workspace:*", |
| 26 | 26 | "@executor/codemode-google-discovery": "workspace:*", |
| 27 | + "@executor/ir": "workspace:*", | |
| 27 | 28 | "@executor/codemode-mcp": "workspace:*", |
| 28 | 29 | "@executor/codemode-openapi": "workspace:*", |
| 29 | 30 | "@executor/runtime-deno-subprocess": "workspace:*", |
| @@ -2,4 +2,4 @@ export * from "./schema/index"; · 1 unmodified line | ||
| 2 | 2 | export * from "./api/index"; |
| 3 | 3 | export * from "./runtime/index"; |
| 4 | 4 | export * from "./client"; |
| 5 | −export * as ir from "./ir/index"; | |
| 5 | +export * as ir from "@executor/ir"; | |
| @@ -1,3 +1 @@ | ||
| 1 | −export * from "./ids"; | |
| 2 | −export * from "./model"; | |
| 3 | −export * from "./catalog"; | |
| 1 | +export * from "@executor/ir"; | |
| @@ -1,8 +1,8 @@ | ||
| 1 | 1 | import { createHash } from "node:crypto"; |
| 2 | 2 | |
| 3 | −import type { ProjectedCatalog } from "../../ir/catalog"; | |
| 4 | −import type { ShapeSymbolId } from "../../ir/ids"; | |
| 5 | −import type { CatalogV1, ShapeNode, ShapeSymbol } from "../../ir/model"; | |
| 3 | +import type { ProjectedCatalog } from "@executor/ir/catalog"; | |
| 4 | +import type { ShapeSymbolId } from "@executor/ir/ids"; | |
| 5 | +import type { CatalogV1, ShapeNode, ShapeSymbol } from "@executor/ir/model"; | |
| 6 | 6 | |
| 7 | 7 | export type CatalogTypeRoot = { |
| 8 | 8 | readonly shapeId: ShapeSymbolId; |
| @@ -17,7 +17,7 @@ import { · 16 unmodified lines | ||
| 17 | 17 | createCatalogSnapshotV1, |
| 18 | 18 | createEmptyCatalogV1, |
| 19 | 19 | projectCatalogForAgentSdk, |
| 20 | −} from "../../ir/catalog"; | |
| 20 | +} from "@executor/ir/catalog"; | |
| 21 | 21 | import { |
| 22 | 22 | CapabilityIdSchema, |
| 23 | 23 | DocumentIdSchema, |
| @@ -26,8 +26,8 @@ import { · 2 unmodified lines | ||
| 26 | 26 | ResponseSetIdSchema, |
| 27 | 27 | ScopeIdSchema, |
| 28 | 28 | ShapeSymbolIdSchema, |
| 29 | −} from "../../ir/ids"; | |
| 30 | −import type { CatalogV1, ProvenanceRef } from "../../ir/model"; | |
| 29 | +} from "@executor/ir/ids"; | |
| 30 | +import type { CatalogV1, ProvenanceRef } from "@executor/ir/model"; | |
| 31 | 31 | import { |
| 32 | 32 | createCatalogTypeProjector, |
| 33 | 33 | formatTypeNameSegment, |
| @@ -18,7 +18,7 @@ import { · 17 unmodified lines | ||
| 18 | 18 | decodeCatalogSnapshotV1, |
| 19 | 19 | projectCatalogForAgentSdk, |
| 20 | 20 | type ProjectedCatalog, |
| 21 | −} from "../../ir/catalog"; | |
| 21 | +} from "@executor/ir/catalog"; | |
| 22 | 22 | import type { |
| 23 | 23 | Capability, |
| 24 | 24 | CatalogSnapshotV1, |
| @@ -29,7 +29,7 @@ import type { · 4 unmodified lines | ||
| 29 | 29 | McpExecutable, |
| 30 | 30 | ShapeSymbol, |
| 31 | 31 | Symbol as IrSymbol, |
| 32 | −} from "../../ir/model"; | |
| 32 | +} from "@executor/ir/model"; | |
| 33 | 33 | import { LocalSourceArtifactMissingError } from "../local/local-errors"; |
| 34 | 34 | import { |
| 35 | 35 | createCatalogTypeProjector, |
| @@ -15,7 +15,7 @@ import type { Source } from "#schema"; · 14 unmodified lines | ||
| 15 | 15 | |
| 16 | 16 | import { |
| 17 | 17 | createCatalogSnapshotV1FromFragments, |
| 18 | −} from "../../ir/catalog"; | |
| 18 | +} from "@executor/ir/catalog"; | |
| 19 | 19 | import { |
| 20 | 20 | CapabilityIdSchema, |
| 21 | 21 | DiagnosticIdSchema, |
| @@ -31,7 +31,7 @@ import { · 9 unmodified lines | ||
| 31 | 31 | ScopeIdSchema, |
| 32 | 32 | SecuritySchemeSymbolIdSchema, |
| 33 | 33 | ShapeSymbolIdSchema, |
| 34 | −} from "../../ir/ids"; | |
| 34 | +} from "@executor/ir/ids"; | |
| 35 | 35 | import type { |
| 36 | 36 | AuthRequirement, |
| 37 | 37 | Capability, |
| @@ -56,7 +56,7 @@ import type { · 18 unmodified lines | ||
| 56 | 56 | ShapeSymbol, |
| 57 | 57 | SourceKind, |
| 58 | 58 | SourceDocument, |
| 59 | −} from "../../ir/model"; | |
| 59 | +} from "@executor/ir/model"; | |
| 60 | 60 | import type { GraphqlToolProviderData } from "../sources/graphql-tools"; |
| 61 | 61 | import { namespaceFromSourceName } from "../sources/source-names"; |
| 62 | 62 | |
| @@ -1,10 +1,10 @@ | ||
| 1 | 1 | import { sha256Hex } from "@executor/codemode-core"; |
| 2 | −import { createCatalogSnapshotV1FromFragments } from "../../ir/catalog"; | |
| 2 | +import { createCatalogSnapshotV1FromFragments } from "@executor/ir/catalog"; | |
| 3 | 3 | import type { |
| 4 | 4 | CatalogFragmentV1, |
| 5 | 5 | CatalogSnapshotV1, |
| 6 | 6 | ImportMetadata, |
| 7 | −} from "../../ir/model"; | |
| 7 | +} from "@executor/ir/model"; | |
| 8 | 8 | |
| 9 | 9 | export const normalizeSearchText = ( |
| 10 | 10 | ...parts: ReadonlyArray<string | null | undefined> |
| @@ -13,7 +13,7 @@ import { · 12 unmodified lines | ||
| 13 | 13 | import { |
| 14 | 14 | createCatalogSnapshotV1, |
| 15 | 15 | createEmptyCatalogV1, |
| 16 | −} from "../../ir/catalog"; | |
| 16 | +} from "@executor/ir/catalog"; | |
| 17 | 17 | import { |
| 18 | 18 | CapabilityIdSchema, |
| 19 | 19 | DocumentIdSchema, |
| @@ -22,8 +22,8 @@ import { · 2 unmodified lines | ||
| 22 | 22 | ResponseSetIdSchema, |
| 23 | 23 | ScopeIdSchema, |
| 24 | 24 | ShapeSymbolIdSchema, |
| 25 | −} from "../../ir/ids"; | |
| 26 | −import type { CatalogV1, GraphQLExecutable, ProvenanceRef } from "../../ir/model"; | |
| 25 | +} from "@executor/ir/ids"; | |
| 26 | +import type { CatalogV1, GraphQLExecutable, ProvenanceRef } from "@executor/ir/model"; | |
| 27 | 27 | import { syncWorkspaceSourceTypeDeclarationsNode } from "./source-type-declarations"; |
| 28 | 28 | |
| 29 | 29 | const put = <K extends string, V>(record: Record<K, V>, key: K, value: V) => { |
| @@ -6,8 +6,8 @@ import * as Cause from "effect/Cause"; · 5 unmodified lines | ||
| 6 | 6 | import * as Effect from "effect/Effect"; |
| 7 | 7 | import * as Fiber from "effect/Fiber"; |
| 8 | 8 | |
| 9 | −import { projectCatalogForAgentSdk } from "../../ir/catalog"; | |
| 10 | −import type { CatalogSnapshotV1 } from "../../ir/model"; | |
| 9 | +import { projectCatalogForAgentSdk } from "@executor/ir/catalog"; | |
| 10 | +import type { CatalogSnapshotV1 } from "@executor/ir/model"; | |
| 11 | 11 | import { |
| 12 | 12 | createCatalogTypeProjector, |
| 13 | 13 | formatPropertyKey, |
| @@ -22,7 +22,7 @@ import type { · 21 unmodified lines | ||
| 22 | 22 | ToolInput, |
| 23 | 23 | ToolPath, |
| 24 | 24 | } from "@executor/codemode-core"; |
| 25 | −import { buildInvocationPlan, type InvocationPlan } from "../../ir/catalog"; | |
| 25 | +import { buildInvocationPlan, type InvocationPlan } from "@executor/ir/catalog"; | |
| 26 | 26 | import type { |
| 27 | 27 | CatalogV1, |
| 28 | 28 | Capability, |
| @@ -32,7 +32,7 @@ import type { · 3 unmodified lines | ||
| 32 | 32 | McpExecutable, |
| 33 | 33 | ParameterSymbol, |
| 34 | 34 | Scope, |
| 35 | −} from "../../ir/model"; | |
| 35 | +} from "@executor/ir/model"; | |
| 36 | 36 | import type { LoadedSourceCatalogToolIndexEntry } from "../catalog/source-catalog-runtime"; |
| 37 | 37 | import type { ResolvedSourceAuthMaterial } from "../auth/source-auth-material"; |
| 38 | 38 | |
| @@ -13,13 +13,13 @@ import { · 12 unmodified lines | ||
| 13 | 13 | import * as Effect from "effect/Effect"; |
| 14 | 14 | import * as Schema from "effect/Schema"; |
| 15 | 15 | |
| 16 | −import { decodeCatalogSnapshotV1 } from "../../ir/catalog"; | |
| 16 | +import { decodeCatalogSnapshotV1 } from "@executor/ir/catalog"; | |
| 17 | 17 | import { |
| 18 | 18 | CatalogSnapshotV1Schema, |
| 19 | 19 | type CatalogSnapshotV1, |
| 20 | 20 | type NativeBlob, |
| 21 | 21 | type SourceDocument, |
| 22 | −} from "../../ir/model"; | |
| 22 | +} from "@executor/ir/model"; | |
| 23 | 23 | import { |
| 24 | 24 | contentHash, |
| 25 | 25 | snapshotFromSourceCatalogSyncResult, |
| @@ -35,8 +35,8 @@ import { · 34 unmodified lines | ||
| 35 | 35 | import * as Effect from "effect/Effect"; |
| 36 | 36 | import { Schema } from "effect"; |
| 37 | 37 | |
| 38 | −import { projectCatalogForAgentSdk } from "../../ir/catalog"; | |
| 39 | −import type { CatalogSnapshotV1 } from "../../ir/model"; | |
| 38 | +import { projectCatalogForAgentSdk } from "@executor/ir/catalog"; | |
| 39 | +import type { CatalogSnapshotV1 } from "@executor/ir/model"; | |
| 40 | 40 | import { createCatalogTypeProjector, projectedCatalogTypeRoots } from "../catalog/catalog-typescript"; |
| 41 | 41 | import { |
| 42 | 42 | buildGraphqlToolPresentation, |
| @@ -19,8 +19,8 @@ import type { · 18 unmodified lines | ||
| 19 | 19 | import * as Effect from "effect/Effect"; |
| 20 | 20 | import { z } from "zod/v4"; |
| 21 | 21 | |
| 22 | −import { projectCatalogForAgentSdk } from "../../../ir/catalog"; | |
| 23 | −import type { CatalogSnapshotV1 } from "../../../ir/model"; | |
| 22 | +import { projectCatalogForAgentSdk } from "@executor/ir/catalog"; | |
| 23 | +import type { CatalogSnapshotV1 } from "@executor/ir/model"; | |
| 24 | 24 | import { createCatalogTypeProjector, projectedCatalogTypeRoots } from "../../catalog/catalog-typescript"; |
| 25 | 25 | import { invokeIrTool } from "../../execution/ir-execution"; |
| 26 | 26 | import { |