@astrale-os/sdk 0.4.9 → 0.4.11
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/auth/identity.d.ts +2 -0
- package/dist/auth/identity.d.ts.map +1 -1
- package/dist/auth/verify.js +1 -1
- package/dist/auth/verify.js.map +1 -1
- package/dist/cli/spec.d.ts.map +1 -1
- package/dist/cli/spec.js +1 -0
- package/dist/cli/spec.js.map +1 -1
- package/dist/config/define-domain.d.ts +5 -1
- package/dist/config/define-domain.d.ts.map +1 -1
- package/dist/config/define-domain.js +1 -0
- package/dist/config/define-domain.js.map +1 -1
- package/dist/defer/index.d.ts +24 -0
- package/dist/defer/index.d.ts.map +1 -0
- package/dist/defer/index.js +42 -0
- package/dist/defer/index.js.map +1 -0
- package/dist/define/remote-function.d.ts +3 -0
- package/dist/define/remote-function.d.ts.map +1 -1
- package/dist/define/remote-function.js.map +1 -1
- package/dist/dispatch/dispatcher.d.ts +6 -3
- package/dist/dispatch/dispatcher.d.ts.map +1 -1
- package/dist/dispatch/dispatcher.js +45 -23
- package/dist/dispatch/dispatcher.js.map +1 -1
- package/dist/dispatch/execute.d.ts +2 -0
- package/dist/dispatch/execute.d.ts.map +1 -1
- package/dist/dispatch/execute.js +1 -0
- package/dist/dispatch/execute.js.map +1 -1
- package/dist/domain/build-spec.js +4 -0
- package/dist/domain/build-spec.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/method/context.d.ts +3 -0
- package/dist/method/context.d.ts.map +1 -1
- package/dist/server/auxiliary-routes.d.ts.map +1 -1
- package/dist/server/auxiliary-routes.js +47 -11
- package/dist/server/auxiliary-routes.js.map +1 -1
- package/dist/server/worker-entry.d.ts +3 -2
- package/dist/server/worker-entry.d.ts.map +1 -1
- package/dist/server/worker-entry.js +2 -2
- package/dist/server/worker-entry.js.map +1 -1
- package/package.json +1 -1
- package/src/auth/identity.ts +2 -0
- package/src/auth/verify.ts +1 -1
- package/src/cli/spec.ts +1 -0
- package/src/config/define-domain.ts +6 -1
- package/src/defer/index.ts +64 -0
- package/src/define/remote-function.ts +3 -0
- package/src/dispatch/dispatcher.ts +50 -22
- package/src/dispatch/execute.ts +3 -0
- package/src/domain/build-spec.ts +4 -0
- package/src/index.ts +3 -0
- package/src/method/context.ts +3 -0
- package/src/server/auxiliary-routes.ts +59 -10
- package/src/server/worker-entry.ts +12 -4
|
@@ -11,12 +11,13 @@
|
|
|
11
11
|
* Bindings whose host is not a sub-domain of this worker's host are skipped
|
|
12
12
|
* (the graph node was still materialized; the route lives elsewhere).
|
|
13
13
|
*/
|
|
14
|
-
import { isKernelErrorClassifiable, KERNEL_ERROR_CODES, kernelErrorHttpStatus, } from '@astrale-os/kernel-api';
|
|
14
|
+
import { decodeKernelRequest, isKernelErrorClassifiable, KERNEL_CONTENT_TYPE_JSON, KERNEL_CONTENT_TYPE_MSGPACK, KERNEL_ERROR_CODES, kernelErrorHttpStatus, resolveCodec, } from '@astrale-os/kernel-api';
|
|
15
15
|
import { isSubdomainOf, matchHost, compileHostMatcher, parseUrlTemplate, } from '@astrale-os/kernel-api/routed';
|
|
16
16
|
import { buildCorsHeaders } from '@astrale-os/kernel-server';
|
|
17
17
|
import { makeFunctionContext } from '../auth/function-context';
|
|
18
18
|
import { makeDomainAuthority } from '../auth/issuer-mint';
|
|
19
19
|
import { resolveInboundAuth } from '../auth/resolve';
|
|
20
|
+
import { createHandlerLifecycle, executionLifetime } from '../defer';
|
|
20
21
|
import { runAuthorize } from '../dispatch/authorize';
|
|
21
22
|
import { SdkResultValidationError, SdkValidationError } from '../dispatch/errors';
|
|
22
23
|
import { validateParams, validateResult } from '../dispatch/validate';
|
|
@@ -78,11 +79,8 @@ export function mountAuxiliaryRoutes(config) {
|
|
|
78
79
|
identity,
|
|
79
80
|
corsHeaders,
|
|
80
81
|
run: async ({ c, auth, kernel }) => {
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
.json()
|
|
84
|
-
.catch(() => ({}));
|
|
85
|
-
const validation = validateParams(def.inputSchema, rawBody);
|
|
82
|
+
const input = await readRemoteFunctionInput(c);
|
|
83
|
+
const validation = validateParams(def.inputSchema, input.params);
|
|
86
84
|
if (!validation.ok) {
|
|
87
85
|
throw new SdkValidationError(validation.issues);
|
|
88
86
|
}
|
|
@@ -110,15 +108,29 @@ export function mountAuxiliaryRoutes(config) {
|
|
|
110
108
|
};
|
|
111
109
|
if (def.authorize)
|
|
112
110
|
await runAuthorize(def.authorize, ctx);
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
111
|
+
const lifecycle = createHandlerLifecycle(executionLifetime(c));
|
|
112
|
+
const result = await (async () => {
|
|
113
|
+
try {
|
|
114
|
+
return await def.execute({
|
|
115
|
+
...ctx,
|
|
116
|
+
step: createInlineStep({
|
|
117
|
+
scope: { kind: 'function', ref: `function.${slug}`, slug },
|
|
118
|
+
}),
|
|
119
|
+
defer: lifecycle.defer,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
finally {
|
|
123
|
+
await lifecycle.settle();
|
|
124
|
+
}
|
|
125
|
+
})();
|
|
117
126
|
const outValidation = validateResult(def.outputSchema, result);
|
|
118
127
|
if (!outValidation.ok) {
|
|
119
128
|
throw new SdkResultValidationError(outValidation.issues, `function.${slug}`);
|
|
120
129
|
}
|
|
121
|
-
return c.json({
|
|
130
|
+
return c.json({
|
|
131
|
+
result: outValidation.data,
|
|
132
|
+
...(input.enveloped ? { id: input.id ?? null } : {}),
|
|
133
|
+
});
|
|
122
134
|
},
|
|
123
135
|
});
|
|
124
136
|
}
|
|
@@ -207,6 +219,30 @@ function mountEntry(args) {
|
|
|
207
219
|
return c.body(null, 204);
|
|
208
220
|
});
|
|
209
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* A Function binding is reached in two legitimate ways:
|
|
224
|
+
* - kernel-client follows a graph redirect and sends the canonical kernel envelope;
|
|
225
|
+
* - an external webhook caller POSTs its raw JSON contract directly.
|
|
226
|
+
*
|
|
227
|
+
* The vendor content type is the discriminator. Shape-sniffing would break a valid
|
|
228
|
+
* webhook whose own payload happens to contain `method` and `params` fields.
|
|
229
|
+
*/
|
|
230
|
+
async function readRemoteFunctionInput(c) {
|
|
231
|
+
const contentType = c.req.header('content-type') ?? '';
|
|
232
|
+
const isJsonEnvelope = contentType.includes(KERNEL_CONTENT_TYPE_JSON);
|
|
233
|
+
const isMsgpackEnvelope = contentType.includes(KERNEL_CONTENT_TYPE_MSGPACK);
|
|
234
|
+
if (isJsonEnvelope || isMsgpackEnvelope) {
|
|
235
|
+
const bytes = new Uint8Array(await c.req.raw.clone().arrayBuffer());
|
|
236
|
+
const codec = resolveCodec(isMsgpackEnvelope ? 'msgpack' : 'json');
|
|
237
|
+
const request = decodeKernelRequest(codec.decode(bytes));
|
|
238
|
+
return { params: request.params, enveloped: true, id: request.id };
|
|
239
|
+
}
|
|
240
|
+
const params = await c.req.raw
|
|
241
|
+
.clone()
|
|
242
|
+
.json()
|
|
243
|
+
.catch(() => ({}));
|
|
244
|
+
return { params, enveloped: false };
|
|
245
|
+
}
|
|
210
246
|
function applyCorsToContext(c, headers) {
|
|
211
247
|
for (const [name, value] of Object.entries(headers))
|
|
212
248
|
c.header(name, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auxiliary-routes.js","sourceRoot":"","sources":["../../src/server/auxiliary-routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auxiliary-routes.js","sourceRoot":"","sources":["../../src/server/auxiliary-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,12 +21,13 @@
|
|
|
21
21
|
*
|
|
22
22
|
* The worker file is then just schema + methods + a `build(url, env)` callback.
|
|
23
23
|
*/
|
|
24
|
+
import type { ExecutionContext } from 'hono';
|
|
24
25
|
import type { RemoteServerConfig } from './config';
|
|
25
26
|
type Fetcher = {
|
|
26
27
|
fetch(request: Request): Response | Promise<Response>;
|
|
27
28
|
};
|
|
28
29
|
type App = {
|
|
29
|
-
fetch(request: Request): Response | Promise<Response>;
|
|
30
|
+
fetch(request: Request, env?: unknown, executionCtx?: ExecutionContext): Response | Promise<Response>;
|
|
30
31
|
};
|
|
31
32
|
/** A built app cached by its serving URL: `origin` for same-origin matching,
|
|
32
33
|
* `app` for in-process self-dispatch. */
|
|
@@ -111,7 +112,7 @@ export interface WorkerEntryConfig<TDeps> {
|
|
|
111
112
|
rewriteRequest?: (env: TDeps, request: Request) => Request;
|
|
112
113
|
}
|
|
113
114
|
export interface WorkerEntry<TDeps> {
|
|
114
|
-
fetch(request: Request, env: TDeps): Response | Promise<Response>;
|
|
115
|
+
fetch(request: Request, env: TDeps, executionCtx?: ExecutionContext): Response | Promise<Response>;
|
|
115
116
|
}
|
|
116
117
|
/**
|
|
117
118
|
* The request origin as the CLIENT reached it — i.e. the origin a fallback
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-entry.d.ts","sourceRoot":"","sources":["../../src/server/worker-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAMlD,KAAK,OAAO,GAAG;IAAE,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,CAAA;AACxE,KAAK,GAAG,GAAG;
|
|
1
|
+
{"version":3,"file":"worker-entry.d.ts","sourceRoot":"","sources":["../../src/server/worker-entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -169,7 +169,7 @@ export function createWorkerEntry(config) {
|
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
171
|
return {
|
|
172
|
-
async fetch(request, env) {
|
|
172
|
+
async fetch(request, env, executionCtx) {
|
|
173
173
|
if (config.selfBinding)
|
|
174
174
|
self ??= config.selfBinding(env) ?? null;
|
|
175
175
|
if (config.routeSubrequest)
|
|
@@ -188,7 +188,7 @@ export function createWorkerEntry(config) {
|
|
|
188
188
|
: requireEnv(env, 'WORKER_URL', "the worker's public serving URL (its iss identity)");
|
|
189
189
|
const url = canonicalizeServingUrl(raw);
|
|
190
190
|
const dispatched = config.rewriteRequest ? config.rewriteRequest(env, request) : request;
|
|
191
|
-
return getApp(url, env).fetch(dispatched);
|
|
191
|
+
return getApp(url, env).fetch(dispatched, env, executionCtx);
|
|
192
192
|
},
|
|
193
193
|
};
|
|
194
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-entry.js","sourceRoot":"","sources":["../../src/server/worker-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"worker-entry.js","sourceRoot":"","sources":["../../src/server/worker-entry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/auth/identity.ts
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
export type RemoteIdentityConfig = {
|
|
9
9
|
/** This service's issuer (URL where its JWKS is served, or a registered ID) */
|
|
10
10
|
issuer: string
|
|
11
|
+
/** Optional inbound audience when transport addressing differs from issuer. */
|
|
12
|
+
audience?: string
|
|
11
13
|
/** This service's subject identifier (e.g. "task-service") */
|
|
12
14
|
subject: string
|
|
13
15
|
/** Private key for signing outbound credentials */
|
package/src/auth/verify.ts
CHANGED
|
@@ -177,7 +177,7 @@ export async function verifyInboundCredential(
|
|
|
177
177
|
|
|
178
178
|
// Validate audience matches this function's issuer (its serving URL).
|
|
179
179
|
// kernel-core's verifyAudience compares canonically.
|
|
180
|
-
verifyAudience(verified, config.issuer as IssuerId)
|
|
180
|
+
verifyAudience(verified, (config.audience ?? config.issuer) as IssuerId)
|
|
181
181
|
|
|
182
182
|
// Extract attestation and delegation from claims
|
|
183
183
|
const attestation = verified.claims.attestation as Attestation | undefined
|
package/src/cli/spec.ts
CHANGED
|
@@ -31,6 +31,7 @@ export async function buildProjectSpec(
|
|
|
31
31
|
const config = {
|
|
32
32
|
schema: def.schema,
|
|
33
33
|
methods: def.methods,
|
|
34
|
+
...(def.core ? { core: def.core } : {}),
|
|
34
35
|
...(def.views ? { views: def.views } : {}),
|
|
35
36
|
...(def.functions ? { remoteFunctions: def.functions } : {}),
|
|
36
37
|
...(def.path ? { path: def.path } : {}),
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* no kernel — it validates and packages the declaration.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import type { Schema } from '@astrale-os/kernel-dsl'
|
|
19
|
+
import type { Core, Schema } from '@astrale-os/kernel-dsl'
|
|
20
20
|
|
|
21
21
|
import { DomainOrigin } from '@astrale-os/kernel-core/domain'
|
|
22
22
|
|
|
@@ -101,6 +101,8 @@ export interface DefineDomainConfig<S extends Schema, TDeps, TEnv = unknown> {
|
|
|
101
101
|
* compile error here.
|
|
102
102
|
*/
|
|
103
103
|
methods: SchemaMethodsImpl<S, TDeps>
|
|
104
|
+
/** Declarative genesis nodes and edges materialized with the domain at install time. */
|
|
105
|
+
core?: Core<S>
|
|
104
106
|
/**
|
|
105
107
|
* Map the worker `env` to the handler dependency container (`ctx.deps`).
|
|
106
108
|
* Run ONCE per cold isolate per serving URL (the built app is cached), NOT
|
|
@@ -172,6 +174,8 @@ export interface DomainDefinition {
|
|
|
172
174
|
schema: Schema
|
|
173
175
|
// oxlint-disable-next-line no-explicit-any -- erased at the consumption casts in spec/codegen
|
|
174
176
|
methods: SchemaMethodsImpl<Schema, any>
|
|
177
|
+
/** Declarative genesis nodes and edges, preserved through codegen and diagnostic builds. */
|
|
178
|
+
core?: Core<Schema>
|
|
175
179
|
/**
|
|
176
180
|
* env → deps mapper, when the author supplied one. Held loosely (the worker
|
|
177
181
|
* imports the real function from its own `deps` module); the CLI reads only
|
|
@@ -280,6 +284,7 @@ export function defineDomain<S extends Schema, TDeps, TEnv = unknown>(
|
|
|
280
284
|
return {
|
|
281
285
|
schema: config.schema,
|
|
282
286
|
methods: config.methods as DomainDefinition['methods'],
|
|
287
|
+
...(config.core ? { core: config.core as DomainDefinition['core'] } : {}),
|
|
283
288
|
...(config.deps ? { deps: config.deps as DomainDefinition['deps'] } : {}),
|
|
284
289
|
...(config.views ? { views: config.views as Record<string, ViewDef> } : {}),
|
|
285
290
|
...(config.functions ? { functions: config.functions } : {}),
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { Context } from 'hono'
|
|
2
|
+
|
|
3
|
+
/** Internal structural host capability; not part of the author-facing SDK contract. */
|
|
4
|
+
export type HandlerExecutionLifetime = {
|
|
5
|
+
waitUntil(promise: Promise<unknown>): void
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Work detached from the current handler result.
|
|
10
|
+
*
|
|
11
|
+
* The callback is deliberately lazy: the SDK registers the resulting task with
|
|
12
|
+
* the active execution backend before it starts. Current request-based hosts
|
|
13
|
+
* extend their request lifetime; future durable backends may provide stronger
|
|
14
|
+
* execution guarantees without changing the author-facing API.
|
|
15
|
+
*/
|
|
16
|
+
export type DeferredTask = () => void | PromiseLike<unknown>
|
|
17
|
+
|
|
18
|
+
export type Defer = (task: DeferredTask) => void
|
|
19
|
+
|
|
20
|
+
export type HandlerLifecycle = {
|
|
21
|
+
defer: Defer
|
|
22
|
+
settle(): Promise<void>
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** Bind detached work to the host, with a safe blocking fallback for other runtimes. */
|
|
26
|
+
export function createHandlerLifecycle(lifetime?: HandlerExecutionLifetime): HandlerLifecycle {
|
|
27
|
+
const pending: Promise<unknown>[] = []
|
|
28
|
+
|
|
29
|
+
return {
|
|
30
|
+
defer(task) {
|
|
31
|
+
const promise = Promise.resolve().then(task)
|
|
32
|
+
if (lifetime) lifetime.waitUntil(promise)
|
|
33
|
+
else pending.push(promise)
|
|
34
|
+
},
|
|
35
|
+
async settle() {
|
|
36
|
+
if (lifetime || pending.length === 0) return
|
|
37
|
+
|
|
38
|
+
// A deferred task may register more work before it settles. Drain until
|
|
39
|
+
// the lifecycle is stable so non-request runtimes never abandon children.
|
|
40
|
+
let cursor = 0
|
|
41
|
+
while (cursor < pending.length) {
|
|
42
|
+
const batch = pending.slice(cursor)
|
|
43
|
+
cursor = pending.length
|
|
44
|
+
const results = await Promise.allSettled(batch)
|
|
45
|
+
for (const result of results) {
|
|
46
|
+
if (result.status === 'rejected') {
|
|
47
|
+
// oxlint-disable-next-line no-console
|
|
48
|
+
console.error('[sdk] deferred task failed:', result.reason)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** Hono omits its execution context in Node and in lightweight unit tests. */
|
|
57
|
+
export function executionLifetime(c: Context): HandlerExecutionLifetime | undefined {
|
|
58
|
+
try {
|
|
59
|
+
const host = c.executionCtx
|
|
60
|
+
return { waitUntil: (promise) => host.waitUntil(promise) }
|
|
61
|
+
} catch {
|
|
62
|
+
return undefined
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -25,6 +25,7 @@ import type { z } from 'zod'
|
|
|
25
25
|
|
|
26
26
|
import type { FunctionContextApi } from '../auth/function-context'
|
|
27
27
|
import type { DomainAuthority } from '../auth/issuer-mint'
|
|
28
|
+
import type { Defer } from '../defer'
|
|
28
29
|
import type { AuthForPolicy, CallerContext, KernelForAuth, RemoteEnv } from '../method/context'
|
|
29
30
|
import type { Step } from '../step'
|
|
30
31
|
|
|
@@ -83,6 +84,8 @@ export interface RemoteFunctionContext<
|
|
|
83
84
|
> extends RemoteFunctionBaseContext<TParams, TDeps, TKernel, TAuth> {
|
|
84
85
|
/** Durable-shaped step builder. Inline today, replayable by future backends. */
|
|
85
86
|
step: Step
|
|
87
|
+
/** Run independent work without making its completion part of this result. */
|
|
88
|
+
defer: Defer
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
export type RemoteFunctionDef<
|
|
@@ -24,6 +24,7 @@ import type { MethodIndex } from './resolve'
|
|
|
24
24
|
import { makeFunctionContext } from '../auth/function-context'
|
|
25
25
|
import { makeDomainAuthority } from '../auth/issuer-mint'
|
|
26
26
|
import { resolveInboundAuth } from '../auth/resolve'
|
|
27
|
+
import { createHandlerLifecycle, type HandlerExecutionLifetime } from '../defer'
|
|
27
28
|
import { createInlineStep } from '../step'
|
|
28
29
|
import { runAuthorize } from './authorize'
|
|
29
30
|
import { MethodNotFoundError, SdkResultValidationError, SdkValidationError } from './errors'
|
|
@@ -35,6 +36,11 @@ import { validateParams, validateResult } from './validate'
|
|
|
35
36
|
|
|
36
37
|
type PathInput = string | { raw: string }
|
|
37
38
|
|
|
39
|
+
type SdkDispatchOpts = {
|
|
40
|
+
self?: string
|
|
41
|
+
lifetime?: HandlerExecutionLifetime
|
|
42
|
+
}
|
|
43
|
+
|
|
38
44
|
export type SdkDispatcherConfig<TDeps> = {
|
|
39
45
|
/** The compiled domain — source of the method layout and origin-addressed subs. */
|
|
40
46
|
compiled: CompiledDomain
|
|
@@ -86,7 +92,7 @@ export class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
86
92
|
params: unknown,
|
|
87
93
|
opts?: { self?: string },
|
|
88
94
|
): Promise<unknown> {
|
|
89
|
-
return this.run(path, credential, params, opts
|
|
95
|
+
return this.run(path, credential, params, opts)
|
|
90
96
|
}
|
|
91
97
|
|
|
92
98
|
async stream(
|
|
@@ -95,7 +101,7 @@ export class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
95
101
|
params: unknown,
|
|
96
102
|
opts?: { self?: string },
|
|
97
103
|
): Promise<AsyncGenerator<unknown>> {
|
|
98
|
-
const result = await this.run(path, credential, params, opts
|
|
104
|
+
const result = await this.run(path, credential, params, opts)
|
|
99
105
|
if (!isAsyncGenerator(result)) {
|
|
100
106
|
throw new Error(`Method "${pathToString(path)}" did not return an async generator`)
|
|
101
107
|
}
|
|
@@ -111,9 +117,9 @@ export class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
111
117
|
path: PathInput,
|
|
112
118
|
credential: CredentialInput,
|
|
113
119
|
params: unknown,
|
|
114
|
-
opts?:
|
|
120
|
+
opts?: SdkDispatchOpts,
|
|
115
121
|
): Promise<DispatchResult> {
|
|
116
|
-
const result = await this.run(path, credential, params, opts
|
|
122
|
+
const result = await this.run(path, credential, params, opts)
|
|
117
123
|
return isAsyncGenerator(result)
|
|
118
124
|
? { kind: 'stream', generator: result }
|
|
119
125
|
: { kind: 'value', value: result }
|
|
@@ -130,8 +136,9 @@ export class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
130
136
|
path: PathInput,
|
|
131
137
|
credential: CredentialInput,
|
|
132
138
|
params: unknown,
|
|
133
|
-
|
|
139
|
+
opts?: SdkDispatchOpts,
|
|
134
140
|
): Promise<unknown> {
|
|
141
|
+
const selfRef = opts?.self
|
|
135
142
|
const bound = resolveMethod(this.methods, pathToString(path))
|
|
136
143
|
if (!bound) throw new MethodNotFoundError(pathToString(path))
|
|
137
144
|
|
|
@@ -217,20 +224,37 @@ export class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
217
224
|
|
|
218
225
|
if (handler.authorize) await runAuthorize(handler.authorize, ctx)
|
|
219
226
|
|
|
220
|
-
const
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
227
|
+
const lifecycle = createHandlerLifecycle(opts?.lifetime)
|
|
228
|
+
let result: unknown
|
|
229
|
+
try {
|
|
230
|
+
result = await executeHandler({
|
|
231
|
+
handler,
|
|
232
|
+
ref: bound.ref,
|
|
233
|
+
...ctx,
|
|
234
|
+
step: createInlineStep({
|
|
235
|
+
scope: {
|
|
236
|
+
kind: 'method',
|
|
237
|
+
ref: bound.ref,
|
|
238
|
+
owner: bound.owner,
|
|
239
|
+
method: bound.method,
|
|
240
|
+
},
|
|
241
|
+
}),
|
|
242
|
+
defer: lifecycle.defer,
|
|
243
|
+
})
|
|
244
|
+
} catch (error) {
|
|
245
|
+
await lifecycle.settle()
|
|
246
|
+
throw error
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
if (isAsyncGenerator(result)) {
|
|
250
|
+
return validateOutputStream(bound, result, lifecycle.settle)
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
try {
|
|
254
|
+
return validateOutput(bound, result)
|
|
255
|
+
} finally {
|
|
256
|
+
await lifecycle.settle()
|
|
257
|
+
}
|
|
234
258
|
}
|
|
235
259
|
|
|
236
260
|
private identityFor(bound: BoundMethod<AnyRemoteHandler>): RemoteIdentityConfig {
|
|
@@ -268,16 +292,20 @@ function pathToString(path: PathInput): string {
|
|
|
268
292
|
*/
|
|
269
293
|
function validateOutput(bound: BoundMethod<AnyRemoteHandler>, result: unknown): unknown {
|
|
270
294
|
if (bound.output === 'binary') return result
|
|
271
|
-
if (isAsyncGenerator(result)) return validateOutputStream(bound, result)
|
|
272
295
|
return validateChunk(bound, result)
|
|
273
296
|
}
|
|
274
297
|
|
|
275
298
|
async function* validateOutputStream(
|
|
276
299
|
bound: BoundMethod<AnyRemoteHandler>,
|
|
277
300
|
gen: AsyncGenerator<unknown>,
|
|
301
|
+
settle: () => Promise<void>,
|
|
278
302
|
): AsyncGenerator<unknown> {
|
|
279
|
-
|
|
280
|
-
|
|
303
|
+
try {
|
|
304
|
+
for await (const chunk of gen) {
|
|
305
|
+
yield validateChunk(bound, chunk)
|
|
306
|
+
}
|
|
307
|
+
} finally {
|
|
308
|
+
await settle()
|
|
281
309
|
}
|
|
282
310
|
}
|
|
283
311
|
|
package/src/dispatch/execute.ts
CHANGED
|
@@ -13,6 +13,7 @@ import type { AuthContext } from '@astrale-os/kernel-core'
|
|
|
13
13
|
|
|
14
14
|
import type { FunctionContextApi } from '../auth/function-context'
|
|
15
15
|
import type { DomainAuthority } from '../auth/issuer-mint'
|
|
16
|
+
import type { Defer } from '../defer'
|
|
16
17
|
import type { CallerContext, RemoteEnv } from '../method/context'
|
|
17
18
|
import type { Step } from '../step'
|
|
18
19
|
import type { SelfResult, TypedSelf } from './self'
|
|
@@ -38,6 +39,7 @@ export type ExecuteParams = {
|
|
|
38
39
|
domain: DomainAuthority
|
|
39
40
|
fn: FunctionContextApi
|
|
40
41
|
step: Step
|
|
42
|
+
defer: Defer
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
export async function executeHandler(ctx: ExecuteParams): Promise<unknown> {
|
|
@@ -58,5 +60,6 @@ export async function executeHandler(ctx: ExecuteParams): Promise<unknown> {
|
|
|
58
60
|
domain: ctx.domain,
|
|
59
61
|
fn: ctx.fn,
|
|
60
62
|
step: ctx.step,
|
|
63
|
+
defer: ctx.defer,
|
|
61
64
|
})
|
|
62
65
|
}
|
package/src/domain/build-spec.ts
CHANGED
|
@@ -93,6 +93,10 @@ function buildSpecInternal(
|
|
|
93
93
|
const tree = serialize(compiled, [...serialized, ...functionSchemas], {
|
|
94
94
|
views: viewSchemas,
|
|
95
95
|
parent,
|
|
96
|
+
// An install graph is the domain's signed desired state. Reinstalling it
|
|
97
|
+
// must converge schema and core material exactly, including removing
|
|
98
|
+
// properties that disappeared from a newer domain version.
|
|
99
|
+
onConflict: 'replace',
|
|
96
100
|
})
|
|
97
101
|
return tree.toGraph()
|
|
98
102
|
}
|
package/src/index.ts
CHANGED
|
@@ -79,6 +79,9 @@ export type {
|
|
|
79
79
|
// ─── Durable-shaped steps ────────────────────────────────────────────────
|
|
80
80
|
export type { Step } from './step'
|
|
81
81
|
|
|
82
|
+
// ─── Request lifecycle ───────────────────────────────────────────────────
|
|
83
|
+
export type { Defer, DeferredTask } from './defer'
|
|
84
|
+
|
|
82
85
|
// ─── Server ──────────────────────────────────────────────────────────────
|
|
83
86
|
// `createRemoteServer` dynamically imports `@hono/node-server` via `./server/start`.
|
|
84
87
|
// Exporting the server surface from the barrel poisons browser bundlers
|
package/src/method/context.ts
CHANGED
|
@@ -16,6 +16,7 @@ import type { Schema } from '@astrale-os/kernel-dsl'
|
|
|
16
16
|
|
|
17
17
|
import type { FunctionContextApi } from '../auth/function-context'
|
|
18
18
|
import type { DomainAuthority } from '../auth/issuer-mint'
|
|
19
|
+
import type { Defer } from '../defer'
|
|
19
20
|
import type { Step } from '../step'
|
|
20
21
|
|
|
21
22
|
export type { GraphApi } from '@astrale-os/kernel-client/graph'
|
|
@@ -127,4 +128,6 @@ export interface RemoteContext<
|
|
|
127
128
|
> extends RemoteBaseContext<TParams, TSelf, TDeps, TKernel, TAuth> {
|
|
128
129
|
/** Durable-shaped step builder. Inline today, replayable by future backends. */
|
|
129
130
|
step: Step
|
|
131
|
+
/** Run independent work without making its completion part of this result. */
|
|
132
|
+
defer: Defer
|
|
130
133
|
}
|