@mandible-ai/mandible 0.3.11 → 0.3.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.
- package/dist/src/cli/server.d.ts +6 -1
- package/dist/src/cli/server.d.ts.map +1 -1
- package/dist/src/cli/server.js +22 -9
- package/dist/src/cli/server.js.map +1 -1
- package/dist/src/core/environment-registry.d.ts +18 -0
- package/dist/src/core/environment-registry.d.ts.map +1 -0
- package/dist/src/core/environment-registry.js +31 -0
- package/dist/src/core/environment-registry.js.map +1 -0
- package/dist/src/core/events.d.ts +1 -1
- package/dist/src/core/events.d.ts.map +1 -1
- package/dist/src/core/events.js.map +1 -1
- package/dist/src/core/runtime.d.ts +2 -0
- package/dist/src/core/runtime.d.ts.map +1 -1
- package/dist/src/core/runtime.js +37 -5
- package/dist/src/core/runtime.js.map +1 -1
- package/dist/src/core/scaler.d.ts +37 -0
- package/dist/src/core/scaler.d.ts.map +1 -0
- package/dist/src/core/scaler.js +112 -0
- package/dist/src/core/scaler.js.map +1 -0
- package/dist/src/core/types.d.ts +36 -2
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/dsl/builder.d.ts +8 -3
- package/dist/src/dsl/builder.d.ts.map +1 -1
- package/dist/src/dsl/builder.js +13 -1
- package/dist/src/dsl/builder.js.map +1 -1
- package/dist/src/environments/dolt/adapter.d.ts +3 -2
- package/dist/src/environments/dolt/adapter.d.ts.map +1 -1
- package/dist/src/environments/dolt/adapter.js +17 -0
- package/dist/src/environments/dolt/adapter.js.map +1 -1
- package/dist/src/environments/filesystem/adapter.d.ts +3 -2
- package/dist/src/environments/filesystem/adapter.d.ts.map +1 -1
- package/dist/src/environments/filesystem/adapter.js +12 -0
- package/dist/src/environments/filesystem/adapter.js.map +1 -1
- package/dist/src/environments/github/adapter.d.ts +3 -2
- package/dist/src/environments/github/adapter.d.ts.map +1 -1
- package/dist/src/environments/github/adapter.js +19 -0
- package/dist/src/environments/github/adapter.js.map +1 -1
- package/dist/src/hosts/docker.d.ts.map +1 -1
- package/dist/src/hosts/docker.js +7 -29
- package/dist/src/hosts/docker.js.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
package/dist/src/cli/server.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Server } from 'node:http';
|
|
1
2
|
import type { RuntimeEventData } from '../core/events.js';
|
|
2
3
|
import { EventBus } from '../core/events.js';
|
|
3
4
|
import type { ColonyDefinition, Environment, Signal } from '../core/types.js';
|
|
@@ -62,5 +63,9 @@ export interface DashboardOptions {
|
|
|
62
63
|
port: number;
|
|
63
64
|
open: boolean;
|
|
64
65
|
}
|
|
65
|
-
export
|
|
66
|
+
export interface DashboardHandle {
|
|
67
|
+
server: Server;
|
|
68
|
+
close: () => void;
|
|
69
|
+
}
|
|
70
|
+
export declare function startDashboard(source: DashboardSource, options: DashboardOptions): Promise<DashboardHandle>;
|
|
66
71
|
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/server.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/server.js
CHANGED
|
@@ -156,13 +156,20 @@ export async function startDashboard(source, options) {
|
|
|
156
156
|
}
|
|
157
157
|
catch { /* ignore snapshot errors */ }
|
|
158
158
|
}, 2000);
|
|
159
|
-
// Start HTTP server
|
|
160
|
-
|
|
161
|
-
|
|
159
|
+
// Start HTTP server — wait for it to be listening
|
|
160
|
+
await new Promise((resolve) => {
|
|
161
|
+
server.listen(options.port, () => {
|
|
162
|
+
const addr = server.address();
|
|
163
|
+
const actualPort = typeof addr === 'object' && addr ? addr.port : options.port;
|
|
164
|
+
console.log(` dashboard: http://localhost:${actualPort}`);
|
|
165
|
+
resolve();
|
|
166
|
+
});
|
|
162
167
|
});
|
|
163
168
|
// Auto-open browser
|
|
164
169
|
if (options.open) {
|
|
165
|
-
const
|
|
170
|
+
const addr = server.address();
|
|
171
|
+
const actualPort = typeof addr === 'object' && addr ? addr.port : options.port;
|
|
172
|
+
const dashUrl = `http://localhost:${actualPort}`;
|
|
166
173
|
try {
|
|
167
174
|
const { exec } = await import('node:child_process');
|
|
168
175
|
const cmd = process.platform === 'darwin' ? 'open' :
|
|
@@ -172,17 +179,23 @@ export async function startDashboard(source, options) {
|
|
|
172
179
|
catch { /* ignore open errors */ }
|
|
173
180
|
}
|
|
174
181
|
// Graceful shutdown
|
|
175
|
-
const shutdown =
|
|
182
|
+
const shutdown = () => {
|
|
176
183
|
console.log('\n shutting down...');
|
|
177
|
-
|
|
178
|
-
source.close();
|
|
179
|
-
wss.close();
|
|
180
|
-
server.close();
|
|
184
|
+
close();
|
|
181
185
|
console.log(' done.\n');
|
|
182
186
|
process.exit(0);
|
|
183
187
|
};
|
|
184
188
|
process.on('SIGINT', shutdown);
|
|
185
189
|
process.on('SIGTERM', shutdown);
|
|
190
|
+
const close = () => {
|
|
191
|
+
clearInterval(snapshotInterval);
|
|
192
|
+
source.close();
|
|
193
|
+
wss.close();
|
|
194
|
+
server.close();
|
|
195
|
+
process.removeListener('SIGINT', shutdown);
|
|
196
|
+
process.removeListener('SIGTERM', shutdown);
|
|
197
|
+
};
|
|
198
|
+
return { server, close };
|
|
186
199
|
}
|
|
187
200
|
// ── Helpers ──────────────────────────────────────────────────
|
|
188
201
|
function broadcastToClients(wss, data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/server.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,8FAA8F;AAE9F,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Environment, EnvironmentConfig, SerializableEnvironment } from './types.js';
|
|
2
|
+
type EnvironmentDeserializer = (config: EnvironmentConfig) => Environment;
|
|
3
|
+
/**
|
|
4
|
+
* Register a deserializer for an environment type.
|
|
5
|
+
* Called at module scope by each environment adapter (self-registration).
|
|
6
|
+
*/
|
|
7
|
+
export declare function registerEnvironment(type: string, deserializer: EnvironmentDeserializer): void;
|
|
8
|
+
/**
|
|
9
|
+
* Reconstruct an Environment from a serialized config.
|
|
10
|
+
* Throws with a helpful message if the type is not registered.
|
|
11
|
+
*/
|
|
12
|
+
export declare function deserializeEnvironment(config: EnvironmentConfig): Environment;
|
|
13
|
+
/**
|
|
14
|
+
* Runtime type guard: checks whether an Environment implements SerializableEnvironment.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isSerializableEnvironment(env: Environment): env is SerializableEnvironment;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=environment-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-registry.d.ts","sourceRoot":"","sources":["../../../src/core/environment-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1F,KAAK,uBAAuB,GAAG,CAAC,MAAM,EAAE,iBAAiB,KAAK,WAAW,CAAC;AAI1E;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,uBAAuB,GAAG,IAAI,CAE7F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAW7E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,IAAI,uBAAuB,CAE1F"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// PURPOSE: Global registry for environment serialization/deserialization.
|
|
2
|
+
// PURPOSE: Environments self-register at import time; hosts and colony-runner use the registry to reconstruct.
|
|
3
|
+
const registry = new Map();
|
|
4
|
+
/**
|
|
5
|
+
* Register a deserializer for an environment type.
|
|
6
|
+
* Called at module scope by each environment adapter (self-registration).
|
|
7
|
+
*/
|
|
8
|
+
export function registerEnvironment(type, deserializer) {
|
|
9
|
+
registry.set(type, deserializer);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Reconstruct an Environment from a serialized config.
|
|
13
|
+
* Throws with a helpful message if the type is not registered.
|
|
14
|
+
*/
|
|
15
|
+
export function deserializeEnvironment(config) {
|
|
16
|
+
const deserializer = registry.get(config.type);
|
|
17
|
+
if (!deserializer) {
|
|
18
|
+
const registered = Array.from(registry.keys());
|
|
19
|
+
throw new Error(`Unknown environment type "${config.type}". ` +
|
|
20
|
+
`Registered types: [${registered.join(', ')}]. ` +
|
|
21
|
+
`Make sure the environment module is imported so it can self-register.`);
|
|
22
|
+
}
|
|
23
|
+
return deserializer(config);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Runtime type guard: checks whether an Environment implements SerializableEnvironment.
|
|
27
|
+
*/
|
|
28
|
+
export function isSerializableEnvironment(env) {
|
|
29
|
+
return 'serialize' in env && typeof env.serialize === 'function';
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=environment-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-registry.js","sourceRoot":"","sources":["../../../src/core/environment-registry.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,+GAA+G;AAM/G,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,YAAqC;IACrF,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAyB;IAC9D,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,IAAI,KAAK;YAC7C,sBAAsB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAChD,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAgB;IACxD,OAAO,WAAW,IAAI,GAAG,IAAI,OAAQ,GAA+B,CAAC,SAAS,KAAK,UAAU,CAAC;AAChG,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type RuntimeEventType = 'colony:started' | 'colony:stopped' | 'signal:sensed' | 'signal:matched' | 'signal:claimed' | 'signal:claim_failed' | 'action:started' | 'action:completed' | 'action:failed' | 'signal:deposited' | 'signal:withdrawn' | 'decay:sweep' | 'claim:released' | 'environment:snapshot';
|
|
1
|
+
export type RuntimeEventType = 'colony:started' | 'colony:stopped' | 'signal:sensed' | 'signal:matched' | 'signal:claimed' | 'signal:claim_failed' | 'action:started' | 'action:completed' | 'action:failed' | 'signal:deposited' | 'signal:withdrawn' | 'decay:sweep' | 'claim:released' | 'environment:snapshot' | 'colony:scaled';
|
|
2
2
|
export interface RuntimeEventData {
|
|
3
3
|
type: RuntimeEventType;
|
|
4
4
|
colony: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/core/events.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,qBAAqB,GACrB,gBAAgB,GAChB,kBAAkB,GAClB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,GACb,gBAAgB,GAChB,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/core/events.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,qBAAqB,GACrB,gBAAgB,GAChB,kBAAkB,GAClB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,GACb,gBAAgB,GAChB,sBAAsB,GACtB,eAAe,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAErE,qBAAa,QAAQ;IACnB,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,aAAa,CAA0D;IAE/E,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAYnC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI;IAC9C,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI;IAkBtE,SAAS,IAAI,IAAI;CAIlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/core/events.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,wDAAwD;AACxD,mDAAmD;AACnD,+DAA+D;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/core/events.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,6DAA6D;AAC7D,+DAA+D;AAC/D,wDAAwD;AACxD,mDAAmD;AACnD,+DAA+D;AAiC/D,MAAM,OAAO,QAAQ;IACX,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC5C,aAAa,GAAG,IAAI,GAAG,EAA+C,CAAC;IAE/E,IAAI,CAAC,KAAuB;QAC1B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAID,EAAE,CACA,cAAuD,EACvD,aAAoC;QAEpC,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,QAAQ,GAAG,aAAc,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,SAAS;QACP,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -6,9 +6,11 @@ export declare class ColonyRuntime implements IColonyRuntime {
|
|
|
6
6
|
private _state;
|
|
7
7
|
private _activeCount;
|
|
8
8
|
private _stats;
|
|
9
|
+
private _effectiveConcurrency;
|
|
9
10
|
private pollTimers;
|
|
10
11
|
private watchSubscriptions;
|
|
11
12
|
private decayTimer?;
|
|
13
|
+
private scaler?;
|
|
12
14
|
private eventHandlers;
|
|
13
15
|
private processingSignals;
|
|
14
16
|
private decayPolicy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/core/runtime.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,IAAI,cAAc,EAC/B,YAAY,EACZ,YAAY,EACZ,YAAY,EAKZ,WAAW,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/core/runtime.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,IAAI,cAAc,EAC/B,YAAY,EACZ,YAAY,EACZ,YAAY,EAKZ,WAAW,EAGZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,QAAQ,EAAyB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGzF,KAAK,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAE7C,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAQZ;IAEF,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,UAAU,CAAC,CAAiC;IACpD,OAAO,CAAC,MAAM,CAAC,CAAe;IAC9B,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAK;IAE9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAuB;gBAGtC,UAAU,EAAE,gBAAgB,EAC5B,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB;IAUH,IAAI,KAAK,IAAI,YAAY,CAAwB;IACjD,IAAI,WAAW,IAAI,MAAM,CAA8B;IACvD,IAAI,WAAW,IAAI,MAAM,CAAuC;IAChE,IAAI,KAAK,IAAI,YAAY,CAA+B;IACxD,IAAI,IAAI,IAAI,MAAM,CAAiC;IAM7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyCtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC3B,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAOpD,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,gBAAgB;YAyBV,aAAa;YA4Jb,SAAS;YAqBT,gBAAgB;IAmC9B,OAAO,CAAC,mBAAmB;IA4D3B,OAAO,CAAC,oBAAoB;YAiEd,QAAQ;IA2BtB,OAAO,CAAC,GAAG;CAcZ;AAoBD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,gBAAgB,EAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GACA,aAAa,CAQf"}
|
package/dist/src/core/runtime.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import { prioritize } from './signal.js';
|
|
16
16
|
import { DEFAULT_DECAY_POLICY } from './types.js';
|
|
17
17
|
import { EventBus } from './events.js';
|
|
18
|
+
import { ColonyScaler } from './scaler.js';
|
|
18
19
|
export class ColonyRuntime {
|
|
19
20
|
definition;
|
|
20
21
|
_state = 'idle';
|
|
@@ -28,9 +29,11 @@ export class ColonyRuntime {
|
|
|
28
29
|
errors: 0,
|
|
29
30
|
avgProcessingMs: 0,
|
|
30
31
|
};
|
|
32
|
+
_effectiveConcurrency;
|
|
31
33
|
pollTimers = [];
|
|
32
34
|
watchSubscriptions = [];
|
|
33
35
|
decayTimer;
|
|
36
|
+
scaler;
|
|
34
37
|
eventHandlers = new Map();
|
|
35
38
|
processingSignals = new Set(); // prevent double-processing
|
|
36
39
|
decayPolicy;
|
|
@@ -39,6 +42,7 @@ export class ColonyRuntime {
|
|
|
39
42
|
_onEvent;
|
|
40
43
|
constructor(definition, options) {
|
|
41
44
|
this.definition = definition;
|
|
45
|
+
this._effectiveConcurrency = resolveConcurrency(definition.concurrency);
|
|
42
46
|
const decayPolicy = options?.decayPolicy;
|
|
43
47
|
this.decayPolicy = { ...DEFAULT_DECAY_POLICY, ...decayPolicy };
|
|
44
48
|
this.events = options?.eventBus ?? new EventBus();
|
|
@@ -46,7 +50,7 @@ export class ColonyRuntime {
|
|
|
46
50
|
}
|
|
47
51
|
get state() { return this._state; }
|
|
48
52
|
get activeCount() { return this._activeCount; }
|
|
49
|
-
get concurrency() { return this.
|
|
53
|
+
get concurrency() { return this._effectiveConcurrency; }
|
|
50
54
|
get stats() { return { ...this._stats }; }
|
|
51
55
|
get name() { return this.definition.name; }
|
|
52
56
|
// ----------------------------------------------------------
|
|
@@ -58,7 +62,7 @@ export class ColonyRuntime {
|
|
|
58
62
|
this._state = 'running';
|
|
59
63
|
this.emitEvent({ type: 'colony:started', colony: this.definition.name, timestamp: Date.now() });
|
|
60
64
|
this.emit('colony:started', this.definition.name);
|
|
61
|
-
this.log('info', `Colony "${this.definition.name}" started (concurrency: ${this.
|
|
65
|
+
this.log('info', `Colony "${this.definition.name}" started (concurrency: ${this._effectiveConcurrency})`);
|
|
62
66
|
// Start sensors
|
|
63
67
|
for (const sensor of this.definition.sensors) {
|
|
64
68
|
if (sensor.mode === 'watch') {
|
|
@@ -70,12 +74,34 @@ export class ColonyRuntime {
|
|
|
70
74
|
}
|
|
71
75
|
// Start decay sweep
|
|
72
76
|
this.decayTimer = setInterval(() => this.runDecay(), this.decayPolicy.interval);
|
|
77
|
+
// Start scaler if concurrency is a range with autoscale policy
|
|
78
|
+
if (typeof this.definition.concurrency === 'object' && this.definition.config?.autoscale) {
|
|
79
|
+
const range = this.definition.concurrency;
|
|
80
|
+
this.scaler = new ColonyScaler({
|
|
81
|
+
min: range.min,
|
|
82
|
+
max: range.max,
|
|
83
|
+
target: this._effectiveConcurrency,
|
|
84
|
+
policy: this.definition.config.autoscale,
|
|
85
|
+
environment: this.definition.environment,
|
|
86
|
+
sensors: this.definition.sensors,
|
|
87
|
+
getActiveCount: () => this._activeCount,
|
|
88
|
+
onScale: (n) => { this._effectiveConcurrency = n; },
|
|
89
|
+
onEvent: (e) => this.emitEvent(e),
|
|
90
|
+
colonyName: this.definition.name,
|
|
91
|
+
});
|
|
92
|
+
await this.scaler.start();
|
|
93
|
+
}
|
|
73
94
|
}
|
|
74
95
|
async stop() {
|
|
75
96
|
if (this._state !== 'running')
|
|
76
97
|
return;
|
|
77
98
|
this._state = 'stopping';
|
|
78
99
|
this.log('info', `Colony "${this.definition.name}" stopping...`);
|
|
100
|
+
// Stop scaler
|
|
101
|
+
if (this.scaler) {
|
|
102
|
+
this.scaler.stop();
|
|
103
|
+
this.scaler = undefined;
|
|
104
|
+
}
|
|
79
105
|
// Stop all sensors
|
|
80
106
|
for (const timer of this.pollTimers)
|
|
81
107
|
clearInterval(timer);
|
|
@@ -137,7 +163,7 @@ export class ColonyRuntime {
|
|
|
137
163
|
const poll = async () => {
|
|
138
164
|
if (this._state !== 'running')
|
|
139
165
|
return;
|
|
140
|
-
if (this._activeCount >= this.
|
|
166
|
+
if (this._activeCount >= this._effectiveConcurrency)
|
|
141
167
|
return; // at capacity
|
|
142
168
|
try {
|
|
143
169
|
const signals = await this.definition.environment.observe({
|
|
@@ -151,7 +177,7 @@ export class ColonyRuntime {
|
|
|
151
177
|
for (const signal of prioritized) {
|
|
152
178
|
if (this._state !== 'running')
|
|
153
179
|
break;
|
|
154
|
-
if (this._activeCount >= this.
|
|
180
|
+
if (this._activeCount >= this._effectiveConcurrency)
|
|
155
181
|
break;
|
|
156
182
|
if (this.processingSignals.has(signal.id))
|
|
157
183
|
continue;
|
|
@@ -179,7 +205,7 @@ export class ColonyRuntime {
|
|
|
179
205
|
}, (signal) => {
|
|
180
206
|
if (this._state !== 'running')
|
|
181
207
|
return;
|
|
182
|
-
if (this._activeCount >= this.
|
|
208
|
+
if (this._activeCount >= this._effectiveConcurrency)
|
|
183
209
|
return;
|
|
184
210
|
if (this.processingSignals.has(signal.id))
|
|
185
211
|
return;
|
|
@@ -541,6 +567,12 @@ export class ColonyRuntime {
|
|
|
541
567
|
function sleep(ms) {
|
|
542
568
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
543
569
|
}
|
|
570
|
+
/** Resolve a ConcurrencyConfig to an initial concurrency number. */
|
|
571
|
+
function resolveConcurrency(config) {
|
|
572
|
+
if (typeof config === 'number')
|
|
573
|
+
return config;
|
|
574
|
+
return config.target ?? config.min;
|
|
575
|
+
}
|
|
544
576
|
// ----------------------------------------------------------
|
|
545
577
|
// Factory function
|
|
546
578
|
// ----------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/core/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/core/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Environment, SensorConfig, AutoScalePolicy } from './types.js';
|
|
2
|
+
import type { RuntimeEventCallback } from './events.js';
|
|
3
|
+
export interface ColonyScalerOptions {
|
|
4
|
+
min: number;
|
|
5
|
+
max: number;
|
|
6
|
+
target: number;
|
|
7
|
+
policy: AutoScalePolicy;
|
|
8
|
+
environment: Environment;
|
|
9
|
+
sensors: SensorConfig[];
|
|
10
|
+
getActiveCount: () => number;
|
|
11
|
+
onScale: (newConcurrency: number) => void;
|
|
12
|
+
onEvent: RuntimeEventCallback;
|
|
13
|
+
colonyName?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class ColonyScaler {
|
|
16
|
+
private readonly min;
|
|
17
|
+
private readonly max;
|
|
18
|
+
private readonly scaleUpThreshold;
|
|
19
|
+
private readonly scaleDownAfterMs;
|
|
20
|
+
private readonly cooldownMs;
|
|
21
|
+
private readonly environment;
|
|
22
|
+
private readonly sensors;
|
|
23
|
+
private readonly getActiveCount;
|
|
24
|
+
private readonly onScale;
|
|
25
|
+
private readonly onEvent;
|
|
26
|
+
private readonly colonyName;
|
|
27
|
+
private currentConcurrency;
|
|
28
|
+
private lastScaleTime;
|
|
29
|
+
private idleSince;
|
|
30
|
+
private timer?;
|
|
31
|
+
constructor(options: ColonyScalerOptions);
|
|
32
|
+
start(): Promise<void>;
|
|
33
|
+
stop(): void;
|
|
34
|
+
evaluate(): Promise<void>;
|
|
35
|
+
private applyScale;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=scaler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaler.d.ts","sourceRoot":"","sources":["../../../src/core/scaler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,KAAK,EAAoB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,KAAK,CAAC,CAAiC;gBAEnC,OAAO,EAAE,mBAAmB;IAelC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,IAAI,IAAI,IAAI;IAON,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD/B,OAAO,CAAC,UAAU;CAcnB"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// PURPOSE: Dynamic concurrency scaler — adjusts agent concurrency based on signal pressure
|
|
2
|
+
// PURPOSE: Standalone class with its own lifecycle (timer, cooldown, idle tracking)
|
|
3
|
+
const DEFAULT_SCALE_UP_THRESHOLD = 5;
|
|
4
|
+
const DEFAULT_SCALE_DOWN_AFTER_MS = 30_000;
|
|
5
|
+
const DEFAULT_COOLDOWN_MS = 10_000;
|
|
6
|
+
export class ColonyScaler {
|
|
7
|
+
min;
|
|
8
|
+
max;
|
|
9
|
+
scaleUpThreshold;
|
|
10
|
+
scaleDownAfterMs;
|
|
11
|
+
cooldownMs;
|
|
12
|
+
environment;
|
|
13
|
+
sensors;
|
|
14
|
+
getActiveCount;
|
|
15
|
+
onScale;
|
|
16
|
+
onEvent;
|
|
17
|
+
colonyName;
|
|
18
|
+
currentConcurrency;
|
|
19
|
+
lastScaleTime = 0;
|
|
20
|
+
idleSince = null;
|
|
21
|
+
timer;
|
|
22
|
+
constructor(options) {
|
|
23
|
+
this.min = options.min;
|
|
24
|
+
this.max = options.max;
|
|
25
|
+
this.currentConcurrency = options.target;
|
|
26
|
+
this.scaleUpThreshold = options.policy.scaleUpThreshold ?? DEFAULT_SCALE_UP_THRESHOLD;
|
|
27
|
+
this.scaleDownAfterMs = options.policy.scaleDownAfterMs ?? DEFAULT_SCALE_DOWN_AFTER_MS;
|
|
28
|
+
this.cooldownMs = options.policy.cooldownMs ?? DEFAULT_COOLDOWN_MS;
|
|
29
|
+
this.environment = options.environment;
|
|
30
|
+
this.sensors = options.sensors;
|
|
31
|
+
this.getActiveCount = options.getActiveCount;
|
|
32
|
+
this.onScale = options.onScale;
|
|
33
|
+
this.onEvent = options.onEvent;
|
|
34
|
+
this.colonyName = options.colonyName ?? 'unknown';
|
|
35
|
+
}
|
|
36
|
+
async start() {
|
|
37
|
+
// Immediate first evaluation
|
|
38
|
+
await this.evaluate();
|
|
39
|
+
// Recurring evaluations on cooldown interval
|
|
40
|
+
this.timer = setInterval(() => {
|
|
41
|
+
this.evaluate().catch(() => { });
|
|
42
|
+
}, this.cooldownMs);
|
|
43
|
+
}
|
|
44
|
+
stop() {
|
|
45
|
+
if (this.timer) {
|
|
46
|
+
clearInterval(this.timer);
|
|
47
|
+
this.timer = undefined;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async evaluate() {
|
|
51
|
+
const now = Date.now();
|
|
52
|
+
// Enforce cooldown
|
|
53
|
+
if (this.lastScaleTime > 0 && (now - this.lastScaleTime) < this.cooldownMs) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
// Measure queue depth across all sensors
|
|
57
|
+
let queueDepth = 0;
|
|
58
|
+
try {
|
|
59
|
+
for (const sensor of this.sensors) {
|
|
60
|
+
const signals = await this.environment.observe(sensor.query);
|
|
61
|
+
queueDepth += signals.length;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// observe() failed — skip this evaluation, never crash
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const activeCount = this.getActiveCount();
|
|
69
|
+
const isIdle = activeCount === 0 && queueDepth === 0;
|
|
70
|
+
// Track idle state
|
|
71
|
+
if (isIdle) {
|
|
72
|
+
if (this.idleSince === null) {
|
|
73
|
+
this.idleSince = now;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
this.idleSince = null;
|
|
78
|
+
}
|
|
79
|
+
// Scale-up: queue depth >= threshold AND below max
|
|
80
|
+
if (queueDepth >= this.scaleUpThreshold && this.currentConcurrency < this.max) {
|
|
81
|
+
const newConcurrency = this.currentConcurrency + 1;
|
|
82
|
+
this.applyScale(newConcurrency, 'scale_up', queueDepth);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// Scale-down: idle for >= scaleDownAfterMs AND above min
|
|
86
|
+
if (isIdle &&
|
|
87
|
+
this.idleSince !== null &&
|
|
88
|
+
(now - this.idleSince) >= this.scaleDownAfterMs &&
|
|
89
|
+
this.currentConcurrency > this.min) {
|
|
90
|
+
const newConcurrency = this.currentConcurrency - 1;
|
|
91
|
+
this.applyScale(newConcurrency, 'scale_down', queueDepth);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
applyScale(newConcurrency, reason, queueDepth) {
|
|
96
|
+
const from = this.currentConcurrency;
|
|
97
|
+
this.currentConcurrency = newConcurrency;
|
|
98
|
+
this.lastScaleTime = Date.now();
|
|
99
|
+
this.onScale(newConcurrency);
|
|
100
|
+
const event = {
|
|
101
|
+
type: 'colony:scaled',
|
|
102
|
+
colony: this.colonyName,
|
|
103
|
+
timestamp: Date.now(),
|
|
104
|
+
metadata: { from, to: newConcurrency, reason, queueDepth },
|
|
105
|
+
};
|
|
106
|
+
try {
|
|
107
|
+
this.onEvent(event);
|
|
108
|
+
}
|
|
109
|
+
catch { /* never crash */ }
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=scaler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaler.js","sourceRoot":"","sources":["../../../src/core/scaler.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,oFAAoF;AAkBpF,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAC3C,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAM,OAAO,YAAY;IACN,GAAG,CAAS;IACZ,GAAG,CAAS;IACZ,gBAAgB,CAAS;IACzB,gBAAgB,CAAS;IACzB,UAAU,CAAS;IACnB,WAAW,CAAc;IACzB,OAAO,CAAiB;IACxB,cAAc,CAAe;IAC7B,OAAO,CAAmC;IAC1C,OAAO,CAAuB;IAC9B,UAAU,CAAS;IAE5B,kBAAkB,CAAS;IAC3B,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,GAAkB,IAAI,CAAC;IAChC,KAAK,CAAkC;IAE/C,YAAY,OAA4B;QACtC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;QACtF,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,IAAI,2BAA2B,CAAC;QACvF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,mBAAmB,CAAC;QACnE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,6BAA6B;QAC7B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEtB,6CAA6C;QAC7C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAmD,CAAC,CAAC,CAAC;QACnF,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,mBAAmB;QACnB,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7D,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;YACvD,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,WAAW,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,CAAC;QAErD,mBAAmB;QACnB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACvB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,mDAAmD;QACnD,IAAI,UAAU,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,IACE,MAAM;YACN,IAAI,CAAC,SAAS,KAAK,IAAI;YACvB,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,gBAAgB;YAC/C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAClC,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,cAAsB,EAAE,MAAc,EAAE,UAAkB;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE7B,MAAM,KAAK,GAAqB;YAC9B,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE;SAC3D,CAAC;QACF,IAAI,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;CACF"}
|