@zvec/zvec-grep 0.1.3 → 0.1.5

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 (135) hide show
  1. package/README.md +127 -42
  2. package/README_CN.md +124 -42
  3. package/dist/cli/args.d.ts +3 -0
  4. package/dist/cli/args.js +490 -192
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/commands.d.ts +3 -1
  7. package/dist/cli/commands.js +590 -56
  8. package/dist/cli/commands.js.map +1 -1
  9. package/dist/cli/errors.js +6 -5
  10. package/dist/cli/errors.js.map +1 -1
  11. package/dist/cli/format/context.js +33 -29
  12. package/dist/cli/format/context.js.map +1 -1
  13. package/dist/cli/format/debug.js +12 -14
  14. package/dist/cli/format/debug.js.map +1 -1
  15. package/dist/cli/format/highlight.js.map +1 -1
  16. package/dist/cli/format/progress.js +8 -3
  17. package/dist/cli/format/progress.js.map +1 -1
  18. package/dist/cli/format/range.js.map +1 -1
  19. package/dist/cli/format/status.js +88 -26
  20. package/dist/cli/format/status.js.map +1 -1
  21. package/dist/cli/help.d.ts +1 -1
  22. package/dist/cli/help.js +170 -85
  23. package/dist/cli/help.js.map +1 -1
  24. package/dist/cli/index.js +4 -4
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/mcp.d.ts +2 -0
  27. package/dist/cli/mcp.js +354 -0
  28. package/dist/cli/mcp.js.map +1 -0
  29. package/dist/cli/types.d.ts +22 -9
  30. package/dist/cli/types.js.map +1 -1
  31. package/dist/cli/version.js +3 -1
  32. package/dist/cli/version.js.map +1 -1
  33. package/dist/engine/collection/index.js +15 -15
  34. package/dist/engine/collection/index.js.map +1 -1
  35. package/dist/engine/config.d.ts +28 -0
  36. package/dist/engine/config.js +195 -0
  37. package/dist/engine/config.js.map +1 -0
  38. package/dist/engine/errors/details.js.map +1 -1
  39. package/dist/engine/errors/index.js.map +1 -1
  40. package/dist/engine/extraction/code/adapter.js.map +1 -1
  41. package/dist/engine/extraction/code/extractor.js +87 -73
  42. package/dist/engine/extraction/code/extractor.js.map +1 -1
  43. package/dist/engine/extraction/code/families/c-family.js +12 -6
  44. package/dist/engine/extraction/code/families/c-family.js.map +1 -1
  45. package/dist/engine/extraction/code/families/js-ts.js +24 -18
  46. package/dist/engine/extraction/code/families/js-ts.js.map +1 -1
  47. package/dist/engine/extraction/code/families/metadata.js +11 -8
  48. package/dist/engine/extraction/code/families/metadata.js.map +1 -1
  49. package/dist/engine/extraction/code/families/name-field.js +5 -5
  50. package/dist/engine/extraction/code/families/name-field.js.map +1 -1
  51. package/dist/engine/extraction/code/languages/c.js +1 -4
  52. package/dist/engine/extraction/code/languages/c.js.map +1 -1
  53. package/dist/engine/extraction/code/languages/cpp.js.map +1 -1
  54. package/dist/engine/extraction/code/languages/go.js +1 -3
  55. package/dist/engine/extraction/code/languages/go.js.map +1 -1
  56. package/dist/engine/extraction/code/languages/java.js.map +1 -1
  57. package/dist/engine/extraction/code/languages/javascript.js +1 -3
  58. package/dist/engine/extraction/code/languages/javascript.js.map +1 -1
  59. package/dist/engine/extraction/code/languages/python.js +5 -6
  60. package/dist/engine/extraction/code/languages/python.js.map +1 -1
  61. package/dist/engine/extraction/code/languages/rust.js +1 -5
  62. package/dist/engine/extraction/code/languages/rust.js.map +1 -1
  63. package/dist/engine/extraction/code/languages/typescript.js.map +1 -1
  64. package/dist/engine/extraction/ids.js.map +1 -1
  65. package/dist/engine/extraction/index.js +3 -3
  66. package/dist/engine/extraction/index.js.map +1 -1
  67. package/dist/engine/extraction/markdown/extractor.js +4 -2
  68. package/dist/engine/extraction/markdown/extractor.js.map +1 -1
  69. package/dist/engine/extraction/tree-sitter/grammar.js.map +1 -1
  70. package/dist/engine/extraction/tree-sitter/nodes.js +2 -1
  71. package/dist/engine/extraction/tree-sitter/nodes.js.map +1 -1
  72. package/dist/engine/extraction/tree-sitter/parser.js.map +1 -1
  73. package/dist/engine/files/file-type.js.map +1 -1
  74. package/dist/engine/models/catalog.js +7 -23
  75. package/dist/engine/models/catalog.js.map +1 -1
  76. package/dist/engine/models/embeddings.js +3 -3
  77. package/dist/engine/models/embeddings.js.map +1 -1
  78. package/dist/engine/models/factory.js.map +1 -1
  79. package/dist/engine/models/index.d.ts +1 -1
  80. package/dist/engine/models/index.js.map +1 -1
  81. package/dist/engine/models/providers/index.d.ts +1 -1
  82. package/dist/engine/models/providers/index.js +1 -1
  83. package/dist/engine/models/providers/index.js.map +1 -1
  84. package/dist/engine/models/providers/llama-cpp/embedding.js +49 -18
  85. package/dist/engine/models/providers/llama-cpp/embedding.js.map +1 -1
  86. package/dist/engine/models/providers/qwen/embedding.js +16 -11
  87. package/dist/engine/models/providers/qwen/embedding.js.map +1 -1
  88. package/dist/engine/models/providers/qwen/index.d.ts +1 -1
  89. package/dist/engine/models/providers/qwen/index.js +1 -1
  90. package/dist/engine/models/providers/qwen/index.js.map +1 -1
  91. package/dist/engine/pipeline/indexing/index.js +46 -33
  92. package/dist/engine/pipeline/indexing/index.js.map +1 -1
  93. package/dist/engine/pipeline/indexing/root-paths.js +10 -13
  94. package/dist/engine/pipeline/indexing/root-paths.js.map +1 -1
  95. package/dist/engine/pipeline/indexing/scanner/index.js +121 -46
  96. package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
  97. package/dist/engine/pipeline/search/index.js +68 -24
  98. package/dist/engine/pipeline/search/index.js.map +1 -1
  99. package/dist/engine/service/index.d.ts +1 -1
  100. package/dist/engine/service/lexical.d.ts +14 -15
  101. package/dist/engine/service/lexical.js +78 -114
  102. package/dist/engine/service/lexical.js.map +1 -1
  103. package/dist/engine/service/root.js +2 -2
  104. package/dist/engine/service/root.js.map +1 -1
  105. package/dist/engine/service/structure-enrichment.js +17 -11
  106. package/dist/engine/service/structure-enrichment.js.map +1 -1
  107. package/dist/engine/service/types.d.ts +39 -8
  108. package/dist/engine/service/zvec-grep.js +303 -160
  109. package/dist/engine/service/zvec-grep.js.map +1 -1
  110. package/dist/engine/storage/index.js.map +1 -1
  111. package/dist/engine/storage/zvec.js +49 -28
  112. package/dist/engine/storage/zvec.js.map +1 -1
  113. package/dist/engine/types.d.ts +14 -0
  114. package/dist/engine/types.js.map +1 -1
  115. package/dist/engine/utils/file-selection.d.ts +10 -0
  116. package/dist/engine/utils/file-selection.js +120 -0
  117. package/dist/engine/utils/file-selection.js.map +1 -0
  118. package/dist/engine/utils/glob.d.ts +3 -0
  119. package/dist/engine/utils/glob.js +116 -18
  120. package/dist/engine/utils/glob.js.map +1 -1
  121. package/dist/engine/utils/hash.js.map +1 -1
  122. package/dist/engine/utils/json.d.ts +6 -2
  123. package/dist/engine/utils/json.js +50 -12
  124. package/dist/engine/utils/json.js.map +1 -1
  125. package/dist/engine/utils/lock.js +6 -6
  126. package/dist/engine/utils/lock.js.map +1 -1
  127. package/dist/engine/utils/path.js +2 -2
  128. package/dist/engine/utils/path.js.map +1 -1
  129. package/dist/engine/utils/timing.js.map +1 -1
  130. package/dist/index.d.ts +3 -3
  131. package/dist/index.js +2 -2
  132. package/dist/index.js.map +1 -1
  133. package/package.json +34 -7
  134. package/skills/zvec-grep/SKILL.md +58 -48
  135. package/skills/zvec-grep/agents/openai.yaml +1 -1
