@ggui-ai/cli 0.1.0-rc.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/LICENSE +201 -0
- package/README.md +96 -0
- package/dist/agent-resolution.d.ts +41 -0
- package/dist/agent-resolution.d.ts.map +1 -0
- package/dist/agent-resolution.js +80 -0
- package/dist/api-client.d.ts +59 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +145 -0
- package/dist/auth-keys.d.ts +10 -0
- package/dist/auth-keys.d.ts.map +1 -0
- package/dist/auth-keys.js +382 -0
- package/dist/auth-login.d.ts +11 -0
- package/dist/auth-login.d.ts.map +1 -0
- package/dist/auth-login.js +231 -0
- package/dist/auth-logout.d.ts +3 -0
- package/dist/auth-logout.d.ts.map +1 -0
- package/dist/auth-logout.js +32 -0
- package/dist/auth-store.d.ts +67 -0
- package/dist/auth-store.d.ts.map +1 -0
- package/dist/auth-store.js +150 -0
- package/dist/auth-whoami.d.ts +3 -0
- package/dist/auth-whoami.d.ts.map +1 -0
- package/dist/auth-whoami.js +52 -0
- package/dist/blueprint-command.d.ts +3 -0
- package/dist/blueprint-command.d.ts.map +1 -0
- package/dist/blueprint-command.js +203 -0
- package/dist/blueprint-create.d.ts +71 -0
- package/dist/blueprint-create.d.ts.map +1 -0
- package/dist/blueprint-create.js +377 -0
- package/dist/byok-resolver.d.ts +141 -0
- package/dist/byok-resolver.d.ts.map +1 -0
- package/dist/byok-resolver.js +89 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1066 -0
- package/dist/dev-command.d.ts +169 -0
- package/dist/dev-command.d.ts.map +1 -0
- package/dist/dev-command.js +222 -0
- package/dist/gadget-command.d.ts +3 -0
- package/dist/gadget-command.d.ts.map +1 -0
- package/dist/gadget-command.js +181 -0
- package/dist/gadget-create.d.ts +106 -0
- package/dist/gadget-create.d.ts.map +1 -0
- package/dist/gadget-create.js +492 -0
- package/dist/generation-probe.d.ts +135 -0
- package/dist/generation-probe.d.ts.map +1 -0
- package/dist/generation-probe.js +132 -0
- package/dist/internal/artifact-install.d.ts +150 -0
- package/dist/internal/artifact-install.d.ts.map +1 -0
- package/dist/internal/artifact-install.js +1019 -0
- package/dist/internal/artifact-publish.d.ts +204 -0
- package/dist/internal/artifact-publish.d.ts.map +1 -0
- package/dist/internal/artifact-publish.js +1141 -0
- package/dist/internal/artifact-search.d.ts +155 -0
- package/dist/internal/artifact-search.d.ts.map +1 -0
- package/dist/internal/artifact-search.js +539 -0
- package/dist/internal/artifact-uninstall.d.ts +30 -0
- package/dist/internal/artifact-uninstall.d.ts.map +1 -0
- package/dist/internal/artifact-uninstall.js +205 -0
- package/dist/internal/auth-cache.d.ts +40 -0
- package/dist/internal/auth-cache.d.ts.map +1 -0
- package/dist/internal/auth-cache.js +133 -0
- package/dist/internal/auth-strategy.d.ts +89 -0
- package/dist/internal/auth-strategy.d.ts.map +1 -0
- package/dist/internal/auth-strategy.js +132 -0
- package/dist/internal/ggui-json.d.ts +53 -0
- package/dist/internal/ggui-json.d.ts.map +1 -0
- package/dist/internal/ggui-json.js +92 -0
- package/dist/internal/key-store.d.ts +43 -0
- package/dist/internal/key-store.d.ts.map +1 -0
- package/dist/internal/key-store.js +128 -0
- package/dist/internal/oidc-token.d.ts +52 -0
- package/dist/internal/oidc-token.d.ts.map +1 -0
- package/dist/internal/oidc-token.js +351 -0
- package/dist/internal/register-author-key.d.ts +44 -0
- package/dist/internal/register-author-key.d.ts.map +1 -0
- package/dist/internal/register-author-key.js +212 -0
- package/dist/local-keys.d.ts +47 -0
- package/dist/local-keys.d.ts.map +1 -0
- package/dist/local-keys.js +115 -0
- package/dist/mcp-backend.d.ts +356 -0
- package/dist/mcp-backend.d.ts.map +1 -0
- package/dist/mcp-backend.js +668 -0
- package/dist/paths.d.ts +77 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +119 -0
- package/dist/persistent-secrets.d.ts +28 -0
- package/dist/persistent-secrets.d.ts.map +1 -0
- package/dist/persistent-secrets.js +94 -0
- package/dist/persistent-short-code-index.d.ts +14 -0
- package/dist/persistent-short-code-index.d.ts.map +1 -0
- package/dist/persistent-short-code-index.js +39 -0
- package/dist/persistent-stores.d.ts +12 -0
- package/dist/persistent-stores.d.ts.map +1 -0
- package/dist/persistent-stores.js +42 -0
- package/dist/serve-command.d.ts +500 -0
- package/dist/serve-command.d.ts.map +1 -0
- package/dist/serve-command.js +616 -0
- package/dist/serve-fallback.d.ts +64 -0
- package/dist/serve-fallback.d.ts.map +1 -0
- package/dist/serve-fallback.js +122 -0
- package/dist/spawn-cloudflared.d.ts +61 -0
- package/dist/spawn-cloudflared.d.ts.map +1 -0
- package/dist/spawn-cloudflared.js +167 -0
- package/dist/theme-command.d.ts +4 -0
- package/dist/theme-command.d.ts.map +1 -0
- package/dist/theme-command.js +154 -0
- package/dist/theme-file-uploader.d.ts +8 -0
- package/dist/theme-file-uploader.d.ts.map +1 -0
- package/dist/theme-file-uploader.js +58 -0
- package/dist/theme-writer.d.ts +8 -0
- package/dist/theme-writer.d.ts.map +1 -0
- package/dist/theme-writer.js +103 -0
- package/dist/tunnel-provider.d.ts +273 -0
- package/dist/tunnel-provider.d.ts.map +1 -0
- package/dist/tunnel-provider.js +142 -0
- package/package.json +81 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { CognitoIdentityProviderClient } from '@aws-sdk/client-cognito-identity-provider';
|
|
2
|
+
import { type RegistryTokenDocument } from './auth-cache.js';
|
|
3
|
+
import { type AuthFlags } from './auth-strategy.js';
|
|
4
|
+
/** Artifact-kind discriminator. Mirrors the manifest schema's
|
|
5
|
+
* `kind` field — passing a CLI verb's `kind` to the publish core lets
|
|
6
|
+
* it bail with a friendly redirect when the on-disk manifest doesn't
|
|
7
|
+
* match. */
|
|
8
|
+
export type ArtifactKind = 'gadget' | 'blueprint';
|
|
9
|
+
/**
|
|
10
|
+
* Shape of the resolved options the publish core consumes. Built from
|
|
11
|
+
* argv by {@link parseArtifactPublishFlags} so the core function is
|
|
12
|
+
* dependency-injectable for tests.
|
|
13
|
+
*/
|
|
14
|
+
export interface ArtifactPublishOptions {
|
|
15
|
+
/** CLI verb the operator typed — enforced against the manifest kind. */
|
|
16
|
+
readonly kind: ArtifactKind;
|
|
17
|
+
/** Override the registry URL — highest precedence. */
|
|
18
|
+
readonly registry?: string;
|
|
19
|
+
/** Skip the actual POST; run everything else. */
|
|
20
|
+
readonly dryRun: boolean;
|
|
21
|
+
/** Override the private-key path. */
|
|
22
|
+
readonly key?: string;
|
|
23
|
+
/**
|
|
24
|
+
* OIDC identity token for sigstore signing (public gadgets only).
|
|
25
|
+
* Mirrors cosign's `--identity-token` flag. If absent the CLI falls
|
|
26
|
+
* back through `GGUI_OIDC_TOKEN` → GH-Actions ambient → interactive.
|
|
27
|
+
* Ignored for private-gadget publishes (which sign with Ed25519).
|
|
28
|
+
*/
|
|
29
|
+
readonly identityToken?: string;
|
|
30
|
+
/** Auth strategy + bearer token. `auth === undefined` → hosted auth. */
|
|
31
|
+
readonly auth?: AuthFlags;
|
|
32
|
+
/** Starting directory; defaults to `process.cwd()`. */
|
|
33
|
+
readonly cwd?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Test seam: inject `fetch`. Production passes `globalThis.fetch`.
|
|
36
|
+
* Typed deliberately as the `fetch` global so tests use a real
|
|
37
|
+
* `Response` object without leaking through `any`.
|
|
38
|
+
*/
|
|
39
|
+
readonly fetch?: typeof fetch;
|
|
40
|
+
/**
|
|
41
|
+
* Test seam: inject a hosted-auth identity-provider client. Production
|
|
42
|
+
* constructs one per call. Vendor-neutral parameter name; the AWS SDK
|
|
43
|
+
* type is reused without leaking the vendor through the parameter
|
|
44
|
+
* name — see the cloud-internal hosted-auth implementation below.
|
|
45
|
+
*/
|
|
46
|
+
readonly hostedAuthClient?: Pick<CognitoIdentityProviderClient, 'send'>;
|
|
47
|
+
/**
|
|
48
|
+
* Test seam: prompt for username + password. Production reads
|
|
49
|
+
* stdin (TTY) — tests stub the function.
|
|
50
|
+
*/
|
|
51
|
+
readonly prompt?: (label: string, opts?: {
|
|
52
|
+
hidden?: boolean;
|
|
53
|
+
}) => Promise<string>;
|
|
54
|
+
/** Test seam: write status lines. Production = process.stdout.write. */
|
|
55
|
+
readonly stdout?: (line: string) => void;
|
|
56
|
+
/** Test seam: write error lines. Production = process.stderr.write. */
|
|
57
|
+
readonly stderr?: (line: string) => void;
|
|
58
|
+
/**
|
|
59
|
+
* Test seam: clock. Returns unix epoch SECONDS. Production = Date.now()/1000.
|
|
60
|
+
*/
|
|
61
|
+
readonly now?: () => number;
|
|
62
|
+
}
|
|
63
|
+
/** Discriminated result mirroring the patterns used by `runServe` /
|
|
64
|
+
* `runDev`. Tests + the CLI router branch on the discriminant. */
|
|
65
|
+
export type PublishResult = {
|
|
66
|
+
readonly ok: true;
|
|
67
|
+
readonly exitCode: 0;
|
|
68
|
+
readonly success: PublishSuccess;
|
|
69
|
+
} | {
|
|
70
|
+
readonly ok: false;
|
|
71
|
+
readonly exitCode: number;
|
|
72
|
+
readonly error: PublishError;
|
|
73
|
+
};
|
|
74
|
+
export interface PublishSuccess {
|
|
75
|
+
readonly artifactId: string;
|
|
76
|
+
readonly version: string;
|
|
77
|
+
readonly manifestUrl: string;
|
|
78
|
+
readonly bundleUrl?: string;
|
|
79
|
+
readonly signatureUrl?: string;
|
|
80
|
+
readonly installCommand: string;
|
|
81
|
+
readonly registryUrl: string;
|
|
82
|
+
readonly dryRun: boolean;
|
|
83
|
+
}
|
|
84
|
+
export type PublishError = {
|
|
85
|
+
readonly code: 'no_registry_resolved';
|
|
86
|
+
readonly message: string;
|
|
87
|
+
} | {
|
|
88
|
+
readonly code: 'manifest_missing';
|
|
89
|
+
readonly message: string;
|
|
90
|
+
} | {
|
|
91
|
+
readonly code: 'manifest_invalid';
|
|
92
|
+
readonly message: string;
|
|
93
|
+
readonly details?: string;
|
|
94
|
+
} | {
|
|
95
|
+
readonly code: 'manifest_kind_mismatch';
|
|
96
|
+
readonly message: string;
|
|
97
|
+
} | {
|
|
98
|
+
readonly code: 'bundle_failed';
|
|
99
|
+
readonly message: string;
|
|
100
|
+
} | {
|
|
101
|
+
readonly code: 'auth_failed';
|
|
102
|
+
readonly message: string;
|
|
103
|
+
} | {
|
|
104
|
+
readonly code: 'auth_config_missing';
|
|
105
|
+
readonly message: string;
|
|
106
|
+
} | {
|
|
107
|
+
readonly code: 'key_missing';
|
|
108
|
+
readonly message: string;
|
|
109
|
+
} | {
|
|
110
|
+
readonly code: 'oidc_resolution_failed';
|
|
111
|
+
readonly message: string;
|
|
112
|
+
/** Sub-code from the OIDC resolver — `no_token_available` / `github_actions_fetch_failed` / `interactive_failed`. */
|
|
113
|
+
readonly oidcCode?: string;
|
|
114
|
+
} | {
|
|
115
|
+
readonly code: 'conformance_failed';
|
|
116
|
+
readonly message: string;
|
|
117
|
+
readonly issues?: ReadonlyArray<ConformanceIssue>;
|
|
118
|
+
} | {
|
|
119
|
+
readonly code: 'publish_failed';
|
|
120
|
+
readonly message: string;
|
|
121
|
+
readonly httpStatus?: number;
|
|
122
|
+
readonly serverCode?: string;
|
|
123
|
+
} | {
|
|
124
|
+
readonly code: 'publish_stubbed';
|
|
125
|
+
readonly message: string;
|
|
126
|
+
};
|
|
127
|
+
export interface ConformanceIssue {
|
|
128
|
+
readonly code: string;
|
|
129
|
+
readonly message: string;
|
|
130
|
+
readonly path?: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Parsed argv flags for the `ggui {gadget,blueprint} publish` subcommand.
|
|
134
|
+
* Returned by {@link parseArtifactPublishFlags}.
|
|
135
|
+
*/
|
|
136
|
+
export interface ParsedPublishFlags {
|
|
137
|
+
readonly registry?: string;
|
|
138
|
+
readonly dryRun: boolean;
|
|
139
|
+
readonly key?: string;
|
|
140
|
+
/** Parsed `--identity-token <jwt>` flag (sigstore / public gadgets). */
|
|
141
|
+
readonly identityToken?: string;
|
|
142
|
+
readonly auth?: AuthFlags;
|
|
143
|
+
readonly help: boolean;
|
|
144
|
+
readonly error?: string;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Build verb-specific help text. Takes the `kind` so the rendered
|
|
148
|
+
* lines say `ggui gadget publish` / `ggui blueprint publish` rather
|
|
149
|
+
* than a generic placeholder.
|
|
150
|
+
*/
|
|
151
|
+
export declare function buildPublishHelp(kind: ArtifactKind): string;
|
|
152
|
+
/**
|
|
153
|
+
* Parse argv tail (excluding `ggui {gadget,blueprint} publish`) into
|
|
154
|
+
* flags. Pure — no IO. Returned `error` is a single-line
|
|
155
|
+
* operator-facing string. The `--auth` + `--token` flags are peeled
|
|
156
|
+
* out via {@link parseAuthFlags} so the publish flag loop stays
|
|
157
|
+
* focused on its own surface.
|
|
158
|
+
*/
|
|
159
|
+
export declare function parseArtifactPublishFlags(args: readonly string[]): ParsedPublishFlags;
|
|
160
|
+
/**
|
|
161
|
+
* Run the publish flow. Pure entry point — all IO + network is
|
|
162
|
+
* threaded through injectable seams in `opts` so tests are
|
|
163
|
+
* deterministic.
|
|
164
|
+
*
|
|
165
|
+
* `opts.kind` is the verb the operator typed; manifest-kind mismatch
|
|
166
|
+
* (e.g. `ggui gadget publish` in a directory with `ggui.blueprint.json`)
|
|
167
|
+
* surfaces a friendly redirect at step 2 + exits non-zero.
|
|
168
|
+
*/
|
|
169
|
+
export declare function runArtifactPublish(opts: ArtifactPublishOptions): Promise<PublishResult>;
|
|
170
|
+
interface RegistryResolution {
|
|
171
|
+
readonly ok: true;
|
|
172
|
+
readonly url: string;
|
|
173
|
+
readonly source: 'flag' | 'env' | 'ggui.json';
|
|
174
|
+
}
|
|
175
|
+
interface RegistryUnresolved {
|
|
176
|
+
readonly ok: false;
|
|
177
|
+
readonly message: string;
|
|
178
|
+
}
|
|
179
|
+
export declare function resolveRegistryUrl(opts: {
|
|
180
|
+
readonly flag?: string;
|
|
181
|
+
readonly env: NodeJS.ProcessEnv;
|
|
182
|
+
readonly cwd: string;
|
|
183
|
+
}): RegistryResolution | RegistryUnresolved;
|
|
184
|
+
export interface AuthSuccess {
|
|
185
|
+
readonly ok: true;
|
|
186
|
+
readonly token: RegistryTokenDocument;
|
|
187
|
+
readonly fromCache: boolean;
|
|
188
|
+
}
|
|
189
|
+
export interface AuthFailed {
|
|
190
|
+
readonly ok: false;
|
|
191
|
+
readonly error: Extract<PublishError, {
|
|
192
|
+
code: 'auth_failed' | 'auth_config_missing';
|
|
193
|
+
}>;
|
|
194
|
+
}
|
|
195
|
+
export declare function acquireHostedAuthJwt(opts: {
|
|
196
|
+
readonly registryUrl: string;
|
|
197
|
+
readonly env: NodeJS.ProcessEnv;
|
|
198
|
+
readonly cwd: string;
|
|
199
|
+
readonly hostedAuthClient?: Pick<CognitoIdentityProviderClient, 'send'>;
|
|
200
|
+
readonly prompt?: ArtifactPublishOptions['prompt'];
|
|
201
|
+
readonly now: () => number;
|
|
202
|
+
}): Promise<AuthSuccess | AuthFailed>;
|
|
203
|
+
export {};
|
|
204
|
+
//# sourceMappingURL=artifact-publish.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-publish.d.ts","sourceRoot":"","sources":["../../src/internal/artifact-publish.ts"],"names":[],"mappings":"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"}
|