@felan-ai/ext-rtk-optimizer 0.1.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,10 +19,12 @@ work.
19
19
  when ANSI stripping is enabled.
20
20
 
21
21
  Build, test, Git, and linter commands receive command-aware compaction. Search
22
- results can be grouped by file. A final character limit protects the context
23
- from unusually large command results. Lossy source filtering and smart
24
- truncation for `read` are disabled by default; explicit read ranges and reads
25
- of at most 80 lines stay exact even when read compaction is enabled.
22
+ results can be grouped by file. A final head-and-tail character limit protects
23
+ the context from unusually large command results and stores a recoverable copy
24
+ in session storage. Failed results retain their original evidence, and complete
25
+ JSON is never cut. Lossy source filtering and smart truncation for `read` are
26
+ disabled by default; explicit read ranges and reads of at most 80 lines stay
27
+ exact even when read compaction is enabled.
26
28
 
27
29
  ## Requirements
28
30
 
@@ -43,16 +45,13 @@ never runs during extension startup or from a model-initiated tool call.
43
45
 
44
46
  ## Configuration
45
47
 
46
- The extension stores portable agent-scoped configuration at:
48
+ The extension receives portable configuration from:
47
49
 
48
- ```text
49
- $FELAN_AGENT_DIR/storage/agent/rtk-optimizer/config.json
50
- ```
50
+ `extensionConfig.rtkOptimizer` in `$FELAN_AGENT_DIR/settings.json`.
51
51
 
52
- The file is created with safe defaults on first load. Root sessions and nested
53
- subagents share it. Invalid JSON, unknown fields, invalid types, and values
54
- outside the documented ranges fall back to defaults for that load and notify
55
- the extension host when it exposes a notification channel; the invalid file is
52
+ Root sessions and nested subagents receive the resolved snapshot. Invalid
53
+ fields, invalid types, and values outside the documented ranges stop activation
54
+ with a settings error; changes take effect in a new session. The invalid value is
56
55
  not overwritten.
57
56
 
58
57
  ```json
@@ -61,30 +60,22 @@ not overwritten.
61
60
  "mode": "rewrite",
62
61
  "guardWhenRtkMissing": true,
63
62
  "showRewriteNotifications": true,
64
- "outputCompaction": {
65
- "enabled": true,
66
- "stripAnsi": true,
67
- "readCompaction": {
68
- "enabled": false
69
- },
70
- "truncate": {
71
- "enabled": true,
72
- "maxChars": 12000
73
- },
74
- "sourceCodeFilteringEnabled": false,
75
- "preserveExactSkillReads": false,
76
- "sourceCodeFiltering": "none",
77
- "smartTruncate": {
78
- "enabled": false,
79
- "maxLines": 220
80
- },
81
- "aggregateTestOutput": true,
82
- "filterBuildOutput": true,
83
- "compactGitOutput": true,
84
- "aggregateLinterOutput": true,
85
- "groupSearchOutput": true,
86
- "trackSavings": true
87
- }
63
+ "compactionEnabled": true,
64
+ "stripAnsi": true,
65
+ "readCompaction": false,
66
+ "truncate": true,
67
+ "truncateMaxChars": 12000,
68
+ "sourceCodeFilteringEnabled": false,
69
+ "preserveExactSkillReads": false,
70
+ "sourceFiltering": "none",
71
+ "smartTruncate": false,
72
+ "smartTruncateMaxLines": 220,
73
+ "aggregateTestOutput": true,
74
+ "filterBuildOutput": true,
75
+ "compactGitOutput": true,
76
+ "aggregateLinterOutput": true,
77
+ "groupSearchOutput": true,
78
+ "trackSavings": true
88
79
  }
89
80
  ```
90
81
 
@@ -94,19 +85,26 @@ or `aggressive`. `truncate.maxChars` accepts 1,000–200,000 and
94
85
 
95
86
  ## Command
96
87
 
97
- Run `/rtk` to edit settings interactively. Subcommands are:
88
+ Run `/settings` to edit RTK settings interactively. `/rtk` provides operational
89
+ commands. Subcommands are:
98
90
 
