@astrale-os/kernel-core 0.9.0-beta.28 → 0.9.0-beta.29

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
@@ -6,6 +6,20 @@
6
6
 
7
7
  * remove endpoint, route, serving issuer, Publication ETag, and View placement properties from the
8
8
  Function and UI schema; graph projection now contains declaration meaning only
9
+ ## [0.9.0-beta.29](https://github.com/astrale-os/kernel/compare/kernel-core-v0.9.0-beta.28...kernel-core-v0.9.0-beta.29) (2026-08-31)
10
+
11
+
12
+ ### Features
13
+
14
+ * **auth:** enforce two-gate Function authority ([#561](https://github.com/astrale-os/kernel/issues/561)) ([c681d4b](https://github.com/astrale-os/kernel/commit/c681d4b391520906b2cad9171cd251962b200faf))
15
+
16
+
17
+ ### Dependencies
18
+
19
+ * The following workspace dependencies were updated
20
+ * dependencies
21
+ * @astrale-os/kernel-dsl bumped to 0.2.0-beta.22
22
+
9
23
  ## [0.9.0-beta.28](https://github.com/astrale-os/kernel/compare/kernel-core-v0.9.0-beta.27...kernel-core-v0.9.0-beta.28) (2026-08-30)
10
24
 
11
25
 
@@ -59,6 +59,9 @@ export function project(domain) {
59
59
  [K.classes.method_of.self.properties.name.key]: method.name,
60
60
  [K.classes.method_of.self.properties.static.key]: method.definition.static,
61
61
  }));
62
+ addEdge(managedEdges, methodEndpoint, domainEndpoint, K.classes.of_domain.ref, normalizeProperties({
63
+ [K.classes.of_domain.self.properties.member.key]: callableMemberKey(domain, method),
64
+ }));
62
65
  }
63
66
  for (const [slug, declaration] of Object.entries(domainSchema.core.nodes)) {
64
67
  assertIdentityAuthenticationPair(domain, declaration.class, declaration.properties, slug);
@@ -248,6 +251,13 @@ function declarationDescription(definition) {
248
251
  function memberKey(definition) {
249
252
  return `${definition.ref.kind}.${definition.ref.name}`;
250
253
  }
254
+ function callableMemberKey(domain, method) {
255
+ const prefix = `${domain.origin}:`;
256
+ if (!method.key.startsWith(prefix)) {
257
+ throw new ProjectionError('PROJECTION_INVALID', 'Method key belongs to another Domain.');
258
+ }
259
+ return method.key.slice(prefix.length);
260
+ }
251
261
  /** Identity properties are supplied atomically by trusted lifecycle materialization. */
252
262
  function domainPropertiesFor(domain) {
253
263
  return normalizeProperties({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-os/kernel-core",
3
- "version": "0.9.0-beta.28",
3
+ "version": "0.9.0-beta.29",
4
4
  "description": "Astrale Kernel Core - Types, Invariants, and Pure Logic",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -160,7 +160,7 @@
160
160
  "access": "public"
161
161
  },
162
162
  "dependencies": {
163
- "@astrale-os/kernel-dsl": "0.2.0-beta.21",
163
+ "@astrale-os/kernel-dsl": "0.2.0-beta.22",
164
164
  "@noble/hashes": "2.3.0",
165
165
  "@types/json-schema": "^7.0.15",
166
166
  "dequal": "2.0.3"