@astrale-os/sdk 0.5.0-beta.130 → 0.5.0-beta.132
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/README.md +4 -2
- package/dist/application/action/action.d.ts +3 -1
- package/dist/application/runtime/callables.js +2 -2
- package/dist/execution/invocation/dependency/bind.js +2 -2
- package/dist/tooling/cli/development/source-watch.js +15 -2
- package/package.json +12 -7
- package/CHANGELOG.md +0 -1805
package/README.md
CHANGED
|
@@ -101,7 +101,7 @@ installation ledgers without changing their existing authority or integrity evid
|
|
|
101
101
|
### Prerequisites
|
|
102
102
|
|
|
103
103
|
- Node.js 26.7.0 (default) or Node.js 24; published packages remain compatible with Node.js 22+
|
|
104
|
-
- pnpm 12.
|
|
104
|
+
- pnpm 12.1.0
|
|
105
105
|
|
|
106
106
|
### Setup
|
|
107
107
|
|
|
@@ -110,9 +110,11 @@ The repository installs autonomously from its versioned npm-only lockfile:
|
|
|
110
110
|
```bash
|
|
111
111
|
git clone https://github.com/astrale-os/sdk.git
|
|
112
112
|
cd sdk
|
|
113
|
-
|
|
113
|
+
AGENT_HARNESSES=codex bash scripts/agent_setup/setup.sh
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
+
See [agent setup](scripts/agent_setup/README.md) for Claude Cloud and validation.
|
|
117
|
+
|
|
116
118
|
It can also be consumed as a submodule of the main Astrale workspace:
|
|
117
119
|
|
|
118
120
|
```bash
|
|
@@ -16,7 +16,9 @@ type MethodValues<Class> = Class extends {
|
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
18
|
} ? Values<Instance> | Values<Static> : never;
|
|
19
|
-
type Executable<Callable> = Callable extends ResolvedMethod
|
|
19
|
+
type Executable<Callable> = Callable extends ResolvedMethod ? Callable extends {
|
|
20
|
+
readonly executable: true;
|
|
21
|
+
} ? Callable : never : Callable;
|
|
20
22
|
/** Every root-owned callable implementation contract, independent of Function or Method topology. */
|
|
21
23
|
export type LocalCallable<DomainValue extends Domain> = Extract<Values<DomainValue['functions']>, ResolvedCallable> | Extract<Executable<MethodValues<Values<DomainValue['classes']>>>, ResolvedCallable>;
|
|
22
24
|
export type ActionAddressOf<Callable> = Callable extends {
|
|
@@ -12,11 +12,11 @@ export function runtimeCallables(domain) {
|
|
|
12
12
|
if (selected.kind !== 'node')
|
|
13
13
|
continue;
|
|
14
14
|
for (const callable of selected.self.methods) {
|
|
15
|
-
if (
|
|
15
|
+
if (callable.executable)
|
|
16
16
|
append(callable);
|
|
17
17
|
}
|
|
18
18
|
for (const callable of selected.self.static.methods) {
|
|
19
|
-
if (
|
|
19
|
+
if (callable.executable)
|
|
20
20
|
append(callable);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -31,7 +31,7 @@ function bindDependency(dependency, session) {
|
|
|
31
31
|
const callable = dependency.callable(selected.key);
|
|
32
32
|
if (callable !== selected || Key.origin(callable.key) !== dependency.origin)
|
|
33
33
|
invalid();
|
|
34
|
-
if ('owner' in callable && (callable.
|
|
34
|
+
if ('owner' in callable && (!callable.executable || !ownMethod(dependency, callable)))
|
|
35
35
|
invalid();
|
|
36
36
|
if ('owner' in callable && !callable.static) {
|
|
37
37
|
if (args.length < 2 || args.length > 3 || typeof args[0] !== 'string')
|
|
@@ -64,5 +64,5 @@ function options(value) {
|
|
|
64
64
|
return value;
|
|
65
65
|
}
|
|
66
66
|
function invalid() {
|
|
67
|
-
throw new TypeError('Dependency invocation requires one owned
|
|
67
|
+
throw new TypeError('Dependency invocation requires one owned executable callable, its input, and valid instance/options.');
|
|
68
68
|
}
|
|
@@ -83,9 +83,22 @@ export function watchSources(input) {
|
|
|
83
83
|
}
|
|
84
84
|
return Object.freeze({
|
|
85
85
|
update(next) {
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
const nextSources = canonicalSources(next);
|
|
87
|
+
const nextFingerprints = fingerprints(nextSources);
|
|
88
|
+
// A completed build does not prove it consumed the current file contents.
|
|
89
|
+
// Retain edits that raced its commit, even if the OS event is still queued.
|
|
90
|
+
let changed = false;
|
|
91
|
+
for (const [path, value] of nextFingerprints) {
|
|
92
|
+
if (sourceFingerprints.has(path) && sourceFingerprints.get(path) !== value) {
|
|
93
|
+
dirty = true;
|
|
94
|
+
changed = true;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
sources = nextSources;
|
|
98
|
+
sourceFingerprints = nextFingerprints;
|
|
88
99
|
syncDirectoryWatchers();
|
|
100
|
+
if (changed)
|
|
101
|
+
schedule();
|
|
89
102
|
},
|
|
90
103
|
async stop() {
|
|
91
104
|
if (closed)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astrale-os/sdk",
|
|
3
|
-
"version": "0.5.0-beta.
|
|
3
|
+
"version": "0.5.0-beta.132",
|
|
4
4
|
"description": "Schema-first SDK for defining, composing, and deploying Astrale domains",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"astrale",
|
|
@@ -237,11 +237,11 @@
|
|
|
237
237
|
"registry": "https://registry.npmjs.org/"
|
|
238
238
|
},
|
|
239
239
|
"dependencies": {
|
|
240
|
-
"@astrale-os/kernel-client": "0.6.0-beta.
|
|
241
|
-
"@astrale-os/kernel-core": "0.9.0-beta.
|
|
242
|
-
"@astrale-os/kernel-dsl": "0.2.0-beta.
|
|
243
|
-
"@astrale-os/kernel-protocol": "0.5.0-beta.
|
|
244
|
-
"@astrale-os/kernel-server": "0.5.0-beta.
|
|
240
|
+
"@astrale-os/kernel-client": "0.6.0-beta.59",
|
|
241
|
+
"@astrale-os/kernel-core": "0.9.0-beta.46",
|
|
242
|
+
"@astrale-os/kernel-dsl": "0.2.0-beta.33",
|
|
243
|
+
"@astrale-os/kernel-protocol": "0.5.0-beta.50",
|
|
244
|
+
"@astrale-os/kernel-server": "0.5.0-beta.52",
|
|
245
245
|
"@lucide/icons": "1.34.0",
|
|
246
246
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
247
247
|
"hono": "^4.13.2",
|
|
@@ -328,6 +328,11 @@
|
|
|
328
328
|
"check:issues": "issues/.cli/issues check && node --test issues/.cli/history.test.mjs && node --test issues/.cli/view-server.test.mjs && node --test issues/.view/contract.test.mjs",
|
|
329
329
|
"qualify:publications": "node scripts/qualify-publications.mjs",
|
|
330
330
|
"qualify": "node scripts/qualify.mjs",
|
|
331
|
-
"sync:linter-policy": "node scripts/sync-domain-policy.mjs"
|
|
331
|
+
"sync:linter-policy": "node scripts/sync-domain-policy.mjs",
|
|
332
|
+
"setup": "bash scripts/agent_setup/setup.sh",
|
|
333
|
+
"setup:codex": "AGENT_HARNESSES=codex bash scripts/agent_setup/setup.sh",
|
|
334
|
+
"setup:claude": "AGENT_HARNESSES=claude bash scripts/agent_setup/setup.sh",
|
|
335
|
+
"check:agent-setup": "bash scripts/agent_setup/verify.sh",
|
|
336
|
+
"test:agent-setup": "node --test scripts/agent_setup/*.test.cjs"
|
|
332
337
|
}
|
|
333
338
|
}
|