@spinabot/brigade 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +12 -10
  2. package/dist/agents/agent-loop.d.ts +55 -0
  3. package/dist/agents/agent-loop.d.ts.map +1 -1
  4. package/dist/agents/agent-loop.js +90 -1
  5. package/dist/agents/agent-loop.js.map +1 -1
  6. package/dist/agents/channels/inbound-pipeline.d.ts +22 -0
  7. package/dist/agents/channels/inbound-pipeline.d.ts.map +1 -1
  8. package/dist/agents/channels/inbound-pipeline.js +31 -1
  9. package/dist/agents/channels/inbound-pipeline.js.map +1 -1
  10. package/dist/agents/channels/media-capture.d.ts +69 -6
  11. package/dist/agents/channels/media-capture.d.ts.map +1 -1
  12. package/dist/agents/channels/media-capture.js +125 -8
  13. package/dist/agents/channels/media-capture.js.map +1 -1
  14. package/dist/agents/channels/telegram/media.d.ts.map +1 -1
  15. package/dist/agents/channels/telegram/media.js +16 -4
  16. package/dist/agents/channels/telegram/media.js.map +1 -1
  17. package/dist/agents/channels/whatsapp/media.d.ts +19 -0
  18. package/dist/agents/channels/whatsapp/media.d.ts.map +1 -1
  19. package/dist/agents/channels/whatsapp/media.js +37 -2
  20. package/dist/agents/channels/whatsapp/media.js.map +1 -1
  21. package/dist/agents/media-understanding/anthropic-adapter.d.ts +49 -0
  22. package/dist/agents/media-understanding/anthropic-adapter.d.ts.map +1 -0
  23. package/dist/agents/media-understanding/anthropic-adapter.js +162 -0
  24. package/dist/agents/media-understanding/anthropic-adapter.js.map +1 -0
  25. package/dist/agents/media-understanding/config.d.ts +57 -0
  26. package/dist/agents/media-understanding/config.d.ts.map +1 -0
  27. package/dist/agents/media-understanding/config.js +289 -0
  28. package/dist/agents/media-understanding/config.js.map +1 -0
  29. package/dist/agents/media-understanding/gemini-adapter.d.ts +57 -0
  30. package/dist/agents/media-understanding/gemini-adapter.d.ts.map +1 -0
  31. package/dist/agents/media-understanding/gemini-adapter.js +343 -0
  32. package/dist/agents/media-understanding/gemini-adapter.js.map +1 -0
  33. package/dist/agents/media-understanding/index.d.ts +58 -0
  34. package/dist/agents/media-understanding/index.d.ts.map +1 -0
  35. package/dist/agents/media-understanding/index.js +275 -0
  36. package/dist/agents/media-understanding/index.js.map +1 -0
  37. package/dist/agents/media-understanding/pi-adapter.d.ts +72 -0
  38. package/dist/agents/media-understanding/pi-adapter.d.ts.map +1 -0
  39. package/dist/agents/media-understanding/pi-adapter.js +160 -0
  40. package/dist/agents/media-understanding/pi-adapter.js.map +1 -0
  41. package/dist/agents/media-understanding/types.d.ts +189 -0
  42. package/dist/agents/media-understanding/types.d.ts.map +1 -0
  43. package/dist/agents/media-understanding/types.js +51 -0
  44. package/dist/agents/media-understanding/types.js.map +1 -0
  45. package/dist/agents/session-wiring.d.ts +11 -0
  46. package/dist/agents/session-wiring.d.ts.map +1 -1
  47. package/dist/agents/session-wiring.js +1 -0
  48. package/dist/agents/session-wiring.js.map +1 -1
  49. package/dist/agents/tools/analyze-media-tool.d.ts +263 -0
  50. package/dist/agents/tools/analyze-media-tool.d.ts.map +1 -0
  51. package/dist/agents/tools/analyze-media-tool.js +2321 -0
  52. package/dist/agents/tools/analyze-media-tool.js.map +1 -0
  53. package/dist/agents/tools/doc-shared.d.ts +187 -0
  54. package/dist/agents/tools/doc-shared.d.ts.map +1 -0
  55. package/dist/agents/tools/doc-shared.js +484 -0
  56. package/dist/agents/tools/doc-shared.js.map +1 -0
  57. package/dist/agents/tools/edit-document-tool.d.ts +133 -0
  58. package/dist/agents/tools/edit-document-tool.d.ts.map +1 -0
  59. package/dist/agents/tools/edit-document-tool.js +815 -0
  60. package/dist/agents/tools/edit-document-tool.js.map +1 -0
  61. package/dist/agents/tools/image-downscale.d.ts +93 -0
  62. package/dist/agents/tools/image-downscale.d.ts.map +1 -0
  63. package/dist/agents/tools/image-downscale.js +257 -0
  64. package/dist/agents/tools/image-downscale.js.map +1 -0
  65. package/dist/agents/tools/make-document-tool.d.ts +114 -0
  66. package/dist/agents/tools/make-document-tool.d.ts.map +1 -0
  67. package/dist/agents/tools/make-document-tool.js +542 -0
  68. package/dist/agents/tools/make-document-tool.js.map +1 -0
  69. package/dist/agents/tools/media-cache.d.ts +56 -0
  70. package/dist/agents/tools/media-cache.d.ts.map +1 -0
  71. package/dist/agents/tools/media-cache.js +133 -0
  72. package/dist/agents/tools/media-cache.js.map +1 -0
  73. package/dist/agents/tools/ooxml-images.d.ts +107 -0
  74. package/dist/agents/tools/ooxml-images.d.ts.map +1 -0
  75. package/dist/agents/tools/ooxml-images.js +308 -0
  76. package/dist/agents/tools/ooxml-images.js.map +1 -0
  77. package/dist/agents/tools/registry.d.ts +12 -0
  78. package/dist/agents/tools/registry.d.ts.map +1 -1
  79. package/dist/agents/tools/registry.js +47 -0
  80. package/dist/agents/tools/registry.js.map +1 -1
  81. package/dist/buildstamp.json +1 -1
  82. package/dist/cli/commands/doctor.d.ts.map +1 -1
  83. package/dist/cli/commands/doctor.js +41 -0
  84. package/dist/cli/commands/doctor.js.map +1 -1
  85. package/dist/cli/commands/update.d.ts +48 -11
  86. package/dist/cli/commands/update.d.ts.map +1 -1
  87. package/dist/cli/commands/update.js +133 -46
  88. package/dist/cli/commands/update.js.map +1 -1
  89. package/dist/cli/program/build-program.d.ts.map +1 -1
  90. package/dist/cli/program/build-program.js +11 -5
  91. package/dist/cli/program/build-program.js.map +1 -1
  92. package/dist/core/console-stream.d.ts.map +1 -1
  93. package/dist/core/console-stream.js +7 -5
  94. package/dist/core/console-stream.js.map +1 -1
  95. package/dist/core/server.js +6 -1
  96. package/dist/core/server.js.map +1 -1
  97. package/dist/system-prompt/assembler.d.ts.map +1 -1
  98. package/dist/system-prompt/assembler.js +25 -1
  99. package/dist/system-prompt/assembler.js.map +1 -1
  100. package/dist/system-prompt/guidance.d.ts +30 -0
  101. package/dist/system-prompt/guidance.d.ts.map +1 -1
  102. package/dist/system-prompt/guidance.js +50 -0
  103. package/dist/system-prompt/guidance.js.map +1 -1
  104. package/package.json +9 -1
