@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.
Files changed (46) hide show
  1. package/dist/errors/classify.d.ts +1 -1
  2. package/dist/errors/classify.d.ts.map +1 -1
  3. package/dist/errors/classify.js +3 -277
  4. package/dist/errors/classify.js.map +1 -1
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/invocation/context.d.ts +1 -1
  8. package/dist/invocation/context.d.ts.map +1 -1
  9. package/dist/invocation/context.js +2 -2
  10. package/dist/invocation/context.js.map +1 -1
  11. package/dist/invocation/identity.d.ts +10 -0
  12. package/dist/invocation/identity.d.ts.map +1 -0
  13. package/dist/invocation/identity.js +12 -0
  14. package/dist/invocation/identity.js.map +1 -0
  15. package/dist/invocation/index.d.ts +2 -1
  16. package/dist/invocation/index.d.ts.map +1 -1
  17. package/dist/invocation/index.js +1 -0
  18. package/dist/invocation/index.js.map +1 -1
  19. package/dist/invocation/types.d.ts +32 -7
  20. package/dist/invocation/types.d.ts.map +1 -1
  21. package/dist/routes/routes.d.ts +2 -1
  22. package/dist/routes/routes.d.ts.map +1 -1
  23. package/dist/routes/routes.js +3 -2
  24. package/dist/routes/routes.js.map +1 -1
  25. package/dist/server.d.ts.map +1 -1
  26. package/dist/server.js +6 -1
  27. package/dist/server.js.map +1 -1
  28. package/dist/transport/http/handler.d.ts +2 -0
  29. package/dist/transport/http/handler.d.ts.map +1 -1
  30. package/dist/transport/http/handler.js +33 -31
  31. package/dist/transport/http/handler.js.map +1 -1
  32. package/dist/transport/http/render.d.ts +8 -7
  33. package/dist/transport/http/render.d.ts.map +1 -1
  34. package/dist/transport/http/render.js +47 -38
  35. package/dist/transport/http/render.js.map +1 -1
  36. package/dist/transport/websocket/session.d.ts +2 -0
  37. package/dist/transport/websocket/session.d.ts.map +1 -1
  38. package/dist/transport/websocket/session.js +42 -36
  39. package/dist/transport/websocket/session.js.map +1 -1
  40. package/dist/transport/websocket/upgrade.d.ts +2 -0
  41. package/dist/transport/websocket/upgrade.d.ts.map +1 -1
  42. package/dist/transport/websocket/upgrade.js +1 -0
  43. package/dist/transport/websocket/upgrade.js.map +1 -1
  44. package/dist/types.d.ts +5 -2
  45. package/dist/types.d.ts.map +1 -1
  46. 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 protocol boundary into safe public data. */
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":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAKpD,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,YAAY,CAmBjE"}
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"}
@@ -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 protocol boundary into safe public data. */
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 classifyFunction(input) {
42
- const reason = errors.reasonOf(input.reason);
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
@@ -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, delegate?: InvocationContext['delegate']): InvocationContext;
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,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
+ {"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, delegate) {
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":"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"}
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,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,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"}
@@ -1,3 +1,4 @@
1
1
  export { defaultSleep, invocationContext } from './context.js';
2
+ export { captureInvocationSource, } from './identity.js';
2
3
  export { publicationRouteDecision } from './publication-route.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -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 { InboundRequestOptions, RequestBackground, RequestSleep } from '@astrale-os/kernel-ports';
3
- import type { Call, Result } from '@astrale-os/kernel-ports/functions';
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 extends InboundRequestOptions {
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<Result | {
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,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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../invocation/types.ts"],"names":[],"mappings":"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"}
@@ -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,CA4ON;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"}
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"}
@@ -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)), {