@remnic/core 9.6.22 → 9.6.24

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.
@@ -6,7 +6,7 @@ import "./chunk-GDB4J2H3.js";
6
6
  import "./chunk-M5QKGHCR.js";
7
7
  import "./chunk-64SE4X5G.js";
8
8
  import "./chunk-VQ7B2Q6M.js";
9
- import "./chunk-ERA5RSMZ.js";
9
+ import "./chunk-P32IDSHD.js";
10
10
  import "./chunk-JGSKJHF7.js";
11
11
  import "./chunk-PUBTHW5O.js";
12
12
  import "./chunk-S4DDLTPX.js";
@@ -16,7 +16,7 @@ import "./chunk-GDB4J2H3.js";
16
16
  import "./chunk-M5QKGHCR.js";
17
17
  import "./chunk-64SE4X5G.js";
18
18
  import "./chunk-VQ7B2Q6M.js";
19
- import "./chunk-ERA5RSMZ.js";
19
+ import "./chunk-P32IDSHD.js";
20
20
  import "./chunk-JGSKJHF7.js";
21
21
  import "./chunk-PUBTHW5O.js";
22
22
  import "./chunk-S4DDLTPX.js";
@@ -211,7 +211,7 @@ import "./chunk-GDB4J2H3.js";
211
211
  import "./chunk-M5QKGHCR.js";
212
212
  import "./chunk-64SE4X5G.js";
213
213
  import "./chunk-VQ7B2Q6M.js";
214
- import "./chunk-ERA5RSMZ.js";
214
+ import "./chunk-P32IDSHD.js";
215
215
  import "./chunk-JGSKJHF7.js";
216
216
  import "./chunk-PUBTHW5O.js";
217
217
  import "./chunk-S4DDLTPX.js";
@@ -31,7 +31,7 @@ import "./chunk-GDB4J2H3.js";
31
31
  import "./chunk-M5QKGHCR.js";
32
32
  import "./chunk-64SE4X5G.js";
33
33
  import "./chunk-VQ7B2Q6M.js";
34
- import "./chunk-ERA5RSMZ.js";
34
+ import "./chunk-P32IDSHD.js";
35
35
  import "./chunk-JGSKJHF7.js";
36
36
  import "./chunk-PUBTHW5O.js";
37
37
  import "./chunk-S4DDLTPX.js";
@@ -6,7 +6,7 @@ import "./chunk-GDB4J2H3.js";
6
6
  import "./chunk-M5QKGHCR.js";
7
7
  import "./chunk-64SE4X5G.js";
8
8
  import "./chunk-VQ7B2Q6M.js";
9
- import "./chunk-ERA5RSMZ.js";
9
+ import "./chunk-P32IDSHD.js";
10
10
  import "./chunk-JGSKJHF7.js";
11
11
  import "./chunk-PUBTHW5O.js";
12
12
  import "./chunk-S4DDLTPX.js";
@@ -6,7 +6,7 @@ import "./chunk-GDB4J2H3.js";
6
6
  import "./chunk-M5QKGHCR.js";
7
7
  import "./chunk-64SE4X5G.js";
8
8
  import "./chunk-VQ7B2Q6M.js";
9
- import "./chunk-ERA5RSMZ.js";
9
+ import "./chunk-P32IDSHD.js";
10
10
  import "./chunk-JGSKJHF7.js";
11
11
  import "./chunk-PUBTHW5O.js";
12
12
  import "./chunk-S4DDLTPX.js";
@@ -23,7 +23,7 @@ import "./chunk-GDB4J2H3.js";
23
23
  import "./chunk-M5QKGHCR.js";
24
24
  import "./chunk-64SE4X5G.js";
25
25
  import "./chunk-VQ7B2Q6M.js";
26
- import "./chunk-ERA5RSMZ.js";
26
+ import "./chunk-P32IDSHD.js";
27
27
  import "./chunk-JGSKJHF7.js";
28
28
  import "./chunk-PUBTHW5O.js";
29
29
  import "./chunk-S4DDLTPX.js";
@@ -6,7 +6,7 @@ import "./chunk-GDB4J2H3.js";
6
6
  import "./chunk-M5QKGHCR.js";
