@mandible-ai/mandible 0.3.4 → 0.3.5

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.
@@ -1,4 +1,4 @@
1
- import type { CloudConfig, Project, CreateProjectRequest, DeployRequest, DeployResult, ColonyStatus, ZoneStatus, CreateApiKeyResponse } from './types.js';
1
+ import type { CloudConfig, Project, CreateProjectRequest, DeployRequest, DeployResult, ColonyStatus, ZoneStatus, CreateApiKeyResponse, BundleUploadInfo } from './types.js';
2
2
  export declare class MandibleCloudError extends Error {
3
3
  code: string;
4
4
  status: number;
@@ -19,6 +19,7 @@ export declare class MandibleCloudClient {
19
19
  stop(projectId?: string): Promise<void>;
20
20
  listZones(projectId?: string): Promise<ZoneStatus[]>;
21
21
  getZone(zoneId: string, projectId?: string): Promise<ZoneStatus>;
22
+ requestBundleUpload(projectId?: string): Promise<BundleUploadInfo>;
22
23
  createApiKey(projectId?: string): Promise<CreateApiKeyResponse>;
23
24
  revokeApiKey(keyId: string): Promise<void>;
24
25
  private get;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/cloud/client.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAEpB,qBAAa,kBAAmB,SAAQ,KAAK;IACxB,IAAI,EAAE,MAAM;IAA0B,MAAM,EAAE,MAAM;gBAApD,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM;CAIxE;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,MAAM,EAAE,WAAW;IAUzB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIlC,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIrE,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAIzD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIpD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQhE,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI/D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAQlC,GAAG;YAIH,IAAI;YAQJ,GAAG;YAIH,KAAK;IAyBnB,OAAO,CAAC,cAAc;CAMvB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/cloud/client.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,oBAAoB,EACpB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,kBAAmB,SAAQ,KAAK;IACxB,IAAI,EAAE,MAAM;IAA0B,MAAM,EAAE,MAAM;gBAApD,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM;CAIxE;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,MAAM,EAAE,WAAW;IAUzB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIlC,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIrE,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAIzD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIpD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQhE,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAWlE,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI/D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAQlC,GAAG;YAIH,IAAI;YAQJ,GAAG;YAIH,KAAK;IAyBnB,OAAO,CAAC,cAAc;CAMvB"}
@@ -66,6 +66,12 @@ export class MandibleCloudClient {
66
66
  return this.get(`/v1/projects/${projectId ?? this.requireProject()}/zones/${zoneId}`);
67
67
  }
68
68
  // ----------------------------------------------------------
69
+ // Bundles
70
+ // ----------------------------------------------------------
71
+ async requestBundleUpload(projectId) {
72
+ return this.post(`/v1/projects/${projectId ?? this.requireProject()}/bundles/upload`, {});
73
+ }
74
+ // ----------------------------------------------------------
69
75
  // API Keys
70
76
  // ----------------------------------------------------------
71
77
  async createApiKey(projectId) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/cloud/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/cloud/client.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { MandibleCloudClient, MandibleCloudError } from './client.js';
2
- export type { CloudConfig, Project, CreateProjectRequest, DeployRequest, DeployColonyConfig, DeployResult, DeployedColony, ZoneState, ZoneStatus, ZoneMetrics, HostResources, ColonyStatus, ApiKey, CreateApiKeyResponse, ApiError, } from './types.js';
2
+ export type { Account, CloudConfig, Project, CreateProjectRequest, DeployRequest, DeployColonyConfig, DeployResult, DeployedColony, ZoneState, ZoneStatus, ZoneMetrics, HostResources, ColonyStatus, ApiKey, CreateApiKeyResponse, ApiError, ColonyModuleRef, BundleUploadInfo, } from './types.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cloud/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtE,YAAY,EACV,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,MAAM,EACN,oBAAoB,EACpB,QAAQ,GACT,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cloud/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtE,YAAY,EACV,OAAO,EACP,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,MAAM,EACN,oBAAoB,EACpB,QAAQ,EACR,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -4,9 +4,17 @@ export interface CloudConfig {
4
4
  apiUrl: string;
5
5
  apiKey: string;
6
6
  project?: string;
7
+ accountId?: string;
8
+ }
9
+ export interface Account {
10
+ id: string;
11
+ name: string;
12
+ email?: string;
13
+ createdAt: string;
7
14
  }
8
15
  export interface Project {
9
16
  id: string;
17
+ accountId: string;
10
18
  name: string;
11
19
  signalServerUrl: string;
12
20
  createdAt: string;
@@ -17,6 +25,8 @@ export interface CreateProjectRequest {
17
25
  }
18
26
  export interface DeployRequest {
19
27
  colonies: DeployColonyConfig[];
28
+ bundleS3Key?: string;
29
+ bundleHash?: string;
20
30
  }
21
31
  export interface DeployColonyConfig {
22
32
  name: string;
@@ -34,6 +44,27 @@ export interface DeployColonyConfig {
34
44
  concurrency: number;
35
45
  config?: Record<string, unknown>;
36
46
  resources?: HostResources;
47
+ environmentConfig?: Record<string, unknown>;
48
+ moduleRef?: {
49
+ export: string;
50
+ args?: unknown[];
51
+ };
52
+ }
53
+ /**
54
+ * Reference to a colony configurator module for cloud deployment.
55
+ * Instead of passing a closure (which can't be serialized), pass a reference
56
+ * to a module file, its exported function name, and optional arguments.
57
+ *
58
+ * For local host: the module is dynamically imported and called.
59
+ * For cloud host: the module is bundled via esbuild and shipped to the zone.
60
+ */
61
+ export interface ColonyModuleRef {
62
+ /** Path to the module file (relative to cwd or absolute) */
63
+ module: string;
64
+ /** Name of the exported configurator function */
65
+ export: string;
66
+ /** Arguments to pass to the configurator function */
67
+ args?: unknown[];
37
68
  }
38
69
  export interface DeployResult {
39
70
  projectId: string;
@@ -83,16 +114,25 @@ export interface ColonyStatus {
83
114
  }
84
115
  export interface ApiKey {
85
116
  id: string;
117
+ accountId: string;
86
118
  prefix: string;
87
- project: string;
119
+ scopes: string[];
120
+ projectIds?: string[];
88
121
  createdAt: string;
89
122
  lastUsedAt?: string;
123
+ expiresAt?: string;
90
124
  }
91
125
  export interface CreateApiKeyResponse {
92
126
  id: string;
93
127
  key: string;
94
128
  prefix: string;
95
129
  }
130
+ export interface BundleUploadInfo {
131
+ /** Presigned S3 PUT URL for uploading the bundle */
132
+ url: string;
133
+ /** S3 key where the bundle will be stored */
134
+ s3Key: string;
135
+ }
96
136
  export interface ApiError {
97
137
  code: string;
98
138
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cloud/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cloud/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  import { ColonyBuilder } from './builder.js';
2
2
  import type { Environment, ColonyDefinition, Host } from '../core/types.js';
3
+ import type { ColonyModuleRef } from '../cloud/types.js';
3
4
  type ColonyConfigurator = (builder: ColonyBuilder) => ColonyBuilder;
5
+ interface ColonyEntry {
6
+ name: string;
7
+ configurator?: ColonyConfigurator;
8
+ moduleRef?: ColonyModuleRef;
9
+ }
4
10
  export declare class MandibleBuilder {
5
11
  private _name;
6
12
  private _env?;
@@ -14,8 +20,21 @@ export declare class MandibleBuilder {
14
20
  * If not specified, defaults to LocalHost (runs in current process).
15
21
  */
16
22
  host(host: Host): this;
17
- /** Add a colony */
18
- colony(name: string, configure: ColonyConfigurator): this;
23
+ /**
24
+ * Add a colony.
25
+ *
26
+ * Accepts either a configurator closure (for local usage) or a module
27
+ * reference (for cloud deployment where closures can't be serialized).
28
+ *
29
+ * @example Closure (local host):
30
+ * .colony('scout', c => c.sense('task:ready').do('work', handler))
31
+ *
32
+ * @example Module ref (cloud host):
33
+ * .colony('scout', { module: './scout.js', export: 'configureScout', args: [repoRoot] })
34
+ */
35
+ colony(name: string, configure: ColonyConfigurator | ColonyModuleRef): this;
36
+ /** Get the raw colony entries (used by CloudHost for bundling) */
37
+ get colonyEntries(): ReadonlyArray<Readonly<ColonyEntry>>;
19
38
  /**
20
39
  * Start colonies on the configured host.
21
40
  * What "start" means depends on the host:
@@ -32,7 +51,7 @@ export declare class MandibleBuilder {
32
51
  * Build colony definitions without starting anything.
33
52
  * Useful for testing or custom orchestration.
34
53
  */
35
- build(env?: Environment): ColonyDefinition[];
54
+ build(env?: Environment): Promise<ColonyDefinition[]>;
36
55
  private buildDefinitions;
37
56
  private resolveHost;
38
57
  private requireEnv;
@@ -1 +1 @@
1
- {"version":3,"file":"mandible.d.ts","sourceRoot":"","sources":["../../../src/dsl/mandible.ts"],"names":[],"mappings":"AAyCA,OAAO,EAAE,aAAa,EAA2B,MAAM,cAAc,CAAC;AACtE,OAAO,KAAK,EACV,WAAW,EAAE,gBAAgB,EAC7B,IAAI,EACL,MAAM,kBAAkB,CAAC;AAE1B,KAAK,kBAAkB,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,aAAa,CAAC;AAOpE,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAC,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAO;IACrB,OAAO,CAAC,SAAS,CAAqB;gBAE1B,IAAI,EAAE,MAAM;IAIxB,gEAAgE;IAChE,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAKnC;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAKtB,mBAAmB;IACnB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAKzD;;;;;;;;;;OAUG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,gBAAgB,EAAE;IAU5C,OAAO,CAAC,gBAAgB;YAOV,WAAW;IAOzB,OAAO,CAAC,UAAU;CAQnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAEtD"}
1
+ {"version":3,"file":"mandible.d.ts","sourceRoot":"","sources":["../../../src/dsl/mandible.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAE,aAAa,EAA2B,MAAM,cAAc,CAAC;AACtE,OAAO,KAAK,EACV,WAAW,EAAE,gBAAgB,EAC7B,IAAI,EACL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,KAAK,kBAAkB,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,aAAa,CAAC;AAEpE,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAcD,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAC,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAO;IACrB,OAAO,CAAC,SAAS,CAAqB;gBAE1B,IAAI,EAAE,MAAM;IAIxB,gEAAgE;IAChE,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAKnC;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAKtB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,GAAG,eAAe,GAAG,IAAI;IAS3E,kEAAkE;IAClE,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAExD;IAED;;;;;;;;;;OAUG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;;OAGG;IACG,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAU7C,gBAAgB;YAgBhB,WAAW;IAOzB,OAAO,CAAC,UAAU;CAQnB;AAuBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAEtD"}
@@ -31,7 +31,11 @@
31
31
  // const host = await mandible('review')
32
32
  // .environment(env) // same environment, real signal substrate
33
33
  // .host(cloud({ apiKey: CLOUD_KEY })) // colonies run in Edera microVMs
34
- // .colony('worker', c => c.sense('task:ready').do('work', handler))
34
+ // .colony('scout', {
35
+ // module: './scout.js',
36
+ // export: 'configureScout',
37
+ // args: [TARGET_REPO],
38
+ // })
35
39
  // .start();
36
40
  //
37
41
  // // Dashboard is opt-in after start:
@@ -39,6 +43,15 @@
39
43
  //
40
44
  // ============================================================
41
45
  import { colony as colonyBuilder } from './builder.js';
46
+ /** Check if a value is a ColonyModuleRef (has module + export fields) */
47
+ function isModuleRef(value) {
48
+ return (typeof value === 'object' &&
49
+ value !== null &&
50
+ 'module' in value &&
51
+ 'export' in value &&
52
+ typeof value.module === 'string' &&
53
+ typeof value.export === 'string');
54
+ }
42
55
  export class MandibleBuilder {
43
56
  _name;
44
57
  _env;
@@ -60,11 +73,31 @@ export class MandibleBuilder {
60
73
  this._host = host;
61
74
  return this;
62
75
  }
63
- /** Add a colony */
76
+ /**
77
+ * Add a colony.
78
+ *
79
+ * Accepts either a configurator closure (for local usage) or a module
80
+ * reference (for cloud deployment where closures can't be serialized).
81
+ *
82
+ * @example Closure (local host):
83
+ * .colony('scout', c => c.sense('task:ready').do('work', handler))
84
+ *
85
+ * @example Module ref (cloud host):
86
+ * .colony('scout', { module: './scout.js', export: 'configureScout', args: [repoRoot] })
87
+ */
64
88
  colony(name, configure) {
65
- this._colonies.push({ name, configurator: configure });
89
+ if (isModuleRef(configure)) {
90
+ this._colonies.push({ name, moduleRef: configure });
91
+ }
92
+ else {
93
+ this._colonies.push({ name, configurator: configure });
94
+ }
66
95
  return this;
67
96
  }
97
+ /** Get the raw colony entries (used by CloudHost for bundling) */
98
+ get colonyEntries() {
99
+ return this._colonies;
100
+ }
68
101
  /**
69
102
  * Start colonies on the configured host.
70
103
  * What "start" means depends on the host:
@@ -79,7 +112,11 @@ export class MandibleBuilder {
79
112
  async start() {
80
113
  const env = this.requireEnv();
81
114
  const host = await this.resolveHost();
82
- const definitions = this.buildDefinitions(env);
115
+ const definitions = await this.buildDefinitions(env);
116
+ // Pass colony entries to the host if it supports module refs (CloudHost)
117
+ if ('setColonyEntries' in host && typeof host.setColonyEntries === 'function') {
118
+ host.setColonyEntries(this._colonies);
119
+ }
83
120
  await host.start(definitions);
84
121
  return host;
85
122
  }
@@ -87,18 +124,28 @@ export class MandibleBuilder {
87
124
  * Build colony definitions without starting anything.
88
125
  * Useful for testing or custom orchestration.
89
126
  */
90
- build(env) {
127
+ async build(env) {
91
128
  const targetEnv = env ?? this._env;
92
129
  if (!targetEnv) {
93
130
  throw new Error(`"${this._name}" requires an environment. Call .environment(env) or pass one to .build(env).`);
94
131
  }
95
132
  return this.buildDefinitions(targetEnv);
96
133
  }
97
- buildDefinitions(env) {
98
- return this._colonies.map(entry => {
99
- const builder = entry.configurator(colonyBuilder(entry.name));
100
- return builder.in(env).build();
101
- });
134
+ async buildDefinitions(env) {
135
+ const results = [];
136
+ for (const entry of this._colonies) {
137
+ if (entry.configurator) {
138
+ const builder = entry.configurator(colonyBuilder(entry.name));
139
+ results.push(builder.in(env).build());
140
+ }
141
+ else if (entry.moduleRef) {
142
+ // For module refs, resolve via dynamic import (works for local host)
143
+ const configurator = await resolveModuleRef(entry.moduleRef);
144
+ const builder = configurator(colonyBuilder(entry.name));
145
+ results.push(builder.in(env).build());
146
+ }
147
+ }
148
+ return results;
102
149
  }
103
150
  async resolveHost() {
104
151
  if (this._host)
@@ -114,6 +161,22 @@ export class MandibleBuilder {
114
161
  return this._env;
115
162
  }
116
163
  }
164
+ /**
165
+ * Resolve a ColonyModuleRef to a live configurator function via dynamic import.
166
+ * Used by LocalHost to run module-ref-based colonies locally.
167
+ */
168
+ async function resolveModuleRef(ref) {
169
+ const mod = await import(ref.module);
170
+ const fn = mod[ref.export];
171
+ if (typeof fn !== 'function') {
172
+ throw new Error(`Module "${ref.module}" does not export a function named "${ref.export}"`);
173
+ }
174
+ const result = fn(...(ref.args ?? []));
175
+ if (typeof result !== 'function') {
176
+ throw new Error(`"${ref.export}" from "${ref.module}" must return a configurator function (builder => builder), got ${typeof result}`);
177
+ }
178
+ return result;
179
+ }
117
180
  /**
118
181
  * Entry point for the mandible DSL.
119
182
  *
@@ -1 +1 @@
1
- {"version":3,"file":"mandible.js","sourceRoot":"","sources":["../../../src/dsl/mandible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mandible.js","sourceRoot":"","sources":["../../../src/dsl/mandible.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mandible-ai/mandible",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "Universal stigmergy framework for autonomous agent coordination — like ant colonies using pheromone trails",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",