@tenderprompt/accounts 0.3.4 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +44 -9
  2. package/dist/api.d.ts +12 -1
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +9 -0
  5. package/dist/api.js.map +1 -1
  6. package/dist/auth-store.d.ts +26 -7
  7. package/dist/auth-store.d.ts.map +1 -1
  8. package/dist/auth-store.js +165 -25
  9. package/dist/auth-store.js.map +1 -1
  10. package/dist/contracts.d.ts +13 -0
  11. package/dist/contracts.d.ts.map +1 -1
  12. package/dist/files.d.ts.map +1 -1
  13. package/dist/files.js +3 -0
  14. package/dist/files.js.map +1 -1
  15. package/dist/main.d.ts +17 -1
  16. package/dist/main.d.ts.map +1 -1
  17. package/dist/main.js +419 -60
  18. package/dist/main.js.map +1 -1
  19. package/dist/profile-bindings.d.ts +26 -0
  20. package/dist/profile-bindings.d.ts.map +1 -0
  21. package/dist/profile-bindings.js +214 -0
  22. package/dist/profile-bindings.js.map +1 -0
  23. package/dist/starter.d.ts.map +1 -1
  24. package/dist/starter.js +2 -1
  25. package/dist/starter.js.map +1 -1
  26. package/package.json +3 -1
  27. package/skill/tender-accounts/SKILL.md +108 -9
  28. package/templates/shopify-customer-account/AGENTS.md +1 -0
  29. package/templates/shopify-customer-account/README.md +5 -2
  30. package/templates/shopify-customer-account/apps/gateway/AGENTS.md +1 -0
  31. package/templates/shopify-customer-account/apps/gateway/dot.dev.vars.example +1 -1
  32. package/templates/shopify-customer-account/apps/gateway/src/portal-service.test.ts +59 -7
  33. package/templates/shopify-customer-account/apps/gateway/src/portal-service.ts +23 -3
  34. package/templates/shopify-customer-account/apps/portal/AGENTS.md +1 -0
  35. package/templates/shopify-customer-account/apps/portal/README.md +2 -0
  36. package/templates/shopify-customer-account/dot.dev.vars.example +1 -1
package/README.md CHANGED
@@ -74,34 +74,49 @@ Run `npx tender-accounts config example --json` to print the current contract.
74
74
 
75
75
  ## Authenticate and link the checkout
76
76
 
77
- For a normal terminal, sign in through Tender. The CLI opens a browser, uses Authorization Code with S256 PKCE, and asks you to select one organization and the exact apps this machine may preview:
77
+ For a normal terminal, sign in through Tender. Give each merchant or work context a short profile name. The CLI opens a browser, uses Authorization Code with S256 PKCE, and asks you to select one organization and the exact apps this profile may preview:
78
78
 
79
79
  ```sh
80
- npx tender-accounts auth login
80
+ npx tender-accounts auth create acme
81
81
  ```
82
82
 
83
83
  For a coding agent or headless terminal, start a device authorization instead:
84
84
 
85
85
  ```sh
86
- npx tender-accounts auth login --device --no-open --json
86
+ npx tender-accounts auth create acme --device --no-open --json
87
87
  ```
88
88
 
89
89
  Open the returned URL, approve the organization and apps, then exchange the same pending request:
90
90
 
91
91
  ```sh
92
- npx tender-accounts auth status --json
92
+ npx tender-accounts auth status --profile acme --json
93
93
  ```
94
94
 
95
- The refreshable login is stored in a private mode-0600 user file outside the repository. Set `TENDER_ACCOUNTS_AUTH_FILE` to choose another private location. Repository links and artifacts never contain credentials. Access tokens last 15 minutes and rotate from a 30-day login; changing the human's project access takes effect on the next refresh or request authorization check.
95
+ The returned pending result includes the exact profile-aware `auth status` command to run after approval. Refreshable profiles are stored in one private mode-0600 user file outside the repository. Set `TENDER_ACCOUNTS_AUTH_FILE` to choose another private location. Access tokens last 15 minutes and rotate from a 30-day login; changing the human's project access takes effect on the next refresh or request authorization check.
96
96
 
97
- Validate the login, then link the checkout:
97
+ When an agent already knows the exact project, use that project ID as a stable profile name and authorization hint:
98
98
 
