@saptools/service-flow 0.1.69 → 0.1.70

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 (120) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +2 -2
  3. package/TECHNICAL-NOTE.md +4 -0
  4. package/dist/{chunk-3N3B5KHV.js → chunk-GSLFY6J2.js} +78 -78
  5. package/dist/chunk-GSLFY6J2.js.map +1 -0
  6. package/dist/cli.js +19 -19
  7. package/dist/cli.js.map +1 -1
  8. package/dist/index.js +1 -1
  9. package/package.json +1 -1
  10. package/src/cli/{002-doctor-lifecycle.ts → doctor-lifecycle.ts} +1 -1
  11. package/src/cli/{001-doctor-projection.ts → doctor-projection.ts} +1 -1
  12. package/src/cli/doctor.ts +5 -5
  13. package/src/cli.ts +5 -5
  14. package/src/db/{009-binding-fact-semantics.ts → binding-fact-semantics.ts} +2 -2
  15. package/src/db/{000-call-fact-repository.ts → call-fact-repository.ts} +6 -6
  16. package/src/db/{003-current-fact-semantics.ts → current-fact-semantics.ts} +4 -4
  17. package/src/db/{001-fact-lifecycle.ts → fact-lifecycle.ts} +3 -3
  18. package/src/db/{007-package-fact-semantics.ts → package-fact-semantics.ts} +6 -6
  19. package/src/db/{010-package-symbol-surface-semantics.ts → package-symbol-surface-semantics.ts} +2 -2
  20. package/src/db/{004-package-target-invalidation.ts → package-target-invalidation.ts} +1 -1
  21. package/src/db/{008-relative-fact-semantics.ts → relative-fact-semantics.ts} +3 -3
  22. package/src/db/{006-relative-symbol-resolution.ts → relative-symbol-resolution.ts} +1 -1
  23. package/src/db/repositories.ts +3 -3
  24. package/src/db/{011-symbol-call-semantics.ts → symbol-call-semantics.ts} +1 -1
  25. package/src/index.ts +3 -3
  26. package/src/indexer/repository-indexer.ts +5 -5
  27. package/src/indexer/workspace-indexer.ts +3 -3
  28. package/src/linker/{007-call-edge-insertion.ts → call-edge-insertion.ts} +2 -2
  29. package/src/linker/{002-call-evidence.ts → call-evidence.ts} +2 -2
  30. package/src/linker/cross-repo-linker.ts +5 -5
  31. package/src/linker/dynamic-edge-resolver.ts +1 -1
  32. package/src/linker/{004-event-subscription-handler-linker.ts → event-subscription-handler-linker.ts} +1 -1
  33. package/src/linker/external-http-target.ts +1 -1
  34. package/src/linker/helper-package-linker.ts +1 -1
  35. package/src/linker/{000-implementation-candidates.ts → implementation-candidates.ts} +1 -1
  36. package/src/linker/{001-implementation-evidence-projection.ts → implementation-evidence-projection.ts} +1 -1
  37. package/src/linker/odata-path-normalizer.ts +1 -1
  38. package/src/linker/{005-odata-path-structure.ts → odata-path-structure.ts} +1 -1
  39. package/src/linker/{003-package-import-symbol-resolver.ts → package-import-symbol-resolver.ts} +3 -3
  40. package/src/linker/service-resolver.ts +2 -2
  41. package/src/output/{001-compact-json-output.ts → compact-json-output.ts} +1 -1
  42. package/src/parsers/{006-binding-identity.ts → binding-identity.ts} +3 -3
  43. package/src/parsers/{011-binding-lexical-scope.ts → binding-lexical-scope.ts} +1 -1
  44. package/src/parsers/{021-binding-visibility.ts → binding-visibility.ts} +1 -1
  45. package/src/parsers/{005-event-subscription-facts.ts → event-subscription-facts.ts} +2 -2
  46. package/src/parsers/{016-local-symbol-reference.ts → local-symbol-reference.ts} +2 -2
  47. package/src/parsers/operation-path-analysis.ts +1 -1
  48. package/src/parsers/{023-outbound-call-classifier.ts → outbound-call-classifier.ts} +3 -3
  49. package/src/parsers/outbound-call-parser.ts +2 -2
  50. package/src/parsers/{022-outbound-expression-analysis.ts → outbound-expression-analysis.ts} +2 -2
  51. package/src/parsers/{018-package-commonjs-syntax.ts → package-commonjs-syntax.ts} +1 -1
  52. package/src/parsers/{012-package-fact-contract.ts → package-fact-contract.ts} +3 -3
  53. package/src/parsers/{010-package-public-surface-analysis.ts → package-public-surface-analysis.ts} +2 -2
  54. package/src/parsers/{003-package-public-surface.ts → package-public-surface.ts} +3 -3
  55. package/src/parsers/{008-package-surface-publication.ts → package-surface-publication.ts} +1 -1
  56. package/src/parsers/{001-query-entity-resolution.ts → query-entity-resolution.ts} +1 -1
  57. package/src/parsers/{015-service-binding-collector.ts → service-binding-collector.ts} +3 -3
  58. package/src/parsers/{014-service-binding-helper-flow.ts → service-binding-helper-flow.ts} +2 -2
  59. package/src/parsers/service-binding-parser-helpers.ts +1 -1
  60. package/src/parsers/service-binding-parser.ts +2 -2
  61. package/src/parsers/{007-source-fact-reconciliation.ts → source-fact-reconciliation.ts} +3 -3
  62. package/src/parsers/{020-stable-local-value.ts → stable-local-value.ts} +2 -2
  63. package/src/parsers/{009-symbol-call-facts.ts → symbol-call-facts.ts} +3 -3
  64. package/src/parsers/{017-symbol-derived-contexts.ts → symbol-derived-contexts.ts} +2 -2
  65. package/src/parsers/symbol-parser.ts +6 -6
  66. package/src/trace/{021-compact-decision-normalization.ts → compact-decision-normalization.ts} +2 -2
  67. package/src/trace/{020-compact-field-projection.ts → compact-field-projection.ts} +3 -3
  68. package/src/trace/{024-compact-observation-decision.ts → compact-observation-decision.ts} +3 -3
  69. package/src/trace/{016-compact-projector.ts → compact-projector.ts} +4 -4
  70. package/src/trace/{018-compact-trace.ts → compact-trace.ts} +3 -3
  71. package/src/trace/{006-contextual-projection.ts → contextual-projection.ts} +1 -1
  72. package/src/trace/{008-contextual-runtime-state.ts → contextual-runtime-state.ts} +1 -1
  73. package/src/trace/{001-dynamic-identity.ts → dynamic-identity.ts} +2 -2
  74. package/src/trace/{003-dynamic-references.ts → dynamic-references.ts} +2 -2
  75. package/src/trace/dynamic-targets.ts +6 -6
  76. package/src/trace/{030-event-runtime-resolution.ts → event-runtime-resolution.ts} +2 -2
  77. package/src/trace/{011-event-subscriber-traversal.ts → event-subscriber-traversal.ts} +1 -1
  78. package/src/trace/evidence.ts +2 -2
  79. package/src/trace/implementation-hints.ts +2 -2
  80. package/src/trace/{005-implementation-selection.ts → implementation-selection.ts} +2 -2
  81. package/src/trace/{031-local-call-expansion.ts → local-call-expansion.ts} +3 -3
  82. package/src/trace/{009-selected-handler-provenance.ts → selected-handler-provenance.ts} +1 -1
  83. package/src/trace/selectors.ts +1 -1
  84. package/src/trace/{017-trace-context.ts → trace-context.ts} +2 -2
  85. package/src/trace/{015-trace-edge-recorder.ts → trace-edge-recorder.ts} +2 -2
  86. package/src/trace/{019-trace-edge-semantics.ts → trace-edge-semantics.ts} +3 -3
  87. package/src/trace/trace-engine.ts +10 -10
  88. package/src/trace/{022-trace-fact-preflight.ts → trace-fact-preflight.ts} +2 -2
  89. package/src/trace/{025-trace-implementation-scope.ts → trace-implementation-scope.ts} +1 -1
  90. package/src/trace/{028-trace-operation-execution.ts → trace-operation-execution.ts} +10 -10
  91. package/src/trace/{013-trace-root-scopes.ts → trace-root-scopes.ts} +3 -3
  92. package/src/trace/{027-trace-scope-execution.ts → trace-scope-execution.ts} +14 -14
  93. package/src/trace/{029-trace-start-implementation.ts → trace-start-implementation.ts} +7 -7
  94. package/src/trace/{026-trace-start-scope.ts → trace-start-scope.ts} +5 -5
  95. package/src/trace/{010-traversal-scope.ts → traversal-scope.ts} +1 -1
  96. package/dist/chunk-3N3B5KHV.js.map +0 -1
  97. /package/src/cli/{000-clean.ts → clean.ts} +0 -0
  98. /package/src/cli/{003-doctor-package-resolution.ts → doctor-package-resolution.ts} +0 -0
  99. /package/src/cli/{001-index-summary.ts → index-summary.ts} +0 -0
  100. /package/src/db/{014-binding-helper-provenance.ts → binding-helper-provenance.ts} +0 -0
  101. /package/src/db/{012-binding-reference-proof.ts → binding-reference-proof.ts} +0 -0
  102. /package/src/db/{002-fact-json-inventory.ts → fact-json-inventory.ts} +0 -0
  103. /package/src/db/{013-index-publication-failure.ts → index-publication-failure.ts} +0 -0
  104. /package/src/db/{005-schema-structure.ts → schema-structure.ts} +0 -0
  105. /package/src/linker/{006-event-template-link.ts → event-template-link.ts} +0 -0
  106. /package/src/output/{000-stdout-policy.ts → stdout-policy.ts} +0 -0
  107. /package/src/parsers/{019-binding-assignment-targets.ts → binding-assignment-targets.ts} +0 -0
  108. /package/src/parsers/{000-direct-query-execution.ts → direct-query-execution.ts} +0 -0
  109. /package/src/parsers/{013-executable-body-eligibility.ts → executable-body-eligibility.ts} +0 -0
  110. /package/src/parsers/{004-fact-identity.ts → fact-identity.ts} +0 -0
  111. /package/src/parsers/{002-symbol-import-bindings.ts → symbol-import-bindings.ts} +0 -0
  112. /package/src/trace/{014-compact-contract.ts → compact-contract.ts} +0 -0
  113. /package/src/trace/{004-dynamic-candidate-sources.ts → dynamic-candidate-sources.ts} +0 -0
  114. /package/src/trace/{000-dynamic-target-types.ts → dynamic-target-types.ts} +0 -0
  115. /package/src/trace/{007-implementation-start-diagnostic.ts → implementation-start-diagnostic.ts} +0 -0
  116. /package/src/trace/{023-nested-event-scopes.ts → nested-event-scopes.ts} +0 -0
  117. /package/src/trace/{002-trace-diagnostics.ts → trace-diagnostics.ts} +0 -0
  118. /package/src/trace/{012-trace-graph-lookups.ts → trace-graph-lookups.ts} +0 -0
  119. /package/src/utils/{000-bounded-projection.ts → bounded-projection.ts} +0 -0
  120. /package/src/utils/{001-placeholders.ts → placeholders.ts} +0 -0