7
7
  import "./chunk-64SE4X5G.js";
8
8
  import "./chunk-VQ7B2Q6M.js";
9
- import "./chunk-ERA5RSMZ.js";
9
+ import "./chunk-P32IDSHD.js";
10
10
  import "./chunk-JGSKJHF7.js";
11
11
  import "./chunk-PUBTHW5O.js";
12
12
  import "./chunk-S4DDLTPX.js";
@@ -14,7 +14,7 @@ import "./chunk-GDB4J2H3.js";
14
14
  import "./chunk-M5QKGHCR.js";
15
15
  import "./chunk-64SE4X5G.js";
16
16
  import "./chunk-VQ7B2Q6M.js";
17
- import "./chunk-ERA5RSMZ.js";
17
+ import "./chunk-P32IDSHD.js";
18
18
  import "./chunk-JGSKJHF7.js";
19
19
  import "./chunk-PUBTHW5O.js";
20
20
  import "./chunk-S4DDLTPX.js";
@@ -40,7 +40,7 @@ import "./chunk-GDB4J2H3.js";
40
40
  import "./chunk-M5QKGHCR.js";
41
41
  import "./chunk-64SE4X5G.js";
42
42
  import "./chunk-VQ7B2Q6M.js";
43
- import "./chunk-ERA5RSMZ.js";
43
+ import "./chunk-P32IDSHD.js";
44
44
  import "./chunk-JGSKJHF7.js";
45
45
  import "./chunk-PUBTHW5O.js";
46
46
  import "./chunk-S4DDLTPX.js";
@@ -6,7 +6,7 @@ import "./chunk-GDB4J2H3.js";
6
6
  import "./chunk-M5QKGHCR.js";
7
7
  import "./chunk-64SE4X5G.js";
8
8
  import "./chunk-VQ7B2Q6M.js";
9
- import "./chunk-ERA5RSMZ.js";
9
+ import "./chunk-P32IDSHD.js";
10
10
  import "./chunk-JGSKJHF7.js";
11
11
  import "./chunk-PUBTHW5O.js";
12
12
  import "./chunk-S4DDLTPX.js";
@@ -11,7 +11,7 @@ import "./chunk-GDB4J2H3.js";
11
11
  import "./chunk-M5QKGHCR.js";
12
12
  import "./chunk-64SE4X5G.js";
13
13
  import "./chunk-VQ7B2Q6M.js";
14
- import "./chunk-ERA5RSMZ.js";
14
+ import "./chunk-P32IDSHD.js";
15
15
  import "./chunk-JGSKJHF7.js";
16
16
  import "./chunk-PUBTHW5O.js";
17
17
  import "./chunk-S4DDLTPX.js";
@@ -22,4 +22,4 @@ export {
22
22
  CODING_GRAPH_ENGINE_VERSION,
23
23
  TIER_1_LANGUAGES
24
24
  };
