@tenderprompt/accounts 0.6.0 → 0.7.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.
- package/README.md +18 -0
- package/dist/main.d.ts +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +294 -17
- package/dist/main.js.map +1 -1
- package/package.json +1 -1
- package/skill/tender-accounts/SKILL.md +34 -1
package/README.md
CHANGED
|
@@ -148,6 +148,24 @@ npx tender-accounts source connect --publication preview-only --json
|
|
|
148
148
|
npx tender-accounts source status --json
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
+
If the repository is already connected but the developer starts in an empty
|
|
152
|
+
workspace, authenticate to the exact project and let the CLI discover, clone,
|
|
153
|
+
and link it:
|
|
154
|
+
|
|
155
|
+
```sh
|
|
156
|
+
npx tender-accounts source status --project prj_... --json
|
|
157
|
+
npx tender-accounts source pull --project prj_... --dry-run --json
|
|
158
|
+
npx tender-accounts source pull --project prj_... --json
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
The same `source pull` command fast-forwards an existing clean checkout when
|
|
162
|
+
one of its remotes exactly matches the connected managed repository. It refuses
|
|
163
|
+
dirty, detached, mismatched, paused, and non-empty non-Git workspaces. The
|
|
164
|
+
repository credential is scoped to that one project, lives for 15 minutes, and
|
|
165
|
+
is passed only to the Git child process; the remote URL and local link contain
|
|
166
|
+
no credential. Merchant-hosted Git repositories remain merchant-owned and must
|
|
167
|
+
be opened through their own Git provider before `tender-accounts link`.
|
|
168
|
+
|
|
151
169
|
The CLI derives the working directory, validation command, package command,
|
|
152
170
|
and portable artifact path from this checkout and `tender-accounts.json`. It
|
|
153
171
|
adds a token-free `tender` Git remote by default. In a monorepo, run the command
|
package/dist/main.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type CliAuthStore } from "./auth-store.js";
|
|
|
2
2
|
import { waitForLoopbackAuthorization } from "./oauth.js";
|
|
3
3
|
import { captureCommand, runProjectCommand } from "./processes.js";
|
|
4
4
|
import { type CliProfileBindings } from "./profile-bindings.js";
|
|
5
|
-
export declare const CLI_VERSION
|
|
5
|
+
export declare const CLI_VERSION: string;
|
|
6
6
|
export interface CliRuntime {
|
|
7
7
|
cwd: string;
|
|
8
8
|
homeDirectory: string;
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,YAAY,EAIlB,MAAM,iBAAiB,CAAC;AAqBzB,OAAO,EAIL,4BAA4B,EAE7B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAO/B,eAAO,MAAM,WAAW,QAA0B,CAAC;AAenD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,KAAK,CAAC;IACtB,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,SAAS,EAAE,YAAY,CAAC;IACxB,eAAe,EAAE,kBAAkB,CAAC;IACpC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,4BAA4B,EAAE,OAAO,4BAA4B,CAAC;IAClE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;IAClE,WAAW,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC3D,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IACtF,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IACnG,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AA4BD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BjG"}
|
package/dist/main.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { fileURLToPath } from "node:url";
|
|
2
|
-
import {
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { copyFile, lstat, mkdir, readFile, readdir, realpath } from "node:fs/promises";
|
|
3
4
|
import { basename, dirname, relative, resolve, sep } from "node:path";
|
|
4
5
|
import { homedir, hostname } from "node:os";
|
|
5
6
|
import { AgentApiClient } from "./api.js";
|
|
@@ -12,7 +13,11 @@ import { OAuthApiClient, createPkcePair, openSystemBrowser, waitForLoopbackAutho
|
|
|
12
13
|
import { captureCommand, runProjectCommand } from "./processes.js";
|
|
13
14
|
import { createDefaultProfileBindings, } from "./profile-bindings.js";
|
|
14
15
|
import { initializeStarter } from "./starter.js";
|
|
15
|
-
|
|
16
|
+
const packageMetadata = createRequire(import.meta.url)("../package.json");
|
|
17
|
+
if (typeof packageMetadata.version !== "string" || packageMetadata.version.length === 0) {
|
|
18
|
+
throw new Error("Tender Accounts CLI package version is missing.");
|
|
19
|
+
}
|
|
20
|
+
export const CLI_VERSION = packageMetadata.version;
|
|
16
21
|
const DEFAULT_RUNTIME = {
|
|
17
22
|
cwd: process.cwd(),
|
|
18
23
|
homeDirectory: homedir(),
|
|
@@ -127,6 +132,8 @@ async function execute(topic, options, cwd, runtime) {
|
|
|
127
132
|
return { value: await sourceStatus(cwd, options, runtime) };
|
|
128
133
|
case "source connect":
|
|
129
134
|
return { value: await sourceConnect(cwd, options, runtime) };
|
|
135
|
+
case "source pull":
|
|
136
|
+
return { value: await sourcePull(cwd, options, runtime) };
|
|
130
137
|
case "source token":
|
|
131
138
|
return { value: await sourceToken(cwd, options, runtime) };
|
|
132
139
|
case "source push":
|
|
@@ -145,11 +152,8 @@ async function execute(topic, options, cwd, runtime) {
|
|
|
145
152
|
}
|
|
146
153
|
}
|
|
147
154
|
async function sourceStatus(cwd, options, runtime) {
|
|
148
|
-
const context = await
|
|
149
|
-
|
|
150
|
-
throw new CliError("project_not_linked", "This app is not linked to a Tender Accounts project.", "tender-accounts link --json");
|
|
151
|
-
const projectId = requiredProjectId(context.link.projectId);
|
|
152
|
-
const { client } = await authenticatedClient(cwd, context.link, options, runtime);
|
|
155
|
+
const context = await optionalContext(cwd);
|
|
156
|
+
const { client, projectId } = await sourceProjectAccess(cwd, context?.link ?? null, options, runtime, false);
|
|
153
157
|
const result = await client.sourceRepository(projectId);
|
|
154
158
|
return {
|
|
155
159
|
status: result.repository ? "connected" : "not_connected",
|
|
@@ -157,6 +161,271 @@ async function sourceStatus(cwd, options, runtime) {
|
|
|
157
161
|
repository: result.repository,
|
|
158
162
|
};
|
|
159
163
|
}
|
|
164
|
+
async function sourcePull(cwd, options, runtime) {
|
|
165
|
+
const context = await optionalContext(cwd);
|
|
166
|
+
const access = await sourceProjectAccess(cwd, context?.link ?? null, options, runtime, true);
|
|
167
|
+
const source = await access.client.sourceRepository(access.projectId);
|
|
168
|
+
if (!source.repository) {
|
|
169
|
+
throw new CliError("source_repository_missing", "This project does not have an active Tender-managed Git repository to pull.", "Open the merchant-hosted connected repository, or ask a merchant administrator to connect Tender-managed Git.");
|
|
170
|
+
}
|
|
171
|
+
const repository = source.repository;
|
|
172
|
+
if (repository.status !== "active") {
|
|
173
|
+
throw new CliError("source_repository_paused", "This Tender-managed repository is paused and cannot be pulled.", "Use tender-accounts source status --project <project-id> --json to inspect the authoritative source.");
|
|
174
|
+
}
|
|
175
|
+
const credentialHeaderKey = managedGitCredentialHeaderKey(repository.remoteUrl);
|
|
176
|
+
const remote = options.flags.get("remote") ?? "tender";
|
|
177
|
+
assertGitRemoteName(remote);
|
|
178
|
+
const existingGitRoot = await optionalGitRoot(cwd, runtime);
|
|
179
|
+
let checkoutRoot;
|
|
180
|
+
let action;
|
|
181
|
+
let selectedRemote = remote;
|
|
182
|
+
let selectedBranch = repository.defaultBranch;
|
|
183
|
+
let beforeRevision = null;
|
|
184
|
+
if (!existingGitRoot) {
|
|
185
|
+
const entries = await readdir(cwd);
|
|
186
|
+
if (entries.length > 0) {
|
|
187
|
+
throw new CliError("source_pull_target_not_empty", "Tender can clone the connected repository only into an empty directory.", "Run this command from an empty workspace, or open the existing matching Git checkout and retry there.");
|
|
188
|
+
}
|
|
189
|
+
checkoutRoot = cwd;
|
|
190
|
+
action = "clone";
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
checkoutRoot = existingGitRoot;
|
|
194
|
+
action = "pull";
|
|
195
|
+
selectedRemote = await matchingSourceRemote(checkoutRoot, remote, repository.remoteUrl, runtime);
|
|
196
|
+
selectedBranch = (await runtime.captureCommand("git", ["branch", "--show-current"], checkoutRoot)).stdout;
|
|
197
|
+
if (!selectedBranch) {
|
|
198
|
+
throw new CliError("source_pull_detached_head", "Tender will not pull while the checkout has a detached HEAD.", `Switch to ${repository.defaultBranch}, then retry tender-accounts source pull.`);
|
|
199
|
+
}
|
|
200
|
+
const state = await sourceState(checkoutRoot, runtime);
|
|
201
|
+
if (state.dirty) {
|
|
202
|
+
throw new CliError("source_pull_dirty_worktree", "Tender will not pull over uncommitted or untracked files.", "Commit, stash, or remove the local changes, then retry tender-accounts source pull.");
|
|
203
|
+
}
|
|
204
|
+
beforeRevision = state.revision;
|
|
205
|
+
}
|
|
206
|
+
assertGitBranchName(selectedBranch);
|
|
207
|
+
let appRoot = managedSourceAppRoot(checkoutRoot, repository.workingDirectory);
|
|
208
|
+
if (action === "pull") {
|
|
209
|
+
appRoot = await verifiedManagedSourceAppRoot(checkoutRoot, repository.workingDirectory);
|
|
210
|
+
await compatibleManagedSourceContext(appRoot, access.projectId, access.apiUrl);
|
|
211
|
+
}
|
|
212
|
+
if (options.booleans.has("dry-run")) {
|
|
213
|
+
return {
|
|
214
|
+
status: "planned",
|
|
215
|
+
action,
|
|
216
|
+
projectId: access.projectId,
|
|
217
|
+
repositoryId: repository.id,
|
|
218
|
+
remote: selectedRemote,
|
|
219
|
+
remoteUrl: repository.remoteUrl,
|
|
220
|
+
branch: selectedBranch,
|
|
221
|
+
checkoutRoot,
|
|
222
|
+
appRoot,
|
|
223
|
+
credentialIssued: false,
|
|
224
|
+
wroteFiles: false,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
let credential = null;
|
|
228
|
+
try {
|
|
229
|
+
const token = await access.client.sourceToken(repository.id, 15 * 60);
|
|
230
|
+
if (token.remoteUrl !== repository.remoteUrl) {
|
|
231
|
+
throw new CliError("source_token_target_mismatch", "Tender refused a repository credential whose target did not match the connected source.");
|
|
232
|
+
}
|
|
233
|
+
credential = token.token;
|
|
234
|
+
const environment = managedGitEnvironment(runtime.environment, credential, credentialHeaderKey);
|
|
235
|
+
if (action === "clone") {
|
|
236
|
+
await runtime.captureCommand("git", [
|
|
237
|
+
"clone",
|
|
238
|
+
"--no-checkout",
|
|
239
|
+
"--no-recurse-submodules",
|
|
240
|
+
"--origin", selectedRemote,
|
|
241
|
+
"--branch", repository.defaultBranch,
|
|
242
|
+
repository.remoteUrl,
|
|
243
|
+
".",
|
|
244
|
+
], checkoutRoot, environment);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
await runtime.captureCommand("git", ["fetch", "--no-recurse-submodules", selectedRemote, selectedBranch], checkoutRoot, environment);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
finally {
|
|
251
|
+
credential = null;
|
|
252
|
+
}
|
|
253
|
+
const checkoutEnvironment = managedGitCheckoutEnvironment(runtime.environment);
|
|
254
|
+
if (action === "clone") {
|
|
255
|
+
await runtime.captureCommand("git", ["reset", "--hard", "HEAD"], checkoutRoot, checkoutEnvironment);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
await runtime.captureCommand("git", ["merge", "--ff-only", "FETCH_HEAD"], checkoutRoot, checkoutEnvironment);
|
|
259
|
+
}
|
|
260
|
+
appRoot = await verifiedManagedSourceAppRoot(checkoutRoot, repository.workingDirectory);
|
|
261
|
+
const pulledContext = await compatibleManagedSourceContext(appRoot, access.projectId, access.apiUrl);
|
|
262
|
+
const linkCreated = !pulledContext.link;
|
|
263
|
+
const linkPath = linkCreated
|
|
264
|
+
? await writeProjectLink(appRoot, {
|
|
265
|
+
schema: CLI_LINK_SCHEMA,
|
|
266
|
+
projectId: access.projectId,
|
|
267
|
+
apiUrl: access.apiUrl,
|
|
268
|
+
})
|
|
269
|
+
: pulledContext.linkPath;
|
|
270
|
+
const afterRevision = (await sourceState(checkoutRoot, runtime)).revision;
|
|
271
|
+
return {
|
|
272
|
+
status: action === "clone" ? "cloned" : beforeRevision === afterRevision ? "up_to_date" : "updated",
|
|
273
|
+
action,
|
|
274
|
+
projectId: access.projectId,
|
|
275
|
+
repositoryId: repository.id,
|
|
276
|
+
remote: selectedRemote,
|
|
277
|
+
branch: selectedBranch,
|
|
278
|
+
checkoutRoot,
|
|
279
|
+
appRoot,
|
|
280
|
+
sourceRevision: afterRevision,
|
|
281
|
+
linkPath,
|
|
282
|
+
linkCreated,
|
|
283
|
+
credentialPersisted: false,
|
|
284
|
+
next: appRoot === checkoutRoot
|
|
285
|
+
? "tender-accounts doctor --json"
|
|
286
|
+
: `tender-accounts doctor --cwd ${repository.workingDirectory} --json`,
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
async function compatibleManagedSourceContext(appRoot, projectId, apiUrl) {
|
|
290
|
+
const context = await loadProjectContext(appRoot).catch((error) => {
|
|
291
|
+
if (error instanceof CliError && error.code === "file_missing") {
|
|
292
|
+
throw new CliError("source_checkout_config_missing", `The connected repository does not contain tender-accounts.json at ${appRoot}.`, "Ask a merchant administrator to repair the managed source working directory before continuing.");
|
|
293
|
+
}
|
|
294
|
+
throw error;
|
|
295
|
+
});
|
|
296
|
+
if (context.link && (context.link.projectId !== projectId
|
|
297
|
+
|| context.link.apiUrl !== apiUrl)) {
|
|
298
|
+
throw new CliError("source_checkout_link_conflict", "The pulled app is already linked to a different Tender project or API origin.", "Do not replace the link automatically; verify the checkout and project with a merchant administrator.");
|
|
299
|
+
}
|
|
300
|
+
return context;
|
|
301
|
+
}
|
|
302
|
+
async function sourceProjectAccess(cwd, link, options, runtime, requireDeveloper) {
|
|
303
|
+
const resolved = await authenticatedClient(cwd, link, options, runtime);
|
|
304
|
+
const principal = await resolved.client.whoami();
|
|
305
|
+
if (resolved.profile)
|
|
306
|
+
await savePrincipalSummary(runtime.authStore, resolved.profile, principal);
|
|
307
|
+
const explicitProject = options.flags.get("project");
|
|
308
|
+
const requestedProject = explicitProject ? requiredProjectId(explicitProject) : link?.projectId;
|
|
309
|
+
const project = requestedProject
|
|
310
|
+
? principal.projects.find((candidate) => candidate.projectId === requestedProject)
|
|
311
|
+
: principal.projects.length === 1 ? principal.projects[0] : undefined;
|
|
312
|
+
if (!project) {
|
|
313
|
+
throw new CliError(requestedProject ? "project_not_permitted" : "project_required", requestedProject
|
|
314
|
+
? "The current credential is not permitted to use that project."
|
|
315
|
+
: "The credential grants more than one project; select one explicitly.", `tender-accounts source status --project ${principal.projects[0]?.projectId ?? "prj_..."} --json`);
|
|
316
|
+
}
|
|
317
|
+
if (explicitProject && link && project.projectId !== link.projectId) {
|
|
318
|
+
throw new CliError("project_link_mismatch", "The requested project does not match this checkout's Tender link.", "Run the command from an empty workspace, or use the project already recorded in .tender/link.json.");
|
|
319
|
+
}
|
|
320
|
+
if (requireDeveloper && project.role !== "developer") {
|
|
321
|
+
throw new CliError("project_role_insufficient", "The selected project grant is read-only and cannot issue a repository credential.", "Ask a merchant administrator for developer access to this exact project.");
|
|
322
|
+
}
|
|
323
|
+
return { client: resolved.client, apiUrl: resolved.apiUrl, projectId: project.projectId };
|
|
324
|
+
}
|
|
325
|
+
async function optionalGitRoot(cwd, runtime) {
|
|
326
|
+
try {
|
|
327
|
+
return resolve((await runtime.captureCommand("git", ["rev-parse", "--show-toplevel"], cwd)).stdout);
|
|
328
|
+
}
|
|
329
|
+
catch {
|
|
330
|
+
return null;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
async function matchingSourceRemote(gitRoot, requestedRemote, remoteUrl, runtime) {
|
|
334
|
+
const remotes = (await runtime.captureCommand("git", ["remote"], gitRoot)).stdout.split(/\r?\n/u).filter(Boolean);
|
|
335
|
+
const matches = [];
|
|
336
|
+
for (const remote of remotes) {
|
|
337
|
+
const current = (await runtime.captureCommand("git", ["remote", "get-url", remote], gitRoot)).stdout;
|
|
338
|
+
if (current === remoteUrl)
|
|
339
|
+
matches.push(remote);
|
|
340
|
+
if (remote === requestedRemote && current !== remoteUrl) {
|
|
341
|
+
throw new CliError("source_remote_conflict", `Git remote ${requestedRemote} points somewhere other than this project's connected source.`, "Open the matching checkout or choose its existing remote with --remote after verifying the URL.");
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
if (matches.includes(requestedRemote))
|
|
345
|
+
return requestedRemote;
|
|
346
|
+
if (matches.length === 1)
|
|
347
|
+
return matches[0];
|
|
348
|
+
if (matches.length > 1) {
|
|
349
|
+
throw new CliError("source_remote_ambiguous", "More than one Git remote points to the connected Tender source.", "Select the intended existing remote explicitly with --remote.");
|
|
350
|
+
}
|
|
351
|
+
throw new CliError("source_checkout_mismatch", "This Git checkout does not match the project's connected Tender source.", "Run tender-accounts source pull from an empty workspace to clone the exact repository.");
|
|
352
|
+
}
|
|
353
|
+
function managedSourceAppRoot(checkoutRoot, workingDirectory) {
|
|
354
|
+
if (workingDirectory === ".")
|
|
355
|
+
return checkoutRoot;
|
|
356
|
+
if (!workingDirectory || workingDirectory.startsWith("/") || workingDirectory.includes("\\") || workingDirectory.includes("%")) {
|
|
357
|
+
throw new CliError("source_working_directory_invalid", "The managed source working directory is unsafe.");
|
|
358
|
+
}
|
|
359
|
+
const segments = workingDirectory.split("/");
|
|
360
|
+
if (segments.some((segment) => !segment || segment === "." || segment === ".." || !/^[A-Za-z0-9._-]+$/u.test(segment))) {
|
|
361
|
+
throw new CliError("source_working_directory_invalid", "The managed source working directory is unsafe.");
|
|
362
|
+
}
|
|
363
|
+
const appRoot = resolve(checkoutRoot, workingDirectory);
|
|
364
|
+
const pathFromCheckout = relative(checkoutRoot, appRoot);
|
|
365
|
+
if (pathFromCheckout === ".." || pathFromCheckout.startsWith(`..${sep}`)) {
|
|
366
|
+
throw new CliError("source_working_directory_invalid", "The managed source working directory escapes the checkout.");
|
|
367
|
+
}
|
|
368
|
+
return appRoot;
|
|
369
|
+
}
|
|
370
|
+
async function verifiedManagedSourceAppRoot(checkoutRoot, workingDirectory) {
|
|
371
|
+
const lexicalAppRoot = managedSourceAppRoot(checkoutRoot, workingDirectory);
|
|
372
|
+
const realCheckoutRoot = await realpath(checkoutRoot);
|
|
373
|
+
let cursor = realCheckoutRoot;
|
|
374
|
+
if (workingDirectory !== ".") {
|
|
375
|
+
for (const segment of workingDirectory.split("/")) {
|
|
376
|
+
cursor = resolve(cursor, segment);
|
|
377
|
+
let entry;
|
|
378
|
+
try {
|
|
379
|
+
entry = await lstat(cursor);
|
|
380
|
+
}
|
|
381
|
+
catch (error) {
|
|
382
|
+
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
383
|
+
throw new CliError("source_working_directory_missing", `The managed source working directory does not exist: ${workingDirectory}.`, "Ask a merchant administrator to repair the connected source working directory.");
|
|
384
|
+
}
|
|
385
|
+
throw error;
|
|
386
|
+
}
|
|
387
|
+
if (entry.isSymbolicLink() || !entry.isDirectory()) {
|
|
388
|
+
throw new CliError("source_working_directory_unsafe", `The managed source working directory contains a symlink or non-directory component: ${workingDirectory}.`, "Replace it with regular directories inside the connected repository before retrying.");
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
const realAppRoot = await realpath(lexicalAppRoot);
|
|
393
|
+
const pathFromCheckout = relative(realCheckoutRoot, realAppRoot);
|
|
394
|
+
if (pathFromCheckout === ".." || pathFromCheckout.startsWith(`..${sep}`)) {
|
|
395
|
+
throw new CliError("source_working_directory_unsafe", "The managed source working directory escapes the checkout.");
|
|
396
|
+
}
|
|
397
|
+
return lexicalAppRoot;
|
|
398
|
+
}
|
|
399
|
+
function managedGitCredentialHeaderKey(remoteUrl) {
|
|
400
|
+
let url;
|
|
401
|
+
try {
|
|
402
|
+
url = new URL(remoteUrl);
|
|
403
|
+
}
|
|
404
|
+
catch {
|
|
405
|
+
throw new CliError("source_remote_invalid", "The connected managed Git URL is invalid.");
|
|
406
|
+
}
|
|
407
|
+
if (url.protocol !== "https:" || url.username || url.password || url.search || url.hash) {
|
|
408
|
+
throw new CliError("source_remote_invalid", "The connected managed Git URL must be credential-free HTTPS without query parameters or fragments.");
|
|
409
|
+
}
|
|
410
|
+
return `http.${url.toString()}.extraHeader`;
|
|
411
|
+
}
|
|
412
|
+
function managedGitEnvironment(environment, credential, credentialHeaderKey) {
|
|
413
|
+
return {
|
|
414
|
+
...environment,
|
|
415
|
+
GIT_CONFIG_COUNT: "1",
|
|
416
|
+
GIT_CONFIG_KEY_0: credentialHeaderKey,
|
|
417
|
+
GIT_CONFIG_VALUE_0: `Authorization: Bearer ${credential}`,
|
|
418
|
+
GIT_TERMINAL_PROMPT: "0",
|
|
419
|
+
GIT_LFS_SKIP_SMUDGE: "1",
|
|
420
|
+
};
|
|
421
|
+
}
|
|
422
|
+
function managedGitCheckoutEnvironment(environment) {
|
|
423
|
+
return {
|
|
424
|
+
...environment,
|
|
425
|
+
GIT_TERMINAL_PROMPT: "0",
|
|
426
|
+
GIT_LFS_SKIP_SMUDGE: "1",
|
|
427
|
+
};
|
|
428
|
+
}
|
|
160
429
|
async function sourceConnect(cwd, options, runtime) {
|
|
161
430
|
const context = await loadProjectContext(cwd);
|
|
162
431
|
if (!context.link)
|
|
@@ -224,9 +493,7 @@ async function sourcePush(cwd, options, runtime) {
|
|
|
224
493
|
await ensureGitRemote(gitRoot, remote, source.repository.remoteUrl, runtime);
|
|
225
494
|
const currentBranch = (await runtime.captureCommand("git", ["branch", "--show-current"], gitRoot)).stdout;
|
|
226
495
|
const branch = options.flags.get("branch") ?? (currentBranch || source.repository.defaultBranch);
|
|
227
|
-
|
|
228
|
-
throw new CliError("source_branch_invalid", "The managed source branch name is invalid.");
|
|
229
|
-
}
|
|
496
|
+
assertGitBranchName(branch);
|
|
230
497
|
const state = await sourceState(gitRoot, runtime);
|
|
231
498
|
let credential = null;
|
|
232
499
|
try {
|
|
@@ -263,9 +530,7 @@ async function requireGitRoot(root, runtime) {
|
|
|
263
530
|
}
|
|
264
531
|
}
|
|
265
532
|
async function ensureGitRemote(gitRoot, remote, remoteUrl, runtime) {
|
|
266
|
-
|
|
267
|
-
throw new CliError("source_remote_invalid", "The Git remote name is invalid.");
|
|
268
|
-
}
|
|
533
|
+
assertGitRemoteName(remote);
|
|
269
534
|
const remotes = (await runtime.captureCommand("git", ["remote"], gitRoot)).stdout.split(/\r?\n/u).filter(Boolean);
|
|
270
535
|
if (!remotes.includes(remote)) {
|
|
271
536
|
await runtime.captureCommand("git", ["remote", "add", remote, remoteUrl], gitRoot);
|
|
@@ -276,6 +541,16 @@ async function ensureGitRemote(gitRoot, remote, remoteUrl, runtime) {
|
|
|
276
541
|
throw new CliError("source_remote_conflict", `Git remote ${remote} already points somewhere else. Tender will not replace it automatically.`, `Choose another name with --remote, or update ${remote} yourself after verifying the URL.`);
|
|
277
542
|
}
|
|
278
543
|
}
|
|
544
|
+
function assertGitRemoteName(remote) {
|
|
545
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/u.test(remote)) {
|
|
546
|
+
throw new CliError("source_remote_invalid", "The Git remote name is invalid.");
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
function assertGitBranchName(branch) {
|
|
550
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._/-]{0,127}$/u.test(branch)) {
|
|
551
|
+
throw new CliError("source_branch_invalid", "The managed source branch name is invalid.");
|
|
552
|
+
}
|
|
553
|
+
}
|
|
279
554
|
function safeRepositoryName(value) {
|
|
280
555
|
const normalized = value.replaceAll(/[^A-Za-z0-9._-]+/gu, "-").replace(/^-+|-+$/gu, "");
|
|
281
556
|
return normalized.length >= 2 ? normalized.slice(0, 100) : "tender-app";
|
|
@@ -1149,7 +1424,7 @@ function assertAllowedOptions(topic, options) {
|
|
|
1149
1424
|
"timeout-seconds",
|
|
1150
1425
|
"return-path",
|
|
1151
1426
|
],
|
|
1152
|
-
"source status": [...common, ...authentication],
|
|
1427
|
+
"source status": [...common, ...authentication, "project"],
|
|
1153
1428
|
"source connect": [
|
|
1154
1429
|
...common,
|
|
1155
1430
|
...authentication,
|
|
@@ -1161,6 +1436,7 @@ function assertAllowedOptions(topic, options) {
|
|
|
1161
1436
|
"working-directory",
|
|
1162
1437
|
"artifact-path",
|
|
1163
1438
|
],
|
|
1439
|
+
"source pull": [...common, ...authentication, "project", "remote", "dry-run"],
|
|
1164
1440
|
"source token": [...common, ...authentication, "ttl-seconds"],
|
|
1165
1441
|
"source push": [...common, ...authentication, "branch", "remote"],
|
|
1166
1442
|
tail: [
|
|
@@ -1293,9 +1569,10 @@ function helpText(topic) {
|
|
|
1293
1569
|
check: "Usage: tender-accounts check [--json]\n\nRun the app's declared validation command.",
|
|
1294
1570
|
build: "Usage: tender-accounts build [--json]\n\nRun validation and packaging, then verify the complete portable artifact.",
|
|
1295
1571
|
preview: "Usage: tender-accounts preview [--dry-run] [--no-wait] [--timeout-seconds N] [--return-path /account] [--json]\n\nBuild and submit an exact preview. --dry-run validates locally without authentication or upload.",
|
|
1296
|
-
source: "Usage: tender-accounts source <status|connect|token|push> [options]\n\nUse
|
|
1297
|
-
"source status": "Usage: tender-accounts source status [--json]\n\nRead the managed repository, immutable build contract, and recent source builds
|
|
1572
|
+
source: "Usage: tender-accounts source <status|connect|pull|token|push> [options]\n\nUse standard Git through Tender for a gateway or service project.",
|
|
1573
|
+
"source status": "Usage: tender-accounts source status [--project PROJECT_ID] [--json]\n\nRead the managed repository, immutable build contract, and recent source builds. --project works before a checkout is linked.\n\nExamples:\n tender-accounts source status --project prj_... --json\n tender-accounts source status --json",
|
|
1298
1574
|
"source connect": "Usage: tender-accounts source connect [--repo-name NAME] [--default-branch NAME] [--publication preview-only|default-branch] [--remote NAME] [--install-command COMMAND] [--working-directory PATH] [--artifact-path PATH] [--json]\n\nCreate or reconnect this linked project to Tender-managed Git. Build and artifact commands come from tender-accounts.json. Protected gateways accept preview-only publication.",
|
|
1575
|
+
"source pull": "Usage: tender-accounts source pull [--project PROJECT_ID] [--remote NAME] [--dry-run] [--json]\n\nClone the exact connected Tender-managed repository into an empty workspace, or fast-forward an existing clean matching checkout. The app is linked automatically and the short-lived Git credential is never persisted.\n\nExamples:\n tender-accounts source pull --project prj_... --dry-run --json\n tender-accounts source pull --project prj_... --json\n tender-accounts source pull --json",
|
|
1299
1576
|
"source token": "Usage: tender-accounts source token [--ttl-seconds N] [--json]\n\nIssue a short-lived, repository-scoped Git credential. It is shown once and is never stored by the CLI.",
|
|
1300
1577
|
"source push": "Usage: tender-accounts source push [--branch NAME] [--remote NAME] [--json]\n\nPush the exact committed revision with an ephemeral credential supplied only to the Git child process. Dirty working-tree changes are excluded.",
|
|
1301
1578
|
tail: "Usage: tender-accounts tail (--delivery dly_... | --production) [--status ok,error,canceled] [--method GET,POST] [--search TEXT] [--sampling-rate 0.25] [--json]\n\nStream sanitized logs for this exact linked project. Preview tails require a succeeded dly_ delivery. Production tails require merchant-administrator authorization. Sessions expire after 15 minutes and do not persist events.",
|
|
@@ -1311,7 +1588,7 @@ function helpText(topic) {
|
|
|
1311
1588
|
};
|
|
1312
1589
|
if (topic && topics[topic])
|
|
1313
1590
|
return topics[topic];
|
|
1314
|
-
return `Tender Accounts merchant developer CLI ${CLI_VERSION}\n\nCommands:\n init Create a new Shopify account starter\n auth login Create or refresh the default login\n auth create Create or re-authorize a named login\n auth activate Bind a named login to a directory tree\n auth deactivate Remove an exact directory binding\n auth status Validate one login or scoped credential\n auth list List local login profiles and bindings\n auth delete Revoke one named login\n auth logout Revoke the default or every login\n link Link this checkout to one permitted project\n doctor Check developer readiness\n dev Run the project-owned local dev command\n check Run project validation\n build Package and verify a portable artifact\n preview Build and deploy an exact preview\n source status Inspect Tender-managed Git and recent builds\n source connect Connect this linked project to managed Git\n source token Issue a short-lived repository credential\n source push Push the exact commit without persisting a token\n tail Stream logs for one exact linked project\n delivery status Read preview workflow state\n delivery preview Mint a fresh preview session\n delivery retry Retry a failed preview workflow\n skill install Install the Tender Accounts agent skill\n config example Print the project configuration contract\n\nThere is intentionally no production publish command.\nRun tender-accounts <command> --help for examples.`;
|
|
1591
|
+
return `Tender Accounts merchant developer CLI ${CLI_VERSION}\n\nCommands:\n init Create a new Shopify account starter\n auth login Create or refresh the default login\n auth create Create or re-authorize a named login\n auth activate Bind a named login to a directory tree\n auth deactivate Remove an exact directory binding\n auth status Validate one login or scoped credential\n auth list List local login profiles and bindings\n auth delete Revoke one named login\n auth logout Revoke the default or every login\n link Link this checkout to one permitted project\n doctor Check developer readiness\n dev Run the project-owned local dev command\n check Run project validation\n build Package and verify a portable artifact\n preview Build and deploy an exact preview\n source status Inspect Tender-managed Git and recent builds\n source connect Connect this linked project to managed Git\n source pull Clone or fast-forward the exact connected repository\n source token Issue a short-lived repository credential\n source push Push the exact commit without persisting a token\n tail Stream logs for one exact linked project\n delivery status Read preview workflow state\n delivery preview Mint a fresh preview session\n delivery retry Retry a failed preview workflow\n skill install Install the Tender Accounts agent skill\n config example Print the project configuration contract\n\nThere is intentionally no production publish command.\nRun tender-accounts <command> --help for examples.`;
|
|
1315
1592
|
}
|
|
1316
1593
|
function normalizeError(error) {
|
|
1317
1594
|
if (error instanceof CliApiError) {
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -18,9 +18,39 @@ npx tender-accounts init --name "Merchant customer account" --directory ./mercha
|
|
|
18
18
|
|
|
19
19
|
Never run `init` inside an existing application or use it to replace a merchant's architecture. It creates a stable gateway and independently editable `apps/portal`. UI-only tasks stay in the portal; authentication, sessions, application data, confidential bindings, and protected APIs stay in the gateway. The command deliberately does not install dependencies, initialize Git, link projects, or deploy.
|
|
20
20
|
|
|
21
|
+
## Materialize an existing app before scope discovery
|
|
22
|
+
|
|
23
|
+
If the user gives an exact `prj_...` but the current workspace is empty, do not
|
|
24
|
+
ask them to open a repository before asking Tender which managed source belongs
|
|
25
|
+
to that project. Install this skill, authenticate to the exact project, then run:
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
npx tender-accounts auth create prj_... --device --project prj_... --json
|
|
29
|
+
# After approval:
|
|
30
|
+
npx tender-accounts auth status --profile prj_... --json
|
|
31
|
+
npx tender-accounts auth activate prj_... --json
|
|
32
|
+
npx tender-accounts source status --project prj_... --json
|
|
33
|
+
npx tender-accounts source pull --project prj_... --json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
`source pull` uses standard Git. In an empty directory it clones the exact
|
|
37
|
+
connected Tender-managed repository; in an existing clean matching checkout it
|
|
38
|
+
performs a fast-forward-only pull. It then writes the machine-local project link
|
|
39
|
+
for the configured app. The short-lived repository credential exists only in
|
|
40
|
+
the Git child process and is never stored in the remote URL, repository, CLI
|
|
41
|
+
output, or shell history.
|
|
42
|
+
|
|
43
|
+
The command refuses non-empty non-Git directories, dirty worktrees, detached
|
|
44
|
+
HEADs, mismatched remotes, paused sources, conflicting project links, and unsafe
|
|
45
|
+
managed working directories. Do not work around those checks with `source
|
|
46
|
+
connect`, a hand-written remote, or a copied token. If the project uses
|
|
47
|
+
merchant-hosted Git instead of Tender-managed Git, open that exact checkout and
|
|
48
|
+
continue with `link`; Tender cannot clone a private third-party repository with
|
|
49
|
+
a managed-source credential.
|
|
50
|
+
|
|
21
51
|
## Start every task with scope discovery
|
|
22
52
|
|
|
23
|
-
1.
|
|
53
|
+
1. After the checkout exists, read the closest `AGENTS.md` files and `tender-accounts.json`. In a generated two-service repository, identify whether the request belongs to `apps/portal` or `apps/gateway` before editing.
|
|
24
54
|
2. Run:
|
|
25
55
|
|
|
26
56
|
```sh
|
|
@@ -73,6 +103,7 @@ the linked gateway or service project:
|
|
|
73
103
|
```sh
|
|
74
104
|
npx tender-accounts source connect --publication preview-only --json
|
|
75
105
|
npx tender-accounts source status --json
|
|
106
|
+
npx tender-accounts source pull --json
|
|
76
107
|
npx tender-accounts source push --json
|
|
77
108
|
```
|
|
78
109
|
|
|
@@ -86,6 +117,8 @@ explicitly wants successful default-branch previews promoted automatically.
|
|
|
86
117
|
`source push` includes only the committed revision. It mints a short-lived
|
|
87
118
|
repository token and supplies it only to the Git child process; never copy it
|
|
88
119
|
into a remote URL, credential helper, repository file, shell script, or chat.
|
|
120
|
+
`source pull` is the inverse operation for an already connected repository and
|
|
121
|
+
never creates or replaces the source connection.
|
|
89
122
|
Use `source token` only when the user explicitly needs a credential for another
|
|
90
123
|
standard Git client or CI system.
|
|
91
124
|
|