@jackchen_me/open-multi-agent 0.2.0 → 1.0.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 (117) hide show
  1. package/README.md +87 -20
  2. package/dist/agent/agent.d.ts +15 -1
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.js +144 -10
  5. package/dist/agent/agent.js.map +1 -1
  6. package/dist/agent/loop-detector.d.ts +39 -0
  7. package/dist/agent/loop-detector.d.ts.map +1 -0
  8. package/dist/agent/loop-detector.js +122 -0
  9. package/dist/agent/loop-detector.js.map +1 -0
  10. package/dist/agent/pool.d.ts +2 -1
  11. package/dist/agent/pool.d.ts.map +1 -1
  12. package/dist/agent/pool.js +4 -2
  13. package/dist/agent/pool.js.map +1 -1
  14. package/dist/agent/runner.d.ts +23 -1
  15. package/dist/agent/runner.d.ts.map +1 -1
  16. package/dist/agent/runner.js +113 -12
  17. package/dist/agent/runner.js.map +1 -1
  18. package/dist/index.d.ts +3 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/llm/adapter.d.ts +4 -1
  23. package/dist/llm/adapter.d.ts.map +1 -1
  24. package/dist/llm/adapter.js +11 -0
  25. package/dist/llm/adapter.js.map +1 -1
  26. package/dist/llm/copilot.d.ts.map +1 -1
  27. package/dist/llm/copilot.js +2 -1
  28. package/dist/llm/copilot.js.map +1 -1
  29. package/dist/llm/gemini.d.ts +65 -0
  30. package/dist/llm/gemini.d.ts.map +1 -0
  31. package/dist/llm/gemini.js +317 -0
  32. package/dist/llm/gemini.js.map +1 -0
  33. package/dist/llm/grok.d.ts +21 -0
  34. package/dist/llm/grok.d.ts.map +1 -0
  35. package/dist/llm/grok.js +24 -0
  36. package/dist/llm/grok.js.map +1 -0
  37. package/dist/llm/openai-common.d.ts +8 -1
  38. package/dist/llm/openai-common.d.ts.map +1 -1
  39. package/dist/llm/openai-common.js +35 -2
  40. package/dist/llm/openai-common.js.map +1 -1
  41. package/dist/llm/openai.d.ts +1 -1
  42. package/dist/llm/openai.d.ts.map +1 -1
  43. package/dist/llm/openai.js +20 -2
  44. package/dist/llm/openai.js.map +1 -1
  45. package/dist/orchestrator/orchestrator.d.ts.map +1 -1
  46. package/dist/orchestrator/orchestrator.js +89 -9
  47. package/dist/orchestrator/orchestrator.js.map +1 -1
  48. package/dist/task/queue.d.ts +31 -2
  49. package/dist/task/queue.d.ts.map +1 -1
  50. package/dist/task/queue.js +69 -2
  51. package/dist/task/queue.js.map +1 -1
  52. package/dist/tool/text-tool-extractor.d.ts +32 -0
  53. package/dist/tool/text-tool-extractor.d.ts.map +1 -0
  54. package/dist/tool/text-tool-extractor.js +187 -0
  55. package/dist/tool/text-tool-extractor.js.map +1 -0
  56. package/dist/types.d.ts +139 -7
  57. package/dist/types.d.ts.map +1 -1
  58. package/dist/utils/trace.d.ts +12 -0
  59. package/dist/utils/trace.d.ts.map +1 -0
  60. package/dist/utils/trace.js +30 -0
  61. package/dist/utils/trace.js.map +1 -0
  62. package/package.json +18 -2
  63. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
  64. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -23
  65. package/.github/pull_request_template.md +0 -14
  66. package/.github/workflows/ci.yml +0 -23
  67. package/CLAUDE.md +0 -72
  68. package/CODE_OF_CONDUCT.md +0 -48
  69. package/CONTRIBUTING.md +0 -72
  70. package/DECISIONS.md +0 -43
  71. package/README_zh.md +0 -217
  72. package/SECURITY.md +0 -17
  73. package/examples/01-single-agent.ts +0 -131
  74. package/examples/02-team-collaboration.ts +0 -167
  75. package/examples/03-task-pipeline.ts +0 -201
  76. package/examples/04-multi-model-team.ts +0 -261
  77. package/examples/05-copilot-test.ts +0 -49
  78. package/examples/06-local-model.ts +0 -199
  79. package/examples/07-fan-out-aggregate.ts +0 -209
  80. package/examples/08-gemma4-local.ts +0 -203
  81. package/examples/09-gemma4-auto-orchestration.ts +0 -162
  82. package/src/agent/agent.ts +0 -473
  83. package/src/agent/pool.ts +0 -278
  84. package/src/agent/runner.ts +0 -413
  85. package/src/agent/structured-output.ts +0 -126
  86. package/src/index.ts +0 -167
  87. package/src/llm/adapter.ts +0 -87
  88. package/src/llm/anthropic.ts +0 -389
  89. package/src/llm/copilot.ts +0 -551
  90. package/src/llm/openai-common.ts +0 -255
  91. package/src/llm/openai.ts +0 -272
  92. package/src/memory/shared.ts +0 -181
  93. package/src/memory/store.ts +0 -124
  94. package/src/orchestrator/orchestrator.ts +0 -977
  95. package/src/orchestrator/scheduler.ts +0 -352
  96. package/src/task/queue.ts +0 -394
  97. package/src/task/task.ts +0 -239
  98. package/src/team/messaging.ts +0 -232
  99. package/src/team/team.ts +0 -334
  100. package/src/tool/built-in/bash.ts +0 -187
  101. package/src/tool/built-in/file-edit.ts +0 -154
  102. package/src/tool/built-in/file-read.ts +0 -105
  103. package/src/tool/built-in/file-write.ts +0 -81
  104. package/src/tool/built-in/grep.ts +0 -362
  105. package/src/tool/built-in/index.ts +0 -50
  106. package/src/tool/executor.ts +0 -178
  107. package/src/tool/framework.ts +0 -557
  108. package/src/types.ts +0 -391
  109. package/src/utils/semaphore.ts +0 -89
  110. package/tests/semaphore.test.ts +0 -57
  111. package/tests/shared-memory.test.ts +0 -122
  112. package/tests/structured-output.test.ts +0 -331
  113. package/tests/task-queue.test.ts +0 -244
  114. package/tests/task-retry.test.ts +0 -368
  115. package/tests/task-utils.test.ts +0 -155
  116. package/tests/tool-executor.test.ts +0 -193
  117. package/tsconfig.json +0 -25