99
99
  ```sh
100
- npx tender-accounts auth status --json
100
+ npx tender-accounts auth create prj_... --device --project prj_... --no-open --json
101
+ ```
102
+
103
+ List local profiles without exposing their credentials:
104
+
105
+ ```sh
106
+ npx tender-accounts auth list --json
107
+ ```
108
+
109
+ Activate the profile for this directory tree, validate it, then link the checkout:
110
+
111
+ ```sh
112
+ npx tender-accounts auth activate acme
113
+ npx tender-accounts auth status --profile acme --json
101
114
  npx tender-accounts link --json
102
115
  npx tender-accounts doctor --json
103
116
  ```
104
117
 
118
+ The activation applies to this directory and all descendants; a closer child activation wins. It is stored outside the repository, so another terminal can work in a different merchant tree at the same time without changing this one. Set `TENDER_ACCOUNTS_PROFILE_BINDINGS_FILE` only when a controlled environment needs another private machine-local binding file. The link stores only the API origin and exact project ID, which remains a fail-closed target guard; a link containing `authProfile` is rejected because repository content cannot select a local identity. For one command, set `TENDER_ACCOUNTS_PROFILE=acme` or pass `--profile acme`. If named profiles exist but neither a directory activation nor the default profile selects one, the CLI fails closed instead of guessing.
119
+
105
120
  If the credential can access more than one project, select the intended project explicitly:
106
121
 
107
122
  ```sh
@@ -117,9 +132,11 @@ printf '%s' "$TENDER_ACCOUNTS_TOKEN" | npx tender-accounts auth status --token-s
117
132
  Revoke the stored login when the machine should no longer have access:
118
133
 
119
134
  ```sh
120
- npx tender-accounts auth logout --json
135
+ npx tender-accounts auth delete acme --json
121
136
  ```
122
137
 
138
+ `auth create` replaces only the named profile; `auth login --force` replaces only the default. `auth delete` removes one named profile and its directory activations. Removing every profile requires the explicit `auth logout --all` command. Refresh, replacement, and deletion use a per-profile compare-and-swap so a late refresh cannot recreate a profile after logout; a lost race fails closed as `auth_profile_changed` and revokes the newly issued session.
139
+
123
140
  ## Develop and preview
124
141
 
125
142
  Use the same loop locally or from a coding agent:
@@ -140,7 +157,7 @@ npx tender-accounts doctor --cwd apps/portal --json
140
157
  npx tender-accounts preview --cwd apps/portal --json
141
158
  ```
142
159
 
143
- One stored CLI login can serve independently linked apps invoked with `--cwd`; each app still has its own explicit `.tender/link.json`. CI may place one fallback `TENDER_ACCOUNTS_TOKEN` in an ignored Git-root `.dev.vars`, and credential discovery never searches beyond that repository boundary.
160
+ One activated profile can serve independently linked descendant apps invoked with `--cwd`, and multiple merchant profiles can coexist safely. Each app has its own explicit `.tender/link.json` containing only its project guard; the machine-local directory binding selects the profile. CI may place one fallback `TENDER_ACCOUNTS_TOKEN` in an ignored Git-root `.dev.vars`, and credential discovery never searches beyond that repository boundary.
144
161
 
145
162
  ## Inspect or retry a delivery
146
163
 
@@ -164,6 +181,24 @@ npx tender-accounts delivery preview --delivery dly_... --return-path /account -
164
181
 
165
182
  Do not pass a `dwf_` production workflow ID to these commands. Production workflows are shown separately in Tender Activity; a merchant administrator can resume a waiting exact publish there without rebuilding or substituting a release.
166
183
 
184
+ ## Stream runtime logs
185
+
186
+ Stream the exact preview produced by one completed developer delivery:
187
+
188
+ ```sh
189
+ npx tender-accounts tail --delivery dly_... --json
190
+ ```
191
+
192
+ Merchant administrators can stream the current production runtime for the linked project:
193
+
194
+ ```sh
195
+ npx tender-accounts tail --production --status error --json
196
+ ```
197
+
198
+ Optional filters include `--status ok,error,canceled`, `--method GET,POST`, `--search TEXT`, and `--sampling-rate 0.25`. A tail session lasts at most 15 minutes and closes on Ctrl+C. JSON mode writes one sanitized event per stdout line; lifecycle messages go to stderr.
199
+
200
+ Tender resolves the sealed preview composition or current production composition server-side. The CLI never receives infrastructure account IDs, Worker names, provider credentials, or a provider WebSocket URL. Request headers are omitted, secret-shaped object fields and sensitive query parameters are redacted, events are not persisted by the relay, and session capabilities are stored only as digests. Merchant application logs can still contain sensitive values when application code logs them as unlabelled strings, so do not log credentials or customer data.
201
+
167
202
  ## Install the coding-agent skill
