@namzu/cli 0.2.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/cli.test.js +1 -1
  5. package/dist/commands/__tests__/eval.test.d.ts +2 -0
  6. package/dist/commands/__tests__/eval.test.d.ts.map +1 -0
  7. package/dist/commands/__tests__/eval.test.js +165 -0
  8. package/dist/commands/__tests__/eval.test.js.map +1 -0
  9. package/dist/commands/__tests__/passthrough-help.test.d.ts +2 -0
  10. package/dist/commands/__tests__/passthrough-help.test.d.ts.map +1 -0
  11. package/dist/commands/__tests__/passthrough-help.test.js +96 -0
  12. package/dist/commands/__tests__/passthrough-help.test.js.map +1 -0
  13. package/dist/commands/doctor.d.ts.map +1 -1
  14. package/dist/commands/doctor.js +5 -2
  15. package/dist/commands/doctor.js.map +1 -1
  16. package/dist/commands/doctor.test.js +4 -4
  17. package/dist/commands/doctor.test.js.map +1 -1
  18. package/dist/commands/eval.d.ts +54 -0
  19. package/dist/commands/eval.d.ts.map +1 -0
  20. package/dist/commands/eval.js +237 -0
  21. package/dist/commands/eval.js.map +1 -0
  22. package/dist/commands/registry.d.ts.map +1 -1
  23. package/dist/commands/registry.js +14 -4
  24. package/dist/commands/registry.js.map +1 -1
  25. package/dist/commands/run-stream.d.ts.map +1 -1
  26. package/dist/commands/run-stream.js +20 -0
  27. package/dist/commands/run-stream.js.map +1 -1
  28. package/dist/commands/run.d.ts +1 -1
  29. package/dist/commands/run.d.ts.map +1 -1
  30. package/dist/commands/run.js +14 -1
  31. package/dist/commands/run.js.map +1 -1
  32. package/dist/commands/tools.js +1 -1
  33. package/dist/commands/tools.js.map +1 -1
  34. package/dist/commands/types.d.ts +13 -0
  35. package/dist/commands/types.d.ts.map +1 -1
  36. package/dist/doctor/checks/sandbox.d.ts +11 -1
  37. package/dist/doctor/checks/sandbox.d.ts.map +1 -1
  38. package/dist/doctor/checks/sandbox.js +68 -34
  39. package/dist/doctor/checks/sandbox.js.map +1 -1
  40. package/dist/doctor/checks/sandbox.test.d.ts +2 -0
  41. package/dist/doctor/checks/sandbox.test.d.ts.map +1 -0
  42. package/dist/doctor/checks/sandbox.test.js +59 -0
  43. package/dist/doctor/checks/sandbox.test.js.map +1 -0
  44. package/dist/exit-codes.d.ts +7 -1
  45. package/dist/exit-codes.d.ts.map +1 -1
  46. package/dist/exit-codes.js +6 -0
  47. package/dist/exit-codes.js.map +1 -1
  48. package/dist/integrations/clawtool/binary.test.js +9 -1
  49. package/dist/integrations/clawtool/binary.test.js.map +1 -1
  50. package/dist/integrations/clawtool/dispatch.d.ts +2 -2
  51. package/dist/integrations/clawtool/dispatch.js +4 -4
  52. package/dist/integrations/clawtool/dispatch.js.map +1 -1
  53. package/dist/integrations/clawtool/mcp.d.ts.map +1 -1
  54. package/dist/integrations/clawtool/mcp.js +20 -2
  55. package/dist/integrations/clawtool/mcp.js.map +1 -1
  56. package/dist/integrations/clawtool/tooling.d.ts +8 -6
  57. package/dist/integrations/clawtool/tooling.d.ts.map +1 -1
  58. package/dist/integrations/clawtool/tooling.js +8 -6
  59. package/dist/integrations/clawtool/tooling.js.map +1 -1
  60. package/dist/integrations/clipboard/image.d.ts +0 -1
  61. package/dist/integrations/clipboard/image.d.ts.map +1 -1
  62. package/dist/integrations/clipboard/image.js +0 -1
  63. package/dist/integrations/clipboard/image.js.map +1 -1
  64. package/dist/integrations/providers/discover.d.ts +1 -1
  65. package/dist/integrations/providers/discover.js +9 -9
  66. package/dist/integrations/providers/discover.js.map +1 -1
  67. package/dist/integrations/providers/index.d.ts +2 -2
  68. package/dist/integrations/providers/index.d.ts.map +1 -1
  69. package/dist/integrations/providers/index.js +2 -2
  70. package/dist/integrations/providers/index.js.map +1 -1
  71. package/dist/integrations/providers/keychain.d.ts +17 -16
  72. package/dist/integrations/providers/keychain.d.ts.map +1 -1
  73. package/dist/integrations/providers/keychain.js +19 -19
  74. package/dist/integrations/providers/keychain.js.map +1 -1
  75. package/dist/integrations/providers/oauth.d.ts +7 -8
  76. package/dist/integrations/providers/oauth.d.ts.map +1 -1
  77. package/dist/integrations/providers/oauth.js +13 -11
  78. package/dist/integrations/providers/oauth.js.map +1 -1
  79. package/dist/integrations/providers/oauth.test.js +8 -8
  80. package/dist/integrations/providers/oauth.test.js.map +1 -1
  81. package/dist/integrations/providers/preferences.test.js +9 -1
  82. package/dist/integrations/providers/preferences.test.js.map +1 -1
  83. package/dist/integrations/providers/registry.d.ts +2 -3
  84. package/dist/integrations/providers/registry.d.ts.map +1 -1
  85. package/dist/integrations/providers/registry.js +3 -4
  86. package/dist/integrations/providers/registry.js.map +1 -1
  87. package/dist/integrations/providers/store.d.ts +1 -1
  88. package/dist/integrations/providers/store.js +1 -1
  89. package/dist/integrations/providers/store.test.js +9 -1
  90. package/dist/integrations/providers/store.test.js.map +1 -1
  91. package/dist/integrations/trust/store.d.ts +2 -2
  92. package/dist/integrations/trust/store.js +2 -2
  93. package/dist/memory/store.d.ts +1 -1
  94. package/dist/memory/store.js +1 -1
  95. package/dist/output/rendered-payload.test.d.ts +2 -0
  96. package/dist/output/rendered-payload.test.d.ts.map +1 -0
  97. package/dist/output/rendered-payload.test.js +61 -0
  98. package/dist/output/rendered-payload.test.js.map +1 -0
  99. package/dist/output/text.js +14 -0
  100. package/dist/output/text.js.map +1 -1
  101. package/dist/tui/App.js +4 -2
  102. package/dist/tui/App.js.map +1 -1
  103. package/dist/tui/Markdown.d.ts +2 -1
  104. package/dist/tui/Markdown.d.ts.map +1 -1
  105. package/dist/tui/Markdown.js +2 -1
  106. package/dist/tui/Markdown.js.map +1 -1
  107. package/dist/tui/Transcript.js +3 -2
  108. package/dist/tui/Transcript.js.map +1 -1
  109. package/dist/tui/TrustPrompt.d.ts +1 -1
  110. package/dist/tui/TrustPrompt.js +1 -1
  111. package/dist/tui/agent.d.ts +1 -1
  112. package/dist/tui/agent.d.ts.map +1 -1
  113. package/dist/tui/agent.js +46 -17
  114. package/dist/tui/agent.js.map +1 -1
  115. package/dist/tui/index.js +1 -1
  116. package/dist/tui/index.js.map +1 -1
  117. package/dist/tui/mentions.d.ts +2 -2
  118. package/dist/tui/mentions.js +2 -2
  119. package/dist/tui/theme.d.ts +4 -3
  120. package/dist/tui/theme.d.ts.map +1 -1
  121. package/dist/tui/theme.js +4 -3
  122. package/dist/tui/theme.js.map +1 -1
  123. package/package.json +7 -7
