@rubytech/create-realagent-code 0.1.386 → 0.1.387

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 (161) hide show
  1. package/dist/__tests__/cron-heartbeat-registration.test.js +5 -0
  2. package/dist/cron-registration.js +1 -0
  3. package/dist/index.js +4 -0
  4. package/package.json +1 -1
  5. package/payload/platform/neo4j/schema.cypher +36 -1
  6. package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
  7. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +61 -1
  8. package/payload/platform/plugins/docs/references/graph.md +11 -0
  9. package/payload/platform/plugins/docs/references/plugins-guide.md +1 -0
  10. package/payload/platform/plugins/docs/references/sweep-guide.md +43 -0
  11. package/payload/platform/plugins/memory/references/schema-estate-agent.md +34 -0
  12. package/payload/platform/plugins/scheduling/PLUGIN.md +17 -1
  13. package/payload/platform/plugins/scheduling/mcp/dist/index.js +12 -0
  14. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  15. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.d.ts +2 -0
  16. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.d.ts.map +1 -0
  17. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.js +101 -0
  18. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.js.map +1 -0
  19. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.d.ts +54 -0
  20. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.d.ts.map +1 -0
  21. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.js +117 -0
  22. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.js.map +1 -0
  23. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-classify.d.ts +7 -0
  24. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-classify.d.ts.map +1 -1
  25. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-classify.js +6 -3
  26. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-classify.js.map +1 -1
  27. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.d.ts +2 -0
  28. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.d.ts.map +1 -0
  29. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +88 -0
  30. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -0
  31. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/standing-audit.test.d.ts +2 -0
  32. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/standing-audit.test.d.ts.map +1 -0
  33. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/standing-audit.test.js +77 -0
  34. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/standing-audit.test.js.map +1 -0
  35. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +59 -0
  36. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -0
  37. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +131 -0
  38. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -0
  39. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +62 -15
  40. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  41. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-event-agent.test.d.ts +2 -0
  42. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-event-agent.test.d.ts.map +1 -0
  43. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-event-agent.test.js +110 -0
  44. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-event-agent.test.js.map +1 -0
  45. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-get-agent.test.d.ts +2 -0
  46. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-get-agent.test.d.ts.map +1 -0
  47. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-get-agent.test.js +35 -0
  48. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-get-agent.test.js.map +1 -0
  49. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-agent.test.d.ts +2 -0
  50. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-agent.test.d.ts.map +1 -0
  51. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-agent.test.js +81 -0
  52. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-agent.test.js.map +1 -0
  53. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts +7 -0
  54. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts.map +1 -1
  55. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +21 -4
  56. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
  57. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts +4 -0
  58. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts.map +1 -1
  59. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js +6 -0
  60. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js.map +1 -1
  61. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts +2 -1
  62. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -1
  63. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +32 -1
  64. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
  65. package/payload/platform/plugins/sweep/.claude-plugin/plugin.json +8 -0
  66. package/payload/platform/plugins/sweep/PLUGIN.md +15 -0
  67. package/payload/platform/plugins/sweep/skills/sweep-workflow/SKILL.md +113 -0
  68. package/payload/platform/plugins/whatsapp/PLUGIN.md +1 -1
  69. package/payload/platform/plugins/whatsapp/mcp/dist/index.js +19 -4
  70. package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
  71. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +7 -4
  72. package/payload/platform/plugins/whatsapp/skills/manage-whatsapp-config/SKILL.md +10 -0
  73. package/payload/platform/scripts/seed-neo4j.sh +38 -0
  74. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +5 -0
  75. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
  76. package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
  77. package/payload/platform/services/whatsapp-channel/dist/server.js +1 -1
  78. package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
  79. package/payload/premium-plugins/real-agent/agents/negotiator.md +1 -1
  80. package/payload/premium-plugins/real-agent/plugins/estate-sales/PLUGIN.md +41 -8
  81. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/index.d.ts +2 -0
  82. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/index.d.ts.map +1 -0
  83. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/index.js +36 -0
  84. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/index.js.map +1 -0
  85. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/lib/chain-graph.d.ts +131 -0
  86. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/lib/chain-graph.d.ts.map +1 -0
  87. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/lib/chain-graph.js +379 -0
  88. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/lib/chain-graph.js.map +1 -0
  89. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/lib/neo4j.d.ts +5 -0
  90. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/lib/neo4j.d.ts.map +1 -0
  91. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/lib/neo4j.js +40 -0
  92. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/lib/neo4j.js.map +1 -0
  93. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-chain-read.d.ts +3 -0
  94. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-chain-read.d.ts.map +1 -0
  95. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-chain-read.js +45 -0
  96. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-chain-read.js.map +1 -0
  97. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-chain-upsert.d.ts +3 -0
  98. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-chain-upsert.d.ts.map +1 -0
  99. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-chain-upsert.js +94 -0
  100. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-chain-upsert.js.map +1 -0
  101. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-milestone-set.d.ts +3 -0
  102. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-milestone-set.d.ts.map +1 -0
  103. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-milestone-set.js +40 -0
  104. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-milestone-set.js.map +1 -0
  105. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-party-lookup.d.ts +3 -0
  106. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-party-lookup.d.ts.map +1 -0
  107. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-party-lookup.js +45 -0
  108. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-party-lookup.js.map +1 -0
  109. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-pipeline-list.d.ts +3 -0
  110. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-pipeline-list.d.ts.map +1 -0
  111. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-pipeline-list.js +38 -0
  112. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/dist/tools/progression-pipeline-list.js.map +1 -0
  113. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/package-lock.json +2587 -0
  114. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/package.json +21 -0
  115. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/src/__tests__/round-trip.test.ts +251 -0
  116. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/src/index.ts +43 -0
  117. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/src/lib/chain-graph.ts +555 -0
  118. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/src/lib/neo4j.ts +45 -0
  119. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/src/tools/progression-chain-read.ts +63 -0
  120. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/src/tools/progression-chain-upsert.ts +125 -0
  121. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/src/tools/progression-milestone-set.ts +56 -0
  122. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/src/tools/progression-party-lookup.ts +53 -0
  123. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/src/tools/progression-pipeline-list.ts +49 -0
  124. package/payload/premium-plugins/real-agent/plugins/estate-sales/mcp/tsconfig.json +20 -0
  125. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/negotiation/references/offer-presentation.md +2 -2
  126. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/progression-inbox/SKILL.md +35 -0
  127. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-progression/SKILL.md +17 -6
  128. package/payload/premium-plugins/real-agent/plugins/estate-sales/skills/sales-progression/references/transaction-tracking.md +10 -6
  129. package/payload/premium-plugins/real-agent/plugins/leads/skills/chain-progression-tracker/SKILL.md +10 -1
  130. package/payload/server/public/assets/{AdminLoginScreens-oxqHKL3C.js → AdminLoginScreens-BejIjbmU.js} +1 -1
  131. package/payload/server/public/assets/{AdminShell-DBD6ruS1.js → AdminShell-D2-uBSB5.js} +1 -1
  132. package/payload/server/public/assets/{Checkbox-yr8-ftrE.js → Checkbox-1F1tzqca.js} +1 -1
  133. package/payload/server/public/assets/Transcript-DkGa4CQH.js +2 -0
  134. package/payload/server/public/assets/{admin-CQfZnuFy.js → admin-DqQARkjy.js} +1 -1
  135. package/payload/server/public/assets/{browser-DbdPeDK1.js → browser-nDtEK6RC.js} +1 -1
  136. package/payload/server/public/assets/{calendar-CFdOhe7Q.js → calendar-CO4Bwmho.js} +1 -1
  137. package/payload/server/public/assets/chat-DeIge_bC.js +1 -0
  138. package/payload/server/public/assets/chevron-left-DhVdq0aN.js +1 -0
  139. package/payload/server/public/assets/data-B1GIdzHk.js +1 -0
  140. package/payload/server/public/assets/{graph-Bluocsf_.js → graph-DFyicKd7.js} +1 -1
  141. package/payload/server/public/assets/{graph-labels-BcLJmY-v.js → graph-labels-D3BQdcpD.js} +1 -1
  142. package/payload/server/public/assets/{operator-DjK3MBSS.js → operator-BxrjWdT9.js} +1 -1
  143. package/payload/server/public/assets/{page-DQNYTb2d.js → page-ByDLq_o1.js} +1 -1
  144. package/payload/server/public/assets/{page-zJQTRXB2.js → page-D-Ep4bXd.js} +1 -1
  145. package/payload/server/public/assets/{public-CHCniosp.js → public-DbdqfdYq.js} +1 -1
  146. package/payload/server/public/assets/{rotate-ccw-JDfwjfIL.js → rotate-ccw-BkX8HODe.js} +1 -1
  147. package/payload/server/public/assets/{useSubAccountSwitcher-CfI3J2IX.css → useSubAccountSwitcher-DS0iqSkP.css} +1 -1
  148. package/payload/server/public/browser.html +4 -4
  149. package/payload/server/public/calendar.html +5 -5
  150. package/payload/server/public/chat.html +8 -8
  151. package/payload/server/public/data.html +7 -7
  152. package/payload/server/public/graph.html +8 -8
  153. package/payload/server/public/index.html +10 -10
  154. package/payload/server/public/operator.html +10 -10
  155. package/payload/server/public/public.html +8 -8
  156. package/payload/server/server.js +551 -271
  157. package/payload/server/public/assets/Transcript-FX_w6no6.js +0 -2
  158. package/payload/server/public/assets/chat-BunxcNDk.js +0 -1
  159. package/payload/server/public/assets/chevron-left-Cngmu0Py.js +0 -1
  160. package/payload/server/public/assets/data-IqZlMSwG.js +0 -1
  161. /package/payload/server/public/assets/{useSubAccountSwitcher-BpQ3oKiJ.js → useSubAccountSwitcher-DMbRhLPv.js} +0 -0
