@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.
Files changed (59) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +41 -0
  3. package/dist/adapters/edict-cli-projection-provider.d.ts +13 -0
  4. package/dist/adapters/edict-cli-projection-provider.d.ts.map +1 -0
  5. package/dist/adapters/edict-cli-projection-provider.js +71 -0
  6. package/dist/adapters/edict-cli-projection-provider.js.map +1 -0
  7. package/dist/api/index.d.ts +16 -2
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +15 -1
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/contracts/review-digest.d.ts +2 -0
  12. package/dist/contracts/review-digest.d.ts.map +1 -0
  13. package/dist/contracts/review-digest.js +145 -0
  14. package/dist/contracts/review-digest.js.map +1 -0
  15. package/dist/mcp/tools/changed-since.js +2 -2
  16. package/dist/mcp/tools/changed-since.js.map +1 -1
  17. package/dist/operations/cached-file.js +2 -2
  18. package/dist/operations/cached-file.js.map +1 -1
  19. package/dist/operations/edict-projection.d.ts +126 -0
  20. package/dist/operations/edict-projection.d.ts.map +1 -0
  21. package/dist/operations/edict-projection.js +394 -0
  22. package/dist/operations/edict-projection.js.map +1 -0
  23. package/dist/operations/projection-profile-resolver.d.ts +67 -0
  24. package/dist/operations/projection-profile-resolver.d.ts.map +1 -0
  25. package/dist/operations/projection-profile-resolver.js +368 -0
  26. package/dist/operations/projection-profile-resolver.js.map +1 -0
  27. package/dist/operations/projection-provider-registry.d.ts +30 -0
  28. package/dist/operations/projection-provider-registry.d.ts.map +1 -0
  29. package/dist/operations/projection-provider-registry.js +86 -0
  30. package/dist/operations/projection-provider-registry.js.map +1 -0
  31. package/dist/operations/repo-workspace.js +2 -2
  32. package/dist/operations/repo-workspace.js.map +1 -1
  33. package/dist/operations/structured-buffer-model.d.ts +28 -3
  34. package/dist/operations/structured-buffer-model.d.ts.map +1 -1
  35. package/dist/operations/structured-buffer-model.js +168 -7
  36. package/dist/operations/structured-buffer-model.js.map +1 -1
  37. package/dist/operations/structured-buffer-query.d.ts.map +1 -1
  38. package/dist/operations/structured-buffer-query.js +231 -6
  39. package/dist/operations/structured-buffer-query.js.map +1 -1
  40. package/dist/operations/structured-buffer.d.ts +19 -1
  41. package/dist/operations/structured-buffer.d.ts.map +1 -1
  42. package/dist/operations/structured-buffer.js +11 -0
  43. package/dist/operations/structured-buffer.js.map +1 -1
  44. package/dist/operations/wesley-projection.d.ts +67 -0
  45. package/dist/operations/wesley-projection.d.ts.map +1 -0
  46. package/dist/operations/wesley-projection.js +2 -0
  47. package/dist/operations/wesley-projection.js.map +1 -0
  48. package/dist/operations/xml-syntax.d.ts +5 -0
  49. package/dist/operations/xml-syntax.d.ts.map +1 -0
  50. package/dist/operations/xml-syntax.js +155 -0
  51. package/dist/operations/xml-syntax.js.map +1 -0
  52. package/dist/parser/lang.d.ts +9 -1
  53. package/dist/parser/lang.d.ts.map +1 -1
  54. package/dist/parser/lang.js +20 -0
  55. package/dist/parser/lang.js.map +1 -1
  56. package/dist/parser/outline.d.ts.map +1 -1
  57. package/dist/parser/outline.js +9 -3
  58. package/dist/parser/outline.js.map +1 -1
  59. 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":"AACA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,mCAAmC,CAAC;AAmB3C,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC;YACpF,MAAM,IAAI,oBAAoB,CAAC,+BAA+B,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,OAA2B;IACjD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC3E,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA+B,EAC/B,OAAgD;IAEhD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;IAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAChD,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;IACF,OAAO,cAAc,CAAC;QACpB,QAAQ;QACR;YACE,MAAM,EAAE,yBAAyB;YACjC,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAgD;IAEhD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAEjE,OAAO;QACL,OAAO,CAAC,KAAK;YACX,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC;gBACvC,OAAO;gBACP,IAAI,EAAE,EAAE;gBACR,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;gBACxC,SAAS;gBACT,cAAc;aACf,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzG,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,oBAAoB,CAAC,4DAA4D,CAAC,CAAC;YAC/F,CAAC;YAED,OAAO,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
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
@@ -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;AAYxE,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,OAAe,EACf,UAAyC,EAAE;IAE3C,OAAO,IAAI,gBAAgB,CAAC;QAC1B,IAAI;QACJ,OAAO;QACP,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,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,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,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,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,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,2 @@
1
+ export declare function canonicalJsonSha256Review(domain: string, value: unknown): string;
2
+ //# sourceMappingURL=review-digest.d.ts.map
@@ -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 { detectStructuredFormat } from "../../parser/lang.js";
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 (detectStructuredFormat(filePath) === null) {
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":"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"}
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;AAG3D,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,CAAC;QAC1C,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"}
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"}