@uapkg/cli 1.1.10 → 1.2.0

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 (165) hide show
  1. package/dist/app/CompositionRoot.d.ts +6 -0
  2. package/dist/app/CompositionRoot.d.ts.map +1 -1
  3. package/dist/app/CompositionRoot.js +16 -0
  4. package/dist/app/CompositionRoot.js.map +1 -1
  5. package/dist/app/UAPKGApplication.d.ts.map +1 -1
  6. package/dist/app/UAPKGApplication.js +62 -2
  7. package/dist/app/UAPKGApplication.js.map +1 -1
  8. package/dist/build/BuildMetadata.d.ts +12 -0
  9. package/dist/build/BuildMetadata.d.ts.map +1 -0
  10. package/dist/build/BuildMetadata.js +6 -0
  11. package/dist/cli/UAPKGCommandLine.d.ts +98 -3
  12. package/dist/cli/UAPKGCommandLine.d.ts.map +1 -1
  13. package/dist/cli/UAPKGCommandLine.js +69 -0
  14. package/dist/cli/UAPKGCommandLine.js.map +1 -1
  15. package/dist/cli/parsing/UAPKGCommandLineParser.d.ts.map +1 -1
  16. package/dist/cli/parsing/UAPKGCommandLineParser.js +8 -1
  17. package/dist/cli/parsing/UAPKGCommandLineParser.js.map +1 -1
  18. package/dist/cli/parsing/UAPKGParserRegistry.d.ts.map +1 -1
  19. package/dist/cli/parsing/UAPKGParserRegistry.js +12 -0
  20. package/dist/cli/parsing/UAPKGParserRegistry.js.map +1 -1
  21. package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts +11 -0
  22. package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts.map +1 -0
  23. package/dist/cli/parsing/modules/LifecycleCommandModule.js +56 -0
  24. package/dist/cli/parsing/modules/LifecycleCommandModule.js.map +1 -0
  25. package/dist/cli/parsing/modules/LoginCommandModule.d.ts +7 -0
  26. package/dist/cli/parsing/modules/LoginCommandModule.d.ts.map +1 -0
  27. package/dist/cli/parsing/modules/LoginCommandModule.js +34 -0
  28. package/dist/cli/parsing/modules/LoginCommandModule.js.map +1 -0
  29. package/dist/cli/parsing/modules/LogoutCommandModule.d.ts +7 -0
  30. package/dist/cli/parsing/modules/LogoutCommandModule.d.ts.map +1 -0
  31. package/dist/cli/parsing/modules/LogoutCommandModule.js +29 -0
  32. package/dist/cli/parsing/modules/LogoutCommandModule.js.map +1 -0
  33. package/dist/cli/parsing/modules/PublishCommandModule.d.ts +7 -0
  34. package/dist/cli/parsing/modules/PublishCommandModule.d.ts.map +1 -0
  35. package/dist/cli/parsing/modules/PublishCommandModule.js +50 -0
  36. package/dist/cli/parsing/modules/PublishCommandModule.js.map +1 -0
  37. package/dist/cli/parsing/modules/RegistryCommandModule.d.ts.map +1 -1
  38. package/dist/cli/parsing/modules/RegistryCommandModule.js +31 -2
  39. package/dist/cli/parsing/modules/RegistryCommandModule.js.map +1 -1
  40. package/dist/cli/parsing/modules/RequestsCommandModule.d.ts +7 -0
  41. package/dist/cli/parsing/modules/RequestsCommandModule.d.ts.map +1 -0
  42. package/dist/cli/parsing/modules/RequestsCommandModule.js +63 -0
  43. package/dist/cli/parsing/modules/RequestsCommandModule.js.map +1 -0
  44. package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts +7 -0
  45. package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts.map +1 -0
  46. package/dist/cli/parsing/modules/WhoamiCommandModule.js +29 -0
  47. package/dist/cli/parsing/modules/WhoamiCommandModule.js.map +1 -0
  48. package/dist/cli-bootstrap.d.ts +2 -0
  49. package/dist/cli-bootstrap.d.ts.map +1 -0
  50. package/dist/cli-bootstrap.js +17 -0
  51. package/dist/cli-bootstrap.js.map +1 -0
  52. package/dist/cli.js +24 -17
  53. package/dist/commands/InstallCommand.d.ts.map +1 -1
  54. package/dist/commands/InstallCommand.js +21 -6
  55. package/dist/commands/InstallCommand.js.map +1 -1
  56. package/dist/commands/LoginCommand.d.ts +17 -0
  57. package/dist/commands/LoginCommand.d.ts.map +1 -0
  58. package/dist/commands/LoginCommand.js +73 -0
  59. package/dist/commands/LoginCommand.js.map +1 -0
  60. package/dist/commands/LogoutCommand.d.ts +15 -0
  61. package/dist/commands/LogoutCommand.d.ts.map +1 -0
  62. package/dist/commands/LogoutCommand.js +38 -0
  63. package/dist/commands/LogoutCommand.js.map +1 -0
  64. package/dist/commands/PackageLifecycleCommand.d.ts +28 -0
  65. package/dist/commands/PackageLifecycleCommand.d.ts.map +1 -0
  66. package/dist/commands/PackageLifecycleCommand.js +134 -0
  67. package/dist/commands/PackageLifecycleCommand.js.map +1 -0
  68. package/dist/commands/PostinstallCandidateBuilder.d.ts +1 -1
  69. package/dist/commands/PostinstallCandidateBuilder.d.ts.map +1 -1
  70. package/dist/commands/PostinstallCandidateBuilder.js +4 -1
  71. package/dist/commands/PostinstallCandidateBuilder.js.map +1 -1
  72. package/dist/commands/PublishCommand.d.ts +32 -0
  73. package/dist/commands/PublishCommand.d.ts.map +1 -0
  74. package/dist/commands/PublishCommand.js +260 -0
  75. package/dist/commands/PublishCommand.js.map +1 -0
  76. package/dist/commands/RegistryCommand.d.ts +13 -3
  77. package/dist/commands/RegistryCommand.d.ts.map +1 -1
  78. package/dist/commands/RegistryCommand.js +115 -11
  79. package/dist/commands/RegistryCommand.js.map +1 -1
  80. package/dist/commands/RequestsCommand.d.ts +21 -0
  81. package/dist/commands/RequestsCommand.d.ts.map +1 -0
  82. package/dist/commands/RequestsCommand.js +98 -0
  83. package/dist/commands/RequestsCommand.js.map +1 -0
  84. package/dist/commands/WhoamiCommand.d.ts +32 -0
  85. package/dist/commands/WhoamiCommand.d.ts.map +1 -0
  86. package/dist/commands/WhoamiCommand.js +75 -0
  87. package/dist/commands/WhoamiCommand.js.map +1 -0
  88. package/dist/commands/add/DependencyAddResolver.d.ts.map +1 -1
  89. package/dist/commands/add/DependencyAddResolver.js +4 -2
  90. package/dist/commands/add/DependencyAddResolver.js.map +1 -1
  91. package/dist/control-plane/AccountManager.d.ts +110 -0
  92. package/dist/control-plane/AccountManager.d.ts.map +1 -0
  93. package/dist/control-plane/AccountManager.js +1014 -0
  94. package/dist/control-plane/AccountManager.js.map +1 -0
  95. package/dist/control-plane/ArtifactObserver.d.ts +24 -0
  96. package/dist/control-plane/ArtifactObserver.d.ts.map +1 -0
  97. package/dist/control-plane/ArtifactObserver.js +63 -0
  98. package/dist/control-plane/ArtifactObserver.js.map +1 -0
  99. package/dist/control-plane/AuthMetadataStore.d.ts +15 -0
  100. package/dist/control-plane/AuthMetadataStore.d.ts.map +1 -0
  101. package/dist/control-plane/AuthMetadataStore.js +116 -0
  102. package/dist/control-plane/AuthMetadataStore.js.map +1 -0
  103. package/dist/control-plane/AuthStoragePaths.d.ts +11 -0
  104. package/dist/control-plane/AuthStoragePaths.d.ts.map +1 -0
  105. package/dist/control-plane/AuthStoragePaths.js +17 -0
  106. package/dist/control-plane/AuthStoragePaths.js.map +1 -0
  107. package/dist/control-plane/AuthenticationSelector.d.ts +21 -0
  108. package/dist/control-plane/AuthenticationSelector.d.ts.map +1 -0
  109. package/dist/control-plane/AuthenticationSelector.js +64 -0
  110. package/dist/control-plane/AuthenticationSelector.js.map +1 -0
  111. package/dist/control-plane/ControlPlaneClient.d.ts +32 -0
  112. package/dist/control-plane/ControlPlaneClient.d.ts.map +1 -0
  113. package/dist/control-plane/ControlPlaneClient.js +280 -0
  114. package/dist/control-plane/ControlPlaneClient.js.map +1 -0
  115. package/dist/control-plane/ControlPlaneEndpoints.d.ts +13 -0
  116. package/dist/control-plane/ControlPlaneEndpoints.d.ts.map +1 -0
  117. package/dist/control-plane/ControlPlaneEndpoints.js +19 -0
  118. package/dist/control-plane/ControlPlaneEndpoints.js.map +1 -0
  119. package/dist/control-plane/ControlPlaneTypes.d.ts +168 -0
  120. package/dist/control-plane/ControlPlaneTypes.d.ts.map +1 -0
  121. package/dist/control-plane/ControlPlaneTypes.js +93 -0
  122. package/dist/control-plane/ControlPlaneTypes.js.map +1 -0
  123. package/dist/control-plane/CredentialStore.d.ts +28 -0
  124. package/dist/control-plane/CredentialStore.d.ts.map +1 -0
  125. package/dist/control-plane/CredentialStore.js +87 -0
  126. package/dist/control-plane/CredentialStore.js.map +1 -0
  127. package/dist/control-plane/DPoPKeyStore.d.ts +11 -0
  128. package/dist/control-plane/DPoPKeyStore.d.ts.map +1 -0
  129. package/dist/control-plane/DPoPKeyStore.js +54 -0
  130. package/dist/control-plane/DPoPKeyStore.js.map +1 -0
  131. package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts +6 -0
  132. package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts.map +1 -0
  133. package/dist/control-plane/GitHubActionsOidcCredentialProvider.js +67 -0
  134. package/dist/control-plane/GitHubActionsOidcCredentialProvider.js.map +1 -0
  135. package/dist/control-plane/PublishIdempotencyStore.d.ts +18 -0
  136. package/dist/control-plane/PublishIdempotencyStore.d.ts.map +1 -0
  137. package/dist/control-plane/PublishIdempotencyStore.js +71 -0
  138. package/dist/control-plane/PublishIdempotencyStore.js.map +1 -0
  139. package/dist/control-plane/RegistryGrantLock.d.ts +35 -0
  140. package/dist/control-plane/RegistryGrantLock.d.ts.map +1 -0
  141. package/dist/control-plane/RegistryGrantLock.js +199 -0
  142. package/dist/control-plane/RegistryGrantLock.js.map +1 -0
  143. package/dist/control-plane/RegistryTrustResolver.d.ts +17 -0
  144. package/dist/control-plane/RegistryTrustResolver.d.ts.map +1 -0
  145. package/dist/control-plane/RegistryTrustResolver.js +140 -0
  146. package/dist/control-plane/RegistryTrustResolver.js.map +1 -0
  147. package/dist/index.d.ts +16 -3
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +16 -2
  150. package/dist/index.js.map +1 -1
  151. package/dist/postinstall/markers/MarkerIntegrityValidator.d.ts +1 -1
  152. package/dist/prompts/InkPromptService.d.ts +1 -0
  153. package/dist/prompts/InkPromptService.d.ts.map +1 -1
  154. package/dist/prompts/InkPromptService.js +20 -0
  155. package/dist/prompts/InkPromptService.js.map +1 -1
  156. package/dist/prompts/PromptService.d.ts +2 -0
  157. package/dist/prompts/PromptService.d.ts.map +1 -1
  158. package/dist/reporting/JsonReporter.d.ts +2 -0
  159. package/dist/reporting/JsonReporter.d.ts.map +1 -1
  160. package/dist/reporting/JsonReporter.js +6 -0
  161. package/dist/reporting/JsonReporter.js.map +1 -1
  162. package/package.json +21 -15
  163. package/dist/cli.d.ts +0 -3
  164. package/dist/cli.d.ts.map +0 -1
  165. package/dist/cli.js.map +0 -1
