@honeybee-ai/waggle-cli 1.0.19 → 1.0.20

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/brood.d.ts CHANGED
@@ -30,6 +30,24 @@ export interface WakeOnRaw {
30
30
  timeout?: number;
31
31
  max_wakes?: number;
32
32
  }
33
+ export type ComputeTier = 'shared' | 'reserved' | 'edge';
34
+ export interface TriggerActionConfig {
35
+ action: string;
36
+ config?: Record<string, string>;
37
+ }
38
+ export interface ScheduleEntry {
39
+ every: string;
40
+ action: string;
41
+ config?: Record<string, string>;
42
+ }
43
+ export interface HoneycombConfig {
44
+ publishes?: string[];
45
+ subscribes?: string[];
46
+ compute?: ComputeTier;
47
+ region?: string;
48
+ on?: Record<string, string | TriggerActionConfig>;
49
+ schedule?: Record<string, ScheduleEntry>;
50
+ }
33
51
  export interface AgentEntry {
34
52
  role: string;
35
53
  count?: number;
@@ -62,16 +80,10 @@ export interface HiveConfig {
62
80
  dances?: string;
63
81
  /** Agent definitions. Accepts both 'agents' and 'workers' in YAML (alias). */
64
82
  agents?: AgentEntry[];
65
- /** Cross-hive event routing. Alias: 'comb'. */
66
- honeycomb?: {
67
- publishes?: string[];
68
- subscribes?: string[];
69
- };
83
+ /** Cross-hive event routing + triggers. Alias: 'comb'. */
84
+ honeycomb?: HoneycombConfig;
70
85
  /** @deprecated Use 'honeycomb'. */
71
- comb?: {
72
- publishes?: string[];
73
- subscribes?: string[];
74
- };
86
+ comb?: HoneycombConfig;
75
87
  }
76
88
  export interface BroodConfig {
77
89
  name: string;
@@ -88,6 +100,8 @@ export interface BroodConfig {
88
100
  dances?: string;
89
101
  hives: Record<string, HiveConfig>;
90
102
  }
103
+ /** Parse a duration string ("30s", "15m", "1h", "2h30m") to milliseconds. */
104
+ export declare function parseDuration(str: string): number;
91
105
  /** Find brood file in directory or via explicit path. */
92
106
  export declare function findBroodFile(fileArg?: string): string | null;
93
107
  /** Parse and validate a brood file. */
package/dist/brood.js CHANGED
@@ -37,6 +37,25 @@ export function normalizeStartOn(raw) {
37
37
  }
38
38
  throw new Error('startOn must be a string, { event, count? }, or { all: [...] }');
39
39
  }
40
+ // ─── Duration Parsing ─────────────────────────────────────────
41
+ const DURATION_RE = /^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/;
42
+ const MIN_SCHEDULE_MS = 10_000; // 10s minimum
43
+ const MAX_SCHEDULE_MS = 86_400_000; // 24h maximum
44
+ /** Parse a duration string ("30s", "15m", "1h", "2h30m") to milliseconds. */
45
+ export function parseDuration(str) {
46
+ const m = DURATION_RE.exec(str);
47
+ if (!m || (!m[1] && !m[2] && !m[3])) {
48
+ throw new Error(`Invalid duration "${str}" — use format like "30s", "15m", "1h", "2h30m"`);
49
+ }
50
+ const h = parseInt(m[1] || '0', 10);
51
+ const min = parseInt(m[2] || '0', 10);
52
+ const s = parseInt(m[3] || '0', 10);
53
+ return (h * 3600 + min * 60 + s) * 1000;
54
+ }
55
+ // ─── Validation Patterns ──────────────────────────────────────
56
+ const EVENT_TYPE_RE = /^[a-z][a-z0-9_.]*$/;
57
+ const REGION_RE = /^[a-z0-9-]{1,32}$/;
58
+ const COMPUTE_TIERS = new Set(['shared', 'reserved', 'edge']);
40
59
  const BROOD_FILES = ['brood.yaml', 'brood.yml', 'brood.json'];
41
60
  /** Find brood file in directory or via explicit path. */
42
61
  export function findBroodFile(fileArg) {
@@ -193,10 +212,100 @@ function validate(raw) {
193
212
  throw new Error(`hive "${name}".honeycomb must be an object`);
194
213
  }
195
214
  const hc = honeycombRaw;
196
- config.honeycomb = {
215
+ const honeycombConfig = {
197
216
  publishes: Array.isArray(hc.publishes) ? hc.publishes.filter((x) => typeof x === 'string') : undefined,
198
217
  subscribes: Array.isArray(hc.subscribes) ? hc.subscribes.filter((x) => typeof x === 'string') : undefined,
199
218
  };
219
+ // Compute tier
220
+ if (hc.compute !== undefined) {
221
+ if (typeof hc.compute !== 'string' || !COMPUTE_TIERS.has(hc.compute)) {
222
+ throw new Error(`hive "${name}".honeycomb.compute must be 'shared', 'reserved', or 'edge'`);
223
+ }
224
+ honeycombConfig.compute = hc.compute;
225
+ }
226
+ // Region
227
+ if (hc.region !== undefined) {
228
+ if (typeof hc.region !== 'string' || !REGION_RE.test(hc.region)) {
229
+ throw new Error(`hive "${name}".honeycomb.region must match /^[a-z0-9-]{1,32}$/`);
230
+ }
231
+ honeycombConfig.region = hc.region;
232
+ }
233
+ // Event triggers (on:)
234
+ if (hc.on !== undefined) {
235
+ if (!hc.on || typeof hc.on !== 'object' || Array.isArray(hc.on)) {
236
+ throw new Error(`hive "${name}".honeycomb.on must be an object mapping event types to actions`);
237
+ }
238
+ const onMap = {};
239
+ for (const [eventType, actionRaw] of Object.entries(hc.on)) {
240
+ if (!EVENT_TYPE_RE.test(eventType)) {
241
+ throw new Error(`hive "${name}".honeycomb.on: invalid event type "${eventType}" — must match /^[a-z][a-z0-9_.]*$/`);
242
+ }
243
+ if (typeof actionRaw === 'string') {
244
+ onMap[eventType] = actionRaw;
245
+ }
246
+ else if (actionRaw && typeof actionRaw === 'object' && !Array.isArray(actionRaw)) {
247
+ const actionObj = actionRaw;
248
+ if (typeof actionObj.action !== 'string') {
249
+ throw new Error(`hive "${name}".honeycomb.on.${eventType}: action must have an "action" string`);
250
+ }
251
+ const triggerConfig = { action: actionObj.action };
252
+ if (actionObj.config !== undefined) {
253
+ if (!actionObj.config || typeof actionObj.config !== 'object' || Array.isArray(actionObj.config)) {
254
+ throw new Error(`hive "${name}".honeycomb.on.${eventType}: config must be an object`);
255
+ }
256
+ triggerConfig.config = {};
257
+ for (const [ck, cv] of Object.entries(actionObj.config)) {
258
+ triggerConfig.config[ck] = String(cv);
259
+ }
260
+ }
261
+ onMap[eventType] = triggerConfig;
262
+ }
263
+ else {
264
+ throw new Error(`hive "${name}".honeycomb.on.${eventType}: value must be a string or { action, config? }`);
265
+ }
266
+ }
267
+ honeycombConfig.on = onMap;
268
+ }
269
+ // Schedule triggers (schedule:)
270
+ if (hc.schedule !== undefined) {
271
+ if (!hc.schedule || typeof hc.schedule !== 'object' || Array.isArray(hc.schedule)) {
272
+ throw new Error(`hive "${name}".honeycomb.schedule must be an object`);
273
+ }
274
+ const scheduleMap = {};
275
+ for (const [scheduleName, entryRaw] of Object.entries(hc.schedule)) {
276
+ if (!entryRaw || typeof entryRaw !== 'object' || Array.isArray(entryRaw)) {
277
+ throw new Error(`hive "${name}".honeycomb.schedule.${scheduleName} must be an object`);
278
+ }
279
+ const entry = entryRaw;
280
+ if (typeof entry.every !== 'string') {
281
+ throw new Error(`hive "${name}".honeycomb.schedule.${scheduleName}: "every" is required (duration string)`);
282
+ }
283
+ if (typeof entry.action !== 'string') {
284
+ throw new Error(`hive "${name}".honeycomb.schedule.${scheduleName}: "action" is required`);
285
+ }
286
+ // Validate duration range
287
+ const ms = parseDuration(entry.every);
288
+ if (ms < MIN_SCHEDULE_MS) {
289
+ throw new Error(`hive "${name}".honeycomb.schedule.${scheduleName}: interval too short (min 10s)`);
290
+ }
291
+ if (ms > MAX_SCHEDULE_MS) {
292
+ throw new Error(`hive "${name}".honeycomb.schedule.${scheduleName}: interval too long (max 24h)`);
293
+ }
294
+ const scheduleEntry = { every: entry.every, action: entry.action };
295
+ if (entry.config !== undefined) {
296
+ if (!entry.config || typeof entry.config !== 'object' || Array.isArray(entry.config)) {
297
+ throw new Error(`hive "${name}".honeycomb.schedule.${scheduleName}: config must be an object`);
298
+ }
299
+ scheduleEntry.config = {};
300
+ for (const [ck, cv] of Object.entries(entry.config)) {
301
+ scheduleEntry.config[ck] = String(cv);
302
+ }
303
+ }
304
+ scheduleMap[scheduleName] = scheduleEntry;
305
+ }
306
+ honeycombConfig.schedule = scheduleMap;
307
+ }
308
+ config.honeycomb = honeycombConfig;
200
309
  }
201
310
  // Accept 'dances' or 'logic' (prefer dances)
202
311
  const dancesRaw = hive.dances ?? hive.logic;
package/dist/brood.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"brood.js","sourceRoot":"","sources":["../src/brood.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brood.js","sourceRoot":"","sources":["../src/brood.ts"],"names":[],"mappings":"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"}