manychat-ai-agent 0.26.0 → 0.27.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 (105) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/db/migrations/0013_meta_channels.sql +4 -0
  3. package/db/migrations/meta/0013_snapshot.json +1088 -0
  4. package/db/migrations/meta/_journal.json +7 -0
  5. package/dist/agent/prompt.js +5 -0
  6. package/dist/agent/tools/build.d.ts +23 -0
  7. package/dist/agent/tools/build.js +42 -0
  8. package/dist/agent/tools/contact-actions.d.ts +63 -0
  9. package/dist/agent/tools/contact-actions.js +64 -0
  10. package/dist/agent/tools/copy.d.ts +18 -0
  11. package/dist/agent/tools/copy.js +21 -0
  12. package/dist/agent/tools/get-contact.d.ts +5 -0
  13. package/dist/agent/tools/get-contact.js +26 -0
  14. package/dist/agent/tools/lookups.d.ts +90 -0
  15. package/dist/agent/tools/lookups.js +70 -0
  16. package/dist/agent/tools/notes.d.ts +4 -0
  17. package/dist/agent/tools/notes.js +36 -0
  18. package/dist/agent/tools/nudge.d.ts +4 -0
  19. package/dist/agent/tools/nudge.js +29 -0
  20. package/dist/agent/tools/send-flow.d.ts +4 -0
  21. package/dist/agent/tools/send-flow.js +115 -0
  22. package/dist/agent/tools/set-field.d.ts +7 -0
  23. package/dist/agent/tools/set-field.js +142 -0
  24. package/dist/agent/tools/stage.d.ts +92 -0
  25. package/dist/agent/tools/stage.js +176 -0
  26. package/dist/agent/tools/tags.d.ts +4 -0
  27. package/dist/agent/tools/tags.js +26 -0
  28. package/dist/agent/tools/turn.d.ts +93 -0
  29. package/dist/agent/tools/turn.js +93 -0
  30. package/dist/agent/tools.d.ts +11 -266
  31. package/dist/agent/tools.js +7 -738
  32. package/dist/channels/manychat/adapter.js +5 -1
  33. package/dist/channels/manychat/client.d.ts +21 -3
  34. package/dist/channels/manychat/client.js +32 -7
  35. package/dist/channels/manychat/media.js +8 -5
  36. package/dist/channels/port.d.ts +2 -0
  37. package/dist/config/loader.d.ts +2 -0
  38. package/dist/config/loader.js +15 -1
  39. package/dist/contracts/config/catalog.d.ts +55 -0
  40. package/dist/contracts/config/catalog.js +36 -0
  41. package/dist/contracts/config/channels.d.ts +22 -0
  42. package/dist/contracts/config/channels.js +58 -0
  43. package/dist/contracts/config/env.d.ts +74 -0
  44. package/dist/contracts/config/env.js +197 -0
  45. package/dist/contracts/config/funnel.d.ts +20 -0
  46. package/dist/contracts/config/funnel.js +27 -0
  47. package/dist/contracts/config/prompt-overrides.d.ts +26 -0
  48. package/dist/contracts/config/prompt-overrides.js +26 -0
  49. package/dist/contracts/config/rules.d.ts +54 -0
  50. package/dist/contracts/config/rules.js +98 -0
  51. package/dist/contracts/config/tools.d.ts +121 -0
  52. package/dist/contracts/config/tools.js +286 -0
  53. package/dist/contracts/config.d.ts +11 -329
  54. package/dist/contracts/config.js +11 -650
  55. package/dist/conversation/store.d.ts +6 -3
  56. package/dist/conversation/store.js +11 -4
  57. package/dist/db/schema.d.ts +34 -0
  58. package/dist/db/schema.js +10 -0
  59. package/dist/main.js +1 -0
  60. package/dist/nudge/checks.d.ts +46 -0
  61. package/dist/nudge/checks.js +73 -0
  62. package/dist/nudge/performer.d.ts +3 -1
  63. package/dist/nudge/performer.js +5 -2
  64. package/dist/nudge/store.d.ts +3 -1
  65. package/dist/nudge/store.js +5 -4
  66. package/dist/nudge/worker.js +50 -79
  67. package/dist/outbox/queue.d.ts +8 -0
  68. package/dist/outbox/queue.js +3 -0
  69. package/dist/outbox/worker.d.ts +20 -0
  70. package/dist/outbox/worker.js +54 -4
  71. package/dist/server.js +36 -7
  72. package/dist/turn/admission.d.ts +52 -0
  73. package/dist/turn/admission.js +94 -0
  74. package/dist/turn/completion.d.ts +23 -0
  75. package/dist/turn/completion.js +1 -0
  76. package/dist/turn/context.d.ts +23 -0
  77. package/dist/turn/context.js +33 -0
  78. package/dist/turn/deferred.d.ts +38 -0
  79. package/dist/turn/deferred.js +76 -0
  80. package/dist/turn/delivery.d.ts +102 -0
  81. package/dist/turn/delivery.js +163 -0
  82. package/dist/turn/fold.d.ts +44 -0
  83. package/dist/turn/fold.js +62 -0
  84. package/dist/{routes/turn.d.ts → turn/handler.d.ts} +14 -68
  85. package/dist/turn/handler.js +335 -0
  86. package/dist/turn/logger.d.ts +10 -0
  87. package/dist/turn/logger.js +11 -0
  88. package/dist/turn/media.d.ts +46 -0
  89. package/dist/turn/media.js +109 -0
  90. package/dist/turn/order.d.ts +49 -0
  91. package/dist/turn/order.js +115 -0
  92. package/dist/turn/prechecks.d.ts +30 -0
  93. package/dist/turn/prechecks.js +48 -0
  94. package/dist/turn/race.d.ts +7 -0
  95. package/dist/turn/race.js +18 -0
  96. package/dist/turn/recorder.d.ts +99 -0
  97. package/dist/turn/recorder.js +153 -0
  98. package/dist/turn/replies.d.ts +15 -0
  99. package/dist/turn/replies.js +25 -0
  100. package/dist/turn/result.d.ts +20 -0
  101. package/dist/turn/result.js +1 -0
  102. package/dist/turn/scope.d.ts +83 -0
  103. package/dist/turn/scope.js +72 -0
  104. package/package.json +1 -1
  105. package/dist/routes/turn.js +0 -1007
