@vertesia/cli 1.2.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 +18 -0
  42. package/lib/iam/commands.d.ts.map +1 -0
  43. package/lib/iam/commands.js +67 -0
  44. package/lib/iam/commands.js.map +1 -0
  45. package/lib/iam/index.d.ts +3 -0
  46. package/lib/iam/index.d.ts.map +1 -0
  47. package/lib/iam/index.js +34 -0
  48. package/lib/iam/index.js.map +1 -0
  49. package/lib/index.js +158 -121
  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 +22 -25
  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
@@ -0,0 +1,17 @@
1
+ import type { OAuthAuthorizationServerMetadata } from '@vertesia/common';
2
+ import type { Profile } from './index.js';
3
+ import type { StoredAuthBundle } from './keyring.js';
4
+ import type { ConfigResult } from './server/index.js';
5
+ type OAuthProfile = Pick<Profile, 'name' | 'studio_server_url' | 'zeno_server_url'> & Partial<Pick<Profile, 'account' | 'config_url' | 'project' | 'oauth_server_url'>>;
6
+ export declare class OAuthUnavailableError extends Error {
7
+ constructor(message: string);
8
+ }
9
+ export declare function canUseOAuthProfile(profile: Partial<Pick<Profile, 'studio_server_url'>>): boolean;
10
+ export declare function getOAuthClientId(oauthServerUrl: string): string;
11
+ export declare function getOAuthResource(metadata: Pick<OAuthAuthorizationServerMetadata, 'issuer'>): string;
12
+ export declare function startOAuthSession(profile: OAuthProfile, signal?: AbortSignal): Promise<ConfigResult>;
13
+ export declare function refreshOAuthSession(profile: OAuthProfile, refreshToken: string, bundle?: StoredAuthBundle, options?: {
14
+ projectId?: string;
15
+ }): Promise<ConfigResult>;
16
+ export {};
17
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/profiles/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gCAAgC,EAGnC,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgBtD,KAAK,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,iBAAiB,CAAC,GAC/E,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,kBAAkB,CAAC,CAAC,CAAC;AAatF,qBAAa,qBAAsB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI9B;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,GAAG,OAAO,CAehG;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,gCAAgC,EAAE,QAAQ,CAAC,GAAG,MAAM,CAEnG;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAwB1G;AAED,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,GAAE;IACL,SAAS,CAAC,EAAE,MAAM,CAAC;CACjB,GACP,OAAO,CAAC,YAAY,CAAC,CAQvB"}
@@ -0,0 +1,414 @@
1
+ import { OAUTH_SCOPE_OFFLINE_ACCESS, OAUTH_SCOPE_OPENID, OAUTH_SCOPE_PROFILE, Permission } from '@vertesia/common';
2
+ import jwt from 'jsonwebtoken';
3
+ import open from 'open';
4
+ const OAUTH_AUTHORIZATION_SERVER_PATH = '/.well-known/oauth-authorization-server';
5
+ const OAUTH_CLIENT_METADATA_PATH = '/.well-known/oauth-client/vertesia-cli';
6
+ // Base OIDC scopes that are not platform permissions.
7
+ const BASE_OIDC_SCOPES = [OAUTH_SCOPE_OPENID, OAUTH_SCOPE_PROFILE, OAUTH_SCOPE_OFFLINE_ACCESS];
8
+ // The full set of platform permission scopes. The CLI requests ALL of them and
9
+ // never curates a subset: dropping admin scopes here (e.g. content:admin,
10
+ // account:admin) silently denied legitimate operations — reindex, publish ACE
11
+ // grants — even for account owners / project admins. The authorization server
12
+ // is the right place to gate access: it downscopes the issued token to exactly
13
+ // what the signed-in user's roles allow, so requesting everything is safe and a
14
+ // user only ever receives the permissions they are entitled to.
15
+ const ALL_PERMISSION_SCOPES = Object.values(Permission);
16
+ export class OAuthUnavailableError extends Error {
17
+ constructor(message) {
18
+ super(message);
19
+ this.name = 'OAuthUnavailableError';
20
+ }
21
+ }
22
+ export function canUseOAuthProfile(profile) {
23
+ if (!profile.studio_server_url) {
24
+ return false;
25
+ }
26
+ try {
27
+ const url = new URL(profile.studio_server_url);
28
+ const isLoopbackHost = url.hostname === 'localhost' || url.hostname === '127.0.0.1';
29
+ const isLocalDev = process.env.IS_LOCAL_DEV === 'true';
30
+ if (url.protocol === 'https:') {
31
+ return !isLoopbackHost || isLocalDev;
32
+ }
33
+ return isLocalDev && url.protocol === 'http:' && isLoopbackHost;
34
+ }
35
+ catch {
36
+ return false;
37
+ }
38
+ }
39
+ export function getOAuthClientId(oauthServerUrl) {
40
+ return new URL(OAUTH_CLIENT_METADATA_PATH, withTrailingSlash(oauthServerUrl)).toString();
41
+ }
42
+ export function getOAuthResource(metadata) {
43
+ return new URL(metadata.issuer).toString();
44
+ }
45
+ export async function startOAuthSession(profile, signal) {
46
+ assertOAuthProfile(profile);
47
+ const { metadata, serverUrl } = await discoverAuthorizationServer(profile);
48
+ const clientId = getOAuthClientId(serverUrl);
49
+ const resource = getOAuthResource(metadata);
50
+ const scope = getDefaultOAuthScope(metadata);
51
+ const deviceAuthorization = await createDeviceAuthorization(metadata, {
52
+ clientId,
53
+ resource,
54
+ scope,
55
+ projectId: profile.project,
56
+ });
57
+ const verificationUrl = buildDeviceVerificationUrl(profile, deviceAuthorization);
58
+ console.log('Opening browser to', verificationUrl);
59
+ console.log('The session code is', deviceAuthorization.user_code);
60
+ console.log('Waiting for browser authorization...');
61
+ open(verificationUrl).catch((error) => {
62
+ console.error('Unable to open browser:', error instanceof Error ? error.message : String(error));
63
+ });
64
+ const response = await pollDeviceToken(metadata, clientId, deviceAuthorization, signal);
65
+ return buildConfigResult(profile, response, clientId, resource, serverUrl);
66
+ }
67
+ export async function refreshOAuthSession(profile, refreshToken, bundle, options = {}) {
68
+ assertOAuthProfile(profile);
69
+ const { metadata, serverUrl } = await discoverAuthorizationServer(profile);
70
+ const clientId = getOAuthClientId(serverUrl);
71
+ const resource = bundle?.oauthResource || readTokenRefs(bundle?.accessToken).audience || getOAuthResource(metadata);
72
+ const response = await exchangeRefreshToken(metadata, clientId, refreshToken, resource, options.projectId);
73
+ return buildConfigResult(profile, response, clientId, resource, serverUrl);
74
+ }
75
+ function assertOAuthProfile(profile) {
76
+ if (!profile.name) {
77
+ throw new Error('Profile name is required for OAuth authentication.');
78
+ }
79
+ if (!profile.studio_server_url || !profile.zeno_server_url) {
80
+ throw new Error('Studio and Zeno server URLs are required for OAuth authentication.');
81
+ }
82
+ if (!canUseOAuthProfile(profile)) {
83
+ throw new Error(`OAuth login is not supported for studio endpoint "${profile.studio_server_url}".`);
84
+ }
85
+ }
86
+ function withTrailingSlash(url) {
87
+ return url.endsWith('/') ? url : `${url}/`;
88
+ }
89
+ async function discoverAuthorizationServer(profile) {
90
+ const candidates = getOAuthServerUrlCandidates(profile);
91
+ let unavailableError;
92
+ for (const candidate of candidates) {
93
+ try {
94
+ const metadata = await fetchAuthorizationServerMetadata(candidate);
95
+ return {
96
+ metadata: applyProfileAuthorizationEndpoint(metadata, profile),
97
+ serverUrl: candidate,
98
+ };
99
+ }
100
+ catch (error) {
101
+ if (error instanceof OAuthUnavailableError) {
102
+ unavailableError = error;
103
+ continue;
104
+ }
105
+ throw error;
106
+ }
107
+ }
108
+ throw (unavailableError ||
109
+ new OAuthUnavailableError(`OAuth discovery is not available for ${profile.studio_server_url}.`));
110
+ }
111
+ function getDefaultOAuthScope(metadata) {
112
+ // Request every scope the server advertises — no exclusions. When the server
113
+ // does not advertise a list, fall back to the full known permission set. The
114
+ // authorization server downscopes the issued token to the user's entitlements,
115
+ // so this never grants more than the signed-in user's roles allow.
116
+ const requested = Array.isArray(metadata.scopes_supported) && metadata.scopes_supported.length > 0
117
+ ? metadata.scopes_supported
118
+ : ALL_PERMISSION_SCOPES;
119
+ return Array.from(new Set([...BASE_OIDC_SCOPES, ...requested])).join(' ');
120
+ }
121
+ function applyProfileAuthorizationEndpoint(metadata, profile) {
122
+ if (!profile.config_url) {
123
+ return metadata;
124
+ }
125
+ const configUrl = new URL(profile.config_url);
126
+ return {
127
+ ...metadata,
128
+ authorization_endpoint: new URL('/oauth/authorize', configUrl.origin).toString(),
129
+ };
130
+ }
131
+ function getOAuthServerUrlCandidates(profile) {
132
+ if (process.env.VERTESIA_TOKEN_SERVER_URL) {
133
+ return [process.env.VERTESIA_TOKEN_SERVER_URL];
134
+ }
135
+ if (profile.oauth_server_url) {
136
+ return [profile.oauth_server_url.replace(/\/+$/, '')];
137
+ }
138
+ // Back-compat for profiles that predate explicit oauth_server_url: derive the STS host
139
+ // from the studio URL. studio-server itself is intentionally NOT in this list — it used
140
+ // to serve OAuth metadata in-process (apps/studio-server/src/public/oauth.ts, deleted in
141
+ // commit 254532963) but the canonical owner is now token-server (STS).
142
+ const studioUrl = new URL(profile.studio_server_url);
143
+ const isLoopbackHost = studioUrl.hostname === 'localhost' || studioUrl.hostname === '127.0.0.1';
144
+ if (isLoopbackHost) {
145
+ return ['https://sts.dev1.vertesia.io'];
146
+ }
147
+ const candidates = [];
148
+ // api{,-preview}.{region}.vertesia.io → sts{,-preview}.{region}.vertesia.io
149
+ if (studioUrl.hostname.startsWith('api')) {
150
+ const stsHost = studioUrl.hostname.replace(/^api/, 'sts');
151
+ candidates.push(`${studioUrl.protocol}//${stsHost}`);
152
+ }
153
+ // dev branch services (studio-server-dev-*.api.dev1.vertesia.io) → shared dev1 STS
154
+ if (studioUrl.hostname.endsWith('.api.dev1.vertesia.io') || studioUrl.hostname.endsWith('.ui.dev1.vertesia.io')) {
155
+ candidates.push('https://sts.dev1.vertesia.io');
156
+ }
157
+ return Array.from(new Set(candidates.map((candidate) => candidate.replace(/\/+$/, ''))));
158
+ }
159
+ async function fetchAuthorizationServerMetadata(oauthServerUrl) {
160
+ let response;
161
+ try {
162
+ response = await fetch(new URL(OAUTH_AUTHORIZATION_SERVER_PATH, withTrailingSlash(oauthServerUrl)).toString(), {
163
+ headers: {
164
+ Accept: 'application/json',
165
+ },
166
+ });
167
+ }
168
+ catch (error) {
169
+ throw new OAuthUnavailableError(`OAuth discovery is not reachable at ${oauthServerUrl}: ${error instanceof Error ? error.message : String(error)}`);
170
+ }
171
+ if (!response.ok) {
172
+ if (response.status === 404 || response.status === 501) {
173
+ throw new OAuthUnavailableError(`OAuth discovery is not available at ${oauthServerUrl}.`);
174
+ }
175
+ throw new Error(`Failed to load OAuth authorization metadata from ${oauthServerUrl} (${response.status} ${response.statusText}).`);
176
+ }
177
+ const metadata = (await response.json());
178
+ if (!metadata.authorization_endpoint || !metadata.token_endpoint || !metadata.issuer) {
179
+ throw new Error(`Invalid OAuth authorization metadata returned by ${oauthServerUrl}.`);
180
+ }
181
+ return metadata;
182
+ }
183
+ async function createDeviceAuthorization(metadata, input) {
184
+ if (!metadata.device_authorization_endpoint) {
185
+ throw new OAuthUnavailableError('OAuth device authorization is not available for this endpoint.');
186
+ }
187
+ const body = new URLSearchParams({
188
+ client_id: input.clientId,
189
+ resource: input.resource,
190
+ scope: input.scope,
191
+ });
192
+ if (input.projectId) {
193
+ body.set('project_id', input.projectId);
194
+ }
195
+ const response = await fetch(metadata.device_authorization_endpoint, {
196
+ method: 'POST',
197
+ headers: {
198
+ Accept: 'application/json',
199
+ 'Content-Type': 'application/x-www-form-urlencoded',
200
+ },
201
+ body: body.toString(),
202
+ });
203
+ if (!response.ok) {
204
+ const error = await readOAuthError(response);
205
+ if (response.status === 404 || response.status === 501) {
206
+ throw new OAuthUnavailableError(`OAuth device authorization is not available for this endpoint: ${error.message}`);
207
+ }
208
+ throw new Error(`OAuth device authorization failed (${response.status}): ${error.message}`);
209
+ }
210
+ const payload = (await response.json());
211
+ if (!payload.device_code ||
212
+ !payload.user_code ||
213
+ !payload.verification_uri ||
214
+ !payload.verification_uri_complete ||
215
+ typeof payload.expires_in !== 'number' ||
216
+ typeof payload.interval !== 'number') {
217
+ throw new Error('OAuth device authorization endpoint returned an invalid response.');
218
+ }
219
+ return payload;
220
+ }
221
+ function buildDeviceVerificationUrl(profile, device) {
222
+ if (!profile.config_url) {
223
+ return device.verification_uri_complete;
224
+ }
225
+ const configUrl = new URL(profile.config_url);
226
+ const verificationUrl = new URL('/oauth/device', configUrl.origin);
227
+ verificationUrl.searchParams.set('user_code', device.user_code);
228
+ return verificationUrl.toString();
229
+ }
230
+ async function pollDeviceToken(metadata, clientId, device, signal) {
231
+ const expiresAt = Date.now() + device.expires_in * 1000;
232
+ let intervalMs = Math.max(device.interval, 1) * 1000;
233
+ while (Date.now() < expiresAt) {
234
+ throwIfAborted(signal);
235
+ const body = new URLSearchParams({
236
+ grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
237
+ device_code: device.device_code,
238
+ client_id: clientId,
239
+ });
240
+ const response = await fetch(metadata.token_endpoint, {
241
+ method: 'POST',
242
+ headers: {
243
+ Accept: 'application/json',
244
+ 'Content-Type': 'application/x-www-form-urlencoded',
245
+ },
246
+ body: body.toString(),
247
+ });
248
+ if (response.ok) {
249
+ const payload = (await response.json());
250
+ if (!payload.access_token || !payload.token_type || typeof payload.expires_in !== 'number') {
251
+ throw new Error('OAuth token endpoint returned an invalid response.');
252
+ }
253
+ return payload;
254
+ }
255
+ const error = await readOAuthError(response);
256
+ if (response.status === 400 && error.error === 'authorization_pending') {
257
+ await delay(intervalMs, signal);
258
+ continue;
259
+ }
260
+ if (response.status === 400 && error.error === 'slow_down') {
261
+ intervalMs += 5000;
262
+ await delay(intervalMs, signal);
263
+ continue;
264
+ }
265
+ if (response.status === 400 && error.error === 'access_denied') {
266
+ throw new Error('OAuth device authorization was denied.');
267
+ }
268
+ if (response.status === 400 && error.error === 'expired_token') {
269
+ throw new Error('OAuth device authorization expired.');
270
+ }
271
+ throw new Error(`OAuth token exchange failed (${response.status}): ${error.message}`);
272
+ }
273
+ throw new Error('OAuth device authorization expired.');
274
+ }
275
+ async function exchangeRefreshToken(metadata, clientId, refreshToken, resource, projectId) {
276
+ const body = new URLSearchParams({
277
+ grant_type: 'refresh_token',
278
+ refresh_token: refreshToken,
279
+ client_id: clientId,
280
+ resource,
281
+ });
282
+ if (projectId) {
283
+ body.set('project_id', projectId);
284
+ }
285
+ return exchangeToken(metadata.token_endpoint, body);
286
+ }
287
+ async function exchangeToken(endpoint, body) {
288
+ const response = await fetch(endpoint, {
289
+ method: 'POST',
290
+ headers: {
291
+ Accept: 'application/json',
292
+ 'Content-Type': 'application/x-www-form-urlencoded',
293
+ },
294
+ body: body.toString(),
295
+ });
296
+ if (!response.ok) {
297
+ throw new Error(`OAuth token exchange failed (${response.status}): ${await readErrorMessage(response)}`);
298
+ }
299
+ const payload = (await response.json());
300
+ if (!payload.access_token || !payload.token_type || typeof payload.expires_in !== 'number') {
301
+ throw new Error('OAuth token endpoint returned an invalid response.');
302
+ }
303
+ return payload;
304
+ }
305
+ async function readErrorMessage(response) {
306
+ return (await readOAuthError(response)).message;
307
+ }
308
+ async function readOAuthError(response) {
309
+ const text = await response.text();
310
+ if (!text) {
311
+ return { message: response.statusText || 'Unknown error' };
312
+ }
313
+ try {
314
+ const parsed = JSON.parse(text);
315
+ const error = typeof parsed.error === 'string' ? parsed.error : undefined;
316
+ if (typeof parsed.error_description === 'string') {
317
+ return { error, message: parsed.error_description };
318
+ }
319
+ if (error) {
320
+ return { error, message: error };
321
+ }
322
+ }
323
+ catch {
324
+ // Ignore non-JSON error responses.
325
+ }
326
+ return { message: text };
327
+ }
328
+ function throwIfAborted(signal) {
329
+ if (signal?.aborted) {
330
+ throw new Error('Authentication aborted.');
331
+ }
332
+ }
333
+ async function delay(milliseconds, signal) {
334
+ throwIfAborted(signal);
335
+ await new Promise((resolve, reject) => {
336
+ const timeout = setTimeout(() => {
337
+ signal?.removeEventListener('abort', onAbort);
338
+ resolve();
339
+ }, milliseconds);
340
+ function onAbort() {
341
+ clearTimeout(timeout);
342
+ signal?.removeEventListener('abort', onAbort);
343
+ reject(new Error('Authentication aborted.'));
344
+ }
345
+ signal?.addEventListener('abort', onAbort, { once: true });
346
+ });
347
+ }
348
+ function buildConfigResult(profile, response, oauthClientId, oauthResource, oauthServerUrl) {
349
+ const refs = readTokenRefs(response.access_token);
350
+ const account = refs.account || profile.account;
351
+ const project = refs.project || profile.project;
352
+ if (!profile.name || !profile.studio_server_url || !profile.zeno_server_url) {
353
+ throw new Error('Profile metadata is incomplete after OAuth authentication.');
354
+ }
355
+ if (!account || !project) {
356
+ throw new Error('OAuth access token did not contain an account or project reference.');
357
+ }
358
+ return {
359
+ profile: profile.name,
360
+ account,
361
+ project,
362
+ studio_server_url: profile.studio_server_url,
363
+ zeno_server_url: profile.zeno_server_url,
364
+ oauth_server_url: oauthServerUrl,
365
+ token: response.access_token,
366
+ id_token: response.id_token,
367
+ refresh_token: response.refresh_token,
368
+ expires_in: response.expires_in,
369
+ oauth_client_id: oauthClientId,
370
+ oauth_resource: oauthResource,
371
+ };
372
+ }
373
+ function readTokenRefs(token) {
374
+ if (!token) {
375
+ return {};
376
+ }
377
+ const decoded = jwt.decode(token, { json: true });
378
+ if (!decoded || typeof decoded !== 'object') {
379
+ return {};
380
+ }
381
+ const audience = readAudience(decoded);
382
+ return {
383
+ account: readRefId(decoded, 'account') || readStringField(decoded, 'account_id'),
384
+ project: readRefId(decoded, 'project') || readStringField(decoded, 'project_id'),
385
+ audience,
386
+ };
387
+ }
388
+ function readAudience(decoded) {
389
+ const audience = Reflect.get(decoded, 'aud');
390
+ if (typeof audience === 'string') {
391
+ return audience;
392
+ }
393
+ if (Array.isArray(audience)) {
394
+ const first = audience.find((value) => typeof value === 'string');
395
+ return typeof first === 'string' ? first : undefined;
396
+ }
397
+ return undefined;
398
+ }
399
+ function readRefId(value, key) {
400
+ const field = Reflect.get(value, key);
401
+ if (typeof field === 'string') {
402
+ return field;
403
+ }
404
+ if (!field || typeof field !== 'object' || Array.isArray(field)) {
405
+ return undefined;
406
+ }
407
+ const id = Reflect.get(field, 'id');
408
+ return typeof id === 'string' ? id : undefined;
409
+ }
410
+ function readStringField(value, key) {
411
+ const field = Reflect.get(value, key);
412
+ return typeof field === 'string' ? field : undefined;
413
+ }
414
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/profiles/oauth.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { ServerResponse, IncomingMessage } from 'http';
1
+ import type { IncomingMessage, ServerResponse } from 'node:http';
2
2
  export declare function handleCors(req: IncomingMessage, res: ServerResponse): boolean;
