@astrale-os/kernel-protocol 0.5.0-beta.48 → 0.5.0-beta.49

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,5 +1,6 @@
1
1
  import { Key, MethodKey } from '@astrale-os/kernel-dsl/v1/addressing';
2
2
  import * as dslBundle from '@astrale-os/kernel-dsl/v1/bundle';
3
+ import { isMethodExecutable } from '@astrale-os/kernel-dsl/v1/language';
3
4
  import { revision } from '@astrale-os/kernel-dsl/v1/schema/revision';
4
5
  import { acceptBundleValue, decodeBundleValue, verifyBundleBytes } from './bundle.js';
5
6
  import { fail } from './error.js';
@@ -57,7 +58,7 @@ function addClassMethods(result, origin, definitions) {
57
58
  if (declaration.kind !== 'node')
58
59
  continue;
59
60
  for (const [name, method] of Object.entries(declaration.methods)) {
60
- if (method.abstract === true)
61
+ if (!isMethodExecutable(declaration, method))
61
62
  continue;
62
63
  result.add(MethodKey.of({ origin, kind: 'class', name: owner }, name));
63
64
  }
@@ -1,5 +1,6 @@
1
1
  import { AuthorityOperationOrder } from '@astrale-os/kernel-core/schema/authority/operation';
2
2
  import { acceptDefinitionRef, callableAddress, Key } from '@astrale-os/kernel-dsl/v1/addressing';
3
+ import { isMethodExecutable } from '@astrale-os/kernel-dsl/v1/language';
3
4
  import { revision } from '@astrale-os/kernel-dsl/v1/schema/revision';
4
5
  import { array, deepFreeze, exact, record, unique } from './content.js';
5
6
  import { fail } from './error.js';
@@ -282,5 +283,5 @@ function hasCallable(dependency, callable) {
282
283
  return dependency.functions[coordinate.name] !== undefined;
283
284
  const declaration = dependency.classes[coordinate.owner.name];
284
285
  const method = declaration?.kind === 'node' ? declaration.methods[coordinate.name] : undefined;
285
- return method !== undefined && method.abstract !== true;
286
+ return method !== undefined && isMethodExecutable(declaration, method);
286
287
  }
@@ -11,7 +11,7 @@ export function compile(input) {
11
11
  const authored = input.routes.map((entry) => admitRouteDeclaration(entry, input.domain.origin));
12
12
  const entries = authored.map((declaration) => {
13
13
  const meaning = input.domain.callable(declaration.callable);
14
- if (meaning === undefined || (isMethod(meaning) && meaning.abstract)) {
14
+ if (meaning === undefined || (isMethod(meaning) && !meaning.executable)) {
15
15
  fail('NATIVE_ROUTE_BINDING_INVALID', `Unavailable callable ${declaration.callable}.`);
16
16
  }
17
17
  const href = placePath(declaration.path, 'https://routes.invalid');
@@ -16,7 +16,7 @@ export function verifyTable(table, deployed, domain) {
16
16
  ((entry.target.kind === 'function' && !isMethod(meaning)) ||
17
17
  (entry.target.kind === 'method' &&
18
18
  isMethod(meaning) &&
19
- !meaning.abstract &&
19
+ meaning.executable &&
20
20
  entry.target.dispatch === (meaning.static ? 'static' : 'instance')));
21
21
  if (!targetMatches || meaning.auth !== entry.auth || meaning.output.mode !== entry.output) {
22
22
  fail('NATIVE_ROUTE_BINDING_INVALID', `Route ${entry.name} differs from Domain meaning.`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-os/kernel-protocol",
3
- "version": "0.5.0-beta.48",
3
+ "version": "0.5.0-beta.49",
4
4
  "description": "Portable Astrale invocation, publication, installation, routing, and issuer protocols",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -137,8 +137,8 @@
137
137
  "access": "public"
138
138
  },
139
139
  "dependencies": {
140
- "@astrale-os/kernel-core": "0.9.0-beta.44",
141
- "@astrale-os/kernel-dsl": "0.2.0-beta.32",
140
+ "@astrale-os/kernel-core": "0.9.0-beta.45",
141
+ "@astrale-os/kernel-dsl": "0.2.0-beta.33",
142
142
  "@noble/hashes": "2.3.0"
143
143
  },
144
144
  "devDependencies": {