@@ -26,6 +26,9 @@ import { makeCronTool } from "./cron-tool.js";
26
26
  import { makeManageAgentTool } from "./manage-agent-tool.js";
27
27
  import { makeFindTool } from "./find-tool.js";
28
28
  import { makeGenerateImageTool } from "./generate-image-tool.js";
29
+ import { makeAnalyzeMediaTool } from "./analyze-media-tool.js";
30
+ import { makeMakeDocumentTool } from "./make-document-tool.js";
31
+ import { makeEditDocumentTool } from "./edit-document-tool.js";
29
32
  import { makeManageAccessTool } from "./manage-access-tool.js";
30
33
  import { makeManageChannelAccessTool } from "./manage-channel-access-tool.js";
31
34
  import { makeConnectChannelTool } from "./connect-channel-tool.js";
@@ -135,6 +138,50 @@ export function createBrigadeTools(opts) {
135
138
  // a billed generation got silently dropped that way in production).
136
139
  // Owner-gated: each call is billed.
137
140
  makeGenerateImageTool(opts.agentId !== undefined ? { agentId: opts.agentId } : {}),
141
+ // analyze_media — read-capability media + document understanding. The
142
+ // model hands it a local path or URL (+ a question) and it RESOLVES the
143
+ // input into content the CURRENT turn's model analyzes: images become an
144
+ // image content block (when the model is vision-capable), PDF/DOCX/PPTX/
145
+ // XLSX/HTML are extracted to text/markdown, video is reported unsupported
146
+ // (Pi's tool-result content channel is text+image only — no aux-model
147
+ // runtime, no video/document block). NOT owner-only (read), but the
148
+ // local-path guard + SSRF guard run for every sender. `modelContext` lets
149
+ // it skip attaching an image a text-only model can't see.
150
+ makeAnalyzeMediaTool({
151
+ ...(opts.workspaceDir !== undefined ? { workspaceDir: opts.workspaceDir } : {}),
152
+ ...(opts.cwd !== undefined ? { cwd: opts.cwd } : {}),
153
+ ...(opts.agentId !== undefined ? { agentId: opts.agentId } : {}),
154
+ ...(opts.modelContext !== undefined ? { modelContext: opts.modelContext } : {}),
155
+ // OWNER turns (TUI / desktop / the operator's own channel messages — i.e.
156
+ // senderIsOwner not explicitly false) may read a user-typed absolute path
157
+ // from the operator's personal dirs (Downloads / Desktop / Documents).
158
+ // An untrusted non-owner channel peer (senderIsOwner:false) does NOT get
159
+ // this widening — the secret/system denylist still applies regardless.
160
+ ownerLocalAccess: opts.senderIsOwner !== false,
161
+ }),
162
+ // make_document — CREATE a Word/Excel/PowerPoint/PDF file from structured
163
+ // content (the WRITE sibling of analyze_media's read side). Pure-JS libs
164
+ // (docx / exceljs / pptxgenjs / @cantoo/pdf-lib), no code sandbox needed.
165
+ // NOT owner-only: writing a file into the workspace is safe, and the
166
+ // output-path guard (workspace/cwd/cache/temp + the secret/system denylist,
167
+ // reused from analyze_media) is the real boundary. Produces a path the
168
+ // agent then hands off via send_media.
169
+ makeMakeDocumentTool({
170
+ ...(opts.workspaceDir !== undefined ? { workspaceDir: opts.workspaceDir } : {}),
171
+ ...(opts.cwd !== undefined ? { cwd: opts.cwd } : {}),
172
+ ...(opts.agentId !== undefined ? { agentId: opts.agentId } : {}),
173
+ }),
174
+ // edit_document — EDIT an existing Word/Excel/PowerPoint/PDF in place
175
+ // (docx append/replace_text, xlsx set_cells/append_rows, pptx replace_text,
176
+ // pdf fill_form/merge/split/stamp/watermark/add_pages/remove_pages),
177
+ // preserving the parts it doesn't touch (OOXML unzip→edit-XML→rezip for
178
+ // high-fidelity docx/pptx; exceljs / pdf-lib load→mutate→save). Same path
179
+ // guard on BOTH the input source AND the output. NOT owner-only.
180
+ makeEditDocumentTool({
181
+ ...(opts.workspaceDir !== undefined ? { workspaceDir: opts.workspaceDir } : {}),
182
+ ...(opts.cwd !== undefined ? { cwd: opts.cwd } : {}),
183
+ ...(opts.agentId !== undefined ? { agentId: opts.agentId } : {}),
184
+ }),
138
185
  // manage_provider — owner-only credential + per-agent model surface.
139
186
  // Exists so a pasted API key lands in the canonical 0600 credential
140
187
  // store (never .env / workspace files / config / chat echoes) and so
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACN,6BAA6B,EAC7B,yBAAyB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,0BAA0B,EAC1B,2BAA2B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,oEAAoE;AACpE,uDAAuD;AACvD,qEAAqE;AACrE,oEAAoE;AACpE,iCAAiC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AA8GjE;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAA+B;IACjE,8EAA8E;IAC9E,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,qDAAqD;IACrD,MAAM,UAAU,GACf,IAAI,CAAC,gBAAgB,IAAI,6BAA6B,CAAC;QACtD,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;KACrB,CAAC,CAAC;IACJ,gEAAgE;IAChE,2EAA2E;IAC3E,qEAAqE;IACrE,kEAAkE;IAClE,4CAA4C;IAC5C,MAAM,SAAS,GAAG,yBAAyB,CAAC,UAAU,CAAC;QACtD,CAAC,CAAC,UAAU,CAAC,SAAS;QACtB,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,+DAA+D;IAC/D,oEAAoE;IACpE,mEAAmE;IACnE,uEAAuE;IACvE,MAAM,WAAW,GAAG;QACnB,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;YACrF,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;KACN,CAAC;IACF,MAAM,KAAK,GAAqB;QAC/B,sEAAsE;QACtE,gEAAgE;QAChE,oEAAoE;QACpE,yDAAyD;QACzD,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,qEAAqE;QACrE,mEAAmE;QACnE,mDAAmD;QACnD,oBAAoB,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC;QACxD,kBAAkB,CAAC,SAAS,CAAC;QAC7B,+DAA+D;QAC/D,iEAAiE;QACjE,qEAAqE;QACrE,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC;QAC5C,2EAA2E;QAC3E,6EAA6E;QAC7E,uEAAuE;QACvE,wDAAwD;QACxD,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAClE,uEAAuE;QACvE,wEAAwE;QACxE,uCAAuC;QACvC,kBAAkB,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,uEAAuE;QACvE,mEAAmE;QACnE,oEAAoE;QACpE,kEAAkE;QAClE,8DAA8D;QAC9D,oCAAoC;QACpC,mBAAmB,EAAE;QACrB,kEAAkE;QAClE,oEAAoE;QACpE,qEAAqE;QACrE,oEAAoE;QACpE,kEAAkE;QAClE,8CAA8C;QAC9C,mBAAmB,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,mEAAmE;QACnE,kEAAkE;QAClE,mEAAmE;QACnE,oEAAoE;QACpE,oCAAoC;QACpC,qBAAqB,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,kEAAkE;QAClE,kDAAkD;QAClD,sBAAsB,CACrB,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CACpE;QACD,gEAAgE;QAChE,oEAAoE;QACpE,oEAAoE;QACpE,sEAAsE;QACtE,6CAA6C;QAC7C,oBAAoB,EAAE;QACtB,uEAAuE;QACvE,mEAAmE;QACnE,0EAA0E;QAC1E,0EAA0E;QAC1E,2BAA2B,EAAE;QAC7B,wEAAwE;QACxE,2EAA2E;QAC3E,qEAAqE;QACrE,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,sBAAsB,CACrB,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAC7E;QACD,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,gEAAgE;QAChE,2DAA2D;QAC3D,qBAAqB,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC;QACF,yEAAyE;QACzE,uEAAuE;QACvE,oEAAoE;QACpE,kEAAkE;QAClE,gBAAgB,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;gBACrF,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;SACN,CAAC;QACF,wEAAwE;QACxE,sEAAsE;QACtE,kEAAkE;QAClE,wEAAwE;QACxE,qDAAqD;QACrD,sBAAsB,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;gBACrF,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;SACN,CAAC;KACF,CAAC;IACF,gEAAgE;IAChE,qEAAqE;IACrE,qEAAqE;IACrE,oEAAoE;IACpE,8BAA8B;IAC9B,EAAE;IACF,0DAA0D;IAC1D,uEAAuE;IACvE,qEAAqE;IACrE,mEAAmE;IACnE,iCAAiC;IACjC,IAAI,CAAC;QACJ,MAAM,aAAa,GAAG,qBAAqB,EAAuB,CAAC;QACnE,IAAI,aAAa,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CACT,WAAW,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS;oBAC7B,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE;oBACpC,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,SAAS;oBACzC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;oBAC9C,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;oBACvC,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS;oBACpC,CAAC,CAAC;wBACA,cAAc,EAAE;4BACf,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;4BACxC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc;4BAClD,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,KAAK,SAAS;gCAC7C,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;gCAC5C,CAAC,CAAC,EAAE,CAAC;4BACN,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,KAAK,SAAS;gCAC9C,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;gCAC9C,CAAC,CAAC,EAAE,CAAC;yBACN;qBACD;oBACF,CAAC,CAAC,EAAE,CAAC;aACN,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,gEAAgE;QAChE,uDAAuD;IACxD,CAAC;IACD,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,oEAAoE;IACpE,8EAA8E;IAC9E,wEAAwE;IACxE,2EAA2E;IAC3E,IAAI,CAAC;QACJ,IAAI,qBAAqB,CAAC,qBAAqB,EAAW,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,gEAAgE;IACjE,CAAC;IACD,6EAA6E;IAC7E,2EAA2E;IAC3E,oFAAoF;IACpF,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,yEAAyE;IACzE,iDAAiD;IACjD,IAAI,CAAC;QACJ,IAAI,yBAAyB,CAAC,qBAAqB,EAAW,CAAC,EAAE,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,oEAAoE;IACrE,CAAC;IACD,iEAAiE;IACjE,0EAA0E;IAC1E,iFAAiF;IACjF,yEAAyE;IACzE,wEAAwE;IACxE,qEAAqE;IACrE,qBAAqB;IACrB,EAAE;IACF,0EAA0E;IAC1E,iFAAiF;IACjF,iFAAiF;IACjF,iFAAiF;IACjF,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,yEAAyE;IACzE,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,kBAAkB,CAAC;YACzC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,gBAAgB;YACvD,aAAa,EAAE,IAAI,CAAC,OAAO;YAC3B,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,KAAK,SAAS;gBACjD,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,SAAS;gBAClD,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;gBACrD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE;gBACzD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,KAAK,SAAS;gBACnD,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;gBACvD,CAAC,CAAC,EAAE,CAAC;YACN,+DAA+D;YAC/D,+DAA+D;YAC/D,iDAAiD;YACjD,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,KAAK,SAAS;gBACnD,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,KAAK,SAAS;gBAClD,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;gBACrD,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,mBAAmB,CAAC;YAC3C,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,gBAAgB;YACvD,aAAa,EAAE,IAAI,CAAC,OAAO;YAC3B,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,KAAK,SAAS;gBACjD,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,SAAS;gBAClD,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;gBACrD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE;gBACzD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,KAAK,SAAS;gBACnD,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;gBACvD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,KAAK,SAAS;gBACnD,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,KAAK,SAAS;gBAClD,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;gBACrD,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,2BAA2B,CAAC;YAC5C,KAAK,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;YACxC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW;YAC7C,QAAQ,EAAE,IAAI,CAAC,gBAAgB,IAAI,0BAA0B;SAC7D,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IACzB,CAAC;IACD,sEAAsE;IACtE,uEAAuE;IACvE,oEAAoE;IACpE,uEAAuE;IACvE,oDAAoD;IACpD,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,IAAI,WAAW,EAAE,CAAC;QACjB,oEAAoE;QACpE,qEAAqE;QACrE,iEAAiE;QACjE,0DAA0D;QAC1D,iEAAiE;QACjE,sEAAsE;QACtE,qEAAqE;QACrE,+DAA+D;QAC/D,2DAA2D;QAC3D,MAAM,eAAe,GACpB,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACxF,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG;YACzB,CAAC,CAAC,SAAS,CAAC;QACd,KAAK,CAAC,IAAI,CACT,YAAY,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,uDAAuD;YACvD,wDAAwD;YACxD,iDAAiD;YACjD,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,KAAK,SAAS;gBACnD,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,KAAK,SAAS;gBAClD,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;gBACrD,CAAC,CAAC,EAAE,CAAC;YACN,2DAA2D;YAC3D,uDAAuD;YACvD,wDAAwD;YACxD,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CACF,CAAC;IACH,CAAC;IACD,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,gFAAgF;IAChF,yDAAyD;IACzD,MAAM,cAAc,GAAG,uBAAuB,EAAE,CAAC;IACjD,IAAI,cAAc,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CACT,mBAAmB,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,2DAA2D;YAC3D,uDAAuD;YACvD,gEAAgE;YAChE,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CACF,CAAC;QACF,8DAA8D;QAC9D,gEAAgE;QAChE,gEAAgE;QAChE,gDAAgD;QAChD,KAAK,CAAC,IAAI,CACT,iBAAiB,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS;gBACpC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CACF,CAAC;IACH,CAAC;IACD,sEAAsE;IACtE,sEAAsE;IACtE,mEAAmE;IACnE,oEAAoE;IACpE,uBAAuB;IACvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,0BAA0B,CAAC;YAChD,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS;gBACpC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;YACN,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,IAAI,CAAC;YACnD,aAAa,EAAE,IAAI,CAAC,gBAAgB;YACpC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,qBAAqB;YACrC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,KAAK,SAAS;gBACnD,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,KAAK,SAAS;gBAClD,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;gBACrD,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IACnC,OAAO,CAAC,eAAe,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"builtAt":1782413017272,"head":"bbea17148ff119b4f52ebb95b1a92e16cf294c5b","version":"1.9.0"}
1
+ {"builtAt":1782426288601,"head":"93340695aaa611328967e781ebafbec304aea5b8","version":"1.11.0"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBzC,MAAM,WAAW,oBAAoB;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAcD,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgCvF;AAgnBD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiB5D"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC,MAAM,WAAW,oBAAoB;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAcD,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCvF;AAqpBD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiB5D"}
@@ -21,6 +21,7 @@ import { readProfiles } from "../../auth/profiles.js";
21
21
  import { FileMemoryStore } from "../../agents/memory/storage.js";
