@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
@@ -0,0 +1,155 @@
1
+ import { rangeOverlaps } from "./structured-buffer-model.js";
2
+ function isXmlSpace(char) {
3
+ return char === " " || char === "\t" || char === "\n" || char === "\r";
4
+ }
5
+ function isNameStop(char) {
6
+ return char === undefined
7
+ || isXmlSpace(char)
8
+ || char === "="
9
+ || char === "/"
10
+ || char === "?"
11
+ || char === ">"
12
+ || char === "<";
13
+ }
14
+ function skipXmlSpace(source, index) {
15
+ let current = index;
16
+ while (isXmlSpace(source[current])) {
17
+ current += 1;
18
+ }
19
+ return current;
20
+ }
21
+ function readName(source, index) {
22
+ let current = index;
23
+ while (!isNameStop(source[current])) {
24
+ current += 1;
25
+ }
26
+ return current;
27
+ }
28
+ function pointAtCursor(cursor) {
29
+ return { row: cursor.row, column: cursor.column };
30
+ }
31
+ function advanceCursor(source, cursor, targetIndex) {
32
+ if (targetIndex < cursor.index) {
33
+ throw new Error("XML syntax span cursor moved backwards");
34
+ }
35
+ while (cursor.index < targetIndex) {
36
+ const codePoint = source.codePointAt(cursor.index);
37
+ const char = codePoint === undefined ? "" : String.fromCodePoint(codePoint);
38
+ cursor.index += char.length > 0 ? char.length : 1;
39
+ if (char === "\n") {
40
+ cursor.row += 1;
41
+ cursor.column = 0;
42
+ }
43
+ else {
44
+ cursor.column += 1;
45
+ }
46
+ }
47
+ return pointAtCursor(cursor);
48
+ }
49
+ function pushSpan(spans, source, cursor, className, start, end) {
50
+ if (end <= start) {
51
+ return;
52
+ }
53
+ spans.push({
54
+ className,
55
+ range: {
56
+ start: advanceCursor(source, cursor, start),
57
+ end: advanceCursor(source, cursor, end),
58
+ },
59
+ text: source.slice(start, end),
60
+ });
61
+ }
62
+ function parseXmlMarkup(source, start, spans, cursor) {
63
+ const declaration = source.startsWith("<!", start);
64
+ const processingInstruction = source.startsWith("<?", start);
65
+ let opener = "<";
66
+ if (source.startsWith("</", start)) {
67
+ opener = "</";
68
+ }
69
+ else if (processingInstruction) {
70
+ opener = "<?";
71
+ }
72
+ else if (declaration) {
73
+ opener = "<!";
74
+ }
75
+ pushSpan(spans, source, cursor, "punctuation", start, start + opener.length);
76
+ let index = start + opener.length;
77
+ index = skipXmlSpace(source, index);
78
+ const nameStart = index;
79
+ const nameEnd = readName(source, index);
80
+ if (nameEnd > nameStart) {
81
+ pushSpan(spans, source, cursor, declaration || processingInstruction ? "keyword" : "type", nameStart, nameEnd);
82
+ index = nameEnd;
83
+ }
84
+ let expectingValue = false;
85
+ while (index < source.length) {
86
+ if (source.startsWith("?>", index) || source.startsWith("/>", index)) {
87
+ pushSpan(spans, source, cursor, "punctuation", index, index + 2);
88
+ return index + 2;
89
+ }
90
+ const char = source[index];
91
+ if (char === ">") {
92
+ pushSpan(spans, source, cursor, "punctuation", index, index + 1);
93
+ return index + 1;
94
+ }
95
+ if (isXmlSpace(char)) {
96
+ index = skipXmlSpace(source, index);
97
+ continue;
98
+ }
99
+ if (char === "=") {
100
+ pushSpan(spans, source, cursor, "operator", index, index + 1);
101
+ expectingValue = true;
102
+ index += 1;
103
+ continue;
104
+ }
105
+ if (char === "\"" || char === "'") {
106
+ const close = source.indexOf(char, index + 1);
107
+ const end = close >= 0 ? close + 1 : source.length;
108
+ pushSpan(spans, source, cursor, "string", index, end);
109
+ expectingValue = false;
110
+ index = end;
111
+ continue;
112
+ }
113
+ const tokenStart = index;
114
+ const tokenEnd = readName(source, index);
115
+ if (tokenEnd <= tokenStart) {
116
+ index += 1;
117
+ continue;
118
+ }
119
+ pushSpan(spans, source, cursor, expectingValue ? "string" : "property", tokenStart, tokenEnd);
120
+ expectingValue = false;
121
+ index = tokenEnd;
122
+ }
123
+ return source.length;
124
+ }
125
+ export function buildXmlSyntaxSpans(source, opts = {}) {
126
+ const spans = [];
127
+ const cursor = { index: 0, row: 0, column: 0 };
128
+ let index = 0;
129
+ while (index < source.length) {
130
+ const open = source.indexOf("<", index);
131
+ if (open < 0) {
132
+ break;
133
+ }
134
+ if (source.startsWith("<!--", open)) {
135
+ const close = source.indexOf("-->", open + 4);
136
+ const end = close >= 0 ? close + 3 : source.length;
137
+ pushSpan(spans, source, cursor, "comment", open, end);
138
+ index = end;
139
+ continue;
140
+ }
141
+ if (source.startsWith("<![CDATA[", open)) {
142
+ const close = source.indexOf("]]>", open + 9);
143
+ const end = close >= 0 ? close + 3 : source.length;
144
+ pushSpan(spans, source, cursor, "string", open, end);
145
+ index = end;
146
+ continue;
147
+ }
148
+ index = parseXmlMarkup(source, open, spans, cursor);
149
+ }
150
+ const viewport = opts.viewport;
151
+ return viewport === undefined
152
+ ? spans
153
+ : spans.filter((span) => rangeOverlaps(span.range, viewport));
154
+ }
155
+ //# sourceMappingURL=xml-syntax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml-syntax.js","sourceRoot":"","sources":["../../src/operations/xml-syntax.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  export declare const SUPPORTED_LANGS: readonly ["ts", "tsx", "js", "rust", "graphql", "python", "go", "json", "toml", "yaml"];
2
2
  export type SupportedLang = typeof SUPPORTED_LANGS[number];