168
203
 
169
204
  The package includes a skill that teaches a fresh Codex or Claude agent how to use the repository contract and preview workflow:
package/dist/api.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AgentPrincipal, ArtifactSubmissionResponse, DeveloperDeliveryResponse } from "./contracts.js";
1
+ import type { AgentPrincipal, ArtifactSubmissionResponse, DeveloperDeliveryResponse, RuntimeLogSessionResponse } from "./contracts.js";
2
2
  export declare class AgentApiClient {
3
3
  private readonly baseUrl;
4
4
  private readonly token;
@@ -22,6 +22,17 @@ export declare class AgentApiClient {
22
22
  grantId: string;
23
23
  expiresAt: number;
24
24
  }>;
25
+ createRuntimeLogSession(projectId: string, input: {
26
+ environment: "preview" | "production";
27
+ deliveryId?: string;
28
+ filters: {
29
+ statuses: string[];
30
+ methods: string[];
31
+ search: string | null;
32
+ samplingRate: number;
33
+ };
34
+ }): Promise<RuntimeLogSessionResponse>;
35
+ closeRuntimeLogSession(sessionId: string): Promise<unknown>;
25
36
  private json;
26
37
  }
27
38
  //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AAGxB,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,YACmB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,OAAO,KAAa,EAC5C;IAEJ,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAEhC;IAED,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAK7H;IAED,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvF;IAED,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAE5E;IAED,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAK7H;IAED,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAE/D;IAED,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAElD;IAED,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAKnH;YAEa,IAAI;CAsBnB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AAGxB,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,YACmB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,OAAO,KAAa,EAC5C;IAEJ,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAEhC;IAED,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAK7H;IAED,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvF;IAED,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAE5E;IAED,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAK7H;IAED,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAE/D;IAED,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAElD;IAED,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAKnH;IAED,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAChD,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC;QACtC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE;YAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KACjG,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAKrC;IAED,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1D;YAEa,IAAI;CAsBnB"}
package/dist/api.js CHANGED
@@ -46,6 +46,15 @@ export class AgentApiClient {
46
46
  body: JSON.stringify({ returnPath }),
47
47
  });
48
48
  }
