@astrale-os/cli 1.0.0-beta.2 → 1.0.0-beta.20
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/README.md +16 -1
- package/dist/astrale.js +51105 -58057
- package/dist/public/connect-core.js +2085 -30702
- package/dist/public/keys/index.js +884 -29476
- package/dist/public/paths/index.js +13101 -41452
- package/dist/types/admin/contract.d.ts +26 -0
- package/dist/types/admin/instance/client.d.ts +20 -0
- package/dist/types/admin/instance/index.d.ts +2 -0
- package/dist/types/admin/instance/model.d.ts +6 -10
- package/dist/types/connection/auth.d.ts +3 -0
- package/dist/types/connection/call.d.ts +3 -0
- package/dist/types/connection/command.d.ts +27 -0
- package/dist/types/connection/credential.d.ts +14 -0
- package/dist/types/connection/errors.d.ts +1 -0
- package/dist/types/connection/exchange.d.ts +9 -0
- package/dist/types/connection/failure/classify.d.ts +2 -0
- package/dist/types/connection/failure/index.d.ts +5 -0
- package/dist/types/connection/failure/model.d.ts +25 -0
- package/dist/types/connection/failure/render.d.ts +3 -0
- package/dist/types/connection/index.d.ts +8 -0
- package/dist/types/connection/reasons.d.ts +37 -0
- package/dist/types/connection/self.d.ts +37 -0
- package/dist/types/connection/session.d.ts +31 -0
- package/dist/types/connection/target.d.ts +38 -0
- package/dist/types/errors.d.ts +1 -1
- package/dist/types/lib/admin-instance.d.ts +17 -0
- package/dist/types/lib/admin-target.d.ts +11 -36
- package/dist/types/lib/config.d.ts +7 -59
- package/dist/types/lib/failure-debug.d.ts +1 -0
- package/dist/types/lib/idp.d.ts +25 -173
- package/dist/types/lib/instance-target.d.ts +1 -1
- package/dist/types/lib/instance.d.ts +30 -88
- package/dist/types/lib/log.d.ts +5 -3
- package/dist/types/lib/output.d.ts +1 -1
- package/dist/types/lib/proc.d.ts +43 -0
- package/dist/types/lib/self.d.ts +9 -0
- package/dist/types/lib/update.d.ts +109 -0
- package/dist/types/lib/validation.d.ts +4 -1
- package/package.json +15 -20
- package/src/__tests__/fixtures/publication.ts +20 -0
- package/src/admin/.spec/architecture.md +12 -5
- package/src/admin/__tests__/fixture.ts +25 -0
- package/src/admin/catalog/.spec/api.d.ts +1 -3
- package/src/admin/catalog/.spec/architecture.md +5 -4
- package/src/admin/catalog/__tests__/client.test.ts +143 -69
- package/src/admin/catalog/client.ts +40 -54
- package/src/admin/catalog/model.ts +3 -4
- package/src/admin/contract.ts +46 -0
- package/src/admin/graph/.spec/api.d.ts +4 -10
- package/src/admin/graph/nodes.ts +1 -1
- package/src/admin/instance/.spec/api.d.ts +5 -9
- package/src/admin/instance/.spec/architecture.md +7 -7
- package/src/admin/instance/__tests__/client.test.ts +157 -175
- package/src/admin/instance/client.ts +39 -128
- package/src/admin/instance/index.ts +1 -2
- package/src/admin/instance/model.ts +12 -18
- package/src/commands/__tests__/admin-instance.test.ts +11 -8
- package/src/commands/__tests__/call-describe.test.ts +46 -33
- package/src/commands/__tests__/call.test.ts +34 -0
- package/src/commands/__tests__/domain-install-operation.test.ts +7 -22
- package/src/commands/__tests__/domain-install-owned.test.ts +1 -1
- package/src/commands/__tests__/domain-list.test.ts +5 -25
- package/src/commands/__tests__/install-direct.test.ts +115 -8
- package/src/commands/__tests__/install-identity-override.test.ts +3 -14
- package/src/commands/__tests__/instance-list-rows.test.ts +1 -1
- package/src/commands/__tests__/instance-status.test.ts +139 -0
- package/src/commands/__tests__/introspect-parse.test.ts +80 -1
- package/src/commands/__tests__/logs.test.ts +250 -2
- package/src/commands/__tests__/read-commands.test.ts +62 -10
- package/src/commands/__tests__/token-ttl.test.ts +49 -4
- package/src/commands/__tests__/update.test.ts +25 -3
- package/src/commands/__tests__/view.test.ts +49 -0
- package/src/commands/call-describe.ts +60 -68
- package/src/commands/call.ts +71 -59
- package/src/commands/domain/install.ts +54 -35
- package/src/commands/domain/list.ts +1 -1
- package/src/commands/domain/publish.ts +14 -11
- package/src/commands/domain/uninstall.ts +2 -2
- package/src/commands/get.ts +14 -15
- package/src/commands/identity/__tests__/register.test.ts +3 -3
- package/src/commands/identity/register.ts +5 -4
- package/src/commands/instance/create.ts +8 -16
- package/src/commands/instance/delete.ts +12 -9
- package/src/commands/instance/list.ts +2 -2
- package/src/commands/instance/status.ts +66 -20
- package/src/commands/instance/use.ts +16 -12
- package/src/commands/introspect.ts +48 -35
- package/src/commands/logs.ts +123 -33
- package/src/commands/mutate.ts +6 -5
- package/src/commands/query.ts +35 -32
- package/src/commands/token.ts +42 -27
- package/src/commands/ui/__tests__/commands.test.ts +152 -0
- package/src/commands/ui/add.ts +51 -0
- package/src/commands/ui/doctor.ts +13 -0
- package/src/commands/ui/init.ts +38 -0
- package/src/commands/ui/list.ts +26 -0
- package/src/commands/ui/preset-apply.ts +19 -0
- package/src/commands/ui/preset-list.ts +12 -0
- package/src/commands/ui/shared.ts +25 -0
- package/src/commands/update.ts +31 -11
- package/src/commands/view.ts +82 -37
- package/src/connection/.spec/api.d.ts +7 -8
- package/src/connection/.spec/architecture.md +5 -4
- package/src/connection/.spec/flows/session.ts +2 -2
- package/src/connection/.spec/laws/connection.ts +6 -2
- package/src/connection/.spec/layout.ts +1 -0
- package/src/connection/__tests__/credential.test.ts +20 -1
- package/src/connection/__tests__/errors.test.ts +27 -20
- package/src/connection/__tests__/exchange.test.ts +30 -1
- package/src/connection/__tests__/failure-fixtures.ts +39 -0
- package/src/connection/__tests__/failure-safety.test.ts +75 -0
- package/src/connection/__tests__/self.test.ts +31 -11
- package/src/connection/__tests__/session.test.ts +3 -3
- package/src/connection/__tests__/target.test.ts +1 -0
- package/src/connection/auth.ts +13 -0
- package/src/connection/call.ts +1 -1
- package/src/connection/credential.ts +2 -2
- package/src/connection/errors.ts +1 -355
- package/src/connection/exchange.ts +47 -23
- package/src/connection/failure/classify.ts +110 -0
- package/src/connection/failure/index.ts +18 -0
- package/src/connection/failure/model.ts +28 -0
- package/src/connection/failure/render.ts +116 -0
- package/src/connection/reasons.ts +16 -0
- package/src/connection/self.ts +39 -21
- package/src/connection/session.ts +19 -8
- package/src/errors.ts +3 -2
- package/src/graph/.spec/api.d.ts +12 -5
- package/src/graph/.spec/layout.ts +9 -1
- package/src/graph/__tests__/mutation.test.ts +2 -2
- package/src/graph/__tests__/query.test.ts +25 -6
- package/src/graph/class.ts +30 -0
- package/src/graph/index.ts +1 -0
- package/src/graph/query.ts +21 -32
- package/src/identity/.spec/api.d.ts +2 -2
- package/src/identity/__tests__/registration.test.ts +1 -1
- package/src/identity/registration.ts +3 -3
- package/src/keys/__tests__/keys.test.ts +4 -0
- package/src/keys/credential.ts +1 -0
- package/src/lib/__tests__/admin-target.test.ts +12 -0
- package/src/lib/__tests__/binary.test.ts +16 -1
- package/src/lib/__tests__/command-dx.test.ts +1 -1
- package/src/lib/__tests__/domain-publication.test.ts +10 -16
- package/src/lib/__tests__/idp.test.ts +34 -4
- package/src/lib/__tests__/instance-candidates.test.ts +1 -3
- package/src/lib/__tests__/instance-target.test.ts +7 -39
- package/src/lib/__tests__/log-errors.test.ts +64 -0
- package/src/lib/__tests__/studio-server-deps.test.ts +1 -1
- package/src/lib/__tests__/update.test.ts +264 -11
- package/src/lib/__tests__/view-assets.test.ts +14 -0
- package/src/lib/__tests__/view-external-open-intent.test.ts +150 -0
- package/src/lib/__tests__/view-external-open-origins.test.ts +27 -0
- package/src/lib/__tests__/view-open-intent.test.ts +0 -2
- package/src/lib/__tests__/view-server.test.ts +26 -3
- package/src/lib/__tests__/view-session.test.ts +2 -1
- package/src/lib/admin-instance.ts +14 -8
- package/src/lib/admin-target.ts +21 -2
- package/src/lib/binary.ts +22 -5
- package/src/lib/command-dx.ts +9 -9
- package/src/lib/domain-publication.ts +9 -7
- package/src/lib/failure-debug.ts +26 -0
- package/src/lib/idp.ts +34 -3
- package/src/lib/instance-candidates.ts +2 -2
- package/src/lib/instance-target.ts +3 -14
- package/src/lib/instance.ts +16 -11
- package/src/lib/log.ts +16 -9
- package/src/lib/output.ts +1 -1
- package/src/lib/proc.ts +7 -2
- package/src/lib/provision-instance.ts +34 -57
- package/src/lib/update.ts +298 -45
- package/src/lib/validation.ts +2 -2
- package/src/lib/view/assets.ts +11 -2
- package/src/lib/view/external-open-intent.ts +41 -0
- package/src/lib/view/external-open-origins.ts +37 -0
- package/src/lib/view/host-capabilities.ts +17 -0
- package/src/lib/view/resolve.ts +1 -1
- package/src/lib/view/server.ts +18 -3
- package/src/lib/view/session.ts +2 -0
- package/src/program/.spec/api.d.ts +1 -0
- package/src/program/__tests__/program.test.ts +163 -6
- package/src/program/argv.ts +14 -0
- package/src/program/build.ts +26 -4
- package/src/program/command.ts +1 -0
- package/src/program/index.ts +1 -0
- package/src/program/registry.ts +2 -1
- package/src/setup/__tests__/instance-step.test.ts +27 -10
- package/src/setup/steps/instance.ts +22 -15
- package/src/telemetry/__tests__/recorder.test.ts +1 -0
- package/src/telemetry/recorder.ts +9 -1
- package/src/ui/.spec/api.d.ts +14 -0
- package/src/ui/.spec/architecture.md +10 -0
- package/src/ui/.spec/laws.ts +36 -0
- package/src/ui/.spec/layout.ts +16 -0
- package/src/ui/__tests__/ui.test.ts +981 -0
- package/src/ui/index.ts +13 -0
- package/src/ui/lock.ts +87 -0
- package/src/ui/model.ts +83 -0
- package/src/ui/operations.ts +710 -0
- package/src/ui/project.ts +219 -0
- package/src/ui/release.ts +321 -0
- package/src/ui/runner.ts +18 -0
- package/studio/client/dist/assets/elk-api-DjmKsHXc.js +1 -0
- package/studio/client/dist/assets/index-7YHdeCxp.js +81 -0
- package/studio/client/dist/assets/index-C0FAnwNw.css +2 -0
- package/studio/client/dist/assets/rolldown-runtime-Dd_uD5pT.js +1 -0
- package/studio/client/dist/assets/schema-studio-BilUNb6Z.css +1 -0
- package/studio/client/dist/assets/schema-studio-CABpTfvH.js +8 -0
- package/studio/client/dist/index.html +3 -2
- package/studio/package.json +7 -13
- package/studio/server/agent/ask.test.ts +1 -1
- package/studio/server/agent/bridge/grant.test.ts +1 -1
- package/studio/server/agent/bridge/routes.test.ts +1 -1
- package/studio/server/agent/harness/claude/adapter.test.ts +15 -5
- package/studio/server/agent/harness/gateway/token.test.ts +1 -1
- package/studio/server/agent/harness/gateway/token.ts +3 -3
- package/studio/server/agent/prompts/anchors.test.ts +32 -36
- package/studio/server/agent/prompts/anchors.ts +20 -49
- package/studio/server/agent/prompts/system.test.ts +3 -2
- package/studio/server/agent/prompts/system.ts +3 -3
- package/studio/server/agent/routes.test.ts +1 -1
- package/studio/server/agent/run/coordinator.test.ts +1 -1
- package/studio/server/api/canvas.ts +0 -1
- package/studio/server/api-agent-loadout.test.ts +1 -1
- package/studio/server/api.test.ts +1 -1
- package/studio/server/cache.test.ts +23 -12
- package/studio/server/cache.ts +12 -15
- package/studio/server/domain.test.ts +50 -68
- package/studio/server/domain.ts +82 -63
- package/studio/server/handoff/copy.ts +1 -1
- package/studio/server/index.ts +1 -1
- package/studio/server/instances/probe.test.ts +1 -1
- package/studio/server/introspect/anatomy/views/routes.ts +46 -37
- package/studio/server/introspect/anatomy/views.ts +9 -14
- package/studio/server/introspect/anatomy-extras.test.ts +26 -42
- package/studio/server/introspect/anatomy.test.ts +22 -14
- package/studio/server/introspect/anatomy.ts +6 -9
- package/studio/server/introspect/bundle.ts +0 -3
- package/studio/server/introspect/canonical-schema.test.ts +94 -389
- package/studio/server/introspect/canonical-schema.ts +227 -457
- package/studio/server/introspect/core-extractor.ts +18 -127
- package/studio/server/introspect/core.ts +1 -2
- package/studio/server/introspect/diff.test.ts +11 -7
- package/studio/server/introspect/diff.ts +18 -55
- package/studio/server/introspect/extractor.ts +22 -117
- package/studio/server/introspect/overlay-tsmorph.test.ts +119 -240
- package/studio/server/introspect/overlay.test.ts +26 -54
- package/studio/server/introspect/overlay.ts +10 -37
- package/studio/server/introspect/revision.test.ts +1 -1
- package/studio/server/introspect/revision.ts +1 -1
- package/studio/server/introspect/runtime.test.ts +65 -183
- package/studio/server/introspect/runtime.ts +8 -25
- package/studio/server/introspect/schema-ir-json.test.ts +70 -0
- package/studio/server/introspect/schema-ir-json.ts +38 -68
- package/studio/server/introspect/schema-refs.test.ts +43 -88
- package/studio/server/introspect/schema-refs.ts +14 -49
- package/studio/server/introspect/source-overlay/handlers.ts +116 -636
- package/studio/server/introspect/source-overlay/kernel-calls.ts +0 -3
- package/studio/server/introspect/source-overlay/spans.ts +15 -45
- package/studio/server/state/baseline.test.ts +14 -9
- package/studio/server/state/baseline.ts +3 -5
- package/studio/server/state/visibility.ts +1 -5
- package/studio/server/views/model.ts +3 -3
- package/studio/server/views/target.test.ts +17 -74
- package/studio/server/views/target.ts +24 -50
- package/studio/server/watch.test.ts +11 -11
- package/studio/server/watch.ts +8 -4
- package/studio/server/workspace-watch.ts +2 -2
- package/studio/shared/contracts/schema.ts +38 -107
- package/studio/shared/contracts/surface.test.ts +13 -15
- package/studio/shared/contracts/workspace.ts +2 -11
- package/studio/shared/schema/identity.test.ts +20 -44
- package/studio/shared/schema/identity.ts +9 -23
- package/viewer/dist/main.js +30 -51
- package/.check-workspace.cjs +0 -40
- package/src/admin/binding.ts +0 -168
- package/src/commands/__tests__/instance-create-hosts.test.ts +0 -29
- package/studio/client/dist/assets/elk-api-lwhFo7vB.js +0 -1
- package/studio/client/dist/assets/index-B-c-smo9.js +0 -8
- package/studio/client/dist/assets/index-BckHuAWk.js +0 -81
- package/studio/client/dist/assets/index-C4aNQ6dz.css +0 -1
- package/studio/client/dist/assets/index-ChOr3yP0.css +0 -1
- package/studio/server/introspect/anatomy/views/legacy.ts +0 -232
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Input } from '@astrale-os/sdk/client';
|
|
2
|
+
import type { ClientSession } from '@astrale-os/sdk/client/session';
|
|
3
|
+
import type { ClassRef } from '@astrale-os/sdk/schema';
|
|
4
|
+
import { Path } from '@astrale-os/sdk/graph/path';
|
|
5
|
+
export declare const AdminContract: Readonly<{
|
|
6
|
+
origin: "admin.astrale.ai";
|
|
7
|
+
fleet: Path;
|
|
8
|
+
classes: Readonly<{
|
|
9
|
+
Domain: ClassRef;
|
|
10
|
+
}>;
|
|
11
|
+
edges: Readonly<{
|
|
12
|
+
fleetInstallsDomainByDefault: ClassRef;
|
|
13
|
+
}>;
|
|
14
|
+
properties: Readonly<{
|
|
15
|
+
domain: Readonly<{
|
|
16
|
+
origin: `${string}:class.${string}.property.origin`;
|
|
17
|
+
name: "kernel.astrale.ai:class.Named.property.name";
|
|
18
|
+
discoveryUrl: `${string}:class.${string}.property.discoveryUrl`;
|
|
19
|
+
description: "kernel.astrale.ai:class.Descriptable.property.description";
|
|
20
|
+
createdAt: "kernel.astrale.ai:class.Timestamped.property.createdAt";
|
|
21
|
+
updatedAt: "kernel.astrale.ai:class.Timestamped.property.updatedAt";
|
|
22
|
+
}>;
|
|
23
|
+
}>;
|
|
24
|
+
}>;
|
|
25
|
+
/** Invoke one stable Admin instance Method without schema discovery or reflection. */
|
|
26
|
+
export declare function callAdminMethod(session: ClientSession, receiver: Path, method: string, input: Input): Promise<unknown>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ClientSession } from '@astrale-os/sdk/client/session';
|
|
2
|
+
import { type DomainInstallReceipt, type InstanceInfo, type OwnedInstanceInfo } from './model';
|
|
3
|
+
export interface AdminInstanceContext {
|
|
4
|
+
readonly session: ClientSession;
|
|
5
|
+
}
|
|
6
|
+
export interface AdminInstanceApi {
|
|
7
|
+
list(): Promise<OwnedInstanceInfo[]>;
|
|
8
|
+
create(slug: string): Promise<InstanceInfo>;
|
|
9
|
+
status(identifier: string): Promise<InstanceInfo>;
|
|
10
|
+
delete(identifier: string): Promise<InstanceInfo>;
|
|
11
|
+
installDomain(identifier: string, domain: string): Promise<DomainInstallReceipt>;
|
|
12
|
+
}
|
|
13
|
+
export interface AdminInstanceDependencies {
|
|
14
|
+
readonly operationId?: (kind: 'create' | 'status' | 'delete' | 'install-domain') => string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Connect the public Instance journey through stable Admin call paths. Routine
|
|
18
|
+
* operations perform no schema discovery. No Host lifecycle method is present.
|
|
19
|
+
*/
|
|
20
|
+
export declare function connectAdminInstances(context: AdminInstanceContext, dependencies?: AdminInstanceDependencies): Promise<AdminInstanceApi>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { connectAdminInstances, type AdminInstanceApi, type AdminInstanceContext, type AdminInstanceDependencies, } from './client';
|
|
2
|
+
export { AdminInstanceNotFoundError, findOwnedInstance, formatInstanceState, type DomainInstallReceipt, type InstanceInfo, type InstanceState, type OwnedInstanceInfo, } from './model';
|
|
@@ -6,10 +6,11 @@ export interface InstanceInfo {
|
|
|
6
6
|
readonly url: string;
|
|
7
7
|
readonly hostId?: string;
|
|
8
8
|
readonly region?: string;
|
|
9
|
-
readonly state
|
|
9
|
+
readonly state: InstanceState;
|
|
10
10
|
readonly phase?: string;
|
|
11
11
|
readonly error?: string | null;
|
|
12
12
|
readonly createdAt?: string;
|
|
13
|
+
readonly updatedAt?: string;
|
|
13
14
|
readonly organizationId?: string;
|
|
14
15
|
}
|
|
15
16
|
/** An Instance returned through the caller-scoped Admin graph inventory. */
|
|
@@ -24,17 +25,12 @@ export interface DomainInstallReceipt {
|
|
|
24
25
|
readonly installedRevision?: string;
|
|
25
26
|
readonly error?: string;
|
|
26
27
|
}
|
|
27
|
-
export declare class AdminInstanceNotFoundError extends
|
|
28
|
-
readonly identifier: string;
|
|
29
|
-
readonly name = "NotFoundError";
|
|
30
|
-
constructor(identifier: string);
|
|
31
|
-
}
|
|
32
|
-
export declare class AdminHostNotFoundError extends Error {
|
|
28
|
+
export declare class AdminInstanceNotFoundError extends AstraleError {
|
|
33
29
|
readonly identifier: string;
|
|
34
|
-
readonly name = "NotFoundError";
|
|
35
30
|
constructor(identifier: string);
|
|
36
31
|
}
|
|
37
32
|
/** Match an owner-scoped Instance by slug, canonical Node Path, or bare Node id. */
|
|
38
33
|
export declare function findOwnedInstance(instances: readonly OwnedInstanceInfo[], identifier: string): OwnedInstanceInfo | undefined;
|
|
39
|
-
/** Human-readable
|
|
40
|
-
export declare function
|
|
34
|
+
/** Human-readable non-ready lifecycle state for one Instance. */
|
|
35
|
+
export declare function formatInstanceState(info: InstanceInfo): string;
|
|
36
|
+
import { AstraleError } from '../../errors';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AstraleConfig } from '../lib/config';
|
|
2
|
+
import type { ConnectionOptions, ConnectionTarget } from './target';
|
|
2
3
|
import { type Identity } from '../identity/registry';
|
|
3
4
|
import { IdpAudienceMismatchError } from '../lib/idp';
|
|
4
5
|
import { IdpSessionNoRefreshTokenError } from '../lib/idp-session';
|
|
@@ -7,6 +8,8 @@ export type KeyIdentityAuthOptions = {
|
|
|
7
8
|
subject?: string;
|
|
8
9
|
audience: string;
|
|
9
10
|
};
|
|
11
|
+
/** Pin the local identity label before a session performs any authenticated effect. */
|
|
12
|
+
export declare function bindCredentialIdentity<Options extends ConnectionOptions>(options: Options, target: ConnectionTarget): Promise<Options>;
|
|
10
13
|
/**
|
|
11
14
|
* Resolve a signed JWT credential from CLI options.
|
|
12
15
|
*
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ConnectionContext } from './session';
|
|
2
|
+
import type { ConnectionOptions } from './target';
|
|
3
|
+
export interface KernelCommandOpts extends ConnectionOptions {
|
|
4
|
+
readonly raw?: boolean;
|
|
5
|
+
readonly json?: boolean;
|
|
6
|
+
readonly format?: 'yaml' | 'json';
|
|
7
|
+
readonly debug?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface OperationRecovery {
|
|
10
|
+
readonly operation: string;
|
|
11
|
+
readonly retry: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Encapsulates the standard kernel command lifecycle:
|
|
15
|
+
* spinner → connect → call → timing → output → error handling.
|
|
16
|
+
*
|
|
17
|
+
* Commands provide a `fn` that does the actual work and an optional
|
|
18
|
+
* `format` callback for custom output. If `format` is omitted, the
|
|
19
|
+
* result is passed to the standard `output()` function.
|
|
20
|
+
*/
|
|
21
|
+
export declare function runKernelCommand<T>(input: {
|
|
22
|
+
readonly opts: KernelCommandOpts;
|
|
23
|
+
readonly label: string;
|
|
24
|
+
readonly recovery?: OperationRecovery;
|
|
25
|
+
readonly fn: (context: ConnectionContext) => Promise<T>;
|
|
26
|
+
readonly format?: (result: T, options: KernelCommandOpts, machine: boolean) => void | Promise<void>;
|
|
27
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Fetch } from '@astrale-os/sdk/client';
|
|
2
|
+
import type { SessionAuth } from '@astrale-os/sdk/client/session';
|
|
3
|
+
import { type IssuerId } from '@astrale-os/sdk/auth';
|
|
4
|
+
import type { AstraleConfig } from '../lib/config';
|
|
5
|
+
import type { ConnectionOptions, ConnectionTarget } from './target';
|
|
6
|
+
export interface SourceCredentialResolver {
|
|
7
|
+
resolve(audience: IssuerId, signal: AbortSignal): Promise<string>;
|
|
8
|
+
}
|
|
9
|
+
/** Resolve source authority; an omitted Session delegation preserves exact current authority. */
|
|
10
|
+
export declare function createConnectionCredential(expectedSourceIssuer: IssuerId, source: SourceCredentialResolver): SessionAuth;
|
|
11
|
+
/** Bind CLI identity state and Core Auth delegation to one Session auth capability. */
|
|
12
|
+
export declare function createCliCredential(target: ConnectionTarget, options: ConnectionOptions, config: AstraleConfig, fetch?: Fetch, timeoutMs?: number): SessionAuth | undefined;
|
|
13
|
+
/** Reject contradictory explicit credential selections before identity or network access. */
|
|
14
|
+
export declare function validateCredentialSelection(options: ConnectionOptions): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { formatKernelError, functionInputIssues, schemaUpgradeHint } from './failure';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IssuerId } from '@astrale-os/sdk/auth';
|
|
2
|
+
import type { Fetch } from '@astrale-os/sdk/client';
|
|
3
|
+
import type { SourceCredentialResolver } from './credential';
|
|
4
|
+
import type { ConnectionTarget } from './target';
|
|
5
|
+
import { ExchangeCredentialCache } from '../state/exchange-credentials';
|
|
6
|
+
/** Exchange exact authenticated User authority for a Domain bearer bound to this Kernel. */
|
|
7
|
+
export declare function createExchangeCredentialResolver(target: ConnectionTarget & {
|
|
8
|
+
readonly domainIssuer: IssuerId;
|
|
9
|
+
}, source: SourceCredentialResolver, fetch: Fetch, timeoutMs: number, cache?: ExchangeCredentialCache): SourceCredentialResolver;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { OperationRecovery } from '../command';
|
|
2
|
+
export { functionInputIssues, schemaUpgradeHint } from '../reasons';
|
|
3
|
+
export declare function formatKernelError(error: unknown, machine: boolean, urlArg?: string, debug?: boolean, options?: {
|
|
4
|
+
recovery?: OperationRecovery;
|
|
5
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type TransportDiagnosticContext = {
|
|
2
|
+
readonly kind: 'acquisition';
|
|
3
|
+
readonly resource: 'publication' | 'bundle';
|
|
4
|
+
} | {
|
|
5
|
+
readonly kind: 'invocation';
|
|
6
|
+
readonly delivery: 'not-sent' | 'unknown';
|
|
7
|
+
readonly invocation?: unknown;
|
|
8
|
+
};
|
|
9
|
+
export type FailureDiagnostic = {
|
|
10
|
+
readonly kind: 'simple';
|
|
11
|
+
readonly code: string;
|
|
12
|
+
readonly message: string;
|
|
13
|
+
readonly hint?: string;
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: 'response';
|
|
16
|
+
readonly code: number;
|
|
17
|
+
readonly message: string;
|
|
18
|
+
readonly reason?: unknown;
|
|
19
|
+
} | {
|
|
20
|
+
readonly kind: 'transport';
|
|
21
|
+
readonly code: 'CONNECTION_ERROR' | 'DISCONNECTED' | 'TIMEOUT' | 'TRANSPORT_ERROR';
|
|
22
|
+
readonly message: string;
|
|
23
|
+
readonly phase: string;
|
|
24
|
+
readonly context: TransportDiagnosticContext;
|
|
25
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { createPathCall } from './call';
|
|
2
|
+
export { runKernelCommand } from './command';
|
|
3
|
+
export type { KernelCommandOpts, OperationRecovery } from './command';
|
|
4
|
+
export { expandSelfInCall, expandSelfInPath, withSelfHint } from './self';
|
|
5
|
+
export type { SelfExpansionMeta } from './self';
|
|
6
|
+
export { withAdminClientSession, withClientSession, type ConnectionContext } from './session';
|
|
7
|
+
export { registrationKeyForTarget } from './target';
|
|
8
|
+
export type { AdminConnectionOptions, ConnectionOptions, ConnectionTarget } from './target';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export type FunctionInputIssue = Readonly<{
|
|
2
|
+
code: string;
|
|
3
|
+
path?: string;
|
|
4
|
+
message: string;
|
|
5
|
+
}>;
|
|
6
|
+
export type QueryInputRepair = Readonly<{
|
|
7
|
+
phase: 'decode' | 'input';
|
|
8
|
+
path: string;
|
|
9
|
+
}> | Readonly<{
|
|
10
|
+
phase: 'plan';
|
|
11
|
+
issue: string;
|
|
12
|
+
path?: string;
|
|
13
|
+
}> | Readonly<{
|
|
14
|
+
phase: 'limit';
|
|
15
|
+
limit: string;
|
|
16
|
+
maximum: number;
|
|
17
|
+
actual: number;
|
|
18
|
+
path?: string;
|
|
19
|
+
}>;
|
|
20
|
+
export type SchemaUpgradeDetails = {
|
|
21
|
+
readonly origin?: string;
|
|
22
|
+
readonly issue?: undefined;
|
|
23
|
+
} | {
|
|
24
|
+
readonly origin: string;
|
|
25
|
+
readonly issue: 'issuer-changed';
|
|
26
|
+
readonly installedIssuer: string;
|
|
27
|
+
readonly replacementIssuer: string;
|
|
28
|
+
};
|
|
29
|
+
export declare function reasonCode(reason: unknown): string | undefined;
|
|
30
|
+
/** Admit only bounded caller-safe Function input issues established by the Kernel. */
|
|
31
|
+
export declare function functionInputIssues(reason: unknown): readonly FunctionInputIssue[];
|
|
32
|
+
/** Admit only public Query-input repair variants; unknown details remain machine-only. */
|
|
33
|
+
export declare function queryInputRepair(reason: unknown): QueryInputRepair | undefined;
|
|
34
|
+
/** Decode bounded recovery guidance while preserving the admitted reason itself elsewhere. */
|
|
35
|
+
export declare function schemaUpgradeDetails(reason: unknown): SchemaUpgradeDetails | undefined;
|
|
36
|
+
export declare function schemaUpgradeHint(details: SchemaUpgradeDetails): string;
|
|
37
|
+
export declare function schemaDataRemovalHint(reason: unknown): string | undefined;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ConnectionContext } from './session';
|
|
2
|
+
/** Metadata attached to errors after an authenticated caller-authored @self expansion. */
|
|
3
|
+
export interface SelfExpansionMeta {
|
|
4
|
+
readonly original: string;
|
|
5
|
+
readonly expanded: string;
|
|
6
|
+
readonly selfId: string;
|
|
7
|
+
readonly slug?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Run `action`; if it throws NodeUnavailableError, retain the authenticated
|
|
11
|
+
* expansion for precise diagnostics. The error is re-thrown either way.
|
|
12
|
+
*/
|
|
13
|
+
export declare function withSelfHint<T>(action: () => Promise<T>, meta: SelfExpansionMeta | undefined): Promise<T>;
|
|
14
|
+
type AuthenticatedSelf = {
|
|
15
|
+
readonly id?: unknown;
|
|
16
|
+
readonly slug?: string;
|
|
17
|
+
};
|
|
18
|
+
export type ResolveSelfIdDependencies = {
|
|
19
|
+
readonly whoami?: (context: ConnectionContext) => Promise<AuthenticatedSelf>;
|
|
20
|
+
};
|
|
21
|
+
/** Resolve @self only from the effective principal authenticated by the selected Kernel. */
|
|
22
|
+
export declare function resolveSelfIdAuthenticated(context: ConnectionContext, dependencies?: ResolveSelfIdDependencies): Promise<{
|
|
23
|
+
readonly id: string;
|
|
24
|
+
readonly slug?: string;
|
|
25
|
+
}>;
|
|
26
|
+
/** Expand @self in path-like commands and return metadata for NotFound diagnostics. */
|
|
27
|
+
export declare function expandSelfInPath(path: string, context: ConnectionContext): Promise<{
|
|
28
|
+
readonly path: string;
|
|
29
|
+
readonly meta?: SelfExpansionMeta;
|
|
30
|
+
}>;
|
|
31
|
+
/** Expand @self once across one Call path and its CLI-authored string parameters. */
|
|
32
|
+
export declare function expandSelfInCall(path: string, parameters: Readonly<Record<string, unknown>>, context: ConnectionContext): Promise<{
|
|
33
|
+
readonly path: string;
|
|
34
|
+
readonly parameters: Readonly<Record<string, unknown>>;
|
|
35
|
+
readonly meta?: SelfExpansionMeta;
|
|
36
|
+
}>;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AuthApi } from '@astrale-os/sdk/auth';
|
|
2
|
+
import type { GraphApi } from '@astrale-os/sdk/client';
|
|
3
|
+
import type { ClientSessionOptions, SessionAuth } from '@astrale-os/sdk/client/session';
|
|
4
|
+
import { ClientSession } from '@astrale-os/sdk/client/session';
|
|
5
|
+
import type { AstraleConfig } from '../lib/config';
|
|
6
|
+
import type { AdminConnectionOptions, ConnectionOptions, ConnectionTarget } from './target';
|
|
7
|
+
import { connectAdminInstances, type InstanceInfo } from '../admin/instance';
|
|
8
|
+
export interface ConnectionContext {
|
|
9
|
+
readonly session: ClientSession;
|
|
10
|
+
readonly graph: GraphApi;
|
|
11
|
+
readonly auth: AuthApi;
|
|
12
|
+
readonly target: ConnectionTarget;
|
|
13
|
+
/** Local identity label selected for this session; absent for raw credentials or anonymous use. */
|
|
14
|
+
readonly identity?: string;
|
|
15
|
+
}
|
|
16
|
+
interface OwnedConnection {
|
|
17
|
+
readonly context: ConnectionContext;
|
|
18
|
+
close(): void;
|
|
19
|
+
}
|
|
20
|
+
export type ConnectionFactory = (target: ConnectionTarget, timeoutMs: number, options: ConnectionOptions, config: AstraleConfig) => OwnedConnection;
|
|
21
|
+
/** Resolve one ordinary target, run a command action, then close terminally. */
|
|
22
|
+
export declare function withClientSession<Value>(options: ConnectionOptions, action: (context: ConnectionContext) => Promise<Value>): Promise<Value>;
|
|
23
|
+
/** Resolve the configured Admin Domain target under the same terminal lifecycle. */
|
|
24
|
+
export declare function withAdminClientSession<Value>(options: AdminConnectionOptions, action: (context: ConnectionContext) => Promise<Value>): Promise<Value>;
|
|
25
|
+
/** Owner-private seam used to prove validation order and cleanup without network I/O. */
|
|
26
|
+
export declare function withResolvedClientSession<Value>(target: ConnectionTarget, options: ConnectionOptions, config: AstraleConfig, action: (context: ConnectionContext) => Promise<Value>, open?: ConnectionFactory): Promise<Value>;
|
|
27
|
+
export declare function resolveTimeoutMs(raw: string | undefined): number;
|
|
28
|
+
/** Owner-private construction seam proving that transport and source identity stay distinct. */
|
|
29
|
+
export declare function createClientSessionOptions(target: ConnectionTarget, fetch: NonNullable<ClientSessionOptions['fetch']>, auth: SessionAuth | undefined, timeoutMs: number): ClientSessionOptions;
|
|
30
|
+
export declare function lookupManagedInstance(slug: string, options: ConnectionOptions, openAdmin?: typeof withAdminClientSession, connect?: typeof connectAdminInstances): Promise<InstanceInfo>;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { IssuerId } from '@astrale-os/sdk/auth';
|
|
2
|
+
import type { InstanceInfo } from '../lib/admin-instance';
|
|
3
|
+
import type { AdminTargetCommandOpts } from '../lib/admin-target';
|
|
4
|
+
import type { AstraleConfig } from '../lib/config';
|
|
5
|
+
import type { InstanceStore } from '../lib/instance';
|
|
6
|
+
export interface ConnectionOptions {
|
|
7
|
+
readonly url?: string;
|
|
8
|
+
readonly instance?: string;
|
|
9
|
+
readonly timeout?: string;
|
|
10
|
+
readonly as?: string;
|
|
11
|
+
readonly creds?: string;
|
|
12
|
+
readonly anonymous?: boolean;
|
|
13
|
+
readonly ci?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface AdminConnectionOptions extends ConnectionOptions {
|
|
16
|
+
readonly admin?: string;
|
|
17
|
+
readonly adminUrl?: string;
|
|
18
|
+
readonly domainIssuer?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ConnectionTarget {
|
|
21
|
+
readonly url: string;
|
|
22
|
+
readonly kernelIssuer: IssuerId;
|
|
23
|
+
readonly domainIssuer?: IssuerId;
|
|
24
|
+
readonly slug?: string;
|
|
25
|
+
readonly defaultIdentity?: string;
|
|
26
|
+
readonly caFile?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface TargetDependencies {
|
|
29
|
+
readonly instances?: InstanceStore;
|
|
30
|
+
readonly managed?: (slug: string) => Promise<InstanceInfo>;
|
|
31
|
+
}
|
|
32
|
+
/** Stable local identity-registration key for the exact selected source Kernel. */
|
|
33
|
+
export declare function registrationKeyForTarget(target: ConnectionTarget): string;
|
|
34
|
+
/** Resolve the existing URL / instance / active precedence into one exact source Kernel. */
|
|
35
|
+
export declare function resolveConnectionTarget(options: ConnectionOptions, config: AstraleConfig, dependencies?: TargetDependencies): Promise<ConnectionTarget>;
|
|
36
|
+
/** Resolve the configured Admin Domain target without entering managed-instance discovery. */
|
|
37
|
+
export declare function resolveAdminConnectionTarget(options: AdminConnectionOptions, config: AstraleConfig, instances?: InstanceStore): Promise<ConnectionTarget>;
|
|
38
|
+
export declare function adminLookupOptions(options: AdminConnectionOptions): AdminTargetCommandOpts;
|
package/dist/types/errors.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare class AstraleError extends Error {
|
|
2
2
|
code: string;
|
|
3
3
|
hint?: string;
|
|
4
|
-
constructor(code: string, message: string, hint?: string);
|
|
4
|
+
constructor(code: string, message: string, hint?: string, options?: ErrorOptions);
|
|
5
5
|
}
|
|
6
6
|
export declare class AuthError extends AstraleError {
|
|
7
7
|
constructor(message: string, hint?: string);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AdminConnectionOptions, ConnectionContext } from '../connection';
|
|
2
|
+
export { AdminInstanceNotFoundError, findOwnedInstance, formatInstanceState, type InstanceInfo, type InstanceState, type OwnedInstanceInfo, } from '../admin/instance';
|
|
3
|
+
/** Resolve the Admin target and read only the caller-visible Instance inventory. */
|
|
4
|
+
export declare function listOwnedInstances(options: AdminConnectionOptions): Promise<import("./admin-instance").OwnedInstanceInfo[]>;
|
|
5
|
+
/** Read caller-visible inventory together with the exact local identity used for the Admin call. */
|
|
6
|
+
export declare function listOwnedInstancesWithIdentity(options: AdminConnectionOptions): Promise<Readonly<{
|
|
7
|
+
instances: import("./admin-instance").OwnedInstanceInfo[];
|
|
8
|
+
identity?: string | undefined;
|
|
9
|
+
}>>;
|
|
10
|
+
/** Reuse an already-open Admin session for a caller-visible Instance inventory. */
|
|
11
|
+
export declare function listOwnedInstancesInContext(context: ConnectionContext): Promise<import("./admin-instance").OwnedInstanceInfo[]>;
|
|
12
|
+
/** Request one managed Instance; Admin owns infrastructure placement. */
|
|
13
|
+
export declare function createOwnedInstance(options: AdminConnectionOptions, slug: string): Promise<import("./admin-instance").InstanceInfo>;
|
|
14
|
+
/** Refresh one exact caller-visible Instance through its V2 receiver Method. */
|
|
15
|
+
export declare function statusOwnedInstance(options: AdminConnectionOptions, identifier: string): Promise<import("./admin-instance").InstanceInfo>;
|
|
16
|
+
/** Delete one exact caller-visible Instance through its V2 receiver Method. */
|
|
17
|
+
export declare function deleteOwnedInstance(options: AdminConnectionOptions, identifier: string): Promise<import("./admin-instance").InstanceInfo>;
|
|
@@ -2,50 +2,25 @@ import { z } from 'zod';
|
|
|
2
2
|
import type { AstraleConfig } from './config';
|
|
3
3
|
import type { InstanceStore } from './instance';
|
|
4
4
|
export declare const DEFAULT_ADMIN_TARGET_NAME = "admin";
|
|
5
|
-
export declare
|
|
6
|
-
|
|
5
|
+
export declare function defaultAdminTargetForChannel(channel: string): {
|
|
6
|
+
readonly url: string;
|
|
7
|
+
readonly domainIssuer: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const DEFAULT_ADMIN_TARGET_URL: string;
|
|
10
|
+
export declare const DEFAULT_ADMIN_DOMAIN_ISSUER: string;
|
|
7
11
|
export declare const DEFAULT_ADMIN_TARGET_CONFIG: {
|
|
8
12
|
name: string;
|
|
9
13
|
url: string;
|
|
10
14
|
kernelIssuer: string;
|
|
11
15
|
domainIssuer: string;
|
|
12
16
|
};
|
|
13
|
-
export declare const AdminTargetConfigSchema: z.
|
|
14
|
-
/** Friendly name / auth registration slug for direct URL admin targets. */
|
|
17
|
+
export declare const AdminTargetConfigSchema: z.ZodObject<{
|
|
15
18
|
name: z.ZodOptional<z.ZodString>;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
kernelIssuer: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
20
|
-
/** Exact native Admin Domain issuer used by the standard token exchange. */
|
|
21
|
-
domainIssuer: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
22
|
-
/** Bookmark name for the admin kernel. */
|
|
19
|
+
url: z.ZodOptional<z.ZodString>;
|
|
20
|
+
kernelIssuer: z.ZodOptional<z.ZodString>;
|
|
21
|
+
domainIssuer: z.ZodOptional<z.ZodString>;
|
|
23
22
|
instance: z.ZodOptional<z.ZodString>;
|
|
24
|
-
},
|
|
25
|
-
name?: string | undefined;
|
|
26
|
-
url?: string | undefined;
|
|
27
|
-
kernelIssuer?: string | undefined;
|
|
28
|
-
domainIssuer?: string | undefined;
|
|
29
|
-
instance?: string | undefined;
|
|
30
|
-
}, {
|
|
31
|
-
name?: string | undefined;
|
|
32
|
-
url?: string | undefined;
|
|
33
|
-
kernelIssuer?: string | undefined;
|
|
34
|
-
domainIssuer?: string | undefined;
|
|
35
|
-
instance?: string | undefined;
|
|
36
|
-
}>, {
|
|
37
|
-
name?: string | undefined;
|
|
38
|
-
url?: string | undefined;
|
|
39
|
-
kernelIssuer?: string | undefined;
|
|
40
|
-
domainIssuer?: string | undefined;
|
|
41
|
-
instance?: string | undefined;
|
|
42
|
-
}, {
|
|
43
|
-
name?: string | undefined;
|
|
44
|
-
url?: string | undefined;
|
|
45
|
-
kernelIssuer?: string | undefined;
|
|
46
|
-
domainIssuer?: string | undefined;
|
|
47
|
-
instance?: string | undefined;
|
|
48
|
-
}>;
|
|
23
|
+
}, z.core.$strip>;
|
|
49
24
|
export type AdminTargetConfig = z.infer<typeof AdminTargetConfigSchema>;
|
|
50
25
|
export type AdminTargetCommandOpts = {
|
|
51
26
|
admin?: string;
|
|
@@ -1,69 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const AstraleConfigSchema: z.ZodObject<{
|
|
3
3
|
issuer: z.ZodDefault<z.ZodString>;
|
|
4
|
-
admin: z.ZodDefault<z.
|
|
4
|
+
admin: z.ZodDefault<z.ZodObject<{
|
|
5
5
|
name: z.ZodOptional<z.ZodString>;
|
|
6
|
-
url: z.ZodOptional<z.
|
|
7
|
-
kernelIssuer: z.ZodOptional<z.
|
|
8
|
-
domainIssuer: z.ZodOptional<z.
|
|
6
|
+
url: z.ZodOptional<z.ZodString>;
|
|
7
|
+
kernelIssuer: z.ZodOptional<z.ZodString>;
|
|
8
|
+
domainIssuer: z.ZodOptional<z.ZodString>;
|
|
9
9
|
instance: z.ZodOptional<z.ZodString>;
|
|
10
|
-
},
|
|
11
|
-
name?: string | undefined;
|
|
12
|
-
url?: string | undefined;
|
|
13
|
-
kernelIssuer?: string | undefined;
|
|
14
|
-
domainIssuer?: string | undefined;
|
|
15
|
-
instance?: string | undefined;
|
|
16
|
-
}, {
|
|
17
|
-
name?: string | undefined;
|
|
18
|
-
url?: string | undefined;
|
|
19
|
-
kernelIssuer?: string | undefined;
|
|
20
|
-
domainIssuer?: string | undefined;
|
|
21
|
-
instance?: string | undefined;
|
|
22
|
-
}>, {
|
|
23
|
-
name?: string | undefined;
|
|
24
|
-
url?: string | undefined;
|
|
25
|
-
kernelIssuer?: string | undefined;
|
|
26
|
-
domainIssuer?: string | undefined;
|
|
27
|
-
instance?: string | undefined;
|
|
28
|
-
}, {
|
|
29
|
-
name?: string | undefined;
|
|
30
|
-
url?: string | undefined;
|
|
31
|
-
kernelIssuer?: string | undefined;
|
|
32
|
-
domainIssuer?: string | undefined;
|
|
33
|
-
instance?: string | undefined;
|
|
34
|
-
}>>;
|
|
10
|
+
}, z.core.$strip>>;
|
|
35
11
|
telemetry: z.ZodDefault<z.ZodObject<{
|
|
36
12
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
}, {
|
|
40
|
-
enabled?: boolean | undefined;
|
|
41
|
-
}>>;
|
|
42
|
-
}, "strip", z.ZodTypeAny, {
|
|
43
|
-
issuer: string;
|
|
44
|
-
admin: {
|
|
45
|
-
name?: string | undefined;
|
|
46
|
-
url?: string | undefined;
|
|
47
|
-
kernelIssuer?: string | undefined;
|
|
48
|
-
domainIssuer?: string | undefined;
|
|
49
|
-
instance?: string | undefined;
|
|
50
|
-
};
|
|
51
|
-
telemetry: {
|
|
52
|
-
enabled: boolean;
|
|
53
|
-
};
|
|
54
|
-
}, {
|
|
55
|
-
issuer?: string | undefined;
|
|
56
|
-
admin?: {
|
|
57
|
-
name?: string | undefined;
|
|
58
|
-
url?: string | undefined;
|
|
59
|
-
kernelIssuer?: string | undefined;
|
|
60
|
-
domainIssuer?: string | undefined;
|
|
61
|
-
instance?: string | undefined;
|
|
62
|
-
} | undefined;
|
|
63
|
-
telemetry?: {
|
|
64
|
-
enabled?: boolean | undefined;
|
|
65
|
-
} | undefined;
|
|
66
|
-
}>;
|
|
13
|
+
}, z.core.$strip>>;
|
|
14
|
+
}, z.core.$strip>;
|
|
67
15
|
export type AstraleConfig = z.infer<typeof AstraleConfigSchema>;
|
|
68
16
|
export declare const DEFAULT_CONFIG: AstraleConfig;
|
|
69
17
|
export declare function readConfig(): Promise<AstraleConfig>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function printFailureDebug(error: unknown, url: string): void;
|