@@ -0,0 +1,140 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFile } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
+ import { normalizeUrl } from '@uapkg/common';
5
+ import { getRegistryRepoPath } from '@uapkg/registry-core';
6
+ import { z } from 'zod';
7
+ import { registryAudience, UAPKG_AUTHORIZATION_ISSUER, UAPKG_CONTROL_PLANE_API, } from './ControlPlaneTypes.js';
8
+ const registryMetaSchema = z
9
+ .object({
10
+ schemaVersion: z.literal(1),
11
+ registry: z.object({
12
+ id: z.uuid(),
13
+ name: z.string().min(1),
14
+ }),
15
+ sourceOfTruth: z.object({
16
+ type: z.literal('uapkg-service'),
17
+ // Advisory only. The CLI deliberately does not use this URL.
18
+ apiBaseUrl: z.string().optional(),
19
+ }),
20
+ })
21
+ .passthrough();
22
+ export class RegistryTrustResolver {
23
+ root;
24
+ constructor(root) {
25
+ this.root = root;
26
+ }
27
+ async resolve(requestedAlias) {
28
+ const alias = requestedAlias ?? this.selectedAlias();
29
+ const result = this.root.registryCore.getOrCreateRegistry(alias);
30
+ if (!result.ok) {
31
+ throw new Error(firstDiagnostic(result.diagnostics, `Registry "${alias}" is not configured.`));
32
+ }
33
+ const registry = result.value;
34
+ const updated = await registry.ensureUpToDate({
35
+ logicalRegistryName: alias,
36
+ bypassFreshnessCheck: true,
37
+ });
38
+ if (!updated.ok || updated.value === 'Failed') {
39
+ throw new Error(firstDiagnostic(updated.diagnostics, `Unable to update registry "${alias}".`));
40
+ }
41
+ const metadataPath = join(getRegistryRepoPath(registry.shortId), '.uapkg', 'registry.meta.json');
42
+ let raw;
43
+ try {
44
+ raw = await readFile(metadataPath, 'utf8');
45
+ }
46
+ catch (error) {
47
+ throw new Error(`Registry "${alias}" does not contain .uapkg/registry.meta.json. It cannot be used for authenticated control-plane commands.`, { cause: error });
48
+ }
49
+ let json;
50
+ try {
51
+ json = JSON.parse(raw);
52
+ }
53
+ catch (error) {
54
+ throw new Error(`Registry metadata for "${alias}" is not valid JSON.`, { cause: error });
55
+ }
56
+ const parsed = registryMetaSchema.safeParse(json);
57
+ if (!parsed.success) {
58
+ throw new Error(`Registry metadata for "${alias}" does not match the supported schema.`);
59
+ }
60
+ const repositoryUrl = canonicalizeRegistryGitOrigin(registry.descriptor.url);
61
+ return {
62
+ alias,
63
+ registryId: parsed.data.registry.id,
64
+ registryName: parsed.data.registry.name,
65
+ repositoryUrl,
66
+ repositoryFingerprint: fingerprintRegistryGitOrigin(repositoryUrl),
67
+ issuer: UAPKG_AUTHORIZATION_ISSUER,
68
+ apiBaseUrl: UAPKG_CONTROL_PLANE_API,
69
+ resource: registryAudience(parsed.data.registry.id),
70
+ cacheShortId: registry.shortId,
71
+ };
72
+ }
73
+ async forceRefresh(trust) {
74
+ const result = this.root.registryCore.getOrCreateRegistry(trust.alias);
75
+ if (!result.ok) {
76
+ throw new Error(firstDiagnostic(result.diagnostics, `Registry "${trust.alias}" is not configured.`));
77
+ }
78
+ const updated = await result.value.ensureUpToDate({
79
+ logicalRegistryName: trust.alias,
80
+ bypassFreshnessCheck: true,
81
+ });
82
+ if (!updated.ok || updated.value === 'Failed') {
83
+ throw new Error(firstDiagnostic(updated.diagnostics, `Unable to refresh registry "${trust.alias}".`));
84
+ }
85
+ }
86
+ selectedAlias() {
87
+ const selected = this.root.config.get('registry');
88
+ if (typeof selected !== 'string' || selected.trim().length === 0) {
89
+ throw new Error('No registry is selected. Configure one with `uapkg registry use <name>`.');
90
+ }
91
+ return selected;
92
+ }
93
+ }
94
+ /**
95
+ * GitHub accepts HTTPS, SSH URL, and SCP-like clone coordinates for the same
96
+ * repository. Control-plane authorization must bind all three spellings to one
97
+ * stable source identity.
98
+ */
99
+ export function canonicalizeRegistryGitOrigin(origin) {
100
+ const value = origin.trim();
101
+ const scpLike = /^(?:git@)?github\.com:([^/\s]+)\/([^/\s]+?)\/?$/i.exec(value);
102
+ if (scpLike) {
103
+ return canonicalGitHubRepository(scpLike[1], scpLike[2]);
104
+ }
105
+ try {
106
+ const parsed = new URL(value);
107
+ if (parsed.hostname.toLowerCase() === 'github.com') {
108
+ const path = parsed.pathname.replace(/^\/+|\/+$/g, '').split('/');
109
+ if (path.length !== 2) {
110
+ throw new Error('A GitHub registry origin must identify exactly one owner and repository.');
111
+ }
112
+ return canonicalGitHubRepository(path[0], path[1]);
113
+ }
114
+ }
115
+ catch (error) {
116
+ if (error instanceof Error && error.message.startsWith('A GitHub registry origin')) {
117
+ throw error;
118
+ }
119
+ }
120
+ return normalizeUrl(value);
121
+ }
122
+ export function fingerprintRegistryGitOrigin(origin) {
123
+ const canonical = canonicalizeRegistryGitOrigin(origin);
124
+ return `sha256:${createHash('sha256').update(canonical).digest('hex')}`;
125
+ }
126
+ function canonicalGitHubRepository(owner, repository) {
127
+ const normalizedOwner = owner.trim().toLowerCase();
128
+ const normalizedRepository = repository
129
+ .trim()
130
+ .replace(/\.git$/i, '')
131
+ .toLowerCase();
132
+ if (!normalizedOwner || !normalizedRepository) {
133
+ throw new Error('A GitHub registry origin must include an owner and repository.');
134
+ }
135
+ return `https://github.com/${normalizedOwner}/${normalizedRepository}.git`;
136
+ }
137
+ function firstDiagnostic(diagnostics, fallback) {
138
+ return diagnostics[0]?.message ?? fallback;
139
+ }
140
+ //# sourceMappingURL=RegistryTrustResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistryTrustResolver.js","sourceRoot":"","sources":["../../src/control-plane/RegistryTrustResolver.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,20 +2,33 @@ export { CompositionRoot, type CompositionRootOptions } from './app/CompositionR
2
2
  export { UAPKGApplication } from './app/UAPKGApplication.js';
