@overkill-dev/resources 0.0.9 → 0.0.10
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/package.json +4 -3
- package/packages/resources/resources.entry-point.d.ts +2 -1
- package/packages/resources/resources.entry-point.d.ts.map +1 -1
- package/readme.md +21 -8
- package/resources/local-http-service-resource.d.ts +22 -2
- package/resources/local-http-service-resource.d.ts.map +1 -1
- package/resources/local-http-service-resource.js +47 -11
- package/resources/local-http-service-resource.js.map +1 -1
- package/resources/local-http-transcript-observer.js +393 -0
- package/resources/local-http-transcript-observer.js.map +1 -0
- package/resources/resources.d.ts +2 -0
- package/resources/resources.d.ts.map +1 -1
- package/resources/resources.js +6 -7
- package/resources/resources.js.map +1 -1
- package/resources/simulated-http-server-resource.d.ts +4 -0
- package/resources/simulated-http-server-resource.d.ts.map +1 -1
- package/resources/simulated-http-server-resource.js +18 -2
- package/resources/simulated-http-server-resource.js.map +1 -1
- package/sbom.cdx.json +14 -14
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"url": "https://github.com/enormora/overkill/issues"
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"type-fest": "5.
|
|
7
|
+
"type-fest": "5.10.0"
|
|
8
8
|
},
|
|
9
9
|
"description": "Typed Overkill resource and runtime descriptors.",
|
|
10
10
|
"engines": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"name": "@overkill-dev/resources",
|
|
27
27
|
"peerDependencies": {
|
|
28
|
-
"@overkill-dev/simulation": "0.0.
|
|
28
|
+
"@overkill-dev/simulation": "0.0.4"
|
|
29
29
|
},
|
|
30
30
|
"repository": {
|
|
31
31
|
"type": "git",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"sideEffects": [
|
|
35
35
|
"./packages/resources/resources.entry-point.js",
|
|
36
|
+
"./resources/local-http-transcript-observer.js",
|
|
36
37
|
"./resources/local-service-resource.js",
|
|
37
38
|
"./resources/resource-definition.js",
|
|
38
39
|
"./resources/resource-lifecycle-error.js",
|
|
@@ -42,5 +43,5 @@
|
|
|
42
43
|
"./resources/runtime-matrix-definition.js"
|
|
43
44
|
],
|
|
44
45
|
"type": "module",
|
|
45
|
-
"version": "0.0.
|
|
46
|
+
"version": "0.0.10"
|
|
46
47
|
}
|
|
@@ -18,9 +18,10 @@ export type { AnyResourceDefinition, ComposedRuntimeGraph, ExecutionRequirement,
|
|
|
18
18
|
export type { ResourceHandleExposureContext } from '../../resources/resource-definition-types.ts';
|
|
19
19
|
export type { ResourceScenarioBindingsForTiming } from '../../resources/resource-scenario.ts';
|
|
20
20
|
export type { LocalServiceAddress, LocalServiceAddressRequest, LocalServiceCreationContext, LocalServiceDisposalContext, LocalServiceHostAddressRequest, LocalServiceLoopbackAddressRequest, LocalServiceResourceDefinitionInput, LocalOnlyLocalServiceResourceDefinitionInput, ProjectedLocalServiceResourceDefinitionInput } from '../../resources/local-service-resource.ts';
|
|
21
|
-
export type { LocalHttpServiceHandle, LocalHttpServiceResourceInput } from '../../resources/local-http-service-resource.ts';
|
|
21
|
+
export type { LocalHttpResourceHandle, LocalHttpServiceHandle, LocalHttpServiceResourceInput, LocalHttpTranscriptPolicy } from '../../resources/local-http-service-resource.ts';
|
|
22
22
|
export type { LocalProcessCommand, LocalProcessOutput, LocalProcessOutputBuffer, LocalProcessOwner, LocalProcessServiceResourceInput, LocalProcessShutdown, LocalProcessSignal } from '../../resources/local-process-service-resource.ts';
|
|
23
23
|
export type { SimulatedHttpServerResource, SimulatedHttpServerResourceHandle, SimulatedHttpServerResourceOptions } from '../../resources/simulated-http-server-resource.ts';
|
|
24
|
+
export type { HttpHeadersSnapshot, HttpInteraction, HttpInteractionOutcome, HttpRequestSnapshot, HttpResponseSnapshot, HttpTranscript, HttpTranscriptEntry, RecordedHttpBody, RecordedHttpError, TranscriptEntry, TranscriptView, TranscriptCaptureErrorEntry } from '@overkill-dev/simulation/transcript';
|
|
24
25
|
export type { RuntimeDefinition as Runtime, RuntimeResourceMap as ResourceMap } from '../../resources/resources.ts';
|
|
25
26
|
export type { ResourceLifecycleFailure, ResourceLifecyclePhase } from '../../resources/resource-lifecycle-error.ts';
|
|
26
27
|
export type { ResourceSession, ResourceSessionDisposalContext, StartResourcesRequest } from '../../resources/resource-session.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/resources/resources.entry-point.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE3F,OAAO,EACH,0BAA0B,EAC7B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACH,8BAA8B,EACjC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACH,iCAAiC,EACpC,MAAM,mDAAmD,CAAC;AAY3D,eAAO,MAAM,qBAAqB,EAAE,eAAe,CAAC,uBAAuB,CAAyC,CAAC;AACrH,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,iBAAiB,CAAmC,CAAC;AACnG,eAAO,MAAM,gCAAgC,EAAE,eAAe,CAAC,kCAAkC,CAC7C,CAAC;AACrD,eAAO,MAAM,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAkC,CAAC;AAChG,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,eAAe,CAAiC,CAAC;AAC7F,eAAO,MAAM,mBAAmB,EAAE,eAAe,CAAC,qBAAqB,CAAuC,CAAC;AAE/G,OAAO,EACH,iCAAiC,EACpC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,kBAAkB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,0BAA0B,EAC1B,8BAA8B,EACjC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,cAAc,EACjB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,sBAAsB,EACzB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACH,YAAY,EACf,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACR,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,aAAa,EACb,wBAAwB,EACxB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACrB,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,kCAAkC,EAClC,wBAAwB,EAC3B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAClG,YAAY,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAC9F,YAAY,EACR,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,8BAA8B,EAC9B,kCAAkC,EAClC,mCAAmC,EACnC,4CAA4C,EAC5C,4CAA4C,EAC/C,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACR,sBAAsB,EACtB,6BAA6B,
|
|
1
|
+
{"version":3,"file":"resources.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/resources/resources.entry-point.ts"],"names":[],"mappings":"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"}
|
package/readme.md
CHANGED
|
@@ -119,8 +119,9 @@ Omitting `dependencies` is accepted for compatibility and produces
|
|
|
119
119
|
`dependencies: {}` on the returned descriptor.
|
|
120
120
|
|
|
121
121
|
`createTemporaryDirectoryResource(name)` returns a per-case resource descriptor
|
|
122
|
-
whose handle
|
|
123
|
-
directory with an Overkill prefix. Disposal removes that directory
|
|
122
|
+
whose handle exposes `path` and an empty `transcript`. Each acquisition creates
|
|
123
|
+
a unique directory with an Overkill prefix. Disposal removes that directory
|
|
124
|
+
recursively.
|
|
124
125
|
|
|
125
126
|
`defineLocalServiceResource(...)` models owned local services with explicit
|
|
126
127
|
`start`, `ready`, and `dispose` phases. Callers declare scope, requirements,
|
|
@@ -133,11 +134,22 @@ ordinary resources.
|
|
|
133
134
|
|
|
134
135
|
`createLocalHttpServiceResource(...)` owns HTTP `listen` and `close`, exposes
|
|
135
136
|
the actual loopback endpoint and `baseUrl`, and lets callers map that into a
|
|
136
|
-
typed object handle.
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
typed object handle. Its handle also exposes a read-only `transcript`. Recording
|
|
138
|
+
is enabled by default and stores one normalized `http` entry per completed
|
|
139
|
+
exchange. Request and response bodies are captured up to 16 KiB independently.
|
|
140
|
+
External clients still produce request metadata and a response whose body is
|
|
141
|
+
marked unavailable. Pass `{ kind: 'disabled' }` as the second argument to turn
|
|
142
|
+
recording off, or `{ kind: 'custom', transcript(server) { ... } }` to supply a
|
|
143
|
+
protocol-specific transcript.
|
|
144
|
+
|
|
145
|
+
Runner-managed handles show transcript entries from the active test case.
|
|
146
|
+
Handles returned by `startResources(...)` and `startRuntime(...)` show the full
|
|
147
|
+
resource lifetime.
|
|
148
|
+
|
|
149
|
+
`createLocalProcessServiceResource(...)` starts a child process, drains bounded
|
|
150
|
+
stdout/stderr lifecycle buffers, waits for explicit readiness, and terminates
|
|
151
|
+
then force-kills during disposal according to the declared shutdown contract.
|
|
152
|
+
Output buffers are lifecycle diagnostics, not artifacts.
|
|
141
153
|
|
|
142
154
|
Resources may declare finite scenario slots with a default, timing, and allowed
|
|
143
155
|
values. `defineRuntime(...)` lifts slots from its complete dependency graph.
|
|
@@ -159,7 +171,8 @@ resource still acquires separately when those views differ.
|
|
|
159
171
|
HTTP server from `@overkill-dev/simulation` as a per-case resource. Its
|
|
160
172
|
request-routed scenario slot uses the simulation name. A runtime binding makes
|
|
161
173
|
`baseUrl` select that scenario, while `scenarioUrl(...)` remains available for
|
|
162
|
-
explicit URL selection.
|
|
174
|
+
explicit URL selection. Its transcript records the selected scenario and omits
|
|
175
|
+
the internal scenario query parameter from the request URL.
|
|
163
176
|
|
|
164
177
|
`startRuntime(...)` acquires dependencies before dependents, shares one handle
|
|
165
178
|
per descriptor inside the session, and disposes acquired resources once in
|
|
@@ -1,9 +1,29 @@
|
|
|
1
|
+
import { type HttpTranscript } from '@overkill-dev/simulation/transcript';
|
|
1
2
|
import type { Awaitable, ExecutionRequirement, ResourceDefinition, ResourceDependencies, ResourceProjectionPayload, ResourceScope } from './resources.ts';
|
|
2
3
|
import { type LocalServiceAddressRequest, type LocalServiceConsumerHandle, type LocalServiceCreationContext, type LocalServiceDisposalContext, type LocalServiceHandleProjection, type LocalServiceAddress, type ProjectedLocalServiceScope } from './local-service-resource.ts';
|
|
3
4
|
export type LocalHttpServiceHandle = {
|
|
4
5
|
readonly baseUrl: string;
|
|
5
6
|
readonly endpoint: LocalServiceAddress;
|
|
7
|
+
readonly transcript: HttpTranscript<unknown>;
|
|
6
8
|
};
|
|
9
|
+
type CustomLocalHttpTranscriptPolicy<Context> = {
|
|
10
|
+
readonly kind: 'custom';
|
|
11
|
+
readonly transcript: (server: LocalHttpServer) => HttpTranscript<Context>;
|
|
12
|
+
};
|
|
13
|
+
type DisabledLocalHttpTranscriptPolicy = {
|
|
14
|
+
readonly kind: 'disabled';
|
|
15
|
+
};
|
|
16
|
+
type LocalHttpTranscriptPolicies<Context> = {
|
|
17
|
+
readonly custom: CustomLocalHttpTranscriptPolicy<Context>;
|
|
18
|
+
readonly disabled: DisabledLocalHttpTranscriptPolicy;
|
|
19
|
+
};
|
|
20
|
+
export type LocalHttpTranscriptPolicy<Context = unknown> = LocalHttpTranscriptPolicies<Context>[keyof LocalHttpTranscriptPolicies<Context>];
|
|
21
|
+
export type LocalHttpResourceHandle<Handle extends LocalServiceConsumerHandle, Context = null> = Handle & {
|
|
22
|
+
readonly transcript: HttpTranscript<Context>;
|
|
23
|
+
};
|
|
24
|
+
type TranscriptPolicyInput = readonly [] | readonly [LocalHttpTranscriptPolicy];
|
|
25
|
+
type PolicyContext<Policy> = Policy extends CustomLocalHttpTranscriptPolicy<infer Value> ? Value : null;
|
|
26
|
+
type TranscriptContext<Input extends TranscriptPolicyInput> = PolicyContext<Input[0]>;
|
|
7
27
|
type LocalHttpServerAddress = {
|
|
8
28
|
readonly port: number;
|
|
9
29
|
};
|
|
@@ -43,7 +63,7 @@ type ProjectedHttpServiceInput<Name extends string, ConsumerHandle extends Local
|
|
|
43
63
|
readonly scope: ProjectedLocalServiceScope;
|
|
44
64
|
readonly serializeHandle: LocalServiceHandleProjection<ConsumerHandle, Projection, ProjectedConsumerHandle, Dependencies>['serializeHandle'];
|
|
45
65
|
};
|
|
46
|
-
export declare function createLocalHttpServiceResource<const Name extends string, ConsumerHandle extends LocalServiceConsumerHandle, Scope extends Exclude<ResourceScope, 'per-run'>, const Dependencies extends ResourceDependencies>(input: LocalHttpServiceResourceInput<Name, ConsumerHandle, Scope, Dependencies
|
|
47
|
-
export declare function createLocalHttpServiceResource<const Name extends string, ConsumerHandle extends LocalServiceConsumerHandle, Projection extends ResourceProjectionPayload, ProjectedConsumerHandle, const Dependencies extends ResourceDependencies>(input: ProjectedHttpServiceInput<Name, ConsumerHandle, Projection, ProjectedConsumerHandle, Dependencies
|
|
66
|
+
export declare function createLocalHttpServiceResource<const Name extends string, ConsumerHandle extends LocalServiceConsumerHandle, Scope extends Exclude<ResourceScope, 'per-run'>, const Dependencies extends ResourceDependencies, const PolicyInput extends readonly [] | readonly [LocalHttpTranscriptPolicy]>(input: LocalHttpServiceResourceInput<Name, ConsumerHandle, Scope, Dependencies>, ...policyInput: PolicyInput): ResourceDefinition<Name, LocalHttpResourceHandle<ConsumerHandle, TranscriptContext<PolicyInput>>, Dependencies>;
|
|
67
|
+
export declare function createLocalHttpServiceResource<const Name extends string, ConsumerHandle extends LocalServiceConsumerHandle, Projection extends ResourceProjectionPayload, ProjectedConsumerHandle extends LocalServiceConsumerHandle, const Dependencies extends ResourceDependencies, const PolicyInput extends readonly [] | readonly [LocalHttpTranscriptPolicy]>(input: ProjectedHttpServiceInput<Name, ConsumerHandle, Projection, ProjectedConsumerHandle, Dependencies>, ...policyInput: PolicyInput): ResourceDefinition<Name, LocalHttpResourceHandle<ConsumerHandle, TranscriptContext<PolicyInput>>, Dependencies, LocalHttpResourceHandle<ProjectedConsumerHandle, TranscriptContext<PolicyInput>>>;
|
|
48
68
|
export {};
|
|
49
69
|
//# sourceMappingURL=local-http-service-resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-http-service-resource.d.ts","sourceRoot":"","sources":["../../../../source/resources/local-http-service-resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGH,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EAExB,KAAK,0BAA0B,EAClC,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"local-http-service-resource.d.ts","sourceRoot":"","sources":["../../../../source/resources/local-http-service-resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { captureErrorHttpTranscript, emptyTranscriptView } from "@overkill-dev/simulation/transcript";
|
|
1
2
|
import { defineLocalServiceResource, isProjectedLocalServiceScope } from "./local-service-resource.js";
|
|
3
|
+
import { observeLocalHttpServer } from "./local-http-transcript-observer.js";
|
|
2
4
|
function serverEndpoint(server, host) {
|
|
3
5
|
const address = server.address();
|
|
4
6
|
if (typeof address !== 'object' || address === null) {
|
|
@@ -41,13 +43,29 @@ async function closeServer(server) {
|
|
|
41
43
|
});
|
|
42
44
|
});
|
|
43
45
|
}
|
|
44
|
-
function localHttpServiceHandle(endpoint) {
|
|
46
|
+
function localHttpServiceHandle(endpoint, transcript) {
|
|
45
47
|
return Object.freeze({
|
|
46
48
|
endpoint,
|
|
47
|
-
baseUrl: `http://${endpoint.host}:${endpoint.port}
|
|
49
|
+
baseUrl: `http://${endpoint.host}:${endpoint.port}`,
|
|
50
|
+
transcript
|
|
48
51
|
});
|
|
49
52
|
}
|
|
50
|
-
function
|
|
53
|
+
function withTranscript(handle, transcript) {
|
|
54
|
+
return Object.freeze({ ...handle, transcript });
|
|
55
|
+
}
|
|
56
|
+
function customTranscript(policy, server) {
|
|
57
|
+
if (policy.kind === 'disabled') {
|
|
58
|
+
return emptyTranscriptView();
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
return policy.transcript(server);
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
return captureErrorHttpTranscript(error);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function localHttpDefinition(input, policy) {
|
|
68
|
+
const observers = new WeakMap();
|
|
51
69
|
return {
|
|
52
70
|
name: input.name,
|
|
53
71
|
scope: input.scope,
|
|
@@ -59,19 +77,36 @@ function localHttpDefinition(input) {
|
|
|
59
77
|
},
|
|
60
78
|
async ready(server, context) {
|
|
61
79
|
await listen(server, context.address);
|
|
62
|
-
|
|
80
|
+
const endpoint = serverEndpoint(server, context.address.host);
|
|
81
|
+
const baseUrl = `http://${endpoint.host}:${endpoint.port}`;
|
|
82
|
+
const transcript = policy === null
|
|
83
|
+
? observeLocalHttpServer(server, baseUrl)
|
|
84
|
+
: null;
|
|
85
|
+
if (transcript !== null) {
|
|
86
|
+
observers.set(server, transcript);
|
|
87
|
+
}
|
|
88
|
+
const view = transcript?.transcript ?? customTranscript(policy ?? { kind: 'disabled' }, server);
|
|
89
|
+
return withTranscript(input.handle(localHttpServiceHandle(endpoint, view), server, context), view);
|
|
63
90
|
},
|
|
64
91
|
async dispose(server, context) {
|
|
65
|
-
|
|
92
|
+
try {
|
|
93
|
+
await closeServer(server);
|
|
94
|
+
}
|
|
95
|
+
finally {
|
|
96
|
+
observers.get(server)?.dispose();
|
|
97
|
+
observers.delete(server);
|
|
98
|
+
}
|
|
66
99
|
await input.dispose(server, context);
|
|
67
100
|
}
|
|
68
101
|
};
|
|
69
102
|
}
|
|
70
|
-
function projectedHttpDefinition(input) {
|
|
103
|
+
function projectedHttpDefinition(input, policy) {
|
|
71
104
|
return {
|
|
72
|
-
...localHttpDefinition(input),
|
|
105
|
+
...localHttpDefinition(input, policy),
|
|
73
106
|
serializeHandle: input.serializeHandle,
|
|
74
|
-
deserializeHandle
|
|
107
|
+
deserializeHandle(payload, context) {
|
|
108
|
+
return withTranscript(input.deserializeHandle(payload, context), emptyTranscriptView());
|
|
109
|
+
}
|
|
75
110
|
};
|
|
76
111
|
}
|
|
77
112
|
function assertProjectedHttpService(input) {
|
|
@@ -79,13 +114,14 @@ function assertProjectedHttpService(input) {
|
|
|
79
114
|
throw new TypeError('Projected local HTTP services require handle projection callbacks.');
|
|
80
115
|
}
|
|
81
116
|
}
|
|
82
|
-
export function createLocalHttpServiceResource(input) {
|
|
117
|
+
export function createLocalHttpServiceResource(input, ...policyInput) {
|
|
118
|
+
const policy = policyInput[0] ?? null;
|
|
83
119
|
if (isProjectedLocalServiceScope(input.scope)) {
|
|
84
120
|
assertProjectedHttpService(input);
|
|
85
|
-
return defineLocalServiceResource(projectedHttpDefinition(input));
|
|
121
|
+
return defineLocalServiceResource(projectedHttpDefinition(input, policy));
|
|
86
122
|
}
|
|
87
123
|
return defineLocalServiceResource({
|
|
88
|
-
...localHttpDefinition(input),
|
|
124
|
+
...localHttpDefinition(input, policy),
|
|
89
125
|
scope: input.scope
|
|
90
126
|
});
|
|
91
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-http-service-resource.js","sourceRoot":"","sources":["../../../../source/resources/local-http-service-resource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-http-service-resource.js","sourceRoot":"","sources":["../../../../source/resources/local-http-service-resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
import diagnosticsChannel from 'node:diagnostics_channel';
|
|
2
|
+
import { IncomingMessage, STATUS_CODES } from 'node:http';
|
|
3
|
+
import { createHttpTranscriptRecorder, httpTranscriptBodyByteLimit, recordedHttpBody, recordedHttpError } from "@overkill-dev/simulation/transcript";
|
|
4
|
+
const headerPairLength = 2;
|
|
5
|
+
const channels = Object.freeze({
|
|
6
|
+
serverFinish: 'http.server.response.finish',
|
|
7
|
+
serverStart: 'http.server.request.start',
|
|
8
|
+
nodeClientStart: 'http.client.request.start',
|
|
9
|
+
undiciBodyReceived: 'undici:request:bodyChunkReceived',
|
|
10
|
+
undiciCreate: 'undici:request:create',
|
|
11
|
+
undiciError: 'undici:request:error',
|
|
12
|
+
undiciHeaders: 'undici:request:headers',
|
|
13
|
+
undiciTrailers: 'undici:request:trailers'
|
|
14
|
+
});
|
|
15
|
+
function isRecord(value) {
|
|
16
|
+
return typeof value === 'object' && value !== null;
|
|
17
|
+
}
|
|
18
|
+
function createBodyCapture() {
|
|
19
|
+
let byteLength = 0;
|
|
20
|
+
const chunks = [];
|
|
21
|
+
return Object.freeze({
|
|
22
|
+
append(chunk) {
|
|
23
|
+
const remaining = Math.max(0, httpTranscriptBodyByteLimit - byteLength);
|
|
24
|
+
byteLength += chunk.byteLength;
|
|
25
|
+
if (remaining > 0) {
|
|
26
|
+
chunks.push(Uint8Array.from(chunk.subarray(0, remaining)));
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
body() {
|
|
30
|
+
const bytes = chunks.length === 0 ? null : Buffer.concat(chunks);
|
|
31
|
+
return byteLength > httpTranscriptBodyByteLimit && bytes !== null
|
|
32
|
+
? { bytes: Uint8Array.from(bytes), kind: 'truncated', originalByteLength: byteLength }
|
|
33
|
+
: recordedHttpBody(bytes);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function incomingHeaders(headers) {
|
|
38
|
+
const entries = [];
|
|
39
|
+
for (const [name, value] of Object.entries(headers)) {
|
|
40
|
+
const values = Array.isArray(value) ? value : [value];
|
|
41
|
+
for (const item of values) {
|
|
42
|
+
if (item !== undefined) {
|
|
43
|
+
entries.push(Object.freeze([name.toLowerCase(), item]));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return Object.freeze(entries);
|
|
48
|
+
}
|
|
49
|
+
function outgoingHeaders(headers) {
|
|
50
|
+
const entries = [];
|
|
51
|
+
for (const [name, value] of Object.entries(headers)) {
|
|
52
|
+
const values = Array.isArray(value) ? value : [value];
|
|
53
|
+
for (const item of values) {
|
|
54
|
+
if (item !== undefined) {
|
|
55
|
+
entries.push(Object.freeze([name.toLowerCase(), String(item)]));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return Object.freeze(entries);
|
|
60
|
+
}
|
|
61
|
+
function requestUrl(request, baseUrl) {
|
|
62
|
+
const url = new URL(request.url ?? '/', baseUrl);
|
|
63
|
+
return url.href;
|
|
64
|
+
}
|
|
65
|
+
function isObservedServerResponse(value) {
|
|
66
|
+
return isRecord(value) && typeof value.getHeaders === 'function' &&
|
|
67
|
+
typeof value.statusCode === 'number' &&
|
|
68
|
+
(value.statusMessage === undefined || typeof value.statusMessage === 'string');
|
|
69
|
+
}
|
|
70
|
+
function serverMessage(message, server) {
|
|
71
|
+
if (!isRecord(message) || message.server !== server || !(message.request instanceof IncomingMessage) ||
|
|
72
|
+
!isObservedServerResponse(message.response)) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return { request: message.request, response: message.response };
|
|
76
|
+
}
|
|
77
|
+
function undiciMessage(message) {
|
|
78
|
+
return isRecord(message) && isRecord(message.request) ? { request: message.request } : null;
|
|
79
|
+
}
|
|
80
|
+
function undiciUrl(request) {
|
|
81
|
+
if (typeof request.origin !== 'string' || typeof request.path !== 'string') {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
const url = new URL(request.path, request.origin);
|
|
85
|
+
return url.href;
|
|
86
|
+
}
|
|
87
|
+
function isObservedNodeClientRequest(value) {
|
|
88
|
+
return isRecord(value) && typeof value.getHeader === 'function' && typeof value.method === 'string' &&
|
|
89
|
+
typeof value.path === 'string' && typeof value.protocol === 'string';
|
|
90
|
+
}
|
|
91
|
+
function nodeClientUrl(request) {
|
|
92
|
+
const host = request.getHeader('host');
|
|
93
|
+
if (typeof host !== 'string') {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
const url = new URL(request.path, `${request.protocol}//${host}`);
|
|
97
|
+
return url.href;
|
|
98
|
+
}
|
|
99
|
+
function requestIdentity(method, url) {
|
|
100
|
+
return `${method.toUpperCase()} ${url}`;
|
|
101
|
+
}
|
|
102
|
+
function undiciRequestIdentity(request, url) {
|
|
103
|
+
if (typeof request.method !== 'string') {
|
|
104
|
+
throw new TypeError('Undici diagnostics request method is unavailable.');
|
|
105
|
+
}
|
|
106
|
+
return requestIdentity(request.method, url);
|
|
107
|
+
}
|
|
108
|
+
function responseHeader(name, value) {
|
|
109
|
+
if (!(name instanceof Uint8Array) || !(value instanceof Uint8Array)) {
|
|
110
|
+
throw new TypeError('Undici diagnostics response headers are unavailable.');
|
|
111
|
+
}
|
|
112
|
+
return Object.freeze([
|
|
113
|
+
Buffer.from(name).toString().toLowerCase(),
|
|
114
|
+
Buffer.from(value).toString()
|
|
115
|
+
]);
|
|
116
|
+
}
|
|
117
|
+
function responseHeaders(value) {
|
|
118
|
+
if (!Array.isArray(value) || value.length % headerPairLength !== 0) {
|
|
119
|
+
throw new TypeError('Undici diagnostics response headers are unavailable.');
|
|
120
|
+
}
|
|
121
|
+
const headerValues = value;
|
|
122
|
+
const entries = [];
|
|
123
|
+
for (let index = 0; index < headerValues.length; index += headerPairLength) {
|
|
124
|
+
entries.push(responseHeader(headerValues[index], headerValues[index + 1]));
|
|
125
|
+
}
|
|
126
|
+
return Object.freeze(entries);
|
|
127
|
+
}
|
|
128
|
+
function responseStatusText(status, statusText) {
|
|
129
|
+
return statusText ?? STATUS_CODES[status] ?? '';
|
|
130
|
+
}
|
|
131
|
+
function responseSnapshot(response, body) {
|
|
132
|
+
if (typeof response.statusCode !== 'number' ||
|
|
133
|
+
response.statusText !== undefined && typeof response.statusText !== 'string') {
|
|
134
|
+
throw new TypeError('Undici diagnostics response metadata is unavailable.');
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
body,
|
|
138
|
+
headers: responseHeaders(response.headers),
|
|
139
|
+
status: response.statusCode,
|
|
140
|
+
statusText: responseStatusText(response.statusCode, response.statusText)
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
function createObserverState(server, baseUrl) {
|
|
144
|
+
return {
|
|
145
|
+
activeRequests: new Set(),
|
|
146
|
+
baseUrl,
|
|
147
|
+
expectedByRequest: new Map(),
|
|
148
|
+
listeners: new Map(),
|
|
149
|
+
recorder: createHttpTranscriptRecorder(),
|
|
150
|
+
requests: new WeakMap(),
|
|
151
|
+
server,
|
|
152
|
+
undici: new WeakMap(),
|
|
153
|
+
undiciRequests: new Set(),
|
|
154
|
+
undiciResponses: new WeakMap()
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
function observesUrl(state, url) {
|
|
158
|
+
return url !== null && (url === state.baseUrl || url.startsWith(`${state.baseUrl}/`));
|
|
159
|
+
}
|
|
160
|
+
function observeUndiciCreate(state, message) {
|
|
161
|
+
const diagnostic = undiciMessage(message);
|
|
162
|
+
const url = diagnostic === null ? null : undiciUrl(diagnostic.request);
|
|
163
|
+
if (diagnostic === null || !observesUrl(state, url)) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
state.undici.set(diagnostic.request, {
|
|
167
|
+
responseBody: createBodyCapture(),
|
|
168
|
+
serverRequest: null
|
|
169
|
+
});
|
|
170
|
+
state.undiciRequests.add(diagnostic.request);
|
|
171
|
+
const identity = undiciRequestIdentity(diagnostic.request, url);
|
|
172
|
+
state.expectedByRequest.set(identity, [
|
|
173
|
+
...state.expectedByRequest.get(identity) ?? [],
|
|
174
|
+
{ scope: state.recorder.currentScope(), undiciRequest: diagnostic.request }
|
|
175
|
+
]);
|
|
176
|
+
}
|
|
177
|
+
function observeNodeClientStart(state, message) {
|
|
178
|
+
if (!isRecord(message) || !isObservedNodeClientRequest(message.request)) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const url = nodeClientUrl(message.request);
|
|
182
|
+
if (!observesUrl(state, url)) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
const identity = requestIdentity(message.request.method, url);
|
|
186
|
+
state.expectedByRequest.set(identity, [
|
|
187
|
+
...state.expectedByRequest.get(identity) ?? [],
|
|
188
|
+
{ scope: state.recorder.currentScope(), undiciRequest: null }
|
|
189
|
+
]);
|
|
190
|
+
}
|
|
191
|
+
function takeExpectedRequest(state, identity) {
|
|
192
|
+
const expected = state.expectedByRequest.get(identity) ?? [];
|
|
193
|
+
const request = expected[0] ?? null;
|
|
194
|
+
state.expectedByRequest.set(identity, expected.slice(1));
|
|
195
|
+
return request;
|
|
196
|
+
}
|
|
197
|
+
function pairUndiciRequest(state, url, serverRequest) {
|
|
198
|
+
const expected = takeExpectedRequest(state, requestIdentity(serverRequest.method ?? 'GET', url));
|
|
199
|
+
if (expected === null) {
|
|
200
|
+
return state.recorder.currentScope();
|
|
201
|
+
}
|
|
202
|
+
if (expected.undiciRequest === null) {
|
|
203
|
+
return expected.scope;
|
|
204
|
+
}
|
|
205
|
+
const observation = state.undici.get(expected.undiciRequest);
|
|
206
|
+
if (observation === undefined) {
|
|
207
|
+
return state.recorder.currentScope();
|
|
208
|
+
}
|
|
209
|
+
state.undici.set(expected.undiciRequest, { ...observation, serverRequest });
|
|
210
|
+
return expected.scope;
|
|
211
|
+
}
|
|
212
|
+
function observeServerStart(state, message) {
|
|
213
|
+
const diagnostic = serverMessage(message, state.server);
|
|
214
|
+
if (diagnostic === null) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
const url = requestUrl(diagnostic.request, state.baseUrl);
|
|
218
|
+
const body = createBodyCapture();
|
|
219
|
+
const scope = pairUndiciRequest(state, url, diagnostic.request);
|
|
220
|
+
state.requests.set(diagnostic.request, {
|
|
221
|
+
body,
|
|
222
|
+
request: {
|
|
223
|
+
body: { kind: 'unavailable', reason: 'body-not-observed' },
|
|
224
|
+
headers: incomingHeaders(diagnostic.request.headers),
|
|
225
|
+
method: diagnostic.request.method ?? 'GET',
|
|
226
|
+
url
|
|
227
|
+
},
|
|
228
|
+
sequence: state.recorder.nextSequence(),
|
|
229
|
+
scope
|
|
230
|
+
});
|
|
231
|
+
state.activeRequests.add(diagnostic.request);
|
|
232
|
+
diagnostic.request.on('data', body.append);
|
|
233
|
+
}
|
|
234
|
+
function hasUndiciPair(state, request) {
|
|
235
|
+
return Array.from(state.undiciRequests.values()).some(function matches(undiciRequest) {
|
|
236
|
+
return state.undici.get(undiciRequest)?.serverRequest === request;
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
function observeServerFinish(state, message) {
|
|
240
|
+
const diagnostic = serverMessage(message, state.server);
|
|
241
|
+
const observation = diagnostic === null ? undefined : state.requests.get(diagnostic.request);
|
|
242
|
+
if (diagnostic === null || observation === undefined) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
if (!hasUndiciPair(state, diagnostic.request)) {
|
|
246
|
+
state.activeRequests.delete(diagnostic.request);
|
|
247
|
+
state.recorder.record({
|
|
248
|
+
context: null,
|
|
249
|
+
outcome: {
|
|
250
|
+
kind: 'response',
|
|
251
|
+
response: {
|
|
252
|
+
body: { kind: 'unavailable', reason: 'transport-does-not-expose-body' },
|
|
253
|
+
headers: outgoingHeaders(diagnostic.response.getHeaders()),
|
|
254
|
+
status: diagnostic.response.statusCode,
|
|
255
|
+
statusText: responseStatusText(diagnostic.response.statusCode, diagnostic.response.statusMessage)
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
request: { ...observation.request, body: observation.body.body() },
|
|
259
|
+
sequence: observation.sequence
|
|
260
|
+
}, observation.scope);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
function undiciObservation(state, message) {
|
|
264
|
+
const diagnostic = undiciMessage(message);
|
|
265
|
+
const observation = diagnostic === null ? undefined : state.undici.get(diagnostic.request);
|
|
266
|
+
return diagnostic === null || observation === undefined ? null : { observation, request: diagnostic.request };
|
|
267
|
+
}
|
|
268
|
+
function observeUndiciBody(state, message) {
|
|
269
|
+
const diagnostic = undiciObservation(state, message);
|
|
270
|
+
if (diagnostic !== null && isRecord(message) && message.chunk instanceof Uint8Array) {
|
|
271
|
+
diagnostic.observation.responseBody.append(message.chunk);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
function forgetUndiciRequest(state, request) {
|
|
275
|
+
const serverRequest = state.undici.get(request)?.serverRequest;
|
|
276
|
+
if (serverRequest !== null && serverRequest !== undefined) {
|
|
277
|
+
state.activeRequests.delete(serverRequest);
|
|
278
|
+
}
|
|
279
|
+
state.undici.delete(request);
|
|
280
|
+
state.undiciRequests.delete(request);
|
|
281
|
+
state.undiciResponses.delete(request);
|
|
282
|
+
}
|
|
283
|
+
function pairedServerObservation(state, diagnostic) {
|
|
284
|
+
const serverRequest = diagnostic?.observation.serverRequest;
|
|
285
|
+
return serverRequest === null || serverRequest === undefined ? undefined : state.requests.get(serverRequest);
|
|
286
|
+
}
|
|
287
|
+
function undiciCompletion(state, diagnostic) {
|
|
288
|
+
const serverObservation = pairedServerObservation(state, diagnostic);
|
|
289
|
+
const response = state.undiciResponses.get(diagnostic.request);
|
|
290
|
+
if (serverObservation === undefined || response === undefined) {
|
|
291
|
+
forgetUndiciRequest(state, diagnostic.request);
|
|
292
|
+
throw new TypeError(`Undici diagnostics response lifecycle is missing ${serverObservation === undefined ? 'server' : 'client'} data.`);
|
|
293
|
+
}
|
|
294
|
+
return { response, serverObservation };
|
|
295
|
+
}
|
|
296
|
+
function observeUndiciCompletion(state, message) {
|
|
297
|
+
const diagnostic = undiciObservation(state, message);
|
|
298
|
+
if (diagnostic === null) {
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
const { response, serverObservation } = undiciCompletion(state, diagnostic);
|
|
302
|
+
try {
|
|
303
|
+
state.recorder.record({
|
|
304
|
+
context: null,
|
|
305
|
+
outcome: {
|
|
306
|
+
kind: 'response',
|
|
307
|
+
response: responseSnapshot(response, diagnostic.observation.responseBody.body())
|
|
308
|
+
},
|
|
309
|
+
request: { ...serverObservation.request, body: serverObservation.body.body() },
|
|
310
|
+
sequence: serverObservation.sequence
|
|
311
|
+
}, serverObservation.scope);
|
|
312
|
+
}
|
|
313
|
+
finally {
|
|
314
|
+
forgetUndiciRequest(state, diagnostic.request);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
function observeUndiciHeaders(state, message) {
|
|
318
|
+
const diagnostic = undiciObservation(state, message);
|
|
319
|
+
if (diagnostic !== null && isRecord(message) && isRecord(message.response)) {
|
|
320
|
+
state.undiciResponses.set(diagnostic.request, message.response);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
function observeUndiciError(state, message) {
|
|
324
|
+
const diagnostic = undiciObservation(state, message);
|
|
325
|
+
const serverObservation = pairedServerObservation(state, diagnostic);
|
|
326
|
+
if (diagnostic === null || !isRecord(message)) {
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
if (serverObservation !== undefined) {
|
|
330
|
+
state.recorder.record({
|
|
331
|
+
context: null,
|
|
332
|
+
outcome: { error: recordedHttpError(message.error), kind: 'error' },
|
|
333
|
+
request: { ...serverObservation.request, body: serverObservation.body.body() },
|
|
334
|
+
sequence: serverObservation.sequence
|
|
335
|
+
}, serverObservation.scope);
|
|
336
|
+
}
|
|
337
|
+
forgetUndiciRequest(state, diagnostic.request);
|
|
338
|
+
}
|
|
339
|
+
function guardedObserver(state, source, observer) {
|
|
340
|
+
return function observeSafely(message) {
|
|
341
|
+
try {
|
|
342
|
+
observer(message);
|
|
343
|
+
}
|
|
344
|
+
catch (error) {
|
|
345
|
+
state.recorder.recordCaptureError(source, error, state.recorder.currentScope());
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
function subscribeObservers(state) {
|
|
350
|
+
const registrations = [
|
|
351
|
+
[channels.undiciCreate, 'undici', observeUndiciCreate.bind(undefined, state)],
|
|
352
|
+
[channels.nodeClientStart, 'node-http', observeNodeClientStart.bind(undefined, state)],
|
|
353
|
+
[channels.serverStart, 'node-http', observeServerStart.bind(undefined, state)],
|
|
354
|
+
[channels.serverFinish, 'node-http', observeServerFinish.bind(undefined, state)],
|
|
355
|
+
[channels.undiciBodyReceived, 'undici', observeUndiciBody.bind(undefined, state)],
|
|
356
|
+
[channels.undiciTrailers, 'undici', observeUndiciCompletion.bind(undefined, state)],
|
|
357
|
+
[channels.undiciHeaders, 'undici', observeUndiciHeaders.bind(undefined, state)],
|
|
358
|
+
[channels.undiciError, 'undici', observeUndiciError.bind(undefined, state)]
|
|
359
|
+
];
|
|
360
|
+
for (const [name, source, observer] of registrations) {
|
|
361
|
+
const listener = guardedObserver(state, source, observer);
|
|
362
|
+
state.listeners.set(name, listener);
|
|
363
|
+
diagnosticsChannel.subscribe(name, listener);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
function disposeObservers(state) {
|
|
367
|
+
for (const [name, listener] of state.listeners.entries()) {
|
|
368
|
+
diagnosticsChannel.unsubscribe(name, listener);
|
|
369
|
+
}
|
|
370
|
+
for (const request of state.activeRequests.values()) {
|
|
371
|
+
const observation = state.requests.get(request);
|
|
372
|
+
if (observation !== undefined) {
|
|
373
|
+
const interaction = {
|
|
374
|
+
context: null,
|
|
375
|
+
outcome: { kind: 'incomplete', reason: 'resource-disposed' },
|
|
376
|
+
request: { ...observation.request, body: observation.body.body() },
|
|
377
|
+
sequence: observation.sequence
|
|
378
|
+
};
|
|
379
|
+
state.recorder.record(interaction, observation.scope);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
export function observeLocalHttpServer(server, baseUrl) {
|
|
384
|
+
const state = createObserverState(server, baseUrl);
|
|
385
|
+
subscribeObservers(state);
|
|
386
|
+
return Object.freeze({
|
|
387
|
+
dispose() {
|
|
388
|
+
disposeObservers(state);
|
|
389
|
+
},
|
|
390
|
+
transcript: state.recorder.transcript
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
//# sourceMappingURL=local-http-transcript-observer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-http-transcript-observer.js","sourceRoot":"","sources":["../../../../source/resources/local-http-transcript-observer.ts"],"names":[],"mappings":"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"}
|
package/resources/resources.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type TranscriptView } from '@overkill-dev/simulation/transcript';
|
|
1
2
|
import { defineRuntime as createRuntimeDefinition, isDefinedRuntime as isRuntimeDefinition, resolvedRuntimeScenarioOwners as readRuntimeScenarioOwners, type RuntimeDefinition as RuntimeDefinitionDescriptor, type RuntimeDefinitionInput as RuntimeDefinitionDescriptorInput, type RuntimeDimensions as RuntimeDimensionMap, type RuntimeId as RuntimeIdentity, type RuntimeScenarioOwner as RuntimeScenarioOwnerShape } from './runtime-definition.ts';
|
|
2
3
|
import { type ComposedRuntimeGraph as ComposedRuntimeGraphDescriptor, type RuntimeGraph as RuntimeGraphDescriptor, type RuntimeGraphLeaf as RuntimeGraphLeafDescriptor, type RuntimeMatrixDefinition as RuntimeMatrixDescriptor, type RuntimeMatrixDefinitionInput as RuntimeMatrixDescriptorInput, type SharedRuntimeMatrixDefinitionInput as SharedRuntimeMatrixDescriptorInput, type RuntimeMatrixVariant as RuntimeMatrixVariantDescriptor } from './runtime-matrix-definition.ts';
|
|
3
4
|
import type { AnyResourceDefinition as AnyResourceDefinitionShape, Awaitable as AwaitableShape, EmptyResourceDependencies as EmptyResourceDependenciesShape, ExecutionRequirement as ExecutionRequirementShape, ResourceDependencies as ResourceDependenciesShape, ResourceProjectionPayload as ResourceProjectionPayloadShape, ResourceScope as ResourceScopeShape, RuntimeResourceMap as RuntimeResourceMapShape } from './resource-definition-shape.ts';
|
|
@@ -91,6 +92,7 @@ type ComposedRuntimeScopes<BaseContext, Runtime extends RuntimeGraph> = {
|
|
|
91
92
|
export type RuntimeContextComposition<BaseContext, Runtime extends RuntimeGraph> = Readonly<ComposedRuntimeScopes<BaseContext, Runtime> & RuntimeScopeBaseContext<BaseContext>>;
|
|
92
93
|
export type TemporaryDirectoryHandle = {
|
|
93
94
|
readonly path: string;
|
|
95
|
+
readonly transcript: TranscriptView<never>;
|
|
94
96
|
};
|
|
95
97
|
type CreateTemporaryDirectoryResource = <const Name extends string>(name: Name) => ResourceDefinition<Name, TemporaryDirectoryHandle, EmptyResourceDependencies>;
|
|
96
98
|
export type ResourcesModule = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,IAAI,uBAAuB,EACxC,gBAAgB,IAAI,mBAAmB,EACvC,6BAA6B,IAAI,yBAAyB,EAC1D,KAAK,iBAAiB,IAAI,2BAA2B,EACrD,KAAK,sBAAsB,IAAI,gCAAgC,EAC/D,KAAK,iBAAiB,IAAI,mBAAmB,EAC7C,KAAK,SAAS,IAAI,eAAe,EACjC,KAAK,oBAAoB,IAAI,yBAAyB,EACzD,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEH,KAAK,oBAAoB,IAAI,8BAA8B,EAC3D,KAAK,YAAY,IAAI,sBAAsB,EAC3C,KAAK,gBAAgB,IAAI,0BAA0B,EACnD,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,4BAA4B,IAAI,4BAA4B,EACjE,KAAK,kCAAkC,IAAI,kCAAkC,EAC7E,KAAK,oBAAoB,IAAI,8BAA8B,EAC9D,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACR,qBAAqB,IAAI,0BAA0B,EACnD,SAAS,IAAI,cAAc,EAC3B,yBAAyB,IAAI,8BAA8B,EAC3D,oBAAoB,IAAI,yBAAyB,EACjD,oBAAoB,IAAI,yBAAyB,EACjD,yBAAyB,IAAI,8BAA8B,EAC3D,aAAa,IAAI,kBAAkB,EACnC,kBAAkB,IAAI,uBAAuB,EAChD,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EACR,cAAc,IAAI,mBAAmB,EACrC,eAAe,IAAI,oBAAoB,EACvC,uBAAuB,IAAI,4BAA4B,EACvD,kBAAkB,IAAI,uBAAuB,EAC7C,uBAAuB,IAAI,4BAA4B,EACvD,uBAAuB,IAAI,4BAA4B,EACvD,cAAc,IAAI,mBAAmB,EACrC,yBAAyB,IAAI,8BAA8B,EAC9D,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACR,wBAAwB,IAAI,6BAA6B,EACzD,oBAAoB,IAAI,yBAAyB,EACjD,yBAAyB,IAAI,8BAA8B,EAC3D,0BAA0B,IAAI,+BAA+B,EAC7D,qBAAqB,IAAI,0BAA0B,EACnD,+BAA+B,IAAI,oCAAoC,EACvE,cAAc,IAAI,mBAAmB,EACxC,MAAM,wBAAwB,CAAC;QAGhC,MAAM,oBAAoB,2aAA6C,CAAC;AACxE,QAAA,MAAM,6BAA6B;;;CAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"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"}
|
package/resources/resources.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { emptyTranscriptView } from "@overkill-dev/simulation/transcript";
|
|
1
2
|
import { defineRuntime as createRuntimeDefinition, isDefinedRuntime as isRuntimeDefinition, resolvedRuntimeScenarioOwners as readRuntimeScenarioOwners } from "./runtime-definition.js";
|
|
2
3
|
import { runtimeMatrixDefinitionApi } from "./runtime-matrix-definition.js";
|
|
3
4
|
import { resourceDefinitionApi } from "./resource-definition.js";
|
|
@@ -5,18 +6,15 @@ import { resolvedResourceScenarioBindings as readResourceScenarioBindings } from
|
|
|
5
6
|
const composeRuntimeGraphs = runtimeMatrixDefinitionApi.composeRuntimes;
|
|
6
7
|
const createRuntimeMatrixDefinition = runtimeMatrixDefinitionApi.defineRuntimeMatrix;
|
|
7
8
|
const { isComposedRuntimeGraph } = runtimeMatrixDefinitionApi;
|
|
8
|
-
const isRuntimeMatrixDefinition = runtimeMatrixDefinitionApi.isDefinedRuntimeMatrix;
|
|
9
|
-
const runtimeGraphLeafDescriptors = runtimeMatrixDefinitionApi.runtimeGraphLeaves;
|
|
10
|
-
const isResourceDefinition = resourceDefinitionApi.isDefinedResource;
|
|
11
9
|
export const { isDefinedResource, resolvedResourceScenarioBindings, resolvedRuntimeScenarioOwners } = Object.freeze({
|
|
12
|
-
isDefinedResource:
|
|
10
|
+
isDefinedResource: resourceDefinitionApi.isDefinedResource,
|
|
13
11
|
resolvedResourceScenarioBindings: readResourceScenarioBindings,
|
|
14
12
|
resolvedRuntimeScenarioOwners: readRuntimeScenarioOwners
|
|
15
13
|
});
|
|
16
14
|
export const { defineResource } = resourceDefinitionApi;
|
|
17
15
|
export const defineRuntime = createRuntimeDefinition;
|
|
18
16
|
export const isDefinedRuntime = isRuntimeDefinition;
|
|
19
|
-
export const isDefinedRuntimeMatrix =
|
|
17
|
+
export const { isDefinedRuntimeMatrix } = runtimeMatrixDefinitionApi;
|
|
20
18
|
export const composeRuntimes = composeRuntimeGraphs;
|
|
21
19
|
function assertRuntimeContextHandles(runtime, nextRuntimes) {
|
|
22
20
|
if (!isComposedRuntimeGraph(runtime)) {
|
|
@@ -41,7 +39,8 @@ function createTemporaryDirectoryResource(dependencies, name) {
|
|
|
41
39
|
async acquire(context) {
|
|
42
40
|
context.signal.throwIfAborted();
|
|
43
41
|
return Object.freeze({
|
|
44
|
-
path: await dependencies.createTemporaryDirectory(dependencies.temporaryDirectoryPathPrefix)
|
|
42
|
+
path: await dependencies.createTemporaryDirectory(dependencies.temporaryDirectoryPathPrefix),
|
|
43
|
+
transcript: emptyTranscriptView()
|
|
45
44
|
});
|
|
46
45
|
},
|
|
47
46
|
async dispose(handle) {
|
|
@@ -86,7 +85,7 @@ export function isDefinedRuntimeGraph(runtime) {
|
|
|
86
85
|
return isDefinedRuntime(runtime) || isDefinedRuntimeMatrix(runtime) || isComposedRuntimeGraph(runtime);
|
|
87
86
|
}
|
|
88
87
|
export function runtimeGraphLeaves(runtime) {
|
|
89
|
-
const leaves =
|
|
88
|
+
const leaves = runtimeMatrixDefinitionApi.runtimeGraphLeaves(runtime);
|
|
90
89
|
return leaves;
|
|
91
90
|
}
|
|
92
91
|
//# sourceMappingURL=resources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,IAAI,uBAAuB,EACxC,gBAAgB,IAAI,mBAAmB,EACvC,6BAA6B,IAAI,yBAAyB,EAM7D,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,0BAA0B,EAQ7B,MAAM,gCAAgC,CAAC;AAWxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAoBjE,OAAO,EAAE,gCAAgC,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAElH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,eAAe,CAAC;AACxE,MAAM,6BAA6B,GAAG,0BAA0B,CAAC,mBAAmB,CAAC;AACrF,MAAM,EAAE,sBAAsB,EAAE,GAAG,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../source/resources/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,qCAAkD,CAAC;AAC5G,OAAO,EACH,aAAa,IAAI,uBAAuB,EACxC,gBAAgB,IAAI,mBAAmB,EACvC,6BAA6B,IAAI,yBAAyB,EAM7D,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,0BAA0B,EAQ7B,MAAM,gCAAgC,CAAC;AAWxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAoBjE,OAAO,EAAE,gCAAgC,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAElH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,eAAe,CAAC;AACxE,MAAM,6BAA6B,GAAG,0BAA0B,CAAC,mBAAmB,CAAC;AACrF,MAAM,EAAE,sBAAsB,EAAE,GAAG,0BAA0B,CAAC;AAE9D,MAAM,CAAC,MAAM,EACT,iBAAiB,EACjB,gCAAgC,EAChC,6BAA6B,EAChC,GAAG,MAAM,CAAC,MAAM,CAAC;IACd,iBAAiB,EAAE,qBAAqB,CAAC,iBAAiB;IAC1D,gCAAgC,EAAE,4BAA4B;IAC9D,6BAA6B,EAAE,yBAAyB;CAC3D,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,qBAAqB,CAAC;AAiDxD,MAAM,CAAC,MAAM,aAAa,GAAG,uBAAuB,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AACpD,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG,0BAA0B,CAAC;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AA8FpD,SAAS,2BAA2B,CAChC,OAAqB,EACrB,YAA+C;IAE/C,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,SAAS,CAAC,kBAAkB,YAAY,CAAC,IAAI,eAAe,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC1B,OAAqB,EACrB,eAAkD;IAElD,OAAO,sBAAsB,CAAC,OAAO,CAAC;QAClC,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;AAC9C,CAAC;AA0BD,SAAS,gCAAgC,CACrC,YAAyC,EACzC,IAAU;IAEV,OAAO,cAAc,CAAC;QAClB,IAAI;QACJ,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,EAAE;QAChB,KAAK,CAAC,OAAO,CAAC,OAAO;YACjB,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAEhC,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,IAAI,EAAE,MAAM,YAAY,CAAC,wBAAwB,CAAC,YAAY,CAAC,4BAA4B,CAAC;gBAC5F,UAAU,EAAE,mBAAmB,EAAE;aACpC,CAAC,CAAC;QACP,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,MAAM;YAChB,MAAM,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAUD,SAAS,qBAAqB,CAC1B,OAA0C,EAC1C,OAAqB,EACrB,eAAkD;IAElD,MAAM,QAAQ,GAAY,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAErG,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,SAAS,CAAC,iFAAiF,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACrE,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,iBAAiB,CAAC,WAAW;QAC9F,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,2BAA2B,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEnD,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,kBAAkB,oBAAoB,mBAAmB,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,GAAG,OAAO;QACV,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,GAAG,QAAQ;YACX,GAAG,YAAY;SAClB,CAAC;KACL,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,YAAyC;IAC3E,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,qBAAqB;QACrB,gCAAgC,CAAC,IAAI;YACjC,OAAO,gCAAgC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,eAAe;QACf,cAAc;QACd,aAAa;QACb,mBAAmB,EAAE,6BAA6B;KACrD,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,sBAAsB,CAAC,OAAO,CAAC,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAqB;IACpD,MAAM,MAAM,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEtE,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SimulatedHttpServerDefinition, SimulationScenarioCatalog } from '@overkill-dev/simulation';
|
|
2
|
+
import type { HttpTranscript } from '@overkill-dev/simulation/transcript';
|
|
2
3
|
import { type EmptyResourceDependencies, type ResourceDefinition } from './resources.ts';
|
|
3
4
|
import type { ResourceScenarioSlot } from './resource-scenario.ts';
|
|
4
5
|
import { type LocalHttpServiceHandle } from './local-http-service-resource.ts';
|
|
@@ -13,6 +14,9 @@ export type SimulatedHttpServerResourceHandle<Simulation extends {
|
|
|
13
14
|
readonly baseUrl: string;
|
|
14
15
|
readonly endpoint: LocalHttpServiceHandle['endpoint'];
|
|
15
16
|
readonly scenarioUrl: (scenario: string & keyof Simulation['scenarios'], path: string) => string;
|
|
17
|
+
readonly transcript: HttpTranscript<{
|
|
18
|
+
readonly scenario: string;
|
|
19
|
+
}>;
|
|
16
20
|
};
|
|
17
21
|
export type SimulatedHttpServerResource<Simulation extends {
|
|
18
22
|
readonly name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulated-http-server-resource.d.ts","sourceRoot":"","sources":["../../../../source/resources/simulated-http-server-resource.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,6BAA6B,EAC7B,yBAAyB,EAC5B,MAAM,0BAAkD,CAAC;AAC1D,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAA6B,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACR,0BAA0B,EAC7B,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,kCAAkC,CAC1C,IAAI,SAAS,MAAM,EACnB,SAAS,SAAS,yBAAyB,IAC3C;IACA,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,iCAAiC,CACzC,UAAU,SAAS;IACf,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;CACjD,IACD;IACA,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"simulated-http-server-resource.d.ts","sourceRoot":"","sources":["../../../../source/resources/simulated-http-server-resource.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,6BAA6B,EAC7B,yBAAyB,EAC5B,MAAM,0BAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAkD,CAAC;AACvF,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAA6B,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACR,0BAA0B,EAC7B,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,kCAAkC,CAC1C,IAAI,SAAS,MAAM,EACnB,SAAS,SAAS,yBAAyB,IAC3C;IACA,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,iCAAiC,CACzC,UAAU,SAAS;IACf,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;CACjD,IACD;IACA,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACjG,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC;CACvE,CAAC;AAMF,MAAM,MAAM,2BAA2B,CACnC,UAAU,SAAS;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;CACjD,IACD,kBAAkB,CAClB,UAAU,CAAC,MAAM,CAAC,EAClB,iCAAiC,CAAC,UAAU,CAAC,EAC7C,yBAAyB,EACzB,iCAAiC,CAAC,UAAU,CAAC,EAC7C,QAAQ,CACJ,MAAM,CACF,UAAU,CAAC,MAAM,CAAC,EAClB,oBAAoB,CAAC,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,CACjF,CACJ,CACJ,CAAC;AAoEF,wBAAgB,iCAAiC,CAC7C,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,KAAK,CAAC,SAAS,SAAS,yBAAyB,EAEjD,OAAO,EAAE,kCAAkC,CAAC,IAAI,EAAE,SAAS,CAAC,GAC7D,2BAA2B,CAAC,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CA6F7E"}
|
|
@@ -11,6 +11,7 @@ function simulatedHttpServerResourceHandle(service, scenario) {
|
|
|
11
11
|
return Object.freeze({
|
|
12
12
|
baseUrl: scenario === 'default' ? service.baseUrl : scenarioUrl(service.baseUrl, scenario, '/'),
|
|
13
13
|
endpoint: service.endpoint,
|
|
14
|
+
transcript: service.transcript,
|
|
14
15
|
scenarioUrl(requestedScenario, path) {
|
|
15
16
|
return scenarioUrl(service.baseUrl, requestedScenario, path);
|
|
16
17
|
}
|
|
@@ -42,6 +43,7 @@ function simulatedHttpScenarioSlots(name, simulationScenarios) {
|
|
|
42
43
|
}
|
|
43
44
|
export function createSimulatedHttpServerResource(options) {
|
|
44
45
|
const handlerErrors = new WeakMap();
|
|
46
|
+
const transcripts = new WeakMap();
|
|
45
47
|
const acquiredServices = new WeakMap();
|
|
46
48
|
const service = createLocalHttpServiceResource({
|
|
47
49
|
name: options.simulation.name,
|
|
@@ -53,14 +55,28 @@ export function createSimulatedHttpServerResource(options) {
|
|
|
53
55
|
context.signal.throwIfAborted();
|
|
54
56
|
const listeningServer = createSimulatedHttpListeningServer(options.simulation, context.address.host);
|
|
55
57
|
handlerErrors.set(listeningServer.server, listeningServer.errors);
|
|
58
|
+
transcripts.set(listeningServer.server, listeningServer.transcript);
|
|
56
59
|
return listeningServer.server;
|
|
57
60
|
},
|
|
58
|
-
handle(localService) {
|
|
59
|
-
|
|
61
|
+
handle(localService, server) {
|
|
62
|
+
const transcript = transcripts.get(server);
|
|
63
|
+
if (transcript === undefined) {
|
|
64
|
+
throw new TypeError('Simulated HTTP server transcript is unavailable.');
|
|
65
|
+
}
|
|
66
|
+
return Object.freeze({ ...localService, transcript });
|
|
60
67
|
},
|
|
61
68
|
dispose(server) {
|
|
62
69
|
assertNoSimulatedHttpHandlerErrors(handlerErrors.get(server) ?? []);
|
|
63
70
|
}
|
|
71
|
+
}, {
|
|
72
|
+
kind: 'custom',
|
|
73
|
+
transcript(server) {
|
|
74
|
+
const transcript = transcripts.get(server);
|
|
75
|
+
if (transcript === undefined) {
|
|
76
|
+
throw new TypeError('Simulated HTTP server transcript is unavailable.');
|
|
77
|
+
}
|
|
78
|
+
return transcript;
|
|
79
|
+
}
|
|
64
80
|
});
|
|
65
81
|
const scenarios = simulatedHttpScenarioSlots(options.simulation.name, options.simulation.scenarios);
|
|
66
82
|
return defineResource({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulated-http-server-resource.js","sourceRoot":"","sources":["../../../../source/resources/simulated-http-server-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kCAAkC,EAClC,kCAAkC,EACrC,MAAM,+BAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"simulated-http-server-resource.js","sourceRoot":"","sources":["../../../../source/resources/simulated-http-server-resource.ts"],"names":[],"mappings":"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"}
|
package/sbom.cdx.json
CHANGED
|
@@ -16,52 +16,52 @@
|
|
|
16
16
|
"component": {
|
|
17
17
|
"type": "library",
|
|
18
18
|
"name": "@overkill-dev/resources",
|
|
19
|
-
"version": "0.0.
|
|
20
|
-
"bom-ref": "pkg:npm/@overkill-dev/resources@0.0.
|
|
21
|
-
"purl": "pkg:npm/@overkill-dev/resources@0.0.
|
|
19
|
+
"version": "0.0.10",
|
|
20
|
+
"bom-ref": "pkg:npm/@overkill-dev/resources@0.0.10",
|
|
21
|
+
"purl": "pkg:npm/@overkill-dev/resources@0.0.10"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"components": [
|
|
25
25
|
{
|
|
26
26
|
"type": "library",
|
|
27
27
|
"name": "@overkill-dev/simulation",
|
|
28
|
-
"version": "0.0.
|
|
29
|
-
"bom-ref": "pkg:npm/@overkill-dev/simulation@0.0.
|
|
28
|
+
"version": "0.0.4",
|
|
29
|
+
"bom-ref": "pkg:npm/@overkill-dev/simulation@0.0.4",
|
|
30
30
|
"scope": "optional",
|
|
31
31
|
"licenses": [
|
|
32
32
|
{
|
|
33
33
|
"expression": "MIT"
|
|
34
34
|
}
|
|
35
35
|
],
|
|
36
|
-
"purl": "pkg:npm/@overkill-dev/simulation@0.0.
|
|
36
|
+
"purl": "pkg:npm/@overkill-dev/simulation@0.0.4"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"type": "library",
|
|
40
40
|
"name": "type-fest",
|
|
41
|
-
"version": "5.
|
|
42
|
-
"bom-ref": "pkg:npm/type-fest@5.
|
|
41
|
+
"version": "5.10.0",
|
|
42
|
+
"bom-ref": "pkg:npm/type-fest@5.10.0",
|
|
43
43
|
"scope": "required",
|
|
44
44
|
"licenses": [
|
|
45
45
|
{
|
|
46
46
|
"expression": "(MIT OR CC0-1.0)"
|
|
47
47
|
}
|
|
48
48
|
],
|
|
49
|
-
"purl": "pkg:npm/type-fest@5.
|
|
49
|
+
"purl": "pkg:npm/type-fest@5.10.0"
|
|
50
50
|
}
|
|
51
51
|
],
|
|
52
52
|
"dependencies": [
|
|
53
53
|
{
|
|
54
|
-
"ref": "pkg:npm/@overkill-dev/resources@0.0.
|
|
54
|
+
"ref": "pkg:npm/@overkill-dev/resources@0.0.10",
|
|
55
55
|
"dependsOn": [
|
|
56
|
-
"pkg:npm/@overkill-dev/simulation@0.0.
|
|
57
|
-
"pkg:npm/type-fest@5.
|
|
56
|
+
"pkg:npm/@overkill-dev/simulation@0.0.4",
|
|
57
|
+
"pkg:npm/type-fest@5.10.0"
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
|
-
"ref": "pkg:npm/@overkill-dev/simulation@0.0.
|
|
61
|
+
"ref": "pkg:npm/@overkill-dev/simulation@0.0.4"
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
|
-
"ref": "pkg:npm/type-fest@5.
|
|
64
|
+
"ref": "pkg:npm/type-fest@5.10.0"
|
|
65
65
|
}
|
|
66
66
|
]
|
|
67
67
|
}
|