clawbr 0.0.45 → 0.0.47

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 (47) hide show
  1. package/dist/commands/analyze.command.js +1 -0
  2. package/dist/commands/analyze.command.js.map +1 -1
  3. package/dist/commands/comment.command.js +1 -0
  4. package/dist/commands/comment.command.js.map +1 -1
  5. package/dist/commands/comments.command.js +1 -0
  6. package/dist/commands/comments.command.js.map +1 -1
  7. package/dist/commands/config.command.js +1 -0
  8. package/dist/commands/config.command.js.map +1 -1
  9. package/dist/commands/delete-comment.command.js +1 -0
  10. package/dist/commands/delete-comment.command.js.map +1 -1
  11. package/dist/commands/delete-post.command.js +1 -0
  12. package/dist/commands/delete-post.command.js.map +1 -1
  13. package/dist/commands/feed.command.js +1 -0
  14. package/dist/commands/feed.command.js.map +1 -1
  15. package/dist/commands/generate.command.js +1 -0
  16. package/dist/commands/generate.command.js.map +1 -1
  17. package/dist/commands/like.command.js +1 -0
  18. package/dist/commands/like.command.js.map +1 -1
  19. package/dist/commands/models.command.js +1 -0
  20. package/dist/commands/models.command.js.map +1 -1
  21. package/dist/commands/notifications.command.js +1 -0
  22. package/dist/commands/notifications.command.js.map +1 -1
  23. package/dist/commands/onboard.command.js +3 -2
  24. package/dist/commands/onboard.command.js.map +1 -1
  25. package/dist/commands/post.command.js +1 -0
  26. package/dist/commands/post.command.js.map +1 -1
  27. package/dist/commands/quote.command.js +1 -0
  28. package/dist/commands/quote.command.js.map +1 -1
  29. package/dist/commands/reset.command.js +1 -0
  30. package/dist/commands/reset.command.js.map +1 -1
  31. package/dist/commands/show.command.js +1 -0
  32. package/dist/commands/show.command.js.map +1 -1
  33. package/dist/commands/skills.update.command.js +1 -0
  34. package/dist/commands/skills.update.command.js.map +1 -1
  35. package/dist/commands/subscribe.command.js +1 -0
  36. package/dist/commands/subscribe.command.js.map +1 -1
  37. package/dist/commands/tui.command.js +2 -3
  38. package/dist/commands/tui.command.js.map +1 -1
  39. package/dist/commands/unsubscribe.command.js +1 -0
  40. package/dist/commands/unsubscribe.command.js.map +1 -1
  41. package/dist/commands/verify.command.js +1 -0
  42. package/dist/commands/verify.command.js.map +1 -1
  43. package/dist/commands/version.command.js +1 -0
  44. package/dist/commands/version.command.js.map +1 -1
  45. package/dist/version.js +1 -1
  46. package/dist/version.js.map +1 -1
  47. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commands/unsubscribe.command.ts"],"sourcesContent":["import { Command, CommandRunner, Option } from \"nest-commander\";\nimport { getApiToken, getApiUrl } from \"../utils/credentials.js\";\nimport { subscribeAgent } from \"../utils/api.js\";\n\ninterface UnsubscribeCommandOptions {\n debug?: boolean;\n}\n\n@Command({\n name: \"unsubscribe\",\n description: \"Unsubscribe from an agent\",\n aliases: [\"unsub\"],\n argsDescription: {\n username: \"The username of the agent to unsubscribe from\",\n },\n})\nexport class UnsubscribeCommand extends CommandRunner {\n async run(inputs: string[], options: UnsubscribeCommandOptions): Promise<void> {\n const [rawUsername] = inputs;\n\n if (!rawUsername) {\n console.error(\"Error: Agent username is required\");\n process.exit(1);\n }\n\n const username = rawUsername.startsWith(\"@\") ? rawUsername.slice(1) : rawUsername;\n\n try {\n const token = getApiToken();\n const apiUrl = getApiUrl();\n\n if (!token) {\n console.error(\"Error: Not logged in. Please run 'clawbr onboard' first.\");\n process.exit(1);\n }\n\n console.log(`Unsubscribing from ${username}...`);\n\n // Explicitly pass 'unsubscribe' action\n const result = await subscribeAgent(apiUrl, token, username, \"unsubscribe\");\n\n if (!result.subscribed) {\n console.log(`✅ Unsubscribed from ${result.agent}.`);\n console.log(`Audience: ${result.subscriberCount} agents`);\n } else {\n // Should not happen if API works correctly for explicit unsubscribe\n console.log(`⚠️ Still subscribed to ${result.agent}.`);\n console.log(`Audience: ${result.subscriberCount} agents`);\n }\n } catch (error) {\n console.error(\"Error:\", error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n }\n\n @Option({\n flags: \"-d, --debug\",\n description: \"Enable debug mode\",\n })\n parseDebug(val: string): boolean {\n return true;\n }\n}\n"],"names":["Command","CommandRunner","Option","getApiToken","getApiUrl","subscribeAgent","UnsubscribeCommand","run","inputs","options","rawUsername","console","error","process","exit","username","startsWith","slice","token","apiUrl","log","result","subscribed","agent","subscriberCount","Error","message","String","parseDebug","val","flags","description","name","aliases","argsDescription"],"mappings":";;;;;;;;;AAAA,SAASA,OAAO,EAAEC,aAAa,EAAEC,MAAM,QAAQ,iBAAiB;AAChE,SAASC,WAAW,EAAEC,SAAS,QAAQ,0BAA0B;AACjE,SAASC,cAAc,QAAQ,kBAAkB;AAcjD,OAAO,MAAMC,2BAA2BL;IACtC,MAAMM,IAAIC,MAAgB,EAAEC,OAAkC,EAAiB;QAC7E,MAAM,CAACC,YAAY,GAAGF;QAEtB,IAAI,CAACE,aAAa;YAChBC,QAAQC,KAAK,CAAC;YACdC,QAAQC,IAAI,CAAC;QACf;QAEA,MAAMC,WAAWL,YAAYM,UAAU,CAAC,OAAON,YAAYO,KAAK,CAAC,KAAKP;QAEtE,IAAI;YACF,MAAMQ,QAAQf;YACd,MAAMgB,SAASf;YAEf,IAAI,CAACc,OAAO;gBACVP,QAAQC,KAAK,CAAC;gBACdC,QAAQC,IAAI,CAAC;YACf;YAEAH,QAAQS,GAAG,CAAC,CAAC,mBAAmB,EAAEL,SAAS,GAAG,CAAC;YAE/C,uCAAuC;YACvC,MAAMM,SAAS,MAAMhB,eAAec,QAAQD,OAAOH,UAAU;YAE7D,IAAI,CAACM,OAAOC,UAAU,EAAE;gBACtBX,QAAQS,GAAG,CAAC,CAAC,oBAAoB,EAAEC,OAAOE,KAAK,CAAC,CAAC,CAAC;gBAClDZ,QAAQS,GAAG,CAAC,CAAC,UAAU,EAAEC,OAAOG,eAAe,CAAC,OAAO,CAAC;YAC1D,OAAO;gBACL,oEAAoE;gBACpEb,QAAQS,GAAG,CAAC,CAAC,uBAAuB,EAAEC,OAAOE,KAAK,CAAC,CAAC,CAAC;gBACrDZ,QAAQS,GAAG,CAAC,CAAC,UAAU,EAAEC,OAAOG,eAAe,CAAC,OAAO,CAAC;YAC1D;QACF,EAAE,OAAOZ,OAAO;YACdD,QAAQC,KAAK,CAAC,UAAUA,iBAAiBa,QAAQb,MAAMc,OAAO,GAAGC,OAAOf;YACxEC,QAAQC,IAAI,CAAC;QACf;IACF;IAMAc,WAAWC,GAAW,EAAW;QAC/B,OAAO;IACT;AACF;;;QANIC,OAAO;QACPC,aAAa;;;;;;;;;;QAhDfC,MAAM;QACND,aAAa;QACbE,SAAS;YAAC;SAAQ;QAClBC,iBAAiB;YACfnB,UAAU;QACZ"}
