society-protocol 1.0.1 → 1.2.0

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 (52) hide show
  1. package/dist/bootstrap.d.ts +8 -3
  2. package/dist/bootstrap.d.ts.map +1 -1
  3. package/dist/bootstrap.js +52 -9
  4. package/dist/bootstrap.js.map +1 -1
  5. package/dist/content-store.d.ts +77 -0
  6. package/dist/content-store.d.ts.map +1 -0
  7. package/dist/content-store.js +178 -0
  8. package/dist/content-store.js.map +1 -0
  9. package/dist/identity.d.ts +22 -0
  10. package/dist/identity.d.ts.map +1 -1
  11. package/dist/identity.js +60 -0
  12. package/dist/identity.js.map +1 -1
  13. package/dist/index.js +174 -40
  14. package/dist/index.js.map +1 -1
  15. package/dist/knowledge.d.ts +168 -1
  16. package/dist/knowledge.d.ts.map +1 -1
  17. package/dist/knowledge.js +682 -3
  18. package/dist/knowledge.js.map +1 -1
  19. package/dist/lib.d.ts +7 -5
  20. package/dist/lib.d.ts.map +1 -1
  21. package/dist/lib.js +7 -5
  22. package/dist/lib.js.map +1 -1
  23. package/dist/p2p.d.ts +27 -0
  24. package/dist/p2p.d.ts.map +1 -1
  25. package/dist/p2p.js +165 -69
  26. package/dist/p2p.js.map +1 -1
  27. package/dist/planner.d.ts +1 -0
  28. package/dist/planner.d.ts.map +1 -1
  29. package/dist/planner.js +26 -4
  30. package/dist/planner.js.map +1 -1
  31. package/dist/proactive/watcher.d.ts +76 -0
  32. package/dist/proactive/watcher.d.ts.map +1 -0
  33. package/dist/proactive/watcher.js +246 -0
  34. package/dist/proactive/watcher.js.map +1 -0
  35. package/dist/registry.d.ts +4 -0
  36. package/dist/registry.d.ts.map +1 -1
  37. package/dist/registry.js +21 -0
  38. package/dist/registry.js.map +1 -1
  39. package/dist/reputation.d.ts +36 -0
  40. package/dist/reputation.d.ts.map +1 -1
  41. package/dist/reputation.js +76 -0
  42. package/dist/reputation.js.map +1 -1
  43. package/dist/rooms.d.ts +24 -0
  44. package/dist/rooms.d.ts.map +1 -1
  45. package/dist/rooms.js +90 -0
  46. package/dist/rooms.js.map +1 -1
  47. package/dist/sdk/index.d.ts +1 -1
  48. package/dist/sdk/index.js +1 -1
  49. package/dist/swp.d.ts +1 -1
  50. package/dist/swp.d.ts.map +1 -1
  51. package/dist/swp.js.map +1 -1
  52. package/package.json +1 -1
