@agentxm/client-core 0.10.0 → 0.10.1
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/dist/src/unstable/app-error/app-error.d.ts +20 -4
- package/dist/src/unstable/app-error/app-error.d.ts.map +1 -1
- package/dist/src/unstable/app-error/app-error.js +37 -2
- package/dist/src/unstable/app-error/app-error.js.map +1 -1
- package/dist/src/unstable/app-error/builders.d.ts +4 -4
- package/dist/src/unstable/app-error/builders.d.ts.map +1 -1
- package/dist/src/unstable/app-error/builders.js +5 -5
- package/dist/src/unstable/app-error/builders.js.map +1 -1
- package/dist/src/unstable/app-error/index.d.ts +1 -1
- package/dist/src/unstable/app-error/index.d.ts.map +1 -1
- package/dist/src/unstable/app-error/index.js +1 -1
- package/dist/src/unstable/app-error/index.js.map +1 -1
- package/dist/src/unstable/app-error/render.d.ts +1 -1
- package/dist/src/unstable/app-error/render.d.ts.map +1 -1
- package/dist/src/unstable/app-error/render.js +48 -3
- package/dist/src/unstable/app-error/render.js.map +1 -1
- package/dist/src/unstable/auth/auth-client.d.ts +59 -1
- package/dist/src/unstable/auth/auth-client.d.ts.map +1 -1
- package/dist/src/unstable/auth/auth-client.js +223 -16
- package/dist/src/unstable/auth/auth-client.js.map +1 -1
- package/dist/src/unstable/auth/credential-store.js +2 -2
- package/dist/src/unstable/auth/device-login.d.ts +1 -0
- package/dist/src/unstable/auth/device-login.d.ts.map +1 -1
- package/dist/src/unstable/auth/device-login.js +3 -1
- package/dist/src/unstable/auth/device-login.js.map +1 -1
- package/dist/src/unstable/auth/guard.js +1 -1
- package/dist/src/unstable/auth/index.d.ts +1 -1
- package/dist/src/unstable/auth/index.d.ts.map +1 -1
- package/dist/src/unstable/auth/index.js.map +1 -1
- package/dist/src/unstable/auth/loopback-login.d.ts +4 -1
- package/dist/src/unstable/auth/loopback-login.d.ts.map +1 -1
- package/dist/src/unstable/auth/loopback-login.js +2 -2
- package/dist/src/unstable/auth/loopback-login.js.map +1 -1
- package/dist/src/unstable/auth/token-resolution.js +1 -1
- package/dist/src/unstable/cli/prompt/helpers.js +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-interactive.d.ts.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-interactive.js +19 -17
- package/dist/src/unstable/cli-renderer/cli-renderer-interactive.js.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-machine.d.ts.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-machine.js +16 -14
- package/dist/src/unstable/cli-renderer/cli-renderer-machine.js.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-test.d.ts +2 -2
- package/dist/src/unstable/cli-renderer/cli-renderer-test.d.ts.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-test.js +20 -20
- package/dist/src/unstable/cli-renderer/cli-renderer-test.js.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer.d.ts +8 -8
- package/dist/src/unstable/cli-renderer/cli-renderer.d.ts.map +1 -1
- package/dist/src/unstable/cli-renderer/index.d.ts +1 -1
- package/dist/src/unstable/cli-runtime/index.d.ts +3 -3
- package/dist/src/unstable/cli-runtime/index.d.ts.map +1 -1
- package/dist/src/unstable/cli-runtime/index.js +2 -2
- package/dist/src/unstable/cli-runtime/index.js.map +1 -1
- package/dist/src/unstable/cli-runtime/json-envelope.d.ts +23 -9
- package/dist/src/unstable/cli-runtime/json-envelope.d.ts.map +1 -1
- package/dist/src/unstable/cli-runtime/json-envelope.js +18 -11
- package/dist/src/unstable/cli-runtime/json-envelope.js.map +1 -1
- package/dist/src/unstable/cli-runtime/output-mode.d.ts +4 -4
- package/dist/src/unstable/cli-runtime/output-mode.js +5 -5
- package/dist/src/unstable/cli-runtime/runtime-envelope.js +17 -17
- package/dist/src/unstable/cli-runtime/runtime-envelope.js.map +1 -1
- package/dist/src/unstable/cli-runtime/{breadcrumb.d.ts → suggested-action.d.ts} +3 -3
- package/dist/src/unstable/cli-runtime/suggested-action.d.ts.map +1 -0
- package/dist/src/unstable/cli-runtime/{breadcrumb.js → suggested-action.js} +5 -5
- package/dist/src/unstable/cli-runtime/suggested-action.js.map +1 -0
- package/dist/src/unstable/commands/command-content.js +1 -1
- package/dist/src/unstable/commands/manager.js +1 -1
- package/dist/src/unstable/commands/manifest-schema.d.ts +1 -1
- package/dist/src/unstable/commands/operations/enable.js +2 -2
- package/dist/src/unstable/commands/operations/install.js +2 -2
- package/dist/src/unstable/commands/operations/new-command.js +1 -1
- package/dist/src/unstable/commands/operations/publish.js +2 -2
- package/dist/src/unstable/commands/operations/publish.js.map +1 -1
- package/dist/src/unstable/commands/operations/shared-command-helpers.d.ts +1 -1
- package/dist/src/unstable/commands/registry-ref-builder.d.ts +1 -1
- package/dist/src/unstable/commands/registry-ref-builder.d.ts.map +1 -1
- package/dist/src/unstable/commands/registry-ref-builder.js +2 -2
- package/dist/src/unstable/commands/registry-ref-builder.js.map +1 -1
- package/dist/src/unstable/discover/discover.d.ts +9 -13
- package/dist/src/unstable/discover/discover.d.ts.map +1 -1
- package/dist/src/unstable/discover/discover.js +94 -140
- package/dist/src/unstable/discover/discover.js.map +1 -1
- package/dist/src/unstable/discover/index.d.ts +1 -1
- package/dist/src/unstable/discover/index.d.ts.map +1 -1
- package/dist/src/unstable/discover/index.js.map +1 -1
- package/dist/src/unstable/extensions/common.d.ts +1 -1
- package/dist/src/unstable/extensions/common.js +1 -1
- package/dist/src/unstable/extensions/common.js.map +1 -1
- package/dist/src/unstable/extensions/fqn.d.ts +1 -1
- package/dist/src/unstable/extensions/fqn.js +2 -2
- package/dist/src/unstable/extensions/frontmatter.js +1 -1
- package/dist/src/unstable/extensions/materializable-from-disk.js +5 -5
- package/dist/src/unstable/extensions/materializable-from-disk.js.map +1 -1
- package/dist/src/unstable/extensions/operations.d.ts +3 -3
- package/dist/src/unstable/extensions/operations.d.ts.map +1 -1
- package/dist/src/unstable/extensions/operations.js +7 -7
- package/dist/src/unstable/extensions/operations.js.map +1 -1
- package/dist/src/unstable/extensions/ref-base.d.ts +1 -1
- package/dist/src/unstable/extensions/ref-base.d.ts.map +1 -1
- package/dist/src/unstable/install-meta/install-meta.d.ts +1 -1
- package/dist/src/unstable/lockfile/resolved-version.js +1 -1
- package/dist/src/unstable/mcp-servers/manifest-schema.d.ts +1 -1
- package/dist/src/unstable/mcp-servers/operations/publish.js +2 -2
- package/dist/src/unstable/mcp-servers/operations/publish.js.map +1 -1
- package/dist/src/unstable/mcp-servers/registry-ref-builder.d.ts +1 -1
- package/dist/src/unstable/mcp-servers/registry-ref-builder.d.ts.map +1 -1
- package/dist/src/unstable/mcp-servers/registry-ref-builder.js +2 -2
- package/dist/src/unstable/mcp-servers/registry-ref-builder.js.map +1 -1
- package/dist/src/unstable/packaging/axm-package-meta.d.ts +9 -1
- package/dist/src/unstable/packaging/axm-package-meta.d.ts.map +1 -1
- package/dist/src/unstable/packaging/axm-package-meta.js +11 -2
- package/dist/src/unstable/packaging/axm-package-meta.js.map +1 -1
- package/dist/src/unstable/packaging/bazel.js +1 -1
- package/dist/src/unstable/packaging/bazel.js.map +1 -1
- package/dist/src/unstable/packaging/cargo.d.ts.map +1 -1
- package/dist/src/unstable/packaging/cargo.js +44 -10
- package/dist/src/unstable/packaging/cargo.js.map +1 -1
- package/dist/src/unstable/packaging/cocoapods.js +1 -1
- package/dist/src/unstable/packaging/cocoapods.js.map +1 -1
- package/dist/src/unstable/packaging/composer.js +1 -1
- package/dist/src/unstable/packaging/composer.js.map +1 -1
- package/dist/src/unstable/packaging/conan.js +1 -1
- package/dist/src/unstable/packaging/conan.js.map +1 -1
- package/dist/src/unstable/packaging/conda.js +2 -2
- package/dist/src/unstable/packaging/conda.js.map +1 -1
- package/dist/src/unstable/packaging/cpan.js +1 -1
- package/dist/src/unstable/packaging/cpan.js.map +1 -1
- package/dist/src/unstable/packaging/cran.js +1 -1
- package/dist/src/unstable/packaging/cran.js.map +1 -1
- package/dist/src/unstable/packaging/docker.js +1 -1
- package/dist/src/unstable/packaging/docker.js.map +1 -1
- package/dist/src/unstable/packaging/gem.d.ts.map +1 -1
- package/dist/src/unstable/packaging/gem.js +7 -25
- package/dist/src/unstable/packaging/gem.js.map +1 -1
- package/dist/src/unstable/packaging/golang.js +1 -1
- package/dist/src/unstable/packaging/golang.js.map +1 -1
- package/dist/src/unstable/packaging/hackage.js +2 -2
- package/dist/src/unstable/packaging/hackage.js.map +1 -1
- package/dist/src/unstable/packaging/hex.js +2 -2
- package/dist/src/unstable/packaging/hex.js.map +1 -1
- package/dist/src/unstable/packaging/huggingface.js +1 -1
- package/dist/src/unstable/packaging/huggingface.js.map +1 -1
- package/dist/src/unstable/packaging/index.d.ts +1 -1
- package/dist/src/unstable/packaging/index.d.ts.map +1 -1
- package/dist/src/unstable/packaging/index.js +1 -1
- package/dist/src/unstable/packaging/index.js.map +1 -1
- package/dist/src/unstable/packaging/jsr.js +1 -1
- package/dist/src/unstable/packaging/jsr.js.map +1 -1
- package/dist/src/unstable/packaging/julia.d.ts.map +1 -1
- package/dist/src/unstable/packaging/julia.js +42 -8
- package/dist/src/unstable/packaging/julia.js.map +1 -1
- package/dist/src/unstable/packaging/luarocks.js +1 -1
- package/dist/src/unstable/packaging/luarocks.js.map +1 -1
- package/dist/src/unstable/packaging/maven.js +2 -2
- package/dist/src/unstable/packaging/maven.js.map +1 -1
- package/dist/src/unstable/packaging/mojo.js +1 -1
- package/dist/src/unstable/packaging/mojo.js.map +1 -1
- package/dist/src/unstable/packaging/npm.js +1 -1
- package/dist/src/unstable/packaging/npm.js.map +1 -1
- package/dist/src/unstable/packaging/nuget.js +1 -1
- package/dist/src/unstable/packaging/nuget.js.map +1 -1
- package/dist/src/unstable/packaging/opam.js +1 -1
- package/dist/src/unstable/packaging/opam.js.map +1 -1
- package/dist/src/unstable/packaging/pub.d.ts.map +1 -1
- package/dist/src/unstable/packaging/pub.js +34 -13
- package/dist/src/unstable/packaging/pub.js.map +1 -1
- package/dist/src/unstable/packaging/pypi.js +1 -1
- package/dist/src/unstable/packaging/pypi.js.map +1 -1
- package/dist/src/unstable/packaging/read.d.ts +4 -1
- package/dist/src/unstable/packaging/read.d.ts.map +1 -1
- package/dist/src/unstable/packaging/swift.js +1 -1
- package/dist/src/unstable/packaging/swift.js.map +1 -1
- package/dist/src/unstable/packaging/types.d.ts +2 -2
- package/dist/src/unstable/packaging/types.d.ts.map +1 -1
- package/dist/src/unstable/packaging/zig.js +1 -1
- package/dist/src/unstable/packaging/zig.js.map +1 -1
- package/dist/src/unstable/packs/dependency-resolution.js +4 -4
- package/dist/src/unstable/packs/dependency-resolution.js.map +1 -1
- package/dist/src/unstable/packs/expansion.js +1 -1
- package/dist/src/unstable/packs/manifest-schema.d.ts +1 -1
- package/dist/src/unstable/packs/operations/add-to-pack.js +2 -2
- package/dist/src/unstable/packs/operations/install.js +1 -1
- package/dist/src/unstable/packs/operations/new-pack.js +1 -1
- package/dist/src/unstable/packs/operations/remove-from-pack.js +2 -2
- package/dist/src/unstable/packs/operations/unpack.js +1 -1
- package/dist/src/unstable/plan/resolve-plan.js +2 -2
- package/dist/src/unstable/publish/manifest-policy.d.ts +5 -5
- package/dist/src/unstable/publish/manifest-policy.js +9 -9
- package/dist/src/unstable/publish/manifest-policy.js.map +1 -1
- package/dist/src/unstable/registry/__generated__/registry-client.d.ts +360 -53
- package/dist/src/unstable/registry/__generated__/registry-client.d.ts.map +1 -1
- package/dist/src/unstable/registry/__generated__/registry-client.js +156 -20
- package/dist/src/unstable/registry/__generated__/registry-client.js.map +1 -1
- package/dist/src/unstable/registry/client.d.ts +13 -8
- package/dist/src/unstable/registry/client.d.ts.map +1 -1
- package/dist/src/unstable/registry/client.js.map +1 -1
- package/dist/src/unstable/registry/discover-schema.d.ts +53 -61
- package/dist/src/unstable/registry/discover-schema.d.ts.map +1 -1
- package/dist/src/unstable/registry/discover-schema.js +21 -52
- package/dist/src/unstable/registry/discover-schema.js.map +1 -1
- package/dist/src/unstable/registry/error-mapping.d.ts +3 -3
- package/dist/src/unstable/registry/error-mapping.d.ts.map +1 -1
- package/dist/src/unstable/registry/error-mapping.js +10 -3
- package/dist/src/unstable/registry/error-mapping.js.map +1 -1
- package/dist/src/unstable/registry/index.d.ts +5 -5
- package/dist/src/unstable/registry/index.d.ts.map +1 -1
- package/dist/src/unstable/registry/index.js +3 -3
- package/dist/src/unstable/registry/index.js.map +1 -1
- package/dist/src/unstable/registry/local-client.d.ts.map +1 -1
- package/dist/src/unstable/registry/local-client.js +92 -42
- package/dist/src/unstable/registry/local-client.js.map +1 -1
- package/dist/src/unstable/registry/remote-client.d.ts.map +1 -1
- package/dist/src/unstable/registry/remote-client.js +88 -128
- package/dist/src/unstable/registry/remote-client.js.map +1 -1
- package/dist/src/unstable/registry/schema.d.ts +4 -4
- package/dist/src/unstable/registry/schema.d.ts.map +1 -1
- package/dist/src/unstable/registry/schema.js +4 -4
- package/dist/src/unstable/registry/schema.js.map +1 -1
- package/dist/src/unstable/registry/translate.d.ts +3 -3
- package/dist/src/unstable/registry/translate.d.ts.map +1 -1
- package/dist/src/unstable/registry/translate.js +41 -14
- package/dist/src/unstable/registry/translate.js.map +1 -1
- package/dist/src/unstable/settings/ignored-patterns.js +2 -2
- package/dist/src/unstable/skills/manifest-schema.d.ts +1 -1
- package/dist/src/unstable/skills/operations/disable.js +1 -1
- package/dist/src/unstable/skills/operations/enable.js +1 -1
- package/dist/src/unstable/skills/operations/new-skill.js +1 -1
- package/dist/src/unstable/skills/operations/publish.js +2 -2
- package/dist/src/unstable/skills/operations/publish.js.map +1 -1
- package/dist/src/unstable/skills/registry-ref-builder.d.ts +1 -1
- package/dist/src/unstable/skills/registry-ref-builder.d.ts.map +1 -1
- package/dist/src/unstable/skills/registry-ref-builder.js +2 -2
- package/dist/src/unstable/skills/registry-ref-builder.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/registry/host-provider.js +3 -3
- package/dist/src/unstable/source-resolution/providers/registry/host-provider.js.map +1 -1
- package/dist/src/unstable/source-resolution/resolve-identifier.js +5 -5
- package/dist/src/unstable/source-resolution/resolve-source-pattern.js +1 -1
- package/dist/src/unstable/sources/lock-entry-to-ref.js +5 -5
- package/dist/src/unstable/sources/lock-entry-to-ref.js.map +1 -1
- package/dist/src/unstable/subagents/manager.js +1 -1
- package/dist/src/unstable/subagents/manifest-schema.d.ts +1 -1
- package/dist/src/unstable/subagents/operations/disable.js +1 -1
- package/dist/src/unstable/subagents/operations/enable.js +2 -2
- package/dist/src/unstable/subagents/operations/publish.js +3 -3
- package/dist/src/unstable/subagents/operations/publish.js.map +1 -1
- package/dist/src/unstable/subagents/registry-ref-builder.d.ts +1 -1
- package/dist/src/unstable/subagents/registry-ref-builder.d.ts.map +1 -1
- package/dist/src/unstable/subagents/registry-ref-builder.js +2 -2
- package/dist/src/unstable/subagents/registry-ref-builder.js.map +1 -1
- package/dist/src/unstable/subagents/subagent-content.js +4 -4
- package/dist/src/unstable/version-resolution/version-resolution.js +5 -5
- package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js +13 -13
- package/dist/src/unstable/workspace/initialization.js +1 -1
- package/dist/src/unstable/workspace/service.js +2 -2
- package/dist/src/unstable/workspace/version-currency/test-stubs.js +1 -1
- package/dist/src/unstable/workspace/version-currency/test-stubs.js.map +1 -1
- package/package.json +2 -2
- package/site-content/__generated__/schemas/axm-package-meta.schema.json +35 -8
- package/site-content/__generated__/schemas/command.schema.json +1 -1
- package/site-content/__generated__/schemas/mcp-server.schema.json +1 -1
- package/site-content/__generated__/schemas/pack.schema.json +1 -1
- package/site-content/__generated__/schemas/skill.schema.json +1 -1
- package/site-content/__generated__/schemas/subagent.schema.json +1 -1
- package/dist/src/unstable/cli-runtime/breadcrumb.d.ts.map +0 -1
- package/dist/src/unstable/cli-runtime/breadcrumb.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Schema from "effect/Schema";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SuggestedAction } from "../cli-runtime/suggested-action.js";
|
|
3
3
|
/**
|
|
4
4
|
* Named exit codes for the CLI. `Success` is the only exit code without an
|
|
5
5
|
* `AppErrorCode` counterpart; the rest map 1:1 with `AppErrorCode` via
|
|
@@ -83,13 +83,29 @@ export declare const AppErrorCodes: readonly ["issues", "usage", "not_found", "a
|
|
|
83
83
|
export declare const AppErrorCodeSchema: Schema.Literals<readonly ["issues", "usage", "not_found", "auth", "forbidden", "conflict", "rate_limit", "network", "validation", "internal", "unavailable", "quota"]>;
|
|
84
84
|
export declare const exitCodeFor: (code: AppErrorCode) => ExitCode;
|
|
85
85
|
export type AppErrorMetadata = {
|
|
86
|
+
readonly request?: {
|
|
87
|
+
readonly service: string;
|
|
88
|
+
readonly method?: string;
|
|
89
|
+
readonly url: string;
|
|
90
|
+
};
|
|
86
91
|
readonly response?: {
|
|
87
92
|
readonly status: number;
|
|
88
|
-
readonly
|
|
93
|
+
readonly requestId?: string;
|
|
94
|
+
readonly problemCode?: string;
|
|
95
|
+
readonly body?: unknown;
|
|
89
96
|
};
|
|
90
97
|
};
|
|
91
98
|
export declare const defaultTitleFor: (code: AppErrorCode) => string;
|
|
92
99
|
export declare const defaultDetailFor: (code: AppErrorCode) => string;
|
|
100
|
+
/** Baseline suggested next actions for an error category. */
|
|
101
|
+
export declare const defaultSuggestionsFor: (code: AppErrorCode) => ReadonlyArray<SuggestedAction>;
|
|
102
|
+
/**
|
|
103
|
+
* Resolve the suggestions to surface for an error: the caller's own
|
|
104
|
+
* suggestions when present, otherwise the baseline set for the error code.
|
|
105
|
+
* Used by both human (`renderAppError`) and JSON (`makeJsonErrorEnvelope`)
|
|
106
|
+
* output so the two surfaces stay consistent.
|
|
107
|
+
*/
|
|
108
|
+
export declare const effectiveSuggestionsFor: (error: AppError) => ReadonlyArray<SuggestedAction>;
|
|
93
109
|
declare const AppError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
94
110
|
readonly _tag: "AppError";
|
|
95
111
|
} & Readonly<A>;
|
|
@@ -98,7 +114,7 @@ export declare class AppError extends AppError_base<{
|
|
|
98
114
|
readonly title: string;
|
|
99
115
|
readonly detail: string;
|
|
100
116
|
readonly metadata?: AppErrorMetadata;
|
|
101
|
-
readonly
|
|
117
|
+
readonly suggestions?: ReadonlyArray<SuggestedAction>;
|
|
102
118
|
readonly cause: unknown;
|
|
103
119
|
}> {
|
|
104
120
|
}
|
|
@@ -109,7 +125,7 @@ export declare const makeAppError: (args: {
|
|
|
109
125
|
readonly metadata?: AppErrorMetadata;
|
|
110
126
|
readonly recover?: string;
|
|
111
127
|
readonly cmd?: string;
|
|
112
|
-
readonly
|
|
128
|
+
readonly suggestions?: ReadonlyArray<SuggestedAction>;
|
|
113
129
|
readonly cause?: unknown;
|
|
114
130
|
}) => AppError;
|
|
115
131
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-error.d.ts","sourceRoot":"","sources":["../../../../src/unstable/app-error/app-error.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"app-error.d.ts","sourceRoot":"","sources":["../../../../src/unstable/app-error/app-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,6 +139,41 @@ const DefaultDetailByAppErrorCode = {
|
|
|
139
139
|
};
|
|
140
140
|
export const defaultTitleFor = (code) => DefaultTitleByAppErrorCode[code];
|
|
141
141
|
export const defaultDetailFor = (code) => DefaultDetailByAppErrorCode[code];
|
|
142
|
+
/**
|
|
143
|
+
* Baseline suggested next actions per error category, used when a caller
|
|
144
|
+
* attaches no error-specific suggestions of its own. Codes without a sensible
|
|
145
|
+
* generic follow-up map to an empty list.
|
|
146
|
+
*/
|
|
147
|
+
const DefaultSuggestionsByAppErrorCode = {
|
|
148
|
+
internal: [
|
|
149
|
+
{
|
|
150
|
+
description: "This looks like a bug. Please report it, including the request ID if one is shown.",
|
|
151
|
+
url: "https://github.com/agentxm/axm/issues",
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
network: [{ description: "Check your network connection and the registry URL, then retry." }],
|
|
155
|
+
unavailable: [{ description: "The service is temporarily unavailable. Retry in a few moments." }],
|
|
156
|
+
auth: [],
|
|
157
|
+
forbidden: [],
|
|
158
|
+
not_found: [],
|
|
159
|
+
conflict: [],
|
|
160
|
+
rate_limit: [],
|
|
161
|
+
validation: [],
|
|
162
|
+
usage: [],
|
|
163
|
+
issues: [],
|
|
164
|
+
quota: [],
|
|
165
|
+
};
|
|
166
|
+
/** Baseline suggested next actions for an error category. */
|
|
167
|
+
export const defaultSuggestionsFor = (code) => DefaultSuggestionsByAppErrorCode[code];
|
|
168
|
+
/**
|
|
169
|
+
* Resolve the suggestions to surface for an error: the caller's own
|
|
170
|
+
* suggestions when present, otherwise the baseline set for the error code.
|
|
171
|
+
* Used by both human (`renderAppError`) and JSON (`makeJsonErrorEnvelope`)
|
|
172
|
+
* output so the two surfaces stay consistent.
|
|
173
|
+
*/
|
|
174
|
+
export const effectiveSuggestionsFor = (error) => error.suggestions !== undefined && error.suggestions.length > 0
|
|
175
|
+
? error.suggestions
|
|
176
|
+
: defaultSuggestionsFor(error.code);
|
|
142
177
|
export class AppError extends Data.TaggedError("AppError") {
|
|
143
178
|
}
|
|
144
179
|
export const makeAppError = (args) => {
|
|
@@ -150,13 +185,13 @@ export const makeAppError = (args) => {
|
|
|
150
185
|
...(args.cmd !== undefined ? { cmd: args.cmd } : {}),
|
|
151
186
|
},
|
|
152
187
|
];
|
|
153
|
-
const
|
|
188
|
+
const suggestions = [...recover, ...(args.suggestions ?? [])];
|
|
154
189
|
return new AppError({
|
|
155
190
|
code: args.code,
|
|
156
191
|
title: args.title ?? defaultTitleFor(args.code),
|
|
157
192
|
detail: args.detail ?? defaultDetailFor(args.code),
|
|
158
193
|
...(args.metadata !== undefined ? { metadata: args.metadata } : {}),
|
|
159
|
-
...(
|
|
194
|
+
...(suggestions.length > 0 ? { suggestions } : {}),
|
|
160
195
|
cause: args.cause,
|
|
161
196
|
});
|
|
162
197
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-error.js","sourceRoot":"","sources":["../../../../src/unstable/app-error/app-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,gEAAgE;IAChE,OAAO,EAAE,CAAC;IACV,kOAAkO;IAClO,MAAM,EAAE,CAAC;IACT,mGAAmG;IACnG,KAAK,EAAE,CAAC;IACR,sFAAsF;IACtF,QAAQ,EAAE,CAAC;IACX,qGAAqG;IACrG,IAAI,EAAE,CAAC;IACP,4FAA4F;IAC5F,SAAS,EAAE,CAAC;IACZ,qJAAqJ;IACrJ,QAAQ,EAAE,CAAC;IACX,mFAAmF;IACnF,SAAS,EAAE,CAAC;IACZ,0HAA0H;IAC1H,OAAO,EAAE,CAAC;IACV,wGAAwG;IACxG,UAAU,EAAE,CAAC;IACb,wGAAwG;IACxG,QAAQ,EAAE,EAAE;IACZ,sGAAsG;IACtG,WAAW,EAAE,EAAE;IACf,kFAAkF;IAClF,KAAK,EAAE,EAAE;CACD,CAAC;AAOX;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG;IAC7B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,WAAW;IACrB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;CACkC,CAAC;AAInD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,sBAAsB,CAAC,MAAM;IAC7B,sBAAsB,CAAC,KAAK;IAC5B,sBAAsB,CAAC,QAAQ;IAC/B,sBAAsB,CAAC,IAAI;IAC3B,sBAAsB,CAAC,SAAS;IAChC,sBAAsB,CAAC,QAAQ;IAC/B,sBAAsB,CAAC,SAAS;IAChC,sBAAsB,CAAC,OAAO;IAC9B,sBAAsB,CAAC,UAAU;IACjC,sBAAsB,CAAC,QAAQ;IAC/B,sBAAsB,CAAC,WAAW;IAClC,sBAAsB,CAAC,KAAK;CACpB,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;IACxE,UAAU,EAAE,cAAc;IAC1B,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,yEAAyE;CACvF,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAA6C;IACvE,MAAM,EAAE,QAAQ,CAAC,MAAM;IACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,SAAS,EAAE,QAAQ,CAAC,QAAQ;IAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;IAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;IAC3B,UAAU,EAAE,QAAQ,CAAC,SAAS;IAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;IACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;IAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;IAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;IACjC,KAAK,EAAE,QAAQ,CAAC,KAAK;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAY,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"app-error.js","sourceRoot":"","sources":["../../../../src/unstable/app-error/app-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SuggestedAction } from "../cli-runtime/suggested-action.js";
|
|
2
2
|
export declare const BC: {
|
|
3
|
-
readonly run: (cmd: string, description: string) =>
|
|
4
|
-
readonly do: (description: string) =>
|
|
3
|
+
readonly run: (cmd: string, description: string) => SuggestedAction;
|
|
4
|
+
readonly do: (description: string) => SuggestedAction;
|
|
5
5
|
};
|
|
6
6
|
export declare const errAuthRequired: (message?: string, cause?: unknown) => import("./app-error.js").AppError;
|
|
7
7
|
export declare const errAuthTokenRequired: (cause?: unknown) => import("./app-error.js").AppError;
|
|
@@ -15,7 +15,7 @@ export declare const errInstallFailed: (args: {
|
|
|
15
15
|
}) => import("./app-error.js").AppError;
|
|
16
16
|
export declare const errRegistryPublishRejected: (args: {
|
|
17
17
|
readonly message: string;
|
|
18
|
-
readonly
|
|
18
|
+
readonly suggestions?: ReadonlyArray<SuggestedAction>;
|
|
19
19
|
readonly cause?: unknown;
|
|
20
20
|
}) => import("./app-error.js").AppError;
|
|
21
21
|
//# sourceMappingURL=builders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../../src/unstable/app-error/builders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../../src/unstable/app-error/builders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E,eAAO,MAAM,EAAE;wBACF,MAAM,eAAe,MAAM,KAAG,eAAe;+BAItC,MAAM,KAAG,eAAe;CAGlC,CAAC;AAEX,eAAO,MAAM,eAAe,GAAI,gBAAmC,EAAE,QAAQ,OAAO,sCAQhF,CAAC;AAEL,eAAO,MAAM,oBAAoB,GAAI,QAAQ,OAAO,sCAMhD,CAAC;AAEL,eAAO,MAAM,kBAAkB,GAAI,MAAM;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,sCAS5F,CAAC;AAEL,eAAO,MAAM,gBAAgB,GAAI,MAAM;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,sCAMzF,CAAC;AAEL,eAAO,MAAM,0BAA0B,GAAI,MAAM;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,sCAMG,CAAC"}
|
|
@@ -11,7 +11,7 @@ export const BC = {
|
|
|
11
11
|
export const errAuthRequired = (message = "Authentication required", cause) => makeAppError({
|
|
12
12
|
code: "auth",
|
|
13
13
|
detail: message,
|
|
14
|
-
|
|
14
|
+
suggestions: [
|
|
15
15
|
BC.run("axm login", "Run `axm login` to sign in, or set the AXM_TOKEN environment variable."),
|
|
16
16
|
],
|
|
17
17
|
cause,
|
|
@@ -19,7 +19,7 @@ export const errAuthRequired = (message = "Authentication required", cause) => m
|
|
|
19
19
|
export const errAuthTokenRequired = (cause) => makeAppError({
|
|
20
20
|
code: "auth",
|
|
21
21
|
detail: "No authentication token is available.",
|
|
22
|
-
|
|
22
|
+
suggestions: [BC.do("Set the AXM_TOKEN environment variable instead of running `axm login`.")],
|
|
23
23
|
cause,
|
|
24
24
|
});
|
|
25
25
|
export const errPublishConflict = (args) => makeAppError({
|
|
@@ -27,19 +27,19 @@ export const errPublishConflict = (args) => makeAppError({
|
|
|
27
27
|
detail: args.version === undefined
|
|
28
28
|
? "Version already exists with different content."
|
|
29
29
|
: `Version ${args.version} already exists with different content.`,
|
|
30
|
-
|
|
30
|
+
suggestions: [BC.do("Bump the version in your manifest.")],
|
|
31
31
|
cause: args.cause,
|
|
32
32
|
});
|
|
33
33
|
export const errInstallFailed = (args) => makeAppError({
|
|
34
34
|
code: "validation",
|
|
35
35
|
detail: args.message,
|
|
36
|
-
|
|
36
|
+
suggestions: [BC.do("Check the extension package and try again.")],
|
|
37
37
|
cause: args.cause,
|
|
38
38
|
});
|
|
39
39
|
export const errRegistryPublishRejected = (args) => makeAppError({
|
|
40
40
|
code: "validation",
|
|
41
41
|
detail: args.message,
|
|
42
|
-
|
|
42
|
+
suggestions: args.suggestions ?? [BC.do("Check the extension package and try again.")],
|
|
43
43
|
cause: args.cause,
|
|
44
44
|
});
|
|
45
45
|
//# sourceMappingURL=builders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../../src/unstable/app-error/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,GAAG,EAAE,CAAC,GAAW,EAAE,WAAmB,
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../../src/unstable/app-error/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,GAAG,EAAE,CAAC,GAAW,EAAE,WAAmB,EAAmB,EAAE,CAAC,CAAC;QAC3D,WAAW;QACX,GAAG;KACJ,CAAC;IACF,EAAE,EAAE,CAAC,WAAmB,EAAmB,EAAE,CAAC,CAAC;QAC7C,WAAW;KACZ,CAAC;CACM,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,GAAG,yBAAyB,EAAE,KAAe,EAAE,EAAE,CACtF,YAAY,CAAC;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,OAAO;IACf,WAAW,EAAE;QACX,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,wEAAwE,CAAC;KAC9F;IACD,KAAK;CACN,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAe,EAAE,EAAE,CACtD,YAAY,CAAC;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,uCAAuC;IAC/C,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,wEAAwE,CAAC,CAAC;IAC9F,KAAK;CACN,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAA6D,EAAE,EAAE,CAClG,YAAY,CAAC;IACX,IAAI,EAAE,UAAU;IAChB,MAAM,EACJ,IAAI,CAAC,OAAO,KAAK,SAAS;QACxB,CAAC,CAAC,gDAAgD;QAClD,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,yCAAyC;IACtE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,oCAAoC,CAAC,CAAC;IAC1D,KAAK,EAAE,IAAI,CAAC,KAAK;CAClB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAA4D,EAAE,EAAE,CAC/F,YAAY,CAAC;IACX,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,IAAI,CAAC,OAAO;IACpB,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,4CAA4C,CAAC,CAAC;IAClE,KAAK,EAAE,IAAI,CAAC,KAAK;CAClB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAI1C,EAAE,EAAE,CACH,YAAY,CAAC;IACX,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,IAAI,CAAC,OAAO;IACpB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,4CAA4C,CAAC,CAAC;IACtF,KAAK,EAAE,IAAI,CAAC,KAAK;CAClB,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AppError, AppErrorCodeSchema, AppErrorCodes, ExitCode, defaultDetailFor, defaultTitleFor, exitCodeFor, makeAppError, type AppErrorMetadata, type AppErrorCode, } from "./app-error.js";
|
|
1
|
+
export { AppError, AppErrorCodeSchema, AppErrorCodes, ExitCode, defaultSuggestionsFor, defaultDetailFor, defaultTitleFor, effectiveSuggestionsFor, exitCodeFor, makeAppError, type AppErrorMetadata, type AppErrorCode, } from "./app-error.js";
|
|
2
2
|
export { BC, errAuthRequired, errAuthTokenRequired, errInstallFailed, errPublishConflict, errRegistryPublishRejected, } from "./builders.js";
|
|
3
3
|
export { renderAppError, renderDefect } from "./render.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/unstable/app-error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,EAAE,EACF,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/unstable/app-error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,EAAE,EACF,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AppError, AppErrorCodeSchema, AppErrorCodes, ExitCode, defaultDetailFor, defaultTitleFor, exitCodeFor, makeAppError, } from "./app-error.js";
|
|
1
|
+
export { AppError, AppErrorCodeSchema, AppErrorCodes, ExitCode, defaultSuggestionsFor, defaultDetailFor, defaultTitleFor, effectiveSuggestionsFor, exitCodeFor, makeAppError, } from "./app-error.js";
|
|
2
2
|
export { BC, errAuthRequired, errAuthTokenRequired, errInstallFailed, errPublishConflict, errRegistryPublishRejected, } from "./builders.js";
|
|
3
3
|
export { renderAppError, renderDefect } from "./render.js";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/unstable/app-error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,YAAY,GAGb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,EAAE,EACF,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/unstable/app-error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,YAAY,GAGb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,EAAE,EACF,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/unstable/app-error/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/unstable/app-error/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAA2B,MAAM,gBAAgB,CAAC;AA6GxE,eAAO,MAAM,cAAc,GACzB,OAAO,QAAQ,EACf,UAAS;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAyB,KACrF,MA8CF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,MAa7C,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { effectiveSuggestionsFor } from "./app-error.js";
|
|
1
2
|
const defaultRenderOptions = {
|
|
2
3
|
verbose: false,
|
|
3
4
|
debug: false,
|
|
@@ -15,7 +16,24 @@ const getStringField = (value, field) => {
|
|
|
15
16
|
const fieldValue = Reflect.get(value, field);
|
|
16
17
|
return typeof fieldValue === "string" ? fieldValue : undefined;
|
|
17
18
|
};
|
|
18
|
-
const getRequestId = (error) =>
|
|
19
|
+
const getRequestId = (error) => error.metadata?.response?.requestId ??
|
|
20
|
+
getStringField(error.metadata?.response?.body, "requestId");
|
|
21
|
+
const getRegistryUrl = (error) => error.metadata?.request?.service === "registry" ? error.metadata.request.url : undefined;
|
|
22
|
+
const formatRegistryLocation = (url) => {
|
|
23
|
+
try {
|
|
24
|
+
return new URL(url).origin;
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return url;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const formatRegistryRequest = (error) => {
|
|
31
|
+
const request = error.metadata?.request;
|
|
32
|
+
if (request === undefined || request.service !== "registry") {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
return request.method === undefined ? request.url : `${request.method} ${request.url}`;
|
|
36
|
+
};
|
|
19
37
|
const formatResponseBody = (body) => {
|
|
20
38
|
try {
|
|
21
39
|
return JSON.stringify(body, null, 2).split("\n");
|
|
@@ -24,6 +42,25 @@ const formatResponseBody = (body) => {
|
|
|
24
42
|
return ["[unserializable response body]"];
|
|
25
43
|
}
|
|
26
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* Render the suggested next actions as an indented `Next steps:` block. Each
|
|
47
|
+
* suggestion is a bullet with its optional `cmd` / `url` on a follow-on line.
|
|
48
|
+
*/
|
|
49
|
+
const formatSuggestions = (suggestions) => {
|
|
50
|
+
if (suggestions.length === 0)
|
|
51
|
+
return [];
|
|
52
|
+
const lines = [" Next steps:"];
|
|
53
|
+
for (const suggestion of suggestions) {
|
|
54
|
+
lines.push(` • ${suggestion.description}`);
|
|
55
|
+
if (suggestion.cmd !== undefined) {
|
|
56
|
+
lines.push(` ${suggestion.cmd}`);
|
|
57
|
+
}
|
|
58
|
+
if (suggestion.url !== undefined) {
|
|
59
|
+
lines.push(` ${suggestion.url}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return lines;
|
|
63
|
+
};
|
|
27
64
|
const formatCause = (cause, options) => {
|
|
28
65
|
if (cause === undefined || cause === null)
|
|
29
66
|
return [];
|
|
@@ -55,8 +92,16 @@ export const renderAppError = (error, options = defaultRenderOptions) => {
|
|
|
55
92
|
const lines = [];
|
|
56
93
|
lines.push(`\u2717 ${error.detail} (${error.code})`);
|
|
57
94
|
const requestId = getRequestId(error);
|
|
95
|
+
const registryUrl = getRegistryUrl(error);
|
|
96
|
+
if (registryUrl !== undefined) {
|
|
97
|
+
lines.push(` Registry: ${formatRegistryLocation(registryUrl)}`);
|
|
98
|
+
}
|
|
58
99
|
if (options.verbose || options.debug) {
|
|
59
100
|
lines.push(` Title: ${error.title}`);
|
|
101
|
+
const registryRequest = formatRegistryRequest(error);
|
|
102
|
+
if (registryRequest !== undefined) {
|
|
103
|
+
lines.push(` Request: ${registryRequest}`);
|
|
104
|
+
}
|
|
60
105
|
if (requestId !== undefined) {
|
|
61
106
|
lines.push(` Request ID: ${requestId}`);
|
|
62
107
|
}
|
|
@@ -71,8 +116,8 @@ export const renderAppError = (error, options = defaultRenderOptions) => {
|
|
|
71
116
|
else if (error.code === "internal" && requestId !== undefined) {
|
|
72
117
|
lines.push(` Request ID: ${requestId}`);
|
|
73
118
|
}
|
|
74
|
-
|
|
75
|
-
lines.push(
|
|
119
|
+
for (const line of formatSuggestions(effectiveSuggestionsFor(error))) {
|
|
120
|
+
lines.push(line);
|
|
76
121
|
}
|
|
77
122
|
if (options.verbose || options.debug) {
|
|
78
123
|
for (const line of formatCause(error.cause, options)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/unstable/app-error/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/unstable/app-error/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,9 @@ export interface DeviceFlowResponse {
|
|
|
25
25
|
readonly interval: number;
|
|
26
26
|
readonly expires_in: number;
|
|
27
27
|
}
|
|
28
|
+
export interface LoginScopeOptions {
|
|
29
|
+
readonly scopes?: ReadonlyArray<string>;
|
|
30
|
+
}
|
|
28
31
|
export interface MeResponse {
|
|
29
32
|
readonly userId: string;
|
|
30
33
|
readonly userHandle: Handle;
|
|
@@ -36,6 +39,53 @@ export interface MeResponse {
|
|
|
36
39
|
readonly handle: Handle;
|
|
37
40
|
}>;
|
|
38
41
|
}
|
|
42
|
+
export interface WhoamiResponse {
|
|
43
|
+
readonly handle: Handle;
|
|
44
|
+
}
|
|
45
|
+
export interface TokenPermissionsRequest {
|
|
46
|
+
readonly owners?: ReadonlyArray<string>;
|
|
47
|
+
readonly extensions?: ReadonlyArray<string>;
|
|
48
|
+
readonly permission?: "read" | "publish" | "admin";
|
|
49
|
+
readonly org_permission?: "read" | "write" | "admin";
|
|
50
|
+
readonly cidr?: ReadonlyArray<string>;
|
|
51
|
+
readonly bypass_mfa?: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface CreateTokenParams {
|
|
54
|
+
readonly name: string;
|
|
55
|
+
readonly expiresIn: number;
|
|
56
|
+
readonly permissions: TokenPermissionsRequest;
|
|
57
|
+
}
|
|
58
|
+
export interface CreatedTokenResponse {
|
|
59
|
+
readonly id: string;
|
|
60
|
+
readonly token: string;
|
|
61
|
+
readonly name: string;
|
|
62
|
+
readonly scopes: ReadonlyArray<string>;
|
|
63
|
+
readonly permissions: unknown;
|
|
64
|
+
readonly createdAt: string;
|
|
65
|
+
readonly expiresAt: string;
|
|
66
|
+
}
|
|
67
|
+
export interface TokenListItem {
|
|
68
|
+
readonly id: string;
|
|
69
|
+
readonly name: string | null;
|
|
70
|
+
readonly type: string;
|
|
71
|
+
readonly scopes: ReadonlyArray<string>;
|
|
72
|
+
readonly permissions: unknown;
|
|
73
|
+
readonly createdAt: string;
|
|
74
|
+
readonly expiresAt: string;
|
|
75
|
+
readonly lastUsedAt: string | null;
|
|
76
|
+
}
|
|
77
|
+
export interface TokenListResponse {
|
|
78
|
+
readonly tokens: ReadonlyArray<TokenListItem>;
|
|
79
|
+
readonly hasMore: boolean;
|
|
80
|
+
readonly cursor: string | null;
|
|
81
|
+
}
|
|
82
|
+
export interface StepUpRequiredResponse {
|
|
83
|
+
readonly authUrl: string;
|
|
84
|
+
readonly doneUrl: string;
|
|
85
|
+
}
|
|
86
|
+
export interface DeleteTokenOptions {
|
|
87
|
+
readonly stepUpToken?: string;
|
|
88
|
+
}
|
|
39
89
|
export interface BuildAuthorizeUrlParams {
|
|
40
90
|
readonly challenge: string;
|
|
41
91
|
readonly expiresAt?: Date;
|
|
@@ -65,11 +115,19 @@ export interface AuthClientService {
|
|
|
65
115
|
readonly buildAuthorizeUrl: (params: BuildAuthorizeUrlParams) => string;
|
|
66
116
|
readonly getAuthorizationIssuer: () => string;
|
|
67
117
|
readonly exchangePkceCode: (params: ExchangePkceCodeParams) => Effect.Effect<NormalizedTokenResponse, AppError>;
|
|
68
|
-
readonly initiateDeviceFlow: () => Effect.Effect<DeviceFlowResponse, AppError>;
|
|
118
|
+
readonly initiateDeviceFlow: (options?: LoginScopeOptions) => Effect.Effect<DeviceFlowResponse, AppError>;
|
|
69
119
|
readonly pollDeviceToken: (deviceCode: string, interval: number) => Effect.Effect<NormalizedTokenResponse, AppError>;
|
|
70
120
|
readonly refreshToken: (refreshTokenValue: string) => Effect.Effect<NormalizedTokenResponse, AppError>;
|
|
71
121
|
readonly revokeToken: (token: string) => Effect.Effect<void, AppError>;
|
|
72
122
|
readonly getMe: (accessToken: string) => Effect.Effect<MeResponse, AppError>;
|
|
123
|
+
readonly getWhoami: (accessToken: string) => Effect.Effect<WhoamiResponse, AppError>;
|
|
124
|
+
readonly createToken: (accessToken: string, params: CreateTokenParams) => Effect.Effect<CreatedTokenResponse, AppError>;
|
|
125
|
+
readonly listTokens: (accessToken: string, params?: {
|
|
126
|
+
readonly limit?: number;
|
|
127
|
+
readonly cursor?: string;
|
|
128
|
+
}) => Effect.Effect<TokenListResponse, AppError>;
|
|
129
|
+
readonly pollStepUpChallenge: (accessToken: string, doneUrl: string) => Effect.Effect<string, AppError>;
|
|
130
|
+
readonly deleteToken: (accessToken: string, tokenId: string, options?: DeleteTokenOptions) => Effect.Effect<void, AppError>;
|
|
73
131
|
}
|
|
74
132
|
declare const AuthClient_base: ServiceMap.ServiceClass<AuthClient, "@agentxm/client-core/unstable/auth/auth-client/AuthClient", AuthClientService>;
|
|
75
133
|
export declare class AuthClient extends AuthClient_base {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-client.d.ts","sourceRoot":"","sources":["../../../../src/unstable/auth/auth-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAK9D,OAAO,KAAK,UAAU,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-client.d.ts","sourceRoot":"","sources":["../../../../src/unstable/auth/auth-client.ts"],"names":[],"mappings":"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"}
|