99
91
  - `/rtk show`
100
- - `/rtk path`
101
92
  - `/rtk verify`
102
93
  - `/rtk install`
103
- - `/rtk stats`
104
- - `/rtk clear-stats`
105
- - `/rtk reset`
106
94
  - `/rtk help`
107
95
 
108
- Metrics are scoped to the current Felan extension session and reset at session
109
- start.
96
+ RTK and post-tool savings are reported to Felan's persistent savings service when the
97
+ host provides it. They report two distinct sequential stages: RTK command-output
98
+ optimization from an isolated session/model tracker, and Felan post-tool
99
+ compaction for every supported result. Both use bounded token estimates and are
100
+ reported as separate Felan-owned savings measurements; they are not added twice.
101
+ The session tracker is queried once per model shard during session shutdown and
102
+ then deleted. A crashed session can recover its unfinished tracker on resume;
103
+ rare duplicate or skipped indicative measurements are acceptable. The global RTK
104
+ history is never imported. RTK command-output captures use the
105
+ `rtk-tracking-byte4-v1` estimator and are available on POSIX runtimes; on
106
+ Windows, rewriting remains available but the isolated RTK gain capture is
107
+ skipped because the POSIX environment wrapper is not used.
110
108
 
111
109
  ## Development
112
110
 
@@ -124,4 +122,23 @@ pnpm --filter @felan-ai/ext-rtk-optimizer test
124
122
  ## Attribution
125
123
 
126
124
  This package adapts the MIT-licensed `pi-rtk-optimizer` 0.9.0 implementation.
127
- See [NOTICE](NOTICE) for source provenance.
125
+ See [NOTICE](NOTICE) and [LICENSE](LICENSE) for source provenance.
126
+
127
+ ## Package boundary and requirements
128
+
129
+ The extension owns rewrite decisions at the tool boundary, command/result
130
+ association, output compaction, configuration validation, and savings metrics.
131
+ The host supplies `AgentRuntime`, the agent-scoped storage root, interactive
132
+ settings presentation, and explicit installation policy. Output compaction can
133
+ operate without the executable; command rewriting requires a compatible `rtk`
134
+ on the active runtime.
135
+
136
+ It requires a compatible `@felan-ai/agent-core` peer. Managed installation is
137
+ explicit, digest-verified, and never runs during startup or a model tool call.
138
+ Lossy read compaction remains opt-in and explicit ranges remain exact.
139
+
140
+ ## Related documentation
141
+
142
+ - [Configuration](../../docs/user-guide/configuration.md#rtk)
143
+ - [Commands and shortcuts](../../docs/user-guide/commands-and-shortcuts.md)
144
+ - [Runtime dependencies](../../docs/reference/runtime-dependencies.md)
package/dist/command.d.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  import type { FelanExtensionAPI } from '@felan-ai/agent-core';
2
- import { type RtkOptimizerConfig, type RuntimeStatus } from './types.js';
2
+ import type { RtkOptimizerConfig, RuntimeStatus } from './types.js';
3
3
  export interface RtkOptimizerController {
4
4
  getConfig(): RtkOptimizerConfig;
5
- setConfig(config: RtkOptimizerConfig): Promise<void>;
6
5
  getRuntimeStatus(): RuntimeStatus;
7
6
  refreshRuntimeStatus(): Promise<RuntimeStatus>;
8
7
  install(onStatus: (message: string) => void): Promise<RuntimeStatus>;
9
- getMetricsSummary(): string;
10
- clearMetrics(): void;
11
8
  }
12
9
  export declare function registerRtkCommand(pi: FelanExtensionAPI, controller: RtkOptimizerController): void;
13
10
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAgC,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvG,MAAM,WAAW,sBAAsB;IACrC,SAAS,IAAI,kBAAkB,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,gBAAgB,IAAI,aAAa,CAAC;IAClC,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACrE,iBAAiB,IAAI,MAAM,CAAC;IAC5B,YAAY,IAAI,IAAI,CAAC;CACtB;AAyCD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAiElG"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,sBAAsB;IACrC,SAAS,IAAI,kBAAkB,CAAC;IAChC,gBAAgB,IAAI,aAAa,CAAC;IAClC,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACtE;AAUD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAkDlG"}
package/dist/command.js CHANGED
@@ -1,14 +1,8 @@
1
- import { getRtkOptimizerConfigPath } from './config.js';
2
- import { DEFAULT_RTK_OPTIMIZER_CONFIG } from './types.js';
3
- const USAGE = 'Usage: /rtk [show|path|verify|install|stats|clear-stats|reset|help]';
1
+ const USAGE = 'Usage: /rtk [show|verify|install|help]';
4
2
  const SUBCOMMANDS = [
5
3
  ['show', 'Show current RTK configuration and runtime status'],
6
- ['path', 'Show the RTK configuration path'],
7
4
  ['verify', 'Check whether rtk is available in the runtime'],
8
5
  ['install', 'Run the pinned official RTK installer'],
9
- ['stats', 'Show output-compaction metrics'],
10
- ['clear-stats', 'Clear output-compaction metrics'],
11
- ['reset', 'Reset RTK settings to defaults'],
12
6
  ['help', 'Show command usage'],
13
7
  ];