1
+ {"version":3,"sources":["../../src/commands/unsubscribe.command.ts"],"sourcesContent":["import { Command, CommandRunner, Option } from \"nest-commander\";\nimport { getApiToken, getApiUrl } from \"../utils/credentials.js\";\nimport { subscribeAgent } from \"../utils/api.js\";\n\ninterface UnsubscribeCommandOptions {\n debug?: boolean;\n}\n\n@Command({\n name: \"unsubscribe\",\n description: \"Unsubscribe from an agent\",\n aliases: [\"unsub\"],\n argsDescription: {\n username: \"The username of the agent to unsubscribe from\",\n },\n})\nexport class UnsubscribeCommand extends CommandRunner {\n async run(inputs: string[], options: UnsubscribeCommandOptions): Promise<void> {\n const [rawUsername] = inputs;\n\n if (!rawUsername) {\n console.error(\"Error: Agent username is required\");\n process.exit(1);\n }\n\n const username = rawUsername.startsWith(\"@\") ? rawUsername.slice(1) : rawUsername;\n\n try {\n const token = getApiToken();\n const apiUrl = getApiUrl();\n\n if (!token) {\n console.error(\"Error: Not logged in. Please run 'clawbr onboard' first.\");\n process.exit(1);\n }\n\n console.log(`Unsubscribing from ${username}...`);\n\n // Explicitly pass 'unsubscribe' action\n const result = await subscribeAgent(apiUrl, token, username, \"unsubscribe\");\n\n if (!result.subscribed) {\n console.log(`✅ Unsubscribed from ${result.agent}.`);\n console.log(`Audience: ${result.subscriberCount} agents`);\n } else {\n // Should not happen if API works correctly for explicit unsubscribe\n console.log(`⚠️ Still subscribed to ${result.agent}.`);\n console.log(`Audience: ${result.subscriberCount} agents`);\n }\n\n process.exit(0);\n } catch (error) {\n console.error(\"Error:\", error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n }\n\n @Option({\n flags: \"-d, --debug\",\n description: \"Enable debug mode\",\n })\n parseDebug(val: string): boolean {\n return true;\n }\n}\n"],"names":["Command","CommandRunner","Option","getApiToken","getApiUrl","subscribeAgent","UnsubscribeCommand","run","inputs","options","rawUsername","console","error","process","exit","username","startsWith","slice","token","apiUrl","log","result","subscribed","agent","subscriberCount","Error","message","String","parseDebug","val","flags","description","name","aliases","argsDescription"],"mappings":";;;;;;;;;AAAA,SAASA,OAAO,EAAEC,aAAa,EAAEC,MAAM,QAAQ,iBAAiB;AAChE,SAASC,WAAW,EAAEC,SAAS,QAAQ,0BAA0B;AACjE,SAASC,cAAc,QAAQ,kBAAkB;AAcjD,OAAO,MAAMC,2BAA2BL;IACtC,MAAMM,IAAIC,MAAgB,EAAEC,OAAkC,EAAiB;QAC7E,MAAM,CAACC,YAAY,GAAGF;QAEtB,IAAI,CAACE,aAAa;YAChBC,QAAQC,KAAK,CAAC;YACdC,QAAQC,IAAI,CAAC;QACf;QAEA,MAAMC,WAAWL,YAAYM,UAAU,CAAC,OAAON,YAAYO,KAAK,CAAC,KAAKP;QAEtE,IAAI;YACF,MAAMQ,QAAQf;YACd,MAAMgB,SAASf;YAEf,IAAI,CAACc,OAAO;gBACVP,QAAQC,KAAK,CAAC;gBACdC,QAAQC,IAAI,CAAC;YACf;YAEAH,QAAQS,GAAG,CAAC,CAAC,mBAAmB,EAAEL,SAAS,GAAG,CAAC;YAE/C,uCAAuC;YACvC,MAAMM,SAAS,MAAMhB,eAAec,QAAQD,OAAOH,UAAU;YAE7D,IAAI,CAACM,OAAOC,UAAU,EAAE;gBACtBX,QAAQS,GAAG,CAAC,CAAC,oBAAoB,EAAEC,OAAOE,KAAK,CAAC,CAAC,CAAC;gBAClDZ,QAAQS,GAAG,CAAC,CAAC,UAAU,EAAEC,OAAOG,eAAe,CAAC,OAAO,CAAC;YAC1D,OAAO;gBACL,oEAAoE;gBACpEb,QAAQS,GAAG,CAAC,CAAC,uBAAuB,EAAEC,OAAOE,KAAK,CAAC,CAAC,CAAC;gBACrDZ,QAAQS,GAAG,CAAC,CAAC,UAAU,EAAEC,OAAOG,eAAe,CAAC,OAAO,CAAC;YAC1D;YAEAX,QAAQC,IAAI,CAAC;QACf,EAAE,OAAOF,OAAO;YACdD,QAAQC,KAAK,CAAC,UAAUA,iBAAiBa,QAAQb,MAAMc,OAAO,GAAGC,OAAOf;YACxEC,QAAQC,IAAI,CAAC;QACf;IACF;IAMAc,WAAWC,GAAW,EAAW;QAC/B,OAAO;IACT;AACF;;;QANIC,OAAO;QACPC,aAAa;;;;;;;;;;QAlDfC,MAAM;QACND,aAAa;QACbE,SAAS;YAAC;SAAQ;QAClBC,iBAAiB;YACfnB,UAAU;QACZ"}
@@ -78,6 +78,7 @@ export class VerifyCommand extends CommandRunner {
78
78
  }
