@agendapanda/cli 0.3.1 → 0.4.0

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 (46) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/dist/bin/ap.js +32 -0
  4. package/dist/bin/ap.js.map +1 -1
  5. package/dist/src/commands/alias.d.ts +2 -0
  6. package/dist/src/commands/alias.js +84 -0
  7. package/dist/src/commands/alias.js.map +1 -0
  8. package/dist/src/commands/auth.d.ts +4 -0
  9. package/dist/src/commands/auth.js +224 -20
  10. package/dist/src/commands/auth.js.map +1 -1
  11. package/dist/src/commands/calendar.js +8 -3
  12. package/dist/src/commands/calendar.js.map +1 -1
  13. package/dist/src/commands/completion.d.ts +2 -0
  14. package/dist/src/commands/completion.js +197 -0
  15. package/dist/src/commands/completion.js.map +1 -0
  16. package/dist/src/commands/connections.js +171 -26
  17. package/dist/src/commands/connections.js.map +1 -1
  18. package/dist/src/commands/context.js +10 -2
  19. package/dist/src/commands/context.js.map +1 -1
  20. package/dist/src/commands/init.d.ts +2 -0
  21. package/dist/src/commands/init.js +249 -0
  22. package/dist/src/commands/init.js.map +1 -0
  23. package/dist/src/commands/post.js +253 -9
  24. package/dist/src/commands/post.js.map +1 -1
  25. package/dist/src/commands/projects.js +8 -2
  26. package/dist/src/commands/projects.js.map +1 -1
  27. package/dist/src/index.js +24 -2
  28. package/dist/src/index.js.map +1 -1
  29. package/dist/src/lib/config.d.ts +18 -0
  30. package/dist/src/lib/config.js +48 -0
  31. package/dist/src/lib/config.js.map +1 -1
  32. package/dist/src/lib/errors.d.ts +4 -0
  33. package/dist/src/lib/errors.js +5 -0
  34. package/dist/src/lib/errors.js.map +1 -0
  35. package/dist/src/lib/platform-rules.js +2 -0
  36. package/dist/src/lib/platform-rules.js.map +1 -1
  37. package/dist/src/lib/poll.d.ts +11 -0
  38. package/dist/src/lib/poll.js +42 -0
  39. package/dist/src/lib/poll.js.map +1 -0
  40. package/dist/src/lib/update-check.d.ts +2 -0
  41. package/dist/src/lib/update-check.js +66 -0
  42. package/dist/src/lib/update-check.js.map +1 -0
  43. package/dist/src/lib/utils.d.ts +2 -0
  44. package/dist/src/lib/utils.js +27 -0
  45. package/dist/src/lib/utils.js.map +1 -0
  46. package/package.json +25 -2
@@ -3,6 +3,7 @@ import { api, ApiError } from '../lib/api.js';
3
3
  import { getActiveProject } from '../lib/config.js';
4
4
  import { PLATFORM_RULES } from '../lib/platform-rules.js';
5
5
  import { initJsonMode, outputJson, outputError } from '../lib/output.js';
6
+ import { MISSING_PROJECT_MSG } from '../lib/errors.js';
6
7
  function formatNumber(n) {
7
8
  return n.toLocaleString('en-US');
8
9
  }
