@markus-global/cli 0.8.4 → 0.8.5-rc.1

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 (147) hide show
  1. package/dist/commands/agent.js +9 -9
  2. package/dist/commands/agent.js.map +1 -1
  3. package/dist/commands/doctor.d.ts +3 -1
  4. package/dist/commands/doctor.d.ts.map +1 -1
  5. package/dist/commands/doctor.js +27 -1
  6. package/dist/commands/doctor.js.map +1 -1
  7. package/dist/commands/models.d.ts.map +1 -1
  8. package/dist/commands/models.js +6 -7
  9. package/dist/commands/models.js.map +1 -1
  10. package/dist/commands/project.d.ts +3 -0
  11. package/dist/commands/project.d.ts.map +1 -0
  12. package/dist/commands/project.js +25 -0
  13. package/dist/commands/project.js.map +1 -0
  14. package/dist/commands/requirement.d.ts +3 -0
  15. package/dist/commands/requirement.d.ts.map +1 -0
  16. package/dist/commands/requirement.js +34 -0
  17. package/dist/commands/requirement.js.map +1 -0
  18. package/dist/commands/start.d.ts.map +1 -1
  19. package/dist/commands/start.js +42 -1
  20. package/dist/commands/start.js.map +1 -1
  21. package/dist/commands/task.d.ts +3 -0
  22. package/dist/commands/task.d.ts.map +1 -0
  23. package/dist/commands/task.js +110 -0
  24. package/dist/commands/task.js.map +1 -0
  25. package/dist/index.js +8 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/markus.mjs +3770 -965
  28. package/dist/output.d.ts +3 -1
  29. package/dist/output.d.ts.map +1 -1
  30. package/dist/output.js +34 -3
  31. package/dist/output.js.map +1 -1
  32. package/dist/web-ui/assets/arc-Bsag-Glv.js +1 -0
  33. package/dist/web-ui/assets/architectureDiagram-3BPJPVTR-Bsoce9kv.js +36 -0
  34. package/dist/web-ui/assets/blockDiagram-GPEHLZMM-yKU648MS.js +132 -0
  35. package/dist/web-ui/assets/c4Diagram-AAUBKEIU-D9jqfIyV.js +10 -0
  36. package/dist/web-ui/assets/channel-B_s3gBqG.js +1 -0
  37. package/dist/web-ui/assets/chunk-2J33WTMH-CvLORSm0.js +1 -0
  38. package/dist/web-ui/assets/chunk-4BX2VUAB-BZK80okI.js +1 -0
  39. package/dist/web-ui/assets/chunk-55IACEB6-BitRVHKz.js +1 -0
  40. package/dist/web-ui/assets/chunk-727SXJPM-D1wO8ccL.js +206 -0
  41. package/dist/web-ui/assets/chunk-AQP2D5EJ-Dp5afjp3.js +231 -0
  42. package/dist/web-ui/assets/chunk-FMBD7UC4-cLk0KREg.js +15 -0
  43. package/dist/web-ui/assets/chunk-ND2GUHAM-DD3gGcwY.js +1 -0
  44. package/dist/web-ui/assets/chunk-QZHKN3VN-cFGEueLz.js +1 -0
  45. package/dist/web-ui/assets/classDiagram-4FO5ZUOK-CkMU_D5p.js +1 -0
  46. package/dist/web-ui/assets/classDiagram-v2-Q7XG4LA2-CkMU_D5p.js +1 -0
  47. package/dist/web-ui/assets/cose-bilkent-S5V4N54A-BcN_2hrp.js +1 -0
  48. package/dist/web-ui/assets/cytoscape.esm-D3_iZ_3b.js +321 -0
  49. package/dist/web-ui/assets/dagre-BM42HDAG-CO_IlaG_.js +4 -0
  50. package/dist/web-ui/assets/defaultLocale-DX6XiGOO.js +1 -0
  51. package/dist/web-ui/assets/diagram-2AECGRRQ-Nbt4IydR.js +43 -0
  52. package/dist/web-ui/assets/diagram-5GNKFQAL-CIpLuKrx.js +10 -0
  53. package/dist/web-ui/assets/diagram-KO2AKTUF-DIQUaXHZ.js +3 -0
  54. package/dist/web-ui/assets/diagram-LMA3HP47-62f0WnnG.js +24 -0
  55. package/dist/web-ui/assets/diagram-OG6HWLK6-jRDG8kTS.js +24 -0
  56. package/dist/web-ui/assets/erDiagram-TEJ5UH35-DBxHwsak.js +85 -0
  57. package/dist/web-ui/assets/flowDiagram-I6XJVG4X-CID468IB.js +162 -0
  58. package/dist/web-ui/assets/ganttDiagram-6RSMTGT7-Bna3kLSY.js +292 -0
  59. package/dist/web-ui/assets/gitGraphDiagram-PVQCEYII-CPy_4OVv.js +106 -0
  60. package/dist/web-ui/assets/graph--OzhPTMs.js +1 -0
  61. package/dist/web-ui/assets/index-C1_HX8vL.css +1 -0
  62. package/dist/web-ui/assets/index-ejNkFdfR.js +776 -0
  63. package/dist/web-ui/assets/infoDiagram-5YYISTIA-DL0FQqmP.js +2 -0
  64. package/dist/web-ui/assets/init-Gi6I4Gst.js +1 -0
  65. package/dist/web-ui/assets/ishikawaDiagram-YF4QCWOH-Cfk_Dhf3.js +70 -0
  66. package/dist/web-ui/assets/journeyDiagram-JHISSGLW-DYGBieTo.js +139 -0
  67. package/dist/web-ui/assets/kanban-definition-UN3LZRKU-BXJ8grdW.js +89 -0
  68. package/dist/web-ui/assets/layout-SsrduOYp.js +1 -0
  69. package/dist/web-ui/assets/linear-D-CiXdaS.js +1 -0
  70. package/dist/web-ui/assets/mermaid.core-BHJDz64r.js +303 -0
  71. package/dist/web-ui/assets/mindmap-definition-RKZ34NQL-B8z5oNDH.js +96 -0
  72. package/dist/web-ui/assets/ordinal-Cboi1Yqb.js +1 -0
  73. package/dist/web-ui/assets/pieDiagram-4H26LBE5-DyK-mtmy.js +30 -0
  74. package/dist/web-ui/assets/plantuml-DezRDxd4.js +357 -0
  75. package/dist/web-ui/assets/quadrantDiagram-W4KKPZXB-vrSbdkia.js +7 -0
  76. package/dist/web-ui/assets/requirementDiagram-4Y6WPE33-CgqB56TU.js +84 -0
  77. package/dist/web-ui/assets/sankeyDiagram-5OEKKPKP-BKw6c5Hg.js +40 -0
  78. package/dist/web-ui/assets/sequenceDiagram-3UESZ5HK-tfL1U11H.js +162 -0
  79. package/dist/web-ui/assets/stateDiagram-AJRCARHV-CxQ0FH92.js +1 -0
  80. package/dist/web-ui/assets/stateDiagram-v2-BHNVJYJU-CxL4o1Ly.js +1 -0
  81. package/dist/web-ui/assets/timeline-definition-PNZ67QCA-DkvoQzvL.js +120 -0
  82. package/dist/web-ui/assets/vennDiagram-CIIHVFJN-yVw45STE.js +34 -0
  83. package/dist/web-ui/assets/viz-global-C_AyN6D9.js +9 -0
  84. package/dist/web-ui/assets/wardley-L42UT6IY-GoL7yU6X.js +161 -0
  85. package/dist/web-ui/assets/wardleyDiagram-YWT4CUSO-C6vYm0ap.js +78 -0
  86. package/dist/web-ui/assets/xychartDiagram-2RQKCTM6-80M84XUq.js +7 -0
  87. package/dist/web-ui/index.html +2 -2
  88. package/package.json +2 -1
  89. package/templates/roles/SHARED.md +113 -8
  90. package/templates/roles/ai-engineer/ROLE.md +35 -0
  91. package/templates/roles/ai-engineer/agent.json +1 -1
  92. package/templates/roles/architect/ROLE.md +15 -0
  93. package/templates/roles/architect/agent.json +1 -1
  94. package/templates/roles/content-writer/HEARTBEAT.md +29 -0
  95. package/templates/roles/content-writer/POLICIES.md +30 -0
  96. package/templates/roles/content-writer/ROLE.md +235 -19
  97. package/templates/roles/data-engineer/ROLE.md +29 -0
  98. package/templates/roles/data-engineer/agent.json +1 -1
  99. package/templates/roles/developer/HEARTBEAT.md +25 -7
  100. package/templates/roles/developer/POLICIES.md +24 -6
  101. package/templates/roles/developer/ROLE.md +335 -55
  102. package/templates/roles/devops/HEARTBEAT.md +30 -0
  103. package/templates/roles/devops/POLICIES.md +30 -0
  104. package/templates/roles/devops/ROLE.md +126 -20
  105. package/templates/roles/org-manager/ROLE.md +15 -0
  106. package/templates/roles/product-manager/POLICIES.md +29 -0
  107. package/templates/roles/product-manager/ROLE.md +126 -17
  108. package/templates/roles/project-manager/HEARTBEAT.md +30 -0
  109. package/templates/roles/project-manager/POLICIES.md +29 -0
  110. package/templates/roles/project-manager/ROLE.md +18 -0
  111. package/templates/roles/qa-engineer/HEARTBEAT.md +29 -0
  112. package/templates/roles/qa-engineer/POLICIES.md +29 -0
  113. package/templates/roles/qa-engineer/ROLE.md +133 -26
  114. package/templates/roles/research-assistant/HEARTBEAT.md +29 -0
  115. package/templates/roles/research-assistant/POLICIES.md +29 -0
  116. package/templates/roles/research-assistant/ROLE.md +310 -48
  117. package/templates/roles/reviewer/POLICIES.md +29 -0
  118. package/templates/roles/reviewer/ROLE.md +49 -0
  119. package/templates/roles/scrum-master/ROLE.md +6 -0
  120. package/templates/roles/skill-architect/HEARTBEAT.md +29 -0
  121. package/templates/roles/skill-architect/POLICIES.md +29 -0
  122. package/templates/roles/skill-architect/ROLE.md +267 -20
  123. package/templates/roles/sre/agent.json +1 -1
  124. package/templates/roles/tech-writer/HEARTBEAT.md +29 -0
  125. package/templates/roles/tech-writer/POLICIES.md +28 -0
  126. package/templates/roles/tech-writer/ROLE.md +258 -21
  127. package/templates/skills/claude-code/SKILL.md +239 -0
  128. package/templates/skills/claude-code/skill.json +17 -0
  129. package/templates/skills/codex/SKILL.md +217 -0
  130. package/templates/skills/codex/skill.json +17 -0
  131. package/templates/skills/coding-tools/SKILL.md +300 -0
  132. package/templates/skills/coding-tools/skill.json +17 -0
  133. package/templates/skills/cursor-agent/SKILL.md +262 -0
  134. package/templates/skills/cursor-agent/skill.json +17 -0
  135. package/templates/skills/feishu-interaction/SKILL.md +103 -0
  136. package/templates/skills/feishu-interaction/skill.json +26 -0
  137. package/templates/skills/self-evolution/SKILL.md +31 -0
  138. package/templates/teams/content-team/NORMS.md +17 -0
  139. package/templates/teams/dev-squad/NORMS.md +26 -0
  140. package/templates/teams/dev-squad/team.json +4 -4
  141. package/templates/teams/engineering-pod/NORMS.md +33 -0
  142. package/templates/teams/engineering-pod/team.json +4 -4
  143. package/templates/teams/research-lab/NORMS.md +15 -0
  144. package/templates/teams/startup-team/NORMS.md +17 -0
  145. package/templates/teams/startup-team/team.json +1 -1
  146. package/dist/web-ui/assets/index-CZL1VHgy.css +0 -1
  147. package/dist/web-ui/assets/index-DZjXJ0HZ.js +0 -724