@@ -11,6 +11,7 @@
11
11
  *
12
12
  * const anthropic = createAdapter('anthropic')
13
13
  * const openai = createAdapter('openai', process.env.OPENAI_API_KEY)
14
+ * const gemini = createAdapter('gemini', process.env.GEMINI_API_KEY)
14
15
  * ```
15
16
  */
16
17
  /**
@@ -20,6 +21,8 @@
20
21
  * explicitly:
21
22
  * - `anthropic` → `ANTHROPIC_API_KEY`
22
23
  * - `openai` → `OPENAI_API_KEY`
24
+ * - `gemini` → `GEMINI_API_KEY` / `GOOGLE_API_KEY`
25
+ * - `grok` → `XAI_API_KEY`
23
26
  * - `copilot` → `GITHUB_COPILOT_TOKEN` / `GITHUB_TOKEN`, or interactive
24
27
  * OAuth2 device flow if neither is set
25
28
  *
@@ -44,10 +47,18 @@ export async function createAdapter(provider, apiKey, baseURL) {
44
47
  const { CopilotAdapter } = await import('./copilot.js');
45
48
  return new CopilotAdapter(apiKey);
46
49
  }
50
+ case 'gemini': {
51
+ const { GeminiAdapter } = await import('./gemini.js');
52
+ return new GeminiAdapter(apiKey);
53
+ }
47
54
  case 'openai': {
48
55
  const { OpenAIAdapter } = await import('./openai.js');
49
56
  return new OpenAIAdapter(apiKey, baseURL);
50
57
  }
58
+ case 'grok': {
59
+ const { GrokAdapter } = await import('./grok.js');
60
+ return new GrokAdapter(apiKey, baseURL);
61
+ }
51
62
  default: {
52
63
  // The `never` cast here makes TypeScript enforce exhaustiveness.
53
64
  const _exhaustive = provider;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/llm/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA2BH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAA2B,EAC3B,MAAe,EACf,OAAgB;IAEhB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAC3D,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAA;YAC3G,CAAC;YACD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;YACvD,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;YACrD,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,iEAAiE;YACjE,MAAM,WAAW,GAAU,QAAQ,CAAA;YACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/llm/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA2BH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAA2B,EAC3B,MAAe,EACf,OAAgB;IAEhB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAC3D,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAA;YAC3G,CAAC;YACD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;YACvD,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;YACrD,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;YACrD,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC3C,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;YACjD,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,iEAAiE;YACjE,MAAM,WAAW,GAAU,QAAQ,CAAA;YACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../src/llm/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAEhB,WAAW,EAGZ,MAAM,aAAa,CAAA;AA2CpB;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;AA+GpF,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAClC;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,UAAU;;IAC/C,QAAQ,CAAC,IAAI,aAAY;gBAQb,eAAe,CAAC,EAAE,MAAM,GAAG,qBAAqB;IA6DtD,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAyB1E,MAAM,CACX,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,gBAAgB,GACxB,aAAa,CAAC,WAAW,CAAC;CA2H9B;AAMD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoC5D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED,yDAAyD;AACzD,eAAO,MAAM,cAAc,EAAE,SAAS,gBAAgB,EA2B5C,CAAA"}
1
+ {"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../../src/llm/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAEhB,WAAW,EAGZ,MAAM,aAAa,CAAA;AA2CpB;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;AA+GpF,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAClC;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,UAAU;;IAC/C,QAAQ,CAAC,IAAI,aAAY;gBAQb,eAAe,CAAC,EAAE,MAAM,GAAG,qBAAqB;IA6DtD,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IA0B1E,MAAM,CACX,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,gBAAgB,GACxB,aAAa,CAAC,WAAW,CAAC;CA2H9B;AAMD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoC5D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED,yDAAyD;AACzD,eAAO,MAAM,cAAc,EAAE,SAAS,gBAAgB,EA2B5C,CAAA"}
@@ -211,7 +211,8 @@ export class CopilotAdapter {
211
211
  }, {
212
212
  signal: options.abortSignal,
213
213
  });
214
- return fromOpenAICompletion(completion);
214
+ const toolNames = options.tools?.map(t => t.name);
215
+ return fromOpenAICompletion(completion, toolNames);
215
216
  }
216
217
  // -------------------------------------------------------------------------
217
218
  // stream()
@@ -1 +1 @@
1
- {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/llm/copilot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAA;AAkB3B,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAE3B,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG,kDAAkD,CAAA;AAC5E,MAAM,eAAe,GAAK,sCAAsC,CAAA;AAChE,MAAM,QAAQ,GAAY,6CAA6C,CAAA;AACvE,MAAM,iBAAiB,GAAG,sBAAsB,CAAA;AAEhD,MAAM,eAAe,GAA2B;IAC9C,wBAAwB,EAAE,aAAa;IACvC,gBAAgB,EAAE,gBAAgB;IAClC,uBAAuB,EAAE,qBAAqB;CAC/C,CAAA;AA4BD,MAAM,yBAAyB,GAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IAClE,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;IAChE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;AAClE,CAAC,CAAA;AAED;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAAC,YAAgC;IAC7D,gCAAgC;IAChC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE;QAC3C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,mCAAmC;SACpD;QACD,IAAI,EAAE,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;KAC9E,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QACjD,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAuB,CAAA;IAE7D,uCAAuC;IACvC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;IAE3D,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAA;IAExD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;QAE7D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,mCAAmC;aACpD;YACD,IAAI,EAAE,IAAI,eAAe,CAAC;gBACxB,SAAS,EAAE,iBAAiB;gBAC5B,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,UAAU,EAAE,8CAA8C;aAC3D,CAAC;SACH,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAiB,CAAA;QAEvD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;YACpD,OAAO,QAAQ,CAAC,YAAY,CAAA;QAC9B,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,KAAK,uBAAuB;YAAE,SAAQ;QACxD,IAAI,QAAQ,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;YACzD,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,iBAAiB,IAAI,EAAE,EAAE,CACpF,CAAA;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IAClD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE;QACzC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,WAAW,EAAE;YACrC,MAAM,EAAE,kBAAkB;YAC1B,YAAY,EAAE,0BAA0B;SACzC;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAI,KAAK,CACb,kCAAkC,GAAG,CAAC,MAAM,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAC3E,CAAA;IACH,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAA;AACnD,CAAC;AAiBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,SAAS,CAAA;IAEzB,YAAY,CAAe;IAC3B,YAAY,GAAkB,IAAI,CAAA;IAClC,eAAe,GAAG,CAAC,CAAA;IACnB,eAAe,GAA2B,IAAI,CAAA;IACrC,aAAa,CAAoB;IAE1C,YAAY,eAAgD;QAC1D,MAAM,IAAI,GAAG,OAAO,eAAe,KAAK,QAAQ;YAC9C,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE;YAC7B,CAAC,CAAC,eAAe,IAAI,EAAE,CAAA;QAEzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM;eAC1B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;eACnC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;eAC3B,IAAI,CAAA;QACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,IAAI,yBAAyB,CAAA;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QACzC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,YAAY,CAAA;QAC1B,CAAC;QAED,mEAAmE;QACnE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAA;QAC7B,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACxC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,eAAe,CAAA;QACnC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAA;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAA;QACtC,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,aAAa;QACjB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAClD,OAAO,IAAI,MAAM,CAAC;YAChB,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,+BAA+B;YACxC,cAAc,EAAE,eAAe;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,4EAA4E;IAC5E,SAAS;IACT,4EAA4E;IAE5E,KAAK,CAAC,IAAI,CAAC,QAAsB,EAAE,OAAuB;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QACzC,MAAM,cAAc,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QAE7E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CACrD;YACE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,cAAc;YACxB,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,MAAM,EAAE,KAAK;SACd,EACD;YACE,MAAM,EAAE,OAAO,CAAC,WAAW;SAC5B,CACF,CAAA;QAED,OAAO,oBAAoB,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC;IAED,4EAA4E;IAC5E,WAAW;IACX,4EAA4E;IAE5E,KAAK,CAAC,CAAC,MAAM,CACX,QAAsB,EACtB,OAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QACzC,MAAM,cAAc,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QAE7E,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CACzD;YACE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,cAAc;YACxB,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;SACxC,EACD;YACE,MAAM,EAAE,OAAO,CAAC,WAAW;SAC5B,CACF,CAAA;QAED,IAAI,YAAY,GAAG,EAAE,CAAA;QACrB,IAAI,eAAe,GAAG,EAAE,CAAA;QACxB,IAAI,iBAAiB,GAAW,MAAM,CAAA;QACtC,IAAI,WAAW,GAAG,CAAC,CAAA;QACnB,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,MAAM,eAAe,GAAG,IAAI,GAAG,EAG5B,CAAA;QACH,IAAI,QAAQ,GAAG,EAAE,CAAA;QAEjB,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACzC,YAAY,GAAG,KAAK,CAAC,EAAE,CAAA;gBACvB,eAAe,GAAG,KAAK,CAAC,KAAK,CAAA;gBAE7B,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtD,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAA;oBACvC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAA;gBAC9C,CAAC;gBAED,MAAM,MAAM,GAA2C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACvE,IAAI,MAAM,KAAK,SAAS;oBAAE,SAAQ;gBAElC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;gBAE1B,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1D,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAA;oBACzB,MAAM,SAAS,GAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;oBACpE,MAAM,SAAS,CAAA;gBACjB,CAAC;gBAED,KAAK,MAAM,aAAa,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;oBACnD,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAA;oBAE/B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9B,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE;4BACvB,EAAE,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE;4BAC1B,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;4BACxC,QAAQ,EAAE,EAAE;yBACb,CAAC,CAAA;oBACJ,CAAC;oBAED,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBACtB,IAAI,aAAa,CAAC,EAAE;4BAAE,GAAG,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE,CAAA;wBAC/C,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI;4BAAE,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAA;wBACxE,IAAI,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;4BACtC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAA;wBAClD,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBACxE,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAA;gBAC1C,CAAC;YACH,CAAC;YAED,MAAM,kBAAkB,GAAmB,EAAE,CAAA;YAC7C,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC3C,IAAI,WAAW,GAA4B,EAAE,CAAA;gBAC7C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBAChD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5E,WAAW,GAAG,MAAiC,CAAA;oBACjD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;gBAC9C,CAAC;gBAED,MAAM,YAAY,GAAiB;oBACjC,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,KAAK,EAAE,WAAW;iBACnB,CAAA;gBACD,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBACrC,MAAM,YAAY,GAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;gBAC1E,MAAM,YAAY,CAAA;YACpB,CAAC;YAED,MAAM,WAAW,GAAmB,EAAE,CAAA;YACtC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;gBAC7D,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC7B,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAA;YAEvC,MAAM,aAAa,GAAgB;gBACjC,EAAE,EAAE,YAAY;gBAChB,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,qBAAqB,CAAC,iBAAiB,CAAC;gBACrD,KAAK,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE;aAClE,CAAA;YAED,MAAM,SAAS,GAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;YACpE,MAAM,SAAS,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACjE,MAAM,UAAU,GAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;YAC9D,MAAM,UAAU,CAAA;QAClB,CAAC;IACH,CAAC;CACF;AAgBD;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IAEhC,uBAAuB;IACvB,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAI,OAAO,CAAC,CAAA;IACtC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAK,OAAO,CAAC,CAAA;IACtC,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,CAAC,CAAA;IACpE,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAK,OAAO,CAAC,CAAA;IACtC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,CAAC,CAAA;IAEtC,QAAQ;IACR,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAO,OAAO,IAAI,CAAA;IAEzC,QAAQ;IACR,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAA8B,OAAO,IAAI,CAAA;IACxE,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAA;IACjF,IAAI,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAAuB,OAAO,IAAI,CAAA;IACvE,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAA;IAE3E,wBAAwB;IACxB,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAG,OAAO,CAAC,CAAA;IAC3C,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,CAAC,CAAA;IAC3C,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,CAAC,CAAA;IAC1E,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,CAAC,CAAA;IAC3C,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAQ,OAAO,CAAC,CAAA;IAC1C,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAQ,OAAO,CAAC,CAAA;IAC1C,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAQ,OAAO,CAAC,CAAA;IAC1C,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAQ,OAAO,CAAC,CAAA;IAE1C,kBAAkB;IAClB,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAA;IAEhE,YAAY;IACZ,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAK,OAAO,CAAC,CAAA;IAE3C,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,eAAe,CAAA;IAC5C,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;QAAE,OAAO,GAAG,UAAU,mBAAmB,CAAA;IACzE,OAAO,GAAG,UAAU,mBAAmB,CAAA;AACzC,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,EAAE,EAAE,EAAE,SAAS,EAAc,IAAI,EAAE,SAAS,EAAmB,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,QAAQ,EAAe,IAAI,EAAE,QAAQ,EAAoB,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,YAAY,EAAW,IAAI,EAAE,YAAY,EAAgB,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,SAAS,EAAc,IAAI,EAAE,SAAS,EAAmB,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,eAAe,EAAQ,IAAI,EAAE,eAAe,EAAa,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,oBAAoB,EAAG,IAAI,EAAE,oBAAoB,EAAQ,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,mBAAmB,EAAI,IAAI,EAAE,mBAAmB,EAAS,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,SAAS,EAAc,IAAI,EAAE,SAAS,EAAmB,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,eAAe,EAAQ,IAAI,EAAE,eAAe,EAAa,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,eAAe,EAAQ,IAAI,EAAE,eAAe,EAAa,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,SAAS,EAAc,IAAI,EAAE,SAAS,EAAmB,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,cAAc,EAAS,IAAI,EAAE,cAAc,EAAc,aAAa,EAAE,OAAO,EAAG;IACxF,EAAE,EAAE,EAAE,kBAAkB,EAAK,IAAI,EAAE,kBAAkB,EAAW,aAAa,EAAE,OAAO,EAAG;IACzF,EAAE,EAAE,EAAE,iBAAiB,EAAM,IAAI,EAAE,iBAAiB,EAAY,aAAa,EAAE,OAAO,EAAG;IACzF,EAAE,EAAE,EAAE,iBAAiB,EAAM,IAAI,EAAE,iBAAiB,EAAY,aAAa,EAAE,OAAO,EAAG;IACzF,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,wBAAwB,EAAI,aAAa,EAAE,OAAO,EAAG;IACzF,EAAE,EAAE,EAAE,iBAAiB,EAAM,IAAI,EAAE,iBAAiB,EAAY,aAAa,EAAE,OAAO,EAAG;IACzF,EAAE,EAAE,EAAE,mBAAmB,EAAI,IAAI,EAAE,mBAAmB,EAAU,aAAa,EAAE,OAAO,EAAG;IACzF,EAAE,EAAE,EAAE,mBAAmB,EAAI,IAAI,EAAE,mBAAmB,EAAU,aAAa,EAAE,OAAO,EAAG;IACzF,EAAE,EAAE,EAAE,gBAAgB,EAAO,IAAI,EAAE,gBAAgB,EAAa,aAAa,EAAE,SAAS,EAAE;IAC1F,EAAE,EAAE,EAAE,gBAAgB,EAAO,IAAI,EAAE,gBAAgB,EAAa,aAAa,EAAE,SAAS,EAAE;IAC1F,EAAE,EAAE,EAAE,cAAc,EAAS,IAAI,EAAE,cAAc,EAAe,aAAa,EAAE,SAAS,EAAE;IAC1F,EAAE,EAAE,EAAE,gBAAgB,EAAO,IAAI,EAAE,gBAAgB,EAAa,aAAa,EAAE,SAAS,EAAE;IAC1F,EAAE,EAAE,EAAE,kBAAkB,EAAK,IAAI,EAAE,kBAAkB,EAAW,aAAa,EAAE,OAAO,EAAG;IACzF,EAAE,EAAE,EAAE,aAAa,EAAU,IAAI,EAAE,aAAa,EAAgB,aAAa,EAAE,OAAO,EAAG;IACzF,EAAE,EAAE,EAAE,WAAW,EAAY,IAAI,EAAE,WAAW,EAAkB,aAAa,EAAE,OAAO,EAAG;CACjF,CAAA"}
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/llm/copilot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @fileoverview Google Gemini adapter implementing {@link LLMAdapter}.
3
+ *
4
+ * Built for `@google/genai` (the unified Google Gen AI SDK, v1.x), NOT the
5
+ * legacy `@google/generative-ai` package.
6
+ *
7
+ * Converts between the framework's internal {@link ContentBlock} types and the
8
+ * `@google/genai` SDK's wire format, handling tool definitions, system prompts,
9
+ * and both batch and streaming response paths.
10
+ *
11
+ * API key resolution order:
12
+ * 1. `apiKey` constructor argument
13
+ * 2. `GEMINI_API_KEY` environment variable
14
+ * 3. `GOOGLE_API_KEY` environment variable
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { GeminiAdapter } from './gemini.js'
19
+ *
20
+ * const adapter = new GeminiAdapter()
21
+ * const response = await adapter.chat(messages, {
22
+ * model: 'gemini-2.5-flash',
23
+ * maxTokens: 1024,
24
+ * })
25
+ * ```
26
+ */
27
+ import type { LLMAdapter, LLMChatOptions, LLMMessage, LLMResponse, LLMStreamOptions, StreamEvent } from '../types.js';
28
+ /**
29
+ * LLM adapter backed by the Google Gemini API via `@google/genai`.
30
+ *
31
+ * Thread-safe — a single instance may be shared across concurrent agent runs.
32
+ * The underlying SDK client is stateless across requests.
33
+ */
34
+ export declare class GeminiAdapter implements LLMAdapter {
35
+ #private;
36
+ readonly name = "gemini";
37
+ constructor(apiKey?: string);
38
+ /**
39
+ * Send a synchronous (non-streaming) chat request and return the complete
40
+ * {@link LLMResponse}.
41
+ *
42
+ * Uses `ai.models.generateContent()` with the full conversation as `contents`,
43
+ * which is the idiomatic pattern for `@google/genai`.
44
+ */
45
+ chat(messages: LLMMessage[], options: LLMChatOptions): Promise<LLMResponse>;
46
+ /**
47
+ * Send a streaming chat request and yield {@link StreamEvent}s as they
48
+ * arrive from the API.
49
+ *
50
+ * Uses `ai.models.generateContentStream()` which returns an
51
+ * `AsyncGenerator<GenerateContentResponse>`. Each yielded chunk has the same
52
+ * shape as a full response but contains only the delta for that chunk.
53
+ *
54
+ * Because `@google/genai` doesn't expose a `finalMessage()` helper like the
55
+ * Anthropic SDK, we accumulate content and token counts as we stream so that
56
+ * the terminal `done` event carries a complete and accurate {@link LLMResponse}.
57
+ *
58
+ * Sequence guarantees (matching the Anthropic adapter):
59
+ * - Zero or more `text` events with incremental deltas
60
+ * - Zero or more `tool_use` events (one per call; Gemini doesn't stream args)
61
+ * - Exactly one terminal event: `done` or `error`
62
+ */
63
+ stream(messages: LLMMessage[], options: LLMStreamOptions): AsyncIterable<StreamEvent>;
64
+ }
65
+ //# sourceMappingURL=gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/llm/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAaH,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAEhB,WAAW,EAEZ,MAAM,aAAa,CAAA;AAkMpB;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,UAAU;;IAC9C,QAAQ,CAAC,IAAI,YAAW;gBAIZ,MAAM,CAAC,EAAE,MAAM;IAU3B;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAiBjF;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CACX,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,gBAAgB,GACxB,aAAa,CAAC,WAAW,CAAC;CAsE9B"}
@@ -0,0 +1,317 @@
1
+ /**
2
+ * @fileoverview Google Gemini adapter implementing {@link LLMAdapter}.
3
+ *
4
+ * Built for `@google/genai` (the unified Google Gen AI SDK, v1.x), NOT the
5
+ * legacy `@google/generative-ai` package.
6
+ *
7
+ * Converts between the framework's internal {@link ContentBlock} types and the
8
+ * `@google/genai` SDK's wire format, handling tool definitions, system prompts,
9
+ * and both batch and streaming response paths.
10
+ *
11
+ * API key resolution order:
12
+ * 1. `apiKey` constructor argument
13
+ * 2. `GEMINI_API_KEY` environment variable
14
+ * 3. `GOOGLE_API_KEY` environment variable
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { GeminiAdapter } from './gemini.js'
19
+ *
20
+ * const adapter = new GeminiAdapter()
21
+ * const response = await adapter.chat(messages, {
22
+ * model: 'gemini-2.5-flash',
23
+ * maxTokens: 1024,
24
+ * })
25
+ * ```
26
+ */
27
+ import { GoogleGenAI, FunctionCallingConfigMode, } from '@google/genai';
28
+ // ---------------------------------------------------------------------------
29
+ // Internal helpers
30
+ // ---------------------------------------------------------------------------
31
+ /**
32
+ * Map framework role names to Gemini role names.
33
+ *
34
+ * Gemini uses `"model"` instead of `"assistant"`.
35
+ */
36
+ function toGeminiRole(role) {
37
+ return role === 'assistant' ? 'model' : 'user';
38
+ }
39
+ /**
40
+ * Convert framework messages into Gemini's {@link Content}[] format.
41
+ *
42
+ * Key differences from Anthropic:
43
+ * - Gemini uses `"model"` instead of `"assistant"`.
44
+ * - `functionResponse` parts (tool results) must appear in `"user"` turns.
45
+ * - `functionCall` parts appear in `"model"` turns.
46
+ * - We build a name lookup map from tool_use blocks so tool_result blocks
47
+ * can resolve the function name required by Gemini's `functionResponse`.
48
+ */
49
+ function toGeminiContents(messages) {
50
+ // First pass: build id → name map for resolving tool results.
51
+ const toolNameById = new Map();
52
+ for (const msg of messages) {
53
+ for (const block of msg.content) {
54
+ if (block.type === 'tool_use') {
55
+ toolNameById.set(block.id, block.name);
56
+ }
57
+ }
58
+ }
59
+ return messages.map((msg) => {
60
+ const parts = msg.content.map((block) => {
61
+ switch (block.type) {
62
+ case 'text':
63
+ return { text: block.text };
64
+ case 'tool_use':
65
+ return {
66
+ functionCall: {
67
+ id: block.id,
68
+ name: block.name,
69
+ args: block.input,
70
+ },
71
+ };
72
+ case 'tool_result': {
73
+ const name = toolNameById.get(block.tool_use_id) ?? block.tool_use_id;
74
+ return {
75
+ functionResponse: {
76
+ id: block.tool_use_id,
77
+ name,
78
+ response: {
79
+ content: typeof block.content === 'string'
80
+ ? block.content
81
+ : JSON.stringify(block.content),
82
+ isError: block.is_error ?? false,
83
+ },
84
+ },
85
+ };
86
+ }
87
+ case 'image':
88
+ return {
89
+ inlineData: {
90
+ mimeType: block.source.media_type,
91
+ data: block.source.data,
92
+ },
93
+ };
94
+ default: {
95
+ const _exhaustive = block;
96
+ throw new Error(`Unhandled content block type: ${JSON.stringify(_exhaustive)}`);
97
+ }
98
+ }
99
+ });
100
+ return { role: toGeminiRole(msg.role), parts };
101
+ });
102
+ }
103
+ /**
104
+ * Convert framework {@link LLMToolDef}s into a Gemini `tools` config array.
105
+ *
106
+ * In `@google/genai`, function declarations use `parametersJsonSchema` (not
107
+ * `parameters` or `input_schema`). All declarations are grouped under a single
108
+ * tool entry.
109
+ */
110
+ function toGeminiTools(tools) {
111
+ const functionDeclarations = tools.map((t) => ({
112
+ name: t.name,
113
+ description: t.description,
114
+ parametersJsonSchema: t.inputSchema,
115
+ }));
116
+ return [{ functionDeclarations }];
117
+ }
118
+ /**
119
+ * Build the {@link GenerateContentConfig} shared by chat() and stream().
120
+ */
121
+ function buildConfig(options) {
122
+ return {
123
+ maxOutputTokens: options.maxTokens ?? 4096,
124
+ temperature: options.temperature,
125
+ systemInstruction: options.systemPrompt,
126
+ tools: options.tools ? toGeminiTools(options.tools) : undefined,
127
+ toolConfig: options.tools
128
+ ? { functionCallingConfig: { mode: FunctionCallingConfigMode.AUTO } }
129
+ : undefined,
130
+ };
131
+ }
132
+ /**
133
+ * Generate a stable pseudo-random ID string for tool use blocks.
134
+ *
135
+ * Gemini may not always return call IDs (especially in streaming), so we
136
+ * fabricate them when absent to satisfy the framework's {@link ToolUseBlock}
137
+ * contract.
138
+ */
139
+ function generateId() {
140
+ return `gemini-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
141
+ }
142
+ /**
143
+ * Extract the function call ID from a Gemini part, or generate one.
144
+ *
145
+ * The `id` field exists in newer API versions but may be absent in older
146
+ * responses, so we cast conservatively and fall back to a generated ID.
147
+ */
148
+ function getFunctionCallId(part) {
149
+ return part.functionCall?.id ?? generateId();
150
+ }
151
+ /**
152
+ * Convert a Gemini {@link GenerateContentResponse} into a framework
153
+ * {@link LLMResponse}.
154
+ */
155
+ function fromGeminiResponse(response, id, model) {
156
+ const candidate = response.candidates?.[0];
157
+ const content = [];
158
+ for (const part of candidate?.content?.parts ?? []) {
159
+ if (part.text !== undefined && part.text !== '') {
160
+ content.push({ type: 'text', text: part.text });
161
+ }
162
+ else if (part.functionCall !== undefined) {
163
+ content.push({
164
+ type: 'tool_use',
165
+ id: getFunctionCallId(part),
166
+ name: part.functionCall.name ?? '',
167
+ input: (part.functionCall.args ?? {}),
168
+ });
169
+ }
170
+ // inlineData echoes and other part types are silently ignored.
171
+ }
172
+ // Map Gemini finish reasons to framework stop_reason vocabulary.
173
+ const finishReason = candidate?.finishReason;
174
+ let stop_reason = 'end_turn';
175
+ if (finishReason === 'MAX_TOKENS') {
176
+ stop_reason = 'max_tokens';
177
+ }
178
+ else if (content.some((b) => b.type === 'tool_use')) {
179
+ // Gemini may report STOP even when it returned function calls.
180
+ stop_reason = 'tool_use';
181
+ }
182
+ const usage = response.usageMetadata;
183
+ return {
184
+ id,
185
+ content,
186
+ model,
187
+ stop_reason,
188
+ usage: {
189
+ input_tokens: usage?.promptTokenCount ?? 0,
190
+ output_tokens: usage?.candidatesTokenCount ?? 0,
191
+ },
192
+ };
193
+ }
194
+ // ---------------------------------------------------------------------------
195
+ // Adapter implementation
196
+ // ---------------------------------------------------------------------------
197
+ /**
198
+ * LLM adapter backed by the Google Gemini API via `@google/genai`.
199
+ *
200
+ * Thread-safe — a single instance may be shared across concurrent agent runs.
201
+ * The underlying SDK client is stateless across requests.
202
+ */
203
+ export class GeminiAdapter {
204
+ name = 'gemini';
205
+ #client;
206
+ constructor(apiKey) {
207
+ this.#client = new GoogleGenAI({
208
+ apiKey: apiKey ?? process.env['GEMINI_API_KEY'] ?? process.env['GOOGLE_API_KEY'],
209
+ });
210
+ }
211
+ // -------------------------------------------------------------------------
212
+ // chat()
213
+ // -------------------------------------------------------------------------
214
+ /**
215
+ * Send a synchronous (non-streaming) chat request and return the complete
216
+ * {@link LLMResponse}.
217
+ *
218
+ * Uses `ai.models.generateContent()` with the full conversation as `contents`,
219
+ * which is the idiomatic pattern for `@google/genai`.
220
+ */
221
+ async chat(messages, options) {
222
+ const id = generateId();
223
+ const contents = toGeminiContents(messages);
224
+ const response = await this.#client.models.generateContent({
225
+ model: options.model,
226
+ contents,
227
+ config: buildConfig(options),
228
+ });
229
+ return fromGeminiResponse(response, id, options.model);
230
+ }
231
+ // -------------------------------------------------------------------------
232
+ // stream()
233
+ // -------------------------------------------------------------------------
234
+ /**
235
+ * Send a streaming chat request and yield {@link StreamEvent}s as they
236
+ * arrive from the API.
237
+ *
238
+ * Uses `ai.models.generateContentStream()` which returns an
239
+ * `AsyncGenerator<GenerateContentResponse>`. Each yielded chunk has the same
240
+ * shape as a full response but contains only the delta for that chunk.
241
+ *
242
+ * Because `@google/genai` doesn't expose a `finalMessage()` helper like the
243
+ * Anthropic SDK, we accumulate content and token counts as we stream so that
244
+ * the terminal `done` event carries a complete and accurate {@link LLMResponse}.
245
+ *
246
+ * Sequence guarantees (matching the Anthropic adapter):
247
+ * - Zero or more `text` events with incremental deltas
248
+ * - Zero or more `tool_use` events (one per call; Gemini doesn't stream args)
249
+ * - Exactly one terminal event: `done` or `error`
250
+ */
251
+ async *stream(messages, options) {
252
+ const id = generateId();
253
+ const contents = toGeminiContents(messages);
254
+ try {
255
+ const streamResponse = await this.#client.models.generateContentStream({
256
+ model: options.model,
257
+ contents,
258
+ config: buildConfig(options),
259
+ });
260
+ // Accumulators for building the done payload.
261
+ const accumulatedContent = [];
262
+ let inputTokens = 0;
263
+ let outputTokens = 0;
264
+ let lastFinishReason;
265
+ for await (const chunk of streamResponse) {
266
+ const candidate = chunk.candidates?.[0];
267
+ // Accumulate token counts — the API emits these on the final chunk.
268
+ if (chunk.usageMetadata) {
269
+ inputTokens = chunk.usageMetadata.promptTokenCount ?? inputTokens;
270
+ outputTokens = chunk.usageMetadata.candidatesTokenCount ?? outputTokens;
271
+ }
272
+ if (candidate?.finishReason) {
273
+ lastFinishReason = candidate.finishReason;
274
+ }
275
+ for (const part of candidate?.content?.parts ?? []) {
276
+ if (part.text) {
277
+ accumulatedContent.push({ type: 'text', text: part.text });
278
+ yield { type: 'text', data: part.text };
279
+ }
280
+ else if (part.functionCall) {
281
+ const toolId = getFunctionCallId(part);
282
+ const toolUseBlock = {
283
+ type: 'tool_use',
284
+ id: toolId,
285
+ name: part.functionCall.name ?? '',
286
+ input: (part.functionCall.args ?? {}),
287
+ };
288
+ accumulatedContent.push(toolUseBlock);
289
+ yield { type: 'tool_use', data: toolUseBlock };
290
+ }
291
+ }
292
+ }
293
+ // Determine stop_reason from the accumulated response.
294
+ const hasToolUse = accumulatedContent.some((b) => b.type === 'tool_use');
295
+ let stop_reason = 'end_turn';
296
+ if (lastFinishReason === 'MAX_TOKENS') {
297
+ stop_reason = 'max_tokens';
298
+ }
299
+ else if (hasToolUse) {
300
+ stop_reason = 'tool_use';
301
+ }
302
+ const finalResponse = {
303
+ id,
304
+ content: accumulatedContent,
305
+ model: options.model,
306
+ stop_reason,
307
+ usage: { input_tokens: inputTokens, output_tokens: outputTokens },
308
+ };
309
+ yield { type: 'done', data: finalResponse };
310
+ }
311
+ catch (err) {
312
+ const error = err instanceof Error ? err : new Error(String(err));
313
+ yield { type: 'error', data: error };
314
+ }
315
+ }
316
+ }
317
+ //# sourceMappingURL=gemini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/llm/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,WAAW,EACX,yBAAyB,GAO1B,MAAM,eAAe,CAAA;AActB,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAA0B;IAC9C,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;AAChD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,QAAsB;IAC9C,8DAA8D;IAC9D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC9C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;QACnC,MAAM,KAAK,GAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAQ,EAAE;YACpD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,MAAM;oBACT,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;gBAE7B,KAAK,UAAU;oBACb,OAAO;wBACL,YAAY,EAAE;4BACZ,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,KAAK,CAAC,KAAK;yBAClB;qBACF,CAAA;gBAEH,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,CAAA;oBACrE,OAAO;wBACL,gBAAgB,EAAE;4BAChB,EAAE,EAAE,KAAK,CAAC,WAAW;4BACrB,IAAI;4BACJ,QAAQ,EAAE;gCACR,OAAO,EACL,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oCAC/B,CAAC,CAAC,KAAK,CAAC,OAAO;oCACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;gCACnC,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;6BACjC;yBACF;qBACF,CAAA;gBACH,CAAC;gBAED,KAAK,OAAO;oBACV,OAAO;wBACL,UAAU,EAAE;4BACV,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;4BACjC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;yBACxB;qBACF,CAAA;gBAEH,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,WAAW,GAAU,KAAK,CAAA;oBAChC,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;gBACjF,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAA;IAChD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,KAA4B;IACjD,MAAM,oBAAoB,GAA0B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,oBAAoB,EAAE,CAAC,CAAC,WAAsC;KAC/D,CAAC,CAAC,CAAA;IACH,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAA;AACnC,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,OAA0C;IAE1C,OAAO;QACL,eAAe,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,iBAAiB,EAAE,OAAO,CAAC,YAAY;QACvC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/D,UAAU,EAAE,OAAO,CAAC,KAAK;YACvB,CAAC,CAAC,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,yBAAyB,CAAC,IAAI,EAAE,EAAE;YACrE,CAAC,CAAC,SAAS;KACd,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU;IACjB,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;AACzE,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAAU;IACnC,OAAQ,IAAI,CAAC,YAA4C,EAAE,EAAE,IAAI,UAAU,EAAE,CAAA;AAC/E,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,QAAiC,EACjC,EAAU,EACV,KAAa;IAEb,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAmB,EAAE,CAAA;IAElC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC;gBAC3B,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;gBAClC,KAAK,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAA4B;aACjE,CAAC,CAAA;QACJ,CAAC;QACD,+DAA+D;IACjE,CAAC;IAED,iEAAiE;IACjE,MAAM,YAAY,GAAG,SAAS,EAAE,YAAkC,CAAA;IAClE,IAAI,WAAW,GAA+B,UAAU,CAAA;IACxD,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;QAClC,WAAW,GAAG,YAAY,CAAA;IAC5B,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;QACtD,+DAA+D;QAC/D,WAAW,GAAG,UAAU,CAAA;IAC1B,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAA;IACpC,OAAO;QACL,EAAE;QACF,OAAO;QACP,KAAK;QACL,WAAW;QACX,KAAK,EAAE;YACL,YAAY,EAAE,KAAK,EAAE,gBAAgB,IAAI,CAAC;YAC1C,aAAa,EAAE,KAAK,EAAE,oBAAoB,IAAI,CAAC;SAChD;KACF,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,QAAQ,CAAA;IAEf,OAAO,CAAa;IAE7B,YAAY,MAAe;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC;YAC7B,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;SACjF,CAAC,CAAA;IACJ,CAAC;IAED,4EAA4E;IAC5E,SAAS;IACT,4EAA4E;IAE5E;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,QAAsB,EAAE,OAAuB;QACxD,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAE3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;YACzD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ;YACR,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;SAC7B,CAAC,CAAA;QAEF,OAAO,kBAAkB,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,4EAA4E;IAC5E,WAAW;IACX,4EAA4E;IAE5E;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,CAAC,MAAM,CACX,QAAsB,EACtB,OAAyB;QAEzB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAE3C,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;gBACrE,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ;gBACR,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;aAC7B,CAAC,CAAA;YAEF,8CAA8C;YAC9C,MAAM,kBAAkB,GAAmB,EAAE,CAAA;YAC7C,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,IAAI,YAAY,GAAG,CAAC,CAAA;YACpB,IAAI,gBAAoC,CAAA;YAExC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;gBAEvC,oEAAoE;gBACpE,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACxB,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,IAAI,WAAW,CAAA;oBACjE,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,oBAAoB,IAAI,YAAY,CAAA;gBACzE,CAAC;gBACD,IAAI,SAAS,EAAE,YAAY,EAAE,CAAC;oBAC5B,gBAAgB,GAAG,SAAS,CAAC,YAAsB,CAAA;gBACrD,CAAC;gBAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;oBACnD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;wBAC1D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAwB,CAAA;oBAC/D,CAAC;yBAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBAC7B,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;wBACtC,MAAM,YAAY,GAAiB;4BACjC,IAAI,EAAE,UAAU;4BAChB,EAAE,EAAE,MAAM;4BACV,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;4BAClC,KAAK,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAA4B;yBACjE,CAAA;wBACD,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;wBACrC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAwB,CAAA;oBACtE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,uDAAuD;YACvD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;YACxE,IAAI,WAAW,GAA+B,UAAU,CAAA;YACxD,IAAI,gBAAgB,KAAK,YAAY,EAAE,CAAC;gBACtC,WAAW,GAAG,YAAY,CAAA;YAC5B,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,WAAW,GAAG,UAAU,CAAA;YAC1B,CAAC;YAED,MAAM,aAAa,GAAgB;gBACjC,EAAE;gBACF,OAAO,EAAE,kBAAkB;gBAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW;gBACX,KAAK,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE;aAClE,CAAA;YAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAwB,CAAA;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACjE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAwB,CAAA;QAC5D,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @fileoverview Grok (xAI) adapter.
3
+ *
4
+ * Thin wrapper around OpenAIAdapter that hard-codes the official xAI endpoint
5
+ * and XAI_API_KEY environment variable fallback.
6
+ */
7
+ import { OpenAIAdapter } from './openai.js';
8
+ /**
9
+ * LLM adapter for Grok models (grok-4 series and future models).
10
+ *
11
+ * Thread-safe. Can be shared across agents.
12
+ *
13
+ * Usage:
14
+ * provider: 'grok'
15
+ * model: 'grok-4' (or any current Grok model name)
16
+ */
17
+ export declare class GrokAdapter extends OpenAIAdapter {
18
+ readonly name = "grok";
19
+ constructor(apiKey?: string, baseURL?: string);
20
+ }
21
+ //# sourceMappingURL=grok.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok.d.ts","sourceRoot":"","sources":["../../src/llm/grok.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,aAAa;IAC5C,QAAQ,CAAC,IAAI,UAAS;gBAEV,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAO9C"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @fileoverview Grok (xAI) adapter.
3
+ *
4
+ * Thin wrapper around OpenAIAdapter that hard-codes the official xAI endpoint
5
+ * and XAI_API_KEY environment variable fallback.
6
+ */
7
+ import { OpenAIAdapter } from './openai.js';
8
+ /**
9
+ * LLM adapter for Grok models (grok-4 series and future models).
10
+ *
11
+ * Thread-safe. Can be shared across agents.
12
+ *
13
+ * Usage:
14
+ * provider: 'grok'
15
+ * model: 'grok-4' (or any current Grok model name)
16
+ */
17
+ export class GrokAdapter extends OpenAIAdapter {
18
+ name = 'grok';
19
+ constructor(apiKey, baseURL) {
20
+ // Allow override of baseURL (for proxies or future changes) but default to official xAI endpoint.
21
+ super(apiKey ?? process.env['XAI_API_KEY'], baseURL ?? 'https://api.x.ai/v1');
22
+ }
23
+ }
24
+ //# sourceMappingURL=grok.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok.js","sourceRoot":"","sources":["../../src/llm/grok.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;;GAQG;AACH,MAAM,OAAO,WAAY,SAAQ,aAAa;IACnC,IAAI,GAAG,MAAM,CAAA;IAEtB,YAAY,MAAe,EAAE,OAAgB;QAC3C,kGAAkG;QAClG,KAAK,CACH,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EACpC,OAAO,IAAI,qBAAqB,CACjC,CAAA;IACH,CAAC;CACF"}
@@ -25,8 +25,15 @@ export declare function toOpenAIMessages(messages: LLMMessage[]): ChatCompletion
25
25
  *
26
26
  * Takes only the first choice (index 0), consistent with how the framework
27
27
  * is designed for single-output agents.
28
+ *
29
+ * @param completion - The raw OpenAI completion.
30
+ * @param knownToolNames - Optional whitelist of tool names. When the model
31
+ * returns no `tool_calls` but the text contains JSON
32
+ * that looks like a tool call, the fallback extractor
33
+ * uses this list to validate matches. Pass the names
34
+ * of tools sent in the request for best results.
28
35
  */
29
- export declare function fromOpenAICompletion(completion: ChatCompletion): LLMResponse;
36
+ export declare function fromOpenAICompletion(completion: ChatCompletion, knownToolNames?: string[]): LLMResponse;
30
37
  /**
31
38
  * Normalize an OpenAI `finish_reason` string to the framework's canonical
32
39
  * stop-reason vocabulary.
@@ -1 +1 @@
1
- {"version":3,"file":"openai-common.d.ts","sourceRoot":"","sources":["../../src/llm/openai-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,cAAc,EAEd,0BAA0B,EAE1B,kBAAkB,EAGnB,MAAM,4CAA4C,CAAA;AAEnD,OAAO,KAAK,EAEV,UAAU,EACV,WAAW,EACX,UAAU,EAGX,MAAM,aAAa,CAAA;AAMpB;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB,CASjE;AAUD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,0BAA0B,EAAE,CA+BrF;AAsED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,cAAc,GAAG,WAAW,CA8C5E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,UAAU,EAAE,EACtB,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,0BAA0B,EAAE,CAS9B"}
1
+ {"version":3,"file":"openai-common.d.ts","sourceRoot":"","sources":["../../src/llm/openai-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,cAAc,EAEd,0BAA0B,EAE1B,kBAAkB,EAGnB,MAAM,4CAA4C,CAAA;AAEnD,OAAO,KAAK,EAEV,UAAU,EACV,WAAW,EACX,UAAU,EAGX,MAAM,aAAa,CAAA;AAOpB;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB,CASjE;AAUD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,0BAA0B,EAAE,CA+BrF;AAsED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,cAAc,EAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,WAAW,CA0Eb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,UAAU,EAAE,EACtB,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,0BAA0B,EAAE,CAS9B"}