@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.
Files changed (46) hide show
  1. package/dist/src/cli/server.d.ts +6 -1
  2. package/dist/src/cli/server.d.ts.map +1 -1
  3. package/dist/src/cli/server.js +22 -9
  4. package/dist/src/cli/server.js.map +1 -1
  5. package/dist/src/core/environment-registry.d.ts +18 -0
  6. package/dist/src/core/environment-registry.d.ts.map +1 -0
  7. package/dist/src/core/environment-registry.js +31 -0
  8. package/dist/src/core/environment-registry.js.map +1 -0
  9. package/dist/src/core/events.d.ts +1 -1
  10. package/dist/src/core/events.d.ts.map +1 -1
  11. package/dist/src/core/events.js.map +1 -1
  12. package/dist/src/core/runtime.d.ts +2 -0
  13. package/dist/src/core/runtime.d.ts.map +1 -1
  14. package/dist/src/core/runtime.js +37 -5
  15. package/dist/src/core/runtime.js.map +1 -1
  16. package/dist/src/core/scaler.d.ts +37 -0
  17. package/dist/src/core/scaler.d.ts.map +1 -0
  18. package/dist/src/core/scaler.js +112 -0
  19. package/dist/src/core/scaler.js.map +1 -0
  20. package/dist/src/core/types.d.ts +36 -2
  21. package/dist/src/core/types.d.ts.map +1 -1
  22. package/dist/src/core/types.js.map +1 -1
  23. package/dist/src/dsl/builder.d.ts +8 -3
  24. package/dist/src/dsl/builder.d.ts.map +1 -1
  25. package/dist/src/dsl/builder.js +13 -1
  26. package/dist/src/dsl/builder.js.map +1 -1
  27. package/dist/src/environments/dolt/adapter.d.ts +3 -2
  28. package/dist/src/environments/dolt/adapter.d.ts.map +1 -1
  29. package/dist/src/environments/dolt/adapter.js +17 -0
  30. package/dist/src/environments/dolt/adapter.js.map +1 -1
  31. package/dist/src/environments/filesystem/adapter.d.ts +3 -2
  32. package/dist/src/environments/filesystem/adapter.d.ts.map +1 -1
  33. package/dist/src/environments/filesystem/adapter.js +12 -0
  34. package/dist/src/environments/filesystem/adapter.js.map +1 -1
  35. package/dist/src/environments/github/adapter.d.ts +3 -2
  36. package/dist/src/environments/github/adapter.d.ts.map +1 -1
  37. package/dist/src/environments/github/adapter.js +19 -0
  38. package/dist/src/environments/github/adapter.js.map +1 -1
  39. package/dist/src/hosts/docker.d.ts.map +1 -1
  40. package/dist/src/hosts/docker.js +7 -29
  41. package/dist/src/hosts/docker.js.map +1 -1
  42. package/dist/src/index.d.ts +4 -2
  43. package/dist/src/index.d.ts.map +1 -1
  44. package/dist/src/index.js +3 -0
  45. package/dist/src/index.js.map +1 -1
  46. package/package.json +1 -1