@@ -1,41 +1,75 @@
1
- import { constants, access } from 'node:fs/promises';
2
- const DARWIN_SANDBOX_EXEC = '/usr/bin/sandbox-exec';
1
+ import { LocalSandboxProvider, SANDBOX_ISOLATION_CONTROLS, isolationOf } from '@namzu/sdk';
2
+ /**
3
+ * Report the confinement this host will ACTUALLY give, by asking the
4
+ * thing that decides.
5
+ *
6
+ * The check used to switch on `process.platform` and answer from a table
7
+ * written beside it. That table drifted from the runtime in both
8
+ * directions: it called the Linux probe unimplemented when the provider
9
+ * has probed real `unshare` flags for some time, and it told a Windows
10
+ * operator that sandboxing "is not supported" full stop — true of the
11
+ * in-process tier, and silent about the container tier that does run
12
+ * there. An operator reading a health check is deciding whether to trust
13
+ * the boundary, and a second opinion derived from the OS name is the
14
+ * wrong thing to hand them.
15
+ *
16
+ * Constructing the provider is the probe: it runs the real spawn
17
+ * arguments and reports which controls survived. No isolation is
18
+ * REQUIRED here, so the construction cannot refuse — this asks what is
19
+ * available, it does not ask for anything.
20
+ */
21
+ /** A logger that says nothing: the check reports, the probe should not. */
22
+ const quietLogger = (() => {
23
+ const noop = () => { };
24
+ const self = { info: noop, warn: noop, error: noop, debug: noop };
25
+ return { ...self, child: () => self };
26
+ })();
27
+ const listControls = (report, want) => SANDBOX_ISOLATION_CONTROLS.filter((control) => report[control] === want).join(', ');
28
+ /**
29
+ * Turn a detected environment into the verdict an operator reads.
30
+ *
31
+ * Separate from the probe because the probe answers for THIS host, and
32
+ * every branch below is about a host the machine running the tests is
33
+ * not. Asserting on the check as a whole can only ever exercise the one
34
+ * outcome the developer's own machine produces, which is how a report
35
+ * for the other tiers rots unnoticed.
36
+ */
37
+ export function describeIsolationHealth(environment) {
38
+ const report = isolationOf(environment);
39
+ const enforced = listControls(report, true);
40
+ const missing = listControls(report, false);
41
+ if (missing.length === 0) {
42
+ return { status: 'pass', message: `${environment} enforces ${enforced}` };
43
+ }
44
+ if (enforced.length === 0) {
45
+ // Not `fail`: nothing is broken. The host simply has no in-process
46
+ // confinement, which is a fact an operator has to decide about
47
+ // rather than an error to fix.
48
+ return {
49
+ status: 'warn',
50
+ message: `${environment} enforces nothing — commands run unconfined`,
51
+ remediation: 'Run the agent inside a container per task (@namzu/sandbox, container tier), or pass requireIsolation so a run refuses rather than proceeding unconfined.',
52
+ };
53
+ }
54
+ return {
55
+ status: 'warn',
56
+ message: `${environment} enforces ${enforced} but not ${missing}`,
57
+ remediation: 'Pass requireIsolation with the controls you depend on, so a host that cannot enforce one refuses instead of downgrading quietly.',
58
+ };
59
+ }
3
60
  export const sandboxPlatformCheck = {
4
61
  id: 'sandbox.platform',
5
62
  category: 'sandbox',
6
63
  run: async () => {
7
- const platform = process.platform;
8
- switch (platform) {
9
- case 'darwin':
10
- try {
11
- await access(DARWIN_SANDBOX_EXEC, constants.X_OK);
12
- return {
13
- status: 'pass',
14
- message: `darwin / ${DARWIN_SANDBOX_EXEC} present and executable`,
15
- };
16
- }
17
- catch {
18
- return {
19
- status: 'fail',
20
- message: `darwin / ${DARWIN_SANDBOX_EXEC} not executable`,
21
- remediation: 'macOS sandboxing requires sandbox-exec; check system integrity.',
22
- };
23
- }
24
- case 'linux':
25
- return {
26
- status: 'inconclusive',
27
- message: 'linux sandbox capability probe (unshare + namespaces) not implemented in v1; register a custom check via registerDoctorCheck if you need it',
28
- };
29
- case 'win32':
30
- return {
31
- status: 'warn',
32
- message: 'windows sandbox is not supported by @namzu/sdk today',
33
- };
34
- default:
35
- return {
36
- status: 'inconclusive',
37
- message: `unrecognized platform "${platform}"`,
38
- };
64
+ try {
65
+ return describeIsolationHealth(new LocalSandboxProvider(quietLogger).environment);
66
+ }
67
+ catch (error) {
68
+ return {
69
+ status: 'fail',
70
+ message: `sandbox probe failed: ${error instanceof Error ? error.message : String(error)}`,
71
+ remediation: 'The local sandbox provider could not determine what this host enforces. Treat commands as unconfined until this is resolved.',
72
+ };
39
73
  }
40
74
  },
41
75
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/doctor/checks/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAIpD,MAAM,mBAAmB,GAAG,uBAAuB,CAAA;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAChD,EAAE,EAAE,kBAAkB;IACtB,QAAQ,EAAE,SAAS;IACnB,GAAG,EAAE,KAAK,IAAgC,EAAE;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACjC,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACZ,IAAI,CAAC;oBACJ,MAAM,MAAM,CAAC,mBAAmB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;oBACjD,OAAO;wBACN,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,YAAY,mBAAmB,yBAAyB;qBACjE,CAAA;gBACF,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO;wBACN,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,YAAY,mBAAmB,iBAAiB;wBACzD,WAAW,EAAE,iEAAiE;qBAC9E,CAAA;gBACF,CAAC;YACF,KAAK,OAAO;gBACX,OAAO;oBACN,MAAM,EAAE,cAAc;oBACtB,OAAO,EACN,6IAA6I;iBAC9I,CAAA;YACF,KAAK,OAAO;gBACX,OAAO;oBACN,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,sDAAsD;iBAC/D,CAAA;YACF;gBACC,OAAO;oBACN,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,0BAA0B,QAAQ,GAAG;iBAC9C,CAAA;QACH,CAAC;IACF,CAAC;CACD,CAAA"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/doctor/checks/sandbox.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE1F;;;;;;;;;;;;;;;;;;GAkBG;AAEH,2EAA2E;AAC3E,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;IACzB,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;IACrB,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACjE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,EAAuB,CAAA;AAC3D,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,YAAY,GAAG,CAAC,MAAgD,EAAE,IAAa,EAAE,EAAE,CACxF,0BAA0B,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEpF;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAA+B;IACtE,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAE3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,aAAa,QAAQ,EAAE,EAAE,CAAA;IAC1E,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,mEAAmE;QACnE,+DAA+D;QAC/D,+BAA+B;QAC/B,OAAO;YACN,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,WAAW,6CAA6C;YACpE,WAAW,EACV,0JAA0J;SAC3J,CAAA;IACF,CAAC;IAED,OAAO;QACN,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,WAAW,aAAa,QAAQ,YAAY,OAAO,EAAE;QACjE,WAAW,EACV,kIAAkI;KACnI,CAAA;AACF,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAChD,EAAE,EAAE,kBAAkB;IACtB,QAAQ,EAAE,SAAS;IACnB,GAAG,EAAE,KAAK,IAAgC,EAAE;QAC3C,IAAI,CAAC;YACJ,OAAO,uBAAuB,CAAC,IAAI,oBAAoB,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAA;QAClF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO;gBACN,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC1F,WAAW,EACV,8HAA8H;aAC/H,CAAA;QACF,CAAC;IACF,CAAC;CACD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sandbox.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.test.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/sandbox.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { describeIsolationHealth, sandboxPlatformCheck } from './sandbox.js';
3
+ /**
4
+ * The check used to switch on `process.platform` and answer from a table
5
+ * written beside it, which drifted from the runtime in both directions:
6
+ * it called the Linux probe unimplemented long after the provider began
7
+ * probing real flags, and it told a Windows operator that sandboxing is
8
+ * "not supported" full stop — true of the in-process tier, silent about
9
+ * the container tier that runs there.
10
+ *
11
+ * The verdict is tested apart from the probe on purpose. Driving the
12
+ * whole check can only ever exercise the outcome THIS machine produces,
13
+ * so the branches for the other tiers would rot unnoticed — and did: an
14
+ * earlier version of this file guarded every assertion behind the status
15
+ * it happened to get, which made two of them unreachable here.
16
+ */
17
+ const verdict = (environment) => describeIsolationHealth(environment);
18
+ describe('the verdict for a host that enforces everything', () => {
19
+ it('passes, and names every control it is claiming', () => {
20
+ const result = verdict('macos-seatbelt');
21
+ expect(result.status).toBe('pass');
22
+ expect(result.message).toBe('macos-seatbelt enforces filesystem, network, process');
23
+ });
24
+ });
25
+ describe('the verdict for a host that enforces some of it', () => {
26
+ it('warns rather than passing', () => {
27
+ // The run that depended on the missing control is the one that gets
28
+ // hurt, so a partial boundary is not a whole one.
29
+ expect(verdict('linux-namespace').status).toBe('warn');
30
+ });
31
+ it('names what is missing, not just that something is', () => {
32
+ const result = verdict('linux-namespace');
33
+ expect(result.message).toContain('enforces network, process');
34
+ expect(result.message).toContain('but not filesystem');
35
+ });
36
+ it('says what to do about it', () => {
37
+ expect(verdict('linux-namespace').remediation).toContain('requireIsolation');
38
+ });
39
+ });
40
+ describe('the verdict for a host that enforces nothing', () => {
41
+ it('warns and says so plainly', () => {
42
+ const result = verdict('basic');
43
+ expect(result.status).toBe('warn');
44
+ expect(result.message).toContain('enforces nothing');
45
+ expect(result.message).toContain('unconfined');
46
+ });
47
+ it('points at the boundary that does work there', () => {
48
+ // "Not supported", with nowhere to go, is what this replaced.
49
+ expect(verdict('basic').remediation).toContain('container');
50
+ });
51
+ });
52
+ describe('the check itself', () => {
53
+ it('answers from the provider rather than from the OS name', async () => {
54
+ const result = await sandboxPlatformCheck.run({});
55
+ expect(['pass', 'warn', 'fail']).toContain(result.status);
56
+ expect(result.message).toMatch(/^(basic|linux-namespace|macos-seatbelt|sandbox probe failed)/);
57
+ });
58
+ });
59
+ //# sourceMappingURL=sandbox.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.test.js","sourceRoot":"","sources":["../../../src/doctor/checks/sandbox.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAE5E;;;;;;;;;;;;;GAaG;AAEH,MAAM,OAAO,GAAG,CAAC,WAA+B,EAAE,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAA;AAEzF,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAChE,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAExC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;IACpF,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAChE,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACpC,oEAAoE;QACpE,kDAAkD;QAClD,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAEzC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAA;QAC7D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAC7E,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC7D,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAE/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;QACpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACtD,8DAA8D;QAC9D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,EAAW,CAAC,CAAA;QAE1D,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAA;IAC/F,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -6,11 +6,17 @@
6
6
  * 1 EXIT_FAIL — one or more checks reported `fail`
7
7
  * 2 EXIT_NO_CONFIG — Namzu is not configured in this environment
8
8
  * (no checks registered, no config file found)
9
+ * 64 EXIT_USAGE — sysexits EX_USAGE; the caller's arguments are
10
+ * wrong. Distinct from 70 on purpose: 70 says the
11
+ * CLI is broken and is worth a bug report, 64 says
12
+ * the invocation is, and reporting one as the other
13
+ * sends the reader looking in the wrong place.
9
14
  * 70 EXIT_INTERNAL_ERROR — sysexits EX_SOFTWARE; internal CLI error
10
15
  */
11
16
  export declare const EXIT_OK = 0;
12
17
  export declare const EXIT_FAIL = 1;
13
18
  export declare const EXIT_NO_CONFIG = 2;
19
+ export declare const EXIT_USAGE = 64;
14
20
  export declare const EXIT_INTERNAL_ERROR = 70;
15
- export type CliExitCode = typeof EXIT_OK | typeof EXIT_FAIL | typeof EXIT_NO_CONFIG | typeof EXIT_INTERNAL_ERROR;
21
+ export type CliExitCode = typeof EXIT_OK | typeof EXIT_FAIL | typeof EXIT_NO_CONFIG | typeof EXIT_USAGE | typeof EXIT_INTERNAL_ERROR;
16
22
  //# sourceMappingURL=exit-codes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,IAAI,CAAA;AACxB,eAAO,MAAM,SAAS,IAAI,CAAA;AAC1B,eAAO,MAAM,cAAc,IAAI,CAAA;AAC/B,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAErC,MAAM,MAAM,WAAW,GACpB,OAAO,OAAO,GACd,OAAO,SAAS,GAChB,OAAO,cAAc,GACrB,OAAO,mBAAmB,CAAA"}
1
+ {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,OAAO,IAAI,CAAA;AACxB,eAAO,MAAM,SAAS,IAAI,CAAA;AAC1B,eAAO,MAAM,cAAc,IAAI,CAAA;AAC/B,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAErC,MAAM,MAAM,WAAW,GACpB,OAAO,OAAO,GACd,OAAO,SAAS,GAChB,OAAO,cAAc,GACrB,OAAO,UAAU,GACjB,OAAO,mBAAmB,CAAA"}
@@ -6,10 +6,16 @@
6
6
  * 1 EXIT_FAIL — one or more checks reported `fail`
7
7
  * 2 EXIT_NO_CONFIG — Namzu is not configured in this environment
8
8
  * (no checks registered, no config file found)
9
+ * 64 EXIT_USAGE — sysexits EX_USAGE; the caller's arguments are
10
+ * wrong. Distinct from 70 on purpose: 70 says the
11
+ * CLI is broken and is worth a bug report, 64 says
12
+ * the invocation is, and reporting one as the other
13
+ * sends the reader looking in the wrong place.
9
14
  * 70 EXIT_INTERNAL_ERROR — sysexits EX_SOFTWARE; internal CLI error
10
15
  */
11
16
  export const EXIT_OK = 0;
12
17
  export const EXIT_FAIL = 1;
13
18
  export const EXIT_NO_CONFIG = 2;
19
+ export const EXIT_USAGE = 64;
14
20
  export const EXIT_INTERNAL_ERROR = 70;
15
21
  //# sourceMappingURL=exit-codes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;AACxB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAA;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;AACxB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAA;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAA"}
@@ -3,6 +3,14 @@ import { tmpdir } from 'node:os';
3
3
  import { delimiter, join } from 'node:path';
4
4
  import { describe, expect, it } from 'vitest';
5
5
  import { ClawtoolBinaryError, findBinary } from './binary.js';
6
+ /**
7
+ * POSIX file modes do not exist on Windows: `chmod` is a no-op there and
8
+ * `fs.stat().mode` reports a fixed value, so these cases assert a
9
+ * permission the platform cannot enforce. Skipping keeps the suite
10
+ * meaningful on Windows instead of permanently red — the behavior itself
11
+ * is still covered on Linux and macOS, where it actually matters.
12
+ */
13
+ const IS_WINDOWS = process.platform === 'win32';
6
14
  function execBin(dir, name) {
7
15
  const path = join(dir, name);
8
16
  writeFileSync(path, '#!/bin/sh\nexit 0\n');
@@ -15,7 +23,7 @@ describe('findBinary', () => {
15
23
  const path = execBin(dir, 'clawtool');
16
24
  expect(findBinary({ override: path })).toBe(path);
17
25
  });
18
- it('throws when the override is not executable', () => {
26
+ it.skipIf(IS_WINDOWS)('throws when the override is not executable', () => {
19
27
  const dir = mkdtempSync(join(tmpdir(), 'namzu-bin-'));
20
28
  const path = join(dir, 'clawtool');
21
29
  writeFileSync(path, '#!/bin/sh\nexit 0\n');
@@ -1 +1 @@
1
- {"version":3,"file":"binary.test.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/binary.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary.test.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/binary.test.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@
5
5
  * upstream CLI's exact wire format.
6
6
  *
7
7
  * The clawtool server passes through the upstream agent's NDJSON frames
8
- * verbatim. Different families (claude, codex, gemini, …) emit different
9
- * shapes. We do **best-effort normalization**: extract any `text` /
8
+ * verbatim, and each upstream family emits a different shape. We do
9
+ * **best-effort normalization**: extract any `text` /
10
10
  * `content` string fields as visible deltas; collapse `error` lines into
11
11
  * error events; everything else (tool_use, tool_result, ping, message
12
12
  * envelopes) is silently consumed for now — tool-call surfacing lands
@@ -5,8 +5,8 @@
5
5
  * upstream CLI's exact wire format.
6
6
  *
7
7
  * The clawtool server passes through the upstream agent's NDJSON frames
8
- * verbatim. Different families (claude, codex, gemini, …) emit different
9
- * shapes. We do **best-effort normalization**: extract any `text` /
8
+ * verbatim, and each upstream family emits a different shape. We do
9
+ * **best-effort normalization**: extract any `text` /
10
10
  * `content` string fields as visible deltas; collapse `error` lines into
11
11
  * error events; everything else (tool_use, tool_result, ping, message
12
12
  * envelopes) is silently consumed for now — tool-call surfacing lands
@@ -135,7 +135,7 @@ function extractText(frame) {
135
135
  return frame.text;
136
136
  if (typeof frame.content === 'string')
137
137
  return frame.content;
138
- // Anthropic streaming shape: { type: 'content_block_delta', delta: { text: '...' } }
138
+ // Block-delta shape: { type: 'content_block_delta', delta: { text: '...' } }
139
139
  if (frame.delta && typeof frame.delta === 'object') {
140
140
  const delta = frame.delta;
141
141
  if (typeof delta.text === 'string')
@@ -143,7 +143,7 @@ function extractText(frame) {
143
143
  if (typeof delta.content === 'string')
144
144
  return delta.content;
145
145
  }
146
- // OpenAI-compatible: { choices: [{ delta: { content: '...' } }] }
146
+ // Choice-delta shape: { choices: [{ delta: { content: '...' } }] }
147
147
  const choices = frame.choices;
148
148
  if (Array.isArray(choices) && choices[0]?.delta?.content) {
149
149
  const v = choices[0].delta.content;
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/dispatch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/integrations/clawtool/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAElE,eAAO,MAAM,oBAAoB,eAAe,CAAA;AAEhD,qBAAa,gBAAiB,SAAQ,KAAK;IAGzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;gBADtB,OAAO,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA;CAKvB;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACvD,kCAAkC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC3B;AAoBD,qBAAa,iBAAiB;IAOjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,EAAE,CAAI;IACd,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAEL,IAAI,EAAE,gBAAgB;IAK7C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAMzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;YAKrE,GAAG;YAqCH,MAAM;IAWpB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,OAAO;YAoBD,YAAY;CAQ1B"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/integrations/clawtool/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKlE,eAAO,MAAM,oBAAoB,eAAe,CAAA;AAEhD,qBAAa,gBAAiB,SAAQ,KAAK;IAGzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;gBADtB,OAAO,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA;CAKvB;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACvD,kCAAkC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC3B;AAsBD,qBAAa,iBAAiB;IAOjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,EAAE,CAAI;IACd,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAEL,IAAI,EAAE,gBAAgB;IAK7C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA2BzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;YAKrE,GAAG;YAqCH,MAAM;IAWpB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,OAAO;YAoBD,YAAY;CAQ1B"}
@@ -13,6 +13,8 @@
13
13
  * read fully before resolving (clawtool's current handlers return a
14
14
  * single event per call).
15
15
  */
16
+ /** Runaway guard for a server whose cursor never ends. */
17
+ const MAX_LIST_PAGES = 100;
16
18
  export const MCP_PROTOCOL_VERSION = '2024-11-05';
17
19
  export class McpProtocolError extends Error {
18
20
  code;
@@ -49,8 +51,24 @@ export class ClawtoolMcpClient {
49
51
  }
50
52
  async listTools() {
51
53
  await this.initialize();
52
- const result = await this.rpc('tools/list', {});
53
- return result.tools;
54
+ // Paged to the end. Sending no cursor and ignoring the one that
55
+ // comes back returns only the first page, so a server that pages
56
+ // its catalogue contributes part of it and nothing says so — the
57
+ // symptom is a model that never uses a tool it was told about.
58
+ const tools = [];
59
+ let cursor;
60
+ for (let page = 1;; page++) {
61
+ const result = await this.rpc('tools/list', cursor === undefined ? {} : { cursor });
62
+ if (Array.isArray(result.tools))
63
+ tools.push(...result.tools);
64
+ const next = result.nextCursor;
65
+ if (typeof next !== 'string' || next.length === 0)
66
+ return tools;
67
+ if (page >= MAX_LIST_PAGES) {
68
+ throw new Error(`tools/list did not stop paging after ${MAX_LIST_PAGES} pages (${tools.length} tools so far).`);
69
+ }
70
+ cursor = next;
71
+ }
54
72
  }
55
73
  async callTool(name, args) {
56
74
  await this.initialize();
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAA;AAEhD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAGhC;IAFV,YACC,OAAe,EACN,IAAa;QAEtB,KAAK,CAAC,OAAO,CAAC,CAAA;QAFL,SAAI,GAAJ,IAAI,CAAS;QAGtB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAC/B,CAAC;CACD;AA8BD,MAAM,OAAO,iBAAiB;IAOA;IANrB,EAAE,GAAG,CAAC,CAAA;IACN,WAAW,GAAG,KAAK,CAAA;IACnB,SAAS,GAAkB,IAAI,CAAA;IACtB,OAAO,CAAc;IACrB,SAAS,CAAQ;IAElC,YAA6B,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAA;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU;QACf,IAAI,IAAI,CAAC,WAAW;YAAE,OAAM;QAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;YAC5B,eAAe,EAAE,oBAAoB;YACrC,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;SACvE,CAAC,CAAA;QACF,mEAAmE;QACnE,sEAAsE;QACtE,MAAM,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,SAAS;QACd,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAkB,YAAY,EAAE,EAAE,CAAC,CAAA;QAChE,OAAO,MAAM,CAAC,KAAK,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAA6B;QACzD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACvB,OAAO,IAAI,CAAC,GAAG,CAAgB,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,CAAC;IAEO,KAAK,CAAC,GAAG,CAAI,MAAc,EAAE,MAA+B;QACnE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAA;QACpB,MAAM,IAAI,GAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QACnE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAA;QAC1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAClE,IAAI,QAAkB,CAAA;QACtB,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAClC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;gBACrC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB,CAAC,CAAA;QACH,CAAC;gBAAS,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC/B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CACzB,2BAA2B,MAAM,iBAAiB,QAAQ,CAAC,MAAM,EAAE,EACnE,QAAQ,CAAC,MAAM,CACf,CAAA;QACF,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAI,QAAQ,CAAC,CAAA;QACrD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,gBAAgB,CACzB,uBAAuB,MAAM,oBAAoB,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EACzE,QAAQ,CAAC,KAAK,CAAC,IAAI,CACnB,CAAA;QACF,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,MAAM,qBAAqB,CAAC,CAAA;QAC/E,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,MAA+B;QACnE,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,KAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QACxD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAA;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC1B,CAAC,CAAA;QACF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAEO,gBAAgB,CAAC,QAAkB;QAC1C,sEAAsE;QACtE,qEAAqE;QACrE,4EAA4E;QAC5E,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAC5F,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAA;QACrB,CAAC;IACF,CAAC;IAEO,OAAO,CAAC,MAAc,EAAE,MAA+B;QAC9D,MAAM,OAAO,GAA2B;YACvC,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,qCAAqC;YAC7C,YAAY,EAAE,MAAM;SACpB,CAAA;QACD,iEAAiE;QACjE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAA;QAC3C,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QACtE,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,aAAa,CAAC,EAAE,CAAC;YACnE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;QAC3B,CAAC;QACD,OAAO,OAAO,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,YAAY,CAAI,QAAkB;QAC/C,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACtC,OAAO,mBAAmB,CAAI,IAAI,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAA;IAC9C,CAAC;CACD;AAED,SAAS,mBAAmB,CAAI,GAAW;IAC1C,uCAAuC;IACvC,iCAAiC;IACjC,4BAA4B;IAC5B,sEAAsE;IACtE,2DAA2D;IAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,IAAI,IAAwB,CAAA;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACvC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5C,CAAC;IACF,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,gBAAgB,CAAC,6CAA6C,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/mcp.ts"],"names":[],"mappings":"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"}
@@ -18,12 +18,14 @@ import type { ClawtoolProxyTool } from './plugin.js';
18
18
  /** Bridged clawtool tools are namespaced under this prefix. */
19
19
  export declare const CLAWTOOL_TOOL_PREFIX = "clawtool_";
20
20
  /**
21
- * clawtool tools namzu never bridges (bare lowercased names). The `Agent*`
22
- * family is clawtool's on-disk `.claude/agents/*.md` persona manager — a
23
- * Claude-Code construct that writes into Claude Code's directory and is
24
- * redundant with (and confusing alongside) namzu's own in-memory dynamic
25
- * sub-agents. namzu owns sub-agent definition + dispatch natively, so these
26
- * are dropped before they reach the model.
21
+ * clawtool tools namzu never bridges (bare lowercased names).
22
+ *
23
+ * The `Agent*` family is clawtool's on-disk persona manager. It writes
24
+ * agent definitions into a third-party tool's configuration directory —
25
+ * a mechanism namzu neither owns nor reads, and one that is redundant with
26
+ * (and confusing alongside) namzu's own in-memory dynamic sub-agents.
27
+ * namzu defines and dispatches sub-agents natively, so these are dropped
28
+ * before they reach the model.
27
29
  */
28
30
  export declare const EXCLUDED_CLAWTOOL_TOOLS: Set<string>;
29
31
  /** Whether a bridged clawtool tool (by its bare name) is excluded from namzu. */
@@ -1 +1 @@
1
- {"version":3,"file":"tooling.d.ts","sourceRoot":"","sources":["../../../src/integrations/clawtool/tooling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACN,KAAK,cAAc,EAInB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,KAAK,2BAA2B,EAAwB,MAAM,aAAa,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAIpD,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,cAAc,CAAA;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,aAAoD,CAAA;AAExF,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,cAAc,CAkBjF;AAED,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IAC5E,oFAAoF;IACpF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,oEAAoE;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAChD,IAAI,GAAE,wBAA6B,GACjC,OAAO,CAAC,cAAc,EAAE,CAAC,CAc3B"}
1
+ {"version":3,"file":"tooling.d.ts","sourceRoot":"","sources":["../../../src/integrations/clawtool/tooling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACN,KAAK,cAAc,EAInB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,KAAK,2BAA2B,EAAwB,MAAM,aAAa,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAIpD,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,cAAc,CAAA;AAE/C;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,aAAoD,CAAA;AAExF,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,cAAc,CAkBjF;AAED,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IAC5E,oFAAoF;IACpF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,oEAAoE;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAChD,IAAI,GAAE,wBAA6B,GACjC,OAAO,CAAC,cAAc,EAAE,CAAC,CAc3B"}
@@ -18,12 +18,14 @@ const DEFAULT_LOAD_TIMEOUT_MS = 5_000;
18
18
  /** Bridged clawtool tools are namespaced under this prefix. */
19
19
  export const CLAWTOOL_TOOL_PREFIX = 'clawtool_';
20
20
  /**
21
- * clawtool tools namzu never bridges (bare lowercased names). The `Agent*`
22
- * family is clawtool's on-disk `.claude/agents/*.md` persona manager — a
23
- * Claude-Code construct that writes into Claude Code's directory and is
24
- * redundant with (and confusing alongside) namzu's own in-memory dynamic
25
- * sub-agents. namzu owns sub-agent definition + dispatch natively, so these
26
- * are dropped before they reach the model.
21
+ * clawtool tools namzu never bridges (bare lowercased names).
22
+ *
23
+ * The `Agent*` family is clawtool's on-disk persona manager. It writes
24
+ * agent definitions into a third-party tool's configuration directory —
25
+ * a mechanism namzu neither owns nor reads, and one that is redundant with
26
+ * (and confusing alongside) namzu's own in-memory dynamic sub-agents.
27
+ * namzu defines and dispatches sub-agents natively, so these are dropped
28
+ * before they reach the model.
27
29
  */
28
30
  export const EXCLUDED_CLAWTOOL_TOOLS = new Set(['agentnew', 'agentlist', 'agentdetect']);
29
31
  /** Whether a bridged clawtool tool (by its bare name) is excluded from namzu. */
@@ -1 +1 @@
1
- {"version":3,"file":"tooling.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/tooling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tooling.js","sourceRoot":"","sources":["../../../src/integrations/clawtool/tooling.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@
7
7
  * `xclip` then `wl-paste`; Windows uses PowerShell. Non-throwing — any
8
8
  * failure (no image on the clipboard, tool missing) returns `null`.
9
9
  *
10
- * Pattern mirrors Claude Code's `utils/imagePaste.ts` clipboard plumbing.
11
10
  */
12
11
  export interface ClipboardImage {
13
12
  /** Base64-encoded PNG bytes (no `data:` prefix). */
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/integrations/clipboard/image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,MAAM,WAAW,cAAc;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;CAC/B;AAID,wBAAgB,kBAAkB,IAAI,cAAc,GAAG,IAAI,CAgB1D"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/integrations/clipboard/image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,MAAM,WAAW,cAAc;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;CAC/B;AAID,wBAAgB,kBAAkB,IAAI,cAAc,GAAG,IAAI,CAgB1D"}
@@ -7,7 +7,6 @@
7
7
  * `xclip` then `wl-paste`; Windows uses PowerShell. Non-throwing — any
8
8
  * failure (no image on the clipboard, tool missing) returns `null`.
9
9
  *
10
- * Pattern mirrors Claude Code's `utils/imagePaste.ts` clipboard plumbing.
11
10
  */
12
11
  import { execFileSync } from 'node:child_process';
13
12
  import { readFileSync, rmSync } from 'node:fs';
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/integrations/clipboard/image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAQhC,MAAM,UAAU,GAAG,KAAK,CAAA;AAExB,MAAM,UAAU,kBAAkB;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC3D,IAAI,CAAC;QACJ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACjC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;YAAS,CAAC;QACV,IAAI,CAAC;YACJ,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACR,sBAAsB;QACvB,CAAC;IACF,CAAC;AACF,CAAC;AAED,gFAAgF;AAChF,SAAS,oBAAoB,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,IAAc,EAAW,EAAE;QACpD,IAAI,CAAC;YACJ,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;YACvF,OAAO,IAAI,CAAA;QACZ,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAW,EAAE;QAC5C,IAAI,CAAC;YACJ,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBACvC,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;aACrC,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACZ,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC,CAAA;IAED,QAAQ,QAAQ,EAAE,EAAE,CAAC;QACpB,KAAK,QAAQ;YACZ,OAAO,GAAG,CAAC,WAAW,EAAE;gBACvB,IAAI;gBACJ,iDAAiD;gBACjD,IAAI;gBACJ,yCAAyC,IAAI,yBAAyB;gBACtE,IAAI;gBACJ,sBAAsB;gBACtB,IAAI;gBACJ,iBAAiB;aACjB,CAAC,CAAA;QACH,KAAK,OAAO;YACX,OAAO,CACN,QAAQ,CAAC,iDAAiD,IAAI,eAAe,CAAC;gBAC9E,QAAQ,CAAC,gCAAgC,IAAI,eAAe,CAAC,CAC7D,CAAA;QACF,KAAK,OAAO;YACX,OAAO,GAAG,CAAC,YAAY,EAAE;gBACxB,YAAY;gBACZ,UAAU;gBACV,8DAA8D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,iEAAiE;aACvJ,CAAC,CAAA;QACH;YACC,OAAO,KAAK,CAAA;IACd,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/integrations/clipboard/image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAQhC,MAAM,UAAU,GAAG,KAAK,CAAA;AAExB,MAAM,UAAU,kBAAkB;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC3D,IAAI,CAAC;QACJ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACjC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;YAAS,CAAC;QACV,IAAI,CAAC;YACJ,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACR,sBAAsB;QACvB,CAAC;IACF,CAAC;AACF,CAAC;AAED,gFAAgF;AAChF,SAAS,oBAAoB,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,IAAc,EAAW,EAAE;QACpD,IAAI,CAAC;YACJ,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;YACvF,OAAO,IAAI,CAAA;QACZ,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAW,EAAE;QAC5C,IAAI,CAAC;YACJ,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBACvC,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;aACrC,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACZ,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC,CAAA;IAED,QAAQ,QAAQ,EAAE,EAAE,CAAC;QACpB,KAAK,QAAQ;YACZ,OAAO,GAAG,CAAC,WAAW,EAAE;gBACvB,IAAI;gBACJ,iDAAiD;gBACjD,IAAI;gBACJ,yCAAyC,IAAI,yBAAyB;gBACtE,IAAI;gBACJ,sBAAsB;gBACtB,IAAI;gBACJ,iBAAiB;aACjB,CAAC,CAAA;QACH,KAAK,OAAO;YACX,OAAO,CACN,QAAQ,CAAC,iDAAiD,IAAI,eAAe,CAAC;gBAC9E,QAAQ,CAAC,gCAAgC,IAAI,eAAe,CAAC,CAC7D,CAAA;QACF,KAAK,OAAO;YACX,OAAO,GAAG,CAAC,YAAY,EAAE;gBACxB,YAAY;gBACZ,UAAU;gBACV,8DAA8D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,iEAAiE;aACvJ,CAAC,CAAA;QACH;YACC,OAAO,KAAK,CAAA;IACd,CAAC;AACF,CAAC"}
@@ -38,7 +38,7 @@ export interface DetectedProvider {
38
38
  readonly baseUrl?: string;
39
39
  /**
40
40
  * OAuth refresh metadata, present only when `apiKey` is an OAuth access
41
- * token carrying a refresh token + expiry (the Claude Code Keychain). Lets
41
+ * token carrying a refresh token + expiry (the Keychain source). Lets
42
42
  * the session layer renew a lapsed token instead of failing with a 401.
43
43
  */
44
44
  readonly oauth?: {
@@ -13,7 +13,7 @@
13
13
  * Discovery is non-throwing. Network probes have short timeouts. The
14
14
  * picker can render immediately and refine if discovery completes later.
15
15
  */
16
- import { readClaudeCodeKeychainCredential } from './keychain.js';
16
+ import { KEYCHAIN_SERVICE, readAgentKeychainCredential } from './keychain.js';
17
17
  import { PROVIDER_REGISTRY } from './registry.js';
18
18
  import { readClawtoolSecrets } from './secrets.js';
19
19
  const DEFAULT_PROBE_TIMEOUT_MS = 500;
@@ -21,10 +21,10 @@ export async function discoverProviders(opts = {}) {
21
21
  const env = opts.env ?? process.env;
22
22
  const secrets = readClawtoolSecrets(opts.home);
23
23
  const detected = [];
24
- // macOS-only: read Claude Code's OAuth credential from the login
24
+ // macOS-only: read the third-party OAuth credential stored in the login
25
25
  // Keychain once. Only anthropic consumes it, but we scan up front so
26
26
  // the loop body stays uniform.
27
- const claudeKeychain = opts.skipKeychain ? null : readClaudeCodeKeychainCredential();
27
+ const keychainCredential = opts.skipKeychain ? null : readAgentKeychainCredential();
28
28
  for (const id of Object.keys(PROVIDER_REGISTRY)) {
29
29
  const entry = PROVIDER_REGISTRY[id];
30
30
  const sources = [];
@@ -45,16 +45,16 @@ export async function discoverProviders(opts = {}) {
45
45
  sources.push({ kind: 'secrets-toml', envName: cand.envName, scope: cand.scope });
46
46
  }
47
47
  }
48
- if (id === 'anthropic' && claudeKeychain) {
48
+ if (id === 'anthropic' && keychainCredential) {
49
49
  if (apiKey === undefined)
50
- apiKey = claudeKeychain.accessToken;
51
- sources.push({ kind: 'keychain', service: 'Claude Code-credentials' });
50
+ apiKey = keychainCredential.accessToken;
51
+ sources.push({ kind: 'keychain', service: KEYCHAIN_SERVICE });
52
52
  // Only carry refresh metadata when the Keychain token is the one we'll
53
53
  // actually use (an env/secrets token has no refresh path).
54
- if (apiKey === claudeKeychain.accessToken) {
54
+ if (apiKey === keychainCredential.accessToken) {
55
55
  oauth = {
56
- refreshToken: claudeKeychain.refreshToken,
57
- expiresAt: claudeKeychain.expiresAt,
56
+ refreshToken: keychainCredential.refreshToken,
57
+ expiresAt: keychainCredential.expiresAt,
58
58
  };
59
59
  }
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/integrations/providers/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAA+C,MAAM,eAAe,CAAA;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAyClD,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAEpC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,OAAwB,EAAE;IAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACnC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAuB,EAAE,CAAA;IAEvC,iEAAiE;IACjE,qEAAqE;IACrE,+BAA+B;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC,EAAE,CAAA;IAEpF,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAA0B,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACnC,MAAM,OAAO,GAAsB,EAAE,CAAA;QACrC,IAAI,MAA0B,CAAA;QAC9B,IAAI,KAAgC,CAAA;QACpC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;YACtB,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,MAAM,KAAK,SAAS;oBAAE,MAAM,GAAG,CAAC,CAAA;gBACpC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YACvC,CAAC;QACF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,IAAI,MAAM,KAAK,SAAS;oBAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YACjF,CAAC;QACF,CAAC;QACD,IAAI,EAAE,KAAK,WAAW,IAAI,cAAc,EAAE,CAAC;YAC1C,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,GAAG,cAAc,CAAC,WAAW,CAAA;YAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAA;YACtE,uEAAuE;YACvE,2DAA2D;YAC3D,IAAI,MAAM,KAAK,cAAc,CAAC,WAAW,EAAE,CAAC;gBAC3C,KAAK,GAAG;oBACP,YAAY,EAAE,cAAc,CAAC,YAAY;oBACzC,SAAS,EAAE,cAAc,CAAC,SAAS;iBACnC,CAAA;YACF,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACnD,IAAI,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACrD,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC;gBACb,KAAK;gBACL,MAAM,EAAE,OAAO,CAAC,CAAC,CAAoB;gBACrC,MAAM;gBACN,OAAO,EAAE,KAAK,CAAC,cAAc;gBAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9B,CAAC,CAAA;YACF,SAAQ;QACT,CAAC;QACD,oEAAoE;QACpE,kEAAkE;QAClE,mEAAmE;QACnE,kCAAkC;QAClC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC3E,sEAAsE;YACtE,mEAAmE;QACpE,CAAC;IACF,CAAC;IACD,OAAO,QAAQ,CAAA;AAChB,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,GAAW,EAAE,IAAqB;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAA;IAC9C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,KAAK,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EACxB,IAAI,CAAC,cAAc,IAAI,wBAAwB,CAC/C,CAAA;IACD,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5E,OAAO,GAAG,CAAC,EAAE,CAAA;IACd,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;YAAS,CAAC;QACV,YAAY,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;AACF,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAC3B,IAAiC,EACjC,EAAc;IAEd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAA;AACnD,CAAC"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/integrations/providers/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAA+C,MAAM,eAAe,CAAA;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAyClD,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAEpC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,OAAwB,EAAE;IAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACnC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAuB,EAAE,CAAA;IAEvC,wEAAwE;IACxE,qEAAqE;IACrE,+BAA+B;IAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAA;IAEnF,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAA0B,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACnC,MAAM,OAAO,GAAsB,EAAE,CAAA;QACrC,IAAI,MAA0B,CAAA;QAC9B,IAAI,KAAgC,CAAA;QACpC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;YACtB,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,MAAM,KAAK,SAAS;oBAAE,MAAM,GAAG,CAAC,CAAA;gBACpC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YACvC,CAAC;QACF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,IAAI,MAAM,KAAK,SAAS;oBAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YACjF,CAAC;QACF,CAAC;QACD,IAAI,EAAE,KAAK,WAAW,IAAI,kBAAkB,EAAE,CAAC;YAC9C,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAA;YACjE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAA;YAC7D,uEAAuE;YACvE,2DAA2D;YAC3D,IAAI,MAAM,KAAK,kBAAkB,CAAC,WAAW,EAAE,CAAC;gBAC/C,KAAK,GAAG;oBACP,YAAY,EAAE,kBAAkB,CAAC,YAAY;oBAC7C,SAAS,EAAE,kBAAkB,CAAC,SAAS;iBACvC,CAAA;YACF,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACnD,IAAI,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACrD,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC;gBACb,KAAK;gBACL,MAAM,EAAE,OAAO,CAAC,CAAC,CAAoB;gBACrC,MAAM;gBACN,OAAO,EAAE,KAAK,CAAC,cAAc;gBAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9B,CAAC,CAAA;YACF,SAAQ;QACT,CAAC;QACD,oEAAoE;QACpE,kEAAkE;QAClE,mEAAmE;QACnE,kCAAkC;QAClC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC3E,sEAAsE;YACtE,mEAAmE;QACpE,CAAC;IACF,CAAC;IACD,OAAO,QAAQ,CAAA;AAChB,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,GAAW,EAAE,IAAqB;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAA;IAC9C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,KAAK,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EACxB,IAAI,CAAC,cAAc,IAAI,wBAAwB,CAC/C,CAAA;IACD,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5E,OAAO,GAAG,CAAC,EAAE,CAAA;IACd,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;YAAS,CAAC;QACV,YAAY,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;AACF,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAC3B,IAAiC,EACjC,EAAc;IAEd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAA;AACnD,CAAC"}