carrick 0.3.92 → 0.3.93

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 CHANGED
@@ -288,7 +288,8 @@ npm uninstall -g carrick
288
288
 
289
289
  `carrick remove` reverses `carrick init` on this machine, one line per thing it
290
290
  removed: the Carrick hook entries in this folder's `.claude` settings, the
291
- `carrick` MCP server in each agent client's configuration, the `.carrick`
291
+ hooks and skills it copied into each repo here with their `.git/info/exclude`
292
+ lines, the `carrick` MCP server in each agent client's configuration, the `.carrick`
292
293
  directory, and the saved credential. Other hooks, other MCP servers and the
293
294
  settings files themselves stay; an MCP server called `carrick` that points at
294
295
  anything other than `api.carrick.tools` is left alone and reported. Pass
@@ -15,5 +15,13 @@ export type OAuthOptions = {
15
15
  * the word "carrick", one heading, one line. Every argument is escaped here.
16
16
  */
17
17
  export declare function callbackPage(heading: string, line: string): string;
18
+ /**
19
+ * What the page says once sign-in worked, and nothing more (carrick#1511).
20
+ *
21
+ * The page cannot know what the reader does next: `carrick init` opens it and
22
+ * carries on by itself, and a `carrick login` on a machine that is already set
23
+ * up has no next step. The terminal knows, so it says the next step.
24
+ */
25
+ export declare const SIGNED_IN_LINE = "You can close this tab and go back to your terminal.";
18
26
  /** RFC 8252 loopback + S256 PKCE against Carrick's existing public OAuth client flow. */
19
27
  export declare function authorize(options?: OAuthOptions): Promise<string>;
@@ -48,6 +48,14 @@ function answer(res, status, heading, line) {
48
48
  return done;
49
49
  }
50
50
  const TRY_AGAIN = "Run `carrick login` again.";
51
+ /**
52
+ * What the page says once sign-in worked, and nothing more (carrick#1511).
53
+ *
54
+ * The page cannot know what the reader does next: `carrick init` opens it and
55
+ * carries on by itself, and a `carrick login` on a machine that is already set
56
+ * up has no next step. The terminal knows, so it says the next step.
57
+ */
58
+ export const SIGNED_IN_LINE = "You can close this tab and go back to your terminal.";
51
59
  /** RFC 8252 loopback + S256 PKCE against Carrick's existing public OAuth client flow. */
52
60
  export async function authorize(options = {}) {
53
61
  const request = options.fetch ?? fetch;
@@ -148,7 +156,7 @@ export async function authorize(options = {}) {
148
156
  // Bounded: a hung lookup must not hold the token back from the caller.
149
157
  const lookup = AbortSignal.any([signal, AbortSignal.timeout(options.lookupTimeoutMs ?? 3_000)]);
150
158
  const workspace = await resolveRepos(body.access_token, [], request, lookup).then((r) => r.workspace.slug, () => null);
151
- delivered = answer(pending, 200, workspace ? `Signed in to ${workspace}` : "Signed in to Carrick", "You can close this tab. Next, run `carrick init` in the folder that holds your repos.");
159
+ delivered = answer(pending, 200, workspace ? `Signed in to ${workspace}` : "Signed in to Carrick", SIGNED_IN_LINE);
152
160
  }
153
161
  return body.access_token;
154
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;IACpH,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzF,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;AACzH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAY;IACxD,OAAO;;;;;;;;;;;8CAWqC,UAAU,CAAC,OAAO,CAAC,WAAW,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC;CACpI,CAAC;AACF,CAAC;AAED,iFAAiF;AACjF,SAAS,MAAM,CAAC,GAAwB,EAAE,MAAc,EAAE,OAAe,EAAE,IAAY;IACrF,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACzC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACvG,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAG,4BAA4B,CAAC;AAE/C,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAwB,EAAE;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpI,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,MAAuC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,uEAAuE;IACvE,8DAA8D;IAC9D,IAAI,OAAO,GAA+B,IAAI,CAAC;IAC/C,IAAI,SAAS,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YAAC,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAAC,CAAC;QAC1D,MAAM,CAAC;YAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAE,qCAAqC,SAAS,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACvG,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW;YAChE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;YAC7C,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;YACxD,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAE,qCAAqC,SAAS,EAAE,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAkB,EAAE,uCAAuC,SAAS,EAAE,CAAC,CAAC;YACzF,MAAM,CAAC,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAE,mDAAmD,SAAS,EAAE,CAAC,CAAC;YACnG,OAAO;QACT,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAS,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/H,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC3G,MAAM,QAAQ,GAAG,oBAAoB,OAAO,CAAC,IAAI,WAAW,CAAC;QAC7D,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,QAAQ,iBAAiB,EAAE;YAC/D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;YACzC,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,0BAA0B,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,oBAAoB,CAAC,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SACjM,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3G,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,EAA6B,CAAC;QACxE,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACtI,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,kBAAkB,CAAC,CAAC;QACnD,GAAG,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5R,GAAG,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;QACnD,mFAAmF;QACnF,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC;QAC5B,IAAI,IAAI,YAAY,KAAK;YAAE,MAAM,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,QAAQ,cAAc,EAAE;YACtD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;YACzC,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;YAChE,IAAI,EAAE,IAAI,eAAe,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ,MAAM,EAAE,CAAC;SACrL,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,MAAM,6BAA6B,CAAC,CAAC;QACnH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAuE,CAAC;QACtG,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,8CAA8C;QAC9C,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAC3F,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,oEAAoE;YACpE,oEAAoE;YACpE,uEAAuE;YACvE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACvH,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAC/F,uFAAuF,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4EAA4E;QAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO;YAC5B,CAAC,CAAC,IAAI,KAAK,CAAC,2EAA2E,CAAC;YACxF,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7D,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;QACzH,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAC9G,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,OAAO,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,gEAAgE;QAChE,MAAM,SAAS,CAAC;QAChB,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
@@ -5,14 +5,17 @@ declare const response: z.ZodObject<{
5
5
  slug: z.ZodString;
6
6
  billing_tier: z.ZodEnum<["free", "cross_repo", "paid"]>;
7
7
  installed: z.ZodBoolean;
8
+ role: z.ZodCatch<z.ZodOptional<z.ZodEnum<["owner", "admin", "member"]>>>;
8
9
  }, "strip", z.ZodTypeAny, {
9
10
  installed: boolean;
10
11
  slug: string;
11
12
  billing_tier: "free" | "cross_repo" | "paid";
13
+ role?: "owner" | "admin" | "member" | undefined;
12
14
  }, {
13
15
  installed: boolean;
14
16
  slug: string;
15
17
  billing_tier: "free" | "cross_repo" | "paid";
18
+ role?: unknown;
16
19
  }>;
17
20
  allowance_sentence: z.ZodNullable<z.ZodString>;
18
21
  repos: z.ZodArray<z.ZodDiscriminatedUnion<"connected", [z.ZodObject<{
@@ -84,6 +87,7 @@ declare const response: z.ZodObject<{
84
87
  installed: boolean;
85
88
  slug: string;
86
89
  billing_tier: "free" | "cross_repo" | "paid";
90
+ role?: "owner" | "admin" | "member" | undefined;
87
91
  };
88
92
  repos: ({
89
93
  connected: false;
@@ -111,6 +115,7 @@ declare const response: z.ZodObject<{
111
115
  installed: boolean;
112
116
  slug: string;
113
117
  billing_tier: "free" | "cross_repo" | "paid";
118
+ role?: unknown;
114
119
  };
115
120
  repos: ({
116
121
  connected: false;
package/dist/auth/read.js CHANGED
@@ -7,7 +7,17 @@ const repository = z.discriminatedUnion("connected", [
7
7
  ]);
8
8
  const response = z.object({
9
9
  schema: z.literal("carrick.resolve-repos/0"),
10
- workspace: z.object({ slug: z.string().regex(/^[a-zA-Z0-9_-]+$/), billing_tier: z.enum(["free", "cross_repo", "paid"]), installed: z.boolean() }),
10
+ workspace: z.object({
11
+ slug: z.string().regex(/^[a-zA-Z0-9_-]+$/),
12
+ billing_tier: z.enum(["free", "cross_repo", "paid"]),
13
+ installed: z.boolean(),
14
+ // The signed-in user's role in this workspace, where the server states it
15
+ // (carrick-cloud#1426). Absent means unknown, and `carrick init` then says
16
+ // nothing about who can finish a browser step (carrick#1512). A value
17
+ // outside the pinned three reads as unknown too, rather than failing the
18
+ // whole read.
19
+ role: z.enum(["owner", "admin", "member"]).optional().catch(undefined),
20
+ }),
11
21
  allowance_sentence: z.string().nullable(),
12
22
  repos: z.array(repository),
13
23
  project_repos: z.array(z.object({ project_slug: z.string(), repos: z.array(z.string()) })),
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/auth/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/auth/read.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,16 @@ import { type Credential } from "./credentials.ts";
8
8
  * there is one copy of them.
9
9
  */
10
10
  export declare function signIn(say?: (message: string) => void, signal?: AbortSignal): Promise<Credential>;
11
+ /**
12
+ * What a `carrick login` says to do next, or null when there is nothing.
13
+ *
14
+ * The browser page used to say "Next, run carrick init" to everyone, which was
15
+ * wrong under init itself and on every login after the first (carrick#1511).
16
+ * The terminal knows which it is: `carrick init` writes this machine's install
17
+ * id and `carrick remove` deletes it, so a machine without one has never been
18
+ * set up, and that is the only login with a step left.
19
+ */
20
+ export declare function loginNextStep(installId?: string | null): string | null;
11
21
  export declare function login(argv: string[]): Promise<number>;
12
22
  /**
13
23
  * Ask Carrick to revoke the key that makes the request (carrick#1487).
package/dist/auth/run.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { API_BASE, APP_BASE, readCredential, saveCredential, removeCredential } from "./credentials.js";
2
2
  import { authorize } from "./oauth.js";
3
3
  import { resolveRepos } from "./read.js";
4
+ import { readInstallId } from "../init/install-id.js";
4
5
  /**
5
6
  * Sign in through the browser and leave a saved credential behind.
6
7
  *
@@ -27,6 +28,18 @@ export async function signIn(say = (message) => process.stdout.write(`${message}
27
28
  obtained_at: new Date().toISOString(),
28
29
  });
29
30
  }
31
+ /**
32
+ * What a `carrick login` says to do next, or null when there is nothing.
33
+ *
34
+ * The browser page used to say "Next, run carrick init" to everyone, which was
35
+ * wrong under init itself and on every login after the first (carrick#1511).
36
+ * The terminal knows which it is: `carrick init` writes this machine's install
37
+ * id and `carrick remove` deletes it, so a machine without one has never been
38
+ * set up, and that is the only login with a step left.
39
+ */
40
+ export function loginNextStep(installId = readInstallId()) {
41
+ return installId === null ? "Next: run carrick init in the folder that holds your repos." : null;
42
+ }
30
43
  export async function login(argv) {
31
44
  if (argv.length) {
32
45
  process.stdout.write("carrick login\n\nSign in through your browser. CARRICK_TOKEN overrides the saved credential.\n");
@@ -37,6 +50,9 @@ export async function login(argv) {
37
50
  process.once("SIGINT", cancel);
38
51
  try {
39
52
  await signIn(undefined, controller.signal);
53
+ const next = loginNextStep();
54
+ if (next !== null)
55
+ process.stdout.write(`${next}\n`);
40
56
  return 0;
41
57
  }
42
58
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/auth/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/auth/run.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,14 @@ type ConnectOptions = {
33
33
  announce?: Set<string>;
34
34
  /** How a project is printed: display name beside slug, where one is known. */
35
35
  label?: (slug: string) => string;
36
+ /**
37
+ * True where the workspace read says the signed-in user is a member, not an
38
+ * owner or an admin. Only they are told who can finish a browser step: an
39
+ * owner told to go and find an owner was the line in carrick#1512.
40
+ */
41
+ member?: boolean;
42
+ /** How to run init again, for the member's line: "run carrick init in ~/shop again". */
43
+ again?: string;
36
44
  open?: (url: string) => Promise<boolean>;
37
45
  poll?: (signal?: AbortSignal) => Promise<ResolvedRepos>;
38
46
  /** Placing repos in the project, injected so tests state the server (carrick#999). */
@@ -43,14 +51,16 @@ type ConnectOptions = {
43
51
  signal?: AbortSignal;
44
52
  };
45
53
  /**
46
- * The line before every wait.
54
+ * The line before a member's wait.
47
55
  *
48
56
  * What is waited on is a page in the Carrick dashboard, and both of them —
49
57
  * the App grant and the Repos page — refuse anyone who is not an owner or an
50
58
  * admin of the workspace. Waiting thirty minutes on a page you may not use is
51
- * the friction this says out loud (carrick#993).
59
+ * the friction this says out loud (carrick#993), to the members it is true of
60
+ * (carrick#1512). `again` is how to run init again, which names the folder
61
+ * when the run set up the one above where it started.
52
62
  */
53
- export declare const ADMIN_WAIT = "A workspace owner or admin must do this; Ctrl-C and run init again once they have.";
63
+ export declare function adminWait(again?: string): string;
54
64
  /** The dashboard pages init sends a reader to, for one workspace. */
55
65
  export declare function workspaceUrls(slug: string): {
56
66
  connect: string;
@@ -70,10 +80,12 @@ export declare function projectAssignments(identity: ResolvedRepos, repos: strin
70
80
  /** The requested repos this read says are not connected, as the server spells them. */
71
81
  export declare function unconnectedRepos(identity: ResolvedRepos, repos: string[]): string[];
72
82
  /**
73
- * The one line that sends a reader to the GitHub App, naming the repos it is
74
- * for. Printed only for repos a read taken just now says are unconnected: the
75
- * grant page re-asks GitHub for the whole repo list, which is wasted on a repo
76
- * that is already connected (carrick#1489).
83
+ * The line that sends a reader to the GitHub App, naming the repos it is for,
84
+ * for a run that cannot open the page itself: one with no terminal, and one
85
+ * whose wait was stopped with the grant still to do. Printed only for repos a
86
+ * read taken just now says are unconnected: the grant page re-asks GitHub for
87
+ * the whole repo list, which is wasted on a repo that is already connected
88
+ * (carrick#1489).
77
89
  */
78
90
  export declare function connectLine(unconnected: string[], total: number, url: string): string;
79
91
  /**
@@ -4,14 +4,18 @@ import { openBrowser } from "../auth/oauth.js";
4
4
  import { resolveRepos } from "../auth/read.js";
5
5
  import { assignRepos } from "./projects.js";
6
6
  /**
7
- * The line before every wait.
7
+ * The line before a member's wait.
8
8
  *
9
9
  * What is waited on is a page in the Carrick dashboard, and both of them —
10
10
  * the App grant and the Repos page — refuse anyone who is not an owner or an
11
11
  * admin of the workspace. Waiting thirty minutes on a page you may not use is
12
- * the friction this says out loud (carrick#993).
12
+ * the friction this says out loud (carrick#993), to the members it is true of
13
+ * (carrick#1512). `again` is how to run init again, which names the folder
14
+ * when the run set up the one above where it started.
13
15
  */
14
- export const ADMIN_WAIT = "A workspace owner or admin must do this; Ctrl-C and run init again once they have.";
16
+ export function adminWait(again = "run carrick init again") {
17
+ return `A workspace owner or admin must do this; Ctrl-C and ${again} once they have.`;
18
+ }
15
19
  /** The dashboard pages init sends a reader to, for one workspace. */
16
20
  export function workspaceUrls(slug) {
17
21
  const workspace = `${APP_BASE}/w/${encodeURIComponent(slug)}`;
@@ -50,10 +54,12 @@ export function unconnectedRepos(identity, repos) {
50
54
  .map(({ name, row }) => row?.full_name ?? name);
51
55
  }
52
56
  /**
53
- * The one line that sends a reader to the GitHub App, naming the repos it is
54
- * for. Printed only for repos a read taken just now says are unconnected: the
55
- * grant page re-asks GitHub for the whole repo list, which is wasted on a repo
56
- * that is already connected (carrick#1489).
57
+ * The line that sends a reader to the GitHub App, naming the repos it is for,
58
+ * for a run that cannot open the page itself: one with no terminal, and one
59
+ * whose wait was stopped with the grant still to do. Printed only for repos a
60
+ * read taken just now says are unconnected: the grant page re-asks GitHub for
61
+ * the whole repo list, which is wasted on a repo that is already connected
62
+ * (carrick#1489).
57
63
  */
58
64
  export function connectLine(unconnected, total, url) {
59
65
  const which = unconnected.length === 1
@@ -213,9 +219,10 @@ export async function connectRepos(token, repos, initial, options) {
213
219
  else if (settled(latest)) {
214
220
  return latest;
215
221
  }
222
+ // The grant itself is not said here: the list the reader said yes to named
223
+ // it, with its link where there is no terminal to open it from, and a
224
+ // second line saying the same thing was the repeat in carrick#1512.
216
225
  const unconnected = unconnectedRepos(latest, repos);
217
- if (unconnected.length > 0)
218
- options.say(connectLine(unconnected, repos.length, urls.connect));
219
226
  // Only where this run cannot do the placing itself.
220
227
  if (byHand(latest))
221
228
  browserAssign();
@@ -235,11 +242,17 @@ export async function connectRepos(token, repos, initial, options) {
235
242
  : byHand(latest)
236
243
  ? urls.repos
237
244
  : null;
238
- // Who can finish a browser step, said only where there is one: a wait on
239
- // placements this run makes itself has nothing for an owner to do.
245
+ // Who can finish a browser step, said only where there is one — a wait on
246
+ // placements this run makes itself has nothing for an owner to do — and
247
+ // only to a member, who is the one it is news to (carrick#1512).
240
248
  if (target !== null) {
241
- options.say(ADMIN_WAIT);
242
- void (options.open ?? openBrowser)(target).catch(() => false);
249
+ if (options.member === true)
250
+ options.say(adminWait(options.again));
251
+ // The page is named only where it could not be opened: a reader looking
252
+ // at it in the browser does not need its address as well.
253
+ const opened = await (options.open ?? openBrowser)(target).catch(() => false);
254
+ if (!opened)
255
+ options.say(`Open ${target} in your browser.`);
243
256
  }
244
257
  /** Where the wait stands, as one line. */
245
258
  const status = (identity) => {
@@ -288,9 +301,9 @@ export async function connectRepos(token, repos, initial, options) {
288
301
  }, () => done
289
302
  ? {
290
303
  kind: "done",
291
- text: project === undefined
292
- ? `${repoCount(repos.length)} connected`
293
- : `${repoCount(repos.length)} connected, in ${label(project)}`,
304
+ // The count alone: the line after the wait names the project
305
+ // and its repos (carrick#1512).
306
+ text: `${repoCount(repos.length)} connected`,
294
307
  }
295
308
  : {
296
309
  kind: "warn",
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/init/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/init/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AA0DhE;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,wBAAwB;IAChE,OAAO,uDAAuD,KAAK,kBAAkB,CAAC;AACxF,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,SAAS,GAAG,GAAG,QAAQ,MAAM,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9D,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,UAAU,EAAE,QAAQ,EAAE,GAAG,SAAS,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS,QAAQ,EAAE,CAAC;AAC7G,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAC/B,QAAuB,EACvB,KAAe,EACf,OAAe;IAEf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAC9B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CACxE,CAAC;QACF,OAAO,IAAI,EAAE,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAuB,EACvB,KAAe;IAEf,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAC9B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CACxE,CAAC;QACF,OAAO,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,gBAAgB,CAAC,QAAuB,EAAE,KAAe;IACvE,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI;QACJ,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;KAClG,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;SAC7E,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,WAAqB,EAAE,KAAa,EAAE,GAAW;IAC3E,MAAM,KAAK,GACT,WAAW,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,uBAAuB;QAC1C,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;YAC3C,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,KAAK;gBAC5B,CAAC,CAAC,eAAe,KAAK,yBAAyB;gBAC/C,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,OAAO,KAAK,8BAA8B,CAAC;IAC1E,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACvG,OAAO,GAAG,KAAK,uCAAuC,EAAE,KAAK,GAAG,EAAE,CAAC;AACrE,CAAC;AAED,2BAA2B;AAC3B,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,GAAG,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAChB,QAAuB,EACvB,KAAe,EACf,OAAe,EACf,OAAoB;IAEpB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAC9B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CACxE,CAAC;QACF,OAAO,CACL,IAAI,EAAE,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC7F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,SAAS,UAAU,CAAC,GAA2B;IAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,KAAe,EAAE,OAAsB,EAAE,OAAuB;IAChH,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,MAAoB,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,GAAG,EAAU,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAU,CAAC;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,MAAM,GACV,OAAO,CAAC,MAAM;QACd,CAAC,CAAC,KAAe,EAAE,MAAoB,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACvG,4EAA4E;IAC5E,wEAAwE;IACxE,IAAI,SAAS,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC;IACxE,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,2EAA2E;IAC3E,kEAAkE;IAClE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,IAAI,GAAoB,IAAI,CAAC;IACjC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAQ,EAAE;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,IAAI,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,IAAI,iBAAiB;YAAE,OAAO;QAC9B,iBAAiB,GAAG,IAAI,CAAC;QACzB,MAAM,CAAC,+BAA+B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;IACxH,CAAC,CAAC;IAEF,mFAAmF;IACnF,MAAM,KAAK,GAAG,KAAK,EAAE,QAAuB,EAAE,MAAoB,EAAoB,EAAE;QACtF,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,yEAAyE;YACzE,gDAAgD;YAChD,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,CAAC,iDAAiD,KAAK,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAChG,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,mBAAmB,IAAI,CAAC,MAAM,IAAI,yBAAyB,EAAE,CAAC,CAAC;gBACvF,SAAS;YACX,CAAC;YACD,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;YAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAC7B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAClF,CAAC;YACF,MAAM,IAAI,GAAG,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACrE,MAAM,CAAC,SAAS,IAAI,CAAC,SAAS,SAAS,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,8EAA8E;IAC9E,MAAM,MAAM,GAAG,KAAK,EAAE,QAAuB,EAAE,MAAoB,EAA0B,EAAE;QAC7F,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAAE,OAAO,QAAQ,CAAC;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,MAAM,GAAG,CAAC,QAAuB,EAAW,EAAE,CAClD,OAAO,KAAK,SAAS;QACrB,CAAC,CAAC,SAAS;YACT,QAAQ,CAAC,KAAK,CAAC,IAAI,CACjB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,YAAY,KAAK,OAAO;gBAC7B,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBACzE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAC7C,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,CAAC,QAAuB,EAAW,EAAE,CACnD,OAAO,KAAK,SAAS;QACnB,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;QAC7C,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAErF,IAAI,MAAM,GAAG,OAAO,CAAC;IACrB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACnC,0EAA0E;QAC1E,kCAAkC;QAClC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,+DAA+D,OAAO,IAAI,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,2EAA2E;IAC3E,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,oDAAoD;IACpD,IAAI,MAAM,CAAC,MAAM,CAAC;QAAE,aAAa,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,2EAA2E;IAC3E,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,MAAM,GACV,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,aAAa;QAC7C,CAAC,CAAC,IAAI,CAAC,QAAQ;QACf,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACd,CAAC,CAAC,IAAI,CAAC,KAAK;gBACZ,CAAC,CAAC,IAAI,CAAC;IACf,0EAA0E;IAC1E,wEAAwE;IACxE,iEAAiE;IACjE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,wEAAwE;QACxE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED,0CAA0C;IAC1C,MAAM,MAAM,GAAG,CAAC,QAAuB,EAAU,EAAE;QACjD,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC;QACzD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,uBAAuB,KAAK,CAAC,MAAM,GAAG,OAAO,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QACjG,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,uBAAuB,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QAC7F,yEAAyE;QACzE,kDAAkD;QAClD,OAAO,eAAe,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtI,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnI,IAAI,GAAG,EAAE,CAAC;IACV,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,KAAK,CACT,MAAM,CAAC,MAAM,CAAC,EACd,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjB,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,QAAQ,CAAC,GAAG,KAAK,yBAAyB,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACvB,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACvG,MAAM,CAAC,cAAc,EAAE,CAAC;oBACxB,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;oBAClD,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpB,IAAI,GAAG,IAAI,CAAC;wBACZ,OAAO;oBACT,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,CAAC;wBAAE,aAAa,EAAE,CAAC;oBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC3B,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;wBAClB,KAAK,GAAG,GAAG,CAAC;wBACZ,QAAQ,CAAC,GAAG,GAAG,yBAAyB,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,KAAK,CAAC;YACnC,CAAC;QACH,CAAC,EACD,GAAG,EAAE,CACH,IAAI;YACF,CAAC,CAAC;gBACE,IAAI,EAAE,MAAM;gBACZ,6DAA6D;gBAC7D,gCAAgC;gBAChC,IAAI,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;aAC7C;YACH,CAAC,CAAC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,OAAO,KAAK,SAAS;oBACnB,CAAC,CAAC,4BAA4B,KAAK,CAAC,OAAO,CAAC,4CAA4C;oBACxF,CAAC,CAAC,qEAAqE;aAC5E,CACR,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,GAAG,IAAI,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -120,8 +120,19 @@ export declare const MAX_NAME_LENGTH = 64;
120
120
  export declare function slugFromName(name: string): string;
121
121
  /** What a project is, said once, above the picker that asks for one. */
122
122
  export declare const PROJECT_RULE = "One project per interconnected system: repos that call each other belong together.";
123
+ /**
124
+ * Repos as a sentence names them: "shop-app", "shop-app and shop-api", or the
125
+ * first three and a count of the rest.
126
+ */
127
+ export declare function reposPhrase(names: string[]): string;
123
128
  /** What init asks the terminal during the project step. */
124
129
  export type ProjectPrompts = {
130
+ /**
131
+ * The repos the project is for, as the reader knows them. Every question
132
+ * names them: "these repos" asked about a project before the reader had
133
+ * seen which repos went into it (carrick#1512).
134
+ */
135
+ repos: string[];
125
136
  say: (line: string) => void;
126
137
  /** A free-text answer, already trimmed. Empty means "skip this". */
127
138
  ask: (question: string) => Promise<string>;
@@ -175,9 +186,11 @@ export type ProjectChoice = {
175
186
  * Nothing here writes: the whole project step runs before the proposal is
176
187
  * accepted, and a run the reader stops must leave the workspace exactly as it
177
188
  * found it (carrick#1338). `exists` is what this run can state; `create` is
178
- * what it has permission to do once the proposal is accepted. A workspace
179
- * whose API has no project list settles neither, and the caller falls back to
180
- * the browser instructions, which include creating it.
189
+ * what it will do once the proposal is accepted, which is the one question
190
+ * that covers it: the create is a line in the list that question is asked
191
+ * about (carrick#1512). A workspace whose API has no project list settles
192
+ * neither, and the caller falls back to the browser instructions, which
193
+ * include creating it.
181
194
  */
182
195
  export declare function planProject(slug: string, projects: Project[] | null, prompts: ProjectPrompts): Promise<ProjectChoice>;
183
196
  /**
@@ -206,6 +206,17 @@ export function slugFromName(name) {
206
206
  }
207
207
  /** What a project is, said once, above the picker that asks for one. */
208
208
  export const PROJECT_RULE = "One project per interconnected system: repos that call each other belong together.";
209
+ /**
210
+ * Repos as a sentence names them: "shop-app", "shop-app and shop-api", or the
211
+ * first three and a count of the rest.
212
+ */
213
+ export function reposPhrase(names) {
214
+ if (names.length <= 1)
215
+ return names.join("");
216
+ if (names.length > 3)
217
+ return `${names.slice(0, 3).join(", ")} and ${names.length - 3} more`;
218
+ return `${names.slice(0, -1).join(", ")} and ${names.at(-1)}`;
219
+ }
209
220
  /**
210
221
  * A project as it is printed: the name the dashboard shows it under, and the
211
222
  * slug every command takes.
@@ -227,9 +238,11 @@ export function projectLabel(slug, projects) {
227
238
  * Nothing here writes: the whole project step runs before the proposal is
228
239
  * accepted, and a run the reader stops must leave the workspace exactly as it
229
240
  * found it (carrick#1338). `exists` is what this run can state; `create` is
230
- * what it has permission to do once the proposal is accepted. A workspace
231
- * whose API has no project list settles neither, and the caller falls back to
232
- * the browser instructions, which include creating it.
241
+ * what it will do once the proposal is accepted, which is the one question
242
+ * that covers it: the create is a line in the list that question is asked
243
+ * about (carrick#1512). A workspace whose API has no project list settles
244
+ * neither, and the caller falls back to the browser instructions, which
245
+ * include creating it.
233
246
  */
234
247
  export async function planProject(slug, projects, prompts) {
235
248
  const { say } = prompts;
@@ -242,11 +255,7 @@ export async function planProject(slug, projects, prompts) {
242
255
  say(projects.length === 0 ? "This workspace has no projects yet." : "Projects in this workspace:");
243
256
  for (const line of projectLines(projects))
244
257
  say(line);
245
- if (prompts.assumeYes)
246
- return { slug, exists: false, create: true };
247
- if (!prompts.interactive)
248
- return { slug, exists: false, create: false };
249
- return { slug, exists: false, create: await prompts.confirm(`Create project "${slug}"?`) };
258
+ return { slug, exists: false, create: true };
250
259
  }
251
260
  /**
252
261
  * The project step for a plain `carrick init`, with no `--project` to verify
@@ -269,6 +278,8 @@ export async function projectStep(current, projects, prompts) {
269
278
  const none = { slug: null, exists: false, create: false };
270
279
  if (current.length === 0)
271
280
  return none;
281
+ const named = reposPhrase(prompts.repos);
282
+ const one = prompts.repos.length === 1;
272
283
  const assigned = [...new Set(current)];
273
284
  const sole = assigned.length === 1 ? assigned[0] : null;
274
285
  if (sole != null) {
@@ -277,7 +288,7 @@ export async function projectStep(current, projects, prompts) {
277
288
  // assignment it verifies, so this says nothing of its own.
278
289
  if (!prompts.interactive || prompts.assumeYes)
279
290
  return { slug: sole, exists: true, create: false };
280
- if (await prompts.confirm(`These repos are in project ${projectLabel(sole, projects)}. Keep them there?`)) {
291
+ if (await prompts.confirm(`${named} ${one ? "is" : "are"} in project ${projectLabel(sole, projects)}. Keep ${one ? "it" : "them"} there?`)) {
281
292
  return { slug: sole, exists: true, create: false };
282
293
  }
283
294
  }
@@ -297,7 +308,7 @@ export async function projectStep(current, projects, prompts) {
297
308
  // keeps declining has not chosen a project, and the dashboard is where one
298
309
  // is chosen instead.
299
310
  for (let round = 0; round < 3; round += 1) {
300
- const picked = await prompts.pick("Which project should these repos be in?", options);
311
+ const picked = await prompts.pick(`Which project should ${named} be in?`, options);
301
312
  if (picked === DASHBOARD)
302
313
  break;
303
314
  if (picked === NEW_PROJECT) {
@@ -309,7 +320,7 @@ export async function projectStep(current, projects, prompts) {
309
320
  return { slug: picked.slice(PICKED.length), exists: true, create: false };
310
321
  }
311
322
  if (prompts.dashboard !== undefined) {
312
- prompts.say(`Add these repos to a project at ${prompts.dashboard.url}. Until then they are in no project.`);
323
+ prompts.say(`Add ${named} to a project at ${prompts.dashboard.url}. Until then ${one ? "it is" : "they are"} in no project.`);
313
324
  prompts.dashboard.open(prompts.dashboard.url);
314
325
  }
315
326
  return none;
@@ -364,8 +375,10 @@ export function nameProblem(name, projects) {
364
375
  /**
365
376
  * A project to create, by the name the reader types.
366
377
  *
367
- * Null when the reader gave no name, declined the create, or gave three names
368
- * that cannot be used: the caller then asks the list again.
378
+ * Null when the reader gave no name, or gave three names that cannot be used:
379
+ * the caller then asks the list again. A usable name is not confirmed here:
380
+ * the create is the first line of the list init asks "Go ahead?" about, which
381
+ * is where a reader sees which repos go into it (carrick#1512).
369
382
  */
370
383
  async function newProject(projects, prompts) {
371
384
  for (let attempt = 0; attempt < 3; attempt += 1) {
@@ -377,11 +390,7 @@ async function newProject(projects, prompts) {
377
390
  prompts.say(problem);
378
391
  continue;
379
392
  }
380
- const slug = slugFromName(name);
381
- const shown = name === slug ? slug : `${name} (${slug})`;
382
- if (!(await prompts.confirm(`Create project ${shown}?`)))
383
- return null;
384
- return { slug, exists: false, create: true, name };
393
+ return { slug: slugFromName(name), exists: false, create: true, name };
385
394
  }
386
395
  return null;
387
396
  }