3
3
  //# sourceMappingURL=cors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../../src/profiles/server/cors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAUvD,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,WAYnE"}
1
+ {"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../../src/profiles/server/cors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAUjE,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,WAYnE"}
@@ -3,7 +3,7 @@ const corsHeaders = {
3
3
  'Access-Control-Allow-Methods': 'OPTIONS, POST, GET',
4
4
  'Access-Control-Allow-Headers': 'Content-Type',
5
5
  'Access-Control-Allow-Private-Network': 'true', // Required for Chrome Private Network Access
6
- 'Access-Control-Max-Age': '86400' // 1 day
6
+ 'Access-Control-Max-Age': '86400', // 1 day
7
7
  };
8
8
  export function handleCors(req, res) {
9
9
  if (req.method === 'OPTIONS') {
@@ -1 +1 @@
1
- {"version":3,"file":"cors.js","sourceRoot":"","sources":["../../../src/profiles/server/cors.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAA2B;IACxC,6BAA6B,EAAE,GAAG;IAClC,8BAA8B,EAAE,oBAAoB;IACpD,8BAA8B,EAAE,cAAc;IAC9C,sCAAsC,EAAE,MAAM,EAAE,6CAA6C;IAC7F,wBAAwB,EAAE,OAAO,CAAC,QAAQ;CAC7C,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,GAAoB,EAAE,GAAmB;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAChC,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;SAAM,CAAC;QACJ,yEAAyE;QACzE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"cors.js","sourceRoot":"","sources":["../../../src/profiles/server/cors.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAA2B;IACxC,6BAA6B,EAAE,GAAG;IAClC,8BAA8B,EAAE,oBAAoB;IACpD,8BAA8B,EAAE,cAAc;IAC9C,sCAAsC,EAAE,MAAM,EAAE,6CAA6C;IAC7F,wBAAwB,EAAE,OAAO,EAAE,QAAQ;CAC9C,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,GAAoB,EAAE,GAAmB;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAChC,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;SAAM,CAAC;QACJ,yEAAyE;QACzE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -6,7 +6,15 @@ export interface ConfigPayload {
6
6
  export interface ConfigResult extends Required<ConfigPayload> {
7
7
  studio_server_url: string;
8
8
  zeno_server_url: string;
9
+ oauth_server_url?: string;
9
10
  token: string;
11
+ id_token?: string;
12
+ refresh_token?: string;
13
+ expires_in?: number;
14
+ access_token_expires_at?: number;
15
+ refresh_token_expires_at?: number;
16
+ oauth_client_id?: string;
17
+ oauth_resource?: string;
10
18
  }
11
- export declare function startConfigSession(config_url: string, payload: ConfigPayload, callback: (response: ConfigResult | undefined) => void, signal?: AbortSignal): Promise<void>;
19
+ export declare function startConfigSession(config_url: string, payload: ConfigPayload, callback: (response: ConfigResult | undefined) => void | Promise<void>, signal?: AbortSignal): Promise<void>;
12
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/profiles/server/index.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,aAAa,CAAC;IACzD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACjB;AAGD,wBAAsB,kBAAkB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,EACtD,MAAM,CAAC,EAAE,WAAW,iBA2IvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/profiles/server/index.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,aAAa,CAAC;IACzD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,kBAAkB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACtE,MAAM,CAAC,EAAE,WAAW,iBAsLvB"}