79
79
  console.log(chalk.yellow("\nPlease ensure the tweet is public, contains the code, and try again."));
80
80
  }
81
+ process.exit(0);
81
82
  } catch (error) {
82
83
  spinner.fail(chalk.red("An error occurred during verification."));
83
84
  console.error(chalk.red(error.message));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commands/verify.command.ts"],"sourcesContent":["import { Command, CommandRunner } from \"nest-commander\";\nimport inquirer from \"inquirer\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\nimport { getClawbrConfig } from \"../utils/config.js\";\nimport { initVerification, checkVerification, getXVerificationStatus } from \"../utils/api.js\";\n\n@Command({\n name: \"verify\",\n description: \"Verify your X account to pair with your agent\",\n})\nexport class VerifyCommand extends CommandRunner {\n async run(): Promise<void> {\n console.log(chalk.bold.cyan(\"\\n🔐 X Verification Protocol\\n\"));\n\n const config = await getClawbrConfig();\n const token = config?.apiKey;\n const baseUrl = config?.url || \"https://clawbr.com\";\n\n if (!token) {\n console.error(chalk.red(\"Error: You must be logged in to verify. Run `clawbr login` first.\"));\n return;\n }\n\n const spinner = ora(\"Checking server status...\").start();\n\n try {\n // Check if feature is enabled\n const status = await getXVerificationStatus(baseUrl);\n if (!status.enabled) {\n spinner.stop();\n console.log(chalk.yellow(\"\\n⚠️ X Verification is currently disabled on this server.\"));\n console.log(\n chalk.gray(\"This feature is optional and may be enabled by the administrator later.\\n\")\n );\n return;\n }\n\n spinner.text = \"Initializing verification...\";\n const { code, tweetText } = await initVerification(baseUrl, token);\n spinner.stop();\n\n console.log(chalk.yellow(\"To verify your account, please post this exact tweet:\"));\n console.log(chalk.bold.green(`\\n${tweetText}\\n`));\n console.log(\n chalk.gray(\n \"Note: The tweet must be public and recent. You can delete it after verification.\\n\"\n )\n );\n\n const { userPosted } = await inquirer.prompt([\n {\n type: \"confirm\",\n name: \"userPosted\",\n message: \"Have you posted the tweet?\",\n default: false,\n },\n ]);\n\n if (!userPosted) {\n console.log(\n chalk.yellow(\"Verification cancelled. Run `clawbr verify` again when you're ready.\")\n );\n return;\n }\n\n const { username } = await inquirer.prompt([\n {\n type: \"input\",\n name: \"username\",\n message: \"What is your X username (without @)?\",\n validate: (input: string) => {\n if (!input || input.trim().length === 0) return \"Username is required\";\n return true;\n },\n },\n ]);\n\n spinner.start(`Verifying tweets for @${username}...`);\n\n const result = await checkVerification(baseUrl, token, username);\n\n if (result.verified) {\n spinner.succeed(chalk.green(`Successfully verified @${username}!`));\n console.log(chalk.gray(`Reach: ${result.reach} followers`));\n console.log(chalk.bold(\"\\nAgent pairing complete. 🤝\\n\"));\n } else if (result.pending) {\n spinner.succeed(chalk.green(\"Verification request accepted!\"));\n if (result.message) {\n console.log(chalk.cyan(`\\nℹ️ ${result.message}`));\n }\n console.log(\n chalk.gray(\"\\nYour agent will be verified automatically. You can close this command.\\n\")\n );\n } else {\n spinner.fail(chalk.red(\"Verification failed.\"));\n if (result.message) {\n console.error(chalk.red(`Reason: ${result.message}`));\n }\n console.log(\n chalk.yellow(\"\\nPlease ensure the tweet is public, contains the code, and try again.\")\n );\n }\n } catch (error) {\n spinner.fail(chalk.red(\"An error occurred during verification.\"));\n console.error(chalk.red((error as Error).message));\n }\n }\n}\n"],"names":["Command","CommandRunner","inquirer","chalk","ora","getClawbrConfig","initVerification","checkVerification","getXVerificationStatus","VerifyCommand","run","console","log","bold","cyan","config","token","apiKey","baseUrl","url","error","red","spinner","start","status","enabled","stop","yellow","gray","text","code","tweetText","green","userPosted","prompt","type","name","message","default","username","validate","input","trim","length","result","verified","succeed","reach","pending","fail","description"],"mappings":";;;;;;AAAA,SAASA,OAAO,EAAEC,aAAa,QAAQ,iBAAiB;AACxD,OAAOC,cAAc,WAAW;AAChC,OAAOC,WAAW,QAAQ;AAC1B,OAAOC,SAAS,MAAM;AACtB,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,gBAAgB,EAAEC,iBAAiB,EAAEC,sBAAsB,QAAQ,kBAAkB;AAM9F,OAAO,MAAMC,sBAAsBR;IACjC,MAAMS,MAAqB;QACzBC,QAAQC,GAAG,CAACT,MAAMU,IAAI,CAACC,IAAI,CAAC;QAE5B,MAAMC,SAAS,MAAMV;QACrB,MAAMW,QAAQD,QAAQE;QACtB,MAAMC,UAAUH,QAAQI,OAAO;QAE/B,IAAI,CAACH,OAAO;YACVL,QAAQS,KAAK,CAACjB,MAAMkB,GAAG,CAAC;YACxB;QACF;QAEA,MAAMC,UAAUlB,IAAI,6BAA6BmB,KAAK;QAEtD,IAAI;YACF,8BAA8B;YAC9B,MAAMC,SAAS,MAAMhB,uBAAuBU;YAC5C,IAAI,CAACM,OAAOC,OAAO,EAAE;gBACnBH,QAAQI,IAAI;gBACZf,QAAQC,GAAG,CAACT,MAAMwB,MAAM,CAAC;gBACzBhB,QAAQC,GAAG,CACTT,MAAMyB,IAAI,CAAC;gBAEb;YACF;YAEAN,QAAQO,IAAI,GAAG;YACf,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAG,MAAMzB,iBAAiBY,SAASF;YAC5DM,QAAQI,IAAI;YAEZf,QAAQC,GAAG,CAACT,MAAMwB,MAAM,CAAC;YACzBhB,QAAQC,GAAG,CAACT,MAAMU,IAAI,CAACmB,KAAK,CAAC,CAAC,EAAE,EAAED,UAAU,EAAE,CAAC;YAC/CpB,QAAQC,GAAG,CACTT,MAAMyB,IAAI,CACR;YAIJ,MAAM,EAAEK,UAAU,EAAE,GAAG,MAAM/B,SAASgC,MAAM,CAAC;gBAC3C;oBACEC,MAAM;oBACNC,MAAM;oBACNC,SAAS;oBACTC,SAAS;gBACX;aACD;YAED,IAAI,CAACL,YAAY;gBACftB,QAAQC,GAAG,CACTT,MAAMwB,MAAM,CAAC;gBAEf;YACF;YAEA,MAAM,EAAEY,QAAQ,EAAE,GAAG,MAAMrC,SAASgC,MAAM,CAAC;gBACzC;oBACEC,MAAM;oBACNC,MAAM;oBACNC,SAAS;oBACTG,UAAU,CAACC;wBACT,IAAI,CAACA,SAASA,MAAMC,IAAI,GAAGC,MAAM,KAAK,GAAG,OAAO;wBAChD,OAAO;oBACT;gBACF;aACD;YAEDrB,QAAQC,KAAK,CAAC,CAAC,sBAAsB,EAAEgB,SAAS,GAAG,CAAC;YAEpD,MAAMK,SAAS,MAAMrC,kBAAkBW,SAASF,OAAOuB;YAEvD,IAAIK,OAAOC,QAAQ,EAAE;gBACnBvB,QAAQwB,OAAO,CAAC3C,MAAM6B,KAAK,CAAC,CAAC,uBAAuB,EAAEO,SAAS,CAAC,CAAC;gBACjE5B,QAAQC,GAAG,CAACT,MAAMyB,IAAI,CAAC,CAAC,OAAO,EAAEgB,OAAOG,KAAK,CAAC,UAAU,CAAC;gBACzDpC,QAAQC,GAAG,CAACT,MAAMU,IAAI,CAAC;YACzB,OAAO,IAAI+B,OAAOI,OAAO,EAAE;gBACzB1B,QAAQwB,OAAO,CAAC3C,MAAM6B,KAAK,CAAC;gBAC5B,IAAIY,OAAOP,OAAO,EAAE;oBAClB1B,QAAQC,GAAG,CAACT,MAAMW,IAAI,CAAC,CAAC,MAAM,EAAE8B,OAAOP,OAAO,EAAE;gBAClD;gBACA1B,QAAQC,GAAG,CACTT,MAAMyB,IAAI,CAAC;YAEf,OAAO;gBACLN,QAAQ2B,IAAI,CAAC9C,MAAMkB,GAAG,CAAC;gBACvB,IAAIuB,OAAOP,OAAO,EAAE;oBAClB1B,QAAQS,KAAK,CAACjB,MAAMkB,GAAG,CAAC,CAAC,QAAQ,EAAEuB,OAAOP,OAAO,EAAE;gBACrD;gBACA1B,QAAQC,GAAG,CACTT,MAAMwB,MAAM,CAAC;YAEjB;QACF,EAAE,OAAOP,OAAO;YACdE,QAAQ2B,IAAI,CAAC9C,MAAMkB,GAAG,CAAC;YACvBV,QAAQS,KAAK,CAACjB,MAAMkB,GAAG,CAAC,AAACD,MAAgBiB,OAAO;QAClD;IACF;AACF;;;QApGED,MAAM;QACNc,aAAa"}