3
- export declare const SUPPORTED_STRUCTURED_FORMATS: readonly ["ts", "tsx", "js", "rust", "graphql", "python", "go", "json", "toml", "yaml", "md"];
3
+ export declare const SUPPORTED_STRUCTURED_FORMATS: readonly ["ts", "tsx", "js", "rust", "graphql", "python", "go", "json", "toml", "yaml", "md", "xml"];
4
4
  export type SupportedStructuredFormat = typeof SUPPORTED_STRUCTURED_FORMATS[number];
5
+ export declare const SUPPORTED_OUTLINE_FORMATS: readonly ["ts", "tsx", "js", "rust", "graphql", "python", "go", "json", "toml", "yaml", "md"];
6
+ export type SupportedOutlineFormat = typeof SUPPORTED_OUTLINE_FORMATS[number];
5
7
  export declare function isSupportedLang(value: string): value is SupportedLang;
6
8
  export declare function isSupportedStructuredFormat(value: string): value is SupportedStructuredFormat;
9
+ export declare function isSupportedOutlineFormat(value: string): value is SupportedOutlineFormat;
7
10
  /**
8
11
  * Detect the tree-sitter language from a file suffix.
9
12
  * Returns null for unsupported file types.
@@ -14,4 +17,9 @@ export declare function detectLang(filePath: string): SupportedLang | null;
14
17
  * Returns null for file types that still have no explicit extractor.
15
18
  */
16
19
  export declare function detectStructuredFormat(filePath: string): SupportedStructuredFormat | null;
