@astrale-os/sdk 0.5.0-beta.121 → 0.5.0-beta.123

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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.0-beta.123](https://github.com/astrale-os/sdk/compare/sdk-v0.5.0-beta.122...sdk-v0.5.0-beta.123) (2026-09-07)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * **invocation:** carry complete targets through exact admission ([#424](https://github.com/astrale-os/sdk/issues/424))
9
+
10
+ ### Features
11
+
12
+ * **invocation:** carry complete targets through exact admission ([#424](https://github.com/astrale-os/sdk/issues/424)) ([6df4d80](https://github.com/astrale-os/sdk/commit/6df4d804743941d0b9abdf05f11381f4e0f9dfe4))
13
+
14
+ ## [0.5.0-beta.122](https://github.com/astrale-os/sdk/compare/sdk-v0.5.0-beta.121...sdk-v0.5.0-beta.122) (2026-09-07)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **deployment:** allow local Core Function capabilities ([#445](https://github.com/astrale-os/sdk/issues/445)) ([4de6191](https://github.com/astrale-os/sdk/commit/4de619141aaa80ab424bcc4ed858fede87ecd131))
20
+ * **graph:** preserve portable local alias declarations ([#446](https://github.com/astrale-os/sdk/issues/446)) ([ec485bc](https://github.com/astrale-os/sdk/commit/ec485bce566cd404f3452e1cf3f782f26615ec08))
21
+
3
22
  ## [0.5.0-beta.121](https://github.com/astrale-os/sdk/compare/sdk-v0.5.0-beta.120...sdk-v0.5.0-beta.121) (2026-09-07)
4
23
 
5
24
 
@@ -16,7 +16,7 @@ type MethodValues<Class> = Class extends {
16
16
  };
17
17
  };
18
18
  } ? Values<Instance> | Values<Static> : never;
19
- type Executable<Callable> = Callable extends ResolvedMethod<unknown, unknown, boolean, infer Inheritance> ? Inheritance extends 'abstract' ? never : Callable : Callable;
19
+ type Executable<Callable> = Callable extends ResolvedMethod<unknown, unknown, boolean, infer Abstract> ? Abstract extends true ? never : Callable : Callable;
20
20
  /** Every root-owned callable implementation contract, independent of Function or Method topology. */
21
21
  export type LocalCallable<DomainValue extends Domain> = Extract<Values<DomainValue['functions']>, ResolvedCallable> | Extract<Executable<MethodValues<Values<DomainValue['classes']>>>, ResolvedCallable>;
22
22
  export type ActionAddressOf<Callable> = Callable extends {
@@ -6,6 +6,7 @@ import type { CoreRequirement } from './requirement.js';
6
6
  /** Capabilities assigned to one installation-owned local Core Identity. */
7
7
  export interface CoreRequirementInput {
8
8
  readonly subject: Pick<ResolvedCoreDefinition, 'ref'>;
9
+ /** Exact executable local callables or direct dependency callables; does not bypass Policies. */
9
10
  readonly functions?: readonly FunctionRequirementTarget[];
10
11
  readonly classes?: readonly ClassRequirementInput[];
11
12
  readonly authority?: AuthorityRequirementsInput;
@@ -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 (callable.inheritance !== 'abstract')
15
+ if (!callable.abstract)
16
16
  append(callable);
17
17
  }
18
18
  for (const callable of selected.self.static.methods) {
19
- if (callable.inheritance !== 'abstract')
19
+ if (!callable.abstract)
20
20
  append(callable);
21
21
  }
22
22
  }
@@ -60,7 +60,9 @@ function compileRequirements(domain, input, sourceBundle) {
60
60
  throw new TypeError('Core capability subject must name one local Core Node.');
61
61
  }
62
62
  for (const key of requirement.functions) {
63
- requireDirectDependency(domain, key, 'Core capability Function');
63
+ if (Key.origin(key) !== domain.origin) {
64
+ requireDirectDependency(domain, key, 'Core capability Function');
65
+ }
64
66
  if (domain.callable(key) === undefined) {
65
67
  throw new TypeError(`Core capability Function ${key} is absent from the dependency closure.`);
66
68
  }
@@ -22,8 +22,7 @@ export function bindDependencies(domain, caller) {
22
22
  const callable = dependency.callable(selected.key);
23
23
  if (callable !== selected || Key.origin(callable.key) !== dependency.origin)
24
24
  invalid();
25
- if ('owner' in callable &&
26
- (callable.inheritance === 'abstract' || !ownMethod(dependency, callable)))
25
+ if ('owner' in callable && (callable.abstract || !ownMethod(dependency, callable)))
27
26
  invalid();
28
27
  if ('owner' in callable && !callable.static) {
29
28
  if (args.length < 2 || args.length > 3 || typeof args[0] !== 'string')
@@ -1,12 +1,6 @@
1
- import { type LocalBinding as CanonicalBinding } from '@astrale-os/kernel-core/graph/graph';
2
- /** A name scoped to one graph or mutation, distinct from a persistent Node identity. */
3
- export type LocalAlias = CanonicalBinding;
4
- /** Admit a local name using the canonical Kernel grammar. */
5
- export declare function LocalAlias(input: string): LocalAlias;
6
- export declare const isLocalAlias: (input: unknown) => input is LocalAlias;
1
+ /** Graph-local names retain the canonical Kernel type and constructor identity. */
2
+ export { LocalBinding as LocalAlias, isLocalBinding as isLocalAlias, } from '@astrale-os/kernel-core/graph/graph';
7
3
  /** @deprecated Use LocalAlias. */
8
- export type LocalBinding = LocalAlias;
9
- /** @deprecated Use LocalAlias. */
10
- export declare const LocalBinding: typeof LocalAlias;
4
+ export { LocalBinding } from '@astrale-os/kernel-core/graph/graph';
11
5
  /** @deprecated Use isLocalAlias. */
12
- export declare const isLocalBinding: (input: unknown) => input is LocalAlias;
6
+ export { isLocalBinding } from '@astrale-os/kernel-core/graph/graph';
@@ -1,13 +1,6 @@
1
- import { isLocalBinding as isCanonicalBinding, } from '@astrale-os/kernel-core/graph/graph';
2
- /** Admit a local name using the canonical Kernel grammar. */
3
- export function LocalAlias(input) {
4
- if (!isLocalAlias(input)) {
5
- throw new TypeError(`Invalid local alias ${JSON.stringify(input)}.`);
6
- }
7
- return input;
8
- }
9
- export const isLocalAlias = isCanonicalBinding;
1
+ /** Graph-local names retain the canonical Kernel type and constructor identity. */
2
+ export { LocalBinding as LocalAlias, isLocalBinding as isLocalAlias, } from '@astrale-os/kernel-core/graph/graph';
10
3
  /** @deprecated Use LocalAlias. */
11
- export const LocalBinding = LocalAlias;
4
+ export { LocalBinding } from '@astrale-os/kernel-core/graph/graph';
12
5
  /** @deprecated Use isLocalAlias. */
13
- export const isLocalBinding = isLocalAlias;
6
+ export { isLocalBinding } from '@astrale-os/kernel-core/graph/graph';
@@ -1,9 +1,10 @@
1
1
  import type { Graph } from '../../platform/graph/document/index.js';
2
2
  import type { Node } from '../../platform/graph/node/index.js';
3
- import type { PolicyObjectRef, schema } from '../../platform/schema/index.js';
3
+ import type { ClassRef, CoreRef, FunctionRef, PolicyRef, ViewRef, schema } from '../../platform/schema/index.js';
4
4
  import type { DatasetReferences } from './dataset.js';
5
- export type DatasetReferenceInput = PolicyObjectRef | {
6
- readonly ref: PolicyObjectRef;
5
+ type DatasetProjectionRef = ClassRef | FunctionRef | PolicyRef | ViewRef | CoreRef;
6
+ export type DatasetReferenceInput = DatasetProjectionRef | {
7
+ readonly ref: DatasetProjectionRef;
7
8
  };
8
9
  type ReferenceNode = Pick<Node, 'class' | 'props'>;
9
10
  /** Symbolic projection supplies facts; only an explicit Dataset reference supplies identity. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-os/sdk",
3
- "version": "0.5.0-beta.121",
3
+ "version": "0.5.0-beta.123",
4
4
  "description": "Schema-first SDK for defining, composing, and deploying Astrale domains",
5
5
  "keywords": [
6
6
  "astrale",
@@ -233,11 +233,11 @@
233
233
  "registry": "https://registry.npmjs.org/"
234
234
  },
235
235
  "dependencies": {
236
- "@astrale-os/kernel-client": "0.6.0-beta.55",
237
- "@astrale-os/kernel-core": "0.9.0-beta.42",
238
- "@astrale-os/kernel-dsl": "0.2.0-beta.30",
239
- "@astrale-os/kernel-protocol": "0.5.0-beta.46",
240
- "@astrale-os/kernel-server": "0.5.0-beta.48",
236
+ "@astrale-os/kernel-client": "0.6.0-beta.57",
237
+ "@astrale-os/kernel-core": "0.9.0-beta.44",
238
+ "@astrale-os/kernel-dsl": "0.2.0-beta.32",
239
+ "@astrale-os/kernel-protocol": "0.5.0-beta.48",
240
+ "@astrale-os/kernel-server": "0.5.0-beta.50",
241
241
  "@lucide/icons": "1.34.0",
242
242
  "@typescript/native-preview": "7.0.0-dev.20260707.2",
243
243
  "hono": "^4.13.2",