3
3
  export { parseUAPKGCommandLine } from './cli/parseCommandLine.js';
4
4
  export { runUAPKGCLI } from './cli/runUAPKGCLI.js';
5
- export type { UAPKGCommandLine } from './cli/UAPKGCommandLine.js';
6
- export { createUAPKGCommandLineFactory, UAPKGCommandLineFactory } from './cli/UAPKGCommandLine.js';
5
+ export type { UAPKGCommandLine, UAPKGWhoamiField } from './cli/UAPKGCommandLine.js';
6
+ export { createUAPKGCommandLineFactory, UAPKG_WHOAMI_FIELDS, UAPKGCommandLineFactory, } from './cli/UAPKGCommandLine.js';
7
7
  export { AddCommand, type AddCommandOptions } from './commands/AddCommand.js';
8
8
  export { ConfigCommand } from './commands/ConfigCommand.js';
9
9
  export { InitCommand, type InitCommandOptions } from './commands/InitCommand.js';
10
10
  export { InstallCommand, type InstallCommandOptions } from './commands/InstallCommand.js';
11
11
  export { ListCommand, type ListCommandOptions } from './commands/ListCommand.js';
12
+ export { LoginCommand, type LoginCommandOptions } from './commands/LoginCommand.js';
13
+ export { LogoutCommand, type LogoutCommandOptions } from './commands/LogoutCommand.js';
12
14
  export { OutdatedCommand, type OutdatedCommandOptions } from './commands/OutdatedCommand.js';
