@withone/cli 1.56.0 → 1.56.1

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/README.md CHANGED
@@ -24,7 +24,7 @@
24
24
  <a href="https://withone.ai/knowledge"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fapi.withone.ai%2Fopen%2Fcount%2Ftools" alt="tools"></a>
25
25
  </p>
26
26
 
27
- One gives your AI agent authenticated access to 600+ platforms - Gmail, Slack, Shopify, HubSpot, Stripe, Notion, and everything else - through a single interface. No API keys to juggle, no OAuth flows to build, no request formats to memorize. Connect a platform once, and your agent can search for actions, read the docs, and execute API calls in seconds.
27
+ One gives your AI agent authenticated access to 750+ platforms - Gmail, Slack, Shopify, HubSpot, Stripe, Notion, and everything else - through a single interface. No API keys to juggle, no OAuth flows to build, no request formats to memorize. Connect a platform once, and your agent can search for actions, read the docs, and execute API calls in seconds.
28
28
 
29
29
  ## Install
30
30
 
@@ -250,7 +250,7 @@ Shows the connection details and asks for confirmation before deleting. Use `--f
250
250
 
251
251
  ### `one platforms`
252
252
 
253
- Browse all 600+ available platforms.
253
+ Browse all 750+ available platforms.
254
254
 
255
255
  ```bash
256
256
  one platforms # all platforms
package/dist/index.js CHANGED
@@ -1578,6 +1578,25 @@ function startCallbackServer(expectedState) {
1578
1578
  tryListen();
1579
1579
  });
1580
1580
  }
