@astrale-os/adapter-astrale 0.5.0-beta.76 → 0.5.0-beta.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/README.md +9 -1
- package/dist/deploy/deploy.js +1 -1
- package/dist/deploy/service/request.d.ts +0 -1
- package/dist/deploy/service/request.js +0 -1
- package/dist/deploy/service/response.d.ts +1 -1
- package/dist/deploy/service/response.js +1 -6
- package/dist/development/develop.js +6 -3
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.0-beta.78](https://github.com/astrale-os/sdk/compare/adapter-astrale-v0.5.0-beta.77...adapter-astrale-v0.5.0-beta.78) (2026-08-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Dependencies
|
|
7
|
+
|
|
8
|
+
* The following workspace dependencies were updated
|
|
9
|
+
* dependencies
|
|
10
|
+
* @astrale-os/adapter-cloudflare bumped to 0.5.0-beta.85
|
|
11
|
+
* @astrale-os/sdk bumped to 0.5.0-beta.82
|
|
12
|
+
|
|
13
|
+
## [0.5.0-beta.77](https://github.com/astrale-os/sdk/compare/adapter-astrale-v0.5.0-beta.76...adapter-astrale-v0.5.0-beta.77) (2026-08-29)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* **app:** add development session file ([#339](https://github.com/astrale-os/sdk/issues/339)) ([f28e9c6](https://github.com/astrale-os/sdk/commit/f28e9c6fb707b8791a5bc63eba3b616aa7b02342))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Dependencies
|
|
22
|
+
|
|
23
|
+
* The following workspace dependencies were updated
|
|
24
|
+
* dependencies
|
|
25
|
+
* @astrale-os/adapter-cloudflare bumped to 0.5.0-beta.84
|
|
26
|
+
* @astrale-os/sdk bumped to 0.5.0-beta.81
|
|
27
|
+
|
|
3
28
|
## [0.5.0-beta.76](https://github.com/astrale-os/sdk/compare/adapter-astrale-v0.5.0-beta.75...adapter-astrale-v0.5.0-beta.76) (2026-08-29)
|
|
4
29
|
|
|
5
30
|
|
package/README.md
CHANGED
|
@@ -22,7 +22,10 @@ npm install @astrale-os/sdk@beta @astrale-os/adapter-astrale@beta
|
|
|
22
22
|
|
|
23
23
|
Bare installs return to stable releases when the package set is promoted and npm `latest` advances.
|
|
24
24
|
|
|
25
|
-
The adapter
|
|
25
|
+
The adapter sends provider-neutral deployment material: Services receives no Schema revision,
|
|
26
|
+
Publication identity, issuer, or callable inventory. It admits the exact generic Services response,
|
|
27
|
+
then assembles the expected Release from its local Build and verifies the live Publication before
|
|
28
|
+
installation. Expected `invalid-deployment`,
|
|
26
29
|
`service-unavailable`, and `artifact-mode-conflict` rejections preserve their actionable Domain
|
|
27
30
|
message; malformed or unknown response evidence still fails closed.
|
|
28
31
|
|
|
@@ -33,3 +36,8 @@ processes and retains the installation plus a non-secret local reconciliation re
|
|
|
33
36
|
`pnpm dev` replaces a stale Quick issuer only when that record still matches fresh Kernel
|
|
34
37
|
introspection; drift fails safely with an explicit recovery command. Use
|
|
35
38
|
`pnpm dev --host https://your-ingress.example --port 8787` to supply stable ingress.
|
|
39
|
+
|
|
40
|
+
Automation may add `--session-file /private/path/development-session.json`. The SDK exclusively
|
|
41
|
+
creates that non-existent path inside a caller-owned private directory and retains one atomic,
|
|
42
|
+
versioned `DevelopmentSessionFileV1` snapshot after termination. It is the machine contract for
|
|
43
|
+
session phase and exact installed Release identity; stdout and stderr remain human diagnostics.
|
package/dist/deploy/deploy.js
CHANGED
|
@@ -101,7 +101,7 @@ export async function deployAstrale(parameters, context, dependencies) {
|
|
|
101
101
|
const expectedServiceKey = serviceKeyFromOrigin(origin);
|
|
102
102
|
let observation;
|
|
103
103
|
try {
|
|
104
|
-
observation = deployedService(deployed, expectedServiceKey
|
|
104
|
+
observation = deployedService(deployed, expectedServiceKey);
|
|
105
105
|
}
|
|
106
106
|
catch (cause) {
|
|
107
107
|
return failed('provider', progress({
|
|
@@ -25,7 +25,6 @@ export function deploymentRequest(artifact, input) {
|
|
|
25
25
|
serviceKey: serviceKeyFromOrigin(worker.origin),
|
|
26
26
|
name: input.name,
|
|
27
27
|
revisioned: Object.freeze({
|
|
28
|
-
revision: worker.revision,
|
|
29
28
|
requiredSecrets: worker.bindings.requiredSecrets,
|
|
30
29
|
release: executable(worker.release),
|
|
31
30
|
}),
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
export function deployedService(input, expectedServiceKey
|
|
1
|
+
export function deployedService(input, expectedServiceKey) {
|
|
2
2
|
if (input === null || typeof input !== 'object' || Array.isArray(input))
|
|
3
3
|
invalidDeployment();
|
|
4
4
|
const value = input;
|
|
5
5
|
if (value.kind === 'rejected')
|
|
6
6
|
rejectDeployment(value);
|
|
7
|
-
if (value.error !== undefined && value.error !== null)
|
|
8
|
-
invalidDeployment();
|
|
9
7
|
if (value.state !== 'ready') {
|
|
10
8
|
throw new TypeError('Astrale Services deployment did not report ready provider state.');
|
|
11
9
|
}
|
|
@@ -15,9 +13,6 @@ export function deployedService(input, expectedServiceKey, expectedRevision) {
|
|
|
15
13
|
if (typeof value.digest !== 'string' || value.digest.length === 0) {
|
|
16
14
|
throw new TypeError('Astrale Services deployment returned an invalid provider digest.');
|
|
17
15
|
}
|
|
18
|
-
if (value.revision !== expectedRevision) {
|
|
19
|
-
throw new TypeError('Astrale Services deployment returned a different Schema revision.');
|
|
20
|
-
}
|
|
21
16
|
let url;
|
|
22
17
|
if (typeof value.url === 'string') {
|
|
23
18
|
try {
|
|
@@ -94,6 +94,7 @@ export async function developAstrale(parameters, context, dependencies = default
|
|
|
94
94
|
let port = requestedPort;
|
|
95
95
|
let ingress;
|
|
96
96
|
let localSession;
|
|
97
|
+
let installedRelease;
|
|
97
98
|
let stopping = false;
|
|
98
99
|
let terminal = false;
|
|
99
100
|
let generation = 0;
|
|
@@ -116,7 +117,7 @@ export async function developAstrale(parameters, context, dependencies = default
|
|
|
116
117
|
throw new TypeError('Domain origin changed during development; restart pnpm dev to acquire the new target coordinate.');
|
|
117
118
|
}
|
|
118
119
|
const release = assemble(current.artifact.build, addressing(placement.releaseUrl));
|
|
119
|
-
await dependencies.reconcileInstallation({
|
|
120
|
+
const observed = await dependencies.reconcileInstallation({
|
|
120
121
|
executable: toolchain.cli,
|
|
121
122
|
projectDir: context.projectDir,
|
|
122
123
|
instance,
|
|
@@ -124,6 +125,7 @@ export async function developAstrale(parameters, context, dependencies = default
|
|
|
124
125
|
signal,
|
|
125
126
|
...(recordPath === undefined ? {} : { recordPath }),
|
|
126
127
|
}, release, installation);
|
|
128
|
+
installedRelease = observed;
|
|
127
129
|
let pageUrl;
|
|
128
130
|
try {
|
|
129
131
|
pageUrl = await view.refresh(release, placement.localUrl, signal);
|
|
@@ -131,7 +133,7 @@ export async function developAstrale(parameters, context, dependencies = default
|
|
|
131
133
|
catch (cause) {
|
|
132
134
|
report('View unavailable', message(cause));
|
|
133
135
|
}
|
|
134
|
-
await context.onPlacement(placement);
|
|
136
|
+
await context.onPlacement(Object.freeze({ ...placement, installedRelease: observed }));
|
|
135
137
|
report('Installed', `${instance} · ${release.build.schema.compiled.root.revision}`);
|
|
136
138
|
if (pageUrl !== undefined)
|
|
137
139
|
report('View', pageUrl);
|
|
@@ -206,6 +208,7 @@ export async function developAstrale(parameters, context, dependencies = default
|
|
|
206
208
|
const recover = async (observedGeneration, kind, original) => {
|
|
207
209
|
if (stopping || observedGeneration !== generation)
|
|
208
210
|
return;
|
|
211
|
+
await context.onRecovering?.();
|
|
209
212
|
report('Recovering', kind === 'ingress' ? 'public ingress' : 'local runtime');
|
|
210
213
|
generation += 1;
|
|
211
214
|
const previousLocal = localSession;
|
|
@@ -265,7 +268,7 @@ export async function developAstrale(parameters, context, dependencies = default
|
|
|
265
268
|
generation += 1;
|
|
266
269
|
supervise(localSession, ingress, generation);
|
|
267
270
|
const result = Object.freeze({
|
|
268
|
-
current: () => localSession.current(),
|
|
271
|
+
current: () => Object.freeze({ ...localSession.current(), installedRelease }),
|
|
269
272
|
update(next) {
|
|
270
273
|
if (terminal)
|
|
271
274
|
return Promise.reject(new Error('Astrale development session is terminal.'));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astrale-os/adapter-astrale",
|
|
3
|
-
"version": "0.5.0-beta.
|
|
3
|
+
"version": "0.5.0-beta.78",
|
|
4
4
|
"description": "Deploy an Astrale domain as a managed service through the Astrale platform",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"adapter",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"registry": "https://registry.npmjs.org/"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@astrale-os/adapter-cloudflare": "0.5.0-beta.
|
|
41
|
-
"@astrale-os/sdk": "0.5.0-beta.
|
|
40
|
+
"@astrale-os/adapter-cloudflare": "0.5.0-beta.85",
|
|
41
|
+
"@astrale-os/sdk": "0.5.0-beta.82"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@astrale-os/ox": "0.1.3",
|