@astrale-os/sdk 0.4.11 → 0.4.13
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/authenticate.d.ts +1 -1
- package/dist/auth/authenticate.d.ts.map +1 -1
- package/dist/auth/authenticate.js +2 -2
- package/dist/auth/authenticate.js.map +1 -1
- package/dist/auth/check.js +1 -1
- package/dist/auth/check.js.map +1 -1
- package/dist/auth/function-context.d.ts +1 -1
- package/dist/auth/function-context.d.ts.map +1 -1
- package/dist/auth/function-context.js +3 -3
- package/dist/auth/function-context.js.map +1 -1
- package/dist/auth/index.d.ts +15 -15
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +10 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/issuer-mint.d.ts +1 -1
- package/dist/auth/issuer-mint.d.ts.map +1 -1
- package/dist/auth/issuer-mint.js +2 -2
- package/dist/auth/issuer-mint.js.map +1 -1
- package/dist/auth/kernel-client.d.ts +1 -1
- package/dist/auth/kernel-client.d.ts.map +1 -1
- package/dist/auth/kernel-client.js +2 -2
- package/dist/auth/kernel-client.js.map +1 -1
- package/dist/auth/resolve.d.ts +2 -2
- package/dist/auth/resolve.d.ts.map +1 -1
- package/dist/auth/resolve.js +2 -2
- package/dist/auth/resolve.js.map +1 -1
- package/dist/auth/verify.d.ts +1 -1
- package/dist/auth/verify.d.ts.map +1 -1
- package/dist/auth/verify.js +2 -2
- package/dist/auth/verify.js.map +1 -1
- package/dist/cli/bin.js +1 -1
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/publish.js +1 -1
- package/dist/cli/publish.js.map +1 -1
- package/dist/cli/run.d.ts +9 -3
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +55 -5
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/spec.d.ts +1 -1
- package/dist/cli/spec.d.ts.map +1 -1
- package/dist/cli/spec.js +1 -1
- package/dist/cli/spec.js.map +1 -1
- package/dist/config/define-domain.d.ts +2 -2
- package/dist/config/define-domain.d.ts.map +1 -1
- package/dist/config/deploy.d.ts +2 -2
- package/dist/config/deploy.d.ts.map +1 -1
- package/dist/config/index.d.ts +6 -6
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -3
- package/dist/config/index.js.map +1 -1
- package/dist/define/index.d.ts +4 -4
- package/dist/define/index.d.ts.map +1 -1
- package/dist/define/index.js +2 -2
- package/dist/define/index.js.map +1 -1
- package/dist/define/remote-function.d.ts +7 -5
- package/dist/define/remote-function.d.ts.map +1 -1
- package/dist/define/remote-function.js.map +1 -1
- package/dist/define/view.d.ts +3 -3
- package/dist/define/view.d.ts.map +1 -1
- package/dist/deploy/check.d.ts +1 -1
- package/dist/deploy/check.d.ts.map +1 -1
- package/dist/deploy/check.js +1 -1
- package/dist/deploy/check.js.map +1 -1
- package/dist/deploy/index.d.ts +2 -2
- package/dist/deploy/index.d.ts.map +1 -1
- package/dist/deploy/index.js +2 -2
- package/dist/deploy/index.js.map +1 -1
- package/dist/dispatch/authorize.js +1 -1
- package/dist/dispatch/authorize.js.map +1 -1
- package/dist/dispatch/dispatcher.d.ts +11 -21
- package/dist/dispatch/dispatcher.d.ts.map +1 -1
- package/dist/dispatch/dispatcher.js +66 -65
- package/dist/dispatch/dispatcher.js.map +1 -1
- package/dist/dispatch/execute.d.ts +7 -6
- 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/dispatch/identity.d.ts +2 -2
- package/dist/dispatch/identity.d.ts.map +1 -1
- package/dist/dispatch/index.d.ts +6 -6
- package/dist/dispatch/index.d.ts.map +1 -1
- package/dist/dispatch/index.js +6 -6
- package/dist/dispatch/index.js.map +1 -1
- package/dist/dispatch/resolve.d.ts +1 -1
- package/dist/dispatch/resolve.d.ts.map +1 -1
- package/dist/dispatch/self.d.ts +1 -1
- package/dist/dispatch/self.d.ts.map +1 -1
- package/dist/domain/build-spec.d.ts +1 -1
- package/dist/domain/build-spec.d.ts.map +1 -1
- package/dist/domain/build-spec.js +2 -2
- package/dist/domain/build-spec.js.map +1 -1
- package/dist/domain/contract.d.ts +1 -1
- package/dist/domain/contract.d.ts.map +1 -1
- package/dist/domain/define.d.ts +4 -4
- package/dist/domain/define.d.ts.map +1 -1
- package/dist/domain/define.js +2 -2
- package/dist/domain/define.js.map +1 -1
- package/dist/domain/extend-functions.d.ts +1 -1
- package/dist/domain/extend-functions.d.ts.map +1 -1
- package/dist/domain/extend-functions.js +1 -1
- package/dist/domain/extend-functions.js.map +1 -1
- package/dist/domain/extend-views.d.ts +1 -1
- package/dist/domain/extend-views.d.ts.map +1 -1
- package/dist/domain/extend-views.js +1 -1
- package/dist/domain/extend-views.js.map +1 -1
- package/dist/domain/index.d.ts +4 -4
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +3 -3
- package/dist/domain/index.js.map +1 -1
- package/dist/index.d.ts +19 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/linter/analyze.d.ts +6 -0
- package/dist/linter/analyze.d.ts.map +1 -0
- package/dist/linter/analyze.js +12 -0
- package/dist/linter/analyze.js.map +1 -0
- package/dist/linter/diagnostic.d.ts +32 -0
- package/dist/linter/diagnostic.d.ts.map +1 -0
- package/dist/linter/diagnostic.js +35 -0
- package/dist/linter/diagnostic.js.map +1 -0
- package/dist/linter/index.d.ts +10 -0
- package/dist/linter/index.d.ts.map +1 -0
- package/dist/linter/index.js +6 -0
- package/dist/linter/index.js.map +1 -0
- package/dist/linter/lint.d.ts +8 -0
- package/dist/linter/lint.d.ts.map +1 -0
- package/dist/linter/lint.js +26 -0
- package/dist/linter/lint.js.map +1 -0
- package/dist/linter/oxlint/config.d.ts +14 -0
- package/dist/linter/oxlint/config.d.ts.map +1 -0
- package/dist/linter/oxlint/config.js +18 -0
- package/dist/linter/oxlint/config.js.map +1 -0
- package/dist/linter/oxlint/plugin.d.ts +13 -0
- package/dist/linter/oxlint/plugin.d.ts.map +1 -0
- package/dist/linter/oxlint/plugin.js +14 -0
- package/dist/linter/oxlint/plugin.js.map +1 -0
- package/dist/linter/oxlint/run.d.ts +7 -0
- package/dist/linter/oxlint/run.d.ts.map +1 -0
- package/dist/linter/oxlint/run.js +122 -0
- package/dist/linter/oxlint/run.js.map +1 -0
- package/dist/linter/preflight.d.ts +2 -0
- package/dist/linter/preflight.d.ts.map +1 -0
- package/dist/linter/preflight.js +162 -0
- package/dist/linter/preflight.js.map +1 -0
- package/dist/linter/project.d.ts +12 -0
- package/dist/linter/project.d.ts.map +1 -0
- package/dist/linter/project.js +88 -0
- package/dist/linter/project.js.map +1 -0
- package/dist/linter/report.d.ts +4 -0
- package/dist/linter/report.d.ts.map +1 -0
- package/dist/linter/report.js +22 -0
- package/dist/linter/report.js.map +1 -0
- package/dist/linter/rules/catalog.d.ts +56 -0
- package/dist/linter/rules/catalog.d.ts.map +1 -0
- package/dist/linter/rules/catalog.js +53 -0
- package/dist/linter/rules/catalog.js.map +1 -0
- package/dist/linter/rules/core-has-no-async.d.ts +3 -0
- package/dist/linter/rules/core-has-no-async.d.ts.map +1 -0
- package/dist/linter/rules/core-has-no-async.js +43 -0
- package/dist/linter/rules/core-has-no-async.js.map +1 -0
- package/dist/linter/rules/core-is-pure.d.ts +3 -0
- package/dist/linter/rules/core-is-pure.d.ts.map +1 -0
- package/dist/linter/rules/core-is-pure.js +74 -0
- package/dist/linter/rules/core-is-pure.js.map +1 -0
- package/dist/linter/rules/no-nested-steps.d.ts +3 -0
- package/dist/linter/rules/no-nested-steps.d.ts.map +1 -0
- package/dist/linter/rules/no-nested-steps.js +32 -0
- package/dist/linter/rules/no-nested-steps.js.map +1 -0
- package/dist/linter/rules/no-read-inside-mutate.d.ts +3 -0
- package/dist/linter/rules/no-read-inside-mutate.d.ts.map +1 -0
- package/dist/linter/rules/no-read-inside-mutate.js +64 -0
- package/dist/linter/rules/no-read-inside-mutate.js.map +1 -0
- package/dist/linter/rules/one-remote-definition-per-file.d.ts +3 -0
- package/dist/linter/rules/one-remote-definition-per-file.d.ts.map +1 -0
- package/dist/linter/rules/one-remote-definition-per-file.js +23 -0
- package/dist/linter/rules/one-remote-definition-per-file.js.map +1 -0
- package/dist/linter/rules/oxlint-ast.d.ts +30 -0
- package/dist/linter/rules/oxlint-ast.d.ts.map +1 -0
- package/dist/linter/rules/oxlint-ast.js +104 -0
- package/dist/linter/rules/oxlint-ast.js.map +1 -0
- package/dist/linter/rules/oxlint-rule.d.ts +45 -0
- package/dist/linter/rules/oxlint-rule.d.ts.map +1 -0
- package/dist/linter/rules/oxlint-rule.js +2 -0
- package/dist/linter/rules/oxlint-rule.js.map +1 -0
- package/dist/linter/rules/project-rule.d.ts +10 -0
- package/dist/linter/rules/project-rule.d.ts.map +1 -0
- package/dist/linter/rules/project-rule.js +24 -0
- package/dist/linter/rules/project-rule.js.map +1 -0
- package/dist/linter/rules/thin-schema-composition-root.d.ts +3 -0
- package/dist/linter/rules/thin-schema-composition-root.d.ts.map +1 -0
- package/dist/linter/rules/thin-schema-composition-root.js +23 -0
- package/dist/linter/rules/thin-schema-composition-root.js.map +1 -0
- package/dist/linter/source.d.ts +24 -0
- package/dist/linter/source.d.ts.map +1 -0
- package/dist/linter/source.js +279 -0
- package/dist/linter/source.js.map +1 -0
- package/dist/linter/suppression.d.ts +3 -0
- package/dist/linter/suppression.d.ts.map +1 -0
- package/dist/linter/suppression.js +11 -0
- package/dist/linter/suppression.js.map +1 -0
- package/dist/method/class.d.ts +3 -3
- package/dist/method/class.d.ts.map +1 -1
- package/dist/method/context.d.ts +6 -4
- package/dist/method/context.d.ts.map +1 -1
- package/dist/method/index.d.ts +5 -5
- package/dist/method/index.d.ts.map +1 -1
- package/dist/method/index.js +2 -2
- package/dist/method/index.js.map +1 -1
- package/dist/method/single.d.ts +2 -2
- package/dist/method/single.d.ts.map +1 -1
- package/dist/server/auxiliary-routes.d.ts +3 -3
- package/dist/server/auxiliary-routes.d.ts.map +1 -1
- package/dist/server/auxiliary-routes.js +11 -11
- package/dist/server/auxiliary-routes.js.map +1 -1
- package/dist/server/config.d.ts +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/create.d.ts +2 -2
- package/dist/server/create.d.ts.map +1 -1
- package/dist/server/create.js +11 -11
- package/dist/server/create.js.map +1 -1
- package/dist/server/domain-entry.d.ts +5 -5
- package/dist/server/domain-entry.d.ts.map +1 -1
- package/dist/server/domain-entry.js +2 -2
- package/dist/server/domain-entry.js.map +1 -1
- package/dist/server/index.d.ts +11 -11
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +7 -7
- package/dist/server/index.js.map +1 -1
- package/dist/server/start.d.ts +1 -1
- package/dist/server/start.d.ts.map +1 -1
- package/dist/server/start.js.map +1 -1
- package/dist/server/worker-entry.d.ts +1 -1
- package/dist/server/worker-entry.d.ts.map +1 -1
- package/dist/server/worker-entry.js +3 -3
- package/dist/server/worker-entry.js.map +1 -1
- package/dist/step/index.d.ts +4 -4
- package/dist/step/index.d.ts.map +1 -1
- package/dist/step/index.js +2 -2
- package/dist/step/index.js.map +1 -1
- package/dist/step/inline.d.ts +1 -1
- package/dist/step/inline.d.ts.map +1 -1
- package/dist/step/inline.js +1 -1
- package/dist/step/inline.js.map +1 -1
- package/package.json +29 -8
- package/src/auth/authenticate.ts +3 -3
- package/src/auth/check.ts +1 -1
- package/src/auth/function-context.ts +4 -4
- package/src/auth/index.ts +15 -15
- package/src/auth/issuer-mint.ts +3 -3
- package/src/auth/kernel-client.ts +3 -3
- package/src/auth/resolve.ts +4 -4
- package/src/auth/verify.ts +3 -3
- package/src/cli/bin.ts +1 -1
- package/src/cli/index.ts +2 -2
- package/src/cli/publish.ts +1 -1
- package/src/cli/run.ts +59 -8
- package/src/cli/spec.ts +3 -3
- package/src/config/define-domain.ts +2 -2
- package/src/config/deploy.ts +2 -2
- package/src/config/index.ts +6 -6
- package/src/define/index.ts +4 -4
- package/src/define/remote-function.ts +7 -5
- package/src/define/view.ts +3 -3
- package/src/deploy/check.ts +2 -2
- package/src/deploy/index.ts +2 -2
- package/src/dispatch/authorize.ts +1 -1
- package/src/dispatch/dispatcher.ts +76 -83
- package/src/dispatch/execute.ts +8 -6
- package/src/dispatch/identity.ts +2 -2
- package/src/dispatch/index.ts +6 -6
- package/src/dispatch/resolve.ts +1 -1
- package/src/dispatch/self.ts +1 -1
- package/src/domain/build-spec.ts +4 -4
- package/src/domain/contract.ts +1 -1
- package/src/domain/define.ts +6 -6
- package/src/domain/extend-functions.ts +2 -2
- package/src/domain/extend-views.ts +2 -2
- package/src/domain/index.ts +4 -4
- package/src/index.ts +20 -20
- package/src/linter/analyze.ts +17 -0
- package/src/linter/diagnostic.ts +68 -0
- package/src/linter/docs/DIAGNOSTICS.md +47 -0
- package/src/linter/docs/JUDGMENT.md +81 -0
- package/src/linter/docs/PRINCIPLES.md +97 -0
- package/src/linter/docs/README.md +38 -0
- package/src/linter/docs/RULE-AUTHORING.md +144 -0
- package/src/linter/docs/RULES.md +153 -0
- package/src/linter/index.ts +14 -0
- package/src/linter/lint.ts +32 -0
- package/src/linter/oxlint/astrale-ox.d.ts +5 -0
- package/src/linter/oxlint/config.ts +19 -0
- package/src/linter/oxlint/plugin.js +16 -0
- package/src/linter/oxlint/run.ts +162 -0
- package/src/linter/preflight.ts +181 -0
- package/src/linter/project.ts +108 -0
- package/src/linter/report.ts +25 -0
- package/src/linter/rules/catalog.ts +67 -0
- package/src/linter/rules/core-has-no-async.js +43 -0
- package/src/linter/rules/core-is-pure.ts +103 -0
- package/src/linter/rules/no-nested-steps.js +37 -0
- package/src/linter/rules/no-read-inside-mutate.js +72 -0
- package/src/linter/rules/one-remote-definition-per-file.ts +29 -0
- package/src/linter/rules/oxlint-ast.js +110 -0
- package/src/linter/rules/oxlint-rule.ts +35 -0
- package/src/linter/rules/project-rule.ts +37 -0
- package/src/linter/rules/thin-schema-composition-root.ts +26 -0
- package/src/linter/source.ts +323 -0
- package/src/linter/suppression.ts +11 -0
- package/src/method/class.ts +3 -3
- package/src/method/context.ts +6 -4
- package/src/method/index.ts +5 -5
- package/src/method/single.ts +2 -2
- package/src/server/auxiliary-routes.ts +22 -17
- package/src/server/config.ts +1 -1
- package/src/server/create.ts +15 -15
- package/src/server/domain-entry.ts +7 -7
- package/src/server/index.ts +11 -11
- package/src/server/start.ts +3 -2
- package/src/server/worker-entry.ts +4 -4
- package/src/step/index.ts +4 -4
- package/src/step/inline.ts +2 -2
- package/dist/defer/index.d.ts +0 -24
- package/dist/defer/index.d.ts.map +0 -1
- package/dist/defer/index.js +0 -42
- package/dist/defer/index.js.map +0 -1
- package/src/defer/index.ts +0 -64
package/src/server/config.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type { CorsConfig, WsAdapter } from '@astrale-os/kernel-server'
|
|
|
9
9
|
import type { Context } from 'hono'
|
|
10
10
|
import type { Hono } from 'hono'
|
|
11
11
|
|
|
12
|
-
import type { RemoteDomain } from '../domain/define'
|
|
12
|
+
import type { RemoteDomain } from '../domain/define.js'
|
|
13
13
|
|
|
14
14
|
export type RemoteServerConfig<TDeps> = {
|
|
15
15
|
/** Domain produced by `defineRemoteDomain(...)`. */
|
package/src/server/create.ts
CHANGED
|
@@ -15,20 +15,20 @@ import { createKernelApp } from '@astrale-os/kernel-server'
|
|
|
15
15
|
import { Hono } from 'hono'
|
|
16
16
|
import { importJWK, SignJWT } from 'jose'
|
|
17
17
|
|
|
18
|
-
import type { ViewDef } from '../define'
|
|
19
|
-
import type { RemoteServerConfig } from './config'
|
|
20
|
-
import type { RemoteServer, RemoteServerHandle } from './handle'
|
|
21
|
-
|
|
22
|
-
import { MetaSchema } from '../deploy/meta'
|
|
23
|
-
import { SdkDispatcher } from '../dispatch/dispatcher'
|
|
24
|
-
import { buildAuxIdentityMap } from '../dispatch/identity'
|
|
25
|
-
import { buildMethodIndex } from '../dispatch/resolve'
|
|
26
|
-
import { buildInstallGraph, buildInstallGraphHash } from '../domain/build-spec'
|
|
27
|
-
import { toSdkContract } from '../domain/contract'
|
|
28
|
-
import { materializeRemoteDomain } from '../domain/define'
|
|
29
|
-
import { mountAuxiliaryRoutes } from './auxiliary-routes'
|
|
30
|
-
import { derivePublicJwk } from './jwks'
|
|
31
|
-
import { canonicalizeServingUrl } from './serving-url'
|
|
18
|
+
import type { ViewDef } from '../define/index.js'
|
|
19
|
+
import type { RemoteServerConfig } from './config.js'
|
|
20
|
+
import type { RemoteServer, RemoteServerHandle } from './handle.js'
|
|
21
|
+
|
|
22
|
+
import { MetaSchema } from '../deploy/meta.js'
|
|
23
|
+
import { SdkDispatcher } from '../dispatch/dispatcher.js'
|
|
24
|
+
import { buildAuxIdentityMap } from '../dispatch/identity.js'
|
|
25
|
+
import { buildMethodIndex } from '../dispatch/resolve.js'
|
|
26
|
+
import { buildInstallGraph, buildInstallGraphHash } from '../domain/build-spec.js'
|
|
27
|
+
import { toSdkContract } from '../domain/contract.js'
|
|
28
|
+
import { materializeRemoteDomain } from '../domain/define.js'
|
|
29
|
+
import { mountAuxiliaryRoutes } from './auxiliary-routes.js'
|
|
30
|
+
import { derivePublicJwk } from './jwks.js'
|
|
31
|
+
import { canonicalizeServingUrl } from './serving-url.js'
|
|
32
32
|
|
|
33
33
|
export function createRemoteServer<TDeps>(config: RemoteServerConfig<TDeps>): RemoteServer {
|
|
34
34
|
const methods = buildMethodIndex(config.domain.methods)
|
|
@@ -143,7 +143,7 @@ export function createRemoteServer<TDeps>(config: RemoteServerConfig<TDeps>): Re
|
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
const { app } = createKernelApp({
|
|
146
|
-
|
|
146
|
+
dispatcher,
|
|
147
147
|
domain: config.domain.methods.map(toSdkContract),
|
|
148
148
|
host: { url: config.url },
|
|
149
149
|
jwks,
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
import type { Core, Schema } from '@astrale-os/kernel-dsl'
|
|
19
19
|
import type { Hono } from 'hono'
|
|
20
20
|
|
|
21
|
-
import type { DomainManifest } from '../config/define-domain'
|
|
22
|
-
import type { AnyRemoteFunctionDef, ViewDef } from '../define'
|
|
23
|
-
import type { SchemaMethodsImpl } from '../method'
|
|
24
|
-
import type { RemoteServerConfig } from './config'
|
|
25
|
-
import type { WorkerEntry, WorkerEntryConfig } from './worker-entry'
|
|
21
|
+
import type { DomainManifest } from '../config/define-domain.js'
|
|
22
|
+
import type { AnyRemoteFunctionDef, ViewDef } from '../define/index.js'
|
|
23
|
+
import type { SchemaMethodsImpl } from '../method/index.js'
|
|
24
|
+
import type { RemoteServerConfig } from './config.js'
|
|
25
|
+
import type { WorkerEntry, WorkerEntryConfig } from './worker-entry.js'
|
|
26
26
|
|
|
27
|
-
import { defineRemoteDomain } from '../domain'
|
|
28
|
-
import { createWorkerEntry } from './worker-entry'
|
|
27
|
+
import { defineRemoteDomain } from '../domain/index.js'
|
|
28
|
+
import { createWorkerEntry } from './worker-entry.js'
|
|
29
29
|
|
|
30
30
|
export interface DomainWorkerEntryConfig<S extends Schema, TEnv, TDeps> {
|
|
31
31
|
/** The domain schema. */
|
package/src/server/index.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { createRemoteServer } from './create'
|
|
2
|
-
export type { RemoteServerConfig } from './config'
|
|
3
|
-
export type { RemoteServer, RemoteServerHandle } from './handle'
|
|
4
|
-
export { derivePublicJwk } from './jwks'
|
|
5
|
-
export { requireEnv } from './require-env'
|
|
6
|
-
export { canonicalizeServingUrl } from './serving-url'
|
|
7
|
-
export { assets, createWorkerEntry } from './worker-entry'
|
|
8
|
-
export type { WorkerEntry, WorkerEntryConfig } from './worker-entry'
|
|
9
|
-
export { domainWorkerEntry } from './domain-entry'
|
|
10
|
-
export type { DomainWorkerEntryConfig } from './domain-entry'
|
|
11
|
-
export { startNodeServer } from './start'
|
|
1
|
+
export { createRemoteServer } from './create.js'
|
|
2
|
+
export type { RemoteServerConfig } from './config.js'
|
|
3
|
+
export type { RemoteServer, RemoteServerHandle } from './handle.js'
|
|
4
|
+
export { derivePublicJwk } from './jwks.js'
|
|
5
|
+
export { requireEnv } from './require-env.js'
|
|
6
|
+
export { canonicalizeServingUrl } from './serving-url.js'
|
|
7
|
+
export { assets, createWorkerEntry } from './worker-entry.js'
|
|
8
|
+
export type { WorkerEntry, WorkerEntryConfig } from './worker-entry.js'
|
|
9
|
+
export { domainWorkerEntry } from './domain-entry.js'
|
|
10
|
+
export type { DomainWorkerEntryConfig } from './domain-entry.js'
|
|
11
|
+
export { startNodeServer } from './start.js'
|
package/src/server/start.ts
CHANGED
|
@@ -6,16 +6,17 @@
|
|
|
6
6
|
* Cloudflare, consumers go through `server.app.fetch` directly.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import type { serve as nodeServe } from '@hono/node-server'
|
|
9
10
|
import type { Hono } from 'hono'
|
|
10
11
|
|
|
11
|
-
import type { RemoteServerHandle } from './handle'
|
|
12
|
+
import type { RemoteServerHandle } from './handle.js'
|
|
12
13
|
|
|
13
14
|
export async function startNodeServer(app: Hono, port = 3000): Promise<RemoteServerHandle> {
|
|
14
15
|
// Opaque specifier: the `./server` barrel re-exports this module, so worker
|
|
15
16
|
// bundles (wrangler/esbuild) traverse it even though they never call it. A
|
|
16
17
|
// literal import() would make them resolve the optional peer and fail.
|
|
17
18
|
const nodeServerModule = '@hono/node-server'
|
|
18
|
-
const { serve } = (await import(nodeServerModule)) as typeof
|
|
19
|
+
const { serve } = (await import(nodeServerModule)) as { serve: typeof nodeServe }
|
|
19
20
|
// oxlint-disable-next-line no-explicit-any
|
|
20
21
|
const server = serve({ fetch: app.fetch, port }) as any
|
|
21
22
|
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
|
|
25
25
|
import type { ExecutionContext } from 'hono'
|
|
26
26
|
|
|
27
|
-
import type { RemoteServerConfig } from './config'
|
|
27
|
+
import type { RemoteServerConfig } from './config.js'
|
|
28
28
|
|
|
29
|
-
import { createRemoteServer } from './create'
|
|
30
|
-
import { requireEnv } from './require-env'
|
|
31
|
-
import { canonicalizeServingUrl } from './serving-url'
|
|
29
|
+
import { createRemoteServer } from './create.js'
|
|
30
|
+
import { requireEnv } from './require-env.js'
|
|
31
|
+
import { canonicalizeServingUrl } from './serving-url.js'
|
|
32
32
|
|
|
33
33
|
type Fetcher = { fetch(request: Request): Response | Promise<Response> }
|
|
34
34
|
type App = {
|
package/src/step/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createInlineStep } from './inline'
|
|
2
|
-
export type { InlineStepOptions, StepExecutor } from './inline'
|
|
3
|
-
export { buildStepRun } from './step'
|
|
4
|
-
export type { FunctionStepScope, MethodStepScope, Step, StepRun, StepScope } from './step'
|
|
1
|
+
export { createInlineStep } from './inline.js'
|
|
2
|
+
export type { InlineStepOptions, StepExecutor } from './inline.js'
|
|
3
|
+
export { buildStepRun } from './step.js'
|
|
4
|
+
export type { FunctionStepScope, MethodStepScope, Step, StepRun, StepScope } from './step.js'
|
package/src/step/inline.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Step, StepRun, StepScope } from './step'
|
|
1
|
+
import type { Step, StepRun, StepScope } from './step.js'
|
|
2
2
|
|
|
3
|
-
import { buildStepRun, roundTripStepResult } from './step'
|
|
3
|
+
import { buildStepRun, roundTripStepResult } from './step.js'
|
|
4
4
|
|
|
5
5
|
export type StepExecutor = <T>(run: StepRun, handler: () => T | Promise<T>) => Promise<T>
|
|
6
6
|
|
package/dist/defer/index.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { Context } from 'hono';
|
|
2
|
-
/** Internal structural host capability; not part of the author-facing SDK contract. */
|
|
3
|
-
export type HandlerExecutionLifetime = {
|
|
4
|
-
waitUntil(promise: Promise<unknown>): void;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Work detached from the current handler result.
|
|
8
|
-
*
|
|
9
|
-
* The callback is deliberately lazy: the SDK registers the resulting task with
|
|
10
|
-
* the active execution backend before it starts. Current request-based hosts
|
|
11
|
-
* extend their request lifetime; future durable backends may provide stronger
|
|
12
|
-
* execution guarantees without changing the author-facing API.
|
|
13
|
-
*/
|
|
14
|
-
export type DeferredTask = () => void | PromiseLike<unknown>;
|
|
15
|
-
export type Defer = (task: DeferredTask) => void;
|
|
16
|
-
export type HandlerLifecycle = {
|
|
17
|
-
defer: Defer;
|
|
18
|
-
settle(): Promise<void>;
|
|
19
|
-
};
|
|
20
|
-
/** Bind detached work to the host, with a safe blocking fallback for other runtimes. */
|
|
21
|
-
export declare function createHandlerLifecycle(lifetime?: HandlerExecutionLifetime): HandlerLifecycle;
|
|
22
|
-
/** Hono omits its execution context in Node and in lightweight unit tests. */
|
|
23
|
-
export declare function executionLifetime(c: Context): HandlerExecutionLifetime | undefined;
|
|
24
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/defer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,uFAAuF;AACvF,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;CAC3C,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AAE5D,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;AAEhD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB,CAAA;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,wBAAwB,GAAG,gBAAgB,CA4B5F;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,wBAAwB,GAAG,SAAS,CAOlF"}
|
package/dist/defer/index.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/** Bind detached work to the host, with a safe blocking fallback for other runtimes. */
|
|
2
|
-
export function createHandlerLifecycle(lifetime) {
|
|
3
|
-
const pending = [];
|
|
4
|
-
return {
|
|
5
|
-
defer(task) {
|
|
6
|
-
const promise = Promise.resolve().then(task);
|
|
7
|
-
if (lifetime)
|
|
8
|
-
lifetime.waitUntil(promise);
|
|
9
|
-
else
|
|
10
|
-
pending.push(promise);
|
|
11
|
-
},
|
|
12
|
-
async settle() {
|
|
13
|
-
if (lifetime || pending.length === 0)
|
|
14
|
-
return;
|
|
15
|
-
// A deferred task may register more work before it settles. Drain until
|
|
16
|
-
// the lifecycle is stable so non-request runtimes never abandon children.
|
|
17
|
-
let cursor = 0;
|
|
18
|
-
while (cursor < pending.length) {
|
|
19
|
-
const batch = pending.slice(cursor);
|
|
20
|
-
cursor = pending.length;
|
|
21
|
-
const results = await Promise.allSettled(batch);
|
|
22
|
-
for (const result of results) {
|
|
23
|
-
if (result.status === 'rejected') {
|
|
24
|
-
// oxlint-disable-next-line no-console
|
|
25
|
-
console.error('[sdk] deferred task failed:', result.reason);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
/** Hono omits its execution context in Node and in lightweight unit tests. */
|
|
33
|
-
export function executionLifetime(c) {
|
|
34
|
-
try {
|
|
35
|
-
const host = c.executionCtx;
|
|
36
|
-
return { waitUntil: (promise) => host.waitUntil(promise) };
|
|
37
|
-
}
|
|
38
|
-
catch {
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=index.js.map
|
package/dist/defer/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/defer/index.ts"],"names":[],"mappings":"AAwBA,wFAAwF;AACxF,MAAM,UAAU,sBAAsB,CAAC,QAAmC;IACxE,MAAM,OAAO,GAAuB,EAAE,CAAA;IAEtC,OAAO;QACL,KAAK,CAAC,IAAI;YACR,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC5C,IAAI,QAAQ;gBAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;;gBACpC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;QACD,KAAK,CAAC,MAAM;YACV,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAE5C,wEAAwE;YACxE,0EAA0E;YAC1E,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,OAAO,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACnC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;gBACvB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;wBACjC,sCAAsC;wBACtC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,CAAU;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAA;QAC3B,OAAO,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
|
package/src/defer/index.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
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
|
-
}
|