14
8
  export function registerRtkCommand(pi, controller) {
@@ -26,11 +20,7 @@ export function registerRtkCommand(pi, controller) {
26
20
  handler: async (args, ctx) => {
27
21
  const subcommand = args.trim().toLowerCase();
28
22
  if (!subcommand) {
29
- if (!ctx.hasUI) {
30
- ctx.ui.notify('/rtk settings require interactive TUI mode.', 'warning');
31
- return;
32
- }
33
- await openSettings(ctx, controller);
23
+ ctx.ui.notify('Configure RTK through /settings. Use /rtk show to inspect the resolved settings.', 'info');
34
24
  return;
35
25
  }
36
26
  if (subcommand === 'help') {
@@ -39,9 +29,6 @@ export function registerRtkCommand(pi, controller) {
39
29
  else if (subcommand === 'show') {
40
30
  ctx.ui.notify(formatSummary(controller.getConfig(), controller.getRuntimeStatus()), 'info');
41
31
  }
42
- else if (subcommand === 'path') {
43
- ctx.ui.notify(`RTK config: ${getRtkOptimizerConfigPath(pi.runtime)}`, 'info');
44
- }
45
32
  else if (subcommand === 'verify') {
46
33
  const status = await controller.refreshRuntimeStatus();
47
34
  ctx.ui.notify(status.rtkAvailable
@@ -62,179 +49,12 @@ export function registerRtkCommand(pi, controller) {
62
49
  ctx.ui.setStatus('rtk-install', undefined);
63
50
  }
64
51
  }
65
- else if (subcommand === 'stats') {
66
- ctx.ui.notify(controller.getMetricsSummary(), 'info');
67
- }
68
- else if (subcommand === 'clear-stats') {
69
- controller.clearMetrics();
70
- ctx.ui.notify('RTK metrics cleared.', 'info');
71
- }
72
- else if (subcommand === 'reset') {
73
- if (await saveConfig(ctx, controller, structuredClone(DEFAULT_RTK_OPTIMIZER_CONFIG))) {
74
- ctx.ui.notify('RTK optimizer settings reset to defaults.', 'info');
75
- }
76
- }
77
52
  else {
78
53
  ctx.ui.notify(USAGE, 'warning');
79
54
  }
80
55
  },
81
56
  });
82
57
  }
83
- async function openSettings(ctx, controller) {
84
- while (true) {
85
- const config = controller.getConfig();
86
- const choices = settingChoices(config);
87
- const close = 'Close RTK settings';
88
- const selected = await ctx.ui.select('RTK Optimizer settings', [...choices.map((choice) => choice.label), close]);
89
- if (!selected || selected === close)
90
- return;
91
- const choice = choices.find((candidate) => candidate.label === selected);
92
- if (!choice)
93
- continue;
94
- const next = await changeSetting(ctx, config, choice.id);
95
- if (next)
96
- await saveConfig(ctx, controller, next);
97
- }
98
- }
99
- async function changeSetting(ctx, config, id) {
100
- const next = structuredClone(config);
101
- const output = next.outputCompaction;
102
- switch (id) {
103
- case 'enabled':
104
- next.enabled = !next.enabled;
105
- break;
106
- case 'mode':
107
- next.mode = next.mode === 'rewrite' ? 'suggest' : 'rewrite';
108
- break;
109
- case 'guardWhenRtkMissing':
110
- next.guardWhenRtkMissing = !next.guardWhenRtkMissing;
111
- break;
112
- case 'showRewriteNotifications':
113
- next.showRewriteNotifications = !next.showRewriteNotifications;
114
- break;
115
- case 'compactionEnabled':
116
- output.enabled = !output.enabled;
117
- break;
118
- case 'stripAnsi':
119
- output.stripAnsi = !output.stripAnsi;
120
- break;
121
- case 'readCompaction':
122
- output.readCompaction.enabled = !output.readCompaction.enabled;
123
- break;
124
- case 'sourceFilteringEnabled':
125
- output.sourceCodeFilteringEnabled = !output.sourceCodeFilteringEnabled;
126
- break;
127
- case 'preserveExactSkillReads':
128
- output.preserveExactSkillReads = !output.preserveExactSkillReads;
129
- break;
130
- case 'aggregateTestOutput':
131
- output.aggregateTestOutput = !output.aggregateTestOutput;
132
- break;
133
- case 'filterBuildOutput':
134
- output.filterBuildOutput = !output.filterBuildOutput;
135
- break;
136
- case 'compactGitOutput':
137
- output.compactGitOutput = !output.compactGitOutput;
138
- break;
139
- case 'aggregateLinterOutput':
140
- output.aggregateLinterOutput = !output.aggregateLinterOutput;
141
- break;
142
- case 'groupSearchOutput':
143
- output.groupSearchOutput = !output.groupSearchOutput;
144
- break;
145
- case 'smartTruncate':
146
- output.smartTruncate.enabled = !output.smartTruncate.enabled;
147
- break;
148
- case 'truncate':
149
- output.truncate.enabled = !output.truncate.enabled;
150
- break;
151
- case 'trackSavings':
152
- output.trackSavings = !output.trackSavings;
153
- break;
154
- case 'sourceFiltering': {
155
- const selected = await ctx.ui.select('Read source filtering', ['none', 'minimal', 'aggressive']);
156
- if (!selected)
157
- return undefined;
158
- output.sourceCodeFiltering = selected;
159
- break;
160
- }
161
- case 'smartTruncateMaxLines': {
162
- const selected = await ctx.ui.select('Read smart-truncation maximum lines', [
163
- '40',
164
- '80',
165
- '120',
166
- '160',
167
- '220',
168
- '320',
169
- '500',
170
- '1000',
171
- '2000',
172
- '4000',
173
- ]);
174
- if (!selected)
175
- return undefined;
176
- output.smartTruncate.maxLines = Number.parseInt(selected, 10);
177
- break;
178
- }
179
- case 'truncateMaxChars': {
180
- const selected = await ctx.ui.select('Hard-truncation maximum characters', [
181
- '4000',
182
- '8000',
183
- '12000',
184
- '20000',
185
- '50000',
186
- '100000',
187
- '200000',
188
- ]);
189
- if (!selected)
190
- return undefined;
191
- output.truncate.maxChars = Number.parseInt(selected, 10);
192
- break;
193
- }
194
- }
195
- return next;
196
- }
197
- async function saveConfig(ctx, controller, config) {
198
- try {
199
- await controller.setConfig(config);
200
- return true;
201
- }
202
- catch (error) {
203
- ctx.ui.notify(`Failed to save RTK settings: ${errorMessage(error)}`, 'error');
204
- return false;
205
- }
206
- }
207
- function settingChoices(config) {
208
- const output = config.outputCompaction;
209
- return [
210
- setting('enabled', 'Optimizer enabled', onOff(config.enabled)),
211
- setting('mode', 'Rewrite mode', config.mode),
212
- setting('guardWhenRtkMissing', 'Guard when RTK is missing', onOff(config.guardWhenRtkMissing)),
213
- setting('showRewriteNotifications', 'Rewrite notifications', onOff(config.showRewriteNotifications)),
214
- setting('compactionEnabled', 'Output compaction', onOff(output.enabled)),
215
- setting('stripAnsi', 'Strip ANSI', onOff(output.stripAnsi)),
216
- setting('readCompaction', 'Lossy read compaction', onOff(output.readCompaction.enabled)),
217
- setting('sourceFilteringEnabled', 'Read source filtering', onOff(output.sourceCodeFilteringEnabled)),
218
- setting('sourceFiltering', 'Read source-filter level', output.sourceCodeFiltering),
219
- setting('preserveExactSkillReads', 'Preserve exact skill reads', onOff(output.preserveExactSkillReads)),
220
- setting('aggregateTestOutput', 'Aggregate test output', onOff(output.aggregateTestOutput)),
221
- setting('filterBuildOutput', 'Filter build output', onOff(output.filterBuildOutput)),
222
- setting('compactGitOutput', 'Compact Git output', onOff(output.compactGitOutput)),
223
- setting('aggregateLinterOutput', 'Aggregate linter output', onOff(output.aggregateLinterOutput)),
224
- setting('groupSearchOutput', 'Group search output', onOff(output.groupSearchOutput)),
225
- setting('smartTruncate', 'Read smart truncation', onOff(output.smartTruncate.enabled)),
226
- setting('smartTruncateMaxLines', 'Read smart-truncation lines', String(output.smartTruncate.maxLines)),
227
- setting('truncate', 'Hard truncation', onOff(output.truncate.enabled)),
228
- setting('truncateMaxChars', 'Hard-truncation characters', String(output.truncate.maxChars)),
229
- setting('trackSavings', 'Track savings', onOff(output.trackSavings)),
230
- ];
231
- }
232
- function setting(id, name, value) {
233
- return { id, label: `${name}: ${value}` };
234
- }
235
- function onOff(value) {
236
- return value ? 'on' : 'off';
237
- }
238
58
  function formatSummary(config, status) {
239
59
  const runtime = status.rtkAvailable
240
60
  ? `available${status.version ? ` (${status.version})` : ''}`
@@ -249,7 +69,4 @@ function formatSummary(config, status) {
249
69
  'commandTools=bash,exec_command,write_stdin',
250
70
  ].join(', ');
251
71
  }
252
- function errorMessage(error) {
253
- return error instanceof Error ? error.message : String(error);
254
- }
255
72
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAA+C,MAAM,YAAY,CAAC;AAYvG,MAAM,KAAK,GAAG,qEAAqE,CAAC;AACpF,MAAM,WAAW,GAAG;IAClB,CAAC,MAAM,EAAE,mDAAmD,CAAC;IAC7D,CAAC,MAAM,EAAE,iCAAiC,CAAC;IAC3C,CAAC,QAAQ,EAAE,+CAA+C,CAAC;IAC3D,CAAC,SAAS,EAAE,uCAAuC,CAAC;IACpD,CAAC,OAAO,EAAE,gCAAgC,CAAC;IAC3C,CAAC,aAAa,EAAE,iCAAiC,CAAC;IAClD,CAAC,OAAO,EAAE,gCAAgC,CAAC;IAC3C,CAAC,MAAM,EAAE,oBAAoB,CAAC;CACtB,CAAC;AA6BX,MAAM,UAAU,kBAAkB,CAAC,EAAqB,EAAE,UAAkC;IAC1F,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE;QACxB,WAAW,EAAE,+CAA+C;QAC5D,sBAAsB,EAAE,CAAC,MAAM,EAAE,EAAE;YACjC,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC;YACpD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5E,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;gBACzB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,6CAA6C,EAAE,SAAS,CAAC,CAAC;oBACxE,OAAO;gBACT,CAAC;gBACD,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAC9F,CAAC;iBAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,yBAAyB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAChF,CAAC;iBAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACvD,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,MAAM,CAAC,YAAY;oBACjB,CAAC,CAAC,mBAAmB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;oBACpE,CAAC,CAAC,qBAAqB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAC3E,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CACzC,CAAC;YACJ,CAAC;iBAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBACpC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;gBACpD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBAClD,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC;oBACH,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,MAAM,CAAC,YAAY;wBACjB,CAAC,CAAC,6BAA6B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;wBAC9E,CAAC,CAAC,0BAA0B,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAChF,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACvC,CAAC;gBACJ,CAAC;wBAAS,CAAC;oBACT,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBAClC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;gBACxC,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBAClC,IAAI,MAAM,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC;oBACrF,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2CAA2C,EAAE,MAAM,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAqB,EAAE,UAAkC;IACnF,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,oBAAoB,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAClH,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,IAAI;YAAE,MAAM,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,GAAqB,EACrB,MAA0B,EAC1B,EAAa;IAEb,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAErC,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,SAAS;YACZ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,MAAM;QACR,KAAK,MAAM;YACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM;QACR,KAAK,qBAAqB;YACxB,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACrD,MAAM;QACR,KAAK,0BAA0B;YAC7B,IAAI,CAAC,wBAAwB,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAC/D,MAAM;QACR,KAAK,mBAAmB;YACtB,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YACjC,MAAM;QACR,KAAK,WAAW;YACd,MAAM,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YACrC,MAAM;QACR,KAAK,gBAAgB;YACnB,MAAM,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC;YAC/D,MAAM;QACR,KAAK,wBAAwB;YAC3B,MAAM,CAAC,0BAA0B,GAAG,CAAC,MAAM,CAAC,0BAA0B,CAAC;YACvE,MAAM;QACR,KAAK,yBAAyB;YAC5B,MAAM,CAAC,uBAAuB,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC;YACjE,MAAM;QACR,KAAK,qBAAqB;YACxB,MAAM,CAAC,mBAAmB,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACzD,MAAM;QACR,KAAK,mBAAmB;YACtB,MAAM,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACrD,MAAM;QACR,KAAK,kBAAkB;YACrB,MAAM,CAAC,gBAAgB,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACnD,MAAM;QACR,KAAK,uBAAuB;YAC1B,MAAM,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAC7D,MAAM;QACR,KAAK,mBAAmB;YACtB,MAAM,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACrD,MAAM;QACR,KAAK,eAAe;YAClB,MAAM,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;YAC7D,MAAM;QACR,KAAK,UAAU;YACb,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnD,MAAM;QACR,KAAK,cAAc;YACjB,MAAM,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;YAC3C,MAAM;QACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;YACjG,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAChC,MAAM,CAAC,mBAAmB,GAAG,QAA6C,CAAC;YAC3E,MAAM;QACR,CAAC;QACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,qCAAqC,EAAE;gBAC1E,IAAI;gBACJ,IAAI;gBACJ,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,MAAM;gBACN,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAChC,MAAM,CAAC,aAAa,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9D,MAAM;QACR,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oCAAoC,EAAE;gBACzE,MAAM;gBACN,MAAM;gBACN,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,QAAQ;gBACR,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAChC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,GAAqB,EACrB,UAAkC,EAClC,MAA0B;IAE1B,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gCAAgC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAA0B;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACvC,OAAO;QACL,OAAO,CAAC,SAAS,EAAE,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9D,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC;QAC5C,OAAO,CAAC,qBAAqB,EAAE,2BAA2B,EAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC9F,OAAO,CAAC,0BAA0B,EAAE,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACpG,OAAO,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3D,OAAO,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACxF,OAAO,CAAC,wBAAwB,EAAE,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACpG,OAAO,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,CAAC,mBAAmB,CAAC;QAClF,OAAO,CAAC,yBAAyB,EAAE,4BAA4B,EAAE,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACvG,OAAO,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC1F,OAAO,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACpF,OAAO,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjF,OAAO,CAAC,uBAAuB,EAAE,yBAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChG,OAAO,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACpF,OAAO,CAAC,eAAe,EAAE,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACtF,OAAO,CAAC,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtG,OAAO,CAAC,UAAU,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtE,OAAO,CAAC,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3F,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,EAAa,EAAE,IAAY,EAAE,KAAa;IACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9B,CAAC;AAED,SAAS,aAAa,CAAC,MAA0B,EAAE,MAAqB;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY;QACjC,CAAC,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5D,CAAC,CAAC,UAAU,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjE,OAAO;QACL,WAAW,MAAM,CAAC,OAAO,EAAE;QAC3B,QAAQ,MAAM,CAAC,IAAI,EAAE;QACrB,OAAO,OAAO,EAAE;QAChB,cAAc,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;QAC/C,kBAAkB,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE;QAClE,gBAAgB,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;QAC7D,4CAA4C;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,13 +1,26 @@
1
- import type { AgentRuntime } from '@felan-ai/agent-core';
2
1
  import { type RtkOptimizerConfig } from './types.js';
3
- export declare const RTK_OPTIMIZER_CONFIG_DIRECTORY = "rtk-optimizer";
4
- export declare const RTK_OPTIMIZER_CONFIG_FILE = "rtk-optimizer/config.json";
5
- export interface RtkOptimizerConfigLoadResult {
6
- readonly config: RtkOptimizerConfig;
7
- readonly warning?: string;
8
- }
9
- export declare function loadRtkOptimizerConfig(runtime: AgentRuntime): Promise<RtkOptimizerConfigLoadResult>;
10
- export declare function saveRtkOptimizerConfig(runtime: AgentRuntime, config: RtkOptimizerConfig): Promise<RtkOptimizerConfig>;
11
- export declare function getRtkOptimizerConfigPath(runtime: AgentRuntime): string;
2
+ export declare const RTK_OPTIMIZER_CONFIG: import("@felan-ai/agent-core").ExtensionConfigDefinition<{
3
+ readonly enabled: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
4
+ readonly mode: import("@felan-ai/agent-core").ExtensionConfigField<"rewrite" | "suggest">;
5
+ readonly guardWhenRtkMissing: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
6
+ readonly showRewriteNotifications: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
7
+ readonly compactionEnabled: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
8
+ readonly stripAnsi: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
9
+ readonly readCompaction: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
10
+ readonly truncate: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
11
+ readonly truncateMaxChars: import("@felan-ai/agent-core").ExtensionConfigField<number>;
12
+ readonly sourceCodeFilteringEnabled: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
13
+ readonly preserveExactSkillReads: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
14
+ readonly sourceFiltering: import("@felan-ai/agent-core").ExtensionConfigField<"none" | "minimal" | "aggressive">;
15
+ readonly smartTruncate: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
16
+ readonly smartTruncateMaxLines: import("@felan-ai/agent-core").ExtensionConfigField<number>;
17
+ readonly aggregateTestOutput: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
18
+ readonly filterBuildOutput: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
19
+ readonly compactGitOutput: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
20
+ readonly aggregateLinterOutput: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
21
+ readonly groupSearchOutput: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
22
+ readonly trackSavings: import("@felan-ai/agent-core").ExtensionConfigField<boolean>;
23
+ }>;
24
+ export declare function rtkOptimizerConfigFromSettings(values: Readonly<Record<string, unknown>>): RtkOptimizerConfig;
12
25
  export declare function validateRtkOptimizerConfig(value: unknown, source?: string): RtkOptimizerConfig;
13
26
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAIL,KAAK,kBAAkB,EAExB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,8BAA8B,kBAAkB,CAAC;AAC9D,eAAO,MAAM,yBAAyB,8BAAkD,CAAC;AAKzF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAkCzG;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAI7B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAEvE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,SAAyB,GAAG,kBAAkB,CAgJ9G"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,kBAAkB,EAExB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAyB/B,CAAC;AAEH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,kBAAkB,CAgCpB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,SAAyB,GAAG,kBAAkB,CA6C9G"}