@astrale-os/sdk 0.2.0 → 0.4.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 (172) hide show
  1. package/LICENSE +202 -0
  2. package/dist/auth/check.d.ts +1 -2
  3. package/dist/auth/check.d.ts.map +1 -1
  4. package/dist/auth/check.js +2 -6
  5. package/dist/auth/check.js.map +1 -1
  6. package/dist/auth/index.d.ts +2 -0
  7. package/dist/auth/index.d.ts.map +1 -1
  8. package/dist/auth/index.js +1 -0
  9. package/dist/auth/index.js.map +1 -1
  10. package/dist/auth/issuer-mint.d.ts +53 -0
  11. package/dist/auth/issuer-mint.d.ts.map +1 -0
  12. package/dist/auth/issuer-mint.js +35 -0
  13. package/dist/auth/issuer-mint.js.map +1 -0
  14. package/dist/auth/kernel-client.d.ts +8 -2
  15. package/dist/auth/kernel-client.d.ts.map +1 -1
  16. package/dist/auth/kernel-client.js +22 -46
  17. package/dist/auth/kernel-client.js.map +1 -1
  18. package/dist/cli/dotenv.d.ts +8 -0
  19. package/dist/cli/dotenv.d.ts.map +1 -1
  20. package/dist/cli/dotenv.js +18 -0
  21. package/dist/cli/dotenv.js.map +1 -1
  22. package/dist/cli/index.d.ts +1 -1
  23. package/dist/cli/index.d.ts.map +1 -1
  24. package/dist/cli/index.js +1 -1
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/log.d.ts +11 -0
  27. package/dist/cli/log.d.ts.map +1 -0
  28. package/dist/cli/log.js +17 -0
  29. package/dist/cli/log.js.map +1 -0
  30. package/dist/cli/publish.d.ts +35 -0
  31. package/dist/cli/publish.d.ts.map +1 -0
  32. package/dist/cli/publish.js +271 -0
  33. package/dist/cli/publish.js.map +1 -0
  34. package/dist/cli/run.d.ts +17 -1
  35. package/dist/cli/run.d.ts.map +1 -1
  36. package/dist/cli/run.js +85 -101
  37. package/dist/cli/run.js.map +1 -1
  38. package/dist/cli/spec.d.ts.map +1 -1
  39. package/dist/cli/spec.js +1 -0
  40. package/dist/cli/spec.js.map +1 -1
  41. package/dist/config/define-domain.d.ts +79 -2
  42. package/dist/config/define-domain.d.ts.map +1 -1
  43. package/dist/config/define-domain.js +58 -1
  44. package/dist/config/define-domain.js.map +1 -1
  45. package/dist/config/index.d.ts +1 -1
  46. package/dist/config/index.d.ts.map +1 -1
  47. package/dist/define/remote-function.d.ts +23 -3
  48. package/dist/define/remote-function.d.ts.map +1 -1
  49. package/dist/define/remote-function.js +1 -1
  50. package/dist/define/remote-function.js.map +1 -1
  51. package/dist/deploy/check.d.ts +6 -6
  52. package/dist/deploy/check.d.ts.map +1 -1
  53. package/dist/deploy/check.js +1 -1
  54. package/dist/deploy/check.js.map +1 -1
  55. package/dist/deploy/index.d.ts +0 -1
  56. package/dist/deploy/index.d.ts.map +1 -1
  57. package/dist/deploy/index.js +0 -1
  58. package/dist/deploy/index.js.map +1 -1
  59. package/dist/deploy/meta.d.ts +11 -0
  60. package/dist/deploy/meta.d.ts.map +1 -1
  61. package/dist/deploy/meta.js +23 -0
  62. package/dist/deploy/meta.js.map +1 -1
  63. package/dist/dispatch/dispatcher.d.ts +17 -4
  64. package/dist/dispatch/dispatcher.d.ts.map +1 -1
  65. package/dist/dispatch/dispatcher.js +15 -3
  66. package/dist/dispatch/dispatcher.js.map +1 -1
  67. package/dist/dispatch/execute.d.ts +6 -2
  68. package/dist/dispatch/execute.d.ts.map +1 -1
  69. package/dist/dispatch/execute.js +1 -0
  70. package/dist/dispatch/execute.js.map +1 -1
  71. package/dist/dispatch/identity.d.ts +11 -10
  72. package/dist/dispatch/identity.d.ts.map +1 -1
  73. package/dist/dispatch/identity.js +4 -3
  74. package/dist/dispatch/identity.js.map +1 -1
  75. package/dist/dispatch/index.d.ts +1 -1
  76. package/dist/dispatch/index.d.ts.map +1 -1
  77. package/dist/dispatch/index.js +1 -1
  78. package/dist/dispatch/index.js.map +1 -1
  79. package/dist/dispatch/self.d.ts +25 -37
  80. package/dist/dispatch/self.d.ts.map +1 -1
  81. package/dist/dispatch/self.js +60 -30
  82. package/dist/dispatch/self.js.map +1 -1
  83. package/dist/domain/build-spec.d.ts.map +1 -1
  84. package/dist/domain/build-spec.js +15 -3
  85. package/dist/domain/build-spec.js.map +1 -1
  86. package/dist/domain/define.d.ts +17 -32
  87. package/dist/domain/define.d.ts.map +1 -1
  88. package/dist/domain/define.js +12 -31
  89. package/dist/domain/define.js.map +1 -1
  90. package/dist/domain/extend-functions.d.ts +13 -9
  91. package/dist/domain/extend-functions.d.ts.map +1 -1
  92. package/dist/domain/extend-functions.js +28 -13
  93. package/dist/domain/extend-functions.js.map +1 -1
  94. package/dist/index.d.ts +7 -3
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +12 -4
  97. package/dist/index.js.map +1 -1
  98. package/dist/method/class.d.ts +2 -2
  99. package/dist/method/class.d.ts.map +1 -1
  100. package/dist/method/class.js.map +1 -1
  101. package/dist/method/context.d.ts +18 -3
  102. package/dist/method/context.d.ts.map +1 -1
  103. package/dist/method/index.d.ts +2 -2
  104. package/dist/method/index.d.ts.map +1 -1
  105. package/dist/method/index.js.map +1 -1
  106. package/dist/method/single.d.ts +25 -38
  107. package/dist/method/single.d.ts.map +1 -1
  108. package/dist/method/single.js +1 -11
  109. package/dist/method/single.js.map +1 -1
  110. package/dist/server/auxiliary-routes.d.ts.map +1 -1
  111. package/dist/server/auxiliary-routes.js +13 -2
  112. package/dist/server/auxiliary-routes.js.map +1 -1
  113. package/dist/server/create.d.ts +2 -15
  114. package/dist/server/create.d.ts.map +1 -1
  115. package/dist/server/create.js +15 -51
  116. package/dist/server/create.js.map +1 -1
  117. package/dist/server/domain-entry.d.ts +10 -0
  118. package/dist/server/domain-entry.d.ts.map +1 -1
  119. package/dist/server/domain-entry.js +2 -0
  120. package/dist/server/domain-entry.js.map +1 -1
  121. package/dist/server/index.d.ts +0 -1
  122. package/dist/server/index.d.ts.map +1 -1
  123. package/dist/server/index.js +0 -1
  124. package/dist/server/index.js.map +1 -1
  125. package/package.json +10 -8
  126. package/src/auth/check.ts +2 -6
  127. package/src/auth/index.ts +2 -0
  128. package/src/auth/issuer-mint.ts +75 -0
  129. package/src/auth/kernel-client.ts +31 -63
  130. package/src/cli/dotenv.ts +20 -0
  131. package/src/cli/index.ts +1 -1
  132. package/src/cli/log.ts +18 -0
  133. package/src/cli/publish.ts +341 -0
  134. package/src/cli/run.ts +92 -113
  135. package/src/cli/spec.ts +1 -0
  136. package/src/config/define-domain.ts +158 -5
  137. package/src/config/index.ts +1 -1
  138. package/src/define/remote-function.ts +47 -7
  139. package/src/deploy/check.ts +7 -7
  140. package/src/deploy/index.ts +0 -1
  141. package/src/deploy/meta.ts +25 -0
  142. package/src/dispatch/dispatcher.ts +32 -9
  143. package/src/dispatch/execute.ts +7 -2
  144. package/src/dispatch/identity.ts +11 -10
  145. package/src/dispatch/index.ts +1 -1
  146. package/src/dispatch/self.ts +117 -41
  147. package/src/domain/build-spec.ts +15 -1
  148. package/src/domain/define.ts +26 -38
  149. package/src/domain/extend-functions.ts +35 -15
  150. package/src/index.ts +29 -5
  151. package/src/method/class.ts +11 -7
  152. package/src/method/context.ts +19 -3
  153. package/src/method/index.ts +8 -2
  154. package/src/method/single.ts +35 -42
  155. package/src/server/auxiliary-routes.ts +13 -2
  156. package/src/server/create.ts +15 -51
  157. package/src/server/domain-entry.ts +12 -0
  158. package/src/server/index.ts +0 -1
  159. package/dist/deploy/hash-spec.d.ts +0 -9
  160. package/dist/deploy/hash-spec.d.ts.map +0 -1
  161. package/dist/deploy/hash-spec.js +0 -29
  162. package/dist/deploy/hash-spec.js.map +0 -1
  163. package/dist/domain/extend-core.d.ts +0 -49
  164. package/dist/domain/extend-core.d.ts.map +0 -1
  165. package/dist/domain/extend-core.js +0 -190
  166. package/dist/domain/extend-core.js.map +0 -1
  167. package/dist/server/worker-meta.d.ts +0 -6
  168. package/dist/server/worker-meta.d.ts.map +0 -1
  169. package/dist/server/worker-meta.js +0 -10
  170. package/dist/server/worker-meta.js.map +0 -1
  171. package/src/deploy/hash-spec.ts +0 -31
  172. package/src/server/worker-meta.ts +0 -25
