@aroman22/codegraph-vba-darwin-arm64 1.6.3 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/lib/dist/extraction/vba/call-sweep.d.ts.map +1 -1
  2. package/lib/dist/extraction/vba/call-sweep.js +49 -1
  3. package/lib/dist/extraction/vba/call-sweep.js.map +1 -1
  4. package/lib/dist/extraction/vba/calls.d.ts +6 -2
  5. package/lib/dist/extraction/vba/calls.d.ts.map +1 -1
  6. package/lib/dist/extraction/vba/calls.js +55 -7
  7. package/lib/dist/extraction/vba/calls.js.map +1 -1
  8. package/lib/dist/extraction/vba/controls.d.ts +17 -0
  9. package/lib/dist/extraction/vba/controls.d.ts.map +1 -1
  10. package/lib/dist/extraction/vba/controls.js +40 -2
  11. package/lib/dist/extraction/vba/controls.js.map +1 -1
  12. package/lib/dist/extraction/vba/docmd.js +1 -1
  13. package/lib/dist/extraction/vba/docmd.js.map +1 -1
  14. package/lib/dist/mcp/daemon-watchdog.d.ts +84 -0
  15. package/lib/dist/mcp/daemon-watchdog.d.ts.map +1 -0
  16. package/lib/dist/mcp/daemon-watchdog.js +244 -0
  17. package/lib/dist/mcp/daemon-watchdog.js.map +1 -0
  18. package/lib/dist/mcp/index.d.ts +1 -0
  19. package/lib/dist/mcp/index.d.ts.map +1 -1
  20. package/lib/dist/mcp/index.js +15 -0
  21. package/lib/dist/mcp/index.js.map +1 -1
  22. package/lib/dist/mcp/server-instructions.d.ts +1 -1
  23. package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
  24. package/lib/dist/mcp/server-instructions.js +2 -0
  25. package/lib/dist/mcp/server-instructions.js.map +1 -1
  26. package/lib/dist/resolution/index.d.ts +12 -0
  27. package/lib/dist/resolution/index.d.ts.map +1 -1
  28. package/lib/dist/resolution/index.js +58 -20
  29. package/lib/dist/resolution/index.js.map +1 -1
  30. package/lib/dist/resolution/vba-runtime-objects.d.ts +40 -0
  31. package/lib/dist/resolution/vba-runtime-objects.d.ts.map +1 -0
  32. package/lib/dist/resolution/vba-runtime-objects.js +68 -0
  33. package/lib/dist/resolution/vba-runtime-objects.js.map +1 -0
  34. package/lib/dist/types.d.ts +33 -1
  35. package/lib/dist/types.d.ts.map +1 -1
  36. package/lib/dist/types.js +37 -0
  37. package/lib/dist/types.js.map +1 -1
  38. package/lib/dist/upgrade/index.d.ts +64 -0
  39. package/lib/dist/upgrade/index.d.ts.map +1 -1
  40. package/lib/dist/upgrade/index.js +189 -6
  41. package/lib/dist/upgrade/index.js.map +1 -1
  42. package/lib/node_modules/.modules.yaml +1 -1
  43. package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
  44. package/lib/package.json +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"call-sweep.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/call-sweep.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAY,aAAa,EAAE,MAAM,WAAW,CAAC;AA0CzE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,aAAa,CA4Of;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAO5E"}
