@aria-cli/tools 1.0.11 → 1.0.13

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 (231) hide show
  1. package/dist-cjs/index.js +400 -436
  2. package/dist-cjs/network-runtime/index.js +8 -173
  3. package/package.json +6 -6
  4. package/dist-cjs/ask-user-interaction.js +0 -28
  5. package/dist-cjs/ask-user-interaction.js.map +0 -1
  6. package/dist-cjs/cache/web-cache.js +0 -71
  7. package/dist-cjs/cache/web-cache.js.map +0 -1
  8. package/dist-cjs/definitions/arion.js +0 -108
  9. package/dist-cjs/definitions/arion.js.map +0 -1
  10. package/dist-cjs/definitions/browser/browser.js +0 -422
  11. package/dist-cjs/definitions/browser/browser.js.map +0 -1
  12. package/dist-cjs/definitions/browser/index.js +0 -9
  13. package/dist-cjs/definitions/browser/index.js.map +0 -1
  14. package/dist-cjs/definitions/browser/pw-downloads.js +0 -118
  15. package/dist-cjs/definitions/browser/pw-downloads.js.map +0 -1
  16. package/dist-cjs/definitions/browser/pw-interactions.js +0 -214
  17. package/dist-cjs/definitions/browser/pw-interactions.js.map +0 -1
  18. package/dist-cjs/definitions/browser/pw-responses.js +0 -85
  19. package/dist-cjs/definitions/browser/pw-responses.js.map +0 -1
  20. package/dist-cjs/definitions/browser/pw-session.js +0 -327
  21. package/dist-cjs/definitions/browser/pw-session.js.map +0 -1
  22. package/dist-cjs/definitions/browser/pw-shared.js +0 -73
  23. package/dist-cjs/definitions/browser/pw-shared.js.map +0 -1
  24. package/dist-cjs/definitions/browser/pw-snapshot.js +0 -308
  25. package/dist-cjs/definitions/browser/pw-snapshot.js.map +0 -1
  26. package/dist-cjs/definitions/browser/pw-state.js +0 -71
  27. package/dist-cjs/definitions/browser/pw-state.js.map +0 -1
  28. package/dist-cjs/definitions/browser/types.js +0 -6
  29. package/dist-cjs/definitions/browser/types.js.map +0 -1
  30. package/dist-cjs/definitions/code-intelligence.js +0 -474
  31. package/dist-cjs/definitions/code-intelligence.js.map +0 -1
  32. package/dist-cjs/definitions/core.js +0 -134
  33. package/dist-cjs/definitions/core.js.map +0 -1
  34. package/dist-cjs/definitions/delegation.js +0 -516
  35. package/dist-cjs/definitions/delegation.js.map +0 -1
  36. package/dist-cjs/definitions/deploy.js +0 -69
  37. package/dist-cjs/definitions/deploy.js.map +0 -1
  38. package/dist-cjs/definitions/filesystem.js +0 -200
  39. package/dist-cjs/definitions/filesystem.js.map +0 -1
  40. package/dist-cjs/definitions/frg.js +0 -67
  41. package/dist-cjs/definitions/frg.js.map +0 -1
  42. package/dist-cjs/definitions/index.js +0 -44
  43. package/dist-cjs/definitions/index.js.map +0 -1
  44. package/dist-cjs/definitions/memory.js +0 -127
  45. package/dist-cjs/definitions/memory.js.map +0 -1
  46. package/dist-cjs/definitions/messaging.js +0 -632
  47. package/dist-cjs/definitions/messaging.js.map +0 -1
  48. package/dist-cjs/definitions/meta.js +0 -353
  49. package/dist-cjs/definitions/meta.js.map +0 -1
  50. package/dist-cjs/definitions/network.js +0 -163
  51. package/dist-cjs/definitions/network.js.map +0 -1
  52. package/dist-cjs/definitions/outlook.js +0 -281
  53. package/dist-cjs/definitions/outlook.js.map +0 -1
  54. package/dist-cjs/definitions/patch/apply-patch.js +0 -192
  55. package/dist-cjs/definitions/patch/apply-patch.js.map +0 -1
  56. package/dist-cjs/definitions/patch/fuzzy-match.js +0 -173
  57. package/dist-cjs/definitions/patch/fuzzy-match.js.map +0 -1
  58. package/dist-cjs/definitions/patch/index.js +0 -6
  59. package/dist-cjs/definitions/patch/index.js.map +0 -1
  60. package/dist-cjs/definitions/patch/patch-parser.js +0 -216
  61. package/dist-cjs/definitions/patch/patch-parser.js.map +0 -1
  62. package/dist-cjs/definitions/patch/sandbox-paths.js +0 -114
  63. package/dist-cjs/definitions/patch/sandbox-paths.js.map +0 -1
  64. package/dist-cjs/definitions/process/index.js +0 -9
  65. package/dist-cjs/definitions/process/index.js.map +0 -1
  66. package/dist-cjs/definitions/process/process-registry.js +0 -232
  67. package/dist-cjs/definitions/process/process-registry.js.map +0 -1
  68. package/dist-cjs/definitions/process/process.js +0 -390
  69. package/dist-cjs/definitions/process/process.js.map +0 -1
  70. package/dist-cjs/definitions/process/pty-keys.js +0 -260
  71. package/dist-cjs/definitions/process/pty-keys.js.map +0 -1
  72. package/dist-cjs/definitions/process/session-slug.js +0 -146
  73. package/dist-cjs/definitions/process/session-slug.js.map +0 -1
  74. package/dist-cjs/definitions/quip.js +0 -199
  75. package/dist-cjs/definitions/quip.js.map +0 -1
  76. package/dist-cjs/definitions/search.js +0 -64
  77. package/dist-cjs/definitions/search.js.map +0 -1
  78. package/dist-cjs/definitions/session-history.js +0 -73
  79. package/dist-cjs/definitions/session-history.js.map +0 -1
  80. package/dist-cjs/definitions/shell.js +0 -185
  81. package/dist-cjs/definitions/shell.js.map +0 -1
  82. package/dist-cjs/definitions/slack.js +0 -184
  83. package/dist-cjs/definitions/slack.js.map +0 -1
  84. package/dist-cjs/definitions/web.js +0 -113
  85. package/dist-cjs/definitions/web.js.map +0 -1
  86. package/dist-cjs/executors/apply-patch.js +0 -939
  87. package/dist-cjs/executors/apply-patch.js.map +0 -1
  88. package/dist-cjs/executors/arion.js +0 -126
  89. package/dist-cjs/executors/arion.js.map +0 -1
  90. package/dist-cjs/executors/code-intelligence.js +0 -926
  91. package/dist-cjs/executors/code-intelligence.js.map +0 -1
  92. package/dist-cjs/executors/deploy.js +0 -870
  93. package/dist-cjs/executors/deploy.js.map +0 -1
  94. package/dist-cjs/executors/filesystem.js +0 -1168
  95. package/dist-cjs/executors/filesystem.js.map +0 -1
  96. package/dist-cjs/executors/frg-freshness.js +0 -628
  97. package/dist-cjs/executors/frg-freshness.js.map +0 -1
  98. package/dist-cjs/executors/frg.js +0 -335
  99. package/dist-cjs/executors/frg.js.map +0 -1
  100. package/dist-cjs/executors/index.js +0 -144
  101. package/dist-cjs/executors/index.js.map +0 -1
  102. package/dist-cjs/executors/learning-meta.js +0 -1166
  103. package/dist-cjs/executors/learning-meta.js.map +0 -1
  104. package/dist-cjs/executors/lsp-client.js +0 -311
  105. package/dist-cjs/executors/lsp-client.js.map +0 -1
  106. package/dist-cjs/executors/memory.js +0 -797
  107. package/dist-cjs/executors/memory.js.map +0 -1
  108. package/dist-cjs/executors/meta.js +0 -227
  109. package/dist-cjs/executors/meta.js.map +0 -1
  110. package/dist-cjs/executors/process-registry.js +0 -470
  111. package/dist-cjs/executors/process-registry.js.map +0 -1
  112. package/dist-cjs/executors/pty-session-store.js +0 -35
  113. package/dist-cjs/executors/pty-session-store.js.map +0 -1
  114. package/dist-cjs/executors/pty.js +0 -313
  115. package/dist-cjs/executors/pty.js.map +0 -1
  116. package/dist-cjs/executors/restart.js +0 -156
  117. package/dist-cjs/executors/restart.js.map +0 -1
  118. package/dist-cjs/executors/search-freshness.js +0 -235
  119. package/dist-cjs/executors/search-freshness.js.map +0 -1
  120. package/dist-cjs/executors/search-types.js +0 -57
  121. package/dist-cjs/executors/search-types.js.map +0 -1
  122. package/dist-cjs/executors/search.js +0 -103
  123. package/dist-cjs/executors/search.js.map +0 -1
  124. package/dist-cjs/executors/self-diagnose.js +0 -435
  125. package/dist-cjs/executors/self-diagnose.js.map +0 -1
  126. package/dist-cjs/executors/session-history.js +0 -321
  127. package/dist-cjs/executors/session-history.js.map +0 -1
  128. package/dist-cjs/executors/shell-safety.js +0 -479
  129. package/dist-cjs/executors/shell-safety.js.map +0 -1
  130. package/dist-cjs/executors/shell.js +0 -1002
  131. package/dist-cjs/executors/shell.js.map +0 -1
  132. package/dist-cjs/executors/utils.js +0 -74
  133. package/dist-cjs/executors/utils.js.map +0 -1
  134. package/dist-cjs/executors/web.js +0 -548
  135. package/dist-cjs/executors/web.js.map +0 -1
  136. package/dist-cjs/extraction/content-extraction.js +0 -244
  137. package/dist-cjs/extraction/content-extraction.js.map +0 -1
  138. package/dist-cjs/extraction/index.js +0 -9
  139. package/dist-cjs/extraction/index.js.map +0 -1
  140. package/dist-cjs/headless-control-contract.js +0 -973
  141. package/dist-cjs/headless-control-contract.js.map +0 -1
  142. package/dist-cjs/index.js.map +0 -1
  143. package/dist-cjs/local-control-http-auth.js +0 -6
  144. package/dist-cjs/local-control-http-auth.js.map +0 -1
  145. package/dist-cjs/mcp/client.js +0 -186
  146. package/dist-cjs/mcp/client.js.map +0 -1
  147. package/dist-cjs/mcp/connection.js +0 -485
  148. package/dist-cjs/mcp/connection.js.map +0 -1
  149. package/dist-cjs/mcp/index.js +0 -31
  150. package/dist-cjs/mcp/index.js.map +0 -1
  151. package/dist-cjs/mcp/jsonrpc.js +0 -149
  152. package/dist-cjs/mcp/jsonrpc.js.map +0 -1
  153. package/dist-cjs/mcp/types.js +0 -9
  154. package/dist-cjs/mcp/types.js.map +0 -1
  155. package/dist-cjs/network-control-adapter.js +0 -78
  156. package/dist-cjs/network-control-adapter.js.map +0 -1
  157. package/dist-cjs/network-runtime/address-types.js +0 -169
  158. package/dist-cjs/network-runtime/address-types.js.map +0 -1
  159. package/dist-cjs/network-runtime/db-owner-fencing.js +0 -77
  160. package/dist-cjs/network-runtime/db-owner-fencing.js.map +0 -1
  161. package/dist-cjs/network-runtime/delivery-receipts.js +0 -277
  162. package/dist-cjs/network-runtime/delivery-receipts.js.map +0 -1
  163. package/dist-cjs/network-runtime/direct-endpoint-authority.js +0 -30
  164. package/dist-cjs/network-runtime/direct-endpoint-authority.js.map +0 -1
  165. package/dist-cjs/network-runtime/index.js.map +0 -1
  166. package/dist-cjs/network-runtime/local-control-contract.js +0 -634
  167. package/dist-cjs/network-runtime/local-control-contract.js.map +0 -1
  168. package/dist-cjs/network-runtime/node-store-contract.js +0 -39
  169. package/dist-cjs/network-runtime/node-store-contract.js.map +0 -1
  170. package/dist-cjs/network-runtime/pair-route-contract.js +0 -81
  171. package/dist-cjs/network-runtime/pair-route-contract.js.map +0 -1
  172. package/dist-cjs/network-runtime/peer-capabilities.js +0 -38
  173. package/dist-cjs/network-runtime/peer-capabilities.js.map +0 -1
  174. package/dist-cjs/network-runtime/peer-principal-ref.js +0 -16
  175. package/dist-cjs/network-runtime/peer-principal-ref.js.map +0 -1
  176. package/dist-cjs/network-runtime/peer-state-machine.js +0 -130
  177. package/dist-cjs/network-runtime/peer-state-machine.js.map +0 -1
  178. package/dist-cjs/network-runtime/protocol-schemas.js +0 -213
  179. package/dist-cjs/network-runtime/protocol-schemas.js.map +0 -1
  180. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +0 -64
  181. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js.map +0 -1
  182. package/dist-cjs/outlook/desktop-session.js +0 -319
  183. package/dist-cjs/outlook/desktop-session.js.map +0 -1
  184. package/dist-cjs/policy.js +0 -156
  185. package/dist-cjs/policy.js.map +0 -1
  186. package/dist-cjs/providers/brave.js +0 -67
  187. package/dist-cjs/providers/brave.js.map +0 -1
  188. package/dist-cjs/providers/duckduckgo.js +0 -181
  189. package/dist-cjs/providers/duckduckgo.js.map +0 -1
  190. package/dist-cjs/providers/exa.js +0 -68
  191. package/dist-cjs/providers/exa.js.map +0 -1
  192. package/dist-cjs/providers/firecrawl.js +0 -60
  193. package/dist-cjs/providers/firecrawl.js.map +0 -1
  194. package/dist-cjs/providers/index.js +0 -18
  195. package/dist-cjs/providers/index.js.map +0 -1
  196. package/dist-cjs/providers/jina.js +0 -54
  197. package/dist-cjs/providers/jina.js.map +0 -1
  198. package/dist-cjs/providers/router.js +0 -101
  199. package/dist-cjs/providers/router.js.map +0 -1
  200. package/dist-cjs/providers/search-provider.js +0 -37
  201. package/dist-cjs/providers/search-provider.js.map +0 -1
  202. package/dist-cjs/providers/tavily.js +0 -59
  203. package/dist-cjs/providers/tavily.js.map +0 -1
  204. package/dist-cjs/quip/desktop-session.js +0 -354
  205. package/dist-cjs/quip/desktop-session.js.map +0 -1
  206. package/dist-cjs/registry/index.js +0 -7
  207. package/dist-cjs/registry/index.js.map +0 -1
  208. package/dist-cjs/registry/registry.js +0 -762
  209. package/dist-cjs/registry/registry.js.map +0 -1
  210. package/dist-cjs/runtime-socket-local-control-client.js +0 -368
  211. package/dist-cjs/runtime-socket-local-control-client.js.map +0 -1
  212. package/dist-cjs/security/dns-normalization.js +0 -23
  213. package/dist-cjs/security/dns-normalization.js.map +0 -1
  214. package/dist-cjs/security/dns-pinning.js +0 -161
  215. package/dist-cjs/security/dns-pinning.js.map +0 -1
  216. package/dist-cjs/security/external-content.js +0 -96
  217. package/dist-cjs/security/external-content.js.map +0 -1
  218. package/dist-cjs/security/ssrf.js +0 -222
  219. package/dist-cjs/security/ssrf.js.map +0 -1
  220. package/dist-cjs/slack/desktop-session.js +0 -367
  221. package/dist-cjs/slack/desktop-session.js.map +0 -1
  222. package/dist-cjs/tool-factory.js +0 -51
  223. package/dist-cjs/tool-factory.js.map +0 -1
  224. package/dist-cjs/types.js +0 -9
  225. package/dist-cjs/types.js.map +0 -1
  226. package/dist-cjs/utils/retry.js +0 -170
  227. package/dist-cjs/utils/retry.js.map +0 -1
  228. package/dist-cjs/utils/safe-parse-json.js +0 -165
  229. package/dist-cjs/utils/safe-parse-json.js.map +0 -1
  230. package/dist-cjs/utils/url.js +0 -24
  231. package/dist-cjs/utils/url.js.map +0 -1