1581
+ function wrapForNote(text5, width = noteWidth()) {
1582
+ const lines = [];
1583
+ for (const line of text5.split("\n")) {
1584
+ let rest = line;
1585
+ while (rest.length > width) {
1586
+ const space = rest.lastIndexOf(" ", width);
1587
+ const cut = space > 0 ? space : width;
1588
+ lines.push(rest.slice(0, cut));
1589
+ rest = rest.slice(cut).trimStart();
1590
+ }
1591
+ lines.push(rest);
1592
+ }
1593
+ return lines.join("\n");
1594
+ }
1595
+ function noteWidth() {
1596
+ const columns = process.stdout.columns;
1597
+ const usable = (typeof columns === "number" && columns > 0 ? columns : 80) - 8;
1598
+ return Math.max(usable, 40);
1599
+ }
1581
1600
  async function browserLogin(opts) {
1582
1601
  const state = crypto.randomUUID();
1583
1602
  const spin = createSpinner();
@@ -1598,13 +1617,17 @@ ${authUrl}
1598
1617
  `);
1599
1618
  } else {
1600
1619
  note(
1601
- `If the browser doesn't open, visit:
1602
- ${authUrl}
1620
+ wrapForNote(
1621
+ `The consent page records this on the key, so you can find the install later.
1603
1622
 
1604
- The consent page records this on the key so you can find the install later:
1605
- ${describeInstallContext(context)}`,
1606
- "Opening browser for authentication..."
1623
+ ${describeInstallContext(context)}`
1624
+ ),
1625
+ "This install"
1607
1626
  );
1627
+ console.log();
1628
+ console.log(" Opening your browser. If it doesn't open, visit:");
1629
+ console.log(authUrl);
1630
+ console.log();
1608
1631
  }
1609
1632
  try {
1610
1633
  await open2(authUrl);
@@ -1719,7 +1742,7 @@ async function loginCommand() {
1719
1742
  console.log(pc16.cyan(" \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"));
1720
1743
  console.log(pc16.cyan(" \u2502"));
1721
1744
  console.log(pc16.cyan(" \u2502 The One CLI (`one`) is now installed on this machine. It"));
1722
- console.log(pc16.cyan(" \u2502 lets you interact with 600+ third-party platforms (Gmail,"));
1745
+ console.log(pc16.cyan(" \u2502 lets you interact with 750+ third-party platforms (Gmail,"));
1723
1746
  console.log(pc16.cyan(" \u2502 Slack, Shopify, HubSpot, Stripe, GitHub, etc.) through"));
1724
1747
  console.log(pc16.cyan(" \u2502 their APIs. Whenever you need to interact with any"));
1725
1748
  console.log(pc16.cyan(" \u2502 third-party platform or external service, use the `one`"));
@@ -2311,7 +2334,7 @@ function printOnboardingPrompt() {
2311
2334
  console.log(pc4.cyan(" \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"));
2312
2335
  console.log(pc4.cyan(" \u2502"));
2313
2336
  console.log(pc4.cyan(" \u2502 The One CLI (`one`) is now installed on this machine. It"));
2314
- console.log(pc4.cyan(" \u2502 lets you interact with 600+ third-party platforms (Gmail,"));
2337
+ console.log(pc4.cyan(" \u2502 lets you interact with 750+ third-party platforms (Gmail,"));
2315
2338
  console.log(pc4.cyan(" \u2502 Slack, Shopify, HubSpot, Stripe, GitHub, etc.) through"));
2316
2339
  console.log(pc4.cyan(" \u2502 their APIs. Whenever you need to interact with any"));
2317
2340
  console.log(pc4.cyan(" \u2502 third-party platform or external service, use the `one`"));
@@ -2432,18 +2455,23 @@ ${resolutionHint}`,
2432
2455
  printOnboardingPrompt();
2433
2456
  p3.outro("Done! Paste the prompt above to your AI agent.");
2434
2457
  }
2458
+ function lime(text5) {
2459
+ if (!pc4.isColorSupported) return text5;
2460
+ const truecolor = process.env.COLORTERM === "truecolor" || process.env.COLORTERM === "24bit";
2461
+ return truecolor ? `\x1B[38;2;204;255;0m${text5}\x1B[39m` : pc4.green(text5);
2462
+ }
2435
2463
  function printBanner() {
2436
2464
  console.log();
2437
- console.log(pc4.yellow(" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588"));
2438
- console.log(pc4.yellow(" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588"));
2439
- console.log(pc4.yellow(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 "));
2440
- console.log(pc4.yellow(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 "));
2441
- console.log(pc4.yellow(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 "));
2442
- console.log(pc4.yellow(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 "));
2443
- console.log(pc4.yellow(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 "));
2444
- console.log(pc4.yellow(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 "));
2445
- console.log(pc4.yellow(" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588"));
2446
- console.log(pc4.yellow(" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588"));
2465
+ console.log(lime(" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588"));
2466
+ console.log(lime(" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588"));
2467
+ console.log(lime(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 "));
2468
+ console.log(lime(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 "));
2469
+ console.log(lime(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 "));
2470
+ console.log(lime(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 "));
2471
+ console.log(lime(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 "));
2472
+ console.log(lime(" \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 "));
2473
+ console.log(lime(" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588"));
2474
+ console.log(lime(" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588"));
2447
2475
  console.log();
2448
2476
  console.log(pc4.dim(" I N F R A S T R U C T U R E F O R A G E N T S"));
2449
2477
  console.log();
@@ -2475,7 +2503,7 @@ async function promptConnectIntegrations(apiKey, connParams) {
2475
2503
  label: i.label,
2476
2504
  hint: i.hint
2477
2505
  })),
2478
- { value: "more", label: "Browse all 600+ platforms" },
2506
+ { value: "more", label: "Browse all 750+ platforms" },
2479
2507
  { value: "skip", label: "Skip for now", hint: "you can always run one add later" }
2480
2508
  ];
2481
2509
  const message = first ? "Connect your first integration?" : "Connect another?";
@@ -10660,7 +10688,7 @@ Before using any feature, read its guide section first: \`one guide actions\`, \
10660
10688
 
10661
10689
  ## Features
10662
10690
 
10663
- ### 1. Actions \u2014 Execute API calls on 600+ platforms
10691
+ ### 1. Actions \u2014 Execute API calls on 750+ platforms
10664
10692
  Search for actions, read their docs, and execute them. This is the core workflow.
10665
10693
 
10666
10694
  **Quick start:**
@@ -11885,7 +11913,7 @@ function buildStep1() {
11885
11913
  nextCommand: "one onboard --step 2",
11886
11914
  message: `# One CLI \u2014 Agent Onboarding
11887
11915
 
11888
- You now have access to the One CLI. It connects you to 600+ platforms
11916
+ You now have access to the One CLI. It connects you to 750+ platforms
11889
11917
  (Gmail, Slack, Stripe, Notion, etc.) \u2014 you'll learn the details shortly.
11890
11918
 
11891
11919
  IMPORTANT: Your only task right now is to send the message below to the
@@ -11895,7 +11923,7 @@ Do not offer demos yet. Just send this message and wait for their reply:
11895
11923
  ---
11896
11924
 
11897
11925
  I just got access to the One CLI \u2014 it connects me to your platforms like
11898
- Gmail, Slack, Stripe, and 600+ others so I can work with them directly.
11926
+ Gmail, Slack, Stripe, and 750+ others so I can work with them directly.
11899
11927
  I'll show you what I can do in a moment.
11900
11928
 
11901
11929
  First, one quick setup step: right now only this conversation knows about
@@ -11924,7 +11952,7 @@ If they declined, skip this section.
11924
11952
  ## One CLI \u2014 Platform Integrations
11925
11953
 
11926
11954
  The One CLI (\`one\`) is installed and configured on this machine. It is a
11927
- command-line tool that gives AI agents the ability to interact with 600+
11955
+ command-line tool that gives AI agents the ability to interact with 750+
11928
11956
  third-party platforms (Gmail, Slack, Shopify, HubSpot, Stripe, GitHub,
11929
11957
  Notion, Salesforce, etc.) through a single, unified interface.
11930
11958
 
@@ -12019,7 +12047,7 @@ function buildStep3(connections) {
12019
12047
  The user can connect any of these popular platforms:
12020
12048
  Gmail, Google Calendar, Slack, Notion, Shopify, Stripe, HubSpot, GitHub,
12021
12049
  Salesforce, QuickBooks, Asana, Jira, Linear, Intercom, Zendesk, Twilio,
12022
- and 600+ more. Run \`one platforms\` for the full list.`);
12050
+ and 750+ more. Run \`one platforms\` for the full list.`);
12023
12051
  sections.push("## Onboarding complete!\n\nYou're all set. Use `one --agent guide` any time you need the full reference.");
12024
12052
  return {
12025
12053
  step: 3,
@@ -12050,7 +12078,7 @@ platform before you can start using actions. Suggest they run:
12050
12078
  one add slack
12051
12079
  one add <any-platform>
12052
12080
 
12053
- Run \`one platforms\` to see all 600+ available platforms.`;
12081
+ Run \`one platforms\` to see all 750+ available platforms.`;
12054
12082
  }
12055
12083
  const header = `## Current State
12056
12084
 
@@ -12234,7 +12262,7 @@ silenceWarningsInAgentMode();
12234
12262
  var require4 = createRequire3(import.meta.url);
12235
12263
  var { version } = require4("../package.json");
12236
12264
  var program = new Command();
12237
- program.name("one").option("--agent", "Machine-readable JSON output (no colors, spinners, or prompts)").description(`One CLI \u2014 Connect AI agents to 600+ platforms through one interface.
12265
+ program.name("one").option("--agent", "Machine-readable JSON output (no colors, spinners, or prompts)").description(`One CLI \u2014 Connect AI agents to 750+ platforms through one interface.
12238
12266
 
12239
12267
  Setup:
12240
12268
  one login Authenticate via browser; the consent page records where this CLI is installed
@@ -12306,7 +12334,7 @@ program.name("one").option("--agent", "Machine-readable JSON output (no colors,
12306
12334
  -d '{"to":"j@example.com","subject":"Hello","body":"Hi!","connectionKey":"live::gmail::default::abc123"}'
12307
12335
 
12308
12336
  Platform names are lowercase; multi-word names use dashes (e.g. hubspot, ship-station, google-calendar).
12309
- Run 'one platforms' to browse all 600+ available platforms.`).version(version);
12337
+ Run 'one platforms' to browse all 750+ available platforms.`).version(version);
12310
12338
  var updateCheckPromise;
12311
12339
  program.hook("preAction", (thisCommand, actionCommand) => {
12312
12340
  const opts = program.opts();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@withone/cli",
3
- "version": "1.56.0",
3
+ "version": "1.56.1",
4
4
  "description": "CLI for managing One",
5
5
  "type": "module",
6
6
  "files": [
@@ -20,7 +20,7 @@ description: |
20
20
 
21
21
  # One CLI
22
22
 
23
- You have access to the One CLI which lets you interact with 600+ third-party platforms through their APIs. Always include the `--agent` flag right after `one` for structured JSON output.
23
+ You have access to the One CLI which lets you interact with 750+ third-party platforms through their APIs. Always include the `--agent` flag right after `one` for structured JSON output.
24
24
 
25
25
  If the user wants a separate API key / connections for a specific project (vs. their default), walk them through running `one init` from that project folder and picking the "project" scope — see `references/scoping.md`. For monorepo subprojects (where a parent already has `.git`/`package.json`), have them `mkdir .one` in the subproject first so the config is keyed to that dir, not the monorepo root.
26
26