22
22
  import { FactStore } from "../../agents/memory/records.js";
23
23
  import { discoverEligibleSkills } from "../../agents/skills/index.js";
24
+ import { probeMediaUnderstanding } from "../../agents/media-understanding/config.js";
24
25
  import { collectChannelSecurityAudit, listChannelSecurityAdapters, } from "../../agents/channels/channel-security-registry.js";
25
26
  import { readConfigOrInit } from "../../config/io.js";
26
27
  import { BRIGADE_DIR, loadConfig } from "../../core/config.js";
@@ -43,6 +44,7 @@ export async function runDoctorCommand(opts = {}) {
43
44
  checks.push(checkWorkspace());
44
45
  checks.push(await checkMemory());
45
46
  checks.push(checkSkills());
47
+ checks.push(checkMediaUnderstanding());
46
48
  checks.push(checkLogDirWritable());
47
49
  checks.push(checkExecApprovals());
48
50
  checks.push(await checkChannelSecurity(await safeLoadConfig()));
@@ -408,6 +410,45 @@ function checkSkills() {
408
410
  message: `${count} skill${count === 1 ? "" : "s"} available${suffix}`,
409
411
  };
410
412
  }
413
+ /**
414
+ * Media-understanding readiness — which provider keys back `analyze_media`'s
415
+ * direct-provider paths (video / native-PDF / text-only-model images). Pure
416
+ * read of the credential store; never makes a network call. "ok" in every
417
+ * case — this is informational (video just needs a key when first used).
418
+ */
419
+ function checkMediaUnderstanding() {
420
+ let probe;
421
+ try {
422
+ probe = probeMediaUnderstanding(DEFAULT_AGENT_ID);
423
+ }
424
+ catch (err) {
425
+ return {
426
+ name: "media understanding",
427
+ status: "warn",
428
+ message: `could not probe provider keys: ${err.message}`,
429
+ };
430
+ }
431
+ if (!probe.video && !probe.pdf && !probe.image) {
432
+ return {
433
+ name: "media understanding",
434
+ status: "ok",
435
+ message: "no Google/Anthropic key — video + native-PDF understanding unavailable (PDF/Office still extract text)",
436
+ hint: "add a Google/Gemini key (video) or Anthropic key (scanned PDF) with `brigade onboard`",
437
+ };
438
+ }
439
+ const have = [];
440
+ if (probe.video)
441
+ have.push("video (Gemini)");
442
+ if (probe.pdf)
443
+ have.push("native PDF");
444
+ if (probe.image)
445
+ have.push("provider images");
446
+ return {
447
+ name: "media understanding",
448
+ status: "ok",
449
+ message: `enabled: ${have.join(", ")}`,
450
+ };
451
+ }
411
452
  function checkExecApprovals() {
412
453
  const s = readApprovalsSummary();
413
454
  // Schema-version mismatch is reported via `s.error` (the loader threw,
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EACN,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EACN,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAkBzE,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA6B,EAAE;IACrE,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3B,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC9F,CAAC;IACH,CAAC;SAAM,CAAC;QACP,eAAe,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACvD,IAAI,MAAM;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAS,gBAAgB;IACxB,MAAM,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IACnH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,KAAK,GAAG,cAAc,IAAI,CAAC,KAAK,KAAK,cAAc,IAAI,KAAK,IAAI,cAAc,CAAC,EAAE,CAAC;QACrF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IACzF,CAAC;IACD,OAAO;QACN,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,0BAA0B,cAAc,IAAI,cAAc,EAAE;QAClG,IAAI,EAAE,eAAe,cAAc,eAAe,cAAc,EAAE;KAClE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB;IACxB,MAAM,IAAI,GAAG,CAAC,qBAAqB,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;IACzF,CAAC;IACD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC;YACJ,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACR,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO;YACN,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,kCAAkC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClE,IAAI,EAAE,wFAAwF;SAC9F,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,eAAe;IACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACjC,OAAO;YACN,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,WAAW,oBAAoB;YAC3C,IAAI,EAAE,oCAAoC;SAC1C,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACJ,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACpE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,WAAW,8BAA+B,GAAa,CAAC,OAAO,EAAE;SAC7E,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACJ,MAAM,UAAU,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,mBAAoB,GAAa,CAAC,OAAO,EAAE;YACpD,IAAI,EAAE,+EAA+E;SACrF,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB;IACzB,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,qEAAqE;IACrE,iDAAiD;IACjD,IAAI,IAAqC,CAAC;IAC1C,IAAI,CAAC;QACJ,IAAI,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oBAAqB,GAAa,CAAC,OAAO,EAAE;SACrD,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACtD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO;YACN,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,iBAAiB;YAC1B,IAAI,EAAE,yCAAyC;SAC/C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;AACtG,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA0D;IAC1F,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACnF,CAAC;IACD,MAAM,cAAc,GAAI,MAAM,CAAC,MAAyF,EAAE,QAAQ,CAAC;IACnI,MAAM,QAAQ,GAAG,cAAc,EAAE,QAAQ,CAAC;IAC1C,MAAM,OAAO,GAAG,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC;IAC/C,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO;YACN,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oCAAoC;YAC7C,IAAI,EAAE,uBAAuB;SAC7B,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO;YACN,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,aAAa,QAAQ,8BAA8B,KAAK,GAAG;YACpE,IAAI,EAAE,0DAA0D;SAChE,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO;YACN,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,GAAG,QAAQ,IAAI,OAAO,6BAA6B;SAC5D,CAAC;IACH,CAAC;IACD,gEAAgE;IAChE,MAAM,OAAO,GAAG,sBAAsB,EAAiE,CAAC;IACxG,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7C,qEAAqE;QACrE,oEAAoE;QACpE,uEAAuE;QACvE,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACN,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG,QAAQ,IAAI,OAAO,sCAAsC;aACrE,CAAC;QACH,CAAC;IACF,CAAC;IACD,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,mEAAmE;IACnE,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC5C,wDAAwD;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAC/B,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACb,qEAAqE;YACrE,wEAAwE;YACxE,gEAAgE;YAChE,6BAA6B;YAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjG,OAAO;oBACN,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,GAAG,QAAQ,IAAI,OAAO,uBAAuB;iBACtD,CAAC;YACH,CAAC;YACD,sEAAsE;YACtE,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/F,OAAO;oBACN,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,GAAG,QAAQ,IAAI,OAAO,UAAU;iBACzC,CAAC;YACH,CAAC;YACD,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,IAAI,OAAO,EAAE,EAAE,CAAC;YACtF,CAAC;YACD,6DAA6D;YAC7D,qDAAqD;YACrD,6DAA6D;YAC7D,MAAM,GAAG,GAA0D,OAAO,CAAC,MAAM,CAAC;YAClF,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzD,OAAO;wBACN,IAAI,EAAE,kBAAkB;wBACxB,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,GAAG,QAAQ,IAAI,OAAO,wDAAwD;qBACvF,CAAC;gBACH,CAAC;gBACD,OAAO;oBACN,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,GAAG,QAAQ,IAAI,OAAO,uEAAuE;oBACtG,IAAI,EAAE,8FAA8F;iBACpG,CAAC;YACH,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC7B,gCAAgC;gBAChC,MAAM,CAAC,GAAG,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpC,OAAO;wBACN,IAAI,EAAE,kBAAkB;wBACxB,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,GAAG,QAAQ,IAAI,OAAO,wDAAwD;qBACvF,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,eAAe;IAChB,CAAC;IACD,OAAO;QACN,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,GAAG,QAAQ,IAAI,OAAO,uBAAuB;QACtD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC,CAAC,uBAAuB;KACvG,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACtB,MAAM,YAAY,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAChE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,OAAO;YACN,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,YAAY,oBAAoB;YAC5C,IAAI,EAAE,sDAAsD;SAC5D,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAChH,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxC,OAAO;YACN,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,YAAY,8BAA8B;YACtD,IAAI,EAAE,iDAAiD;SACvD,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACN,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,oCAAoC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SACxH,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;QACxE,CAAC,CAAC,CAAC,CAAC;IACL,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,YAAY,aAAa,EAAE,CAAC;AACtG,CAAC;AAED,KAAK,UAAU,WAAW;IACzB,MAAM,YAAY,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,OAAuD,CAAC;IAC5D,IAAI,CAAC;QACJ,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,0BAA2B,GAAa,CAAC,OAAO,EAAE;SAC3D,CAAC;IACH,CAAC;IACD,6EAA6E;IAC7E,8EAA8E;IAC9E,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,CAAC;QACJ,SAAS,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACR,uBAAuB;IACxB,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,YAAY,CAAC;IACrE,mEAAmE;IACnE,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,aAAa,GAClB,QAAQ,KAAK,YAAY;QACxB,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,GAAG,QAAQ,+EAA+E,CAAC;IAC/F,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QAChD,qEAAqE;QACrE,2CAA2C;QAC3C,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,kEAAkE,aAAa,GAAG;SAC3F,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,sEAAsE;IACtE,uDAAuD;IACvD,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,GAAG,SAAS,QAAQ,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,yBAAyB,OAAO,CAAC,SAAS,aAAa,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,kBAAkB,aAAa,GAAG;KACzL,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IACnB,MAAM,YAAY,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAChE,IAAI,MAAiD,CAAC;IACtD,IAAI,CAAC;QACJ,MAAM,GAAG,sBAAsB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,0BAA2B,GAAa,CAAC,OAAO,EAAE;SAC3D,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACnC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACjB,wEAAwE;QACxE,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,mEAAmE;SAC5E,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,GAAG,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,MAAM,EAAE;KACrE,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IAC1B,MAAM,CAAC,GAAG,oBAAoB,EAAE,CAAC;IACjC,uEAAuE;IACvE,sEAAsE;IACtE,wEAAwE;IACxE,oBAAoB;IACpB,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACb,OAAO;YACN,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,KAAK,EAAE;YACrC,IAAI,EAAE,yFAAyF;SAC/F,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QACnB,mEAAmE;QACnE,oEAAoE;QACpE,8CAA8C;QAC9C,OAAO;YACN,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,gEAAgE;YACzE,IAAI,EAAE,wFAAwF;SAC9F,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO;YACN,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,4BAA4B,CAAC,CAAC,QAAQ,eAAe;YAC9D,IAAI,EAAE,iHAAiH;SACvH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,WAAW,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAClG,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,WAAW,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAClG,OAAO;QACN,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,GAAG;QACvD,IAAI,EAAE,uFAAuF;KAC7F,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB;IAC3B,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC;QACJ,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,MAAM,kBAAmB,GAAa,CAAC,OAAO,EAAE;SAC5D,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAA0B;IACrD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;IAC5B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO;YACN,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,cAAc,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;SAC/D,CAAC;IACH,CAAC;IACD,IAAI,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO;YACN,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,GAAG,iBAAiB,KAAK,CAAC,GAAG,oBAAoB,KAAK,CAAC,KAAK,GAAG;YAC/E,IAAI,EAAE,qEAAqE;SAC3E,CAAC;IACH,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACT,OAAO;YACN,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,mBAAmB,GAAG,qBAAqB;YACpD,IAAI,EAAE,gFAAgF;SACtF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC;AAC1G,CAAC;AAED,KAAK,UAAU,cAAc;IAC5B,IAAI,CAAC;QACJ,OAAO,MAAM,UAAU,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,oBAAoB,CAClC,MAA0D;IAE1D,IAAI,2BAA2B,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO;YACN,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,yCAAyC;SAClD,CAAC;IACH,CAAC;IACD,IAAI,MAA+D,CAAC;IACpE,IAAI,CAAC;QACJ,MAAM,GAAG,MAAM,2BAA2B,CAAC;YAC1C,GAAG,EAAE,CAAC,MAAM,IAAI,EAAE,CAA6D;SAC/E,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,6CAA8C,GAAa,CAAC,OAAO,EAAE;SAC9E,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACvG,OAAO;YACN,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,yBAAyB,QAAQ,GAAG;SAC7C,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,WAAW,CAAC,CAAC;IACrD,IAAI,IAAI,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;IACzC,IAAI,IAAI,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;IACzC,sEAAsE;IACtE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,MAAM,GAAgB,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,OAAO;QACN,IAAI,EAAE,kBAAkB;QACxB,MAAM;QACN,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE;QAClD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;AACH,CAAC;AAED,MAAM,KAAK,GAAG;IACb,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;IACvB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;CACX,CAAC;AAEX;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB;IAC9B,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACJ,QAAQ,GAAG,YAAY,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO;YACN,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gCAAiC,GAAa,CAAC,OAAO,EAAE;YACjE,IAAI,EAAE,uFAAuF;SAC7F,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC;QACtC,IAAI,YAAY,EAAE,CAAC;YAClB,6DAA6D;YAC7D,oDAAoD;YACpD,OAAO;gBACN,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,+CAA+C;aACxD,CAAC;QACH,CAAC;QACD,OAAO;YACN,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,oDAAoD;YAC7D,IAAI,EAAE,+DAA+D;SACrE,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO;YACN,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,uBAAuB,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;SAC5D,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAU,CAAC;IAChC,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACnG,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACb,OAAO;gBACN,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,GAAG,YAAY,GAAG,CAAC,MAAM,EAAE;gBAC/C,IAAI,EAAE,qEAAqE;aAC3E,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,OAAO;YACN,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,WAAW,GAAG,gBAAgB,QAAQ,IAAI,WAAW,EAAE;SAChE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,GAAG,GAAI,GAAa,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAE,GAAa,CAAC,OAAO,CAAC;QAClG,MAAM,SAAS,GACd,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;YACrD,CAAC,CAAC,uEAAuE;YACzE,CAAC,CAAC,kDAAkD,CAAC;QACvD,OAAO;YACN,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW,GAAG,kBAAkB,GAAG,EAAE;YAC9C,IAAI,EAAE,SAAS;SACf,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;IACF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAChE,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,SAAS,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,WAAW,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACrD,OAAO;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,CAAC;SACzE,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC5F,MAAM,CAAC,QAAQ,EAAE,0CAA0C,EAAE,KAAK,CAAC;SACnE,MAAM,CAAC,UAAU,EAAE,qCAAqC,EAAE,KAAK,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,IAAwE,EAAE,EAAE;QAC1F,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,54 @@
1
1
  /**
2
- * `brigade update` (alias `upgrade`) — pull the latest published Brigade from
3
- * npm and report old → new version.
2
+ * `brigade update` (alias `upgrade`) — bring Brigade to the latest code and
3
+ * restart the running gateway so the new code is actually live.
4
4
  *
5
- * Brigade ships as the global npm package `@spinabot/brigade`, so "updating" is
6
- * just `npm i -g <pkg>@latest`. This command wraps that with: current-vs-latest
7
- * version reporting, an `--check` dry-run, a "no `npm` on PATH" guard, and a
8
- * source-checkout detector — running it from a dev clone would install a SECOND,
9
- * conflicting global copy, so we refuse and print the git workflow instead.
5
+ * TWO install shapes, auto-detected:
6
+ * - NPM GLOBAL (`@spinabot/brigade` installed via `npm i -g`): `npm i -g
7
+ * <pkg>@latest`, then restart the gateway.
8
+ * - SOURCE CHECKOUT (a dev clone with `.git` + `src/`, e.g. F:\Brigade): we do
9
+ * NOT npm-install (that would create a second, conflicting global copy).
10
+ * Instead we perform the real source workflow END TO END:
11
+ * git pull --ff-only (only when the tree is clean + behind upstream;
12
+ * a dirty tree is left untouched and built as-is)
13
+ * npm install (deps may have changed)
14
+ * npm run build (recompile src → dist — Brigade runs from dist)
15
+ * brigade gateway restart
16
+ * i.e. the steps we used to just print, now executed.
10
17
  *
11
- * After a successful upgrade the running gateway daemon is still on the OLD
12
- * code, so we remind the operator to `brigade gateway restart`.
18
+ * Flags: `--check` (report only, change nothing) · `--no-restart` (do the update
19
+ * but leave the gateway for a manual restart).
20
+ *
21
+ * The subprocess runner is injectable (`opts.run`) so the whole flow is unit-
22
+ * testable without spawning git/npm/node.
13
23
  */
14
- export declare function runUpdateCommand(opts?: {
24
+ interface PackageInfo {
25
+ name: string;
26
+ version: string;
27
+ root: string;
28
+ }
29
+ /** Result of one spawned command. */
30
+ interface RunResult {
31
+ code: number;
32
+ stdout: string;
33
+ stderr: string;
34
+ }
35
+ /** Spawn a command. `capture` pipes stdout/stderr; otherwise it streams to the
36
+ * operator's terminal. `shell:true` lets bare `npm`/`git` resolve to `.cmd` on
37
+ * Windows; an explicit interpreter path (node) is spawned without a shell. */
38
+ export type CommandRunner = (cmd: string, args: string[], opts: {
39
+ cwd?: string;
40
+ capture?: boolean;
41
+ shell?: boolean;
42
+ }) => RunResult;
43
+ export interface UpdateOptions {
15
44
  check?: boolean;
16
- }): Promise<number>;
45
+ /** Skip the final `gateway restart`. */
46
+ noRestart?: boolean;
47
+ /** TEST SEAM — inject the subprocess runner. */
48
+ run?: CommandRunner;
49
+ /** TEST SEAM — override the resolved package root/info. */
50
+ pkg?: PackageInfo;
51
+ }
52
+ export declare function runUpdateCommand(opts?: UpdateOptions): Promise<number>;
53
+ export {};
17
54
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAqDH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAgEtF"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,UAAU,WAAW;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,qCAAqC;AACrC,UAAU,SAAS;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;+EAE+E;AAC/E,MAAM,MAAM,aAAa,GAAG,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KACtD,SAAS,CAAC;AA6Cf,MAAM,WAAW,aAAa;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,2DAA2D;IAC3D,GAAG,CAAC,EAAE,WAAW,CAAC;CAClB;AAwID,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAIhF"}
@@ -1,15 +1,25 @@
1
1
  /**
2
- * `brigade update` (alias `upgrade`) — pull the latest published Brigade from
3
- * npm and report old → new version.
2
+ * `brigade update` (alias `upgrade`) — bring Brigade to the latest code and
3
+ * restart the running gateway so the new code is actually live.
4
4
  *
5
- * Brigade ships as the global npm package `@spinabot/brigade`, so "updating" is
6
- * just `npm i -g <pkg>@latest`. This command wraps that with: current-vs-latest
7
- * version reporting, an `--check` dry-run, a "no `npm` on PATH" guard, and a
8
- * source-checkout detector — running it from a dev clone would install a SECOND,
9
- * conflicting global copy, so we refuse and print the git workflow instead.
5
+ * TWO install shapes, auto-detected:
6
+ * - NPM GLOBAL (`@spinabot/brigade` installed via `npm i -g`): `npm i -g
7
+ * <pkg>@latest`, then restart the gateway.
8
+ * - SOURCE CHECKOUT (a dev clone with `.git` + `src/`, e.g. F:\Brigade): we do
9
+ * NOT npm-install (that would create a second, conflicting global copy).
10
+ * Instead we perform the real source workflow END TO END:
11
+ * git pull --ff-only (only when the tree is clean + behind upstream;
12
+ * a dirty tree is left untouched and built as-is)
13
+ * npm install (deps may have changed)
14
+ * npm run build (recompile src → dist — Brigade runs from dist)
15
+ * brigade gateway restart
16
+ * i.e. the steps we used to just print, now executed.
10
17
  *
11
- * After a successful upgrade the running gateway daemon is still on the OLD
12
- * code, so we remind the operator to `brigade gateway restart`.
18
+ * Flags: `--check` (report only, change nothing) · `--no-restart` (do the update
19
+ * but leave the gateway for a manual restart).
20
+ *
21
+ * The subprocess runner is injectable (`opts.run`) so the whole flow is unit-
22
+ * testable without spawning git/npm/node.
13
23
  */
