@astrale-os/sdk 0.5.0-beta.72 → 0.5.0-beta.74

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,30 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.0-beta.74](https://github.com/astrale-os/sdk/compare/sdk-v0.5.0-beta.73...sdk-v0.5.0-beta.74) (2026-08-29)
4
+
5
+
6
+ ### Features
7
+
8
+ * **schema:** remove Property visibility from the V1 facade ([#324](https://github.com/astrale-os/sdk/issues/324)) ([0857b74](https://github.com/astrale-os/sdk/commit/0857b7493fad244999ba374ba73578f73889696e))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **adapter-cloudflare:** route Kernel callbacks through public Worker routes ([#323](https://github.com/astrale-os/sdk/issues/323)) ([a1cea33](https://github.com/astrale-os/sdk/commit/a1cea334d20b749f78d872ad3d6416dbe1e47f4e))
14
+
15
+
16
+ ### Documentation
17
+
18
+ * capture Admin beta delivery journey ([#321](https://github.com/astrale-os/sdk/issues/321)) ([e5cb249](https://github.com/astrale-os/sdk/commit/e5cb24948ddd3a37dda7da1e1897dcfb342cc210))
19
+
20
+ ## [0.5.0-beta.73](https://github.com/astrale-os/sdk/compare/sdk-v0.5.0-beta.72...sdk-v0.5.0-beta.73) (2026-08-28)
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * **adapter-astrale:** discover official CLI installation ([#320](https://github.com/astrale-os/sdk/issues/320)) ([aa5ade5](https://github.com/astrale-os/sdk/commit/aa5ade5e7d861b2b3e037ae84ca14a36fef48fb2))
26
+ * add command-specific astrale-domain help ([#318](https://github.com/astrale-os/sdk/issues/318)) ([4956a77](https://github.com/astrale-os/sdk/commit/4956a77337c70659fa45102bed84e4feab39aad1))
27
+
3
28
  ## [0.5.0-beta.72](https://github.com/astrale-os/sdk/compare/sdk-v0.5.0-beta.71...sdk-v0.5.0-beta.72) (2026-08-28)
4
29
 
5
30
 
@@ -1,9 +1,8 @@
1
- import type { DefinedSchema, NodeClassInput, PropertyOptions, ResolvedDomainOfInput, SchemaInput as DomainSchemaInput } from '@astrale-os/kernel-dsl/v1/builder';
1
+ import type { DefinedSchema, NodeClassInput, ResolvedDomainOfInput, SchemaInput as DomainSchemaInput } from '@astrale-os/kernel-dsl/v1/builder';
2
2
  import { nodeClass as languageNodeClass } from '@astrale-os/kernel-dsl/v1';
3
3
  import type { StateMachine } from '../../../application/state/machine.js';
4
4
  import type { StateClass, StateClassesOfInput, StateDependenciesOfInput, StatePropertiesOfConfig, StateProperty, StateSchema } from './model.js';
5
5
  interface StatePropertyOptions {
6
- readonly visibility?: PropertyOptions['visibility'];
7
6
  readonly description?: string;
8
7
  }
9
8
  type RequiredStatePropertyOptions<Options extends StatePropertyOptions> = Readonly<Options & {
@@ -8,8 +8,8 @@ export function stateProperty(machine, options) {
8
8
  (typeof options !== 'object' ||
9
9
  options === null ||
10
10
  Array.isArray(options) ||
11
- Reflect.ownKeys(options).some((key) => key !== 'visibility' && key !== 'description'))) {
12
- throw new TypeError('stateProperty options are visibility and description only.');
11
+ Reflect.ownKeys(options).some((key) => key !== 'description'))) {
12
+ throw new TypeError('stateProperty options are description only.');
13
13
  }
14
14
  const value = property(machine.stateSchema, {
15
15
  ...options,
@@ -1,6 +1,8 @@
1
1
  import type { LintReportFormat } from '../linter/index.js';
2
+ export declare const COMMANDS: readonly ['dev', 'build', 'deploy', 'lint', 'package'];
3
+ export type Command = (typeof COMMANDS)[number];
2
4
  export interface ParsedArgs {
3
- readonly command: 'dev' | 'build' | 'deploy' | 'lint' | 'package';
5
+ readonly command: Command;
4
6
  readonly env: string;
5
7
  readonly fix?: boolean;
6
8
  readonly format?: LintReportFormat;
@@ -1,4 +1,5 @@
1
1
  import { isIP } from 'node:net';
2
+ export const COMMANDS = ['dev', 'build', 'deploy', 'lint', 'package'];
2
3
  /** Parse the frozen `astrale-domain` command grammar without performing effects. */
3
4
  export function parseArgs(argv) {
4
5
  const [command, ...rest] = argv;
@@ -0,0 +1,8 @@
1
+ import { type Command } from './arguments.js';
2
+ export interface HelpRequest {
3
+ readonly command?: Command;
4
+ }
5
+ /** Resolve help without parsing a project or performing any command effects. */
6
+ export declare function helpRequest(argv: readonly string[]): HelpRequest | undefined;
7
+ export declare function helpText(command?: Command): string;
8
+ export declare const ERROR_USAGE = "Usage: astrale-domain <command> [options]\nRun \"astrale-domain --help\" for available commands.\n";
@@ -0,0 +1,117 @@
1
+ import { COMMANDS } from './arguments.js';
2
+ /** Resolve help without parsing a project or performing any command effects. */
3
+ export function helpRequest(argv) {
4
+ if (!argv.some((argument) => argument === '--help' || argument === '-h'))
5
+ return undefined;
6
+ const command = COMMANDS.find((candidate) => candidate === argv[0]);
7
+ return command === undefined ? Object.freeze({}) : Object.freeze({ command });
8
+ }
9
+ export function helpText(command) {
10
+ return command === undefined ? GLOBAL_HELP : COMMAND_HELP[command];
11
+ }
12
+ export const ERROR_USAGE = `Usage: astrale-domain <command> [options]
13
+ Run "astrale-domain --help" for available commands.
14
+ `;
15
+ const GLOBAL_HELP = `Build, develop, deploy, lint, and package Astrale Domains.
16
+
17
+ Usage:
18
+ astrale-domain <command> [options]
19
+
20
+ Commands:
21
+ dev [environment] Build and run a watched development session.
22
+ build Build and verify without deploying.
23
+ deploy <environment> Deploy through the configured adapter.
24
+ lint Check Domain source and architecture.
25
+ package Prepare public declarations for publication.
26
+
27
+ Options:
28
+ -h, --help Show help.
29
+
30
+ Run "astrale-domain <command> --help" for command-specific help.
31
+ `;
32
+ const COMMAND_HELP = Object.freeze({
33
+ dev: `Build, verify, and run a watched Domain development session.
34
+
35
+ Usage:
36
+ astrale-domain dev [environment] [options]
37
+
38
+ Arguments:
39
+ environment Adapter environment key (default: dev).
40
+
41
+ Options:
42
+ --environment <name> Select the environment without a positional argument.
43
+ --port <port> Use a strict local Worker port (default: OS-allocated).
44
+ --host <url> Use an externally managed public origin; requires a strict port
45
+ from --port or adapter configuration.
46
+ -h, --help Show help for dev.
47
+
48
+ Behavior:
49
+ Builds and verifies the Application, Runtime, and adapter-prepared artifact.
50
+ Serves the generated Worker and an optional Vite frontend. Vite uses its own
51
+ OS-allocated loopback port.
52
+ Watches imported authored sources and declared secrets. Configuration changes
53
+ require restarting the command.
54
+
55
+ Adapters:
56
+ cloudflare Runs the local Worker and optional Vite frontend only;
57
+ it owns no public ingress or Kernel installation.
58
+ astrale Also owns a Quick Tunnel when no public host is configured,
59
+ reconciles each verified Release on the configured or
60
+ CLI-active instance, and starts a local View host when
61
+ a View is declared. The installation remains after the
62
+ development session stops.
63
+ `,
64
+ build: `Build and verify a Domain without deploying it.
65
+
66
+ Usage:
67
+ astrale-domain build
68
+
69
+ Options:
70
+ -h, --help Show help for build.
71
+
72
+ Behavior:
73
+ Compiles the Application and Runtime, runs adapter preparation, and verifies
74
+ the resulting artifact. It does not load declared secrets, deploy, or install
75
+ the Domain.
76
+ `,
77
+ deploy: `Build, verify, and deploy a Domain through its configured adapter.
78
+
79
+ Usage:
80
+ astrale-domain deploy <environment>
81
+ astrale-domain deploy --environment <name>
82
+
83
+ Arguments:
84
+ environment Required adapter environment key.
85
+
86
+ Options:
87
+ --environment <name> Select the environment without a positional argument.
88
+ -h, --help Show help for deploy.
89
+
90
+ Behavior:
91
+ Builds and verifies the Release, loads declared secrets, and invokes the
92
+ adapter deployment. Deployment does not install the deployed Domain on a
93
+ Kernel instance.
94
+ `,
95
+ lint: `Check Domain source and architecture.
96
+
97
+ Usage:
98
+ astrale-domain lint [options]
99
+
100
+ Options:
101
+ --fix Apply supported fixes.
102
+ --format <format> Select stylish or json output (default: stylish).
103
+ -h, --help Show help for lint.
104
+ `,
105
+ package: `Prepare public TypeScript declarations for package publication.
106
+
107
+ Usage:
108
+ astrale-domain package
109
+
110
+ Options:
111
+ -h, --help Show help for package.
112
+
113
+ Behavior:
114
+ Normalizes public declaration references in the current package. This command
115
+ does not load astrale.config.ts and does not require Bun.
116
+ `,
117
+ });
@@ -7,11 +7,13 @@ import { parseArgs } from './arguments.js';
7
7
  import { BunRequiredError } from './bun.js';
8
8
  import { develop } from './development/develop.js';
9
9
  import { loadDeclaredSecrets } from './dotenv.js';
10
+ import { ERROR_USAGE, helpRequest, helpText } from './help.js';
10
11
  import { error, info } from './log.js';
11
12
  const CONFIG_NAMES = ['astrale.config.ts', 'astrale.config.js', 'astrale.config.mjs'];
12
13
  export async function run(argv) {
13
- if (argv.includes('--help') || argv.includes('-h')) {
14
- usage();
14
+ const requestedHelp = helpRequest(argv);
15
+ if (requestedHelp !== undefined) {
16
+ process.stdout.write(helpText(requestedHelp.command));
15
17
  return 0;
16
18
  }
17
19
  let parsed;
@@ -153,5 +155,5 @@ function deploymentLifecycle() {
153
155
  function usage(message) {
154
156
  if (message !== undefined)
155
157
  error(message);
156
- process.stderr.write('Usage: astrale-domain <dev|build|deploy|lint|package> [environment]\n');
158
+ process.stderr.write(ERROR_USAGE);
157
159
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrale-os/sdk",
3
- "version": "0.5.0-beta.72",
3
+ "version": "0.5.0-beta.74",
4
4
  "description": "Schema-first SDK for defining, composing, and deploying Astrale domains",
5
5
  "keywords": [
6
6
  "astrale",
@@ -217,11 +217,11 @@
217
217
  "registry": "https://registry.npmjs.org/"
218
218
  },
219
219
  "dependencies": {
220
- "@astrale-os/kernel-client": "0.6.0-beta.26",
221
- "@astrale-os/kernel-core": "0.9.0-beta.19",
222
- "@astrale-os/kernel-dsl": "0.2.0-beta.15",
223
- "@astrale-os/kernel-protocol": "0.5.0-beta.20",
224
- "@astrale-os/kernel-server": "0.5.0-beta.22",
220
+ "@astrale-os/kernel-client": "0.6.0-beta.29",
221
+ "@astrale-os/kernel-core": "0.9.0-beta.22",
222
+ "@astrale-os/kernel-dsl": "0.2.0-beta.17",
223
+ "@astrale-os/kernel-protocol": "0.5.0-beta.23",
224
+ "@astrale-os/kernel-server": "0.5.0-beta.25",
225
225
  "@typescript/native-preview": "7.0.0-dev.20260707.2",
226
226
  "hono": "^4.13.2",
227
227
  "jose": "^6.2.9",