@untangle-code/context-artifacts 0.0.0-stage → 0.1.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 (109) hide show
  1. package/LICENSE +661 -0
  2. package/NOTICE +90 -0
  3. package/README.md +247 -2
  4. package/THIRD_PARTY_LICENSES.md +24 -0
  5. package/dist/adapters/asyncapi.d.ts +20 -0
  6. package/dist/adapters/asyncapi.d.ts.map +1 -0
  7. package/dist/adapters/asyncapi.js +95 -0
  8. package/dist/adapters/asyncapi.js.map +1 -0
  9. package/dist/adapters/docker.d.ts +43 -0
  10. package/dist/adapters/docker.d.ts.map +1 -0
  11. package/dist/adapters/docker.js +97 -0
  12. package/dist/adapters/docker.js.map +1 -0
  13. package/dist/adapters/kubernetes.d.ts +22 -0
  14. package/dist/adapters/kubernetes.d.ts.map +1 -0
  15. package/dist/adapters/kubernetes.js +56 -0
  16. package/dist/adapters/kubernetes.js.map +1 -0
  17. package/dist/adapters/markdown.d.ts +35 -0
  18. package/dist/adapters/markdown.d.ts.map +1 -0
  19. package/dist/adapters/markdown.js +36 -0
  20. package/dist/adapters/markdown.js.map +1 -0
  21. package/dist/adapters/openapi.d.ts +21 -0
  22. package/dist/adapters/openapi.d.ts.map +1 -0
  23. package/dist/adapters/openapi.js +101 -0
  24. package/dist/adapters/openapi.js.map +1 -0
  25. package/dist/adapters/protobuf.d.ts +34 -0
  26. package/dist/adapters/protobuf.d.ts.map +1 -0
  27. package/dist/adapters/protobuf.js +221 -0
  28. package/dist/adapters/protobuf.js.map +1 -0
  29. package/dist/adapters/shared.d.ts +65 -0
  30. package/dist/adapters/shared.d.ts.map +1 -0
  31. package/dist/adapters/shared.js +95 -0
  32. package/dist/adapters/shared.js.map +1 -0
  33. package/dist/adapters/sql.d.ts +104 -0
  34. package/dist/adapters/sql.d.ts.map +1 -0
  35. package/dist/adapters/sql.js +427 -0
  36. package/dist/adapters/sql.js.map +1 -0
  37. package/dist/adapters/terraform.d.ts +40 -0
  38. package/dist/adapters/terraform.d.ts.map +1 -0
  39. package/dist/adapters/terraform.js +186 -0
  40. package/dist/adapters/terraform.js.map +1 -0
  41. package/dist/adapters/text.d.ts +24 -0
  42. package/dist/adapters/text.d.ts.map +1 -0
  43. package/dist/adapters/text.js +31 -0
  44. package/dist/adapters/text.js.map +1 -0
  45. package/dist/config-validation.d.ts +18 -0
  46. package/dist/config-validation.d.ts.map +1 -0
  47. package/dist/config-validation.js +30 -0
  48. package/dist/config-validation.js.map +1 -0
  49. package/dist/coverage.d.ts +114 -0
  50. package/dist/coverage.d.ts.map +1 -0
  51. package/dist/coverage.js +0 -0
  52. package/dist/coverage.js.map +1 -0
  53. package/dist/ids.d.ts +12 -0
  54. package/dist/ids.d.ts.map +1 -0
  55. package/dist/ids.js +42 -0
  56. package/dist/ids.js.map +1 -0
  57. package/dist/index.d.ts +55 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +18 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/registry.d.ts +51 -0
  62. package/dist/registry.d.ts.map +1 -0
  63. package/dist/registry.js +86 -0
  64. package/dist/registry.js.map +1 -0
  65. package/dist/staleness.d.ts +44 -0
  66. package/dist/staleness.d.ts.map +1 -0
  67. package/dist/staleness.js +35 -0
  68. package/dist/staleness.js.map +1 -0
  69. package/dist/text/delimiter-balance.d.ts +95 -0
  70. package/dist/text/delimiter-balance.d.ts.map +1 -0
  71. package/dist/text/delimiter-balance.js +209 -0
  72. package/dist/text/delimiter-balance.js.map +1 -0
  73. package/dist/text/line-index.d.ts +61 -0
  74. package/dist/text/line-index.d.ts.map +1 -0
  75. package/dist/text/line-index.js +75 -0
  76. package/dist/text/line-index.js.map +1 -0
  77. package/dist/text/yaml-lite.d.ts +73 -0
  78. package/dist/text/yaml-lite.d.ts.map +1 -0
  79. package/dist/text/yaml-lite.js +486 -0
  80. package/dist/text/yaml-lite.js.map +1 -0
  81. package/package.json +61 -3
  82. package/src/adapters/__golden__/adr-0001-sections.json +68 -0
  83. package/src/adapters/__golden__/app-compose-services.json +24 -0
  84. package/src/adapters/__golden__/app-image-stages.json +24 -0
  85. package/src/adapters/__golden__/infra-main-sections.json +46 -0
  86. package/src/adapters/__golden__/orders-events-operations.json +24 -0
  87. package/src/adapters/__golden__/orders-proto-sections.json +57 -0
  88. package/src/adapters/__golden__/orders-schema-statements.json +68 -0
  89. package/src/adapters/__golden__/users-api-operations.json +46 -0
  90. package/src/adapters/__golden__/web-manifests-resources.json +24 -0
  91. package/src/adapters/asyncapi.ts +147 -0
  92. package/src/adapters/docker.ts +170 -0
  93. package/src/adapters/kubernetes.ts +103 -0
  94. package/src/adapters/markdown.ts +88 -0
  95. package/src/adapters/openapi.ts +156 -0
  96. package/src/adapters/protobuf.ts +286 -0
  97. package/src/adapters/shared.ts +151 -0
  98. package/src/adapters/sql.ts +555 -0
  99. package/src/adapters/terraform.ts +261 -0
  100. package/src/adapters/text.ts +72 -0
  101. package/src/config-validation.ts +41 -0
  102. package/src/coverage.ts +336 -0
  103. package/src/ids.ts +57 -0
  104. package/src/index.ts +105 -0
  105. package/src/registry.ts +155 -0
  106. package/src/staleness.ts +69 -0
  107. package/src/text/delimiter-balance.ts +295 -0
  108. package/src/text/line-index.ts +108 -0
  109. package/src/text/yaml-lite.ts +565 -0
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Line-oriented byte indexing shared by every format adapter.
3
+ *
4
+ * Every adapter in this package chunks by *line range* (headings, top-level
5
+ * SQL statements, brace-delimited blocks, YAML documents, …), never by raw
6
+ * character offset, so a single small utility converts a 1-based inclusive
7
+ * line span into the byte-accurate `SourceRange` domain requires
8
+ * (`startLine`/`endLine` 1-based inclusive, `startByte`/`endByte` 0-based
9
+ * half-open — see `packages/domain/src/types/common.ts`).
10
+ *
11
+ * Splitting only ever happens right after a `\n` (0x0A, single ASCII byte,
12
+ * never a UTF-8 continuation byte), so every line boundary this module
13
+ * produces is automatically a safe UTF-8 boundary — no separate multi-byte
14
+ * safety check is needed the way the chunker package needs one for
15
+ * mid-line token-boundary splits.
16
+ */
17
+ import type { SourceRange } from "@untangle-code/domain";
18
+ export interface LineIndex {
19
+ readonly buffer: Buffer;
20
+ /**
21
+ * Byte offset of the start of each line (0-based), one entry per line,
22
+ * PLUS one trailing sentinel equal to `buffer.length` — so
23
+ * `lineStarts[lineCount]` is always a valid "end of file" byte offset.
24
+ */
25
+ readonly lineStarts: number[];
26
+ readonly lineCount: number;
27
+ }
28
+ /** Builds a `LineIndex` from full document content (a decoded UTF-8 string). */
29
+ export declare function buildLineIndex(content: string): LineIndex;
30
+ /**
31
+ * 1-based line number containing byte offset `byteOffset` (clamped into
32
+ * `[0, buffer.length]`). Binary search over `lineStarts` (sorted ascending,
33
+ * one entry per line plus the EOF sentinel — see {@link LineIndex}), used by
34
+ * any scanner that tracks byte offsets directly (e.g. the SQL adapter's
35
+ * per-statement spans) and needs the matching 1-based line number without
36
+ * re-walking the buffer from the start.
37
+ */
38
+ export declare function lineNumberForByte(index: LineIndex, byteOffset: number): number;
39
+ /**
40
+ * Builds a `SourceRange` for the 1-based inclusive line span
41
+ * `[startLine, endLine]`. `endByte` is the byte offset of the start of the
42
+ * line AFTER `endLine` (or end-of-file for the last line), so two chunks
43
+ * built from adjacent line spans (`endLine` of one === `startLine - 1` of
44
+ * the next) are byte-adjacent with no gap and no overlap.
45
+ */
46
+ export declare function rangeForLines(index: LineIndex, startLine: number, endLine: number): SourceRange;
47
+ /** Decodes the UTF-8 bytes `[startByte, endByte)` as a string. */
48
+ export declare function sliceBytes(index: LineIndex, startByte: number, endByte: number): string;
49
+ /** Convenience: raw content of the 1-based inclusive line span. */
50
+ export declare function sliceLines(index: LineIndex, startLine: number, endLine: number): string;
51
+ /**
52
+ * Splits content into physical lines WITHOUT their line terminator, plus a
53
+ * `LineIndex` for range/byte lookups. Adapters that scan line-by-line
54
+ * (Markdown headings, Dockerfile `FROM`, brace-block scanners, …) use this
55
+ * once per document.
56
+ */
57
+ export declare function splitLines(content: string): {
58
+ lines: string[];
59
+ index: LineIndex;
60
+ };
61
+ //# sourceMappingURL=line-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-index.d.ts","sourceRoot":"","sources":["../../src/text/line-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAWzD;AAOD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAa9E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAI/F;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGvF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAMjF"}
@@ -0,0 +1,75 @@
1
+ /** Builds a `LineIndex` from full document content (a decoded UTF-8 string). */
2
+ export function buildLineIndex(content) {
3
+ const buffer = Buffer.from(content, "utf8");
4
+ const lineStarts = [0];
5
+ for (let i = 0; i < buffer.length; i += 1) {
6
+ if (buffer[i] === 0x0a) {
7
+ lineStarts.push(i + 1);
8
+ }
9
+ }
10
+ const lineCount = lineStarts.length;
11
+ lineStarts.push(buffer.length);
12
+ return { buffer, lineStarts, lineCount };
13
+ }
14
+ function lineStartByte(index, line) {
15
+ const clamped = Math.min(Math.max(line, 1), index.lineStarts.length);
16
+ return index.lineStarts[clamped - 1] ?? index.buffer.length;
17
+ }
18
+ /**
19
+ * 1-based line number containing byte offset `byteOffset` (clamped into
20
+ * `[0, buffer.length]`). Binary search over `lineStarts` (sorted ascending,
21
+ * one entry per line plus the EOF sentinel — see {@link LineIndex}), used by
22
+ * any scanner that tracks byte offsets directly (e.g. the SQL adapter's
23
+ * per-statement spans) and needs the matching 1-based line number without
24
+ * re-walking the buffer from the start.
25
+ */
26
+ export function lineNumberForByte(index, byteOffset) {
27
+ const target = Math.min(Math.max(byteOffset, 0), index.buffer.length);
28
+ let low = 0;
29
+ let high = index.lineCount - 1;
30
+ while (low < high) {
31
+ const mid = Math.ceil((low + high) / 2);
32
+ if ((index.lineStarts[mid] ?? 0) <= target) {
33
+ low = mid;
34
+ }
35
+ else {
36
+ high = mid - 1;
37
+ }
38
+ }
39
+ return low + 1;
40
+ }
41
+ /**
42
+ * Builds a `SourceRange` for the 1-based inclusive line span
43
+ * `[startLine, endLine]`. `endByte` is the byte offset of the start of the
44
+ * line AFTER `endLine` (or end-of-file for the last line), so two chunks
45
+ * built from adjacent line spans (`endLine` of one === `startLine - 1` of
46
+ * the next) are byte-adjacent with no gap and no overlap.
47
+ */
48
+ export function rangeForLines(index, startLine, endLine) {
49
+ const startByte = lineStartByte(index, startLine);
50
+ const endByte = lineStartByte(index, endLine + 1);
51
+ return { startLine, endLine, startByte, endByte };
52
+ }
53
+ /** Decodes the UTF-8 bytes `[startByte, endByte)` as a string. */
54
+ export function sliceBytes(index, startByte, endByte) {
55
+ return index.buffer.toString("utf8", startByte, endByte);
56
+ }
57
+ /** Convenience: raw content of the 1-based inclusive line span. */
58
+ export function sliceLines(index, startLine, endLine) {
59
+ const range = rangeForLines(index, startLine, endLine);
60
+ return sliceBytes(index, range.startByte, range.endByte);
61
+ }
62
+ /**
63
+ * Splits content into physical lines WITHOUT their line terminator, plus a
64
+ * `LineIndex` for range/byte lookups. Adapters that scan line-by-line
65
+ * (Markdown headings, Dockerfile `FROM`, brace-block scanners, …) use this
66
+ * once per document.
67
+ */
68
+ export function splitLines(content) {
69
+ const index = buildLineIndex(content);
70
+ // `\r\n` and `\n` both split correctly here; a trailing `\r` (if any) is
71
+ // stripped so heading/keyword regexes don't have to account for it.
72
+ const lines = content.split("\n").map((line) => (line.endsWith("\r") ? line.slice(0, -1) : line));
73
+ return { lines, index };
74
+ }
75
+ //# sourceMappingURL=line-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-index.js","sourceRoot":"","sources":["../../src/text/line-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Minimal block-style YAML subset parser.
3
+ *
4
+ * No YAML/JSON library is added here deliberately (see README
5
+ * "Entscheidungen"): this package's assigned paths cannot touch the
6
+ * workspace root lockfile, so pulling in an external dependency mid-wave
7
+ * would require an edit no other agent could safely race against. Instead
8
+ * this module implements exactly the YAML subset OpenAPI/AsyncAPI/
9
+ * Kubernetes/Compose documents actually use in practice: block mappings
10
+ * and sequences via indentation, single-line flow collections (`{a: 1}`,
11
+ * `[a, b]`), plain/single/double-quoted scalars, `|`/`>` block scalars,
12
+ * `#` comments, and `---`/`...` document separators. NOT supported:
13
+ * anchors/aliases, tags, multi-line flow collections, complex mapping
14
+ * keys. A document using one of those fails to parse — `parseYamlNode`
15
+ * throws `YamlParseError`, which every adapter using this module catches
16
+ * and turns into a visible degrade (architecture.md §22.2: "Parserfehler
17
+ * degradieren auf Textanalyse"), never a crash.
18
+ */
19
+ export type YamlScalarValue = string | number | boolean | null;
20
+ export interface YamlScalarNode {
21
+ kind: "scalar";
22
+ startLine: number;
23
+ endLine: number;
24
+ value: YamlScalarValue;
25
+ }
26
+ export interface YamlMapEntry {
27
+ key: string;
28
+ keyLine: number;
29
+ value: YamlNode;
30
+ }
31
+ export interface YamlMapNode {
32
+ kind: "map";
33
+ startLine: number;
34
+ endLine: number;
35
+ entries: YamlMapEntry[];
36
+ }
37
+ export interface YamlSeqNode {
38
+ kind: "seq";
39
+ startLine: number;
40
+ endLine: number;
41
+ items: YamlNode[];
42
+ }
43
+ export type YamlNode = YamlScalarNode | YamlMapNode | YamlSeqNode;
44
+ export declare class YamlParseError extends Error {
45
+ readonly line: number;
46
+ constructor(message: string, line: number);
47
+ }
48
+ /** One `---`-separated document within a (possibly multi-document) YAML file. */
49
+ export interface YamlDocumentSpan {
50
+ startLine: number;
51
+ endLine: number;
52
+ text: string;
53
+ }
54
+ /**
55
+ * Splits raw content into `---`-separated document spans (Kubernetes
56
+ * manifests, spec.md §19 "je Dokument eine Ressource"). A leading `---` is
57
+ * just the start of the first document, not an empty document before it. A
58
+ * trailing `...` end-marker line is treated the same as `---` for the
59
+ * purpose of ending a document.
60
+ */
61
+ export declare function splitYamlDocuments(content: string): YamlDocumentSpan[];
62
+ /**
63
+ * Parses one YAML document's full text (e.g. one `splitYamlDocuments()`
64
+ * span) into a `YamlNode` tree. Line numbers on every node are 1-based
65
+ * WITHIN `text` — add `lineOffset` (a span's `startLine - 1`) yourself when
66
+ * mapping back to the original multi-document file. Returns `null` for a
67
+ * document that is empty or comments-only. Throws `YamlParseError` (never
68
+ * any other error type) on anything outside the supported subset.
69
+ */
70
+ export declare function parseYamlNode(text: string, lineOffset?: number): YamlNode | null;
71
+ export declare function mapGet(node: YamlNode | null | undefined, key: string): YamlNode | undefined;
72
+ export declare function scalarString(node: YamlNode | null | undefined): string | undefined;
73
+ //# sourceMappingURL=yaml-lite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml-lite.d.ts","sourceRoot":"","sources":["../../src/text/yaml-lite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,WAAW,GAAG,WAAW,CAAC;AAElE,qBAAa,cAAe,SAAQ,KAAK;aAGrB,IAAI,EAAE,MAAM;gBAD5B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM;CAK/B;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAkBtE;AAsbD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,QAAQ,GAAG,IAAI,CAY3E;AAID,wBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAG3F;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKlF"}