anyray-connect 0.11.21 → 0.11.23
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/cli.js +22 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.js +176 -50
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/managed.js +325 -0
- package/dist/commands/managed.js.map +1 -0
- package/dist/tools/claudeCode.js +6 -53
- package/dist/tools/claudeCode.js.map +1 -1
- package/dist/tools/claudeCodeEnv.js +80 -0
- package/dist/tools/claudeCodeEnv.js.map +1 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -14,6 +14,7 @@ import { clearBundle, clearQueue } from './util/fallbackStore.js';
|
|
|
14
14
|
import { runFallbackProxy } from './commands/fallbackProxy.js';
|
|
15
15
|
import { runAgent } from './commands/agent.js';
|
|
16
16
|
import { runAgentProxy } from './commands/agentProxy.js';
|
|
17
|
+
import { runManaged } from './commands/managed.js';
|
|
17
18
|
import { checkGateway } from './util/preflight.js';
|
|
18
19
|
import { maskKey } from './util/redeem.js';
|
|
19
20
|
import { parseEnrollLink, isEnrollArg, resolveEnrollLink } from './util/enrollLink.js';
|
|
@@ -44,11 +45,15 @@ ${bold('Usage')}
|
|
|
44
45
|
${bold('Subcommands')}
|
|
45
46
|
wizard Interactive guided setup (also the default on a TTY)
|
|
46
47
|
status Show current config: tools pointed at Anyray, gateway, name/team, savings
|
|
47
|
-
doctor Diagnose gateway reachability + tool config; exits non-zero on problems
|
|
48
|
+
doctor Diagnose gateway reachability + tool config; exits non-zero on problems.
|
|
49
|
+
--json prints a shareable content-free report (send it to support);
|
|
50
|
+
--verify also runs the auth smoke probe (one tiny request)
|
|
48
51
|
sync Pull the team's shared skills/instructions into each tool's skills dir
|
|
49
52
|
agent Capture AI usage from desktop & browser apps (ChatGPT / Claude
|
|
50
53
|
desktop, Copilot, browsers) via a local intercepting proxy +
|
|
51
54
|
device CA. See \`anyray-connect agent\` for its subcommands.
|
|
55
|
+
managed Emit or install a fleet-wide Claude Code managed-settings.json
|
|
56
|
+
(MDM). See \`anyray-connect managed\` for its modes.
|
|
52
57
|
(no subcommand) Apply the connect flow (wizard-driven when interactive)
|
|
53
58
|
|
|
54
59
|
${bold('Options')}
|
|
@@ -198,6 +203,12 @@ export const parseArgs = (argv) => {
|
|
|
198
203
|
case '--revert':
|
|
199
204
|
args.revert = true;
|
|
200
205
|
break;
|
|
206
|
+
case '--json':
|
|
207
|
+
args.json = true;
|
|
208
|
+
break;
|
|
209
|
+
case '--verify':
|
|
210
|
+
args.verify = true;
|
|
211
|
+
break;
|
|
201
212
|
case '--help':
|
|
202
213
|
case '-h':
|
|
203
214
|
args.help = true;
|
|
@@ -472,6 +483,11 @@ export const run = async (argv) => {
|
|
|
472
483
|
if (argv[0] === 'agent') {
|
|
473
484
|
return runAgent(argv.slice(1));
|
|
474
485
|
}
|
|
486
|
+
// The `managed` subcommand also has its own grammar (--print/--write/--revert
|
|
487
|
+
// + fleet target flags), so route it here too.
|
|
488
|
+
if (argv[0] === 'managed') {
|
|
489
|
+
return runManaged(argv.slice(1));
|
|
490
|
+
}
|
|
475
491
|
// Subcommand dispatch: a known verb as the first token routes to that
|
|
476
492
|
// command. Everything else (a gateway URL, flags, or nothing) runs the apply
|
|
477
493
|
// flow, so the bare `anyray-connect` invocation stays backward compatible.
|
|
@@ -494,7 +510,11 @@ export const run = async (argv) => {
|
|
|
494
510
|
if (sub === 'status')
|
|
495
511
|
return runStatus({ gateway: parsed.gateway });
|
|
496
512
|
if (sub === 'doctor')
|
|
497
|
-
return runDoctor({
|
|
513
|
+
return runDoctor({
|
|
514
|
+
gateway: parsed.gateway,
|
|
515
|
+
json: parsed.json,
|
|
516
|
+
verify: parsed.verify,
|
|
517
|
+
});
|
|
498
518
|
if (sub === 'sync')
|
|
499
519
|
return runSync({ gateway: parsed.gateway });
|
|
500
520
|
// 'wizard' → apply flow with the wizard enabled.
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EACL,oBAAoB,EAEpB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAOlD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,IAAI,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,OAAO,EACP,aAAa,EACb,MAAM,EACN,kBAAkB,EAClB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA0BtD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;;EAEpC,IAAI,CAAC,OAAO,CAAC;;;;EAIb,IAAI,CAAC,aAAa,CAAC;;;;;;;;;;EAUnB,IAAI,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CA6C6B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;EAgBhF,IAAI,CAAC,cAAc,CAAC;oCACc,GAAG,CAAC,aAAa,CAAC;;;;uBAI/B,GAAG,CAAC,MAAM,CAAC,0CAA0C,CAAC;AAE7E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAc,EAAQ,EAAE;IAChD,MAAM,IAAI,GAAS;QACjB,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,KAAK;KACZ,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,WAAW;gBACd,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;gBACnB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;gBACnB,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;gBACrB,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC;gBAC1B,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;gBAClB,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;gBACrB,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;gBAClB,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,eAAe,CAAC;YACrB,KAAK,OAAO;gBACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;qBACxB,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnB,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,KAAK,OAAO,CAAC;YACb,KAAK,IAAI;gBACP,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;gBAChB,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR;gBACE,4EAA4E;gBAC5E,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACrD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;wBACf,CAAC,CAAC,mBAAmB,CAAC,EAAE;wBACxB,CAAC,CAAC,wBAAwB,CAAC,4BAA4B,IAAI,CAAC,OAAO,GAAG,CACzE,CAAC;gBACJ,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,GAAyB,EAAiB,EAAE;IAClE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,iBAAiB,EAAE,aAAa,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAqB,EAAQ,EAAE;IAClD,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1B,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,uBAAuB,GAAG,CAAC,YAAY,CAAC,cAAc,MAAM,YAAY,KAAK,EAAE,CAAC,CAAC;QACtF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CACF,wCAAwC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QAC9C,IAAI,CACF,4CAA4C,GAAG,CAAC,yCAAyC,CAAC,EAAE,CAC7F,CAAC;QACF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CACF,wCAAwC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,wBAAwB,CAAC,EAAE,CACtG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,CACF,wCAAwC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAC1G,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,kBAAkB,MAAM,CAAC,cAAc,IAAI,GAAG,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC,kBAAkB,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;AAChG,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EACpB,QAAuB,EACvB,MAAqB,EACrB,IAAkB,EAClB,MAAe,EACE,EAAE;IACnB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM;gBACnB,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5B,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACnE,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;gBAC5C,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CACF,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,SAAS,GAAG,KAAK,EACrB,IAAU,EACV,OAA2D,EAC5C,EAAE;IACjB,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC5C,IAAI,CACF,GAAG,CAAC,uEAAuE,CAAC,CAC7E,CAAC;IAEF,qEAAqE;IACrE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3B,EAAE,CAAC,KAAK,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,OAAO,CAAC,KAAK,kBAAkB,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,8DAA8D,EAC9D,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CACjC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;aACxB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;IAC7C,CAAC;IAED,yDAAyD;IACzD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,SAAS,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,MAAM;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,2EAA2E;IAC3E,6EAA6E;IAC7E,6BAA6B;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,YAAY,GAAG,KAAK,EAAE,MAAqB,EAAiB,EAAE;IAClE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,cAAc,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,KAAK,EAAE,MAAqB,EAAiB,EAAE;IAC/D,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;SAChD,IACH,OAAO,CAAC,IAAI,KAAK,aAAa;QAC9B,OAAO,CAAC,IAAI,KAAK,SAAS;QAC1B,OAAO,CAAC,IAAI,KAAK,qBAAqB;QACtC,6EAA6E;QAC7E,6EAA6E;QAC7E,+DAA+D;QAC/D,OAAO,CAAC,IAAI,KAAK,mBAAmB;QAEpC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;;QACzB,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM;QAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,KAAK,EAC9B,MAAqB,EACrB,OAAsB,EACtB,IAAY,EACZ,YAAgC,EAChC,YAAgC,EACR,EAAE;IAC1B,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAChC,4DAA4D;IAC5D,MAAM,WAAW,CAAC;QAChB,GAAG,OAAO;QACV,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,IAAI,EAAE,YAAY,IAAI,OAAO,CAAC,IAAI;QAClC,IAAI,EAAE,YAAY,IAAI,OAAO,CAAC,IAAI;QAClC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;QAChD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ;QAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE7C,oEAAoE;IACpE,IAAI,MAAM,GAAmC,IAAI,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,EAAE,CACA,0BAA0B,IAAI,MAAM,MAAM,CAAC,MAAM,mDAAmD,CACrG,CAAC;QACF,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,oFAAoF,CAAC,CAAC;IAC3F,IAAI,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC,CAAC;IACrF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,IAAc,EAAmB,EAAE;IAC3D,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;QAChC,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IACD,8DAA8D;IAC9D,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,4EAA4E;IAC5E,0DAA0D;IAC1D,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,sBAAsB,EAAE,CAAC;QACvC,OAAO,uBAAuB,EAAE,CAAC;IACnC,CAAC;IACD,+EAA+E;IAC/E,2EAA2E;IAC3E,4EAA4E;IAC5E,sEAAsE;IACtE,0EAA0E;IAC1E,8BAA8B;IAC9B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;QACtC,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IACD,8EAA8E;IAC9E,8EAA8E;IAC9E,8CAA8C;IAC9C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE,CAAC;QACnC,MAAM,YAAY,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,qEAAqE;IACrE,6EAA6E;IAC7E,8EAA8E;IAC9E,oEAAoE;IACpE,kDAAkD;IAClD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,yBAAyB,EAAE,CAAC;QAC1C,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IACD,mEAAmE;IACnE,+EAA+E;IAC/E,gFAAgF;IAChF,0EAA0E;IAC1E,iEAAiE;IACjE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,sBAAsB,EAAE,CAAC;QACvC,OAAO,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,sEAAsE;IACtE,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,MAAY,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACjD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,CAAC;YACX,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,iDAAiD;QACjD,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAc,EACd,WAAoB,EACH,EAAE;IACnB,IAAI,IAAU,CAAC;IACf,IAAI,CAAC;QACH,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IAEpC,yEAAyE;IACzE,wEAAwE;IACxE,mCAAmC;IACnC,MAAM,eAAe,GACnB,CAAC,WAAW;QACZ,aAAa,EAAE;QACf,CAAC,IAAI,CAAC,OAAO;QACb,CAAC,IAAI,CAAC,MAAM;QACZ,CAAC,IAAI,CAAC,GAAG;QACT,CAAC,IAAI,CAAC,MAAM;QACZ,CAAC,IAAI,CAAC,MAAM;QACZ,CAAC,IAAI,CAAC,GAAG,CAAC;IACZ,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;QACxD,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,QAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvE,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,+DAA+D,CAAC,CAAC;IACxE,CAAC;IAED,wEAAwE;IACxE,6EAA6E;IAC7E,6EAA6E;IAC7E,iEAAiE;IACjE,IAAI,kBAAsC,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC;gBACnC,kBAAkB,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAC3C,IAAI,CACF,kBAAkB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,QAAQ,CAAC,UAAU,EAAE,CAC/F,CAAC;gBACF,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,IAAI,CACF,6FAA6F,CAC9F,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yEAAyE;gBACzE,0EAA0E;gBAC1E,wEAAwE;gBACxE,gCAAgC;gBAChC,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC;gBAC5D,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CACF,kEAAkE,QAAQ,GAAG,CAC9E,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC7D,OAAO,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,6EAA6E;IAC7E,wDAAwD;IACxD,IAAI,aAAmE,CAAC;IACxE,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CACF,6EAA6E,CAC9E,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;oBAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,UAAU,EAAE,IAAI,CAAC,OAAO;oBACxB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;iBACpB,CAAC,CAAC;gBACH,aAAa,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC3E,IAAI,MAAM,CAAC,YAAY;oBAAE,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU;oBAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;YAC3E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GACjB,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9C,CAAC,CAAC,OAAO,CAAC,OAAO;QACjB,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,aAAa;QAAE,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;IAEhD,0EAA0E;IAC1E,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,YAAgC,CAAC;IACrC,IAAI,YAAgC,CAAC;IAErC,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,MAAM,IAAI,GAAG,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,CACF,GAAG,MAAM,kEAAkE;YACzE,4EAA4E;YAC5E,+BAA+B,CAClC,CAAC;IACJ,CAAC;IAED,IAAI,SAA6B,CAAC;IAElC,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,oDAAoD;IACpD,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,uCAAuC;IACvC,IAAI,YAA2C,CAAC;IAChD,IAAI,kBAAsC,CAAC;IAC3C,IAAI,qBAAyC,CAAC;IAC9C,IAAI,iBAAqD,CAAC;IAC1D,uEAAuE;IACvE,uEAAuE;IACvE,IAAI,kBAAsC,CAAC;IAE3C,4EAA4E;IAC5E,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,aAAa,GAAG,KAAK,EAAE,KAO5B,EAAiB,EAAE;QAClB,qEAAqE;QACrE,sEAAsE;QACtE,mDAAmD;QACnD,MAAM,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,oBAAoB,CACtC,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,kBAAkB,EAC1B,KAAK,CAAC,YAAY,EAClB,IAAI,CAAC,GAAG,EAAE,EACV,kBAAkB,EAClB,OAAO,CAAC,iBAAiB,CAC1B,CAAC;QACF,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,KAAK,GACT,WAAW,IAAI,gBAAgB,IAAI,OAAO,CAAC,YAAY;YACrD,CAAC,CAAC;gBACE,IAAI,EAAE,OAAO,CAAC,YAAY;gBAC1B,aAAa,EAAE,gBAAgB;gBAC/B,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY;aACxD;YACH,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,OAAO,GAAG,CAAC,QAAiB,EAAE,EAAE,CACpC,eAAe,CAAC;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACpC,CAAC,CAAC;QAEL,2EAA2E;QAC3E,6EAA6E;QAC7E,2EAA2E;QAC3E,+CAA+C;QAC/C,IAAI,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;YAC/B,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;oBACjD,IAAI,CACF,4GAA4G,CAC7G,CAAC;oBACF,MAAM,GAAG,KAAK,CAAC;oBACf,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;QAC1B,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACnD,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC;QACtC,2EAA2E;QAC3E,oDAAoD;QACpD,IAAI,CAAC,MAAM;YAAE,qBAAqB,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,iBAAiB,GAAG,kBAAkB,CAAC;QACpD,EAAE,CACA,WAAW,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAChD,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EACzC,4EAA4E,CAC7E,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CACF,mFAAmF,CACpF,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/D,MAAM,aAAa,CAAC;oBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,IAAI,CAAC,IAAI;oBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS;oBACT,YAAY,EAAE,kBAAkB;iBACjC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7D,qEAAqE;gBACrE,mEAAmE;gBACnE,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;oBACxC,IAAI,CACF,gMAAgM,CACjM,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAC1C,MAAM,EACN,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,aAAa,CAC5B,CAAC;YACF,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC;YAC7B,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC;YAChC,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC;YAClC,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1D,qBAAqB,GAAG,aAAa,CAAC,aAAa,CAAC;YACpD,kBAAkB,GAAG,YAAY,CAAC,SAAS,CAAC;YAC5C,EAAE,CACA,WAAW,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa;gBACzE,yEAAyE,CAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;gBACxC,IAAI,CACF,mJAAmJ,CACpJ,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;QACrC,YAAY,GAAG,MAAM,kBAAkB,CACrC,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,IAAI,EACZ,mBAAmB,CACpB,CAAC;QACF,YAAY,GAAG,MAAM,WAAW,CAC9B,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,IAAI,EACZ,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,+EAA+E;IAC/E,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,IAA2B,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5D,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;QAC/B,OAAO,CAAC,yBAAyB,CAAC,CAAC;QACnC,IAAI,CACF,yBACE,IAAI,CAAC,SAAS;YACZ,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC;YACvC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CACnC,EAAE,CACH,CAAC;QACF,IAAI,CACF,yBACE,IAAI,CAAC,MAAM;YACT,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC;YACvC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CACnC,EAAE,CACH,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC;QAC3B,MAAM;QACN,cAAc,EAAE,IAAI,CAAC,GAAG;QACxB,SAAS;QACT,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;IACH,MAAM,IAAI,GAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAEnD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAE/D,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACrB,IAAI,CACF,iFAAiF,CAClF,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,WAAW,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAC3B,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,kBAAkB,CAC/C,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,2EAA2E;IAC3E,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,sBAAsB,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;YACvE,IAAI,CACF,GAAG,CACD,yEAAyE;gBACvE,yDAAyD,CAC5D,CACF,CAAC;YACF,IAAI,CACF,2EAA2E,CAC5E,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,EAAE,CAAC,sBAAsB,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,6EAA6E;IAC7E,gFAAgF;IAChF,mDAAmD;IACnD,MAAM,YAAY,GAChB,CAAC,IAAI,CAAC,MAAM;QACZ,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI;YACrB,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC;IACpE,IAAI,WAAW,GAAG,MAAM,CAAC;IACzB,IAAI,uBAAuB,GAAG,YAAY,CAAC;IAC3C,IAAI,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC;IAChD,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,oBAAoB;YAClB,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;QACrD,WAAW,GAAG,MAAM,kBAAkB,CACpC,MAAM,EACN,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,YAAY,CACb,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEzE,kEAAkE;IAClE,IACE,IAAI,CAAC,MAAM;QACX,CAAC,IAAI,CAAC,MAAM;QACZ,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,EACjD,CAAC;QACD,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,qBAAqB,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ;YAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,WAAW,CAAC;YAChB,GAAG,OAAO;YACV,eAAe,EAAE,KAAK;YACtB,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QACH,EAAE,CAAC,qCAAqC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,SAAS,CAAC,CAAC;IACnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,uDAAuD,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,EAAE,CAAC,aAAa,OAAO,oBAAoB,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,SAAS,OAAO,oBAAoB,CAAC,CAAC;QAEzC,6EAA6E;QAC7E,sEAAsE;QACtE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,sDAAsD,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,wEAAwE;YACxE,yEAAyE;YACzE,2EAA2E;YAC3E,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,gDAAgD;YAChD,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACpC,qEAAqE;QACrE,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,CACF,GAAG;QACD,qEAAqE;QACrE,cAAc,MAAM,CAAC,aAAa,wBAAwB;YACxD,8CAA8C;YAC9C,iCACE,MAAM,CAAC,SAAS;gBACd,CAAC,CAAC,uBAAuB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,2BAA2B;gBAC7E,CAAC,CAAC,MAAM,CAAC,cACb,QAAQ;YACR,mGAAmG,CACtG,CACF,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,yEAAyE;YACzE,uEAAuE;YACvE,2EAA2E;YAC3E,0EAA0E;YAC1E,IAAI,qBAAqB;gBAAE,MAAM,UAAU,CAAC,qBAAqB,CAAC,CAAC;YAEnE,2EAA2E;YAC3E,kEAAkE;YAClE,iEAAiE;YACjE,wEAAwE;YACxE,6EAA6E;YAC7E,MAAM,WAAW,CAAC;gBAChB,GAAG,OAAO;gBACV,OAAO,EAAE,MAAM,CAAC,MAAM;gBACtB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;gBAChD,YAAY,EAAE,YAAY,IAAI,OAAO,CAAC,YAAY;gBAClD,kBAAkB,EAAE,kBAAkB,IAAI,OAAO,CAAC,kBAAkB;gBACpE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,CAAC,iBAAiB;gBACjE,kBAAkB,EAAE,kBAAkB,IAAI,OAAO,CAAC,kBAAkB;gBACpE,0EAA0E;gBAC1E,0EAA0E;gBAC1E,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,sEAAsE;gBACtE,eAAe,EAAE,uBAAuB;gBACxC,YAAY,EAAE,oBAAoB;aACnC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,mEAAmE;QACnE,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -2,107 +2,233 @@
|
|
|
2
2
|
* `anyray-connect doctor` — read-only diagnostics with actionable fixes.
|
|
3
3
|
*
|
|
4
4
|
* Checks: gateway reachability, whether each detected tool's config points at
|
|
5
|
-
* the gateway,
|
|
6
|
-
*
|
|
7
|
-
* problem is found, so it's usable as a CI/health gate.
|
|
5
|
+
* the gateway, whether a personal key is present (vs the shared placeholder),
|
|
6
|
+
* and enrollment-cert freshness. Prints a fix for every problem and exits
|
|
7
|
+
* non-zero when any problem is found, so it's usable as a CI/health gate.
|
|
8
|
+
* Writes nothing.
|
|
9
|
+
*
|
|
10
|
+
* `--json` renders the same findings as a machine-readable report — the
|
|
11
|
+
* client-side counterpart of the gateway's `GET /admin/support/bundle`
|
|
12
|
+
* (docs: operate/troubleshooting.md). A dev whose requests fail runs
|
|
13
|
+
* `anyray-connect doctor --json` and sends the output to support.
|
|
14
|
+
* `--verify` additionally runs the auth smoke probe (one tiny request, the
|
|
15
|
+
* same one the apply flow sends) and includes its verdict.
|
|
8
16
|
*
|
|
9
17
|
* PRIVACY: inspects metadata only (gateway origin, tool base URLs, whether a
|
|
10
|
-
* key is set) — never prompt/response content, and
|
|
18
|
+
* key is set, cert validity window) — never prompt/response content, and
|
|
19
|
+
* never a key or cert signature. The JSON report is safe to share.
|
|
11
20
|
*/
|
|
21
|
+
import { createRequire } from 'node:module';
|
|
12
22
|
import { REGISTRY } from '../tools/index.js';
|
|
13
23
|
import { loadProfile } from '../util/persist.js';
|
|
14
24
|
import { checkGateway } from '../util/preflight.js';
|
|
15
25
|
import { probeHealth } from '../util/proxyService.js';
|
|
16
|
-
import {
|
|
26
|
+
import { verifyConnection } from '../util/verify.js';
|
|
27
|
+
import { LOCAL_PROXY_HOST, resolveTarget } from '../target.js';
|
|
17
28
|
import { resolveGatewayOrigin } from './shared.js';
|
|
18
29
|
import { bold, dim, fail, heading, info, ok, warn } from '../util/log.js';
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
const CONNECT_VERSION = createRequire(import.meta.url)('../../package.json').version;
|
|
31
|
+
const collectReport = async (origin, profile, withVerify) => {
|
|
32
|
+
const probe = await checkGateway(origin);
|
|
33
|
+
const fallbackOn = Boolean(profile.fallbackEnabled && profile.fallbackPort);
|
|
34
|
+
const health = fallbackOn ? await probeHealth(profile.fallbackPort) : null;
|
|
35
|
+
// When the fallback proxy is on, the tools point at the loopback daemon —
|
|
36
|
+
// that's the origin their configs must match.
|
|
37
|
+
const toolOrigin = fallbackOn
|
|
38
|
+
? `http://${LOCAL_PROXY_HOST}:${profile.fallbackPort}`
|
|
39
|
+
: origin;
|
|
40
|
+
const personalKeySource = process.env.ANYRAY_CLIENT_KEY?.trim()
|
|
41
|
+
? 'env'
|
|
42
|
+
: profile.clientKey
|
|
43
|
+
? 'profile'
|
|
44
|
+
: null;
|
|
45
|
+
const cert = profile.enrolledCert?.payload;
|
|
46
|
+
const expiresAt = cert?.expiresAt ?? profile.enrolledCertExpiry ?? null;
|
|
47
|
+
const tools = [];
|
|
48
|
+
for (const adapter of REGISTRY) {
|
|
49
|
+
const detected = await adapter.detect();
|
|
50
|
+
tools.push({
|
|
51
|
+
id: adapter.id,
|
|
52
|
+
title: adapter.title,
|
|
53
|
+
installed: detected.installed,
|
|
54
|
+
...(detected.detail ? { detail: detected.detail } : {}),
|
|
55
|
+
pointedAt: detected.installed && adapter.pointsAt
|
|
56
|
+
? await adapter.pointsAt(toolOrigin)
|
|
57
|
+
: null,
|
|
58
|
+
});
|
|
30
59
|
}
|
|
60
|
+
// The probe goes straight at the gateway (not the fallback proxy) — it
|
|
61
|
+
// answers "does my auth work against the gateway", the question support
|
|
62
|
+
// asks first. authMode 'auto' without seat detection resolves to the
|
|
63
|
+
// org-key path, the representative default.
|
|
64
|
+
const verify = withVerify
|
|
65
|
+
? await (async () => {
|
|
66
|
+
const { kind, detail, remedy } = await verifyConnection(resolveTarget({
|
|
67
|
+
origin,
|
|
68
|
+
clientKey: process.env.ANYRAY_CLIENT_KEY?.trim() || profile.clientKey,
|
|
69
|
+
subscription: profile.authMode === 'subscription',
|
|
70
|
+
placeholder: profile.authMode === 'placeholder',
|
|
71
|
+
user: profile.name,
|
|
72
|
+
team: profile.team,
|
|
73
|
+
}));
|
|
74
|
+
return { kind, detail, remedy };
|
|
75
|
+
})()
|
|
76
|
+
: null;
|
|
31
77
|
let problems = 0;
|
|
78
|
+
if (!probe.reachable)
|
|
79
|
+
problems += 1;
|
|
80
|
+
if (fallbackOn && !health)
|
|
81
|
+
problems += 1;
|
|
82
|
+
for (const tool of tools)
|
|
83
|
+
if (tool.pointedAt === false)
|
|
84
|
+
problems += 1;
|
|
85
|
+
if (verify && verify.kind !== 'ok')
|
|
86
|
+
problems += 1;
|
|
87
|
+
return {
|
|
88
|
+
report: { format: 1, generatedAt: new Date().toISOString() },
|
|
89
|
+
connect: {
|
|
90
|
+
version: CONNECT_VERSION,
|
|
91
|
+
node: process.versions.node,
|
|
92
|
+
platform: `${process.platform}/${process.arch}`,
|
|
93
|
+
},
|
|
94
|
+
gateway: { origin, reachable: probe.reachable, detail: probe.detail },
|
|
95
|
+
fallbackProxy: {
|
|
96
|
+
enabled: fallbackOn,
|
|
97
|
+
port: fallbackOn ? profile.fallbackPort : null,
|
|
98
|
+
healthy: fallbackOn ? Boolean(health) : null,
|
|
99
|
+
breaker: health ? String(health.breaker) : null,
|
|
100
|
+
},
|
|
101
|
+
identity: {
|
|
102
|
+
user: profile.name ?? null,
|
|
103
|
+
team: profile.team ?? null,
|
|
104
|
+
authMode: profile.authMode ?? null,
|
|
105
|
+
personalKeySource,
|
|
106
|
+
clientKeyExpiresAt: profile.clientKeyExpiresAt ?? null,
|
|
107
|
+
},
|
|
108
|
+
enrollment: {
|
|
109
|
+
enrolled: Boolean(cert),
|
|
110
|
+
deploymentId: cert?.deploymentId ?? null,
|
|
111
|
+
issuedAt: cert?.issuedAt ?? null,
|
|
112
|
+
expiresAt,
|
|
113
|
+
expired: expiresAt ? Date.parse(expiresAt) < Date.now() : null,
|
|
114
|
+
},
|
|
115
|
+
tools,
|
|
116
|
+
verify,
|
|
117
|
+
problems,
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
const renderHuman = (report) => {
|
|
121
|
+
info(bold('Anyray connect — doctor'));
|
|
32
122
|
heading('Gateway');
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
ok(` Reachable: ${origin} ${dim(`(${probe.detail})`)}`);
|
|
123
|
+
if (report.gateway.reachable) {
|
|
124
|
+
ok(` Reachable: ${report.gateway.origin} ${dim(`(${report.gateway.detail})`)}`);
|
|
36
125
|
}
|
|
37
126
|
else {
|
|
38
|
-
|
|
39
|
-
fail(` Unreachable: ${origin} (${probe.detail})`);
|
|
127
|
+
fail(` Unreachable: ${report.gateway.origin} (${report.gateway.detail})`);
|
|
40
128
|
info(dim(' Fix: start the gateway, or check the URL with `anyray-connect status`.'));
|
|
41
129
|
}
|
|
42
130
|
// Local fallback proxy: when enabled, the tools point at the loopback daemon,
|
|
43
131
|
// so it MUST be running — if it's down, tools can't reach any gateway at all.
|
|
44
|
-
|
|
45
|
-
// URL the tool-config check below expects.
|
|
46
|
-
const fallbackOn = Boolean(profile.fallbackEnabled && profile.fallbackPort);
|
|
47
|
-
let toolOrigin = origin;
|
|
48
|
-
if (fallbackOn) {
|
|
49
|
-
toolOrigin = `http://${LOCAL_PROXY_HOST}:${profile.fallbackPort}`;
|
|
132
|
+
if (report.fallbackProxy.enabled) {
|
|
50
133
|
heading('Local fallback proxy');
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
dim(`(breaker: ${String(health.breaker)})`));
|
|
134
|
+
if (report.fallbackProxy.healthy) {
|
|
135
|
+
ok(` Running on 127.0.0.1:${report.fallbackProxy.port} → ${report.gateway.origin} ` +
|
|
136
|
+
dim(`(breaker: ${report.fallbackProxy.breaker})`));
|
|
55
137
|
}
|
|
56
138
|
else {
|
|
57
|
-
|
|
58
|
-
fail(` Enabled on 127.0.0.1:${profile.fallbackPort} but NOT responding — your tools point at it and cannot reach any gateway until it's back.`);
|
|
139
|
+
fail(` Enabled on 127.0.0.1:${report.fallbackProxy.port} but NOT responding — your tools point at it and cannot reach any gateway until it's back.`);
|
|
59
140
|
info(dim(' Fix: re-run `anyray-connect --fallback` to reinstall it, or `anyray-connect --no-fallback` to point tools straight at the gateway.'));
|
|
60
141
|
}
|
|
61
142
|
}
|
|
62
143
|
heading('Personal key');
|
|
63
|
-
if (
|
|
144
|
+
if (report.identity.personalKeySource === 'env') {
|
|
64
145
|
ok(' Personal gateway key present ($ANYRAY_CLIENT_KEY).');
|
|
65
146
|
}
|
|
147
|
+
else if (report.identity.personalKeySource === 'profile') {
|
|
148
|
+
ok(' Personal gateway key present (enrolled via connect).');
|
|
149
|
+
}
|
|
66
150
|
else {
|
|
67
151
|
// Not a hard failure — placeholder mode is a valid setup — but worth
|
|
68
152
|
// surfacing, since per-user attribution/savings need a personal key.
|
|
69
153
|
warn(' No personal key — using the shared placeholder.');
|
|
70
154
|
info(dim(' Fix (optional): enroll with a link from your admin (`anyray-connect --enroll <link>`) or set $ANYRAY_CLIENT_KEY for per-user attribution.'));
|
|
71
155
|
}
|
|
156
|
+
if (report.enrollment.enrolled) {
|
|
157
|
+
if (report.enrollment.expired) {
|
|
158
|
+
warn(` Enrollment cert expired ${dim(`(${report.enrollment.expiresAt})`)} — the next run re-enrolls.`);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
ok(` Enrollment cert valid until ${report.enrollment.expiresAt} ${dim(`(deployment ${report.enrollment.deploymentId})`)}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
72
164
|
heading('Tools');
|
|
73
165
|
let anyPointed = false;
|
|
74
|
-
for (const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
info(dim(` ${adapter.title}: not installed (skipped)`));
|
|
166
|
+
for (const tool of report.tools) {
|
|
167
|
+
if (!tool.installed) {
|
|
168
|
+
info(dim(` ${tool.title}: not installed (skipped)`));
|
|
78
169
|
continue;
|
|
79
170
|
}
|
|
80
|
-
if (
|
|
81
|
-
info(dim(` ${
|
|
171
|
+
if (tool.pointedAt === null) {
|
|
172
|
+
info(dim(` ${tool.title}: installed (config not introspectable)`));
|
|
82
173
|
continue;
|
|
83
174
|
}
|
|
84
|
-
|
|
85
|
-
if (pointed) {
|
|
175
|
+
if (tool.pointedAt) {
|
|
86
176
|
anyPointed = true;
|
|
87
|
-
ok(` ${
|
|
177
|
+
ok(` ${tool.title}: pointed at ${report.gateway.origin}${report.fallbackProxy.enabled ? dim(' (via fallback proxy)') : ''}`);
|
|
88
178
|
}
|
|
89
179
|
else {
|
|
90
|
-
|
|
91
|
-
fail(` ${adapter.title}: installed but not pointed at ${origin}`);
|
|
180
|
+
fail(` ${tool.title}: installed but not pointed at ${report.gateway.origin}`);
|
|
92
181
|
info(dim(' Fix: run `anyray-connect` to (re)configure it.'));
|
|
93
182
|
}
|
|
94
183
|
}
|
|
95
|
-
if (!anyPointed && problems === 0) {
|
|
184
|
+
if (!anyPointed && report.problems === 0) {
|
|
96
185
|
// No introspectable tool is configured and nothing else is wrong — nudge.
|
|
97
186
|
warn(' No tools are pointed at this gateway yet.');
|
|
98
187
|
info(dim(' Fix: run `anyray-connect` to configure your tools.'));
|
|
99
188
|
}
|
|
189
|
+
if (report.verify) {
|
|
190
|
+
heading('Auth probe');
|
|
191
|
+
if (report.verify.kind === 'ok') {
|
|
192
|
+
ok(` ${report.verify.detail}`);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
fail(` ${report.verify.kind}: ${report.verify.detail}`);
|
|
196
|
+
for (const line of report.verify.remedy)
|
|
197
|
+
info(dim(` ${line}`));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
100
200
|
heading('Summary');
|
|
101
|
-
if (problems === 0) {
|
|
201
|
+
if (report.problems === 0) {
|
|
102
202
|
ok(' No problems found.');
|
|
103
|
-
|
|
203
|
+
info(dim(' Sharing with support? `anyray-connect doctor --json` prints this as a content-free report.'));
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
fail(` ${report.problems} problem(s) found — see fixes above.`);
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
export const runDoctor = async (args) => {
|
|
210
|
+
const profile = await loadProfile();
|
|
211
|
+
let origin;
|
|
212
|
+
try {
|
|
213
|
+
origin = resolveGatewayOrigin(args.gateway, profile);
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
if (args.json) {
|
|
217
|
+
console.log(JSON.stringify({ error: error.message }));
|
|
218
|
+
return 1;
|
|
219
|
+
}
|
|
220
|
+
info(bold('Anyray connect — doctor'));
|
|
221
|
+
fail(` Gateway URL: ${error.message}`);
|
|
222
|
+
info(dim(' Fix: pass a gateway URL, e.g. `anyray-connect doctor http://localhost:8787`.'));
|
|
223
|
+
return 1;
|
|
224
|
+
}
|
|
225
|
+
const report = await collectReport(origin, profile, Boolean(args.verify));
|
|
226
|
+
if (args.json) {
|
|
227
|
+
console.log(JSON.stringify(report, null, 2));
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
renderHuman(report);
|
|
104
231
|
}
|
|
105
|
-
|
|
106
|
-
return 1;
|
|
232
|
+
return report.problems === 0 ? 0 : 1;
|
|
107
233
|
};
|
|
108
234
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `anyray-connect managed <--print|--write|--revert>` — fleet-wide Claude Code
|
|
3
|
+
* routing via the OS `managed-settings.json`.
|
|
4
|
+
*
|
|
5
|
+
* Per-user `~/.claude/settings.json` is the weakest link: a dev can edit or wipe
|
|
6
|
+
* it, and every dev must run `anyray-connect` themselves. Claude Code also reads
|
|
7
|
+
* a system-path `managed-settings.json` that takes precedence over user AND
|
|
8
|
+
* project settings — so an org that manages devices (Jamf / Intune / Ansible)
|
|
9
|
+
* can push gateway routing fleet-wide, tamper-resistant against user edits.
|
|
10
|
+
*
|
|
11
|
+
* This command emits/writes ONLY the routing + header env block, reusing the
|
|
12
|
+
* shared Claude Code env builder (`tools/claudeCodeEnv.ts`) so it never drifts
|
|
13
|
+
* from the user-scope adapter.
|
|
14
|
+
*
|
|
15
|
+
* PRIVACY / SECURITY: no credential is ever written to the managed file. A
|
|
16
|
+
* subscription fleet needs none (the seat OAuth token passes through). An
|
|
17
|
+
* API-key fleet keeps per-dev enrollment: the personal `ark_` key still lands in
|
|
18
|
+
* user-scope settings (`ANTHROPIC_AUTH_TOKEN`) — which never conflicts because
|
|
19
|
+
* the managed file only sets routing + the content-free `x-anyray-metadata`
|
|
20
|
+
* header, never that key.
|
|
21
|
+
*
|
|
22
|
+
* PRECEDENCE (verified against the Claude Code settings docs): managed settings
|
|
23
|
+
* are the HIGHEST-precedence source over user and project settings — so they
|
|
24
|
+
* survive a user editing or deleting `~/.claude/settings.json`. Whether the
|
|
25
|
+
* managed `env` block also overrides a *conflicting real shell env var* (e.g. an
|
|
26
|
+
* exported `ANTHROPIC_BASE_URL`) is NOT documented; the observed pattern is that
|
|
27
|
+
* the `env` block supplements rather than overrides the process environment. We
|
|
28
|
+
* therefore describe this as **tamper-resistant defaults**, not hard enforcement
|
|
29
|
+
* over shell env.
|
|
30
|
+
*/
|
|
31
|
+
import { platform } from 'node:os';
|
|
32
|
+
import { readJson, writeJson, fileExists } from '../util/jsonFile.js';
|
|
33
|
+
import { resolveTarget } from '../target.js';
|
|
34
|
+
import { CLAUDE_CODE_OWNED_ENV_KEYS, buildClaudeCodeEnv, } from '../tools/claudeCodeEnv.js';
|
|
35
|
+
import { metadataHeaderValue } from '../types.js';
|
|
36
|
+
import { bold, dim, fail, info, ok, warn } from '../util/log.js';
|
|
37
|
+
const MANAGED_HELP = `${bold('anyray-connect managed')} — fleet-wide Claude Code routing via managed-settings.json
|
|
38
|
+
|
|
39
|
+
Emit or install the OS \`managed-settings.json\` that points a managed fleet's
|
|
40
|
+
Claude Code at the Anyray gateway. It reads at a HIGHER precedence than a user's
|
|
41
|
+
\`~/.claude/settings.json\`, so it survives users editing or wiping their own
|
|
42
|
+
settings — no per-dev \`anyray-connect\` run needed. No credential is ever
|
|
43
|
+
written to it.
|
|
44
|
+
|
|
45
|
+
${bold('Modes')} (pick one)
|
|
46
|
+
--print Emit the managed-settings JSON to stdout for MDM packaging
|
|
47
|
+
(Jamf profile, Ansible template, etc.). Writes nothing.
|
|
48
|
+
--write Write it to the OS system path (merging into any existing file,
|
|
49
|
+
preserving non-Anyray keys). Requires root (sudo).
|
|
50
|
+
--revert Remove only the Anyray-owned keys from the system file.
|
|
51
|
+
|
|
52
|
+
${bold('Options')}
|
|
53
|
+
--gateway <url> Gateway origin (also accepted positionally). For a fleet
|
|
54
|
+
file, pass your real gateway URL — a localhost default is
|
|
55
|
+
almost never what you want.
|
|
56
|
+
--subscription Subscription fleet: Claude Code seats keep their own OAuth
|
|
57
|
+
sign-in; the token passes through the gateway. No credential
|
|
58
|
+
and no per-dev enrollment needed.
|
|
59
|
+
--placeholder,--org API-key fleet (default): the managed file owns routing +
|
|
60
|
+
headers only; per-dev keys still come from enrollment.
|
|
61
|
+
--team <id> Attribute fleet spend to this team (x-anyray-metadata).
|
|
62
|
+
--user <id> Attribute to this user (rarely useful fleet-wide — a single
|
|
63
|
+
static header can't vary per machine; prefer --team).
|
|
64
|
+
--intent <id> Tag traffic with an intent (filterable as intent:<id>).
|
|
65
|
+
--intent-label <s> Human-readable label for the intent.
|
|
66
|
+
--session <id> Group requests under a session id.
|
|
67
|
+
--help, -h Show this help
|
|
68
|
+
|
|
69
|
+
${bold('Examples')}
|
|
70
|
+
# Package for an MDM profile (API-key fleet):
|
|
71
|
+
anyray-connect managed --print --gateway https://gw.acme.com --team eng > managed-settings.json
|
|
72
|
+
|
|
73
|
+
# Package for a subscription (seat) fleet:
|
|
74
|
+
anyray-connect managed --print --gateway https://gw.acme.com --subscription --team eng
|
|
75
|
+
|
|
76
|
+
# Install locally on a managed macOS/Linux host:
|
|
77
|
+
sudo anyray-connect managed --write --gateway https://gw.acme.com --team eng`;
|
|
78
|
+
/** Parse the `managed` subcommand's own flag grammar (a subset of the CLI's). */
|
|
79
|
+
export const parseManagedArgs = (argv) => {
|
|
80
|
+
const args = {
|
|
81
|
+
subscription: false,
|
|
82
|
+
placeholder: false,
|
|
83
|
+
help: false,
|
|
84
|
+
};
|
|
85
|
+
for (let i = 0; i < argv.length; i++) {
|
|
86
|
+
const a = argv[i];
|
|
87
|
+
const next = () => argv[++i];
|
|
88
|
+
switch (a) {
|
|
89
|
+
case '--print':
|
|
90
|
+
args.mode = 'print';
|
|
91
|
+
break;
|
|
92
|
+
case '--write':
|
|
93
|
+
args.mode = 'write';
|
|
94
|
+
break;
|
|
95
|
+
case '--revert':
|
|
96
|
+
args.mode = 'revert';
|
|
97
|
+
break;
|
|
98
|
+
case '--gateway':
|
|
99
|
+
args.gateway = next();
|
|
100
|
+
break;
|
|
101
|
+
case '--user':
|
|
102
|
+
args.user = next();
|
|
103
|
+
break;
|
|
104
|
+
case '--team':
|
|
105
|
+
args.team = next();
|
|
106
|
+
break;
|
|
107
|
+
case '--intent':
|
|
108
|
+
args.intent = next();
|
|
109
|
+
break;
|
|
110
|
+
case '--intent-label':
|
|
111
|
+
args.intentLabel = next();
|
|
112
|
+
break;
|
|
113
|
+
case '--session':
|
|
114
|
+
args.session = next();
|
|
115
|
+
break;
|
|
116
|
+
case '--subscription':
|
|
117
|
+
args.subscription = true;
|
|
118
|
+
break;
|
|
119
|
+
case '--placeholder':
|
|
120
|
+
case '--org':
|
|
121
|
+
args.placeholder = true;
|
|
122
|
+
break;
|
|
123
|
+
case '--help':
|
|
124
|
+
case '-h':
|
|
125
|
+
args.help = true;
|
|
126
|
+
break;
|
|
127
|
+
default:
|
|
128
|
+
if (!a.startsWith('-') && args.gateway === undefined) {
|
|
129
|
+
args.gateway = a;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
throw new Error(a.startsWith('-')
|
|
133
|
+
? `unknown option: ${a}`
|
|
134
|
+
: `unexpected argument: ${a} (gateway already set to ${args.gateway})`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return args;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* OS system path Claude Code reads `managed-settings.json` from. Defaults to the
|
|
142
|
+
* current platform but takes an explicit value so the mapping is unit-testable
|
|
143
|
+
* off-platform.
|
|
144
|
+
*/
|
|
145
|
+
export const managedSettingsPath = (os = platform()) => {
|
|
146
|
+
switch (os) {
|
|
147
|
+
case 'darwin':
|
|
148
|
+
return '/Library/Application Support/ClaudeCode/managed-settings.json';
|
|
149
|
+
case 'win32':
|
|
150
|
+
return 'C:\\Program Files\\ClaudeCode\\managed-settings.json';
|
|
151
|
+
default:
|
|
152
|
+
// Linux / WSL and other POSIX systems.
|
|
153
|
+
return '/etc/claude-code/managed-settings.json';
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* Build the managed-settings object for a target: the routing + header env block
|
|
158
|
+
* only. No credential — `includeAuthToken`/`includeClientKey` are off, so a
|
|
159
|
+
* placeholder mode file carries just the base URL (+ metadata header) and a
|
|
160
|
+
* subscription file adds the passthrough pins + tool-search knob.
|
|
161
|
+
*/
|
|
162
|
+
export const buildManagedSettings = (target) => {
|
|
163
|
+
const { env } = buildClaudeCodeEnv(target, {
|
|
164
|
+
includeAuthToken: false,
|
|
165
|
+
includeClientKey: false,
|
|
166
|
+
});
|
|
167
|
+
return { env };
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Merge our owned env keys into an existing managed-settings object, preserving
|
|
171
|
+
* every non-Anyray key (both other `env` entries and other top-level settings).
|
|
172
|
+
* Scrubs our keys first so a mode change (e.g. subscription → api-key) drops a
|
|
173
|
+
* now-stale `ENABLE_TOOL_SEARCH` rather than leaving it behind.
|
|
174
|
+
*/
|
|
175
|
+
export const mergeManagedSettings = (existing, ourEnv) => {
|
|
176
|
+
const existingEnv = existing.env ?? {};
|
|
177
|
+
const cleaned = { ...existingEnv };
|
|
178
|
+
for (const key of CLAUDE_CODE_OWNED_ENV_KEYS)
|
|
179
|
+
delete cleaned[key];
|
|
180
|
+
return { ...existing, env: { ...cleaned, ...ourEnv } };
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Remove only the Anyray-owned env keys from an existing managed-settings
|
|
184
|
+
* object, pruning an emptied `env`. Returns true if anything was removed.
|
|
185
|
+
*/
|
|
186
|
+
export const revertManagedSettings = (existing) => {
|
|
187
|
+
const env = existing.env;
|
|
188
|
+
if (!env)
|
|
189
|
+
return false;
|
|
190
|
+
let changed = false;
|
|
191
|
+
for (const key of CLAUDE_CODE_OWNED_ENV_KEYS) {
|
|
192
|
+
if (key in env) {
|
|
193
|
+
delete env[key];
|
|
194
|
+
changed = true;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (changed && Object.keys(env).length === 0)
|
|
198
|
+
delete existing.env;
|
|
199
|
+
return changed;
|
|
200
|
+
};
|
|
201
|
+
/** True only when running as the POSIX superuser (uid 0). */
|
|
202
|
+
const isRoot = () => process.getuid?.() === 0;
|
|
203
|
+
/** Non-JSON guidance for `--print` goes to stderr so stdout stays pure JSON. */
|
|
204
|
+
const hint = (msg) => {
|
|
205
|
+
process.stderr.write(`${msg}\n`);
|
|
206
|
+
};
|
|
207
|
+
/** Resolve a fleet target from the parsed flags (no seat detection — fleet-wide). */
|
|
208
|
+
const resolveManagedTarget = (args) => resolveTarget({
|
|
209
|
+
origin: args.gateway,
|
|
210
|
+
subscription: args.subscription,
|
|
211
|
+
placeholder: args.placeholder,
|
|
212
|
+
user: args.user,
|
|
213
|
+
team: args.team,
|
|
214
|
+
intent: args.intent,
|
|
215
|
+
intentLabel: args.intentLabel,
|
|
216
|
+
session: args.session,
|
|
217
|
+
});
|
|
218
|
+
/** Describe the resolved fleet target for stderr/log guidance. */
|
|
219
|
+
const describeTarget = (target) => {
|
|
220
|
+
const mode = target.authMode === 'subscription'
|
|
221
|
+
? 'subscription (seat OAuth passes through — no credential in the file)'
|
|
222
|
+
: 'api-key (routing + headers only — per-dev keys stay in user settings)';
|
|
223
|
+
return [
|
|
224
|
+
`Gateway: ${target.origin}`,
|
|
225
|
+
`Fleet mode: ${mode}`,
|
|
226
|
+
`Attribution: ${metadataHeaderValue(target.metadata) ?? '(none — pass --team)'}`,
|
|
227
|
+
];
|
|
228
|
+
};
|
|
229
|
+
const warnIfLocalhost = (target, emit) => {
|
|
230
|
+
try {
|
|
231
|
+
const { hostname } = new URL(target.origin);
|
|
232
|
+
if (['localhost', '127.0.0.1', '::1', '0.0.0.0'].includes(hostname)) {
|
|
233
|
+
emit(`! Gateway is ${target.origin} — a fleet managed file almost certainly wants your real gateway URL (pass --gateway).`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
/* resolveOrigin already validated the URL; ignore parse edge cases */
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
const runPrint = (args) => {
|
|
241
|
+
const target = resolveManagedTarget(args);
|
|
242
|
+
const settings = buildManagedSettings(target);
|
|
243
|
+
// Pure JSON on stdout so it can be piped straight into an MDM artifact.
|
|
244
|
+
process.stdout.write(`${JSON.stringify(settings, null, 2)}\n`);
|
|
245
|
+
// Everything human-facing goes to stderr.
|
|
246
|
+
hint(dim(`# managed-settings.json for ${managedSettingsPath()}`));
|
|
247
|
+
for (const line of describeTarget(target))
|
|
248
|
+
hint(dim(`# ${line}`));
|
|
249
|
+
warnIfLocalhost(target, hint);
|
|
250
|
+
return 0;
|
|
251
|
+
};
|
|
252
|
+
const runWrite = async (args) => {
|
|
253
|
+
const os = platform();
|
|
254
|
+
if (os !== 'darwin' && os !== 'linux') {
|
|
255
|
+
fail('`managed --write` is supported on macOS and Linux only. Use `managed --print` and deploy the JSON via your MDM.');
|
|
256
|
+
return 1;
|
|
257
|
+
}
|
|
258
|
+
if (!isRoot()) {
|
|
259
|
+
fail('Refusing to write the system managed-settings.json without root — re-run with `sudo` (it lives under a system-owned path).');
|
|
260
|
+
info(dim(' For MDM packaging, use `managed --print` instead and push the file with Jamf / Intune / Ansible.'));
|
|
261
|
+
return 1;
|
|
262
|
+
}
|
|
263
|
+
const target = resolveManagedTarget(args);
|
|
264
|
+
warnIfLocalhost(target, (m) => warn(m.replace(/^!\s*/, '')));
|
|
265
|
+
const path = managedSettingsPath(os);
|
|
266
|
+
const existing = await readJson(path);
|
|
267
|
+
const merged = mergeManagedSettings(existing, buildManagedSettings(target).env);
|
|
268
|
+
await writeJson(path, merged);
|
|
269
|
+
ok(`Wrote ${path}`);
|
|
270
|
+
for (const line of describeTarget(target))
|
|
271
|
+
info(` ${dim(line)}`);
|
|
272
|
+
info(dim(' Managed settings outrank a user’s ~/.claude/settings.json. Restart Claude Code sessions to pick it up.'));
|
|
273
|
+
return 0;
|
|
274
|
+
};
|
|
275
|
+
const runRevert = async () => {
|
|
276
|
+
const os = platform();
|
|
277
|
+
if (os !== 'darwin' && os !== 'linux') {
|
|
278
|
+
fail('`managed --revert` is supported on macOS and Linux only (remove the deployed file via your MDM elsewhere).');
|
|
279
|
+
return 1;
|
|
280
|
+
}
|
|
281
|
+
if (!isRoot()) {
|
|
282
|
+
fail('Refusing to edit the system managed-settings.json without root — re-run with `sudo`.');
|
|
283
|
+
return 1;
|
|
284
|
+
}
|
|
285
|
+
const path = managedSettingsPath(os);
|
|
286
|
+
if (!(await fileExists(path))) {
|
|
287
|
+
info(`Nothing to revert — ${path} does not exist.`);
|
|
288
|
+
return 0;
|
|
289
|
+
}
|
|
290
|
+
const existing = await readJson(path);
|
|
291
|
+
if (!revertManagedSettings(existing)) {
|
|
292
|
+
info(`No Anyray-owned keys found in ${path} — left unchanged.`);
|
|
293
|
+
return 0;
|
|
294
|
+
}
|
|
295
|
+
await writeJson(path, existing);
|
|
296
|
+
ok(`Removed Anyray-owned keys from ${path} (other keys left intact).`);
|
|
297
|
+
return 0;
|
|
298
|
+
};
|
|
299
|
+
/** Entry point routed from cli.ts for the `managed` subcommand. */
|
|
300
|
+
export const runManaged = async (argv) => {
|
|
301
|
+
let args;
|
|
302
|
+
try {
|
|
303
|
+
args = parseManagedArgs(argv);
|
|
304
|
+
}
|
|
305
|
+
catch (error) {
|
|
306
|
+
fail(error.message);
|
|
307
|
+
info('\n' + MANAGED_HELP);
|
|
308
|
+
return 1;
|
|
309
|
+
}
|
|
310
|
+
if (args.help || (argv.length === 0 && !args.mode)) {
|
|
311
|
+
info(MANAGED_HELP);
|
|
312
|
+
return 0;
|
|
313
|
+
}
|
|
314
|
+
if (!args.mode) {
|
|
315
|
+
fail('Specify a mode: --print, --write, or --revert.');
|
|
316
|
+
info('\n' + MANAGED_HELP);
|
|
317
|
+
return 1;
|
|
318
|
+
}
|
|
319
|
+
if (args.mode === 'print')
|
|
320
|
+
return runPrint(args);
|
|
321
|
+
if (args.mode === 'write')
|
|
322
|
+
return runWrite(args);
|
|
323
|
+
return runRevert();
|
|
324
|
+
};
|
|
325
|
+
//# sourceMappingURL=managed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed.js","sourceRoot":"","sources":["../../src/commands/managed.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/claudeCode.js
CHANGED
|
@@ -28,20 +28,13 @@
|
|
|
28
28
|
import { homedir } from 'node:os';
|
|
29
29
|
import { join } from 'node:path';
|
|
30
30
|
import { readJson, writeJson, fileExists } from '../util/jsonFile.js';
|
|
31
|
-
import { effectiveSubscription, metadataHeaderValue } from '../types.js';
|
|
32
31
|
import { HOOK_FLAG, PROMPT_HOOK_FLAG, hookBinaryIsDurable, hookBinaryPath, hookCommand, isEphemeralBinaryPath, } from './sharedHooks.js';
|
|
32
|
+
import { CLAUDE_CODE_OWNED_ENV_KEYS, buildClaudeCodeEnv, } from './claudeCodeEnv.js';
|
|
33
33
|
export { isEphemeralBinaryPath };
|
|
34
34
|
const settingsPath = () => join(homedir(), '.claude', 'settings.json');
|
|
35
35
|
/** Claude Code's user-scope config — where it reads global `mcpServers` from. */
|
|
36
36
|
const claudeJsonPath = () => join(homedir(), '.claude.json');
|
|
37
|
-
const OWNED_KEYS =
|
|
38
|
-
'ANTHROPIC_BASE_URL',
|
|
39
|
-
'ANTHROPIC_AUTH_TOKEN',
|
|
40
|
-
'ANTHROPIC_CUSTOM_HEADERS',
|
|
41
|
-
// Subscription-only: forces Claude Code's on-demand MCP tool loading back on
|
|
42
|
-
// (it's disabled on a non-first-party base URL). Fully connect-owned.
|
|
43
|
-
'ENABLE_TOOL_SEARCH',
|
|
44
|
-
];
|
|
37
|
+
const OWNED_KEYS = CLAUDE_CODE_OWNED_ENV_KEYS;
|
|
45
38
|
// --- MCP retrieval server -------------------------------------------------
|
|
46
39
|
// Claude Code reads user-scope MCP servers from ~/.claude.json `mcpServers`. We
|
|
47
40
|
// register one stdio server, `anyray`, that re-invokes this binary in the hidden
|
|
@@ -144,25 +137,6 @@ const removeHook = (settings) => {
|
|
|
144
137
|
const prompt = removeHookEntry(settings, 'UserPromptSubmit', PROMPT_HOOK_FLAG);
|
|
145
138
|
return post || prompt;
|
|
146
139
|
};
|
|
147
|
-
const customHeaders = (meta, subscription, clientKey) => {
|
|
148
|
-
// No provider pin in placeholder mode: the gateway's routing config owns
|
|
149
|
-
// that decision (see the module comment).
|
|
150
|
-
const lines = [];
|
|
151
|
-
if (subscription) {
|
|
152
|
-
// Seat OAuth tokens are only valid against Anthropic — routing the
|
|
153
|
-
// passthrough anywhere else is a guaranteed failure, so the pin here is
|
|
154
|
-
// part of the passthrough contract, not a routing choice.
|
|
155
|
-
lines.push('x-anyray-provider: anthropic');
|
|
156
|
-
lines.push('x-anyray-auth-mode: passthrough');
|
|
157
|
-
// The seat OAuth token owns Authorization, so the personal gateway key
|
|
158
|
-
// rides its own header for the gateway to identify the dev.
|
|
159
|
-
if (clientKey)
|
|
160
|
-
lines.push(`x-anyray-api-key: ${clientKey}`);
|
|
161
|
-
}
|
|
162
|
-
if (meta)
|
|
163
|
-
lines.push(`x-anyray-metadata: ${meta}`);
|
|
164
|
-
return lines.join('\n');
|
|
165
|
-
};
|
|
166
140
|
export const claudeCode = {
|
|
167
141
|
id: 'claude-code',
|
|
168
142
|
title: 'Claude Code',
|
|
@@ -178,31 +152,10 @@ export const claudeCode = {
|
|
|
178
152
|
async apply(target, opts) {
|
|
179
153
|
const path = settingsPath();
|
|
180
154
|
// Anthropic family: subscription when forced, or (in auto mode) when a
|
|
181
|
-
// Claude seat was detected on this machine; else the org key.
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
const
|
|
185
|
-
const env = {
|
|
186
|
-
ANTHROPIC_BASE_URL: target.anthropicBaseUrl,
|
|
187
|
-
...(headers ? { ANTHROPIC_CUSTOM_HEADERS: headers } : {}),
|
|
188
|
-
// Placeholder mode sends the dev's personal gateway key when one was
|
|
189
|
-
// issued, else the shared placeholder, for the gateway to swap;
|
|
190
|
-
// subscription mode must NOT set one — any ANTHROPIC_AUTH_TOKEN would
|
|
191
|
-
// override the seat's OAuth sign-in and silently move spend onto API
|
|
192
|
-
// billing (the personal key rides x-anyray-api-key there instead).
|
|
193
|
-
...(subscription
|
|
194
|
-
? {}
|
|
195
|
-
: { ANTHROPIC_AUTH_TOKEN: target.clientKey ?? target.placeholderKey }),
|
|
196
|
-
// Subscription (passthrough) only: re-enable on-demand MCP tool loading,
|
|
197
|
-
// which Claude Code disables on a non-first-party base URL — otherwise MCP
|
|
198
|
-
// tool schemas load eagerly (~tens of thousands of tokens of context on
|
|
199
|
-
// every prompt). Safe on passthrough (it forwards tool_reference blocks
|
|
200
|
-
// verbatim); the api-key/placeholder path rebuilds the request and may
|
|
201
|
-
// strip them, so it must NOT enable tool search. Claude Code still gates
|
|
202
|
-
// tool search per model internally, so this is safe to set unconditionally
|
|
203
|
-
// for a seat (no effect on models that don't support it).
|
|
204
|
-
...(subscription ? { ENABLE_TOOL_SEARCH: 'true' } : {}),
|
|
205
|
-
};
|
|
155
|
+
// Claude seat was detected on this machine; else the org key. The env block
|
|
156
|
+
// (base URL, headers, auth token, tool-search knob) is built by the shared
|
|
157
|
+
// builder so the fleet `managed` command stays in lockstep.
|
|
158
|
+
const { env, subscription, meta, headers } = buildClaudeCodeEnv(target);
|
|
206
159
|
const messages = [
|
|
207
160
|
`${path} → env.ANTHROPIC_BASE_URL = ${target.anthropicBaseUrl}`,
|
|
208
161
|
subscription
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeCode.js","sourceRoot":"","sources":["../../src/tools/claudeCode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claudeCode.js","sourceRoot":"","sources":["../../src/tools/claudeCode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Claude Code env/header construction.
|
|
3
|
+
*
|
|
4
|
+
* Both the user-scope adapter (`claudeCode.ts`, writing `~/.claude/settings.json`)
|
|
5
|
+
* and the fleet `managed` command (`commands/managed.ts`, writing the OS
|
|
6
|
+
* `managed-settings.json`) point Claude Code at the gateway with the SAME env
|
|
7
|
+
* block — base URL, the `x-anyray-*` headers, and the subscription tool-search
|
|
8
|
+
* knob. Factoring it here keeps the header/passthrough logic in ONE place: a
|
|
9
|
+
* change to the passthrough pins or the metadata header updates both paths.
|
|
10
|
+
*
|
|
11
|
+
* PRIVACY: the headers carry identity/attribution metadata only
|
|
12
|
+
* (`x-anyray-metadata`) and routing pins — never prompt/response content, and
|
|
13
|
+
* never a secret in the managed variant (`includeAuthToken`/`includeClientKey`
|
|
14
|
+
* off).
|
|
15
|
+
*/
|
|
16
|
+
import { effectiveSubscription, metadataHeaderValue } from '../types.js';
|
|
17
|
+
/**
|
|
18
|
+
* The env keys the Claude Code integration owns. Both the user-scope adapter and
|
|
19
|
+
* the managed command scrub exactly these on revert, leaving any user/admin keys
|
|
20
|
+
* intact.
|
|
21
|
+
*/
|
|
22
|
+
export const CLAUDE_CODE_OWNED_ENV_KEYS = [
|
|
23
|
+
'ANTHROPIC_BASE_URL',
|
|
24
|
+
'ANTHROPIC_AUTH_TOKEN',
|
|
25
|
+
'ANTHROPIC_CUSTOM_HEADERS',
|
|
26
|
+
// Subscription-only: forces Claude Code's on-demand MCP tool loading back on
|
|
27
|
+
// (it's disabled on a non-first-party base URL). Fully connect-owned.
|
|
28
|
+
'ENABLE_TOOL_SEARCH',
|
|
29
|
+
];
|
|
30
|
+
/**
|
|
31
|
+
* Build the `ANTHROPIC_CUSTOM_HEADERS` value (newline-separated `k: v` lines).
|
|
32
|
+
*
|
|
33
|
+
* No provider pin in placeholder mode: the gateway's routing config owns that
|
|
34
|
+
* decision. Subscription mode pins `x-anyray-provider: anthropic` +
|
|
35
|
+
* `x-anyray-auth-mode: passthrough` because a seat OAuth token is only valid at
|
|
36
|
+
* Anthropic — the pin is part of the passthrough contract, not a routing choice.
|
|
37
|
+
* A per-dev `clientKey` (when passed) rides `x-anyray-api-key` since the seat
|
|
38
|
+
* OAuth token owns `Authorization`.
|
|
39
|
+
*/
|
|
40
|
+
export const claudeCodeCustomHeaders = (meta, subscription, clientKey) => {
|
|
41
|
+
const lines = [];
|
|
42
|
+
if (subscription) {
|
|
43
|
+
lines.push('x-anyray-provider: anthropic');
|
|
44
|
+
lines.push('x-anyray-auth-mode: passthrough');
|
|
45
|
+
if (clientKey)
|
|
46
|
+
lines.push(`x-anyray-api-key: ${clientKey}`);
|
|
47
|
+
}
|
|
48
|
+
if (meta)
|
|
49
|
+
lines.push(`x-anyray-metadata: ${meta}`);
|
|
50
|
+
return lines.join('\n');
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Build the Claude Code env block for a target. Shared by the user-scope adapter
|
|
54
|
+
* (defaults: full credentials) and the managed command (both `include*` off).
|
|
55
|
+
*/
|
|
56
|
+
export const buildClaudeCodeEnv = (target, opts = {}) => {
|
|
57
|
+
const subscription = effectiveSubscription(target, 'anthropic');
|
|
58
|
+
const meta = metadataHeaderValue(target.metadata);
|
|
59
|
+
const includeClientKey = opts.includeClientKey !== false;
|
|
60
|
+
const includeAuthToken = opts.includeAuthToken !== false;
|
|
61
|
+
const headers = claudeCodeCustomHeaders(meta, subscription, includeClientKey ? target.clientKey : undefined);
|
|
62
|
+
const env = {
|
|
63
|
+
ANTHROPIC_BASE_URL: target.anthropicBaseUrl,
|
|
64
|
+
...(headers ? { ANTHROPIC_CUSTOM_HEADERS: headers } : {}),
|
|
65
|
+
// Placeholder mode sends the dev's personal gateway key when one was issued,
|
|
66
|
+
// else the shared placeholder, for the gateway to swap; subscription mode
|
|
67
|
+
// must NOT set one (it would override the seat's OAuth sign-in). The managed
|
|
68
|
+
// file never sets a token at all (includeAuthToken off).
|
|
69
|
+
...(subscription || !includeAuthToken
|
|
70
|
+
? {}
|
|
71
|
+
: { ANTHROPIC_AUTH_TOKEN: target.clientKey ?? target.placeholderKey }),
|
|
72
|
+
// Subscription (passthrough) only: re-enable on-demand MCP tool loading,
|
|
73
|
+
// which Claude Code disables behind a non-first-party base URL. Safe on
|
|
74
|
+
// passthrough (tool_reference blocks forward verbatim); the rebuilt api-key
|
|
75
|
+
// path must NOT set it.
|
|
76
|
+
...(subscription ? { ENABLE_TOOL_SEARCH: 'true' } : {}),
|
|
77
|
+
};
|
|
78
|
+
return { env, subscription, meta, headers };
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=claudeCodeEnv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeCodeEnv.js","sourceRoot":"","sources":["../../src/tools/claudeCodeEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEzE;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,oBAAoB;IACpB,sBAAsB;IACtB,0BAA0B;IAC1B,6EAA6E;IAC7E,sEAAsE;IACtE,oBAAoB;CACZ,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,IAAwB,EACxB,YAAqB,EACrB,SAA6B,EACrB,EAAE;IACV,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,IAAI,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AA6BF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAqB,EACrB,OAA6B,EAAE,EACV,EAAE;IACvB,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC;IACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC;IACzD,MAAM,OAAO,GAAG,uBAAuB,CACrC,IAAI,EACJ,YAAY,EACZ,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;IACF,MAAM,GAAG,GAA2B;QAClC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB;QAC3C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,6EAA6E;QAC7E,0EAA0E;QAC1E,6EAA6E;QAC7E,yDAAyD;QACzD,GAAG,CAAC,YAAY,IAAI,CAAC,gBAAgB;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,4EAA4E;QAC5E,wBAAwB;QACxB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anyray-connect",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.23",
|
|
4
4
|
"description": "Anyray connect — points local coding tools (Claude Code, Cursor, Windsurf, SDKs) at the Anyray gateway by writing their base URL + a placeholder key. The gateway stays the brain; this is just the on-ramp.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|