@agentworkforce/deploy 3.0.5 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/login.d.ts CHANGED
@@ -27,6 +27,32 @@ export interface StoredWorkspaceLogin {
27
27
  expiresAt?: string;
28
28
  cloudUrl?: string;
29
29
  }
30
+ /**
31
+ * Tiny pointer file recording the workspace + cloud URL the user picked at
32
+ * `agentworkforce login`. The access token itself lives in the shared
33
+ * `@agent-relay/cloud` auth store (`~/.agent-relay/cloud-auth.json`); this
34
+ * file just remembers which workspace to target so `resolveWorkspaceToken`
35
+ * can pair "user identity" (shared accessToken) with "which workspace to
36
+ * deploy to" without re-prompting on every invocation.
37
+ *
38
+ * This file is non-secret. The actual bearer credential lives in the
39
+ * shared auth file, which `@agent-relay/cloud` manages.
40
+ */
41
+ export interface ActiveWorkspacePointer {
42
+ /** Whatever the user passed at login time (slug, id, or display name). */
43
+ workspace: string;
44
+ /** Canonical slug, if known. */
45
+ workspaceSlug?: string;
46
+ /** Canonical workspace id (uuid), if known. */
47
+ workspaceId?: string;
48
+ /** Cloud base URL we authed against. */
49
+ cloudUrl?: string;
50
+ /** ISO timestamp of the most recent write. */
51
+ setAt: string;
52
+ }
53
+ export declare function readActiveWorkspace(): Promise<ActiveWorkspacePointer | null>;
54
+ export declare function writeActiveWorkspace(input: Omit<ActiveWorkspacePointer, 'setAt'>): Promise<void>;
55
+ export declare function clearActiveWorkspace(): Promise<void>;
30
56
  /**
31
57
  * Environment-backed fallback resolver: reads `WORKFORCE_WORKSPACE_ID`
32
58
  * and `WORKFORCE_WORKSPACE_TOKEN` from `process.env`. Useful in CI and as
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,gBAAgB,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QACnE,SAAS,EAAE,MAAM,CAAC;QAClB,mEAAmE;QACnE,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAmBD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAgChD;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAQlF;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6BvD;AAED,wBAAsB,kBAAkB,CACtC,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAiBtC;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAErF;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF;AAED,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB;AAED,wBAAsB,yBAAyB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjF"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,gBAAgB,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QACnE,SAAS,EAAE,MAAM,CAAC;QAClB,mEAAmE;QACnE,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAmBD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,sBAAsB;IACrC,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA0BlF;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAgChD;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAQlF;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqDvD;AAmBD,wBAAsB,kBAAkB,CACtC,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAiBtC;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAErF;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF;AAED,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB;AAED,wBAAsB,yBAAyB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjF"}
package/dist/login.js CHANGED
@@ -6,6 +6,59 @@ function loginFile() {
6
6
  return process.env.WORKFORCE_LOGIN_FILE?.trim()
7
7
  || path.join(homedir(), '.agentworkforce', 'login.json');
8
8
  }
9
+ function activeWorkspaceFile() {
10
+ return process.env.WORKFORCE_ACTIVE_WORKSPACE_FILE?.trim()
11
+ || path.join(homedir(), '.agentworkforce', 'active.json');
12
+ }
13
+ export async function readActiveWorkspace() {
14
+ const raw = await readFile(activeWorkspaceFile(), 'utf8').catch(() => '');
15
+ const trimmed = raw.trim();
16
+ if (!trimmed)
17
+ return null;
18
+ try {
19
+ const parsed = JSON.parse(trimmed);
20
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
21
+ return null;
22
+ const record = parsed;
23
+ const workspace = typeof record.workspace === 'string' ? record.workspace.trim() : '';
24
+ if (!workspace)
25
+ return null;
26
+ return {
27
+ workspace,
28
+ setAt: typeof record.setAt === 'string' ? record.setAt : new Date(0).toISOString(),
29
+ ...(typeof record.workspaceSlug === 'string' && record.workspaceSlug.trim()
30
+ ? { workspaceSlug: record.workspaceSlug.trim() }
31
+ : {}),
32
+ ...(typeof record.workspaceId === 'string' && record.workspaceId.trim()
33
+ ? { workspaceId: record.workspaceId.trim() }
34
+ : {}),
35
+ ...(typeof record.cloudUrl === 'string' && record.cloudUrl.trim()
36
+ ? { cloudUrl: record.cloudUrl.trim() }
37
+ : {})
38
+ };
39
+ }
40
+ catch {
41
+ return null;
42
+ }
43
+ }
44
+ export async function writeActiveWorkspace(input) {
45
+ const file = activeWorkspaceFile();
46
+ await mkdir(path.dirname(file), { recursive: true, mode: 0o700 });
47
+ const payload = {
48
+ workspace: input.workspace,
49
+ ...(input.workspaceSlug ? { workspaceSlug: input.workspaceSlug } : {}),
50
+ ...(input.workspaceId ? { workspaceId: input.workspaceId } : {}),
51
+ ...(input.cloudUrl ? { cloudUrl: input.cloudUrl } : {}),
52
+ setAt: new Date().toISOString()
53
+ };
54
+ await writeFile(file, `${JSON.stringify(payload, null, 2)}\n`, {
55
+ encoding: 'utf8',
56
+ mode: 0o600
57
+ });
58
+ }
59
+ export async function clearActiveWorkspace() {
60
+ await rm(activeWorkspaceFile(), { force: true });
61
+ }
9
62
  /**
10
63
  * Environment-backed fallback resolver: reads `WORKFORCE_WORKSPACE_ID`
11
64
  * and `WORKFORCE_WORKSPACE_TOKEN` from `process.env`. Useful in CI and as
@@ -55,12 +108,34 @@ export async function resolveWorkspaceToken(args) {
55
108
  const envWorkspace = (process.env.WORKFORCE_WORKSPACE_ID ?? '').trim();
56
109
  const fromEnv = (process.env.WORKFORCE_WORKSPACE_TOKEN ?? '').trim();
57
110
  const requestedWorkspace = (args.workspace ?? '').trim();
111
+ // Tier 1: explicit env vars (CI / headless). Preserved untouched so
112
+ // pipelines that already set WORKFORCE_WORKSPACE_TOKEN keep working.
58
113
  if (fromEnv && (requestedWorkspace || envWorkspace)) {
59
114
  return {
60
115
  token: fromEnv,
61
116
  workspace: requestedWorkspace || envWorkspace
62
117
  };
63
118
  }
119
+ // Tier 2: shared @agent-relay/cloud accessToken + active.json pointer.
120
+ // This is the interactive-CLI default after `agentworkforce login`: the
121
+ // user already has a valid accessToken in ~/.agent-relay/cloud-auth.json
122
+ // and cloud's resolveRequestAuth accepts that token as Bearer for the
123
+ // deployment endpoints — no workspace-scoped token mint required.
124
+ const sharedAuth = await readSharedAuthForBearer().catch(() => null);
125
+ if (sharedAuth?.accessToken) {
126
+ const active = await readActiveWorkspace().catch(() => null);
127
+ const workspace = requestedWorkspace
128
+ || envWorkspace
129
+ || active?.workspaceSlug
130
+ || active?.workspaceId
131
+ || active?.workspace;
132
+ if (workspace) {
133
+ return { token: sharedAuth.accessToken, workspace };
134
+ }
135
+ }
136
+ // Tier 3: legacy keychain / file-stored workspace token. Kept for users
137
+ // mid-upgrade who already have a minted workspace token from the old
138
+ // login flow.
64
139
  const stored = await loadWorkspaceToken(requestedWorkspace || undefined, args.cloudUrl);
65
140
  if (stored) {
66
141
  return {
@@ -69,10 +144,30 @@ export async function resolveWorkspaceToken(args) {
69
144
  };
70
145
  }
71
146
  if (args.noPrompt) {
72
- throw new Error(`no workspace token resolved${requestedWorkspace ? ` for ${requestedWorkspace}` : ''}: run \`agentworkforce login\` or set WORKFORCE_WORKSPACE_ID + WORKFORCE_WORKSPACE_TOKEN`);
147
+ throw new Error(`no workspace credentials resolved${requestedWorkspace ? ` for ${requestedWorkspace}` : ''}: run \`agentworkforce login\` or set WORKFORCE_WORKSPACE_ID + WORKFORCE_WORKSPACE_TOKEN`);
148
+ }
149
+ args.io.info('cloud: no workspace credentials found; run `agentworkforce login` to connect this machine');
150
+ throw new Error(`no workspace credentials resolved${requestedWorkspace ? ` for ${requestedWorkspace}` : ''}: run \`agentworkforce login\` or set WORKFORCE_WORKSPACE_ID + WORKFORCE_WORKSPACE_TOKEN`);
151
+ }
152
+ /**
153
+ * Read the shared @agent-relay/cloud auth, refreshing if the accessToken
154
+ * is expired and a refreshToken is available. Returns `null` on any
155
+ * failure — callers fall through to the next resolution tier.
156
+ */
157
+ async function readSharedAuthForBearer() {
158
+ const auth = await readStoredAuth().catch(() => null);
159
+ if (!auth || !auth.accessToken)
160
+ return null;
161
+ if (!isExpired(auth.accessTokenExpiresAt))
162
+ return auth;
163
+ if (!auth.refreshToken)
164
+ return null;
165
+ try {
166
+ return await refreshStoredAuth(auth);
167
+ }
168
+ catch {
169
+ return null;
73
170
  }
74
- args.io.info('cloud: no workspace token found; run `agentworkforce login` to connect this machine');
75
- throw new Error(`no workspace token resolved${requestedWorkspace ? ` for ${requestedWorkspace}` : ''}: run \`agentworkforce login\` or set WORKFORCE_WORKSPACE_ID + WORKFORCE_WORKSPACE_TOKEN`);
76
171
  }
