@astrale-os/sdk 0.5.0-beta.1 → 0.5.0-beta.3

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 (91) hide show
  1. package/dist/auth/exchange.d.ts +11 -0
  2. package/dist/auth/exchange.d.ts.map +1 -0
  3. package/dist/auth/exchange.js +8 -0
  4. package/dist/auth/exchange.js.map +1 -0
  5. package/dist/auth/index.d.ts +1 -0
  6. package/dist/auth/index.d.ts.map +1 -1
  7. package/dist/auth/index.js +1 -0
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/deployment/artifact/deployment.d.ts +1 -1
  10. package/dist/deployment/artifact/deployment.d.ts.map +1 -1
  11. package/dist/deployment/artifact/deployment.js +4 -3
  12. package/dist/deployment/artifact/deployment.js.map +1 -1
  13. package/dist/deployment/check/check.js +1 -1
  14. package/dist/deployment/check/check.js.map +1 -1
  15. package/dist/domain/app.d.ts +17 -8
  16. package/dist/domain/app.d.ts.map +1 -1
  17. package/dist/domain/context.d.ts +5 -3
  18. package/dist/domain/context.d.ts.map +1 -1
  19. package/dist/domain/define.d.ts +8 -0
  20. package/dist/domain/define.d.ts.map +1 -1
  21. package/dist/domain/define.js +4 -0
  22. package/dist/domain/define.js.map +1 -1
  23. package/dist/domain/handlers.d.ts +1 -1
  24. package/dist/domain/handlers.d.ts.map +1 -1
  25. package/dist/domain/index.d.ts +3 -1
  26. package/dist/domain/index.d.ts.map +1 -1
  27. package/dist/domain/index.js +1 -0
  28. package/dist/domain/index.js.map +1 -1
  29. package/dist/domain/requirements.d.ts +26 -0
  30. package/dist/domain/requirements.d.ts.map +1 -0
  31. package/dist/domain/requirements.js +98 -0
  32. package/dist/domain/requirements.js.map +1 -0
  33. package/dist/index.d.ts +2 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/invocation/errors.d.ts +22 -0
  38. package/dist/invocation/errors.d.ts.map +1 -0
  39. package/dist/invocation/errors.js +66 -0
  40. package/dist/invocation/errors.js.map +1 -0
  41. package/dist/invocation/handler.d.ts +2 -2
  42. package/dist/invocation/handler.d.ts.map +1 -1
  43. package/dist/invocation/handler.js +84 -10
  44. package/dist/invocation/handler.js.map +1 -1
  45. package/dist/invocation/index.d.ts +2 -0
  46. package/dist/invocation/index.d.ts.map +1 -1
  47. package/dist/invocation/index.js +1 -0
  48. package/dist/invocation/index.js.map +1 -1
  49. package/dist/invocation/receiver.d.ts.map +1 -1
  50. package/dist/invocation/receiver.js +1 -1
  51. package/dist/invocation/receiver.js.map +1 -1
  52. package/dist/invocation/result.d.ts +2 -2
  53. package/dist/invocation/result.d.ts.map +1 -1
  54. package/dist/invocation/result.js +1 -1
  55. package/dist/invocation/result.js.map +1 -1
  56. package/dist/invocation/selection.d.ts +5 -4
  57. package/dist/invocation/selection.d.ts.map +1 -1
  58. package/dist/invocation/selection.js +2 -8
  59. package/dist/invocation/selection.js.map +1 -1
  60. package/dist/invocation/types.d.ts +8 -0
  61. package/dist/invocation/types.d.ts.map +1 -0
  62. package/dist/invocation/types.js +2 -0
  63. package/dist/invocation/types.js.map +1 -0
  64. package/dist/mutation/errors.js +16 -2
  65. package/dist/mutation/errors.js.map +1 -1
  66. package/dist/query/contract.d.ts +1 -1
  67. package/dist/query/contract.d.ts.map +1 -1
  68. package/dist/query/execute.d.ts +1 -1
  69. package/dist/query/execute.d.ts.map +1 -1
  70. package/dist/query/index.d.ts +1 -1
  71. package/dist/query/index.d.ts.map +1 -1
  72. package/dist/query/node.d.ts +3 -3
  73. package/dist/query/node.d.ts.map +1 -1
  74. package/dist/query/node.js +12 -4
  75. package/dist/query/node.js.map +1 -1
  76. package/dist/server/application.d.ts +4 -3
  77. package/dist/server/application.d.ts.map +1 -1
  78. package/dist/server/application.js +14 -12
  79. package/dist/server/application.js.map +1 -1
  80. package/dist/server/remote.d.ts +7 -2
  81. package/dist/server/remote.d.ts.map +1 -1
  82. package/dist/server/remote.js +201 -33
  83. package/dist/server/remote.js.map +1 -1
  84. package/dist/workflow/binding.d.ts +3 -3
  85. package/dist/workflow/binding.d.ts.map +1 -1
  86. package/dist/workflow/contract.d.ts +7 -2
  87. package/dist/workflow/contract.d.ts.map +1 -1
  88. package/dist/workflow/runner.d.ts.map +1 -1
  89. package/dist/workflow/runner.js +1 -0
  90. package/dist/workflow/runner.js.map +1 -1
  91. package/package.json +10 -7
