looply-cli 0.5.9 → 0.5.10
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/account-failover.d.ts +30 -0
- package/dist/account-failover.d.ts.map +1 -0
- package/dist/account-failover.js +32 -0
- package/dist/account-failover.js.map +1 -0
- package/dist/daemon-cmd.d.ts.map +1 -1
- package/dist/daemon-cmd.js +29 -1
- package/dist/daemon-cmd.js.map +1 -1
- package/dist/daemon.d.ts +10 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +31 -5
- package/dist/daemon.js.map +1 -1
- package/dist/model-transport.d.ts +13 -0
- package/dist/model-transport.d.ts.map +1 -1
- package/dist/model-transport.js +70 -9
- package/dist/model-transport.js.map +1 -1
- package/dist/provider-accounts-cmd.d.ts +58 -0
- package/dist/provider-accounts-cmd.d.ts.map +1 -0
- package/dist/provider-accounts-cmd.js +247 -0
- package/dist/provider-accounts-cmd.js.map +1 -0
- package/dist/provider-accounts.d.ts +157 -0
- package/dist/provider-accounts.d.ts.map +1 -0
- package/dist/provider-accounts.js +423 -0
- package/dist/provider-accounts.js.map +1 -0
- package/dist/provider-cmd.d.ts +3 -0
- package/dist/provider-cmd.d.ts.map +1 -1
- package/dist/provider-cmd.js +25 -0
- package/dist/provider-cmd.js.map +1 -1
- package/dist/provider-limit.d.ts +6 -0
- package/dist/provider-limit.d.ts.map +1 -1
- package/dist/provider-limit.js +12 -0
- package/dist/provider-limit.js.map +1 -1
- package/dist/provider-state.d.ts +3 -0
- package/dist/provider-state.d.ts.map +1 -1
- package/dist/provider-state.js +4 -1
- package/dist/provider-state.js.map +1 -1
- package/dist/run-cmd.d.ts.map +1 -1
- package/dist/run-cmd.js +41 -5
- package/dist/run-cmd.js.map +1 -1
- package/dist/server-client.d.ts +19 -2
- package/dist/server-client.d.ts.map +1 -1
- package/dist/server-client.js +16 -1
- package/dist/server-client.js.map +1 -1
- package/dist/spend-ledger.d.ts +7 -0
- package/dist/spend-ledger.d.ts.map +1 -1
- package/dist/spend-ledger.js +1 -0
- package/dist/spend-ledger.js.map +1 -1
- package/package.json +2 -2
package/dist/model-transport.js
CHANGED
|
@@ -21,6 +21,8 @@ const untrusted_exec_1 = require("./untrusted-exec");
|
|
|
21
21
|
/** Which shell a configured provider's line is handed to. See the launch below. */
|
|
22
22
|
const WIN_HOST = process.platform === 'win32';
|
|
23
23
|
const provider_state_1 = require("./provider-state");
|
|
24
|
+
const provider_accounts_1 = require("./provider-accounts");
|
|
25
|
+
const provider_limit_1 = require("./provider-limit");
|
|
24
26
|
const tool_bridge_1 = require("./tool-bridge");
|
|
25
27
|
const agent_envelope_1 = require("./agent-envelope");
|
|
26
28
|
const spend_ledger_1 = require("./spend-ledger");
|
|
@@ -256,7 +258,10 @@ owned) {
|
|
|
256
258
|
* instead would have produced a tidy $0.00 for a night of work.
|
|
257
259
|
*/
|
|
258
260
|
const record = (0, spend_ledger_1.recordingSpend)(role, now, deps.home, deps.runId);
|
|
261
|
+
/** Which named account the last call used; read by the recording wrapper below. */
|
|
262
|
+
let lastAccountName = null;
|
|
259
263
|
const invoke = async (prompt, timeoutMs) => {
|
|
264
|
+
lastAccountName = null;
|
|
260
265
|
const started = now();
|
|
261
266
|
const fail = (why) => ({
|
|
262
267
|
ok: false,
|
|
@@ -290,6 +295,9 @@ owned) {
|
|
|
290
295
|
let argv;
|
|
291
296
|
/** Set only on the mediated path; the provider's own profile. */
|
|
292
297
|
let claudeConfigDir = null;
|
|
298
|
+
/** Set only on the mediated path; which named account that profile is. */
|
|
299
|
+
let accountName = null;
|
|
300
|
+
let lastRefusal = '';
|
|
293
301
|
// Where a CONFIGURED transport's runtime lives, so its command can be
|
|
294
302
|
// resolved. This is what `agent.runtime` means now: provider runtime
|
|
295
303
|
// requirements, declared by a person, NOT project filesystem authority. It
|
|
@@ -364,19 +372,54 @@ owned) {
|
|
|
364
372
|
* `.looply/config.yaml` lives inside the worktree the model may edit, and
|
|
365
373
|
* a worker that could name this directory could point it at one it wrote.
|
|
366
374
|
*/
|
|
367
|
-
claudeConfigDir = (0, provider_state_1.providerProfileDir)({ home: deps.home });
|
|
368
375
|
/**
|
|
369
|
-
*
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
*
|
|
376
|
+
* WHICH OF THE MACHINE'S AI ACCOUNTS (`provider-accounts.ts`). With no
|
|
377
|
+
* named account this is always `default`, the legacy profile, so a
|
|
378
|
+
* machine nobody configured runs exactly as before. Chosen per call: an
|
|
379
|
+
* account that started resting after a usage limit is skipped until its
|
|
380
|
+
* reset, and one found logged out is skipped for the rest of this call.
|
|
373
381
|
*/
|
|
374
|
-
const
|
|
375
|
-
|
|
382
|
+
const home = deps.home ?? (0, node_os_1.homedir)();
|
|
383
|
+
const skip = [];
|
|
384
|
+
for (;;) {
|
|
385
|
+
const choice = (0, provider_accounts_1.chooseAccountForCall)({
|
|
386
|
+
role: role,
|
|
387
|
+
projectId: deps.accountScope?.projectId ?? null,
|
|
388
|
+
requesterRef: deps.accountScope?.requesterRef ?? null,
|
|
389
|
+
now: now(),
|
|
390
|
+
skip,
|
|
391
|
+
}, home);
|
|
392
|
+
if (choice.kind === 'none') {
|
|
393
|
+
return fail(skip.length > 0 ? lastRefusal : `the agent did not run: provider_no_account — ${choice.because}`);
|
|
394
|
+
}
|
|
395
|
+
accountName = choice.entry.name;
|
|
396
|
+
claudeConfigDir = choice.entry.profileDir;
|
|
397
|
+
/**
|
|
398
|
+
* ⚠️ CHECKED IN THE SAME PROFILE AND ENVIRONMENT THE RUN WILL USE, or it
|
|
399
|
+
* answers a different question — the mistake `doctor --provider` was
|
|
400
|
+
* repaired for once already. It costs no model turn: `auth status` is
|
|
401
|
+
* local and prints the profile's own state.
|
|
402
|
+
*/
|
|
403
|
+
const ready = (deps.checkAuth ?? provider_state_1.checkProviderAuth)(executable, { ...(0, exec_domains_1.buildProviderEnv)(sessionDir), CLAUDE_CONFIG_DIR: claudeConfigDir }, { home: deps.home, profile: claudeConfigDir });
|
|
404
|
+
const known = (0, provider_accounts_1.readAccountStates)(home)[accountName];
|
|
405
|
+
if (ready.ok) {
|
|
406
|
+
const plan = (0, provider_accounts_1.planOf)(ready.plan);
|
|
407
|
+
if (known?.ready !== true || known.plan !== plan || known.authMethod !== ready.method) {
|
|
408
|
+
(0, provider_accounts_1.recordAccountReadiness)(accountName, { ready: true, reason: null, authMethod: ready.method, plan }, now(), home);
|
|
409
|
+
}
|
|
410
|
+
break;
|
|
411
|
+
}
|
|
376
412
|
// The reason is carried through rather than flattened: only one of the
|
|
377
413
|
// five means "log in", and telling somebody to re-authenticate when the
|
|
378
414
|
// executable is missing wastes their afternoon.
|
|
379
|
-
|
|
415
|
+
lastRefusal = `the agent did not run: provider_${ready.reason} — ${ready.because}`;
|
|
416
|
+
if (ready.reason !== 'unauthenticated')
|
|
417
|
+
return fail(lastRefusal);
|
|
418
|
+
if (known?.ready !== false) {
|
|
419
|
+
(0, provider_accounts_1.recordAccountReadiness)(accountName, { ready: false, reason: 'not_logged_in' }, now(), home);
|
|
420
|
+
}
|
|
421
|
+
// Logged out: try the next account this work may use, if there is one.
|
|
422
|
+
skip.push(accountName);
|
|
380
423
|
}
|
|
381
424
|
// The role's model and effort sit between the mediation flags and the
|
|
382
425
|
// tool allowlist. ALWAYS present now: config.yaml, then the project's
|
|
@@ -469,6 +512,7 @@ owned) {
|
|
|
469
512
|
verbatim = WIN_HOST;
|
|
470
513
|
runtimePath = declared.paths;
|
|
471
514
|
}
|
|
515
|
+
lastAccountName = accountName;
|
|
472
516
|
const base = (0, exec_domains_1.buildProviderEnv)(sessionDir, forwarded(spec, isReserved));
|
|
473
517
|
const env = {
|
|
474
518
|
...base,
|
|
@@ -600,7 +644,24 @@ owned) {
|
|
|
600
644
|
*/
|
|
601
645
|
const format = builtIn ? requested : 'text';
|
|
602
646
|
const env = format === 'json' ? (0, agent_envelope_1.parseAgentEnvelope)(r.output ?? '') : null;
|
|
603
|
-
record({
|
|
647
|
+
record({
|
|
648
|
+
ms: r.ms,
|
|
649
|
+
...(env?.cost === undefined ? {} : { cost: env.cost }),
|
|
650
|
+
...(lastAccountName === null ? {} : { account: lastAccountName }),
|
|
651
|
+
});
|
|
652
|
+
/**
|
|
653
|
+
* A USAGE LIMIT RESTS THE ACCOUNT THAT MET IT, for every daemon on this
|
|
654
|
+
* machine, until the reset it states (see `provider-limit.ts`). Read off
|
|
655
|
+
* the CLI's own envelope only — the built-in provider's — never the
|
|
656
|
+
* model's prose. The caller decides whether to ask again on another
|
|
657
|
+
* account (`failingOverAccounts`) or to wait.
|
|
658
|
+
*/
|
|
659
|
+
if (lastAccountName !== null && format === 'json') {
|
|
660
|
+
const limit = (0, provider_limit_1.providerLimitOf)(r, now());
|
|
661
|
+
if (limit !== null)
|
|
662
|
+
(0, provider_accounts_1.markAccountResting)(lastAccountName, (0, provider_limit_1.quietUntilOf)(limit, now()), limit.because, deps.home ?? (0, node_os_1.homedir)());
|
|
663
|
+
}
|
|
664
|
+
deps.onAccount?.(lastAccountName);
|
|
604
665
|
return r;
|
|
605
666
|
};
|
|
606
667
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-transport.js","sourceRoot":"","sources":["../src/model-transport.ts"],"names":[],"mappings":";;;AAyFA,gDAKC;AAGD,sCAMC;AAUD,kCAIC;AA0DD,8CAEC;AAED,gDAaC;AAQD,0CAGC;AA2DD,0DA2ZC;AAjqBD,2DAA2C;AAC3C,6CAAyC;AACzC,qCAAgD;AAChD,qCAAkC;AAClC,yCAAsD;AACtD,6CAA+E;AAC/E,mDAAqD;AACrD,6DAAwD;AACxD,iDAAkD;AAClD,qDAA8C;AAE9C,mFAAmF;AACnF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAE9C,qDAAgG;AAChG,+CAA6D;AAE7D,qDAAsD;AACtD,iDAAgD;AAChD,mDAA4C;AAC5C,qDAA0D;AAE1D,mDAAkE;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;;;;;;GAcG;AACU,QAAA,0BAA0B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAU1D;;;;;;;;;;;GAWG;AACH,SAAgB,kBAAkB,CAAC,UAAkB,EAAE,IAAc,EAAE,OAAe,IAAA,iBAAO,GAAE;IAC7F,MAAM,MAAM,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvG,MAAM,GAAG,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;IAC5E,IAAA,mBAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6EAA6E;AAC7E,SAAgB,aAAa,CAAC,MAAiB;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,UAAU,EAAE;YACV,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;SAC9D;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,OAA2B,EAAE;IACvD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IACpD,MAAM,MAAM,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9C,OAAO,IAAA,oBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AACpF,CAAC;AAsCD;;;;;;;;;;;;GAYG;AACH;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,IAAe;IAC/C,OAAO,IAAI,CAAC,OAAO,KAAK,0BAAa,CAAC,OAAO,CAAC;AAChD,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAiB,EAAE,MAAuB;IAC3E,OAAO;QACL,IAAI;QACJ,iBAAiB;QACjB,MAAM;QACN,iCAAiC;QACjC,SAAS;QACT,EAAE;QACF,iDAAiD;QACjD,qBAAqB;QACrB,cAAc;QACd,aAAa,CAAC,MAAM,CAAC;KACtB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAc,EAAE,MAAiB;IAC/D,MAAM,KAAK,GAAG,2BAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,0EAA0E;AAC1E,SAAS,SAAS,CAAC,IAAe,EAAE,QAAmC;IACrE,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;QAClC,IAAI,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mEAAmE;AACnE,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACU,QAAA,qBAAqB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACnF,kBAAkB,EAAE,OAAO;CAC5B,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,SAAgB,uBAAuB,CACrC,UAAkB,EAClB,IAAc,EACd,OAAkB,0BAAa,EAC/B,OAA2B,EAAE;AAC7B;;;;;;;;;;;;;;;;GAgBG;AACH,KAAqB;IAErB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,0BAAK,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,MAAM,GAAG,IAAA,6BAAc,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,KAAK,EAAE,MAAc,EAAE,SAAiB,EAA0B,EAAE;QACjF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,GAAW,EAAiB,EAAE,CAAC,CAAC;YAC5C,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,KAAK;YACf,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO;YACnB,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAc;YACxB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ;YAC5C,uEAAuE;YACvE,oEAAoE;YACpE,yEAAyE;YACzE,uEAAuE;YACvE,mDAAmD;YACnD,kEAAkE;YAClE,sEAAsE;YACtE,sEAAsE;YACtE,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,wEAAwE;YACxE,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAA,iBAAO,GAAE,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAChF,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,4BAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAC/F;SACF,CAAC;QAEF,IAAI,UAAkB,CAAC;QACvB,IAAI,IAAc,CAAC;QACnB,iEAAiE;QACjE,IAAI,eAAe,GAAkB,IAAI,CAAC;QAC1C,sEAAsE;QACtE,qEAAqE;QACrE,2EAA2E;QAC3E,2EAA2E;QAC3E,2CAA2C;QAC3C,IAAI,WAAW,GAAsB,EAAE,CAAC;QACxC,uEAAuE;QACvE,4EAA4E;QAC5E,0EAA0E;QAC1E,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,IAAI,CAAC,OAAO,KAAK,0BAAa,CAAC,OAAO,EAAE,CAAC;YAC3C;;;;;;eAMG;YACH;;;;eAIG;YACH,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,KAAK,SAAS;gBAC3B,CAAC,CAAC,IAAI,CAAC,UAAU;gBACjB,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;oBAC7B,CAAC,CAAC,IAAA,qCAAgB,EAAC,SAAS,CAAC,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI;oBACvD,CAAC,CAAC,IAAA,sCAAqB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,IAAI,CACT,0GAA0G;oBACxG,oFAAoF,CACvF,CAAC;YACJ,CAAC;YACD,yEAAyE;YACzE,yEAAyE;YACzE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACnE,MAAM,MAAM,GAAG,IAAA,kCAAkB,EAAC,CAAC,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAChF,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,OAAO,IAAI,CAAC,0BAA0B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD;;;;;;;;;;eAUG;YACH,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC5B,IAAI,CAAC,IAAA,sBAAU,EAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC,qEAAqE,GAAG,GAAG,CAAC,CAAC;gBAC3F,CAAC;gBACD,IAAI,CAAC,IAAA,oBAAU,EAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC,oDAAoD,GAAG,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,MAAM,GAAG,IAAA,kCAAkB,EAAC,CAAC,IAAA,mBAAO,EAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,OAAO,IAAI,CAAC,0BAA0B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,8EAA8E;YAC9E,2EAA2E;YAC3E,UAAU,GAAG,UAAU,CAAC;YACxB;;;;;;;;eAQG;YACH,eAAe,GAAG,IAAA,mCAAkB,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D;;;;;eAKG;YACH,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,kCAAiB,CAAC,CACjD,UAAU,EACV,EAAE,GAAG,IAAA,+BAAgB,EAAC,UAAU,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,EACvE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACpB,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACd,uEAAuE;gBACvE,wEAAwE;gBACxE,gDAAgD;gBAChD,OAAO,IAAI,CAAC,mCAAmC,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,sEAAsE;YACtE,sEAAsE;YACtE,qEAAqE;YACrE,iEAAiE;YACjE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,uCAAsB,EAAC,UAAU,CAAC,CAAC;YAC1G,IAAI,GAAG;gBACL,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC;gBACxC,qEAAqE;gBACrE,uEAAuE;gBACvE,oDAAoD;gBACpD,GAAG,IAAA,yBAAS,EAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;gBACpE,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;aACjC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,sEAAsE;YACtE,mCAAmC;YACnC,MAAM,QAAQ,GAAG,IAAA,kCAAkB,EAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/E,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC,0BAA0B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,wEAAwE;YACxE,wEAAwE;YACxE,wEAAwE;YACxE;;;;;;eAMG;YACH;;;;;;;;;;;;;;;eAeG;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YAC3C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CACT,4FAA4F;oBAC1F,4FAA4F;oBAC5F,kFAAkF,CACrF,CAAC;YACJ,CAAC;YACD;;;;;;;;;;;;;;;;;;;;;;;eAuBG;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,IAAA,2BAAU,GAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/F,UAAU,GAAG,KAAK,CAAC;YACnB;;;;eAIG;YACH,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtE,0EAA0E;YAC1E,6CAA6C;YAC7C,QAAQ,GAAG,QAAQ,CAAC;YACpB,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QACvE,MAAM,GAAG,GAA2B;YAClC,GAAG,IAAI;YACP,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;gBAC1B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzF,uEAAuE;YACvE,oEAAoE;YACpE,yDAAyD;YACzD,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC;YACxC,gBAAgB,EAAE,2BAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7F,0EAA0E;YAC1E,0EAA0E;YAC1E,kCAAkC;YAClC,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,6BAAqB,EAAE,CAAC;SACtG,CAAC;QAEF,OAAO,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;YAClD,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB;;;;eAIG;YACH,MAAM,MAAM,GAAG,CAAC,KAAa,EAAQ,EAAE;gBACrC,GAAG,IAAI,KAAK,CAAC;gBACb,IAAI,GAAG,CAAC,MAAM,GAAG,kCAA0B,EAAE,CAAC;oBAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,kCAA0B,CAAC;oBACrD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACtB,YAAY,IAAI,IAAI,CAAC;gBACvB,CAAC;YACH,CAAC,CAAC;YACF,MAAM,SAAS,GAAG,GAAW,EAAE,CAC7B,YAAY,KAAK,CAAC;gBAChB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,KAAK,YAAY,qDAAqD,kCAA0B,uBAAuB,GAAG,EAAE,CAAC;YACnI,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,KAAiC,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE;gBACtC,GAAG,EAAE,UAAU;gBACf,sEAAsE;gBACtE,mEAAmE;gBACnE,qEAAqE;gBACrE,qBAAqB;gBACrB,GAAG,EAAE,GAAwB;gBAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,kEAAkE;gBAClE,gEAAgE;gBAChE,0DAA0D;gBAC1D,KAAK,EAAE,KAAK;gBACZ,8DAA8D;gBAC9D,WAAW,EAAE,IAAI;gBACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC,CAAC;YACH,0EAA0E;YAC1E,yDAAyD;YACzD,IAAI,OAAiC,CAAC;YACtC,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;gBACtB,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;oBACpB,GAAG;oBACH,KAAK,EAAE,oBAAoB,IAAI,GAAG;oBAClC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;iBAC1B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,CAAgB,EAAQ,EAAE;gBACxC,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,OAAO,EAAE,EAAE,CAAC;gBACZ,IAAI,KAAK,KAAK,SAAS;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC7C,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,CAAC;YACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACrF,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACxB,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CACtF,CAAC;YACF,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAClF,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,IAAI,CAAC;gBACH,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,+EAA+E;YACjF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,KAAK,EAAE,MAAc,EAAE,SAAiB,EAA0B,EAAE;QACzE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC1C;;;;;;;;;;;;;;;;;;;;;WAqBG;QACH;;;;;;;;;;;;;;WAcG;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,mCAAkB,EAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,QAAQ,CAAC,GAAuB;IACvC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO;IAC9B,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC;;;;;;;;eAQG;YACH,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,IAAA,2BAAU,GAAE,EAAE,UAAU,CAAC,CAAC;YAChD,IAAA,0BAAK,EAAC,IAAA,gBAAI,EAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;gBACvE,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,QAAQ;gBACb,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"model-transport.js","sourceRoot":"","sources":["../src/model-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type AccountAuth, type AccountEntry } from './provider-accounts';
|
|
2
|
+
import type { ProviderAuthState } from './provider-state';
|
|
3
|
+
/**
|
|
4
|
+
* `looply provider login --name <n>`, `looply provider accounts`, `looply provider remove --name <n>`.
|
|
5
|
+
*
|
|
6
|
+
* Several AI accounts on one machine, each in its own profile directory. The
|
|
7
|
+
* login is the provider's own flow, run in the person's terminal; Looply keeps
|
|
8
|
+
* the directory's path and reads back only "logged in", the auth method and
|
|
9
|
+
* the plan name.
|
|
10
|
+
*
|
|
11
|
+
* ⚠️ A PERSONAL CLAUDE PRO OR MAX SUBSCRIPTION IS FOR ITS OWNER'S OWN USE. Only
|
|
12
|
+
* an API-key or a Team/Enterprise account may be shared with a workspace; the
|
|
13
|
+
* machine refuses the rest (see core `policyProblemFor`).
|
|
14
|
+
*/
|
|
15
|
+
export declare const ACCOUNTS_USAGE: string;
|
|
16
|
+
export interface AccountsCmdDeps {
|
|
17
|
+
readonly home: string;
|
|
18
|
+
readonly platform: NodeJS.Platform;
|
|
19
|
+
readonly interactive: boolean;
|
|
20
|
+
now(): number;
|
|
21
|
+
/** The Claude Code executable Looply runs, or null when it is not installed. */
|
|
22
|
+
claudeExecutable(): string | null;
|
|
23
|
+
checkClaude(executable: string, profileDir: string): ProviderAuthState;
|
|
24
|
+
checkCodex(profileDir: string): AccountAuth;
|
|
25
|
+
codexExecutable(): string | null;
|
|
26
|
+
/** Run a login in the person's terminal with `env` added; its exit code. */
|
|
27
|
+
login(executable: string, args: readonly string[], env: Record<string, string>): Promise<number>;
|
|
28
|
+
out(line: string): void;
|
|
29
|
+
err(line: string): void;
|
|
30
|
+
}
|
|
31
|
+
interface Flags {
|
|
32
|
+
name?: string;
|
|
33
|
+
provider?: string;
|
|
34
|
+
label?: string;
|
|
35
|
+
bad?: string;
|
|
36
|
+
}
|
|
37
|
+
export declare function parseAccountFlags(args: readonly string[]): Flags;
|
|
38
|
+
/** Whether `looply provider <verb> <args>` is an accounts command (and not the original single-profile one). */
|
|
39
|
+
export declare function isAccountsCommand(verb: string, args: readonly string[]): boolean;
|
|
40
|
+
/** Ask one account whether it is logged in, and remember the answer for the choosing and the heartbeat. */
|
|
41
|
+
export declare function checkAccount(entry: AccountEntry, deps: AccountsCmdDeps): AccountAuth;
|
|
42
|
+
export declare function accountsCommand(verb: string, args: readonly string[], deps: AccountsCmdDeps): Promise<number>;
|
|
43
|
+
export declare function nodeAccountsDeps(base: {
|
|
44
|
+
claudeExecutable(): string | null;
|
|
45
|
+
checkClaude(executable: string, profileDir: string): ProviderAuthState;
|
|
46
|
+
codexExecutable(): string | null;
|
|
47
|
+
login(executable: string, args: readonly string[], env: Record<string, string>): Promise<number>;
|
|
48
|
+
}): AccountsCmdDeps;
|
|
49
|
+
/** How long one account's readiness answer is trusted, machine-wide, before a daemon asks again. */
|
|
50
|
+
export declare const ACCOUNT_READINESS_TTL_MS: number;
|
|
51
|
+
/**
|
|
52
|
+
* Ask each account whose last answer is older than the TTL whether it is
|
|
53
|
+
* logged in. Machine-wide: with many daemons on one machine, the first to find
|
|
54
|
+
* a stale answer refreshes it and the others read it.
|
|
55
|
+
*/
|
|
56
|
+
export declare function refreshAccountReadiness(deps: AccountsCmdDeps): number;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=provider-accounts-cmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-accounts-cmd.d.ts","sourceRoot":"","sources":["../src/provider-accounts-cmd.ts"],"names":[],"mappings":"AAEA,OAAO,EAUL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,cAAc,QAKf,CAAC;AAEb,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,GAAG,IAAI,MAAM,CAAC;IACd,gFAAgF;IAChF,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACvE,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC;IAC5C,eAAe,IAAI,MAAM,GAAG,IAAI,CAAC;IACjC,4EAA4E;IAC5E,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAmBhE;AAED,gHAAgH;AAChH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGhF;AAYD,2GAA2G;AAC3G,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA4BpF;AAMD,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA0GnH;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACvE,eAAe,IAAI,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClG,GAAG,eAAe,CAclB;AAED,oGAAoG;AACpG,eAAO,MAAM,wBAAwB,QAAa,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAcrE"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ACCOUNT_READINESS_TTL_MS = exports.ACCOUNTS_USAGE = void 0;
|
|
4
|
+
exports.parseAccountFlags = parseAccountFlags;
|
|
5
|
+
exports.isAccountsCommand = isAccountsCommand;
|
|
6
|
+
exports.checkAccount = checkAccount;
|
|
7
|
+
exports.accountsCommand = accountsCommand;
|
|
8
|
+
exports.nodeAccountsDeps = nodeAccountsDeps;
|
|
9
|
+
exports.refreshAccountReadiness = refreshAccountReadiness;
|
|
10
|
+
const node_os_1 = require("node:os");
|
|
11
|
+
const core_1 = require("@looply/core");
|
|
12
|
+
const provider_accounts_1 = require("./provider-accounts");
|
|
13
|
+
/**
|
|
14
|
+
* `looply provider login --name <n>`, `looply provider accounts`, `looply provider remove --name <n>`.
|
|
15
|
+
*
|
|
16
|
+
* Several AI accounts on one machine, each in its own profile directory. The
|
|
17
|
+
* login is the provider's own flow, run in the person's terminal; Looply keeps
|
|
18
|
+
* the directory's path and reads back only "logged in", the auth method and
|
|
19
|
+
* the plan name.
|
|
20
|
+
*
|
|
21
|
+
* ⚠️ A PERSONAL CLAUDE PRO OR MAX SUBSCRIPTION IS FOR ITS OWNER'S OWN USE. Only
|
|
22
|
+
* an API-key or a Team/Enterprise account may be shared with a workspace; the
|
|
23
|
+
* machine refuses the rest (see core `policyProblemFor`).
|
|
24
|
+
*/
|
|
25
|
+
exports.ACCOUNTS_USAGE = [
|
|
26
|
+
'looply provider login --name <name> [--provider claude|codex] [--label "<text>"]',
|
|
27
|
+
' sign in a named AI account, in its own profile on this machine',
|
|
28
|
+
'looply provider accounts every AI account on this machine: ready, resting, usage, settings',
|
|
29
|
+
'looply provider remove --name <name> forget a named account (its profile folder is left in place)',
|
|
30
|
+
].join('\n');
|
|
31
|
+
function parseAccountFlags(args) {
|
|
32
|
+
const f = {};
|
|
33
|
+
for (let i = 0; i < args.length; i++) {
|
|
34
|
+
const a = args[i];
|
|
35
|
+
const take = () => {
|
|
36
|
+
const eq = a.indexOf('=');
|
|
37
|
+
if (eq !== -1)
|
|
38
|
+
return a.slice(eq + 1);
|
|
39
|
+
i += 1;
|
|
40
|
+
return args[i];
|
|
41
|
+
};
|
|
42
|
+
if (a === '--name' || a.startsWith('--name='))
|
|
43
|
+
f.name = take();
|
|
44
|
+
else if (a === '--provider' || a.startsWith('--provider='))
|
|
45
|
+
f.provider = take();
|
|
46
|
+
else if (a === '--label' || a.startsWith('--label='))
|
|
47
|
+
f.label = take();
|
|
48
|
+
else {
|
|
49
|
+
f.bad = a;
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return f;
|
|
54
|
+
}
|
|
55
|
+
/** Whether `looply provider <verb> <args>` is an accounts command (and not the original single-profile one). */
|
|
56
|
+
function isAccountsCommand(verb, args) {
|
|
57
|
+
if (verb === 'accounts' || verb === 'remove')
|
|
58
|
+
return true;
|
|
59
|
+
return verb === 'login' && args.some((a) => a === '--name' || a.startsWith('--name=') || a === '--provider' || a.startsWith('--provider='));
|
|
60
|
+
}
|
|
61
|
+
function envFor(entry) {
|
|
62
|
+
return entry.provider === 'codex' ? { CODEX_HOME: entry.profileDir } : { CLAUDE_CONFIG_DIR: entry.profileDir };
|
|
63
|
+
}
|
|
64
|
+
function loginLine(exe, entry, platform) {
|
|
65
|
+
const [k, v] = Object.entries(envFor(entry))[0];
|
|
66
|
+
const args = entry.provider === 'codex' ? 'login' : 'auth login';
|
|
67
|
+
return platform === 'win32' ? `$env:${k}="${v}"; & "${exe}" ${args}` : `${k}="${v}" "${exe}" ${args}`;
|
|
68
|
+
}
|
|
69
|
+
/** Ask one account whether it is logged in, and remember the answer for the choosing and the heartbeat. */
|
|
70
|
+
function checkAccount(entry, deps) {
|
|
71
|
+
let auth;
|
|
72
|
+
if (entry.provider === 'codex') {
|
|
73
|
+
auth = deps.checkCodex(entry.profileDir);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
const exe = deps.claudeExecutable();
|
|
77
|
+
if (exe === null) {
|
|
78
|
+
auth = { ok: false, reason: 'not_installed', because: 'Claude Code is not installed — run `looply provider install`' };
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const r = deps.checkClaude(exe, entry.profileDir);
|
|
82
|
+
auth = r.ok
|
|
83
|
+
? { ok: true, authMethod: r.method, plan: (0, provider_accounts_1.planOf)(r.plan) }
|
|
84
|
+
: {
|
|
85
|
+
ok: false,
|
|
86
|
+
reason: r.reason === 'unauthenticated' ? 'not_logged_in' : r.reason === 'no_executable' ? 'not_installed' : 'unknown',
|
|
87
|
+
because: r.because,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
(0, provider_accounts_1.recordAccountReadiness)(entry.name, auth.ok
|
|
92
|
+
? { ready: true, reason: null, authMethod: auth.authMethod, plan: auth.plan }
|
|
93
|
+
: { ready: false, reason: auth.reason }, deps.now(), deps.home);
|
|
94
|
+
return auth;
|
|
95
|
+
}
|
|
96
|
+
function fmtTokens(n) {
|
|
97
|
+
return n >= 1_000_000 ? `${(n / 1_000_000).toFixed(1)}M` : n >= 1000 ? `${(n / 1000).toFixed(1)}k` : String(n);
|
|
98
|
+
}
|
|
99
|
+
async function accountsCommand(verb, args, deps) {
|
|
100
|
+
const flags = parseAccountFlags(args);
|
|
101
|
+
if (flags.bad !== undefined) {
|
|
102
|
+
deps.err(`looply provider ${verb}: ${JSON.stringify(flags.bad)} — no idea what that means\n\n${exports.ACCOUNTS_USAGE}`);
|
|
103
|
+
return 64;
|
|
104
|
+
}
|
|
105
|
+
switch (verb) {
|
|
106
|
+
case 'login': {
|
|
107
|
+
const name = flags.name ?? core_1.DEFAULT_ACCOUNT_NAME;
|
|
108
|
+
const provider = (flags.provider ?? 'claude');
|
|
109
|
+
if (provider !== 'claude' && provider !== 'codex') {
|
|
110
|
+
deps.err(`looply provider login: --provider must be claude or codex, not ${JSON.stringify(flags.provider)}`);
|
|
111
|
+
return 64;
|
|
112
|
+
}
|
|
113
|
+
let entry;
|
|
114
|
+
try {
|
|
115
|
+
entry = (0, provider_accounts_1.addAccount)({ name, provider, ...(flags.label !== undefined ? { label: flags.label } : {}) }, deps.home);
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
deps.err(`looply provider login: ${e.message}`);
|
|
119
|
+
return 1;
|
|
120
|
+
}
|
|
121
|
+
const exe = provider === 'codex' ? deps.codexExecutable() : deps.claudeExecutable();
|
|
122
|
+
if (exe === null) {
|
|
123
|
+
deps.err(provider === 'codex'
|
|
124
|
+
? 'looply provider login: codex is not installed on this machine. Install it (npm i -g @openai/codex), then run this again.'
|
|
125
|
+
: 'looply provider login: Claude Code is not installed yet — run `looply provider install` first.');
|
|
126
|
+
return 1;
|
|
127
|
+
}
|
|
128
|
+
deps.out(`provider: account "${entry.name}" (${provider}) — its own profile at ${entry.profileDir}`);
|
|
129
|
+
if (!deps.interactive) {
|
|
130
|
+
deps.err('looply provider login: signing in needs a terminal. Run this in one:');
|
|
131
|
+
deps.err(` ${loginLine(exe, entry, deps.platform)}`);
|
|
132
|
+
return 1;
|
|
133
|
+
}
|
|
134
|
+
const code = await deps.login(exe, provider === 'codex' ? ['login'] : ['auth', 'login'], envFor(entry));
|
|
135
|
+
const after = checkAccount(entry, deps);
|
|
136
|
+
if (after.ok) {
|
|
137
|
+
deps.out(`provider: "${entry.name}" is signed in (${after.authMethod ?? 'unknown method'}${after.plan ? `, ${after.plan} plan` : ''}).`);
|
|
138
|
+
if (after.plan === 'pro' || after.plan === 'max' || after.authMethod === 'claude.ai' || after.authMethod === 'chatgpt') {
|
|
139
|
+
deps.out(` ${core_1.PERSONAL_NOT_SHAREABLE}`);
|
|
140
|
+
}
|
|
141
|
+
deps.out(' Its owner chooses who may use it, for which projects and roles, in AutoRyn → AI accounts.');
|
|
142
|
+
return 0;
|
|
143
|
+
}
|
|
144
|
+
deps.err(`provider: "${entry.name}" is still not signed in${code === 0 ? '' : ` (exit ${code})`} — ${after.because}`);
|
|
145
|
+
return 1;
|
|
146
|
+
}
|
|
147
|
+
case 'remove': {
|
|
148
|
+
if (flags.name === undefined) {
|
|
149
|
+
deps.err(`looply provider remove: say which account: --name <name>\n\n${exports.ACCOUNTS_USAGE}`);
|
|
150
|
+
return 64;
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const removed = (0, provider_accounts_1.removeAccount)(flags.name, deps.home);
|
|
154
|
+
if (!removed) {
|
|
155
|
+
deps.err(`looply provider remove: there is no account named "${flags.name}" on this machine`);
|
|
156
|
+
return 1;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
catch (e) {
|
|
160
|
+
deps.err(`looply provider remove: ${e.message}`);
|
|
161
|
+
return 1;
|
|
162
|
+
}
|
|
163
|
+
deps.out(`provider: forgot account "${flags.name}". Its profile folder was left in place; delete it yourself to sign it out for good.`);
|
|
164
|
+
return 0;
|
|
165
|
+
}
|
|
166
|
+
case 'accounts': {
|
|
167
|
+
for (const e of (0, provider_accounts_1.readAccounts)(deps.home))
|
|
168
|
+
checkAccount(e, deps);
|
|
169
|
+
const policies = new Map((0, provider_accounts_1.readAccountPolicies)(deps.home).map((p) => [p.name, p]));
|
|
170
|
+
const reports = (0, provider_accounts_1.accountReports)(deps.home, deps.now());
|
|
171
|
+
deps.out(`provider: ${reports.length} AI account${reports.length === 1 ? '' : 's'} on this machine`);
|
|
172
|
+
for (const r of reports) {
|
|
173
|
+
const p = policies.get(r.name);
|
|
174
|
+
const state = !r.ready
|
|
175
|
+
? `NOT READY (${r.reason})`
|
|
176
|
+
: r.restingUntil !== null
|
|
177
|
+
? `resting until ${r.restingUntil}`
|
|
178
|
+
: 'ready';
|
|
179
|
+
deps.out(` ${r.name.padEnd(16)} ${r.provider.padEnd(6)} ${state}` +
|
|
180
|
+
`${r.plan ? ` · ${r.plan}` : r.authMethod ? ` · ${r.authMethod}` : ''}` +
|
|
181
|
+
` · today ${fmtTokens(r.usage.dayTokens)} / week ${fmtTokens(r.usage.weekTokens)} tokens`);
|
|
182
|
+
if (r.label !== r.name)
|
|
183
|
+
deps.out(` ${''.padEnd(16)} label: ${r.label}`);
|
|
184
|
+
if (r.restingBecause)
|
|
185
|
+
deps.out(` ${''.padEnd(16)} ${r.restingBecause}`);
|
|
186
|
+
if (p === undefined) {
|
|
187
|
+
deps.out(` ${''.padEnd(16)} no settings yet: usable for all work on this machine`);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
deps.out(` ${''.padEnd(16)} ${p.enabled ? '' : 'OFF · '}${p.sharing === 'workspace' ? 'the whole workspace' : `only ${p.ownerLabel ?? 'its owner'}`}` +
|
|
191
|
+
` · priority ${p.priority}` +
|
|
192
|
+
`${p.projects.length ? ` · ${p.projects.length} project(s)` : ''}` +
|
|
193
|
+
`${p.roles.length ? ` · roles ${p.roles.join(', ')}` : ''}` +
|
|
194
|
+
`${p.dailyTokenCap !== null ? ` · daily cap ${fmtTokens(p.dailyTokenCap)}` : ''}` +
|
|
195
|
+
`${p.weeklyTokenCap !== null ? ` · weekly cap ${fmtTokens(p.weeklyTokenCap)}` : ''}`);
|
|
196
|
+
}
|
|
197
|
+
if (r.policyRefused)
|
|
198
|
+
deps.out(` ${''.padEnd(16)} refused: ${r.policyRefused}`);
|
|
199
|
+
}
|
|
200
|
+
return 0;
|
|
201
|
+
}
|
|
202
|
+
default:
|
|
203
|
+
deps.err(`looply provider: unknown action ${JSON.stringify(verb)}\n\n${exports.ACCOUNTS_USAGE}`);
|
|
204
|
+
return 64;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/* istanbul ignore next — real processes; the logic is above */
|
|
208
|
+
function nodeAccountsDeps(base) {
|
|
209
|
+
return {
|
|
210
|
+
home: (0, node_os_1.homedir)(),
|
|
211
|
+
platform: process.platform,
|
|
212
|
+
interactive: Boolean(process.stdin.isTTY && process.stdout.isTTY),
|
|
213
|
+
now: () => Date.now(),
|
|
214
|
+
claudeExecutable: base.claudeExecutable,
|
|
215
|
+
checkClaude: base.checkClaude,
|
|
216
|
+
checkCodex: (profileDir) => (0, provider_accounts_1.checkCodexAuth)(profileDir, { executable: base.codexExecutable() }),
|
|
217
|
+
codexExecutable: base.codexExecutable,
|
|
218
|
+
login: base.login,
|
|
219
|
+
out: (line) => process.stdout.write(`${line}\n`),
|
|
220
|
+
err: (line) => process.stderr.write(`${line}\n`),
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/** How long one account's readiness answer is trusted, machine-wide, before a daemon asks again. */
|
|
224
|
+
exports.ACCOUNT_READINESS_TTL_MS = 5 * 60_000;
|
|
225
|
+
/**
|
|
226
|
+
* Ask each account whose last answer is older than the TTL whether it is
|
|
227
|
+
* logged in. Machine-wide: with many daemons on one machine, the first to find
|
|
228
|
+
* a stale answer refreshes it and the others read it.
|
|
229
|
+
*/
|
|
230
|
+
function refreshAccountReadiness(deps) {
|
|
231
|
+
const states = (0, provider_accounts_1.readAccountStates)(deps.home);
|
|
232
|
+
let asked = 0;
|
|
233
|
+
for (const e of (0, provider_accounts_1.readAccounts)(deps.home)) {
|
|
234
|
+
const at = states[e.name]?.checkedAt;
|
|
235
|
+
if (typeof at === 'number' && deps.now() - at < exports.ACCOUNT_READINESS_TTL_MS)
|
|
236
|
+
continue;
|
|
237
|
+
try {
|
|
238
|
+
checkAccount(e, deps);
|
|
239
|
+
asked += 1;
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
/* one account that cannot be asked never stops the others */
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return asked;
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=provider-accounts-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-accounts-cmd.js","sourceRoot":"","sources":["../src/provider-accounts-cmd.ts"],"names":[],"mappings":"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"}
|