1
+ {"version":3,"file":"call-sweep.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/call-sweep.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAY,aAAa,EAAE,MAAM,WAAW,CAAC;AA0CzE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,aAAa,CAiSf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAO5E"}
@@ -198,7 +198,29 @@ function createCallsAndSqlClassifier(lines) {
198
198
  const stmtCall = (0, calls_1.detectStatementCall)(clauseLine);
199
199
  if (stmtCall) {
200
200
  const caller = stack[stack.length - 1];
201
- (0, calls_1.emitStatementCallEdge)(ctx, caller, stmtCall, lineNum);
201
+ // Returns true when a same-file calls edge was emitted; false
202
+ // when the call was silenced (blacklist / runtime receiver /
203
+ // unresolvable same-file target).
204
+ const emitted = (0, calls_1.emitStatementCallEdge)(ctx, caller, stmtCall, lineNum);
205
+ // Round-3 (issue #108): if the statement-form Sub call did
206
+ // NOT resolve, surface it as an `unqualified-ident` unresolved
207
+ // reference. The const-first disambiguation rule (FR-3.1)
208
+ // ensures Const reads do not pollute the call bucket — when
209
+ // `stmtCall` resolves to a known Const, we still surface it as
210
+ // `unqualified-ident` (NOT `call`) because that's the
211
+ // unambiguous shape of a bare-ident read.
212
+ if (!emitted && stmtCall !== caller.name) {
213
+ ctx.unresolvedReferences.push({
214
+ fromNodeId: ctx.findOrCreateFunctionNodeId(caller),
215
+ referenceName: stmtCall,
216
+ referenceKind: 'unqualified-ident',
217
+ line: lineNum,
218
+ column: 0,
219
+ filePath: ctx.filePath,
220
+ language: 'vba',
221
+ metadata: { synthesizedBy: 'vba-statement-call-unresolved' },
222
+ });
223
+ }
202
224
  }
203
225
  // Fix 7 + Fix 2 + Issue #40: qualified statement-form calls
204
226
  // (`Receiver.Member args`) — the dominant cross-object call shape.
@@ -206,6 +228,14 @@ function createCallsAndSqlClassifier(lines) {
206
228
  if (qualStmt) {
207
229
  const caller = stack[stack.length - 1];
208
230
  if (ctx.shouldProcessQualifiedCall(qualStmt.receiver)) {
231
+ // Returns true when a `calls` edge was emitted to a synthetic
232
+ // stub node; false when the receiver is not eligible
233
+ // (primitive / DAO-qualified / runtime). Round-3 (issue
234
+ // #108): when the synthetic-stub path skips, the parent
235
+ // caller still needs to see an `unresolved_refs` row so the
236
+ // SQL filter `WHERE reference_kind = 'qualified-call'`
237
+ // surfaces these from `(caller, qualified, line)` tuples the
238
+ // resolver couldn't bind.
209
239
  (0, calls_1.emitQualifiedStatementCallEdge)(ctx, caller, qualStmt.receiver, qualStmt.member, lineNum);
210
240
  }
211
241
  }
@@ -216,6 +246,24 @@ function createCallsAndSqlClassifier(lines) {
216
246
  const caller = stack[stack.length - 1];
217
247
  (0, calls_1.emitQualifiedStatementCallEdge)(ctx, caller, withReceiver, withCall.member, lineNum);
218
248
  }
249
+ else if (withCall) {
250
+ // Round-3 (FR-2.5): `.Member` inside a `With` block where the
251
+ // receiver is NOT a project-class local (e.g. a runtime /
252
+ // DAO-qualified `With rs` where `rs` is `DAO.Recordset`).
253
+ // surface the call as `member-with` so the SQL filter can
254
+ // detect these by shape.
255
+ const caller = stack[stack.length - 1];
256
+ ctx.unresolvedReferences.push({
257
+ fromNodeId: ctx.findOrCreateFunctionNodeId(caller),
258
+ referenceName: `${withReceiver}.${withCall.member}`,
259
+ referenceKind: 'member-with',
260
+ line: lineNum,
261
+ column: 0,
262
+ filePath: ctx.filePath,
263
+ language: 'vba',
264
+ metadata: { synthesizedBy: 'vba-with-member-unresolved' },
265
+ });
266
+ }
219
267
  }
220
268
  }
221
269
  // B4 (hueco 6): `DoCmd.OpenForm "FormName"` modelling — the literal