@@ -1,11 +1,11 @@
1
1
  import { createClient } from '../api-client.js';
2
- import { table, detail, success } from '../output.js';
2
+ import { table, detail, success, withErrorHandling } from '../output.js';
3
3
  export function registerAgentCommands(program) {
4
4
  const agent = program.command('agent').description('Interact with agents');
5
5
  agent
6
6
  .command('list')
7
7
  .description('List all agents')
8
- .action(async () => {
8
+ .action(withErrorHandling(async () => {
9
9
  const client = createClient(program.optsWithGlobals());
10
10
  const data = await client.get('/agents');
11
11
  table(data.agents, [
@@ -15,22 +15,22 @@ export function registerAgentCommands(program) {
15
15
  { key: 'status', header: 'Status', width: 10 },
16
16
  { key: 'agentRole', header: 'Type', width: 10 },
17
17
  ], { title: 'Agents' });
18
- });
18
+ }));
19
19
  agent
20
20
  .command('get <id>')
21
21
  .description('Get agent details')
22
- .action(async (id) => {
22
+ .action(withErrorHandling(async (id) => {
23
23
  const client = createClient(program.optsWithGlobals());
24
24
  const data = await client.get(`/agents/${id}`);
25
25
  detail(data, { title: `Agent: ${data.name ?? id}` });
26
- });
26
+ }));
27
27
  agent
28
28
  .command('message <id>')
29
29
  .description('Send a one-shot message to an agent')
30
30
  .requiredOption('-t, --text <text>', 'Message text')
31
31
  .option('--sender <senderId>', 'Sender ID')
32
32
  .option('--session <sessionId>', 'Session ID')
33
- .action(async (id, opts) => {
33
+ .action(withErrorHandling(async (id, opts) => {
34
34
  const client = createClient(program.optsWithGlobals());
35
35
  const body = { text: opts.text };
36
36
  if (opts.sender)
@@ -39,11 +39,11 @@ export function registerAgentCommands(program) {
39
39
  body.sessionId = opts.session;
40
40
  const data = await client.post(`/agents/${id}/message`, body);
41
41
  success(data.reply ?? '(no reply)', data);
42
- });
42
+ }));
43
43
  agent
44
44
  .command('chat <id>')
45
45
  .description('Interactive chat with an agent')
46
- .action(async (id) => {
46
+ .action(withErrorHandling(async (id) => {
47
47
  const client = createClient(program.optsWithGlobals());
48
48
  const info = await client.get(`/agents/${id}`);
49
49
  const name = info.name ?? id;
@@ -72,6 +72,6 @@ export function registerAgentCommands(program) {
72
72
  });
73
73
  };
74
74
  ask();
75
- });
75
+ }));
76
76
  }