14
24
  import { spawnSync } from "node:child_process";
15
25
  import { existsSync, readFileSync } from "node:fs";
@@ -17,6 +27,19 @@ import { dirname, join } from "node:path";
17
27
  import { fileURLToPath } from "node:url";
18
28
  import chalk from "chalk";
19
29
  const FALLBACK_PKG = "@spinabot/brigade";
30
+ const defaultRunner = (cmd, args, opts) => {
31
+ const res = spawnSync(cmd, args, {
32
+ cwd: opts.cwd,
33
+ shell: opts.shell ?? true,
34
+ encoding: "utf8",
35
+ stdio: opts.capture ? ["ignore", "pipe", "pipe"] : "inherit",
36
+ });
37
+ return {
38
+ code: res.status ?? 1,
39
+ stdout: (res.stdout ?? "").trim(),
40
+ stderr: (res.stderr ?? "").trim(),
41
+ };
42
+ };
20
43
  /** Walk up from this module to the package.json that owns it. */
21
44
  function resolvePackageInfo() {
22
45
  let dir = dirname(fileURLToPath(import.meta.url));
@@ -39,66 +62,130 @@ function resolvePackageInfo() {
39
62
  }
40
63
  return { name: FALLBACK_PKG, version: "0.0.0", root: dir };
41
64
  }