@@ -1,321 +0,0 @@
1
- "use strict";
2
- /**
3
- * @aria/tools - Session History tool executor
4
- *
5
- * Implementation of session history operations for ARIA tool system.
6
- * Provides list, search, get, current, stats, delete, and set_title actions
7
- * against the SessionHistory SQLite database.
8
- */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || (function () {
26
- var ownKeys = function(o) {
27
- ownKeys = Object.getOwnPropertyNames || function (o) {
28
- var ar = [];
29
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
- return ar;
31
- };
32
- return ownKeys(o);
33
- };
34
- return function (mod) {
35
- if (mod && mod.__esModule) return mod;
36
- var result = {};
37
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- })();
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.getSessionHistory = getSessionHistory;
44
- exports.executeSessionHistory = executeSessionHistory;
45
- const os = __importStar(require("node:os"));
46
- const path = __importStar(require("node:path"));
47
- const utils_js_1 = require("./utils.js");
48
- // ============================================================================
49
- // Helpers
50
- // ============================================================================
51
- /** Max content length per message in 'get' output to prevent context blowout */
52
- const MAX_MESSAGE_CONTENT_LENGTH = 2000;
53
- /**
54
- * Cached fallback SessionHistory instance — created once per process via
55
- * dynamic import of @aria/cli's SessionHistory class. This avoids a hard
56
- * package dependency (tools → cli) while still giving the tool access to
57
- * the real SQLite history DB when ctx.sessionHistory isn't wired through.
58
- */
59
- /** Cached fallback SessionHistory — resolved once per process via dynamic import. */
60
- let _fallbackSessionHistory;
61
- let _fallbackPromise = null;
62
- async function resolveFallbackSessionHistory() {
63
- if (_fallbackSessionHistory !== undefined)
64
- return _fallbackSessionHistory;
65
- if (_fallbackPromise)
66
- return _fallbackPromise;
67
- _fallbackPromise = (async () => {
68
- try {
69
- // Dynamic import of @aria/cli (optionalDependency, ESM-only).
70
- // Using a variable prevents TS from resolving the specifier statically
71
- // and from downleveling to require() in CJS output.
72
- const _specifier = "@aria-cli/cli";
73
- const mod = (await Promise.resolve(`${_specifier}`).then(s => __importStar(require(s))));
74
- const SessionHistory = mod.SessionHistory;
75
- const ariaHome = process.env.ARIA_HOME ?? path.join(os.homedir(), ".aria");
76
- // Determine active arion from config or default to "ARIA"
77
- let arionName = "ARIA";
78
- try {
79
- const { readFileSync, existsSync } = await Promise.resolve().then(() => __importStar(require("node:fs")));
80
- const configPath = path.join(ariaHome, "config.json");
81
- if (existsSync(configPath)) {
82
- const raw = JSON.parse(readFileSync(configPath, "utf-8"));
83
- if (raw.activeArion)
84
- arionName = raw.activeArion;
85
- }
86
- }
87
- catch {
88
- // Ignore config read errors
89
- }
90
- const dbPath = SessionHistory.resolvePerArionPath(ariaHome, arionName);
91
- _fallbackSessionHistory = new SessionHistory(dbPath);
92
- return _fallbackSessionHistory;
93
- }
94
- catch {
95
- // @aria/cli not available (e.g. isolated worker) — no fallback
96
- _fallbackSessionHistory = null;
97
- return null;
98
- }
99
- })();
100
- return _fallbackPromise;
101
- }
102
- /**
103
- * Get the SessionHistoryRef — from ToolContext if wired, otherwise create
104
- * a fallback instance by dynamically importing @aria/cli's SessionHistory.
105
- */
106
- async function getSessionHistory(ctx) {
107
- if (ctx.sessionHistory)
108
- return ctx.sessionHistory;
109
- return resolveFallbackSessionHistory();
110
- }
111
- function formatSessions(sessions) {
112
- return sessions.map((s) => ({
113
- id: s.id,
114
- title: s.title,
115
- arion: s.arion,
116
- model: s.model,
117
- messageCount: s.messageCount,
118
- updatedAt: s.updatedAt.toISOString(),
119
- completedAt: s.completedAt?.toISOString(),
120
- preview: s.preview,
121
- }));
122
- }
123
- function truncateContent(content, max) {
124
- if (content.length <= max)
125
- return content;
126
- return content.slice(0, max - 3) + "...";
127
- }
128
- function resolveSessionId(sh, rawId) {
129
- // Try exact match first (full UUID), then prefix
130
- if (rawId.length === 36) {
131
- const session = sh.getSession(rawId);
132
- return session ? rawId : null;
133
- }
134
- return sh.findSessionByPrefix(rawId);
135
- }
136
- // ============================================================================
137
- // Main Executor
138
- // ============================================================================
139
- /**
140
- * Execute a session_history action.
141
- */
142
- async function executeSessionHistory(input, ctx) {
143
- if (ctx.abortSignal?.aborted)
144
- return (0, utils_js_1.fail)("Operation cancelled");
145
- if (!input.action) {
146
- return (0, utils_js_1.fail)("action is required. Valid actions: list, search, get, current, stats, delete, set_title");
147
- }
148
- const sh = await getSessionHistory(ctx);
149
- if (!sh) {
150
- return (0, utils_js_1.fail)("Session history is not available in this context");
151
- }
152
- try {
153
- switch (input.action) {
154
- case "list":
155
- return executeList(input, sh);
156
- case "search":
157
- return executeSearch(input, sh);
158
- case "get":
159
- return executeGet(input, sh);
160
- case "current":
161
- return executeCurrent(ctx, sh);
162
- case "stats":
163
- return executeStats(sh);
164
- case "delete":
165
- return executeDelete(input, sh);
166
- case "set_title":
167
- return executeSetTitle(input, sh);
168
- default:
169
- return (0, utils_js_1.fail)(`Unknown action "${input.action}". Valid actions: list, search, get, current, stats, delete, set_title`);
170
- }
171
- }
172
- catch (err) {
173
- return (0, utils_js_1.fail)((0, utils_js_1.getErrorMessage)(err));
174
- }
175
- }
176
- // ============================================================================
177
- // Action Implementations
178
- // ============================================================================
179
- function executeList(input, sh) {
180
- const limit = input.limit ?? 20;
181
- const offset = input.offset ?? 0;
182
- const sessions = sh.listSessions(limit, offset);
183
- const formatted = formatSessions(sessions);
184
- const output = {
185
- sessions: formatted,
186
- total: formatted.length,
187
- limit,
188
- offset,
189
- };
190
- if (formatted.length === 0) {
191
- return (0, utils_js_1.success)("No sessions found", output);
192
- }
193
- const summaryLines = formatted.map((s) => `• ${s.id.slice(0, 8)}… | ${s.title || "(untitled)"} | ${s.messageCount} msgs | ${s.arion} | ${s.updatedAt.slice(0, 10)}`);
194
- return (0, utils_js_1.success)(`Found ${formatted.length} session(s):\n${summaryLines.join("\n")}`, output);
195
- }
196
- function executeSearch(input, sh) {
197
- if (!input.query || input.query.trim() === "") {
198
- return (0, utils_js_1.fail)("query is required for 'search' action");
199
- }
200
- const limit = input.limit ?? 20;
201
- const offset = input.offset ?? 0;
202
- const sessions = sh.searchSessionsFts(input.query, limit, offset);
203
- const formatted = formatSessions(sessions);
204
- const output = {
205
- sessions: formatted,
206
- total: formatted.length,
207
- limit,
208
- offset,
209
- };
210
- if (formatted.length === 0) {
211
- return (0, utils_js_1.success)(`No sessions found matching "${input.query}"`, output);
212
- }
213
- const summaryLines = formatted.map((s) => `• ${s.id.slice(0, 8)}… | ${s.title || "(untitled)"} | ${s.messageCount} msgs | ${s.arion} | ${s.updatedAt.slice(0, 10)}`);
214
- return (0, utils_js_1.success)(`Found ${formatted.length} session(s) matching "${input.query}":\n${summaryLines.join("\n")}`, output);
215
- }
216
- function executeGet(input, sh) {
217
- if (!input.sessionId || input.sessionId.trim() === "") {
218
- return (0, utils_js_1.fail)("sessionId is required for 'get' action");
219
- }
220
- const resolvedId = resolveSessionId(sh, input.sessionId);
221
- if (!resolvedId) {
222
- return (0, utils_js_1.fail)(`Session not found for ID/prefix "${input.sessionId}"`);
223
- }
224
- const session = sh.getSession(resolvedId);
225
- if (!session) {
226
- return (0, utils_js_1.fail)(`Session ${resolvedId} not found`);
227
- }
228
- const messageLimit = input.messageLimit ?? 50;
229
- // Take the last N messages to avoid context blowout
230
- const messagesSlice = session.messages.slice(-messageLimit);
231
- const formattedMessages = messagesSlice.map((m) => ({
232
- role: m.role,
233
- content: truncateContent(m.content, MAX_MESSAGE_CONTENT_LENGTH),
234
- createdAt: m.createdAt.toISOString(),
235
- toolCallId: m.toolCallId,
236
- }));
237
- // Also fetch metrics if available (getRunMetrics may not exist on all impls)
238
- let metrics;
239
- try {
240
- const rawMetrics = sh.getRunMetrics?.(resolvedId) ?? [];
241
- metrics =
242
- rawMetrics.length > 0
243
- ? rawMetrics.map((rm) => ({
244
- turnCount: rm.turnCount,
245
- inputTokens: rm.inputTokens,
246
- outputTokens: rm.outputTokens,
247
- estimatedCost: rm.estimatedCost,
248
- wallTimeMs: rm.wallTimeMs,
249
- }))
250
- : undefined;
251
- }
252
- catch {
253
- // Non-critical — metrics may not be available
254
- }
255
- const output = {
256
- id: session.id,
257
- arion: session.arion,
258
- model: session.model,
259
- messageCount: session.messages.length,
260
- messages: formattedMessages,
261
- metrics,
262
- };
263
- const truncNote = session.messages.length > messageLimit
264
- ? ` (showing last ${messageLimit} of ${session.messages.length})`
265
- : "";
266
- return (0, utils_js_1.success)(`Session ${session.id.slice(0, 8)}… | ${session.arion} | ${session.model} | ${session.messages.length} messages${truncNote}`, output);
267
- }
268
- function executeCurrent(ctx, sh) {
269
- if (!ctx.currentSessionId) {
270
- return (0, utils_js_1.fail)("No current session ID available");
271
- }
272
- const output = {
273
- sessionId: ctx.currentSessionId,
274
- };
275
- // Try to get session details if available
276
- const session = sh.getSession(ctx.currentSessionId);
277
- if (session) {
278
- return (0, utils_js_1.success)(`Current session: ${session.id.slice(0, 8)}… | ${session.arion} | ${session.model} | ${session.messages.length} messages`, {
279
- ...output,
280
- arion: session.arion,
281
- model: session.model,
282
- messageCount: session.messages.length,
283
- });
284
- }
285
- return (0, utils_js_1.success)(`Current session: ${ctx.currentSessionId}`, output);
286
- }
287
- function executeStats(sh) {
288
- const totalSessions = sh.getSessionCount?.() ?? 0;
289
- const incompleteSessions = (sh.getIncompleteSessions?.(1000) ?? []).length;
290
- const output = {
291
- totalSessions,
292
- incompleteSessions,
293
- };
294
- return (0, utils_js_1.success)(`Session stats: ${totalSessions} total, ${incompleteSessions} incomplete, ${totalSessions - incompleteSessions} completed`, output);
295
- }
296
- function executeDelete(input, sh) {
297
- if (!input.sessionId || input.sessionId.trim() === "") {
298
- return (0, utils_js_1.fail)("sessionId is required for 'delete' action");
299
- }
300
- const resolvedId = resolveSessionId(sh, input.sessionId);
301
- if (!resolvedId) {
302
- return (0, utils_js_1.fail)(`Session not found for ID/prefix "${input.sessionId}"`);
303
- }
304
- sh.deleteSession(resolvedId);
305
- return (0, utils_js_1.success)(`Deleted session ${resolvedId}`);
306
- }
307
- function executeSetTitle(input, sh) {
308
- if (!input.sessionId || input.sessionId.trim() === "") {
309
- return (0, utils_js_1.fail)("sessionId is required for 'set_title' action");
310
- }
311
- if (!input.title || input.title.trim() === "") {
312
- return (0, utils_js_1.fail)("title is required for 'set_title' action");
313
- }
314
- const resolvedId = resolveSessionId(sh, input.sessionId);
315
- if (!resolvedId) {
316
- return (0, utils_js_1.fail)(`Session not found for ID/prefix "${input.sessionId}"`);
317
- }
318
- sh.setSessionTitle(resolvedId, input.title);
319
- return (0, utils_js_1.success)(`Set title of session ${resolvedId.slice(0, 8)}… to "${input.title}"`);
320
- }
321
- //# sourceMappingURL=session-history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-history.js","sourceRoot":"","sources":["../../src/executors/session-history.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuJH,8CAGC;AAoCD,sDAyCC;AArOD,4CAA8B;AAC9B,gDAAkC;AAQlC,yCAA4D;AA6E5D,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,gFAAgF;AAChF,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC;;;;;GAKG;AACH,qFAAqF;AACrF,IAAI,uBAA6D,CAAC;AAClE,IAAI,gBAAgB,GAA6C,IAAI,CAAC;AAEtE,KAAK,UAAU,6BAA6B;IAC1C,IAAI,uBAAuB,KAAK,SAAS;QAAE,OAAO,uBAAuB,CAAC;IAC1E,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAE9C,gBAAgB,GAAG,CAAC,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC;YACH,8DAA8D;YAC9D,uEAAuE;YACvE,oDAAoD;YACpD,MAAM,UAAU,GAAG,eAAe,CAAC;YACnC,MAAM,GAAG,GAAG,CAAC,yBAAa,UAAU,uCAAC,CAKpC,CAAC;YACF,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;YAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YAC3E,0DAA0D;YAC1D,IAAI,SAAS,GAAG,MAAM,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,wDAAa,SAAS,GAAC,CAAC;gBAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACtD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA6B,CAAC;oBACtF,IAAI,GAAG,CAAC,WAAW;wBAAE,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC;gBACnD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;YACD,MAAM,MAAM,GAAG,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACvE,uBAAuB,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;YAC/D,uBAAuB,GAAG,IAAI,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CAAC,GAAgB;IACtD,IAAI,GAAG,CAAC,cAAc;QAAE,OAAO,GAAG,CAAC,cAAc,CAAC;IAClD,OAAO,6BAA6B,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,QAA6B;IACnD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;QACpC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE;QACzC,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,GAAW;IACnD,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAqB,EAAE,KAAa;IAC5D,iDAAiD;IACjD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;GAEG;AACI,KAAK,UAAU,qBAAqB,CACzC,KAA0B,EAC1B,GAAgB;IAEhB,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO;QAAE,OAAO,IAAA,eAAI,EAAC,qBAAqB,CAAC,CAAC;IAEjE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,IAAA,eAAI,EACT,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,IAAA,eAAI,EAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,KAAK,QAAQ;gBACX,OAAO,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,KAAK,KAAK;gBACR,OAAO,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/B,KAAK,SAAS;gBACZ,OAAO,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjC,KAAK,OAAO;gBACV,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1B,KAAK,QAAQ;gBACX,OAAO,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,KAAK,WAAW;gBACd,OAAO,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpC;gBACE,OAAO,IAAA,eAAI,EACT,mBAAmB,KAAK,CAAC,MAAM,wEAAwE,CACxG,CAAC;QACN,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,IAAA,eAAI,EAAC,IAAA,0BAAe,EAAC,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,SAAS,WAAW,CAAC,KAA0B,EAAE,EAAqB;IACpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAsB;QAChC,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,KAAK;QACL,MAAM;KACP,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAA,kBAAO,EAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAChC,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,YAAY,MAAM,CAAC,CAAC,YAAY,WAAW,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC5H,CAAC;IAEF,OAAO,IAAA,kBAAO,EAAC,SAAS,SAAS,CAAC,MAAM,iBAAiB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,aAAa,CAAC,KAA0B,EAAE,EAAqB;IACtE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,OAAO,IAAA,eAAI,EAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAsB;QAChC,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,KAAK;QACL,MAAM;KACP,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAA,kBAAO,EAAC,+BAA+B,KAAK,CAAC,KAAK,GAAG,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAChC,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,YAAY,MAAM,CAAC,CAAC,YAAY,WAAW,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC5H,CAAC;IAEF,OAAO,IAAA,kBAAO,EACZ,SAAS,SAAS,CAAC,MAAM,yBAAyB,KAAK,CAAC,KAAK,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC7F,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAA0B,EAAE,EAAqB;IACnE,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtD,OAAO,IAAA,eAAI,EAAC,wCAAwC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAA,eAAI,EAAC,oCAAoC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,OAAO,GAA6B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAA,eAAI,EAAC,WAAW,UAAU,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;IAE9C,oDAAoD;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,EAAE,0BAA0B,CAAC;QAC/D,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,CAAC,CAAC,UAAU;KACzB,CAAC,CAAC,CAAC;IAEJ,6EAA6E;IAC7E,IAAI,OAAoC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACxD,OAAO;YACL,UAAU,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACtB,SAAS,EAAE,EAAE,CAAC,SAAS;oBACvB,WAAW,EAAE,EAAE,CAAC,WAAW;oBAC3B,YAAY,EAAE,EAAE,CAAC,YAAY;oBAC7B,aAAa,EAAE,EAAE,CAAC,aAAa;oBAC/B,UAAU,EAAE,EAAE,CAAC,UAAU;iBAC1B,CAAC,CAAC;gBACL,CAAC,CAAC,SAAS,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,8CAA8C;IAChD,CAAC;IAED,MAAM,MAAM,GAAqB;QAC/B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QACrC,QAAQ,EAAE,iBAAiB;QAC3B,OAAO;KACR,CAAC;IAEF,MAAM,SAAS,GACb,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY;QACpC,CAAC,CAAC,kBAAkB,YAAY,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG;QACjE,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,IAAA,kBAAO,EACZ,WAAW,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,MAAM,OAAO,CAAC,KAAK,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,YAAY,SAAS,EAAE,EAC5H,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAgB,EAAE,EAAqB;IAC7D,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1B,OAAO,IAAA,eAAI,EAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAyB;QACnC,SAAS,EAAE,GAAG,CAAC,gBAAgB;KAChC,CAAC;IAEF,0CAA0C;IAC1C,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAA,kBAAO,EACZ,oBAAoB,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,MAAM,OAAO,CAAC,KAAK,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,WAAW,EACzH;YACE,GAAG,MAAM;YACT,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;SACtC,CACF,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,kBAAO,EAAC,oBAAoB,GAAG,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,YAAY,CAAC,EAAqB;IACzC,MAAM,aAAa,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,kBAAkB,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAE3E,MAAM,MAAM,GAAuB;QACjC,aAAa;QACb,kBAAkB;KACnB,CAAC;IAEF,OAAO,IAAA,kBAAO,EACZ,kBAAkB,aAAa,WAAW,kBAAkB,gBAAgB,aAAa,GAAG,kBAAkB,YAAY,EAC1H,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAA0B,EAAE,EAAqB;IACtE,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtD,OAAO,IAAA,eAAI,EAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAA,eAAI,EAAC,oCAAoC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7B,OAAO,IAAA,kBAAO,EAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAC,KAA0B,EAAE,EAAqB;IACxE,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtD,OAAO,IAAA,eAAI,EAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,OAAO,IAAA,eAAI,EAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAA,eAAI,EAAC,oCAAoC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,IAAA,kBAAO,EAAC,wBAAwB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AACxF,CAAC"}