@vertesia/cli 1.3.0 → 1.4.0-dev.20260615.042549Z

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 (218) hide show
  1. package/lib/agent-context.d.ts +8 -2
  2. package/lib/agent-context.d.ts.map +1 -1
  3. package/lib/agent-context.js +9 -13
  4. package/lib/agent-context.js.map +1 -1
  5. package/lib/agents/index.d.ts +3 -0
  6. package/lib/agents/index.d.ts.map +1 -0
  7. package/lib/agents/index.js +555 -0
  8. package/lib/agents/index.js.map +1 -0
  9. package/lib/apps/commands.d.ts +25 -10
  10. package/lib/apps/commands.d.ts.map +1 -1
  11. package/lib/apps/commands.js +34 -26
  12. package/lib/apps/commands.js.map +1 -1
  13. package/lib/apps/index.d.ts +1 -1
  14. package/lib/apps/index.d.ts.map +1 -1
  15. package/lib/apps/index.js +40 -41
  16. package/lib/apps/index.js.map +1 -1
  17. package/lib/artifacts/commands.d.ts +13 -5
  18. package/lib/artifacts/commands.d.ts.map +1 -1
  19. package/lib/artifacts/commands.js +10 -10
  20. package/lib/artifacts/commands.js.map +1 -1
  21. package/lib/artifacts/index.d.ts +1 -1
  22. package/lib/artifacts/index.d.ts.map +1 -1
  23. package/lib/artifacts/index.js +22 -17
  24. package/lib/artifacts/index.js.map +1 -1
  25. package/lib/client.d.ts +2 -2
  26. package/lib/client.d.ts.map +1 -1
  27. package/lib/client.js +45 -21
  28. package/lib/client.js.map +1 -1
  29. package/lib/data/commands.d.ts +16 -3
  30. package/lib/data/commands.d.ts.map +1 -1
  31. package/lib/data/commands.js +36 -43
  32. package/lib/data/commands.js.map +1 -1
  33. package/lib/data/index.d.ts +1 -1
  34. package/lib/data/index.d.ts.map +1 -1
  35. package/lib/data/index.js +14 -15
  36. package/lib/data/index.js.map +1 -1
  37. package/lib/envs/index.d.ts +2 -2
  38. package/lib/envs/index.d.ts.map +1 -1
  39. package/lib/envs/index.js +12 -10
  40. package/lib/envs/index.js.map +1 -1
  41. package/lib/iam/commands.d.ts +15 -3
  42. package/lib/iam/commands.d.ts.map +1 -1
  43. package/lib/iam/commands.js +27 -9
  44. package/lib/iam/commands.js.map +1 -1
  45. package/lib/iam/index.d.ts +1 -1
  46. package/lib/iam/index.d.ts.map +1 -1
  47. package/lib/iam/index.js +2 -3
  48. package/lib/iam/index.js.map +1 -1
  49. package/lib/index.js +157 -122
  50. package/lib/index.js.map +1 -1
  51. package/lib/interactions/index.d.ts +2 -2
  52. package/lib/interactions/index.d.ts.map +1 -1
  53. package/lib/interactions/index.js +20 -14
  54. package/lib/interactions/index.js.map +1 -1
  55. package/lib/objects/commands.d.ts +49 -14
  56. package/lib/objects/commands.d.ts.map +1 -1
  57. package/lib/objects/commands.js +185 -32
  58. package/lib/objects/commands.js.map +1 -1
  59. package/lib/objects/index.d.ts +1 -1
  60. package/lib/objects/index.d.ts.map +1 -1
  61. package/lib/objects/index.js +46 -13
  62. package/lib/objects/index.js.map +1 -1
  63. package/lib/package.d.ts +7 -3
  64. package/lib/package.d.ts.map +1 -1
  65. package/lib/package.js +25 -13
  66. package/lib/package.js.map +1 -1
  67. package/lib/profiles/auth.d.ts +14 -0
  68. package/lib/profiles/auth.d.ts.map +1 -0
  69. package/lib/profiles/auth.js +65 -0
  70. package/lib/profiles/auth.js.map +1 -0
  71. package/lib/profiles/commands.d.ts +15 -4
  72. package/lib/profiles/commands.d.ts.map +1 -1
  73. package/lib/profiles/commands.js +384 -57
  74. package/lib/profiles/commands.js.map +1 -1
  75. package/lib/profiles/git.d.ts +9 -0
  76. package/lib/profiles/git.d.ts.map +1 -0
  77. package/lib/profiles/git.js +211 -0
  78. package/lib/profiles/git.js.map +1 -0
  79. package/lib/profiles/index.d.ts +17 -7
  80. package/lib/profiles/index.d.ts.map +1 -1
  81. package/lib/profiles/index.js +215 -66
  82. package/lib/profiles/index.js.map +1 -1
  83. package/lib/profiles/keyring.d.ts +23 -0
  84. package/lib/profiles/keyring.d.ts.map +1 -0
  85. package/lib/profiles/keyring.js +111 -0
  86. package/lib/profiles/keyring.js.map +1 -0
  87. package/lib/profiles/oauth.d.ts +17 -0
  88. package/lib/profiles/oauth.d.ts.map +1 -0
  89. package/lib/profiles/oauth.js +414 -0
  90. package/lib/profiles/oauth.js.map +1 -0
  91. package/lib/profiles/server/cors.d.ts +1 -1
  92. package/lib/profiles/server/cors.d.ts.map +1 -1
  93. package/lib/profiles/server/cors.js +1 -1
  94. package/lib/profiles/server/cors.js.map +1 -1
  95. package/lib/profiles/server/index.d.ts +9 -1
  96. package/lib/profiles/server/index.d.ts.map +1 -1
  97. package/lib/profiles/server/index.js +111 -47
  98. package/lib/profiles/server/index.js.map +1 -1
  99. package/lib/profiles/server/server.d.ts +1 -1
  100. package/lib/profiles/server/server.d.ts.map +1 -1
  101. package/lib/profiles/server/server.js +10 -13
  102. package/lib/profiles/server/server.js.map +1 -1
  103. package/lib/projects/index.d.ts +2 -1
  104. package/lib/projects/index.d.ts.map +1 -1
  105. package/lib/projects/index.js +53 -5
  106. package/lib/projects/index.js.map +1 -1
  107. package/lib/run/executor.d.ts +11 -7
  108. package/lib/run/executor.d.ts.map +1 -1
  109. package/lib/run/executor.js +30 -23
  110. package/lib/run/executor.js.map +1 -1
  111. package/lib/run/index.d.ts +14 -2
  112. package/lib/run/index.d.ts.map +1 -1
  113. package/lib/run/index.js +14 -12
  114. package/lib/run/index.js.map +1 -1
  115. package/lib/runs/index.d.ts +18 -2
  116. package/lib/runs/index.d.ts.map +1 -1
  117. package/lib/runs/index.js +9 -7
  118. package/lib/runs/index.js.map +1 -1
  119. package/lib/utils/console.d.ts +1 -1
  120. package/lib/utils/console.d.ts.map +1 -1
  121. package/lib/utils/console.js +24 -33
  122. package/lib/utils/console.js.map +1 -1
  123. package/lib/utils/options.d.ts +8 -0
  124. package/lib/utils/options.d.ts.map +1 -0
  125. package/lib/utils/options.js +19 -0
  126. package/lib/utils/options.js.map +1 -0
  127. package/lib/utils/stdio.js +3 -2
  128. package/lib/utils/stdio.js.map +1 -1
  129. package/lib/workflows/commands.d.ts +44 -13
  130. package/lib/workflows/commands.d.ts.map +1 -1
  131. package/lib/workflows/commands.js +69 -50
  132. package/lib/workflows/commands.js.map +1 -1
  133. package/lib/workflows/index.d.ts +1 -1
  134. package/lib/workflows/index.d.ts.map +1 -1
  135. package/lib/workflows/index.js +56 -56
  136. package/lib/workflows/index.js.map +1 -1
  137. package/lib/workflows/json-loader.d.ts +1 -1
  138. package/lib/workflows/json-loader.d.ts.map +1 -1
  139. package/lib/workflows/json-loader.js +5 -4
  140. package/lib/workflows/json-loader.js.map +1 -1
  141. package/lib/workflows/streams.d.ts +8 -1
  142. package/lib/workflows/streams.d.ts.map +1 -1
  143. package/lib/workflows/streams.js +107 -84
  144. package/lib/workflows/streams.js.map +1 -1
  145. package/lib/workflows/ts-loader.d.ts +1 -1
  146. package/lib/workflows/ts-loader.d.ts.map +1 -1
  147. package/lib/workflows/ts-loader.js +21 -20
  148. package/lib/workflows/ts-loader.js.map +1 -1
  149. package/lib/workflows/validation.d.ts +1 -1
  150. package/lib/workflows/validation.d.ts.map +1 -1
  151. package/lib/workflows/validation.js +11 -11
  152. package/lib/workflows/validation.js.map +1 -1
  153. package/package.json +21 -24
  154. package/bin/docker-credential-vertesia.js +0 -3
  155. package/lib/codegen/CodeBuilder.d.ts +0 -16
  156. package/lib/codegen/CodeBuilder.d.ts.map +0 -1
  157. package/lib/codegen/CodeBuilder.js +0 -99
  158. package/lib/codegen/CodeBuilder.js.map +0 -1
  159. package/lib/codegen/InteractionVersion.d.ts +0 -29
  160. package/lib/codegen/InteractionVersion.d.ts.map +0 -1
  161. package/lib/codegen/InteractionVersion.js +0 -80
  162. package/lib/codegen/InteractionVersion.js.map +0 -1
  163. package/lib/codegen/index.d.ts +0 -3
  164. package/lib/codegen/index.d.ts.map +0 -1
  165. package/lib/codegen/index.js +0 -30
  166. package/lib/codegen/index.js.map +0 -1
  167. package/lib/codegen/template.d.ts +0 -3
  168. package/lib/codegen/template.d.ts.map +0 -1
  169. package/lib/codegen/template.js +0 -28
  170. package/lib/codegen/template.js.map +0 -1
  171. package/lib/codegen/utils.d.ts +0 -2
  172. package/lib/codegen/utils.d.ts.map +0 -1
  173. package/lib/codegen/utils.js +0 -4
  174. package/lib/codegen/utils.js.map +0 -1
  175. package/lib/datagen/index.d.ts +0 -3
  176. package/lib/datagen/index.d.ts.map +0 -1
  177. package/lib/datagen/index.js +0 -81
  178. package/lib/datagen/index.js.map +0 -1
  179. package/lib/memory/index.d.ts +0 -3
  180. package/lib/memory/index.d.ts.map +0 -1
  181. package/lib/memory/index.js +0 -15
  182. package/lib/memory/index.js.map +0 -1
  183. package/lib/worker/commands.d.ts +0 -11
  184. package/lib/worker/commands.d.ts.map +0 -1
  185. package/lib/worker/commands.js +0 -173
  186. package/lib/worker/commands.js.map +0 -1
  187. package/lib/worker/connect.d.ts +0 -7
  188. package/lib/worker/connect.d.ts.map +0 -1
  189. package/lib/worker/connect.js +0 -68
  190. package/lib/worker/connect.js.map +0 -1
  191. package/lib/worker/docker-credential.d.ts +0 -2
  192. package/lib/worker/docker-credential.d.ts.map +0 -1
  193. package/lib/worker/docker-credential.js +0 -51
  194. package/lib/worker/docker-credential.js.map +0 -1
  195. package/lib/worker/docker.d.ts +0 -10
  196. package/lib/worker/docker.d.ts.map +0 -1
  197. package/lib/worker/docker.js +0 -93
  198. package/lib/worker/docker.js.map +0 -1
  199. package/lib/worker/index.d.ts +0 -3
  200. package/lib/worker/index.d.ts.map +0 -1
  201. package/lib/worker/index.js +0 -90
  202. package/lib/worker/index.js.map +0 -1
  203. package/lib/worker/project.d.ts +0 -58
  204. package/lib/worker/project.d.ts.map +0 -1
  205. package/lib/worker/project.js +0 -125
  206. package/lib/worker/project.js.map +0 -1
  207. package/lib/worker/refresh.d.ts +0 -6
  208. package/lib/worker/refresh.d.ts.map +0 -1
  209. package/lib/worker/refresh.js +0 -47
  210. package/lib/worker/refresh.js.map +0 -1
  211. package/lib/worker/registry.d.ts +0 -7
  212. package/lib/worker/registry.d.ts.map +0 -1
  213. package/lib/worker/registry.js +0 -47
  214. package/lib/worker/registry.js.map +0 -1
  215. package/lib/worker/version.d.ts +0 -2
  216. package/lib/worker/version.d.ts.map +0 -1
  217. package/lib/worker/version.js +0 -4
  218. package/lib/worker/version.js.map +0 -1