77
172
  export async function loadWorkspaceToken(workspace, cloudUrl) {
78
173
  const fromCloudAuth = await readWorkspaceTokenFromCloudAuth(workspace, cloudUrl);
package/dist/login.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import test from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
- import { mkdtemp, readFile, rm } from 'node:fs/promises';
3
+ import { mkdtemp, readFile, rm, writeFile, mkdir } from 'node:fs/promises';
4
4
  import os from 'node:os';
5
5
  import path from 'node:path';
6
- import { clearStoredWorkspaceToken, loadWorkspaceToken, resolveWorkspaceToken, writeStoredWorkspaceToken } from './login.js';
6
+ import { clearActiveWorkspace, clearStoredWorkspaceToken, loadWorkspaceToken, readActiveWorkspace, resolveWorkspaceToken, writeActiveWorkspace, writeStoredWorkspaceToken } from './login.js';
7
7
  import { createBufferedIO } from './io.js';
8
8
  async function withLoginEnv(env, fn) {
9
9
  const previous = {
@@ -86,23 +86,29 @@ test('resolveWorkspaceToken prefers env token before stored login', async () =>
86
86
  test('resolveWorkspaceToken reads stored token and fails clearly with --no-prompt', async () => {
87
87
  const dir = await mkdtemp(path.join(os.tmpdir(), 'wf-login-resolve-'));
88
88
  const loginFile = path.join(dir, 'login.json');
89
+ const activeFile = path.join(dir, 'active.json');
89
90
  try {
90
- await withLoginEnv({ loginFile }, async () => {
91
- await writeStoredWorkspaceToken({ workspace: 'stored', token: 'tok-stored' });
92
- assert.deepEqual(await resolveWorkspaceToken({
93
- workspace: 'stored',
94
- cloudUrl: 'https://cloud.example.test',
95
- io: createBufferedIO(),
96
- noPrompt: true
97
- }), { token: 'tok-stored', workspace: 'stored' });
98
- });
99
- await withLoginEnv({ loginFile: path.join(dir, 'missing.json') }, async () => {
100
- await assert.rejects(resolveWorkspaceToken({
101
- workspace: 'missing',
102
- cloudUrl: 'https://cloud.example.test',
103
- io: createBufferedIO(),
104
- noPrompt: true
105
- }), /run `agentworkforce login`/);
91
+ // Suppress the shared-auth tier (Tier 2) so the legacy keychain path
92
+ // (Tier 3) is exercised — otherwise a real ~/.agent-relay login on
93
+ // the dev's machine satisfies Tier 2 first and the assertion flips.
94
+ await withActiveWorkspaceEnv({ activeFile, sharedAuth: null }, async () => {
95
+ await withLoginEnv({ loginFile }, async () => {
96
+ await writeStoredWorkspaceToken({ workspace: 'stored', token: 'tok-stored' });
97
+ assert.deepEqual(await resolveWorkspaceToken({
98
+ workspace: 'stored',
99
+ cloudUrl: 'https://cloud.example.test',
100
+ io: createBufferedIO(),
101
+ noPrompt: true
102
+ }), { token: 'tok-stored', workspace: 'stored' });
103
+ });
104
+ await withLoginEnv({ loginFile: path.join(dir, 'missing.json') }, async () => {
105
+ await assert.rejects(resolveWorkspaceToken({
106
+ workspace: 'missing',
107
+ cloudUrl: 'https://cloud.example.test',
108
+ io: createBufferedIO(),
109
+ noPrompt: true
110
+ }), /run `agentworkforce login`/);
111
+ });
106
112
  });
107
113
  }
108
114
  finally {
@@ -123,4 +129,244 @@ test('clearStoredWorkspaceToken removes the stored token file', async () => {
123
129
  await rm(dir, { recursive: true, force: true });
124
130
  }
125
131
  });
132
+ // ---------------------------------------------------------------------------
133
+ // active.json pointer + shared-auth resolution tier
134
+ // ---------------------------------------------------------------------------
135
+ /**
136
+ * Back up the real ~/.agent-relay/cloud-auth.json (if present) for the
137
+ * duration of a test, so we can install a controlled fixture or assert
138
+ * "no shared auth" without flaking on machines where the dev has already
139
+ * logged into agent-relay. `AUTH_FILE_PATH` in `@agent-relay/cloud` is
140
+ * computed once at import time from `os.homedir()`, so there's no env
141
+ * knob to redirect it — backing up the actual file is the cleanest hook.
142
+ */
143
+ const SHARED_AUTH_FILE = path.join(os.homedir(), '.agent-relay', 'cloud-auth.json');
144
+ async function withActiveWorkspaceEnv(env, fn) {
145
+ const previous = {
146
+ WORKFORCE_ACTIVE_WORKSPACE_FILE: process.env.WORKFORCE_ACTIVE_WORKSPACE_FILE,
147
+ CLOUD_API_URL: process.env.CLOUD_API_URL,
148
+ CLOUD_API_ACCESS_TOKEN: process.env.CLOUD_API_ACCESS_TOKEN,
149
+ CLOUD_API_REFRESH_TOKEN: process.env.CLOUD_API_REFRESH_TOKEN,
150
+ CLOUD_API_ACCESS_TOKEN_EXPIRES_AT: process.env.CLOUD_API_ACCESS_TOKEN_EXPIRES_AT
151
+ };
152
+ // Clear CLOUD_API_* env vars so readEnvAuth() doesn't shortcut past our
153
+ // file-based fixture — every test exercises the on-disk path explicitly.
154
+ delete process.env.CLOUD_API_URL;
155
+ delete process.env.CLOUD_API_ACCESS_TOKEN;
156
+ delete process.env.CLOUD_API_REFRESH_TOKEN;
157
+ delete process.env.CLOUD_API_ACCESS_TOKEN_EXPIRES_AT;
158
+ if (env.activeFile === undefined)
159
+ delete process.env.WORKFORCE_ACTIVE_WORKSPACE_FILE;
160
+ else
161
+ process.env.WORKFORCE_ACTIVE_WORKSPACE_FILE = env.activeFile;
162
+ // Back up the real shared-auth file so we can swap in a fixture (or
163
+ // assert absence) without nuking the dev's actual agent-relay login.
164
+ const existingAuth = await readFile(SHARED_AUTH_FILE, 'utf8').catch(() => null);
165
+ if (existingAuth !== null) {
166
+ await rm(SHARED_AUTH_FILE, { force: true });
167
+ }
168
+ if (env.sharedAuth) {
169
+ await mkdir(path.dirname(SHARED_AUTH_FILE), { recursive: true, mode: 0o700 });
170
+ await writeFile(SHARED_AUTH_FILE, JSON.stringify({
171
+ apiUrl: env.sharedAuth.apiUrl ?? 'https://cloud.example.test',
172
+ accessToken: env.sharedAuth.accessToken,
173
+ refreshToken: env.sharedAuth.refreshToken ?? 'refresh-token',
174
+ accessTokenExpiresAt: env.sharedAuth.accessTokenExpiresAt ?? '2999-01-01T00:00:00.000Z'
175
+ }, null, 2) + '\n', { encoding: 'utf8', mode: 0o600 });
176
+ }
177
+ try {
178
+ return await fn();
179
+ }
180
+ finally {
181
+ for (const [key, value] of Object.entries(previous)) {
182
+ if (value === undefined) {
183
+ delete process.env[key];
184
+ }
185
+ else {
186
+ process.env[key] = value;
187
+ }
188
+ }
189
+ // Always restore the real shared-auth file (or remove our fixture).
190
+ if (existingAuth !== null) {
191
+ await mkdir(path.dirname(SHARED_AUTH_FILE), { recursive: true, mode: 0o700 });
192
+ await writeFile(SHARED_AUTH_FILE, existingAuth, { encoding: 'utf8', mode: 0o600 });
193
+ }
194
+ else {
195
+ await rm(SHARED_AUTH_FILE, { force: true });
196
+ }
197
+ }
198
+ }
199
+ test('writeActiveWorkspace + readActiveWorkspace round-trip the pointer file', async () => {
200
+ const dir = await mkdtemp(path.join(os.tmpdir(), 'wf-active-rt-'));
201
+ const activeFile = path.join(dir, 'active.json');
202
+ try {
203
+ await withActiveWorkspaceEnv({ activeFile, sharedAuth: null }, async () => {
204
+ assert.equal(await readActiveWorkspace(), null);
205
+ await writeActiveWorkspace({
206
+ workspace: 'acme',
207
+ workspaceSlug: 'acme',
208
+ workspaceId: 'ws-1',
209
+ cloudUrl: 'https://cloud.example.test'
210
+ });
211
+ const raw = JSON.parse(await readFile(activeFile, 'utf8'));
212
+ assert.equal(raw.workspace, 'acme');
213
+ assert.equal(raw.workspaceId, 'ws-1');
214
+ assert.equal(raw.cloudUrl, 'https://cloud.example.test');
215
+ assert.ok(typeof raw.setAt === 'string' && raw.setAt.length > 0);
216
+ const read = await readActiveWorkspace();
217
+ assert.equal(read?.workspace, 'acme');
218
+ assert.equal(read?.workspaceId, 'ws-1');
219
+ assert.equal(read?.cloudUrl, 'https://cloud.example.test');
220
+ await clearActiveWorkspace();
221
+ assert.equal(await readActiveWorkspace(), null);
222
+ });
223
+ }
224
+ finally {
225
+ await rm(dir, { recursive: true, force: true });
226
+ }
227
+ });
228
+ test('resolveWorkspaceToken returns shared accessToken as Bearer when active.json + shared auth are present', async () => {
229
+ const dir = await mkdtemp(path.join(os.tmpdir(), 'wf-resolve-shared-'));
230
+ const activeFile = path.join(dir, 'active.json');
231
+ const loginFile = path.join(dir, 'login.json'); // empty — no legacy fallback
232
+ try {
233
+ await withActiveWorkspaceEnv({
234
+ activeFile,
235
+ sharedAuth: {
236
+ accessToken: 'shared-access',
237
+ refreshToken: 'shared-refresh',
238
+ accessTokenExpiresAt: '2999-01-01T00:00:00.000Z'
239
+ }
240
+ }, async () => {
241
+ await withLoginEnv({ loginFile }, async () => {
242
+ await writeActiveWorkspace({
243
+ workspace: 'acme',
244
+ workspaceSlug: 'acme',
245
+ workspaceId: 'ws-1',
246
+ cloudUrl: 'https://cloud.example.test'
247
+ });
248
+ const resolved = await resolveWorkspaceToken({
249
+ cloudUrl: 'https://cloud.example.test',
250
+ io: createBufferedIO(),
251
+ noPrompt: true
252
+ });
253
+ assert.equal(resolved.token, 'shared-access');
254
+ assert.equal(resolved.workspace, 'acme');
255
+ });
256
+ });
257
+ }
258
+ finally {
259
+ await rm(dir, { recursive: true, force: true });
260
+ }
261
+ });
262
+ test('resolveWorkspaceToken falls back to the legacy keychain path when active.json is absent', async () => {
263
+ const dir = await mkdtemp(path.join(os.tmpdir(), 'wf-resolve-legacy-'));
264
+ const activeFile = path.join(dir, 'active.json'); // never written
265
+ const loginFile = path.join(dir, 'login.json');
266
+ try {
267
+ await withActiveWorkspaceEnv({ activeFile, sharedAuth: null }, async () => {
268
+ await withLoginEnv({ loginFile }, async () => {
269
+ await writeStoredWorkspaceToken({
270
+ workspace: 'legacy-ws',
271
+ token: 'legacy-token'
272
+ });
273
+ const resolved = await resolveWorkspaceToken({
274
+ workspace: 'legacy-ws',
275
+ cloudUrl: 'https://cloud.example.test',
276
+ io: createBufferedIO(),
277
+ noPrompt: true
278
+ });
279
+ assert.equal(resolved.token, 'legacy-token');
280
+ assert.equal(resolved.workspace, 'legacy-ws');
281
+ });
282
+ });
283
+ }
284
+ finally {
285
+ await rm(dir, { recursive: true, force: true });
286
+ }
287
+ });
288
+ test('resolveWorkspaceToken throws clear-instructions error when nothing is configured', async () => {
289
+ const dir = await mkdtemp(path.join(os.tmpdir(), 'wf-resolve-empty-'));
290
+ const activeFile = path.join(dir, 'active.json'); // never written
291
+ const loginFile = path.join(dir, 'login.json'); // never written
292
+ try {
293
+ await withActiveWorkspaceEnv({ activeFile, sharedAuth: null }, async () => {
294
+ await withLoginEnv({ loginFile }, async () => {
295
+ await assert.rejects(resolveWorkspaceToken({
296
+ workspace: 'nothing',
297
+ cloudUrl: 'https://cloud.example.test',
298
+ io: createBufferedIO(),
299
+ noPrompt: true
300
+ }), /run `agentworkforce login`/);
301
+ });
302
+ });
303
+ }
304
+ finally {
305
+ await rm(dir, { recursive: true, force: true });
306
+ }
307
+ });
308
+ test('resolveWorkspaceToken prefers WORKFORCE_WORKSPACE_TOKEN env over shared-auth tier', async () => {
309
+ const dir = await mkdtemp(path.join(os.tmpdir(), 'wf-resolve-env-'));
310
+ const activeFile = path.join(dir, 'active.json');
311
+ const loginFile = path.join(dir, 'login.json');
312
+ try {
313
+ await withActiveWorkspaceEnv({
314
+ activeFile,
315
+ sharedAuth: {
316
+ accessToken: 'shared-access',
317
+ refreshToken: 'shared-refresh'
318
+ }
319
+ }, async () => {
320
+ await withLoginEnv({
321
+ loginFile,
322
+ workspaceId: 'env-ws',
323
+ workspaceToken: 'env-token'
324
+ }, async () => {
325
+ await writeActiveWorkspace({ workspace: 'active-ws', cloudUrl: 'https://cloud.example.test' });
326
+ const resolved = await resolveWorkspaceToken({
327
+ cloudUrl: 'https://cloud.example.test',
328
+ io: createBufferedIO()
329
+ });
330
+ assert.equal(resolved.token, 'env-token');
331
+ assert.equal(resolved.workspace, 'env-ws');
332
+ });
333
+ });
334
+ }
335
+ finally {
336
+ await rm(dir, { recursive: true, force: true });
337
+ }
338
+ });
339
+ test('resolveWorkspaceToken uses requested workspace arg even when active.json has a different value', async () => {
340
+ const dir = await mkdtemp(path.join(os.tmpdir(), 'wf-resolve-arg-'));
341
+ const activeFile = path.join(dir, 'active.json');
342
+ const loginFile = path.join(dir, 'login.json');
343
+ try {
344
+ await withActiveWorkspaceEnv({
345
+ activeFile,
346
+ sharedAuth: {
347
+ accessToken: 'shared-access',
348
+ refreshToken: 'shared-refresh'
349
+ }
350
+ }, async () => {
351
+ await withLoginEnv({ loginFile }, async () => {
352
+ await writeActiveWorkspace({
353
+ workspace: 'default-ws',
354
+ workspaceSlug: 'default-ws',
355
+ cloudUrl: 'https://cloud.example.test'
356
+ });
357
+ const resolved = await resolveWorkspaceToken({
358
+ workspace: 'override-ws',
359
+ cloudUrl: 'https://cloud.example.test',
360
+ io: createBufferedIO(),
361
+ noPrompt: true
362
+ });
363
+ assert.equal(resolved.token, 'shared-access');
364
+ assert.equal(resolved.workspace, 'override-ws');
365
+ });
366
+ });
367
+ }
368
+ finally {
369
+ await rm(dir, { recursive: true, force: true });
370
+ }
371
+ });
126
372
  //# sourceMappingURL=login.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.test.js","sourceRoot":"","sources":["../src/login.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.test.js","sourceRoot":"","sources":["../src/login.test.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ function persona(overrides = {}) {
24
24
  intent: 'documentation',
25
25
  tags: ['documentation'],
26
26
  description: 'test persona',
27
+ skills: [],
27
28
  harness: 'codex',
28
29
  model: 'openai-codex/test',
29
30
  systemPrompt: 'help',
@@ -172,7 +173,8 @@ test('cloud URL precedence is flag env, cloud env, persona deployUrl, then defau
172
173
  });
173
174
  return calls.find((call) => call.url.endsWith('/deployments'))?.url;
174
175
  }
175
- const personaWithUrl = persona({ cloud: { deployUrl: 'https://persona.example.test/' } });
176
+ const personaWithUrl = persona();
177
+ personaWithUrl.cloud = { deployUrl: 'https://persona.example.test/' };
176
178
  assert.equal(await deployedUrl({
177
179
  WORKFORCE_DEPLOY_CLOUD_URL: 'https://flag.example.test/',
178
180
  WORKFORCE_CLOUD_URL: 'https://env.example.test/'