@saptools/service-flow 0.1.10 → 0.1.11
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.
- package/CHANGELOG.md +10 -0
- package/README.md +8 -2
- package/dist/{chunk-LQT67AU5.js → chunk-GG4XJGES.js} +179 -87
- package/dist/chunk-GG4XJGES.js.map +1 -0
- package/dist/cli.js +176 -45
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-LQT67AU5.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.11
|
|
4
|
+
|
|
5
|
+
- Added repository-owned executable symbols, source-symbol ownership for outbound calls, and local symbol-call facts so traces can follow reachable same-file/imported helpers without including unrelated calls from the same file.
|
|
6
|
+
- Replaced local CAP service call extraction with AST alias tracking for `cds.services` lookups, ignored entity accessors, and linked local calls to exact local operations with explicit local transport evidence.
|
|
7
|
+
- Scoped service/path trace starts by repository, reports ambiguous starts instead of choosing the first row, and queues resolved implementation handlers by their handler repository and symbol identity.
|
|
8
|
+
- Deduplicated operation implementation candidates by logical identity while preserving distinct registration evidence in nested arrays.
|
|
9
|
+
- Link output now reports implementation-unresolved counts, table evidence falls back to nested implementation source locations, and depth `step` values remain within the requested scope depth.
|
|
10
|
+
- Generated-constant claims were removed from runtime documentation until persistence and resolution are fully integrated.
|
|
11
|
+
- Doctor now reports aggregate analyzer-quality diagnostics for systematic local-service, source-symbol, and trace-scope problems.
|
|
12
|
+
|
|
3
13
|
## 0.1.10
|
|
4
14
|
|
|
5
15
|
- Persist unresolved `OPERATION_IMPLEMENTED_BY_HANDLER` audit edges when implementation candidates exist but all are rejected, including ranked candidate evidence and rejected reasons.
|
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ Index independent Git repositories, persist CAP/CDS facts in SQLite, resolve cro
|
|
|
21
21
|
## ✨ Features
|
|
22
22
|
|
|
23
23
|
- 🧭 **Cross-repository CAP tracing** — starts from a repo, service, operation path, operation name, or handler and follows the indexed flow across workspace boundaries
|
|
24
|
-
- 🧩 **Static CAP/CDS indexing** — extracts services, actions, functions, events, handler classes, decorator metadata, handler registrations,
|
|
24
|
+
- 🧩 **Static CAP/CDS indexing** — extracts services, actions, functions, events, handler classes, decorator metadata, handler registrations, executable symbols, local helper calls, and package-level `cds.requires`
|
|
25
25
|
- 🔗 **Service-to-service linking** — resolves `cds.connect.to(...)`, `remote.send(...)`, `cds.services.*` style calls, helper package imports, dynamic candidates, and unresolved evidence into graph edges
|
|
26
26
|
- 🗄️ **SQLite-backed workspace cache** — stores deterministic facts under `.service-flow/service-flow.db` so large workspaces can be queried repeatedly without reparsing everything
|
|
27
27
|
- 🧠 **Dynamic edge support** — preserves parameterized destinations and service paths such as `svc_${objectCode}_process`, then lets trace and graph commands apply runtime `--var key=value` values that can turn dynamic candidates into effective traversable operation edges
|
|
@@ -147,6 +147,12 @@ service-flow link --workspace /path/to/workspace --force
|
|
|
147
147
|
Trace one starting point and render table, JSON, or Mermaid output. Trace now
|
|
148
148
|
walks linked `graph_edges`, so a resolved remote operation is followed into the
|
|
149
149
|
target handler up to `--depth` instead of showing only calls in the first file.
|
|
150
|
+
|
|
151
|
+
### Symbol-scoped helper traversal
|
|
152
|
+
|
|
153
|
+
`service-flow trace` starts from the selected handler method symbol, renders outbound calls owned by that symbol, and follows conservative local helper-call facts. Supported helper edges include same-file functions, `this.method()` calls, and exactly mapped relative imports/exports that resolve to an indexed executable symbol. Calls from unrelated functions in the same source file are not included merely because the file path matches.
|
|
154
|
+
|
|
155
|
+
Local CAP calls through `cds.services.<Service>.<operation>()`, bracket service lookups, and simple aliases are indexed as local operation calls. Entity accessors such as `cds.services.db.entities(...)` are treated as entity metadata access, not operation calls.
|
|
150
156
|
JSON output includes typed nodes for calls, operations, database entities,
|
|
151
157
|
external destinations, and unresolved/dynamic candidates when edges exist.
|
|
152
158
|
|
|
@@ -166,7 +172,7 @@ service-flow trace --workspace /path/to/workspace --repo facade-service --operat
|
|
|
166
172
|
| `--service <path>` | Start from a CAP service path such as `/FacadeService` |
|
|
167
173
|
| `--path <operationPath>` | Start from an operation path such as `/doWork` |
|
|
168
174
|
| `--handler <name>` | Start from a handler class or handler-like selector |
|
|
169
|
-
| `--depth <n>` | Maximum
|
|
175
|
+
| `--depth <n>` | Maximum executable/service scope depth; defaults to `25`. Implementation hops are rendered at the current scope depth, while downstream handler bodies consume the next depth. The `step` field never exceeds the requested depth. |
|
|
170
176
|
| `--format <format>` | `table`, `json`, or `mermaid`; defaults to `table` |
|
|
171
177
|
| `--include-external` | Include external HTTP/destination edges in traversal output |
|
|
172
178
|
| `--include-db` | Include local DB query edges in traversal output |
|