@rubytech/create-realagent-code 0.1.114 → 0.1.115
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/__tests__/installer-specialist-registration.test.js +40 -1
- package/dist/__tests__/premium-bundle-gate.test.js +59 -0
- package/dist/index.js +24 -1
- package/dist/specialist-registration.js +15 -0
- package/package.json +1 -1
- package/payload/platform/config/brand.json +2 -2
- package/payload/platform/neo4j/schema.cypher +1 -1
- package/payload/platform/plugins/.claude-plugin/marketplace.json +0 -20
- package/payload/platform/plugins/contacts/mcp/dist/index.js +3 -3
- package/payload/platform/plugins/contacts/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +1 -1
- package/payload/platform/plugins/docs/references/contacts-guide.md +1 -9
- package/payload/platform/plugins/docs/references/getting-started.md +1 -1
- package/payload/platform/plugins/docs/references/internals.md +1 -1
- package/payload/platform/plugins/docs/references/platform.md +1 -1
- package/payload/platform/plugins/docs/references/plugins-guide.md +1 -2
- package/payload/platform/plugins/linkedin-import/PLUGIN.md +1 -1
- package/payload/platform/plugins/memory/PLUGIN.md +1 -1
- package/payload/platform/plugins/sales/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/sales/PLUGIN.md +9 -9
- package/payload/platform/plugins/sales/references/close-tracking.md +6 -6
- package/payload/platform/plugins/sales/references/faq.md +1 -5
- package/payload/platform/plugins/sales/references/objection-handling.md +2 -2
- package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/index.js +2 -2
- package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js +1 -1
- package/payload/platform/plugins/workflows/PLUGIN.md +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.d.ts +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js +2 -2
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js.map +1 -1
- package/payload/platform/scripts/conversation-id-allowlist.txt +0 -7
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +42 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +34 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +83 -2
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/templates/specialists/agents/project-manager.md +1 -3
- package/payload/server/{chunk-FSPPVVWM.js → chunk-FJCI6X3H.js} +192 -0
- package/payload/server/maxy-edge.js +1 -1
- package/payload/server/public/assets/{ChatInput-CsnIedhS.js → ChatInput-CJo_77bp.js} +5 -1
- package/payload/server/public/assets/{Checkbox-CWugFyFT.js → Checkbox-YrQovXpN.js} +1 -1
- package/payload/server/public/assets/{admin-D3gZuyUn.js → admin-DOxHsV7g.js} +25 -25
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CeTRKWDb.js → architectureDiagram-Q4EWVU46-Breg9-99.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DeeIX5U3.js → blockDiagram-DXYQGD6D-DXf1_673.js} +1 -1
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-CFsqZuil.js → c4Diagram-AHTNJAMY-CSZ36W4-.js} +1 -1
- package/payload/server/public/assets/channel-BmZnt3PP.js +1 -0
- package/payload/server/public/assets/{chunk-336JU56O-DpIXuFM0.js → chunk-336JU56O-DsrLk2eK.js} +2 -2
- package/payload/server/public/assets/{chunk-426QAEUC-Qk8qqrvA.js → chunk-426QAEUC-JpNfNf81.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-DtM8-CUn.js → chunk-4TB4RGXK-DmClEAD0.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-CrSQ4ySU.js → chunk-5FUZZQ4R-BI9blW3N.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-Bn2nQwdj.js → chunk-5PVQY5BW-BbgttEFO.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-CzCPnR0P.js → chunk-EDXVE4YY-BX_LCFOx.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-CgZj9RoG.js → chunk-ENJZ2VHE-Bb7EoD0w.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-wy-eNjwW.js → chunk-ICPOFSXX-DH8uQk-s.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-CMmJtL8S.js → chunk-OYMX7WX6-FH5kgXsw.js} +1 -1
- package/payload/server/public/assets/{chunk-U2HBQHQK-CFCW7OaT.js → chunk-U2HBQHQK-D_ljlkHr.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-Bgh-CJSN.js → chunk-X2U36JSP-BX3EmZvm.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-BXKwZ4vN.js → chunk-YZCP3GAM-Vu7-E93h.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-BiOuK5NP.js → chunk-ZZ45TVLE-CwjhNPX5.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-kmMLFUpV.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BV7Ae8ct.js +1 -0
- package/payload/server/public/assets/clone-B5eqoN9I.js +1 -0
- package/payload/server/public/assets/{dagre-DyCxa9Q2.js → dagre-Ce6gsj0C.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-Cffo_hmf.js → dagre-KV5264BT-BaMGpsoy.js} +1 -1
- package/payload/server/public/assets/data-NMvGx6jm.js +1 -0
- package/payload/server/public/assets/{diagram-5BDNPKRD-Bt93Du3V.js → diagram-5BDNPKRD-CHEE9rjq.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-v4r-tBsC.js → diagram-G4DWMVQ6-C98sZLW1.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-DKrVPOP-.js → diagram-MMDJMWI5-DNvMGsTZ.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-B1PzWQb9.js → diagram-TYMM5635-Cdte4IBa.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-ClQzsQAs.js → erDiagram-SMLLAGMA-C9VZsWXK.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-h3IbpN_7.js → flowDiagram-DWJPFMVM-tuP5fzzR.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-ClaxOJi8.js → ganttDiagram-T4ZO3ILL-SJgRPUwx.js} +1 -1
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-pM-U4ClD.js → gitGraphDiagram-UUTBAWPF-DU_cI_50.js} +1 -1
- package/payload/server/public/assets/graph-BkwTCV2Y.js +1 -0
- package/payload/server/public/assets/graph-labels-h39S93Xo.js +1 -0
- package/payload/server/public/assets/{graphlib-CwimOv_M.js → graphlib-D_nAsvmx.js} +1 -1
- package/payload/server/public/assets/{infoDiagram-42DDH7IO-DcO3Giwe.js → infoDiagram-42DDH7IO-Cj2Y19m6.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-BcdSL5VS.js → ishikawaDiagram-UXIWVN3A-DMc1xq1y.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CYahHYzf.js → journeyDiagram-VCZTEJTY-C4CRAQma.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Cl5KhoS4.js → kanban-definition-6JOO6SKY-CTr4AldU.js} +1 -1
- package/payload/server/public/assets/lib-Bnh57com.js +29 -0
- package/payload/server/public/assets/{line-d_2oTxLp.js → line-Btlm_IAl.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-CMMDGv3x.js → mermaid-parser.core-DXFdj_y1.js} +1 -1
- package/payload/server/public/assets/{mermaid.core-DK9ENGbr.js → mermaid.core-DFBhoCr5.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-mA3x3MFG.js → mindmap-definition-QFDTVHPH-r9gVQybo.js} +1 -1
- package/payload/server/public/assets/{page-CgDmg_fX.js → page-B0iMmY6t.js} +1 -1
- package/payload/server/public/assets/{page-D9lluVl7.js → page-zQ79YCEt.js} +2 -2
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-CW1nGFlY.js → pieDiagram-DEJITSTG-CHKZjSaH.js} +1 -1
- package/payload/server/public/assets/{public-DdLMkNdS.js → public-DyGWgfaZ.js} +4 -4
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-DI5igJhR.js → quadrantDiagram-34T5L4WZ-CSGR1HJr.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-DyVeI4e_.js → requirementDiagram-MS252O5E-DZ6hX9D6.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-CCTTBYKY.js → sankeyDiagram-XADWPNL6-DbZBKh0m.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-hVVf35ly.js → sequenceDiagram-FGHM5R23-BHHpb8dt.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-CSLuQDUX.js → stateDiagram-FHFEXIEX-DQ1jiLB4.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CByT2RzF.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-sxC3W8Q4.js → timeline-definition-GMOUNBTQ-BlGiEU7p.js} +1 -1
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-Ro-ton6Z.js → vennDiagram-DHZGUBPP-DmEH-hsB.js} +1 -1
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-T-dKD0Zx.js → wardleyDiagram-NUSXRM2D-C7KJJ40d.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CfProPts.js → xychartDiagram-5P7HB3ND-JDnusCaa.js} +1 -1
- package/payload/server/public/data.html +4 -4
- package/payload/server/public/graph.html +5 -5
- package/payload/server/public/index.html +7 -7
- package/payload/server/public/public.html +4 -4
- package/payload/server/server.js +52 -8
- package/payload/platform/plugins/teaching/.claude-plugin/plugin.json +0 -8
- package/payload/platform/plugins/teaching/PLUGIN.md +0 -58
- package/payload/platform/plugins/teaching/skills/interactive-tutor/SKILL.md +0 -59
- package/payload/platform/plugins/teaching/skills/interactive-tutor/references/assessment.md +0 -70
- package/payload/platform/plugins/teaching/skills/interactive-tutor/references/classroom-conduct.md +0 -43
- package/payload/platform/plugins/teaching/skills/interactive-tutor/references/teaching-modes.md +0 -83
- package/payload/platform/plugins/teaching/skills/lesson-planner/SKILL.md +0 -48
- package/payload/platform/plugins/teaching/skills/lesson-planner/references/context-gathering.md +0 -41
- package/payload/platform/plugins/teaching/skills/lesson-planner/references/plan-structure.md +0 -94
- package/payload/platform/plugins/teaching/skills/study-pack-builder/SKILL.md +0 -52
- package/payload/platform/plugins/teaching/skills/study-pack-builder/references/disaggregation.md +0 -49
- package/payload/platform/plugins/teaching/skills/study-pack-builder/references/materials.md +0 -116
- package/payload/platform/plugins/venture-studio/.claude-plugin/plugin.json +0 -8
- package/payload/platform/plugins/venture-studio/PLUGIN.md +0 -119
- package/payload/platform/plugins/venture-studio/bin/scaffold.sh +0 -116
- package/payload/platform/plugins/venture-studio/skills/brand-pack/SKILL.md +0 -256
- package/payload/platform/plugins/venture-studio/skills/brand-pack/references/color-psychology.md +0 -118
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/SKILL.md +0 -374
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/business-plan-template.md +0 -64
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/compliance-research-checklist.md +0 -53
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/data-room-structure.md +0 -88
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/deck-blueprint-template.md +0 -39
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/design-tokens-application.md +0 -79
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/html-pdf-pipeline.md +0 -236
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/internal-workings-scrub.md +0 -33
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/references/termsheet-template.md +0 -88
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/index.html +0 -1565
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/render-pdf.mjs +0 -91
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/term_sheet.html +0 -715
- package/payload/platform/plugins/venture-studio/skills/office-hours/SKILL.md +0 -587
- package/payload/platform/plugins/venture-studio/skills/prototype-host/SKILL.md +0 -179
- package/payload/platform/plugins/venture-studio/skills/prototype-host/references/cloudflared-ingress-edit.md +0 -81
- package/payload/platform/plugins/venture-studio/skills/prototype-host/references/scaffold-frameworks.md +0 -60
- package/payload/platform/plugins/venture-studio/skills/prototype-host/references/systemd-user-service.md +0 -104
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/SKILL.md +0 -336
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/aarrr-metrics.md +0 -275
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/assumption-testing.md +0 -93
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/boolean-search.md +0 -308
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/build-measure-learn.md +0 -262
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/business-model-canvas.md +0 -171
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/commitment-signals.md +0 -246
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/design-thinking.md +0 -183
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/earlyvangelist.md +0 -190
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/first-principles.md +0 -58
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/fishbone.md +0 -114
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/five-whys.md +0 -43
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/ice-scoring.md +0 -237
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/innovation-accounting.md +0 -290
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/jtbd.md +0 -105
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +0 -361
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/market-type.md +0 -167
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/mom-test.md +0 -193
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/mvp-types.md +0 -200
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/og-images.md +0 -239
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pareto.md +0 -103
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/persona-development.md +0 -291
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pivot-types.md +0 -225
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/positioning-statement.md +0 -179
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/prd.md +0 -363
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pre-mortem.md +0 -74
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/problem-validation.md +0 -253
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/product-market-fit.md +0 -256
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/research-synthesis.md +0 -276
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/three-engines-of-growth.md +0 -248
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/validation-tests.md +0 -89
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/value-proposition-canvas.md +0 -121
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/win-loss-analysis.md +0 -242
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/workflow-mapping.md +0 -271
- package/payload/platform/plugins/waitlist/.claude-plugin/plugin.json +0 -17
- package/payload/platform/plugins/waitlist/PLUGIN.md +0 -86
- package/payload/platform/plugins/waitlist/mcp/dist/index.d.ts +0 -2
- package/payload/platform/plugins/waitlist/mcp/dist/index.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/index.js +0 -388
- package/payload/platform/plugins/waitlist/mcp/dist/index.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.d.ts +0 -16
- package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.js +0 -58
- package/payload/platform/plugins/waitlist/mcp/dist/lib/admin-model.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.d.ts +0 -3
- package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.js +0 -48
- package/payload/platform/plugins/waitlist/mcp/dist/lib/embedding.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.d.ts +0 -5
- package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js +0 -40
- package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.d.ts +0 -2
- package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js +0 -70
- package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.d.ts +0 -34
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.js +0 -129
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-extract.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.d.ts +0 -27
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.js +0 -127
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-heal.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.d.ts +0 -23
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.js +0 -58
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-list.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts +0 -83
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js +0 -433
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.d.ts +0 -19
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.js +0 -81
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-review.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.d.ts +0 -28
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.js +0 -50
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-scan.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.d.ts +0 -33
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.d.ts.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js +0 -297
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js.map +0 -1
- package/payload/platform/plugins/waitlist/mcp/package.json +0 -23
- package/payload/platform/plugins/waitlist/mcp/vitest.config.ts +0 -9
- package/payload/platform/plugins/writer-craft/.claude-plugin/plugin.json +0 -8
- package/payload/platform/plugins/writer-craft/PLUGIN.md +0 -88
- package/payload/platform/plugins/writer-craft/agents/writer-craft--manuscript-reviewer.md +0 -92
- package/payload/platform/plugins/writer-craft/skills/citation-style/SKILL.md +0 -94
- package/payload/platform/plugins/writer-craft/skills/citation-style/references/book-and-chapter-models.md +0 -77
- package/payload/platform/plugins/writer-craft/skills/citation-style/references/citation-rules.md +0 -103
- package/payload/platform/plugins/writer-craft/skills/citation-style/references/journal-article-models.md +0 -74
- package/payload/platform/plugins/writer-craft/skills/citation-style/references/other-source-models.md +0 -146
- package/payload/platform/plugins/writer-craft/skills/citation-style/references/reference-list-rules.md +0 -70
- package/payload/platform/plugins/writer-craft/skills/editorial-practice/SKILL.md +0 -108
- package/payload/platform/plugins/writer-craft/skills/editorial-practice/references/copyediting.md +0 -73
- package/payload/platform/plugins/writer-craft/skills/editorial-practice/references/developmental-editing.md +0 -85
- package/payload/platform/plugins/writer-craft/skills/editorial-practice/references/genre-specific-editing.md +0 -78
- package/payload/platform/plugins/writer-craft/skills/editorial-practice/references/line-editing.md +0 -55
- package/payload/platform/plugins/writer-craft/skills/editorial-practice/references/self-editing.md +0 -89
- package/payload/platform/plugins/writer-craft/skills/persuasive-storytelling/SKILL.md +0 -114
- package/payload/platform/plugins/writer-craft/skills/persuasive-storytelling/references/audience-analysis.md +0 -73
- package/payload/platform/plugins/writer-craft/skills/persuasive-storytelling/references/crafting-persuasive-story.md +0 -76
- package/payload/platform/plugins/writer-craft/skills/persuasive-storytelling/references/persuasion-case-studies.md +0 -67
- package/payload/platform/plugins/writer-craft/skills/persuasive-storytelling/references/transformation-framework.md +0 -86
- package/payload/platform/plugins/writer-craft/skills/point-of-view/SKILL.md +0 -97
- package/payload/platform/plugins/writer-craft/skills/point-of-view/references/indirect-narration.md +0 -72
- package/payload/platform/plugins/writer-craft/skills/point-of-view/references/pov-types-and-voice.md +0 -91
- package/payload/platform/plugins/writer-craft/skills/point-of-view/references/protagonist-filter.md +0 -71
- package/payload/platform/plugins/writer-craft/skills/point-of-view/references/tense-and-person.md +0 -85
- package/payload/platform/plugins/writer-craft/skills/prose-craft/SKILL.md +0 -100
- package/payload/platform/plugins/writer-craft/skills/prose-craft/references/punctuation-and-grammar.md +0 -72
- package/payload/platform/plugins/writer-craft/skills/prose-craft/references/repetition.md +0 -71
- package/payload/platform/plugins/writer-craft/skills/prose-craft/references/sound-and-rhythm.md +0 -64
- package/payload/platform/plugins/writer-craft/skills/prose-craft/references/word-economy.md +0 -93
- package/payload/platform/plugins/writer-craft/skills/reader-engagement/SKILL.md +0 -100
- package/payload/platform/plugins/writer-craft/skills/reader-engagement/references/cause-effect-setup-payoff.md +0 -79
- package/payload/platform/plugins/writer-craft/skills/reader-engagement/references/conflict-escalation.md +0 -81
- package/payload/platform/plugins/writer-craft/skills/reader-engagement/references/hooking-readers.md +0 -67
- package/payload/platform/plugins/writer-craft/skills/reader-engagement/references/neurochemistry-of-engagement.md +0 -94
- package/payload/platform/plugins/writer-craft/skills/review-manuscript/SKILL.md +0 -111
- package/payload/platform/plugins/writer-craft/skills/review-manuscript/references/review-manuscript-checklist.md +0 -119
- package/payload/platform/plugins/writer-craft/skills/review-prose/SKILL.md +0 -99
- package/payload/platform/plugins/writer-craft/skills/review-prose/references/prose-review-checklist.md +0 -112
- package/payload/platform/plugins/writer-craft/skills/review-scene/SKILL.md +0 -99
- package/payload/platform/plugins/writer-craft/skills/review-scene/references/scene-analysis-framework.md +0 -95
- package/payload/platform/plugins/writer-craft/skills/story-architecture/SKILL.md +0 -106
- package/payload/platform/plugins/writer-craft/skills/story-architecture/references/blueprinting-and-scene-cards.md +0 -118
- package/payload/platform/plugins/writer-craft/skills/story-architecture/references/inner-issue-and-protagonist-goal.md +0 -66
- package/payload/platform/plugins/writer-craft/skills/story-architecture/references/misbelief-desire-worldview.md +0 -87
- package/payload/platform/plugins/writer-craft/skills/story-architecture/references/origin-scenes-and-escalation.md +0 -82
- package/payload/platform/plugins/writer-craft/skills/story-blueprint/SKILL.md +0 -133
- package/payload/platform/plugins/writer-craft/skills/story-blueprint/references/blueprinting-exercises.md +0 -118
- package/payload/platform/plugins/writer-craft/skills/story-blueprint/references/blueprinting-process.md +0 -128
- package/payload/premium-plugins/.claude-plugin/marketplace.json +0 -23
- package/payload/premium-plugins/teaching/.claude-plugin/plugin.json +0 -8
- package/payload/premium-plugins/teaching/PLUGIN.md +0 -58
- package/payload/premium-plugins/teaching/skills/interactive-tutor/SKILL.md +0 -59
- package/payload/premium-plugins/teaching/skills/interactive-tutor/references/assessment.md +0 -70
- package/payload/premium-plugins/teaching/skills/interactive-tutor/references/classroom-conduct.md +0 -43
- package/payload/premium-plugins/teaching/skills/interactive-tutor/references/teaching-modes.md +0 -83
- package/payload/premium-plugins/teaching/skills/lesson-planner/SKILL.md +0 -48
- package/payload/premium-plugins/teaching/skills/lesson-planner/references/context-gathering.md +0 -41
- package/payload/premium-plugins/teaching/skills/lesson-planner/references/plan-structure.md +0 -94
- package/payload/premium-plugins/teaching/skills/study-pack-builder/SKILL.md +0 -52
- package/payload/premium-plugins/teaching/skills/study-pack-builder/references/disaggregation.md +0 -49
- package/payload/premium-plugins/teaching/skills/study-pack-builder/references/materials.md +0 -116
- package/payload/premium-plugins/venture-studio/.claude-plugin/plugin.json +0 -8
- package/payload/premium-plugins/venture-studio/PLUGIN.md +0 -119
- package/payload/premium-plugins/venture-studio/bin/scaffold.sh +0 -116
- package/payload/premium-plugins/venture-studio/skills/brand-pack/SKILL.md +0 -256
- package/payload/premium-plugins/venture-studio/skills/brand-pack/references/color-psychology.md +0 -118
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/SKILL.md +0 -374
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/business-plan-template.md +0 -64
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/compliance-research-checklist.md +0 -53
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/data-room-structure.md +0 -88
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/deck-blueprint-template.md +0 -39
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/design-tokens-application.md +0 -79
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/html-pdf-pipeline.md +0 -236
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/internal-workings-scrub.md +0 -33
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/termsheet-template.md +0 -88
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/templates/prospectus/index.html +0 -1565
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/templates/prospectus/render-pdf.mjs +0 -91
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/templates/prospectus/term_sheet.html +0 -715
- package/payload/premium-plugins/venture-studio/skills/office-hours/SKILL.md +0 -587
- package/payload/premium-plugins/venture-studio/skills/prototype-host/SKILL.md +0 -179
- package/payload/premium-plugins/venture-studio/skills/prototype-host/references/cloudflared-ingress-edit.md +0 -81
- package/payload/premium-plugins/venture-studio/skills/prototype-host/references/scaffold-frameworks.md +0 -60
- package/payload/premium-plugins/venture-studio/skills/prototype-host/references/systemd-user-service.md +0 -104
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/SKILL.md +0 -336
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/aarrr-metrics.md +0 -275
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/assumption-testing.md +0 -93
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/boolean-search.md +0 -308
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/build-measure-learn.md +0 -262
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/business-model-canvas.md +0 -171
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/commitment-signals.md +0 -246
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/design-thinking.md +0 -183
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/earlyvangelist.md +0 -190
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/first-principles.md +0 -58
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/fishbone.md +0 -114
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/five-whys.md +0 -43
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/ice-scoring.md +0 -237
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/innovation-accounting.md +0 -290
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/jtbd.md +0 -105
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +0 -361
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/market-type.md +0 -167
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/mom-test.md +0 -193
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/mvp-types.md +0 -200
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/og-images.md +0 -239
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/pareto.md +0 -103
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/persona-development.md +0 -291
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/pivot-types.md +0 -225
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/positioning-statement.md +0 -179
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/prd.md +0 -363
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/pre-mortem.md +0 -74
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/problem-validation.md +0 -253
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/product-market-fit.md +0 -256
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/research-synthesis.md +0 -276
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/three-engines-of-growth.md +0 -248
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/validation-tests.md +0 -89
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/value-proposition-canvas.md +0 -121
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/win-loss-analysis.md +0 -242
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/workflow-mapping.md +0 -271
- package/payload/premium-plugins/writer-craft/.claude-plugin/plugin.json +0 -8
- package/payload/premium-plugins/writer-craft/PLUGIN.md +0 -88
- package/payload/premium-plugins/writer-craft/agents/writer-craft--manuscript-reviewer.md +0 -92
- package/payload/premium-plugins/writer-craft/skills/citation-style/SKILL.md +0 -94
- package/payload/premium-plugins/writer-craft/skills/citation-style/references/book-and-chapter-models.md +0 -77
- package/payload/premium-plugins/writer-craft/skills/citation-style/references/citation-rules.md +0 -103
- package/payload/premium-plugins/writer-craft/skills/citation-style/references/journal-article-models.md +0 -74
- package/payload/premium-plugins/writer-craft/skills/citation-style/references/other-source-models.md +0 -146
- package/payload/premium-plugins/writer-craft/skills/citation-style/references/reference-list-rules.md +0 -70
- package/payload/premium-plugins/writer-craft/skills/editorial-practice/SKILL.md +0 -108
- package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/copyediting.md +0 -73
- package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/developmental-editing.md +0 -85
- package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/genre-specific-editing.md +0 -78
- package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/line-editing.md +0 -55
- package/payload/premium-plugins/writer-craft/skills/editorial-practice/references/self-editing.md +0 -89
- package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/SKILL.md +0 -114
- package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/audience-analysis.md +0 -73
- package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/crafting-persuasive-story.md +0 -76
- package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/persuasion-case-studies.md +0 -67
- package/payload/premium-plugins/writer-craft/skills/persuasive-storytelling/references/transformation-framework.md +0 -86
- package/payload/premium-plugins/writer-craft/skills/point-of-view/SKILL.md +0 -97
- package/payload/premium-plugins/writer-craft/skills/point-of-view/references/indirect-narration.md +0 -72
- package/payload/premium-plugins/writer-craft/skills/point-of-view/references/pov-types-and-voice.md +0 -91
- package/payload/premium-plugins/writer-craft/skills/point-of-view/references/protagonist-filter.md +0 -71
- package/payload/premium-plugins/writer-craft/skills/point-of-view/references/tense-and-person.md +0 -85
- package/payload/premium-plugins/writer-craft/skills/prose-craft/SKILL.md +0 -100
- package/payload/premium-plugins/writer-craft/skills/prose-craft/references/punctuation-and-grammar.md +0 -72
- package/payload/premium-plugins/writer-craft/skills/prose-craft/references/repetition.md +0 -71
- package/payload/premium-plugins/writer-craft/skills/prose-craft/references/sound-and-rhythm.md +0 -64
- package/payload/premium-plugins/writer-craft/skills/prose-craft/references/word-economy.md +0 -93
- package/payload/premium-plugins/writer-craft/skills/reader-engagement/SKILL.md +0 -100
- package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/cause-effect-setup-payoff.md +0 -79
- package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/conflict-escalation.md +0 -81
- package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/hooking-readers.md +0 -67
- package/payload/premium-plugins/writer-craft/skills/reader-engagement/references/neurochemistry-of-engagement.md +0 -94
- package/payload/premium-plugins/writer-craft/skills/review-manuscript/SKILL.md +0 -111
- package/payload/premium-plugins/writer-craft/skills/review-manuscript/references/review-manuscript-checklist.md +0 -119
- package/payload/premium-plugins/writer-craft/skills/review-prose/SKILL.md +0 -99
- package/payload/premium-plugins/writer-craft/skills/review-prose/references/prose-review-checklist.md +0 -112
- package/payload/premium-plugins/writer-craft/skills/review-scene/SKILL.md +0 -99
- package/payload/premium-plugins/writer-craft/skills/review-scene/references/scene-analysis-framework.md +0 -95
- package/payload/premium-plugins/writer-craft/skills/story-architecture/SKILL.md +0 -106
- package/payload/premium-plugins/writer-craft/skills/story-architecture/references/blueprinting-and-scene-cards.md +0 -118
- package/payload/premium-plugins/writer-craft/skills/story-architecture/references/inner-issue-and-protagonist-goal.md +0 -66
- package/payload/premium-plugins/writer-craft/skills/story-architecture/references/misbelief-desire-worldview.md +0 -87
- package/payload/premium-plugins/writer-craft/skills/story-architecture/references/origin-scenes-and-escalation.md +0 -82
- package/payload/premium-plugins/writer-craft/skills/story-blueprint/SKILL.md +0 -133
- package/payload/premium-plugins/writer-craft/skills/story-blueprint/references/blueprinting-exercises.md +0 -118
- package/payload/premium-plugins/writer-craft/skills/story-blueprint/references/blueprinting-process.md +0 -128
- package/payload/server/public/assets/channel-CrSx5mnG.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-C3IDJsqN.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BOIrJ5Zb.js +0 -1
- package/payload/server/public/assets/clone-P8Fkz7JD.js +0 -1
- package/payload/server/public/assets/data-DRfwJPja.js +0 -1
- package/payload/server/public/assets/graph-B4FFYwus.js +0 -1
- package/payload/server/public/assets/graph-labels-Cpk9Ktt0.js +0 -1
- package/payload/server/public/assets/lib--yuBd0Xi.js +0 -33
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-C5JejhQU.js +0 -1
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: waitlist
|
|
3
|
-
description: "Waitlist lifecycle — workflow-based extraction from public conversations, admin review, and scheduled automation."
|
|
4
|
-
tools:
|
|
5
|
-
- name: waitlist-scan
|
|
6
|
-
publicAllowlist: false
|
|
7
|
-
adminAllowlist: true
|
|
8
|
-
- name: waitlist-extract
|
|
9
|
-
publicAllowlist: false
|
|
10
|
-
adminAllowlist: true
|
|
11
|
-
- name: waitlist-persist
|
|
12
|
-
publicAllowlist: false
|
|
13
|
-
adminAllowlist: true
|
|
14
|
-
- name: waitlist-list
|
|
15
|
-
publicAllowlist: false
|
|
16
|
-
adminAllowlist: true
|
|
17
|
-
- name: waitlist-review
|
|
18
|
-
publicAllowlist: false
|
|
19
|
-
adminAllowlist: true
|
|
20
|
-
- name: waitlist-setup
|
|
21
|
-
publicAllowlist: false
|
|
22
|
-
adminAllowlist: true
|
|
23
|
-
- name: waitlist-heal
|
|
24
|
-
publicAllowlist: false
|
|
25
|
-
adminAllowlist: true
|
|
26
|
-
always: false
|
|
27
|
-
embed: false
|
|
28
|
-
lifecycle: {"activate": "waitlist-setup", "heal": "waitlist-heal"}
|
|
29
|
-
metadata: {"platform":{"optional":true}}
|
|
30
|
-
mcp:
|
|
31
|
-
command: node
|
|
32
|
-
args:
|
|
33
|
-
- ${PLATFORM_ROOT}/lib/mcp-spawn-tee/dist/index.js
|
|
34
|
-
- ${PLATFORM_ROOT}/plugins/waitlist/mcp/dist/index.js
|
|
35
|
-
env:
|
|
36
|
-
MCP_SPAWN_TEE_NAME: waitlist
|
|
37
|
-
LOG_DIR: ${LOG_DIR}
|
|
38
|
-
PLATFORM_ROOT: ${PLATFORM_ROOT}
|
|
39
|
-
ACCOUNT_ID: ${ACCOUNT_ID}
|
|
40
|
-
SESSION_ID: ${SESSION_ID}
|
|
41
|
-
mcp-manifest: auto
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
# Waitlist
|
|
45
|
-
|
|
46
|
-
Manages the waitlist lifecycle: extracting sign-ups from public conversations, reviewing entries, and scheduling automatic extraction.
|
|
47
|
-
|
|
48
|
-
## How it works
|
|
49
|
-
|
|
50
|
-
The **only** intake path is public agent conversations. The public agent captures name and email in conversation (via the sales plugin). This plugin uses a **workflow** (3-step pipeline) to scan those conversation transcripts, extract structured contact details and customer discovery intelligence via LLM, and create Person nodes in the graph. There are no other sources: no email inboxes, no web forms, no external imports. Do not suggest or speculate about alternative sign-up sources.
|
|
51
|
-
|
|
52
|
-
### Extraction workflow
|
|
53
|
-
|
|
54
|
-
The extraction runs as a standard workflow (managed by the workflows plugin), composed of three MCP tool steps:
|
|
55
|
-
|
|
56
|
-
1. **Scan** (`waitlist-scan`) — queries all public conversations and returns structured transcripts
|
|
57
|
-
2. **Extract** (`waitlist-extract`) — sends transcripts to the model via Claude Code OAuth, returns a JSON array of identity (email, given name, family name) and discovery notes (business type, role, needs, challenges, interests, engagement quality, other signals). The extraction prompt lives in the `waitlist-extract` tool source; redeploy the waitlist plugin to change behaviour.
|
|
58
|
-
3. **Persist** (`waitlist-persist`) — creates/updates Person nodes idempotently via MERGE. Validates that extracted emails actually appear in source conversations (hallucination guard). Merges discovery notes with existing data (new signal enriches, never overwrites).
|
|
59
|
-
|
|
60
|
-
- Entries where both name and email are found get `status: 'waitlist'`.
|
|
61
|
-
- Entries where only an email is found (no name match) get `status: 'review'` — the admin resolves these manually.
|
|
62
|
-
- Discovery notes are stored as a JSON string on the Person node's `discoveryNotes` property.
|
|
63
|
-
|
|
64
|
-
### Modifying the extraction
|
|
65
|
-
|
|
66
|
-
The extraction prompt lives in the `waitlist-extract` tool source (`platform/plugins/waitlist/mcp/src/tools/waitlist-extract.ts`). To change what fields are extracted, adjust instructions, or modify behaviour, edit `EXTRACTION_PROMPT` there and redeploy the waitlist plugin. The model defaults to the account's `adminModel`; passing an explicit `model` argument to `waitlist-extract` overrides per call.
|
|
67
|
-
|
|
68
|
-
## When to use each tool
|
|
69
|
-
|
|
70
|
-
- `waitlist-scan` — Gather public conversation transcripts. Normally called by the extraction workflow, not directly. Returns structured JSON.
|
|
71
|
-
- `waitlist-extract` — Run the LLM extraction over conversation transcripts and return a JSON array of contacts with discovery notes. Normally called by the extraction workflow, not directly. Runs on Claude Code OAuth.
|
|
72
|
-
- `waitlist-persist` — Persist LLM extraction results as Person nodes. Normally called by the extraction workflow, not directly. Validates input and applies hallucination guard.
|
|
73
|
-
- `waitlist-list` — Show the admin their waitlist entries with discovery notes. Highlight the review count — entries needing name resolution.
|
|
74
|
-
- `waitlist-review` — Resolve flagged entries and view discovery context: add a name and change status from `review` to `waitlist` or `approved`. Also use to reject spam entries. Returns discovery notes alongside the status update.
|
|
75
|
-
- `waitlist-setup` — Create the extraction workflow and a recurring scheduled event that triggers it. Default: every 4 hours. Idempotent — if the workflow already exists, returns its details. Cleans up old-style extraction events automatically. To change the schedule, cancel the existing event (via `schedule-cancel`) and run `waitlist-setup` with the new recurrence.
|
|
76
|
-
|
|
77
|
-
## First-time setup
|
|
78
|
-
|
|
79
|
-
When the admin first asks about waitlist management or wants to see sign-ups, run `waitlist-setup` to create the extraction workflow and schedule. Then run `workflow-execute` on the created workflow to populate entries from existing conversations, followed by `waitlist-list` to show results.
|
|
80
|
-
|
|
81
|
-
## Relationship to other plugins
|
|
82
|
-
|
|
83
|
-
- **Sales plugin** — handles the public-facing conversation that captures name and email. The sales plugin collects; the waitlist plugin extracts and manages.
|
|
84
|
-
- **Contacts plugin** — waitlist entries are Person nodes (same schema). `contact-list` with `source: 'waitlist'` shows the same data. The waitlist tools add extraction and review workflows on top.
|
|
85
|
-
- **Workflows plugin** — the extraction runs as a standard workflow. The user manages the extraction prompt and execution through workflow tools.
|
|
86
|
-
- **Scheduling plugin** — `waitlist-setup` creates an Event node that triggers `workflow-execute` via the platform heartbeat. The admin can view and manage this event via scheduling tools.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
import { initStderrTee } from "../../../../lib/mcp-stderr-tee/dist/index.js";
|
|
2
|
-
initStderrTee("waitlist");
|
|
3
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
import { waitlistScan } from "./tools/waitlist-scan.js";
|
|
7
|
-
import { waitlistExtract } from "./tools/waitlist-extract.js";
|
|
8
|
-
import { waitlistPersist } from "./tools/waitlist-persist.js";
|
|
9
|
-
import { waitlistList } from "./tools/waitlist-list.js";
|
|
10
|
-
import { waitlistReview } from "./tools/waitlist-review.js";
|
|
11
|
-
import { waitlistSetup } from "./tools/waitlist-setup.js";
|
|
12
|
-
import { waitlistHeal } from "./tools/waitlist-heal.js";
|
|
13
|
-
import { closeDriver } from "./lib/neo4j.js";
|
|
14
|
-
// Cast to `any` to avoid TS2589. TypeScript hits its 50-level instantiation
|
|
15
|
-
// limit when accumulating typed tool signatures on a generic McpServer.
|
|
16
|
-
// Individual tool handlers retain full type safety in their own files.
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
|
-
const server = new McpServer({
|
|
19
|
-
name: "maxy-waitlist",
|
|
20
|
-
version: "0.1.0",
|
|
21
|
-
});
|
|
22
|
-
// Plugin-system boot tolerance — see Task 202.
|
|
23
|
-
// Module-init must never throw; plugin-system spawn enumerates tools/list
|
|
24
|
-
// before ACCOUNT_ID is set. Per-call refusal preserves account isolation.
|
|
25
|
-
const accountId = process.env.ACCOUNT_ID ?? null;
|
|
26
|
-
process.stderr.write(`[waitlist] boot accountId=${accountId ?? "null"}\n`);
|
|
27
|
-
function refuseNoAccount(toolName) {
|
|
28
|
-
process.stderr.write(`[waitlist] tool=${toolName} refuse reason=no-account-context\n`);
|
|
29
|
-
return {
|
|
30
|
-
content: [
|
|
31
|
-
{
|
|
32
|
-
type: "text",
|
|
33
|
-
text: `${toolName} cannot execute: this MCP instance was launched without ACCOUNT_ID (plugin-system metadata-only mode). Per-account waitlist work requires ACCOUNT_ID at spawn.`,
|
|
34
|
-
},
|
|
35
|
-
],
|
|
36
|
-
isError: true,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
const agentSlug = process.env.AGENT_SLUG || undefined;
|
|
40
|
-
const sessionId = process.env.SESSION_ID || undefined;
|
|
41
|
-
// ---------------------------------------------------------------------------
|
|
42
|
-
// waitlist-scan
|
|
43
|
-
// ---------------------------------------------------------------------------
|
|
44
|
-
server.tool("waitlist-scan", "Scan public agent conversations and return structured transcripts. Used as step 1 of the waitlist extraction workflow — gathers conversation data for the LLM extraction step. Returns JSON with conversation IDs and user messages.", {}, async () => {
|
|
45
|
-
if (!accountId)
|
|
46
|
-
return refuseNoAccount("waitlist-scan");
|
|
47
|
-
try {
|
|
48
|
-
const result = await waitlistScan(accountId);
|
|
49
|
-
return {
|
|
50
|
-
content: [{ type: "text", text: JSON.stringify(result) }],
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
catch (err) {
|
|
54
|
-
return {
|
|
55
|
-
content: [
|
|
56
|
-
{
|
|
57
|
-
type: "text",
|
|
58
|
-
text: `Scan failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
59
|
-
},
|
|
60
|
-
],
|
|
61
|
-
isError: true,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
// ---------------------------------------------------------------------------
|
|
66
|
-
// waitlist-extract
|
|
67
|
-
// ---------------------------------------------------------------------------
|
|
68
|
-
server.tool("waitlist-extract", "Extract contact details and customer discovery intelligence from public conversation transcripts via LLM. Step 2 of the waitlist-discovery workflow — called between waitlist-scan and waitlist-persist. Runs on Claude Code OAuth. Returns a JSON array of extraction entries (one per visitor with an email address).", {
|
|
69
|
-
conversations: z.unknown().describe("Conversation transcripts from waitlist-scan: either {conversations: [...]} or a bare array."),
|
|
70
|
-
model: z
|
|
71
|
-
.string()
|
|
72
|
-
.optional()
|
|
73
|
-
.describe("Anthropic model ID override. Omit to use the account's adminModel."),
|
|
74
|
-
}, async (params) => {
|
|
75
|
-
if (!accountId)
|
|
76
|
-
return refuseNoAccount("waitlist-extract");
|
|
77
|
-
try {
|
|
78
|
-
const result = await waitlistExtract({
|
|
79
|
-
accountId,
|
|
80
|
-
conversations: params.conversations,
|
|
81
|
-
model: params.model,
|
|
82
|
-
});
|
|
83
|
-
return {
|
|
84
|
-
content: [{ type: "text", text: result.extractionsJson }],
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
catch (err) {
|
|
88
|
-
return {
|
|
89
|
-
content: [
|
|
90
|
-
{
|
|
91
|
-
type: "text",
|
|
92
|
-
text: `Extract failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
93
|
-
},
|
|
94
|
-
],
|
|
95
|
-
isError: true,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
// ---------------------------------------------------------------------------
|
|
100
|
-
// waitlist-persist
|
|
101
|
-
// ---------------------------------------------------------------------------
|
|
102
|
-
server.tool("waitlist-persist", "Persist LLM extraction results as Person nodes. Used as step 3 of the waitlist extraction workflow — takes structured JSON from the LLM step and creates/updates Person nodes idempotently via MERGE. Validates emails against source conversations (hallucination guard), merges discovery notes, computes embeddings.", {
|
|
103
|
-
extractions: z.unknown().describe("JSON array of extraction results from the LLM step"),
|
|
104
|
-
conversations: z.unknown().describe("Conversation data from the scan step (for email validation)"),
|
|
105
|
-
}, async (params) => {
|
|
106
|
-
if (!accountId)
|
|
107
|
-
return refuseNoAccount("waitlist-persist");
|
|
108
|
-
try {
|
|
109
|
-
const result = await waitlistPersist({
|
|
110
|
-
accountId,
|
|
111
|
-
extractions: params.extractions,
|
|
112
|
-
conversations: params.conversations,
|
|
113
|
-
});
|
|
114
|
-
const parts = [`Processed ${result.processed} extractions`];
|
|
115
|
-
if (result.created > 0)
|
|
116
|
-
parts.push(`${result.created} new entries created`);
|
|
117
|
-
if (result.updated > 0)
|
|
118
|
-
parts.push(`${result.updated} entries updated`);
|
|
119
|
-
if (result.flaggedForReview > 0)
|
|
120
|
-
parts.push(`${result.flaggedForReview} flagged for review (email only)`);
|
|
121
|
-
if (result.existing > 0)
|
|
122
|
-
parts.push(`${result.existing} already existed`);
|
|
123
|
-
if (result.withDiscoveryNotes > 0)
|
|
124
|
-
parts.push(`${result.withDiscoveryNotes} with discovery notes`);
|
|
125
|
-
if (result.filtered > 0)
|
|
126
|
-
parts.push(`${result.filtered} filtered (invalid/hallucinated)`);
|
|
127
|
-
if (result.errors > 0)
|
|
128
|
-
parts.push(`${result.errors} errors`);
|
|
129
|
-
if (result.processed === 0)
|
|
130
|
-
parts.push("no extractions to process");
|
|
131
|
-
return {
|
|
132
|
-
content: [{ type: "text", text: parts.join(". ") + "." }],
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
catch (err) {
|
|
136
|
-
return {
|
|
137
|
-
content: [
|
|
138
|
-
{
|
|
139
|
-
type: "text",
|
|
140
|
-
text: `Persist failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
141
|
-
},
|
|
142
|
-
],
|
|
143
|
-
isError: true,
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
// ---------------------------------------------------------------------------
|
|
148
|
-
// waitlist-list
|
|
149
|
-
// ---------------------------------------------------------------------------
|
|
150
|
-
server.tool("waitlist-list", "List waitlist entries with discovery notes. Returns Person nodes created by the extraction process (source=waitlist). Shows total count, how many need review, and customer discovery intelligence (business type, needs, challenges, interests) when available.", {
|
|
151
|
-
status: z
|
|
152
|
-
.string()
|
|
153
|
-
.optional()
|
|
154
|
-
.describe("Filter by status (waitlist, review, approved, rejected)"),
|
|
155
|
-
since: z
|
|
156
|
-
.string()
|
|
157
|
-
.optional()
|
|
158
|
-
.describe("ISO date — only entries created after this date"),
|
|
159
|
-
limit: z
|
|
160
|
-
.number()
|
|
161
|
-
.int()
|
|
162
|
-
.optional()
|
|
163
|
-
.describe("Max results (default 50)"),
|
|
164
|
-
}, async (params) => {
|
|
165
|
-
if (!accountId)
|
|
166
|
-
return refuseNoAccount("waitlist-list");
|
|
167
|
-
try {
|
|
168
|
-
const result = await waitlistList({ ...params, accountId });
|
|
169
|
-
if (result.entries.length === 0) {
|
|
170
|
-
return {
|
|
171
|
-
content: [{ type: "text", text: "No waitlist entries found." }],
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
const header = `${result.total} waitlist entries (${result.reviewCount} needing review):\n\n`;
|
|
175
|
-
const formatted = result.entries
|
|
176
|
-
.map((e) => {
|
|
177
|
-
let line = `${e.givenName}${e.familyName ? ` ${e.familyName}` : ""} <${e.email}> — ${e.status} (${e.createdOn})`;
|
|
178
|
-
if (e.extractedOn)
|
|
179
|
-
line += ` [extracted: ${e.extractedOn}]`;
|
|
180
|
-
if (e.discoveryNotes) {
|
|
181
|
-
try {
|
|
182
|
-
const notes = JSON.parse(e.discoveryNotes);
|
|
183
|
-
const parts = [];
|
|
184
|
-
if (notes.businessType)
|
|
185
|
-
parts.push(`business: ${notes.businessType}`);
|
|
186
|
-
if (notes.role)
|
|
187
|
-
parts.push(`role: ${notes.role}`);
|
|
188
|
-
if (notes.needs)
|
|
189
|
-
parts.push(`needs: ${notes.needs}`);
|
|
190
|
-
if (notes.challenges)
|
|
191
|
-
parts.push(`challenges: ${notes.challenges}`);
|
|
192
|
-
if (notes.interests)
|
|
193
|
-
parts.push(`interests: ${notes.interests}`);
|
|
194
|
-
if (notes.engagementQuality)
|
|
195
|
-
parts.push(`engagement: ${notes.engagementQuality}`);
|
|
196
|
-
if (notes.otherSignals)
|
|
197
|
-
parts.push(`signals: ${notes.otherSignals}`);
|
|
198
|
-
if (parts.length > 0)
|
|
199
|
-
line += `\n Discovery: ${parts.join("; ")}`;
|
|
200
|
-
}
|
|
201
|
-
catch {
|
|
202
|
-
// Malformed discoveryNotes — skip display
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
return line;
|
|
206
|
-
})
|
|
207
|
-
.join("\n");
|
|
208
|
-
return {
|
|
209
|
-
content: [{ type: "text", text: header + formatted }],
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
catch (err) {
|
|
213
|
-
return {
|
|
214
|
-
content: [
|
|
215
|
-
{
|
|
216
|
-
type: "text",
|
|
217
|
-
text: `List failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
218
|
-
},
|
|
219
|
-
],
|
|
220
|
-
isError: true,
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
// ---------------------------------------------------------------------------
|
|
225
|
-
// waitlist-review
|
|
226
|
-
// ---------------------------------------------------------------------------
|
|
227
|
-
server.tool("waitlist-review", "Update a waitlist entry and view discovery notes. Find by email, node ID, or name (partial, case-insensitive). Returns the entry's customer discovery intelligence (business type, needs, challenges, interests) alongside the status update. Use to resolve entries flagged for review (email-only, no name) by adding a name and setting the appropriate status. Also use to approve or reject entries. If status is omitted, the current status is preserved.", {
|
|
228
|
-
email: z.string().optional().describe("Find entry by email address"),
|
|
229
|
-
nodeId: z.string().optional().describe("Find entry by Neo4j node ID"),
|
|
230
|
-
name: z.string().optional().describe("Find entry by name (partial match, case-insensitive)"),
|
|
231
|
-
status: z
|
|
232
|
-
.string()
|
|
233
|
-
.optional()
|
|
234
|
-
.describe("New status (e.g. waitlist, approved, rejected). Omit to keep current status."),
|
|
235
|
-
givenName: z.string().optional().describe("Update first name (for review entries)"),
|
|
236
|
-
familyName: z.string().optional().describe("Update last name"),
|
|
237
|
-
}, async (params) => {
|
|
238
|
-
if (!accountId)
|
|
239
|
-
return refuseNoAccount("waitlist-review");
|
|
240
|
-
try {
|
|
241
|
-
const result = await waitlistReview({ ...params, accountId });
|
|
242
|
-
let text = `Updated ${result.email}: ${result.previousStatus} → ${result.newStatus}`;
|
|
243
|
-
if (result.extractedOn)
|
|
244
|
-
text += ` [extracted: ${result.extractedOn}]`;
|
|
245
|
-
if (result.discoveryNotes) {
|
|
246
|
-
try {
|
|
247
|
-
const notes = JSON.parse(result.discoveryNotes);
|
|
248
|
-
const parts = [];
|
|
249
|
-
if (notes.businessType)
|
|
250
|
-
parts.push(`business: ${notes.businessType}`);
|
|
251
|
-
if (notes.role)
|
|
252
|
-
parts.push(`role: ${notes.role}`);
|
|
253
|
-
if (notes.needs)
|
|
254
|
-
parts.push(`needs: ${notes.needs}`);
|
|
255
|
-
if (notes.challenges)
|
|
256
|
-
parts.push(`challenges: ${notes.challenges}`);
|
|
257
|
-
if (notes.interests)
|
|
258
|
-
parts.push(`interests: ${notes.interests}`);
|
|
259
|
-
if (notes.engagementQuality)
|
|
260
|
-
parts.push(`engagement: ${notes.engagementQuality}`);
|
|
261
|
-
if (notes.otherSignals)
|
|
262
|
-
parts.push(`signals: ${notes.otherSignals}`);
|
|
263
|
-
if (parts.length > 0)
|
|
264
|
-
text += `\nDiscovery: ${parts.join("; ")}`;
|
|
265
|
-
}
|
|
266
|
-
catch {
|
|
267
|
-
// Malformed discoveryNotes — skip display
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
return {
|
|
271
|
-
content: [{ type: "text", text }],
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
catch (err) {
|
|
275
|
-
return {
|
|
276
|
-
content: [
|
|
277
|
-
{
|
|
278
|
-
type: "text",
|
|
279
|
-
text: `Review failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
280
|
-
},
|
|
281
|
-
],
|
|
282
|
-
isError: true,
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
});
|
|
286
|
-
// ---------------------------------------------------------------------------
|
|
287
|
-
// waitlist-setup
|
|
288
|
-
// ---------------------------------------------------------------------------
|
|
289
|
-
server.tool("waitlist-setup", "Set up automatic waitlist extraction as a workflow. Creates a 3-step workflow (scan conversations → LLM extraction → persist Person nodes) and a recurring scheduled event that triggers it. The extraction prompt is visible via workflow-get and editable via workflow-update. Default schedule: every 4 hours. If the workflow already exists, returns its details. Cleans up any old-style extraction events automatically.", {
|
|
290
|
-
recurrence: z
|
|
291
|
-
.string()
|
|
292
|
-
.optional()
|
|
293
|
-
.describe("Cron expression (5-field: min hour dom mon dow). Default: '0 */4 * * *' (every 4 hours)"),
|
|
294
|
-
timezone: z
|
|
295
|
-
.string()
|
|
296
|
-
.optional()
|
|
297
|
-
.describe("IANA timezone (e.g. Europe/London). Defaults to server timezone."),
|
|
298
|
-
}, async (params) => {
|
|
299
|
-
if (!accountId)
|
|
300
|
-
return refuseNoAccount("waitlist-setup");
|
|
301
|
-
try {
|
|
302
|
-
const result = await waitlistSetup({
|
|
303
|
-
...params,
|
|
304
|
-
accountId,
|
|
305
|
-
createdBy: { agent: agentSlug, session: sessionId, tool: "waitlist-setup" },
|
|
306
|
-
});
|
|
307
|
-
if (result.alreadyExists) {
|
|
308
|
-
return {
|
|
309
|
-
content: [
|
|
310
|
-
{
|
|
311
|
-
type: "text",
|
|
312
|
-
text: `Waitlist extraction already configured (workflow: ${result.workflowId}, event: ${result.eventId}, recurrence: ${result.recurrence}, next run: ${result.nextRun}). View the extraction prompt with workflow-get. To change the schedule, cancel the event with schedule-cancel then run waitlist-setup again.`,
|
|
313
|
-
},
|
|
314
|
-
],
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
|
-
return {
|
|
318
|
-
content: [
|
|
319
|
-
{
|
|
320
|
-
type: "text",
|
|
321
|
-
text: `Waitlist extraction workflow created and scheduled: every ${result.recurrence} (workflow: ${result.workflowId}, event: ${result.eventId}, next run: ${result.nextRun}). View or edit the extraction prompt with workflow-get / workflow-update.`,
|
|
322
|
-
},
|
|
323
|
-
],
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
catch (err) {
|
|
327
|
-
return {
|
|
328
|
-
content: [
|
|
329
|
-
{
|
|
330
|
-
type: "text",
|
|
331
|
-
text: `Setup failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
332
|
-
},
|
|
333
|
-
],
|
|
334
|
-
isError: true,
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
});
|
|
338
|
-
// ---------------------------------------------------------------------------
|
|
339
|
-
// waitlist-heal
|
|
340
|
-
// ---------------------------------------------------------------------------
|
|
341
|
-
server.tool("waitlist-heal", "Heal broken prompt patterns in the waitlist extraction workflow. Idempotent — safe to call on every heartbeat cycle. Reads the LLM step's prompt, replaces known broken patterns with the correct versions, and writes back only if something changed. Returns immediately with no changes when the prompt is already healthy.", {}, async () => {
|
|
342
|
-
if (!accountId)
|
|
343
|
-
return refuseNoAccount("waitlist-heal");
|
|
344
|
-
try {
|
|
345
|
-
const result = await waitlistHeal({ accountId });
|
|
346
|
-
if (result.healed) {
|
|
347
|
-
return {
|
|
348
|
-
content: [
|
|
349
|
-
{
|
|
350
|
-
type: "text",
|
|
351
|
-
text: `Prompt healed for workflow ${result.workflowId}`,
|
|
352
|
-
},
|
|
353
|
-
],
|
|
354
|
-
};
|
|
355
|
-
}
|
|
356
|
-
return {
|
|
357
|
-
content: [
|
|
358
|
-
{
|
|
359
|
-
type: "text",
|
|
360
|
-
text: result.workflowId
|
|
361
|
-
? "No healing needed — prompt is healthy"
|
|
362
|
-
: "No waitlist workflow found — nothing to heal",
|
|
363
|
-
},
|
|
364
|
-
],
|
|
365
|
-
};
|
|
366
|
-
}
|
|
367
|
-
catch (err) {
|
|
368
|
-
return {
|
|
369
|
-
content: [
|
|
370
|
-
{
|
|
371
|
-
type: "text",
|
|
372
|
-
text: `Heal failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
373
|
-
},
|
|
374
|
-
],
|
|
375
|
-
isError: true,
|
|
376
|
-
};
|
|
377
|
-
}
|
|
378
|
-
});
|
|
379
|
-
// ---------------------------------------------------------------------------
|
|
380
|
-
// Shutdown + start
|
|
381
|
-
// ---------------------------------------------------------------------------
|
|
382
|
-
process.on("SIGINT", async () => {
|
|
383
|
-
await closeDriver();
|
|
384
|
-
process.exit(0);
|
|
385
|
-
});
|
|
386
|
-
const transport = new StdioServerTransport();
|
|
387
|
-
await server.connect(transport);
|
|
388
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Read the account's adminModel from account.json.
|
|
3
|
-
*
|
|
4
|
-
* Relocated from workflows/mcp/src/lib/llm-call.ts (deleted in task 127).
|
|
5
|
-
* The waitlist-extract tool is the surviving consumer; any future plugin
|
|
6
|
-
* needing the same lookup imports from here.
|
|
7
|
-
*/
|
|
8
|
-
export type AdminModelReason = "ok" | "enoent" | "eacces" | "fs_error" | "parse_error" | "field_missing" | "field_wrong_type" | "field_empty";
|
|
9
|
-
export interface AdminModelResolution {
|
|
10
|
-
model: string | null;
|
|
11
|
-
reason: AdminModelReason;
|
|
12
|
-
path: string;
|
|
13
|
-
error?: string;
|
|
14
|
-
}
|
|
15
|
-
export declare function readAdminModel(platformRoot: string, accountId: string): AdminModelResolution;
|
|
16
|
-
//# sourceMappingURL=admin-model.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admin-model.d.ts","sourceRoot":"","sources":["../../src/lib/admin-model.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,MAAM,gBAAgB,GACxB,IAAI,GACJ,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,aAAa,GACb,eAAe,GACf,kBAAkB,GAClB,aAAa,CAAC;AAElB,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,oBAAoB,CA+C5F"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Read the account's adminModel from account.json.
|
|
3
|
-
*
|
|
4
|
-
* Relocated from workflows/mcp/src/lib/llm-call.ts (deleted in task 127).
|
|
5
|
-
* The waitlist-extract tool is the surviving consumer; any future plugin
|
|
6
|
-
* needing the same lookup imports from here.
|
|
7
|
-
*/
|
|
8
|
-
import { readFileSync } from "node:fs";
|
|
9
|
-
import { resolve } from "node:path";
|
|
10
|
-
export function readAdminModel(platformRoot, accountId) {
|
|
11
|
-
if (accountId.includes("..") || accountId.includes("/") || accountId.includes("\\")) {
|
|
12
|
-
throw new Error(`Invalid accountId: "${accountId}" — path traversal blocked`);
|
|
13
|
-
}
|
|
14
|
-
const configPath = resolve(platformRoot, "..", "data", "accounts", accountId, "account.json");
|
|
15
|
-
let raw;
|
|
16
|
-
try {
|
|
17
|
-
raw = readFileSync(configPath, "utf-8");
|
|
18
|
-
}
|
|
19
|
-
catch (err) {
|
|
20
|
-
const code = err instanceof Error && "code" in err
|
|
21
|
-
? err.code
|
|
22
|
-
: undefined;
|
|
23
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
24
|
-
const reason = code === "ENOENT" ? "enoent" :
|
|
25
|
-
code === "EACCES" ? "eacces" :
|
|
26
|
-
"fs_error";
|
|
27
|
-
logResolutionFailure(reason, configPath, message);
|
|
28
|
-
return { model: null, reason, path: configPath, error: message };
|
|
29
|
-
}
|
|
30
|
-
let config;
|
|
31
|
-
try {
|
|
32
|
-
config = JSON.parse(raw);
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
36
|
-
logResolutionFailure("parse_error", configPath, message);
|
|
37
|
-
return { model: null, reason: "parse_error", path: configPath, error: message };
|
|
38
|
-
}
|
|
39
|
-
const adminModel = config.adminModel;
|
|
40
|
-
if (adminModel === undefined) {
|
|
41
|
-
logResolutionFailure("field_missing", configPath);
|
|
42
|
-
return { model: null, reason: "field_missing", path: configPath };
|
|
43
|
-
}
|
|
44
|
-
if (typeof adminModel !== "string") {
|
|
45
|
-
logResolutionFailure("field_wrong_type", configPath, `adminModel is typeof ${typeof adminModel}`);
|
|
46
|
-
return { model: null, reason: "field_wrong_type", path: configPath };
|
|
47
|
-
}
|
|
48
|
-
if (adminModel === "") {
|
|
49
|
-
logResolutionFailure("field_empty", configPath);
|
|
50
|
-
return { model: null, reason: "field_empty", path: configPath };
|
|
51
|
-
}
|
|
52
|
-
return { model: adminModel, reason: "ok", path: configPath };
|
|
53
|
-
}
|
|
54
|
-
function logResolutionFailure(reason, path, error) {
|
|
55
|
-
const errSegment = error ? ` error=${error}` : "";
|
|
56
|
-
console.error(`[waitlist-extract] adminModel resolution FAILED: reason=${reason} path=${path}${errSegment}`);
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=admin-model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admin-model.js","sourceRoot":"","sources":["../../src/lib/admin-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export declare function buildPersonEmbeddingText(givenName: string, familyName: string | null, email: string, status: string, notesJson: string | null): string;
|
|
2
|
-
export declare function computeEmbedding(text: string): Promise<number[]>;
|
|
3
|
-
//# sourceMappingURL=embedding.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/lib/embedding.ts"],"names":[],"mappings":"AAKA,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAmBR;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAatE"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
const OLLAMA_URL = process.env.OLLAMA_URL ?? "http://localhost:11434";
|
|
2
|
-
const EMBED_MODEL = process.env.EMBED_MODEL ?? "nomic-embed-text";
|
|
3
|
-
export function buildPersonEmbeddingText(givenName, familyName, email, status, notesJson) {
|
|
4
|
-
let text = `Person: ${givenName}${familyName ? ` ${familyName}` : ""} <${email}> source: waitlist status: ${status}`;
|
|
5
|
-
if (notesJson) {
|
|
6
|
-
try {
|
|
7
|
-
const notes = JSON.parse(notesJson);
|
|
8
|
-
const parts = [];
|
|
9
|
-
if (notes.businessType)
|
|
10
|
-
parts.push(`business: ${notes.businessType}`);
|
|
11
|
-
if (notes.role)
|
|
12
|
-
parts.push(`role: ${notes.role}`);
|
|
13
|
-
if (notes.needs)
|
|
14
|
-
parts.push(`needs: ${notes.needs}`);
|
|
15
|
-
if (notes.challenges)
|
|
16
|
-
parts.push(`challenges: ${notes.challenges}`);
|
|
17
|
-
if (notes.interests)
|
|
18
|
-
parts.push(`interests: ${notes.interests}`);
|
|
19
|
-
if (notes.engagementQuality)
|
|
20
|
-
parts.push(`engagement: ${notes.engagementQuality}`);
|
|
21
|
-
if (notes.otherSignals)
|
|
22
|
-
parts.push(`signals: ${notes.otherSignals}`);
|
|
23
|
-
if (parts.length > 0)
|
|
24
|
-
text += ` | ${parts.join("; ")}`;
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
// Malformed notes — embed without discovery context
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return text;
|
|
31
|
-
}
|
|
32
|
-
export async function computeEmbedding(text) {
|
|
33
|
-
try {
|
|
34
|
-
const res = await fetch(`${OLLAMA_URL}/api/embed`, {
|
|
35
|
-
method: "POST",
|
|
36
|
-
headers: { "Content-Type": "application/json" },
|
|
37
|
-
body: JSON.stringify({ model: EMBED_MODEL, input: text }),
|
|
38
|
-
});
|
|
39
|
-
if (!res.ok)
|
|
40
|
-
return [];
|
|
41
|
-
const data = (await res.json());
|
|
42
|
-
return data.embeddings[0] ?? [];
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
return [];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=embedding.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/lib/embedding.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,wBAAwB,CAAC;AACtE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,kBAAkB,CAAC;AAElE,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,UAAyB,EACzB,KAAa,EACb,MAAc,EACd,SAAwB;IAExB,IAAI,IAAI,GAAG,WAAW,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,8BAA8B,MAAM,EAAE,CAAC;IACrH,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAmB,CAAC;YACtD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACrD,IAAI,KAAK,CAAC,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACpE,IAAI,KAAK,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACjE,IAAI,KAAK,CAAC,iBAAiB;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAClF,IAAI,KAAK,CAAC,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YACrE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,YAAY,EAAE;YACjD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SAC1D,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA+B,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|