@@ -3,7 +3,7 @@
3
3
  // package.json
4
4
  var package_default = {
5
5
  name: "@saptools/service-flow",
6
- version: "0.1.69",
6
+ version: "0.1.70",
7
7
  description: "Trace SAP CAP service-to-service flows across multi-repository workspaces with runtime-aware graph resolution",
8
8
  type: "module",
9
9
  publishConfig: {
@@ -1161,7 +1161,7 @@ import fs7 from "fs/promises";
1161
1161
  import path8 from "path";
1162
1162
  import ts5 from "typescript";
1163
1163
 
1164
- // src/utils/001-placeholders.ts
1164
+ // src/utils/placeholders.ts
1165
1165
  import ts4 from "typescript";
1166
1166
  var expressionEndTokens = /* @__PURE__ */ new Set([
1167
1167
  ts4.SyntaxKind.Identifier,
@@ -1443,13 +1443,13 @@ async function importsFor(repoPath, filePath, sf) {
1443
1443
  return imports;
1444
1444
  }
1445
1445
 
1446
- // src/parsers/014-service-binding-helper-flow.ts
1446
+ // src/parsers/service-binding-helper-flow.ts
1447
1447
  import ts9 from "typescript";
1448
1448
 
1449
- // src/parsers/011-binding-lexical-scope.ts
1449
+ // src/parsers/binding-lexical-scope.ts
1450
1450
  import ts7 from "typescript";
1451
1451
 
1452
- // src/parsers/019-binding-assignment-targets.ts
1452
+ // src/parsers/binding-assignment-targets.ts
1453
1453
  import ts6 from "typescript";
1454
1454
  function unsupported(entries) {
1455
1455
  return entries.map((entry) => ({
@@ -1501,7 +1501,7 @@ function bindingAssignmentEntries(expression) {
1501
1501
  return target.unsupported ? unsupported(entries) : entries;
1502
1502
  }
1503
1503
 
1504
- // src/parsers/011-binding-lexical-scope.ts
1504
+ // src/parsers/binding-lexical-scope.ts
1505
1505
  function unwrapIdentity(expression) {
1506
1506
  if (ts7.isParenthesizedExpression(expression) || ts7.isAwaitExpression(expression) || ts7.isAsExpression(expression) || ts7.isSatisfiesExpression(expression) || ts7.isTypeAssertionExpression(expression))
1507
1507
  return unwrapIdentity(expression.expression);
@@ -1840,7 +1840,7 @@ function bindingSite(index, variableName, startOffset, endOffset) {
1840
1840
  return matches2.length === 1 ? matches2[0] : void 0;
1841
1841
  }
1842
1842
 
1843
- // src/parsers/021-binding-visibility.ts
1843
+ // src/parsers/binding-visibility.ts
1844
1844
  import ts8 from "typescript";
1845
1845
  function reachingSites(index, variableName, useStart, useChain, declaration) {
1846
1846
  const useExecution = executionScope(useChain);
@@ -1941,7 +1941,7 @@ function selectVisibleBinding(index, candidates2, variableName, useNode) {
1941
1941
  };
1942
1942
  }
1943
1943
 
1944
- // src/parsers/014-service-binding-helper-flow.ts
1944
+ // src/parsers/service-binding-helper-flow.ts
1945
1945
  function directConnectFact(expression) {
1946
1946
  const call = unwrapCall(expression);
1947
1947
  return call ? connectFactFromCall(call) : void 0;
@@ -2140,7 +2140,7 @@ function directConnectFactFromFunctionLike(fn) {
2140
2140
  };
2141
2141
  }
2142
2142
 
2143
- // src/parsers/015-service-binding-collector.ts
2143
+ // src/parsers/service-binding-collector.ts
2144
2144
  import ts10 from "typescript";
2145
2145
  function bindingAtSite(fact, node, source) {
2146
2146
  return {
@@ -2829,13 +2829,13 @@ import fs8 from "fs/promises";
2829
2829
  import path11 from "path";
2830
2830
  import ts18 from "typescript";
2831
2831
 
2832
- // src/parsers/023-outbound-call-classifier.ts
2832
+ // src/parsers/outbound-call-classifier.ts
2833
2833
  import ts16 from "typescript";
2834
2834
 
2835
2835
  // src/linker/external-http-target.ts
2836
2836
  import { createHash } from "crypto";
2837
2837
 
2838
- // src/utils/000-bounded-projection.ts
2838
+ // src/utils/bounded-projection.ts
2839
2839
  var DEFAULT_EVIDENCE_CANDIDATE_LIMIT = 5;
2840
2840
  function projectBounded(values, compare, limit = DEFAULT_EVIDENCE_CANDIDATE_LIMIT) {
2841
2841
  const normalizedLimit = positiveLimit(limit);
@@ -3022,7 +3022,7 @@ function safeParse(value) {
3022
3022
  }
3023
3023
  }
3024
3024
 
3025
- // src/linker/005-odata-path-structure.ts
3025
+ // src/linker/odata-path-structure.ts
3026
3026
  function analyzeODataPathStructure(path12) {
3027
3027
  const rawPath = (path12 ?? "").trim();
3028
3028
  const placeholders2 = scanPlaceholderStructure(rawPath);
@@ -3480,7 +3480,7 @@ function isMediaOrPropertySuffix(segment) {
3480
3480
  return ["file", "content", "$value", "metadata", "items"].includes(segment.toLowerCase());
3481
3481
  }
3482
3482
 
3483
- // src/parsers/000-direct-query-execution.ts
3483
+ // src/parsers/direct-query-execution.ts
3484
3484
  import ts12 from "typescript";
3485
3485
  var capQueryBuilderRoots = /* @__PURE__ */ new Set([
3486
3486
  "SELECT.from",
@@ -3697,7 +3697,7 @@ function nodeIsPromise(name) {
3697
3697
  return Boolean(name && ts12.isIdentifier(name) && name.text === "Promise");
3698
3698
  }
3699
3699
 
3700
- // src/parsers/001-query-entity-resolution.ts
3700
+ // src/parsers/query-entity-resolution.ts
3701
3701
  import ts13 from "typescript";
3702
3702
  var maxAliasDepth = 5;
3703
3703
  var cdsModelSpecifier = /^#cds-models(?:\/|$)/;
@@ -4063,7 +4063,7 @@ function queryEntityFromAst(expr, initializers = /* @__PURE__ */ new Map(), seen
4063
4063
  return ts13.isCallExpression(unwrapped) ? queryEntityFromCall(unwrapped, initializers, seenInitializers) : void 0;
4064
4064
  }
4065
4065
 
4066
- // src/parsers/022-outbound-expression-analysis.ts
4066
+ // src/parsers/outbound-expression-analysis.ts
4067
4067
  import ts14 from "typescript";
4068
4068
  function lineOf4(text, index) {
4069
4069
  return text.slice(0, index).split("\n").length;
@@ -4801,7 +4801,7 @@ function emptyAnalysis() {
4801
4801
  };
4802
4802
  }
4803
4803
 
4804
- // src/parsers/023-outbound-call-classifier.ts
4804
+ // src/parsers/outbound-call-classifier.ts
4805
4805
  function namedFunctionLike(node) {
4806
4806
  if (ts16.isFunctionDeclaration(node) && node.name)
4807
4807
  return { name: node.name.text, fn: node };
@@ -5597,7 +5597,7 @@ function serviceOperationCall(node, aliases) {
5597
5597
  };
5598
5598
  }
5599
5599
 
5600
- // src/trace/010-traversal-scope.ts
5600
+ // src/trace/traversal-scope.ts
5601
5601
  import { createHash as createHash2 } from "crypto";
5602
5602
  function compareBinary(left, right) {
5603
5603
  const leftPoints = [...left];
@@ -6106,7 +6106,7 @@ function linkHelperPackages(db, workspaceId, generation) {
6106
6106
  return summary;
6107
6107
  }
6108
6108
 
6109
- // src/linker/001-implementation-evidence-projection.ts
6109
+ // src/linker/implementation-evidence-projection.ts
6110
6110
  function selectedHandlerProvenance(source) {
6111
6111
  return {
6112
6112
  status: "selected",
@@ -6223,7 +6223,7 @@ function numberValue(value) {
6223
6223
  return typeof value === "number" && Number.isFinite(value) ? value : 0;
6224
6224
  }
6225
6225
 
6226
- // src/linker/000-implementation-candidates.ts
6226
+ // src/linker/implementation-candidates.ts
6227
6227
  function linkImplementations(db, workspaceId, generation) {
6228
6228
  const operations = workspaceOperations(db, workspaceId);
6229
6229
  let edgeCount = 0;
@@ -6763,14 +6763,14 @@ function numberValue2(value) {
6763
6763
  return typeof value === "number" && Number.isFinite(value) ? value : void 0;
6764
6764
  }
6765
6765
 
6766
- // src/parsers/003-package-public-surface.ts
6766
+ // src/parsers/package-public-surface.ts
6767
6767
  import { posix as posix2 } from "path";
6768
6768
  import ts22 from "typescript";
6769
6769
 
6770
- // src/parsers/018-package-commonjs-syntax.ts
6770
+ // src/parsers/package-commonjs-syntax.ts
6771
6771
  import ts20 from "typescript";
6772
6772
 
6773
- // src/parsers/002-symbol-import-bindings.ts
6773
+ // src/parsers/symbol-import-bindings.ts
6774
6774
  import ts19 from "typescript";
6775
6775
  var packagePart = /^[A-Za-z0-9][A-Za-z0-9._~-]*$/;
6776
6776
  var invalidPackageSpecifierCharacter = /[\\:?#]/;
@@ -7101,7 +7101,7 @@ function symbolImportReference(expression, bindings) {
7101
7101
  return memberReference(expression, bindings) ?? accessorMemberReference(expression, bindings);
7102
7102
  }
7103
7103
 
7104
- // src/parsers/018-package-commonjs-syntax.ts
7104
+ // src/parsers/package-commonjs-syntax.ts
7105
7105
  function unwrap2(expression) {
7106
7106
  if (ts20.isParenthesizedExpression(expression) || ts20.isAsExpression(expression) || ts20.isSatisfiesExpression(expression) || ts20.isTypeAssertionExpression(expression) || ts20.isNonNullExpression(expression))
7107
7107
  return unwrap2(expression.expression);
@@ -7191,7 +7191,7 @@ function hasNestedCommonJsMutation(source) {
7191
7191
  return unsupported2;
7192
7192
  }
7193
7193
 
7194
- // src/parsers/020-stable-local-value.ts
7194
+ // src/parsers/stable-local-value.ts
7195
7195
  import ts21 from "typescript";
7196
7196
  function transparentUse(node) {
7197
7197
  const parent = node.parent;
@@ -7318,7 +7318,7 @@ function stableLocalValueReference(source, declaration) {
7318
7318
  return stable;
7319
7319
  }
7320
7320
 
7321
- // src/parsers/010-package-public-surface-analysis.ts
7321
+ // src/parsers/package-public-surface-analysis.ts
7322
7322
  import { posix } from "path";
7323
7323
  function compareBinary3(left, right) {
7324
7324
  return left < right ? -1 : left > right ? 1 : 0;
@@ -7579,7 +7579,7 @@ function analyzePackagePublicSurface(packageName, manifest, modules) {
7579
7579
  return { surface, symbols: symbolEvidence(retained.scopes) };
7580
7580
  }
7581
7581
 
7582
- // src/parsers/003-package-public-surface.ts
7582
+ // src/parsers/package-public-surface.ts
7583
7583
  var PACKAGE_PUBLIC_SURFACE_SCHEMA = "service-flow/package-public-surface@1";
7584
7584
  var PACKAGE_PUBLIC_SURFACE_RECORD_CAP = 256;
7585
7585
  var PACKAGE_PUBLIC_SURFACE_EXPORT_DEPTH = 16;
@@ -7976,7 +7976,7 @@ function moduleInfoMap(modules) {
7976
7976
  return result;
7977
7977
  }
7978
7978
 
7979
- // src/parsers/012-package-fact-contract.ts
7979
+ // src/parsers/package-fact-contract.ts
7980
7980
  var bindingKinds = /* @__PURE__ */ new Set([
7981
7981
  "esm_named",
7982
7982
  "esm_default",
@@ -8210,7 +8210,7 @@ function parsePackagePublicSurfaceFact(value, expectedPackageName) {
8210
8210
  return item;
8211
8211
  }
8212
8212
 
8213
- // src/linker/003-package-import-symbol-resolver.ts
8213
+ // src/linker/package-import-symbol-resolver.ts
8214
8214
  var REPOSITORY_REFERENCE_CAP = 5;
8215
8215
  function record2(value) {
8216
8216
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
@@ -8500,7 +8500,7 @@ function linkPackageImportSymbolCalls(db, workspaceId) {
8500
8500
  return summary;
8501
8501
  }
8502
8502
 
8503
- // src/linker/006-event-template-link.ts
8503
+ // src/linker/event-template-link.ts
8504
8504
  function linkEventTemplate(template, variables, parserReason) {
8505
8505
  const substitution = substituteVariables(template, variables);
8506
8506
  const missing = substitution.missing.length > 0;
@@ -8544,7 +8544,7 @@ function insertEventCallEdge(db, workspaceId, generation, call, variables, evide
8544
8544
  return { status: event.status, callType };
8545
8545
  }
8546
8546
 
8547
- // src/linker/004-event-subscription-handler-linker.ts
8547
+ // src/linker/event-subscription-handler-linker.ts
8548
8548
  var symbolCallReasonLimit = 512;
8549
8549
  function subscriptionRows(db, workspaceId) {
8550
8550
  return db.prepare(`SELECT c.id,r.workspace_id workspaceId,c.repo_id repoId,r.name repoName,
@@ -8776,7 +8776,7 @@ function linkEventSubscriptionHandlers(db, workspaceId, generation, variables =
8776
8776
  return summary;
8777
8777
  }
8778
8778
 
8779
- // src/linker/002-call-evidence.ts
8779
+ // src/linker/call-evidence.ts
8780
8780
  function linkedCallEvidence(call, resolution, servicePath, operationPath, destination, normalized, intent) {
8781
8781
  const candidates2 = boundedCallCandidates(resolution.candidates);
8782
8782
  return {
@@ -9202,7 +9202,7 @@ function matchesLocalRepo(db, operationId, repoId) {
9202
9202
  return row?.repoId === repoId;
9203
9203
  }
9204
9204
 
9205
- // src/linker/007-call-edge-insertion.ts
9205
+ // src/linker/call-edge-insertion.ts
9206
9206
  function callPathContext(call, variables) {
9207
9207
  const raw = applyVariables(String(call.operation_path_expr ?? ""), variables);
9208
9208
  const intent = classifyODataPathIntent(
@@ -9830,7 +9830,7 @@ function schemaVersion(db) {
9830
9830
  return userVersion(db);
9831
9831
  }
9832
9832
 
9833
- // src/db/002-fact-json-inventory.ts
9833
+ // src/db/fact-json-inventory.ts
9834
9834
  var directRepositoryJoin = "JOIN repositories lifecycle_repo ON lifecycle_repo.id=fact.repo_id";
9835
9835
  var LINK_FACT_JSON_INVENTORY = [
9836
9836
  {
@@ -9959,7 +9959,7 @@ function invalidFactJsonCategories(db, workspaceId) {
9959
9959
  return LINK_FACT_JSON_INVENTORY.map((item) => category(item, "wrong_shape", wrongShapeCount(db, item, workspaceId))).filter((item) => item.count > 0);
9960
9960
  }
9961
9961
 
9962
- // src/db/010-package-symbol-surface-semantics.ts
9962
+ // src/db/package-symbol-surface-semantics.ts
9963
9963
  var bodyReasons2 = /* @__PURE__ */ new Set([
9964
9964
  "body_present",
9965
9965
  "declaration_only",
@@ -10139,7 +10139,7 @@ function invalidPackageSymbolSurfaceCount(db, workspaceId) {
10139
10139
  );
10140
10140
  }
10141
10141
 
10142
- // src/db/007-package-fact-semantics.ts
10142
+ // src/db/package-fact-semantics.ts
10143
10143
  var unresolvedReasons = /* @__PURE__ */ new Set([
10144
10144
  "package_repository_scope_ambiguous",
10145
10145
  "package_repository_not_indexed",
@@ -10521,7 +10521,7 @@ function invalidPackageFactCategories(db, workspaceId, phase = "pre_package") {
10521
10521
  ];
10522
10522
  }
10523
10523
 
10524
- // src/db/006-relative-symbol-resolution.ts
10524
+ // src/db/relative-symbol-resolution.ts
10525
10525
  import { posix as posix3 } from "path";
10526
10526
  var stripExtension = (value) => value.replace(/\.(?:ts|tsx|js|jsx|cds)$/, "");
10527
10527
  function record5(value) {
@@ -10826,7 +10826,7 @@ function resolveRelativeSymbolCall(db, repoId, call, relation) {
10826
10826
  );
10827
10827
  }
10828
10828
 
10829
- // src/db/008-relative-fact-semantics.ts
10829
+ // src/db/relative-fact-semantics.ts
10830
10830
  function record6(value) {
10831
10831
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
10832
10832
  }
@@ -10948,7 +10948,7 @@ function invalidRelativeFactCategories(db, workspaceId) {
10948
10948
  return invalid > 0 ? [{ category: "relative_import_resolution_proof_invalid", count: invalid }] : [];
10949
10949
  }
10950
10950
 
10951
- // src/db/012-binding-reference-proof.ts
10951
+ // src/db/binding-reference-proof.ts
10952
10952
  var scopeKinds = /* @__PURE__ */ new Set([
10953
10953
  "source_file",
10954
10954
  "module_block",
@@ -11109,7 +11109,7 @@ function resolvedBindingReferenceProofValid(call, referenceValue, target) {
11109
11109
  return Boolean(reference2 && scopeProofValid(call, reference2) && targetMatches2(call, reference2, target));
11110
11110
  }
11111
11111
 
11112
- // src/db/014-binding-helper-provenance.ts
11112
+ // src/db/binding-helper-provenance.ts
11113
11113
  function record8(value) {
11114
11114
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
11115
11115
  }
@@ -11125,7 +11125,7 @@ function hasSingleHopHelperReturn(value) {
11125
11125
  return Array.isArray(chain) && chain.some((step) => record8(step) && step.bindingOrigin === "single_hop_helper_return");
11126
11126
  }
11127
11127
 
11128
- // src/db/009-binding-fact-semantics.ts
11128
+ // src/db/binding-fact-semantics.ts
11129
11129
  var unresolvedReasons2 = /* @__PURE__ */ new Set([
11130
11130
  "binding_not_found",
11131
11131
  "binding_declared_after_call",
@@ -11375,7 +11375,7 @@ function invalidBindingFactCategories(db, workspaceId) {
11375
11375
  ];
11376
11376
  }
11377
11377
 
11378
- // src/parsers/004-fact-identity.ts
11378
+ // src/parsers/fact-identity.ts
11379
11379
  var executableOwnerKinds = [
11380
11380
  "event_registration",
11381
11381
  "callback",
@@ -11431,7 +11431,7 @@ function executableSymbolCandidates(symbols, sourceFile) {
11431
11431
  return symbols.filter((symbol) => symbol.sourceFile === sourceFile && isExecutableOwnerKind(symbol.kind));
11432
11432
  }
11433
11433
 
11434
- // src/db/013-index-publication-failure.ts
11434
+ // src/db/index-publication-failure.ts
11435
11435
  var PreparedRepositorySnapshotError = class extends Error {
11436
11436
  failureCode;
11437
11437
  site;
@@ -11473,7 +11473,7 @@ function recordPreparedSnapshotFailure(db, repoId, error) {
11473
11473
  );
11474
11474
  }
11475
11475
 
11476
- // src/db/000-call-fact-repository.ts
11476
+ // src/db/call-fact-repository.ts
11477
11477
  function insertSymbolCalls(db, repoId, rows2) {
11478
11478
  const insertStmt = db.prepare("INSERT INTO symbol_calls(repo_id,caller_symbol_id,callee_symbol_id,callee_expression,import_source,source_file,source_line,call_site_start_offset,call_site_end_offset,call_role,status,confidence,evidence_json,unresolved_reason) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
11479
11479
  for (const r of rows2) {
@@ -11995,7 +11995,7 @@ function persistedBindingRequiredValid(row) {
11995
11995
  ].every(Boolean);
11996
11996
  }
11997
11997
 
11998
- // src/db/011-symbol-call-semantics.ts
11998
+ // src/db/symbol-call-semantics.ts
11999
11999
  function record11(value) {
12000
12000
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
12001
12001
  }
@@ -12089,7 +12089,7 @@ function invalidSymbolFactCategories(db, workspaceId) {
12089
12089
  return invalid > 0 ? [{ category: "symbol_call_resolution_proof_invalid", count: invalid }] : [];
12090
12090
  }
12091
12091
 
12092
- // src/db/003-current-fact-semantics.ts
12092
+ // src/db/current-fact-semantics.ts
12093
12093
  var executableKindSql = "'event_registration','callback','method','object_method','function'";
12094
12094
  var callTypeAllowlist = {
12095
12095
  remote_action: true,
@@ -12720,7 +12720,7 @@ function invalidFactSemanticCategories(db, workspaceId, phase = "pre_package") {
12720
12720
  ];
12721
12721
  }
12722
12722
 
12723
- // src/db/005-schema-structure.ts
12723
+ // src/db/schema-structure.ts
12724
12724
  var requiredColumns = {
12725
12725
  workspaces: [
12726
12726
  "id",
@@ -13022,7 +13022,7 @@ function invalidSchemaStructureCategories(db) {
13022
13022
  ];
13023
13023
  }
13024
13024
 
13025
- // src/db/001-fact-lifecycle.ts
13025
+ // src/db/fact-lifecycle.ts
13026
13026
  var remediation = [
13027
13027
  "service-flow index --workspace /workspace --force",
13028
13028
  "service-flow link --workspace /workspace --force"
@@ -13612,7 +13612,7 @@ function fullSelectorSuggestions(candidates2) {
13612
13612
  }))].sort();
13613
13613
  }
13614
13614
 
13615
- // src/trace/004-dynamic-candidate-sources.ts
13615
+ // src/trace/dynamic-candidate-sources.ts
13616
13616
  function dynamicCandidateTargets(db, effectiveOperationPath, originalOperationPath, embedded, workspaceId, requireCanonical) {
13617
13617
  const canonical = queryOperationTargets(
13618
13618
  db,
@@ -13730,7 +13730,7 @@ function stringArray3(value) {
13730
13730
  return Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
13731
13731
  }
13732
13732
 
13733
- // src/trace/001-dynamic-identity.ts
13733
+ // src/trace/dynamic-identity.ts
13734
13734
  function uniqueIdentityDerivations(db, candidates2, templates) {
13735
13735
  const identities = workspaceIdentities(db, candidates2);
13736
13736
  const proposals = candidates2.flatMap((candidate) => {
@@ -13923,7 +13923,7 @@ function escapeRegex2(value) {
13923
13923
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
13924
13924
  }
13925
13925
 
13926
- // src/trace/003-dynamic-references.ts
13926
+ // src/trace/dynamic-references.ts
13927
13927
  function dynamicRoutingContext(db, workspaceId, evidence) {
13928
13928
  const selected = selectedBinding(db, workspaceId, evidence);
13929
13929
  const persisted = persistedBindingResolution(evidence);
@@ -14594,7 +14594,7 @@ function isConcrete(value) {
14594
14594
  return typeof value === "string" && value.length > 0 && extractPlaceholders(value).length === 0;
14595
14595
  }
14596
14596
 
14597
- // src/trace/006-contextual-projection.ts
14597
+ // src/trace/contextual-projection.ts
14598
14598
  function boundedContextCandidates(values) {
14599
14599
  const candidates2 = values.flatMap((value) => {
14600
14600
  return isRecord6(value) ? [value] : [];
@@ -14611,7 +14611,7 @@ function isRecord6(value) {
14611
14611
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
14612
14612
  }
14613
14613
 
14614
- // src/trace/008-contextual-runtime-state.ts
14614
+ // src/trace/contextual-runtime-state.ts
14615
14615
  function dynamicMissingReason(keys) {
14616
14616
  const missing = normalizedKeys(keys);
14617
14617
  return missing.length > 0 ? `Dynamic target is missing runtime variables: ${missing.join(", ")}` : "Dynamic target still requires runtime variables";
@@ -15328,7 +15328,7 @@ function positiveCandidateCap(value) {
15328
15328
  return Number.isFinite(value) && Number(value) > 0 ? Math.floor(Number(value)) : 5;
15329
15329
  }
15330
15330
 
15331
- // src/trace/002-trace-diagnostics.ts
15331
+ // src/trace/trace-diagnostics.ts
15332
15332
  function loadTraceDiagnostics(db, repoId, includeWorkspaceDiagnostics, workspaceId) {
15333
15333
  if (repoId === void 0 && !includeWorkspaceDiagnostics) return [];
15334
15334
  const diagnostics = db.prepare(`SELECT d.repo_id repoId,d.severity,d.code,d.message,
@@ -15398,7 +15398,7 @@ function numericValue4(value) {
15398
15398
  return typeof value === "number" && Number.isFinite(value) ? value : void 0;
15399
15399
  }
15400
15400
 
15401
- // src/trace/013-trace-root-scopes.ts
15401
+ // src/trace/trace-root-scopes.ts
15402
15402
  function createTraceRootPlan(db, scheduler, scope, requestedWorkspaceId, includeAsync) {
15403
15403
  const workspaceId = resolveTraversalWorkspaceId(
15404
15404
  db,
@@ -15581,7 +15581,7 @@ function workspaceAmbiguityDiagnostic(db) {
15581
15581
  };
15582
15582
  }
15583
15583
 
15584
- // src/trace/021-compact-decision-normalization.ts
15584
+ // src/trace/compact-decision-normalization.ts
15585
15585
  var COMPACT_MISSING_NAME_LIMIT = 8;
15586
15586
  var COMPACT_MISSING_NAME_MAX_LENGTH = 160;
15587
15587
  var COMPACT_REFERENCE_VALUE_LIMIT = 5;
@@ -15692,7 +15692,7 @@ function hasControlCharacter(value) {
15692
15692
  return false;
15693
15693
  }
15694
15694
 
15695
- // src/trace/015-trace-edge-recorder.ts
15695
+ // src/trace/trace-edge-recorder.ts
15696
15696
  var nonResolvedGraphStatuses = {
15697
15697
  ambiguous: "ambiguous",
15698
15698
  dynamic: "dynamic",
@@ -15967,7 +15967,7 @@ function decisionWithTiedCandidates(evidence, decision) {
15967
15967
  return tiedCandidateRepos ? { ...decision, tiedCandidateRepos } : decision;
15968
15968
  }
15969
15969
 
15970
- // src/trace/005-implementation-selection.ts
15970
+ // src/trace/implementation-selection.ts
15971
15971
  function hintedImplementationSelection(db, edge, operationId, options) {
15972
15972
  if (!edge || edge.status !== "ambiguous")
15973
15973
  return { blocksAutomatic: false, evidence: { status: "not_applicable" } };
@@ -16081,7 +16081,7 @@ function numberValue8(value) {
16081
16081
  return typeof value === "number" && Number.isFinite(value) ? value : void 0;
16082
16082
  }
16083
16083
 
16084
- // src/trace/007-implementation-start-diagnostic.ts
16084
+ // src/trace/implementation-start-diagnostic.ts
16085
16085
  function implementationStartDiagnostic(edge, evidence) {
16086
16086
  return {
16087
16087
  severity: "warning",
@@ -16121,7 +16121,7 @@ function isRecord8(value) {
16121
16121
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
16122
16122
  }
16123
16123
 
16124
- // src/trace/017-trace-context.ts
16124
+ // src/trace/trace-context.ts
16125
16125
  function parseTraceEvidence(value) {
16126
16126
  try {
16127
16127
  const parsed2 = JSON.parse(String(value || "{}"));
@@ -16413,7 +16413,7 @@ function isRecord9(value) {
16413
16413
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
16414
16414
  }
16415
16415
 
16416
- // src/trace/022-trace-fact-preflight.ts
16416
+ // src/trace/trace-fact-preflight.ts
16417
16417
  function workspaceScopeIsAmbiguous(db) {
16418
16418
  const rows2 = db.prepare(`SELECT DISTINCT workspace_id workspaceId
16419
16419
  FROM repositories ORDER BY workspace_id LIMIT 2`).all();
@@ -16429,7 +16429,7 @@ function shouldDeferTraceStartSelection(db, requestedWorkspaceId, repoId) {
16429
16429
  return currentFactLifecycleDiagnostic(db, workspaceId) !== void 0;
16430
16430
  }
16431
16431
 
16432
- // src/trace/025-trace-implementation-scope.ts
16432
+ // src/trace/trace-implementation-scope.ts
16433
16433
  function normalizeOperation2(value) {
16434
16434
  if (!value) return void 0;
16435
16435
  return value.startsWith("/") ? value.slice(1) : value;
@@ -16500,7 +16500,7 @@ function handlerFileRows(db, repoId, operation, operationName) {
16500
16500
  OR hm.decorator_value=?)`).all(repoId, operation, operation, operationName);
16501
16501
  }
16502
16502
 
16503
- // src/trace/026-trace-start-scope.ts
16503
+ // src/trace/trace-start-scope.ts
16504
16504
  function normalizeOperation3(value) {
16505
16505
  if (!value) return void 0;
16506
16506
  return value.startsWith("/") ? value.slice(1) : value;
@@ -16762,7 +16762,7 @@ function optionalString(value) {
16762
16762
  return typeof value === "string" && value.length > 0 ? value : void 0;
16763
16763
  }
16764
16764
 
16765
- // src/trace/012-trace-graph-lookups.ts
16765
+ // src/trace/trace-graph-lookups.ts
16766
16766
  function graphForCalls(db, callIds) {
16767
16767
  const map = /* @__PURE__ */ new Map();
16768
16768
  if (callIds.length === 0) return map;
@@ -16813,7 +16813,7 @@ function operationNode(db, operationId) {
16813
16813
  };
16814
16814
  }
16815
16815
 
16816
- // src/trace/019-trace-edge-semantics.ts
16816
+ // src/trace/trace-edge-semantics.ts
16817
16817
  function recordImplementationObservation(recorder, edge, input) {
16818
16818
  const target = semanticHandler(
16819
16819
  input.handlerMethodId,
@@ -17046,7 +17046,7 @@ function decisionTarget(endpoint) {
17046
17046
  return void 0;
17047
17047
  }
17048
17048
 
17049
- // src/trace/023-nested-event-scopes.ts
17049
+ // src/trace/nested-event-scopes.ts
17050
17050
  function outboundScopeSymbolIds(db, symbolIds, includeAsync) {
17051
17051
  if (!includeAsync || !symbolIds || symbolIds.size === 0) return symbolIds;
17052
17052
  const ids = [...symbolIds];
@@ -17064,7 +17064,7 @@ function outboundScopeSymbolIds(db, symbolIds, includeAsync) {
17064
17064
  ]);
17065
17065
  }
17066
17066
 
17067
- // src/trace/009-selected-handler-provenance.ts
17067
+ // src/trace/selected-handler-provenance.ts
17068
17068
  function handlerMethodNode(db, methodId) {
17069
17069
  const row = db.prepare(`SELECT hm.id methodId,hm.method_name methodName,
17070
17070
  hm.source_line sourceLine,hc.class_name className,hc.source_file sourceFile,
@@ -17195,7 +17195,7 @@ function numberValue9(value) {
17195
17195
  return typeof value === "number" && Number.isFinite(value) ? value : void 0;
17196
17196
  }
17197
17197
 
17198
- // src/trace/028-trace-operation-execution.ts
17198
+ // src/trace/trace-operation-execution.ts
17199
17199
  function processOperationTarget(runtime, current, call, effective) {
17200
17200
  const selection = selectOperation(runtime, current, effective);
17201
17201
  if (current.depth >= runtime.maxDepth) return;
@@ -17416,7 +17416,7 @@ function recordOperationCycle(runtime, current, call, effective, state, repoId,
17416
17416
  }, call);
17417
17417
  }
17418
17418
 
17419
- // src/trace/011-event-subscriber-traversal.ts
17419
+ // src/trace/event-subscriber-traversal.ts
17420
17420
  function planEventSubscriberTransitions(db, query, scheduler, parent, depth, maxDepth) {
17421
17421
  return loadEventSubscriberTransitions(db, query).map((transition) => {
17422
17422
  const handler = transition.handler;
@@ -17714,7 +17714,7 @@ function isRecord10(value) {
17714
17714
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
17715
17715
  }
17716
17716
 
17717
- // src/trace/030-event-runtime-resolution.ts
17717
+ // src/trace/event-runtime-resolution.ts
17718
17718
  function record17(value) {
17719
17719
  return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
17720
17720
  }
@@ -17813,7 +17813,7 @@ function runtimeEventResolution(row, evidence, variables) {
17813
17813
  };
17814
17814
  }
17815
17815
 
17816
- // src/trace/031-local-call-expansion.ts
17816
+ // src/trace/local-call-expansion.ts
17817
17817
  function planLocalCallExpansion(db, scheduler, workspaceId, parent, row, bindings, symbolId) {
17818
17818
  const symbols = /* @__PURE__ */ new Set([symbolId]);
17819
17819
  const files = /* @__PURE__ */ new Set([String(row.calleeFile)]);
@@ -17829,7 +17829,7 @@ function planLocalCallExpansion(db, scheduler, workspaceId, parent, row, binding
17829
17829
  return { repoId, files, symbols, context, scheduling };
17830
17830
  }
17831
17831
 
17832
- // src/trace/027-trace-scope-execution.ts
17832
+ // src/trace/trace-scope-execution.ts
17833
17833
  function traceEdgeType(call, row) {
17834
17834
  if (row.to_kind === "operation" && row.edge_type === "REMOTE_CALL_RESOLVES_TO_OPERATION")
17835
17835
  return "remote_action";
@@ -18222,7 +18222,7 @@ function recordDynamicBranches(runtime, current, call, effective) {
18222
18222
  }
18223
18223
  }
18224
18224
 
18225
- // src/trace/029-trace-start-implementation.ts
18225
+ // src/trace/trace-start-implementation.ts
18226
18226
  function selectedStartImplementation(runtime, operationId) {
18227
18227
  const operation = operationNode(runtime.db, operationId);
18228
18228
  if (operation) runtime.nodes.set(String(operation.id), operation);
@@ -18452,7 +18452,7 @@ function traceWithObserver(db, start, options, observer) {
18452
18452
  return trace(db, start, observed);
18453
18453
  }
18454
18454
 
18455
- // src/trace/014-compact-contract.ts
18455
+ // src/trace/compact-contract.ts
18456
18456
  var CompactObservationCollector = class {
18457
18457
  observations = [];
18458
18458
  workspaceId;
@@ -18464,7 +18464,7 @@ var CompactObservationCollector = class {
18464
18464
  }
18465
18465
  };
18466
18466
 
18467
- // src/trace/020-compact-field-projection.ts
18467
+ // src/trace/compact-field-projection.ts
18468
18468
  var compactDiagnosticMessages = {
18469
18469
  schema_upgrade_required: "The database schema must be upgraded before tracing.",
18470
18470
  reindex_required: "Current analyzer facts are required before tracing.",
@@ -18805,7 +18805,7 @@ function compactSortedUnique(values) {
18805
18805
  return [...new Set(values)].sort(compareBinary);
18806
18806
  }
18807
18807
 
18808
- // src/trace/024-compact-observation-decision.ts
18808
+ // src/trace/compact-observation-decision.ts
18809
18809
  function resolvedNode(value, resolve) {
18810
18810
  return value ? resolve(value) : void 0;
18811
18811
  }
@@ -18847,7 +18847,7 @@ function projectObservationDecision(input, target, resolve) {
18847
18847
  return decision;
18848
18848
  }
18849
18849
 
18850
- // src/trace/016-compact-projector.ts
18850
+ // src/trace/compact-projector.ts
18851
18851
  var REFERENCE_LIMIT = 5;
18852
18852
  function projectCompactGraph(input) {
18853
18853
  validateObservationOrdinals(input.observations, input.trace.edges.length);
@@ -19476,7 +19476,7 @@ function compactError(code) {
19476
19476
  return new Error(`compact_graph_invariant:${code}`);
19477
19477
  }
19478
19478
 
19479
- // src/trace/018-compact-trace.ts
19479
+ // src/trace/compact-trace.ts
19480
19480
  function compactTrace(db, start, options) {
19481
19481
  return traceAndCompact(db, start, options).compact;
19482
19482
  }
@@ -19593,4 +19593,4 @@ export {
19593
19593
  compactTrace,
19594
19594
  traceAndCompact
19595
19595
  };
19596
- //# sourceMappingURL=chunk-3N3B5KHV.js.map
19596
+ //# sourceMappingURL=chunk-GSLFY6J2.js.map