@astrale-os/kernel-server 0.5.0-beta.1 → 0.5.0-beta.2
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/availability.d.ts +3 -3
- package/dist/errors/availability.d.ts.map +1 -1
- package/dist/errors/availability.js +4 -4
- package/dist/errors/availability.js.map +1 -1
- package/dist/errors/classify.js +71 -9
- package/dist/errors/classify.js.map +1 -1
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.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 +1 -2
- package/dist/invocation/context.js.map +1 -1
- package/dist/invocation/index.d.ts +1 -0
- 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/publication-route.d.ts +12 -0
- package/dist/invocation/publication-route.d.ts.map +1 -0
- package/dist/invocation/publication-route.js +43 -0
- package/dist/invocation/publication-route.js.map +1 -0
- package/dist/invocation/types.d.ts +5 -1
- package/dist/invocation/types.d.ts.map +1 -1
- package/dist/issuer/exchange.d.ts +13 -0
- package/dist/issuer/exchange.d.ts.map +1 -0
- package/dist/issuer/exchange.js +135 -0
- package/dist/issuer/exchange.js.map +1 -0
- package/dist/issuer/index.d.ts +1 -0
- package/dist/issuer/index.d.ts.map +1 -1
- package/dist/issuer/routes.d.ts +3 -2
- package/dist/issuer/routes.d.ts.map +1 -1
- package/dist/issuer/routes.js +12 -3
- package/dist/issuer/routes.js.map +1 -1
- package/dist/publication/delivery/handler.d.ts +10 -0
- package/dist/publication/delivery/handler.d.ts.map +1 -0
- package/dist/{installation → publication/delivery}/handler.js +28 -27
- package/dist/publication/delivery/handler.js.map +1 -0
- package/dist/publication/delivery/index.d.ts +3 -0
- package/dist/publication/delivery/index.d.ts.map +1 -0
- package/dist/publication/delivery/index.js +2 -0
- package/dist/publication/delivery/index.js.map +1 -0
- package/dist/publication/delivery/types.d.ts +12 -0
- package/dist/publication/delivery/types.d.ts.map +1 -0
- package/dist/{installation → publication/delivery}/types.js.map +1 -1
- package/dist/publication/index.d.ts +1 -0
- package/dist/publication/index.d.ts.map +1 -1
- package/dist/publication/index.js +1 -0
- package/dist/publication/index.js.map +1 -1
- package/dist/routes/routes.d.ts +4 -3
- package/dist/routes/routes.d.ts.map +1 -1
- package/dist/routes/routes.js +29 -19
- package/dist/routes/routes.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +48 -14
- package/dist/server.js.map +1 -1
- package/dist/transport/http/handler.d.ts.map +1 -1
- package/dist/transport/http/handler.js +16 -9
- package/dist/transport/http/handler.js.map +1 -1
- package/dist/transport/http/render.d.ts.map +1 -1
- package/dist/transport/http/render.js +1 -0
- package/dist/transport/http/render.js.map +1 -1
- package/dist/transport/websocket/session.d.ts.map +1 -1
- package/dist/transport/websocket/session.js +8 -7
- package/dist/transport/websocket/session.js.map +1 -1
- package/dist/types.d.ts +8 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -5
- package/dist/installation/handler.d.ts +0 -10
- package/dist/installation/handler.d.ts.map +0 -1
- package/dist/installation/handler.js.map +0 -1
- package/dist/installation/index.d.ts +0 -3
- package/dist/installation/index.d.ts.map +0 -1
- package/dist/installation/index.js +0 -2
- package/dist/installation/index.js.map +0 -1
- package/dist/installation/types.d.ts +0 -12
- package/dist/installation/types.d.ts.map +0 -1
- /package/dist/{installation → publication/delivery}/types.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/** Expected loss of the external capability used to create
|
|
2
|
-
export declare class
|
|
3
|
-
readonly name = "
|
|
1
|
+
/** Expected loss of the external capability used to create a Delivery. */
|
|
2
|
+
export declare class DeliveryUnavailableError extends Error {
|
|
3
|
+
readonly name = "DeliveryUnavailableError";
|
|
4
4
|
constructor(message?: string, options?: ErrorOptions);
|
|
5
5
|
}
|
|
6
6
|
/** Expected loss of the external capability used to load public issuer keys. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../errors/availability.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../errors/availability.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,SAAkB,IAAI,8BAA6B;IAEnD,YAAY,OAAO,SAA6B,EAAE,OAAO,CAAC,EAAE,YAAY,EAEvE;CACF;AAED,gFAAgF;AAChF,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAkB,IAAI,gCAA+B;IAErD,YAAY,OAAO,SAAiC,EAAE,OAAO,CAAC,EAAE,YAAY,EAE3E;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/** Expected loss of the external capability used to create
|
|
2
|
-
export class
|
|
3
|
-
name = '
|
|
4
|
-
constructor(message = '
|
|
1
|
+
/** Expected loss of the external capability used to create a Delivery. */
|
|
2
|
+
export class DeliveryUnavailableError extends Error {
|
|
3
|
+
name = 'DeliveryUnavailableError';
|
|
4
|
+
constructor(message = 'Delivery is unavailable.', options) {
|
|
5
5
|
super(message, options);
|
|
6
6
|
}
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"availability.js","sourceRoot":"","sources":["../../errors/availability.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"availability.js","sourceRoot":"","sources":["../../errors/availability.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC/B,IAAI,GAAG,0BAA0B,CAAA;IAEnD,YAAY,OAAO,GAAG,0BAA0B,EAAE,OAAsB;QACtE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzB,CAAC;CACF;AAED,gFAAgF;AAChF,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACjC,IAAI,GAAG,4BAA4B,CAAA;IAErD,YAAY,OAAO,GAAG,8BAA8B,EAAE,OAAsB;QAC1E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzB,CAAC;CACF"}
|
package/dist/errors/classify.js
CHANGED
|
@@ -44,7 +44,7 @@ function classifyFunction(input) {
|
|
|
44
44
|
case 'FUNCTION_INVOCATION_INVALID':
|
|
45
45
|
return publicError('VALIDATION_ERROR', 'Function invocation is invalid.', input.code);
|
|
46
46
|
case 'FUNCTION_INPUT_INVALID':
|
|
47
|
-
return publicError('VALIDATION_ERROR', reasonMessage(reason, 'Function input is invalid.'), reason
|
|
47
|
+
return publicError('VALIDATION_ERROR', reasonMessage(reason, 'Function input is invalid.'), reason);
|
|
48
48
|
case 'FUNCTION_CONFLICT':
|
|
49
49
|
return publicError('CONFLICT', reasonMessage(reason, 'Function execution conflicts with current state.'), reason ?? input.code);
|
|
50
50
|
case 'FUNCTION_UNAVAILABLE':
|
|
@@ -56,12 +56,13 @@ function classifyFunction(input) {
|
|
|
56
56
|
case 'FUNCTION_BINDING_UNAVAILABLE':
|
|
57
57
|
return publicError('BACKEND_UNAVAILABLE', 'Callable execution is unavailable.');
|
|
58
58
|
case 'FUNCTION_EXECUTION_LIMIT':
|
|
59
|
-
return publicError('LIMIT_EXCEEDED', 'Function execution limit exceeded.', reason
|
|
59
|
+
return publicError('LIMIT_EXCEEDED', 'Function execution limit exceeded.', reason);
|
|
60
60
|
case 'FUNCTION_CANCELLED':
|
|
61
61
|
return publicError('CANCELLED', 'Function invocation was cancelled.', reason ?? input.code);
|
|
62
62
|
case 'FUNCTION_DEADLINE_EXCEEDED':
|
|
63
63
|
return publicError('DEADLINE_EXCEEDED', 'Function invocation deadline exceeded.', reason ?? input.code);
|
|
64
64
|
case 'FUNCTION_OUTCOME_UNKNOWN':
|
|
65
|
+
reportUnknownFunction(input);
|
|
65
66
|
return publicError('OUTCOME_UNKNOWN', 'Function outcome is unknown; do not retry automatically.', reason ?? input.code);
|
|
66
67
|
case 'FUNCTION_OUTPUT_INVALID':
|
|
67
68
|
case 'FUNCTION_BINDING_INVALID':
|
|
@@ -92,10 +93,14 @@ function classifyAuthentication(input) {
|
|
|
92
93
|
return publicError('VALIDATION_ERROR', 'Identity provision request is invalid.', input.code);
|
|
93
94
|
case 'IDENTITY_CONFLICT':
|
|
94
95
|
case 'PROVISION_CONFLICT':
|
|
95
|
-
case '
|
|
96
|
+
case 'TRUST_REVISION_CONFLICT':
|
|
96
97
|
return publicError('CONFLICT', 'Authentication state changed.', input.code);
|
|
97
98
|
case 'PROVISION_OUTCOME_UNKNOWN':
|
|
98
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);
|
|
99
104
|
case 'MINT_FAILED':
|
|
100
105
|
case 'AUTHENTICATION_BACKEND_FAILED':
|
|
101
106
|
return publicError('BACKEND_UNAVAILABLE', 'Authentication is unavailable.');
|
|
@@ -127,19 +132,28 @@ function classifySchema(input) {
|
|
|
127
132
|
return publicError('OUTCOME_UNKNOWN', 'Schema activation outcome is unknown; do not retry automatically.', input.code);
|
|
128
133
|
}
|
|
129
134
|
switch (input.code) {
|
|
135
|
+
case 'SCHEMA_INPUT_INVALID':
|
|
136
|
+
return publicError('VALIDATION_ERROR', 'Schema request is invalid.');
|
|
130
137
|
case 'SCHEMA_NOT_FOUND':
|
|
131
|
-
return publicError('NOT_FOUND', 'Domain was not found.'
|
|
138
|
+
return publicError('NOT_FOUND', 'Domain was not found.');
|
|
132
139
|
case 'SCHEMA_ARTIFACT_INVALID':
|
|
133
140
|
case 'SCHEMA_DEPENDENCY_MISSING':
|
|
134
|
-
return publicError('VALIDATION_ERROR', 'Domain schema is invalid.'
|
|
141
|
+
return publicError('VALIDATION_ERROR', 'Domain schema is invalid.');
|
|
142
|
+
case 'SCHEMA_ARTIFACT_UNAVAILABLE':
|
|
143
|
+
return publicError('NOT_FOUND', 'Domain Runtime artifact is unavailable.');
|
|
135
144
|
case 'SCHEMA_REVISION_CONFLICT':
|
|
136
|
-
return publicError('CONFLICT', 'Domain revision conflicts with current state.'
|
|
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.');
|
|
137
150
|
case 'SCHEMA_DEPENDENTS_PRESENT':
|
|
138
|
-
return publicError('CONFLICT', 'Domain has active dependents.'
|
|
151
|
+
return publicError('CONFLICT', 'Domain has active dependents.');
|
|
139
152
|
case 'DATA_MIGRATION_REQUIRED':
|
|
140
|
-
return publicError('CONFLICT', 'Schema change requires an explicit data migration.'
|
|
141
|
-
case 'BACKEND_FEATURE_UNSUPPORTED':
|
|
153
|
+
return publicError('CONFLICT', 'Schema change requires an explicit data migration.');
|
|
142
154
|
case 'SCHEMA_UPGRADE_INCOMPATIBLE':
|
|
155
|
+
return publicError('UNSUPPORTED', 'Schema operation is not supported.');
|
|
156
|
+
case 'BACKEND_FEATURE_UNSUPPORTED':
|
|
143
157
|
return publicError('UNSUPPORTED', 'Schema operation is not supported.', input.code);
|
|
144
158
|
case 'SCHEMA_BACKEND_FAILED':
|
|
145
159
|
case 'SCHEMA_ACTIVATION_FAILED':
|
|
@@ -218,6 +232,8 @@ function reasonMessage(reason, fallback) {
|
|
|
218
232
|
return 'Domain schema is invalid.';
|
|
219
233
|
case 'SCHEMA_REVISION_CONFLICT':
|
|
220
234
|
return 'Domain revision conflicts with current state.';
|
|
235
|
+
case 'SCHEMA_OPERATION_CONFLICT':
|
|
236
|
+
return 'Schema operation identity conflicts with retained state.';
|
|
221
237
|
case 'SCHEMA_DEPENDENTS_PRESENT':
|
|
222
238
|
return 'Domain has active dependents.';
|
|
223
239
|
case 'DATA_MIGRATION_REQUIRED':
|
|
@@ -236,6 +252,52 @@ function internal(input) {
|
|
|
236
252
|
reportInternal(input);
|
|
237
253
|
return publicError('INTERNAL_ERROR', 'Internal application error.');
|
|
238
254
|
}
|
|
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
|
+
}
|
|
239
301
|
function stableCode(input) {
|
|
240
302
|
if (input !== null && typeof input === 'object' && 'code' in input) {
|
|
241
303
|
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":"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"}
|
package/dist/errors/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { DeliveryUnavailableError, IssuerKeysUnavailableError } from './availability.js';
|
|
2
2
|
export { classifyError } from './classify.js';
|
|
3
3
|
export { RequestBodyInvalidError, RequestBodyTooLargeError } from './request-body.js';
|
|
4
4
|
export { ResponseBodyTooLargeError } from './response-body.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/errors/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { DeliveryUnavailableError, IssuerKeysUnavailableError } from './availability.js';
|
|
2
2
|
export { classifyError } from './classify.js';
|
|
3
3
|
export { RequestBodyInvalidError, RequestBodyTooLargeError } from './request-body.js';
|
|
4
4
|
export { ResponseBodyTooLargeError } from './response-body.js';
|
package/dist/errors/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { createServer, prepareServer } from './server.js';
|
|
2
|
-
export {
|
|
2
|
+
export { DeliveryUnavailableError, IssuerKeysUnavailableError } from './errors/index.js';
|
|
3
3
|
export { preparePublicationSnapshot } from './publication/index.js';
|
|
4
|
-
export
|
|
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
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,
|
|
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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { createServer, prepareServer } from './server.js';
|
|
2
|
-
export {
|
|
2
|
+
export { DeliveryUnavailableError, IssuerKeysUnavailableError } from './errors/index.js';
|
|
3
3
|
export { preparePublicationSnapshot } from './publication/index.js';
|
|
4
|
+
export * as publication from './publication/index.js';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","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"}
|
|
@@ -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(operation: ActiveOperation, active: ActiveOperations, host?: ApplicationHost, requestBody?: Uint8Array, idempotencyKey?: protocol.IdempotencyKey, delegate?: InvocationContext['delegate']): 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,EACxC,
|
|
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,EACxC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,GACvC,iBAAiB,CAanB;AAED,6FAA6F;AAC7F,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function invocationContext(operation, active, host, requestBody, idempotencyKey,
|
|
1
|
+
export function invocationContext(operation, active, host, requestBody, idempotencyKey, delegate) {
|
|
2
2
|
const body = requestBody?.slice();
|
|
3
3
|
return Object.freeze({
|
|
4
4
|
execution: Object.freeze({ deadline: operation.deadline, signal: operation.signal }),
|
|
@@ -7,7 +7,6 @@ export function invocationContext(operation, active, host, requestBody, idempote
|
|
|
7
7
|
await interruptibleSleep(sleepDuration(durationMs), operation.signal, host?.sleep);
|
|
8
8
|
},
|
|
9
9
|
...(idempotencyKey === undefined ? {} : { idempotencyKey }),
|
|
10
|
-
...(refresh === undefined ? {} : { refresh }),
|
|
11
10
|
...(delegate === undefined ? {} : { delegate }),
|
|
12
11
|
...(body === undefined ? {} : { request: Object.freeze({ body: () => body.slice() }) }),
|
|
13
12
|
});
|
|
@@ -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,EACxC,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../invocation/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { defaultSleep, invocationContext } from './context.js';
|
|
2
|
+
export { publicationRouteDecision, type PublicationRouteDecision } from './publication-route.js';
|
|
2
3
|
export type { ApplicationHost, Handler, HandlerRequest, InvocationContext } from './types.js';
|
|
3
4
|
//# 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,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA"}
|
|
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,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,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"}
|
|
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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { errors, publication } from '@astrale-os/kernel-protocol';
|
|
2
|
+
export type PublicationRouteDecision = {
|
|
3
|
+
readonly kind: 'exact';
|
|
4
|
+
} | {
|
|
5
|
+
readonly kind: 'same-schema';
|
|
6
|
+
} | {
|
|
7
|
+
readonly kind: 'rejected';
|
|
8
|
+
readonly error: errors.ErrorPayload;
|
|
9
|
+
};
|
|
10
|
+
/** Compare untrusted installed routing evidence with the one captured serving Publication. */
|
|
11
|
+
export declare function publicationRouteDecision(current: publication.Publication, installed: publication.PublicationRef): PublicationRouteDecision;
|
|
12
|
+
//# sourceMappingURL=publication-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publication-route.d.ts","sourceRoot":"","sources":["../../invocation/publication-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAQtE,MAAM,MAAM,wBAAwB,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAA;CAAE,CAAA;AAEtE,8FAA8F;AAC9F,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,WAAW,CAAC,WAAW,EAChC,SAAS,EAAE,WAAW,CAAC,cAAc,GACpC,wBAAwB,CAuC1B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { errors as protocolErrors, invocation, publication as publications, } from '@astrale-os/kernel-protocol';
|
|
2
|
+
/** Compare untrusted installed routing evidence with the one captured serving Publication. */
|
|
3
|
+
export function publicationRouteDecision(current, installed) {
|
|
4
|
+
switch (publications.compareReference(current, installed)) {
|
|
5
|
+
case 'exact':
|
|
6
|
+
return Object.freeze({ kind: 'exact' });
|
|
7
|
+
case 'same-schema':
|
|
8
|
+
return Object.freeze({ kind: 'same-schema' });
|
|
9
|
+
case 'schema-drift':
|
|
10
|
+
return rejected('Installed Domain schema requires an explicit upgrade.', Object.freeze({
|
|
11
|
+
code: invocation.SCHEMA_UPGRADE_REQUIRED,
|
|
12
|
+
details: Object.freeze({
|
|
13
|
+
origin: installed.origin,
|
|
14
|
+
installedRevision: installed.revision,
|
|
15
|
+
candidateRevision: current.schema.revision,
|
|
16
|
+
}),
|
|
17
|
+
}));
|
|
18
|
+
case 'identity-drift':
|
|
19
|
+
return rejected('Installed Domain Service identity requires explicit trust.', Object.freeze({
|
|
20
|
+
code: invocation.SERVICE_TRUST_REQUIRED,
|
|
21
|
+
details: Object.freeze({
|
|
22
|
+
origin: installed.origin,
|
|
23
|
+
installedIssuer: installed.identity.issuer,
|
|
24
|
+
candidateIssuer: current.identity.issuer,
|
|
25
|
+
}),
|
|
26
|
+
}));
|
|
27
|
+
case 'origin-drift':
|
|
28
|
+
return Object.freeze({
|
|
29
|
+
kind: 'rejected',
|
|
30
|
+
error: Object.freeze({
|
|
31
|
+
code: protocolErrors.CODES.INVALID_REQUEST,
|
|
32
|
+
message: 'Routed Publication origin differs from the served Domain.',
|
|
33
|
+
}),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function rejected(message, data) {
|
|
38
|
+
return Object.freeze({
|
|
39
|
+
kind: 'rejected',
|
|
40
|
+
error: Object.freeze({ code: protocolErrors.CODES.CONFLICT, message, data }),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=publication-route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publication-route.js","sourceRoot":"","sources":["../../invocation/publication-route.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,IAAI,cAAc,EACxB,UAAU,EACV,WAAW,IAAI,YAAY,GAC5B,MAAM,6BAA6B,CAAA;AAOpC,8FAA8F;AAC9F,MAAM,UAAU,wBAAwB,CACtC,OAAgC,EAChC,SAAqC;IAErC,QAAQ,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1D,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACzC,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;QAC/C,KAAK,cAAc;YACjB,OAAO,QAAQ,CACb,uDAAuD,EACvD,MAAM,CAAC,MAAM,CAAC;gBACZ,IAAI,EAAE,UAAU,CAAC,uBAAuB;gBACxC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,iBAAiB,EAAE,SAAS,CAAC,QAAQ;oBACrC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;iBAC3C,CAAC;aACH,CAAC,CACH,CAAA;QACH,KAAK,gBAAgB;YACnB,OAAO,QAAQ,CACb,4DAA4D,EAC5D,MAAM,CAAC,MAAM,CAAC;gBACZ,IAAI,EAAE,UAAU,CAAC,sBAAsB;gBACvC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;oBAC1C,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;iBACzC,CAAC;aACH,CAAC,CACH,CAAA;QACH,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;oBACnB,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,eAAe;oBAC1C,OAAO,EAAE,2DAA2D;iBACrE,CAAC;aACH,CAAC,CAAA;IACN,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,IAAwB;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC7E,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -17,11 +17,15 @@ export interface InvocationContext extends InboundRequestOptions {
|
|
|
17
17
|
/** Ready semantic capability invoked by canonical and advertised transport routes. */
|
|
18
18
|
export interface HandlerRequest {
|
|
19
19
|
readonly call: Call;
|
|
20
|
+
/** Admitted transport correlation syntax, separate from semantic execution options. */
|
|
21
|
+
readonly trace?: protocol.Trace;
|
|
20
22
|
readonly credential?: CredentialInput;
|
|
21
23
|
/** Source-only effective delegation forwarded unchanged to Runtime. */
|
|
22
24
|
readonly delegate?: protocol.Delegate;
|
|
23
|
-
/** Destination routing witness forwarded
|
|
25
|
+
/** Destination routing witness forwarded after exact or same-schema Server admission. */
|
|
24
26
|
readonly via?: protocol.Via;
|
|
27
|
+
/** Source-only local-target or remote-revision Schema Registration precondition. */
|
|
28
|
+
readonly schema?: protocol.SchemaTarget;
|
|
25
29
|
/** Exact Server-pinned serving generation for a Publication-backed request. */
|
|
26
30
|
readonly publication?: PublicationSnapshot;
|
|
27
31
|
readonly context: InvocationContext;
|
|
@@ -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,EACV,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACb,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAElE,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACvD;AAED,+EAA+E;AAC/E,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAC7B;AAED,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAA;IACrC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACrC,
|
|
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,EACV,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACb,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAElE,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACvD;AAED,+EAA+E;AAC/E,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAC7B;AAED,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAA;IACrC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACrC,yFAAyF;IACzF,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAA;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAA;IACvC,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CACpC;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { issuer as protocolIssuer } from '@astrale-os/kernel-protocol';
|
|
2
|
+
import type { CorsPolicy } from '../cors/index.js';
|
|
3
|
+
import type { ActiveOperations } from '../lifecycle/index.js';
|
|
4
|
+
import type { ServerRouter } from '../transport/index.js';
|
|
5
|
+
export interface Context {
|
|
6
|
+
readonly signal: AbortSignal;
|
|
7
|
+
}
|
|
8
|
+
export interface Provider {
|
|
9
|
+
exchange(request: protocolIssuer.exchange.Request, context: Context): Promise<protocolIssuer.exchange.Response>;
|
|
10
|
+
}
|
|
11
|
+
export declare function capture(input: Provider): Provider;
|
|
12
|
+
export declare function mount(app: ServerRouter, issuer: string, provider: Provider, cors: CorsPolicy, active: ActiveOperations, timeoutMs: number): void;
|
|
13
|
+
//# sourceMappingURL=exchange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../issuer/exchange.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,MAAM,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CACN,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,EACxC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;CAC7C;AASD,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CASjD;AAED,wBAAgB,KAAK,CACnB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,GAChB,IAAI,CA8EN"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { credential } from '@astrale-os/kernel-core/auth';
|
|
2
|
+
import { errors, issuer as protocolIssuer } from '@astrale-os/kernel-protocol';
|
|
3
|
+
const PROVIDER_CODES = new Set([
|
|
4
|
+
errors.CODES.AUTH_INVALID,
|
|
5
|
+
errors.CODES.AUTH_EXPIRED,
|
|
6
|
+
errors.CODES.BACKEND_UNAVAILABLE,
|
|
7
|
+
errors.CODES.DEADLINE_EXCEEDED,
|
|
8
|
+
]);
|
|
9
|
+
export function capture(input) {
|
|
10
|
+
if (input === null || typeof input !== 'object' || typeof input.exchange !== 'function') {
|
|
11
|
+
throw new TypeError('Token-exchange provider is invalid.');
|
|
12
|
+
}
|
|
13
|
+
const exchange = input.exchange;
|
|
14
|
+
return Object.freeze({
|
|
15
|
+
exchange: (request, context) => exchange.call(input, request, context),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export function mount(app, issuer, provider, cors, active, timeoutMs) {
|
|
19
|
+
const path = protocolIssuer.paths(issuer).tokenExchange;
|
|
20
|
+
if (cors.enabled) {
|
|
21
|
+
app.options(path, (context) => cors.preflight(context.req.raw, { methods: ['POST'], headers: ['authorization', 'accept'] }));
|
|
22
|
+
}
|
|
23
|
+
app.all(path, async (context) => {
|
|
24
|
+
const request = context.req.raw;
|
|
25
|
+
const respond = (payload, extra) => json(payload, errors.httpStatusOf(payload.error), request, cors, extra);
|
|
26
|
+
let admitted;
|
|
27
|
+
try {
|
|
28
|
+
admitted = protocolIssuer.exchange.acceptHttpRequest({
|
|
29
|
+
method: request.method,
|
|
30
|
+
url: request.url,
|
|
31
|
+
authorization: request.headers.get('authorization'),
|
|
32
|
+
accept: request.headers.get('accept'),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
catch (cause) {
|
|
36
|
+
if (cause instanceof errors.ProtocolError) {
|
|
37
|
+
return respond(protocolIssuer.exchange.acceptErrorResponse({ error: cause.payload }), cause.payload.code === errors.CODES.METHOD_NOT_ALLOWED ? { allow: 'POST' } : undefined);
|
|
38
|
+
}
|
|
39
|
+
throw cause;
|
|
40
|
+
}
|
|
41
|
+
if (!active.isAccepting) {
|
|
42
|
+
return respond(error('BACKEND_UNAVAILABLE', 'Token exchange is unavailable.'));
|
|
43
|
+
}
|
|
44
|
+
const operation = active.begin(timeoutMs, request.signal);
|
|
45
|
+
if (operation === undefined) {
|
|
46
|
+
return respond(error('LIMIT_EXCEEDED', 'Token-exchange limit exceeded.'));
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
try {
|
|
50
|
+
await requireEmptyBody(request, operation.signal);
|
|
51
|
+
}
|
|
52
|
+
catch (cause) {
|
|
53
|
+
if (operation.timedOut) {
|
|
54
|
+
return respond(error('DEADLINE_EXCEEDED', 'Token-exchange deadline elapsed.'));
|
|
55
|
+
}
|
|
56
|
+
if (cause instanceof errors.ProtocolError) {
|
|
57
|
+
return respond(protocolIssuer.exchange.acceptErrorResponse({ error: cause.payload }));
|
|
58
|
+
}
|
|
59
|
+
throw cause;
|
|
60
|
+
}
|
|
61
|
+
let output;
|
|
62
|
+
try {
|
|
63
|
+
output = await provider.exchange(admitted, { signal: operation.signal });
|
|
64
|
+
}
|
|
65
|
+
catch (cause) {
|
|
66
|
+
if (operation.timedOut) {
|
|
67
|
+
return respond(error('DEADLINE_EXCEEDED', 'Token-exchange deadline elapsed.'));
|
|
68
|
+
}
|
|
69
|
+
if (cause instanceof errors.ProtocolError && PROVIDER_CODES.has(cause.payload.code)) {
|
|
70
|
+
return respond(protocolIssuer.exchange.acceptErrorResponse({ error: cause.payload }));
|
|
71
|
+
}
|
|
72
|
+
throw cause;
|
|
73
|
+
}
|
|
74
|
+
if (operation.timedOut) {
|
|
75
|
+
return respond(error('DEADLINE_EXCEEDED', 'Token-exchange deadline elapsed.'));
|
|
76
|
+
}
|
|
77
|
+
const response = protocolIssuer.exchange.acceptResponse(output);
|
|
78
|
+
if (credential.inspect(response.token).claims.exp !== response.expiresAt) {
|
|
79
|
+
throw new TypeError('Token-exchange provider returned inconsistent expiry evidence.');
|
|
80
|
+
}
|
|
81
|
+
return json(response, 200, request, cors);
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return respond(error('INTERNAL_ERROR', 'Internal token-exchange failure.'));
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
operation.settle();
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
async function requireEmptyBody(request, signal) {
|
|
92
|
+
const declared = request.headers.get('content-length');
|
|
93
|
+
if (declared !== null && declared !== '0')
|
|
94
|
+
invalidRequest();
|
|
95
|
+
const reader = request.body?.getReader();
|
|
96
|
+
if (reader === undefined)
|
|
97
|
+
return;
|
|
98
|
+
const abort = () => void reader.cancel(signal.reason).catch(() => undefined);
|
|
99
|
+
signal.addEventListener('abort', abort, { once: true });
|
|
100
|
+
try {
|
|
101
|
+
if (signal.aborted)
|
|
102
|
+
throw signal.reason;
|
|
103
|
+
const first = await reader.read();
|
|
104
|
+
if (!first.done) {
|
|
105
|
+
await reader.cancel('token exchange requires an empty body').catch(() => undefined);
|
|
106
|
+
invalidRequest();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
signal.removeEventListener('abort', abort);
|
|
111
|
+
reader.releaseLock();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function invalidRequest() {
|
|
115
|
+
throw new errors.ProtocolError({
|
|
116
|
+
code: errors.CODES.INVALID_REQUEST,
|
|
117
|
+
message: 'Token exchange requires an empty request body.',
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function error(code, message) {
|
|
121
|
+
return protocolIssuer.exchange.acceptErrorResponse({
|
|
122
|
+
error: { code: errors.CODES[code], message },
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
function json(value, status, request, cors, extra) {
|
|
126
|
+
const headers = new Headers(protocolIssuer.exchange.responseHeaders());
|
|
127
|
+
for (const [name, value] of Object.entries(cors.response(request)))
|
|
128
|
+
headers.set(name, value);
|
|
129
|
+
if (extra !== undefined) {
|
|
130
|
+
for (const [name, value] of new Headers(extra))
|
|
131
|
+
headers.set(name, value);
|
|
132
|
+
}
|
|
133
|
+
return new Response(JSON.stringify(value), { status, headers });
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=exchange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../issuer/exchange.ts"],"names":[],"mappings":"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"}
|