@@ -0,0 +1,28 @@
1
+ import type { LlamaGpuMode } from "./models/types.js";
2
+ export type ZvecGrepGlobalDefaults = {
3
+ embedding?: string;
4
+ modelCacheDir?: string;
5
+ llamaGpu?: LlamaGpuMode;
6
+ embeddingParallelism?: number;
7
+ };
8
+ export type ZvecGrepProviderConfig = {
9
+ apiKey?: string;
10
+ endpoint?: string;
11
+ };
12
+ export type ZvecGrepGlobalConfig = {
13
+ version: 1;
14
+ defaults?: ZvecGrepGlobalDefaults;
15
+ providers?: Record<string, ZvecGrepProviderConfig>;
16
+ };
17
+ export type ZvecGrepGlobalConfigUpdate = {
18
+ defaults?: ZvecGrepGlobalDefaults;
19
+ providers?: Record<string, ZvecGrepProviderConfig>;
20
+ };
21
+ export type ZvecGrepExplicitGlobalOptions = ZvecGrepGlobalDefaults & {
22
+ apiKey?: string;
23
+ endpoint?: string;
24
+ };
25
+ export declare function globalConfigPath(): string;
26
+ export declare function readGlobalConfig(path?: string): ZvecGrepGlobalConfig;
27
+ export declare function updateGlobalConfig(update: ZvecGrepGlobalConfigUpdate, path?: string): ZvecGrepGlobalConfig;
28
+ export declare function updateGlobalConfigFromExplicitOptions(options: ZvecGrepExplicitGlobalOptions, indexedProvider?: string, path?: string): boolean;
@@ -0,0 +1,195 @@
1
+ import { homedir } from "node:os";
2
+ import { dirname, join, resolve } from "node:path";
3
+ import { EngineError } from "./errors/index.js";
4
+ import { readJsonFileSync, writeJsonFileSync } from "./utils/json.js";
5
+ import { acquireReadWriteLock } from "./utils/lock.js";
6
+ const GLOBAL_CONFIG_VERSION = 1;
7
+ const GLOBAL_CONFIG_DIRECTORY_MODE = 0o700;
8
+ const GLOBAL_CONFIG_FILE_MODE = 0o600;
9
+ export function globalConfigPath() {
10
+ return resolve(homedir(), ".zvec-grep", "config.json");
11
+ }
12
+ export function readGlobalConfig(path = globalConfigPath()) {
13
+ const value = readJsonFileSync(path, null);
14
+ if (value === null) {
15
+ return emptyGlobalConfig();
16
+ }
17
+ return parseGlobalConfig(value, path);
18
+ }
19
+ export function updateGlobalConfig(update, path = globalConfigPath()) {
20
+ const lock = acquireReadWriteLock(join(dirname(path), "locks", "config"), "write", {
21
+ operation: "global-config.update",
22
+ });
23
+ try {
24
+ const current = readGlobalConfig(path);
25
+ const next = parseGlobalConfig({
26
+ version: GLOBAL_CONFIG_VERSION,
27
+ defaults: {
28
+ ...current.defaults,
29
+ ...update.defaults,
30
+ },
31
+ providers: mergeProviderConfigs(current.providers, update.providers),
32
+ }, path);
33
+ writeJsonFileSync(path, next, {
34
+ directoryMode: GLOBAL_CONFIG_DIRECTORY_MODE,
35
+ fileMode: GLOBAL_CONFIG_FILE_MODE,
36
+ });
37
+ return next;
38
+ }
39
+ finally {
40
+ lock.release();
41
+ }
42
+ }
43
+ export function updateGlobalConfigFromExplicitOptions(options, indexedProvider, path = globalConfigPath()) {
44
+ const defaults = {
45
+ ...(options.embedding !== undefined
46
+ ? { embedding: options.embedding }
47
+ : {}),
48
+ ...(options.modelCacheDir !== undefined
49
+ ? { modelCacheDir: options.modelCacheDir }
50
+ : {}),
51
+ ...(options.llamaGpu !== undefined ? { llamaGpu: options.llamaGpu } : {}),
52
+ ...(options.embeddingParallelism !== undefined
53
+ ? { embeddingParallelism: options.embeddingParallelism }
54
+ : {}),
55
+ };
56
+ const provider = providerFromEmbedding(options.embedding) ?? indexedProvider;
57
+ const providerConfig = provider && provider !== "local"
58
+ ? {
59
+ ...(options.apiKey !== undefined ? { apiKey: options.apiKey } : {}),
60
+ ...(options.endpoint !== undefined
61
+ ? { endpoint: options.endpoint }
62
+ : {}),
63
+ }
64
+ : {};
65
+ const update = {
66
+ ...(Object.keys(defaults).length > 0 ? { defaults } : {}),
67
+ ...(provider && Object.keys(providerConfig).length > 0
68
+ ? { providers: { [provider]: providerConfig } }
69
+ : {}),
70
+ };
71
+ if (!update.defaults && !update.providers) {
72
+ return false;
73
+ }
74
+ updateGlobalConfig(update, path);
75
+ return true;
76
+ }
77
+ function emptyGlobalConfig() {
78
+ return { version: GLOBAL_CONFIG_VERSION };
79
+ }
80
+ function providerFromEmbedding(embedding) {
81
+ if (!embedding) {
82
+ return undefined;
83
+ }
84
+ const separator = embedding.indexOf("/");
85
+ return separator > 0 ? embedding.slice(0, separator) : undefined;
86
+ }
87
+ function parseGlobalConfig(value, path) {
88
+ if (!isRecord(value) || value.version !== GLOBAL_CONFIG_VERSION) {
89
+ throw invalidConfig(path, "version must be 1");
90
+ }
91
+ const defaults = parseDefaults(value.defaults, path);
92
+ const providers = parseProviders(value.providers, path);
93
+ return {
94
+ version: GLOBAL_CONFIG_VERSION,
95
+ ...(defaults ? { defaults } : {}),
96
+ ...(providers ? { providers } : {}),
97
+ };
98
+ }
99
+ function parseDefaults(value, path) {
100
+ if (value === undefined) {
101
+ return undefined;
102
+ }
103
+ if (!isRecord(value)) {
104
+ throw invalidConfig(path, "defaults must be an object");
105
+ }
106
+ const embedding = optionalNonEmptyString(value.embedding, path, "defaults.embedding");
107
+ const modelCacheDir = optionalNonEmptyString(value.modelCacheDir, path, "defaults.modelCacheDir");
108
+ const llamaGpu = optionalLlamaGpu(value.llamaGpu, path);
109
+ const embeddingParallelism = optionalPositiveInteger(value.embeddingParallelism, path, "defaults.embeddingParallelism");
110
+ const defaults = {
111
+ ...(embedding ? { embedding } : {}),
112
+ ...(modelCacheDir ? { modelCacheDir } : {}),
113
+ ...(llamaGpu !== undefined ? { llamaGpu } : {}),
114
+ ...(embeddingParallelism !== undefined ? { embeddingParallelism } : {}),
115
+ };
116
+ return Object.keys(defaults).length > 0 ? defaults : undefined;
117
+ }
118
+ function parseProviders(value, path) {
119
+ if (value === undefined) {
120
+ return undefined;
121
+ }
122
+ if (!isRecord(value)) {
123
+ throw invalidConfig(path, "providers must be an object");
124
+ }
125
+ const providers = {};
126
+ for (const [provider, providerValue] of Object.entries(value)) {
127
+ if (!/^[a-z][a-z0-9_-]*$/.test(provider) || !isRecord(providerValue)) {
128
+ throw invalidConfig(path, `providers.${provider} must be an object with a valid provider name`);
129
+ }
130
+ const apiKey = optionalNonEmptyString(providerValue.apiKey, path, `providers.${provider}.apiKey`);
131
+ const endpoint = optionalNonEmptyString(providerValue.endpoint, path, `providers.${provider}.endpoint`);
132
+ const config = {
133
+ ...(apiKey ? { apiKey } : {}),
134
+ ...(endpoint ? { endpoint } : {}),
135
+ };
136
+ if (Object.keys(config).length > 0) {
137
+ providers[provider] = config;
138
+ }
139
+ }
140
+ return Object.keys(providers).length > 0 ? providers : undefined;
141
+ }
142
+ function mergeProviderConfigs(current, update) {
143
+ if (!current && !update) {
144
+ return undefined;
145
+ }
146
+ const merged = { ...current };
147
+ for (const [provider, config] of Object.entries(update ?? {})) {
148
+ merged[provider] = {
149
+ ...merged[provider],
150
+ ...config,
151
+ };
152
+ }
153
+ return merged;
154
+ }
155
+ function optionalNonEmptyString(value, path, field) {
156
+ if (value === undefined) {
157
+ return undefined;
158
+ }
159
+ if (typeof value !== "string" || value.trim().length === 0) {
160
+ throw invalidConfig(path, `${field} must be a non-empty string`);
161
+ }
162
+ return value.trim();
163
+ }
164
+ function optionalPositiveInteger(value, path, field) {
165
+ if (value === undefined) {
166
+ return undefined;
167
+ }
168
+ if (!Number.isInteger(value) || value <= 0) {
169
+ throw invalidConfig(path, `${field} must be a positive integer`);
170
+ }
171
+ return value;
172
+ }
173
+ function optionalLlamaGpu(value, path) {
174
+ if (value === undefined) {
175
+ return undefined;
176
+ }
177
+ if (value === false ||
178
+ value === "auto" ||
179
+ value === "metal" ||
180
+ value === "vulkan" ||
181
+ value === "cuda") {
182
+ return value;
183
+ }
184
+ throw invalidConfig(path, "defaults.llamaGpu must be auto, metal, vulkan, cuda, or false");
185
+ }
186
+ function invalidConfig(path, detail) {
187
+ return new EngineError("zvec-grep global config is invalid", {
188
+ code: "ZVEC_GREP.ENGINE.CONFIG.INVALID",
189
+ context: `path=${path}\ndetail=${detail}`,
190
+ });
191
+ }
192
+ function isRecord(value) {
193
+ return typeof value === "object" && value !== null && !Array.isArray(value);
194
+ }
195
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/engine/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/engine/errors/details.ts"],"names":[],"mappings":"AAUA,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAGlD,MAAM,UAAU,YAAY,CAAC,OAAoC;IAC/D,MAAM,KAAK,GAAG,OAAO;SAClB,GAAG,CAAC,iBAAiB,CAAC;SACtB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEtE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAGD,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,KAAuB;IACzD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,KAAK,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAChF,CAAC;AAGD,SAAS,iBAAiB,CAAC,KAAuB;IAChD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/engine/errors/details.ts"],"names":[],"mappings":"AAKA,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAElD,MAAM,UAAU,YAAY,CAC1B,OAAoC;IAEpC,MAAM,KAAK,GAAG,OAAO;SAClB,GAAG,CAAC,iBAAiB,CAAC;SACtB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEtE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,KAAuB;IACzD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,KAAK,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAuB;IAChD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/errors/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAa3D,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,IAAI,CAAkB;IACtB,OAAO,CAAU;IAG1B,YAAY,OAAe,EAAE,OAA2B;QACtD,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;CACF;AAGD,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,KAAK,YAAY,WAAW,CAAC;AACtC,CAAC;AAGD,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,YAAY,GAEb,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/errors/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAU3D,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,IAAI,CAAkB;IACtB,OAAO,CAAU;IAE1B,YAAY,OAAe,EAAE,OAA2B;QACtD,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,KAAK,YAAY,WAAW,CAAC;AACtC,CAAC;AAED,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,YAAY,GAEb,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/engine/extraction/code/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAqB/D,MAAM,QAAQ,GAAoC;IAChD,CAAC,EAAE,SAAS;IACZ,GAAG,EAAE,WAAW;IAChB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,kBAAkB;IAC9B,GAAG,EAAE,kBAAkB;IACvB,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,kBAAkB;IACvB,UAAU,EAAE,kBAAkB;CAC/B,CAAC;AAGF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/engine/extraction/code/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAyB/D,MAAM,QAAQ,GAAoC;IAChD,CAAC,EAAE,SAAS;IACZ,GAAG,EAAE,WAAW;IAChB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,kBAAkB;IAC9B,GAAG,EAAE,kBAAkB;IACvB,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,kBAAkB;IACvB,UAAU,EAAE,kBAAkB;CAC/B,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AAClC,CAAC"}
@@ -18,9 +18,9 @@ export class CodeExtractor {
18
18
  context: `maxChunkChars=${maxChunkChars}`,
19
19
  });
