@astrale-os/adapter-astrale 0.2.2 → 0.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"astrale.d.ts","sourceRoot":"","sources":["../src/astrale.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAmB/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAW7C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,CA4NzF;AAqFD,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;oFAGoF;AACpF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKrD"}
1
+ {"version":3,"file":"astrale.d.ts","sourceRoot":"","sources":["../src/astrale.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAa,aAAa,EAAY,MAAM,iBAAiB,CAAA;AAoBzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAW7C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,CAuOzF;AAkGD,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;oFAGoF;AACpF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKrD"}
package/dist/astrale.js CHANGED
@@ -27,7 +27,7 @@
27
27
  // The shared Cloudflare-Workers build toolkit — the managed adapter ships the
28
28
  // SAME bundle the direct `cloudflare` adapter does, then routes it through the
29
29
  // platform instead of `wrangler deploy`.
30
- import { buildClient, CLIENT_DIST_DIR, logTo, prepare, runWranglerBundle, runWranglerDev, } from '@astrale-os/adapter-cloudflare/build';
30
+ import { buildClient, CLIENT_DIST_DIR, logTo, prepare, resolveClientDir, runWranglerBundle, runWranglerDev, } from '@astrale-os/adapter-cloudflare/build';
31
31
  import { defineAdapter } from '@astrale-os/sdk';
32
32
  import { loadDotenvFile } from '@astrale-os/sdk/cli';
33
33
  import { spawn } from 'node:child_process';
@@ -43,11 +43,14 @@ export function astrale(envs) {
43
43
  // Local dev is unchanged: wrangler dev on localhost. Managed deploys change
44
44
  // WHERE the worker ships, not the inner loop.
45
45
  async watch(params, ctx) {
46
+ const clientDir = resolveAstraleClientDir(params, ctx);
46
47
  const { configPath } = await prepare({
47
48
  ...(params.vars ? { vars: params.vars } : {}),
48
49
  ...(params.host ? { host: params.host } : {}),
49
50
  port: params.port ?? DEFAULT_PORT,
50
- }, ctx, 'dev');
51
+ }, ctx, 'dev', { servesClient: Boolean(clientDir), bundleAssets: Boolean(clientDir) });
52
+ if (clientDir)
53
+ await buildClient(clientDir, ctx.projectDir, logTo());
51
54
  const handle = await runWranglerDev({
52
55
  projectDir: ctx.projectDir,
53
56
  configPath,
@@ -64,11 +67,14 @@ export function astrale(envs) {
64
67
  // running `wrangler dev` reloads its generated config + entry itself) —
65
68
  // the params mapping must stay identical to `watch`'s prepare call.
66
69
  async regenerate(params, ctx) {
70
+ const clientDir = resolveAstraleClientDir(params, ctx);
67
71
  await prepare({
68
72
  ...(params.vars ? { vars: params.vars } : {}),
69
73
  ...(params.host ? { host: params.host } : {}),
70
74
  port: params.port ?? DEFAULT_PORT,
71
- }, ctx, 'dev');
75
+ }, ctx, 'dev', { servesClient: Boolean(clientDir), bundleAssets: Boolean(clientDir) });
76
+ if (clientDir)
77
+ await buildClient(clientDir, ctx.projectDir, logTo());
72
78
  },
73
79
  async deploy(params, ctx) {
74
80
  const log = logTo();
@@ -79,6 +85,7 @@ export function astrale(envs) {
79
85
  }
80
86
  const servicesOrigin = params.servicesOrigin ?? DEFAULT_SERVICES_ORIGIN;
81
87
  const name = params.name ?? serviceNameFor(ctx.domain.origin);
88
+ const clientDir = resolveAstraleClientDir(params, ctx);
82
89
  const runProjectAstrale = (args) => runAstrale(astraleBin(ctx.projectDir), ctx.projectDir, args);
83
90
  await ensureServicesDomainInstalled({
84
91
  runAstrale: runProjectAstrale,
@@ -89,16 +96,18 @@ export function astrale(envs) {
89
96
  });
90
97
  // Build + pack the client SPA: the services worker serves it under /ui.
91
98
  let assetFiles = [];
92
- if (ctx.clientDir) {
93
- await buildClient(ctx.clientDir, ctx.projectDir, log);
99
+ if (clientDir) {
100
+ await buildClient(clientDir, ctx.projectDir, log);
94
101
  assetFiles = readAssetFiles(join(ctx.projectDir, CLIENT_DIST_DIR));
95
102
  if (assetFiles.length)
96
103
  log(`packed client SPA (${assetFiles.length} files) — /ui ships managed`);
97
104
  }
98
105
  // 1. Codegen + bundle: the exact worker module a Cloudflare deploy would
99
106
  // ship, produced locally with `wrangler deploy --dry-run` (no auth).
100
- const { clientDir: _omitted, ...bundleCtx } = ctx;
101
- const { configPath } = await prepare({}, bundleCtx, 'dev');
107
+ const { configPath } = await prepare({}, ctx, 'dev', {
108
+ servesClient: Boolean(clientDir),
109
+ bundleAssets: false,
110
+ });
102
111
  // The generated wrangler config is the single source of truth for the
103
112
  // runtime contract the bundle is validated against (compat date + flags,
104
113
  // incl. any `params.wrangler` overrides). Carry it to the managed deploy so
@@ -174,8 +183,10 @@ export function astrale(envs) {
174
183
  for (const [key, value] of Object.entries(secrets)) {
175
184
  await astraleCall(ctx.projectDir, params, {
176
185
  instance,
177
- // The service node is placed at the root (`/${serviceSlugFor(origin)}`),
178
- // not under a `/services` folder.
186
+ // setSecret is an instance method on the deployed service node, which
187
+ // step 2 placed at `/${serviceSlugFor(origin)}` (a root child — the
188
+ // services domain provisions no `/services` folder). Address it there,
189
+ // NOT under a `/services/<name>` path that doesn't exist.
179
190
  path: `/${serviceSlugFor(ctx.domain.origin)}::setSecret`,
180
191
  data: { name: key, value },
181
192
  viaStdin: true,
@@ -237,6 +248,15 @@ async function expectedSchemaHashForManagedUrl(ctx, url, log) {
237
248
  function errorMessage(error) {
238
249
  return error instanceof Error ? error.message : String(error);
239
250
  }
251
+ function resolveAstraleClientDir(params, ctx) {
252
+ return resolveClientDir({
253
+ adapterName: 'astrale',
254
+ env: ctx.env,
255
+ projectDir: ctx.projectDir,
256
+ domain: ctx.domain,
257
+ ...(params.client ? { client: params.client } : {}),
258
+ });
259
+ }
240
260
  /** Serving MIME by file extension. The provider serves each asset with the type
241
261
  * declared here VERBATIM — Cloudflare does NOT re-infer it from the path, so an
242
262
  * unset type ships `application/octet-stream` and the browser DOWNLOADS the file
@@ -1 +1 @@
1
- {"version":3,"file":"astrale.js","sourceRoot":"","sources":["../src/astrale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astrale.js","sourceRoot":"","sources":["../src/astrale.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,8 +6,8 @@
6
6
  * import { astrale } from '@astrale-os/adapter-astrale'
7
7
  *
8
8
  * adapter: astrale({
9
- * dev: { secrets: '.env.dev' }, // local wrangler dev, unchanged
10
- * prod: { instance: '<your-instance-slug>' },
9
+ * dev: { client: { dir: 'client' }, secrets: '.env.dev' },
10
+ * prod: { client: { dir: 'client' }, instance: '<your-instance-slug>' },
11
11
  * })
12
12
  *
13
13
  * It builds the SAME Cloudflare Workers bundle the `cloudflare` adapter ships
package/dist/index.js CHANGED
@@ -6,8 +6,8 @@
6
6
  * import { astrale } from '@astrale-os/adapter-astrale'
7
7
  *
8
8
  * adapter: astrale({
9
- * dev: { secrets: '.env.dev' }, // local wrangler dev, unchanged
10
- * prod: { instance: '<your-instance-slug>' },
9
+ * dev: { client: { dir: 'client' }, secrets: '.env.dev' },
10
+ * prod: { client: { dir: 'client' }, instance: '<your-instance-slug>' },
11
11
  * })
12
12
  *
13
13
  * It builds the SAME Cloudflare Workers bundle the `cloudflare` adapter ships
package/dist/params.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { ClientConfig } from '@astrale-os/adapter-cloudflare/build';
1
2
  /**
2
3
  * `AstraleParams` — the provider-typed config for the Astrale-managed adapter.
3
4
  *
@@ -10,6 +11,8 @@
10
11
  * installs it — so `instance` is required for `deploy`, ignored by `watch`.
11
12
  */
12
13
  export interface AstraleParams {
14
+ /** Frontend assets to build and serve for this env's mounted `/ui` views. */
15
+ client?: ClientConfig;
13
16
  /**
14
17
  * Target instance slug the domain installs onto (e.g. `'bryan-e2e5'`).
15
18
  * Required for `deploy` (managed publish + install); ignored by `watch`
@@ -1 +1 @@
1
- {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../src/params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wNAAwN;IACxN,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B"}
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../src/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAExE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wNAAwN;IACxN,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-os/adapter-astrale",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "Deploy an Astrale domain as a managed service through the Astrale platform",
5
5
  "keywords": [
6
6
  "adapter",
@@ -27,8 +27,8 @@
27
27
  "./package.json": "./package.json"
28
28
  },
29
29
  "dependencies": {
30
- "@astrale-os/adapter-cloudflare": "^0.2.1",
31
- "@astrale-os/sdk": "^0.1.10"
30
+ "@astrale-os/adapter-cloudflare": "^0.3.0",
31
+ "@astrale-os/sdk": "^0.2.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@astrale-os/ox": ">=0.1.0 <1.0.0",
package/src/astrale.ts CHANGED
@@ -25,7 +25,7 @@
25
25
  * localhost) — managed deploys change WHERE the worker runs, not how you iterate.
26
26
  */
27
27
 
28
- import type { DeployCtx, DomainAdapter } from '@astrale-os/sdk'
28
+ import type { DeployCtx, DomainAdapter, WatchCtx } from '@astrale-os/sdk'
29
29
 
30
30
  // The shared Cloudflare-Workers build toolkit — the managed adapter ships the
31
31
  // SAME bundle the direct `cloudflare` adapter does, then routes it through the
@@ -35,6 +35,7 @@ import {
35
35
  CLIENT_DIST_DIR,
36
36
  logTo,
37
37
  prepare,
38
+ resolveClientDir,
38
39
  runWranglerBundle,
39
40
  runWranglerDev,
40
41
  } from '@astrale-os/adapter-cloudflare/build'
@@ -63,6 +64,7 @@ export function astrale(envs: Record<string, AstraleParams>): DomainAdapter<Astr
63
64
  // Local dev is unchanged: wrangler dev on localhost. Managed deploys change
64
65
  // WHERE the worker ships, not the inner loop.
65
66
  async watch(params, ctx) {
67
+ const clientDir = resolveAstraleClientDir(params, ctx)
66
68
  const { configPath } = await prepare(
67
69
  {
68
70
  ...(params.vars ? { vars: params.vars } : {}),
@@ -71,7 +73,9 @@ export function astrale(envs: Record<string, AstraleParams>): DomainAdapter<Astr
71
73
  },
72
74
  ctx,
73
75
  'dev',
76
+ { servesClient: Boolean(clientDir), bundleAssets: Boolean(clientDir) },
74
77
  )
78
+ if (clientDir) await buildClient(clientDir, ctx.projectDir, logTo())
75
79
  const handle = await runWranglerDev({
76
80
  projectDir: ctx.projectDir,
77
81
  configPath,
@@ -89,6 +93,7 @@ export function astrale(envs: Record<string, AstraleParams>): DomainAdapter<Astr
89
93
  // running `wrangler dev` reloads its generated config + entry itself) —
90
94
  // the params mapping must stay identical to `watch`'s prepare call.
91
95
  async regenerate(params, ctx) {
96
+ const clientDir = resolveAstraleClientDir(params, ctx)
92
97
  await prepare(
93
98
  {
94
99
  ...(params.vars ? { vars: params.vars } : {}),
@@ -97,7 +102,9 @@ export function astrale(envs: Record<string, AstraleParams>): DomainAdapter<Astr
97
102
  },
98
103
  ctx,
99
104
  'dev',
105
+ { servesClient: Boolean(clientDir), bundleAssets: Boolean(clientDir) },
100
106
  )
107
+ if (clientDir) await buildClient(clientDir, ctx.projectDir, logTo())
101
108
  },
102
109
 
103
110
  async deploy(params, ctx) {
@@ -111,6 +118,7 @@ export function astrale(envs: Record<string, AstraleParams>): DomainAdapter<Astr
111
118
  }
112
119
  const servicesOrigin = params.servicesOrigin ?? DEFAULT_SERVICES_ORIGIN
113
120
  const name = params.name ?? serviceNameFor(ctx.domain.origin)
121
+ const clientDir = resolveAstraleClientDir(params, ctx)
114
122
 
115
123
  const runProjectAstrale = (args: string[]) =>
116
124
  runAstrale(astraleBin(ctx.projectDir), ctx.projectDir, args)
@@ -124,8 +132,8 @@ export function astrale(envs: Record<string, AstraleParams>): DomainAdapter<Astr
124
132
 
125
133
  // Build + pack the client SPA: the services worker serves it under /ui.
126
134
  let assetFiles: AssetFile[] = []
127
- if (ctx.clientDir) {
128
- await buildClient(ctx.clientDir, ctx.projectDir, log)
135
+ if (clientDir) {
136
+ await buildClient(clientDir, ctx.projectDir, log)
129
137
  assetFiles = readAssetFiles(join(ctx.projectDir, CLIENT_DIST_DIR))
130
138
  if (assetFiles.length)
131
139
  log(`packed client SPA (${assetFiles.length} files) — /ui ships managed`)
@@ -133,8 +141,10 @@ export function astrale(envs: Record<string, AstraleParams>): DomainAdapter<Astr
133
141
 
134
142
  // 1. Codegen + bundle: the exact worker module a Cloudflare deploy would
135
143
  // ship, produced locally with `wrangler deploy --dry-run` (no auth).
136
- const { clientDir: _omitted, ...bundleCtx } = ctx
137
- const { configPath } = await prepare({}, bundleCtx, 'dev')
144
+ const { configPath } = await prepare({}, ctx, 'dev', {
145
+ servesClient: Boolean(clientDir),
146
+ bundleAssets: false,
147
+ })
138
148
  // The generated wrangler config is the single source of truth for the
139
149
  // runtime contract the bundle is validated against (compat date + flags,
140
150
  // incl. any `params.wrangler` overrides). Carry it to the managed deploy so
@@ -218,8 +228,10 @@ export function astrale(envs: Record<string, AstraleParams>): DomainAdapter<Astr
218
228
  for (const [key, value] of Object.entries(secrets)) {
219
229
  await astraleCall(ctx.projectDir, params, {
220
230
  instance,
221
- // The service node is placed at the root (`/${serviceSlugFor(origin)}`),
222
- // not under a `/services` folder.
231
+ // setSecret is an instance method on the deployed service node, which
232
+ // step 2 placed at `/${serviceSlugFor(origin)}` (a root child — the
233
+ // services domain provisions no `/services` folder). Address it there,
234
+ // NOT under a `/services/<name>` path that doesn't exist.
223
235
  path: `/${serviceSlugFor(ctx.domain.origin)}::setSecret`,
224
236
  data: { name: key, value },
225
237
  viaStdin: true,
@@ -298,6 +310,19 @@ function errorMessage(error: unknown): string {
298
310
  return error instanceof Error ? error.message : String(error)
299
311
  }
300
312
 
313
+ function resolveAstraleClientDir(
314
+ params: AstraleParams,
315
+ ctx: WatchCtx | DeployCtx,
316
+ ): string | undefined {
317
+ return resolveClientDir({
318
+ adapterName: 'astrale',
319
+ env: ctx.env,
320
+ projectDir: ctx.projectDir,
321
+ domain: ctx.domain,
322
+ ...(params.client ? { client: params.client } : {}),
323
+ })
324
+ }
325
+
301
326
  type AssetFile = { path: string; contentBase64: string; contentType?: string }
302
327
 
303
328
  /** Serving MIME by file extension. The provider serves each asset with the type
package/src/index.ts CHANGED
@@ -6,8 +6,8 @@
6
6
  * import { astrale } from '@astrale-os/adapter-astrale'
7
7
  *
8
8
  * adapter: astrale({
9
- * dev: { secrets: '.env.dev' }, // local wrangler dev, unchanged
10
- * prod: { instance: '<your-instance-slug>' },
9
+ * dev: { client: { dir: 'client' }, secrets: '.env.dev' },
10
+ * prod: { client: { dir: 'client' }, instance: '<your-instance-slug>' },
11
11
  * })
12
12
  *
13
13
  * It builds the SAME Cloudflare Workers bundle the `cloudflare` adapter ships
package/src/params.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { ClientConfig } from '@astrale-os/adapter-cloudflare/build'
2
+
1
3
  /**
2
4
  * `AstraleParams` — the provider-typed config for the Astrale-managed adapter.
3
5
  *
@@ -10,6 +12,8 @@
10
12
  * installs it — so `instance` is required for `deploy`, ignored by `watch`.
11
13
  */
12
14
  export interface AstraleParams {
15
+ /** Frontend assets to build and serve for this env's mounted `/ui` views. */
16
+ client?: ClientConfig
13
17
  /**
14
18
  * Target instance slug the domain installs onto (e.g. `'bryan-e2e5'`).
15
19
  * Required for `deploy` (managed publish + install); ignored by `watch`
@@ -18,8 +18,8 @@ import { deploy } from '@astrale-os/sdk'
18
18
  //
19
19
  // import { cloudflare } from '@astrale-os/adapter-cloudflare'
20
20
  // export default deploy(domain, cloudflare({
21
- // dev: { secrets: '.env.dev' },
22
- // prod: { route: 'astrale-domain.example.dev', secrets: '.env.prod' },
21
+ // dev: { client: { dir: 'client' }, secrets: '.env.dev' },
22
+ // prod: { client: { dir: 'client' }, route: 'astrale-domain.example.dev', secrets: '.env.prod' },
23
23
  // }))
24
24
 
25
25
  import { domain } from './domain'
@@ -28,11 +28,11 @@ export default deploy(
28
28
  domain,
29
29
  astrale({
30
30
  // Local dev: `wrangler dev`. No route → URL is http://localhost:8787.
31
- dev: { secrets: '.env.dev' },
31
+ dev: { client: { dir: 'client' }, secrets: '.env.dev' },
32
32
  // Managed deploy: `pnpm prod` publishes the bundle through the platform and
33
33
  // installs the domain on this instance. The slug comes from
34
34
  // `astrale instance create <slug>` / `astrale instance status`.
35
- prod: { instance: 'my-instance-slug' },
35
+ prod: { client: { dir: 'client' }, instance: 'my-instance-slug' },
36
36
  // Author secrets ship via `secrets: '.env.prod'` on any env (encrypted at
37
37
  // rest platform-side, re-applied on redeploys; omit = keep, `{}` = clear).
38
38
  }),