@@ -2,20 +2,20 @@ import { call, Client } from '@astrale-os/kernel-client';
2
2
  import { createAuth } from '@astrale-os/kernel-client/auth';
3
3
  import { createGraph } from '@astrale-os/kernel-client/graph';
4
4
  import { ClientSession } from '@astrale-os/kernel-client/session';
5
- import { credential, delegation, issuer, jwk } from '@astrale-os/kernel-core/auth';
5
+ import { AuthValueError, credential, delegation, grant, issuer, jwk, } from '@astrale-os/kernel-core/auth';
6
6
  import { Domain } from '@astrale-os/kernel-core/domain';
7
7
  import { NodeId } from '@astrale-os/kernel-core/graph/node';
8
8
  import { Path } from '@astrale-os/kernel-core/path';
9
9
  import { syscalls } from '@astrale-os/kernel-core/schema';
10
- import { AuthenticationError } from '@astrale-os/kernel-ports/authentication';
11
- import { FunctionError } from '@astrale-os/kernel-ports/functions';
12
- import { errors as protocolErrors, installation, issuer as issuerProtocol, } from '@astrale-os/kernel-protocol';
10
+ import { errors as protocolErrors, issuer as issuerProtocol, publication as publicationProtocol, } from '@astrale-os/kernel-protocol';
13
11
  import { errors as joseErrors, importJWK, jwtVerify, SignJWT } from 'jose';
14
12
  import { bindCallables, createDeployment } from '../deployment/index.js';
13
+ import { AuthenticationError, FunctionError } from '../invocation/index.js';
15
14
  import { createApplication } from './application.js';
16
15
  const CALLBACK_TTL_SECONDS = 120;
17
16
  const MAXIMUM_DISCOVERY_DOCUMENT_BYTES = 256 * 1024;
18
17
  const DEFAULT_ROUTE_AGE_MS = 60_000;
