@astrale-os/sdk 0.1.9 → 0.2.0

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 (80) hide show
  1. package/dist/auth/index.d.ts +1 -1
  2. package/dist/auth/index.d.ts.map +1 -1
  3. package/dist/auth/index.js +1 -1
  4. package/dist/auth/index.js.map +1 -1
  5. package/dist/cli/run.d.ts +0 -1
  6. package/dist/cli/run.d.ts.map +1 -1
  7. package/dist/cli/run.js +21 -10
  8. package/dist/cli/run.js.map +1 -1
  9. package/dist/config/adapter.d.ts +19 -11
  10. package/dist/config/adapter.d.ts.map +1 -1
  11. package/dist/config/adapter.js.map +1 -1
  12. package/dist/config/define-domain.d.ts +13 -29
  13. package/dist/config/define-domain.d.ts.map +1 -1
  14. package/dist/config/define-domain.js +22 -33
  15. package/dist/config/define-domain.js.map +1 -1
  16. package/dist/config/deploy.d.ts +1 -1
  17. package/dist/config/deploy.js +1 -1
  18. package/dist/config/index.d.ts +1 -1
  19. package/dist/config/index.d.ts.map +1 -1
  20. package/dist/define/remote-function.d.ts +9 -14
  21. package/dist/define/remote-function.d.ts.map +1 -1
  22. package/dist/define/remote-function.js +9 -8
  23. package/dist/define/remote-function.js.map +1 -1
  24. package/dist/define/view.d.ts +14 -6
  25. package/dist/define/view.d.ts.map +1 -1
  26. package/dist/define/view.js +8 -6
  27. package/dist/define/view.js.map +1 -1
  28. package/dist/dispatch/identity.d.ts +10 -9
  29. package/dist/dispatch/identity.d.ts.map +1 -1
  30. package/dist/dispatch/identity.js +9 -15
  31. package/dist/dispatch/identity.js.map +1 -1
  32. package/dist/domain/binding.d.ts +18 -0
  33. package/dist/domain/binding.d.ts.map +1 -0
  34. package/dist/domain/binding.js +29 -0
  35. package/dist/domain/binding.js.map +1 -0
  36. package/dist/domain/build-spec.d.ts.map +1 -1
  37. package/dist/domain/build-spec.js +10 -7
  38. package/dist/domain/build-spec.js.map +1 -1
  39. package/dist/domain/define.d.ts +27 -27
  40. package/dist/domain/define.d.ts.map +1 -1
  41. package/dist/domain/define.js +31 -49
  42. package/dist/domain/define.js.map +1 -1
  43. package/dist/domain/extend-core.d.ts.map +1 -1
  44. package/dist/domain/extend-core.js +9 -1
  45. package/dist/domain/extend-core.js.map +1 -1
  46. package/dist/domain/extend-functions.d.ts +44 -0
  47. package/dist/domain/extend-functions.d.ts.map +1 -0
  48. package/dist/domain/extend-functions.js +69 -0
  49. package/dist/domain/extend-functions.js.map +1 -0
  50. package/dist/domain/extend-views.d.ts +45 -0
  51. package/dist/domain/extend-views.d.ts.map +1 -0
  52. package/dist/domain/extend-views.js +116 -0
  53. package/dist/domain/extend-views.js.map +1 -0
  54. package/dist/index.d.ts +2 -2
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/server/auxiliary-routes.js +1 -1
  59. package/dist/server/auxiliary-routes.js.map +1 -1
  60. package/dist/server/worker-entry.d.ts +3 -3
  61. package/dist/server/worker-entry.js +3 -3
  62. package/package.json +2 -5
  63. package/src/auth/index.ts +1 -1
  64. package/src/cli/run.ts +21 -12
  65. package/src/config/adapter.ts +16 -11
  66. package/src/config/define-domain.ts +34 -56
  67. package/src/config/deploy.ts +1 -1
  68. package/src/config/index.ts +1 -1
  69. package/src/define/remote-function.ts +9 -14
  70. package/src/define/view.ts +14 -6
  71. package/src/dispatch/identity.ts +15 -21
  72. package/src/domain/binding.ts +37 -0
  73. package/src/domain/build-spec.ts +18 -7
  74. package/src/domain/define.ts +67 -62
  75. package/src/domain/extend-functions.ts +86 -0
  76. package/src/domain/extend-views.ts +151 -0
  77. package/src/index.ts +7 -2
  78. package/src/server/auxiliary-routes.ts +1 -1
  79. package/src/server/worker-entry.ts +3 -3
  80. package/src/domain/extend-core.ts +0 -287
