@astrale-domains/services 0.2.3 → 0.2.5
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 +24 -0
- package/README.md +8 -7
- package/dist/schema/index.d.ts +3 -3
- package/dist/schema/index.js +2 -2
- package/dist/schema/modules/service/classes/cloudflare-worker.d.ts +6366 -0
- package/dist/schema/{service/cloudflare-worker-class.js → modules/service/classes/cloudflare-worker.js} +2 -2
- package/dist/schema/modules/service/classes/index.d.ts +3 -0
- package/dist/schema/modules/service/classes/index.js +3 -0
- package/dist/schema/{service/service-owned-by-edge-class.d.ts → modules/service/classes/service-owned-by.d.ts} +4 -4
- package/dist/schema/{service/service-owned-by-edge-class.js → modules/service/classes/service-owned-by.js} +4 -4
- package/dist/schema/{service/service-class.d.ts → modules/service/classes/service.d.ts} +84 -71
- package/dist/schema/modules/service/classes/service.js +37 -0
- package/dist/schema/{service/methods/delete-secret.d.ts → modules/service/functions/delete-service-secret.d.ts} +3 -3
- package/dist/schema/{service/methods/delete-secret.js → modules/service/functions/delete-service-secret.js} +4 -3
- package/dist/schema/{service/methods → modules/service/functions}/delete-service.d.ts +1 -1
- package/dist/schema/{service/methods → modules/service/functions}/delete-service.js +4 -2
- package/dist/schema/{deployment/request.d.ts → modules/service/functions/deploy-cloudflare-worker.d.ts} +100 -2
- package/dist/schema/{deployment/request.js → modules/service/functions/deploy-cloudflare-worker.js} +24 -10
- package/dist/schema/{service/methods → modules/service/functions}/index.d.ts +3 -2
- package/dist/schema/{service/methods → modules/service/functions}/index.js +2 -2
- package/dist/schema/{service/methods → modules/service/functions}/list-service-logs.d.ts +1 -1
- package/dist/schema/{service/methods → modules/service/functions}/list-service-logs.js +3 -1
- package/dist/schema/{service/methods → modules/service/functions}/list-service-schedules.d.ts +1 -1
- package/dist/schema/{service/methods → modules/service/functions}/list-service-schedules.js +3 -1
- package/dist/schema/{service/methods → modules/service/functions}/list-service-secret-names.d.ts +1 -1
- package/dist/schema/{service/methods → modules/service/functions}/list-service-secret-names.js +4 -2
- package/dist/schema/{service/methods → modules/service/functions}/replace-service-schedules.d.ts +1 -1
- package/dist/schema/{service/methods → modules/service/functions}/replace-service-schedules.js +3 -1
- package/dist/schema/{service/methods → modules/service/functions}/set-service-secret.d.ts +3 -3
- package/dist/schema/{service/methods → modules/service/functions}/set-service-secret.js +4 -3
- package/dist/schema/modules/service/index.d.ts +8 -0
- package/dist/schema/modules/service/index.js +5 -0
- package/dist/schema/modules/service/policies/index.d.ts +2 -0
- package/dist/schema/modules/service/policies/index.js +2 -0
- package/dist/schema/modules/service/policies/own-service.d.ts +2 -0
- package/dist/schema/modules/service/policies/own-service.js +7 -0
- package/dist/schema/{service/policies.d.ts → modules/service/policies/traverse-owned-service.d.ts} +0 -2
- package/dist/schema/modules/service/policies/traverse-owned-service.js +7 -0
- package/dist/schema/modules/service/states/index.d.ts +2 -0
- package/dist/schema/modules/service/states/index.js +1 -0
- package/dist/schema/modules/service/states/service-lifecycle.d.ts +25 -0
- package/dist/schema/modules/service/states/service-lifecycle.js +26 -0
- package/dist/schema/modules/service/types/index.d.ts +9 -0
- package/dist/schema/modules/service/types/index.js +6 -0
- package/dist/schema/{deployment/module.js → modules/service/types/service-deployment-artifact-module.js} +1 -1
- package/dist/schema/{deployment/asset.js → modules/service/types/service-deployment-assets.js} +1 -1
- package/dist/schema/modules/service/types/service-secret-name.d.ts +2 -0
- package/dist/schema/modules/service/types/service-secret-operation-rejection.d.ts +9 -0
- package/dist/schema/schema.d.ts +2602 -4250
- package/dist/schema/schema.js +2 -2
- package/package.json +6 -3
- package/dist/schema/deployment/deployment-rejection.d.ts +0 -11
- package/dist/schema/deployment/deployment-rejection.js +0 -6
- package/dist/schema/deployment/index.d.ts +0 -13
- package/dist/schema/deployment/index.js +0 -7
- package/dist/schema/deployment/result.d.ts +0 -74
- package/dist/schema/deployment/result.js +0 -24
- package/dist/schema/service/cloudflare-worker-class.d.ts +0 -8029
- package/dist/schema/service/index.d.ts +0 -5
- package/dist/schema/service/index.js +0 -5
- package/dist/schema/service/methods/deploy-cloudflare-worker.d.ts +0 -81
- package/dist/schema/service/methods/deploy-cloudflare-worker.js +0 -9
- package/dist/schema/service/policies.js +0 -12
- package/dist/schema/service/service-class.js +0 -46
- /package/dist/schema/{deployment/module.d.ts → modules/service/types/service-deployment-artifact-module.d.ts} +0 -0
- /package/dist/schema/{deployment/asset.d.ts → modules/service/types/service-deployment-assets.d.ts} +0 -0
- /package/dist/schema/{deployment/content.d.ts → modules/service/types/service-deployment-content.d.ts} +0 -0
- /package/dist/schema/{deployment/content.js → modules/service/types/service-deployment-content.js} +0 -0
- /package/dist/schema/{deployment/limits.d.ts → modules/service/types/service-deployment-resource-limits.d.ts} +0 -0
- /package/dist/schema/{deployment/limits.js → modules/service/types/service-deployment-resource-limits.js} +0 -0
- /package/dist/schema/{service/methods/secret-name.js → modules/service/types/service-secret-name.js} +0 -0
- /package/dist/schema/{service/methods/secret-operation-rejection.js → modules/service/types/service-secret-operation-rejection.js} +0 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { method } from '@astrale-os/sdk/schema';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
+
import { OwnService } from '../policies/own-service.js';
|
|
3
4
|
export const listServiceLogs = method({
|
|
4
5
|
description: 'Read recent Service runtime logs.',
|
|
5
|
-
auth: '
|
|
6
|
+
auth: 'authorized',
|
|
7
|
+
policy: ({ check, self }) => check(OwnService, self),
|
|
6
8
|
input: z.strictObject({
|
|
7
9
|
tail: z.number().int().min(1).max(1_000).optional(),
|
|
8
10
|
since: z.number().int().min(0).optional(),
|
package/dist/schema/{service/methods → modules/service/functions}/list-service-schedules.d.ts
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const listServiceSchedules: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
|
|
2
2
|
readonly mode: 'value';
|
|
3
3
|
readonly value: string[];
|
|
4
|
-
}, "
|
|
4
|
+
}, "authorized", false, "default">>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { method } from '@astrale-os/sdk/schema';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
+
import { OwnService } from '../policies/own-service.js';
|
|
3
4
|
export const listServiceSchedules = method({
|
|
4
5
|
description: 'List active Service cron expressions.',
|
|
5
|
-
auth: '
|
|
6
|
+
auth: 'authorized',
|
|
7
|
+
policy: ({ check, self }) => check(OwnService, self),
|
|
6
8
|
input: z.strictObject({}),
|
|
7
9
|
output: z.array(z.string()),
|
|
8
10
|
});
|
package/dist/schema/{service/methods → modules/service/functions}/list-service-secret-names.d.ts
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const listServiceSecretNames: import("@astrale-os/sdk/schema").Method<import("@astrale-os/sdk/schema").CallableProjection<Record<string, never>, {
|
|
2
2
|
readonly mode: 'value';
|
|
3
3
|
readonly value: string[];
|
|
4
|
-
}, "
|
|
4
|
+
}, "authorized", false, "default">>;
|
package/dist/schema/{service/methods → modules/service/functions}/list-service-secret-names.js
RENAMED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { method } from '@astrale-os/sdk/schema';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { OwnService } from '../policies/own-service.js';
|
|
4
|
+
import { secretName } from '../types/index.js';
|
|
4
5
|
export const listServiceSecretNames = method({
|
|
5
6
|
description: 'List write-only Service secret names without exposing values.',
|
|
6
|
-
auth: '
|
|
7
|
+
auth: 'authorized',
|
|
8
|
+
policy: ({ check, self }) => check(OwnService, self),
|
|
7
9
|
input: z.strictObject({}),
|
|
8
10
|
output: z.array(secretName),
|
|
9
11
|
});
|
package/dist/schema/{service/methods → modules/service/functions}/replace-service-schedules.js
RENAMED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { method } from '@astrale-os/sdk/schema';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
+
import { OwnService } from '../policies/own-service.js';
|
|
3
4
|
export const replaceServiceSchedules = method({
|
|
4
5
|
description: 'Replace the complete Service cron set.',
|
|
5
|
-
auth: '
|
|
6
|
+
auth: 'authorized',
|
|
7
|
+
policy: ({ check, self }) => check(OwnService, self),
|
|
6
8
|
input: z.strictObject({ crons: z.array(z.string()).max(24) }),
|
|
7
9
|
output: z.union([
|
|
8
10
|
z.strictObject({ crons: z.array(z.string()) }),
|
|
@@ -4,9 +4,9 @@ export declare const setServiceSecret: import("@astrale-os/sdk/schema").Method<i
|
|
|
4
4
|
}, {
|
|
5
5
|
readonly mode: 'value';
|
|
6
6
|
readonly value: {
|
|
7
|
+
name: string;
|
|
8
|
+
} | {
|
|
7
9
|
kind: "rejected";
|
|
8
10
|
reason: "binding-unavailable" | "invalid-secret-name" | "service-unavailable";
|
|
9
|
-
} | {
|
|
10
|
-
name: string;
|
|
11
11
|
};
|
|
12
|
-
}, "
|
|
12
|
+
}, "authorized", false, "default">>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { method } from '@astrale-os/sdk/schema';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
4
|
-
import { secretOperationRejection } from '
|
|
3
|
+
import { OwnService } from '../policies/own-service.js';
|
|
4
|
+
import { secretName, secretOperationRejection } from '../types/index.js';
|
|
5
5
|
export const setServiceSecret = method({
|
|
6
6
|
description: 'Set one write-only Service secret.',
|
|
7
|
-
auth: '
|
|
7
|
+
auth: 'authorized',
|
|
8
|
+
policy: ({ check, self }) => check(OwnService, self),
|
|
8
9
|
input: z.strictObject({
|
|
9
10
|
name: secretName,
|
|
10
11
|
value: z
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { CloudflareWorker, Service, service_owned_by } from './classes/index.js';
|
|
2
|
+
export { artifact, deleteService, deleteServiceSecret, deployedService, deploymentRejection, deployCloudflareWorker, deployServiceInput, deployServiceOutput, listServiceLogs, listServiceSchedules, listServiceSecretNames, replaceServiceSchedules, revisionedDeployment, setServiceSecret, } from './functions/index.js';
|
|
3
|
+
export type { DeployServiceInput, DeployServiceOutput } from './functions/index.js';
|
|
4
|
+
export { OwnService, TraverseOwnedService } from './policies/index.js';
|
|
5
|
+
export { serviceLifecycle } from './states/index.js';
|
|
6
|
+
export type { ServiceLifecycle, ServiceLifecycleEvent } from './states/index.js';
|
|
7
|
+
export { artifactModule, assetBundle, assetFile, resourceLimits, PORTABLE_BASE64_CHUNK_SIZE, } from './types/index.js';
|
|
8
|
+
export type { ArtifactModule, AssetBundle, ResourceLimits } from './types/index.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { CloudflareWorker, Service, service_owned_by } from './classes/index.js';
|
|
2
|
+
export { artifact, deleteService, deleteServiceSecret, deployedService, deploymentRejection, deployCloudflareWorker, deployServiceInput, deployServiceOutput, listServiceLogs, listServiceSchedules, listServiceSecretNames, replaceServiceSchedules, revisionedDeployment, setServiceSecret, } from './functions/index.js';
|
|
3
|
+
export { OwnService, TraverseOwnedService } from './policies/index.js';
|
|
4
|
+
export { serviceLifecycle } from './states/index.js';
|
|
5
|
+
export { artifactModule, assetBundle, assetFile, resourceLimits, PORTABLE_BASE64_CHUNK_SIZE, } from './types/index.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { policy } from '@astrale-os/sdk/schema';
|
|
2
|
+
import { service_owned_by } from '../classes/service-owned-by.js';
|
|
3
|
+
/** One Identity may observe and manage exactly the Services it owns. */
|
|
4
|
+
export const OwnService = policy({
|
|
5
|
+
description: 'The subject owns this Service.',
|
|
6
|
+
match: ({ edge, object, subject }) => edge({ source: object, class: () => service_owned_by, target: subject }),
|
|
7
|
+
});
|
package/dist/schema/{service/policies.d.ts → modules/service/policies/traverse-owned-service.d.ts}
RENAMED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
/** A Service is visible only to the Identity that owns its provider effects. */
|
|
2
|
-
export declare const ObserveService: import("@astrale-os/sdk/schema").Policy;
|
|
3
1
|
/** Ownership edges disclose only the subject's own Service relationship. */
|
|
4
2
|
export declare const TraverseOwnedService: import("@astrale-os/sdk/schema").Policy;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { policy } from '@astrale-os/sdk/schema';
|
|
2
|
+
import { service_owned_by } from '../classes/service-owned-by.js';
|
|
3
|
+
/** Ownership edges disclose only the subject's own Service relationship. */
|
|
4
|
+
export const TraverseOwnedService = policy({
|
|
5
|
+
description: 'The subject owns the Service at the source of this relationship.',
|
|
6
|
+
match: ({ allOf, edge, source, subject, target }) => allOf(edge({ source, class: () => service_owned_by, target: subject }), edge({ source, class: () => service_owned_by, target })),
|
|
7
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { serviceLifecycle } from './service-lifecycle.js';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type EventOf, type StateOf } from '@astrale-os/sdk/state';
|
|
2
|
+
/** Complete provider-neutral lifecycle topology for one deployed Service. */
|
|
3
|
+
export declare const serviceLifecycle: import("@astrale-os/sdk/schema").StateMachine<{
|
|
4
|
+
readonly deploying: {
|
|
5
|
+
readonly recordProviderDeployment: "reconciling";
|
|
6
|
+
readonly failDeployment: "failed";
|
|
7
|
+
readonly deleteService: "deleting";
|
|
8
|
+
};
|
|
9
|
+
readonly reconciling: {
|
|
10
|
+
readonly retryDeployment: "deploying";
|
|
11
|
+
readonly completeDeployment: "ready";
|
|
12
|
+
readonly deleteService: "deleting";
|
|
13
|
+
};
|
|
14
|
+
readonly ready: {
|
|
15
|
+
readonly redeploy: "deploying";
|
|
16
|
+
readonly deleteService: "deleting";
|
|
17
|
+
};
|
|
18
|
+
readonly failed: {
|
|
19
|
+
readonly retryDeployment: "deploying";
|
|
20
|
+
readonly deleteService: "deleting";
|
|
21
|
+
};
|
|
22
|
+
readonly deleting: {};
|
|
23
|
+
}, "deploying">;
|
|
24
|
+
export type ServiceLifecycle = StateOf<typeof serviceLifecycle>;
|
|
25
|
+
export type ServiceLifecycleEvent = EventOf<typeof serviceLifecycle>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { stateMachine } from '@astrale-os/sdk/state';
|
|
2
|
+
/** Complete provider-neutral lifecycle topology for one deployed Service. */
|
|
3
|
+
export const serviceLifecycle = stateMachine({
|
|
4
|
+
initial: 'deploying',
|
|
5
|
+
transitions: {
|
|
6
|
+
deploying: {
|
|
7
|
+
recordProviderDeployment: 'reconciling',
|
|
8
|
+
failDeployment: 'failed',
|
|
9
|
+
deleteService: 'deleting',
|
|
10
|
+
},
|
|
11
|
+
reconciling: {
|
|
12
|
+
retryDeployment: 'deploying',
|
|
13
|
+
completeDeployment: 'ready',
|
|
14
|
+
deleteService: 'deleting',
|
|
15
|
+
},
|
|
16
|
+
ready: {
|
|
17
|
+
redeploy: 'deploying',
|
|
18
|
+
deleteService: 'deleting',
|
|
19
|
+
},
|
|
20
|
+
failed: {
|
|
21
|
+
retryDeployment: 'deploying',
|
|
22
|
+
deleteService: 'deleting',
|
|
23
|
+
},
|
|
24
|
+
deleting: {},
|
|
25
|
+
},
|
|
26
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { artifactModule } from './service-deployment-artifact-module.js';
|
|
2
|
+
export type { ArtifactModule } from './service-deployment-artifact-module.js';
|
|
3
|
+
export { assetBundle, assetFile } from './service-deployment-assets.js';
|
|
4
|
+
export type { AssetBundle } from './service-deployment-assets.js';
|
|
5
|
+
export { MAX_ASSET_BASE64_SIZE, MAX_MODULE_BASE64_SIZE, PORTABLE_BASE64_CHUNK_SIZE, } from './service-deployment-content.js';
|
|
6
|
+
export { resourceLimits } from './service-deployment-resource-limits.js';
|
|
7
|
+
export type { ResourceLimits } from './service-deployment-resource-limits.js';
|
|
8
|
+
export { secretName } from './service-secret-name.js';
|
|
9
|
+
export { secretOperationRejection } from './service-secret-operation-rejection.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { artifactModule } from './service-deployment-artifact-module.js';
|
|
2
|
+
export { assetBundle, assetFile } from './service-deployment-assets.js';
|
|
3
|
+
export { MAX_ASSET_BASE64_SIZE, MAX_MODULE_BASE64_SIZE, PORTABLE_BASE64_CHUNK_SIZE, } from './service-deployment-content.js';
|
|
4
|
+
export { resourceLimits } from './service-deployment-resource-limits.js';
|
|
5
|
+
export { secretName } from './service-secret-name.js';
|
|
6
|
+
export { secretOperationRejection } from './service-secret-operation-rejection.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { encodedContent, MAX_MODULE_BASE64_SIZE } from './content.js';
|
|
2
|
+
import { encodedContent, MAX_MODULE_BASE64_SIZE } from './service-deployment-content.js';
|
|
3
3
|
const fields = {
|
|
4
4
|
name: z.string().min(1).max(256),
|
|
5
5
|
kind: z.enum(['esm', 'wasm', 'text', 'data']).optional(),
|
package/dist/schema/{deployment/asset.js → modules/service/types/service-deployment-assets.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { encodedContent, MAX_ASSET_BASE64_SIZE } from './content.js';
|
|
2
|
+
import { encodedContent, MAX_ASSET_BASE64_SIZE } from './service-deployment-content.js';
|
|
3
3
|
const fields = {
|
|
4
4
|
path: z.string().min(1).max(2_048),
|
|
5
5
|
contentType: z.string().min(1).max(256).optional(),
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const secretOperationRejection: z.ZodObject<{
|
|
3
|
+
kind: z.ZodLiteral<"rejected">;
|
|
4
|
+
reason: z.ZodEnum<{
|
|
5
|
+
"binding-unavailable": "binding-unavailable";
|
|
6
|
+
"invalid-secret-name": "invalid-secret-name";
|
|
7
|
+
"service-unavailable": "service-unavailable";
|
|
8
|
+
}>;
|
|
9
|
+
}, z.core.$strict>;
|