13
15
  export { PackCommand } from './commands/PackCommand.js';
14
16
  export { ProjectGetNameCommand, type ProjectGetNameCommandOptions, } from './commands/ProjectGetNameCommand.js';
15
- export { RegistryCommand, type RegistryCommandOptions } from './commands/RegistryCommand.js';
17
+ export { PublishCommand, type PublishCommandOptions } from './commands/PublishCommand.js';
18
+ export { RegistryCommand, type RegistryCommandOptions, type RegistryCommandRuntime, } from './commands/RegistryCommand.js';
16
19
  export { RemoveCommand, type RemoveCommandOptions } from './commands/RemoveCommand.js';
20
+ export { RequestsCommand, type RequestsCommandOptions } from './commands/RequestsCommand.js';
17
21
  export { UpdateCommand, type UpdateCommandOptions } from './commands/UpdateCommand.js';
22
+ export { WhoamiCommand, type WhoamiCommandData, type WhoamiCommandOptions, type WhoamiFieldData, } from './commands/WhoamiCommand.js';
18
23
  export { WhyCommand, type WhyCommandOptions } from './commands/WhyCommand.js';
24
+ export { type AccessCredential, AccountManager, type BrowserOpener, controlPlaneDiagnosticForError, describeControlPlaneError, LoginError, type LoginOptions, type LoginProgressEvent, type LoginResult, loginDiagnosticForError, } from './control-plane/AccountManager.js';
25
+ export { AuthMetadataStore } from './control-plane/AuthMetadataStore.js';
26
+ export { ControlPlaneClient, type ControlPlaneCredential, } from './control-plane/ControlPlaneClient.js';
27
+ export * from './control-plane/ControlPlaneTypes.js';
28
+ export { CredentialStore, type KeyringLoader } from './control-plane/CredentialStore.js';
29
+ export { DPoPKeyStore } from './control-plane/DPoPKeyStore.js';
30
+ export { FileRegistryGrantLock, type FileRegistryGrantLockOptions, type RegistryGrantLock, } from './control-plane/RegistryGrantLock.js';
31
+ export { canonicalizeRegistryGitOrigin, fingerprintRegistryGitOrigin, RegistryTrustResolver, } from './control-plane/RegistryTrustResolver.js';
19
32
  export * from './postinstall/index.js';