77
77
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,9 @@ interface DoctorOptions {
7
7
  fix?: boolean;
8
8
  verbose?: boolean;
9
9
  }
10
- export declare function runDoctor(options?: DoctorOptions): Promise<void>;
10
+ export declare function runDoctor(options?: DoctorOptions): Promise<{
11
+ issuesFound: boolean;
12
+ }>;
11
13
  export declare function registerDoctorCommand(program: Command): void;
12
14
  export {};
13
15
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCzC,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiD1C;AAID,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoO1E;AAUD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QASrD"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCzC,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiD1C;AAID,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,CA4P9F;AAUD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAYrD"}
@@ -247,6 +247,28 @@ export async function runDoctor(options = {}) {
247
247
  else {
248
248
  checkWarn('Skills directory not found', `${skillsDir} — skills can be installed via Web UI or the Secretary agent`);
249
249
  }
250
+ // ── Coding Tools ──────────────────────────────────────────────────────────
251
+ section('Coding Tools');
252
+ const { resolveWhich: _resolveWhich } = await import('@markus/shared');
253
+ const codingTools = [
254
+ { name: 'Claude Code', cmd: 'claude', installHint: 'npm install -g @anthropic-ai/claude-code' },
255
+ { name: 'Codex', cmd: 'codex', installHint: 'npm install -g @openai/codex' },
256
+ { name: 'Cursor', cmd: 'cursor', installHint: 'Install from https://cursor.sh' },
257
+ ];
258
+ let toolsFound = 0;
259
+ for (const tool of codingTools) {
260
+ const toolPath = _resolveWhich(tool.cmd);
261
+ if (toolPath) {
262
+ checkOk(`${tool.name}`, `found at ${toolPath}`);
263
+ toolsFound++;
264
+ }
265
+ else {
266
+ checkWarn(`${tool.name}`, `not found — ${tool.installHint}`);
267
+ }
268
+ }
269
+ if (toolsFound === 0) {
270
+ checkInfo('No coding tools detected. Install one to enable AI-assisted coding.');
271
+ }
250
272
  // ── 7. Network connectivity ─────────────────────────────────────────────
251
273
  section('Network');
252
274
  const proxyUrl = process.env['HTTPS_PROXY'] || process.env['HTTP_PROXY']
@@ -313,6 +335,7 @@ export async function runDoctor(options = {}) {
313
335
  if (fix && fixedCount > 0) {
314
336
  console.log(` ${C.GREEN}✓${C.RESET} Fixed ${fixedCount} issue(s).\n`);
315
337
  }
338
+ return { issuesFound: totalIssues > 0 };
316
339
  }
317
340
  async function getDefaultConfigPath() {
318
341
  const { homedir } = await import('node:os');
@@ -327,7 +350,10 @@ export function registerDoctorCommand(program) {
327
350
  .option('--fix', 'Attempt to automatically fix issues')
328
351
  .option('--verbose', 'Show detailed output')
329
352
  .action(async (opts) => {
330
- await runDoctor({ fix: opts.fix, verbose: opts.verbose });
353
+ const { issuesFound } = await runDoctor({ fix: opts.fix, verbose: opts.verbose });
354
+ if (issuesFound && !opts.fix) {
355
+ process.exit(1);
356
+ }
331
357
  });
332
358
  }
333
359
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEvD,iFAAiF;AAEjF,MAAM,CAAC,GAAG;IACR,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,SAAS,OAAO,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChG,CAAC;AACD,SAAS,SAAS,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9F,CAAC;AACD,SAAS,SAAS,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjG,CAAC;AACD,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AACD,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,kFAAkF;AAElF,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AACzF,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACzF,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAU,EACV,MAAc,EACd,KAAa,EACb,OAAgB;IAEhB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAE1C,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;gBAC9B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,MAAM;oBACnB,mBAAmB,EAAE,YAAY;oBACjC,2CAA2C,EAAE,MAAM;iBACpD;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,YAAY;oBACjC,UAAU,EAAE,CAAC;oBACb,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iBAC5C,CAAC;aACH,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;YAC7F,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;YACpE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACpD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;YAClF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,YAAY;gBACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3C,UAAU,EAAE,CAAC;aACd,CAAC;SACH,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAC7F,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;QACrF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;IACpD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9F,CAAC;AACH,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAyB,EAAE;IACzD,MAAM,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;;0DAEwB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAErE,2EAA2E;IAC3E,OAAO,CAAC,SAAS,CAAC,CAAC;IACnB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,WAAW,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,WAAW,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;QACjF,YAAY,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACvD,CAAC;IAED,2EAA2E;IAC3E,OAAO,CAAC,eAAe,CAAC,CAAC;IACzB,MAAM,UAAU,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAChD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IAED,2EAA2E;IAC3E,OAAO,CAAC,eAAe,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,SAAS,IAAI,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAsE,EAAE,CAAC;IAE3F,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,MAAM;YAAE,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE;QACvE,MAAM,GAAG,GAAI,GAAW,EAAE,MAAM,IAAI,EAAE,CAAC;QACvC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACxC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,iBAAiB;QACjB,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAE,CAAC;YAClD,IAAI,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,MAAM,GAAG,EAAE,8BAA8B,CAAC,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,MAAM,GAAG,EAAE,sBAAsB,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QACD,oBAAoB;QACpB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAI,GAAW,CAAC,MAAM,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,aAAc,GAAW,CAAC,KAAK,CAAC,CAAC,CAAC,MAAO,GAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9B,MAAM,cAAc,GAAwE,EAAE,CAAC;IAE/F,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACjD,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAI,GAAW,CAAC,MAAM,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,cAAc,CAAC,IAAI,CAAC;gBAClB,EAAE;gBACF,GAAG;gBACH,KAAK,EAAG,GAAW,CAAC,KAAK,IAAI,IAAI,EAAE,YAAY,IAAI,EAAE;gBACrD,OAAO,EAAG,GAAW,CAAC,OAAO,IAAI,IAAI,EAAE,OAAO;aAC/C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAC3C,YAAY,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,MAAM,OAAO,CAAC,GAAG,CACf,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACvD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,KAAK,UAAU,EAAE,sBAAsB,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,KAAK,UAAU,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,aAAa,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACrD,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,yBAAyB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,OAAO,CAAC,SAAS,CAAC,CAAC;IACnB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,GAAG,OAAO,EAAE,UAAU,CAAC;IAC1C,MAAM,QAAQ,GAAG,GAAG,UAAU,UAAU,CAAC;IACzC,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,IAAI,GAAG,EAAE,CAAC;gBACR,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9C,OAAO,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;gBACpD,UAAU,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,UAAU,UAAU,EAAE,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,SAAS,CAAC,uDAAuD,CAAC,CAAC;YACnE,SAAS,CAAC,uCAAuC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,CAAC,aAAa,QAAQ,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,SAAS,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,MAAM,SAAS,GAAG,GAAG,OAAO,EAAE,iBAAiB,CAAC;IAChD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,qBAAqB,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,qBAAqB,CAAC,CAAC;QACnF,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,4BAA4B,EAAE,GAAG,SAAS,8DAA8D,CAAC,CAAC;IACtH,CAAC;IAED,6EAA6E;IAC7E,OAAO,CAAC,cAAc,CAAC,CAAC;IACxB,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG;QAClB,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;QAC/F,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE;QAC5E,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;KACjF,CAAC;IACF,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,QAAQ,EAAE,CAAC,CAAC;YAChD,UAAU,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,eAAe,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,qEAAqE,CAAC,CAAC;IACnF,CAAC;IAED,2EAA2E;IAC3E,OAAO,CAAC,SAAS,CAAC,CAAC;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;WACnE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,YAAY,EAAE,8DAA8D,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,6CAA6C,EAAE;YACrE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,CAAC,sBAAsB,EAAE,sDAAsD,CAAC,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IAED,2EAA2E;IAC3E,OAAO,CAAC,eAAe,CAAC,CAAC;IACzB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,IAAK,GAAW,CAAC,MAAM,IAAI,aAAa,CAAE,GAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9D,SAAS,CAAC,GAAG,EAAE,2BAA2B,EAAE,6CAA6C,CAAC,CAAC;gBAC3F,YAAY,EAAE,CAAC;YACjB,CAAC;YACD,IAAK,GAAW,CAAC,OAAO,IAAI,aAAa,CAAE,GAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChE,SAAS,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;gBACvD,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC;IAED,4EAA4E;IAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACxD,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,KAAK,4BAA4B,CAAC,CAAC;QACvG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,oCAAoC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACrE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9D,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,WAAW,wBAAwB,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,GAAG,kCAAkC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC9I,CAAC;IAED,IAAI,GAAG,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,UAAU,UAAU,cAAc,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,OAAO,EAAE,qCAAqC,CAAC;SACtD,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;QACnB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClF,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QA0CrD"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QA0CrD"}
@@ -1,21 +1,20 @@
1
1
  import { PROVIDERS } from '@markus/shared';
2
+ import { detail, fail } from '../output.js';
2
3
  const C = { GREEN: '\x1b[32m', CYAN: '\x1b[36m', DIM: '\x1b[2m', RESET: '\x1b[0m', BOLD: '\x1b[1m' };
3
4
  export function registerModelsCommand(program) {
4
5
  program
5
6
  .command('models [provider]')
6
7
  .description('List available models for providers')
7
- .option('--json', 'Output as JSON')
8
- .action(async (provider, opts) => {
9
- const { json } = opts;
8
+ .action(async (provider) => {
9
+ const json = program.optsWithGlobals().json;
10
10
  if (provider) {
11
11
  const pdef = PROVIDERS.find(p => p.id === provider);
12
12
  if (!pdef) {
13
- console.log(`Unknown provider: ${provider}`);
14
- console.log(`Available: ${PROVIDERS.map(p => p.id).join(', ')}`);
13
+ fail(`Unknown provider: ${provider}. Available: ${PROVIDERS.map(p => p.id).join(', ')}`);
15
14
  return;
16
15
  }
17
16
  if (json) {
18
- console.log(JSON.stringify({ [pdef.id]: pdef.models }, null, 2));
17
+ detail({ [pdef.id]: pdef.models });
19
18
  return;
20
19
  }
21
20
  console.log(`\n${C.BOLD}${pdef.label} Models${C.RESET}\n`);
@@ -27,7 +26,7 @@ export function registerModelsCommand(program) {
27
26
  return;
28
27
  }
29
28
  if (json) {
30
- console.log(JSON.stringify(Object.fromEntries(PROVIDERS.map(p => [p.id, p.models])), null, 2));
29
+ detail(Object.fromEntries(PROVIDERS.map(p => [p.id, p.models])));
31
30
  return;
32
31
  }
33
32
  console.log(`\n${C.BOLD}╔══════════════════════════════════════════════════════════════╗
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerProjectCommands(program: Command): void;
3
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QAuBvD"}
@@ -0,0 +1,25 @@
1
+ import { createClient } from '../api-client.js';
2
+ import { table, detail, withErrorHandling } from '../output.js';
3
+ export function registerProjectCommands(program) {
4
+ const proj = program.command('project').description('Manage projects');
5
+ proj.command('list')
6
+ .description('List projects')
7
+ .action(withErrorHandling(async () => {
8
+ const client = createClient(program.optsWithGlobals());
9
+ const data = await client.get('/projects');
10
+ table(data.projects, [
11
+ { key: 'id', header: 'ID', width: 28 },
12
+ { key: 'name', header: 'Name', width: 25 },
13
+ { key: 'status', header: 'Status', width: 10 },
14
+ { key: 'description', header: 'Description', width: 30 },
15
+ ], { title: 'Projects' });
16
+ }));
17
+ proj.command('show <id>')
18
+ .description('Show project details')
19
+ .action(withErrorHandling(async (id) => {
20
+ const client = createClient(program.optsWithGlobals());
21
+ const data = await client.get(`/projects/${id}`);
22
+ detail(data, { title: `Project: ${data.name ?? id}` });
23
+ }));
24
+ }
25
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAEvE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SACjB,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;QACnC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAA0C,WAAW,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACtC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1C,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;YAC9C,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;SACzD,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;SACtB,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAA0B,aAAa,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerRequirementCommands(program: Command): void;
3
+ //# sourceMappingURL=requirement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirement.d.ts","sourceRoot":"","sources":["../../src/commands/requirement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,QAgC3D"}
@@ -0,0 +1,34 @@
1
+ import { createClient } from '../api-client.js';
2
+ import { table, detail, withErrorHandling } from '../output.js';
3
+ export function registerRequirementCommands(program) {
4
+ const req = program.command('requirement').alias('req').description('Manage requirements');
5
+ req.command('list')
6
+ .description('List requirements')
7
+ .option('--status <status>', 'Filter by status')
8
+ .option('--project <projectId>', 'Filter by project')
9
+ .option('--source <source>', 'Filter by source (user/agent/workflow)')
10
+ .action(withErrorHandling(async (opts) => {
11
+ const client = createClient(program.optsWithGlobals());
12
+ const query = {
13
+ status: opts.status,
14
+ projectId: opts.project,
15
+ source: opts.source,
16
+ };
17
+ const data = await client.get('/requirements', query);
18
+ table(data.requirements, [
19
+ { key: 'id', header: 'ID', width: 28 },
20
+ { key: 'title', header: 'Title', width: 30 },
21
+ { key: 'status', header: 'Status', width: 12 },
22
+ { key: 'priority', header: 'Priority', width: 8 },
23
+ { key: 'source', header: 'Source', width: 10 },
24
+ ], { title: 'Requirements' });
25
+ }));
26
+ req.command('show <id>')
27
+ .description('Show requirement details')
28
+ .action(withErrorHandling(async (id) => {
29
+ const client = createClient(program.optsWithGlobals());
30
+ const data = await client.get(`/requirements/${id}`);
31
+ detail(data, { title: `Requirement: ${data.title ?? id}` });
32
+ }));
33
+ }
34
+ //# sourceMappingURL=requirement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirement.js","sourceRoot":"","sources":["../../src/commands/requirement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAE3F,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;SAChB,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;SACrE,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAA4B,EAAE,EAAE;QAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACvD,MAAM,KAAK,GAAuC;YAChD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAA8C,eAAe,EAAE,KAAK,CAAC,CAAC;QACnG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACtC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5C,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;YAC9C,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;YACjD,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;SAC/C,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;SACrB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAA0B,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKrD,OAAO,EACL,UAAU,EAYX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,SAAS,EAIT,UAAU,EAKX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,WAAW,EAEX,WAAW,EAEX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,YAAY,EAkBb,MAAM,qBAAqB,CAAC;AAQ7B,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAsBpD;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC;;;;;;;;;;;;;GAqTzE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EACrC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACjG,OAAO,CAAC,eAAe,CAAC,CAG1B"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMrD,OAAO,EACL,UAAU,EAYX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,SAAS,EAIT,UAAU,EAKX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,WAAW,EAEX,WAAW,EAEX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,YAAY,EAkBb,MAAM,qBAAqB,CAAC;AAQ7B,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAsBpD;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC;;;;;;;;;;;;;GA4VzE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EACrC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACjG,OAAO,CAAC,eAAe,CAAC,CAG1B"}
@@ -1,6 +1,7 @@
1
1
  import { resolve, join, dirname, delimiter } from 'node:path';
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
3
  import { homedir } from 'node:os';
4
+ import { createRequire } from 'node:module';
4
5
  import { allTemplateDirs, resolveTemplatesDir, resolveWebUiDir } from '../paths.js';
5
6
  import { loadConfig, getDefaultConfigPath, createLogger, closeRuntimeLogger, checkForUpdate, userId, TRIAGE_MAX_TOKENS, TRIAGE_TEMPERATURE, TRIAGE_ALLOWED_TOOLS, } from '@markus/shared';
6
7
  import { AgentManager, LLMRouter, LLMLogger, ModelCatalogService, RoleLoader, createDefaultSkillRegistry, ExternalAgentGateway, } from '@markus/core';
@@ -234,6 +235,43 @@ export async function createServices(config) {
234
235
  await taskService.loadFromDB('default');
235
236
  taskService.startTimeoutChecker();
236
237
  }
238
+ // Inject Feishu MCP server whenever credentials are available
239
+ const mcpServers = { ...config.mcpServers };
240
+ const feishuIntegration = config.integrations?.feishu;
241
+ const feishuAppId = feishuIntegration?.appId ?? process.env['FEISHU_APP_ID'];
242
+ const feishuAppSecret = feishuIntegration?.appSecret ?? process.env['FEISHU_APP_SECRET'];
243
+ if (feishuAppId && feishuAppSecret) {
244
+ const presets = feishuIntegration?.mcp?.presets ?? ['preset.default', 'preset.calendar.default', 'preset.task.default', 'preset.im.default', 'preset.base.batch'];
245
+ let larkMcpBin;
246
+ try {
247
+ const esmRequire = createRequire(import.meta.url);
248
+ const pkgPath = esmRequire.resolve('@larksuiteoapi/lark-mcp/package.json');
249
+ larkMcpBin = join(dirname(pkgPath), 'dist', 'cli.js');
250
+ }
251
+ catch {
252
+ larkMcpBin = '';
253
+ }
254
+ const baseArgs = [
255
+ 'mcp',
256
+ '-a', feishuAppId,
257
+ '-s', feishuAppSecret,
258
+ '-t', presets.join(','),
259
+ '--token-mode', 'tenant_access_token',
260
+ ];
261
+ if (larkMcpBin && existsSync(larkMcpBin)) {
262
+ mcpServers['feishu-lark'] = {
263
+ command: 'node',
264
+ args: [larkMcpBin, ...baseArgs],
265
+ };
266
+ }
267
+ else {
268
+ mcpServers['feishu-lark'] = {
269
+ command: 'npx',
270
+ args: ['-y', '@larksuiteoapi/lark-mcp', ...baseArgs],
271
+ };
272
+ }
273
+ log.info('Feishu MCP server configured', { presets, localBin: !!larkMcpBin });
274
+ }
237
275
  const agentManager = new AgentManager({
238
276
  llmRouter,
239
277
  roleLoader,
@@ -241,7 +279,7 @@ export async function createServices(config) {
241
279
  sharedDataDir,
242
280
  skillRegistry,
243
281
  taskService,
244
- mcpServers: config.mcpServers,
282
+ mcpServers,
245
283
  });
246
284
  if (config.agent?.maxToolIterations) {
247
285
  agentManager.maxToolIterations = config.agent.maxToolIterations;
@@ -255,6 +293,9 @@ export async function createServices(config) {
255
293
  timeoutMs: cc.timeoutMs,
256
294
  };
257
295
  }
296
+ if (config.codingTools) {
297
+ agentManager.setCodingToolsConfig(config.codingTools);
298
+ }
258
299
  if (config.browser?.bringToFront !== undefined) {
259
300
  agentManager.setBrowserBringToFront(config.browser.bringToFront);
260
301
  }