gitnexus 1.6.4-rc.33 → 1.6.4-rc.35

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 (78) hide show
  1. package/dist/core/tree-sitter/parser-loader.d.ts +2 -2
  2. package/dist/core/tree-sitter/parser-loader.js +167 -68
  3. package/package.json +4 -5
  4. package/web/assets/{agent-CvZVxT4h.js → agent-DItiqJRq.js} +1 -1
  5. package/web/assets/architecture-YZFGNWBL-S5CXDPWN-BVNYZR02.js +1 -0
  6. package/web/assets/{architectureDiagram-EMZXCZ2Q-BzA7QxXd.js → architectureDiagram-EMZXCZ2Q-CE8JvLQH.js} +1 -1
  7. package/web/assets/{blockDiagram-IGV67L2C-C0ggtPkN.js → blockDiagram-IGV67L2C-hutf3-Rf.js} +1 -1
  8. package/web/assets/{c4Diagram-DFAF54RM-CYEAJmND.js → c4Diagram-DFAF54RM-CDgPwdI_.js} +1 -1
  9. package/web/assets/{chunk-3GS5O3IE-CqNvQYl5.js → chunk-3GS5O3IE-Cx4rYy69.js} +1 -1
  10. package/web/assets/{chunk-3YCYZ6SJ-5Pd4YRw2.js → chunk-3YCYZ6SJ-DWxw2F8B.js} +1 -1
  11. package/web/assets/{chunk-6NTNNK5N-D9qKpPKQ.js → chunk-6NTNNK5N-CMelHKdt.js} +1 -1
  12. package/web/assets/{chunk-A34GCYZU-CJQ834Fd.js → chunk-A34GCYZU-BdEY2RCQ.js} +1 -1
  13. package/web/assets/{chunk-DJ7UZH7F-C-FHo6Es.js → chunk-DJ7UZH7F-PizSwWnc.js} +1 -1
  14. package/web/assets/{chunk-DKKBVRCY-DOtrIxIH.js → chunk-DKKBVRCY-BITgFJtT.js} +2 -2
  15. package/web/assets/{chunk-DU5LTGQ6-CglpGNHL.js → chunk-DU5LTGQ6-DjSVNRly.js} +1 -1
  16. package/web/assets/{chunk-FXACKDTF-C2aHeVoK.js → chunk-FXACKDTF-BBdk0y0E.js} +1 -1
  17. package/web/assets/{chunk-H3VCZNTA-DERXrxZF.js → chunk-H3VCZNTA-BuHjQqGv.js} +1 -1
  18. package/web/assets/{chunk-HN6EAY2L-DX8Vt20h.js → chunk-HN6EAY2L-BuEpUEf1.js} +1 -1
  19. package/web/assets/{chunk-O5ABG6QK-CitbMfDb.js → chunk-O5ABG6QK-OD-Penaw.js} +1 -1
  20. package/web/assets/{chunk-PK6DOVAG-CHUWs2ki.js → chunk-PK6DOVAG-CuIS-eTi.js} +1 -1
  21. package/web/assets/{chunk-RNJOYNJ4-DjSVxiIU.js → chunk-RNJOYNJ4-6sC89Gwg.js} +1 -1
  22. package/web/assets/{chunk-RWUO3TPN-BvpYlQq7.js → chunk-RWUO3TPN-Ckis4GEZ.js} +1 -1
  23. package/web/assets/{chunk-TBF5ZNIQ-ZFPsxlhm.js → chunk-TBF5ZNIQ-BCXeRyum.js} +1 -1
  24. package/web/assets/{chunk-TYMNRAUI-DBbB2Imd.js → chunk-TYMNRAUI-ChcULBiI.js} +1 -1
  25. package/web/assets/{chunk-W7ZLLLMY-Dt_KR4Od.js → chunk-W7ZLLLMY-C9qAqU9J.js} +1 -1
  26. package/web/assets/{chunk-WSB5WSVC-CIUctvhK.js → chunk-WSB5WSVC-CBn8ynck.js} +1 -1
  27. package/web/assets/{chunk-XGPFEOL4-vW9kVy0v.js → chunk-XGPFEOL4-CFcfign9.js} +1 -1
  28. package/web/assets/classDiagram-PPOCWD7C-DP-FXqh2.js +1 -0
  29. package/web/assets/classDiagram-v2-23LJLIIU-C7DWKMLR.js +1 -0
  30. package/web/assets/{cose-bilkent-PNC4W37J-BcaSeBvK.js → cose-bilkent-PNC4W37J-DNEpbdTz.js} +1 -1
  31. package/web/assets/{dagre-E77IOHMT-CuswhovA.js → dagre-E77IOHMT-ClfJi3lO.js} +1 -1
  32. package/web/assets/{diagram-H7BISOXX-Jl_sLVKn.js → diagram-H7BISOXX-fo8UxfUM.js} +1 -1
  33. package/web/assets/{diagram-JC5VWROH-3kYZi67F.js → diagram-JC5VWROH-Wjg9r4gO.js} +1 -1
  34. package/web/assets/{diagram-LXUTUG65-Bq7sD5zO.js → diagram-LXUTUG65-BdSO4Vyi.js} +1 -1
  35. package/web/assets/{diagram-WEHSV5V5-nNlJABQS.js → diagram-WEHSV5V5-ctouQZh3.js} +1 -1
  36. package/web/assets/{erDiagram-GCSMX5X6-Bi4DdHeN.js → erDiagram-GCSMX5X6-DpcHlfNA.js} +1 -1
  37. package/web/assets/{flowDiagram-OTCZ4VVT-Cm9MTAVe.js → flowDiagram-OTCZ4VVT-DdFWMLXt.js} +1 -1
  38. package/web/assets/{ganttDiagram-MUNLMDZQ-Ch98vfq4.js → ganttDiagram-MUNLMDZQ-ChJRuWEN.js} +1 -1
  39. package/web/assets/gitGraph-7Q5UKJZL-54BCDZD5-CicCrLIW.js +1 -0
  40. package/web/assets/{gitGraphDiagram-3HKGZ4G3-CG_XjgsI.js → gitGraphDiagram-3HKGZ4G3-DCor76_B.js} +1 -1
  41. package/web/assets/{index-BvZyvA1F.js → index-i8mZYWUD.js} +117 -116
  42. package/web/assets/info-OMHHGYJF-BF2H5H6G-C7DIIhaB.js +1 -0
  43. package/web/assets/infoDiagram-MN7RKWGX-Bhgkk7XM.js +2 -0
  44. package/web/assets/{ishikawaDiagram-YMYX4NHK-Wu75MpJd.js → ishikawaDiagram-YMYX4NHK-Bwr7h5yK.js} +1 -1
  45. package/web/assets/{journeyDiagram-SO5T7YLQ-B2xUYjRo.js → journeyDiagram-SO5T7YLQ-B2DnC3r5.js} +1 -1
  46. package/web/assets/{kanban-definition-LJHFXRCJ-HWQAOTUS.js → kanban-definition-LJHFXRCJ-CzQhupJ-.js} +1 -1
  47. package/web/assets/{mindmap-definition-2EUWGEK5-BhQbFUBm.js → mindmap-definition-2EUWGEK5-CFfLfk9a.js} +1 -1
  48. package/web/assets/packet-4T2RLAQJ-EV4IVRXR-DtczixRj.js +1 -0
  49. package/web/assets/pie-ZZUOXDRM-N23DN5KN-DroTvcJ-.js +1 -0
  50. package/web/assets/{pieDiagram-3IATQBI2-BXeawgAD.js → pieDiagram-3IATQBI2-BNtFly7P.js} +1 -1
  51. package/web/assets/{quadrantDiagram-E256RVCF-DOqcaJYi.js → quadrantDiagram-E256RVCF-BbI_ZPSF.js} +1 -1
  52. package/web/assets/radar-PYXPWWZC-P6TP7ZYP-Bl2tr5_W.js +1 -0
  53. package/web/assets/{requirementDiagram-M5DCFWZL-BJAxDl2h.js → requirementDiagram-M5DCFWZL-B7oRUeTm.js} +1 -1
  54. package/web/assets/{sankeyDiagram-L3NBLAOT-CsxWnTEY.js → sankeyDiagram-L3NBLAOT-BeOC_s-g.js} +1 -1
  55. package/web/assets/{sequenceDiagram-ZOUHS735-gERh_jlV.js → sequenceDiagram-ZOUHS735-DtXc1cq6.js} +1 -1
  56. package/web/assets/{stateDiagram-MLPALWAM-CL57HJRo.js → stateDiagram-MLPALWAM-uawYkYoH.js} +1 -1
  57. package/web/assets/stateDiagram-v2-B5LQ5ZB2-YUx4_NOp.js +1 -0
  58. package/web/assets/{timeline-definition-5SPVSISX-C2YfkBWP.js → timeline-definition-5SPVSISX-CiFVDrrG.js} +1 -1
  59. package/web/assets/treeView-SZITEDCU-5DXDK3XO-p1_8zFCT.js +1 -0
  60. package/web/assets/treemap-W4RFUUIX-WYLRDWKO-DSuXY6Cw.js +1 -0
  61. package/web/assets/{vennDiagram-IE5QUKF5-CbnsngCH.js → vennDiagram-IE5QUKF5-DCyQqwx7.js} +1 -1
  62. package/web/assets/wardley-RL74JXVD-BCRCBASE-D89VeyOM.js +1 -0
  63. package/web/assets/{wardleyDiagram-XU3VSMPF-CI4-dDWL.js → wardleyDiagram-XU3VSMPF-Bus6fmr-.js} +1 -1
  64. package/web/assets/{xychartDiagram-ZHJ5623Y-BqMyJYHB.js → xychartDiagram-ZHJ5623Y-DU_290J8.js} +1 -1
  65. package/web/index.html +1 -1
  66. package/web/assets/architecture-YZFGNWBL-S5CXDPWN-DR7CxQwY.js +0 -1
  67. package/web/assets/classDiagram-PPOCWD7C-CMk9QocX.js +0 -1
  68. package/web/assets/classDiagram-v2-23LJLIIU-C2TIr0ID.js +0 -1
  69. package/web/assets/gitGraph-7Q5UKJZL-54BCDZD5-lqwFWcbV.js +0 -1
  70. package/web/assets/info-OMHHGYJF-BF2H5H6G-BdcG1Nqw.js +0 -1
  71. package/web/assets/infoDiagram-MN7RKWGX-DYDYEfxX.js +0 -2
  72. package/web/assets/packet-4T2RLAQJ-EV4IVRXR-CkL6VOSA.js +0 -1
  73. package/web/assets/pie-ZZUOXDRM-N23DN5KN-BS-3xnWg.js +0 -1
  74. package/web/assets/radar-PYXPWWZC-P6TP7ZYP-BliO8aSs.js +0 -1
  75. package/web/assets/stateDiagram-v2-B5LQ5ZB2-ClCLEjZS.js +0 -1
  76. package/web/assets/treeView-SZITEDCU-5DXDK3XO-B4zyMKd8.js +0 -1
  77. package/web/assets/treemap-W4RFUUIX-WYLRDWKO-wAEE6Fwj.js +0 -1
  78. package/web/assets/wardley-RL74JXVD-BCRCBASE-CXl5kY68.js +0 -1