20
33
  export { InkPromptService } from './prompts/InkPromptService.js';
21
34
  export { type ProjectContextDetection, ProjectContextDetector, } from './prompts/ProjectContextDetector.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGnG,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,GAClC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,KAAK,uBAAuB,EAC5B,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,GAClC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EACL,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,aAAa,EAClB,8BAA8B,EAC9B,yBAAyB,EACzB,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,KAAK,sBAAsB,GAC5B,MAAM,uCAAuC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,GACvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,0CAA0C,CAAC;AAElD,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,KAAK,uBAAuB,EAC5B,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ export { UAPKGApplication } from './app/UAPKGApplication.js';
12
12
  // CLI
13
13
  export { parseUAPKGCommandLine } from './cli/parseCommandLine.js';
14
14
  export { runUAPKGCLI } from './cli/runUAPKGCLI.js';
15
- export { createUAPKGCommandLineFactory, UAPKGCommandLineFactory } from './cli/UAPKGCommandLine.js';
15
+ export { createUAPKGCommandLineFactory, UAPKG_WHOAMI_FIELDS, UAPKGCommandLineFactory, } from './cli/UAPKGCommandLine.js';
16
16
  // Commands — new surface
17
17
  export { AddCommand } from './commands/AddCommand.js';
18
18
  // Commands — retained, ported onto CompositionRoot in Phase 10
@@ -20,13 +20,27 @@ export { ConfigCommand } from './commands/ConfigCommand.js';
20
20
  export { InitCommand } from './commands/InitCommand.js';
21
21
  export { InstallCommand } from './commands/InstallCommand.js';
22
22
  export { ListCommand } from './commands/ListCommand.js';
23
+ export { LoginCommand } from './commands/LoginCommand.js';
24
+ export { LogoutCommand } from './commands/LogoutCommand.js';
23
25
  export { OutdatedCommand } from './commands/OutdatedCommand.js';
24
26
  export { PackCommand } from './commands/PackCommand.js';
25
27
  export { ProjectGetNameCommand, } from './commands/ProjectGetNameCommand.js';
26
- export { RegistryCommand } from './commands/RegistryCommand.js';
28
+ export { PublishCommand } from './commands/PublishCommand.js';
29
+ export { RegistryCommand, } from './commands/RegistryCommand.js';
27
30
  export { RemoveCommand } from './commands/RemoveCommand.js';
31
+ export { RequestsCommand } from './commands/RequestsCommand.js';
28
32
  export { UpdateCommand } from './commands/UpdateCommand.js';
33
+ export { WhoamiCommand, } from './commands/WhoamiCommand.js';
29
34
  export { WhyCommand } from './commands/WhyCommand.js';