18
+ const DEFAULT_TOKEN_EXCHANGE_TTL_SECONDS = 300;
19
19
  /**
20
20
  * Compose the portable V2 Deployment/Application pair for one remotely hosted Domain.
21
21
  * The helper owns only generic remote identity, installation attestation, and callback authority;
@@ -45,7 +45,7 @@ export function createRemoteApplication(input) {
45
45
  : { protocolViewBindings: delivery.protocolViewBindings }),
46
46
  ...(delivery.routes === undefined ? {} : { routes: delivery.routes }),
47
47
  ...(delivery.manifest === undefined ? {} : { manifest: delivery.manifest }),
48
- ...(delivery.installation === undefined ? {} : { installation: delivery.installation }),
48
+ ...(delivery.delivery === undefined ? {} : { delivery: delivery.delivery }),
49
49
  servingEndpoint: delivery.endpoint,
50
50
  };
51
51
  const deployed = createDeployment(deploymentInput);
@@ -57,9 +57,9 @@ export function createRemoteApplication(input) {
57
57
  identity: remoteIdentity({ ...input.identity, issuer: issuerId }, signing),
58
58
  server: input.server,
59
59
  ...(input.workflowRunner === undefined ? {} : { workflowRunner: input.workflowRunner }),
60
- ...(delivery.installation === undefined
60
+ ...(delivery.delivery === undefined
61
61
  ? {}
62
- : { installation: publicInstallationProvider(() => current, signing) }),
62
+ : { delivery: publicDeliveryProvider(() => current, signing) }),
63
63
  ...(input.app === undefined ? {} : { app: input.app }),
64
64
  };
65
65
  const application = createApplication(applicationInput);
@@ -92,10 +92,12 @@ function remoteIdentity(input, signing) {
92
92
  if (input.allowEndpoint !== undefined && typeof input.allowEndpoint !== 'function') {
93
93
  throw new TypeError('Remote identity endpoint policy is invalid.');
94
94
  }
95
+ const maximumExchangeTtlSeconds = admitExchangeOptions(input.tokenExchange);
95
96
  return Object.freeze({
96
97
  issuer: selfIssuer,
97
98
  signingAlgorithm: signing.algorithm,
98
99
  loadPublicKeys: async () => [signing.publicKey],
100
+ tokenExchange: exchangeProvider(selfIssuer, input.subject, signing, fetchImpl, input, maximumExchangeTtlSeconds),
99
101
  admit: (request) => admitAttempt(request, signing, selfIssuer, fetchImpl, input),
100
102
  authenticate: async (request) => {
101
103
  const established = await establishCaller(request.credential, selfIssuer, fetchImpl, request.context.execution.signal, input);
@@ -108,8 +110,7 @@ function remoteIdentity(input, signing) {
108
110
  const composedCredential = await signCallback(signing, selfIssuer, input.subject, callbackAudience, composed, established.verified, context);
109
111
  const fetch = boundedFetch(fetchImpl, context.signal);
110
112
  const session = new ClientSession({
111
- url: invocationUrl(callbackAudience),
112
- sourceIssuer: callbackAudience,
113
+ kernel: callbackAudience,
113
114
  fetch,
114
115
  auth: {
115
116
  ttlSeconds: callbackTtl(context.deadline),
@@ -133,6 +134,22 @@ function remoteIdentity(input, signing) {
133
134
  },
134
135
  });
135
136
  }
137
+ function admitExchangeOptions(input) {
138
+ if (input === undefined)
139
+ return DEFAULT_TOKEN_EXCHANGE_TTL_SECONDS;
140
+ if (input === null || typeof input !== 'object' || Array.isArray(input)) {
141
+ throw new TypeError('Remote identity tokenExchange options are invalid.');
142
+ }
143
+ const fields = Reflect.ownKeys(input);
144
+ if (fields.some((field) => field !== 'maximumTtlSeconds')) {
145
+ throw new TypeError('Remote identity tokenExchange options contain an unknown field.');
146
+ }
147
+ const maximumTtlSeconds = input.maximumTtlSeconds ?? DEFAULT_TOKEN_EXCHANGE_TTL_SECONDS;
148
+ if (!Number.isSafeInteger(maximumTtlSeconds) || maximumTtlSeconds < 1) {
149
+ throw new TypeError('tokenExchange.maximumTtlSeconds must be a positive safe integer.');
150
+ }
151
+ return maximumTtlSeconds;
152
+ }
136
153
  function signingMaterial(input) {
137
154
  if (input === null || typeof input !== 'object' || Array.isArray(input)) {
138
155
  throw new TypeError('Remote identity private key must be a JWK object.');
@@ -146,7 +163,11 @@ function signingMaterial(input) {
146
163
  throw new TypeError('Remote identity private JWK kid is invalid.');
147
164
  }
148
165
  const value = input;
149
- const { d: _d, p: _p, q: _q, dp: _dp, dq: _dq, qi: _qi, oth: _oth, k: _k, ...publicValue } = value;
166
+ const { d: _d, p: _p, q: _q, dp: _dp, dq: _dq, qi: _qi, oth: _oth, k: _k,
167
+ // A WebCrypto-exported private JWK can be restricted to signing. That
168
+ // operation does not apply to the derived public verification key and
169
+ // makes strict JOSE consumers reject it when retained in JWKS.
170
+ key_ops: _keyOperations, ...publicValue } = value;
150
171
  const publicKey = jwk.acceptPublic({
151
172
  ...publicValue,
152
173
  alg: algorithm,
@@ -159,10 +180,127 @@ function signingMaterial(input) {
159
180
  publicKey,
160
181
  });
161
182
  }
183
+ function exchangeProvider(domainIssuer, subject, signing, fetch, policy, maximumTtlSeconds) {
184
+ return Object.freeze({
185
+ async exchange(request, context) {
186
+ try {
187
+ const outer = await verifyCredential(request.token, domainIssuer, fetch, context.signal, policy);
188
+ requireExchangeProfile(outer.verified, 'outer');
189
+ const carried = delegation.accept(outer.verified.claims.delegation);
190
+ if (typeof carried.credential !== 'string')
191
+ exchangeInvalid();
192
+ const inner = await verifyCredentialAgainst(carried.credential, outer.verified.iss, outer.basis);
193
+ requireExchangeProfile(inner.verified, 'inner');
194
+ requireExchangeCoherence(outer.verified, inner.verified);
195
+ acceptResolvedDelegation(inner.verified.claims.delegation);
196
+ const now = Math.floor(Date.now() / 1_000);
197
+ const expiresAt = Math.min(outer.verified.exp, inner.verified.exp, now + maximumTtlSeconds);
198
+ if (expiresAt <= now)
199
+ exchangeExpired();
200
+ const token = await new SignJWT({
201
+ grant: {
202
+ v: 1,
203
+ expr: { kind: 'identity', credential: carried.credential },
204
+ },
205
+ })
206
+ .setProtectedHeader({
207
+ alg: signing.algorithm,
208
+ ...(signing.keyId === undefined ? {} : { kid: signing.keyId }),
209
+ })
210
+ .setIssuer(domainIssuer)
211
+ .setSubject(subject)
212
+ .setAudience(outer.verified.iss)
213
+ .setIssuedAt(now)
214
+ .setExpirationTime(expiresAt)
215
+ .sign(await signing.privateKey);
216
+ return issuerProtocol.exchange.response(token, expiresAt);
217
+ }
218
+ catch (cause) {
219
+ if (cause instanceof protocolErrors.ProtocolError)
220
+ throw cause;
221
+ if (context.signal.aborted)
222
+ throw context.signal.reason;
223
+ if (cause instanceof joseErrors.JWTExpired)
224
+ exchangeExpired();
225
+ if (cause instanceof IssuerUnavailable)
226
+ exchangeUnavailable();
227
+ if (cause instanceof CredentialRejected ||
228
+ cause instanceof joseErrors.JOSEError ||
229
+ cause instanceof AuthenticationError ||
230
+ cause instanceof AuthValueError) {
231
+ exchangeInvalid();
232
+ }
233
+ throw cause;
234
+ }
235
+ },
236
+ });
237
+ }
238
+ function requireExchangeProfile(input, profile) {
239
+ const expected = ['aud', 'delegation', 'exp', 'iat', 'iss', 'sub'];
240
+ const actual = Object.keys(input.claims).sort();
241
+ if (actual.length !== expected.length ||
242
+ actual.some((field, index) => field !== expected[index]) ||
243
+ typeof input.iat !== 'number' ||
244
+ !Number.isSafeInteger(input.iat) ||
245
+ input.iat < 1 ||
246
+ typeof input.exp !== 'number' ||
247
+ !Number.isSafeInteger(input.exp) ||
248
+ input.exp < 1 ||
249
+ typeof input.aud !== 'string') {
250
+ exchangeInvalid();
251
+ }
252
+ if (profile === 'outer')
253
+ delegation.accept(input.claims.delegation);
254
+ else
255
+ acceptResolvedDelegation(input.claims.delegation);
256
+ }
257
+ function requireExchangeCoherence(outer, inner) {
258
+ if (inner.iss !== outer.iss || inner.sub !== outer.sub || inner.aud !== outer.iss) {
259
+ exchangeInvalid();
260
+ }
261
+ }
262
+ function acceptResolvedDelegation(input) {
263
+ if (input === null ||
264
+ typeof input !== 'object' ||
265
+ Array.isArray(input) ||
266
+ Reflect.ownKeys(input).length !== 2 ||
267
+ !Object.hasOwn(input, 'v') ||
268
+ !Object.hasOwn(input, 'expr') ||
269
+ Reflect.get(input, 'v') !== 1) {
270
+ exchangeInvalid();
271
+ }
272
+ return grant.accept({ expr: Reflect.get(input, 'expr') });
273
+ }
274
+ function exchangeInvalid() {
275
+ throw new protocolErrors.ProtocolError({
276
+ code: protocolErrors.CODES.AUTH_INVALID,
277
+ message: 'Token is invalid.',
278
+ });
279
+ }
280
+ function exchangeExpired() {
281
+ throw new protocolErrors.ProtocolError({
282
+ code: protocolErrors.CODES.AUTH_EXPIRED,
283
+ message: 'Token is expired.',
284
+ });
285
+ }
286
+ function exchangeUnavailable() {
287
+ throw new protocolErrors.ProtocolError({
288
+ code: protocolErrors.CODES.BACKEND_UNAVAILABLE,
289
+ message: 'Token exchange is unavailable.',
290
+ });
291
+ }
162
292
  async function establishCaller(input, audience, fetch, signal, policy) {
163
293
  try {
164
294
  const context = await verifyCredential(input, audience, fetch, signal, policy);
165
295
  const carried = delegation.accept(context.verified.claims.delegation);
296
+ if (typeof carried.credential !== 'string') {
297
+ throw new CredentialRejected('Destination carrier has no Kernel authority proof.');
298
+ }
299
+ const proof = await verifyCredentialAgainst(carried.credential, context.verified.iss, context.basis);
300
+ if (proof.verified.sub !== context.verified.sub) {
301
+ throw new CredentialRejected('Destination carrier and authority proof subjects differ.');
302
+ }
303
+ const authority = acceptResolvedDelegation(proof.verified.claims.delegation);
166
304
  let principal;
167
305
  try {
168
306
  principal = NodeId(context.verified.sub);
@@ -176,6 +314,7 @@ async function establishCaller(input, audience, fetch, signal, policy) {
176
314
  caller: Object.freeze({
177
315
  kind: 'authenticated',
178
316
  principal,
317
+ authority,
179
318
  authentication: credential.evidence(context),
180
319
  }),
181
320
  });
@@ -213,6 +352,12 @@ async function verifyCredential(input, audience, fetch, signal, policy) {
213
352
  catch (cause) {
214
353
  throw new CredentialRejected('Credential issuer is invalid.', cause);
215
354
  }
355
+ const basis = await discoverVerificationBasis(admittedIssuer, fetch, signal, policy);
356
+ const verified = await verifyCredentialAgainst(input, audience, basis, inspected);
357
+ admitEndpoint(invocationUrl(admittedIssuer), policy);
358
+ return Object.freeze({ raw: input, verified: verified.verified, basis });
359
+ }
360
+ async function discoverVerificationBasis(admittedIssuer, fetch, signal, policy) {
216
361
  const paths = issuerProtocol.paths(admittedIssuer);
217
362
  const configurationUrl = new URL(paths.configuration, admittedIssuer).toString();
218
363
  admitEndpoint(configurationUrl, policy);
@@ -221,24 +366,46 @@ async function verifyCredential(input, audience, fetch, signal, policy) {
221
366
  admitEndpoint(configuration.jwks_uri, policy);
222
367
  const keysResponse = await fetchDiscovery(fetch, configuration.jwks_uri, signal);
223
368
  const keys = issuerProtocol.acceptKeySet(await boundedJson(keysResponse, signal), configuration.id_token_signing_alg_values_supported).keys;
369
+ return Object.freeze({
370
+ issuer: admittedIssuer,
371
+ algorithms: configuration.id_token_signing_alg_values_supported,
372
+ keys,
373
+ });
374
+ }
375
+ async function verifyCredentialAgainst(input, audience, basis, preinspected) {
376
+ let inspected;
377
+ try {
378
+ inspected = preinspected ?? credential.inspect(input);
379
+ }
380
+ catch (cause) {
381
+ throw new CredentialRejected('Credential is malformed.', cause);
382
+ }
383
+ if (inspected.iss !== basis.issuer) {
384
+ throw new CredentialRejected('Credential issuer differs from the captured verification basis.');
385
+ }
224
386
  const compact = typeof input === 'string' ? input : new TextDecoder().decode(input);
225
- const candidates = keys.filter((candidate) => inspected.kid === undefined || candidate.kid === inspected.kid);
387
+ const candidates = basis.keys.filter((candidate) => inspected.kid === undefined || candidate.kid === inspected.kid);
226
388
  const matches = [];
389
+ let expired;
227
390
  for (const candidate of candidates) {
228
391
  try {
229
- const imported = await importJWK(candidate, candidate.alg ?? configuration.id_token_signing_alg_values_supported[0]);
392
+ const imported = await importJWK(candidate, candidate.alg ?? basis.algorithms[0]);
230
393
  matches.push(await jwtVerify(compact, imported, {
231
- issuer: admittedIssuer,
394
+ issuer: basis.issuer,
232
395
  audience,
233
- algorithms: [...configuration.id_token_signing_alg_values_supported],
396
+ algorithms: [...basis.algorithms],
234
397
  }));
235
398
  }
236
399
  catch (cause) {
400
+ if (cause instanceof joseErrors.JWTExpired)
401
+ expired = cause;
237
402
  if (cause instanceof joseErrors.JOSEError)
238
403
  continue;
239
404
  throw cause;
240
405
  }
241
406
  }
407
+ if (matches.length === 0 && expired !== undefined)
408
+ throw expired;
242
409
  if (matches.length !== 1) {
243
410
  throw new CredentialRejected('Credential signature is not uniquely verified.');
244
411
  }
@@ -261,7 +428,6 @@ async function verifyCredential(input, audience, fetch, signal, policy) {
261
428
  catch (cause) {
262
429
  throw new CredentialRejected('Credential claims are invalid.', cause);
263
430
  }
264
- admitEndpoint(invocationUrl(admittedIssuer), policy);
265
431
  return Object.freeze({ raw: input, verified });
266
432
  }
267
433
  async function fetchDiscovery(fetch, url, signal) {
@@ -339,7 +505,7 @@ function composedIdentity(nested) {
339
505
  ]),
340
506
  });
341
507
  }
342
- async function signApplicationCallback(signing, callbackIssuer, subject, audience, execution) {
508
+ async function signDomainCallback(signing, callbackIssuer, subject, audience, execution) {
343
509
  requireLive(execution);
344
510
  const now = Math.floor(Date.now() / 1_000);
345
511
  const expiresAt = Math.min(Math.floor(execution.deadline / 1_000), now + CALLBACK_TTL_SECONDS);
@@ -458,12 +624,12 @@ function callableOutput(callable, result) {
458
624
  void result.stream.cancel('Remote callable output kind changed.');
459
625
  throw new FunctionError('FUNCTION_OUTPUT_INVALID', `Remote callable returned ${result.kind} for ${callable.definition.output.mode} output.`);
460
626
  }
461
- async function admitAttempt(request, signing, applicationIssuer, fetch, policy) {
627
+ async function admitAttempt(request, signing, domainIssuer, fetch, policy) {
462
628
  const execution = request.context.execution;
463
629
  const kernel = request.via.issuer;
464
630
  const url = invocationUrl(kernel);
465
631
  admitEndpoint(url, policy);
466
- const callback = await signApplicationCallback(signing, applicationIssuer, request.domain.$.origin, kernel, execution);
632
+ const callback = await signDomainCallback(signing, domainIssuer, request.domain.$.origin, kernel, execution);
467
633
  const owner = Path.project(syscalls.function.admit.ref.owner);
468
634
  const target = Path.staticMethod(owner, syscalls.function.admit.ref.name);
469
635
  const client = new Client({ url, fetch: boundedFetch(fetch, execution.signal) });
@@ -472,19 +638,21 @@ async function admitAttempt(request, signing, applicationIssuer, fetch, policy)
472
638
  call: request.call,
473
639
  ...(request.credential === undefined ? {} : { credential: request.credential }),
474
640
  };
475
- const value = await client.as(callback).call(call(target, portableRequest), {
641
+ const result = await client.as(callback).call(call(target, portableRequest), {
476
642
  ...boundedRequestOptions(execution),
477
643
  delegate: {
478
644
  ttlSeconds: callbackTtl(execution.deadline),
479
- delegation: { kind: 'identity', self: true },
645
+ attenuation: { kind: 'identity', self: true },
480
646
  },
481
647
  });
482
- if (!isTarget(value)) {
648
+ if (result.kind !== 'value' || !isTarget(result.value)) {
483
649
  throw new FunctionError('FUNCTION_EXECUTION_FAILED', 'Kernel returned an invalid Function admission Target.');
484
650
  }
485
651
  return Object.freeze({
486
- callable: value.callable,
487
- ...(value.receiver === undefined ? {} : { receiver: value.receiver }),
652
+ callable: result.value.callable,
653
+ ...(result.value.receiver === undefined
654
+ ? {}
655
+ : { receiver: result.value.receiver }),
488
656
  });
489
657
  }
490
658
  finally {
@@ -501,22 +669,22 @@ function isTarget(input) {
501
669
  (Reflect.get(input, 'receiver') === undefined ||
502
670
  typeof Reflect.get(input, 'receiver') === 'string'));
503
671
  }
504
- function publicInstallationProvider(current, signing) {
505
- if (current().publication.installation?.authentication.kind !== 'public') {
506
- throw new TypeError('Remote application helper currently requires a public install endpoint.');
672
+ function publicDeliveryProvider(current, signing) {
673
+ if (current().publication.delivery?.authentication.kind !== 'public') {
674
+ throw new TypeError('Remote application helper currently requires a public delivery endpoint.');
507
675
  }
508
676
  return Object.freeze({
509
677
  async create(request) {
510
678
  const deployed = current();
511
- if (deployed.publication.installation?.authentication.kind !== 'public') {
512
- throw new FunctionError('FUNCTION_CONFLICT', 'Installation endpoint changed.');
679
+ if (deployed.publication.delivery?.authentication.kind !== 'public') {
680
+ throw new FunctionError('FUNCTION_CONFLICT', 'Delivery endpoint changed.');
513
681
  }
514
682
  if (request.etag !== deployed.publication.etag) {
515
- throw new FunctionError('FUNCTION_CONFLICT', 'Installation Publication changed.');
683
+ throw new FunctionError('FUNCTION_CONFLICT', 'Delivery Publication changed.');
516
684
  }
517
685
  const now = Math.floor(Date.now() / 1_000);
518
686
  const attestation = await new SignJWT({
519
- purpose: installation.PURPOSE,
687
+ purpose: publicationProtocol.delivery.PURPOSE,
520
688
  nonce: request.nonce,
521
689
  etag: deployed.publication.etag,
522
690
  schemaRevision: deployed.publication.schema.revision,
@@ -527,11 +695,11 @@ function publicInstallationProvider(current, signing) {
527
695
  })
528
696
  .setIssuer(deployed.publication.identity.issuer)
529
697
  .setSubject(deployed.publication.origin)
530
- .setAudience(request.kernelIssuer)
698
+ .setAudience(request.kernel)
531
699
  .setExpirationTime(now + CALLBACK_TTL_SECONDS)
532
700
  .sign(await signing.privateKey);
533
- return installation.accept({
534
- format: 'astrale.domain.installation',
701
+ return publicationProtocol.delivery.accept({
702
+ format: 'astrale.domain.delivery',
535
703
  version: 1,
536
704
  publication: deployed.publication,
537
705
  attestation,
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/server/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/server/remote.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { DomainSchemaOf, InputOf, OutputOf } from '@astrale-os/kernel-core/
2
2
  import type { schema } from '@astrale-os/kernel-dsl/v1';
3
3
  import type { WorkflowDefinition, WorkflowTriggers } from './contract.js';
4
4
  export type CallableAuthenticationMode<Callable> = AuthModeOfAuthoring<CallableAuthoringOf<DomainSchemaOf<Callable>, Callable>>;
5
- export type AuthenticatedCallable<Callable> = CallableAuthenticationMode<Callable> extends 'required' ? Callable : never;
5
+ export type AuthenticatedCallable<Callable> = CallableAuthenticationMode<Callable> extends 'anonymous' ? never : Callable;
6
6
  export interface WorkflowBinding<BoundCallable extends object, Capabilities> {
7
7
  readonly kind: 'workflow';
8
8
  readonly callable: BoundCallable;
@@ -20,8 +20,8 @@ export declare function isWorkflowBinding(input: unknown): input is WorkflowBind
20
20
  type AuthModeOfAuthoring<Authoring> = Authoring extends {
21
21
  readonly config: infer Config;
22
22
  } ? Config extends {
23
- readonly auth: infer Mode extends schema.AuthenticationMode;
24
- } ? Mode : 'required' : schema.AuthenticationMode;
23
+ readonly auth: infer Mode extends schema.FunctionAuth;
24
+ } ? Mode : never : schema.FunctionAuth;
25
25
  type CallableAuthoringOf<S extends schema.DomainSchema, Callable> = Callable extends {
26
26
  readonly kind: 'function';
27
27
  readonly name: infer Name extends PropertyKey;
@@ -1 +1 @@
1
- {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/workflow/binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/workflow/binding.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import type { IdentityId } from '@astrale-os/kernel-core/auth';
1
+ import type { Grant, IdentityId } from '@astrale-os/kernel-core/auth';
2
2
  import type { Path } from '@astrale-os/kernel-core/path';
3
3
  import type { Key } from '@astrale-os/kernel-dsl/v1';
4
- import type { ExecutionControl } from '@astrale-os/kernel-ports';
4
+ import type { ExecutionControl } from '@astrale-os/kernel-server';
5
+ import type { Kernel } from '../domain/app.js';
5
6
  import type { MutationExecutor } from '../mutation/index.js';
6
7
  import type { QueryExecutor } from '../query/index.js';
7
8
  import type { WorkflowStep } from './step/index.js';
@@ -9,6 +10,7 @@ export interface CallableWorkflowActivation {
9
10
  readonly kind: 'call';
10
11
  readonly callable: Key.Callable;
11
12
  readonly principal: IdentityId;
13
+ readonly authority: Grant;
12
14
  readonly receiver?: Path;
13
15
  readonly idempotencyKey?: string;
14
16
  }
@@ -28,6 +30,8 @@ export interface WorkflowTriggers<Input> {
28
30
  export interface WorkflowContext<Capabilities> {
29
31
  readonly activation: WorkflowActivation;
30
32
  readonly execution: ExecutionControl;
33
+ /** Caller-bound source Kernel, present for authenticated remote callable activations. */
34
+ readonly kernel?: Kernel;
31
35
  readonly step: WorkflowStep;
32
36
  readonly query: QueryExecutor;
33
37
  readonly mutate: MutationExecutor;
@@ -41,6 +45,7 @@ export interface WorkflowDefinition<Input, Output, Capabilities = {}> {
41
45
  export interface WorkflowExecution<Input, Capabilities> {
42
46
  readonly input: Input;
43
47
  readonly capabilities: Capabilities;
48
+ readonly kernel?: Kernel;
44
49
  readonly query: QueryExecutor;
45
50
  readonly mutate: MutationExecutor;
46
51
  /** Omitted only by explicit direct/test embeddings. */
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/workflow/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/workflow/contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/workflow/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyC,cAAc,EAAE,MAAM,eAAe,CAAA;AAM1F,0EAA0E;AAC1E,wBAAgB,0BAA0B,IAAI,cAAc,CA0B3D"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/workflow/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyC,cAAc,EAAE,MAAM,eAAe,CAAA;AAM1F,0EAA0E;AAC1E,wBAAgB,0BAA0B,IAAI,cAAc,CA2B3D"}