20
+ /**
21
+ * Detect formats that support outline extraction for bounded read surfaces.
22
+ * Syntax-only formats, such as XML/SVG, intentionally return null here.
23
+ */
24
+ export declare function detectOutlineFormat(filePath: string): SupportedOutlineFormat | null;
17
25
  //# sourceMappingURL=lang.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../src/parser/lang.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,yFAWlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,4BAA4B,+FAG/B,CAAC;AACX,MAAM,MAAM,yBAAyB,GAAG,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC;AA4CpF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,GACZ,KAAK,IAAI,yBAAyB,CAEpC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAEjE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GACf,yBAAyB,GAAG,IAAI,CAElC"}
1
+ {"version":3,"file":"lang.d.ts","sourceRoot":"","sources":["../../src/parser/lang.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,yFAWlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,4BAA4B,sGAI/B,CAAC;AACX,MAAM,MAAM,yBAAyB,GAAG,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC;AAEpF,eAAO,MAAM,yBAAyB,+FAG5B,CAAC;AACX,MAAM,MAAM,sBAAsB,GAAG,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAkD9E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,GACZ,KAAK,IAAI,yBAAyB,CAEpC;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GACZ,KAAK,IAAI,sBAAsB,CAEjC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAEjE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GACf,yBAAyB,GAAG,IAAI,CAElC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GACf,sBAAsB,GAAG,IAAI,CAE/B"}
@@ -13,6 +13,11 @@ export const SUPPORTED_LANGS = [
13
13
  export const SUPPORTED_STRUCTURED_FORMATS = [
14
14
  ...SUPPORTED_LANGS,
15
15
  "md",
16
+ "xml",
17
+ ];
18
+ export const SUPPORTED_OUTLINE_FORMATS = [
19
+ ...SUPPORTED_LANGS,
20
+ "md",
16
21
  ];
17
22
  const LANGUAGE_SUFFIXES = {
18
23
  ts: [".ts", ".mts", ".cts"],
@@ -29,6 +34,11 @@ const LANGUAGE_SUFFIXES = {
29
34
  const STRUCTURED_FORMAT_SUFFIXES = {
30
35
  ...LANGUAGE_SUFFIXES,
31
36
  md: [".md"],
37
+ xml: [".xml", ".svg"],
38
+ };
39
+ const OUTLINE_FORMAT_SUFFIXES = {
40
+ ...LANGUAGE_SUFFIXES,
41
+ md: [".md"],
32
42
  };
33
43
  function normalizedSuffix(filePath) {
34
44
  const normalized = filePath.trim().toLowerCase();
@@ -52,6 +62,9 @@ export function isSupportedLang(value) {
52
62
  export function isSupportedStructuredFormat(value) {
53
63
  return SUPPORTED_STRUCTURED_FORMATS.includes(value);
54
64
  }
65
+ export function isSupportedOutlineFormat(value) {
66
+ return SUPPORTED_OUTLINE_FORMATS.includes(value);
67
+ }
55
68
  /**
56
69
  * Detect the tree-sitter language from a file suffix.
57
70
  * Returns null for unsupported file types.
@@ -66,4 +79,11 @@ export function detectLang(filePath) {
66
79
  export function detectStructuredFormat(filePath) {
67
80
  return detectBySuffix(filePath, STRUCTURED_FORMAT_SUFFIXES);
68
81
  }
82
+ /**
83
+ * Detect formats that support outline extraction for bounded read surfaces.
84
+ * Syntax-only formats, such as XML/SVG, intentionally return null here.
85
+ */
86
+ export function detectOutlineFormat(filePath) {
87
+ return detectBySuffix(filePath, OUTLINE_FORMAT_SUFFIXES);
88
+ }
69
89
  //# sourceMappingURL=lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lang.js","sourceRoot":"","sources":["../../src/parser/lang.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,MAAM;IACN,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;CACE,CAAC;AAGX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,GAAG,eAAe;IAClB,IAAI;CACI,CAAC;AAGX,MAAM,iBAAiB,GAAuD;IAC5E,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC;IAC1C,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,CAAC,KAAK,CAAC;IACX,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,0BAA0B,GAAmE;IACjG,GAAG,iBAAiB;IACpB,EAAE,EAAE,CAAC,KAAK,CAAC;CACZ,CAAC;AAEF,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAC3B,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAC7B,CAAC;IACF,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACvF,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CACrB,QAAgB,EAChB,QAAsD;IAEtD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAmC,EAAE,CAAC;QACrG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAa;IAEb,OAAQ,4BAAkD,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB;IAEhB,OAAO,cAAc,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"lang.js","sourceRoot":"","sources":["../../src/parser/lang.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../src/parser/outline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,KAAK,UAAU,EAGhB,MAAM,cAAc,CAAC;AAQtB;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,yBAAgC,GACrC,aAAa,CAWf;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAQ9E;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,yBAAgC,GACrC,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,IAAI,CAOtB;AAED,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAO/B"}
1
+ {"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../src/parser/outline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,KAAK,UAAU,EAGhB,MAAM,cAAc,CAAC;AAQtB;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,yBAAgC,GACrC,aAAa,CAcf;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAQ9E;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,yBAAgC,GACrC,OAAO,CAAC,aAAa,CAAC,CAcxB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,IAAI,CAOtB;AAED,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAO/B"}
@@ -1,4 +1,4 @@
1
- import { detectStructuredFormat } from "./lang.js";
1
+ import { detectOutlineFormat } from "./lang.js";
2
2
  import { parseStructuredTree, parseStructuredTreeAsync, } from "./runtime.js";
3
3
  import { extractMarkdownOutline } from "./markdown.js";
4
4
  import { getExtractor } from "./extractors/index.js";
@@ -16,6 +16,9 @@ export function extractOutline(source, lang = "ts") {
16
16
  if (lang === "md") {
17
17
  return extractMarkdownOutline(source);
18
18
  }
19
+ if (lang === "xml") {
20
+ return { entries: [], jumpTable: [], partial: false };
21
+ }
19
22
  const parsed = parseStructuredTree(lang, source);
20
23
  try {
21
24
  return extractOutlineFromParsedTree(parsed);
@@ -37,6 +40,9 @@ export async function extractOutlineAsync(source, lang = "ts") {
37
40
  if (lang === "md") {
38
41
  return extractMarkdownOutline(source);
39
42
  }
43
+ if (lang === "xml") {
44
+ return { entries: [], jumpTable: [], partial: false };
45
+ }
40
46
  const parsed = await parseStructuredTreeAsync(lang, source);
41
47
  try {
42
48
  return extractOutlineFromParsedTree(parsed);
@@ -46,14 +52,14 @@ export async function extractOutlineAsync(source, lang = "ts") {
46
52
  }
47
53
  }
48
54
  export function extractOutlineForFile(filePath, source) {
49
- const lang = detectStructuredFormat(filePath);
55
+ const lang = detectOutlineFormat(filePath);
50
56
  if (lang === null) {
51
57
  return null;
52
58
  }
53
59
  return extractOutline(source, lang);
54
60
  }
55
61
  export async function extractOutlineForFileAsync(filePath, source) {
56
- const lang = detectStructuredFormat(filePath);
62
+ const lang = detectOutlineFormat(filePath);
57
63
  if (lang === null) {
58
64
  return null;
59
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"outline.js","sourceRoot":"","sources":["../../src/parser/outline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EAEL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,OAAkC,IAAI;IAEtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAkB;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAkB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAkC,IAAI;IAEtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,MAAc;IAEd,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,QAAgB,EAChB,MAAc;IAEd,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"outline.js","sourceRoot":"","sources":["../../src/parser/outline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,EAEL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,OAAkC,IAAI;IAEtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAkB;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAkB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,OAAkC,IAAI;IAEtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,MAAc;IAEd,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,QAAgB,EAChB,MAAc;IAEd,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyingrobots/graft",
3
- "version": "0.10.1",
3
+ "version": "0.11.1",
4
4
  "description": "Context governor and between-commit activity surface for coding agents",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.30.0",