35
+ // Control-plane authentication
36
+ export { AccountManager, controlPlaneDiagnosticForError, describeControlPlaneError, LoginError, loginDiagnosticForError, } from './control-plane/AccountManager.js';
37
+ export { AuthMetadataStore } from './control-plane/AuthMetadataStore.js';
38
+ export { ControlPlaneClient, } from './control-plane/ControlPlaneClient.js';
39
+ export * from './control-plane/ControlPlaneTypes.js';
40
+ export { CredentialStore } from './control-plane/CredentialStore.js';
41
+ export { DPoPKeyStore } from './control-plane/DPoPKeyStore.js';
42
+ export { FileRegistryGrantLock, } from './control-plane/RegistryGrantLock.js';
43
+ export { canonicalizeRegistryGitOrigin, fingerprintRegistryGitOrigin, RegistryTrustResolver, } from './control-plane/RegistryTrustResolver.js';
30
44
  // Postinstall — new subsystem (Phase 7)
31
45
  export * from './postinstall/index.js';
32
46
  // Prompt abstractions (used by init)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4BAA4B;AAC5B,EAAE;AACF,qEAAqE;AACrE,gFAAgF;AAChF,6EAA6E;AAC7E,wEAAwE;AACxE,8EAA8E;AAE9E,4CAA4C;AAC5C,OAAO,EAAE,eAAe,EAA+B,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM;AACN,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEnG,yBAAyB;AACzB,OAAO,EAAE,UAAU,EAA0B,MAAM,0BAA0B,CAAC;AAC9E,+DAA+D;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAA2B,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,cAAc,EAA8B,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,WAAW,EAA2B,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,eAAe,EAA+B,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACL,qBAAqB,GAEtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,eAAe,EAA+B,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,aAAa,EAA6B,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,aAAa,EAA6B,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,UAAU,EAA0B,MAAM,0BAA0B,CAAC;AAC9E,wCAAwC;AACxC,cAAc,wBAAwB,CAAC;AACvC,qCAAqC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAEL,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAE7C,YAAY;AACZ,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAqB,YAAY,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4BAA4B;AAC5B,EAAE;AACF,qEAAqE;AACrE,gFAAgF;AAChF,6EAA6E;AAC7E,wEAAwE;AACxE,8EAA8E;AAE9E,4CAA4C;AAC5C,OAAO,EAAE,eAAe,EAA+B,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM;AACN,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AACnC,yBAAyB;AACzB,OAAO,EAAE,UAAU,EAA0B,MAAM,0BAA0B,CAAC;AAC9E,+DAA+D;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAA2B,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,cAAc,EAA8B,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,WAAW,EAA2B,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,YAAY,EAA4B,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,aAAa,EAA6B,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,eAAe,EAA+B,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACL,qBAAqB,GAEtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,cAAc,EAA8B,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EACL,eAAe,GAGhB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAA6B,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,eAAe,EAA+B,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,aAAa,EAA6B,MAAM,6BAA6B,CAAC;AACvF,OAAO,EACL,aAAa,GAId,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAA0B,MAAM,0BAA0B,CAAC;AAC9E,+BAA+B;AAC/B,OAAO,EAEL,cAAc,EAEd,8BAA8B,EAC9B,yBAAyB,EACzB,UAAU,EAIV,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EACL,kBAAkB,GAEnB,MAAM,uCAAuC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,eAAe,EAAsB,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,qBAAqB,GAGtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,0CAA0C,CAAC;AAClD,wCAAwC;AACxC,cAAc,wBAAwB,CAAC;AACvC,qCAAqC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAEL,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAE7C,YAAY;AACZ,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAqB,YAAY,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Detects corruption in UAPKG marker blocks for a single `(pluginName, zone)`
2
+ * Detects corruption in uapkg marker blocks for a single `(pluginName, zone)`
3
3
  * owning pair. Corruption rules (scoped to the owning pair — foreign plugins'
4
4
  * blocks are ignored on purpose):
5
5
  *
@@ -4,5 +4,6 @@ export declare class InkPromptService implements PromptService {
4
4
  constructor(isInteractive?: boolean);
5
5
  select(message: string, options: SelectOption[], fallbackValue: string): Promise<string>;
6
6
  text(message: string, initialValue: string): Promise<string>;
7
+ secret(message: string): Promise<string>;
7
8
  }
8
9
  //# sourceMappingURL=InkPromptService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InkPromptService.d.ts","sourceRoot":"","sources":["../../src/prompts/InkPromptService.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAStE,qBAAa,gBAAiB,YAAW,aAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,UAAgE;IAEpG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUxF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAW1E"}
1
+ {"version":3,"file":"InkPromptService.d.ts","sourceRoot":"","sources":["../../src/prompts/InkPromptService.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAStE,qBAAa,gBAAiB,YAAW,aAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,UAAgE;IAEpG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUxF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAY5D,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAStD"}
@@ -34,6 +34,26 @@ export class InkPromptService {
34
34
  Promise.resolve().then(() => app.waitUntilExit());
35
35
  });
36
36
  }
37
+ async secret(message) {
38
+ if (!this.isInteractive) {
39
+ throw new Error(`${message} requires an interactive terminal.`);
40
+ }
41
+ return await new Promise((resolve) => {
42
+ const app = render(_jsx(SecretPrompt, { message: message, onSubmit: (value) => resolve(value) }));
43
+ Promise.resolve().then(() => app.waitUntilExit());
44
+ });
45
+ }
46
+ }
47
+ function SecretPrompt({ message, onSubmit }) {
48
+ const [value, setValue] = useState('');
49
+ const { exit } = useApp();
50
+ useInput((_, key) => {
51
+ if (key.return) {
52
+ onSubmit(value.trim());
53
+ exit();
54
+ }
55
+ });
56
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: message }), _jsx(TextInput, { value: value, onChange: setValue, mask: "*" })] }));
37
57
  }
