@flyingrobots/graft 0.10.1 → 0.11.1
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/CHANGELOG.md +95 -0
- package/README.md +41 -0
- package/dist/adapters/edict-cli-projection-provider.d.ts +13 -0
- package/dist/adapters/edict-cli-projection-provider.d.ts.map +1 -0
- package/dist/adapters/edict-cli-projection-provider.js +71 -0
- package/dist/adapters/edict-cli-projection-provider.js.map +1 -0
- package/dist/api/index.d.ts +16 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +15 -1
- package/dist/api/index.js.map +1 -1
- package/dist/contracts/review-digest.d.ts +2 -0
- package/dist/contracts/review-digest.d.ts.map +1 -0
- package/dist/contracts/review-digest.js +145 -0
- package/dist/contracts/review-digest.js.map +1 -0
- package/dist/mcp/tools/changed-since.js +2 -2
- package/dist/mcp/tools/changed-since.js.map +1 -1
- package/dist/operations/cached-file.js +2 -2
- package/dist/operations/cached-file.js.map +1 -1
- package/dist/operations/edict-projection.d.ts +126 -0
- package/dist/operations/edict-projection.d.ts.map +1 -0
- package/dist/operations/edict-projection.js +394 -0
- package/dist/operations/edict-projection.js.map +1 -0
- package/dist/operations/projection-profile-resolver.d.ts +67 -0
- package/dist/operations/projection-profile-resolver.d.ts.map +1 -0
- package/dist/operations/projection-profile-resolver.js +368 -0
- package/dist/operations/projection-profile-resolver.js.map +1 -0
- package/dist/operations/projection-provider-registry.d.ts +30 -0
- package/dist/operations/projection-provider-registry.d.ts.map +1 -0
- package/dist/operations/projection-provider-registry.js +86 -0
- package/dist/operations/projection-provider-registry.js.map +1 -0
- package/dist/operations/repo-workspace.js +2 -2
- package/dist/operations/repo-workspace.js.map +1 -1
- package/dist/operations/structured-buffer-model.d.ts +28 -3
- package/dist/operations/structured-buffer-model.d.ts.map +1 -1
- package/dist/operations/structured-buffer-model.js +168 -7
- package/dist/operations/structured-buffer-model.js.map +1 -1
- package/dist/operations/structured-buffer-query.d.ts.map +1 -1
- package/dist/operations/structured-buffer-query.js +231 -6
- package/dist/operations/structured-buffer-query.js.map +1 -1
- package/dist/operations/structured-buffer.d.ts +19 -1
- package/dist/operations/structured-buffer.d.ts.map +1 -1
- package/dist/operations/structured-buffer.js +11 -0
- package/dist/operations/structured-buffer.js.map +1 -1
- package/dist/operations/wesley-projection.d.ts +67 -0
- package/dist/operations/wesley-projection.d.ts.map +1 -0
- package/dist/operations/wesley-projection.js +2 -0
- package/dist/operations/wesley-projection.js.map +1 -0
- package/dist/operations/xml-syntax.d.ts +5 -0
- package/dist/operations/xml-syntax.d.ts.map +1 -0
- package/dist/operations/xml-syntax.js +155 -0
- package/dist/operations/xml-syntax.js.map +1 -0
- package/dist/parser/lang.d.ts +9 -1
- package/dist/parser/lang.d.ts.map +1 -1
- package/dist/parser/lang.js +20 -0
- package/dist/parser/lang.js.map +1 -1
- package/dist/parser/outline.d.ts.map +1 -1
- package/dist/parser/outline.js +9 -3
- package/dist/parser/outline.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,101 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.11.1] - 2026-07-05
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Release workflow guidance**: contributor guidance now requires operators to
|
|
15
|
+
inspect the tag-triggered GitHub Actions release workflow, individual job
|
|
16
|
+
state, job logs, GitHub Release assets, and npm registry state before
|
|
17
|
+
claiming release or publish success. It also records the release invariant
|
|
18
|
+
that releases must be cut only from version-tagged commits already on `main`;
|
|
19
|
+
release branches, pull request heads, local-only commits, and untagged commits
|
|
20
|
+
are not release authorities.
|
|
21
|
+
|
|
22
|
+
## [0.11.0] - 2026-07-05
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- **Obstruction receipt projection preservation**: Edict projection bundles now
|
|
27
|
+
include an explicit `echoReceipt` slot so future Edict projection providers
|
|
28
|
+
can pass Echo obstruction receipt review payloads through Graft without
|
|
29
|
+
reclassifying them as hard rejections or scheduler counterfactuals. Graft
|
|
30
|
+
preserves the outcome kind, Target IR digest, reason kind, reason payload, and
|
|
31
|
+
opaque receipt review object, while rejecting top-level `receiptDigest` fields
|
|
32
|
+
until canonical Echo receipt bytes exist. `StructuredBuffer` keeps the default
|
|
33
|
+
Edict CLI request limited to syntax, diagnostics, Core, and Target IR; this
|
|
34
|
+
slice does not execute Echo, admit Jim artifacts, canonicalize receipt bytes,
|
|
35
|
+
or interpret obstruction semantics.
|
|
36
|
+
- **Profile-aware Wesley SDL provider seam**: projection registries can now
|
|
37
|
+
register a Wesley provider for `.graphql` and `.graphqls` buffers. When a
|
|
38
|
+
`projectionProfileResolver` resolves `wesley-sdl` authority context,
|
|
39
|
+
`createStructuredBuffer(...)` and `createProjectionBundle(...)` pass dirty
|
|
40
|
+
buffer text, basis, emit set, and the exact `ResolvedAuthorityContext` to the
|
|
41
|
+
provider, surface Wesley syntax and diagnostics through the common projection
|
|
42
|
+
slots, expose the Wesley projection sidecar through
|
|
43
|
+
`StructuredBuffer.wesleyProjection()`, and preserve authority-owned payload
|
|
44
|
+
lanes without interpreting descriptor semantics. Wrong-profile diagnostics
|
|
45
|
+
remain provider-owned, mismatched registry provider kinds fail closed, and
|
|
46
|
+
provider failures surface as
|
|
47
|
+
`PROJECTION_PROVIDER_UNAVAILABLE`. This slice does not add TOML discovery,
|
|
48
|
+
Wesley CLI/WASM transport, Echo execution, Jim admission, or settlement
|
|
49
|
+
authority.
|
|
50
|
+
- **Projection authority context bundles**: `createStructuredBuffer(...)` and
|
|
51
|
+
`createProjectionBundle(...)` can now accept a `projectionProfileResolver`
|
|
52
|
+
plus optional `profile` override, attach the resolved authority context to
|
|
53
|
+
warm projection bundles, and pass that same context to registry-routed
|
|
54
|
+
providers. Bundles distinguish `not_configured`, `resolved`, and `failed`
|
|
55
|
+
authority states so editor hosts can display profile ids, profile digests,
|
|
56
|
+
routing digests, provider ids, language ids, and semantic extension
|
|
57
|
+
identities before the profile-aware Wesley provider lands. Resolver failures
|
|
58
|
+
are surfaced as structured projection results and skip provider invocation;
|
|
59
|
+
this slice does not parse `graft.projections.toml`, interpret Wesley SDL, run
|
|
60
|
+
Echo, admit Jim artifacts, or claim settlement authority.
|
|
61
|
+
- **Projection profile resolver**: editor hosts can now construct an in-memory
|
|
62
|
+
`ProjectionProfileResolver` with `createProjectionProfileResolver(...)` to
|
|
63
|
+
resolve dirty-buffer names to projection authority context before the
|
|
64
|
+
profile-aware Wesley provider lands. The resolver computes deterministic
|
|
65
|
+
`profileDigest` and `routingDigest` review strings, treats blank profile
|
|
66
|
+
overrides as absent, returns structured failures for unknown profiles,
|
|
67
|
+
ambiguous route matches, and no-provider cases, and keeps profile identity
|
|
68
|
+
separate from routing identity. Resolver config rejects lossy digest
|
|
69
|
+
preimages, sparse option arrays, fallback/profile language mismatches,
|
|
70
|
+
negated route globs, and malformed fallback file extensions before
|
|
71
|
+
resolution. Profile digests preserve JSON option keys named `__proto__` and
|
|
72
|
+
are independent of semantic extension declaration order using locale-free
|
|
73
|
+
code-point comparison. The resolver itself does not parse
|
|
74
|
+
`graft.projections.toml` or interpret Wesley SDL, descriptor, Echo, Edict, or
|
|
75
|
+
Colorful semantics.
|
|
76
|
+
- **Projection provider registry**: editor hosts can now create a
|
|
77
|
+
`ProjectionProviderRegistry`, register an Edict provider by language id and
|
|
78
|
+
file extension, and pass the registry to `createStructuredBuffer(...)` or
|
|
79
|
+
`createProjectionBundle(...)`. The registry routes `.edict` buffers through
|
|
80
|
+
the existing Edict projection provider, supports explicit `language` routing
|
|
81
|
+
for synthetic dirty buffers, and keeps the direct `edictProjector` option for
|
|
82
|
+
compatibility. Blank language ids are treated as absent during registry
|
|
83
|
+
lookup. The registry is a routing shell for current and future provider
|
|
84
|
+
bindings only; it does not execute Echo, admit bundles, or make Graft own
|
|
85
|
+
language-specific semantics.
|
|
86
|
+
- **Edict projection bridge**: buffer-native editor integrations can now opt
|
|
87
|
+
into an `EdictProjectionProvider` for `.edict` buffers. Graft exports
|
|
88
|
+
`createEdictCliProjectionProvider(...)` and `EdictProjectionError`, shells out
|
|
89
|
+
through the existing `ProcessRunner` port, sends dirty source text to Edict
|
|
90
|
+
over stdin JSONL, maps Edict syntax byte offsets into Graft row/column spans,
|
|
91
|
+
preserves compiler diagnostics, and exposes Core/Target IR projection slots
|
|
92
|
+
with explicit `not_requested`, `available`, `blocked`, and `failed` states.
|
|
93
|
+
Without a
|
|
94
|
+
projector, `.edict` buffers are recognized and report
|
|
95
|
+
`PROJECTION_PROVIDER_UNAVAILABLE`; this bridge does not execute Echo or admit
|
|
96
|
+
bundles.
|
|
97
|
+
|
|
98
|
+
### Fixed
|
|
99
|
+
|
|
100
|
+
- **XML and SVG projection authority failures**: native XML/SVG syntax,
|
|
101
|
+
outline, diagnostics, and fold projections now preserve
|
|
102
|
+
`PROJECTION_AUTHORITY_UNAVAILABLE` instead of emitting fallback projection
|
|
103
|
+
lanes when explicit profile resolution fails.
|
|
104
|
+
|
|
10
105
|
## [0.10.1] - 2026-06-25
|
|
11
106
|
|
|
12
107
|
### Added
|
package/README.md
CHANGED
|
@@ -149,6 +149,47 @@ const bundle = createProjectionBundle("src/app.tsx", liveEditorText, {
|
|
|
149
149
|
|
|
150
150
|
`createProjectionBundle` owns the WASM buffer lifecycle internally. Use `createStructuredBuffer` directly if you need to hold a buffer across multiple operations and manage `dispose()` yourself.
|
|
151
151
|
|
|
152
|
+
**Edict projection bridge** (dirty `.edict` buffer to syntax/Core/Target IR):
|
|
153
|
+
```ts
|
|
154
|
+
import {
|
|
155
|
+
createEdictCliProjectionProvider,
|
|
156
|
+
createProjectionProviderRegistry,
|
|
157
|
+
createStructuredBuffer,
|
|
158
|
+
} from "@flyingrobots/graft";
|
|
159
|
+
import { nodeProcessRunner } from "./your-process-runner.js";
|
|
160
|
+
|
|
161
|
+
const edictProjector = createEdictCliProjectionProvider({
|
|
162
|
+
processRunner: nodeProcessRunner,
|
|
163
|
+
cwd: process.cwd(),
|
|
164
|
+
target: {
|
|
165
|
+
coordinate: "echo.dpo@1",
|
|
166
|
+
profileDigest: "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
167
|
+
irDomain: "echo.span-ir/v1",
|
|
168
|
+
},
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
const projectionRegistry = createProjectionProviderRegistry().register({
|
|
172
|
+
language: "edict",
|
|
173
|
+
extensions: [".edict"],
|
|
174
|
+
provider: { kind: "edict", provider: edictProjector },
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
const buffer = createStructuredBuffer("demo.edict", liveEditorText, {
|
|
178
|
+
basis: { kind: "editor_head", headId: "head-42", tick: 18 },
|
|
179
|
+
projectionRegistry,
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
const syntax = buffer.syntaxSpans();
|
|
183
|
+
const edict = buffer.edictProjection();
|
|
184
|
+
// edict?.core and edict?.targetIr preserve available/blocked/failed slot truth.
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
This bridge invokes Edict's projection CLI over stdin JSONL. It does not execute
|
|
188
|
+
Echo, admit bundles, or require the editor buffer to exist on disk.
|
|
189
|
+
Hosts may pass `language: "edict"` with a registry for synthetic dirty buffers
|
|
190
|
+
such as untitled editor tabs. Direct `edictProjector` injection remains
|
|
191
|
+
supported for single-language hosts.
|
|
192
|
+
|
|
152
193
|
---
|
|
153
194
|
|
|
154
195
|
## Quick Start
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ProcessRunner } from "../ports/process-runner.js";
|
|
2
|
+
import type { EdictProjectionCompilerContext, EdictProjectionProvider, EdictProjectionTargetSettings } from "../operations/edict-projection.js";
|
|
3
|
+
export interface CreateEdictCliProjectionProviderOptions {
|
|
4
|
+
readonly processRunner: ProcessRunner;
|
|
5
|
+
readonly cwd: string;
|
|
6
|
+
readonly command?: string | undefined;
|
|
7
|
+
readonly compilerContext?: EdictProjectionCompilerContext | undefined;
|
|
8
|
+
readonly target?: EdictProjectionTargetSettings | undefined;
|
|
9
|
+
readonly timeoutMs?: number | undefined;
|
|
10
|
+
readonly maxBufferBytes?: number | undefined;
|
|
11
|
+
}
|
|
12
|
+
export declare function createEdictCliProjectionProvider(options: CreateEdictCliProjectionProviderOptions): EdictProjectionProvider;
|
|
13
|
+
//# sourceMappingURL=edict-cli-projection-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edict-cli-projection-provider.d.ts","sourceRoot":"","sources":["../../src/adapters/edict-cli-projection-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAKhE,OAAO,KAAK,EAEV,8BAA8B,EAC9B,uBAAuB,EAEvB,6BAA6B,EAC9B,MAAM,mCAAmC,CAAC;AAE3C,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAkDD,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,uCAAuC,GAC/C,uBAAuB,CA4BzB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { EdictProjectionError, projectEdictJsonlRecords, } from "../operations/edict-projection.js";
|
|
2
|
+
function parseJsonl(text) {
|
|
3
|
+
const records = [];
|
|
4
|
+
const lines = text.split(/\r?\n/u);
|
|
5
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
6
|
+
const line = lines[index]?.trim();
|
|
7
|
+
if (line === undefined || line.length === 0) {
|
|
8
|
+
continue;
|
|
9
|
+
}
|
|
10
|
+
try {
|
|
11
|
+
records.push(JSON.parse(line));
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
const message = error instanceof Error ? error.message : "unknown JSON parse error";
|
|
15
|
+
throw new EdictProjectionError(`Edict projection JSONL line ${String(index + 1)} is invalid: ${message}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return records;
|
|
19
|
+
}
|
|
20
|
+
function serializeJsonl(records) {
|
|
21
|
+
return records.map((record) => JSON.stringify(record)).join("\n") + "\n";
|
|
22
|
+
}
|
|
23
|
+
function buildRequestJsonl(request, options) {
|
|
24
|
+
const compilerContext = request.compilerContext ?? options.compilerContext;
|
|
25
|
+
const target = request.target ?? options.target;
|
|
26
|
+
const settings = {
|
|
27
|
+
schema: "edict.compiler.settings/v1",
|
|
28
|
+
type: "compilerSettings",
|
|
29
|
+
operation: "project",
|
|
30
|
+
emit: request.emit,
|
|
31
|
+
...(compilerContext !== undefined ? { compilerContext } : {}),
|
|
32
|
+
...(target !== undefined ? { target } : {}),
|
|
33
|
+
};
|
|
34
|
+
return serializeJsonl([
|
|
35
|
+
settings,
|
|
36
|
+
{
|
|
37
|
+
schema: "edict.compiler.input/v1",
|
|
38
|
+
type: "compilerInput",
|
|
39
|
+
kind: "source",
|
|
40
|
+
name: request.name,
|
|
41
|
+
source: request.content,
|
|
42
|
+
},
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
export function createEdictCliProjectionProvider(options) {
|
|
46
|
+
const command = options.command ?? "edict";
|
|
47
|
+
const timeoutMs = options.timeoutMs ?? 5_000;
|
|
48
|
+
const maxBufferBytes = options.maxBufferBytes ?? 8 * 1024 * 1024;
|
|
49
|
+
return {
|
|
50
|
+
project(input) {
|
|
51
|
+
const result = options.processRunner.run({
|
|
52
|
+
command,
|
|
53
|
+
args: [],
|
|
54
|
+
cwd: options.cwd,
|
|
55
|
+
stdin: buildRequestJsonl(input, options),
|
|
56
|
+
timeoutMs,
|
|
57
|
+
maxBufferBytes,
|
|
58
|
+
});
|
|
59
|
+
if (result.error !== undefined || result.status !== 0) {
|
|
60
|
+
const stderr = result.stderr.trim();
|
|
61
|
+
const reason = result.error?.message ?? (stderr.length > 0 ? stderr : `status ${String(result.status)}`);
|
|
62
|
+
throw new EdictProjectionError(`Edict projection command failed: ${reason}`);
|
|
63
|
+
}
|
|
64
|
+
if (result.stderr.trim().length > 0) {
|
|
65
|
+
throw new EdictProjectionError("Edict projection command wrote stderr on successful status");
|
|
66
|
+
}
|
|
67
|
+
return projectEdictJsonlRecords(input, parseJsonl(result.stdout));
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=edict-cli-projection-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edict-cli-projection-provider.js","sourceRoot":"","sources":["../../src/adapters/edict-cli-projection-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -8,6 +8,13 @@ import { StructuredBuffer } from "../operations/structured-buffer.js";
|
|
|
8
8
|
import type { BufferRange, WarmProjectionBasis, WarmProjectionBundleResult } from "../operations/structured-buffer.js";
|
|
9
9
|
import { COLORFUL_CLI_MINIMUM_VERSION, createColorfulCliProseProjector } from "../adapters/colorful-cli-prose-projector.js";
|
|
10
10
|
import type { ProseProjectionProvider } from "../operations/colorful-prose-projection.js";
|
|
11
|
+
import { createEdictCliProjectionProvider } from "../adapters/edict-cli-projection-provider.js";
|
|
12
|
+
import { EdictProjectionError } from "../operations/edict-projection.js";
|
|
13
|
+
import type { EdictProjectionProvider } from "../operations/edict-projection.js";
|
|
14
|
+
import { ProjectionProviderRegistryError, createProjectionProviderRegistry } from "../operations/projection-provider-registry.js";
|
|
15
|
+
import type { ProjectionProviderRegistry } from "../operations/projection-provider-registry.js";
|
|
16
|
+
import { ProjectionProfileResolverError, createProjectionProfileResolver } from "../operations/projection-profile-resolver.js";
|
|
17
|
+
import type { ProjectionProfileResolver } from "../operations/projection-profile-resolver.js";
|
|
11
18
|
import { GRAFT_VERSION } from "../version.js";
|
|
12
19
|
export { GRAFT_MINIMUM_GIT_VERSION, ensureGitVersionSupportsGraft, } from "../git/version-guard.js";
|
|
13
20
|
export { ensureParserReady, isParserReady } from "../parser/runtime.js";
|
|
@@ -16,18 +23,25 @@ export { createRepoWorkspace, type CreateRepoWorkspaceOptions } from "./repo-wor
|
|
|
16
23
|
export { callGraftTool, parseGraftToolPayload } from "./tool-bridge.js";
|
|
17
24
|
export type { GitVersion, GitVersionGuardOptions } from "../git/version-guard.js";
|
|
18
25
|
export interface CreateStructuredBufferOptions {
|
|
26
|
+
readonly language?: string | undefined;
|
|
27
|
+
readonly profile?: string | null | undefined;
|
|
19
28
|
readonly basis?: WarmProjectionBasis | undefined;
|
|
20
29
|
readonly proseProjector?: ProseProjectionProvider | undefined;
|
|
30
|
+
readonly edictProjector?: EdictProjectionProvider | undefined;
|
|
31
|
+
readonly projectionRegistry?: ProjectionProviderRegistry | undefined;
|
|
32
|
+
readonly projectionProfileResolver?: ProjectionProfileResolver | undefined;
|
|
21
33
|
}
|
|
22
34
|
export interface CreateProjectionBundleOptions extends CreateStructuredBufferOptions {
|
|
23
35
|
readonly viewport?: BufferRange | undefined;
|
|
24
36
|
}
|
|
25
37
|
export declare function createStructuredBuffer(path: string, content: string, options?: CreateStructuredBufferOptions): StructuredBuffer;
|
|
26
38
|
export declare function createProjectionBundle(path: string, content: string, options?: CreateProjectionBundleOptions): WarmProjectionBundleResult;
|
|
27
|
-
export { COLORFUL_CLI_MINIMUM_VERSION, GRAFT_VERSION, MCP_TOOL_NAMES, ObservationCache, RepoWorkspace, StructuredBuffer, createColorfulCliProseProjector, createGraftServer, startDaemonServer, startStdioServer, };
|
|
28
|
-
export type { AnchorAffinityResult, BufferDiagnostic, BufferOutlineResult, BufferPoint, BufferRange, BufferSelection, ChangedRegion, DiagnosticsResult, FoldRegion, FoldRegionsResult, InjectionRegion, InjectionResult, NodeLookupResult, NodeSummary, RenameEditPreview, RenamePreviewResult, SelectionStepResult, SemanticSummaryKind, SemanticSummaryResult, StructuredBufferDiffResult, StructuredBufferFormat, SymbolOccurrence, SymbolOccurrencesResult, SyntaxClass, SyntaxSpan, SyntaxSpanResult, WarmProjectionBundleResult, WarmProjectionParseStatus, WarmProjectionBasis, } from "../operations/structured-buffer.js";
|
|
39
|
+
export { COLORFUL_CLI_MINIMUM_VERSION, GRAFT_VERSION, MCP_TOOL_NAMES, ObservationCache, RepoWorkspace, StructuredBuffer, createColorfulCliProseProjector, createEdictCliProjectionProvider, createProjectionProfileResolver, createProjectionProviderRegistry, EdictProjectionError, ProjectionProfileResolverError, ProjectionProviderRegistryError, createGraftServer, startDaemonServer, startStdioServer, };
|
|
40
|
+
export type { AnchorAffinityResult, BufferDiagnostic, BufferOutlineResult, BufferPoint, BufferRange, BufferSelection, ChangedRegion, DiagnosticsResult, FoldRegion, FoldRegionsResult, InjectionRegion, InjectionResult, NodeLookupResult, NodeSummary, RenameEditPreview, RenamePreviewResult, SelectionStepResult, SemanticSummaryKind, SemanticSummaryResult, StructuredBufferDiffResult, StructuredBufferFormat, SymbolOccurrence, SymbolOccurrencesResult, SyntaxClass, SyntaxSpan, SyntaxSpanResult, WarmProjectionBundleResult, WarmProjectionParseStatus, WarmProjectionBasis, EdictCoreProjection, EdictDiagnosticItem, EdictEchoReceiptProjection, EdictProjectionBundle, EdictProjectionCompilerContext, EdictProjectionDiagnostics, EdictProjectionEmit, EdictProjectionFailure, EdictProjectionProvider, EdictProjectionRequest, EdictProjectionSlot, EdictProjectionStatus, EdictProjectionTargetSettings, EdictTargetIrProjection, EdictSyntaxProjection, WesleyDiagnosticItem, WesleyDigestItem, WesleyDigestProjection, WesleyProjectionBundle, WesleyProjectionDiagnostics, WesleyProjectionEmit, WesleyProjectionFailure, WesleyJsonObject, WesleyProjectionProvider, WesleyProjectionRequest, WesleyProjectionSlot, WesleyProjectionStatus, WesleySyntaxProjection, ProjectionProviderBinding, ProjectionProviderRegistration, ProjectionProviderRegistry, ProjectionProviderResolution, ProjectionAuthoritySlot, } from "../operations/structured-buffer.js";
|
|
41
|
+
export type { ProjectionAuthorityResolution, ProjectionExtensionFallbackInput, ProjectionProfileExtension, ProjectionProfileExtensionInput, ProjectionProfileInput, ProjectionProfileResolver, ProjectionProfileResolverConfig, ProjectionRouteInput, ProjectionRoutingFailure, ProjectionRoutingFailureKind, ResolvedAuthorityContext, } from "../operations/projection-profile-resolver.js";
|
|
29
42
|
export type { ProseProjection, ProseProjectionInput, ProseProjectionProvider, } from "../operations/colorful-prose-projection.js";
|
|
30
43
|
export type { CreateColorfulCliProseProjectorOptions, } from "../adapters/colorful-cli-prose-projector.js";
|
|
44
|
+
export type { CreateEdictCliProjectionProviderOptions, } from "../adapters/edict-cli-projection-provider.js";
|
|
31
45
|
export type { StartDaemonServerOptions, } from "../mcp/daemon-server.js";
|
|
32
46
|
export type { CreateGraftServerOptions, GraftServer, McpToolResult, } from "../mcp/server.js";
|
|
33
47
|
export type { McpToolName, } from "../contracts/capabilities.js";
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACvH,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAElF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACvH,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAChG,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAElF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;CAC5E;AAED,MAAM,WAAW,6BAA8B,SAAQ,6BAA6B;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAC7C;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,6BAAkC,GAC1C,gBAAgB,CAYlB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,6BAAkC,GAC1C,0BAA0B,CAiB5B;AAED,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,gCAAgC,EAChC,oBAAoB,EACpB,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AAEF,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,8BAA8B,EAC9B,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,8CAA8C,CAAC;AAEtD,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,4CAA4C,CAAC;AAEpD,YAAY,EACV,sCAAsC,GACvC,MAAM,6CAA6C,CAAC;AAErD,YAAY,EACV,uCAAuC,GACxC,MAAM,8CAA8C,CAAC;AAEtD,YAAY,EACV,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,wBAAwB,EACxB,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,WAAW,GACZ,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,0BAA0B,EAC1B,mCAAmC,EACnC,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,iCAAiC,CAAC"}
|
package/dist/api/index.js
CHANGED
|
@@ -6,6 +6,10 @@ import { ObservationCache } from "../operations/observation-cache.js";
|
|
|
6
6
|
import { RepoWorkspace } from "../operations/repo-workspace.js";
|
|
7
7
|
import { StructuredBuffer } from "../operations/structured-buffer.js";
|
|
8
8
|
import { COLORFUL_CLI_MINIMUM_VERSION, createColorfulCliProseProjector, } from "../adapters/colorful-cli-prose-projector.js";
|
|
9
|
+
import { createEdictCliProjectionProvider } from "../adapters/edict-cli-projection-provider.js";
|
|
10
|
+
import { EdictProjectionError } from "../operations/edict-projection.js";
|
|
11
|
+
import { ProjectionProviderRegistryError, createProjectionProviderRegistry, } from "../operations/projection-provider-registry.js";
|
|
12
|
+
import { ProjectionProfileResolverError, createProjectionProfileResolver, } from "../operations/projection-profile-resolver.js";
|
|
9
13
|
import { GRAFT_VERSION } from "../version.js";
|
|
10
14
|
export { GRAFT_MINIMUM_GIT_VERSION, ensureGitVersionSupportsGraft, } from "../git/version-guard.js";
|
|
11
15
|
export { ensureParserReady, isParserReady } from "../parser/runtime.js";
|
|
@@ -16,16 +20,26 @@ export function createStructuredBuffer(path, content, options = {}) {
|
|
|
16
20
|
return new StructuredBuffer({
|
|
17
21
|
path,
|
|
18
22
|
content,
|
|
23
|
+
language: options.language,
|
|
24
|
+
profile: options.profile,
|
|
19
25
|
basis: options.basis,
|
|
20
26
|
proseProjector: options.proseProjector,
|
|
27
|
+
edictProjector: options.edictProjector,
|
|
28
|
+
projectionRegistry: options.projectionRegistry,
|
|
29
|
+
projectionProfileResolver: options.projectionProfileResolver,
|
|
21
30
|
});
|
|
22
31
|
}
|
|
23
32
|
export function createProjectionBundle(path, content, options = {}) {
|
|
24
33
|
const buffer = new StructuredBuffer({
|
|
25
34
|
path,
|
|
26
35
|
content,
|
|
36
|
+
language: options.language,
|
|
37
|
+
profile: options.profile,
|
|
27
38
|
basis: options.basis,
|
|
28
39
|
proseProjector: options.proseProjector,
|
|
40
|
+
edictProjector: options.edictProjector,
|
|
41
|
+
projectionRegistry: options.projectionRegistry,
|
|
42
|
+
projectionProfileResolver: options.projectionProfileResolver,
|
|
29
43
|
});
|
|
30
44
|
try {
|
|
31
45
|
return buffer.projectionBundle({ viewport: options.viewport });
|
|
@@ -34,5 +48,5 @@ export function createProjectionBundle(path, content, options = {}) {
|
|
|
34
48
|
buffer.dispose();
|
|
35
49
|
}
|
|
36
50
|
}
|
|
37
|
-
export { COLORFUL_CLI_MINIMUM_VERSION, GRAFT_VERSION, MCP_TOOL_NAMES, ObservationCache, RepoWorkspace, StructuredBuffer, createColorfulCliProseProjector, createGraftServer, startDaemonServer, startStdioServer, };
|
|
51
|
+
export { COLORFUL_CLI_MINIMUM_VERSION, GRAFT_VERSION, MCP_TOOL_NAMES, ObservationCache, RepoWorkspace, StructuredBuffer, createColorfulCliProseProjector, createEdictCliProjectionProvider, createProjectionProfileResolver, createProjectionProviderRegistry, EdictProjectionError, ProjectionProfileResolverError, ProjectionProviderRegistryError, createGraftServer, startDaemonServer, startStdioServer, };
|
|
38
52
|
//# sourceMappingURL=index.js.map
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAoC,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAmC,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAoC,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAmC,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAiBxE,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,OAAe,EACf,UAAyC,EAAE;IAE3C,OAAO,IAAI,gBAAgB,CAAC;QAC1B,IAAI;QACJ,OAAO;QACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;KAC7D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,OAAe,EACf,UAAyC,EAAE;IAE3C,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;QAClC,IAAI;QACJ,OAAO;QACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;KAC7D,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,gCAAgC,EAChC,oBAAoB,EACpB,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-digest.d.ts","sourceRoot":"","sources":["../../src/contracts/review-digest.ts"],"names":[],"mappings":"AAUA,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAEhF"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
// Pure canonical JSON + SHA-256 review digests for application-layer contracts.
|
|
2
|
+
export function canonicalJsonSha256Review(domain, value) {
|
|
3
|
+
return `sha256:${sha256Utf8Hex(canonicalJsonEncode([domain, value]))}`;
|
|
4
|
+
}
|
|
5
|
+
function canonicalJsonEncode(value) {
|
|
6
|
+
return JSON.stringify(normalizeCanonicalJson(value));
|
|
7
|
+
}
|
|
8
|
+
function normalizeCanonicalJson(value, seen = new WeakSet()) {
|
|
9
|
+
if (value === null || typeof value === "string" || typeof value === "boolean") {
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
if (typeof value === "number") {
|
|
13
|
+
if (!Number.isFinite(value)) {
|
|
14
|
+
throw new TypeError("Canonical JSON input must contain only finite numbers");
|
|
15
|
+
}
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
if (value === undefined ||
|
|
19
|
+
typeof value === "function" ||
|
|
20
|
+
typeof value === "symbol" ||
|
|
21
|
+
typeof value === "bigint") {
|
|
22
|
+
throw new TypeError("Canonical JSON input must be JSON data");
|
|
23
|
+
}
|
|
24
|
+
if (seen.has(value)) {
|
|
25
|
+
throw new TypeError("Canonical JSON input must not contain circular data");
|
|
26
|
+
}
|
|
27
|
+
seen.add(value);
|
|
28
|
+
try {
|
|
29
|
+
if (Array.isArray(value)) {
|
|
30
|
+
const output = [];
|
|
31
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
32
|
+
if (!Object.hasOwn(value, index)) {
|
|
33
|
+
throw new TypeError("Canonical JSON input arrays must not contain holes");
|
|
34
|
+
}
|
|
35
|
+
output.push(normalizeCanonicalJson(value[index], seen));
|
|
36
|
+
}
|
|
37
|
+
return output;
|
|
38
|
+
}
|
|
39
|
+
const proto = Object.getPrototypeOf(value);
|
|
40
|
+
if (proto !== Object.prototype && proto !== null) {
|
|
41
|
+
throw new TypeError("Canonical JSON input must contain only plain objects");
|
|
42
|
+
}
|
|
43
|
+
const record = value;
|
|
44
|
+
const sorted = Object.create(null);
|
|
45
|
+
for (const key of Object.keys(record).sort()) {
|
|
46
|
+
const item = record[key];
|
|
47
|
+
if (item === undefined) {
|
|
48
|
+
throw new TypeError("Canonical JSON input object fields must not be undefined");
|
|
49
|
+
}
|
|
50
|
+
Object.defineProperty(sorted, key, {
|
|
51
|
+
enumerable: true,
|
|
52
|
+
value: normalizeCanonicalJson(item, seen),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return sorted;
|
|
56
|
+
}
|
|
57
|
+
finally {
|
|
58
|
+
seen.delete(value);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const SHA256_K = Object.freeze([
|
|
62
|
+
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
63
|
+
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
64
|
+
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
65
|
+
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
66
|
+
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
67
|
+
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
68
|
+
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
69
|
+
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
|
|
70
|
+
]);
|
|
71
|
+
function sha256Utf8Hex(input) {
|
|
72
|
+
const source = new TextEncoder().encode(input);
|
|
73
|
+
let paddedLength = source.length + 1 + 8;
|
|
74
|
+
while (paddedLength % 64 !== 0) {
|
|
75
|
+
paddedLength += 1;
|
|
76
|
+
}
|
|
77
|
+
const padded = new Uint8Array(paddedLength);
|
|
78
|
+
padded.set(source);
|
|
79
|
+
padded[source.length] = 0x80;
|
|
80
|
+
new DataView(padded.buffer).setBigUint64(paddedLength - 8, BigInt(source.length) * 8n, false);
|
|
81
|
+
let h0 = 0x6a09e667;
|
|
82
|
+
let h1 = 0xbb67ae85;
|
|
83
|
+
let h2 = 0x3c6ef372;
|
|
84
|
+
let h3 = 0xa54ff53a;
|
|
85
|
+
let h4 = 0x510e527f;
|
|
86
|
+
let h5 = 0x9b05688c;
|
|
87
|
+
let h6 = 0x1f83d9ab;
|
|
88
|
+
let h7 = 0x5be0cd19;
|
|
89
|
+
const words = new Uint32Array(64);
|
|
90
|
+
for (let offset = 0; offset < padded.length; offset += 64) {
|
|
91
|
+
for (let index = 0; index < 16; index += 1) {
|
|
92
|
+
const byteOffset = offset + index * 4;
|
|
93
|
+
words[index] = (((padded[byteOffset] ?? 0) << 24) |
|
|
94
|
+
((padded[byteOffset + 1] ?? 0) << 16) |
|
|
95
|
+
((padded[byteOffset + 2] ?? 0) << 8) |
|
|
96
|
+
(padded[byteOffset + 3] ?? 0)) >>> 0;
|
|
97
|
+
}
|
|
98
|
+
for (let index = 16; index < 64; index += 1) {
|
|
99
|
+
const w15 = words[index - 15] ?? 0;
|
|
100
|
+
const w2 = words[index - 2] ?? 0;
|
|
101
|
+
const s0 = rotateRight(w15, 7) ^ rotateRight(w15, 18) ^ (w15 >>> 3);
|
|
102
|
+
const s1 = rotateRight(w2, 17) ^ rotateRight(w2, 19) ^ (w2 >>> 10);
|
|
103
|
+
words[index] = ((words[index - 16] ?? 0) + s0 + (words[index - 7] ?? 0) + s1) >>> 0;
|
|
104
|
+
}
|
|
105
|
+
let a = h0;
|
|
106
|
+
let b = h1;
|
|
107
|
+
let c = h2;
|
|
108
|
+
let d = h3;
|
|
109
|
+
let e = h4;
|
|
110
|
+
let f = h5;
|
|
111
|
+
let g = h6;
|
|
112
|
+
let h = h7;
|
|
113
|
+
for (let index = 0; index < 64; index += 1) {
|
|
114
|
+
const s1 = rotateRight(e, 6) ^ rotateRight(e, 11) ^ rotateRight(e, 25);
|
|
115
|
+
const ch = (e & f) ^ (~e & g);
|
|
116
|
+
const temp1 = (h + s1 + ch + (SHA256_K[index] ?? 0) + (words[index] ?? 0)) >>> 0;
|
|
117
|
+
const s0 = rotateRight(a, 2) ^ rotateRight(a, 13) ^ rotateRight(a, 22);
|
|
118
|
+
const maj = (a & b) ^ (a & c) ^ (b & c);
|
|
119
|
+
const temp2 = (s0 + maj) >>> 0;
|
|
120
|
+
h = g;
|
|
121
|
+
g = f;
|
|
122
|
+
f = e;
|
|
123
|
+
e = (d + temp1) >>> 0;
|
|
124
|
+
d = c;
|
|
125
|
+
c = b;
|
|
126
|
+
b = a;
|
|
127
|
+
a = (temp1 + temp2) >>> 0;
|
|
128
|
+
}
|
|
129
|
+
h0 = (h0 + a) >>> 0;
|
|
130
|
+
h1 = (h1 + b) >>> 0;
|
|
131
|
+
h2 = (h2 + c) >>> 0;
|
|
132
|
+
h3 = (h3 + d) >>> 0;
|
|
133
|
+
h4 = (h4 + e) >>> 0;
|
|
134
|
+
h5 = (h5 + f) >>> 0;
|
|
135
|
+
h6 = (h6 + g) >>> 0;
|
|
136
|
+
h7 = (h7 + h) >>> 0;
|
|
137
|
+
}
|
|
138
|
+
return [h0, h1, h2, h3, h4, h5, h6, h7]
|
|
139
|
+
.map((word) => word.toString(16).padStart(8, "0"))
|
|
140
|
+
.join("");
|
|
141
|
+
}
|
|
142
|
+
function rotateRight(value, bits) {
|
|
143
|
+
return ((value >>> bits) | (value << (32 - bits))) >>> 0;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=review-digest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-digest.js","sourceRoot":"","sources":["../../src/contracts/review-digest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { createColorfulCliProseProjector } from "../../adapters/colorful-cli-prose-projector.js";
|
|
3
3
|
import { RefusedResult } from "../../policy/types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { detectOutlineFormat } from "../../parser/lang.js";
|
|
5
5
|
import { diffOutlines } from "../../parser/diff.js";
|
|
6
6
|
import { extractOutlineProjectionForContent } from "../../operations/file-outline.js";
|
|
7
7
|
import { hashContent } from "../cache.js";
|
|
@@ -39,7 +39,7 @@ export const changedSinceTool = {
|
|
|
39
39
|
return ctx.respond("changed_since", { status: "unchanged" });
|
|
40
40
|
}
|
|
41
41
|
if (cacheResult.stale === null) {
|
|
42
|
-
if (
|
|
42
|
+
if (detectOutlineFormat(filePath) === null) {
|
|
43
43
|
const outline = await extractOutlineProjectionForContent(filePath, rawContent, {
|
|
44
44
|
proseProjector: createColorfulCliProseProjector({
|
|
45
45
|
processRunner: ctx.process,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changed-since.js","sourceRoot":"","sources":["../../../src/mcp/tools/changed-since.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"changed-since.js","sourceRoot":"","sources":["../../../src/mcp/tools/changed-since.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { extractOutlineForFileAsync } from "../parser/outline.js";
|
|
2
|
-
import { detectStructuredFormat } from "../parser/lang.js";
|
|
2
|
+
import { detectStructuredFormat, isSupportedOutlineFormat } from "../parser/lang.js";
|
|
3
3
|
import { hashContent } from "./observation-cache.js";
|
|
4
4
|
/**
|
|
5
5
|
* Immutable snapshot of a file read. Built once from a single read,
|
|
@@ -26,7 +26,7 @@ export class CachedFile {
|
|
|
26
26
|
bytes: Buffer.byteLength(rawContent),
|
|
27
27
|
};
|
|
28
28
|
this.lang = detectStructuredFormat(filePath);
|
|
29
|
-
this.supportsOutline = this.lang !== null;
|
|
29
|
+
this.supportsOutline = this.lang !== null && isSupportedOutlineFormat(this.lang);
|
|
30
30
|
Object.freeze(this.actual);
|
|
31
31
|
Object.freeze(this);
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cached-file.js","sourceRoot":"","sources":["../../src/operations/cached-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"cached-file.js","sourceRoot":"","sources":["../../src/operations/cached-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGrF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAOrD;;;;GAIG;AACH,MAAM,OAAO,UAAU;IACrB,gBAAgB;IACC,MAAM,GAAG,YAAqB,CAAC;IACvC,IAAI,CAAS;IACb,UAAU,CAAS;IACnB,IAAI,CAAS;IACb,IAAI,CAAmC;IACvC,eAAe,CAAU;IACzB,MAAM,CAAqD;IACpE,QAAQ,GAA6B,IAAI,CAAC;IAC1C,eAAe,GAAsC,IAAI,CAAC;IAE1D,YAAY,QAAgB,EAAE,UAAkB;QAC9C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;YACpC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;SACrC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5E,MAAM,QAAQ,GAAsB;oBAClC,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;oBAC9B,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;iBACnC,CAAC;gBACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,OAAO,QAAQ,CAAC;YAClB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;CACF"}
|