@@ -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 declare function startDashboard(source: DashboardSource, options: DashboardOptions): Promise<void>;
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":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,0DAA0D;IAC1D,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9B,sBAAsB;IACtB,QAAQ,IAAI,UAAU,EAAE,CAAC;IACzB,4BAA4B;IAC5B,YAAY,IAAI,MAAM,EAAE,CAAC;IACzB,oDAAoD;IACpD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxG,+CAA+C;IAC/C,QAAQ,CAAC,cAAc,EAAE,gBAAgB,EAAE,CAAC;IAC5C,cAAc;IACd,KAAK,IAAI,IAAI,CAAC;CACf;AAID,qBAAa,oBAAqB,YAAW,eAAe;IAExD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;gBAHf,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,EAAE,EACnB,YAAY,EAAE,MAAM,UAAU,EAAE,EAChC,eAAe,GAAE,gBAAgB,EAAO;IAGlD,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAI9C,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAYnC,QAAQ,IAAI,UAAU,EAAE;IAIxB,YAAY,IAAI,MAAM,EAAE;IAIlB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAW7G,IAAI,cAAc,IAAI,gBAAgB,EAAE,CAEvC;IAED,KAAK,IAAI,IAAI;CAGd;AAID,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,EAAE,CAavE;AAID,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAuHf"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/server.ts"],"names":[],"mappings":"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"}
@@ -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
- server.listen(options.port, () => {
161
- console.log(` dashboard: http://localhost:${options.port}`);
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 dashUrl = `http://localhost:${options.port}`;
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 = async () => {
182
+ const shutdown = () => {
176
183
  console.log('\n shutting down...');
177
- clearInterval(snapshotInterval);
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,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAKhD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAqC1D,gEAAgE;AAEhE,MAAM,OAAO,oBAAoB;IAErB;IACA;IACA;IACA;IAJV,YACU,QAAkB,EAClB,IAAmB,EACnB,YAAgC,EAChC,kBAAsC,EAAE;QAHxC,aAAQ,GAAR,QAAQ,CAAU;QAClB,SAAI,GAAJ,IAAI,CAAe;QACnB,iBAAY,GAAZ,YAAY,CAAoB;QAChC,oBAAe,GAAf,eAAe,CAAyB;IAC/C,CAAC;IAEJ,OAAO,CAAC,EAAqC;QAC3C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACpB,CAAS,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAgC,EAAE,GAAY,EAAE,IAAe;QACzF,MAAM,MAAM,GAAG,GAAG;YAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC,OAAO,CAAC;YACpB,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK;QACH,qBAAqB;IACvB,CAAC;CACF;AAUD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IACD,wCAAwC;IACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,OAAyB;IAEzB,MAAM,YAAY,GAAuB,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,GAAG,CAAC;IAEvB,SAAS,SAAS,CAAC,KAAuB;QACxC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,YAAY,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YACrC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAE5C,cAAc;IACd,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,GAAoB,EAAE,GAAmB,EAAE,EAAE;QAC9E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAExE,eAAe;QACf,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;QAE9D,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxC,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAE7B,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;gBAC5C,QAAQ,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAEjD,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACxC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,GAAG,CAAC,CAAC,KAAK;iBACX,CAAC,CAAC,CAAC;gBACJ,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAE3B,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;gBAChD,QAAQ,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAEjF,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC1C,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YAE1C,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACpE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACxE,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;YAEjC,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAClE,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YAE5B,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,EAAE;QACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,2DAA2D;IAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,kBAAkB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxC,kBAAkB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAC1C,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,oBAAoB;IACpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACpD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;YAChE,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACtC,CAAC;IAED,oBAAoB;IACpB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,gEAAgE;AAEhE,SAAS,kBAAkB,CAAC,GAAoB,EAAE,IAAa;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAmB,EAAE,IAAa,EAAE,MAAM,GAAG,GAAG;IAChE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,GAAoB;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/D,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAmB;IAC/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACnE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACnE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,MAAM,aAAa,GAAG;;;;;eAKP,CAAC"}
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;AAE3B,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
+ {"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;AAgC/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"}
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,EAEZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,QAAQ,EAAyB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEzF,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,UAAU,CAAwC;IAC1D,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,UAAU,CAAC,CAAiC;IACpD,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;IASH,IAAI,KAAK,IAAI,YAAY,CAAwB;IACjD,IAAI,WAAW,IAAI,MAAM,CAA8B;IACvD,IAAI,WAAW,IAAI,MAAM,CAAwC;IACjE,IAAI,KAAK,IAAI,YAAY,CAA+B;IACxD,IAAI,IAAI,IAAI,MAAM,CAAiC;IAM7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B3B,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;AAcD;;;;;;;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"}
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"}
@@ -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.definition.concurrency; }
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.definition.concurrency})`);
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.definition.concurrency)
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.definition.concurrency)
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.definition.concurrency)
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":"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"}