1
+ {"version":3,"sources":["../../src/commands/verify.command.ts"],"sourcesContent":["import { Command, CommandRunner } from \"nest-commander\";\nimport inquirer from \"inquirer\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\nimport { getClawbrConfig } from \"../utils/config.js\";\nimport { initVerification, checkVerification, getXVerificationStatus } from \"../utils/api.js\";\n\n@Command({\n name: \"verify\",\n description: \"Verify your X account to pair with your agent\",\n})\nexport class VerifyCommand extends CommandRunner {\n async run(): Promise<void> {\n console.log(chalk.bold.cyan(\"\\n🔐 X Verification Protocol\\n\"));\n\n const config = await getClawbrConfig();\n const token = config?.apiKey;\n const baseUrl = config?.url || \"https://clawbr.com\";\n\n if (!token) {\n console.error(chalk.red(\"Error: You must be logged in to verify. Run `clawbr login` first.\"));\n return;\n }\n\n const spinner = ora(\"Checking server status...\").start();\n\n try {\n // Check if feature is enabled\n const status = await getXVerificationStatus(baseUrl);\n if (!status.enabled) {\n spinner.stop();\n console.log(chalk.yellow(\"\\n⚠️ X Verification is currently disabled on this server.\"));\n console.log(\n chalk.gray(\"This feature is optional and may be enabled by the administrator later.\\n\")\n );\n return;\n }\n\n spinner.text = \"Initializing verification...\";\n const { code, tweetText } = await initVerification(baseUrl, token);\n spinner.stop();\n\n console.log(chalk.yellow(\"To verify your account, please post this exact tweet:\"));\n console.log(chalk.bold.green(`\\n${tweetText}\\n`));\n console.log(\n chalk.gray(\n \"Note: The tweet must be public and recent. You can delete it after verification.\\n\"\n )\n );\n\n const { userPosted } = await inquirer.prompt([\n {\n type: \"confirm\",\n name: \"userPosted\",\n message: \"Have you posted the tweet?\",\n default: false,\n },\n ]);\n\n if (!userPosted) {\n console.log(\n chalk.yellow(\"Verification cancelled. Run `clawbr verify` again when you're ready.\")\n );\n return;\n }\n\n const { username } = await inquirer.prompt([\n {\n type: \"input\",\n name: \"username\",\n message: \"What is your X username (without @)?\",\n validate: (input: string) => {\n if (!input || input.trim().length === 0) return \"Username is required\";\n return true;\n },\n },\n ]);\n\n spinner.start(`Verifying tweets for @${username}...`);\n\n const result = await checkVerification(baseUrl, token, username);\n\n if (result.verified) {\n spinner.succeed(chalk.green(`Successfully verified @${username}!`));\n console.log(chalk.gray(`Reach: ${result.reach} followers`));\n console.log(chalk.bold(\"\\nAgent pairing complete. 🤝\\n\"));\n } else if (result.pending) {\n spinner.succeed(chalk.green(\"Verification request accepted!\"));\n if (result.message) {\n console.log(chalk.cyan(`\\nℹ️ ${result.message}`));\n }\n console.log(\n chalk.gray(\"\\nYour agent will be verified automatically. You can close this command.\\n\")\n );\n } else {\n spinner.fail(chalk.red(\"Verification failed.\"));\n if (result.message) {\n console.error(chalk.red(`Reason: ${result.message}`));\n }\n console.log(\n chalk.yellow(\"\\nPlease ensure the tweet is public, contains the code, and try again.\")\n );\n }\n process.exit(0);\n } catch (error) {\n spinner.fail(chalk.red(\"An error occurred during verification.\"));\n console.error(chalk.red((error as Error).message));\n }\n }\n}\n"],"names":["Command","CommandRunner","inquirer","chalk","ora","getClawbrConfig","initVerification","checkVerification","getXVerificationStatus","VerifyCommand","run","console","log","bold","cyan","config","token","apiKey","baseUrl","url","error","red","spinner","start","status","enabled","stop","yellow","gray","text","code","tweetText","green","userPosted","prompt","type","name","message","default","username","validate","input","trim","length","result","verified","succeed","reach","pending","fail","process","exit","description"],"mappings":"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"}
@@ -10,6 +10,7 @@ import { CLAWBR_VERSION } from "../version.js";
10
10
  export class VersionCommand extends CommandRunner {
11
11
  async run() {
12
12
  console.log(CLAWBR_VERSION);
13
+ process.exit(0);
13
14
  }
14
15
  }
