@harness-nexus/cli 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (68) hide show
  1. package/dist/daemon/acp/adapters.d.ts.map +1 -1
  2. package/dist/daemon/acp/adapters.js +9 -3
  3. package/dist/daemon/acp/adapters.js.map +1 -1
  4. package/dist/daemon/acp/agent-connection.d.ts +67 -4
  5. package/dist/daemon/acp/agent-connection.d.ts.map +1 -1
  6. package/dist/daemon/acp/agent-connection.js +113 -9
  7. package/dist/daemon/acp/agent-connection.js.map +1 -1
  8. package/dist/daemon/adapter-ledger.d.ts +62 -0
  9. package/dist/daemon/adapter-ledger.d.ts.map +1 -0
  10. package/dist/daemon/adapter-ledger.js +207 -0
  11. package/dist/daemon/adapter-ledger.js.map +1 -0
  12. package/dist/daemon/chat.d.ts +33 -2
  13. package/dist/daemon/chat.d.ts.map +1 -1
  14. package/dist/daemon/chat.js +956 -42
  15. package/dist/daemon/chat.js.map +1 -1
  16. package/dist/daemon/client.d.ts +11 -2
  17. package/dist/daemon/client.d.ts.map +1 -1
  18. package/dist/daemon/client.js +122 -24
  19. package/dist/daemon/client.js.map +1 -1
  20. package/dist/daemon/config-view.d.ts +42 -0
  21. package/dist/daemon/config-view.d.ts.map +1 -0
  22. package/dist/daemon/config-view.js +159 -0
  23. package/dist/daemon/config-view.js.map +1 -0
  24. package/dist/daemon/dsh-sessions.d.ts +161 -0
  25. package/dist/daemon/dsh-sessions.d.ts.map +1 -0
  26. package/dist/daemon/dsh-sessions.js +674 -0
  27. package/dist/daemon/dsh-sessions.js.map +1 -0
  28. package/dist/daemon/dsh-tap/index.mjs +99 -0
  29. package/dist/daemon/dsh-tap-listener.d.ts +62 -0
  30. package/dist/daemon/dsh-tap-listener.d.ts.map +1 -0
  31. package/dist/daemon/dsh-tap-listener.js +196 -0
  32. package/dist/daemon/dsh-tap-listener.js.map +1 -0
  33. package/dist/daemon/jobs.d.ts +8 -5
  34. package/dist/daemon/jobs.d.ts.map +1 -1
  35. package/dist/daemon/jobs.js +28 -8
  36. package/dist/daemon/jobs.js.map +1 -1
  37. package/dist/daemon/runtime-config.d.ts +34 -0
  38. package/dist/daemon/runtime-config.d.ts.map +1 -0
  39. package/dist/daemon/runtime-config.js +347 -0
  40. package/dist/daemon/runtime-config.js.map +1 -0
  41. package/dist/daemon/runtime.d.ts +49 -0
  42. package/dist/daemon/runtime.d.ts.map +1 -0
  43. package/dist/daemon/runtime.js +218 -0
  44. package/dist/daemon/runtime.js.map +1 -0
  45. package/dist/daemon/sessions.d.ts +26 -0
  46. package/dist/daemon/sessions.d.ts.map +1 -0
  47. package/dist/daemon/sessions.js +169 -0
  48. package/dist/daemon/sessions.js.map +1 -0
  49. package/dist/daemon/workspace.d.ts +5 -0
  50. package/dist/daemon/workspace.d.ts.map +1 -0
  51. package/dist/daemon/workspace.js +44 -0
  52. package/dist/daemon/workspace.js.map +1 -0
  53. package/dist/install/adapters/deepseek.d.ts +4 -0
  54. package/dist/install/adapters/deepseek.d.ts.map +1 -1
  55. package/dist/install/adapters/deepseek.js +4 -2
  56. package/dist/install/adapters/deepseek.js.map +1 -1
  57. package/dist/inventory/common.d.ts +2 -0
  58. package/dist/inventory/common.d.ts.map +1 -1
  59. package/dist/inventory/common.js.map +1 -1
  60. package/dist/inventory/runtime.d.ts +40 -0
  61. package/dist/inventory/runtime.d.ts.map +1 -0
  62. package/dist/inventory/runtime.js +114 -0
  63. package/dist/inventory/runtime.js.map +1 -0
  64. package/dist/inventory/scanners/claude-code.d.ts +2 -0
  65. package/dist/inventory/scanners/claude-code.d.ts.map +1 -1
  66. package/dist/inventory/scanners/claude-code.js +103 -39
  67. package/dist/inventory/scanners/claude-code.js.map +1 -1
  68. package/package.json +6 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-ledger.js","sourceRoot":"","sources":["../../src/daemon/adapter-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAmCjC,kEAAkE;AAClE,MAAM,OAAO,GAAG,wBAAwB,CAAC;AAEzC,mFAAmF;AACnF,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,KAAyB;IAC7E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,aAAa,OAAO,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC;IAC1B,aAAa,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzD,mEAAmE;IACnE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,4EAA4E;AAC5E,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IACE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;QAClC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QAClB,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ;QACpC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ;QACrC,OAAO,MAAM,CAAC,eAAe,CAAC,KAAK,QAAQ;QAC3C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,EACvC,CAAC;QACD,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,oDAAoD;IACjE,CAAC;IACD,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACrC,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,CAAC,SAAS,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,yCAAyC;QACrD,CAAC;QACD,sEAAsE;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAO,GAAG,IAAI;IAC3D,MAAM,GAAG,GAAG,CAAC,CAAiB,EAAQ,EAAE;QACtC,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,KAAK,EAAE,CAAC;IACV,GAAG,CAAC,SAAS,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,aAAqB;IACtD,IAAI,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,aAAa,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QAChD,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI;YAAE,SAAS;QAC7D,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IACD,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC"}
