Unified · Split
| @@ -228,6 +228,20 @@ · 227 unmodified lines | |||
| 228 | "vitest": "catalog:", | 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 | "packages/kernel/runtime-deno-subprocess": { | 245 | "packages/kernel/runtime-deno-subprocess": { |
| 232 | "name": "@executor/runtime-deno-subprocess", | 246 | "name": "@executor/runtime-deno-subprocess", |
| 233 | "version": "0.0.0", | 247 | "version": "0.0.0", |
| @@ -279,6 +293,7 @@ · 45 unmodified lines | |||
| 279 | "@executor/codemode-google-discovery": "workspace:*", | 293 | "@executor/codemode-google-discovery": "workspace:*", |
| 280 | "@executor/codemode-mcp": "workspace:*", | 294 | "@executor/codemode-mcp": "workspace:*", |
| 281 | "@executor/codemode-openapi": "workspace:*", | 295 | "@executor/codemode-openapi": "workspace:*", |
| 296 | "@executor/ir": "workspace:*", | ||
| 282 | "@executor/runtime-deno-subprocess": "workspace:*", | 297 | "@executor/runtime-deno-subprocess": "workspace:*", |
| 283 | "@executor/runtime-quickjs": "workspace:*", | 298 | "@executor/runtime-quickjs": "workspace:*", |
| 284 | "@executor/runtime-ses": "workspace:*", | 299 | "@executor/runtime-ses": "workspace:*", |
| @@ -540,6 +555,8 @@ · 255 unmodified lines | |||
| 540 | 555 | ||
| 541 | "@executor/executor-mcp": ["@executor/executor-mcp@workspace:packages/hosts/mcp"], | 556 | "@executor/executor-mcp": ["@executor/executor-mcp@workspace:packages/hosts/mcp"], |
| 542 | 557 | ||
| 558 | "@executor/ir": ["@executor/ir@workspace:packages/kernel/ir"], | ||
| 559 | |||
| 543 | "@executor/kitchen-sink": ["@executor/kitchen-sink@workspace:packages/dev/kitchen-sink"], | 560 | "@executor/kitchen-sink": ["@executor/kitchen-sink@workspace:packages/dev/kitchen-sink"], |
| 544 | 561 | ||
| 545 | "@executor/mcp-elicitation-demo": ["@executor/mcp-elicitation-demo@workspace:apps/mcp-elicitation-demo"], | 562 | "@executor/mcp-elicitation-demo": ["@executor/mcp-elicitation-demo@workspace:apps/mcp-elicitation-demo"], |
| @@ -1,6 +1,6 @@ | |||
| 1 | # IR v1 | 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 | ## Boundary | 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 | Use either: | 22 | Use either: |
| 23 | 23 | ||
| 24 | - `@executor/control-plane/ir` | 24 | - `@executor/ir` |
| 25 | - `@executor/control-plane/ir` as a compatibility shim | ||
| 25 | - `import { ir } from "@executor/control-plane"` | 26 | - `import { ir } from "@executor/control-plane"` |
| 26 | 27 | ||
| 27 | ## Guarantees | 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 | "@executor/codemode-core": "workspace:*", | 25 | "@executor/codemode-core": "workspace:*", |
| 26 | "@executor/codemode-google-discovery": "workspace:*", | 26 | "@executor/codemode-google-discovery": "workspace:*", |
| 27 | "@executor/ir": "workspace:*", | ||
| 27 | "@executor/codemode-mcp": "workspace:*", | 28 | "@executor/codemode-mcp": "workspace:*", |
| 28 | "@executor/codemode-openapi": "workspace:*", | 29 | "@executor/codemode-openapi": "workspace:*", |
| 29 | "@executor/runtime-deno-subprocess": "workspace:*", | 30 | "@executor/runtime-deno-subprocess": "workspace:*", |
| @@ -2,4 +2,4 @@ export * from "./schema/index"; · 1 unmodified line | |||
| 2 | export * from "./api/index"; | 2 | export * from "./api/index"; |
| 3 | export * from "./runtime/index"; | 3 | export * from "./runtime/index"; |
| 4 | export * from "./client"; | 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"; | 1 | export * from "@executor/ir"; |
| 2 | export * from "./model"; | ||
| 3 | export * from "./catalog"; | ||
| @@ -1,8 +1,8 @@ | |||
| 1 | import { createHash } from "node:crypto"; | 1 | import { createHash } from "node:crypto"; |
| 2 | 2 | ||
| 3 | import type { ProjectedCatalog } from "../../ir/catalog"; | 3 | import type { ProjectedCatalog } from "@executor/ir/catalog"; |
| 4 | import type { ShapeSymbolId } from "../../ir/ids"; | 4 | import type { ShapeSymbolId } from "@executor/ir/ids"; |
| 5 | import type { CatalogV1, ShapeNode, ShapeSymbol } from "../../ir/model"; | 5 | import type { CatalogV1, ShapeNode, ShapeSymbol } from "@executor/ir/model"; |
| 6 | 6 | ||
| 7 | export type CatalogTypeRoot = { | 7 | export type CatalogTypeRoot = { |
| 8 | readonly shapeId: ShapeSymbolId; | 8 | readonly shapeId: ShapeSymbolId; |
| @@ -17,7 +17,7 @@ import { · 16 unmodified lines | |||
| 17 | createCatalogSnapshotV1, | 17 | createCatalogSnapshotV1, |
| 18 | createEmptyCatalogV1, | 18 | createEmptyCatalogV1, |
| 19 | projectCatalogForAgentSdk, | 19 | projectCatalogForAgentSdk, |
| 20 | } from "../../ir/catalog"; | 20 | } from "@executor/ir/catalog"; |
| 21 | import { | 21 | import { |
| 22 | CapabilityIdSchema, | 22 | CapabilityIdSchema, |
| 23 | DocumentIdSchema, | 23 | DocumentIdSchema, |
| @@ -26,8 +26,8 @@ import { · 2 unmodified lines | |||
| 26 | ResponseSetIdSchema, | 26 | ResponseSetIdSchema, |
| 27 | ScopeIdSchema, | 27 | ScopeIdSchema, |
| 28 | ShapeSymbolIdSchema, | 28 | ShapeSymbolIdSchema, |
| 29 | } from "../../ir/ids"; | 29 | } from "@executor/ir/ids"; |
| 30 | import type { CatalogV1, ProvenanceRef } from "../../ir/model"; | 30 | import type { CatalogV1, ProvenanceRef } from "@executor/ir/model"; |
| 31 | import { | 31 | import { |
| 32 | createCatalogTypeProjector, | 32 | createCatalogTypeProjector, |
| 33 | formatTypeNameSegment, | 33 | formatTypeNameSegment, |
| @@ -18,7 +18,7 @@ import { · 17 unmodified lines | |||
| 18 | decodeCatalogSnapshotV1, | 18 | decodeCatalogSnapshotV1, |
| 19 | projectCatalogForAgentSdk, | 19 | projectCatalogForAgentSdk, |
| 20 | type ProjectedCatalog, | 20 | type ProjectedCatalog, |
| 21 | } from "../../ir/catalog"; | 21 | } from "@executor/ir/catalog"; |
| 22 | import type { | 22 | import type { |
| 23 | Capability, | 23 | Capability, |
| 24 | CatalogSnapshotV1, | 24 | CatalogSnapshotV1, |
| @@ -29,7 +29,7 @@ import type { · 4 unmodified lines | |||
| 29 | McpExecutable, | 29 | McpExecutable, |
| 30 | ShapeSymbol, | 30 | ShapeSymbol, |
| 31 | Symbol as IrSymbol, | 31 | Symbol as IrSymbol, |
| 32 | } from "../../ir/model"; | 32 | } from "@executor/ir/model"; |
| 33 | import { LocalSourceArtifactMissingError } from "../local/local-errors"; | 33 | import { LocalSourceArtifactMissingError } from "../local/local-errors"; |
| 34 | import { | 34 | import { |
| 35 | createCatalogTypeProjector, | 35 | createCatalogTypeProjector, |
| @@ -15,7 +15,7 @@ import type { Source } from "#schema"; · 14 unmodified lines | |||
| 15 | 15 | ||
| 16 | import { | 16 | import { |
| 17 | createCatalogSnapshotV1FromFragments, | 17 | createCatalogSnapshotV1FromFragments, |
| 18 | } from "../../ir/catalog"; | 18 | } from "@executor/ir/catalog"; |
| 19 | import { | 19 | import { |
| 20 | CapabilityIdSchema, | 20 | CapabilityIdSchema, |
| 21 | DiagnosticIdSchema, | 21 | DiagnosticIdSchema, |
| @@ -31,7 +31,7 @@ import { · 9 unmodified lines | |||
| 31 | ScopeIdSchema, | 31 | ScopeIdSchema, |
| 32 | SecuritySchemeSymbolIdSchema, | 32 | SecuritySchemeSymbolIdSchema, |
| 33 | ShapeSymbolIdSchema, | 33 | ShapeSymbolIdSchema, |
| 34 | } from "../../ir/ids"; | 34 | } from "@executor/ir/ids"; |
| 35 | import type { | 35 | import type { |
| 36 | AuthRequirement, | 36 | AuthRequirement, |
| 37 | Capability, | 37 | Capability, |
| @@ -56,7 +56,7 @@ import type { · 18 unmodified lines | |||
| 56 | ShapeSymbol, | 56 | ShapeSymbol, |
| 57 | SourceKind, | 57 | SourceKind, |
| 58 | SourceDocument, | 58 | SourceDocument, |
| 59 | } from "../../ir/model"; | 59 | } from "@executor/ir/model"; |
| 60 | import type { GraphqlToolProviderData } from "../sources/graphql-tools"; | 60 | import type { GraphqlToolProviderData } from "../sources/graphql-tools"; |
| 61 | import { namespaceFromSourceName } from "../sources/source-names"; | 61 | import { namespaceFromSourceName } from "../sources/source-names"; |
| 62 | 62 | ||
| @@ -1,10 +1,10 @@ | |||
| 1 | import { sha256Hex } from "@executor/codemode-core"; | 1 | import { sha256Hex } from "@executor/codemode-core"; |
| 2 | import { createCatalogSnapshotV1FromFragments } from "../../ir/catalog"; | 2 | import { createCatalogSnapshotV1FromFragments } from "@executor/ir/catalog"; |
| 3 | import type { | 3 | import type { |
| 4 | CatalogFragmentV1, | 4 | CatalogFragmentV1, |
| 5 | CatalogSnapshotV1, | 5 | CatalogSnapshotV1, |
| 6 | ImportMetadata, | 6 | ImportMetadata, |
| 7 | } from "../../ir/model"; | 7 | } from "@executor/ir/model"; |
| 8 | 8 | ||
| 9 | export const normalizeSearchText = ( | 9 | export const normalizeSearchText = ( |
| 10 | ...parts: ReadonlyArray<string | null | undefined> | 10 | ...parts: ReadonlyArray<string | null | undefined> |
| @@ -13,7 +13,7 @@ import { · 12 unmodified lines | |||
| 13 | import { | 13 | import { |
| 14 | createCatalogSnapshotV1, | 14 | createCatalogSnapshotV1, |
| 15 | createEmptyCatalogV1, | 15 | createEmptyCatalogV1, |
| 16 | } from "../../ir/catalog"; | 16 | } from "@executor/ir/catalog"; |
| 17 | import { | 17 | import { |
| 18 | CapabilityIdSchema, | 18 | CapabilityIdSchema, |
| 19 | DocumentIdSchema, | 19 | DocumentIdSchema, |
| @@ -22,8 +22,8 @@ import { · 2 unmodified lines | |||
| 22 | ResponseSetIdSchema, | 22 | ResponseSetIdSchema, |
| 23 | ScopeIdSchema, | 23 | ScopeIdSchema, |
| 24 | ShapeSymbolIdSchema, | 24 | ShapeSymbolIdSchema, |
| 25 | } from "../../ir/ids"; | 25 | } from "@executor/ir/ids"; |
| 26 | import type { CatalogV1, GraphQLExecutable, ProvenanceRef } from "../../ir/model"; | 26 | import type { CatalogV1, GraphQLExecutable, ProvenanceRef } from "@executor/ir/model"; |
| 27 | import { syncWorkspaceSourceTypeDeclarationsNode } from "./source-type-declarations"; | 27 | import { syncWorkspaceSourceTypeDeclarationsNode } from "./source-type-declarations"; |
| 28 | 28 | ||
| 29 | const put = <K extends string, V>(record: Record<K, V>, key: K, value: V) => { | 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 | import * as Effect from "effect/Effect"; | 6 | import * as Effect from "effect/Effect"; |
| 7 | import * as Fiber from "effect/Fiber"; | 7 | import * as Fiber from "effect/Fiber"; |
| 8 | 8 | ||
| 9 | import { projectCatalogForAgentSdk } from "../../ir/catalog"; | 9 | import { projectCatalogForAgentSdk } from "@executor/ir/catalog"; |
| 10 | import type { CatalogSnapshotV1 } from "../../ir/model"; | 10 | import type { CatalogSnapshotV1 } from "@executor/ir/model"; |
| 11 | import { | 11 | import { |
| 12 | createCatalogTypeProjector, | 12 | createCatalogTypeProjector, |
| 13 | formatPropertyKey, | 13 | formatPropertyKey, |
| @@ -22,7 +22,7 @@ import type { · 21 unmodified lines | |||
| 22 | ToolInput, | 22 | ToolInput, |
| 23 | ToolPath, | 23 | ToolPath, |
| 24 | } from "@executor/codemode-core"; | 24 | } from "@executor/codemode-core"; |
| 25 | import { buildInvocationPlan, type InvocationPlan } from "../../ir/catalog"; | 25 | import { buildInvocationPlan, type InvocationPlan } from "@executor/ir/catalog"; |
| 26 | import type { | 26 | import type { |
| 27 | CatalogV1, | 27 | CatalogV1, |
| 28 | Capability, | 28 | Capability, |
| @@ -32,7 +32,7 @@ import type { · 3 unmodified lines | |||
| 32 | McpExecutable, | 32 | McpExecutable, |
| 33 | ParameterSymbol, | 33 | ParameterSymbol, |
| 34 | Scope, | 34 | Scope, |
| 35 | } from "../../ir/model"; | 35 | } from "@executor/ir/model"; |
| 36 | import type { LoadedSourceCatalogToolIndexEntry } from "../catalog/source-catalog-runtime"; | 36 | import type { LoadedSourceCatalogToolIndexEntry } from "../catalog/source-catalog-runtime"; |
| 37 | import type { ResolvedSourceAuthMaterial } from "../auth/source-auth-material"; | 37 | import type { ResolvedSourceAuthMaterial } from "../auth/source-auth-material"; |
| 38 | 38 | ||
| @@ -13,13 +13,13 @@ import { · 12 unmodified lines | |||
| 13 | import * as Effect from "effect/Effect"; | 13 | import * as Effect from "effect/Effect"; |
| 14 | import * as Schema from "effect/Schema"; | 14 | import * as Schema from "effect/Schema"; |
| 15 | 15 | ||
| 16 | import { decodeCatalogSnapshotV1 } from "../../ir/catalog"; | 16 | import { decodeCatalogSnapshotV1 } from "@executor/ir/catalog"; |
| 17 | import { | 17 | import { |
| 18 | CatalogSnapshotV1Schema, | 18 | CatalogSnapshotV1Schema, |
| 19 | type CatalogSnapshotV1, | 19 | type CatalogSnapshotV1, |
| 20 | type NativeBlob, | 20 | type NativeBlob, |
| 21 | type SourceDocument, | 21 | type SourceDocument, |
| 22 | } from "../../ir/model"; | 22 | } from "@executor/ir/model"; |
| 23 | import { | 23 | import { |
| 24 | contentHash, | 24 | contentHash, |
| 25 | snapshotFromSourceCatalogSyncResult, | 25 | snapshotFromSourceCatalogSyncResult, |
| @@ -35,8 +35,8 @@ import { · 34 unmodified lines | |||
| 35 | import * as Effect from "effect/Effect"; | 35 | import * as Effect from "effect/Effect"; |
| 36 | import { Schema } from "effect"; | 36 | import { Schema } from "effect"; |
| 37 | 37 | ||
| 38 | import { projectCatalogForAgentSdk } from "../../ir/catalog"; | 38 | import { projectCatalogForAgentSdk } from "@executor/ir/catalog"; |
| 39 | import type { CatalogSnapshotV1 } from "../../ir/model"; | 39 | import type { CatalogSnapshotV1 } from "@executor/ir/model"; |
| 40 | import { createCatalogTypeProjector, projectedCatalogTypeRoots } from "../catalog/catalog-typescript"; | 40 | import { createCatalogTypeProjector, projectedCatalogTypeRoots } from "../catalog/catalog-typescript"; |
| 41 | import { | 41 | import { |
| 42 | buildGraphqlToolPresentation, | 42 | buildGraphqlToolPresentation, |
| @@ -19,8 +19,8 @@ import type { · 18 unmodified lines | |||
| 19 | import * as Effect from "effect/Effect"; | 19 | import * as Effect from "effect/Effect"; |
| 20 | import { z } from "zod/v4"; | 20 | import { z } from "zod/v4"; |
| 21 | 21 | ||
| 22 | import { projectCatalogForAgentSdk } from "../../../ir/catalog"; | 22 | import { projectCatalogForAgentSdk } from "@executor/ir/catalog"; |
| 23 | import type { CatalogSnapshotV1 } from "../../../ir/model"; | 23 | import type { CatalogSnapshotV1 } from "@executor/ir/model"; |
| 24 | import { createCatalogTypeProjector, projectedCatalogTypeRoots } from "../../catalog/catalog-typescript"; | 24 | import { createCatalogTypeProjector, projectedCatalogTypeRoots } from "../../catalog/catalog-typescript"; |
| 25 | import { invokeIrTool } from "../../execution/ir-execution"; | 25 | import { invokeIrTool } from "../../execution/ir-execution"; |
| 26 | import { | 26 | import { |