@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.
Files changed (117) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +96 -0
  3. package/dist/agent-resolution.d.ts +41 -0
  4. package/dist/agent-resolution.d.ts.map +1 -0
  5. package/dist/agent-resolution.js +80 -0
  6. package/dist/api-client.d.ts +59 -0
  7. package/dist/api-client.d.ts.map +1 -0
  8. package/dist/api-client.js +145 -0
  9. package/dist/auth-keys.d.ts +10 -0
  10. package/dist/auth-keys.d.ts.map +1 -0
  11. package/dist/auth-keys.js +382 -0
  12. package/dist/auth-login.d.ts +11 -0
  13. package/dist/auth-login.d.ts.map +1 -0
  14. package/dist/auth-login.js +231 -0
  15. package/dist/auth-logout.d.ts +3 -0
  16. package/dist/auth-logout.d.ts.map +1 -0
  17. package/dist/auth-logout.js +32 -0
  18. package/dist/auth-store.d.ts +67 -0
  19. package/dist/auth-store.d.ts.map +1 -0
  20. package/dist/auth-store.js +150 -0
  21. package/dist/auth-whoami.d.ts +3 -0
  22. package/dist/auth-whoami.d.ts.map +1 -0
  23. package/dist/auth-whoami.js +52 -0
  24. package/dist/blueprint-command.d.ts +3 -0
  25. package/dist/blueprint-command.d.ts.map +1 -0
  26. package/dist/blueprint-command.js +203 -0
  27. package/dist/blueprint-create.d.ts +71 -0
  28. package/dist/blueprint-create.d.ts.map +1 -0
  29. package/dist/blueprint-create.js +377 -0
  30. package/dist/byok-resolver.d.ts +141 -0
  31. package/dist/byok-resolver.d.ts.map +1 -0
  32. package/dist/byok-resolver.js +89 -0
  33. package/dist/cli.d.ts +3 -0
  34. package/dist/cli.d.ts.map +1 -0
  35. package/dist/cli.js +1066 -0
  36. package/dist/dev-command.d.ts +169 -0
  37. package/dist/dev-command.d.ts.map +1 -0
  38. package/dist/dev-command.js +222 -0
  39. package/dist/gadget-command.d.ts +3 -0
  40. package/dist/gadget-command.d.ts.map +1 -0
  41. package/dist/gadget-command.js +181 -0
  42. package/dist/gadget-create.d.ts +106 -0
  43. package/dist/gadget-create.d.ts.map +1 -0
  44. package/dist/gadget-create.js +492 -0
  45. package/dist/generation-probe.d.ts +135 -0
  46. package/dist/generation-probe.d.ts.map +1 -0
  47. package/dist/generation-probe.js +132 -0
  48. package/dist/internal/artifact-install.d.ts +150 -0
  49. package/dist/internal/artifact-install.d.ts.map +1 -0
  50. package/dist/internal/artifact-install.js +1019 -0
  51. package/dist/internal/artifact-publish.d.ts +204 -0
  52. package/dist/internal/artifact-publish.d.ts.map +1 -0
  53. package/dist/internal/artifact-publish.js +1141 -0
  54. package/dist/internal/artifact-search.d.ts +155 -0
  55. package/dist/internal/artifact-search.d.ts.map +1 -0
  56. package/dist/internal/artifact-search.js +539 -0
  57. package/dist/internal/artifact-uninstall.d.ts +30 -0
  58. package/dist/internal/artifact-uninstall.d.ts.map +1 -0
  59. package/dist/internal/artifact-uninstall.js +205 -0
  60. package/dist/internal/auth-cache.d.ts +40 -0
  61. package/dist/internal/auth-cache.d.ts.map +1 -0
  62. package/dist/internal/auth-cache.js +133 -0
  63. package/dist/internal/auth-strategy.d.ts +89 -0
  64. package/dist/internal/auth-strategy.d.ts.map +1 -0
  65. package/dist/internal/auth-strategy.js +132 -0
  66. package/dist/internal/ggui-json.d.ts +53 -0
  67. package/dist/internal/ggui-json.d.ts.map +1 -0
  68. package/dist/internal/ggui-json.js +92 -0
  69. package/dist/internal/key-store.d.ts +43 -0
  70. package/dist/internal/key-store.d.ts.map +1 -0
  71. package/dist/internal/key-store.js +128 -0
  72. package/dist/internal/oidc-token.d.ts +52 -0
  73. package/dist/internal/oidc-token.d.ts.map +1 -0
  74. package/dist/internal/oidc-token.js +351 -0
  75. package/dist/internal/register-author-key.d.ts +44 -0
  76. package/dist/internal/register-author-key.d.ts.map +1 -0
  77. package/dist/internal/register-author-key.js +212 -0
  78. package/dist/local-keys.d.ts +47 -0
  79. package/dist/local-keys.d.ts.map +1 -0
  80. package/dist/local-keys.js +115 -0
  81. package/dist/mcp-backend.d.ts +356 -0
  82. package/dist/mcp-backend.d.ts.map +1 -0
  83. package/dist/mcp-backend.js +668 -0
  84. package/dist/paths.d.ts +77 -0
  85. package/dist/paths.d.ts.map +1 -0
  86. package/dist/paths.js +119 -0
  87. package/dist/persistent-secrets.d.ts +28 -0
  88. package/dist/persistent-secrets.d.ts.map +1 -0
  89. package/dist/persistent-secrets.js +94 -0
  90. package/dist/persistent-short-code-index.d.ts +14 -0
  91. package/dist/persistent-short-code-index.d.ts.map +1 -0
  92. package/dist/persistent-short-code-index.js +39 -0
  93. package/dist/persistent-stores.d.ts +12 -0
  94. package/dist/persistent-stores.d.ts.map +1 -0
  95. package/dist/persistent-stores.js +42 -0
  96. package/dist/serve-command.d.ts +500 -0
  97. package/dist/serve-command.d.ts.map +1 -0
  98. package/dist/serve-command.js +616 -0
  99. package/dist/serve-fallback.d.ts +64 -0
  100. package/dist/serve-fallback.d.ts.map +1 -0
  101. package/dist/serve-fallback.js +122 -0
  102. package/dist/spawn-cloudflared.d.ts +61 -0
  103. package/dist/spawn-cloudflared.d.ts.map +1 -0
  104. package/dist/spawn-cloudflared.js +167 -0
  105. package/dist/theme-command.d.ts +4 -0
  106. package/dist/theme-command.d.ts.map +1 -0
  107. package/dist/theme-command.js +154 -0
  108. package/dist/theme-file-uploader.d.ts +8 -0
  109. package/dist/theme-file-uploader.d.ts.map +1 -0
  110. package/dist/theme-file-uploader.js +58 -0
  111. package/dist/theme-writer.d.ts +8 -0
  112. package/dist/theme-writer.d.ts.map +1 -0
  113. package/dist/theme-writer.js +103 -0
  114. package/dist/tunnel-provider.d.ts +273 -0
  115. package/dist/tunnel-provider.d.ts.map +1 -0
  116. package/dist/tunnel-provider.js +142 -0
  117. 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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"}