25
- //# sourceMappingURL=chunk-ERA5RSMZ.js.map
25
+ //# sourceMappingURL=chunk-P32IDSHD.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/coding/coding-graph-types.ts"],"sourcesContent":["// Engine contract types for the optional @remnic/coding-graph package.\n//\n// These types are owned by @remnic/core so the base install compiles even\n// when @remnic/coding-graph is not present (it is an optional peer dep —\n// installed only on host machines that opt in to codebase-graph features).\n//\n// @remnic/coding-graph imports these types and implements them; it does\n// not redefine them. This breaks the type-source-direction cycle that\n// would otherwise require core to import coding-graph at compile time\n// (core's tsup DTS phase emits declarations against the package's\n// compiled output, which would fail when the optional package is not\n// installed in CI's base install).\n//\n// Dependency direction:\n//\n// @remnic/core ──── owns ───► CodingGraphEngine (this file)\n// ▲\n// │ peer + devDep (workspace)\n// │\n// @remnic/coding-graph (implements against these types)\n//\n// Per #1551 PR1 — these are the full contract surface. PR2 fills the\n// extractors; PR3+ lands the walker, determinism, and grammarDir\n// behaviour behind the same `parseFile()` entry point.\n\n// ---------------------------------------------------------------------------\n// Version constant — surfaced through the engine instance so consumers can\n// advertise what they expect. Bumped in lockstep with the package version\n// during active development.\n// ---------------------------------------------------------------------------\nexport const CODING_GRAPH_ENGINE_VERSION = \"0.1.0-pr1\" as const;\n\n// ---------------------------------------------------------------------------\n// Tier-1 language list — declared here so consumers can drive their own\n// tools against the engine without touching the optional package. Order is\n// stable; per-language configuration is the engine's concern.\n// ---------------------------------------------------------------------------\nexport const TIER_1_LANGUAGES = [\n \"typescript\",\n \"tsx\",\n \"javascript\",\n \"python\",\n \"go\",\n \"rust\",\n \"java\",\n \"c\",\n \"cpp\",\n \"csharp\",\n \"ruby\",\n \"php\",\n \"kotlin\",\n \"swift\",\n \"bash\",\n] as const;\n\nexport type CodingGraphLanguage = (typeof TIER_1_LANGUAGES)[number];\n\n// ---------------------------------------------------------------------------\n// Tagged error code — the load-bearing signal for programmatic detection of\n// placeholder / install / load failure states. New codes must be added here\n// so consumers see them via TypeScript.\n// ---------------------------------------------------------------------------\nexport type CodingGraphErrorCode =\n | \"not_implemented\"\n | \"module_load_failed\";\n\n// ---------------------------------------------------------------------------\n// Engine interface — the contract coding-graph implements against.\n// ---------------------------------------------------------------------------\nexport interface CodingGraphEngine {\n /** Engine version reported at construction time. */\n readonly engineVersion: string;\n /** Tier-1 languages this build supports (PR2 narrows by grammar availability). */\n readonly supportedLanguages: readonly CodingGraphLanguage[];\n /**\n * Parse a single source file and emit its FileIR.\n *\n * PR1 throws `CodingGraphError(\"not_implemented\", …)`. PR2 will return\n * `ParseResult`; failure paths come back as\n * `{ ok: false, code: \"parse_failed\", path, message }` (rule 44) rather\n * than partial / silent IR.\n */\n parseFile(input: ParseFileInput): Promise<ParseResult>;\n /** Engine lifecycle — release any cached parsers/grammars. */\n dispose(): Promise<void>;\n}\n\n// ---------------------------------------------------------------------------\n// Parse input/output\n// ---------------------------------------------------------------------------\nexport interface ParseFileInput {\n /** Repository-relative path (forward slashes; no leading `./`). */\n readonly path: string;\n /** Raw file bytes; hashing happens inside the engine (rule 23). */\n readonly content: Uint8Array;\n /**\n * Optional override. When omitted the engine sniffs the language from\n * `path` extensions against its built-in tier-1 list (PR2).\n */\n readonly language?: CodingGraphLanguage;\n}\n\nexport type ParseResult =\n | { readonly ok: true; readonly ir: FileIR }\n | {\n readonly ok: false;\n readonly code: \"parse_failed\";\n readonly path: string;\n readonly message: string;\n };\n\n// ---------------------------------------------------------------------------\n// FileIR — the seam between the parser (optional package) and the graph\n// store (sibling issue #1552). Field types are the minimal viable set per\n// the issue's design section.\n// ---------------------------------------------------------------------------\nexport interface FileIR {\n readonly path: string;\n readonly language: CodingGraphLanguage;\n /** SHA-256 of the raw bytes; rule 23 — every consumer hashes the same form. */\n readonly contentHash: string;\n readonly symbols: readonly SymbolIR[];\n readonly imports: readonly ImportIR[];\n readonly exports: readonly ExportIR[];\n readonly callSites: readonly CallSiteIR[];\n readonly routes: readonly RouteIR[];\n}\n\nexport interface SymbolIR {\n readonly kind:\n | \"function\"\n | \"class\"\n | \"method\"\n | \"interface\"\n | \"enum\"\n | \"type\"\n | \"module\";\n readonly name: string;\n readonly qualifiedName: string;\n /** Half-open byte span `[startByte, endByte)`. Rule 35. */\n readonly span: { readonly startByte: number; readonly endByte: number };\n readonly parentQualifiedName?: string;\n}\n\nexport interface ImportIR {\n /** Raw module specifier as written in source. */\n readonly module: string;\n readonly importedNames: readonly string[];\n readonly span: { readonly startByte: number; readonly endByte: number };\n}\n\nexport interface ExportIR {\n readonly name: string;\n readonly span: { readonly startByte: number; readonly endByte: number };\n}\n\nexport interface CallSiteIR {\n readonly calleeNameCandidates: readonly string[];\n readonly span: { readonly startByte: number; readonly endByte: number };\n}\n\nexport interface RouteIR {\n /** HTTP verb in upper-case, or framework-native verb (e.g. \"ANY\"). */\n readonly verb: string;\n readonly pathTemplate: string;\n readonly handlerQualifiedName: string;\n readonly span: { readonly startByte: number; readonly endByte: number };\n}\n\n// ---------------------------------------------------------------------------\n// Factory options\n// ---------------------------------------------------------------------------\n/**\n * Reserved for PR2. Declared now so the public surface is stable; the\n * options object is intentionally empty in PR1.\n */\nexport interface CreateCodingGraphEngineOptions {\n /** Reserved for PR2: extra grammar directory supplied by the operator. */\n readonly grammarDir?: never;\n}\n"],"mappings":";AA8BO,IAAM,8BAA8B;AAOpC,IAAM,mBAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/coding/coding-graph-types.ts"],"sourcesContent":["// Engine contract types for the optional @remnic/coding-graph package.\n//\n// These types are owned by @remnic/core so the base install compiles even\n// when @remnic/coding-graph is not present (it is an optional peer dep —\n// installed only on host machines that opt in to codebase-graph features).\n//\n// @remnic/coding-graph imports these types and implements them; it does\n// not redefine them. This breaks the type-source-direction cycle that\n// would otherwise require core to import coding-graph at compile time\n// (core's tsup DTS phase emits declarations against the package's\n// compiled output, which would fail when the optional package is not\n// installed in CI's base install).\n//\n// Dependency direction:\n//\n// @remnic/core ──── owns ───► CodingGraphEngine (this file)\n// ▲\n// │ peer + devDep (workspace)\n// │\n// @remnic/coding-graph (implements against these types)\n//\n// Per #1551 PR1 — these are the full contract surface. PR2 fills the\n// extractors; PR3+ lands the walker, determinism, and grammarDir\n// behaviour behind the same `parseFile()` entry point.\n\n// ---------------------------------------------------------------------------\n// Version constant — surfaced through the engine instance so consumers can\n// advertise what they expect. Bumped in lockstep with the package version\n// during active development.\n// ---------------------------------------------------------------------------\nexport const CODING_GRAPH_ENGINE_VERSION = \"0.1.0-pr1\" as const;\n\n// ---------------------------------------------------------------------------\n// Tier-1 language list — declared here so consumers can drive their own\n// tools against the engine without touching the optional package. Order is\n// stable; per-language configuration is the engine's concern.\n// ---------------------------------------------------------------------------\nexport const TIER_1_LANGUAGES = [\n \"typescript\",\n \"tsx\",\n \"javascript\",\n \"python\",\n \"go\",\n \"rust\",\n \"java\",\n \"c\",\n \"cpp\",\n \"csharp\",\n \"ruby\",\n \"php\",\n \"kotlin\",\n \"swift\",\n \"bash\",\n] as const;\n\nexport type CodingGraphLanguage = (typeof TIER_1_LANGUAGES)[number];\n\n// ---------------------------------------------------------------------------\n// Tagged error code — the load-bearing signal for programmatic detection of\n// placeholder / install / load failure states. New codes must be added here\n// so consumers see them via TypeScript.\n// ---------------------------------------------------------------------------\nexport type CodingGraphErrorCode =\n | \"not_implemented\"\n | \"module_load_failed\";\n\n// ---------------------------------------------------------------------------\n// Engine interface — the contract coding-graph implements against.\n// ---------------------------------------------------------------------------\nexport interface CodingGraphEngine {\n /** Engine version reported at construction time. */\n readonly engineVersion: string;\n /** Tier-1 languages this build supports (PR2 narrows by grammar availability). */\n readonly supportedLanguages: readonly CodingGraphLanguage[];\n /**\n * Parse a single source file and emit its FileIR.\n *\n * PR1 throws `CodingGraphError(\"not_implemented\", …)`. PR2 will return\n * `ParseResult`; failure paths come back as\n * `{ ok: false, code: \"parse_failed\", path, message }` (rule 44) rather\n * than partial / silent IR.\n */\n parseFile(input: ParseFileInput): Promise<ParseResult>;\n /** Engine lifecycle — release any cached parsers/grammars. */\n dispose(): Promise<void>;\n}\n\n// ---------------------------------------------------------------------------\n// Parse input/output\n// ---------------------------------------------------------------------------\nexport interface ParseFileInput {\n /** Repository-relative path (forward slashes; no leading `./`). */\n readonly path: string;\n /** Raw file bytes; hashing happens inside the engine (rule 23). */\n readonly content: Uint8Array;\n /**\n * Optional override. When omitted the engine sniffs the language from\n * `path` extensions against its built-in tier-1 list (PR2).\n */\n readonly language?: CodingGraphLanguage;\n}\n\nexport type ParseResult =\n | { readonly ok: true; readonly ir: FileIR }\n | {\n readonly ok: false;\n readonly code: \"parse_failed\";\n readonly path: string;\n readonly message: string;\n };\n\n// ---------------------------------------------------------------------------\n// FileIR — the seam between the parser (optional package) and the graph\n// store (sibling issue #1552). Field types are the minimal viable set per\n// the issue's design section.\n// ---------------------------------------------------------------------------\nexport interface FileIR {\n readonly path: string;\n readonly language: CodingGraphLanguage;\n /** SHA-256 of the raw bytes; rule 23 — every consumer hashes the same form. */\n readonly contentHash: string;\n readonly symbols: readonly SymbolIR[];\n readonly imports: readonly ImportIR[];\n readonly exports: readonly ExportIR[];\n readonly callSites: readonly CallSiteIR[];\n readonly routes: readonly RouteIR[];\n}\n\nexport interface SymbolIR {\n readonly kind:\n | \"function\"\n | \"class\"\n | \"method\"\n | \"interface\"\n | \"enum\"\n | \"type\"\n | \"module\";\n readonly name: string;\n readonly qualifiedName: string;\n /** Half-open byte span `[startByte, endByte)`. Rule 35. */\n readonly span: { readonly startByte: number; readonly endByte: number };\n readonly parentQualifiedName?: string;\n}\n\nexport interface ImportIR {\n /** Raw module specifier as written in source. */\n readonly module: string;\n /** Exported names as declared by the source module (pre-alias). */\n readonly importedNames: readonly string[];\n /**\n * Alias-aware bindings (issue #1894 review): `local` is the identifier\n * usable at call sites in THIS file; `exported` is the name in the\n * source module. For non-aliased imports the two are equal. Optional so\n * pre-existing IR consumers and JSON fixtures stay valid; when absent,\n * consumers treat every `importedNames` entry as `local === exported`.\n */\n readonly bindings?: readonly ImportBindingIR[];\n readonly span: { readonly startByte: number; readonly endByte: number };\n}\n\nexport interface ImportBindingIR {\n /** Name exported by the source module. */\n readonly exported: string;\n /** Local identifier bound in the importing file. */\n readonly local: string;\n}\n\nexport interface ExportIR {\n readonly name: string;\n readonly span: { readonly startByte: number; readonly endByte: number };\n}\n\nexport interface CallSiteIR {\n readonly calleeNameCandidates: readonly string[];\n /**\n * True when the callee is a member/property access (`obj.save()`,\n * `recv.field()`), issue #1894 review: bare-name heuristics must never\n * bind these — method dispatch is Phase B (LSP) territory. Optional so\n * pre-existing IR stays valid; absent = false.\n */\n readonly memberAccess?: boolean;\n readonly span: { readonly startByte: number; readonly endByte: number };\n}\n\nexport interface RouteIR {\n /** HTTP verb in upper-case, or framework-native verb (e.g. \"ANY\"). */\n readonly verb: string;\n readonly pathTemplate: string;\n readonly handlerQualifiedName: string;\n readonly span: { readonly startByte: number; readonly endByte: number };\n}\n\n// ---------------------------------------------------------------------------\n// Factory options\n// ---------------------------------------------------------------------------\n/**\n * Reserved for PR2. Declared now so the public surface is stable; the\n * options object is intentionally empty in PR1.\n */\nexport interface CreateCodingGraphEngineOptions {\n /** Reserved for PR2: extra grammar directory supplied by the operator. */\n readonly grammarDir?: never;\n}\n"],"mappings":";AA8BO,IAAM,8BAA8B;AAOpC,IAAM,mBAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
package/dist/cli.js CHANGED
@@ -199,7 +199,7 @@ import "./chunk-GDB4J2H3.js";
199
199
  import "./chunk-M5QKGHCR.js";