@@ -1,13 +1,38 @@
1
1
  import type { Socket } from 'socket.io-client';
2
- import { type AcpToolCallView, type ChatStreamEvent } from '@harness-nexus/shared';
2
+ import { type AcpToolCallView, type ChatStreamEvent, type SessionConfigOption, type SessionModeState } from '@harness-nexus/shared';
3
3
  export interface ChatHandlersOptions {
4
4
  /** Env source for `HN_ACP_COMMAND_<TARGET>` overrides (defaults to process.env). */
5
5
  env?: NodeJS.ProcessEnv;
6
6
  /** Extra env for the adapter subprocess. */
7
7
  spawnEnv?: NodeJS.ProcessEnv;
8
+ /** Overridable for tests (transcript lookup on dsh resume). */
9
+ homeDir?: string;
10
+ /**
11
+ * 9 W11 A — adapter-ledger audit cadence in ms (default 60s). The audit is
12
+ * the only runtime remover of ledger files; 0 disables it (tests that
13
+ * assert file lifetimes drive `auditAdapterLedger` directly).
14
+ */
15
+ auditIntervalMs?: number;
8
16
  }
9
17
  export declare function attachChatHandlers(socket: Socket, opts?: ChatHandlersOptions): void;
10
18
  type UnknownRecord = Record<string, unknown>;
19
+ /**
20
+ * 9 W9 A — validate an adapter's `configOptions` array down to the
21
+ * platform's bounded view: only `type:'select'` rows survive (the three
22
+ * shipped adapters expose mode/model/effort as selects; boolean options from
23
+ * future adapters are dropped rather than half-surfaced). Null = nothing
24
+ * usable in the payload.
25
+ */
26
+ export declare function takeConfigOptions(raw: unknown): SessionConfigOption[] | null;
27
+ /**
28
+ * 9 W9 A — the session-config slice of an establishment response
29
+ * (`session/new` / `load` / `resume`): `modes` + `configOptions`, each
30
+ * independently validated. Null = the adapter advertised nothing usable.
31
+ */
32
+ export declare function takeSessionConfig(result: unknown): {
33
+ modes?: SessionModeState;
34
+ options: SessionConfigOption[];
35
+ } | null;
11
36
  /** Map one ACP `session/update` params object; null = drop (user echo). */
12
37
  export declare function mapAcpUpdate(params: UnknownRecord): ChatStreamEvent | null;
13
38
  /** Extract display text from an ACP ContentBlock chunk. */
@@ -16,7 +41,13 @@ export declare function textOf(contentBlock: unknown): string;
16
41
  * Defensive view of an ACP ToolCallUpdate: shared-schema-validated, falling
17
42
  * back to the bare id when an adapter sends something malformed (the server
18
43
  * re-validates everything crossing the wire).
44
+ *
45
+ * 9 W6 enrichment: carries `toolName` (the card registry key — from the
46
+ * update itself or the Claude `_meta.claudeCode.toolName` on the envelope),
47
+ * `rawInput` (dropped when oversized — Write-style file bodies), structured
48
+ * `content` (diff/text/terminal items), and the `rawOutput` text — the rich
49
+ * tool cards' rendering inputs.
19
50
  */
20
- export declare function toolCallView(toolCallUpdate: unknown): AcpToolCallView;
51
+ export declare function toolCallView(toolCallUpdate: unknown, metaToolName?: string): AcpToolCallView;
21
52
  export {};
22
53
  //# sourceMappingURL=chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/daemon/chat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EASL,KAAK,eAAe,EACpB,KAAK,eAAe,EAErB,MAAM,uBAAuB,CAAC;AA0B/B,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAC9B;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB,GAAG,IAAI,CA2JvF;AA6ED,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,GAAG,IAAI,CAyB1E;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,CAgBpD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,OAAO,GAAG,eAAe,CAKrE"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/daemon/chat.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAeL,KAAK,eAAe,EACpB,KAAK,eAAe,EAGpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAsJ/B,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC7B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB,GAAG,IAAI,CAoqBvF;AAwQD,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,EAAE,GAAG,IAAI,CAW5E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,GACd;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAAG,IAAI,CASrE;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,GAAG,IAAI,CAmE1E;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,CAgBpD;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,eAAe,CAK5F"}