20
20
  }
21
- if (!Number.isInteger(chunkOverlapChars)
22
- || chunkOverlapChars < 0
23
- || chunkOverlapChars >= maxChunkChars) {
21
+ if (!Number.isInteger(chunkOverlapChars) ||
22
+ chunkOverlapChars < 0 ||
23
+ chunkOverlapChars >= maxChunkChars) {
24
24
  throw new EngineError("Code extractor requires overlap to be smaller than chunk size", {
25
25
  code: "ZVEC_GREP.ENGINE.EXTRACTORS.CODE_INVALID_CHUNK_OVERLAP",
26
26
  context: `maxChunkChars=${maxChunkChars} chunkOverlapChars=${chunkOverlapChars}`,
@@ -30,11 +30,11 @@ export class CodeExtractor {
30
30
  this.chunkOverlapChars = chunkOverlapChars;
31
31
  }
32
32
  supports(source) {
33
- return source.kind === "text"
34
- && source.file.kind === "code"
35
- && (isScriptBlockFormat(source.file.format)
36
- || (hasGrammar(source.file.format)
37
- && resolveAdapter(source.file.format) !== null));
33
+ return (source.kind === "text" &&
34
+ source.file.kind === "code" &&
35
+ (isScriptBlockFormat(source.file.format) ||
36
+ (hasGrammar(source.file.format) &&
37
+ resolveAdapter(source.file.format) !== null)));
38
38
  }
39
39
  async extract(source) {
40
40
  if (!this.supports(source) || source.kind !== "text") {
@@ -62,9 +62,7 @@ export class CodeExtractor {
62
62
  output.push({
63
63
  id,
64
64
  ...item,
65
- group: item.group === ""
66
- ? id
67
- : majorId ?? item.group,
65
+ group: item.group === "" ? id : (majorId ?? item.group),
68
66
  });
69
67
  entityIdIndex++;
70
68
  }
@@ -98,18 +96,19 @@ export class CodeExtractor {
98
96
  }
99
97
  function walkCodeNode(node, adapter, breadcrumb, out) {
100
98
  for (const child of node.children) {
101
- const isScope = adapter.scopeTypes.has(child.type)
102
- && adapter.shouldEnterScope?.(child) !== false;
103
- const isEntity = adapter.entityTypes.has(child.type)
104
- && adapter.shouldIndexEntity?.(child) !== false;
99
+ const isScope = adapter.scopeTypes.has(child.type) &&
100
+ adapter.shouldEnterScope?.(child) !== false;
101
+ const isEntity = adapter.entityTypes.has(child.type) &&
102
+ adapter.shouldIndexEntity?.(child) !== false;
105
103
  if (isEntity) {
106
- const entities = adapter.resolveEntities?.(child)
107
- ?? [adapter.resolveEntity ? adapter.resolveEntity(child) : child];
104
+ const entities = adapter.resolveEntities?.(child) ?? [
105
+ adapter.resolveEntity ? adapter.resolveEntity(child) : child,
106
+ ];
108
107
  for (const entity of entities) {
109
108
  const name = adapter.extractName(entity);
110
109
  const entityBreadcrumb = adapter.scopeBreadcrumb?.(entity, breadcrumb) ?? breadcrumb;
111
- const symbolType = adapter.classifyNode?.(entity, entityBreadcrumb)
112
- ?? classifyCodeNode(entity, entityBreadcrumb);
110
+ const symbolType = adapter.classifyNode?.(entity, entityBreadcrumb) ??
111
+ classifyCodeNode(entity, entityBreadcrumb);
113
112
  out.push({
114
113
  node: entity,
115
114
  name,
@@ -134,7 +133,9 @@ function walkCodeNode(node, adapter, breadcrumb, out) {
134
133
  }
135
134
  function codeEntityToSearchFragments(source, adapter, entity, maxChars, overlapChars) {
136
135
  if (entity.node.text.length <= maxChars) {
137
- return [codeEntityWindowToFragment(source, entity, nodeToWindow(entity.node))];
136
+ return [
137
+ codeEntityWindowToFragment(source, entity, nodeToWindow(entity.node)),
138
+ ];
138
139
  }
139
140
  const metadata = codeEntityMetadata(entity);
140
141
  const major = {
@@ -310,7 +311,9 @@ const OUTLINE_MAX_CALLS = 24;
310
311
  const OUTLINE_MAX_LINE_CHARS = 180;
311
312
  function codeEntityOutline(entity, adapter) {
312
313
  const header = extractCodeHeader(entity.node.text);
313
- const lines = [header.length > 0 ? header : entity.name ?? entity.symbolType];
314
+ const lines = [
315
+ header.length > 0 ? header : (entity.name ?? entity.symbolType),
316
+ ];
314
317
  if (STRUCTURAL_SYMBOL_TYPES.has(entity.symbolType)) {
315
318
  const members = collectStructureOutlineMembers(entity, adapter);
316
319
  if (members.length > 0) {
@@ -349,15 +352,17 @@ function collectStructureOutlineMembers(entity, adapter) {
349
352
  }
350
353
  if (!sameNode(node, entity.node) && adapter.entityTypes.has(node.type)) {
351
354
  if (adapter.shouldIndexEntity?.(node) !== false) {
352
- const resolved = adapter.resolveEntities?.(node)
353
- ?? [adapter.resolveEntity ? adapter.resolveEntity(node) : node];
355
+ const resolved = adapter.resolveEntities?.(node) ?? [
356
+ adapter.resolveEntity ? adapter.resolveEntity(node) : node,
357
+ ];
354
358
  for (const resolvedNode of resolved) {
355
- if (members.length >= OUTLINE_MAX_MEMBERS || sameNode(resolvedNode, entity.node)) {
359
+ if (members.length >= OUTLINE_MAX_MEMBERS ||
360
+ sameNode(resolvedNode, entity.node)) {
356
361
  break;
357
362
  }
358
363
  const name = adapter.extractName(resolvedNode);
359
- const symbolType = adapter.classifyNode?.(resolvedNode, entity.breadcrumb)
360
- ?? classifyCodeNode(resolvedNode, entity.breadcrumb);
364
+ const symbolType = adapter.classifyNode?.(resolvedNode, entity.breadcrumb) ??
365
+ classifyCodeNode(resolvedNode, entity.breadcrumb);
361
366
  const signature = adapter.extractSignature?.(resolvedNode);
362
367
  const key = `${symbolType}:${name ?? ""}:${signature ?? ""}:${resolvedNode.startIndex}`;
363
368
  if (!seen.has(key)) {
@@ -377,7 +382,9 @@ function collectStructureOutlineMembers(entity, adapter) {
377
382
  }
378
383
  function formatOutlineMember(member) {
379
384
  const name = member.name ?? "";
380
- const signature = member.signature ? truncateOutlineLine(oneLine(member.signature)) : "";
385
+ const signature = member.signature
386
+ ? truncateOutlineLine(oneLine(member.signature))
387
+ : "";
381
388
  if (signature.length > 0) {
382
389
  return name.length > 0 && !signature.includes(name)
383
390
  ? `${member.symbolType} ${name}: ${signature}`
@@ -407,19 +414,19 @@ function collectFunctionCallNames(node) {
407
414
  return calls;
408
415
  }
409
416
  function isCallNode(node) {
410
- return node.type === "call"
411
- || node.type === "call_expression"
412
- || node.type === "function_call_expression"
413
- || node.type === "method_invocation"
414
- || node.type === "object_creation_expression"
415
- || node.type === "new_expression";
417
+ return (node.type === "call" ||
418
+ node.type === "call_expression" ||
419
+ node.type === "function_call_expression" ||
420
+ node.type === "method_invocation" ||
421
+ node.type === "object_creation_expression" ||
422
+ node.type === "new_expression");
416
423
  }
417
424
  function extractCallName(node) {
418
- const target = node.childForFieldName("function")
419
- ?? node.childForFieldName("name")
420
- ?? node.childForFieldName("constructor")
421
- ?? node.childForFieldName("type")
422
- ?? node.namedChildren[0];
425
+ const target = node.childForFieldName("function") ??
426
+ node.childForFieldName("name") ??
427
+ node.childForFieldName("constructor") ??
428
+ node.childForFieldName("type") ??
429
+ node.namedChildren[0];
423
430
  if (!target) {
424
431
  return undefined;
425
432
  }
@@ -430,18 +437,18 @@ function normalizeCallName(value) {
430
437
  .replace(/\s+/g, " ")
431
438
  .replace(/^new\s+/, "")
432
439
  .trim();
433
- if (cleaned.length === 0
434
- || cleaned.length > OUTLINE_MAX_LINE_CHARS
435
- || /[\n\r]/.test(cleaned)
436
- || !/[A-Za-z_$][A-Za-z0-9_$]*/.test(cleaned)) {
440
+ if (cleaned.length === 0 ||
441
+ cleaned.length > OUTLINE_MAX_LINE_CHARS ||
442
+ /[\n\r]/.test(cleaned) ||
443
+ !/[A-Za-z_$][A-Za-z0-9_$]*/.test(cleaned)) {
437
444
  return undefined;
438
445
  }
439
446
  return cleaned;
440
447
  }
441
448
  function sameNode(left, right) {
442
- return left.startIndex === right.startIndex
443
- && left.endIndex === right.endIndex
444
- && left.type === right.type;
449
+ return (left.startIndex === right.startIndex &&
450
+ left.endIndex === right.endIndex &&
451
+ left.type === right.type);
445
452
  }
446
453
  function oneLine(value) {
447
454
  return value.replace(/\s+/g, " ").trim();
@@ -466,22 +473,23 @@ function codeEntityMetadata(entity) {
466
473
  function classifyCodeNode(node, breadcrumb) {
467
474
  const nodeType = node.type;
468
475
  if (nodeType === "decorated_definition") {
469
- const inner = node.namedChildren.find((child) => child.type === "function_definition" || child.type === "class_definition");
476
+ const inner = node.namedChildren.find((child) => child.type === "function_definition" ||
477
+ child.type === "class_definition");
470
478
  return inner ? classifyCodeNode(inner, breadcrumb) : "value";
471
479
  }
472
- if ((nodeType === "field_definition"
473
- || nodeType === "public_field_definition"
474
- || nodeType === "variable_declarator")
475
- && hasJavascriptTypescriptFunctionValue(node)) {
480
+ if ((nodeType === "field_definition" ||
481
+ nodeType === "public_field_definition" ||
482
+ nodeType === "variable_declarator") &&
483
+ hasJavascriptTypescriptFunctionValue(node)) {
476
484
  return "function";
477
485
  }
478
486
  if (nodeType.includes("method") || nodeType.includes("constructor")) {
479
487
  return "function";
480
488
  }
481
- if (breadcrumb.length > 0
482
- && (nodeType.includes("function")
483
- || nodeType === "declaration"
484
- || nodeType === "function_item")) {
489
+ if (breadcrumb.length > 0 &&
490
+ (nodeType.includes("function") ||
491
+ nodeType === "declaration" ||
492
+ nodeType === "function_item")) {
485
493
  return "function";
486
494
  }
487
495
  if (nodeType.includes("function")) {
@@ -490,35 +498,37 @@ function classifyCodeNode(node, breadcrumb) {
490
498
  if (nodeType === "declaration" || nodeType === "macro_type_specifier") {
491
499
  return "function";
492
500
  }
493
- if (nodeType.includes("class")
494
- || nodeType.includes("struct")
495
- || nodeType.includes("impl")
496
- || nodeType.includes("enum")
497
- || nodeType.includes("union")
498
- || nodeType.includes("record")) {
501
+ if (nodeType.includes("class") ||
502
+ nodeType.includes("struct") ||
503
+ nodeType.includes("impl") ||
504
+ nodeType.includes("enum") ||
505
+ nodeType.includes("union") ||
506
+ nodeType.includes("record")) {
499
507
  return "class";
500
508
  }
501
- if (nodeType.includes("interface")
502
- || nodeType.includes("protocol")
503
- || nodeType.includes("trait")) {
509
+ if (nodeType.includes("interface") ||
510
+ nodeType.includes("protocol") ||
511
+ nodeType.includes("trait")) {
504
512
  return "interface";
505
513
  }
506
- if (nodeType.includes("module")
507
- || nodeType.includes("namespace")
508
- || nodeType === "mod_item") {
514
+ if (nodeType.includes("module") ||
515
+ nodeType.includes("namespace") ||
516
+ nodeType === "mod_item") {
509
517
  return "module";
510
518
  }
511
- if (nodeType.includes("alias")
512
- || nodeType.includes("typedef")
513
- || nodeType === "type_definition"
514
- || nodeType === "type_item") {
519
+ if (nodeType.includes("alias") ||
520
+ nodeType.includes("typedef") ||
521
+ nodeType === "type_definition" ||
522
+ nodeType === "type_item") {
515
523
  return "alias";
516
524
  }
517
525
  return "value";
518
526
  }
519
527
  function truncateInline(value, maxChars) {
520
528
  const compact = value.replace(/\s+/g, " ").trim();
521
- return compact.length > maxChars ? `${compact.slice(0, maxChars).trimEnd()}...` : compact;
529
+ return compact.length > maxChars
530
+ ? `${compact.slice(0, maxChars).trimEnd()}...`
531
+ : compact;
522
532
  }
523
533
  function isScriptBlockFormat(format) {
524
534
  return format === "vue" || format === "svelte";
@@ -545,7 +555,9 @@ function findScriptBlocks(text) {
545
555
  return blocks;
546
556
  }
547
557
  function scriptBlockFormat(attrs) {
548
- const lang = attrs.match(/\blang\s*=\s*["']?([A-Za-z0-9_-]+)/i)?.[1]?.toLowerCase();
558
+ const lang = attrs
559
+ .match(/\blang\s*=\s*["']?([A-Za-z0-9_-]+)/i)?.[1]
560
+ ?.toLowerCase();
549
561
  if (lang === "ts" || lang === "typescript") {
550
562
  return "typescript";
551
563
  }
@@ -574,7 +586,9 @@ function remapScriptBlockFragments(fileId, fragments, startIndex, startLine, sta
574
586
  return fragments.map((fragment) => ({
575
587
  ...fragment,
576
588
  id: idMap.get(fragment.id) ?? fragment.id,
577
- group: fragment.group ? idMap.get(fragment.group) ?? fragment.group : undefined,
589
+ group: fragment.group
590
+ ? (idMap.get(fragment.group) ?? fragment.group)
591
+ : undefined,
578
592
  fileId,
579
593
  range: remapScriptBlockRange(fragment.range, startLine, startOffset),
580
594
  }));