@@ -1,20 +1,23 @@
1
+ import { VertesiaClient } from '@vertesia/client';
1
2
  import colors from 'ansi-colors';
2
- import enquirer from "enquirer";
3
+ import enquirer from 'enquirer';
3
4
  import jwt from 'jsonwebtoken';
4
- import { AVAILABLE_REGIONS, DEFAULT_REGION, config, getConfigUrl, getServerUrls, shouldRefreshProfileToken } from "./index.js";
5
+ import { ensureProfileAccessToken, refreshCurrentProfileAuthentication, refreshProfileAuthentication } from './auth.js';
6
+ import { AVAILABLE_REGIONS, config, DEFAULT_REGION, getConfigUrl, getServerUrls, shouldRefreshProfileToken, } from './index.js';
7
+ import { deleteAuthBundle, getAccessTokenExpiry, isKeyringAvailable, readAuthBundle, writeAuthBundle, } from './keyring.js';
5
8
  const { prompt } = enquirer;
6
9
  export async function listProfiles() {
7
10
  const selected = config.current?.name;
8
11
  for (const profile of config.profiles) {
9
- console.log(profile.name + (selected === profile.name ? " " + colors.symbols.check : ""));
12
+ console.log(profile.name + (selected === profile.name ? ` ${colors.symbols.check}` : ''));
10
13
  }
11
14
  if (!config.profiles.length) {
12
- console.log("No profiles are defined. Run `vertesia profiles add` to add a new profile.");
15
+ console.log('No profiles are defined. Run `vertesia profiles add` to add a new profile.');
13
16
  console.log();
14
17
  const r = await prompt({
15
- type: "confirm",
18
+ type: 'confirm',
16
19
  name: 'create',
17
- message: "Do you want to create a profile now?",
20
+ message: 'Do you want to create a profile now?',
18
21
  });
19
22
  if (r.create) {
20
23
  return createProfile();
@@ -23,7 +26,7 @@ export async function listProfiles() {
23
26
  }
24
27
  export async function useProfile(name) {
25
28
  if (!name) {
26
- name = await selectProfile("Select the profile to use");
29
+ name = await selectProfile('Select the profile to use');
27
30
  }
28
31
  config.use(name).save();
29
32
  }
@@ -50,28 +53,122 @@ export function showProfile(name) {
50
53
  }
51
54
  }
52
55
  }
53
- export function showActiveAuthToken() {
56
+ export function showAuthDetails(options = {}) {
57
+ const envAuth = readEnvCredential();
58
+ const profile = config.current;
59
+ const bundle = profile ? readAuthBundle(profile.name) : undefined;
60
+ const profileAccessToken = bundle?.accessToken || profile?.apikey;
61
+ const activeToken = envAuth?.token || profileAccessToken;
62
+ const activeCredentialSource = envAuth
63
+ ? `environment:${envAuth.name}`
64
+ : profileAccessToken
65
+ ? `profile:${profile?.name}`
66
+ : 'none';
67
+ const payload = {
68
+ selected_profile: profile?.name,
69
+ profile: profile && {
70
+ name: profile.name,
71
+ account: profile.account,
72
+ project: profile.project,
73
+ config_url: profile.config_url,
74
+ studio_server_url: profile.studio_server_url,
75
+ zeno_server_url: profile.zeno_server_url,
76
+ region: profile.region,
77
+ },
78
+ keyring_available: isKeyringAvailable(),
79
+ active_credential_source: activeCredentialSource,
80
+ environment: {
81
+ credential: envAuth?.name,
82
+ studio_server_url: process.env.VERTESIA_SERVER_URL || process.env.COMPOSABLE_PROMPTS_SERVER_URL,
83
+ zeno_server_url: process.env.VERTESIA_STORE_URL || process.env.ZENO_SERVER_URL,
84
+ token_server_url: process.env.VERTESIA_TOKEN_SERVER_URL,
85
+ project: process.env.VERTESIA_PROJECT_ID || process.env.COMPOSABLE_PROMPTS_PROJECT_ID,
86
+ },
87
+ stored_credentials: profile
88
+ ? {
89
+ access_token: readTokenDetails(profileAccessToken, bundle?.accessTokenExpiresAt),
90
+ refresh_token: readTokenDetails(bundle?.refreshToken, bundle?.refreshTokenExpiresAt),
91
+ id_token: readTokenDetails(bundle?.idToken),
92
+ oauth_client_id: bundle?.oauthClientId,
93
+ oauth_resource: bundle?.oauthResource,
94
+ }
95
+ : undefined,
96
+ active_token: readTokenDetails(activeToken, envAuth ? undefined : bundle?.accessTokenExpiresAt),
97
+ };
98
+ if (options.json) {
99
+ console.log(JSON.stringify(payload, undefined, 4));
100
+ return;
101
+ }
102
+ printAuthDetails(payload);
103
+ }
104
+ export async function showActiveAuthToken() {
105
+ const envToken = process.env.VERTESIA_TOKEN || process.env.VERTESIA_APIKEY || process.env.COMPOSABLE_PROMPTS_APIKEY;
106
+ if (envToken) {
107
+ console.log(envToken);
108
+ return;
109
+ }
54
110
  if (config.profiles.length === 0) {
55
111
  console.log('No profiles are defined. Run `vertesia profiles create` to add a new profile.');
56
112
  return;
57
113
  }
58
114
  else if (config.current) {
59
- const token = jwt.decode(config.current.apikey, { json: true });
60
- if (token?.exp && token.exp * 1000 < Date.now()) {
61
- console.log("Authentication token expired. Create a new one ");
62
- _doRefreshToken(config.current.name);
115
+ let token;
116
+ try {
117
+ token = await ensureProfileAccessToken(config.current);
63
118
  }
64
- else {
65
- console.log(config.current.apikey);
119
+ catch (error) {
120
+ console.error(error instanceof Error ? error.message : String(error));
121
+ console.error('Run `vertesia auth refresh` to authenticate again.');
122
+ process.exit(1);
66
123
  }
124
+ if (!token) {
125
+ console.log('No auth token is stored for the current profile. Run `vertesia auth refresh` to authenticate again.');
126
+ return;
127
+ }
128
+ console.log(token);
67
129
  }
68
130
  else {
69
131
  console.log('No profile is selected. Run `vertesia auth refresh` to refresh the token');
70
132
  }
71
133
  }
134
+ export async function showActiveIdToken() {
135
+ if (config.profiles.length === 0) {
136
+ console.log('No profiles are defined. Run `vertesia profiles create` to add a new profile.');
137
+ return;
138
+ }
139
+ if (!config.current) {
140
+ console.log('No profile is selected. Run `vertesia auth refresh` to refresh the token');
141
+ return;
142
+ }
143
+ const bundle = readAuthBundle(config.current.name);
144
+ if (!bundle?.idToken) {
145
+ console.log('No ID token is stored for the current profile. Run `vertesia auth refresh` to authenticate again.');
146
+ return;
147
+ }
148
+ console.log(bundle.idToken);
149
+ }
72
150
  export function deleteProfile(name) {
151
+ deleteAuthBundle(name);
73
152
  config.remove(name).save();
74
153
  }
154
+ export function logoutProfile(name) {
155
+ const profileName = name || config.current?.name;
156
+ if (!profileName) {
157
+ console.log('No profile is selected. Run `vertesia profiles use <name>` to select a profile');
158
+ return;
159
+ }
160
+ if (!config.getProfile(profileName)) {
161
+ console.error(`Profile ${profileName} not found`);
162
+ process.exit(1);
163
+ }
164
+ const profile = config.getProfile(profileName);
165
+ if (profile?.apikey) {
166
+ delete profile.apikey;
167
+ config.save();
168
+ }
169
+ deleteAuthBundle(profileName);
170
+ console.log(`Logged out of profile ${profileName}.`);
171
+ }
75
172
  export async function createProfile(name, options = {}) {
76
173
  const format = (value) => value.trim();
77
174
  const questions = [];
@@ -79,32 +176,34 @@ export async function createProfile(name, options = {}) {
79
176
  questions.push({
80
177
  type: 'input',
81
178
  name: 'name',
82
- message: "Profile name",
179
+ message: 'Profile name',
83
180
  format,
84
181
  validate: (value) => {
85
182
  const v = value.trim();
86
183
  if (!v) {
87
- return "Profile name cannot be empty";
184
+ return 'Profile name cannot be empty';
88
185
  }
89
186
  if (config.hasProfile(v)) {
90
187
  return `A profile named "${v}" already exists`;
91
188
  }
92
189
  return true;
93
- }
190
+ },
94
191
  });
95
192
  }
96
193
  if (!options.target) {
97
- // only show dev environments in dev mode
98
- const choices = config.isDevMode ? ['local', 'dev-main', 'dev-preview', 'preview', 'prod', 'custom'] : ['preview', 'prod'];
194
+ // Branch/dev deployments are custom URLs so profile config is explicit.
195
+ const choices = config.isDevMode
196
+ ? ['local', 'dev-main', 'dev-preview', 'preview', 'prod', 'custom']
197
+ : ['preview', 'prod', 'custom'];
99
198
  questions.push({
100
199
  type: 'select',
101
200
  name: 'target',
102
- message: "Target environment",
201
+ message: 'Target environment',
103
202
  choices,
104
203
  initial: choices[0],
105
204
  });
106
205
  }
107
- let target = options.target === "production" ? "prod" : options.target;
206
+ let target = options.target === 'production' ? 'prod' : options.target;
108
207
  if (questions.length > 0) {
109
208
  const response = await prompt(questions);
110
209
  if (!name) {
@@ -115,7 +214,7 @@ export async function createProfile(name, options = {}) {
115
214
  }
116
215
  }
117
216
  if (!target || !name) {
118
- console.error("Invalid profile name or target");
217
+ console.error('Invalid profile name or target');
119
218
  process.exit(1);
120
219
  }
121
220
  // If custom target, prompt for URL
@@ -130,92 +229,320 @@ export async function createProfile(name, options = {}) {
130
229
  return 'URL must start with http:// or https://';
131
230
  }
132
231
  return true;
133
- }
232
+ },
134
233
  });
135
- target = customResponse.url.trim();
234
+ const customUrl = customResponse.url?.trim();
235
+ if (!customUrl) {
236
+ console.error('Invalid target URL');
237
+ process.exit(1);
238
+ }
239
+ target = customUrl;
136
240
  }
