@astrale-os/kernel-server 0.5.0-beta.2 → 0.5.0-beta.4
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/dist/errors/classify.d.ts +1 -1
- package/dist/errors/classify.d.ts.map +1 -1
- package/dist/errors/classify.js +3 -277
- package/dist/errors/classify.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/invocation/context.d.ts +1 -1
- package/dist/invocation/context.d.ts.map +1 -1
- package/dist/invocation/context.js +2 -2
- package/dist/invocation/context.js.map +1 -1
- package/dist/invocation/identity.d.ts +10 -0
- package/dist/invocation/identity.d.ts.map +1 -0
- package/dist/invocation/identity.js +12 -0
- package/dist/invocation/identity.js.map +1 -0
- package/dist/invocation/index.d.ts +2 -1
- package/dist/invocation/index.d.ts.map +1 -1
- package/dist/invocation/index.js +1 -0
- package/dist/invocation/index.js.map +1 -1
- package/dist/invocation/types.d.ts +32 -7
- package/dist/invocation/types.d.ts.map +1 -1
- package/dist/routes/routes.d.ts +2 -1
- package/dist/routes/routes.d.ts.map +1 -1
- package/dist/routes/routes.js +3 -2
- package/dist/routes/routes.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +6 -1
- package/dist/server.js.map +1 -1
- package/dist/transport/http/handler.d.ts +2 -0
- package/dist/transport/http/handler.d.ts.map +1 -1
- package/dist/transport/http/handler.js +33 -31
- package/dist/transport/http/handler.js.map +1 -1
- package/dist/transport/http/render.d.ts +8 -7
- package/dist/transport/http/render.d.ts.map +1 -1
- package/dist/transport/http/render.js +47 -38
- package/dist/transport/http/render.js.map +1 -1
- package/dist/transport/websocket/session.d.ts +2 -0
- package/dist/transport/websocket/session.d.ts.map +1 -1
- package/dist/transport/websocket/session.js +42 -36
- package/dist/transport/websocket/session.js.map +1 -1
- package/dist/transport/websocket/upgrade.d.ts +2 -0
- package/dist/transport/websocket/upgrade.d.ts.map +1 -1
- package/dist/transport/websocket/upgrade.js +1 -0
- package/dist/transport/websocket/upgrade.js.map +1 -1
- package/dist/types.d.ts +5 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { errors } from '@astrale-os/kernel-protocol';
|
|
2
|
-
/** Convert only errors owned by an admitted
|
|
2
|
+
/** Convert only errors owned by an admitted Server or Protocol boundary into safe public data. */
|
|
3
3
|
export declare function classifyError(input: unknown): errors.ErrorPayload;
|
|
4
4
|
//# sourceMappingURL=classify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../errors/classify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../errors/classify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAKpD,kGAAkG;AAClG,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,YAAY,CAYjE"}
|
package/dist/errors/classify.js
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import { PathError } from '@astrale-os/kernel-core/path';
|
|
2
|
-
import { AuthenticationError } from '@astrale-os/kernel-ports/authentication';
|
|
3
|
-
import { AuthorizationError } from '@astrale-os/kernel-ports/authorization';
|
|
4
|
-
import { EventError } from '@astrale-os/kernel-ports/events';
|
|
5
|
-
import { FunctionError } from '@astrale-os/kernel-ports/functions';
|
|
6
|
-
import { NetworkError } from '@astrale-os/kernel-ports/network';
|
|
7
|
-
import { ObservabilityError } from '@astrale-os/kernel-ports/observability';
|
|
8
|
-
import { SchemaError } from '@astrale-os/kernel-ports/schema';
|
|
9
2
|
import { errors } from '@astrale-os/kernel-protocol';
|
|
10
3
|
import { RequestBodyTooLargeError } from './request-body.js';
|
|
11
4
|
import { ResponseBodyTooLargeError } from './response-body.js';
|
|
12
|
-
/** Convert only errors owned by an admitted
|
|
5
|
+
/** Convert only errors owned by an admitted Server or Protocol boundary into safe public data. */
|
|
13
6
|
export function classifyError(input) {
|
|
14
7
|
if (input instanceof errors.ProtocolError)
|
|
15
8
|
return input.payload;
|
|
@@ -22,282 +15,15 @@ export function classifyError(input) {
|
|
|
22
15
|
if (input instanceof PathError) {
|
|
23
16
|
return publicError('VALIDATION_ERROR', 'Target Path is invalid.');
|
|
24
17
|
}
|
|
25
|
-
if (input instanceof FunctionError)
|
|
26
|
-
return classifyFunction(input);
|
|
27
|
-
if (input instanceof AuthenticationError)
|
|
28
|
-
return classifyAuthentication(input);
|
|
29
|
-
if (input instanceof AuthorizationError)
|
|
30
|
-
return classifyAuthorization(input);
|
|
31
|
-
if (input instanceof SchemaError)
|
|
32
|
-
return classifySchema(input);
|
|
33
|
-
if (input instanceof EventError)
|
|
34
|
-
return classifyEvent(input);
|
|
35
|
-
if (input instanceof ObservabilityError)
|
|
36
|
-
return classifyObservability(input);
|
|
37
|
-
if (input instanceof NetworkError)
|
|
38
|
-
return classifyNetwork(input);
|
|
39
18
|
return internal(input);
|
|
40
19
|
}
|
|
41
|
-
function
|
|
42
|
-
|
|
43
|
-
switch (input.code) {
|
|
44
|
-
case 'FUNCTION_INVOCATION_INVALID':
|
|
45
|
-
return publicError('VALIDATION_ERROR', 'Function invocation is invalid.', input.code);
|
|
46
|
-
case 'FUNCTION_INPUT_INVALID':
|
|
47
|
-
return publicError('VALIDATION_ERROR', reasonMessage(reason, 'Function input is invalid.'), reason);
|
|
48
|
-
case 'FUNCTION_CONFLICT':
|
|
49
|
-
return publicError('CONFLICT', reasonMessage(reason, 'Function execution conflicts with current state.'), reason ?? input.code);
|
|
50
|
-
case 'FUNCTION_UNAVAILABLE':
|
|
51
|
-
return publicError('METHOD_NOT_FOUND', 'Callable was not found.');
|
|
52
|
-
case 'FUNCTION_DENIED':
|
|
53
|
-
return publicError('ACCESS_DENIED', 'Access denied.', reason);
|
|
54
|
-
case 'FUNCTION_MISS':
|
|
55
|
-
return publicError('METHOD_NOT_FOUND', 'Callable is not served by this application.', input.code);
|
|
56
|
-
case 'FUNCTION_BINDING_UNAVAILABLE':
|
|
57
|
-
return publicError('BACKEND_UNAVAILABLE', 'Callable execution is unavailable.');
|
|
58
|
-
case 'FUNCTION_EXECUTION_LIMIT':
|
|
59
|
-
return publicError('LIMIT_EXCEEDED', 'Function execution limit exceeded.', reason);
|
|
60
|
-
case 'FUNCTION_CANCELLED':
|
|
61
|
-
return publicError('CANCELLED', 'Function invocation was cancelled.', reason ?? input.code);
|
|
62
|
-
case 'FUNCTION_DEADLINE_EXCEEDED':
|
|
63
|
-
return publicError('DEADLINE_EXCEEDED', 'Function invocation deadline exceeded.', reason ?? input.code);
|
|
64
|
-
case 'FUNCTION_OUTCOME_UNKNOWN':
|
|
65
|
-
reportUnknownFunction(input);
|
|
66
|
-
return publicError('OUTCOME_UNKNOWN', 'Function outcome is unknown; do not retry automatically.', reason ?? input.code);
|
|
67
|
-
case 'FUNCTION_OUTPUT_INVALID':
|
|
68
|
-
case 'FUNCTION_BINDING_INVALID':
|
|
69
|
-
case 'FUNCTION_REDIRECT_INVALID':
|
|
70
|
-
case 'FUNCTION_RESULT_MISMATCH':
|
|
71
|
-
case 'RESULT_CONTRACT_VIOLATION':
|
|
72
|
-
return internal(input);
|
|
73
|
-
case 'FUNCTION_EXECUTION_FAILED':
|
|
74
|
-
return reason === undefined
|
|
75
|
-
? internal(input)
|
|
76
|
-
: publicError('BACKEND_UNAVAILABLE', reasonMessage(reason, 'Function execution is unavailable.'), reason);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
function classifyAuthentication(input) {
|
|
80
|
-
switch (input.code) {
|
|
81
|
-
case 'NO_AUTH':
|
|
82
|
-
return publicError('AUTH_MISSING', 'Authentication is required.');
|
|
83
|
-
case 'INVALID_CREDENTIAL':
|
|
84
|
-
case 'INVALID_GRANT':
|
|
85
|
-
case 'IDENTITY_NOT_FOUND':
|
|
86
|
-
case 'ISSUER_INVALID':
|
|
87
|
-
case 'ISSUER_NOT_FOUND':
|
|
88
|
-
return publicError('AUTH_INVALID', 'Credential is invalid.');
|
|
89
|
-
case 'GRANT_BROADENING':
|
|
90
|
-
case 'PROVISION_DENIED':
|
|
91
|
-
return publicError('ACCESS_DENIED', 'Access denied.');
|
|
92
|
-
case 'PROVISION_INVALID':
|
|
93
|
-
return publicError('VALIDATION_ERROR', 'Identity provision request is invalid.', input.code);
|
|
94
|
-
case 'IDENTITY_CONFLICT':
|
|
95
|
-
case 'PROVISION_CONFLICT':
|
|
96
|
-
case 'TRUST_REVISION_CONFLICT':
|
|
97
|
-
return publicError('CONFLICT', 'Authentication state changed.', input.code);
|
|
98
|
-
case 'PROVISION_OUTCOME_UNKNOWN':
|
|
99
|
-
return publicError('OUTCOME_UNKNOWN', 'Identity provision outcome is unknown; do not retry automatically.', input.code);
|
|
100
|
-
case 'TRUST_UPDATE_OUTCOME_UNKNOWN':
|
|
101
|
-
return publicError('OUTCOME_UNKNOWN', 'Authentication Trust outcome is unknown; do not retry automatically.', input.code);
|
|
102
|
-
case 'TRUST_INVALID':
|
|
103
|
-
return internal(input);
|
|
104
|
-
case 'MINT_FAILED':
|
|
105
|
-
case 'AUTHENTICATION_BACKEND_FAILED':
|
|
106
|
-
return publicError('BACKEND_UNAVAILABLE', 'Authentication is unavailable.');
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
function classifyAuthorization(input) {
|
|
110
|
-
switch (input.code) {
|
|
111
|
-
case 'POLICY_NOT_FOUND':
|
|
112
|
-
case 'CAPABILITY_TARGET_INVALID':
|
|
113
|
-
return publicError('NOT_FOUND', 'Requested resource was not found.');
|
|
114
|
-
case 'POLICY_COMPILATION_FAILED':
|
|
115
|
-
return internal(input);
|
|
116
|
-
case 'POLICY_SNAPSHOT_MISMATCH':
|
|
117
|
-
return publicError('CONFLICT', 'Authorization basis changed.', input.code);
|
|
118
|
-
case 'POLICY_PLAN_TOO_COMPLEX':
|
|
119
|
-
return publicError('LIMIT_EXCEEDED', 'Authorization plan limit exceeded.', input.code);
|
|
120
|
-
case 'POLICY_EVALUATION_TIMEOUT':
|
|
121
|
-
return publicError('DEADLINE_EXCEEDED', 'Authorization evaluation deadline exceeded.', input.code);
|
|
122
|
-
case 'POLICY_BACKEND_ERROR':
|
|
123
|
-
return publicError('BACKEND_UNAVAILABLE', 'Authorization is unavailable.');
|
|
124
|
-
case 'AUTHORITY_DENIED':
|
|
125
|
-
return publicError('ACCESS_DENIED', 'Access denied.');
|
|
126
|
-
case 'RESULT_CONTRACT_VIOLATION':
|
|
127
|
-
return internal(input);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
function classifySchema(input) {
|
|
131
|
-
if (input.outcome === 'unknown') {
|
|
132
|
-
return publicError('OUTCOME_UNKNOWN', 'Schema activation outcome is unknown; do not retry automatically.', input.code);
|
|
133
|
-
}
|
|
134
|
-
switch (input.code) {
|
|
135
|
-
case 'SCHEMA_INPUT_INVALID':
|
|
136
|
-
return publicError('VALIDATION_ERROR', 'Schema request is invalid.');
|
|
137
|
-
case 'SCHEMA_NOT_FOUND':
|
|
138
|
-
return publicError('NOT_FOUND', 'Domain was not found.');
|
|
139
|
-
case 'SCHEMA_ARTIFACT_INVALID':
|
|
140
|
-
case 'SCHEMA_DEPENDENCY_MISSING':
|
|
141
|
-
return publicError('VALIDATION_ERROR', 'Domain schema is invalid.');
|
|
142
|
-
case 'SCHEMA_ARTIFACT_UNAVAILABLE':
|
|
143
|
-
return publicError('NOT_FOUND', 'Domain Runtime artifact is unavailable.');
|
|
144
|
-
case 'SCHEMA_REVISION_CONFLICT':
|
|
145
|
-
return publicError('CONFLICT', 'Domain revision conflicts with current state.');
|
|
146
|
-
case 'SCHEMA_OPERATION_CONFLICT':
|
|
147
|
-
return publicError('CONFLICT', 'Schema operation identity conflicts with retained state.');
|
|
148
|
-
case 'SCHEMA_REQUIREMENTS_UNSATISFIED':
|
|
149
|
-
return publicError('ACCESS_DENIED', 'Domain installation requirements are not satisfied.');
|
|
150
|
-
case 'SCHEMA_DEPENDENTS_PRESENT':
|
|
151
|
-
return publicError('CONFLICT', 'Domain has active dependents.');
|
|
152
|
-
case 'DATA_MIGRATION_REQUIRED':
|
|
153
|
-
return publicError('CONFLICT', 'Schema change requires an explicit data migration.');
|
|
154
|
-
case 'SCHEMA_UPGRADE_INCOMPATIBLE':
|
|
155
|
-
return publicError('UNSUPPORTED', 'Schema operation is not supported.');
|
|
156
|
-
case 'BACKEND_FEATURE_UNSUPPORTED':
|
|
157
|
-
return publicError('UNSUPPORTED', 'Schema operation is not supported.', input.code);
|
|
158
|
-
case 'SCHEMA_BACKEND_FAILED':
|
|
159
|
-
case 'SCHEMA_ACTIVATION_FAILED':
|
|
160
|
-
return publicError('BACKEND_UNAVAILABLE', 'Schema backend is unavailable.', input.code);
|
|
161
|
-
case 'SCHEMA_INTEGRITY_ERROR':
|
|
162
|
-
return internal(input);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
function classifyEvent(input) {
|
|
166
|
-
switch (input.code) {
|
|
167
|
-
case 'EVENT_INVALID':
|
|
168
|
-
return publicError('VALIDATION_ERROR', 'Event request is invalid.', input.code);
|
|
169
|
-
case 'EVENT_RETENTION_GAP':
|
|
170
|
-
return publicError('CONFLICT', 'Event retention frontier is no longer available.', input.code);
|
|
171
|
-
case 'SUBSCRIPTION_UNAVAILABLE':
|
|
172
|
-
return publicError('CONFLICT', 'Event subscription is unavailable.', input.code);
|
|
173
|
-
case 'EVENT_BACKEND_FAILED':
|
|
174
|
-
return publicError('BACKEND_UNAVAILABLE', 'Event transport is unavailable.');
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
function classifyObservability(input) {
|
|
178
|
-
switch (input.code) {
|
|
179
|
-
case 'OBSERVABILITY_INVALID':
|
|
180
|
-
return publicError('VALIDATION_ERROR', 'Journal request is invalid.', input.code);
|
|
181
|
-
case 'OBSERVABILITY_RETENTION_GAP':
|
|
182
|
-
return publicError('CONFLICT', 'Journal retention frontier is no longer available.', input.code);
|
|
183
|
-
case 'OBSERVABILITY_DURABILITY_FAILED':
|
|
184
|
-
case 'OBSERVABILITY_BACKEND_FAILED':
|
|
185
|
-
return publicError('BACKEND_UNAVAILABLE', 'Journal is unavailable.');
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
function classifyNetwork(input) {
|
|
189
|
-
switch (input.code) {
|
|
190
|
-
case 'NETWORK_INVALID':
|
|
191
|
-
case 'INVALID_URL':
|
|
192
|
-
return publicError('VALIDATION_ERROR', 'Network request is invalid.', input.code);
|
|
193
|
-
case 'UNSUPPORTED_PROTOCOL':
|
|
194
|
-
case 'UNSUPPORTED_FEATURE':
|
|
195
|
-
return publicError('UNSUPPORTED', 'Network operation is not supported.', input.code);
|
|
196
|
-
case 'HOST_POLICY_DENIED':
|
|
197
|
-
return publicError('ACCESS_DENIED', 'Network target is denied.');
|
|
198
|
-
case 'TIMEOUT':
|
|
199
|
-
return publicError('DEADLINE_EXCEEDED', 'Network operation deadline exceeded.', input.code);
|
|
200
|
-
case 'ABORTED':
|
|
201
|
-
return publicError('CANCELLED', 'Network operation was cancelled.', input.code);
|
|
202
|
-
case 'TOO_MANY_REDIRECTS':
|
|
203
|
-
case 'REQUEST_TOO_LARGE':
|
|
204
|
-
case 'RESPONSE_BODY_TOO_LARGE':
|
|
205
|
-
return publicError('LIMIT_EXCEEDED', 'Network operation limit exceeded.', input.code);
|
|
206
|
-
case 'NETWORK_BACKEND_CONTRACT':
|
|
207
|
-
return internal(input);
|
|
208
|
-
case 'DNS_ERROR':
|
|
209
|
-
case 'CONNECT_ERROR':
|
|
210
|
-
case 'TLS_ERROR':
|
|
211
|
-
case 'NETWORK_ERROR':
|
|
212
|
-
return publicError('BACKEND_UNAVAILABLE', 'Network transport is unavailable.');
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
function publicError(name, message, reason) {
|
|
216
|
-
const candidate = typeof reason === 'string'
|
|
217
|
-
? Object.freeze({ code: reason, details: Object.freeze({}) })
|
|
218
|
-
: reason;
|
|
219
|
-
const admitted = errors.reasonOf(candidate);
|
|
220
|
-
return {
|
|
221
|
-
code: errors.CODES[name],
|
|
222
|
-
message,
|
|
223
|
-
...(admitted === undefined ? {} : { data: admitted }),
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
function reasonMessage(reason, fallback) {
|
|
227
|
-
switch (reason?.code) {
|
|
228
|
-
case 'SCHEMA_NOT_FOUND':
|
|
229
|
-
return 'Domain was not found.';
|
|
230
|
-
case 'SCHEMA_ARTIFACT_INVALID':
|
|
231
|
-
case 'SCHEMA_DEPENDENCY_MISSING':
|
|
232
|
-
return 'Domain schema is invalid.';
|
|
233
|
-
case 'SCHEMA_REVISION_CONFLICT':
|
|
234
|
-
return 'Domain revision conflicts with current state.';
|
|
235
|
-
case 'SCHEMA_OPERATION_CONFLICT':
|
|
236
|
-
return 'Schema operation identity conflicts with retained state.';
|
|
237
|
-
case 'SCHEMA_DEPENDENTS_PRESENT':
|
|
238
|
-
return 'Domain has active dependents.';
|
|
239
|
-
case 'DATA_MIGRATION_REQUIRED':
|
|
240
|
-
return 'Schema change requires an explicit data migration.';
|
|
241
|
-
case 'BACKEND_FEATURE_UNSUPPORTED':
|
|
242
|
-
case 'SCHEMA_UPGRADE_INCOMPATIBLE':
|
|
243
|
-
return 'Schema operation is not supported.';
|
|
244
|
-
case 'SCHEMA_BACKEND_FAILED':
|
|
245
|
-
case 'SCHEMA_ACTIVATION_FAILED':
|
|
246
|
-
return 'Schema backend is unavailable.';
|
|
247
|
-
default:
|
|
248
|
-
return fallback;
|
|
249
|
-
}
|
|
20
|
+
function publicError(name, message) {
|
|
21
|
+
return { code: errors.CODES[name], message };
|
|
250
22
|
}
|
|
251
23
|
function internal(input) {
|
|
252
24
|
reportInternal(input);
|
|
253
25
|
return publicError('INTERNAL_ERROR', 'Internal application error.');
|
|
254
26
|
}
|
|
255
|
-
function reportUnknownFunction(input) {
|
|
256
|
-
const cause = input.cause;
|
|
257
|
-
const error = cause instanceof Error ? cause : undefined;
|
|
258
|
-
const failureCode = typeof input.details.failureCode === 'string' ? input.details.failureCode : undefined;
|
|
259
|
-
if (cause === undefined && failureCode === undefined)
|
|
260
|
-
return;
|
|
261
|
-
// Never print the message, stack, cause, input, credentials, or backend command.
|
|
262
|
-
// oxlint-disable-next-line no-console
|
|
263
|
-
console.error('[server] Function outcome is unknown', {
|
|
264
|
-
type: error?.constructor.name ?? typeof cause,
|
|
265
|
-
code: stableCode(cause),
|
|
266
|
-
failureCode,
|
|
267
|
-
...(hostDebugErrors() ? { trail: stableErrorTrail(input.cause) } : {}),
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
function hostDebugErrors() {
|
|
271
|
-
const runtime = Reflect.get(globalThis, 'process');
|
|
272
|
-
if (runtime === null || typeof runtime !== 'object')
|
|
273
|
-
return false;
|
|
274
|
-
const environment = Reflect.get(runtime, 'env');
|
|
275
|
-
return (environment !== null &&
|
|
276
|
-
typeof environment === 'object' &&
|
|
277
|
-
Reflect.get(environment, 'KERNEL_HOST_DEBUG_ERRORS') === '1');
|
|
278
|
-
}
|
|
279
|
-
function stableErrorTrail(input) {
|
|
280
|
-
if (!(input instanceof Error))
|
|
281
|
-
return Object.freeze([]);
|
|
282
|
-
const current = Object.freeze({
|
|
283
|
-
type: input.constructor.name,
|
|
284
|
-
code: stableCode(input),
|
|
285
|
-
...('phase' in input && typeof input.phase === 'string' ? { phase: input.phase } : {}),
|
|
286
|
-
...(stableSchemaCoordinate(input) === undefined
|
|
287
|
-
? {}
|
|
288
|
-
: { coordinate: stableSchemaCoordinate(input) }),
|
|
289
|
-
});
|
|
290
|
-
if (input instanceof AggregateError) {
|
|
291
|
-
return Object.freeze([current, ...input.errors.flatMap((cause) => stableErrorTrail(cause))]);
|
|
292
|
-
}
|
|
293
|
-
return Object.freeze([current, ...stableErrorTrail(input.cause)]);
|
|
294
|
-
}
|
|
295
|
-
function stableSchemaCoordinate(input) {
|
|
296
|
-
if (stableCode(input) !== 'DOMAIN_DEFINITION_NOT_FOUND')
|
|
297
|
-
return undefined;
|
|
298
|
-
const match = /^Definition ([a-z0-9.-]+:[a-z]+\.[A-Za-z][A-Za-z0-9_]*) does not exist\.$/u.exec(input.message);
|
|
299
|
-
return match?.[1];
|
|
300
|
-
}
|
|
301
27
|
function stableCode(input) {
|
|
302
28
|
if (input !== null && typeof input === 'object' && 'code' in input) {
|
|
303
29
|
return typeof input.code === 'string' ? input.code : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../errors/classify.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../errors/classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAEpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAE9D,kGAAkG;AAClG,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,YAAY,MAAM,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC,OAAO,CAAA;IAC/D,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;QAC9C,OAAO,WAAW,CAAC,gBAAgB,EAAE,4CAA4C,CAAC,CAAA;IACpF,CAAC;IACD,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;QAC/C,OAAO,WAAW,CAAC,gBAAgB,EAAE,6CAA6C,CAAC,CAAA;IACrF,CAAC;IACD,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,WAAW,CAAC,IAA+B,EAAE,OAAe;IACnE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;AAC9C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,cAAc,CAAC,KAAK,CAAC,CAAA;IACrB,OAAO,WAAW,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACnE,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAChE,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IACxD,iFAAiF;IACjF,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE;QAClD,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,IAAI,OAAO,KAAK;QAC7C,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;KACxB,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { createServer, prepareServer } from './server.js';
|
|
|
2
2
|
export { DeliveryUnavailableError, IssuerKeysUnavailableError } from './errors/index.js';
|
|
3
3
|
export { preparePublicationSnapshot } from './publication/index.js';
|
|
4
4
|
export * as publication from './publication/index.js';
|
|
5
|
-
export type { Application, ApplicationHost, CorsConfig, Handler, HandlerRequest, HealthProbe, InvocationContext, Issuer, exchange, PreparedServer, PublicationSnapshot, PublicationSnapshotInput, PublicationSource, Server, ServerCloseOptions, ServerConfig, ServerLimits, ServerOptions, WebSocketAdapter, WebSocketHandlers, WebSocketLike, WebSocketUpgradeOptions, } from './types.js';
|
|
5
|
+
export type { Application, ApplicationHost, CorsConfig, ExecutionControl, Handler, HandlerRequest, HandlerResult, HandlerStream, HealthProbe, InvocationContext, InvocationSource, RequestBackground, RequestEvidence, RequestSleep, Issuer, exchange, PreparedServer, PublicationSnapshot, PublicationSnapshotInput, PublicationSource, Server, ServerCloseOptions, ServerConfig, ServerLimits, ServerOptions, WebSocketAdapter, WebSocketHandlers, WebSocketLike, WebSocketUpgradeOptions, } from './types.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,YAAY,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,OAAO,EACP,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,MAAM,EACN,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,YAAY,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,MAAM,EACN,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { invocation as protocol } from '@astrale-os/kernel-protocol';
|
|
2
2
|
import type { ActiveOperation, ActiveOperations } from '../lifecycle/index.js';
|
|
3
3
|
import type { ApplicationHost, InvocationContext } from './types.js';
|
|
4
|
-
export declare function invocationContext(operation: ActiveOperation, active: ActiveOperations, host?: ApplicationHost, requestBody?: Uint8Array, idempotencyKey?: protocol.IdempotencyKey
|
|
4
|
+
export declare function invocationContext(assigned: protocol.InvocationId, operation: ActiveOperation, active: ActiveOperations, host?: ApplicationHost, requestBody?: Uint8Array, idempotencyKey?: protocol.IdempotencyKey): InvocationContext;
|
|
5
5
|
/** Default non-durable timer used when the application host supplies no timer capability. */
|
|
6
6
|
export declare function defaultSleep(durationMs: number): Promise<void>;
|
|
7
7
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../invocation/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEpE,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,gBAAgB,EACxB,IAAI,CAAC,EAAE,eAAe,EACtB,WAAW,CAAC,EAAE,UAAU,EACxB,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../invocation/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEpE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAC/B,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,gBAAgB,EACxB,IAAI,CAAC,EAAE,eAAe,EACtB,WAAW,CAAC,EAAE,UAAU,EACxB,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc,GACvC,iBAAiB,CAanB;AAED,6FAA6F;AAC7F,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export function invocationContext(operation, active, host, requestBody, idempotencyKey
|
|
1
|
+
export function invocationContext(assigned, operation, active, host, requestBody, idempotencyKey) {
|
|
2
2
|
const body = requestBody?.slice();
|
|
3
3
|
return Object.freeze({
|
|
4
|
+
invocation: assigned,
|
|
4
5
|
execution: Object.freeze({ deadline: operation.deadline, signal: operation.signal }),
|
|
5
6
|
background: (task) => active.background(task, host?.waitUntil),
|
|
6
7
|
sleep: async (durationMs) => {
|
|
7
8
|
await interruptibleSleep(sleepDuration(durationMs), operation.signal, host?.sleep);
|
|
8
9
|
},
|
|
9
10
|
...(idempotencyKey === undefined ? {} : { idempotencyKey }),
|
|
10
|
-
...(delegate === undefined ? {} : { delegate }),
|
|
11
11
|
...(body === undefined ? {} : { request: Object.freeze({ body: () => body.slice() }) }),
|
|
12
12
|
});
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../invocation/context.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,iBAAiB,CAC/B,SAA0B,EAC1B,MAAwB,EACxB,IAAsB,EACtB,WAAwB,EACxB,cAAwC
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../invocation/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IssuerId } from '@astrale-os/kernel-core/auth';
|
|
2
|
+
import type { invocation as protocol } from '@astrale-os/kernel-protocol';
|
|
3
|
+
/** Injected source-owned identity allocator captured before Server readiness. */
|
|
4
|
+
export interface InvocationSource {
|
|
5
|
+
readonly source: IssuerId;
|
|
6
|
+
next(): string;
|
|
7
|
+
}
|
|
8
|
+
export type NextInvocationId = () => protocol.InvocationId;
|
|
9
|
+
export declare function captureInvocationSource(input: InvocationSource): NextInvocationId;
|
|
10
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../invocation/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAOzE,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,IAAI,IAAI,MAAM,CAAA;CACf;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAA;AAE1D,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAOjF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { issuer } from '@astrale-os/kernel-core/auth';
|
|
2
|
+
import { invocation as protocolInvocation } from '@astrale-os/kernel-protocol';
|
|
3
|
+
import { captureMethod } from '../capture.js';
|
|
4
|
+
export function captureInvocationSource(input) {
|
|
5
|
+
if (input === null || typeof input !== 'object') {
|
|
6
|
+
throw new TypeError('Server Invocation source is invalid.');
|
|
7
|
+
}
|
|
8
|
+
const source = issuer.accept(input.source);
|
|
9
|
+
const next = captureMethod(input, 'next', 'Server Invocation source is invalid.');
|
|
10
|
+
return () => protocolInvocation.acceptInvocationId({ source, id: next() });
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../invocation/identity.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AACrD,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAU7C,MAAM,UAAU,uBAAuB,CAAC,KAAuB;IAC7D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAA;IAC7D,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,sCAAsC,CAAC,CAAA;IACjF,OAAO,GAAG,EAAE,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;AAC5E,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { defaultSleep, invocationContext } from './context.js';
|
|
2
|
+
export { captureInvocationSource, type InvocationSource, type NextInvocationId, } from './identity.js';
|
|
2
3
|
export { publicationRouteDecision, type PublicationRouteDecision } from './publication-route.js';
|
|
3
|
-
export type { ApplicationHost, Handler, HandlerRequest, InvocationContext } from './types.js';
|
|
4
|
+
export type { ApplicationHost, ExecutionControl, Handler, HandlerRequest, HandlerResult, HandlerStream, InvocationContext, RequestBackground, RequestEvidence, RequestSleep, } from './types.js';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAChG,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EACL,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,wBAAwB,EAAE,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAChG,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAA"}
|
package/dist/invocation/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAiC,MAAM,wBAAwB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EACL,uBAAuB,GAGxB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,wBAAwB,EAAiC,MAAM,wBAAwB,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CredentialInput } from '@astrale-os/kernel-core/auth';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { CallableResult } from '@astrale-os/kernel-core/domain';
|
|
3
|
+
import type { Value } from '@astrale-os/kernel-dsl/value';
|
|
4
4
|
import type { invocation as protocol } from '@astrale-os/kernel-protocol';
|
|
5
5
|
import type { PublicationSnapshot } from '../publication/index.js';
|
|
6
6
|
/** Optional platform retention and timer adaptation for one Fetch invocation. */
|
|
@@ -8,15 +8,42 @@ export interface ApplicationHost {
|
|
|
8
8
|
waitUntil(promise: Promise<unknown>): void;
|
|
9
9
|
readonly sleep?: (durationMs: number) => Promise<void>;
|
|
10
10
|
}
|
|
11
|
+
/** Ephemeral execution lifetime for one admitted request. */
|
|
12
|
+
export interface ExecutionControl {
|
|
13
|
+
readonly deadline: number;
|
|
14
|
+
readonly signal: AbortSignal;
|
|
15
|
+
}
|
|
16
|
+
/** Register non-durable work with the request owner. */
|
|
17
|
+
export type RequestBackground = (task: () => void | PromiseLike<unknown>) => void;
|
|
18
|
+
/** Request-owner timer bounded by the same cancellation and deadline. */
|
|
19
|
+
export type RequestSleep = (durationMs: number) => Promise<void>;
|
|
20
|
+
/** Exact bounded ingress evidence retained outside portable Function input. */
|
|
21
|
+
export interface RequestEvidence {
|
|
22
|
+
body(): Uint8Array;
|
|
23
|
+
}
|
|
11
24
|
/** Immutable lifetime and execution conveniences for one admitted dispatch. */
|
|
12
|
-
export interface InvocationContext
|
|
25
|
+
export interface InvocationContext {
|
|
26
|
+
readonly invocation: protocol.InvocationId;
|
|
27
|
+
readonly execution: ExecutionControl;
|
|
28
|
+
readonly idempotencyKey?: protocol.IdempotencyKey;
|
|
29
|
+
readonly request?: RequestEvidence;
|
|
13
30
|
readonly background: RequestBackground;
|
|
14
31
|
/** Rejects promptly when execution is cancelled or reaches its deadline. */
|
|
15
32
|
readonly sleep: RequestSleep;
|
|
16
33
|
}
|
|
34
|
+
export interface HandlerStream extends AsyncIterable<Value> {
|
|
35
|
+
cancel(reason?: string): Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
/** Complete semantic result accepted from one ready application Handler. */
|
|
38
|
+
export type HandlerResult = CallableResult<Value, HandlerStream> | {
|
|
39
|
+
readonly kind: 'redirect';
|
|
40
|
+
readonly redirect: protocol.Redirection;
|
|
41
|
+
} | {
|
|
42
|
+
readonly kind: 'miss';
|
|
43
|
+
};
|
|
17
44
|
/** Ready semantic capability invoked by canonical and advertised transport routes. */
|
|
18
45
|
export interface HandlerRequest {
|
|
19
|
-
readonly call: Call;
|
|
46
|
+
readonly call: protocol.Call;
|
|
20
47
|
/** Admitted transport correlation syntax, separate from semantic execution options. */
|
|
21
48
|
readonly trace?: protocol.Trace;
|
|
22
49
|
readonly credential?: CredentialInput;
|
|
@@ -31,8 +58,6 @@ export interface HandlerRequest {
|
|
|
31
58
|
readonly context: InvocationContext;
|
|
32
59
|
}
|
|
33
60
|
export interface Handler {
|
|
34
|
-
dispatch(request: HandlerRequest): Promise<
|
|
35
|
-
readonly kind: 'miss';
|
|
36
|
-
}>;
|
|
61
|
+
dispatch(request: HandlerRequest): Promise<HandlerResult>;
|
|
37
62
|
}
|
|
38
63
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../invocation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../invocation/types.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/routes.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CorsPolicy } from '../cors/index.js';
|
|
2
|
+
import type { NextInvocationId } from '../invocation/index.js';
|
|
2
3
|
import type { ActiveOperations } from '../lifecycle/index.js';
|
|
3
4
|
import type { Provider as DeliveryProvider } from '../publication/delivery/index.js';
|
|
4
5
|
import type { PublicationSource } from '../publication/index.js';
|
|
@@ -16,7 +17,7 @@ export interface RouteReservation {
|
|
|
16
17
|
readonly path: string;
|
|
17
18
|
readonly methods: readonly string[];
|
|
18
19
|
}
|
|
19
|
-
export declare function mountRoutes(app: ServerRouter, source: PublicationSource, deliveryProvider: DeliveryProvider | undefined, handler: Handler, active: ActiveOperations, limits: RouteLimits, cors: CorsPolicy, hostFor: (request: Request) => ApplicationHost | undefined, reservations: readonly RouteReservation[], externalIssuer?: string): void;
|
|
20
|
+
export declare function mountRoutes(app: ServerRouter, source: PublicationSource, deliveryProvider: DeliveryProvider | undefined, handler: Handler, active: ActiveOperations, nextInvocation: NextInvocationId, limits: RouteLimits, cors: CorsPolicy, hostFor: (request: Request) => ApplicationHost | undefined, reservations: readonly RouteReservation[], externalIssuer?: string): void;
|
|
20
21
|
export declare function currentPublicationSnapshot(source: PublicationSource, limits: Pick<RouteLimits, 'maximumPublicationBytes' | 'maximumBundleBytes'>, serving?: {
|
|
21
22
|
readonly origin: string;
|
|
22
23
|
readonly issuer?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../routes/routes.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAOhE,OAAO,EAAqB,KAAK,eAAe,EAAE,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAE9F,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAA2C,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAElG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;IACxC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,iBAAiB,EACzB,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,EAC9C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,eAAe,GAAG,SAAS,EAC1D,YAAY,EAAE,SAAS,gBAAgB,EAAE,EACzC,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../routes/routes.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAOhE,OAAO,EAAqB,KAAK,eAAe,EAAE,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAE9F,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAA2C,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAElG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;IACxC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,iBAAiB,EACzB,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,EAC9C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,gBAAgB,EAChC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,eAAe,GAAG,SAAS,EAC1D,YAAY,EAAE,SAAS,gBAAgB,EAAE,EACzC,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAoPN;AAgED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,yBAAyB,GAAG,oBAAoB,CAAC,EAC3E,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAA;CACnD,GACA,2BAA2B,GAAG,SAAS,CAczC"}
|
package/dist/routes/routes.js
CHANGED
|
@@ -4,7 +4,7 @@ import { invocationContext } from '../invocation/index.js';
|
|
|
4
4
|
import { handleDelivery } from '../publication/delivery/index.js';
|
|
5
5
|
import { readPreparedPublicationSnapshot, } from '../publication/index.js';
|
|
6
6
|
import { interruptedStreamError, readBoundedBody } from '../transport/index.js';
|
|
7
|
-
export function mountRoutes(app, source, deliveryProvider, handler, active, limits, cors, hostFor, reservations, externalIssuer) {
|
|
7
|
+
export function mountRoutes(app, source, deliveryProvider, handler, active, nextInvocation, limits, cors, hostFor, reservations, externalIssuer) {
|
|
8
8
|
const publicationPath = externalIssuer === undefined
|
|
9
9
|
? publication.PATH
|
|
10
10
|
: new URL(publication.url(externalIssuer)).pathname;
|
|
@@ -100,6 +100,7 @@ export function mountRoutes(app, source, deliveryProvider, handler, active, limi
|
|
|
100
100
|
const route = routes.match(snapshot.routes, request);
|
|
101
101
|
if (route === undefined)
|
|
102
102
|
return context.notFound();
|
|
103
|
+
const assigned = nextInvocation();
|
|
103
104
|
const operation = active.begin(limits.invocationTimeoutMs, request.signal);
|
|
104
105
|
if (operation === undefined)
|
|
105
106
|
return nativeError({
|
|
@@ -124,7 +125,7 @@ export function mountRoutes(app, source, deliveryProvider, handler, active, limi
|
|
|
124
125
|
...(invocation.credential === undefined ? {} : { credential: invocation.credential }),
|
|
125
126
|
...(routing === undefined ? {} : { via: routing }),
|
|
126
127
|
publication: snapshot.snapshot,
|
|
127
|
-
context: invocationContext(operation, active, hostFor(request), body, idempotencyKey),
|
|
128
|
+
context: invocationContext(assigned, operation, active, hostFor(request), body, idempotencyKey),
|
|
128
129
|
}));
|
|
129
130
|
if (result.kind === 'value') {
|
|
130
131
|
return new Response(encodedBody(codecs.json.encode(result.value)), {
|