@@ -15,7 +16,12 @@ function mediaDesc(rule) {
15
16
  export function registerContextCommand(program) {
16
17
  program
17
18
  .command('context')
18
- .description('Dump brand context, connections, and platform rules for AI tools')
19
+ .description('Dump brand context, connections, and platform rules pipe into AI tools for zero-setup content generation')
20
+ .addHelpText('after', `
21
+ Examples:
22
+ ap context # markdown for humans
23
+ ap context --json | claude "Write 5 posts for this week"
24
+ ap context --verbose # include connection IDs`)
19
25
  .option('--project <id>', 'Override active project')
20
26
  .option('--format <format>', 'Output format: markdown or json', 'markdown')
21
27
  .option('--verbose', 'Include connection IDs in markdown output')
@@ -26,7 +32,7 @@ export function registerContextCommand(program) {
26
32
  try {
27
33
  const projectId = options.project || getActiveProject();
28
34
  if (!projectId) {
29
- outputError('No project set. Use --project, AP_PROJECT env, or `ap projects use <id>`.', 'MISSING_PROJECT');
35
+ outputError(MISSING_PROJECT_MSG, 'MISSING_PROJECT');
30
36
  process.exit(1);
31
37
  }
32
38
  // Fetch project details
@@ -147,6 +153,8 @@ export function registerContextCommand(program) {
147
153
  lines.push('- Instagram: 11 AM-1 PM, 7-9 PM daily');
148
154
  lines.push('- Facebook: 1-4 PM weekdays');
149
155
  lines.push('- Threads: 7-9 AM, 12-3 PM daily');
156
+ lines.push('- Bluesky: 8-10 AM, 12-2 PM weekdays');
157
+ lines.push('- TikTok: 7-9 AM, 12-3 PM, 7-11 PM daily');
150
158
  lines.push('');
151
159
  // Soul
152
160
  lines.push('## Soul (Brand Voice & Tone)');
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/commands/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/commands/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerInitCommand(program: Command): void;
@@ -0,0 +1,249 @@
1
+ import chalk from 'chalk';
2
+ import { createInterface } from 'readline';
3
+ import { api, ApiError } from '../lib/api.js';
4
+ import { getApiKey, setApiKey, getActiveProject, setActiveProject, getActiveConnection, setActiveConnection, getConfigPath, } from '../lib/config.js';
5
+ import { outputError } from '../lib/output.js';
6
+ import { openInBrowser } from '../lib/utils.js';
7
+ import { pollForNewConnection } from '../lib/poll.js';
8
+ const PLATFORMS = [
9
+ { id: 'twitter', label: 'X (Twitter)' },
10
+ { id: 'linkedin', label: 'LinkedIn' },
11
+ { id: 'facebook', label: 'Facebook Pages' },
12
+ { id: 'instagram', label: 'Instagram' },
13
+ { id: 'threads', label: 'Threads' },
14
+ { id: 'bluesky', label: 'Bluesky' },
15
+ { id: 'tiktok', label: 'TikTok' },
16
+ ];
17
+ function prompt(rl, question) {
18
+ return new Promise((resolve) => {
19
+ rl.question(question, (answer) => resolve(answer.trim()));
20
+ });
21
+ }
22
+ export function registerInitCommand(program) {
23
+ program
24
+ .command('init')
25
+ .description('Guided first-run setup wizard')
26
+ .addHelpText('after', `
27
+ Examples:
28
+ ap init # start the interactive setup wizard`)
29
+ .action(async () => {
30
+ if (!process.stdin.isTTY) {
31
+ outputError('ap init requires an interactive terminal', 'NOT_INTERACTIVE');
32
+ process.exit(1);
33
+ }
34
+ const rl = createInterface({ input: process.stdin, output: process.stderr });
35
+ try {
36
+ // Welcome
37
+ console.log('');
38
+ console.log(chalk.bold('Welcome to Agenda Panda CLI'));
39
+ console.log(chalk.dim("Let's get you set up in 4 quick steps."));
40
+ console.log('');
41
+ // ── Step 1/4: Auth ──
42
+ console.log(chalk.bold('Step 1/4 — Authentication'));
43
+ let apiKey = getApiKey();
44
+ let authenticated = false;
45
+ if (apiKey) {
46
+ try {
47
+ const me = await api.get('/api/auth/me');
48
+ console.log(chalk.green('✓') + ` Already logged in as ${chalk.bold(me.user.name)} (${me.user.email})`);
49
+ authenticated = true;
50
+ }
51
+ catch {
52
+ console.log(chalk.yellow('Stored key is invalid. Let\'s re-authenticate.'));
53
+ apiKey = '';
54
+ }
55
+ }
56
+ if (!authenticated) {
57
+ const hasKey = await prompt(rl, 'Do you have an API key? (y/N) ');
58
+ if (hasKey.toLowerCase() !== 'y') {
59
+ console.log(chalk.dim('Opening agendapanda.com to get your API key...'));
60
+ await openInBrowser('https://agendapanda.com/settings?tab=security');
61
+ console.log(chalk.dim('Copy your API key from Settings > Security > API Keys'));
62
+ }
63
+ let valid = false;
64
+ while (!valid) {
65
+ const key = await prompt(rl, 'Enter your API key: ');
66
+ if (!key || !key.startsWith('ap_')) {
67
+ console.log(chalk.red('Invalid key format. Keys start with "ap_". Try again.'));
68
+ continue;
69
+ }
70
+ const originalKey = getApiKey();
71
+ setApiKey(key);
72
+ try {
73
+ const me = await api.get('/api/auth/me');
74
+ console.log(chalk.green('✓') + ` Authenticated as ${chalk.bold(me.user.name)} (${me.user.email})`);
75
+ valid = true;
76
+ }
77
+ catch {
78
+ setApiKey(originalKey);
79
+ console.log(chalk.red('Key validation failed. Check your key and try again.'));
80
+ }
81
+ }
82
+ }
83
+ console.log('');
84
+ // ── Step 2/4: Workspace ──
85
+ console.log(chalk.bold('Step 2/4 — Workspace'));
86
+ let activeProject = getActiveProject();
87
+ if (activeProject) {
88
+ try {
89
+ const data = await api.get(`/api/projects/${activeProject}`);
90
+ console.log(chalk.green('✓') + ` Active workspace: ${chalk.bold(data.project.name)}`);
91
+ }
92
+ catch {
93
+ console.log(chalk.yellow('Stored project not found. Let\'s pick one.'));
94
+ activeProject = '';
95
+ }
96
+ }
97
+ if (!activeProject) {
98
+ let projects = [];
99
+ try {
100
+ const data = await api.get('/api/projects');
101
+ projects = data.projects || [];
102
+ }
103
+ catch (err) {
104
+ const msg = err instanceof ApiError ? err.message : String(err);
105
+ console.log(chalk.red(`Could not fetch workspaces: ${msg}`));
106
+ }
107
+ if (projects.length === 0) {
108
+ console.log(chalk.dim('No workspaces found. Opening browser to create one...'));
109
+ await openInBrowser('https://agendapanda.com');
110
+ console.log(chalk.dim('Create a workspace, then run `ap init` again.'));
111
+ rl.close();
112
+ return;
113
+ }
114
+ console.log('Your workspaces:');
115
+ projects.forEach((p, i) => {
116
+ console.log(` ${i + 1}) ${p.name} ${chalk.dim(`(${p.id.slice(0, 8)}...)`)}`);
117
+ });
118
+ let chosen;
119
+ while (!chosen) {
120
+ const answer = await prompt(rl, 'Select a workspace (number): ');
121
+ const idx = parseInt(answer, 10) - 1;
122
+ if (idx >= 0 && idx < projects.length) {
123
+ chosen = projects[idx];
124
+ }
125
+ else {
126
+ console.log(chalk.red('Invalid selection. Try again.'));
127
+ }
128
+ }
129
+ setActiveProject(chosen.id);
130
+ console.log(chalk.green('✓') + ` Active workspace set to ${chalk.bold(chosen.name)}`);
131
+ }
132
+ console.log('');
133
+ // ── Step 3/4: Connect Platform ──
134
+ console.log(chalk.bold('Step 3/4 — Connect a Platform'));
135
+ console.log('Which platform would you like to connect?');
136
+ PLATFORMS.forEach((p, i) => {
137
+ console.log(` ${i + 1}) ${p.label}`);
138
+ });
139
+ console.log(` ${PLATFORMS.length + 1}) ${chalk.dim('Skip for now')}`);
140
+ const platformAnswer = await prompt(rl, 'Select (number): ');
141
+ const platformIdx = parseInt(platformAnswer, 10) - 1;
142
+ let newConnection;
143
+ if (platformIdx >= 0 && platformIdx < PLATFORMS.length) {
144
+ const platform = PLATFORMS[platformIdx];
145
+ try {
146
+ // Snapshot existing connections
147
+ let existingIds;
148
+ try {
149
+ const before = await api.get('/api/connections');
150
+ existingIds = new Set(before.connections.filter((c) => c.platform === platform.id).map((c) => c.id));
151
+ }
152
+ catch {
153
+ existingIds = new Set();
154
+ }
155
+ const authUrl = await api.getRedirect(`/api/connections/connect/${encodeURIComponent(platform.id)}`);
156
+ await openInBrowser(authUrl);
157
+ console.log(chalk.dim(`Opened ${platform.label} authorization in browser...`));
158
+ console.log(chalk.dim('Waiting for connection... (press Ctrl+C to skip)'));
159
+ const { connection: conn, cancelled } = await pollForNewConnection(platform.id, existingIds);
160
+ if (cancelled) {
161
+ console.log(chalk.yellow('\nPolling cancelled. Run `ap connections add` later.'));
162
+ }
163
+ else if (conn) {
164
+ newConnection = conn;
165
+ const username = conn.platform_username || conn.platform_display_name || platform.id;
166
+ console.log(chalk.green('✓') + ` Connected as @${username} on ${platform.label}`);
167
+ setActiveConnection(conn.id);
168
+ console.log(chalk.dim(` Set as default connection (${conn.id.slice(0, 8)}...)`));
169
+ }
170
+ else {
171
+ console.log(chalk.yellow('Connection not detected within 60s. Run `ap connections add` later.'));
172
+ }
173
+ }
174
+ catch (err) {
175
+ const msg = err instanceof ApiError ? err.message : String(err);
176
+ console.log(chalk.red(`Could not start OAuth: ${msg}`));
177
+ }
178
+ }
179
+ else {
180
+ console.log(chalk.dim('Skipped. Run `ap connections add <platform>` when ready.'));
181
+ }
182
+ console.log('');
183
+ // ── Step 4/4: Test Post ──
184
+ console.log(chalk.bold('Step 4/4 — Test Post'));
185
+ const connectionId = getActiveConnection();
186
+ if (newConnection && connectionId) {
187
+ const sendTest = await prompt(rl, 'Send a test post to the connected platform? (y/N) ');
188
+ if (sendTest.toLowerCase() === 'y') {
189
+ const projectId = getActiveProject();
190
+ if (!projectId) {
191
+ console.log(chalk.yellow('No active project. Skipping test post.'));
192
+ }
193
+ else {
194
+ try {
195
+ const data = await api.post(`/api/projects/${projectId}/posts`, {
196
+ content: 'Hello from Agenda Panda CLI! This is a test post.',
197
+ scheduled_at: new Date().toISOString(),
198
+ social_connection_id: connectionId,
199
+ post_now: true,
200
+ });
201
+ if (data.post.posted) {
202
+ console.log(chalk.green('✓') + ' Test post published successfully!');
203
+ }
204
+ else if (data.post.error) {
205
+ console.log(chalk.yellow('⚠') + ` Post created but failed: ${data.post.error}`);
206
+ }
207
+ else {
208
+ console.log(chalk.green('✓') + ' Test post scheduled.');
209
+ }
210
+ }
211
+ catch (err) {
212
+ const msg = err instanceof ApiError ? err.message : String(err);
213
+ console.log(chalk.red(`Test post failed: ${msg}`));
214
+ }
215
+ }
216
+ }
217
+ else {
218
+ console.log(chalk.dim('Skipped.'));
219
+ }
220
+ }
221
+ else {
222
+ console.log(chalk.dim('No connection set — skipping test post.'));
223
+ }
224
+ console.log('');
225
+ // ── Summary ──
226
+ console.log(chalk.bold('Setup complete! Here are some next steps:'));
227
+ console.log('');
228
+ console.log(` ${chalk.dim('$')} ap whoami ${chalk.dim('# check your auth status')}`);
229
+ console.log(` ${chalk.dim('$')} ap connections list ${chalk.dim('# see connected platforms')}`);
230
+ console.log(` ${chalk.dim('$')} ap post create --content "..." ${chalk.dim('# create a post')}`);
231
+ console.log(` ${chalk.dim('$')} ap calendar import --file cal.json ${chalk.dim('# bulk import posts')}`);
232
+ console.log(` ${chalk.dim('$')} ap context | claude "Write posts" ${chalk.dim('# AI-powered content')}`);
233
+ console.log('');
234
+ console.log(chalk.dim(`Config stored at ${getConfigPath()}`));
235
+ rl.close();
236
+ }
237
+ catch (err) {
238
+ rl.close();
239
+ if (err instanceof ApiError) {
240
+ outputError(err.message, err.code);
241
+ }
242
+ else {
243
+ outputError(String(err));
244
+ }
245
+ process.exit(1);
246
+ }
247
+ });
248
+ }
249
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}