137
241
  // Prompt for region when target requires it (preview/prod only)
138
- let region = options.region ?? DEFAULT_REGION;
242
+ const selectedRegion = readRegion(options.region);
243
+ if (options.region && !selectedRegion) {
244
+ console.error(`Invalid region "${options.region}". Expected one of: ${AVAILABLE_REGIONS.join(', ')}`);
245
+ process.exit(1);
246
+ }
247
+ let region = selectedRegion ?? DEFAULT_REGION;
139
248
  const needsRegionPrompt = !options.region && (target === 'preview' || target === 'prod');
140
249
  if (needsRegionPrompt) {
141
- const regionResponse = await prompt({
250
+ const regionQuestion = {
142
251
  type: 'select',
143
252
  name: 'region',
144
253
  message: 'Deployment region',
145
254
  choices: AVAILABLE_REGIONS,
146
255
  initial: AVAILABLE_REGIONS[0],
147
- });
148
- region = regionResponse.region;
256
+ };
257
+ const regionResponse = await prompt(regionQuestion);
258
+ region = readRegion(regionResponse.region) ?? DEFAULT_REGION;
149
259
  }
150
260
  if (options.apikey) {
151
- if (!options.account || !options.project) {
152
- console.error("When using --apikey you must provide the project and account IDs");
261
+ // biome-ignore lint/style/noNonNullAssertion: intentional non-null assertion; TS can't prove narrowing here
262
+ const serverUrls = getServerUrls(target, region);
263
+ const tokenRefs = await resolveCredentialRefs(options.apikey, serverUrls);
264
+ const account = options.account || tokenRefs.account;
265
+ const project = options.project || tokenRefs.project;
266
+ if (!account || !project) {
267
+ console.error('Unable to resolve project and account from the supplied credential. Check the target endpoint or provide --project and --account.');
153
268
  process.exit(1);
154
269
  }
270
+ writeAuthBundle(name, {
271
+ accessToken: options.apikey,
272
+ accessTokenExpiresAt: getAccessTokenExpiry(options.apikey),
273
+ });
155
274
  config.add({
156
- account: options.account,
157
- project: options.project,
275
+ account,
276
+ project,
158
277
  name,
278
+ // biome-ignore lint/style/noNonNullAssertion: intentional non-null assertion; TS can't prove narrowing here
159
279
  config_url: getConfigUrl(target, region),
160
- apikey: options.apikey,
161
280
  region,
162
- ...getServerUrls(target, region),
281
+ ...serverUrls,
163
282
  });
283
+ // biome-ignore lint/style/noNonNullAssertion: intentional non-null assertion; TS can't prove narrowing here
164
284
  config.use(name).save();
165
285
  }
166
286
  else {
167
- config.createProfile(name, target, region).start(options.onResult);
287
+ // biome-ignore lint/style/noNonNullAssertion: intentional non-null assertion; TS can't prove narrowing here
288
+ await config.createProfile(name, target, region).start(options.onResult);
168
289
  }
290
+ // biome-ignore lint/style/noNonNullAssertion: intentional non-null assertion; TS can't prove narrowing here
169
291
  return name;
170
292
  }