package/dist/p2p.js CHANGED
@@ -54,6 +54,12 @@ export function adapterTopic(roomId) {
54
54
  export function capsuleTopic(roomId) {
55
55
  return `${TOPIC_PREFIX}/capsule/${roomId}`;
56
56
  }
57
+ export function knowledgeTopic(spaceId) {
58
+ return `${TOPIC_PREFIX}/knowledge/${spaceId}`;
59
+ }
60
+ export function reputationTopic(roomId) {
61
+ return `${TOPIC_PREFIX}/reputation/${roomId}`;
62
+ }
57
63
  export function federationTopic(roomId) {
58
64
  return `${TOPIC_PREFIX}/federation/${roomId}`;
59
65
  }
@@ -126,6 +132,9 @@ export class P2PNode extends EventEmitter {
126
132
  messageHandlers = new Map();
127
133
  peerLatencies = new Map();
128
134
  connectionPool = new LRUCache(MAX_CONNECTION_POOL);
135
+ gossipsubAvailable = false; // Detected at runtime
136
+ security;
137
+ encryptedTopics = new Set(); // Topics that require encryption
129
138
  stats = {
130
139
  bytesSent: 0,
131
140
  bytesReceived: 0,
@@ -204,16 +213,23 @@ export class P2PNode extends EventEmitter {
204
213
  });
205
214
  // Set up protocol handler for direct streams
206
215
  await this.node.handle(SOCIETY_PROTOCOL, this.handleProtocolStream.bind(this));
207
- // Set up GossipSub message handler
216
+ // Set up GossipSub message handler (detect compatibility at runtime)
208
217
  if (this.config.enableGossipsub) {
209
- // @ts-ignore - pubsub exists in runtime
210
- this.node.services.pubsub.addEventListener('message', (evt) => {
211
- this.handleGossipMessage(evt);
212
- });
213
- // @ts-ignore - pubsub exists in runtime
214
- this.node.services.pubsub.addEventListener('subscription-change', (evt) => {
215
- this.emit('subscription:change', evt);
216
- });
218
+ try {
219
+ // @ts-ignore - pubsub exists in runtime
220
+ this.node.services.pubsub.addEventListener('message', (evt) => {
221
+ this.handleGossipMessage(evt);
222
+ });
223
+ // @ts-ignore - pubsub exists in runtime
224
+ this.node.services.pubsub.addEventListener('subscription-change', (evt) => {
225
+ this.emit('subscription:change', evt);
226
+ });
227
+ this.gossipsubAvailable = true;
228
+ }
229
+ catch {
230
+ this.gossipsubAvailable = false;
231
+ console.log(`[p2p] GossipSub unavailable (interface version mismatch), using direct protocol`);
232
+ }
217
233
  }
218
234
  // Track peer connections
219
235
  this.node.addEventListener('peer:connect', (evt) => {
@@ -239,9 +255,6 @@ export class P2PNode extends EventEmitter {
239
255
  console.log(`[p2p] Node started. PeerId: ${this.node.peerId.toString()}`);
240
256
  console.log(`[p2p] Listening on:`);
241
257
  addrs.forEach((a) => console.log(` ${a}`));
242
- if (this.config.enableGossipsub) {
243
- console.log(`[p2p] GossipSub enabled`);
244
- }
245
258
  if (this.config.enableDht) {
246
259
  console.log(`[p2p] DHT enabled`);
247
260
  }
@@ -254,9 +267,14 @@ export class P2PNode extends EventEmitter {
254
267
  async subscribe(topic, handler) {
255
268
  if (this.subscribedTopics.has(topic))
256
269
  return;
257
- if (this.config.enableGossipsub) {
258
- // @ts-ignore - pubsub exists in runtime
259
- await this.node.services.pubsub.subscribe(topic);
270
+ if (this.gossipsubAvailable) {
271
+ try {
272
+ // @ts-ignore - pubsub exists in runtime
273
+ await this.node.services.pubsub.subscribe(topic);
274
+ }
275
+ catch {
276
+ // GossipSub subscribe failed — continue with direct protocol
277
+ }
260
278
  }
261
279
  this.subscribedTopics.add(topic);
262
280
  if (!P2PNode.inProcessTopicSubscribers.has(topic)) {
@@ -266,15 +284,19 @@ export class P2PNode extends EventEmitter {
266
284
  if (handler) {
267
285
  this.messageHandlers.set(topic, handler);
268
286
  }
269
- console.log(`[p2p] Subscribed to: ${topic}`);
270
287
  this.emit('subscribed', topic);
271
288
  }
272
289
  async unsubscribe(topic) {
273
290
  if (!this.subscribedTopics.has(topic))
274
291
  return;
275
- if (this.config.enableGossipsub) {
276
- // @ts-ignore - pubsub exists in runtime
277
- await this.node.services.pubsub.unsubscribe(topic);
292
+ if (this.gossipsubAvailable) {
293
+ try {
294
+ // @ts-ignore - pubsub exists in runtime
295
+ await this.node.services.pubsub.unsubscribe(topic);
296
+ }
297
+ catch {
298
+ // GossipSub unsubscribe failed — ignore
299
+ }
278
300
  }
279
301
  this.subscribedTopics.delete(topic);
280
302
  this.messageHandlers.delete(topic);
@@ -282,7 +304,6 @@ export class P2PNode extends EventEmitter {
282
304
  if ((P2PNode.inProcessTopicSubscribers.get(topic)?.size || 0) === 0) {
283
305
  P2PNode.inProcessTopicSubscribers.delete(topic);
284
306
  }
285
- console.log(`[p2p] Unsubscribed from: ${topic}`);
286
307
  this.emit('unsubscribed', topic);
287
308
  }
288
309
  async publish(topic, data, priority = 'normal') {
@@ -294,25 +315,50 @@ export class P2PNode extends EventEmitter {
294
315
  this.seenMessages.set(msgHash, Date.now());
295
316
  this.stats.bytesSent += data.byteLength;
296
317
  this.stats.messagesSent += 1;
297
- if (this.config.enableGossipsub) {
298
- // Use GossipSub for scalable broadcast
299
- // @ts-ignore - pubsub exists in runtime
300
- await this.node.services.pubsub.publish(topic, data);
301
- // Best-effort fallback for local/integration environments where gossip mesh may be slow.
302
- await this.publishDirect(topic, data, priority);
303
- }
304
- else {
305
- // Fallback to direct protocol streaming
306
- await this.publishDirect(topic, data, priority);
318
+ if (this.gossipsubAvailable) {
319
+ try {
320
+ // @ts-ignore - pubsub exists in runtime
321
+ await this.node.services.pubsub.publish(topic, data);
322
+ }
323
+ catch {
324
+ // GossipSub may fail if mesh is not formed — fall through to direct
325
+ }
307
326
  }
327
+ // Always send via direct protocol as primary delivery mechanism
328
+ await this.publishDirect(topic, data, priority);
308
329
  this.publishInProcess(topic, data);
309
330
  }
310
331
  async publishDirect(topic, data, priority) {
311
- const wireMsg = {
312
- topic,
313
- data: Buffer.from(data).toString('base64'),
314
- priority,
315
- };
332
+ let wireMsg;
333
+ // Encrypt if topic requires it and SecurityManager is available
334
+ if (this.encryptedTopics.has(topic) && this.security) {
335
+ try {
336
+ const encrypted = await this.security.encrypt(data, new Uint8Array(32)); // broadcast key
337
+ wireMsg = {
338
+ topic,
339
+ data: Buffer.from(encrypted.ciphertext).toString('base64'),
340
+ priority,
341
+ encrypted: true,
342
+ nonce: Buffer.from(encrypted.nonce).toString('base64'),
343
+ senderPubKey: Buffer.from(encrypted.senderPublicKey).toString('base64'),
344
+ };
345
+ }
346
+ catch {
347
+ // Encryption failed — send plaintext as fallback
348
+ wireMsg = {
349
+ topic,
350
+ data: Buffer.from(data).toString('base64'),
351
+ priority,
352
+ };
353
+ }
354
+ }
355
+ else {
356
+ wireMsg = {
357
+ topic,
358
+ data: Buffer.from(data).toString('base64'),
359
+ priority,
360
+ };
361
+ }
316
362
  const payload = new TextEncoder().encode(JSON.stringify(wireMsg) + '\n');
317
363
  const peers = this.node.getPeers();
318
364
  const promises = peers.map(async (peerId) => {
@@ -443,51 +489,66 @@ export class P2PNode extends EventEmitter {
443
489
  }));
444
490
  }
445
491
  // ─── Handlers ─────────────────────────────────────────────────
446
- async handleProtocolStream(stream) {
492
+ // libp2p 3.x handler: (stream, connection) as separate args
493
+ async handleProtocolStream(stream, connection) {
494
+ const remotePeer = connection?.remotePeer?.toString() || 'unknown';
495
+ let buffer = '';
447
496
  try {
448
- const chunks = [];
449
497
  for await (const chunk of stream) {
450
498
  const bytes = chunk instanceof Uint8Array
451
499
  ? chunk
452
500
  : (chunk.subarray ? chunk.subarray() : new Uint8Array(chunk));
453
- chunks.push(bytes);
454
- }
455
- const totalLen = chunks.reduce((a, c) => a + c.length, 0);
456
- const combined = new Uint8Array(totalLen);
457
- let offset = 0;
458
- for (const c of chunks) {
459
- combined.set(c, offset);
460
- offset += c.length;
461
- }
462
- const text = new TextDecoder().decode(combined);
463
- for (const line of text.split('\n')) {
464
- if (!line.trim())
465
- continue;
466
- try {
467
- const msg = JSON.parse(line);
468
- // Dedup
469
- const msgHash = await this.hashMessage(Buffer.from(msg.data, 'base64'));
470
- if (this.seenMessages.has(msgHash))
501
+ buffer += new TextDecoder().decode(bytes);
502
+ // Process complete lines as they arrive (newline-delimited JSON)
503
+ let newlineIdx;
504
+ while ((newlineIdx = buffer.indexOf('\n')) !== -1) {
505
+ const line = buffer.slice(0, newlineIdx).trim();
506
+ buffer = buffer.slice(newlineIdx + 1);
507
+ if (!line)
471
508
  continue;
472
- this.seenMessages.set(msgHash, Date.now());
473
- // Route to handler
474
- const data = Buffer.from(msg.data, 'base64');
475
- this.stats.bytesReceived += data.byteLength;
476
- this.stats.messagesReceived += 1;
477
- const handler = this.messageHandlers.get(msg.topic);
478
- if (handler) {
479
- handler(new Uint8Array(data), stream.connection?.remotePeer?.toString() || 'unknown');
509
+ try {
510
+ const msg = JSON.parse(line);
511
+ // Dedup
512
+ const msgHash = await this.hashMessage(Buffer.from(msg.data, 'base64'));
513
+ if (this.seenMessages.has(msgHash))
514
+ continue;
515
+ this.seenMessages.set(msgHash, Date.now());
516
+ // Decrypt if encrypted
517
+ let data;
518
+ if (msg.encrypted && msg.nonce && msg.senderPubKey && this.security) {
519
+ try {
520
+ const plaintext = await this.security.decrypt({
521
+ ciphertext: new Uint8Array(Buffer.from(msg.data, 'base64')),
522
+ nonce: new Uint8Array(Buffer.from(msg.nonce, 'base64')),
523
+ senderPublicKey: new Uint8Array(Buffer.from(msg.senderPubKey, 'base64')),
524
+ });
525
+ data = Buffer.from(plaintext);
526
+ }
527
+ catch {
528
+ // Decryption failed — skip this message
529
+ continue;
530
+ }
531
+ }
532
+ else {
533
+ data = Buffer.from(msg.data, 'base64');
534
+ }
535
+ this.stats.bytesReceived += data.byteLength;
536
+ this.stats.messagesReceived += 1;
537
+ const handler = this.messageHandlers.get(msg.topic);
538
+ if (handler) {
539
+ handler(new Uint8Array(data), remotePeer);
540
+ }
541
+ // Emit general message event
542
+ this.emit('message', msg.topic, new Uint8Array(data), remotePeer);
543
+ }
544
+ catch {
545
+ // Malformed JSON line — skip
480
546
  }
481
- // Emit general message event
482
- this.emit('message', msg.topic, new Uint8Array(data), stream.connection?.remotePeer?.toString() || 'unknown');
483
- }
484
- catch {
485
- // Malformed JSON
486
547
  }
487
548
  }
488
549
  }
489
550
  catch {
490
- // Stream error
551
+ // Stream closed or errored — expected for long-lived connections
491
552
  }
492
553
  }
493
554
  handleGossipMessage(evt) {
@@ -581,6 +642,41 @@ export class P2PNode extends EventEmitter {
581
642
  const hash = blake3(data);
582
643
  return Buffer.from(hash).toString('base64url');
583
644
  }
645
+ // ─── Encryption ─────────────────────────────────────────────────
646
+ /**
647
+ * Attach a SecurityManager for E2E encryption.
648
+ * Call this before publishing encrypted messages.
649
+ */
650
+ setSecurityManager(security) {
651
+ this.security = security;
652
+ }
653
+ /**
654
+ * Enable encryption for all messages on a given topic.
655
+ */
656
+ enableEncryption(topic) {
657
+ this.encryptedTopics.add(topic);
658
+ }
659
+ /**
660
+ * Disable encryption for a topic.
661
+ */
662
+ disableEncryption(topic) {
663
+ this.encryptedTopics.delete(topic);
664
+ }
665
+ /**
666
+ * Check if encryption is enabled for a topic.
667
+ */
668
+ isEncrypted(topic) {
669
+ return this.encryptedTopics.has(topic);
670
+ }
671
+ /**
672
+ * Get the local encryption public key (for key exchange).
673
+ */
674
+ async getEncryptionPublicKey() {
675
+ if (!this.security)
676
+ return undefined;
677
+ await this.security.generateKeyPair();
678
+ return this.security.localEncryptionPublicKey;
679
+ }
584
680
  async stop() {
585
681
  // Close all pooled connections
586
682
  for (const [peerId, pooled] of this.connectionPool.entries()) {
package/dist/p2p.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"p2p.js","sourceRoot":"","sources":["../src/p2p.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p2p.js","sourceRoot":"","sources":["../src/p2p.ts"],"names":[],"mappings":"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"}
package/dist/planner.d.ts CHANGED
@@ -91,6 +91,7 @@ export declare class Planner {
91
91
  private tryProvider;
92
92
  private callOpenAI;
93
93
  private callAnthropic;
94
+ private resolveOllamaModel;
94
95
  private callOllama;
95
96
  private callCustom;
96
97
  private buildSystemPrompt;
@@ -1 +1 @@
1
- {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAM3C,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3E,MAAM,WAAW,aAAa;IAE1B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAG3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,UAAU,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,UAAU,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AA0BD,qBAAa,OAAO;IAChB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,UAAU,CAAgB;gBAEtB,MAAM,GAAE,aAAkB;IAMtC;;OAEG;IACG,YAAY,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACL,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,iBAAiB,CAAC,EAAE,eAAe,CAAC;KAClC,GACP,OAAO,CAAC,UAAU,CAAC;IAyDtB;;OAEG;IACI,qBAAqB,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACL,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KACf,GACP,cAAc,CAAC;QACd,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;QACjD,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAkBF;;OAEG;IACG,UAAU,CACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,EAAE,EACxB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,aAAa,GAAG,YAAY,GAAG,UAAU,GAC3D,OAAO,CAAC,UAAU,EAAE,CAAC;IAyCxB;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,gBAAgB;YAgDlC,WAAW;YAyBX,UAAU;YAkDV,aAAa;YAoDb,kBAAkB;YAkBlB,UAAU;YAwCV,UAAU;IAqCxB,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,SAAS;IAqBjB,UAAU,IAAI,IAAI;IAOlB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,YAAY;IAapB,OAAO,IAAI,OAAO;IAIlB,qBAAqB,IAAI,eAAe,EAAE;IAI1C,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;CAOrE"}
package/dist/planner.js CHANGED
@@ -19,8 +19,8 @@ const DEFAULT_CONFIG = {
19
19
  openaiBaseUrl: 'https://api.openai.com/v1',
20
20
  anthropicApiKey: process.env.ANTHROPIC_API_KEY || '',
21
21
  anthropicModel: 'claude-3-5-sonnet-20241022',
22
- ollamaUrl: 'http://localhost:11434',
23
- ollamaModel: 'llama3.2',
22
+ ollamaUrl: process.env.OLLAMA_HOST || 'http://localhost:11434',
23
+ ollamaModel: process.env.OLLAMA_MODEL || '',
24
24
  customEndpoint: '',
25
25
  customHeaders: {},
26
26
  temperature: 0.2,
@@ -281,12 +281,34 @@ These steps should be inserted after ${triggerStepId}.
281
281
  reasoning: parsed.reasoning,
282
282
  };
283
283
  }
284
+ async resolveOllamaModel() {
285
+ if (this.config.ollamaModel)
286
+ return this.config.ollamaModel;
287
+ try {
288
+ const res = await fetch(`${this.config.ollamaUrl}/api/tags`);
289
+ if (!res.ok)
290
+ return 'llama3.2';
291
+ const data = await res.json();
292
+ const localModels = (data.models || []).filter(m => !m.name.includes('cloud'));
293
+ if (localModels.length === 0)
294
+ return 'llama3.2';
295
+ // Prefer largest local model
296
+ localModels.sort((a, b) => b.size - a.size);
297
+ const model = localModels[0].name;
298
+ this.config.ollamaModel = model;
299
+ return model;
300
+ }
301
+ catch {
302
+ return 'llama3.2';
303
+ }
304
+ }
284
305
  async callOllama(goal, options, startTime) {
306
+ const model = await this.resolveOllamaModel();
285
307
  const response = await fetch(`${this.config.ollamaUrl}/api/generate`, {
286
308
  method: 'POST',
287
309
  headers: { 'Content-Type': 'application/json' },
288
310
  body: JSON.stringify({
289
- model: this.config.ollamaModel,
311
+ model,
290
312
  system: this.buildSystemPrompt(),
291
313
  prompt: this.buildUserPrompt(goal, options),
292
314
  stream: false,
@@ -305,7 +327,7 @@ These steps should be inserted after ${triggerStepId}.
305
327
  return {
306
328
  dag,
307
329
  provider: 'ollama',
308
- model: this.config.ollamaModel,
330
+ model,
309
331
  confidence: parsed.confidence || 0.7,
310
332
  latencyMs: Date.now() - startTime,
311
333
  cached: false,
@@ -1 +1 @@
1
- {"version":3,"file":"planner.js","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAoEpC,mEAAmE;AAEnE,MAAM,cAAc,GAA4B;IAC5C,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;IAC9C,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE,2BAA2B;IAC1C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;IACpD,cAAc,EAAE,4BAA4B;IAC5C,SAAS,EAAE,wBAAwB;IACnC,WAAW,EAAE,UAAU;IACvB,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;CACnD,CAAC;AAEF,mEAAmE;AAEnE,MAAM,OAAO,OAAO;IACR,MAAM,CAA0B;IAChC,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC1C,UAAU,GAAa,EAAE,CAAC,CAAC,eAAe;IAElD,YAAY,SAAwB,EAAE;QAClC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IACnD,CAAC;IAED,iEAAiE;IAEjE;;OAEG;IACH,KAAK,CAAC,YAAY,CACd,IAAY,EACZ,UAKI,EAAE;QAEN,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,cAAc;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAC5D,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO;oBACH,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,KAAK,EAAE,QAAQ;oBACf,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,SAAS,EAAE,CAAC;oBACZ,MAAM,EAAE,IAAI;iBACf,CAAC;YACN,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,iBAAiB;YAC3C,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACxG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAEhC,yBAAyB;QACzB,IAAI,SAA4B,CAAC;QAEjC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAElD,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAE/D,sBAAsB;gBACtB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,aAAa,QAAQ,wBAAwB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC/E,SAAS;gBACb,CAAC;gBAED,eAAe;gBACf,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACrD,CAAC;gBAED,OAAO,MAAM,CAAC;YAClB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,aAAa,QAAQ,UAAU,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;gBACtE,SAAS,GAAG,GAAY,CAAC;gBACzB,SAAS;YACb,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CACX,qCAAqC,SAAS,EAAE,OAAO,IAAI,SAAS,EAAE,CACzE,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,qBAAqB,CACxB,IAAY,EACZ,UAGI,EAAE;QAON,uCAAuC;QACvC,iEAAiE;QACjE,IAAI,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEtD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC5B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvC,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;QAC3D,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACZ,IAAY,EACZ,UAAwB,EACxB,aAAqB,EACrB,eAA0D;QAE1D,MAAM,OAAO,GAAG;;EAEtB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;gBAE1D,aAAa;wBACL,eAAe;;2CAEI,eAAe;uCACnB,aAAa;CACnD,CAAC;QAEM,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAE1D,oCAAoC;QACpC,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC;QAExE,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,GAAG,IAAI;YACP,OAAO,EAAE,GAAG,aAAa,WAAW,CAAC,EAAE;YACvC,UAAU,EAAE,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC;SACnF,CAAC,CAAC,CAAC;QAEJ,iCAAiC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAE/E,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAChE,CAAC;QACN,CAAC;QAED,mBAAmB;QACnB,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;QAE/C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAiB;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,+BAA+B;QAC/B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACrB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,6BAA6B,GAAG,EAAE,CAAC,CAAC;gBACxE,CAAC;YACL,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACzC,CAAC;QAED,2BAA2B;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,qBAAqB,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACxF,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAED,iEAAiE;IAEzD,KAAK,CAAC,WAAW,CACrB,QAAyB,EACzB,IAAY,EACZ,OAIC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACrD,KAAK,WAAW;gBACZ,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACxD,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACrD,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACrD;gBACI,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,UAAU,CACpB,IAAY,EACZ,OAAqD,EACrD,SAAiB;QAEjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,mBAAmB,EAAE;YAC1E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;aACxD;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBACjC,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBACxC,QAAQ,EAAE;oBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE;oBACrD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;iBACjE;aACJ,CAAC;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;QAElD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAqB,CAAC;QAEzC,OAAO;YACH,GAAG;YACH,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAC9B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,GAAG;YACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACjC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY;YACpC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;YACnE,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;SAC9B,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,aAAa,CACvB,IAAY,EACZ,OAAqD,EACrD,SAAiB;QAEjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,uCAAuC,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;gBACxC,mBAAmB,EAAE,YAAY;aACpC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBACjC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBACjC,QAAQ,EAAE;oBACN,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;iBACrG;aACJ,CAAC;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,4DAA4D;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9F,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAqB,CAAC;QAEzC,OAAO;YACH,GAAG;YACH,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,GAAG;YACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACjC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,aAAa;YAChE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;YACpG,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;SAC9B,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,UAAU,CACpB,IAAY,EACZ,OAAqD,EACrD,SAAiB;QAEjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,eAAe,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAC9B,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBAChC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC3C,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;iBACvC;aACJ,CAAC;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAqB,CAAC;QAEzC,OAAO;YACH,GAAG;YACH,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAC9B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,GAAG;YACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACjC,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;SAC9B,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,UAAU,CACpB,IAAY,EACZ,OAAqD,EACrD,SAAiB;QAEjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa;aAC/B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,IAAI;gBACJ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;aACvC,CAAC;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAE1C,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,KAAqB;YAC/B,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,GAAG;YAClC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACjC,MAAM,EAAE,KAAK;SAChB,CAAC;IACN,CAAC;IAED,iEAAiE;IAEzD,iBAAiB;QACrB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CA+B+B,CAAC;IAC3C,CAAC;IAEO,eAAe,CACnB,IAAY,EACZ,OAAqD;QAErD,IAAI,MAAM,GAAG,SAAS,IAAI,MAAM,CAAC;QAEjC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,aAAa,OAAO,CAAC,OAAO,MAAM,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,iBAAiB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACvF,CAAC;QAED,MAAM,IAAI,sCAAsC,CAAC;QAEjD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,iEAAiE;IAEzD,WAAW,CAAC,IAAY,EAAE,UAAmB;QACjD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,UAAU;YAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,UAAmB;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,8BAA8B;QAC9B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,UAA8B,EAAE,MAAkB;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE/C,8BAA8B;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,MAAM;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAChB,IAAI;YACJ,UAAU;YACV,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU;QACN,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,iEAAiE;IAEzD,mBAAmB,CAAC,QAAyB;QACjD,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,QAAQ;gBACT,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACtC,KAAK,WAAW;gBACZ,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YACzC,KAAK,QAAQ;gBACT,gDAAgD;gBAChD,OAAO,IAAI,CAAC;YAChB,KAAK,QAAQ;gBACT,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YACxC;gBACI,OAAO,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,GAAiB;QAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAW,EAAE;YACtC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YAErC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,IAAI,EAAE,CAAC;gBACP,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;wBAAE,OAAO,KAAK,CAAC;gBAClC,CAAC;YACL,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,GAAiB;QACxC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;YAC7B,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO;YAClC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEtB,yCAAyC;YACzC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,YAAY,CAAC,QAAyB,EAAE,MAAc;QAC1D,gCAAgC;QAChC,MAAM,KAAK,GAA2B;YAClC,MAAM,EAAE,IAAI,EAAO,SAAS;YAC5B,SAAS,EAAE,KAAK,EAAG,oBAAoB;YACvC,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;SACZ,CAAC;QACF,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,iEAAiE;IAEjE,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,aAAa;QACT,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;SAC7B,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"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"}