200
200
  import "./chunk-64SE4X5G.js";
201
201
  import "./chunk-VQ7B2Q6M.js";
202
- import "./chunk-ERA5RSMZ.js";
202
+ import "./chunk-P32IDSHD.js";
203
203
  import "./chunk-JGSKJHF7.js";
204
204
  import "./chunk-PUBTHW5O.js";
205
205
  import "./chunk-S4DDLTPX.js";
@@ -64,12 +64,27 @@ interface SymbolIR {
64
64
  interface ImportIR {
65
65
  /** Raw module specifier as written in source. */
66
66
  readonly module: string;
67
+ /** Exported names as declared by the source module (pre-alias). */
67
68
  readonly importedNames: readonly string[];
69
+ /**
70
+ * Alias-aware bindings (issue #1894 review): `local` is the identifier
71
+ * usable at call sites in THIS file; `exported` is the name in the
72
+ * source module. For non-aliased imports the two are equal. Optional so
73
+ * pre-existing IR consumers and JSON fixtures stay valid; when absent,
74
+ * consumers treat every `importedNames` entry as `local === exported`.
75
+ */
76
+ readonly bindings?: readonly ImportBindingIR[];
68
77
  readonly span: {
69
78
  readonly startByte: number;
70
79
  readonly endByte: number;
71
80
  };
72
81
  }
82
+ interface ImportBindingIR {
83
+ /** Name exported by the source module. */
84
+ readonly exported: string;
85
+ /** Local identifier bound in the importing file. */
86
+ readonly local: string;
87
+ }
73
88
  interface ExportIR {
74
89
  readonly name: string;
75
90
  readonly span: {
@@ -79,6 +94,13 @@ interface ExportIR {
79
94
  }
80
95
  interface CallSiteIR {
81
96
  readonly calleeNameCandidates: readonly string[];
97
+ /**
98
+ * True when the callee is a member/property access (`obj.save()`,
99
+ * `recv.field()`), issue #1894 review: bare-name heuristics must never
100
+ * bind these — method dispatch is Phase B (LSP) territory. Optional so
101
+ * pre-existing IR stays valid; absent = false.
102
+ */
103
+ readonly memberAccess?: boolean;
82
104
  readonly span: {
83
105
  readonly startByte: number;
84
106
  readonly endByte: number;
@@ -103,4 +125,4 @@ interface CreateCodingGraphEngineOptions {
103
125
  readonly grammarDir?: never;
104
126
  }
105
127
 
106
- export { CODING_GRAPH_ENGINE_VERSION, type CallSiteIR, type CodingGraphEngine, type CodingGraphErrorCode, type CodingGraphLanguage, type CreateCodingGraphEngineOptions, type ExportIR, type FileIR, type ImportIR, type ParseFileInput, type ParseResult, type RouteIR, type SymbolIR, TIER_1_LANGUAGES };
128
+ export { CODING_GRAPH_ENGINE_VERSION, type CallSiteIR, type CodingGraphEngine, type CodingGraphErrorCode, type CodingGraphLanguage, type CreateCodingGraphEngineOptions, type ExportIR, type FileIR, type ImportBindingIR, type ImportIR, type ParseFileInput, type ParseResult, type RouteIR, type SymbolIR, TIER_1_LANGUAGES };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  CODING_GRAPH_ENGINE_VERSION,
3
3
  TIER_1_LANGUAGES
4
- } from "../chunk-ERA5RSMZ.js";
4
+ } from "../chunk-P32IDSHD.js";
5
5
  import "../chunk-PZ5AY32C.js";
6
6
  export {
7
7
  CODING_GRAPH_ENGINE_VERSION,
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  CODING_GRAPH_ENGINE_VERSION,
10
10
  TIER_1_LANGUAGES
11
- } from "../chunk-ERA5RSMZ.js";
11
+ } from "../chunk-P32IDSHD.js";
12
12
  import "../chunk-PZ5AY32C.js";
13
13
  export {
14
14
  CODING_GRAPH_ENGINE_VERSION,
package/dist/index.js CHANGED
@@ -640,7 +640,7 @@ import "./chunk-VQ7B2Q6M.js";
640
640
  import {
641
641
  CODING_GRAPH_ENGINE_VERSION,
642
642
  TIER_1_LANGUAGES
643
- } from "./chunk-ERA5RSMZ.js";
643
+ } from "./chunk-P32IDSHD.js";
644
644
  import {
645
645
  isTrustZoneName
646
646
  } from "./chunk-JGSKJHF7.js";
@@ -248,7 +248,7 @@ import "./chunk-GDB4J2H3.js";
248
248
  import "./chunk-M5QKGHCR.js";
249
249
  import "./chunk-64SE4X5G.js";
250
250
  import "./chunk-VQ7B2Q6M.js";
251
- import "./chunk-ERA5RSMZ.js";
251
+ import "./chunk-P32IDSHD.js";
252
252
  import "./chunk-JGSKJHF7.js";
253
253
  import "./chunk-PUBTHW5O.js";
254
254
  import "./chunk-S4DDLTPX.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.6.22",
3
+ "version": "9.6.24",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3000,7 +3000,7 @@
3000
3000
  "core"
3001
3001
  ],
3002
3002
  "peerDependencies": {
3003
- "@remnic/coding-graph": "^9.6.22"
3003
+ "@remnic/coding-graph": "^9.6.24"
3004
3004
  },
3005
3005
  "peerDependenciesMeta": {
3006
3006
  "@remnic/coding-graph": {
@@ -145,10 +145,26 @@ export interface SymbolIR {
145
145
  export interface ImportIR {
146
146
  /** Raw module specifier as written in source. */
147
147
  readonly module: string;
148
+ /** Exported names as declared by the source module (pre-alias). */
148
149
  readonly importedNames: readonly string[];
150
+ /**
151
+ * Alias-aware bindings (issue #1894 review): `local` is the identifier
152
+ * usable at call sites in THIS file; `exported` is the name in the
153
+ * source module. For non-aliased imports the two are equal. Optional so
154
+ * pre-existing IR consumers and JSON fixtures stay valid; when absent,
155
+ * consumers treat every `importedNames` entry as `local === exported`.
156
+ */
157
+ readonly bindings?: readonly ImportBindingIR[];
149
158
  readonly span: { readonly startByte: number; readonly endByte: number };
150
159
  }
151
160
 
161
+ export interface ImportBindingIR {
162
+ /** Name exported by the source module. */
163
+ readonly exported: string;
164
+ /** Local identifier bound in the importing file. */
165
+ readonly local: string;
166
+ }
167
+
152
168
  export interface ExportIR {
153
169
  readonly name: string;
154
170
  readonly span: { readonly startByte: number; readonly endByte: number };
@@ -156,6 +172,13 @@ export interface ExportIR {
156
172
 
157
173
  export interface CallSiteIR {
158
174
  readonly calleeNameCandidates: readonly string[];
175
+ /**
176
+ * True when the callee is a member/property access (`obj.save()`,
177
+ * `recv.field()`), issue #1894 review: bare-name heuristics must never
178
+ * bind these — method dispatch is Phase B (LSP) territory. Optional so
179
+ * pre-existing IR stays valid; absent = false.
180
+ */
181
+ readonly memberAccess?: boolean;
159
182
  readonly span: { readonly startByte: number; readonly endByte: number };
160
183
  }
161
184