@clubnet/seedclub 0.2.46 → 0.2.48

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.
@@ -97,6 +97,25 @@ async function showCalendarMenu(ctx: any, deps: SeedclubDeps) {
97
97
  }
98
98
 
99
99
  export function registerSeedclubCommand(pi: ExtensionAPI, deps: SeedclubDeps) {
100
+ let sourceFlowPending = false;
101
+
102
+ pi.on("before_agent_start", async (event) => {
103
+ if (!sourceFlowPending) return;
104
+ sourceFlowPending = false;
105
+ return {
106
+ systemPrompt: `${event.systemPrompt}
107
+
108
+ ## Active /source Deal Sourcing Flow
109
+
110
+ The user started /source. Treat their current message as the first sourcing submission.
111
+
112
+ - If they have not provided a deck or memo, ask for the deck or memo and why they are excited. Do not ask the rest of the sourcing questions yet.
113
+ - If they provided a deck or memo, read it with the Seed Club document reader, extract the sourcing details you can find, and display those extracted details back for confirmation.
114
+ - After showing extracted details, ask the user to correct or add the missing mandatory sourcing context needed to make the intro: company name, founder name(s), founder or company contact path, how the user knows the founder, why the user is excited or willing to vouch, the round ask or explicit ask unknown, and any timing or intro constraints.
115
+ - Keep this workflow concise. Do not present it as source-backed research or a diligence report.`,
116
+ };
117
+ });
118
+
100
119
  pi.registerCommand("connect", {
101
120
  description: "Connect your Seed Club account",
102
121
  handler: async (args, ctx) => {
@@ -189,10 +208,13 @@ export function registerSeedclubCommand(pi: ExtensionAPI, deps: SeedclubDeps) {
189
208
  pi.registerCommand("source", {
190
209
  description: "Source a deal to the network",
191
210
  handler: async (_args, ctx) => {
192
- await prefillEditor(
193
- ctx,
194
- "I want to source a deal to Seed Club. First ask me only for the deck or memo. After I provide it, read the document, extract the sourcing details you can find, and display them back for confirmation. Then ask me to correct or add the missing sourcing context needed to make the intro: company name, founder name(s), founder or company contact path, how I know the founder, why I am excited or willing to vouch, the round ask or explicit ask unknown, and any timing or intro constraints. Keep it concise and do not ask for the full context before reading the deck or memo.",
195
- );
211
+ await ctx.waitForIdle();
212
+ sourceFlowPending = true;
213
+ pi.sendMessage({
214
+ customType: "seedclub_source",
215
+ content: "Send me the deck or memo, and tell me why you are excited about it.",
216
+ display: true,
217
+ });
196
218
  },
197
219
  });
198
220
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubnet/seedclub",
3
- "version": "0.2.46",
3
+ "version": "0.2.48",
4
4
  "description": "A branded command-line agent wrapper around pi, with integrated Seed Club commands, tools, and app actions",
5
5
  "license": "MIT",
6
6
  "repository": {