@@ -1,8 +1,8 @@
1
1
  import Parser from 'tree-sitter';
2
2
  import { SupportedLanguages } from '../../_shared/index.js';
3
- export declare const isLanguageAvailable: (language: SupportedLanguages) => boolean;
4
3
  export declare const resolveLanguageKey: (language: SupportedLanguages, filePath?: string) => string;
5
- export declare const getLanguageGrammar: (language: SupportedLanguages, filePath?: string) => any;
4
+ export declare const isLanguageAvailable: (language: SupportedLanguages, filePath?: string) => boolean;
5
+ export declare const getLanguageGrammar: (language: SupportedLanguages, filePath?: string) => unknown;
6
6
  export declare const loadParser: () => Promise<Parser>;
7
7
  export declare const loadLanguage: (language: SupportedLanguages, filePath?: string) => Promise<void>;
8
8
  export declare const createParserForLanguage: (language: SupportedLanguages, filePath?: string) => Promise<Parser>;
@@ -1,84 +1,183 @@
1
1
  import Parser from 'tree-sitter';
2
- import JavaScript from 'tree-sitter-javascript';
3
- import TypeScript from 'tree-sitter-typescript';
4
- import Python from 'tree-sitter-python';
5
- import Java from 'tree-sitter-java';
6
- import C from 'tree-sitter-c';
7
- import CPP from 'tree-sitter-cpp';
8
- // Explicit subpath import: tree-sitter-c-sharp declares `type: "module"` with
9
- // `main: "bindings/node"` (no extension) and no `exports` field, which triggers
10
- // Node 22's DEP0151 deprecation warning on the bare-package import. Importing
11
- // the built entrypoint directly bypasses the deprecated ESM main-field
12
- // resolution. (#1013)
13
- import CSharp from 'tree-sitter-c-sharp/bindings/node/index.js';
14
- import Go from 'tree-sitter-go';
15
- import Rust from 'tree-sitter-rust';
16
- import PHP from 'tree-sitter-php';
17
- import Ruby from 'tree-sitter-ruby';
18
2
  import { createRequire } from 'node:module';
19
3
  import { SupportedLanguages } from '../../_shared/index.js';
20
- // tree-sitter-swift and tree-sitter-dart are optionalDependencies — may not be installed
21
4
  const _require = createRequire(import.meta.url);
