manychat-ai-agent 0.18.1 → 0.19.1

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 (53) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/db/migrations/0010_oval_prism.sql +54 -0
  3. package/db/migrations/meta/0010_snapshot.json +1070 -0
  4. package/db/migrations/meta/_journal.json +7 -0
  5. package/dist/agent/contact.d.ts +6 -0
  6. package/dist/agent/contact.js +10 -2
  7. package/dist/agent/registry.d.ts +1 -1
  8. package/dist/agent/registry.js +2 -2
  9. package/dist/agent/runner.d.ts +14 -0
  10. package/dist/agent/runner.js +20 -3
  11. package/dist/cli/run.js +23 -0
  12. package/dist/config/loader.js +7 -1
  13. package/dist/contracts/config.d.ts +13 -0
  14. package/dist/contracts/config.js +21 -0
  15. package/dist/contracts/learning.d.ts +28 -0
  16. package/dist/contracts/learning.js +15 -0
  17. package/dist/conversation/store.d.ts +2 -0
  18. package/dist/conversation/store.js +1 -0
  19. package/dist/db/schema.d.ts +666 -0
  20. package/dist/db/schema.js +89 -0
  21. package/dist/evals/cases.d.ts +5 -0
  22. package/dist/evals/cases.js +10 -0
  23. package/dist/evals/runner.js +46 -2
  24. package/dist/insights.d.ts +1 -0
  25. package/dist/insights.js +9 -0
  26. package/dist/learning/analyst.d.ts +70 -0
  27. package/dist/learning/analyst.js +163 -0
  28. package/dist/learning/cli.d.ts +42 -0
  29. package/dist/learning/cli.js +179 -0
  30. package/dist/learning/cohort.d.ts +46 -0
  31. package/dist/learning/cohort.js +108 -0
  32. package/dist/learning/commands.d.ts +14 -0
  33. package/dist/learning/commands.js +106 -0
  34. package/dist/learning/database.d.ts +7 -0
  35. package/dist/learning/database.js +13 -0
  36. package/dist/learning/gate.d.ts +23 -0
  37. package/dist/learning/gate.js +67 -0
  38. package/dist/learning/job.d.ts +55 -0
  39. package/dist/learning/job.js +120 -0
  40. package/dist/learning/playbook.d.ts +53 -0
  41. package/dist/learning/playbook.js +81 -0
  42. package/dist/learning/proposals.d.ts +22 -0
  43. package/dist/learning/proposals.js +62 -0
  44. package/dist/learning/store.d.ts +100 -0
  45. package/dist/learning/store.js +255 -0
  46. package/dist/learning/wiring.d.ts +26 -0
  47. package/dist/learning/wiring.js +45 -0
  48. package/dist/main.js +20 -0
  49. package/dist/nudge/worker.js +1 -0
  50. package/dist/routes/turn.js +1 -0
  51. package/dist/server.d.ts +3 -0
  52. package/dist/server.js +1 -0
  53. package/package.json +5 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.19.1](https://github.com/pedronastasi/manychat-ai-agent/compare/v0.19.0...v0.19.1) (2026-10-07)
4
+
5
+
6
+ ### Specs and Docs
7
+
8
+ * keep 036's staged-tool prompt lines off read-only plugins (specs/039) ([6daba55](https://github.com/pedronastasi/manychat-ai-agent/commit/6daba552a35df951c855c4584e7fd9ebf90b60a7))
9
+ * say a query loses identifier shapes, not names (specs/039) ([5ab18c2](https://github.com/pedronastasi/manychat-ai-agent/commit/5ab18c2ec371fe174be5f3586d91b3efe553035e))
10
+ * settle list overflow and record what 039 changes in 036 ([a09c8cb](https://github.com/pedronastasi/manychat-ai-agent/commit/a09c8cbe661cc8690469f7976e1fe10442fb836c))
11
+ * specify plugin read tools that return declared, fenced data (specs/039) ([cb4dd35](https://github.com/pedronastasi/manychat-ai-agent/commit/cb4dd35c18e3e39f7bbc0eb0fad93b5341eed29c))
12
+ * specify plugin read tools that return declared, fenced data (specs/039) ([70fe5b6](https://github.com/pedronastasi/manychat-ai-agent/commit/70fe5b661092312f61654a755dbe40d1410c6ea3))
13
+
14
+
15
+ ### Dependencies
16
+
17
+ * **deps:** lock file maintenance ([7060477](https://github.com/pedronastasi/manychat-ai-agent/commit/70604779de848284a8e419a5d681e7386546177f))
18
+ * **deps:** lock file maintenance ([c2e4e02](https://github.com/pedronastasi/manychat-ai-agent/commit/c2e4e0218abb2c25d173a47900cc15a5e18e9e76))
19
+
20
+ ## [0.19.0](https://github.com/pedronastasi/manychat-ai-agent/compare/v0.18.1...v0.19.0) (2026-10-07)
21
+
22
+
23
+ ### Features
24
+
25
+ * learn selling tactics from paid outcomes, behind human approval (spec 031) ([9a35ce0](https://github.com/pedronastasi/manychat-ai-agent/commit/9a35ce0ad221974595d1dec59cd78a33b2d07bfd))
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * record no playbook version on a fallback reply, and let a stop end a learning run ([1dadf7d](https://github.com/pedronastasi/manychat-ai-agent/commit/1dadf7d235da2ce4f6e7c1b6e741306fc67fcf8e))
31
+ * say that a stopped learning run forfeits its week, and warn when one does ([af1935e](https://github.com/pedronastasi/manychat-ai-agent/commit/af1935ec35031d3a34dd8f50ba459473d56cacba))
32
+ * say why a learning run failed, in the server's log and in the terminal of a CLI run ([0ea3783](https://github.com/pedronastasi/manychat-ai-agent/commit/0ea37839266ff87b309eeb04c75ed2f1983b163f))
33
+
34
+
35
+ ### Specs and Docs
36
+
37
+ * a guide to learning from outcomes: how it works, setting it up, and the weekly routine ([5c9d42f](https://github.com/pedronastasi/manychat-ai-agent/commit/5c9d42fd68944d5818cec54dc43d75cb42245616))
38
+ * record PR 187 in spec 031 ([79f17c0](https://github.com/pedronastasi/manychat-ai-agent/commit/79f17c042d26ca7bb32934d00e95db4704a8c86f))
39
+
3
40
  ## [0.18.1](https://github.com/pedronastasi/manychat-ai-agent/compare/v0.18.0...v0.18.1) (2026-10-07)
4
41
 
5
42
 
@@ -0,0 +1,54 @@
1
+ CREATE TABLE "eval_records" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "tenant_id" text NOT NULL,
4
+ "playbook_hash" text NOT NULL,
5
+ "suite_hash" text NOT NULL,
6
+ "model" text NOT NULL,
7
+ "outcomes" jsonb NOT NULL,
8
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
9
+ );
10
+ --> statement-breakpoint
11
+ CREATE TABLE "insight_proposals" (
12
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
13
+ "tenant_id" text NOT NULL,
14
+ "run_id" uuid NOT NULL,
15
+ "text" text NOT NULL,
16
+ "rationale" text NOT NULL,
17
+ "enrolled_count" integer NOT NULL,
18
+ "not_enrolled_count" integer NOT NULL,
19
+ "turn_ids" jsonb NOT NULL,
20
+ "status" text DEFAULT 'pending' NOT NULL,
21
+ "reviewed_at" timestamp with time zone,
22
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
23
+ );
24
+ --> statement-breakpoint
25
+ CREATE TABLE "learning_runs" (
26
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
27
+ "tenant_id" text NOT NULL,
28
+ "week" text NOT NULL,
29
+ "forced" boolean DEFAULT false NOT NULL,
30
+ "status" text DEFAULT 'running' NOT NULL,
31
+ "enrolled_count" integer,
32
+ "not_enrolled_count" integer,
33
+ "cost_usd" numeric(12, 6),
34
+ "started_at" timestamp with time zone DEFAULT now() NOT NULL,
35
+ "finished_at" timestamp with time zone
36
+ );
37
+ --> statement-breakpoint
38
+ CREATE TABLE "playbook_versions" (
39
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
40
+ "tenant_id" text NOT NULL,
41
+ "content_hash" text NOT NULL,
42
+ "insights" jsonb NOT NULL,
43
+ "active" boolean DEFAULT false NOT NULL,
44
+ "activated_at" timestamp with time zone,
45
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
46
+ );
47
+ --> statement-breakpoint
48
+ ALTER TABLE "turns" ADD COLUMN "playbook_version" text;--> statement-breakpoint
49
+ ALTER TABLE "insight_proposals" ADD CONSTRAINT "insight_proposals_run_id_learning_runs_id_fk" FOREIGN KEY ("run_id") REFERENCES "public"."learning_runs"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
50
+ CREATE INDEX "eval_records_lookup_idx" ON "eval_records" USING btree ("tenant_id","playbook_hash","suite_hash");--> statement-breakpoint
51
+ CREATE INDEX "insight_proposals_tenant_status_idx" ON "insight_proposals" USING btree ("tenant_id","status");--> statement-breakpoint
52
+ CREATE UNIQUE INDEX "learning_runs_week_uq" ON "learning_runs" USING btree ("tenant_id","week") WHERE "learning_runs"."forced" = false;--> statement-breakpoint
53
+ CREATE UNIQUE INDEX "playbook_versions_content_uq" ON "playbook_versions" USING btree ("tenant_id","content_hash");--> statement-breakpoint
54
+ CREATE UNIQUE INDEX "playbook_versions_one_active_uq" ON "playbook_versions" USING btree ("tenant_id") WHERE "playbook_versions"."active" = true;