@ttsc/graph 0.30.3 → 0.31.0
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/README.md +122 -30
- package/lib/CapturedProcessOutput.d.ts +47 -0
- package/lib/CapturedProcessOutput.js +3 -0
- package/lib/CapturedProcessOutput.js.map +1 -0
- package/lib/ILauncherOption.d.ts +22 -0
- package/lib/ILauncherOption.js +3 -0
- package/lib/ILauncherOption.js.map +1 -0
- package/lib/IProjectOptions.d.ts +18 -0
- package/lib/IProjectOptions.js +3 -0
- package/lib/IProjectOptions.js.map +1 -0
- package/lib/ParsedLauncherOptions.d.ts +13 -0
- package/lib/ParsedLauncherOptions.js +3 -0
- package/lib/ParsedLauncherOptions.js.map +1 -0
- package/lib/TtscGraphApplication.d.ts +38 -1
- package/lib/TtscGraphApplication.js +26 -1
- package/lib/TtscGraphApplication.js.map +1 -1
- package/lib/TtscGraphLauncherArguments.d.ts +115 -0
- package/lib/TtscGraphLauncherArguments.js +181 -0
- package/lib/TtscGraphLauncherArguments.js.map +1 -0
- package/lib/TtscGraphViewSnapshot.d.ts +35 -0
- package/lib/TtscGraphViewSnapshot.js +48 -0
- package/lib/TtscGraphViewSnapshot.js.map +1 -0
- package/lib/index.d.ts +9 -24
- package/lib/index.js +6 -128
- package/lib/index.js.map +1 -1
- package/lib/internal/GraphProcessTrace.d.ts +1 -0
- package/lib/internal/GraphProcessTrace.js +235 -0
- package/lib/internal/GraphProcessTrace.js.map +1 -0
- package/lib/launcherArgs.d.ts +75 -16
- package/lib/launcherArgs.js +77 -8
- package/lib/launcherArgs.js.map +1 -1
- package/lib/model/IArtifactDirectory.d.ts +26 -0
- package/lib/model/IArtifactDirectory.js +3 -0
- package/lib/model/IArtifactDirectory.js.map +1 -0
- package/lib/model/IArtifactInputs.d.ts +19 -0
- package/lib/model/IArtifactInputs.js +3 -0
- package/lib/model/IArtifactInputs.js.map +1 -0
- package/lib/model/IPublishedArtifacts.d.ts +76 -0
- package/lib/model/IPublishedArtifacts.js +3 -0
- package/lib/model/IPublishedArtifacts.js.map +1 -0
- package/lib/model/IPublishedArtifactsResident.d.ts +19 -0
- package/lib/model/IPublishedArtifactsResident.js +3 -0
- package/lib/model/IPublishedArtifactsResident.js.map +1 -0
- package/lib/model/ITtscLintDaemonTarget.d.ts +20 -0
- package/lib/model/ITtscLintDaemonTarget.js +3 -0
- package/lib/model/ITtscLintDaemonTarget.js.map +1 -0
- package/lib/model/TtscGraphLinePeer.d.ts +146 -0
- package/lib/model/TtscGraphLinePeer.js +213 -0
- package/lib/model/TtscGraphLinePeer.js.map +1 -0
- package/lib/model/TtscGraphMemory.d.ts +156 -16
- package/lib/model/TtscGraphMemory.js +228 -222
- package/lib/model/TtscGraphMemory.js.map +1 -1
- package/lib/model/TtscGraphNativeArguments.d.ts +40 -0
- package/lib/model/TtscGraphNativeArguments.js +64 -0
- package/lib/model/TtscGraphNativeArguments.js.map +1 -0
- package/lib/model/TtscGraphNodeId.d.ts +55 -3
- package/lib/model/TtscGraphNodeId.js +40 -2
- package/lib/model/TtscGraphNodeId.js.map +1 -1
- package/lib/model/TtscGraphProjection.d.ts +156 -0
- package/lib/model/TtscGraphProjection.js +390 -0
- package/lib/model/TtscGraphProjection.js.map +1 -0
- package/lib/model/TtscGraphProtocol.d.ts +28 -0
- package/lib/model/TtscGraphProtocol.js +928 -0
- package/lib/model/TtscGraphProtocol.js.map +1 -0
- package/lib/model/TtscGraphReadonly.d.ts +15 -0
- package/lib/model/TtscGraphReadonly.js +3 -0
- package/lib/model/TtscGraphReadonly.js.map +1 -0
- package/lib/model/TtscGraphRequestOptions.d.ts +16 -0
- package/lib/model/TtscGraphRequestOptions.js +3 -0
- package/lib/model/TtscGraphRequestOptions.js.map +1 -0
- package/lib/model/TtscGraphSession.d.ts +82 -36
- package/lib/model/TtscGraphSession.js +164 -1238
- package/lib/model/TtscGraphSession.js.map +1 -1
- package/lib/model/TtscGraphSessionOptions.d.ts +20 -0
- package/lib/model/TtscGraphSessionOptions.js +3 -0
- package/lib/model/TtscGraphSessionOptions.js.map +1 -0
- package/lib/model/TtscGraphSessionState.d.ts +187 -0
- package/lib/model/TtscGraphSessionState.js +417 -0
- package/lib/model/TtscGraphSessionState.js.map +1 -0
- package/lib/model/TtscGraphShardStore.d.ts +64 -3
- package/lib/model/TtscGraphShardStore.js +85 -15
- package/lib/model/TtscGraphShardStore.js.map +1 -1
- package/lib/model/TtscGraphSourceReader.d.ts +31 -8
- package/lib/model/TtscGraphSourceReader.js +37 -13
- package/lib/model/TtscGraphSourceReader.js.map +1 -1
- package/lib/model/TtscLintDaemon.d.ts +35 -17
- package/lib/model/TtscLintDaemon.js +39 -117
- package/lib/model/TtscLintDaemon.js.map +1 -1
- package/lib/model/TtscLintDaemonState.d.ts +69 -0
- package/lib/model/TtscLintDaemonState.js +166 -0
- package/lib/model/TtscLintDaemonState.js.map +1 -0
- package/lib/model/copyGraphRecords.d.ts +14 -0
- package/lib/model/copyGraphRecords.js +19 -0
- package/lib/model/copyGraphRecords.js.map +1 -0
- package/lib/model/copyGraphSnapshot.d.ts +17 -0
- package/lib/model/copyGraphSnapshot.js +33 -0
- package/lib/model/copyGraphSnapshot.js.map +1 -0
- package/lib/model/loadGraph.d.ts +19 -10
- package/lib/model/loadGraph.js +21 -12
- package/lib/model/loadGraph.js.map +1 -1
- package/lib/model/publishedArtifacts.d.ts +78 -97
- package/lib/model/publishedArtifacts.js +271 -85
- package/lib/model/publishedArtifacts.js.map +1 -1
- package/lib/nativeExecutable.d.ts +19 -8
- package/lib/nativeExecutable.js +75 -15
- package/lib/nativeExecutable.js.map +1 -1
- package/lib/reduce.d.ts +19 -45
- package/lib/reduce.js +19 -3
- package/lib/reduce.js.map +1 -1
- package/lib/resolveGraphBinary.d.ts +9 -0
- package/lib/resolveGraphBinary.js +11 -3
- package/lib/resolveGraphBinary.js.map +1 -1
- package/lib/runGraph.d.ts +21 -0
- package/lib/runGraph.js +83 -0
- package/lib/runGraph.js.map +1 -0
- package/lib/server/IResolvedGraphHandle.d.ts +22 -0
- package/lib/server/IResolvedGraphHandle.js +3 -0
- package/lib/server/IResolvedGraphHandle.js.map +1 -0
- package/lib/server/createServer.d.ts +14 -10
- package/lib/server/createServer.js +42 -39
- package/lib/server/createServer.js.map +1 -1
- package/lib/server/exportSurface.d.ts +23 -1
- package/lib/server/exportSurface.js +23 -1
- package/lib/server/exportSurface.js.map +1 -1
- package/lib/server/formatGraphFailure.d.ts +20 -0
- package/lib/server/formatGraphFailure.js +35 -0
- package/lib/server/formatGraphFailure.js.map +1 -0
- package/lib/server/pathPolicy.d.ts +70 -5
- package/lib/server/pathPolicy.js +66 -4
- package/lib/server/pathPolicy.js.map +1 -1
- package/lib/server/resolveHandle.d.ts +10 -5
- package/lib/server/resolveHandle.js +39 -7
- package/lib/server/resolveHandle.js.map +1 -1
- package/lib/server/resultAudit.d.ts +17 -14
- package/lib/server/resultAudit.js +56 -27
- package/lib/server/resultAudit.js.map +1 -1
- package/lib/server/resultNext.d.ts +26 -1
- package/lib/server/resultNext.js +14 -0
- package/lib/server/resultNext.js.map +1 -1
- package/lib/server/runDetails.d.ts +72 -15
- package/lib/server/runDetails.js +104 -69
- package/lib/server/runDetails.js.map +1 -1
- package/lib/server/runEntrypoints.d.ts +9 -0
- package/lib/server/runEntrypoints.js +9 -0
- package/lib/server/runEntrypoints.js.map +1 -1
- package/lib/server/runLookup.d.ts +13 -3
- package/lib/server/runLookup.js +19 -6
- package/lib/server/runLookup.js.map +1 -1
- package/lib/server/runOverview.d.ts +13 -4
- package/lib/server/runOverview.js +13 -4
- package/lib/server/runOverview.js.map +1 -1
- package/lib/server/runTour.d.ts +9 -0
- package/lib/server/runTour.js +33 -65
- package/lib/server/runTour.js.map +1 -1
- package/lib/server/runTrace.d.ts +25 -1
- package/lib/server/runTrace.js +133 -88
- package/lib/server/runTrace.js.map +1 -1
- package/lib/server/startServer.d.ts +16 -0
- package/lib/server/startServer.js +24 -1
- package/lib/server/startServer.js.map +1 -1
- package/lib/structures/ITtscGraphApplication.d.ts +95 -41
- package/lib/structures/ITtscGraphDecorator.d.ts +18 -0
- package/lib/structures/ITtscGraphDetails.d.ts +81 -6
- package/lib/structures/ITtscGraphDocTag.d.ts +17 -8
- package/lib/structures/ITtscGraphDump.d.ts +106 -8
- package/lib/structures/ITtscGraphEdge.d.ts +14 -2
- package/lib/structures/ITtscGraphEntrypoints.d.ts +81 -6
- package/lib/structures/ITtscGraphEscape.d.ts +24 -2
- package/lib/structures/ITtscGraphEvidence.d.ts +9 -0
- package/lib/structures/ITtscGraphLookup.d.ts +42 -9
- package/lib/structures/ITtscGraphNext.d.ts +12 -1
- package/lib/structures/ITtscGraphNode.d.ts +38 -11
- package/lib/structures/ITtscGraphOverview.d.ts +81 -6
- package/lib/structures/ITtscGraphSnapshot.d.ts +97 -2
- package/lib/structures/ITtscGraphSpan.d.ts +9 -0
- package/lib/structures/ITtscGraphTour.d.ts +83 -9
- package/lib/structures/ITtscGraphTrace.d.ts +99 -14
- package/lib/structures/RawDump.d.ts +22 -0
- package/lib/structures/RawDump.js +3 -0
- package/lib/structures/RawDump.js.map +1 -0
- package/lib/structures/RawEdge.d.ts +20 -0
- package/lib/structures/RawEdge.js +3 -0
- package/lib/structures/RawEdge.js.map +1 -0
- package/lib/structures/RawNode.d.ts +26 -0
- package/lib/structures/RawNode.js +3 -0
- package/lib/structures/RawNode.js.map +1 -0
- package/lib/structures/TtscGraphArtifactNodeKind.d.ts +9 -0
- package/lib/structures/TtscGraphArtifactNodeKind.js +9 -0
- package/lib/structures/TtscGraphArtifactNodeKind.js.map +1 -1
- package/lib/structures/TtscGraphDumpEdgeKind.d.ts +15 -1
- package/lib/structures/TtscGraphDumpNodeKind.d.ts +9 -0
- package/lib/structures/TtscGraphEdgeKind.d.ts +13 -4
- package/lib/structures/TtscGraphNodeKind.d.ts +9 -0
- package/lib/structures/TtscGraphNodeModifier.d.ts +9 -0
- package/lib/structures/ViewerLink.d.ts +20 -0
- package/lib/structures/ViewerLink.js +3 -0
- package/lib/structures/ViewerLink.js.map +1 -0
- package/lib/structures/ViewerNode.d.ts +24 -0
- package/lib/structures/ViewerNode.js +3 -0
- package/lib/structures/ViewerNode.js.map +1 -0
- package/lib/structures/ViewerPayload.d.ts +42 -0
- package/lib/structures/ViewerPayload.js +3 -0
- package/lib/structures/ViewerPayload.js.map +1 -0
- package/lib/view.d.ts +9 -0
- package/lib/view.js +203 -91
- package/lib/view.js.map +1 -1
- package/lib/viewer/viewer.js +1 -1
- package/package.json +8 -6
- package/src/CapturedProcessOutput.ts +50 -0
- package/src/ILauncherOption.ts +24 -0
- package/src/IProjectOptions.ts +19 -0
- package/src/ParsedLauncherOptions.ts +13 -0
- package/src/TtscGraphApplication.ts +38 -1
- package/src/TtscGraphLauncherArguments.ts +207 -0
- package/src/TtscGraphViewSnapshot.ts +46 -0
- package/src/index.ts +9 -160
- package/src/internal/GraphProcessTrace.ts +242 -0
- package/src/launcherArgs.ts +89 -23
- package/src/model/IArtifactDirectory.ts +27 -0
- package/src/model/IArtifactInputs.ts +21 -0
- package/src/model/IPublishedArtifacts.ts +81 -0
- package/src/model/IPublishedArtifactsResident.ts +24 -0
- package/src/model/ITtscLintDaemonTarget.ts +22 -0
- package/src/model/TtscGraphLinePeer.ts +318 -0
- package/src/model/TtscGraphMemory.ts +284 -246
- package/src/model/TtscGraphNativeArguments.ts +67 -0
- package/src/model/TtscGraphNodeId.ts +57 -3
- package/src/model/TtscGraphProjection.ts +473 -0
- package/src/model/TtscGraphProtocol.ts +90 -0
- package/src/model/TtscGraphReadonly.ts +17 -0
- package/src/model/TtscGraphRequestOptions.ts +16 -0
- package/src/model/TtscGraphSession.ts +196 -475
- package/src/model/TtscGraphSessionOptions.ts +22 -0
- package/src/model/TtscGraphSessionState.ts +558 -0
- package/src/model/TtscGraphShardStore.ts +99 -23
- package/src/model/TtscGraphSourceReader.ts +37 -15
- package/src/model/TtscLintDaemon.ts +55 -136
- package/src/model/TtscLintDaemonState.ts +174 -0
- package/src/model/copyGraphRecords.ts +17 -0
- package/src/model/copyGraphSnapshot.ts +30 -0
- package/src/model/loadGraph.ts +23 -12
- package/src/model/publishedArtifacts.ts +361 -182
- package/src/nativeExecutable.ts +93 -26
- package/src/reduce.ts +24 -51
- package/src/resolveGraphBinary.ts +13 -3
- package/src/runGraph.ts +90 -0
- package/src/server/IResolvedGraphHandle.ts +24 -0
- package/src/server/createServer.ts +16 -22
- package/src/server/exportSurface.ts +23 -1
- package/src/server/formatGraphFailure.ts +32 -0
- package/src/server/pathPolicy.ts +70 -5
- package/src/server/resolveHandle.ts +45 -14
- package/src/server/resultAudit.ts +58 -27
- package/src/server/resultNext.ts +26 -1
- package/src/server/runDetails.ts +138 -73
- package/src/server/runEntrypoints.ts +13 -1
- package/src/server/runLookup.ts +23 -7
- package/src/server/runOverview.ts +17 -5
- package/src/server/runTour.ts +44 -82
- package/src/server/runTrace.ts +175 -102
- package/src/server/startServer.ts +29 -1
- package/src/structures/ITtscGraphApplication.ts +95 -41
- package/src/structures/ITtscGraphDecorator.ts +18 -0
- package/src/structures/ITtscGraphDetails.ts +81 -6
- package/src/structures/ITtscGraphDocTag.ts +17 -8
- package/src/structures/ITtscGraphDump.ts +106 -8
- package/src/structures/ITtscGraphEdge.ts +14 -2
- package/src/structures/ITtscGraphEntrypoints.ts +81 -6
- package/src/structures/ITtscGraphEscape.ts +24 -2
- package/src/structures/ITtscGraphEvidence.ts +9 -0
- package/src/structures/ITtscGraphLookup.ts +42 -9
- package/src/structures/ITtscGraphNext.ts +12 -1
- package/src/structures/ITtscGraphNode.ts +38 -11
- package/src/structures/ITtscGraphOverview.ts +88 -6
- package/src/structures/ITtscGraphSnapshot.ts +117 -2
- package/src/structures/ITtscGraphSpan.ts +9 -0
- package/src/structures/ITtscGraphTour.ts +83 -9
- package/src/structures/ITtscGraphTrace.ts +100 -14
- package/src/structures/RawDump.ts +25 -0
- package/src/structures/RawEdge.ts +22 -0
- package/src/structures/RawNode.ts +31 -0
- package/src/structures/TtscGraphArtifactNodeKind.ts +9 -0
- package/src/structures/TtscGraphDumpEdgeKind.ts +15 -1
- package/src/structures/TtscGraphDumpNodeKind.ts +9 -0
- package/src/structures/TtscGraphEdgeKind.ts +13 -4
- package/src/structures/TtscGraphNodeKind.ts +9 -0
- package/src/structures/TtscGraphNodeModifier.ts +9 -0
- package/src/structures/ViewerLink.ts +22 -0
- package/src/structures/ViewerNode.ts +28 -0
- package/src/structures/ViewerPayload.ts +52 -0
- package/src/view.ts +208 -110
- package/src/viewer/legend.ts +119 -27
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native argument vectors for graph and lint resident processes.
|
|
3
|
+
*
|
|
4
|
+
* @evidence contracts/common.md#principled-implementation Separate argv elements preserve project and artifact coordinates exactly, while lint's existing equals-form flags carry its manifest and context.
|
|
5
|
+
* @evidence contracts/common.md#clear-and-simple-design Two builders centralize the actual resident launch contracts used by their respective facades.
|
|
6
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Supported native flags are retained without new CLI options, shell strings or fixture-specific arguments.
|
|
7
|
+
* @evidence contracts/common.md#meaningful-documentation Each builder states its protocol and the absence meaning of optional artifact/context coordinates.
|
|
8
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation The namespace groups argv builders; serve and lint own their native coordinate representation.
|
|
9
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns plain arrays and holds no handle.
|
|
10
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms groups two builders that each return a fixed-shape array.
|
|
11
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work its builders recompute a small array per spawn, so nothing is shared.
|
|
12
|
+
*/
|
|
13
|
+
export declare namespace TtscGraphNativeArguments {
|
|
14
|
+
/**
|
|
15
|
+
* Graph serve argv; a null artifact answer adds no startup overlay flag.
|
|
16
|
+
*
|
|
17
|
+
* @evidence contracts/common.md#principled-implementation Separate argv fields preserve graph cwd/config and the optional artifact path without shell parsing.
|
|
18
|
+
* @evidence contracts/common.md#clear-and-simple-design This builder is the actual facade's single launch-vector owner for serve.
|
|
19
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Existing supported flags are mapped directly; there is no shell command or fixture branch.
|
|
20
|
+
* @evidence contracts/common.md#meaningful-documentation The native headline states the protocol and the optional coordinate's absence meaning.
|
|
21
|
+
* @evidence contracts/portability.md#os-neutral-implementation Node spawn consumes the returned argv vector with native coordinate strings intact; no slash rewriting or shell quoting interprets paths, manifests or contexts.
|
|
22
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns a fresh value and keeps no handle or state.
|
|
23
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms concatenates a fixed argv with at most one optional pair, in constant work.
|
|
24
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work builds one argv per spawn.
|
|
25
|
+
*/
|
|
26
|
+
function serve(cwd: string, tsconfig: string, artifacts: string | null): string[];
|
|
27
|
+
/**
|
|
28
|
+
* Lint daemon argv; absent context retains the context-free rule contract.
|
|
29
|
+
*
|
|
30
|
+
* @evidence contracts/common.md#principled-implementation Equals-form argv fields retain the sidecar manifest and optional context as one native argument each.
|
|
31
|
+
* @evidence contracts/common.md#clear-and-simple-design This builder is the actual facade's single launch-vector owner for lint.
|
|
32
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Existing supported flags are mapped directly; there is no shell command or fixture branch.
|
|
33
|
+
* @evidence contracts/common.md#meaningful-documentation The native headline states the protocol and the optional coordinate's absence meaning.
|
|
34
|
+
* @evidence contracts/portability.md#os-neutral-implementation Node spawn consumes the returned argv vector with native coordinate strings intact; no slash rewriting or shell quoting interprets paths, manifests or contexts.
|
|
35
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns a fresh value and keeps no handle or state.
|
|
36
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms concatenates a fixed argv with at most one optional entry, in constant work.
|
|
37
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work builds one argv per spawn.
|
|
38
|
+
*/
|
|
39
|
+
function lint(cwd: string, tsconfig: string, manifest: string, context?: string): string[];
|
|
40
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TtscGraphNativeArguments = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Native argument vectors for graph and lint resident processes.
|
|
6
|
+
*
|
|
7
|
+
* @evidence contracts/common.md#principled-implementation Separate argv elements preserve project and artifact coordinates exactly, while lint's existing equals-form flags carry its manifest and context.
|
|
8
|
+
* @evidence contracts/common.md#clear-and-simple-design Two builders centralize the actual resident launch contracts used by their respective facades.
|
|
9
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Supported native flags are retained without new CLI options, shell strings or fixture-specific arguments.
|
|
10
|
+
* @evidence contracts/common.md#meaningful-documentation Each builder states its protocol and the absence meaning of optional artifact/context coordinates.
|
|
11
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation The namespace groups argv builders; serve and lint own their native coordinate representation.
|
|
12
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns plain arrays and holds no handle.
|
|
13
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms groups two builders that each return a fixed-shape array.
|
|
14
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work its builders recompute a small array per spawn, so nothing is shared.
|
|
15
|
+
*/
|
|
16
|
+
var TtscGraphNativeArguments;
|
|
17
|
+
(function (TtscGraphNativeArguments) {
|
|
18
|
+
/**
|
|
19
|
+
* Graph serve argv; a null artifact answer adds no startup overlay flag.
|
|
20
|
+
*
|
|
21
|
+
* @evidence contracts/common.md#principled-implementation Separate argv fields preserve graph cwd/config and the optional artifact path without shell parsing.
|
|
22
|
+
* @evidence contracts/common.md#clear-and-simple-design This builder is the actual facade's single launch-vector owner for serve.
|
|
23
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Existing supported flags are mapped directly; there is no shell command or fixture branch.
|
|
24
|
+
* @evidence contracts/common.md#meaningful-documentation The native headline states the protocol and the optional coordinate's absence meaning.
|
|
25
|
+
* @evidence contracts/portability.md#os-neutral-implementation Node spawn consumes the returned argv vector with native coordinate strings intact; no slash rewriting or shell quoting interprets paths, manifests or contexts.
|
|
26
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns a fresh value and keeps no handle or state.
|
|
27
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms concatenates a fixed argv with at most one optional pair, in constant work.
|
|
28
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work builds one argv per spawn.
|
|
29
|
+
*/
|
|
30
|
+
function serve(cwd, tsconfig, artifacts) {
|
|
31
|
+
return [
|
|
32
|
+
"serve",
|
|
33
|
+
"--cwd",
|
|
34
|
+
cwd,
|
|
35
|
+
"--tsconfig",
|
|
36
|
+
tsconfig,
|
|
37
|
+
...(artifacts === null ? [] : ["--artifacts", artifacts]),
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
TtscGraphNativeArguments.serve = serve;
|
|
41
|
+
/**
|
|
42
|
+
* Lint daemon argv; absent context retains the context-free rule contract.
|
|
43
|
+
*
|
|
44
|
+
* @evidence contracts/common.md#principled-implementation Equals-form argv fields retain the sidecar manifest and optional context as one native argument each.
|
|
45
|
+
* @evidence contracts/common.md#clear-and-simple-design This builder is the actual facade's single launch-vector owner for lint.
|
|
46
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Existing supported flags are mapped directly; there is no shell command or fixture branch.
|
|
47
|
+
* @evidence contracts/common.md#meaningful-documentation The native headline states the protocol and the optional coordinate's absence meaning.
|
|
48
|
+
* @evidence contracts/portability.md#os-neutral-implementation Node spawn consumes the returned argv vector with native coordinate strings intact; no slash rewriting or shell quoting interprets paths, manifests or contexts.
|
|
49
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns a fresh value and keeps no handle or state.
|
|
50
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms concatenates a fixed argv with at most one optional entry, in constant work.
|
|
51
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work builds one argv per spawn.
|
|
52
|
+
*/
|
|
53
|
+
function lint(cwd, tsconfig, manifest, context) {
|
|
54
|
+
return [
|
|
55
|
+
"lsp-serve",
|
|
56
|
+
`--cwd=${cwd}`,
|
|
57
|
+
`--tsconfig=${tsconfig}`,
|
|
58
|
+
`--plugins-json=${manifest}`,
|
|
59
|
+
...(context === undefined ? [] : [`--project-context-json=${context}`]),
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
TtscGraphNativeArguments.lint = lint;
|
|
63
|
+
})(TtscGraphNativeArguments || (exports.TtscGraphNativeArguments = TtscGraphNativeArguments = {}));
|
|
64
|
+
//# sourceMappingURL=TtscGraphNativeArguments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TtscGraphNativeArguments.js","sourceRoot":"","sources":["../../src/model/TtscGraphNativeArguments.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,IAAiB,wBAAwB,CAsDxC;AAtDD,WAAiB,wBAAwB;IACvC;;;;;;;;;;;OAWG;IACH,SAAgB,KAAK,CACnB,GAAW,EACX,QAAgB,EAChB,SAAwB;QAExB,OAAO;YACL,OAAO;YACP,OAAO;YACP,GAAG;YACH,YAAY;YACZ,QAAQ;YACR,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;SAC1D,CAAC;IACJ,CAAC;IAbe,yBAAA,KAAK,QAapB,CAAA;IAED;;;;;;;;;;;OAWG;IACH,SAAgB,IAAI,CAClB,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,OAAgB;QAEhB,OAAO;YACL,WAAW;YACX,SAAS,GAAG,EAAE;YACd,cAAc,QAAQ,EAAE;YACxB,kBAAkB,QAAQ,EAAE;YAC5B,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;SACxE,CAAC;IACJ,CAAC;IAbe,yBAAA,IAAI,OAanB,CAAA;AACH,CAAC,EAtDgB,wBAAwB,aAAxB,wBAAwB,GAAxB,wBAAwB,QAsDxC"}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* The structured components carried by a graph symbol id.
|
|
3
|
+
*
|
|
4
|
+
* @evidence contracts/common.md#principled-implementation Decoded path and name preserve quoted identity components; optional kind supports legacy ids without a suffix.
|
|
5
|
+
* @evidence contracts/common.md#clear-and-simple-design Three components isolate identity grammar from graph node payloads.
|
|
6
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Legacy kind absence is explicit rather than replaced by a guessed declaration category.
|
|
7
|
+
* @evidence contracts/common.md#meaningful-documentation Native member comments describe decoded components and the legacy optional suffix.
|
|
8
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources data shape only: it holds no handle, task or retained state.
|
|
9
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms data shape only: it contains no loop or algorithm.
|
|
10
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work data shape only: it computes nothing another request could share.
|
|
11
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation data shape only: it touches no file, path or process.
|
|
12
|
+
*/
|
|
2
13
|
export interface ITtscGraphNodeId {
|
|
14
|
+
/** Unquoted producer path coordinate. */
|
|
3
15
|
path: string;
|
|
16
|
+
/** Unquoted simple or owner-qualified declaration name. */
|
|
4
17
|
name: string;
|
|
18
|
+
/** Declaration kind suffix, absent on accepted legacy identities. */
|
|
5
19
|
kind?: string;
|
|
6
20
|
}
|
|
7
21
|
/**
|
|
@@ -9,9 +23,47 @@ export interface ITtscGraphNodeId {
|
|
|
9
23
|
*
|
|
10
24
|
* The producer quotes `#` and `\\` inside path and name. This reader also
|
|
11
25
|
* accepts pre-codec ordinary ids, so a current package can read an older dump.
|
|
26
|
+
*
|
|
27
|
+
* Returns undefined for a missing unquoted separator or empty name/kind.
|
|
28
|
+
*
|
|
29
|
+
* @evidence contracts/common.md#principled-implementation Escape-parity locates the component separator, then the final colon and inverse quoting recover identity parts without position dependence.
|
|
30
|
+
* @evidence contracts/common.md#clear-and-simple-design Separator discovery and quoting are private codec helpers; this function owns assembling the parsed record.
|
|
31
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Legacy UNC handling preserves a supported older encoding rather than guessing identity from basename or source position.
|
|
32
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose documents quoting, legacy support and malformed-input absence before acknowledgment tags.
|
|
33
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns a small record and retains nothing.
|
|
34
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms one scan for the unescaped hash, one lastIndexOf and one unescape pass, linear in the id length.
|
|
35
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work pure per-call work with no cache, so there is nothing to share or invalidate.
|
|
36
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation decodes an id string whose path component is text that is never resolved or opened.
|
|
12
37
|
*/
|
|
13
38
|
export declare function parseTtscGraphNodeId(id: string): ITtscGraphNodeId | undefined;
|
|
14
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Encode a symbol identity without making its component boundaries ambiguous.
|
|
41
|
+
*
|
|
42
|
+
* Quotes backslashes and hashes in path/name before adding the hash separator
|
|
43
|
+
* and kind suffix. The caller supplies a supported declaration kind.
|
|
44
|
+
*
|
|
45
|
+
* @evidence contracts/common.md#principled-implementation Escaping delimiter characters before concatenation makes path/name boundaries recoverable by the corresponding parser.
|
|
46
|
+
* @evidence contracts/common.md#clear-and-simple-design One writer shares a quoting helper for both components.
|
|
47
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Identity uses actual path/name/kind rather than shortened fixture-specific aliases.
|
|
48
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose identifies quoting and the kind precondition without exposing implementation bodies.
|
|
49
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns a string and retains nothing.
|
|
50
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms two replaceAll passes over path and name, linear in their length.
|
|
51
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work pure per-call work with no cache, so there is nothing to share or invalidate.
|
|
52
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation quotes path text without resolving it or touching the filesystem.
|
|
53
|
+
*/
|
|
15
54
|
export declare function writeTtscGraphNodeId(path: string, name: string, kind: string): string;
|
|
16
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Return the unquoted path component when id is a symbol identity.
|
|
57
|
+
*
|
|
58
|
+
* Malformed ids return undefined under the shared parser's rules.
|
|
59
|
+
*
|
|
60
|
+
* @evidence contracts/common.md#principled-implementation Delegating to the full parser preserves escape and legacy grammar before selecting its path.
|
|
61
|
+
* @evidence contracts/common.md#clear-and-simple-design The adapter adds no independent delimiter parsing policy.
|
|
62
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Paths are not sliced at the first raw hash, which may be quoted identity content.
|
|
63
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose states decoded output and malformed-input absence.
|
|
64
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns a string and retains nothing.
|
|
65
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms delegates to the id parser and reads one field.
|
|
66
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work pure per-call work with no cache, so there is nothing to share or invalidate.
|
|
67
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation extracts the path component of an id as text without resolving it.
|
|
68
|
+
*/
|
|
17
69
|
export declare function ttscGraphNodeIdPath(id: string): string | undefined;
|
|
@@ -8,6 +8,17 @@ exports.ttscGraphNodeIdPath = ttscGraphNodeIdPath;
|
|
|
8
8
|
*
|
|
9
9
|
* The producer quotes `#` and `\\` inside path and name. This reader also
|
|
10
10
|
* accepts pre-codec ordinary ids, so a current package can read an older dump.
|
|
11
|
+
*
|
|
12
|
+
* Returns undefined for a missing unquoted separator or empty name/kind.
|
|
13
|
+
*
|
|
14
|
+
* @evidence contracts/common.md#principled-implementation Escape-parity locates the component separator, then the final colon and inverse quoting recover identity parts without position dependence.
|
|
15
|
+
* @evidence contracts/common.md#clear-and-simple-design Separator discovery and quoting are private codec helpers; this function owns assembling the parsed record.
|
|
16
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Legacy UNC handling preserves a supported older encoding rather than guessing identity from basename or source position.
|
|
17
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose documents quoting, legacy support and malformed-input absence before acknowledgment tags.
|
|
18
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns a small record and retains nothing.
|
|
19
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms one scan for the unescaped hash, one lastIndexOf and one unescape pass, linear in the id length.
|
|
20
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work pure per-call work with no cache, so there is nothing to share or invalidate.
|
|
21
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation decodes an id string whose path component is text that is never resolved or opened.
|
|
11
22
|
*/
|
|
12
23
|
function parseTtscGraphNodeId(id) {
|
|
13
24
|
const hash = graphNodeIdHash(id);
|
|
@@ -25,11 +36,38 @@ function parseTtscGraphNodeId(id) {
|
|
|
25
36
|
...(colon < 0 ? {} : { kind: tail.slice(colon + 1) }),
|
|
26
37
|
};
|
|
27
38
|
}
|
|
28
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Encode a symbol identity without making its component boundaries ambiguous.
|
|
41
|
+
*
|
|
42
|
+
* Quotes backslashes and hashes in path/name before adding the hash separator
|
|
43
|
+
* and kind suffix. The caller supplies a supported declaration kind.
|
|
44
|
+
*
|
|
45
|
+
* @evidence contracts/common.md#principled-implementation Escaping delimiter characters before concatenation makes path/name boundaries recoverable by the corresponding parser.
|
|
46
|
+
* @evidence contracts/common.md#clear-and-simple-design One writer shares a quoting helper for both components.
|
|
47
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Identity uses actual path/name/kind rather than shortened fixture-specific aliases.
|
|
48
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose identifies quoting and the kind precondition without exposing implementation bodies.
|
|
49
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns a string and retains nothing.
|
|
50
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms two replaceAll passes over path and name, linear in their length.
|
|
51
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work pure per-call work with no cache, so there is nothing to share or invalidate.
|
|
52
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation quotes path text without resolving it or touching the filesystem.
|
|
53
|
+
*/
|
|
29
54
|
function writeTtscGraphNodeId(path, name, kind) {
|
|
30
55
|
return `${escapeGraphNodeIdPart(path)}#${escapeGraphNodeIdPart(name)}:${kind}`;
|
|
31
56
|
}
|
|
32
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Return the unquoted path component when id is a symbol identity.
|
|
59
|
+
*
|
|
60
|
+
* Malformed ids return undefined under the shared parser's rules.
|
|
61
|
+
*
|
|
62
|
+
* @evidence contracts/common.md#principled-implementation Delegating to the full parser preserves escape and legacy grammar before selecting its path.
|
|
63
|
+
* @evidence contracts/common.md#clear-and-simple-design The adapter adds no independent delimiter parsing policy.
|
|
64
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Paths are not sliced at the first raw hash, which may be quoted identity content.
|
|
65
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose states decoded output and malformed-input absence.
|
|
66
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources returns a string and retains nothing.
|
|
67
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms delegates to the id parser and reads one field.
|
|
68
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work pure per-call work with no cache, so there is nothing to share or invalidate.
|
|
69
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation extracts the path component of an id as text without resolving it.
|
|
70
|
+
*/
|
|
33
71
|
function ttscGraphNodeIdPath(id) {
|
|
34
72
|
return parseTtscGraphNodeId(id)?.path;
|
|
35
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TtscGraphNodeId.js","sourceRoot":"","sources":["../../src/model/TtscGraphNodeId.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"TtscGraphNodeId.js","sourceRoot":"","sources":["../../src/model/TtscGraphNodeId.ts"],"names":[],"mappings":";;;;;AAuBA;;;;;;;;;;;;;;;;GAgBG;AACH,8BAAqC,EAAU;IAC7C,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,uBAAuB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,EAAE,uBAAuB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,8BACE,IAAY,EACZ,IAAY,EACZ,IAAY;IAEZ,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,6BAAoC,EAAU;IAC5C,OAAO,oBAAoB,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;AACxC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAChD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,IAAI,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,OAAO,CACL,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CACzE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG;YAAE,SAAS;QAChC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE;YACnE,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { ITtscGraphDump } from "../structures/ITtscGraphDump";
|
|
2
|
+
import { ITtscGraphEdge } from "../structures/ITtscGraphEdge";
|
|
3
|
+
import { ITtscGraphNode } from "../structures/ITtscGraphNode";
|
|
4
|
+
import { TtscGraphReadonly } from "./TtscGraphReadonly";
|
|
5
|
+
/**
|
|
6
|
+
* Immutable structural projection components for validated resident facts.
|
|
7
|
+
*
|
|
8
|
+
* Node refinement and containment depend on all declarations in the same file;
|
|
9
|
+
* export reanchoring depends on the source node's module declaration. Grouping
|
|
10
|
+
* both raw nodes and source-owned edges by that file captures these
|
|
11
|
+
* dependencies, including metadata/artifact nodes sharing it. Global metadata
|
|
12
|
+
* invalidates all components, and complete generation order is reconstructed
|
|
13
|
+
* independently.
|
|
14
|
+
*
|
|
15
|
+
* @evidence contracts/common.md#principled-implementation Frozen raw reference sequences prove unchanged component inputs; all same-file declarations and source edges participate, so lexical collisions, module folding and artifact parents cannot borrow stale derived facts.
|
|
16
|
+
* @evidence contracts/common.md#clear-and-simple-design Full synthesis remains one implementation used by cold construction and invalidated components; create owns dependency partitioning and immutable component reuse.
|
|
17
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The store still validates the complete generation first. No content witness, owner or raw edge is skipped to obtain reuse, and public DTOs are never frozen by borrowing.
|
|
18
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose explains actual synthesis dependencies, metadata invalidation and generation ordering rather than claiming universally delta-only work.
|
|
19
|
+
* @evidence contracts/performance.md#efficient-algorithms Grouping and generation ordering scan all raw references. Only changed file components synthesize outer records and detach/freeze nested facts once; metadata changes rebuild all. Reference arrays/maps remain linear in generation size.
|
|
20
|
+
* @evidence contracts/performance.md#reuse-equivalent-work Equal frozen node/edge sequences and equal project/config/producer/capability/universe metadata retain the component. Cross-file edge changes invalidate their owning component; target absence remains a store validation error.
|
|
21
|
+
* @evidence contracts/performance.md#bound-retention-and-release-resources Returned state retains only current file components and generation arrays; deleted components are omitted and no previous State reference is stored.
|
|
22
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation In-memory fact coordinates and reference identity select reuse; no native filesystem or process operation runs here.
|
|
23
|
+
*/
|
|
24
|
+
export declare namespace TtscGraphProjection {
|
|
25
|
+
/**
|
|
26
|
+
* Current projection and the inputs qualifying each immutable component.
|
|
27
|
+
*
|
|
28
|
+
* @evidence contracts/common.md#principled-implementation The metadata witness and complete raw reference sequences distinguish reusable components from invalidated ones; generation arrays preserve global order.
|
|
29
|
+
* @evidence contracts/common.md#clear-and-simple-design One current state groups dependency witnesses and projected output; it contains no previous-state link.
|
|
30
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Component validity is established by create after store validation rather than assumed from a file name.
|
|
31
|
+
* @evidence contracts/common.md#meaningful-documentation The headline describes the dependency witness; member comments distinguish its coordinates and ordered outputs.
|
|
32
|
+
* @evidenceExclude contracts/performance.md#efficient-algorithms State describes data; create owns scanning and synthesis.
|
|
33
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work State carries witnesses; create decides whether they qualify reuse.
|
|
34
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources State owns no lifecycle operation; its model and session control lifetime.
|
|
35
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation In-memory data only, without native coordinates being opened or resolved.
|
|
36
|
+
*/
|
|
37
|
+
interface State {
|
|
38
|
+
/** Project, build-universe and producer authority for these components. */
|
|
39
|
+
readonly metadata: string;
|
|
40
|
+
/** Complete same-file synthesis inputs and their projected immutable facts. */
|
|
41
|
+
readonly components: ReadonlyMap<string, Component>;
|
|
42
|
+
/** Non-module declarations followed by file containers in full-model order. */
|
|
43
|
+
readonly nodes: readonly TtscGraphReadonly<ITtscGraphNode>[];
|
|
44
|
+
/** Original relation order followed by synthesized ownership relations. */
|
|
45
|
+
readonly edges: readonly TtscGraphReadonly<ITtscGraphEdge>[];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Detach a caller's full dump before exposing synthesized immutable facts.
|
|
49
|
+
*
|
|
50
|
+
* Synthesis borrows nested facts synchronously and changes only new outer
|
|
51
|
+
* records. Final recursive copying detaches those facts before freezing or
|
|
52
|
+
* exposing the result, for mutable callers and frozen resident inputs alike.
|
|
53
|
+
*
|
|
54
|
+
* @evidence contracts/common.md#principled-implementation Readonly borrowed synthesis inputs preserve caller ownership; only fresh outer records change, and final recursive copying isolates every nested record before freezing and publication.
|
|
55
|
+
* @evidence contracts/common.md#clear-and-simple-design Cold models and invalidated components use the same synthesis implementation.
|
|
56
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Native export relations remain authoritative and no caller-owned DTO is frozen in place.
|
|
57
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose states caller ownership, synchronous borrowing, construction-local changes and the final immutable publication boundary.
|
|
58
|
+
* @evidence contracts/performance.md#efficient-algorithms Synthesis scans facts and indexes owner handles; only colliding handles require candidate scans. One final recursive copy costs the selected fact population's nested bytes, without an intermediate mutable DTO copy.
|
|
59
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work This operation constructs a supplied population; create selects components requiring construction.
|
|
60
|
+
* @evidence contracts/performance.md#bound-retention-and-release-resources The returned frozen facts transfer to the model/component owner; no historical state is retained here.
|
|
61
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation In-memory synthesis and copying perform no native operations.
|
|
62
|
+
*/
|
|
63
|
+
function full(dump: TtscGraphReadonly<Pick<ITtscGraphDump, "nodes" | "edges">>): {
|
|
64
|
+
readonly nodes: readonly {
|
|
65
|
+
readonly id: string;
|
|
66
|
+
readonly kind: import("../structures").TtscGraphNodeKind;
|
|
67
|
+
readonly parent?: string;
|
|
68
|
+
readonly name: string;
|
|
69
|
+
readonly qualifiedName?: string;
|
|
70
|
+
readonly file: string;
|
|
71
|
+
readonly external: boolean;
|
|
72
|
+
readonly ignored?: boolean;
|
|
73
|
+
readonly exported?: boolean;
|
|
74
|
+
readonly closure?: boolean;
|
|
75
|
+
readonly modifiers?: readonly import("../structures").TtscGraphNodeModifier[] | undefined;
|
|
76
|
+
readonly literals?: readonly string[] | undefined;
|
|
77
|
+
readonly enumMembers?: readonly {
|
|
78
|
+
readonly name: string;
|
|
79
|
+
readonly value?: string;
|
|
80
|
+
}[] | undefined;
|
|
81
|
+
readonly objectMembers?: readonly {
|
|
82
|
+
readonly name: string;
|
|
83
|
+
readonly kind: "property" | "method";
|
|
84
|
+
readonly line?: number;
|
|
85
|
+
readonly signature?: string;
|
|
86
|
+
}[] | undefined;
|
|
87
|
+
readonly decorators?: readonly {
|
|
88
|
+
readonly name: string;
|
|
89
|
+
readonly arguments: readonly {
|
|
90
|
+
readonly literal?: string | number | boolean;
|
|
91
|
+
}[];
|
|
92
|
+
}[] | undefined;
|
|
93
|
+
readonly docTags?: readonly {
|
|
94
|
+
readonly name: string;
|
|
95
|
+
readonly text?: string;
|
|
96
|
+
}[] | undefined;
|
|
97
|
+
readonly signature?: string;
|
|
98
|
+
readonly evidence?: {
|
|
99
|
+
readonly file: string;
|
|
100
|
+
readonly startLine: number;
|
|
101
|
+
readonly startCol?: number;
|
|
102
|
+
readonly endLine?: number;
|
|
103
|
+
readonly endCol?: number;
|
|
104
|
+
} | undefined;
|
|
105
|
+
readonly implementation?: {
|
|
106
|
+
readonly file: string;
|
|
107
|
+
readonly startLine: number;
|
|
108
|
+
readonly startCol?: number;
|
|
109
|
+
readonly endLine?: number;
|
|
110
|
+
readonly endCol?: number;
|
|
111
|
+
} | undefined;
|
|
112
|
+
}[];
|
|
113
|
+
readonly edges: readonly {
|
|
114
|
+
readonly from: string;
|
|
115
|
+
readonly to: string;
|
|
116
|
+
readonly kind: import("../structures").TtscGraphEdgeKind;
|
|
117
|
+
readonly evidence?: {
|
|
118
|
+
readonly file: string;
|
|
119
|
+
readonly startLine: number;
|
|
120
|
+
readonly startCol?: number;
|
|
121
|
+
readonly endLine?: number;
|
|
122
|
+
readonly endCol?: number;
|
|
123
|
+
} | undefined;
|
|
124
|
+
}[];
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Reuse only components with the same complete synthesis input sequence.
|
|
128
|
+
*
|
|
129
|
+
* The caller supplies store-owned frozen facts after complete validation.
|
|
130
|
+
* Same-file declarations determine lexical owners and module anchors; source
|
|
131
|
+
* edges belong to that same component. Output ordering remains
|
|
132
|
+
* generation-wide.
|
|
133
|
+
*
|
|
134
|
+
* @evidence contracts/common.md#principled-implementation Complete ordered raw inputs and global metadata qualify each component. Synthesis dependencies are local to a node's file, while cross-file edge target existence has already been validated by the store.
|
|
135
|
+
* @evidence contracts/common.md#clear-and-simple-design Partitioning, component selection and global output ordering are separate stages; full owns the shared synthesis implementation.
|
|
136
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Every raw node and source edge participates; no ownership, provenance or manifest validation is skipped and no native relation is invented.
|
|
137
|
+
* @evidence contracts/common.md#meaningful-documentation Native paragraphs explain the frozen-input premise and why same-file declarations and source edges form the dependency boundary.
|
|
138
|
+
* @evidence contracts/performance.md#efficient-algorithms Linear reference grouping/equality and generation ordering remain necessary. Invalidated components borrow nested inputs during synthesis and detach/freeze once at full's publication boundary, with temporary maps/arrays proportional to current facts.
|
|
139
|
+
* @evidence contracts/performance.md#reuse-equivalent-work Exact raw reference sequences plus project/config/schema/capability/producer/universe metadata retain equivalent components. Changed owner declarations or source relations invalidate the whole dependent file component.
|
|
140
|
+
* @evidence contracts/performance.md#bound-retention-and-release-resources New state retains only current components and output arrays; deleted components disappear and no previous state is linked.
|
|
141
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation Fact coordinates select in-memory groups; no filesystem or process operation interprets them.
|
|
142
|
+
*/
|
|
143
|
+
function create(dump: TtscGraphReadonly<ITtscGraphDump>, previous?: State): State;
|
|
144
|
+
}
|
|
145
|
+
type RawNode = TtscGraphReadonly<ITtscGraphDump.INode>;
|
|
146
|
+
type RawEdge = TtscGraphReadonly<ITtscGraphDump.IEdge>;
|
|
147
|
+
/** One file's complete immutable raw dependencies and derived output. */
|
|
148
|
+
interface Component {
|
|
149
|
+
readonly rawNodes: readonly RawNode[];
|
|
150
|
+
readonly rawEdges: readonly RawEdge[];
|
|
151
|
+
readonly nodes: ReadonlyMap<string, TtscGraphReadonly<ITtscGraphNode>>;
|
|
152
|
+
readonly file: TtscGraphReadonly<ITtscGraphNode> | undefined;
|
|
153
|
+
readonly edges: ReadonlyMap<RawEdge, TtscGraphReadonly<ITtscGraphEdge>>;
|
|
154
|
+
readonly structural: ReadonlyMap<string, TtscGraphReadonly<ITtscGraphEdge>>;
|
|
155
|
+
}
|
|
156
|
+
export {};
|