42
- /** A package directory that carries `.git` + `src/` is a dev checkout, not a
43
- * global install — `npm i -g` from here would create a conflicting copy. */
65
+ /** A package dir with `.git` + `src/` is a dev checkout, not a global install. */
44
66
  function isSourceCheckout(root) {
45
67
  return existsSync(join(root, ".git")) && existsSync(join(root, "src"));
46
68
  }
47
- /** `npm` is `npm.cmd` on Windows — `shell: true` lets the bare name resolve. */
48
- function runNpm(args, opts = {}) {
49
- const res = spawnSync("npm", args, {
50
- shell: true,
51
- encoding: "utf8",
52
- stdio: opts.capture ? ["ignore", "pipe", "pipe"] : "inherit",
53
- });
54
- return { code: res.status ?? 1, stdout: (res.stdout ?? "").trim() };
69
+ const out = (s) => void process.stdout.write(s);
70
+ const err = (s) => void process.stderr.write(s);
71
+ const step = (s) => out(`${chalk.cyan("→")} ${s}\n`);
72
+ /** Restart the running gateway so the freshly-built/installed code goes live. */
73
+ function restartGateway(run, source, root) {
74
+ step("brigade gateway restart");
75
+ const r = source
76
+ ? run(process.execPath, [join(root, "brigade.mjs"), "gateway", "restart"], { cwd: root, shell: false })
77
+ : run("brigade", ["gateway", "restart"], { shell: true });
78
+ if (r.code !== 0) {
79
+ err(`${chalk.yellow("âš  Couldn't restart the gateway automatically.")} ` +
80
+ `Restart it yourself to load the new code: ${chalk.bold("brigade gateway restart")}\n`);
81
+ }
55
82
  }
56
- export async function runUpdateCommand(opts = {}) {
57
- const pkg = resolvePackageInfo();
58
- // Refuse to npm-install over a working source tree — guide to git instead.
59
- if (isSourceCheckout(pkg.root)) {
60
- process.stdout.write(`${chalk.yellow("You're running Brigade from a source checkout")} (${pkg.root}).\n` +
61
- "Update it with git instead of npm:\n\n" +
62
- ` ${chalk.bold("git pull")}\n` +
63
- ` ${chalk.bold("npm install")}\n` +
64
- ` ${chalk.bold("npm run build")}\n` +
65
- ` ${chalk.bold("brigade gateway restart")}\n`);
83
+ /** SOURCE-checkout update: git pull (when safe) → npm install → build → restart. */
84
+ function updateSourceCheckout(pkg, opts, run) {
85
+ const root = pkg.root;
86
+ out(`${chalk.dim("source checkout:")} ${root} ${chalk.dim("current:")} ${pkg.version}\n`);
87
+ // Does the branch track an upstream? (rev-parse errors when it doesn't.)
88
+ const hasUpstream = run("git", ["-C", root, "rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"], { capture: true }).code === 0;
89
+ if (hasUpstream)
90
+ run("git", ["-C", root, "fetch", "--quiet"], { capture: true });
91
+ const dirty = run("git", ["-C", root, "status", "--porcelain"], { capture: true }).stdout.length > 0;
92
+ const behind = hasUpstream
93
+ ? Number.parseInt(run("git", ["-C", root, "rev-list", "--count", "HEAD..@{u}"], { capture: true }).stdout || "0", 10)
94
+ : 0;
95
+ if (opts.check) {
96
+ if (!hasUpstream)
97
+ out(`${chalk.dim("no upstream tracking branch — can't check remote.")}\n`);
98
+ else if (behind > 0)
99
+ out(`${chalk.yellow(`↑ ${behind} commit(s) behind upstream.`)} Run ${chalk.bold("brigade update")} to pull, rebuild + restart.\n`);
100
+ else
101
+ out(`${chalk.green("✓ Up to date with upstream.")} (Run ${chalk.bold("brigade update")} to rebuild + restart anyway.)\n`);
102
+ return 0;
103
+ }
104
+ // 1) git pull — only fast-forward, only when clean. Never clobber local work.
105
+ if (!hasUpstream) {
106
+ out(`${chalk.dim("• no upstream — skipping git pull; rebuilding the working tree as-is.")}\n`);
107
+ }
108
+ else if (dirty) {
109
+ out(`${chalk.yellow("• uncommitted changes present — skipping git pull")} (your work is left untouched); ` +
110
+ `rebuilding the working tree as-is.\n`);
111
+ }
112
+ else if (behind > 0) {
113
+ step(`git pull --ff-only (${behind} commit(s) behind)`);
114
+ const pull = run("git", ["-C", root, "pull", "--ff-only"], {});
115
+ if (pull.code !== 0) {
116
+ err(`${chalk.red("✗ git pull failed")} (the branch may have diverged from upstream). ` +
117
+ `Resolve it manually, then re-run.\n`);
118
+ return pull.code;
119
+ }
120
+ }
121
+ else {
122
+ out(`${chalk.dim("• already up to date with upstream — rebuilding to apply any local commits.")}\n`);
123
+ }
124
+ // 2) npm install — deps may have changed.
125
+ step("npm install");
126
+ const install = run("npm", ["install"], { cwd: root });
127
+ if (install.code !== 0) {
128
+ err(`${chalk.red("✗ npm install failed.")} Fix the error above, then re-run ${chalk.bold("brigade update")}.\n`);
129
+ return install.code;
130
+ }
131
+ // 3) npm run build — recompile src → dist (Brigade runs dist, not src).
132
+ step("npm run build");
133
+ const build = run("npm", ["run", "build"], { cwd: root });
134
+ if (build.code !== 0) {
135
+ err(`${chalk.red("✗ Build failed — NOT restarting the gateway")} (it keeps running the previous good build). ` +
136
+ `Fix the error above, then re-run ${chalk.bold("brigade update")}.\n`);
137
+ return build.code;
138
+ }
139
+ // 4) restart so the new dist is live.
140
+ if (opts.noRestart) {
141
+ out(`${chalk.green("✓ Built.")} ${chalk.dim("(--no-restart)")} Run ${chalk.bold("brigade gateway restart")} to go live.\n`);
66
142
  return 0;
67
143
  }
68
- // Need npm on PATH for both the version probe and the install.
69
- if (runNpm(["--version"], { capture: true }).code !== 0) {
70
- process.stderr.write(`${chalk.red("✗ npm wasn't found on your PATH.")} Install Node.js (which bundles npm), then re-run, ` +
144
+ restartGateway(run, true, root);
145
+ out(`${chalk.green("✓ Brigade updated + gateway restarted — running the latest code.")}\n`);
146
+ return 0;
147
+ }
148
+ /** NPM-GLOBAL update: npm i -g <pkg>@latest → restart. */
149
+ function updateNpmGlobal(pkg, opts, run) {
150
+ if (run("npm", ["--version"], { capture: true }).code !== 0) {
151
+ err(`${chalk.red("✗ npm wasn't found on your PATH.")} Install Node.js (which bundles npm), then re-run, ` +
71
152
  `or update manually: ${chalk.bold(`npm i -g ${pkg.name}@latest`)}\n`);
72
153
  return 1;
73
154
  }
74
- // Latest published version (best-effort — offline / registry hiccup is non-fatal).
75
- const view = runNpm(["view", pkg.name, "version"], { capture: true });
155
+ const view = run("npm", ["view", pkg.name, "version"], { capture: true });
76
156
  const latest = view.code === 0 ? view.stdout.split("\n").pop()?.trim() : undefined;
77
- process.stdout.write(`${chalk.dim("current:")} ${pkg.version}${latest ? ` ${chalk.dim("latest:")} ${latest}` : ""}\n`);
157
+ out(`${chalk.dim("current:")} ${pkg.version}${latest ? ` ${chalk.dim("latest:")} ${latest}` : ""}\n`);
78
158
  if (latest && latest === pkg.version) {
79
- process.stdout.write(`${chalk.green("✓ Already on the latest version.")}\n`);
159
+ out(`${chalk.green("✓ Already on the latest version.")}\n`);
80
160
  return 0;
81
161
  }
82
162
  if (opts.check) {
83
- if (latest) {
84
- process.stdout.write(`${chalk.yellow(`↑ ${pkg.version} → ${latest} available.`)} Run ${chalk.bold("brigade update")} to upgrade.\n`);
85
- }
163
+ if (latest)
164
+ out(`${chalk.yellow(`↑ ${pkg.version} → ${latest} available.`)} Run ${chalk.bold("brigade update")} to upgrade.\n`);
86
165
  else {
87
- process.stderr.write("Couldn't reach the npm registry to check the latest version.\n");
166
+ err("Couldn't reach the npm registry to check the latest version.\n");
88
167
  return 1;
89
168
  }
90
169
  return 0;
91
170
  }
92
- // Do the upgrade — stream npm's output so the operator sees progress.
93
- process.stdout.write(`\n${chalk.dim(`$ npm i -g ${pkg.name}@latest`)}\n`);
94
- const install = runNpm(["i", "-g", `${pkg.name}@latest`]);
171
+ step(`npm i -g ${pkg.name}@latest`);
172
+ const install = run("npm", ["i", "-g", `${pkg.name}@latest`], {});
95
173
  if (install.code !== 0) {
96
- process.stderr.write(`\n${chalk.red("✗ Upgrade failed.")} If it's a permissions error, retry with elevated rights ` +
174
+ err(`${chalk.red("✗ Upgrade failed.")} If it's a permissions error, retry with elevated rights ` +
97
175
  `(sudo / an Administrator shell), or run: ${chalk.bold(`npm i -g ${pkg.name}@latest`)}\n`);
98
176
  return install.code;
99
177
  }
100
- process.stdout.write(`\n${chalk.green("✓ Brigade updated.")} ` +
101
- `Restart the gateway to run the new code: ${chalk.bold("brigade gateway restart")}\n`);
178
+ if (opts.noRestart) {
179
+ out(`${chalk.green("✓ Brigade updated.")} ${chalk.dim("(--no-restart)")} Run ${chalk.bold("brigade gateway restart")} to go live.\n`);
180
+ return 0;
181
+ }
182
+ restartGateway(run, false, pkg.root);
183
+ out(`${chalk.green("✓ Brigade updated + gateway restarted — running the latest code.")}\n`);
102
184
  return 0;
103
185
  }
186
+ export async function runUpdateCommand(opts = {}) {
187
+ const pkg = opts.pkg ?? resolvePackageInfo();
188
+ const run = opts.run ?? defaultRunner;
189
+ return isSourceCheckout(pkg.root) ? updateSourceCheckout(pkg, opts, run) : updateNpmGlobal(pkg, opts, run);
190
+ }
104
191
  //# sourceMappingURL=update.js.map