package/CHANGELOG.md CHANGED
@@ -1,5 +1,70 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.27.0](https://github.com/pedronastasi/manychat-ai-agent/compare/v0.26.1...v0.27.0) (2026-10-21)
4
+
5
+
6
+ ### Features
7
+
8
+ * answer an image instead of describing it, and hand off an unrelated one ([f86d9bc](https://github.com/pedronastasi/manychat-ai-agent/commit/f86d9bc1957a16208dd19aed2e143e8031619ffc))
9
+ * answer an image instead of describing it, and hand off an unrelated one ([5e72cb4](https://github.com/pedronastasi/manychat-ai-agent/commit/5e72cb4d3596376f48f763fc55146a5b8aff9a1c))
10
+ * answer WhatsApp, Instagram and Messenger from one deployment (spec 048) ([563f530](https://github.com/pedronastasi/manychat-ai-agent/commit/563f53053bd8c4cd3a5cbf785d3bdcc06502813c))
11
+ * answer WhatsApp, Instagram and Messenger from one deployment (spec 048) ([5af5985](https://github.com/pedronastasi/manychat-ai-agent/commit/5af59857919136f443bbd16c5723b9bfe2c8ad6f))
12
+ * read Instagram and Messenger media as WhatsApp media is (spec 048) ([6896ffa](https://github.com/pedronastasi/manychat-ai-agent/commit/6896ffa8b035e8db2d42547567756f1cef9d0c3c))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * count a message written without a channel on every channel's window (spec 048) ([f399e19](https://github.com/pedronastasi/manychat-ai-agent/commit/f399e19dd4d8129d7ae59ad5078e22fb3a365fe0))
18
+ * keep a single-channel deployment on MANYCHAT_REPLY_FLOW_NS (spec 048) ([8fbc44a](https://github.com/pedronastasi/manychat-ai-agent/commit/8fbc44ae577c9112dc2e8e9a0cad3d839d010950))
19
+ * reserve each channel's reply flow and keep Telegram out of CHANNELS (spec 048) ([fc5b25e](https://github.com/pedronastasi/manychat-ai-agent/commit/fc5b25ec20cae1b9e98cbfd13ae5651bee32630b))
20
+
21
+
22
+ ### Refactors
23
+
24
+ * move the image rules into the operating and format defaults ([0fb6d51](https://github.com/pedronastasi/manychat-ai-agent/commit/0fb6d51ae2e84486931094edc1ef0bba3498a4bb))
25
+ * run a nudge through NudgeChecks and the turn's own recorder ([7d2b33e](https://github.com/pedronastasi/manychat-ai-agent/commit/7d2b33ede634e590f6051aed6cd8ed705e2140db))
26
+ * run a nudge through NudgeChecks and the turn's own recorder ([4406fab](https://github.com/pedronastasi/manychat-ai-agent/commit/4406fabf35e88ac7dc7d9ff53df406f513d67d46))
27
+
28
+
29
+ ### Specs and Docs
30
+
31
+ * record PR 254 in spec 048 ([f7082bf](https://github.com/pedronastasi/manychat-ai-agent/commit/f7082bfd9ab064a06d01a9c27ddf3f0e9830f8b8))
32
+ * record the no-channel window rule in spec 048 ([80f27c0](https://github.com/pedronastasi/manychat-ai-agent/commit/80f27c00fca2b216119f4cfc0f1fba679f1d596a))
33
+ * specify one deployment answering every Meta channel (048) ([26172bb](https://github.com/pedronastasi/manychat-ai-agent/commit/26172bbb502a497864a691fe1d5c48b985424a6c))
34
+
35
+
36
+ ### Dependencies
37
+
38
+ * **deps:** lock file maintenance ([a905683](https://github.com/pedronastasi/manychat-ai-agent/commit/a90568320c3b8423c251e8ae4249daea174a568e))
39
+ * **deps:** lock file maintenance ([1ae252f](https://github.com/pedronastasi/manychat-ai-agent/commit/1ae252f15f94ba79e23825bc8304cbfa49bf71a7))
40
+ * **deps:** lock file maintenance ([b364b44](https://github.com/pedronastasi/manychat-ai-agent/commit/b364b44039fe4ff927118a017a60fa9ff7ebe294))
41
+ * **deps:** lock file maintenance ([aaca26c](https://github.com/pedronastasi/manychat-ai-agent/commit/aaca26c04cf9969a4475069c4b6286fe65cc41d7))
42
+
43
+ ## [0.26.1](https://github.com/pedronastasi/manychat-ai-agent/compare/v0.26.0...v0.26.1) (2026-10-18)
44
+
45
+
46
+ ### Refactors
47
+
48
+ * build a turn's collaborators in TurnScope, not TurnHandler ([12157eb](https://github.com/pedronastasi/manychat-ai-agent/commit/12157eb0f59c1a0af0c0472d760a6ee6f55efea1))
49
+ * build a turn's collaborators in TurnScope, not TurnHandler ([556925a](https://github.com/pedronastasi/manychat-ai-agent/commit/556925af52b16ee6b522f50040129d8abe901aa2))
50
+ * delegate a contact's turn order to TurnOrder ([0542994](https://github.com/pedronastasi/manychat-ai-agent/commit/0542994617efd499655cd587cc41a9a7386e1309))
51
+ * delegate a turn's media half to MediaReader ([c612dd7](https://github.com/pedronastasi/manychat-ai-agent/commit/c612dd79d3e50bcca07d4018729f27849b497d56))
52
+ * delegate admitting a turn and its prechecks to their own classes ([2835c78](https://github.com/pedronastasi/manychat-ai-agent/commit/2835c78f8de05c99bb105a22403a5d99918b4e0c))
53
+ * delegate finishing a lost race to DeferredSettlement ([a6ba96b](https://github.com/pedronastasi/manychat-ai-agent/commit/a6ba96be0fb995f0e421c9f9f1ff6547bccea6ed))
54
+ * delegate inline-or-outbox delivery to ReplyDelivery ([c54f482](https://github.com/pedronastasi/manychat-ai-agent/commit/c54f482105ee73854c90815e21316a80052891a7))
55
+ * delegate recording how a turn ended to TurnRecorder ([1c6681c](https://github.com/pedronastasi/manychat-ai-agent/commit/1c6681c2daa2f57e1d43e2f34c86aa66adf3951a))
56
+ * delegate the turn handler's jobs to their own classes ([b6c882d](https://github.com/pedronastasi/manychat-ai-agent/commit/b6c882d32e7ecca270aa63e2b991b6b6f0fdfb9a))
57
+ * extract reply, race and offering helpers from the turn handler ([0d02b5c](https://github.com/pedronastasi/manychat-ai-agent/commit/0d02b5c62f1238c452d77120242c4bfe7af41edc))
58
+ * move TurnHandler into src/turn ([a5a0096](https://github.com/pedronastasi/manychat-ai-agent/commit/a5a0096f26e4727c78152ca56c1142ae150e096a))
59
+ * split agent/tools.ts and contracts/config.ts by concern ([cc4a578](https://github.com/pedronastasi/manychat-ai-agent/commit/cc4a578fae28b85d6a3e0d426d1aea7ebf351921))
60
+ * split agent/tools.ts into one file per concern and per tool ([5aabb79](https://github.com/pedronastasi/manychat-ai-agent/commit/5aabb79b56957a490d75f491d0dc7994e7238080))
61
+ * split contracts/config.ts into one file per configuration surface ([928c81c](https://github.com/pedronastasi/manychat-ai-agent/commit/928c81c579a3c27fd15e13c1953b8692b59ef4c7))
62
+
63
+
64
+ ### Specs and Docs
65
+
66
+ * record who builds the turn's collaborators, and the single path a turn ends on ([c996ccd](https://github.com/pedronastasi/manychat-ai-agent/commit/c996ccd3802bd95f0b84c3ce5ac442f71d8efaf1))
67
+
3
68
  ## [0.26.0](https://github.com/pedronastasi/manychat-ai-agent/compare/v0.25.0...v0.26.0) (2026-10-17)
4
69
 
5
70
 
@@ -0,0 +1,4 @@
1
+ ALTER TABLE "nudges" ADD COLUMN "channel" text;--> statement-breakpoint
2
+ ALTER TABLE "turns" ADD COLUMN "channel" text;--> statement-breakpoint
3
+ -- A contact's earlier messages arrived on the channel their conversation was opened on (specs/048).
4
+ UPDATE "turns" SET "channel" = "conversations"."channel" FROM "conversations" WHERE "turns"."conversation_id" = "conversations"."id" AND "turns"."role" = 'user';