@@ -31,6 +31,7 @@ export function extendCore(config) {
31
31
  const edges = userCore ? [...userCore.__edges] : [];
32
32
  const viewBindings = {};
33
33
  const remoteFunctionBindings = {};
34
+ const enableUiHandshake = viewClass === VIEW_CLASS;
34
35
  if (views && viewClass) {
35
36
  // Enforce ViewDef's documented exclusivity: `mount` (SPA route) cannot be
36
37
  // combined with `render` (inline HTML handler) or an explicit `binding` —
@@ -58,7 +59,7 @@ export function extendCore(config) {
58
59
  return {
59
60
  slug,
60
61
  nodeClass: viewClass,
61
- data: buildFunctionData(slug, binding),
62
+ data: buildViewData(slug, binding, def, enableUiHandshake),
62
63
  edges: buildViewForEdges(slug, def, viewForEdgeClass, viewsFolder, origin),
63
64
  };
64
65
  }),
@@ -168,6 +169,13 @@ function buildFunctionData(slug, binding) {
168
169
  ...(binding ? { [K.$.i('Function').binding.key]: JSON.stringify(binding) } : {}),
169
170
  };
170
171
  }
172
+ function buildViewData(slug, binding, def, enableUiHandshake) {
173
+ const handshake = def.handshake ?? (def.render ? 'none' : undefined);
174
+ return {
175
+ ...buildFunctionData(slug, binding),
176
+ ...(enableUiHandshake && handshake ? { [K.UI.handshake.key]: handshake } : {}),
177
+ };
178
+ }
171
179
  function buildViewForEdges(slug, def, edgeClass, viewsFolder, origin) {
172
180
  if (!def.viewFor || !edgeClass)
173
181
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"extend-core.js","sourceRoot":"","sources":["../../src/domain/extend-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extend-core.js","sourceRoot":"","sources":["../../src/domain/extend-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Materialize the `functions` map (`defineRemoteFunction` entries) into the two
3
+ * halves a standalone-function DOMAIN MEMBER contributes — mirroring how a class
4
+ * method splits across compile + serialize:
5
+ *
6
+ * - `FunctionDeclarations` — the CONTRACT half, fed to `compileDomain`'s 4th
7
+ * arg. The member ref (`function.<slug>`), the layout
8
+ * (`/<origin>/functions/<slug>`), and the `of_domain` edge slug all derive
9
+ * from the map key; the kernel owns that mapping.
10
+ * - `FunctionSchema[]` + per-slug `FunctionBinding` — the IMPL/BINDING half,
11
+ * fed to `serialize` (url-stamped). The worker route is
12
+ * `<url>/<functionsFolder>/<slug>`, DECOUPLED from the graph layout — so
13
+ * `functionsFolder` only names the URL segment, not the node position.
14
+ *
15
+ * A standalone function is NOT a core/instance node: it is attached directly to
16
+ * the Domain via `of_domain` by the kernel-core serializer, so this module never
17
+ * touches `Core`.
18
+ */
19
+ import type { FunctionBinding } from '@astrale-os/kernel-api/routed';
20
+ import type { FunctionDeclarations, FunctionSchema } from '@astrale-os/kernel-core/domain';
21
+ import type { AnyRemoteFunctionDef } from '../define/remote-function';
22
+ /**
23
+ * Default URL segment for a function's worker route (`<url>/functions/<slug>`).
24
+ * Names the HTTP route only — the graph layout (`/<origin>/functions/<slug>`) is
25
+ * a fixed kernel convention, independent of this.
26
+ */
27
+ export declare const DEFAULT_FUNCTIONS_FOLDER = "functions";
28
+ /**
29
+ * Contract half — one declaration per `functions` map key, for `compileDomain`'s
30
+ * `functions` arg. The slug drives ref/path/of_domain; impl/binding arrive at
31
+ * serialize.
32
+ */
33
+ export declare function buildFunctionDeclarations(functions: Record<string, AnyRemoteFunctionDef>): FunctionDeclarations;
34
+ /**
35
+ * Impl/binding half — `FunctionSchema[]` for `serialize` plus the per-slug
36
+ * `FunctionBinding` map the worker mounts routes from. `ref` is the canonical
37
+ * `function.<slug>` member ref (matching `compiled.$.refs.functions`), so the
38
+ * serializer's per-member impl lookup finds it.
39
+ */
40
+ export declare function buildFunctionSchemas(functions: Record<string, AnyRemoteFunctionDef>, url: string, functionsFolder: string): {
41
+ schemas: FunctionSchema[];
42
+ bindings: Record<string, FunctionBinding>;
43
+ };
44
+ //# sourceMappingURL=extend-functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-functions.d.ts","sourceRoot":"","sources":["../../src/domain/extend-functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAI1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAIrE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,cAAc,CAAA;AAanD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAC9C,oBAAoB,CAKtB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC/C,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,MAAM,GACtB;IAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAAE,CAe1E"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Materialize the `functions` map (`defineRemoteFunction` entries) into the two
3
+ * halves a standalone-function DOMAIN MEMBER contributes — mirroring how a class
4
+ * method splits across compile + serialize:
5
+ *
6
+ * - `FunctionDeclarations` — the CONTRACT half, fed to `compileDomain`'s 4th
7
+ * arg. The member ref (`function.<slug>`), the layout
8
+ * (`/<origin>/functions/<slug>`), and the `of_domain` edge slug all derive
9
+ * from the map key; the kernel owns that mapping.
10
+ * - `FunctionSchema[]` + per-slug `FunctionBinding` — the IMPL/BINDING half,
11
+ * fed to `serialize` (url-stamped). The worker route is
12
+ * `<url>/<functionsFolder>/<slug>`, DECOUPLED from the graph layout — so
13
+ * `functionsFolder` only names the URL segment, not the node position.
14
+ *
15
+ * A standalone function is NOT a core/instance node: it is attached directly to
16
+ * the Domain via `of_domain` by the kernel-core serializer, so this module never
17
+ * touches `Core`.
18
+ */
19
+ import { zodToJsonSchema } from '@astrale-os/kernel-core/domain';
20
+ import { resolveBinding } from './binding';
21
+ /**
22
+ * Default URL segment for a function's worker route (`<url>/functions/<slug>`).
23
+ * Names the HTTP route only — the graph layout (`/<origin>/functions/<slug>`) is
24
+ * a fixed kernel convention, independent of this.
25
+ */
26
+ export const DEFAULT_FUNCTIONS_FOLDER = 'functions';
27
+ const SLUG_RE = /^[a-z][a-z0-9-]*$/;
28
+ function assertValidSlugs(functions) {
29
+ for (const slug of Object.keys(functions)) {
30
+ if (!SLUG_RE.test(slug)) {
31
+ throw new Error(`defineRemoteDomain: invalid function slug "${slug}" — must match ${SLUG_RE}.`);
32
+ }
33
+ }
34
+ }
35
+ /**
36
+ * Contract half — one declaration per `functions` map key, for `compileDomain`'s
37
+ * `functions` arg. The slug drives ref/path/of_domain; impl/binding arrive at
38
+ * serialize.
39
+ */
40
+ export function buildFunctionDeclarations(functions) {
41
+ assertValidSlugs(functions);
42
+ const out = {};
43
+ for (const slug of Object.keys(functions))
44
+ out[slug] = { slug };
45
+ return out;
46
+ }
47
+ /**
48
+ * Impl/binding half — `FunctionSchema[]` for `serialize` plus the per-slug
49
+ * `FunctionBinding` map the worker mounts routes from. `ref` is the canonical
50
+ * `function.<slug>` member ref (matching `compiled.$.refs.functions`), so the
51
+ * serializer's per-member impl lookup finds it.
52
+ */
53
+ export function buildFunctionSchemas(functions, url, functionsFolder) {
54
+ const schemas = [];
55
+ const bindings = {};
56
+ for (const [slug, def] of Object.entries(functions)) {
57
+ const binding = resolveBinding(def.binding, url, functionsFolder, slug);
58
+ bindings[slug] = binding;
59
+ schemas.push({
60
+ ref: `function.${slug}`,
61
+ inputSchema: zodToJsonSchema(def.inputSchema),
62
+ outputSchema: zodToJsonSchema(def.outputSchema),
63
+ output: 'value',
64
+ binding,
65
+ });
66
+ }
67
+ return { schemas, bindings };
68
+ }
69
+ //# sourceMappingURL=extend-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-functions.js","sourceRoot":"","sources":["../../src/domain/extend-functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAIhE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAA;AACnD,MAAM,OAAO,GAAG,mBAAmB,CAAA;AAEnC,SAAS,gBAAgB,CAAC,SAA+C;IACvE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,8CAA8C,IAAI,kBAAkB,OAAO,GAAG,CAC/E,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAA+C;IAE/C,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAC3B,MAAM,GAAG,GAAqC,EAAE,CAAA;IAChD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;IAC/D,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAA+C,EAC/C,GAAW,EACX,eAAuB;IAEvB,MAAM,OAAO,GAAqB,EAAE,CAAA;IACpC,MAAM,QAAQ,GAAoC,EAAE,CAAA;IACpD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;QACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;QACxB,OAAO,CAAC,IAAI,CAAC;YACX,GAAG,EAAE,YAAY,IAAI,EAAE;YACvB,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC;YAC7C,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;YAC/C,MAAM,EAAE,OAAO;YACf,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Materialize the `views` map (`defineView` entries) into the two halves a view
3
+ * DOMAIN MEMBER contributes — mirroring `extend-functions.ts`:
4
+ *
5
+ * - `ViewDeclarations` — the CONTRACT half, fed to `compileDomain`'s members
6
+ * arg. The member ref (`view.<slug>`), the layout (`/<origin>/views/<slug>`),
7
+ * and the `of_domain` edge slug all derive from the map key.
8
+ * - `ViewSchema[]` + per-slug `FunctionBinding` — the IMPL half, fed to
9
+ * `serialize`. A view carries more than a function: a `UI.handshake` mode and
10
+ * `view_for` target edges (resolved here to graph paths). The worker route is
11
+ * `<url>/<viewsFolder>/<slug>`, DECOUPLED from the graph layout.
12
+ *
13
+ * A view is NOT a core/instance node: the kernel-core serializer attaches it to
14
+ * the Domain via `of_domain` (slug `view.<slug>`) and emits its `view_for` edges,
15
+ * so this module never touches `Core`.
16
+ */
17
+ import type { FunctionBinding } from '@astrale-os/kernel-api/routed';
18
+ import type { ViewDeclarations, ViewSchema } from '@astrale-os/kernel-core/domain';
19
+ import type { Schema } from '@astrale-os/kernel-dsl';
20
+ import type { ViewDef } from '../define/view';
21
+ /**
22
+ * Default URL segment for a view's worker route (`<url>/views/<slug>`). Names the
23
+ * HTTP route only — the graph layout (`/<origin>/views/<slug>`) is a fixed kernel
24
+ * convention, independent of this.
25
+ */
26
+ export declare const DEFAULT_VIEWS_FOLDER = "views";
27
+ type AnyViewDef = ViewDef<any>;
28
+ /**
29
+ * Contract half — one declaration per `views` map key, for `compileDomain`'s
30
+ * `views` arg. The slug drives ref/path/of_domain; impl/binding/view_for arrive
31
+ * at serialize.
32
+ */
33
+ export declare function buildViewDeclarations(views: Record<string, AnyViewDef>): ViewDeclarations;
34
+ /**
35
+ * Impl half — `ViewSchema[]` for `serialize` plus the per-slug `FunctionBinding`
36
+ * map the worker mounts routes from. `viewFor` markers are resolved here to
37
+ * concrete target paths (class meta-nodes) because the kernel-core serializer is
38
+ * pure and does not resolve `defineCore` endpoints.
39
+ */
40
+ export declare function buildViewSchemas(views: Record<string, AnyViewDef>, url: string, viewsFolder: string, schema: Schema): {
41
+ schemas: ViewSchema[];
42
+ bindings: Record<string, FunctionBinding>;
43
+ };
44
+ export {};
45
+ //# sourceMappingURL=extend-views.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-views.d.ts","sourceRoot":"","sources":["../../src/domain/extend-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAYpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAI7C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,UAAU,CAAA;AAI3C,KAAK,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;AAoB9B;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,gBAAgB,CAKzF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACjC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAAE,CAsBtE"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Materialize the `views` map (`defineView` entries) into the two halves a view
3
+ * DOMAIN MEMBER contributes — mirroring `extend-functions.ts`:
4
+ *
5
+ * - `ViewDeclarations` — the CONTRACT half, fed to `compileDomain`'s members
6
+ * arg. The member ref (`view.<slug>`), the layout (`/<origin>/views/<slug>`),
7
+ * and the `of_domain` edge slug all derive from the map key.
8
+ * - `ViewSchema[]` + per-slug `FunctionBinding` — the IMPL half, fed to
9
+ * `serialize`. A view carries more than a function: a `UI.handshake` mode and
10
+ * `view_for` target edges (resolved here to graph paths). The worker route is
11
+ * `<url>/<viewsFolder>/<slug>`, DECOUPLED from the graph layout.
12
+ *
13
+ * A view is NOT a core/instance node: the kernel-core serializer attaches it to
14
+ * the Domain via `of_domain` (slug `view.<slug>`) and emits its `view_for` edges,
15
+ * so this module never touches `Core`.
16
+ */
17
+ import { DomainPaths } from '@astrale-os/kernel-core/domain';
18
+ import { buildDefOriginMap, scanImportedDefs } from '@astrale-os/kernel-core/domain';
19
+ import { buildDefDescriptorMap, isAbstract, isCorePath, isSelfMarker, } from '@astrale-os/kernel-dsl';
20
+ import { joinWorkerPath, resolveBinding } from './binding';
21
+ /**
22
+ * Default URL segment for a view's worker route (`<url>/views/<slug>`). Names the
23
+ * HTTP route only — the graph layout (`/<origin>/views/<slug>`) is a fixed kernel
24
+ * convention, independent of this.
25
+ */
26
+ export const DEFAULT_VIEWS_FOLDER = 'views';
27
+ const SLUG_RE = /^[a-z][a-z0-9-]*$/;
28
+ function assertValidSlugs(views) {
29
+ for (const slug of Object.keys(views)) {
30
+ if (!SLUG_RE.test(slug)) {
31
+ throw new Error(`defineRemoteDomain: invalid view slug "${slug}" — must match ${SLUG_RE}.`);
32
+ }
33
+ }
34
+ }
35
+ /** Enforce ViewDef's documented exclusivity: `mount` cannot combine with `render`/`binding`. */
36
+ function assertExclusivity(slug, def) {
37
+ if (def.mount && (def.render || def.binding)) {
38
+ throw new Error(`defineRemoteDomain: view "${slug}" sets \`mount\` together with ` +
39
+ `${def.render ? '`render`' : '`binding`'} — they are mutually exclusive.`);
40
+ }
41
+ }
42
+ /**
43
+ * Contract half — one declaration per `views` map key, for `compileDomain`'s
44
+ * `views` arg. The slug drives ref/path/of_domain; impl/binding/view_for arrive
45
+ * at serialize.
46
+ */
47
+ export function buildViewDeclarations(views) {
48
+ assertValidSlugs(views);
49
+ const out = {};
50
+ for (const slug of Object.keys(views))
51
+ out[slug] = { slug };
52
+ return out;
53
+ }
54
+ /**
55
+ * Impl half — `ViewSchema[]` for `serialize` plus the per-slug `FunctionBinding`
56
+ * map the worker mounts routes from. `viewFor` markers are resolved here to
57
+ * concrete target paths (class meta-nodes) because the kernel-core serializer is
58
+ * pure and does not resolve `defineCore` endpoints.
59
+ */
60
+ export function buildViewSchemas(views, url, viewsFolder, schema) {
61
+ const schemas = [];
62
+ const bindings = {};
63
+ for (const [slug, def] of Object.entries(views)) {
64
+ assertExclusivity(slug, def);
65
+ // `mount` is a worker-relative SPA path → `<url><mount>`; otherwise the
66
+ // default/overridden `<url>/<viewsFolder>/<slug>`.
67
+ const binding = def.mount
68
+ ? { remoteUrl: joinWorkerPath(url, def.mount) }
69
+ : resolveBinding(def.binding, url, viewsFolder, slug);
70
+ bindings[slug] = binding;
71
+ // Inline `render` views ship no shell client → default handshake 'none'.
72
+ const handshake = def.handshake ?? (def.render ? 'none' : undefined);
73
+ schemas.push({
74
+ ref: `view.${slug}`,
75
+ name: slug,
76
+ binding,
77
+ ...(handshake ? { handshake } : {}),
78
+ viewFor: resolveViewForTargets(def.viewFor, schema),
79
+ });
80
+ }
81
+ return { schemas, bindings };
82
+ }
83
+ /**
84
+ * Resolve `defineView`'s `viewFor` endpoints to concrete graph path raws.
85
+ * Mirrors kernel-core `compileCore`'s endpoint resolution (the old channel that
86
+ * carried view_for as core edges): `selfOf(Def)` → the def's class/interface
87
+ * meta-node `/<declaringDomain>/{class,interface}.<Name>/self`; a `CorePath`
88
+ * string → its anchored graph path. Empty when the view targets nothing.
89
+ */
90
+ function resolveViewForTargets(viewFor, schema) {
91
+ if (!viewFor)
92
+ return [];
93
+ const targets = Array.isArray(viewFor) ? viewFor : [viewFor];
94
+ if (targets.length === 0)
95
+ return [];
96
+ const descriptorMap = buildDefDescriptorMap(schema);
97
+ const defOrigins = buildDefOriginMap(schema, scanImportedDefs(schema));
98
+ return targets.map((target) => {
99
+ if (isSelfMarker(target)) {
100
+ const def = target.__def;
101
+ const desc = descriptorMap.get(def);
102
+ if (!desc) {
103
+ throw new Error('defineView: `viewFor: selfOf(...)` references a def that is neither in this ' +
104
+ "schema nor any of its `imports`. Add the def's schema to `imports`.");
105
+ }
106
+ const origin = defOrigins.get(def) ?? schema.domain;
107
+ const dp = DomainPaths.of(origin);
108
+ return isAbstract(def) ? dp.interface(desc.name).raw : dp.class(desc.name).raw;
109
+ }
110
+ if (isCorePath(target)) {
111
+ return DomainPaths.of(schema.domain).corePath(target).raw;
112
+ }
113
+ throw new Error('defineView: unsupported `viewFor` endpoint — use `selfOf(Class)` or a CorePath.');
114
+ });
115
+ }
116
+ //# sourceMappingURL=extend-views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-views.js","sourceRoot":"","sources":["../../src/domain/extend-views.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export type { AuthForPolicy, Kernel, KernelForAuth, RemoteContext, RemoteHandler, MethodImpl, ClassMethodsImpl, InterfaceMethodsImpl, SchemaMethodsImpl, } from './method';
2
2
  export { remoteMethod, remoteClassMethods, remoteInterfaceMethods } from './method';
3
3
  export { defineDomain, deploy, defineAdapter } from './config';
4
- export type { ClientBinding, DefineDomainConfig, DomainDefinition, DeployConfig, AdapterSpec, DeployCtx, DeployResult, DomainAdapter, DomainInfo, WatchCtx, WatchHandle, } from './config';
4
+ export type { DefineDomainConfig, DomainDefinition, DeployConfig, AdapterSpec, DeployCtx, DeployResult, DomainAdapter, DomainInfo, WatchCtx, WatchHandle, } from './config';
5
5
  export { buildInstallGraph, buildInstallGraphHash } from './domain';
6
6
  export { defineView, defineRemoteFunction } from './define';
7
7
  export type { ViewDef, ViewRenderContext, RemoteFunctionDef, RemoteFunctionContext } from './define';
@@ -9,7 +9,7 @@ export { MetaSchema } from './deploy/meta';
9
9
  export type { Meta } from './deploy/meta';
10
10
  export type { AuthPolicy, RouteBinding, FunctionBinding, CredentialSource, SingleCredentialSource, HttpMethod, RouteBody, OutputMode, } from '@astrale-os/kernel-api/routed';
11
11
  export type { RemoteIdentityConfig, AuthenticateResult } from './auth';
12
- export { authenticateRequest, buildComposedGrant, signCredential } from './auth';
12
+ export { authenticateRequest, bindSelfKernel, buildComposedGrant, makeSelfKernel, signCredential, } from './auth';
13
13
  export { AuthMissingError, AuthInvalidError } from './auth';
14
14
  export { assertPerm, requireOwnership, READ, EDIT, USE, SHARE, ALL } from './auth';
15
15
  export type { AuthContext, Attestation, Authenticated, Delegation, IdentityId, IssuerId, } from '@astrale-os/kernel-core';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,aAAa,EACb,MAAM,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAOnF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC9D,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAUnE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC3D,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAcpG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAGzC,YAAY,EACV,UAAU,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,+BAA+B,CAAA;AAGtC,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAClF,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,QAAQ,GACT,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,aAAa,EACb,MAAM,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAOnF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC9D,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAUnE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC3D,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAcpG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAGzC,YAAY,EACV,UAAU,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,+BAA+B,CAAA;AAGtC,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AACtE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,cAAc,GACf,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAClF,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,QAAQ,GACT,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ export { defineView, defineRemoteFunction } from './define';
28
28
  // the barrel poisons browser bundlers (Vite/esbuild) that transitively load
29
29
  // every re-export. Consumers that need them import from './deploy' directly.
30
30
  export { MetaSchema } from './deploy/meta';
31
- export { authenticateRequest, buildComposedGrant, signCredential } from './auth';
31
+ export { authenticateRequest, bindSelfKernel, buildComposedGrant, makeSelfKernel, signCredential, } from './auth';
32
32
  export { AuthMissingError, AuthInvalidError } from './auth';
33
33
  export { assertPerm, requireOwnership, READ, EDIT, USE, SHARE, ALL } from './auth';
34
34
  export { selfGrant } from '@astrale-os/kernel-core';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEnF,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,qEAAqE;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAe9D,4EAA4E;AAC5E,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEnE,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,yEAAyE;AACzE,8EAA8E;AAC9E,wBAAwB;AACxB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAG3D,4EAA4E;AAC5E,qFAAqF;AACrF,wEAAwE;AACxE,6EAA6E;AAC7E,wEAAwE;AACxE,yDAAyD;AAEzD,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAiB1C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AASlF,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,4EAA4E;AAC5E,OAAO,EAAE,aAAa,EAA4B,MAAM,YAAY,CAAA;AACpE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEnF,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,qEAAqE;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAc9D,4EAA4E;AAC5E,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEnE,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,yEAAyE;AACzE,8EAA8E;AAC9E,wBAAwB;AACxB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAG3D,4EAA4E;AAC5E,qFAAqF;AACrF,wEAAwE;AACxE,6EAA6E;AAC7E,wEAAwE;AACxE,yDAAyD;AAEzD,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAiB1C,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,cAAc,GACf,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AASlF,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,4EAA4E;AAC5E,OAAO,EAAE,aAAa,EAA4B,MAAM,YAAY,CAAA;AACpE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAA"}
@@ -82,7 +82,7 @@ export function mountAuxiliaryRoutes(config) {
82
82
  const result = await def.execute(ctx);
83
83
  const outValidation = validateResult(def.outputSchema, result);
84
84
  if (!outValidation.ok) {
85
- throw new SdkResultValidationError(outValidation.issues, def.ref);
85
+ throw new SdkResultValidationError(outValidation.issues, `function.${slug}`);
86
86
  }
87
87
  return c.json({ result: outValidation.data });
88
88
  },
@@ -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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"}
@@ -127,9 +127,9 @@ export interface WorkerEntry<TDeps> {
127
127
  export declare function clientOrigin(url: URL, request: Request): string;
128
128
  /**
129
129
  * Build a `before` hook that serves a static-asset `binding` (e.g. a Workers
130
- * Assets binding) mounted under `base` (default `/ui`) — the runtime half of a
131
- * domain's `client` binding. Returns `undefined` for non-matching paths (and
132
- * when no binding is present) so the request falls through to domain dispatch.
130
+ * Assets binding) mounted under `base` (default `/ui`) — the runtime half of an
131
+ * adapter env's client-asset config. Returns `undefined` for non-matching paths
132
+ * (and when no binding is present) so the request falls through to domain dispatch.
133
133
  *
134
134
  * Asset URLs are rooted at `base` (a client bundler sets `base: '<base>/'`);
135
135
  * this hook strips that prefix before delegating to the binding, so
@@ -82,9 +82,9 @@ export function clientOrigin(url, request) {
82
82
  }
83
83
  /**
84
84
  * Build a `before` hook that serves a static-asset `binding` (e.g. a Workers
85
- * Assets binding) mounted under `base` (default `/ui`) — the runtime half of a
86
- * domain's `client` binding. Returns `undefined` for non-matching paths (and
87
- * when no binding is present) so the request falls through to domain dispatch.
85
+ * Assets binding) mounted under `base` (default `/ui`) — the runtime half of an
86
+ * adapter env's client-asset config. Returns `undefined` for non-matching paths
87
+ * (and when no binding is present) so the request falls through to domain dispatch.
88
88
  *
89
89
  * Asset URLs are rooted at `base` (a client bundler sets `base: '<base>/'`);
90
90
  * this hook strips that prefix before delegating to the binding, so
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-os/sdk",
3
- "version": "0.1.9",
3
+ "version": "0.2.0",
4
4
  "description": "Astrale Remote Domain SDK - Define and deploy domains as standalone Hono servers",
5
5
  "keywords": [
6
6
  "astrale",
@@ -47,13 +47,10 @@
47
47
  "import": "./dist/deploy/index.js"
48
48
  }
49
49
  },
50
- "publishConfig": {
51
- "registry": "https://npm.pkg.github.com"
52
- },
53
50
  "dependencies": {
54
51
  "@astrale-os/kernel-api": ">=0.4.5 <1.0.0",
55
52
  "@astrale-os/kernel-client": ">=0.2.2 <1.0.0",
56
- "@astrale-os/kernel-core": ">=0.4.3 <1.0.0",
53
+ "@astrale-os/kernel-core": ">=0.5.0 <1.0.0",
57
54
  "@astrale-os/kernel-dsl": ">=0.1.2 <1.0.0",
58
55
  "@astrale-os/kernel-server": ">=0.4.0 <1.0.0",
59
56
  "hono": "^4.6.20",
package/src/auth/index.ts CHANGED
@@ -6,6 +6,6 @@ export { resolveInboundAuth, buildAuthContext, type ResolvedAuth } from './resol
6
6
  export { verifyInboundCredential } from './verify'
7
7
  export { buildComposedGrant } from './compose'
8
8
  export { signCredential } from './sign'
9
- export { bindKernel } from './kernel-client'
9
+ export { bindKernel, bindSelfKernel, makeSelfKernel } from './kernel-client'
10
10
  export { AuthMissingError, AuthInvalidError } from './errors'
11
11
  export { assertPerm, requireOwnership, READ, EDIT, USE, SHARE, ALL } from './check'
package/src/cli/run.ts CHANGED
@@ -172,9 +172,6 @@ export async function run(argv: readonly string[]): Promise<number> {
172
172
 
173
173
  const domain = toDomainInfo(def)
174
174
 
175
- // The client SPA is a DECLARED binding (`defineDomain({ client })`), not a
176
- // folder we sniff for: its presence + source dir come from the definition.
177
- const clientDir = def.client ? join(projectDir, def.client.dir) : undefined
178
175
  const secrets = loadSecrets(adapter, params, projectDir)
179
176
 
180
177
  if (parsed.command === 'dev' || (parsed.command === 'deploy' && parsed.watch)) {
@@ -184,7 +181,6 @@ export async function run(argv: readonly string[]): Promise<number> {
184
181
  paramOverrides,
185
182
  projectDir,
186
183
  specPath,
187
- clientDir,
188
184
  secrets,
189
185
  domain,
190
186
  env: parsed.env,
@@ -198,9 +194,12 @@ export async function run(argv: readonly string[]): Promise<number> {
198
194
  projectDir,
199
195
  specPath,
200
196
  secrets,
201
- ...(clientDir ? { clientDir } : {}),
202
197
  domain,
203
198
  env: parsed.env,
199
+ schemaHashForUrl: async (url) => {
200
+ const { schemaHash } = await buildProjectSpec(def, url)
201
+ return schemaHash
202
+ },
204
203
  })
205
204
  await writeSpecBestEffort({ projectDir, specPath, def, url: result.url })
206
205
  printDeployed(result, def)
@@ -290,14 +289,13 @@ async function runWatch(args: {
290
289
  paramOverrides: Record<string, unknown>
291
290
  projectDir: string
292
291
  specPath: string
293
- clientDir?: string
294
292
  secrets: Record<string, string>
295
293
  domain: DomainInfo
296
294
  env: string
297
295
  def: DeployConfig
298
296
  configPath: string
299
297
  }): Promise<number> {
300
- const { adapter, params, projectDir, specPath, clientDir, secrets, domain, env, def } = args
298
+ const { adapter, params, projectDir, specPath, secrets, domain, env, def } = args
301
299
  let reloads = 0
302
300
  const onReload = () => {
303
301
  reloads += 1
@@ -306,7 +304,6 @@ async function runWatch(args: {
306
304
  const handle: WatchHandle = await adapter.watch(params, {
307
305
  projectDir,
308
306
  specPath,
309
- ...(clientDir ? { clientDir } : {}),
310
307
  secrets,
311
308
  domain,
312
309
  env,
@@ -322,7 +319,6 @@ async function runWatch(args: {
322
319
  paramOverrides: args.paramOverrides,
323
320
  projectDir,
324
321
  specPath,
325
- ...(clientDir ? { clientDir } : {}),
326
322
  url: handle.url,
327
323
  onReload,
328
324
  })
@@ -364,7 +360,6 @@ export function watchConfigForRegen(args: {
364
360
  paramOverrides: Record<string, unknown>
365
361
  projectDir: string
366
362
  specPath: string
367
- clientDir?: string
368
363
  url: string
369
364
  onReload: () => void
370
365
  }): () => void {
@@ -405,7 +400,6 @@ export function watchConfigForRegen(args: {
405
400
  await adapter.regenerate(params, {
406
401
  projectDir: args.projectDir,
407
402
  specPath: args.specPath,
408
- ...(args.clientDir ? { clientDir: args.clientDir } : {}),
409
403
  secrets: loadSecrets(adapter, params, args.projectDir),
410
404
  domain,
411
405
  env: args.env,
@@ -517,11 +511,26 @@ function toDomainInfo(def: DeployConfig): DomainInfo {
517
511
  // Presence comes from the definition the author wired — never a folder probe.
518
512
  hasViews: def.views !== undefined,
519
513
  hasFunctions: def.functions !== undefined,
520
- hasClient: def.client !== undefined,
514
+ mountedViews: collectMountedViews(def.views),
521
515
  hasDeps: def.deps !== undefined,
522
516
  }
523
517
  }
524
518
 
519
+ function collectMountedViews(views: DeployConfig['views']): DomainInfo['mountedViews'] {
520
+ if (!views) return []
521
+ const mounted: DomainInfo['mountedViews'] = []
522
+ for (const [slug, def] of Object.entries(views)) {
523
+ const mount = (def as { mount?: unknown }).mount
524
+ if (typeof mount !== 'string' || mount.length === 0) continue
525
+ mounted.push({ slug, mount: normalizeMount(mount) })
526
+ }
527
+ return mounted
528
+ }
529
+
530
+ function normalizeMount(mount: string): string {
531
+ return `/${mount.replace(/^\/+/, '')}`
532
+ }
533
+
525
534
  async function loadConfig(path: string, opts?: { fresh: boolean }): Promise<DeployConfig> {
526
535
  // Re-importing an EDITED file: Bun's ESM registry is keyed by path and never
527
536
  // re-reads the source — a `?reload=N` query re-EVALUATES but serves the