293
+ export async function loginProfile(name, options = {}) {
294
+ const profile = name ? config.getProfile(name) : config.current;
295
+ if (profile) {
296
+ await refreshProfileAuthentication(profile.name, options.onResult, undefined, {
297
+ projectId: options.project,
298
+ });
299
+ return profile.name;
300
+ }
301
+ return createProfile(name, options);
302
+ }
171
303
  export async function updateProfile(name, onResult, signal) {
172
304
  if (!name) {
173
- name = await selectProfile("Select the profile to update");
305
+ name = await selectProfile('Select the profile to update');
174
306
  }
307
+ // biome-ignore lint/style/noNonNullAssertion: intentional non-null assertion; TS can't prove narrowing here
175
308
  const profile = config.getProfile(name);
176
309
  if (!profile) {
177
310
  console.error(`Profile ${name} not found`);
178
311
  process.exit(1);
179
312
  }
180
- config.updateProfile(name).start(onResult, signal);
313
+ await config.updateProfile(name).start(onResult, signal);
181
314
  }
182
- export function updateCurrentProfile(onResult, signal) {
183
- if (!config.current) {
184
- console.log("No profile is selected. Run `vertesia profiles use <name>` to select a profile");
185
- process.exit(1);
315
+ export async function refreshProfile(name, onResult, signal, options = {}) {
316
+ if (!name) {
317
+ name = await selectProfile('Select the profile to refresh');
186
318
  }
187
- config.updateProfile(config.current.name).start(onResult, signal);
319
+ return refreshProfileAuthentication(name, onResult, signal, {
320
+ projectId: options.project,
321
+ });
322
+ }
323
+ export function updateCurrentProfile(onResult, signal, options = {}) {
324
+ return refreshCurrentProfileAuthentication(onResult, signal, {
325
+ projectId: options.project,
326
+ }).then(() => undefined);
188
327
  }
189
- async function selectProfile(message = "Select the profile") {
190
- const response = await prompt({
328
+ async function selectProfile(message = 'Select the profile') {
329
+ const question = {
191
330
  type: 'select',
192
331
  name: 'name',
193
332
  message,
194
- choices: config.profiles.map(p => p.name)
195
- });
333
+ choices: config.profiles.map((p) => p.name),
334
+ };
335
+ const response = await prompt(question);
336
+ if (!response.name) {
337
+ console.error('No profile selected');
338
+ process.exit(1);
339
+ }
196
340
  return response.name;
197
341
  }
342
+ function readRegion(value) {
343
+ return AVAILABLE_REGIONS.find((region) => region === value);
344
+ }
345
+ async function resolveCredentialRefs(credential, serverUrls) {
346
+ const tokenRefs = readTokenRefs(credential);
347
+ if (tokenRefs.account && tokenRefs.project) {
348
+ return tokenRefs;
349
+ }
350
+ const client = new VertesiaClient({
351
+ serverUrl: serverUrls.studio_server_url,
352
+ storeUrl: serverUrls.zeno_server_url,
353
+ apikey: credential,
354
+ });
355
+ const [account, project] = await Promise.all([client.getAccount(), client.getProject()]);
356
+ return {
357
+ account: tokenRefs.account || account?.id,
358
+ project: tokenRefs.project || project?.id,
359
+ };
360
+ }
361
+ function readTokenRefs(token) {
362
+ const decoded = jwt.decode(token, { json: true });
363
+ if (!decoded || typeof decoded !== 'object') {
364
+ return {};
365
+ }
366
+ return {
367
+ account: readRefId(decoded, 'account') || readStringField(decoded, 'account_id'),
368
+ project: readRefId(decoded, 'project') || readStringField(decoded, 'project_id'),
369
+ };
370
+ }
371
+ function readEnvCredential() {
372
+ if (process.env.VERTESIA_TOKEN) {
373
+ return {
374
+ name: 'VERTESIA_TOKEN',
375
+ token: process.env.VERTESIA_TOKEN,
376
+ };
377
+ }
378
+ if (process.env.VERTESIA_APIKEY) {
379
+ return {
380
+ name: 'VERTESIA_APIKEY',
381
+ token: process.env.VERTESIA_APIKEY,
382
+ };
383
+ }
384
+ if (process.env.COMPOSABLE_PROMPTS_APIKEY) {
385
+ return {
386
+ name: 'COMPOSABLE_PROMPTS_APIKEY',
387
+ token: process.env.COMPOSABLE_PROMPTS_APIKEY,
388
+ };
389
+ }
390
+ return undefined;
391
+ }
392
+ function readTokenDetails(token, expiresAt) {
393
+ if (!token) {
394
+ return { present: false };
395
+ }
396
+ const decoded = jwt.decode(token, { json: true });
397
+ if (!decoded || typeof decoded !== 'object') {
398
+ return readOpaqueTokenDetails(expiresAt);
399
+ }
400
+ const tokenExpiresAt = expiresAt ?? readNumericDate(decoded, 'exp');
401
+ return {
402
+ present: true,
403
+ type: 'jwt',
404
+ expires_at: formatTimestamp(tokenExpiresAt),
405
+ expired: tokenExpiresAt === undefined ? undefined : tokenExpiresAt <= Date.now(),
406
+ issuer: readStringField(decoded, 'iss'),
407
+ subject: readStringField(decoded, 'sub'),
408
+ audience: readAudience(decoded),
409
+ account: readRefId(decoded, 'account') || readStringField(decoded, 'account_id'),
410
+ project: readRefId(decoded, 'project') || readStringField(decoded, 'project_id'),
411
+ };
412
+ }
413
+ function readOpaqueTokenDetails(expiresAt) {
414
+ return {
415
+ present: true,
416
+ type: 'opaque',
417
+ expires_at: formatTimestamp(expiresAt),
418
+ expired: expiresAt === undefined ? undefined : expiresAt <= Date.now(),
419
+ };
420
+ }
421
+ function readNumericDate(value, key) {
422
+ const field = Reflect.get(value, key);
423
+ return typeof field === 'number' ? field * 1000 : undefined;
424
+ }
425
+ function readAudience(value) {
426
+ const field = Reflect.get(value, 'aud');
427
+ if (typeof field === 'string') {
428
+ return field;
429
+ }
430
+ if (Array.isArray(field)) {
431
+ const first = field.find((candidate) => typeof candidate === 'string');
432
+ return typeof first === 'string' ? first : undefined;
433
+ }
434
+ return undefined;
435
+ }
436
+ function formatTimestamp(value) {
437
+ return value === undefined ? undefined : new Date(value).toISOString();
438
+ }
439
+ function readRefId(value, key) {
440
+ const field = Reflect.get(value, key);
441
+ if (typeof field === 'string') {
442
+ return field;
443
+ }
444
+ if (!isRecord(field)) {
445
+ return undefined;
446
+ }
447
+ const id = Reflect.get(field, 'id');
448
+ return typeof id === 'string' ? id : undefined;
449
+ }
450
+ function readStringField(value, key) {
451
+ const field = Reflect.get(value, key);
452
+ return typeof field === 'string' ? field : undefined;
453
+ }
454
+ function isRecord(value) {
455
+ return !!value && typeof value === 'object' && !Array.isArray(value);
456
+ }
457
+ function printAuthDetails(payload) {
458
+ console.log('Authentication details');
459
+ console.log();
460
+ printSection('Profile', [
461
+ ['Selected', payload.selected_profile],
462
+ ['Account', payload.profile?.account],
463
+ ['Project', payload.profile?.project],
464
+ ['Config URL', payload.profile?.config_url],
465
+ ['Studio server', payload.profile?.studio_server_url],
466
+ ['Zeno server', payload.profile?.zeno_server_url],
467
+ ['Region', payload.profile?.region],
468
+ ]);
469
+ printSection('Environment overrides', [
470
+ ['Credential', payload.environment.credential],
471
+ ['Studio server', payload.environment.studio_server_url],
472
+ ['Zeno server', payload.environment.zeno_server_url],
473
+ ['Token server', payload.environment.token_server_url],
474
+ ['Project', payload.environment.project],
475
+ ]);
476
+ printSection('Stored credentials', [
477
+ ['Keyring', payload.keyring_available ? 'available' : 'unavailable'],
478
+ ['Access token', formatTokenSummary(payload.stored_credentials?.access_token)],
479
+ ['Refresh token', formatTokenSummary(payload.stored_credentials?.refresh_token)],
480
+ ['ID token', formatTokenSummary(payload.stored_credentials?.id_token)],
481
+ ['OAuth client', payload.stored_credentials?.oauth_client_id],
482
+ ['OAuth resource', payload.stored_credentials?.oauth_resource],
483
+ ]);
484
+ printSection('Active credential', [
485
+ ['Source', payload.active_credential_source],
486
+ ['Token', formatTokenSummary(payload.active_token)],
487
+ ['Issuer', payload.active_token.issuer],
488
+ ['Subject', payload.active_token.subject],
489
+ ['Audience', payload.active_token.audience],
490
+ ['Account', payload.active_token.account],
491
+ ['Project', payload.active_token.project],
492
+ ]);
493
+ }
494
+ function printSection(title, rows) {
495
+ console.log(colors.bold(title));
496
+ for (const [label, value] of rows) {
497
+ console.log(` ${label}: ${value || '-'}`);
498
+ }
499
+ console.log();
500
+ }
501
+ function formatTokenSummary(details) {
502
+ if (!details?.present) {
503
+ return 'not stored';
504
+ }
505
+ const parts = [details.type || 'token'];
506
+ if (details.expires_at) {
507
+ parts.push(`${details.expired ? 'expired' : 'expires'} ${details.expires_at}`);
508
+ }
509
+ return parts.join(', ');
510
+ }
198
511
  export async function tryRefreshToken() {
199
512
  if (!config.current) {
200
- console.log("No profile is selected. Run `vertesia profiles use <name>` to select a profile");
513
+ console.log('No profile is selected. Run `vertesia profiles use <name>` to select a profile');
201
514
  process.exit(1);
202
515
  }
203
516
  if (shouldRefreshProfileToken(config.current)) {
204
517
  console.log();
205
- console.log(colors.bold("Operation Failed:"), colors.red("Authentication token expired!"));
518
+ console.log(colors.bold('Operation Failed:'), colors.red('Authentication token expired!'));
206
519
  console.log();
207
- _doRefreshToken(config.current.name);
520
+ await _doRefreshToken(config.current.name);
208
521
  }
209
522
  }
210
523
  async function _doRefreshToken(profileName, onResult) {
211
- const r = await prompt({
212
- name: 'refresh',
213
- type: "confirm",
214
- message: "Do you want to refresh the token for the current profile?",
215
- initial: true,
216
- });
217
- if (r.refresh) {
218
- config.updateProfile(profileName).start(onResult);
524
+ const abortController = new AbortController();
525
+ const handleSignal = () => {
526
+ abortController.abort();
527
+ console.log('\nToken refresh interrupted');
528
+ process.exit(130);
529
+ };
530
+ process.once('SIGINT', handleSignal);
531
+ process.once('SIGTERM', handleSignal);
532
+ try {
533
+ const r = await prompt({
534
+ name: 'refresh',
535
+ type: 'confirm',
536
+ message: 'Do you want to refresh the token for the current profile?',
537
+ initial: true,
538
+ });
539
+ if (r.refresh) {
540
+ await refreshProfileAuthentication(profileName, onResult, abortController.signal);
541
+ }
542
+ }
543
+ finally {
544
+ process.off('SIGINT', handleSignal);
545
+ process.off('SIGTERM', handleSignal);
219
546
  }
220
547
  }
221
548
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/profiles/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/profiles/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ interface GitAuthOptions {
2
+ profile?: string;
3
+ url?: string;
4
+ alias?: boolean;
5
+ }
6
+ export declare function configureGitAuth(options?: GitAuthOptions): Promise<void>;
7
+ export declare function serveGitCredential(action: string | undefined, options?: Pick<GitAuthOptions, 'profile'>): Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/profiles/git.ts"],"names":[],"mappings":"AAMA,UAAU,cAAc;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAQD,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,cAAmB,iBAkBlE;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,SAAS,CAAM,iBA+CjH"}