package/dist/cli/run.js CHANGED
@@ -18,7 +18,15 @@
18
18
  * astrale-domain prod # = deploy prod
19
19
  * astrale-domain deploy <env> # any env key
20
20
  * astrale-domain build # rebuild spec only (placeholder URL)
21
- * astrale-domain publish [env] # register the deployed URL in the admin catalog (NO deploy)
21
+ * astrale-domain publish [env] # RELEASE: publish ./schema to npm (if any) + register the deployed URL
22
+ *
23
+ * A release has two halves that must stay in sync: the CONTRACT (`./schema` on
24
+ * npm) and the DEPLOYMENT (worker URL in the catalog). `publish` does both,
25
+ * npm-FIRST — `npm publish` is irreversible, so the catalog is registered only on
26
+ * schema-publish success, never pointing at an unpublished contract. The schema
27
+ * publish is idempotent (skips an unbumped version). Scope it with `--schema`
28
+ * (contract only — config-free) or `--skip-schema` (catalog only). All publish
29
+ * logic lives in `./publish.ts`; this file only parses args and dispatches.
22
30
  *
23
31
  * `publish` registers a domain's ALREADY-deployed URL in the admin catalog by
24
32
  * SHELLING OUT to the operator CLI (`astrale domain publish --origin --name
@@ -30,13 +38,14 @@
30
38
  * credentials. Requires `astrale` on PATH (the same CLI the deploy footer
31
39
  * already points you at for `domain install`).
32
40
  */
33
- import { spawn } from 'node:child_process';
34
- import { existsSync, readFileSync, watch as watchFs } from 'node:fs';
41
+ import { existsSync, watch as watchFs } from 'node:fs';
35
42
  import { mkdir, writeFile } from 'node:fs/promises';
36
43
  import { createRequire } from 'node:module';
37
44
  import { basename, dirname, isAbsolute, join } from 'node:path';
38
45
  import { pathToFileURL } from 'node:url';
39
- import { loadDotenvFile } from './dotenv';
46
+ import { loadDeclaredSecrets } from './dotenv';
47
+ import { BOLD, DIM, error, GREEN, info, RESET, warn } from './log';
48
+ import { publishSchema, runRelease, runReleaseAfterDeploy } from './publish';
40
49
  import { buildProjectSpec } from './spec';
41
50
  const CONFIG_NAMES = ['astrale.config.ts', 'astrale.config.js', 'astrale.config.mjs'];
42
51
  export async function run(argv) {
@@ -54,6 +63,16 @@ export async function run(argv) {
54
63
  printUsage(err.message);
55
64
  return 2;
56
65
  }
66
+ // `publish --schema` (schema only) operates on the schema PACKAGE, not
67
+ // astrale.config.ts — handle it before config discovery so it works in a folder
68
+ // that is purely a schema package and needs no adapter/Bun runtime.
69
+ if (parsed.command === 'publish' && parsed.schemaOnly) {
70
+ return await publishSchema({
71
+ projectDir: process.cwd(),
72
+ dryRun: parsed.dryRun ?? false,
73
+ ...(parsed.otp !== undefined ? { otp: parsed.otp } : {}),
74
+ });
75
+ }
57
76
  // The CLI imports the project's TypeScript modules (astrale.config.ts, the ★
58
77
  // files) directly — that requires a TS-native runtime. Fail with the remedy
59
78
  // instead of a cryptic ERR_UNKNOWN_FILE_EXTENSION deep in `import()`.
@@ -104,20 +123,16 @@ export async function run(argv) {
104
123
  return 0;
105
124
  }
106
125
  if (parsed.command === 'publish') {
107
- // Register the already-deployed URL in the admin catalog NO deploy. The
108
- // public address defaults to `https://<origin>` (the canonical custom-domain
109
- // prod URL — what every fleet domain serves at); `--public-url` overrides it
110
- // for workers.dev / split-host deploys. No adapter, secrets, or params: this
111
- // only points the registry at an address the author already deployed.
112
- const pkg = readPackageMeta(projectDir);
113
- const name = parsed.name ?? def.origin.split('.')[0] ?? def.origin;
114
- const url = parsed.publicUrl ?? `https://${def.origin}`;
115
- info(`registering ${def.origin} → ${url} in the admin catalog (no deploy)`);
116
- return await publishToAdmin({
126
+ // `--schema` (schema only) was handled before config discovery; this is the
127
+ // full release (schema + catalog) or `--skip-schema` (catalog only).
128
+ return await runRelease({
129
+ projectDir,
117
130
  origin: def.origin,
118
- name,
119
- url,
120
- ...(pkg.description ? { description: pkg.description } : {}),
131
+ skipSchema: parsed.skipSchema ?? false,
132
+ dryRun: parsed.dryRun ?? false,
133
+ ...(parsed.name !== undefined ? { name: parsed.name } : {}),
134
+ ...(parsed.publicUrl !== undefined ? { publicUrl: parsed.publicUrl } : {}),
135
+ ...(parsed.otp !== undefined ? { otp: parsed.otp } : {}),
121
136
  ...(parsed.installByDefault ? { installByDefault: true } : {}),
122
137
  });
123
138
  }
@@ -168,73 +183,20 @@ export async function run(argv) {
168
183
  await writeSpecBestEffort({ projectDir, specPath, def, url: result.url });
169
184
  printDeployed(result, def);
170
185
  if (parsed.publish) {
171
- const pkg = readPackageMeta(projectDir);
172
- // The registry `name` is a short catalog slug, distinct from the FQDN-like
173
- // `origin` AND from the npm package name (`@scope/…` for a published domain —
174
- // illegal as a catalog slug). Default to the origin's first label (the fleet
175
- // convention, e.g. `ai-gateway`); `--name` overrides.
176
- const name = parsed.name ?? def.origin.split('.')[0] ?? def.origin;
177
- return await publishToAdmin({
186
+ // `--publish` = release after deploy: ship the schema (if any) THEN register
187
+ // the just-deployed URL same npm-first ordering as `publish`.
188
+ return await runReleaseAfterDeploy({
189
+ projectDir,
178
190
  origin: def.origin,
179
- name,
180
- url: result.url,
181
- ...(pkg.description ? { description: pkg.description } : {}),
191
+ deployedUrl: result.url,
192
+ skipSchema: parsed.skipSchema ?? false,
193
+ ...(parsed.name !== undefined ? { name: parsed.name } : {}),
194
+ ...(parsed.otp !== undefined ? { otp: parsed.otp } : {}),
182
195
  ...(parsed.installByDefault ? { installByDefault: true } : {}),
183
196
  });
184
197
  }
185
198
  return 0;
186
199
  }
187
- /**
188
- * Register the just-deployed URL in the admin catalog by shelling out to the
189
- * operator CLI (`astrale domain publish`). Deliberately a subprocess, not a
190
- * library call: all credential/admin-target resolution lives in `@astrale-os/
191
- * astrale` and we don't want it (or a kernel client) pulled into this build
192
- * tool — we only own the fresh URL. A missing `astrale` is reported with the
193
- * exact line to run by hand, so a deploy that already succeeded isn't a dead end.
194
- */
195
- async function publishToAdmin(args) {
196
- // `--public-url`, not `--url`: the operator CLI reserves `--url` for kernel
197
- // targeting, so the domain's public address rides its own flag.
198
- const cliArgs = [
199
- 'domain',
200
- 'publish',
201
- '--origin',
202
- args.origin,
203
- '--name',
204
- args.name,
205
- '--public-url',
206
- args.url,
207
- ];
208
- if (args.description)
209
- cliArgs.push('--description', args.description);
210
- if (args.installByDefault)
211
- cliArgs.push('--install-by-default');
212
- info(`publishing to the admin catalog → astrale ${cliArgs.join(' ')}`);
213
- return await new Promise((resolveCode) => {
214
- const child = spawn('astrale', cliArgs, { stdio: 'inherit' });
215
- child.on('error', (err) => {
216
- if (err.code === 'ENOENT') {
217
- error(`\`astrale\` CLI not found on PATH. The deploy succeeded — publish it by hand:\n` +
218
- ` astrale ${cliArgs.join(' ')}`);
219
- }
220
- else {
221
- error(`failed to run \`astrale domain publish\`: ${err.message}`);
222
- }
223
- resolveCode(1);
224
- });
225
- child.on('exit', (code) => resolveCode(code ?? 1));
226
- });
227
- }
228
- /** Best-effort read of the project's package.json `name`/`description` (publish defaults). */
229
- function readPackageMeta(projectDir) {
230
- try {
231
- const pkg = JSON.parse(readFileSync(join(projectDir, 'package.json'), 'utf8'));
232
- return { name: pkg.name, description: pkg.description };
233
- }
234
- catch {
235
- return {};
236
- }
237
- }
238
200
  async function runWatch(args) {
239
201
  const { adapter, params, projectDir, specPath, secrets, domain, env, def } = args;
240
202
  let reloads = 0;
@@ -394,7 +356,7 @@ function loadSecrets(adapter, params, projectDir) {
394
356
  if (!file)
395
357
  return {};
396
358
  const abs = isAbsolute(file) ? file : join(projectDir, file);
397
- return loadDotenvFile(abs);
359
+ return loadDeclaredSecrets(abs, file);
398
360
  }
399
361
  function findConfig(dir) {
400
362
  for (const name of CONFIG_NAMES) {
@@ -467,12 +429,19 @@ export function parseArgs(argv) {
467
429
  // catalog after a successful deploy. The `publish` command implies it.
468
430
  const publish = rest.includes('--publish');
469
431
  const installByDefault = rest.includes('--install-by-default');
432
+ // `--dry-run` (publish): pack + `npm publish --dry-run` and skip the catalog
433
+ // register. A boolean flag, filtered out of `positionals` below.
434
+ const dryRun = rest.includes('--dry-run');
435
+ // Publish modes: `--schema` = schema only · `--skip-schema` = catalog only.
436
+ const schemaOnly = rest.includes('--schema');
437
+ const skipSchema = rest.includes('--skip-schema');
470
438
  // `--port <n>` / `--port=<n>`: consume the flag AND its value so neither
471
439
  // leaks into the positionals (a bare `8788` would be read as the env name).
472
440
  let port;
473
441
  let host;
474
442
  let name;
475
443
  let publicUrl;
444
+ let otp;
476
445
  const cleaned = [];
477
446
  for (let i = 0; i < rest.length; i++) {
478
447
  const a = rest[i];
@@ -509,16 +478,39 @@ export function parseArgs(argv) {
509
478
  else if (a.startsWith('--public-url=')) {
510
479
  publicUrl = a.slice('--public-url='.length);
511
480
  }
481
+ else if (a === '--otp') {
482
+ otp = rest[++i];
483
+ if (!otp)
484
+ throw new Error('--otp needs a value (your 2FA one-time password)');
485
+ }
486
+ else if (a.startsWith('--otp=')) {
487
+ otp = a.slice('--otp='.length);
488
+ }
512
489
  else {
513
490
  cleaned.push(a);
514
491
  }
515
492
  }
516
493
  const positionals = cleaned.filter((a) => !a.startsWith('-'));
494
+ // `--dry-run` belongs ONLY to `publish` — never let it silently no-op a deploy.
495
+ if (dryRun && cmd !== 'publish')
496
+ throw new Error('`--dry-run` is only valid for `publish`.');
497
+ // `--otp` feeds the schema publish (publish, or deploy/prod `--publish`).
498
+ if (otp !== undefined && !['publish', 'deploy', 'prod'].includes(cmd ?? ''))
499
+ throw new Error('`--otp` is only valid for the publish / deploy commands.');
500
+ // `--schema` (schema only) / `--skip-schema` (catalog only): publish-only, opposite.
501
+ if (schemaOnly && cmd !== 'publish')
502
+ throw new Error('`--schema` is only valid for `publish`.');
503
+ if (schemaOnly && skipSchema)
504
+ throw new Error('`--schema` (schema only) and `--skip-schema` (catalog only) are mutually exclusive.');
517
505
  // Publish-related fields shared by deploy/prod/publish (publish itself is
518
- // gated per-command: opt-in via `--publish`, always-on for `publish`).
506
+ // gated per-command: opt-in via `--publish`, always-on for `publish`). `otp` /
507
+ // `skipSchema` ride along because the schema-publish step runs on the
508
+ // `publish` command AND the `deploy --publish` tail.
519
509
  const pub = {
520
510
  ...(name !== undefined ? { name } : {}),
521
511
  ...(installByDefault ? { installByDefault } : {}),
512
+ ...(otp !== undefined ? { otp } : {}),
513
+ ...(skipSchema ? { skipSchema } : {}),
522
514
  };
523
515
  switch (cmd) {
524
516
  case 'dev':
@@ -538,15 +530,17 @@ export function parseArgs(argv) {
538
530
  return { command: 'deploy', env, watch, ...(publish ? { publish } : {}), ...pub };
539
531
  }
540
532
  case 'publish':
541
- // Register the ALREADY-deployed URL in the admin catalog NO deploy.
542
- // (Use `deploy [env] --publish` to deploy AND register in one step.) The
543
- // public address defaults to `https://<origin>`; `--public-url` overrides.
533
+ // Release: publish ./schema + register the deployed URL (no deploy).
534
+ // `--schema` = schema only · `--skip-schema` = catalog only · `--dry-run`
535
+ // packs the schema and skips the catalog register.
544
536
  return {
545
537
  command: 'publish',
546
538
  env: positionals[0] ?? 'prod',
547
539
  watch: false,
548
540
  ...pub,
549
541
  ...(publicUrl !== undefined ? { publicUrl } : {}),
542
+ ...(dryRun ? { dryRun } : {}),
543
+ ...(schemaOnly ? { schemaOnly } : {}),
550
544
  };
551
545
  case 'build':
552
546
  // Spec-only — no env resolution happens on this path.
@@ -559,21 +553,6 @@ function rel(from, to) {
559
553
  return to.startsWith(from) ? `.${to.slice(from.length)}` : to;
560
554
  }
561
555
  // ── output ───────────────────────────────────────────────────────────────
562
- const GREEN = '\x1b[32m';
563
- const DIM = '\x1b[2m';
564
- const BOLD = '\x1b[1m';
565
- const YELLOW = '\x1b[33m';
566
- const RED = '\x1b[31m';
567
- const RESET = '\x1b[0m';
568
- function info(msg) {
569
- process.stdout.write(`${DIM}›${RESET} ${msg}\n`);
570
- }
571
- function warn(msg) {
572
- process.stderr.write(`${YELLOW}!${RESET} ${msg}\n`);
573
- }
574
- function error(msg) {
575
- process.stderr.write(`${RED}✗${RESET} ${msg}\n`);
576
- }
577
556
  function printDevReady(url, domain) {
578
557
  process.stdout.write(`\n${GREEN}✓${RESET} ${BOLD}${domain.origin}${RESET} running (dev, hot-reload)\n` +
579
558
  ` ${BOLD}URL${RESET} ${GREEN}${url}${RESET}\n` +
@@ -602,13 +581,18 @@ function printUsage(msg) {
602
581
  ` astrale-domain dev # deploy dev --watch (hot-reload, prints URL)\n` +
603
582
  ` astrale-domain prod # deploy prod\n` +
604
583
  ` astrale-domain deploy <env> # deploy any env key (--watch optional)\n` +
605
- ` astrale-domain publish [env] # register the already-deployed URL in the admin catalog (NO deploy)\n` +
584
+ ` astrale-domain publish [env] # RELEASE: publish ./schema to npm (if any) + register the deployed URL\n` +
606
585
  ` astrale-domain build # rebuild the diagnostic spec only\n` +
607
586
  `\nFlags:\n` +
608
- ` --publish # on deploy/prod: ALSO register the deployed URL (deploy + register)\n` +
587
+ ` --publish # on deploy/prod: ALSO release (publish ./schema + register the deployed URL)\n` +
588
+ ` --schema # (publish) publish ONLY the ./schema package — no catalog, no config\n` +
589
+ ` --skip-schema # (publish / deploy --publish) register the catalog only; don't publish ./schema\n` +
609
590
  ` --name <slug> # registry name to publish under (default: the origin's first label)\n` +
610
591
  ` --public-url <url> # (publish) address the catalog points at (default: https://<origin>)\n` +
611
592
  ` --install-by-default # mark the published domain for install on every new instance\n` +
612
- `\n publish shells out to \`astrale domain publish\` (needs \`astrale\` on PATH).\n\n`);
593
+ ` --dry-run # (publish) pack + npm publish --dry-run; never ships, skips catalog\n` +
594
+ ` --otp <code> # (publish / deploy --publish) 2FA code for npm publish\n` +
595
+ `\n catalog register shells out to \`astrale domain publish\` (needs \`astrale\` on PATH).\n` +
596
+ ` schema publish uses \`pnpm pack\` then \`npm publish\` (needs \`pnpm\` + \`npm\`; npm handles 2FA).\n\n`);
613
597
  }
614
598
  //# sourceMappingURL=run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/cli/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAK/D,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAehE"}
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/cli/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAK/D,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBhE"}
package/dist/cli/spec.js CHANGED
@@ -22,6 +22,7 @@ export async function buildProjectSpec(def, url) {
22
22
  methods: def.methods,
23
23
  ...(def.views ? { views: def.views } : {}),
24
24
  ...(def.functions ? { remoteFunctions: def.functions } : {}),
25
+ ...(def.path ? { path: def.path } : {}),
25
26
  };
26
27
  const domain = defineRemoteDomain()(config);
27
28
  const wire = buildInstallGraph(domain, url);
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/cli/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAKjE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEjE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAqB,EACrB,GAAW;IAEX,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtB,CAAA;IAExC,MAAM,MAAM,GAAG,kBAAkB,EAAW,CAAC,MAAM,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC/C,OAAO,EAAE,IAAI,EAAE,IAA0C,EAAE,UAAU,EAAE,CAAA;AACzE,CAAC"}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/cli/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAKjE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEjE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAqB,EACrB,GAAW;IAEX,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACD,CAAA;IAExC,MAAM,MAAM,GAAG,kBAAkB,EAAW,CAAC,MAAM,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC/C,OAAO,EAAE,IAAI,EAAE,IAA0C,EAAE,UAAU,EAAE,CAAA;AACzE,CAAC"}
@@ -16,10 +16,64 @@
16
16
  * no kernel — it validates and packages the declaration.
17
17
  */
18
18
  import type { Schema } from '@astrale-os/kernel-dsl';
19
- import type { RemoteFunctionDef, ViewDef } from '../define';
19
+ import type { AnyRemoteFunctionDef, ViewDef } from '../define';
20
20
  import type { SchemaMethodsImpl } from '../method';
21
21
  type AnyViewDef = ViewDef<any>;
22
- type AnyFunctionDef = RemoteFunctionDef<any, any, any>;
22
+ type AnyFunctionDef = AnyRemoteFunctionDef;
23
+ /**
24
+ * Optional presentation metadata for the domain, served verbatim on the
25
+ * worker's `/meta` endpoint (see `../deploy/meta`) so a host UI can brand a
26
+ * freshly-installed domain. Both the block and every field are optional.
27
+ */
28
+ export interface DomainManifest {
29
+ /** Domain logo — an inline SVG string or a `data:` URL (no extra validation). */
30
+ logo?: string;
31
+ /**
32
+ * Slug of one of THIS domain's own views to open first — the domain's entry
33
+ * surface. This is the SERVED form: a plain slug, stamped verbatim onto
34
+ * `/meta`. Authors don't write the slug directly — they pass the view OBJECT
35
+ * to `defineDomain` (see {@link DomainManifestConfig.entrypoint}), which
36
+ * resolves it to this slug. Pinned at app install to the `View` node at
37
+ * `/<origin>/views/<slug>` via the app's `entrypoint` edge.
38
+ */
39
+ entrypoint?: string;
40
+ /**
41
+ * The ROLES this domain declares — named capability identities a workspace
42
+ * registers when an app for this domain is installed, then assigns to users
43
+ * (`default: true` roles are auto-assigned to the installing user). The
44
+ * domain itself grants each role its resource permissions (typically in its
45
+ * `postInstall`); declaring a role here only names it. Slugs are validated
46
+ * (lowercase slug charset, unique) at `defineDomain`.
47
+ */
48
+ roles?: readonly DomainRoleDecl[];
49
+ }
50
+ /** One declared role of the domain (see {@link DomainManifest.roles}). */
51
+ export interface DomainRoleDecl {
52
+ /** Stable role slug, unique within the domain (e.g. `"editor"`). */
53
+ slug: string;
54
+ /** Display name; defaults to the slug. */
55
+ name?: string;
56
+ /** What holding this role means — shown in permission UIs. */
57
+ description?: string;
58
+ /** Auto-assign this role to the user installing an app for this domain. */
59
+ default?: boolean;
60
+ }
61
+ /**
62
+ * The author-facing manifest accepted by {@link defineDomain} — identical to the
63
+ * served {@link DomainManifest} except `entrypoint` is the view OBJECT (a value
64
+ * of the `views` map) rather than its slug. `defineDomain` resolves it to the
65
+ * slug by identity, so a renamed or dropped view is a compile error at the
66
+ * reference site, never a stale string (the same guarantee `postInstall` gives
67
+ * for functions).
68
+ */
69
+ export interface DomainManifestConfig extends Omit<DomainManifest, 'entrypoint'> {
70
+ /**
71
+ * The view to open first — the domain's entry surface. Pass the view OBJECT
72
+ * from this domain's own `views` map (e.g. `entrypoint: views.welcome`).
73
+ * Resolved to its slug here and served as {@link DomainManifest.entrypoint}.
74
+ */
75
+ entrypoint?: AnyViewDef;
76
+ }
23
77
  export interface DefineDomainConfig<S extends Schema, TDeps, TEnv = unknown> {
24
78
  /** The domain schema (from `schema/`). Its `.domain` seeds the default origin. */
25
79
  schema: S;
@@ -54,6 +108,15 @@ export interface DefineDomainConfig<S extends Schema, TDeps, TEnv = unknown> {
54
108
  * by slug. Omit when the domain has none.
55
109
  */
56
110
  functions?: Record<string, AnyFunctionDef>;
111
+ /**
112
+ * Optional presentation metadata stamped onto `/meta`. When `manifest.entrypoint`
113
+ * is set it MUST be a view from this domain's own `views` map — passed as the
114
+ * OBJECT (`entrypoint: views.welcome`), resolved to its slug here. A view that
115
+ * isn't in `views` is a compile error at the reference site, and the
116
+ * resolution throws loudly if it's somehow absent — so a typo can never dangle
117
+ * to a NOT_FOUND view path at install.
118
+ */
119
+ manifest?: DomainManifestConfig;
57
120
  /**
58
121
  * The domain's **addressing name** (the graph slug it mounts under, e.g.
59
122
  * `'crm.acme.dev'`). Defaults to `schema.domain`. Must be a name, never a
@@ -65,6 +128,16 @@ export interface DefineDomainConfig<S extends Schema, TDeps, TEnv = unknown> {
65
128
  origin?: string;
66
129
  /** Cross-domain deps, by origin. Verified present on the instance at install. */
67
130
  requires?: readonly string[];
131
+ /**
132
+ * Where the Domain node physically lives in the graph TREE — an absolute tree
133
+ * path whose LAST segment is the origin (e.g. `'/domains/crm.acme.dev'`).
134
+ * Optional; defaults to `/domains/<origin>`. This moves ONLY the physical
135
+ * `has_parent` position: the domain's `installed_in` edge and EVERY typed
136
+ * address (`/:<origin>`, `/:<origin>:Class`, …) stay ROOT-mounted, so
137
+ * addressing is unchanged. A platform domain that must stay top-level sets its
138
+ * own origin path (e.g. `'/workspace.astrale.ai'`).
139
+ */
140
+ path?: string;
68
141
  /**
69
142
  * The function the kernel runs once after install, as __SYSTEM__ — where the
70
143
  * domain seeds itself / posts its own grants. Reference it from the `functions`
@@ -87,9 +160,13 @@ export interface DomainDefinition {
87
160
  deps?: (env: any, url: string) => any;
88
161
  views?: Record<string, ViewDef>;
89
162
  functions?: Record<string, AnyFunctionDef>;
163
+ /** Presentation metadata for `/meta`, validated at definition time. */
164
+ manifest?: DomainManifest;
90
165
  origin: string;
91
166
  requires: readonly string[];
92
167
  postInstall?: string;
168
+ /** Physical tree path for the Domain node; default `/domains/<origin>`. */
169
+ path?: string;
93
170
  }
94
171
  export declare function defineDomain<S extends Schema, TDeps, TEnv = unknown>(config: DefineDomainConfig<S, TDeps, TEnv>): DomainDefinition;
95
172
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"define-domain.d.ts","sourceRoot":"","sources":["../../src/config/define-domain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAIpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAQlD,KAAK,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;AAC9B,KAAK,cAAc,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAGtD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO;IACzE,kFAAkF;IAClF,MAAM,EAAE,CAAC,CAAA;IACT;;;;OAIG;IACH,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACpC;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;IACxC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAClC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC1C;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,cAAc,CAAA;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IAEd,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC;;;;OAIG;IAEH,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,EAClE,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GACzC,gBAAgB,CAqDlB"}
1
+ {"version":3,"file":"define-domain.d.ts","sourceRoot":"","sources":["../../src/config/define-domain.ts"],"names":[],"mappings":"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"}
@@ -46,22 +46,79 @@ export function defineDomain(config) {
46
46
  }
47
47
  catch {
48
48
  throw new Error(`defineDomain: invalid \`requires\` entry "${dep}". Use the dependency's origin slug ` +
49
- '(lowercase FQDN-like, e.g. "dist.astrale.ai"), not a URL.');
49
+ '(lowercase FQDN-like, e.g. "example.astrale.ai"), not a URL.');
50
50
  }
51
51
  });
52
+ // `path`, when set, is the Domain's physical tree path. Validate the
53
+ // two invariants the serializer/kernel rely on, string-only (no AbsolutePath
54
+ // import — this module must stay worker-safe): it is absolute with at least one
55
+ // segment, and its LAST segment equals the origin (the kernel derives origin
56
+ // from the mount basename in a few places, e.g. has_parent slug + get-access-
57
+ // token origin recovery). Full structural parse happens at build time.
58
+ if (config.path !== undefined) {
59
+ const loc = config.path;
60
+ if (!loc.startsWith('/') || loc === '/') {
61
+ throw new Error(`defineDomain: \`path\` must be an absolute graph path with at least ` +
62
+ `one segment (e.g. "/domains/${origin}"), not "${loc}".`);
63
+ }
64
+ if (loc.split('/').pop() !== origin) {
65
+ throw new Error(`defineDomain: \`path\` last segment must equal the origin "${origin}" ` +
66
+ `(e.g. "/domains/${origin}" or "/${origin}"), got "${loc}".`);
67
+ }
68
+ }
69
+ // A `manifest.entrypoint` view is resolved to its slug below (in the return),
70
+ // where a view absent from `views` throws — see `resolveManifest`.
71
+ // Declared roles must carry valid, unique slugs — a role slug becomes a graph
72
+ // path segment and an identity subject, so the kernel's reserved separators
73
+ // (`/`, `:`, `@`) can never appear in one. Fail at authoring time.
74
+ if (config.manifest?.roles !== undefined) {
75
+ const seen = new Set();
76
+ for (const role of config.manifest.roles) {
77
+ if (!/^[a-z0-9][a-z0-9_-]*$/.test(role.slug)) {
78
+ throw new Error(`defineDomain: invalid \`manifest.roles\` slug "${role.slug}". ` +
79
+ 'Use a lowercase slug (letters, digits, "_", "-"), e.g. "editor".');
80
+ }
81
+ if (seen.has(role.slug)) {
82
+ throw new Error(`defineDomain: duplicate \`manifest.roles\` slug "${role.slug}".`);
83
+ }
84
+ seen.add(role.slug);
85
+ }
86
+ }
52
87
  return {
53
88
  schema: config.schema,
54
89
  methods: config.methods,
55
90
  ...(config.deps ? { deps: config.deps } : {}),
56
91
  ...(config.views ? { views: config.views } : {}),
57
92
  ...(config.functions ? { functions: config.functions } : {}),
93
+ ...(config.manifest ? { manifest: resolveManifest(config.manifest, config.views) } : {}),
58
94
  origin,
59
95
  requires,
96
+ ...(config.path ? { path: config.path } : {}),
60
97
  ...(config.postInstall !== undefined
61
98
  ? { postInstall: normalizePostInstall(config.postInstall, origin, config.functions) }
62
99
  : {}),
63
100
  };
64
101
  }
102
+ /**
103
+ * Lower the author-facing manifest (view OBJECT for `entrypoint`) to the served
104
+ * {@link DomainManifest} (slug for `entrypoint`). The entrypoint view is matched
105
+ * to its `views`-map key by IDENTITY — the same mechanism `normalizePostInstall`
106
+ * uses for functions — so a view absent from `views` (one from another domain,
107
+ * or dropped) throws here instead of dangling to a NOT_FOUND view path at install.
108
+ */
109
+ function resolveManifest(manifest, views) {
110
+ const { entrypoint, ...rest } = manifest;
111
+ if (entrypoint === undefined)
112
+ return rest;
113
+ const slug = views ? Object.entries(views).find(([, def]) => def === entrypoint)?.[0] : undefined;
114
+ if (slug === undefined) {
115
+ const viewKeys = Object.keys(views ?? {});
116
+ throw new Error("defineDomain: `manifest.entrypoint` must be one of this domain's own views " +
117
+ '(pass the view object, e.g. `entrypoint: views.welcome`). ' +
118
+ `Available views: ${viewKeys.length > 0 ? viewKeys.map((k) => `"${k}"`).join(', ') : '(none)'}.`);
119
+ }
120
+ return { ...rest, entrypoint: slug };
121
+ }
65
122
  /**
66
123
  * Resolve a `postInstall` function reference to the colon-path the bundle carries.
67
124
  * The slug is the `functions` map key the reference is registered under (found by
@@ -1 +1 @@
1
- {"version":3,"file":"define-domain.js","sourceRoot":"","sources":["../../src/config/define-domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-domain.js","sourceRoot":"","sources":["../../src/config/define-domain.ts"],"names":[],"mappings":"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"}