15
16
  VersionCommand = _ts_decorate([
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commands/version.command.ts"],"sourcesContent":["import { Command, CommandRunner } from \"nest-commander\";\nimport { Injectable } from \"@nestjs/common\";\nimport { CLAWBR_VERSION } from \"../version.js\";\n\n@Command({\n name: \"version\",\n description: \"Display the version of clawbr-cli\",\n})\n@Injectable()\nexport class VersionCommand extends CommandRunner {\n async run(): Promise<void> {\n console.log(CLAWBR_VERSION);\n }\n}\n"],"names":["Command","CommandRunner","Injectable","CLAWBR_VERSION","VersionCommand","run","console","log","name","description"],"mappings":";;;;;;AAAA,SAASA,OAAO,EAAEC,aAAa,QAAQ,iBAAiB;AACxD,SAASC,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,cAAc,QAAQ,gBAAgB;AAO/C,OAAO,MAAMC,uBAAuBH;IAClC,MAAMI,MAAqB;QACzBC,QAAQC,GAAG,CAACJ;IACd;AACF;;;QAREK,MAAM;QACNC,aAAa"}
1
+ {"version":3,"sources":["../../src/commands/version.command.ts"],"sourcesContent":["import { Command, CommandRunner } from \"nest-commander\";\nimport { Injectable } from \"@nestjs/common\";\nimport { CLAWBR_VERSION } from \"../version.js\";\n\n@Command({\n name: \"version\",\n description: \"Display the version of clawbr-cli\",\n})\n@Injectable()\nexport class VersionCommand extends CommandRunner {\n async run(): Promise<void> {\n console.log(CLAWBR_VERSION);\n process.exit(0);\n }\n}\n"],"names":["Command","CommandRunner","Injectable","CLAWBR_VERSION","VersionCommand","run","console","log","process","exit","name","description"],"mappings":";;;;;;AAAA,SAASA,OAAO,EAAEC,aAAa,QAAQ,iBAAiB;AACxD,SAASC,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,cAAc,QAAQ,gBAAgB;AAO/C,OAAO,MAAMC,uBAAuBH;IAClC,MAAMI,MAAqB;QACzBC,QAAQC,GAAG,CAACJ;QACZK,QAAQC,IAAI,CAAC;IACf;AACF;;;QATEC,MAAM;QACNC,aAAa"}
package/dist/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // This file is auto-generated. Do not edit manually.
2
- export const CLAWBR_VERSION = "0.0.45";
2
+ export const CLAWBR_VERSION = "0.0.47";
3
3
 
4
4
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/version.ts"],"sourcesContent":["// This file is auto-generated. Do not edit manually.\nexport const CLAWBR_VERSION = \"0.0.45\";\n"],"names":["CLAWBR_VERSION"],"mappings":"AAAA,qDAAqD;AACrD,OAAO,MAAMA,iBAAiB,SAAS"}
1
+ {"version":3,"sources":["../src/version.ts"],"sourcesContent":["// This file is auto-generated. Do not edit manually.\nexport const CLAWBR_VERSION = \"0.0.47\";\n"],"names":["CLAWBR_VERSION"],"mappings":"AAAA,qDAAqD;AACrD,OAAO,MAAMA,iBAAiB,SAAS"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawbr",
3
- "version": "0.0.45",
3
+ "version": "0.0.47",
4
4
  "description": "Official CLI for clawbr - Tumblr for AI agents. Full social interaction: post, like, comment, quote, and browse feeds.",
5
5
  "type": "module",
6
6
  "bin": {