@astrale-domains/services 0.2.2 → 0.2.3
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 +18 -0
- package/dist/schema/deployment/index.d.ts +1 -1
- package/dist/schema/deployment/index.js +1 -1
- package/dist/schema/deployment/result.d.ts +15 -14
- package/dist/schema/deployment/result.js +3 -4
- package/dist/schema/index.d.ts +2 -2
- package/dist/schema/index.js +2 -2
- package/dist/schema/schema.d.ts +2079 -826
- package/dist/schema/schema.js +1 -5
- package/dist/schema/service/cloudflare-worker-class.d.ts +2031 -761
- package/dist/schema/service/index.d.ts +1 -3
- package/dist/schema/service/index.js +1 -3
- package/dist/schema/service/methods/delete-service.js +1 -1
- package/dist/schema/service/methods/deploy-cloudflare-worker.d.ts +5 -6
- package/dist/schema/service/methods/deploy-cloudflare-worker.js +1 -1
- package/dist/schema/service/policies.d.ts +0 -3
- package/dist/schema/service/policies.js +0 -11
- package/dist/schema/service/service-class.d.ts +35 -21
- package/dist/schema/service/service-class.js +6 -0
- package/package.json +23 -22
- package/dist/schema/service/hosted-by-service-edge-class.d.ts +0 -19
- package/dist/schema/service/hosted-by-service-edge-class.js +0 -14
- package/dist/schema/service/service-hosts-domain-edge-class.d.ts +0 -16
- package/dist/schema/service/service-hosts-domain-edge-class.js +0 -9
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export { CloudflareWorker } from './cloudflare-worker-class.js';
|
|
2
|
-
export { hosted_by_service } from './hosted-by-service-edge-class.js';
|
|
3
2
|
export { deleteService, deleteServiceSecret, deployCloudflareWorker, listServiceLogs, listServiceSchedules, listServiceSecretNames, replaceServiceSchedules, setServiceSecret, } from './methods/index.js';
|
|
4
|
-
export { ObserveService,
|
|
3
|
+
export { ObserveService, TraverseOwnedService } from './policies.js';
|
|
5
4
|
export { Service, serviceLifecycle } from './service-class.js';
|
|
6
|
-
export { service_hosts_domain } from './service-hosts-domain-edge-class.js';
|
|
7
5
|
export { service_owned_by } from './service-owned-by-edge-class.js';
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export { CloudflareWorker } from './cloudflare-worker-class.js';
|
|
2
|
-
export { hosted_by_service } from './hosted-by-service-edge-class.js';
|
|
3
2
|
export { deleteService, deleteServiceSecret, deployCloudflareWorker, listServiceLogs, listServiceSchedules, listServiceSecretNames, replaceServiceSchedules, setServiceSecret, } from './methods/index.js';
|
|
4
|
-
export { ObserveService,
|
|
3
|
+
export { ObserveService, TraverseOwnedService } from './policies.js';
|
|
5
4
|
export { Service, serviceLifecycle } from './service-class.js';
|
|
6
|
-
export { service_hosts_domain } from './service-hosts-domain-edge-class.js';
|
|
7
5
|
export { service_owned_by } from './service-owned-by-edge-class.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { method } from '@astrale-os/sdk/schema';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export const deleteService = method({
|
|
4
|
-
description: 'Convergently delete
|
|
4
|
+
description: 'Convergently delete provider resources and the Service record without uninstalling consumers.',
|
|
5
5
|
auth: 'authenticated',
|
|
6
6
|
input: z.strictObject({}),
|
|
7
7
|
output: z.discriminatedUnion('kind', [
|
|
@@ -63,17 +63,16 @@ export declare const deployCloudflareWorker: import("@astrale-os/sdk/schema").Me
|
|
|
63
63
|
revision?: string | undefined;
|
|
64
64
|
state: "deleting" | "deploying" | "failed" | "ready" | "reconciling";
|
|
65
65
|
error?: string | null | undefined;
|
|
66
|
-
|
|
66
|
+
application?: {
|
|
67
67
|
issuer: string;
|
|
68
68
|
origin: string;
|
|
69
69
|
revision: string;
|
|
70
70
|
publicationEtag: string;
|
|
71
|
+
functions: {
|
|
72
|
+
path: string;
|
|
73
|
+
ref: string;
|
|
74
|
+
}[];
|
|
71
75
|
} | undefined;
|
|
72
|
-
functions: {
|
|
73
|
-
id: string;
|
|
74
|
-
path: string;
|
|
75
|
-
ref: string;
|
|
76
|
-
}[];
|
|
77
76
|
} | {
|
|
78
77
|
kind: "rejected";
|
|
79
78
|
reason: "artifact-mode-conflict" | "invalid-deployment" | "service-unavailable";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { method } from '@astrale-os/sdk/schema';
|
|
2
2
|
import { deployServiceInput, deployServiceOutput } from '../../deployment/index.js';
|
|
3
3
|
export const deployCloudflareWorker = method({
|
|
4
|
-
description: 'Create or converge one Cloudflare Worker Service and its
|
|
4
|
+
description: 'Create or converge one Cloudflare Worker Service and admit its optional Publication.',
|
|
5
5
|
auth: 'authenticated',
|
|
6
6
|
static: true,
|
|
7
7
|
input: deployServiceInput,
|
|
@@ -2,6 +2,3 @@
|
|
|
2
2
|
export declare const ObserveService: import("@astrale-os/sdk/schema").Policy;
|
|
3
3
|
/** Ownership edges disclose only the subject's own Service relationship. */
|
|
4
4
|
export declare const TraverseOwnedService: import("@astrale-os/sdk/schema").Policy;
|
|
5
|
-
/** Hosted relationships disclose only resources attached to a caller-owned Service endpoint. */
|
|
6
|
-
export declare const TraverseHostedDomain: import("@astrale-os/sdk/schema").Policy;
|
|
7
|
-
export declare const TraverseHostedFunction: import("@astrale-os/sdk/schema").Policy;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { policy } from '@astrale-os/sdk/schema';
|
|
2
|
-
import { hosted_by_service } from './hosted-by-service-edge-class.js';
|
|
3
|
-
import { service_hosts_domain } from './service-hosts-domain-edge-class.js';
|
|
4
2
|
import { service_owned_by } from './service-owned-by-edge-class.js';
|
|
5
3
|
/** A Service is visible only to the Identity that owns its provider effects. */
|
|
6
4
|
export const ObserveService = policy({
|
|
@@ -12,12 +10,3 @@ export const TraverseOwnedService = policy({
|
|
|
12
10
|
description: 'The subject owns the Service at the target of this relationship.',
|
|
13
11
|
match: ({ allOf, edge, source, subject, target }) => allOf(edge({ source: subject, class: () => service_owned_by, target }), edge({ source, class: () => service_owned_by, target })),
|
|
14
12
|
});
|
|
15
|
-
/** Hosted relationships disclose only resources attached to a caller-owned Service endpoint. */
|
|
16
|
-
export const TraverseHostedDomain = policy({
|
|
17
|
-
description: 'The subject owns the Service that hosts this Domain.',
|
|
18
|
-
match: ({ allOf, edge, source, subject, target }) => allOf(edge({ source, class: () => service_hosts_domain, target }), edge({ source: subject, class: () => service_owned_by, target: source })),
|
|
19
|
-
});
|
|
20
|
-
export const TraverseHostedFunction = policy({
|
|
21
|
-
description: 'The subject owns the Service that hosts this Function.',
|
|
22
|
-
match: ({ allOf, edge, source, subject, target }) => allOf(edge({ source, class: () => hosted_by_service, target }), edge({ source: subject, class: () => service_owned_by, target })),
|
|
23
|
-
});
|
|
@@ -69,9 +69,17 @@ export declare const Service: import("@astrale-os/sdk/schema").NodeClass<{
|
|
|
69
69
|
readonly revision: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "revision", "self">;
|
|
70
70
|
readonly deploymentReceipt: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "deploymentReceipt", "self">;
|
|
71
71
|
readonly operationExpiresAt: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<import("@astrale-os/sdk/schema").Value, import("@astrale-os/sdk/schema").Value, false, "operationExpiresAt", "self">;
|
|
72
|
+
readonly hostedIssuer: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "hostedIssuer", "self">;
|
|
72
73
|
readonly hostedOrigin: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "hostedOrigin", "self">;
|
|
73
74
|
readonly hostedRevision: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "hostedRevision", "self">;
|
|
74
75
|
readonly hostedPublicationEtag: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "hostedPublicationEtag", "self">;
|
|
76
|
+
readonly hostedFunctions: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<{
|
|
77
|
+
ref: string;
|
|
78
|
+
path: string;
|
|
79
|
+
}[], {
|
|
80
|
+
ref: string;
|
|
81
|
+
path: string;
|
|
82
|
+
}[], false, "hostedFunctions", "self">;
|
|
75
83
|
readonly error: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "error", "self">;
|
|
76
84
|
};
|
|
77
85
|
readonly methods: {
|
|
@@ -81,10 +89,10 @@ export declare const Service: import("@astrale-os/sdk/schema").NodeClass<{
|
|
|
81
89
|
}, {
|
|
82
90
|
readonly mode: 'value';
|
|
83
91
|
readonly value: {
|
|
84
|
-
name: string;
|
|
85
|
-
} | {
|
|
86
92
|
kind: "rejected";
|
|
87
93
|
reason: "binding-unavailable" | "invalid-secret-name" | "service-unavailable";
|
|
94
|
+
} | {
|
|
95
|
+
name: string;
|
|
88
96
|
};
|
|
89
97
|
}, "authenticated", false, "default">>;
|
|
90
98
|
readonly deleteSecret: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
|
|
@@ -139,15 +147,21 @@ export declare const Service: import("@astrale-os/sdk/schema").NodeClass<{
|
|
|
139
147
|
};
|
|
140
148
|
}, "authenticated", false, "default">>;
|
|
141
149
|
};
|
|
142
|
-
readonly effectiveProperties: (import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "deploymentReceipt", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "digest", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "error", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<
|
|
150
|
+
readonly effectiveProperties: (import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "deploymentReceipt", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "digest", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "error", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<{
|
|
151
|
+
ref: string;
|
|
152
|
+
path: string;
|
|
153
|
+
}[], {
|
|
154
|
+
ref: string;
|
|
155
|
+
path: string;
|
|
156
|
+
}[], false, "hostedFunctions", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "hostedIssuer", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "hostedOrigin", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "hostedPublicationEtag", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "hostedRevision", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<import("@astrale-os/sdk/schema").Value, import("@astrale-os/sdk/schema").Value, false, "operationExpiresAt", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, true, "providerKey", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, true, "providerName", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "revision", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, true, "serviceKey", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<"deleting" | "deploying" | "failed" | "ready" | "reconciling", "deleting" | "deploying" | "failed" | "ready" | "reconciling", true, "state", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, false, "url", "self">) | (import("@astrale-os/sdk/schema").ResolvedProperty<import("@astrale-os/sdk/schema").Value, false> & {
|
|
143
157
|
readonly name: "description";
|
|
144
158
|
readonly key: "kernel.astrale.ai:class.Descriptable.property.description";
|
|
145
|
-
}) | (import("@astrale-os/sdk/schema").ResolvedProperty<import("@astrale-os/sdk/schema").Value, true> & {
|
|
146
|
-
readonly name: "name";
|
|
147
|
-
readonly key: "kernel.astrale.ai:class.Named.property.name";
|
|
148
159
|
}) | (import("@astrale-os/sdk/schema").ResolvedProperty<import("@astrale-os/sdk/schema").Value, true> & {
|
|
149
160
|
readonly name: "createdAt";
|
|
150
161
|
readonly key: "kernel.astrale.ai:class.Timestamped.property.createdAt";
|
|
162
|
+
}) | (import("@astrale-os/sdk/schema").ResolvedProperty<import("@astrale-os/sdk/schema").Value, true> & {
|
|
163
|
+
readonly name: "name";
|
|
164
|
+
readonly key: "kernel.astrale.ai:class.Named.property.name";
|
|
151
165
|
}) | (import("@astrale-os/sdk/schema").ResolvedProperty<import("@astrale-os/sdk/schema").Value, true> & {
|
|
152
166
|
readonly name: "updatedAt";
|
|
153
167
|
readonly key: "kernel.astrale.ai:class.Timestamped.property.updatedAt";
|
|
@@ -167,15 +181,26 @@ export declare const Service: import("@astrale-os/sdk/schema").NodeClass<{
|
|
|
167
181
|
retryAfterMs: number;
|
|
168
182
|
};
|
|
169
183
|
}, "authenticated", false, "default">>, "delete", "self"> | import("@astrale-os/sdk/schema").AuthoredMethodProjection<import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
|
|
184
|
+
tail?: number | undefined;
|
|
185
|
+
since?: number | undefined;
|
|
186
|
+
}, {
|
|
187
|
+
readonly mode: 'value';
|
|
188
|
+
readonly value: {
|
|
189
|
+
id: string;
|
|
190
|
+
ts: number;
|
|
191
|
+
level: string;
|
|
192
|
+
line: string;
|
|
193
|
+
}[];
|
|
194
|
+
}, "authenticated", false, "default">>, "logs", "self"> | import("@astrale-os/sdk/schema").AuthoredMethodProjection<import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
|
|
170
195
|
name: string;
|
|
171
196
|
value: string;
|
|
172
197
|
}, {
|
|
173
198
|
readonly mode: 'value';
|
|
174
199
|
readonly value: {
|
|
175
|
-
name: string;
|
|
176
|
-
} | {
|
|
177
200
|
kind: "rejected";
|
|
178
201
|
reason: "binding-unavailable" | "invalid-secret-name" | "service-unavailable";
|
|
202
|
+
} | {
|
|
203
|
+
name: string;
|
|
179
204
|
};
|
|
180
205
|
}, "authenticated", false, "default">>, "setSecret", "self"> | import("@astrale-os/sdk/schema").AuthoredMethodProjection<import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<{
|
|
181
206
|
name: string;
|
|
@@ -197,17 +222,6 @@ export declare const Service: import("@astrale-os/sdk/schema").NodeClass<{
|
|
|
197
222
|
kind: "rejected";
|
|
198
223
|
reason: "invalid-schedule" | "service-unavailable";
|
|
199
224
|
};
|
|
200
|
-
}, "authenticated", false, "default">>, "setSchedule", "self"
|
|
201
|
-
tail?: number | undefined;
|
|
202
|
-
since?: number | undefined;
|
|
203
|
-
}, {
|
|
204
|
-
readonly mode: 'value';
|
|
205
|
-
readonly value: {
|
|
206
|
-
id: string;
|
|
207
|
-
ts: number;
|
|
208
|
-
level: string;
|
|
209
|
-
line: string;
|
|
210
|
-
}[];
|
|
211
|
-
}, "authenticated", false, "default">>, "logs", "self">;
|
|
225
|
+
}, "authenticated", false, "default">>, "setSchedule", "self">;
|
|
212
226
|
readonly effectiveStaticMethods: never;
|
|
213
|
-
}
|
|
227
|
+
}> & import("@astrale-os/sdk/schema").StateClass<Readonly<Omit<Readonly<Record<never, never>>, never> & {}>>;
|
|
@@ -7,6 +7,10 @@ const digest = z
|
|
|
7
7
|
.string()
|
|
8
8
|
.length(71)
|
|
9
9
|
.regex(/sha256:[0-9a-f]{64}/);
|
|
10
|
+
const publishedFunction = z.strictObject({
|
|
11
|
+
ref: z.string().min(1).max(512),
|
|
12
|
+
path: z.string().min(1).max(2_048),
|
|
13
|
+
});
|
|
10
14
|
/** Provider-neutral deployed resource. Provider implementation versions are deliberately external. */
|
|
11
15
|
export const Service = nodeClass({
|
|
12
16
|
abstract: true,
|
|
@@ -22,9 +26,11 @@ export const Service = nodeClass({
|
|
|
22
26
|
revision: property(digest, { required: false }),
|
|
23
27
|
deploymentReceipt: property(z.string().min(1).max(128), { required: false }),
|
|
24
28
|
operationExpiresAt: property(valueSchema.values.instant, { required: false }),
|
|
29
|
+
hostedIssuer: property(z.string().min(1).max(2_048), { required: false }),
|
|
25
30
|
hostedOrigin: property(z.string().min(1).max(512), { required: false }),
|
|
26
31
|
hostedRevision: property(digest, { required: false }),
|
|
27
32
|
hostedPublicationEtag: property(digest, { required: false }),
|
|
33
|
+
hostedFunctions: property(z.array(publishedFunction).max(1_024), { required: false }),
|
|
28
34
|
error: property(z.string().max(5_000), { required: false }),
|
|
29
35
|
},
|
|
30
36
|
methods: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astrale-domains/services",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/astrale-os/domains.git",
|
|
@@ -28,34 +28,34 @@
|
|
|
28
28
|
"registry": "https://registry.npmjs.org/"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@astrale-os/sdk": "0.5.0-beta.
|
|
31
|
+
"@astrale-os/sdk": "0.5.0-beta.75",
|
|
32
32
|
"zod": "^4.4.3"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@astrale-os/adapter-cloudflare": "0.5.0-beta.
|
|
36
|
-
"@astrale-os/ox": ">=0.1.
|
|
37
|
-
"@astrale-os/shell": "0.4.2-beta.
|
|
35
|
+
"@astrale-os/adapter-cloudflare": "0.5.0-beta.78",
|
|
36
|
+
"@astrale-os/ox": ">=0.1.4 <1.0.0",
|
|
37
|
+
"@astrale-os/shell": "0.4.2-beta.8",
|
|
38
38
|
"@astrale-os/shell-react": "0.3.2-beta.5",
|
|
39
|
-
"@astrale-os/ui": "0.3.0-beta.
|
|
40
|
-
"@cloudflare/workers-types": "5.
|
|
41
|
-
"@tailwindcss/vite": "^4.
|
|
42
|
-
"@tanstack/react-router": "1.170.
|
|
43
|
-
"@tanstack/router-plugin": "1.168.
|
|
39
|
+
"@astrale-os/ui": "0.3.0-beta.13",
|
|
40
|
+
"@cloudflare/workers-types": "5.20260821.1",
|
|
41
|
+
"@tailwindcss/vite": "^4.3.3",
|
|
42
|
+
"@tanstack/react-router": "1.170.18",
|
|
43
|
+
"@tanstack/router-plugin": "1.168.23",
|
|
44
44
|
"@testing-library/jest-dom": "7.0.1",
|
|
45
45
|
"@testing-library/react": "16.3.2",
|
|
46
|
-
"@testing-library/user-event": "14.6.
|
|
47
|
-
"@types/node": "^
|
|
48
|
-
"@types/react": "^19.2.
|
|
49
|
-
"@types/react-dom": "^19.2.
|
|
50
|
-
"@vitejs/plugin-react": "^6.0
|
|
46
|
+
"@testing-library/user-event": "14.6.5",
|
|
47
|
+
"@types/node": "^26.2.0",
|
|
48
|
+
"@types/react": "^19.2.18",
|
|
49
|
+
"@types/react-dom": "^19.2.4",
|
|
50
|
+
"@vitejs/plugin-react": "^6.1.0",
|
|
51
51
|
"jsdom": "30.0.1",
|
|
52
|
-
"oxlint": ">=1.
|
|
53
|
-
"react": "^19.2.
|
|
54
|
-
"react-dom": "^19.2.
|
|
55
|
-
"tailwindcss": "^4.
|
|
52
|
+
"oxlint": ">=1.79.0 <2.0.0",
|
|
53
|
+
"react": "^19.2.8",
|
|
54
|
+
"react-dom": "^19.2.8",
|
|
55
|
+
"tailwindcss": "^4.3.3",
|
|
56
56
|
"typescript": "7.0.2",
|
|
57
|
-
"vite": "^8.2.
|
|
58
|
-
"vitest": "^4.1.
|
|
57
|
+
"vite": "^8.2.2",
|
|
58
|
+
"vitest": "^4.1.11"
|
|
59
59
|
},
|
|
60
60
|
"engines": {
|
|
61
61
|
"node": ">=22.13"
|
|
@@ -78,7 +78,8 @@
|
|
|
78
78
|
"provider:route-wildcard": "bun providers/cloudflare/operator/routing/wildcard.ts",
|
|
79
79
|
"provider:route-tenant": "bun providers/cloudflare/operator/routing/tenant.ts",
|
|
80
80
|
"typecheck": "tsc --noEmit && tsc --project providers/cloudflare/operator/dispatch/tsconfig.json",
|
|
81
|
-
"test": "vitest run --config vitest.config.ts",
|
|
81
|
+
"test": "vitest run --config vitest.config.ts && pnpm run accessibility:check",
|
|
82
|
+
"accessibility:check": "oxlint ui views frontend/src --jsx-a11y-plugin --react-plugin --deny-warnings",
|
|
82
83
|
"frontend:dev": "vite",
|
|
83
84
|
"frontend:build": "vite build"
|
|
84
85
|
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export declare const hosted_by_service: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
|
|
2
|
-
readonly depth: 0;
|
|
3
|
-
readonly abstract: false;
|
|
4
|
-
readonly extends: readonly [];
|
|
5
|
-
readonly properties: {
|
|
6
|
-
readonly callableRef: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, true, "callableRef", "self">;
|
|
7
|
-
readonly callablePath: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, true, "callablePath", "self">;
|
|
8
|
-
};
|
|
9
|
-
readonly source: {
|
|
10
|
-
readonly as: "function";
|
|
11
|
-
readonly outgoing: "0..1";
|
|
12
|
-
};
|
|
13
|
-
readonly target: {
|
|
14
|
-
readonly as: "service";
|
|
15
|
-
readonly incoming: "0..*";
|
|
16
|
-
};
|
|
17
|
-
readonly constraints: Record<never, never>;
|
|
18
|
-
readonly effectiveProperties: import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, true, "callablePath", "self"> | import("@astrale-os/sdk/schema").AuthoredPropertyProjection<string, string, true, "callableRef", "self">;
|
|
19
|
-
}>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { K, edgeClass } from '@astrale-os/sdk/schema';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
import { TraverseHostedFunction } from './policies.js';
|
|
4
|
-
import { Service } from './service-class.js';
|
|
5
|
-
export const hosted_by_service = edgeClass.directed({
|
|
6
|
-
description: 'One installed Function declaration delivered by one Service.',
|
|
7
|
-
source: { as: 'function', accepts: [K.classes.Function], outgoing: '0..1' },
|
|
8
|
-
target: { as: 'service', accepts: [() => Service], incoming: '0..*' },
|
|
9
|
-
properties: {
|
|
10
|
-
callableRef: z.string().min(1).max(512),
|
|
11
|
-
callablePath: z.string().min(1).max(2_048),
|
|
12
|
-
},
|
|
13
|
-
policies: { traverse: () => TraverseHostedFunction },
|
|
14
|
-
});
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare const service_hosts_domain: import("@astrale-os/sdk/schema").DirectedEdgeClass<{
|
|
2
|
-
readonly depth: 0;
|
|
3
|
-
readonly abstract: false;
|
|
4
|
-
readonly extends: readonly [];
|
|
5
|
-
readonly properties: never;
|
|
6
|
-
readonly source: {
|
|
7
|
-
readonly as: "service";
|
|
8
|
-
readonly outgoing: "0..1";
|
|
9
|
-
};
|
|
10
|
-
readonly target: {
|
|
11
|
-
readonly as: "domain";
|
|
12
|
-
readonly incoming: "0..1";
|
|
13
|
-
};
|
|
14
|
-
readonly constraints: Record<never, never>;
|
|
15
|
-
readonly effectiveProperties: never;
|
|
16
|
-
}>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { K, edgeClass } from '@astrale-os/sdk/schema';
|
|
2
|
-
import { TraverseHostedDomain } from './policies.js';
|
|
3
|
-
import { Service } from './service-class.js';
|
|
4
|
-
export const service_hosts_domain = edgeClass.directed({
|
|
5
|
-
description: 'The installed Astrale Domain currently hosted by one Service.',
|
|
6
|
-
source: { as: 'service', accepts: [() => Service], outgoing: '0..1' },
|
|
7
|
-
target: { as: 'domain', accepts: [K.classes.Domain], incoming: '0..1' },
|
|
8
|
-
policies: { traverse: () => TraverseHostedDomain },
|
|
9
|
-
});
|