22
- let Swift = null;
23
- try {
24
- Swift = _require('tree-sitter-swift');
25
- }
26
- catch { }
27
- let Dart = null;
28
- try {
29
- Dart = _require('tree-sitter-dart');
30
- }
31
- catch { }
32
- // tree-sitter-kotlin is an optionalDependency may not be installed
33
- let Kotlin = null;
34
- try {
35
- Kotlin = _require('tree-sitter-kotlin');
36
- }
37
- catch { }
38
- let parser = null;
39
- const languageMap = {
40
- [SupportedLanguages.JavaScript]: JavaScript,
41
- [SupportedLanguages.TypeScript]: TypeScript.typescript,
42
- [`${SupportedLanguages.TypeScript}:tsx`]: TypeScript.tsx,
43
- [SupportedLanguages.Python]: Python,
44
- [SupportedLanguages.Java]: Java,
45
- [SupportedLanguages.C]: C,
46
- [SupportedLanguages.CPlusPlus]: CPP,
47
- [SupportedLanguages.CSharp]: CSharp,
48
- [SupportedLanguages.Go]: Go,
49
- [SupportedLanguages.Rust]: Rust,
50
- ...(Kotlin ? { [SupportedLanguages.Kotlin]: Kotlin } : {}),
51
- [SupportedLanguages.PHP]: PHP.php_only,
52
- [SupportedLanguages.Ruby]: Ruby,
53
- [SupportedLanguages.Vue]: TypeScript.typescript,
54
- ...(Dart ? { [SupportedLanguages.Dart]: Dart } : {}),
55
- ...(Swift ? { [SupportedLanguages.Swift]: Swift } : {}),
5
+ const ISSUES_URL = 'https://github.com/abhigyanpatwari/GitNexus/issues';
6
+ const SOURCES = {
7
+ [SupportedLanguages.JavaScript]: {
8
+ load: () => _require('tree-sitter-javascript'),
9
+ unavailableNote: 'JavaScript parsing requires `tree-sitter-javascript`. ' +
10
+ 'Check that the package and its native binding installed cleanly (`npm ci`).',
11
+ },
12
+ [SupportedLanguages.TypeScript]: {
13
+ load: () => _require('tree-sitter-typescript').typescript,
14
+ unavailableNote: 'TypeScript parsing requires `tree-sitter-typescript`. ' +
15
+ 'Check that the package and its native binding installed cleanly (`npm ci`).',
16
+ },
17
+ [`${SupportedLanguages.TypeScript}:tsx`]: {
18
+ load: () => _require('tree-sitter-typescript').tsx,
19
+ unavailableNote: 'TSX parsing requires `tree-sitter-typescript` (re-uses the same native binding as TS).',
20
+ },
21
+ [SupportedLanguages.Python]: {
22
+ load: () => _require('tree-sitter-python'),
23
+ unavailableNote: 'Python parsing requires `tree-sitter-python`. Check the install and native binding.',
24
+ },
25
+ [SupportedLanguages.Java]: {
26
+ load: () => _require('tree-sitter-java'),
27
+ unavailableNote: 'Java parsing requires `tree-sitter-java`. Check the install and native binding.',
28
+ },
29
+ // tree-sitter-c-sharp declares `type: "module"` with `main: "bindings/node"`
30
+ // (no extension) and no `exports` field, which triggers Node 22's DEP0151
31
+ // deprecation warning on the bare-package import. The explicit subpath
32
+ // bypasses the deprecated ESM main-field resolution. (#1013)
33
+ [SupportedLanguages.CSharp]: {
34
+ load: () => _require('tree-sitter-c-sharp/bindings/node/index.js'),
35
+ unavailableNote: 'C# parsing requires `tree-sitter-c-sharp/bindings/node/index.js`. ' +
36
+ `If the subpath is missing, see ${ISSUES_URL}/1013.`,
37
+ },
38
+ [SupportedLanguages.CPlusPlus]: {
39
+ load: () => _require('tree-sitter-cpp'),
40
+ unavailableNote: 'C++ parsing requires `tree-sitter-cpp`. Check the install and native binding.',
41
+ },
42
+ [SupportedLanguages.Go]: {
43
+ load: () => _require('tree-sitter-go'),
44
+ unavailableNote: 'Go parsing requires `tree-sitter-go`. Check the install and native binding.',
45
+ },
46
+ [SupportedLanguages.Rust]: {
47
+ load: () => _require('tree-sitter-rust'),
48
+ unavailableNote: 'Rust parsing requires `tree-sitter-rust`. Check the install and native binding.',
49
+ },
50
+ [SupportedLanguages.PHP]: {
51
+ load: () => _require('tree-sitter-php').php_only,
52
+ unavailableNote: 'PHP parsing requires `tree-sitter-php` (the `php_only` export). ' +
53
+ 'Check the install and native binding.',
54
+ },
55
+ [SupportedLanguages.Ruby]: {
56
+ load: () => _require('tree-sitter-ruby'),
57
+ unavailableNote: 'Ruby parsing requires `tree-sitter-ruby`. Check the install and native binding.',
58
+ },
59
+ [SupportedLanguages.Vue]: {
60
+ load: () => _require('tree-sitter-typescript').typescript,
61
+ unavailableNote: 'Vue parsing piggybacks on `tree-sitter-typescript`. Check the install and native binding.',
62
+ },
63
+ // tree-sitter-c is a required dependency, but its native binding has
64
+ // historically been ABI-incompatible with the bundled tree-sitter@0.21.1
65
+ // runtime on some platforms (#1242, #858). Loading it through the
66
+ // optional machinery turns a would-be segfault into a clean degradation
67
+ // while preserving every other language's analysis. Severity is pinned
68
+ // to `error` because the package is in `dependencies`: a failure here
69
+ // is always an install/platform problem the user needs to see, never an
70
+ // expected "user opted out" condition like Swift/Dart/Kotlin.
71
+ [SupportedLanguages.C]: {
72
+ load: () => _require('tree-sitter-c'),
73
+ optional: true,
74
+ severity: 'error',
75
+ unavailableNote: 'C parsing disabled: `tree-sitter-c` could not be loaded. ' +
76
+ 'This package is in `dependencies` and prebuilds ship for all supported ' +
77
+ 'platforms (win32/darwin/linux x64+arm64, Node 18/20/22), so this ' +
78
+ 'usually indicates a corrupted install, an unsupported Node version, ' +
79
+ 'or a native ABI mismatch with the bundled tree-sitter runtime. ' +
80
+ 'Try `npm rebuild tree-sitter-c` or reinstalling, then re-run analyze. ' +
81
+ `If the failure persists, file details at ${ISSUES_URL}/1242.`,
82
+ },
83
+ // optionalDependencies — may be absent on platforms without prebuilds
84
+ // or when users skip optional installs.
85
+ [SupportedLanguages.Swift]: {
86
+ load: () => _require('tree-sitter-swift'),
87
+ optional: true,
88
+ unavailableNote: 'Swift parsing disabled: vendored `tree-sitter-swift` (under ' +
89
+ '`gitnexus/vendor/tree-sitter-swift`) failed to load. ' +
90
+ 'Likely cause: no prebuilt `.node` for this platform/architecture. ' +
91
+ `See ${ISSUES_URL}/1130.`,
92
+ },
93
+ [SupportedLanguages.Dart]: {
94
+ load: () => _require('tree-sitter-dart'),
95
+ optional: true,
96
+ unavailableNote: 'Dart parsing disabled: vendored `tree-sitter-dart` (under ' +
97
+ '`gitnexus/vendor/tree-sitter-dart`) failed to load. ' +
98
+ 'Likely cause: native compile failed at install (missing python3/make/g++). ' +
99
+ `See ${ISSUES_URL}/1125.`,
100
+ },
101
+ [SupportedLanguages.Kotlin]: {
102
+ load: () => _require('tree-sitter-kotlin'),
103
+ optional: true,
104
+ unavailableNote: 'Kotlin parsing disabled: `tree-sitter-kotlin` is an optionalDependency ' +
105
+ 'and is not installed (or its native binding failed to build).',
106
+ },
107
+ };
108
+ const loadCache = new Map();
109
+ const logged = new Set();
110
+ const logFailure = (key, result) => {
111
+ if (result.ok === true)
112
+ return;
113
+ if (logged.has(key))
114
+ return;
115
+ logged.add(key);
116
+ const message = `[gitnexus] ${result.note} (${result.error.message})`;
117
+ if (result.severity === 'error')
118
+ console.error(message);
119
+ else
120
+ console.warn(message);
56
121
  };
57
- export const isLanguageAvailable = (language) => language in languageMap;
58
122
  export const resolveLanguageKey = (language, filePath) => language === SupportedLanguages.TypeScript && filePath?.endsWith('.tsx')
59
123
  ? `${language}:tsx`
60
124
  : language;
61
- export const getLanguageGrammar = (language, filePath) => {
62
- const key = resolveLanguageKey(language, filePath);
63
- const lang = languageMap[key];
64
- if (!lang) {
65
- throw new Error(`Unsupported language: ${language}`);
125
+ const loadGrammar = (key) => {
126
+ const cached = loadCache.get(key);
127
+ if (cached)
128
+ return cached;
129
+ const source = SOURCES[key];
130
+ if (!source) {
131
+ const result = {
132
+ ok: false,
133
+ error: new Error(`Unsupported language: ${key}`),
134
+ note: `No grammar registered for language key \`${key}\`. Add a row to SOURCES.`,
135
+ fatal: true,
136
+ severity: 'error',
137
+ };
138
+ loadCache.set(key, result);
139
+ return result;
140
+ }
141
+ let result;
142
+ try {
143
+ result = { ok: true, grammar: source.load() };
144
+ }
145
+ catch (err) {
146
+ const fatal = !source.optional;
147
+ result = {
148
+ ok: false,
149
+ error: err,
150
+ note: source.unavailableNote,
151
+ fatal,
152
+ severity: source.severity ?? (fatal ? 'error' : 'warn'),
153
+ };
66
154
  }
67
- return lang;
155
+ loadCache.set(key, result);
156
+ if (result.ok === false)
157
+ logFailure(key, result);
158
+ return result;
68
159
  };
69
- export const loadParser = async () => {
70
- if (parser)
71
- return parser;
72
- parser = new Parser();
73
- return parser;
160
+ export const isLanguageAvailable = (language, filePath) => loadGrammar(resolveLanguageKey(language, filePath)).ok;
161
+ export const getLanguageGrammar = (language, filePath) => {
162
+ const key = resolveLanguageKey(language, filePath);
163
+ const result = loadGrammar(key);
164
+ if (result.ok === true)
165
+ return result.grammar;
166
+ // Fatal failures throw the original underlying error (preserving stack)
167
+ // after the note has been logged. Optional failures fall through to the
168
+ // standard "Unsupported language" message that callers already handle.
169
+ if (result.fatal)
170
+ throw result.error;
171
+ throw new Error(`Unsupported language: ${language}`);
74
172
  };
173
+ let sharedParser = null;
174
+ export const loadParser = async () => (sharedParser ??= new Parser());
75
175
  export const loadLanguage = async (language, filePath) => {
76
- if (!parser)
77
- await loadParser();
176
+ const parser = await loadParser();
78
177
  parser.setLanguage(getLanguageGrammar(language, filePath));
79
178
  };
80
179
  export const createParserForLanguage = async (language, filePath) => {
81
- const freshParser = new Parser();
82
- freshParser.setLanguage(getLanguageGrammar(language, filePath));
83
- return freshParser;
180
+ const parser = new Parser();
181
+ parser.setLanguage(getLanguageGrammar(language, filePath));
182
+ return parser;
84
183
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitnexus",
3
- "version": "1.6.4-rc.33",
3
+ "version": "1.6.4-rc.35",
4
4
  "description": "Graph-powered code intelligence for AI agents. Index any codebase, query via MCP or CLI.",
5
5
  "author": "Abhigyan Patwari",
6
6
  "license": "PolyForm-Noncommercial-1.0.0",
@@ -72,9 +72,9 @@
72
72
  "onnxruntime-node": "^1.24.0",
73
73
  "pandemonium": "^2.4.0",
74
74
  "tree-sitter": "^0.21.1",
75
- "tree-sitter-c": "0.23.2",
75
+ "tree-sitter-c": "0.21.4",
76
76
  "tree-sitter-c-sharp": "0.23.1",
77
- "tree-sitter-cpp": "^0.23.4",
77
+ "tree-sitter-cpp": "0.23.2",
78
78
  "tree-sitter-go": "^0.23.0",
79
79
  "tree-sitter-java": "^0.23.5",
80
80
  "tree-sitter-javascript": "^0.23.0",
@@ -109,8 +109,7 @@
109
109
  "overrides": {
110
110
  "@huggingface/transformers": {
111
111
  "onnxruntime-node": "$onnxruntime-node"
112
- },
113
- "tree-sitter-c": "0.23.2"
112
+ }
114
113
  },
115
114
  "engines": {
116
115
  "node": ">=20.0.0"
@@ -1,4 +1,4 @@
1
- import{r as e,t}from"./chunk-CilyBKbf.js";import{n,t as r}from"./index-BvZyvA1F.js";import{buildDynamicSystemPrompt as i}from"./context-builder-CqQNhRj1.js";var a=Object.defineProperty,o=(e,t)=>{let n={};for(var r in e)a(n,r,{get:e[r],enumerable:!0});return t||a(n,Symbol.toStringTag,{value:`Module`}),n};function s(e){let t=Symbol.for(e);return{brand(n,r){let i=r?Symbol.for(`${e}.${r}`):t;class a extends n{[i]=!0;constructor(...e){super(...e)}static isInstance(e){return typeof e==`object`&&!!e&&i in e&&e[i]===!0}}return Object.defineProperty(a,`name`,{value:n.name}),a},sub(t){return s(`${e}.${t}`)},isInstance(e){return typeof e==`object`&&!!e&&t in e&&e[t]===!0}}}var c=s(`langchain`),l=o({ContextOverflowError:()=>m,LangChainError:()=>f,ModelAbortError:()=>p,addLangChainErrorFields:()=>u,ns:()=>d});function u(e,t){return e.lc_error_code=t,e.message=`${e.message}\n\nTroubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${t}/\n`,e}var d=c.sub(`error`),f=class extends d.brand(Error){name=`LangChainError`;constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},p=class extends d.brand(f,`model-abort`){name=`ModelAbortError`;partialOutput;constructor(e,t){super(e),this.partialOutput=t}},m=class e extends d.brand(f,`context-overflow`){name=`ContextOverflowError`;cause;constructor(e){super(e??`Input exceeded the model's context window.`)}static fromError(t){let n=new e(t.message);return n.cause=t,n}};function h(e){return!!(e&&typeof e==`object`&&`type`in e&&e.type===`tool_call`)}function g(e){return!!(e&&typeof e==`object`&&`toolCall`in e&&e.toolCall!=null&&typeof e.toolCall==`object`&&`id`in e.toolCall&&typeof e.toolCall.id==`string`)}var _=class extends Error{output;constructor(e,t){super(e),this.output=t}};function v(e,t=b){e=e.trim();let n=e.indexOf("```");if(n===-1)return t(e);let r=e.substring(n+3);r.startsWith(`json
1
+ import{r as e,t}from"./chunk-CilyBKbf.js";import{n,t as r}from"./index-i8mZYWUD.js";import{buildDynamicSystemPrompt as i}from"./context-builder-CqQNhRj1.js";var a=Object.defineProperty,o=(e,t)=>{let n={};for(var r in e)a(n,r,{get:e[r],enumerable:!0});return t||a(n,Symbol.toStringTag,{value:`Module`}),n};function s(e){let t=Symbol.for(e);return{brand(n,r){let i=r?Symbol.for(`${e}.${r}`):t;class a extends n{[i]=!0;constructor(...e){super(...e)}static isInstance(e){return typeof e==`object`&&!!e&&i in e&&e[i]===!0}}return Object.defineProperty(a,`name`,{value:n.name}),a},sub(t){return s(`${e}.${t}`)},isInstance(e){return typeof e==`object`&&!!e&&t in e&&e[t]===!0}}}var c=s(`langchain`),l=o({ContextOverflowError:()=>m,LangChainError:()=>f,ModelAbortError:()=>p,addLangChainErrorFields:()=>u,ns:()=>d});function u(e,t){return e.lc_error_code=t,e.message=`${e.message}\n\nTroubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${t}/\n`,e}var d=c.sub(`error`),f=class extends d.brand(Error){name=`LangChainError`;constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},p=class extends d.brand(f,`model-abort`){name=`ModelAbortError`;partialOutput;constructor(e,t){super(e),this.partialOutput=t}},m=class e extends d.brand(f,`context-overflow`){name=`ContextOverflowError`;cause;constructor(e){super(e??`Input exceeded the model's context window.`)}static fromError(t){let n=new e(t.message);return n.cause=t,n}};function h(e){return!!(e&&typeof e==`object`&&`type`in e&&e.type===`tool_call`)}function g(e){return!!(e&&typeof e==`object`&&`toolCall`in e&&e.toolCall!=null&&typeof e.toolCall==`object`&&`id`in e.toolCall&&typeof e.toolCall.id==`string`)}var _=class extends Error{output;constructor(e,t){super(e),this.output=t}};function v(e,t=b){e=e.trim();let n=e.indexOf("```");if(n===-1)return t(e);let r=e.substring(n+3);r.startsWith(`json
2
2
  `)?r=r.substring(5):r.startsWith(`json`)?r=r.substring(4):r.startsWith(`
3
3
  `)&&(r=r.substring(1));let i=r.indexOf("```"),a=r;return i!==-1&&(a=r.substring(0,i)),t(a.trim())}function y(e){try{return JSON.parse(e)}catch{}let t=e.trim();if(t.length===0)throw Error(`Unexpected end of JSON input`);let n=0;function r(){for(;n<t.length&&/\s/.test(t[n]);)n+=1}function i(){if(t[n]!==`"`)throw Error(`Expected '"' at position ${n}, got '${t[n]}'`);n+=1;let e=``,r=!1;for(;n<t.length;){let i=t[n];if(r){if(i===`n`)e+=`
4
4
  `;else if(i===`t`)e+=` `;else if(i===`r`)e+=`\r`;else if(i===`\\`)e+=`\\`;else if(i===`"`)e+=`"`;else if(i===`b`)e+=`\b`;else if(i===`f`)e+=`\f`;else if(i===`/`)e+=`/`;else if(i===`u`){let r=t.substring(n+1,n+5);if(/^[0-9A-Fa-f]{0,4}$/.test(r))r.length===4?e+=String.fromCharCode(Number.parseInt(r,16)):e+=`u${r}`,n+=r.length;else throw Error(`Invalid unicode escape sequence '\\u${r}' at position ${n}`)}else throw Error(`Invalid escape sequence '\\${i}' at position ${n}`);r=!1}else if(i===`\\`)r=!0;else if(i===`"`)return n+=1,e;else e+=i;n+=1}return r&&(e+=`\\`),e}function a(){let e=n,r=``;if(t[n]===`-`&&(r+=`-`,n+=1),n<t.length&&t[n]===`0`&&(r+=`0`,n+=1,t[n]>=`0`&&t[n]<=`9`))throw Error(`Invalid number at position ${e}`);if(n<t.length&&t[n]>=`1`&&t[n]<=`9`)for(;n<t.length&&t[n]>=`0`&&t[n]<=`9`;)r+=t[n],n+=1;if(n<t.length&&t[n]===`.`)for(r+=`.`,n+=1;n<t.length&&t[n]>=`0`&&t[n]<=`9`;)r+=t[n],n+=1;if(n<t.length&&(t[n]===`e`||t[n]===`E`))for(r+=t[n],n+=1,n<t.length&&(t[n]===`+`||t[n]===`-`)&&(r+=t[n],n+=1);n<t.length&&t[n]>=`0`&&t[n]<=`9`;)r+=t[n],n+=1;if(r===`-`)return-0;let i=Number.parseFloat(r);if(Number.isNaN(i))throw n=e,Error(`Invalid number '${r}' at position ${e}`);return i}function o(){if(r(),n>=t.length)throw Error(`Unexpected end of input at position ${n}`);let e=t[n];if(e===`{`)return c();if(e===`[`)return s();if(e===`"`)return i();if(`null`.startsWith(t.substring(n,n+4)))return n+=Math.min(4,t.length-n),null;if(`true`.startsWith(t.substring(n,n+4)))return n+=Math.min(4,t.length-n),!0;if(`false`.startsWith(t.substring(n,n+5)))return n+=Math.min(5,t.length-n),!1;if(e===`-`||e>=`0`&&e<=`9`)return a();throw Error(`Unexpected character '${e}' at position ${n}`)}function s(){if(t[n]!==`[`)throw Error(`Expected '[' at position ${n}, got '${t[n]}'`);let e=[];if(n+=1,r(),n>=t.length)return e;if(t[n]===`]`)return n+=1,e;for(;n<t.length;){if(r(),n>=t.length||(e.push(o()),r(),n>=t.length))return e;if(t[n]===`]`)return n+=1,e;if(t[n]===`,`){n+=1;continue}throw Error(`Expected ',' or ']' at position ${n}, got '${t[n]}'`)}return e}function c(){if(t[n]!==`{`)throw Error(`Expected '{' at position ${n}, got '${t[n]}'`);let e={};if(n+=1,r(),n>=t.length)return e;if(t[n]===`}`)return n+=1,e;for(;n<t.length;){if(r(),n>=t.length)return e;let a=i();if(r(),n>=t.length)return e;if(t[n]!==`:`)throw Error(`Expected ':' at position ${n}, got '${t[n]}'`);if(n+=1,r(),n>=t.length||(e[a]=o(),r(),n>=t.length))return e;if(t[n]===`}`)return n+=1,e;if(t[n]===`,`){n+=1;continue}throw Error(`Expected ',' or '}' at position ${n}, got '${t[n]}'`)}return e}let l=o();if(r(),n<t.length)throw Error(`Unexpected character '${t[n]}' at position ${n}`);return l}function b(e){try{return e===void 0?null:y(e)}catch{return null}}var ee=t(((e,t)=>{t.exports=function(e,t){if(typeof e!=`string`)throw TypeError(`Expected a string`);return t=t===void 0?`_`:t,e.replace(/([a-z\d])([A-Z])/g,`$1`+t+`$2`).replace(/([A-Z]+)([A-Z][a-z\d]+)/g,`$1`+t+`$2`).toLowerCase()}})),x=t(((e,t)=>{var n=/[\p{Lu}]/u,r=/[\p{Ll}]/u,i=/^[\p{Lu}](?![\p{Lu}])/gu,a=/([\p{Alpha}\p{N}_]|$)/u,o=/[_.\- ]+/,s=RegExp(`^`+o.source),c=new RegExp(o.source+a.source,`gu`),l=RegExp(`\\d+`+a.source,`gu`),u=(e,t,i)=>{let a=!1,o=!1,s=!1;for(let c=0;c<e.length;c++){let l=e[c];a&&n.test(l)?(e=e.slice(0,c)+`-`+e.slice(c),a=!1,s=o,o=!0,c++):o&&s&&r.test(l)?(e=e.slice(0,c-1)+`-`+e.slice(c-1),s=o,o=!1,a=!0):(a=t(l)===l&&i(l)!==l,s=o,o=i(l)===l&&t(l)!==l)}return e},d=(e,t)=>(i.lastIndex=0,e.replace(i,e=>t(e))),f=(e,t)=>(c.lastIndex=0,l.lastIndex=0,e.replace(c,(e,n)=>t(n)).replace(l,e=>t(e))),p=(e,t)=>{if(!(typeof e==`string`||Array.isArray(e)))throw TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join(`-`):e.trim(),e.length===0)return``;let n=t.locale===!1?e=>e.toLowerCase():e=>e.toLocaleLowerCase(t.locale),r=t.locale===!1?e=>e.toUpperCase():e=>e.toLocaleUpperCase(t.locale);return e.length===1?t.pascalCase?r(e):n(e):(e!==n(e)&&(e=u(e,n,r)),e=e.replace(s,``),e=t.preserveConsecutiveUppercase?d(e,n):n(e),t.pascalCase&&(e=r(e.charAt(0))+e.slice(1)),f(e,r))};t.exports=p,t.exports.default=p})),te=e(ee(),1),S=e(x(),1);function ne(e,t){return t?.[e]||(0,te.default)(e)}function re(e,t){return t?.[e]||(0,S.default)(e)}function ie(e,t,n){let r={};for(let i in e)Object.hasOwn(e,i)&&(r[t(i,n)]=e[i]);return r}var ae=`__lc_escaped__`;function oe(e){return`lc`in e||Object.keys(e).length===1&&`__lc_escaped__`in e}function se(e){return{[ae]:e}}function ce(e){return Object.keys(e).length===1&&`__lc_escaped__`in e}function C(e){return typeof e==`object`&&!!e&&`lc_serializable`in e&&typeof e.toJSON==`function`}function le(e){let t;return t=typeof e==`object`&&e?`lc_id`in e&&Array.isArray(e.lc_id)?e.lc_id:[e.constructor?.name??`Object`]:[typeof e],{lc:1,type:`not_implemented`,id:t}}function ue(e,t=new WeakSet){if(typeof e==`object`&&e&&!Array.isArray(e)){if(t.has(e))return le(e);if(C(e))return e;t.add(e);let n=e;if(oe(n))return t.delete(e),se(n);let r={};for(let[e,i]of Object.entries(n))r[e]=ue(i,t);return t.delete(e),r}return Array.isArray(e)?e.map(e=>ue(e,t)):e}function de(e){if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e;if(ce(t))return t[ae];let n={};for(let[e,r]of Object.entries(t))n[e]=de(r);return n}return Array.isArray(e)?e.map(e=>de(e)):e}var fe=o({Serializable:()=>ge,get_lc_unique_name:()=>he});function pe(e){return Array.isArray(e)?[...e]:{...e}}function me(e,t){let n=pe(e);for(let[e,r]of Object.entries(t)){let[t,...i]=e.split(`.`).reverse(),a=n;for(let e of i.reverse()){if(a[e]===void 0)break;a[e]=pe(a[e]),a=a[e]}a[t]!==void 0&&(a[t]={lc:1,type:`secret`,id:[r]})}return n}function he(e){let t=Object.getPrototypeOf(e);return typeof e.lc_name==`function`&&(typeof t.lc_name!=`function`||e.lc_name()!==t.lc_name())?e.lc_name():e.name}var ge=class e{lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,he(this.constructor)]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}constructor(e,...t){this.lc_serializable_keys===void 0?this.lc_kwargs=e??{}:this.lc_kwargs=Object.fromEntries(Object.entries(e||{}).filter(([e])=>this.lc_serializable_keys?.includes(e)))}toJSON(){if(!this.lc_serializable||this.lc_kwargs instanceof e||typeof this.lc_kwargs!=`object`||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let t={},n={},r=Object.keys(this.lc_kwargs).reduce((e,t)=>(e[t]=t in this?this[t]:this.lc_kwargs[t],e),{});for(let e=Object.getPrototypeOf(this);e;e=Object.getPrototypeOf(e))Object.assign(t,Reflect.get(e,`lc_aliases`,this)),Object.assign(n,Reflect.get(e,`lc_secrets`,this)),Object.assign(r,Reflect.get(e,`lc_attributes`,this));Object.keys(n).forEach(e=>{let t=this,n=r,[i,...a]=e.split(`.`).reverse();for(let e of a.reverse()){if(!(e in t)||t[e]===void 0)return;(!(e in n)||n[e]===void 0)&&(typeof t[e]==`object`&&t[e]!=null?n[e]={}:Array.isArray(t[e])&&(n[e]=[])),t=t[e],n=n[e]}i in t&&t[i]!==void 0&&(n[i]=n[i]||t[i])});let i={},a=new WeakSet;a.add(this);for(let[e,t]of Object.entries(r))i[e]=ue(t,a);let o=ie(Object.keys(n).length?me(i,n):i,ne,t);return{lc:1,type:`constructor`,id:this.lc_id,kwargs:o}}toJSONNotImplemented(){return{lc:1,type:`not_implemented`,id:this.lc_id}}};function _e(e){return typeof e==`object`&&!!e&&`type`in e&&typeof e.type==`string`&&`source_type`in e&&(e.source_type===`url`||e.source_type===`base64`||e.source_type===`text`||e.source_type===`id`)}function ve(e){return _e(e)&&e.source_type===`url`&&`url`in e&&typeof e.url==`string`}function ye(e){return _e(e)&&e.source_type===`base64`&&`data`in e&&typeof e.data==`string`}function be(e){return _e(e)&&e.source_type===`text`&&`text`in e&&typeof e.text==`string`}function xe(e){return _e(e)&&e.source_type===`id`&&`id`in e&&typeof e.id==`string`}function Se(e){if(_e(e)){if(e.source_type===`url`)return{type:`image_url`,image_url:{url:e.url}};if(e.source_type===`base64`){if(!e.mime_type)throw Error(`mime_type key is required for base64 data.`);return{type:`image_url`,image_url:{url:`data:${e.mime_type};base64,${e.data}`}}}}throw Error(`Unsupported source type. Only 'url' and 'base64' are supported.`)}function Ce(e){let t=e.split(`;`)[0].split(`/`);if(t.length!==2)throw Error(`Invalid mime type: "${e}" - does not match type/subtype format.`);let n=t[0].trim(),r=t[1].trim();if(n===``||r===``)throw Error(`Invalid mime type: "${e}" - type or subtype is empty.`);let i={};for(let t of e.split(`;`).slice(1)){let n=t.split(`=`);if(n.length!==2)throw Error(`Invalid parameter syntax in mime type: "${e}".`);let r=n[0].trim(),a=n[1].trim();if(r===``)throw Error(`Invalid parameter syntax in mime type: "${e}".`);i[r]=a}return{type:n,subtype:r,parameters:i}}function we({dataUrl:e,asTypedArray:t=!1}){let n=e.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/),r;if(n){r=n[1].toLowerCase();let e=t?Uint8Array.from(atob(n[2]),e=>e.charCodeAt(0)):n[2];return{mime_type:r,data:e}}}function Te(e,t){if(e.type===`text`){if(!t.fromStandardTextBlock)throw Error(`Converter for ${t.providerName} does not implement \`fromStandardTextBlock\` method.`);return t.fromStandardTextBlock(e)}if(e.type===`image`){if(!t.fromStandardImageBlock)throw Error(`Converter for ${t.providerName} does not implement \`fromStandardImageBlock\` method.`);return t.fromStandardImageBlock(e)}if(e.type===`audio`){if(!t.fromStandardAudioBlock)throw Error(`Converter for ${t.providerName} does not implement \`fromStandardAudioBlock\` method.`);return t.fromStandardAudioBlock(e)}if(e.type===`file`){if(!t.fromStandardFileBlock)throw Error(`Converter for ${t.providerName} does not implement \`fromStandardFileBlock\` method.`);return t.fromStandardFileBlock(e)}throw Error(`Unable to convert content block type '${e.type}' to provider-specific format: not recognized.`)}function w(e,t){return T(e)&&e.type===t}function T(e){return typeof e==`object`&&!!e}function Ee(e){return Array.isArray(e)}function E(e){return typeof e==`string`}function De(e){return typeof e==`number`}function Oe(e){return e instanceof Uint8Array}function D(e){try{return JSON.parse(e)}catch{return}}var ke=e=>e();function Ae(e){if(e.type===`char_location`&&E(e.document_title)&&De(e.start_char_index)&&De(e.end_char_index)&&E(e.cited_text)){let{document_title:t,start_char_index:n,end_char_index:r,cited_text:i,...a}=e;return{...a,type:`citation`,source:`char`,title:t??void 0,startIndex:n,endIndex:r,citedText:i}}if(e.type===`page_location`&&E(e.document_title)&&De(e.start_page_number)&&De(e.end_page_number)&&E(e.cited_text)){let{document_title:t,start_page_number:n,end_page_number:r,cited_text:i,...a}=e;return{...a,type:`citation`,source:`page`,title:t??void 0,startIndex:n,endIndex:r,citedText:i}}if(e.type===`content_block_location`&&E(e.document_title)&&De(e.start_block_index)&&De(e.end_block_index)&&E(e.cited_text)){let{document_title:t,start_block_index:n,end_block_index:r,cited_text:i,...a}=e;return{...a,type:`citation`,source:`block`,title:t??void 0,startIndex:n,endIndex:r,citedText:i}}if(e.type===`web_search_result_location`&&E(e.url)&&E(e.title)&&E(e.encrypted_index)&&E(e.cited_text)){let{url:t,title:n,encrypted_index:r,cited_text:i,...a}=e;return{...a,type:`citation`,source:`url`,url:t,title:n,startIndex:Number(r),endIndex:Number(r),citedText:i}}if(e.type===`search_result_location`&&E(e.source)&&E(e.title)&&De(e.start_block_index)&&De(e.end_block_index)&&E(e.cited_text)){let{source:t,title:n,start_block_index:r,end_block_index:i,cited_text:a,...o}=e;return{...o,type:`citation`,source:`search`,url:t,title:n??void 0,startIndex:r,endIndex:i,citedText:a}}}function je(e){if(w(e,`document`)&&T(e.source)&&`type`in e.source){if(e.source.type===`base64`&&E(e.source.media_type)&&E(e.source.data))return{type:`file`,mimeType:e.source.media_type,data:e.source.data};if(e.source.type===`url`&&E(e.source.url))return{type:`file`,url:e.source.url};if(e.source.type===`file`&&E(e.source.file_id))return{type:`file`,fileId:e.source.file_id};if(e.source.type===`text`&&E(e.source.data))return{type:`file`,mimeType:String(e.source.media_type??`text/plain`),data:e.source.data}}else if(w(e,`image`)&&T(e.source)&&`type`in e.source){if(e.source.type===`base64`&&E(e.source.media_type)&&E(e.source.data))return{type:`image`,mimeType:e.source.media_type,data:e.source.data};if(e.source.type===`url`&&E(e.source.url))return{type:`image`,url:e.source.url};if(e.source.type===`file`&&E(e.source.file_id))return{type:`image`,fileId:e.source.file_id}}}function Me(e){function*t(){for(let t of e){let e=je(t);e?yield e:yield t}}return Array.from(t())}function Ne(e){function*t(){let t=typeof e.content==`string`?[{type:`text`,text:e.content}]:e.content;for(let n of t){if(w(n,`text`)&&E(n.text)){let{text:e,citations:t,...r}=n;if(Ee(t)&&t.length){let n=t.reduce((e,t)=>{let n=Ae(t);return n?[...e,n]:e},[]);yield{...r,type:`text`,text:e,annotations:n};continue}else{yield{...r,type:`text`,text:e};continue}}else if(w(n,`thinking`)&&E(n.thinking)){let{thinking:e,signature:t,...r}=n;yield{...r,type:`reasoning`,reasoning:e,signature:t};continue}else if(w(n,`redacted_thinking`)){yield{type:`non_standard`,value:n};continue}else if(w(n,`tool_use`)&&E(n.name)&&E(n.id)){yield{type:`tool_call`,id:n.id,name:n.name,args:n.input};continue}else if(w(n,`input_json_delta`)){if(Fe(e)&&e.tool_call_chunks?.length){let t=e.tool_call_chunks[0];yield{type:`tool_call_chunk`,id:t.id,name:t.name,args:t.args,index:t.index};continue}}else if(w(n,`server_tool_use`)&&E(n.name)&&E(n.id)){let{name:e,id:t}=n;if(e===`web_search`){yield{id:t,type:`server_tool_call`,name:`web_search`,args:{query:ke(()=>{if(typeof n.input==`string`)return n.input;if(T(n.input)&&E(n.input.query))return n.input.query;if(E(n.partial_json)){let e=D(n.partial_json);if(e?.query)return e.query}return``})}};continue}else if(n.name===`code_execution`){yield{id:t,type:`server_tool_call`,name:`code_execution`,args:{code:ke(()=>{if(typeof n.input==`string`)return n.input;if(T(n.input)&&E(n.input.code))return n.input.code;if(E(n.partial_json)){let e=D(n.partial_json);if(e?.code)return e.code}return``})}};continue}}else if(w(n,`web_search_tool_result`)&&E(n.tool_use_id)&&Ee(n.content)){let{content:e,tool_use_id:t}=n;yield{type:`server_tool_call_result`,name:`web_search`,toolCallId:t,status:`success`,output:{urls:e.reduce((e,t)=>w(t,`web_search_result`)?[...e,t.url]:e,[])}};continue}else if(w(n,`code_execution_tool_result`)&&E(n.tool_use_id)&&T(n.content)){yield{type:`server_tool_call_result`,name:`code_execution`,toolCallId:n.tool_use_id,status:`success`,output:n.content};continue}else if(w(n,`mcp_tool_use`)){yield{id:n.id,type:`server_tool_call`,name:`mcp_tool_use`,args:n.input};continue}else if(w(n,`mcp_tool_result`)&&E(n.tool_use_id)&&T(n.content)){yield{type:`server_tool_call_result`,name:`mcp_tool_use`,toolCallId:n.tool_use_id,status:`success`,output:n.content};continue}else if(w(n,`container_upload`)){yield{type:`server_tool_call`,name:`container_upload`,args:n.input};continue}else if(w(n,`search_result`)){yield{id:n.id,type:`non_standard`,value:n};continue}else if(w(n,`tool_result`)){yield{id:n.id,type:`non_standard`,value:n};continue}else{let e=je(n);if(e){yield e;continue}}yield{type:`non_standard`,value:n}}}return Array.from(t())}var Pe={translateContent:Ne,translateContentChunk:Ne};function Fe(e){return typeof e?._getType==`function`&&typeof e.concat==`function`&&e._getType()===`ai`}function Ie(e){return ve(e)?{type:e.type,mimeType:e.mime_type,url:e.url,metadata:e.metadata}:ye(e)?{type:e.type,mimeType:e.mime_type??`application/octet-stream`,data:e.data,metadata:e.metadata}:xe(e)?{type:e.type,mimeType:e.mime_type,fileId:e.id,metadata:e.metadata}:e}function Le(e){return e.map(Ie)}function Re(e){return!!(w(e,`image_url`)&&T(e.image_url)||w(e,`input_audio`)&&T(e.input_audio)||w(e,`file`)&&T(e.file))}function ze(e){if(w(e,`image_url`)&&T(e.image_url)&&E(e.image_url.url)){let t=we({dataUrl:e.image_url.url});return t?{type:`image`,mimeType:t.mime_type,data:t.data}:{type:`image`,url:e.image_url.url}}else if(w(e,`input_audio`)&&T(e.input_audio)&&E(e.input_audio.data)&&E(e.input_audio.format))return{type:`audio`,data:e.input_audio.data,mimeType:`audio/${e.input_audio.format}`};else if(w(e,`file`)&&T(e.file)&&E(e.file.data)){let t=we({dataUrl:e.file.data});if(t)return{type:`file`,data:t.data,mimeType:t.mime_type};if(E(e.file.file_id))return{type:`file`,fileId:e.file.file_id}}return e}function Be(e){let t=[];typeof e.content==`string`?e.content.length>0&&t.push({type:`text`,text:e.content}):t.push(...He(e.content));for(let n of e.tool_calls??[])t.push({type:`tool_call`,id:n.id,name:n.name,args:n.args});return t}function Ve(e){let t=[];typeof e.content==`string`?e.content.length>0&&t.push({type:`text`,text:e.content}):t.push(...He(e.content));for(let n of e.tool_calls??[])t.push({type:`tool_call`,id:n.id,name:n.name,args:n.args});return t}function He(e){let t=[];for(let n of e)Re(n)?t.push(ze(n)):t.push(n);return t}function Ue(e){if(e.type===`url_citation`){let{url:t,title:n,start_index:r,end_index:i}=e;return{type:`citation`,url:t,title:n,startIndex:r,endIndex:i}}if(e.type===`file_citation`){let{file_id:t,filename:n,index:r}=e;return{type:`citation`,title:n,startIndex:r,endIndex:r,fileId:t}}return e}function We(e){function*t(){T(e.additional_kwargs?.reasoning)&&Ee(e.additional_kwargs.reasoning.summary)&&(yield{type:`reasoning`,reasoning:e.additional_kwargs.reasoning.summary.reduce((e,t)=>T(t)&&E(t.text)?`${e}${t.text}`:e,``)});let t=typeof e.content==`string`?[{type:`text`,text:e.content}]:e.content;for(let e of t)if(w(e,`text`)){let{text:t,annotations:n,phase:r,extras:i,...a}=e,o=T(i)?{...i}:{};E(r)&&(o.phase=r);let s=Object.keys(o).length>0?{extras:o}:{};Array.isArray(n)?yield{...a,...s,type:`text`,text:String(t),annotations:n.map(Ue)}:yield{...a,...s,type:`text`,text:String(t)}}for(let t of e.tool_calls??[])yield{type:`tool_call`,id:t.id,name:t.name,args:t.args};if(T(e.additional_kwargs)&&Ee(e.additional_kwargs.tool_outputs))for(let t of e.additional_kwargs.tool_outputs){if(w(t,`web_search_call`)){let e={};if(T(t.action)&&E(t.action.query)&&(e.query=t.action.query),yield{id:t.id,type:`server_tool_call`,name:`web_search`,args:e},t.status===`completed`||t.status===`failed`){let e={};T(t.action)&&(e.action=t.action),yield{type:`server_tool_call_result`,toolCallId:E(t.id)?t.id:``,status:t.status===`completed`?`success`:`error`,output:e}}continue}else if(w(t,`file_search_call`)){yield{id:t.id,type:`server_tool_call`,name:`file_search`,args:{queries:Ee(t.queries)?t.queries:[]}},(t.status===`completed`||t.status===`failed`)&&(yield{type:`server_tool_call_result`,toolCallId:E(t.id)?t.id:``,status:t.status===`completed`?`success`:`error`,output:Ee(t.results)?{results:t.results}:{}});continue}else if(w(t,`computer_call`)){yield{type:`non_standard`,value:t};continue}else if(w(t,`code_interpreter_call`)){if(E(t.code)&&(yield{id:t.id,type:`server_tool_call`,name:`code_interpreter`,args:{code:t.code}}),Ee(t.outputs)){let e=ke(()=>{if(t.status!==`in_progress`){if(t.status===`completed`)return 0;if(t.status===`incomplete`)return 127;if(t.status!==`interpreting`&&t.status===`failed`)return 1}});for(let n of t.outputs)if(w(n,`logs`)){yield{type:`server_tool_call_result`,toolCallId:t.id??``,status:`success`,output:{type:`code_interpreter_output`,returnCode:e??0,stderr:[0,void 0].includes(e)?void 0:String(n.logs),stdout:[0,void 0].includes(e)?String(n.logs):void 0}};continue}}continue}else if(w(t,`mcp_call`)){yield{id:t.id,type:`server_tool_call`,name:`mcp_call`,args:t.input};continue}else if(w(t,`mcp_list_tools`)){yield{id:t.id,type:`server_tool_call`,name:`mcp_list_tools`,args:t.input};continue}else if(w(t,`mcp_approval_request`)){yield{type:`non_standard`,value:t};continue}else if(w(t,`tool_search_call`)){let e={};T(t.arguments)&&Object.assign(e,t.arguments);let n={};E(t.execution)&&(n.execution=t.execution),E(t.status)&&(n.status=t.status),E(t.call_id)&&(n.call_id=t.call_id),yield{id:E(t.id)?t.id:``,type:`server_tool_call`,name:`tool_search`,args:e,...Object.keys(n).length>0?{extras:n}:{}};continue}else if(w(t,`tool_search_output`)){let e={name:`tool_search`};E(t.execution)&&(e.execution=t.execution),yield{type:`server_tool_call_result`,toolCallId:E(t.id)?t.id:``,status:t.status===`completed`?`success`:t.status===`failed`?`error`:`success`,output:{tools:Ee(t.tools)?t.tools:[]},extras:e};continue}else if(w(t,`image_generation_call`)){E(t.result)&&(yield{type:`image`,mimeType:`image/png`,data:t.result,id:E(t.id)?t.id:void 0,metadata:{status:E(t.status)?t.status:void 0}}),yield{type:`non_standard`,value:t};continue}T(t)&&(yield{type:`non_standard`,value:t})}}return Array.from(t())}function Ge(e){function*t(){yield*We(e);for(let t of e.tool_call_chunks??[])yield{type:`tool_call_chunk`,id:t.id,name:t.name,args:t.args}}return Array.from(t())}var Ke={translateContent:e=>typeof e.content==`string`?Be(e):We(e),translateContentChunk:e=>typeof e.content==`string`?Ve(e):Ge(e)};function qe(e){return typeof e==`object`&&!!e&&`type`in e&&`content`in e&&(typeof e.content==`string`||Array.isArray(e.content))}function Je(e,t=`pretty`){return t===`pretty`?Ye(e):JSON.stringify(e)}function Ye(e){let t=[],n=` ${e.type.charAt(0).toUpperCase()+e.type.slice(1)} Message `,r=Math.floor((80-n.length)/2),i=`=`.repeat(r),a=n.length%2==0?i:`${i}=`;if(t.push(`${i}${n}${a}`),e.type===`ai`){let n=e;if(n.tool_calls&&n.tool_calls.length>0){t.push(`Tool Calls:`);for(let e of n.tool_calls){t.push(` ${e.name} (${e.id})`),t.push(` Call ID: ${e.id}`),t.push(` Args:`);for(let[n,r]of Object.entries(e.args))t.push(` ${n}: ${typeof r==`object`?JSON.stringify(r):r}`)}}}if(e.type===`tool`){let n=e;n.name&&t.push(`Name: ${n.name}`)}return typeof e.content==`string`&&e.content.trim()&&(t.length>1&&t.push(``),t.push(e.content)),t.join(`
@@ -0,0 +1 @@
1
+ import"./index-i8mZYWUD.js";import"./chunk-H3VCZNTA-BuHjQqGv.js";import"./chunk-FXACKDTF-BBdk0y0E.js";import{n as e}from"./chunk-XGPFEOL4-CFcfign9.js";export{e as createArchitectureServices};