38
58
  function SelectPrompt({ message, options, onSubmit, }) {
39
59
  const { exit } = useApp();
@@ -1 +1 @@
1
- {"version":3,"file":"InkPromptService.js","sourceRoot":"","sources":["../../src/prompts/InkPromptService.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,IAAI,MAAM,OAAO,CAAC;AACzB,oEAAoE;AACpE,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGxC,8EAA8E;AAC9E,gEAAgE;AAChE,EAAE;AACF,2EAA2E;AAC3E,4CAA4C;AAC5C,8EAA8E;AAE9E,MAAM,OAAO,gBAAgB;IACS;IAApC,YAAoC,gBAAgB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;QAA7E,kBAAa,GAAb,aAAa,CAAgE;IAAG,CAAC;IAE9G,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAuB,EAAE,aAAqB;QACjF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAI,CAAC,CAAC;YAC9G,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,YAAoB;QACrD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,MAAM,CAChB,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAI,CAClG,CAAC;YACF,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,YAAY,CAAC,EACpB,OAAO,EACP,OAAO,EACP,QAAQ,GAKT;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,cAAE,OAAO,GAAQ,EACtB,KAAC,WAAW,IACV,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;oBACjB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,IAAI,EAAE,CAAC;gBACT,CAAC,GACD,IACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,OAAO,EACP,YAAY,EACZ,QAAQ,GAKT;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAClB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC,CAAC;YACvC,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,cAAE,OAAO,GAAQ,EACtB,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAC/C,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wCAA+B,IAC7C,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"InkPromptService.js","sourceRoot":"","sources":["../../src/prompts/InkPromptService.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,IAAI,MAAM,OAAO,CAAC;AACzB,oEAAoE;AACpE,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGxC,8EAA8E;AAC9E,gEAAgE;AAChE,EAAE;AACF,2EAA2E;AAC3E,4CAA4C;AAC5C,8EAA8E;AAE9E,MAAM,OAAO,gBAAgB;IACS;IAApC,YAAoC,gBAAgB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;QAA7E,kBAAa,GAAb,aAAa,CAAgE;IAAG,CAAC;IAE9G,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAuB,EAAE,aAAqB;QACjF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAI,CAAC,CAAC;YAC9G,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,YAAoB;QACrD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,MAAM,CAChB,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAI,CAClG,CAAC;YACF,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAe;QACjC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,oCAAoC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAI,CAAC,CAAC;YAC5F,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAsD;IAC7F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAClB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,cAAE,OAAO,GAAQ,EACtB,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAC,GAAG,GAAG,IACpD,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,OAAO,EACP,OAAO,EACP,QAAQ,GAKT;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,cAAE,OAAO,GAAQ,EACtB,KAAC,WAAW,IACV,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;oBACjB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,IAAI,EAAE,CAAC;gBACT,CAAC,GACD,IACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,OAAO,EACP,YAAY,EACZ,QAAQ,GAKT;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAClB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC,CAAC;YACvC,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,cAAE,OAAO,GAAQ,EACtB,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAC/C,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wCAA+B,IAC7C,CACP,CAAC;AACJ,CAAC"}
@@ -5,5 +5,7 @@ export interface SelectOption {
5
5
  export interface PromptService {
6
6
  select(message: string, options: SelectOption[], fallbackValue: string): Promise<string>;
7
7
  text(message: string, initialValue: string): Promise<string>;
8
+ /** Read a value without echoing it. Never supplies a non-interactive fallback. */
9
+ secret(message: string): Promise<string>;
8
10
  }
9
11
  //# sourceMappingURL=PromptService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PromptService.d.ts","sourceRoot":"","sources":["../../src/prompts/PromptService.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D"}
1
+ {"version":3,"file":"PromptService.d.ts","sourceRoot":"","sources":["../../src/prompts/PromptService.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,kFAAkF;IAClF,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C"}
@@ -21,6 +21,8 @@ export interface JsonEnvelope<TData = unknown> {
21
21
  export declare class JsonReporter {
22
22
  private readonly sink;
23
23
  constructor(sink?: TextSink);
24
+ emitSuccess<TData>(command: string, data: TData, diagnostics?: readonly Diagnostic[]): void;
25
+ emitError(command: string, diagnostics: readonly Diagnostic[]): void;
24
26
  emit<TData>(envelope: JsonEnvelope<TData>): void;
25
27
  }
26
28
  //# sourceMappingURL=JsonReporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonReporter.d.ts","sourceRoot":"","sources":["../../src/reporting/JsonReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,WAAW,YAAY,CAAC,KAAK,GAAG,OAAO;IAC3C,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C;AAED;;;;GAIG;AACH,qBAAa,YAAY;IACJ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,GAAE,QAA8C;IAEjF,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI;CAGxD"}
1
+ {"version":3,"file":"JsonReporter.d.ts","sourceRoot":"","sources":["../../src/reporting/JsonReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,WAAW,YAAY,CAAC,KAAK,GAAG,OAAO;IAC3C,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C;AAED;;;;GAIG;AACH,qBAAa,YAAY;IACJ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,GAAE,QAA8C;IAEjF,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,GAAE,SAAS,UAAU,EAAO,GAAG,IAAI;IAI/F,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI;IAIpE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI;CAGxD"}
@@ -9,6 +9,12 @@ export class JsonReporter {
9
9
  constructor(sink = new ProcessTextSink(process.stdout)) {
10
10
  this.sink = sink;
11
11
  }
12
+ emitSuccess(command, data, diagnostics = []) {
13
+ this.emit({ status: 'ok', command, data, diagnostics });
14
+ }
15
+ emitError(command, diagnostics) {
16
+ this.emit({ status: 'error', command, diagnostics });
17
+ }
12
18
  emit(envelope) {
13
19
  this.sink.writeLine(JSON.stringify(envelope, null, 2));
14
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JsonReporter.js","sourceRoot":"","sources":["../../src/reporting/JsonReporter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAiB,MAAM,eAAe,CAAC;AAgB/D;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACa;IAApC,YAAoC,OAAiB,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;QAApD,SAAI,GAAJ,IAAI,CAAgD;IAAG,CAAC;IAErF,IAAI,CAAQ,QAA6B;QAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"JsonReporter.js","sourceRoot":"","sources":["../../src/reporting/JsonReporter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAiB,MAAM,eAAe,CAAC;AAgB/D;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACa;IAApC,YAAoC,OAAiB,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;QAApD,SAAI,GAAJ,IAAI,CAAgD;IAAG,CAAC;IAErF,WAAW,CAAQ,OAAe,EAAE,IAAW,EAAE,cAAqC,EAAE;QAC7F,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEM,SAAS,CAAC,OAAe,EAAE,WAAkC;QAClE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAEM,IAAI,CAAQ,QAA6B;QAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uapkg/cli",
3
- "version": "1.1.10",
3
+ "version": "1.2.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "bin": {
@@ -19,28 +19,33 @@
19
19
  "types": "./dist/index.d.ts",
20
20
  "dependencies": {
21
21
  "@amplication/csharp-ast": "0.1.0",
22
+ "@napi-rs/keyring": "1.3.0",
22
23
  "@types/yargs": "17.0.35",
23
24
  "esbuild": "0.28.0",
24
25
  "ink": "6.8.0",
25
26
  "ink-select-input": "6.2.0",
26
27
  "ink-text-input": "6.0.0",
27
28
  "is-ci": "4.1.0",
29
+ "oauth4webapi": "3.8.6",
30
+ "open": "11.0.0",
28
31
  "react": "19.2.4",
29
32
  "yargs": "18.0.0",
30
33
  "zod": "4.3.6",
31
- "@uapkg/common": "^1.1.10",
32
- "@uapkg/common-schema": "^1.1.10",
33
- "@uapkg/config": "^1.1.10",
34
- "@uapkg/diagnostics": "^1.1.10",
35
- "@uapkg/diagnostics-format": "^1.1.10",
36
- "@uapkg/log": "^1.1.10",
37
- "@uapkg/installer": "^1.1.10",
38
- "@uapkg/package-manifest-schema": "^1.1.10",
39
- "@uapkg/package-manifest": "^1.1.10",
40
- "@uapkg/registry-core": "^1.1.10",
41
- "@uapkg/pack": "^1.1.10"
34
+ "@uapkg/common": "^1.2.0",
35
+ "@uapkg/common-schema": "^1.2.0",
36
+ "@uapkg/config": "^1.2.0",
37
+ "@uapkg/diagnostics": "^1.2.0",
38
+ "@uapkg/diagnostics-format": "^1.2.0",
39
+ "@uapkg/installer": "^1.2.0",
40
+ "@uapkg/log": "^1.2.0",
41
+ "@uapkg/pack": "^1.2.0",
42
+ "@uapkg/package-claims": "^1.2.0",
43
+ "@uapkg/package-manifest": "^1.2.0",
44
+ "@uapkg/package-manifest-schema": "^1.2.0",
45
+ "@uapkg/registry-core": "^1.2.0"
42
46
  },
43
47
  "devDependencies": {
48
+ "tar": "7.5.13",
44
49
  "@types/react": "19.2.14"
45
50
  },
46
51
  "repository": {
@@ -49,9 +54,10 @@
49
54
  "directory": "packages/uapkg"
50
55
  },
51
56
  "scripts": {
52
- "uapkg": "tsx src/cli.ts",
53
- "build": "tsc -p tsconfig.build.json",
54
- "build:watch": "tsc -p tsconfig.build.json --watch",
57
+ "uapkg": "pnpm nx run uapkg:build:development && node dist/cli.js",
58
+ "build": "tsx build/runCliBuild.ts",
59
+ "build:watch": "pnpm nx watch --projects uapkg --includeDependentProjects --initialRun -- pnpm nx run uapkg:build:development",
60
+ "verify:production-build": "tsx build/verifyProductionBuild.ts",
55
61
  "lint": "biome lint .",
56
62
  "typecheck": "tsc -p tsconfig.json --noEmit",
57
63
  "test": "vitest run --config vitest.config.ts",
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,GAAG,EAAE,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACtC,eAAe,CAAC;IACd,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI;IAC3D,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI;CACxD,CAAC,CAAC;AAEH,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;KACtB,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;IACjB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACf,GAAG,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}