49
+ createRuntimeLogSession(projectId, input) {
50
+ return this.json(`/v1/projects/${encodeURIComponent(projectId)}/runtime-log-sessions`, {
51
+ method: "POST",
52
+ body: JSON.stringify(input),
53
+ });
54
+ }
55
+ closeRuntimeLogSession(sessionId) {
56
+ return this.json(`/v1/runtime-log-sessions/${encodeURIComponent(sessionId)}`, { method: "DELETE" });
57
+ }
49
58
  async json(path, init = {}) {
50
59
  const headers = new Headers(init.headers);
51
60
  headers.set("accept", "application/json");
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export declare const CLI_AUTH_SCHEMA = "tender.accounts-auth/v1";
2
+ export declare const CLI_AUTH_STORE_SCHEMA = "tender.accounts-auth-store/v2";
3
+ export declare const DEFAULT_AUTH_PROFILE = "default";
2
4
  export interface StoredCliAuth {
3
5
  schema: typeof CLI_AUTH_SCHEMA;
4
6
  apiUrl: string;
@@ -6,6 +8,11 @@ export interface StoredCliAuth {
6
8
  accessTokenExpiresAt?: string;
7
9
  refreshToken?: string;
8
10
  refreshTokenExpiresAt?: string;
11
+ principal?: {
12
+ tenantId: string;
13
+ ownerEmail: string;
14
+ projects: string[];
15
+ };
9
16
  pendingDevice?: {
10
17
  deviceCode: string;
11
18
  userCode: string;
@@ -15,18 +22,30 @@ export interface StoredCliAuth {
15
22
  intervalSeconds: number;
16
23
  };
17
24
  }
25
+ export interface StoredAuthProfile {
26
+ profile: string;
27
+ auth: StoredCliAuth;
28
+ }
18
29
  export interface CliAuthStore {
19
- read(): Promise<StoredCliAuth | null>;
20
- write(auth: StoredCliAuth): Promise<void>;
21
- clear(): Promise<void>;
30
+ read(profile: string): Promise<StoredCliAuth | null>;
31
+ list(): Promise<StoredAuthProfile[]>;
32
+ write(profile: string, auth: StoredCliAuth): Promise<void>;
33
+ compareAndSwap(profile: string, expected: StoredCliAuth | null, auth: StoredCliAuth | null): Promise<boolean>;
34
+ clear(profile: string): Promise<void>;
35
+ clearAll(): Promise<void>;
22
36
  description(): string;
23
37
  }
24
38
  export declare function createDefaultAuthStore(environment: NodeJS.ProcessEnv): CliAuthStore;
39
+ export declare function validateAuthProfile(value: string): string;
40
+ export declare function validateNamedAuthProfile(value: string): string;
25
41
  export declare class MemoryCliAuthStore implements CliAuthStore {
26
- value: StoredCliAuth | null;
27
- read(): Promise<StoredCliAuth | null>;
28
- write(auth: StoredCliAuth): Promise<void>;
29
- clear(): Promise<void>;
42
+ private readonly profiles;
43
+ read(profile: string): Promise<StoredCliAuth | null>;
44
+ list(): Promise<StoredAuthProfile[]>;
45
+ write(profile: string, auth: StoredCliAuth): Promise<void>;
46
+ compareAndSwap(profile: string, expected: StoredCliAuth | null, auth: StoredCliAuth | null): Promise<boolean>;
47
+ clear(profile: string): Promise<void>;
48
+ clearAll(): Promise<void>;
30
49
  description(): string;
31
50
  }
32
51
  //# sourceMappingURL=auth-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-store.d.ts","sourceRoot":"","sources":["../src/auth-store.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,4BAA4B,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,eAAe,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,uBAAuB,EAAE,MAAM,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,WAAW,IAAI,MAAM,CAAC;CACvB;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,GAAG,YAAY,CAInF;AAED,qBAAa,kBAAmB,YAAW,YAAY;IACrD,KAAK,EAAE,aAAa,GAAG,IAAI,CAAQ;IAE7B,IAAI,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAE1C;IAEK,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9C;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAED,WAAW,IAAI,MAAM,CAEpB;CACF"}
1
+ {"version":3,"file":"auth-store.d.ts","sourceRoot":"","sources":["../src/auth-store.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe,4BAA4B,CAAC;AACzD,eAAO,MAAM,qBAAqB,kCAAkC,CAAC;AACrE,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,eAAe,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,uBAAuB,EAAE,MAAM,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACrD,IAAI,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9G,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,WAAW,IAAI,MAAM,CAAC;CACvB;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,GAAG,YAAY,CAInF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAEvD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAGzD;IAEK,IAAI,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAIzC;IAEK,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D;IAEK,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlH;IAEK,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1C;IAEK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9B;IAED,WAAW,IAAI,MAAM,CAEpB;CACF"}
@@ -1,24 +1,62 @@
1
1
  import { homedir } from "node:os";
2
- import { chmod, mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
2
+ import { randomUUID } from "node:crypto";
3
+ import { chmod, mkdir, open, readFile, rename, rm, stat, writeFile } from "node:fs/promises";
3
4
  import { dirname, resolve } from "node:path";
5
+ import { isDeepStrictEqual } from "node:util";
4
6
  import { CliError } from "./errors.js";
5
7
  export const CLI_AUTH_SCHEMA = "tender.accounts-auth/v1";
8
+ export const CLI_AUTH_STORE_SCHEMA = "tender.accounts-auth-store/v2";
9
+ export const DEFAULT_AUTH_PROFILE = "default";
6
10
  export function createDefaultAuthStore(environment) {
7
11
  const explicitPath = environment.TENDER_ACCOUNTS_AUTH_FILE;
8
12
  if (explicitPath)
9
13
  return new FileCliAuthStore(resolve(explicitPath));
10
14
  return new FileCliAuthStore(resolve(homedir(), ".tender-accounts/auth.json"));
11
15
  }
16
+ export function validateAuthProfile(value) {
17
+ const profile = value.trim();
18
+ if (!/^[A-Za-z0-9_-]{1,64}$/u.test(profile)) {
19
+ throw new CliError("auth_profile_invalid", "The auth profile must be 1-64 letters, numbers, underscores, or hyphens.", "tender-accounts auth create merchant-name --device --json");
20
+ }
21
+ return profile;
22
+ }
23
+ export function validateNamedAuthProfile(value) {
24
+ const profile = validateAuthProfile(value);
25
+ if (profile.toLowerCase() === DEFAULT_AUTH_PROFILE) {
26
+ throw new CliError("auth_profile_reserved", "The default profile is managed with auth login and auth logout.", "tender-accounts auth create merchant-name");
27
+ }
28
+ return profile;
29
+ }
12
30
  export class MemoryCliAuthStore {
13
- value = null;
14
- async read() {
15
- return this.value ? structuredClone(this.value) : null;
31
+ profiles = new Map();
32
+ async read(profile) {
33
+ const value = this.profiles.get(validateAuthProfile(profile));
34
+ return value ? structuredClone(value) : null;
16
35
  }
17
- async write(auth) {
18
- this.value = structuredClone(auth);
36
+ async list() {
37
+ return [...this.profiles.entries()]
38
+ .sort(([left], [right]) => left.localeCompare(right))
39
+ .map(([profile, auth]) => ({ profile, auth: structuredClone(auth) }));
19
40
  }
20
- async clear() {
21
- this.value = null;
41
+ async write(profile, auth) {
42
+ this.profiles.set(validateAuthProfile(profile), structuredClone(auth));
43
+ }
44
+ async compareAndSwap(profile, expected, auth) {
45
+ const selected = validateAuthProfile(profile);
46
+ const current = this.profiles.get(selected) ?? null;
47
+ if (!isDeepStrictEqual(current, expected))
48
+ return false;
49
+ if (auth)
50
+ this.profiles.set(selected, structuredClone(auth));
51
+ else
52
+ this.profiles.delete(selected);
53
+ return true;
54
+ }
55
+ async clear(profile) {
56
+ this.profiles.delete(validateAuthProfile(profile));
57
+ }
58
+ async clearAll() {
59
+ this.profiles.clear();
22
60
  }
23
61
  description() {
24
62
  return "memory";
@@ -29,42 +67,130 @@ class FileCliAuthStore {
29
67
  constructor(path) {
30
68
  this.path = path;
31
69
  }
32
- async read() {
70
+ async read(profile) {
71
+ const profiles = await this.readProfiles();
72
+ const value = profiles.get(validateAuthProfile(profile));
73
+ return value ? structuredClone(value) : null;
74
+ }
75
+ async list() {
76
+ return [...(await this.readProfiles()).entries()]
77
+ .sort(([left], [right]) => left.localeCompare(right))
78
+ .map(([profile, auth]) => ({ profile, auth: structuredClone(auth) }));
79
+ }
80
+ async write(profile, auth) {
81
+ const selected = validateAuthProfile(profile);
82
+ await this.mutate((profiles) => profiles.set(selected, structuredClone(auth)));
83
+ }
84
+ async compareAndSwap(profile, expected, auth) {
85
+ const selected = validateAuthProfile(profile);
86
+ return await this.mutate((profiles) => {
87
+ const current = profiles.get(selected) ?? null;
88
+ if (!isDeepStrictEqual(current, expected))
89
+ return false;
90
+ if (auth)
91
+ profiles.set(selected, structuredClone(auth));
92
+ else
93
+ profiles.delete(selected);
94
+ return true;
95
+ });
96
+ }
97
+ async clear(profile) {
98
+ const selected = validateAuthProfile(profile);
99
+ await this.mutate((profiles) => profiles.delete(selected));
100
+ }
101
+ async clearAll() {
102
+ await mkdir(dirname(this.path), { recursive: true, mode: 0o700 });
103
+ await this.withLock(async () => await rm(this.path, { force: true }));
104
+ }
105
+ description() {
106
+ return this.path;
107
+ }
108
+ async readProfiles() {
33
109
  try {
34
- return parseStoredAuth(await readFile(this.path, "utf8"));
110
+ return parseStoredAuthStore(await readFile(this.path, "utf8"));
35
111
  }
36
112
  catch (error) {
37
113
  if (isMissing(error))
38
- return null;
114
+ return new Map();
39
115
  throw error;
40
116
  }
41
117
  }
42
- async write(auth) {
118
+ async mutate(change) {
43
119
  await mkdir(dirname(this.path), { recursive: true, mode: 0o700 });
44
120
  await chmod(dirname(this.path), 0o700);
45
- const temporary = `${this.path}.${process.pid}.tmp`;
46
- await writeFile(temporary, `${JSON.stringify(auth, null, 2)}\n`, { encoding: "utf8", mode: 0o600 });
47
- await chmod(temporary, 0o600);
48
- await rename(temporary, this.path);
49
- await chmod(this.path, 0o600);
50
- }
51
- async clear() {
52
- await rm(this.path, { force: true });
121
+ return await this.withLock(async () => {
122
+ const profiles = await this.readProfiles();
123
+ const result = change(profiles);
124
+ if (profiles.size === 0) {
125
+ await rm(this.path, { force: true });
126
+ return result;
127
+ }
128
+ const temporary = `${this.path}.${process.pid}.${randomUUID()}.tmp`;
129
+ const payload = {
130
+ schema: CLI_AUTH_STORE_SCHEMA,
131
+ profiles: Object.fromEntries([...profiles.entries()].sort(([left], [right]) => left.localeCompare(right))),
132
+ };
133
+ await writeFile(temporary, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf8", mode: 0o600 });
134
+ await chmod(temporary, 0o600);
135
+ await rename(temporary, this.path);
136
+ await chmod(this.path, 0o600);
137
+ return result;
138
+ });
53
139
  }
54
- description() {
55
- return this.path;
140
+ async withLock(operation) {
141
+ const lockPath = `${this.path}.lock`;
142
+ const deadline = Date.now() + 5_000;
143
+ let handle;
144
+ while (!handle) {
145
+ try {
146
+ handle = await open(lockPath, "wx", 0o600);
147
+ }
148
+ catch (error) {
149
+ if (!isAlreadyExists(error))
150
+ throw error;
151
+ const lock = await stat(lockPath).catch(() => null);
152
+ if (lock && Date.now() - lock.mtimeMs > 30_000) {
153
+ await rm(lockPath, { force: true });
154
+ continue;
155
+ }
156
+ if (Date.now() >= deadline) {
157
+ throw new CliError("auth_store_busy", "Another Tender Accounts command is updating the login store.", "Wait for that command to finish, then retry.");
158
+ }
159
+ await new Promise((resolvePromise) => setTimeout(resolvePromise, 25));
160
+ }
161
+ }
162
+ try {
163
+ return await operation();
164
+ }
165
+ finally {
166
+ await handle.close();
167
+ await rm(lockPath, { force: true });
168
+ }
56
169
  }
57
170
  }
58
- function parseStoredAuth(value) {
171
+ function parseStoredAuthStore(value) {
59
172
  let parsed;
60
173
  try {
61
174
  parsed = JSON.parse(value);
62
175
  }
63
176
  catch {
64
- throw new CliError("auth_store_invalid", "The stored Tender Accounts login is not valid JSON.", "tender-accounts auth logout --local --json");
177
+ throw new CliError("auth_store_invalid", "The stored Tender Accounts login is not valid JSON.", "tender-accounts auth logout --local --all --json");
65
178
  }
179
+ if (isRecord(parsed) && parsed.schema === CLI_AUTH_SCHEMA) {
180
+ return new Map([[DEFAULT_AUTH_PROFILE, parseStoredAuth(parsed)]]);
181
+ }
182
+ if (!isRecord(parsed) || parsed.schema !== CLI_AUTH_STORE_SCHEMA || !isRecord(parsed.profiles)) {
183
+ throw new CliError("auth_store_invalid", "The stored Tender Accounts login uses an unsupported format.", "tender-accounts auth logout --local --all --json");
184
+ }
185
+ const profiles = new Map();
186
+ for (const [profile, auth] of Object.entries(parsed.profiles)) {
187
+ profiles.set(validateAuthProfile(profile), parseStoredAuth(auth));
188
+ }
189
+ return profiles;
190
+ }
191
+ function parseStoredAuth(parsed) {
66
192
  if (!isRecord(parsed) || parsed.schema !== CLI_AUTH_SCHEMA || typeof parsed.apiUrl !== "string") {
67
- throw new CliError("auth_store_invalid", "The stored Tender Accounts login uses an unsupported format.", "tender-accounts auth logout --local --json");
193
+ throw new CliError("auth_store_invalid", "The stored Tender Accounts login uses an unsupported format.", "tender-accounts auth logout --local --all --json");
68
194
  }
69
195
  const auth = { schema: CLI_AUTH_SCHEMA, apiUrl: parsed.apiUrl };
70
196
  if (typeof parsed.accessToken === "string")
@@ -75,6 +201,17 @@ function parseStoredAuth(value) {
75
201
  auth.refreshToken = parsed.refreshToken;
76
202
  if (typeof parsed.refreshTokenExpiresAt === "string")
77
203
  auth.refreshTokenExpiresAt = parsed.refreshTokenExpiresAt;
204
+ if (isRecord(parsed.principal)
205
+ && typeof parsed.principal.tenantId === "string"
206
+ && typeof parsed.principal.ownerEmail === "string"
207
+ && Array.isArray(parsed.principal.projects)
208
+ && parsed.principal.projects.every((project) => typeof project === "string")) {
209
+ auth.principal = {
210
+ tenantId: parsed.principal.tenantId,
211
+ ownerEmail: parsed.principal.ownerEmail,
212
+ projects: [...parsed.principal.projects],
213
+ };
214
+ }
78
215
  if (isRecord(parsed.pendingDevice)
79
216
  && typeof parsed.pendingDevice.deviceCode === "string"
80
217
  && typeof parsed.pendingDevice.userCode === "string"
@@ -96,6 +233,9 @@ function parseStoredAuth(value) {
96
233
  function isMissing(value) {
97
234
  return value instanceof Error && "code" in value && value.code === "ENOENT";
98
235
  }
236
+ function isAlreadyExists(value) {
237
+ return value instanceof Error && "code" in value && value.code === "EEXIST";
238
+ }
99
239
  function isRecord(value) {
100
240
  return typeof value === "object" && value !== null && !Array.isArray(value);
101
241
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth-store.js","sourceRoot":"","sources":["../src/auth-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-store.js","sourceRoot":"","sources":["../src/auth-store.ts"],"names":[],"mappings":"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"}
@@ -26,9 +26,22 @@ export interface AgentPrincipal {
26
26
  credentialId: string;
27
27
  tenantId: string;
28
28
  ownerEmail: string;
29
+ ownerRole?: "merchant_admin" | "developer" | "viewer";
29
30
  label: string;
30
31
  projects: AgentProject[];
31
32
  }
33
+ export interface RuntimeLogSessionResponse {
34
+ id: string;
35
+ projectId: string;
36
+ environment: "preview" | "production";
37
+ deliveryId: string | null;
38
+ compositionId: string;
39
+ status: "active" | "closed" | "expired" | "revoked";
40
+ expiresAt: string;
41
+ streamUrl: string;
42
+ streamToken: string;
43
+ protocol: "tender-runtime-logs-v1";
44
+ }
32
45
  export interface ArtifactFileDescriptor {
33
46
  path: string;
34
47
  sha256: string;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAYxF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAoB/D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAU3D;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBvF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,UAAU,EAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAC5B,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,UAAU,EAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBxB;AAgBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgBtD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAIxE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAoB7F;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ/D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKxD"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAYxF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAoB/D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAiB3D;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBvF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,UAAU,EAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAC5B,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,UAAU,EAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBxB;AAgBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgBtD;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAIxE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAoB7F;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ/D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKxD"}
package/dist/files.js CHANGED
@@ -42,6 +42,9 @@ export function parseProjectLink(value) {
42
42
  if (candidate.schema !== CLI_LINK_SCHEMA) {
43
43
  throw new CliError("link_invalid", `The ${LINK_FILENAME} file uses an unsupported schema.`);
44
44
  }
45
+ if ("authProfile" in candidate) {
46
+ throw new CliError("link_profile_forbidden", `The ${LINK_FILENAME} file cannot select a machine-local auth profile.`, "Remove authProfile from the link, then run tender-accounts auth activate PROFILE in this checkout.");
47
+ }
45
48
  return {
46
49
  schema: CLI_LINK_SCHEMA,
47
50
  projectId: requiredProjectId(candidate.projectId),
package/dist/files.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"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"}