@@ -1 +1 @@
1
- {"version":3,"file":"call-sweep.js","sourceRoot":"","sources":["../../../src/extraction/vba/call-sweep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call-sweep.js","sourceRoot":"","sources":["../../../src/extraction/vba/call-sweep.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,13 @@ export declare function splitSingleLineIfClauses(line: string): string[];
20
20
  export declare function detectStatementCall(line: string): string | null;
21
21
  /**
22
22
  * H1: emit a same-file `calls` edge for a statement-form Sub call to the
23
- * already-emitted function node named `procName`.
23
+ * already-emitted function node named `procName`. Returns `true` when a
24
+ * `calls` edge was pushed, `false` when the call was silenced
25
+ * (blacklist / runtime / self-call / unresolvable). Round-3 (issue
26
+ * #108) needs that boolean so the call sweep can fall through to push
27
+ * an `unqualified-ident` unresolved reference.
24
28
  */
25
- export declare function emitStatementCallEdge(ctx: VbaExtractorContext, caller: ProcInfo, procName: string, lineNum: number): void;
29
+ export declare function emitStatementCallEdge(ctx: VbaExtractorContext, caller: ProcInfo, procName: string, lineNum: number): boolean;
26
30
  /**
27
31
  * Fix 7: detect a qualified statement-form call — `Receiver.Member <args>`
28
32
  * where `Receiver.Member` is NOT followed by `(`. Distinct from the paren
@@ -1 +1 @@
1
- {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/calls.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAe1D,wBAAgB,eAAe,CAC7B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAiBN;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAsGN;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAgC/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B/D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,IAAI,CAaN;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,GACX;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAuC7C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA2CN;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoB5E"}
1
+ {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/calls.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAe1D,wBAAgB,eAAe,CAC7B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAiBN;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAmJN;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAgC/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B/D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAcT;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,GACX;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAuC7C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA2CN;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoB5E"}
@@ -78,8 +78,23 @@ function scanCallSites(ctx, line, from, lineNum) {
78
78
  if (!member) {
79
79
  // Bare `Name(...)` — same-file resolution.
80
80
  const localFuncNode = ctx.findFunctionNodeByName(receiver);
81
- if (!localFuncNode)
81
+ if (!localFuncNode) {
82
+ // Round-3 (FR-2.1, issue #108): the call-sweep path used to
83
+ // silent-skip here, leaving the paren-form unresolvable call
84
+ // invisible in `unresolved_refs`. Surface it as `'call'` so the
85
+ // SQL filter `WHERE reference_kind = 'call'` reaches it.
86
+ ctx.unresolvedReferences.push({
87
+ fromNodeId: ctx.findOrCreateFunctionNodeId(from),
88
+ referenceName: receiver,
89
+ referenceKind: 'call',
90
+ line: lineNum,
91
+ column: col,
92
+ filePath: ctx.filePath,
93
+ language: 'vba',
94
+ metadata: { synthesizedBy: 'vba-paren-call-unresolved' },
95
+ });
82
96
  continue;
97
+ }
83
98
  ctx.edges.push({
84
99
  source: ctx.findOrCreateFunctionNodeId(from),
85
100
  target: localFuncNode.id,
@@ -91,8 +106,23 @@ function scanCallSites(ctx, line, from, lineNum) {
91
106
  else {
92
107
  // Qualified `Receiver.Member(...)` — synthesize the call target only
93
108
  // for project-class local variables or undeclared module candidates.
94
- if (!ctx.shouldProcessQualifiedCall(receiver))
109
+ if (!ctx.shouldProcessQualifiedCall(receiver)) {
110
+ // Round-3 (FR-2.2): receiver is a declared primitive or
111
+ // runtime-blacklisted. Surface the qualified call as
112
+ // `'qualified-call'` so the SQL filter still sees these from
113
+ // `(caller, qualified, line)` tuples the resolver can't bind.
114
+ ctx.unresolvedReferences.push({
115
+ fromNodeId: ctx.findOrCreateFunctionNodeId(from),
116
+ referenceName: `${receiver}.${member}`,
117
+ referenceKind: 'qualified-call',
118
+ line: lineNum,
119
+ column: col,
120
+ filePath: ctx.filePath,
121
+ language: 'vba',
122
+ metadata: { synthesizedBy: 'vba-qualified-call-unresolved' },
123
+ });
95
124
  continue;
125
+ }
96
126
  // #12a: `receiverType` resolves to the real class name when
97
127
  // `receiver` is a declared project-class local var; otherwise it's the
98
128
  // raw `receiver` text unchanged (e.g. `.bas`-qualified module calls).
@@ -104,6 +134,19 @@ function scanCallSites(ctx, line, from, lineNum) {
104
134
  // `modUtils.Foo(1)` are unaffected (`modUtils` is not a local var).
105
135
  const recvEntry = ctx.localVarTypeMap.get(receiver.toLowerCase());
106
136
  if (recvEntry && constants_1.PRIMITIVE_TYPES.has(recvEntry.outer.toLowerCase())) {
137
+ // Match the round-3 surfaced row so the SQL filter has the
138
+ // receiver/member string even when the stub emission was
139
+ // suppressed.
140
+ ctx.unresolvedReferences.push({
141
+ fromNodeId: ctx.findOrCreateFunctionNodeId(from),
142
+ referenceName: `${receiver}.${member}`,
143
+ referenceKind: 'qualified-call',
144
+ line: lineNum,
145
+ column: col,
146
+ filePath: ctx.filePath,
147
+ language: 'vba',
148
+ metadata: { synthesizedBy: 'vba-qualified-call-unresolved' },
149
+ });
107
150
  continue;
108
151
  }
109
152
  const receiverType = ctx.resolveReceiverType(receiver);
@@ -242,18 +285,22 @@ function detectStatementCall(line) {
242
285
  }
243
286
  /**
244
287
  * H1: emit a same-file `calls` edge for a statement-form Sub call to the
245
- * already-emitted function node named `procName`.
288
+ * already-emitted function node named `procName`. Returns `true` when a
289
+ * `calls` edge was pushed, `false` when the call was silenced
290
+ * (blacklist / runtime / self-call / unresolvable). Round-3 (issue
291
+ * #108) needs that boolean so the call sweep can fall through to push
292
+ * an `unqualified-ident` unresolved reference.
246
293
  */
247
294
  function emitStatementCallEdge(ctx, caller, procName, lineNum) {
248
295
  if (procName === caller.name)
249
- return; // skip self-call
296
+ return false; // skip self-call
250
297
  if (constants_1.CALL_KEYWORD_BLACKLIST.has(procName))
251
- return;
298
+ return false;
252
299
  if (constants_1.RUNTIME_RECEIVER_BLACKLIST.has(procName))
253
- return;
300
+ return false;
254
301
  const target = ctx.findFunctionNodeByName(procName);
255
302
  if (!target)
256
- return;
303
+ return false;
257
304
  ctx.edges.push({
258
305
  source: ctx.findOrCreateFunctionNodeId(caller),
259
306
  target: target.id,
@@ -261,6 +308,7 @@ function emitStatementCallEdge(ctx, caller, procName, lineNum) {
261
308
  line: lineNum,
262
309
  column: 0,
263
310
  });
311
+ return true;
264
312
  }
265
313
  /**
266
314
  * Fix 7: detect a qualified statement-form call — `Receiver.Member <args>`
@@ -1 +1 @@
1
- {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/extraction/vba/calls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/extraction/vba/calls.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,15 @@ import { VbaExtractorContext, ProcInfo } from './context';
11
11
  * `metadata.synthesizedBy: 'vba-me-control'`. Operates on the masked
12
12
  * `callScanLine`. The +3 column offset skips the 3-char `Me.` / `Me!`
13
13
  * prefix (both are 3 chars).
14
+ *
15
+ * Round-3 (issue #108): the `referenceKind` is keyed off the operator
16
+ * (`.` vs `!`) at the match position. The same-line `=` heuristic
17
+ * distinguishes reads from assignments: `x = Me.Name` → `property-get`,
18
+ * `Me.Name = "X"` → `property-set`. Cross-line property-set is out of
19
+ * scope; the `=` rule is satisfied when the assignment appears on the
20
+ * SAME line at any position AFTER the matched control name (allowing
21
+ * trailing `.Caption = value` chained assignments too — they still
22
+ * flow a write into the captured control identifier).
14
23
  */
15
24
  export declare function scanMeControlReferences(ctx: VbaExtractorContext, line: string, from: ProcInfo, lineNum: number): void;
16
25
  /**
@@ -19,6 +28,14 @@ export declare function scanMeControlReferences(ctx: VbaExtractorContext, line:
19
28
  * emit ONE UnresolvedReference per match with `metadata.synthesizedBy
20
29
  * = 'vba-forms-bang'`. Operates on the ORIGINAL (unmasked) line. The form
21
30
  * identifier is unwrapped of surrounding `"` quotes and `[…]` brackets.
31
+ *
32
+ * Round-3 (issue #108): cross-form bang is always a property access
33
+ * (VBA semantics: there's no bang-call). The reference name is the FORM
34
+ * module — the resolver matches it against the indexed `Form_*` nodes
35
+ * downstream — so the kind is `'bang-get'` regardless of the read/write
36
+ * direction. A direct cross-form bang assignment
37
+ * (`Forms!FormX!Ctl = value`) is rare; round-3 emits `'bang-get'`
38
+ * uniformly and the resolvers do not care about access direction here.
22
39
  */
23
40
  export declare function scanFormsBang(ctx: VbaExtractorContext, line: string, from: ProcInfo, lineNum: number): void;
24
41
  //# sourceMappingURL=controls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/controls.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AA2B1D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAiBN;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA0BN"}
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/controls.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AA2B1D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAsCN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA0BN"}
@@ -30,6 +30,15 @@ const FORMS_BANG_RE = /\b(?:Forms!(\p{L}[\p{L}\p{N}_]*|\[[^\]]+\])(?![.\w])|Form
30
30
  * `metadata.synthesizedBy: 'vba-me-control'`. Operates on the masked
31
31
  * `callScanLine`. The +3 column offset skips the 3-char `Me.` / `Me!`
32
32
  * prefix (both are 3 chars).
33
+ *
34
+ * Round-3 (issue #108): the `referenceKind` is keyed off the operator
35
+ * (`.` vs `!`) at the match position. The same-line `=` heuristic
36
+ * distinguishes reads from assignments: `x = Me.Name` → `property-get`,
37
+ * `Me.Name = "X"` → `property-set`. Cross-line property-set is out of
38
+ * scope; the `=` rule is satisfied when the assignment appears on the
39
+ * SAME line at any position AFTER the matched control name (allowing
40
+ * trailing `.Caption = value` chained assignments too — they still
41
+ * flow a write into the captured control identifier).
33
42
  */
34
43
  function scanMeControlReferences(ctx, line, from, lineNum) {
35
44
  ME_CONTROL_RE.lastIndex = 0;
@@ -38,10 +47,31 @@ function scanMeControlReferences(ctx, line, from, lineNum) {
38
47
  const controlName = m[1] ?? '';
39
48
  if (!controlName)
40
49
  continue;
50
+ // Round-3: operator is the char at `m.index + 2` (skipping the `Me`).
51
+ // Both `.` and `!` are 1 char so the captured name starts at `m.index + 3`.
52
+ const operator = line.charAt(m.index + 2); // '.' | '!'
53
+ const isBang = operator === '!';
54
+ // Same-line get vs set heuristic: anything past the captured control
55
+ // name on this line. Cover the `=` form (`Me.Name = "X"`) and ignore
56
+ // a previous-line `=`. The `= charAt(...)` short-circuits on the first
57
+ // non-whitespace; that matches VBA `Me.Name =` and tolerates intervening
58
+ // spaces. We do NOT match `==` (VBA has no `==`), and `=` inside a RHS
59
+ // expression on the SAME line is a false positive that's tolerable —
60
+ // round-4 can add a paren-depth check if needed.
61
+ const after = line.slice(m.index + 3 + controlName.length);
62
+ const eqIdx = after.indexOf('=');
63
+ const isAssign = eqIdx >= 0;
64
+ const referenceKind = isBang
65
+ ? isAssign
66
+ ? 'bang-set'
67
+ : 'bang-get'
68
+ : isAssign
69
+ ? 'property-set'
70
+ : 'property-get';
41
71
  ctx.unresolvedReferences.push({
42
72
  fromNodeId: ctx.findOrCreateFunctionNodeId(from),
43
73
  referenceName: controlName,
44
- referenceKind: 'references',
74
+ referenceKind,
45
75
  line: lineNum,
46
76
  column: m.index + 3, // +3 to skip the `Me.` / `Me!` prefix
47
77
  filePath: ctx.filePath,
@@ -56,6 +86,14 @@ function scanMeControlReferences(ctx, line, from, lineNum) {
56
86
  * emit ONE UnresolvedReference per match with `metadata.synthesizedBy
57
87
  * = 'vba-forms-bang'`. Operates on the ORIGINAL (unmasked) line. The form
58
88
  * identifier is unwrapped of surrounding `"` quotes and `[…]` brackets.
89
+ *
90
+ * Round-3 (issue #108): cross-form bang is always a property access
91
+ * (VBA semantics: there's no bang-call). The reference name is the FORM
92
+ * module — the resolver matches it against the indexed `Form_*` nodes
93
+ * downstream — so the kind is `'bang-get'` regardless of the read/write
94
+ * direction. A direct cross-form bang assignment
95
+ * (`Forms!FormX!Ctl = value`) is rare; round-3 emits `'bang-get'`
96
+ * uniformly and the resolvers do not care about access direction here.
59
97
  */
60
98
  function scanFormsBang(ctx, line, from, lineNum) {
61
99
  FORMS_BANG_RE.lastIndex = 0;
@@ -77,7 +115,7 @@ function scanFormsBang(ctx, line, from, lineNum) {
77
115
  ctx.unresolvedReferences.push({
78
116
  fromNodeId: ctx.findOrCreateFunctionNodeId(from),
79
117
  referenceName: formName,
80
- referenceKind: 'references',
118
+ referenceKind: 'bang-get',
81
119
  line: lineNum,
82
120
  column: m.index, // start of the `Forms` keyword
83
121
  filePath: ctx.filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../src/extraction/vba/controls.ts"],"names":[],"mappings":";;AAwCA,0DAsBC;AASD,sCA+BC;AA9FD;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,iCAAiC,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,aAAa,GACjB,uKAAuK,CAAC;AAE1K;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,GAAwB,EACxB,IAAY,EACZ,IAAc,EACd,OAAe;IAEf,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC5B,UAAU,EAAE,GAAG,CAAC,0BAA0B,CAAC,IAAI,CAAC;YAChD,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,YAAY;YAC3B,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,sCAAsC;YAC3D,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,GAAwB,EACxB,IAAY,EACZ,IAAc,EACd,OAAe;IAEf,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,kEAAkE;QAClE,4DAA4D;QAC5D,mEAAmE;QACnE,kEAAkE;QAClE,4BAA4B;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,QAAQ,GAAG,GAAG;aACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAG,0CAA0C;aAClE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,6CAA6C;QACzE,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC5B,UAAU,EAAE,GAAG,CAAC,0BAA0B,CAAC,IAAI,CAAC;YAChD,aAAa,EAAE,QAAQ;YACvB,aAAa,EAAE,YAAY;YAC3B,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,+BAA+B;YAChD,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../src/extraction/vba/controls.ts"],"names":[],"mappings":"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"}
@@ -167,7 +167,7 @@ function scanDoCmdOpenQuery(ctx, line, caller, lineNum) {
167
167
  ctx.unresolvedReferences.push({
168
168
  fromNodeId: ctx.findOrCreateFunctionNodeId(caller),
169
169
  referenceName: targetName,
170
- referenceKind: 'references',
170
+ referenceKind: 'dao-query',
171
171
  line: lineNum,
172
172
  column: m.index,
173
173
  filePath: ctx.filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"docmd.js","sourceRoot":"","sources":["../../../src/extraction/vba/docmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docmd.js","sourceRoot":"","sources":["../../../src/extraction/vba/docmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Daemon liveness watchdog — issue #116.
3
+ *
4
+ * The MCP server (or any long-lived host) registers project roots it serves.
5
+ * Every `intervalMs`, the watchdog checks each root's daemon (via the
6
+ * {@link listDaemons} discovery index + liveness probe). If a daemon that
7
+ * SHOULD exist is dead (kill -9, Stop-Process, crash, …), the watchdog
8
+ * respawns it with the same spawnDetachedDaemon recipe the launcher uses
9
+ * (`process.execPath` + `process.execArgv` + `scriptPath serve --mcp --path <root>`).
10
+ *
11
+ * Why a watchdog (vs. spawn-on-demand at MCP request time): the issue's repro
12
+ * is `Stop-Process -Id <pid>` while the MCP keeps serving — file edits are
13
+ * missed until the user manually runs `codegraph-vba sync`. The watchdog
14
+ * closes that gap in <intervalMs>.
15
+ *
16
+ * Spawned detaches (own session/process group) so closing the MCP process
17
+ * does not take the watchdog down with it.
18
+ */
19
+ export interface DaemonWatchdogOptions {
20
+ /** Poll interval (ms). Default 30s. */
21
+ intervalMs?: number;
22
+ /** Override the path to the codegraph binary used to spawn the daemon. */
23
+ scriptPath?: string;
24
+ /** Override node executable used to spawn the daemon. */
25
+ nodePath?: string;
26
+ /**
27
+ * Override the spawn implementation. Used by tests; production callers
28
+ * leave this unset to use the real `child_process.spawn`.
29
+ */
30
+ spawnFn?: (nodePath: string, args: string[], opts: {
31
+ detached: boolean;
32
+ env: NodeJS.ProcessEnv;
33
+ windowsHide?: boolean;
34
+ stdio?: 'ignore' | ['ignore', number, number];
35
+ }) => boolean;
36
+ }
37
+ /**
38
+ * Per-project daemon liveness watchdog. Registers roots; polls every
39
+ * `intervalMs`; respawns a daemon if the live one dies.
40
+ */
41
+ export declare class DaemonWatchdog {
42
+ private readonly roots;
43
+ private interval;
44
+ private readonly intervalMs;
45
+ private readonly scriptPath;
46
+ private readonly nodePath;
47
+ private readonly spawnFn;
48
+ constructor(opts?: DaemonWatchdogOptions);
49
+ /** Watch a project root: if its daemon dies, respawn it. Idempotent. */
50
+ watch(root: string): void;
51
+ /** Stop watching a root. Idempotent. */
52
+ unwatch(root: string): void;
53
+ /** Number of roots currently being watched. */
54
+ size(): number;
55
+ /**
56
+ * Start the polling loop. No-op if already running. Detached from any caller;
57
+ * safe to call from a request handler.
58
+ */
59
+ start(): void;
60
+ /** Stop the polling loop. Idempotent. */
61
+ stop(): void;
62
+ /**
63
+ * Run one round: for each watched root, check daemon liveness and respawn
64
+ * if missing. Exposed for tests + manual triggers.
65
+ */
66
+ tick(): Promise<void>;
67
+ /**
68
+ * If no live daemon serves `root`, spawn one. Exposed for tests + manual
69
+ * triggers. Resolves to `true` if a daemon was spawned, `false` if one
70
+ * was already running or no `.codegraph/` is reachable from `root`.
71
+ */
72
+ checkAndRespawn(root: string): Promise<boolean>;
73
+ /** Spawn a fresh daemon for `root`. Detached; safe to call from any context. */
74
+ spawn(root: string): boolean;
75
+ /**
76
+ * Wait for a daemon's socket to appear at one of the candidate paths under
77
+ * `root`. Used by callers that want a synchronous spawn-then-use flow; not
78
+ * required by the watchdog itself (which only needs liveness, not binding).
79
+ */
80
+ waitForSocket(root: string, maxRetries?: number): Promise<boolean>;
81
+ /** True if a daemon's pid file at `root` points at a live process. */
82
+ hasLiveDaemon(root: string): boolean;
83
+ }
84
+ //# sourceMappingURL=daemon-watchdog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-watchdog.d.ts","sourceRoot":"","sources":["../../src/mcp/daemon-watchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAiCH,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,CAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAE,CAAA;KAAE,KAAK,OAAO,CAAC;CACtL;AAUD;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6K;gBAEzL,IAAI,GAAE,qBAA0B;IAU5C,wEAAwE;IACxE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzB,wCAAwC;IACxC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,+CAA+C;IAC/C,IAAI,IAAI,MAAM;IAId;;;OAGG;IACH,KAAK,IAAI,IAAI;IAUb,yCAAyC;IACzC,IAAI,IAAI,IAAI;IAOZ;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;;OAIG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAarD,gFAAgF;IAChF,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAoC5B;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBxF,sEAAsE;IACtE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAWrC"}