chirpie 1.0.15 → 1.0.17

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 (2) hide show
  1. package/dist/index.js +7 -7
  2. package/package.json +4 -5
package/dist/index.js CHANGED
@@ -157,7 +157,7 @@ function getClient() {
157
157
  }
158
158
 
159
159
  // src/commands/post.ts
160
- var postCommand = new Command3("post").description("Create a post").argument("<text>", "Post text").option("-a, --account <id>", "Account ID").option("-m, --media <urls...>", "Media URLs. Per-platform caps: X/Bluesky/Mastodon 4, LinkedIn 9, Threads/Pinterest/YouTube/GBP/Snapchat/Reddit 1, Instagram/Facebook/Telegram 10, TikTok up to 35 photos.").option("-s, --schedule <datetime>", "Schedule for later (ISO 8601, UTC). Posts publish within ~5 minutes of the scheduled time.").option("--json", "Output raw JSON").action(async (text, opts) => {
160
+ var postCommand = new Command3("post").description("Create a post").argument("<text>", "Post text").option("-a, --account <id>", "Account ID").option("-m, --media <urls...>", "Media URLs. Per-platform caps: X/Bluesky/Mastodon 4, LinkedIn 4, Threads/Pinterest/YouTube/GBP 1, Instagram/Facebook/Telegram 10, TikTok up to 35 photos.").option("-s, --schedule <datetime>", "Schedule for later. Any ISO 8601 timestamp with a timezone (2026-04-01T14:00:00Z or 2026-04-01T16:00:00+02:00). Posts publish within ~5 minutes of the scheduled time.").option("--json", "Output raw JSON").action(async (text, opts) => {
161
161
  const client = getClient();
162
162
  let accountId = opts.account;
163
163
  if (!accountId) {
@@ -210,7 +210,7 @@ var threadCommand = new Command4("thread").description("Create a thread").argume
210
210
  ).option(
211
211
  "-f, --file <path>",
212
212
  "JSON file with a full thread payload: { posts: [{ text, media_urls? }, ...], schedule_at?: string }"
213
- ).option("-s, --schedule <datetime>", "Schedule for later (ISO 8601, UTC). Threads publish within ~5 minutes of the scheduled time.").option("--json", "Output raw JSON").action(async (posts, opts) => {
213
+ ).option("-s, --schedule <datetime>", "Schedule for later. Any ISO 8601 timestamp with a timezone (2026-04-01T14:00:00Z or 2026-04-01T16:00:00+02:00). Threads publish within ~5 minutes of the scheduled time.").option("--json", "Output raw JSON").action(async (posts, opts) => {
214
214
  const client = getClient();
215
215
  let accountId = opts.account;
216
216
  if (!accountId) {
@@ -385,7 +385,7 @@ async function readSecretFromStdin(prompt) {
385
385
  stdin.on("data", onData);
386
386
  });
387
387
  }
388
- var accountsCommand = new Command6("accounts").description("List connected social accounts (X, Bluesky, LinkedIn, Threads, Mastodon, Instagram, Facebook, Telegram, Reddit, Pinterest, TikTok, YouTube, Google Business Profile, and Snapchat)").option("--json", "Output raw JSON").action(async (opts) => {
388
+ var accountsCommand = new Command6("accounts").description("List connected social accounts (X, Bluesky, LinkedIn, Threads, Mastodon, Instagram, Facebook, Telegram, Pinterest, TikTok, YouTube, and Google Business Profile)").option("--json", "Output raw JSON").action(async (opts) => {
389
389
  const client = getClient();
390
390
  try {
391
391
  const accounts = await client.listAccounts();
@@ -613,12 +613,10 @@ xKeysCommand.command("remove").description("Remove your own X developer app cred
613
613
  }
614
614
  });
615
615
  var comingSoonCli = [
616
- { cmd: "connect-reddit", label: "Reddit" },
617
616
  { cmd: "connect-pinterest", label: "Pinterest" },
618
617
  { cmd: "connect-tiktok", label: "TikTok" },
619
618
  { cmd: "connect-youtube", label: "YouTube" },
620
- { cmd: "connect-google-business", label: "Google Business Profile" },
621
- { cmd: "connect-snapchat", label: "Snapchat" }
619
+ { cmd: "connect-google-business", label: "Google Business Profile" }
622
620
  ];
623
621
  for (const { cmd, label } of comingSoonCli) {
624
622
  accountsCommand.command(cmd).description(`Connect a ${label} account (coming soon)`).action(() => {
@@ -666,7 +664,9 @@ var keysCommand = new Command8("keys").description("Manage API keys").option("--
666
664
  id: k.id.slice(0, 8),
667
665
  name: k.name,
668
666
  prefix: k.key_prefix,
669
- revoked: k.revoked ? "\u2717" : "",
667
+ // GET /v1/keys only ever returns live keys, so there is no
668
+ // revoked column to show.
669
+ expires: k.expires_at?.slice(0, 10) ?? "never",
670
670
  last_used: k.last_used_at?.slice(0, 10) ?? "never"
671
671
  }))
672
672
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chirpie",
3
- "version": "1.0.15",
3
+ "version": "1.0.17",
4
4
  "description": "Chirpie CLI — post to social media from the command line",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,8 @@
20
20
  ],
21
21
  "scripts": {
22
22
  "build": "tsup",
23
- "dev": "tsup --watch"
23
+ "dev": "tsup --watch",
24
+ "typecheck": "tsc --noEmit"
24
25
  },
25
26
  "keywords": [
26
27
  "chirpie",
@@ -35,17 +36,15 @@
35
36
  "instagram",
36
37
  "facebook",
37
38
  "telegram",
38
- "reddit",
39
39
  "pinterest",
40
40
  "tiktok",
41
41
  "youtube",
42
42
  "google-business",
43
- "snapchat",
44
43
  "scheduling"
45
44
  ],
46
45
  "license": "MIT",
47
46
  "dependencies": {
48
- "@chirpie/sdk": "^1.0.13",
47
+ "@chirpie/sdk": "^1.0.15",
49
48
  "commander": "^13"
50
49
  },
51
50
  "devDependencies": {