@@ -0,0 +1,40 @@
1
+ // progression-milestone-set — advance one milestone date on one chain link.
2
+ // MATCH + SET, account-scoped. Optionally stamps the source (e.g. the email
3
+ // message id) for audit.
4
+ import { z } from "zod";
5
+ import { lifelineTool } from "../../../../../lib/mcp-lifeline/dist/index.js";
6
+ import { getSession } from "../lib/neo4j.js";
7
+ import { setMilestone, MILESTONE_STAGE_NAMES } from "../lib/chain-graph.js";
8
+ export function registerMilestoneSet(server, accountId) {
9
+ lifelineTool(server, "progression-milestone-set", "Set one milestone date on one chain link (e.g. searches-received on the priority-2 link). Advances only that date. Pass source (an email message id) to record what evidenced the change.", {
10
+ chainId: z.string(),
11
+ priority: z.number().int().describe("The chain link to update."),
12
+ stage: z.enum(MILESTONE_STAGE_NAMES).describe("Which milestone: one of the ten progression stages."),
13
+ date: z.string().describe("ISO-8601 date the milestone was reached."),
14
+ source: z.string().optional().describe("Optional provenance, e.g. the email message id."),
15
+ }, async (params) => {
16
+ const { chainId, priority, stage, date, source } = params;
17
+ const session = getSession();
18
+ try {
19
+ const r = await setMilestone(session, accountId, chainId, priority, stage, date, source);
20
+ console.error(`[progression] op=milestone-set chainId=${chainId} link=${priority} stage=${stage} date=${date} source=${source ?? "none"} updated=${r.updated}`);
21
+ return {
22
+ content: [
23
+ {
24
+ type: "text",
25
+ text: JSON.stringify({ ok: r.updated > 0, chainId, priority, stage, date, updated: r.updated }, null, 2),
26
+ },
27
+ ],
28
+ };
29
+ }
30
+ catch (err) {
31
+ const msg = err instanceof Error ? err.message : String(err);
32
+ console.error(`[progression] op=milestone-set chainId=${chainId} rejected=${msg}`);
33
+ return { content: [{ type: "text", text: `Error: ${msg}` }], isError: true };
34
+ }
35
+ finally {
36
+ await session.close();
37
+ }
38
+ });
39
+ }
40
+ //# sourceMappingURL=progression-milestone-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progression-milestone-set.js","sourceRoot":"","sources":["../../src/tools/progression-milestone-set.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,4EAA4E;AAC5E,yBAAyB;AAEzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAuB,MAAM,uBAAuB,CAAC;AAEjG,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,SAAiB;IACvE,YAAY,CACV,MAAM,EACN,2BAA2B,EAC3B,2LAA2L,EAC3L;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAChE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,qBAA8D,CAAC,CAAC,QAAQ,CACpF,qDAAqD,CACtD;QACD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACrE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;KAC1F,EACD,KAAK,EAAE,MAA+B,EAAE,EAAE;QACxC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAMlD,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACzF,OAAO,CAAC,KAAK,CACX,0CAA0C,OAAO,SAAS,QAAQ,UAAU,KAAK,SAAS,IAAI,WAAW,MAAM,IAAI,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,CACjJ,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACzG;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,0CAA0C,OAAO,aAAa,GAAG,EAAE,CAAC,CAAC;YACnF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxF,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerPartyLookup(server: McpServer, accountId: string): void;
3
+ //# sourceMappingURL=progression-party-lookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progression-party-lookup.d.ts","sourceRoot":"","sources":["../../src/tools/progression-party-lookup.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAoC9E"}
@@ -0,0 +1,45 @@
1
+ // progression-party-lookup — resolve an inbound sender's email or phone to the
2
+ // chain link and party role it belongs to. The entry point the progression-inbox
3
+ // workflow uses to classify a solicitor/buyer/vendor email to its deal. May
4
+ // return more than one match (a solicitor acting on several chains). Read-only.
5
+ import { z } from "zod";
6
+ import { lifelineTool } from "../../../../../lib/mcp-lifeline/dist/index.js";
7
+ import { getSession } from "../lib/neo4j.js";
8
+ import { lookupParty } from "../lib/chain-graph.js";
9
+ function mask(v) {
10
+ if (!v)
11
+ return "none";
12
+ return v.length <= 3 ? "***" : `${v.slice(0, 2)}***${v.slice(-1)}`;
13
+ }
14
+ export function registerPartyLookup(server, accountId) {
15
+ lifelineTool(server, "progression-party-lookup", "Resolve an inbound contact (email or phone) to the chain link(s) and party role(s) it belongs to. Use to classify a solicitor/buyer/vendor email to its deal before reading or updating the chain. Read-only.", {
16
+ email: z.string().optional().describe("Sender email address."),
17
+ phone: z.string().optional().describe("Sender phone number."),
18
+ }, async (params) => {
19
+ const { email, phone } = params;
20
+ if (!email && !phone) {
21
+ return {
22
+ content: [{ type: "text", text: "Error: one of email or phone is required." }],
23
+ isError: true,
24
+ };
25
+ }
26
+ const session = getSession();
27
+ try {
28
+ const matches = await lookupParty(session, accountId, { email, phone });
29
+ console.error(`[progression] op=party-lookup email=${mask(email)} phone=${mask(phone)} matches=${matches.length}`);
30
+ return {
31
+ content: [
32
+ { type: "text", text: JSON.stringify({ ok: true, matches }, null, 2) },
33
+ ],
34
+ };
35
+ }
36
+ catch (err) {
37
+ const msg = err instanceof Error ? err.message : String(err);
38
+ return { content: [{ type: "text", text: `Error: ${msg}` }], isError: true };
39
+ }
40
+ finally {
41
+ await session.close();
42
+ }
43
+ });
44
+ }
45
+ //# sourceMappingURL=progression-party-lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progression-party-lookup.js","sourceRoot":"","sources":["../../src/tools/progression-party-lookup.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,iFAAiF;AACjF,4EAA4E;AAC5E,gFAAgF;AAEhF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,SAAS,IAAI,CAAC,CAAU;IACtB,IAAI,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACtB,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,SAAiB;IACtE,YAAY,CACV,MAAM,EACN,0BAA0B,EAC1B,+MAA+M,EAC/M;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KAC9D,EACD,KAAK,EAAE,MAA+B,EAAE,EAAE;QACxC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAA4C,CAAC;QACtE,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2CAA2C,EAAE,CAAC;gBACvF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,KAAK,CACX,uCAAuC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,MAAM,EAAE,CACpG,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAChF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxF,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerPipelineList(server: McpServer, accountId: string): void;
3
+ //# sourceMappingURL=progression-pipeline-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progression-pipeline-list.d.ts","sourceRoot":"","sources":["../../src/tools/progression-pipeline-list.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAsC/E"}
@@ -0,0 +1,38 @@
1
+ // progression-pipeline-list — every active sale-agreed deal with a stall flag.
2
+ // The across-pipeline read the morning round and chase-progression open with.
3
+ // Read-only.
4
+ import { z } from "zod";
5
+ import { lifelineTool } from "../../../../../lib/mcp-lifeline/dist/index.js";
6
+ import { getSession } from "../lib/neo4j.js";
7
+ import { listPipeline, DEFAULT_STALLED_THRESHOLD_DAYS } from "../lib/chain-graph.js";
8
+ export function registerPipelineList(server, accountId) {
9
+ lifelineTool(server, "progression-pipeline-list", "List every active sale-agreed deal with days since the last milestone movement and a stall flag. Use to open the morning round or chase-progression across the whole pipeline. Read-only.", {
10
+ stalledThresholdDays: z
11
+ .number()
12
+ .int()
13
+ .positive()
14
+ .optional()
15
+ .describe(`Days with no movement before a deal is flagged stalled (default ${DEFAULT_STALLED_THRESHOLD_DAYS}).`),
16
+ }, async (params) => {
17
+ const { stalledThresholdDays } = params;
18
+ const session = getSession();
19
+ try {
20
+ const rows = await listPipeline(session, accountId, Date.now(), stalledThresholdDays ?? DEFAULT_STALLED_THRESHOLD_DAYS);
21
+ const stalled = rows.filter((r) => r.stalled).length;
22
+ console.error(`[progression] op=pipeline-list active=${rows.length} stalled=${stalled}`);
23
+ return {
24
+ content: [
25
+ { type: "text", text: JSON.stringify({ ok: true, active: rows.length, stalled, rows }, null, 2) },
26
+ ],
27
+ };
28
+ }
29
+ catch (err) {
30
+ const msg = err instanceof Error ? err.message : String(err);
31
+ return { content: [{ type: "text", text: `Error: ${msg}` }], isError: true };
32
+ }
33
+ finally {
34
+ await session.close();
35
+ }
36
+ });
37
+ }
38
+ //# sourceMappingURL=progression-pipeline-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progression-pipeline-list.js","sourceRoot":"","sources":["../../src/tools/progression-pipeline-list.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,aAAa;AAEb,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAErF,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,SAAiB;IACvE,YAAY,CACV,MAAM,EACN,2BAA2B,EAC3B,2LAA2L,EAC3L;QACE,oBAAoB,EAAE,CAAC;aACpB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,mEAAmE,8BAA8B,IAAI,CAAC;KACnH,EACD,KAAK,EAAE,MAA+B,EAAE,EAAE;QACxC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAA2C,CAAC;QAC7E,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAC7B,OAAO,EACP,SAAS,EACT,IAAI,CAAC,GAAG,EAAE,EACV,oBAAoB,IAAI,8BAA8B,CACvD,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,MAAM,YAAY,OAAO,EAAE,CAAC,CAAC;YACzF,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC3G;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxF,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}