dockai 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/accounts.js +28 -12
- package/dist/commands/accounts.js.map +1 -1
- package/dist/lib/__tests__/accounts.test.js +1 -10
- package/dist/lib/__tests__/accounts.test.js.map +1 -1
- package/dist/lib/accounts.js +1 -19
- package/dist/lib/accounts.js.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { WebSocket } from "ws";
|
|
|
3
3
|
import { createApiClient } from "../api.js";
|
|
4
4
|
import { getServerUrl, getToken } from "../config.js";
|
|
5
5
|
import { fail } from "../lib/fail.js";
|
|
6
|
-
import { accountState, findAccount,
|
|
6
|
+
import { accountState, findAccount, planLabel, usageLine, } from "../lib/accounts.js";
|
|
7
7
|
const DIM = "\x1b[2m";
|
|
8
8
|
const RESET = "\x1b[0m";
|
|
9
9
|
/**
|
|
@@ -104,7 +104,6 @@ export async function accountsLoginCommand(ref) {
|
|
|
104
104
|
const outcome = await new Promise((resolve) => {
|
|
105
105
|
const ws = new WebSocket(wsUrl, { headers: token ? { Authorization: `Bearer ${token}` } : {} });
|
|
106
106
|
ws.binaryType = "arraybuffer";
|
|
107
|
-
let seen = "";
|
|
108
107
|
let opened = false;
|
|
109
108
|
let detached = false;
|
|
110
109
|
const restore = () => {
|
|
@@ -132,19 +131,32 @@ export async function accountsLoginCommand(ref) {
|
|
|
132
131
|
ws.send(JSON.stringify({ type: "resize", cols: process.stdout.columns, rows: process.stdout.rows }));
|
|
133
132
|
});
|
|
134
133
|
});
|
|
135
|
-
|
|
136
|
-
const buf = data instanceof ArrayBuffer ? Buffer.from(data) : Buffer.isBuffer(data) ? data : Buffer.from(String(data));
|
|
137
|
-
process.stdout.write(buf);
|
|
134
|
+
const openOnce = (url) => {
|
|
138
135
|
if (opened)
|
|
139
136
|
return;
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
137
|
+
opened = true;
|
|
138
|
+
open(url).catch(() => {
|
|
139
|
+
process.stdout.write(`\r\n${DIM}Could not open a browser; open the link above yourself.${RESET}\r\n`);
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
ws.on("message", (data, isBinary) => {
|
|
143
|
+
// The server reads the link off the login's pane and sends it as a
|
|
144
|
+
// text frame, {type:"login-url"}; terminal output is binary. The link
|
|
145
|
+
// is not searched for in that output: a wrapped link and the prompt on
|
|
146
|
+
// the next line cannot be told apart once joined. It is printed there
|
|
147
|
+
// anyway, so a person can always copy it.
|
|
148
|
+
if (!isBinary) {
|
|
149
|
+
try {
|
|
150
|
+
const msg = JSON.parse(String(data));
|
|
151
|
+
if (msg.type === "login-url" && typeof msg.url === "string") {
|
|
152
|
+
openOnce(msg.url);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
catch { /* terminal text */ }
|
|
147
157
|
}
|
|
158
|
+
const buf = data instanceof ArrayBuffer ? Buffer.from(data) : Buffer.isBuffer(data) ? data : Buffer.from(String(data));
|
|
159
|
+
process.stdout.write(buf);
|
|
148
160
|
});
|
|
149
161
|
ws.on("unexpected-response", (_req, res) => {
|
|
150
162
|
console.error(res.statusCode === 401 ? "Token rejected. Run `dockai login` again." : `The server refused the sign-in (${res.statusCode}).`);
|
|
@@ -159,6 +171,10 @@ export async function accountsLoginCommand(ref) {
|
|
|
159
171
|
restore();
|
|
160
172
|
if (detached)
|
|
161
173
|
return resolve("left");
|
|
174
|
+
if (closeCode === 4000) {
|
|
175
|
+
console.error("\nThe login ended without signing in, so nothing was saved. Run this again to start over.");
|
|
176
|
+
return resolve("failed");
|
|
177
|
+
}
|
|
162
178
|
if (closeCode !== 1000) {
|
|
163
179
|
const why = reason.toString();
|
|
164
180
|
console.error(`\nThe sign-in was cut off${why ? ` (${why})` : ""}.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/commands/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAgB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,YAAY,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/commands/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { accountState, findAccount,
|
|
2
|
+
import { accountState, findAccount, planLabel, usageLine } from "../accounts.js";
|
|
3
3
|
const accounts = [
|
|
4
4
|
{ id: "cmA", label: "FrogJump", isValid: true },
|
|
5
5
|
{ id: "cmB", label: "Personal", isValid: false, hasSdkToken: true },
|
|
@@ -28,13 +28,4 @@ describe("dockai accounts", () => {
|
|
|
28
28
|
expect(findAccount(accounts, "nope")).toMatch(/No Claude account matches/);
|
|
29
29
|
});
|
|
30
30
|
});
|
|
31
|
-
describe("the sign-in link in claude auth login's output", () => {
|
|
32
|
-
it("is found across a wrap and escape codes", () => {
|
|
33
|
-
const out = "Browser didn't open? Use the url below to sign in:\r\n\r\n\u001b[1mhttps://claude.ai/oauth/authorize?code=true&client_id=abc\r\n&state=xyz\u001b[22m \r\n";
|
|
34
|
-
expect(findLoginUrl(out)).toBe("https://claude.ai/oauth/authorize?code=true&client_id=abc&state=xyz");
|
|
35
|
-
});
|
|
36
|
-
it("is null until it has arrived", () => {
|
|
37
|
-
expect(findLoginUrl("Opening browser to sign in…")).toBeNull();
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
31
|
//# sourceMappingURL=accounts.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/accounts.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"accounts.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/accounts.test.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/accounts.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The pure half of `dockai accounts`: what a row says, which account a name
|
|
3
|
-
* means
|
|
3
|
+
* means. The command
|
|
4
4
|
* itself (commands/accounts.ts) only fetches and prints.
|
|
5
5
|
*/
|
|
6
6
|
/** The dashboard's three states, in the dashboard's words. */
|
|
@@ -69,22 +69,4 @@ export function findAccount(accounts, ref) {
|
|
|
69
69
|
return `No Claude account matches "${ref}". Accounts: ${accounts.map((a) => a.label).join(", ") || "none"}.`;
|
|
70
70
|
return `"${ref}" matches ${prefix.length} accounts (${prefix.map((a) => a.label).join(", ")}); use the full name.`;
|
|
71
71
|
}
|
|
72
|
-
/**
|
|
73
|
-
* The sign-in link in `claude auth login`'s output, or null.
|
|
74
|
-
*
|
|
75
|
-
* The CLI wraps the URL to the terminal width and paints it with escape
|
|
76
|
-
* codes, and it routinely straddles two writes, so the caller passes the
|
|
77
|
-
* accumulated tail and this strips both before matching — the same thing
|
|
78
|
-
* the dashboard's sign-in modal does.
|
|
79
|
-
*/
|
|
80
|
-
export function findLoginUrl(output) {
|
|
81
|
-
const flat = output
|
|
82
|
-
// eslint-disable-next-line no-control-regex
|
|
83
|
-
.replace(/\u001b\][^\u0007]*(\u0007|\u001b\\)/g, "")
|
|
84
|
-
// eslint-disable-next-line no-control-regex
|
|
85
|
-
.replace(/\u001b\[[0-9;?]*[A-Za-z]/g, "")
|
|
86
|
-
.replace(/[\r\n]+/g, "");
|
|
87
|
-
const match = flat.match(/https:\/\/(?:claude\.ai|console\.anthropic\.com)\/[^\s"'`<>]+/);
|
|
88
|
-
return match ? match[0] : null;
|
|
89
|
-
}
|
|
90
72
|
//# sourceMappingURL=accounts.js.map
|
package/dist/lib/accounts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/lib/accounts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/lib/accounts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuBH,8DAA8D;AAC9D,MAAM,UAAU,YAAY,CAAC,CAA2C;IACtE,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC;IAClC,IAAI,CAAC,CAAC,WAAW;QAAE,OAAO,YAAY,CAAC;IACvC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,KAAK,GAA2B;IACpC,qBAAqB,EAAE,QAAQ;IAC/B,sBAAsB,EAAE,SAAS;IACjC,kBAAkB,EAAE,KAAK;IACzB,mBAAmB,EAAE,MAAM;IAC3B,mBAAmB,EAAE,MAAM;IAC3B,yBAAyB,EAAE,YAAY;IACvC,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,KAAK;IACjB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,iFAAiF;AACjF,MAAM,UAAU,SAAS,CAAC,GAA8B;IACtD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;AAEhE;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAA+B,EAAE,iBAA0B;IACnF,IAAI,CAAC,iBAAiB;QAAE,OAAO,mDAAmD,CAAC;IACnF,IAAI,CAAC,KAAK;QAAE,OAAO,oBAAoB,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,UAAU,KAAK,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5I,IAAI,KAAK,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3I,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,QAAmB,EAAE,GAAW;IAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAChD,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,8BAA8B,GAAG,gBAAgB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC;IACtI,OAAO,IAAI,GAAG,aAAa,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;AACrH,CAAC"}
|
package/dist/version.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* CLI version. Kept in sync with apps/cli/package.json by the release workflow.
|
|
3
3
|
* Hardcoded so it works whether the CLI is run via npx, global install, or local link.
|
|
4
4
|
*/
|
|
5
|
-
export const CLI_VERSION = "0.2.
|
|
5
|
+
export const CLI_VERSION = "0.2.7";
|
|
6
6
|
export function compareSemver(a, b) {
|
|
7
7
|
const pa = a.split(".").map((n) => parseInt(n, 10) || 0);
|
|
8
8
|
const pb = b.split(".").map((n) => parseInt(n, 10) || 0);
|