@withone/cli 2.8.1 → 2.9.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 +4 -2
- package/dist/index.js +20 -13
- package/package.json +1 -1
- package/skills/one/SKILL.md +3 -2
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
|
|
27
|
+
One gives your AI agent authenticated access to 1000+ 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
|
|
|
@@ -247,7 +247,7 @@ Shows the connection details and asks for confirmation before deleting. Use `--f
|
|
|
247
247
|
|
|
248
248
|
### `one platforms`
|
|
249
249
|
|
|
250
|
-
Browse all
|
|
250
|
+
Browse all 1000+ available platforms.
|
|
251
251
|
|
|
252
252
|
```bash
|
|
253
253
|
one platforms # all platforms
|
|
@@ -274,6 +274,8 @@ one actions find shopify "list products" -t knowledge
|
|
|
274
274
|
|
|
275
275
|
Each intent's answer gives the action(s) to use with their docs, any actions also needed beside them, a **substitute** when the model was unsure (use one or the other, never both), and a few alternatives, then says once how to execute. Always read the docs before executing. The access settings from `one config` apply: an action they refuse is never offered.
|
|
276
276
|
|
|
277
|
+
A platform name no active platform has (`clickup` for `click-up`) is answered with `selector: "unknown_platform"` and a `suggestions` list of the platforms it may have meant, closest first, instead of being searched. Find again with the right name; `one platforms` lists them all.
|
|
278
|
+
|
|
277
279
|
Large documents come back as a **digest**: request-building sections in full (method/URL, headers, description, enforcement rules, required and optional parameters, sample request, gotchas, error handling), then a notice naming what was left out with the exact command to load it. In knowledge-only mode each pick comes back whole, with how to call it from code.
|
|
278
280
|
|
|
279
281
|
### `one actions load <actionId...>`
|
package/dist/index.js
CHANGED
|
@@ -1127,7 +1127,7 @@ async function loginCommand() {
|
|
|
1127
1127
|
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"));
|
|
1128
1128
|
console.log(pc16.cyan(" \u2502"));
|
|
1129
1129
|
console.log(pc16.cyan(" \u2502 The One CLI (`one`) is now installed on this machine. It"));
|
|
1130
|
-
console.log(pc16.cyan(" \u2502 lets you interact with
|
|
1130
|
+
console.log(pc16.cyan(" \u2502 lets you interact with 1000+ third-party platforms (Gmail,"));
|
|
1131
1131
|
console.log(pc16.cyan(" \u2502 Slack, Shopify, HubSpot, Stripe, GitHub, etc.) through"));
|
|
1132
1132
|
console.log(pc16.cyan(" \u2502 their APIs. Whenever you need to interact with any"));
|
|
1133
1133
|
console.log(pc16.cyan(" \u2502 third-party platform or external service, use the `one`"));
|
|
@@ -1730,7 +1730,7 @@ function printOnboardingPrompt() {
|
|
|
1730
1730
|
console.log(pc3.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"));
|
|
1731
1731
|
console.log(pc3.cyan(" \u2502"));
|
|
1732
1732
|
console.log(pc3.cyan(" \u2502 The One CLI (`one`) is now installed on this machine. It"));
|
|
1733
|
-
console.log(pc3.cyan(" \u2502 lets you interact with
|
|
1733
|
+
console.log(pc3.cyan(" \u2502 lets you interact with 1000+ third-party platforms (Gmail,"));
|
|
1734
1734
|
console.log(pc3.cyan(" \u2502 Slack, Shopify, HubSpot, Stripe, GitHub, etc.) through"));
|
|
1735
1735
|
console.log(pc3.cyan(" \u2502 their APIs. Whenever you need to interact with any"));
|
|
1736
1736
|
console.log(pc3.cyan(" \u2502 third-party platform or external service, use the `one`"));
|
|
@@ -1904,7 +1904,7 @@ async function promptConnectIntegrations(apiKey, connParams) {
|
|
|
1904
1904
|
label: i.label,
|
|
1905
1905
|
hint: i.hint
|
|
1906
1906
|
})),
|
|
1907
|
-
{ value: "more", label: "Browse all
|
|
1907
|
+
{ value: "more", label: "Browse all 1000+ platforms" },
|
|
1908
1908
|
{ value: "skip", label: "Skip for now", hint: "you can always run one add later" }
|
|
1909
1909
|
];
|
|
1910
1910
|
const message = first ? "Connect your first integration?" : "Connect another?";
|
|
@@ -3066,6 +3066,11 @@ function status(answer, narrowed) {
|
|
|
3066
3066
|
if (narrowed.replaced) {
|
|
3067
3067
|
return "The chosen action is not allowed by this CLI, so this is the next allowed candidate: check it fits before using it.";
|
|
3068
3068
|
}
|
|
3069
|
+
if (answer.selector === "unknown_platform") {
|
|
3070
|
+
const opening = `No active platform is named \`${answer.platform}\`.`;
|
|
3071
|
+
const suggestions = answer.suggestions ?? [];
|
|
3072
|
+
return suggestions.length === 0 ? `${opening} Check the platform name: \`one platforms\` lists them all.` : `${opening} Did you mean ${suggestions.map((s) => `\`${s}\``).join(", ")}? Find again with the platform you meant.`;
|
|
3073
|
+
}
|
|
3069
3074
|
if (answer.selector === "none_fit" || answer.selected.length === 0) {
|
|
3070
3075
|
return answer.alternatives.length === 0 ? "No action fits this intent, and nothing close was found. Rephrase it, or check the platform name." : "No action fits this intent. Rephrase it more specifically, or load one of the alternatives.";
|
|
3071
3076
|
}
|
|
@@ -3190,7 +3195,8 @@ async function find(requests, task, deps, settings, { knowledgeCatalog = false,
|
|
|
3190
3195
|
selected,
|
|
3191
3196
|
alsoSelected: [...deferred, ...plan.deferred.map(ref)],
|
|
3192
3197
|
...answer.runnerUp ? { runnerUp: ref(answer.runnerUp) } : {},
|
|
3193
|
-
alternatives: answer.alternatives.map(ref)
|
|
3198
|
+
alternatives: answer.alternatives.map(ref),
|
|
3199
|
+
...answer.suggestions?.length ? { suggestions: answer.suggestions } : {}
|
|
3194
3200
|
};
|
|
3195
3201
|
});
|
|
3196
3202
|
plans.forEach((plan, index) => {
|
|
@@ -10819,7 +10825,7 @@ Before using any feature, read its guide section first: \`one guide actions\`, \
|
|
|
10819
10825
|
|
|
10820
10826
|
## Features
|
|
10821
10827
|
|
|
10822
|
-
### 1. Actions \u2014 Execute API calls on
|
|
10828
|
+
### 1. Actions \u2014 Execute API calls on 1000+ platforms
|
|
10823
10829
|
Find the actions a task needs with their docs, in one call, then execute them. This is the core workflow.
|
|
10824
10830
|
|
|
10825
10831
|
**Quick start:**
|
|
@@ -10992,7 +10998,8 @@ In \`--agent\` mode:
|
|
|
10992
10998
|
- **\`alsoSelected\`** \u2014 also needed, listed rather than documented to keep the answer small: \`actions load\` them.
|
|
10993
10999
|
- **\`runnerUp\`** \u2014 only when the model was unsure: a **substitute** for the pick. Use one or the other, **never both**.
|
|
10994
11000
|
- **\`alternatives\`** \u2014 other candidates, undocumented.
|
|
10995
|
-
- **\`
|
|
11001
|
+
- **\`suggestions\`** \u2014 only when \`selector\` is \`unknown_platform\`: no active platform has the name you sent, so nothing was answered. These are the platforms you may have meant, closest first (\`clickup\` \u2192 \`click-up\`). Find again with the right one; \`one platforms\` lists every name.
|
|
11002
|
+
- **\`status\`** \u2014 why: a confidence, *no active platform is named* (use a \`suggestions\` entry, or check \`one platforms\`), *no action fits* (rephrase the intent by outcome, or check the platform), *the decision model was unavailable* (top search result: check it fits), *not allowed by this CLI* (the next allowed candidate stood in), or *allow none of them* (your access settings block the operation \u2014 rephrasing won't help).
|
|
10996
11003
|
- **\`guide\`** \u2014 how to execute, stated once for every action.
|
|
10997
11004
|
- \`truncated: false\` means \`knowledge\` is the whole document; small docs are never trimmed.
|
|
10998
11005
|
|
|
@@ -12085,7 +12092,7 @@ function buildStep1() {
|
|
|
12085
12092
|
nextCommand: "one onboard --step 2",
|
|
12086
12093
|
message: `# One CLI \u2014 Agent Onboarding
|
|
12087
12094
|
|
|
12088
|
-
You now have access to the One CLI. It connects you to
|
|
12095
|
+
You now have access to the One CLI. It connects you to 1000+ platforms
|
|
12089
12096
|
(Gmail, Slack, Stripe, Notion, etc.) \u2014 you'll learn the details shortly.
|
|
12090
12097
|
|
|
12091
12098
|
IMPORTANT: Your only task right now is to send the message below to the
|
|
@@ -12095,7 +12102,7 @@ Do not offer demos yet. Just send this message and wait for their reply:
|
|
|
12095
12102
|
---
|
|
12096
12103
|
|
|
12097
12104
|
I just got access to the One CLI \u2014 it connects me to your platforms like
|
|
12098
|
-
Gmail, Slack, Stripe, and
|
|
12105
|
+
Gmail, Slack, Stripe, and 1000+ others so I can work with them directly.
|
|
12099
12106
|
I'll show you what I can do in a moment.
|
|
12100
12107
|
|
|
12101
12108
|
First, one quick setup step: right now only this conversation knows about
|
|
@@ -12124,7 +12131,7 @@ If they declined, skip this section.
|
|
|
12124
12131
|
## One CLI \u2014 Platform Integrations
|
|
12125
12132
|
|
|
12126
12133
|
The One CLI (\`one\`) is installed and configured on this machine. It is a
|
|
12127
|
-
command-line tool that gives AI agents the ability to interact with
|
|
12134
|
+
command-line tool that gives AI agents the ability to interact with 1000+
|
|
12128
12135
|
third-party platforms (Gmail, Slack, Shopify, HubSpot, Stripe, GitHub,
|
|
12129
12136
|
Notion, Salesforce, etc.) through a single, unified interface.
|
|
12130
12137
|
|
|
@@ -12218,7 +12225,7 @@ function buildStep3(connections) {
|
|
|
12218
12225
|
The user can connect any of these popular platforms:
|
|
12219
12226
|
Gmail, Google Calendar, Slack, Notion, Shopify, Stripe, HubSpot, GitHub,
|
|
12220
12227
|
Salesforce, QuickBooks, Asana, Jira, Linear, Intercom, Zendesk, Twilio,
|
|
12221
|
-
and
|
|
12228
|
+
and 1000+ more. Run \`one platforms\` for the full list.`);
|
|
12222
12229
|
sections.push("## Onboarding complete!\n\nYou're all set. Use `one --agent guide` any time you need the full reference.");
|
|
12223
12230
|
return {
|
|
12224
12231
|
step: 3,
|
|
@@ -12249,7 +12256,7 @@ platform before you can start using actions. Suggest they run:
|
|
|
12249
12256
|
one add slack
|
|
12250
12257
|
one add <any-platform>
|
|
12251
12258
|
|
|
12252
|
-
Run \`one platforms\` to see all
|
|
12259
|
+
Run \`one platforms\` to see all 1000+ available platforms.`;
|
|
12253
12260
|
}
|
|
12254
12261
|
const header = `## Current State
|
|
12255
12262
|
|
|
@@ -12965,7 +12972,7 @@ silenceWarningsInAgentMode();
|
|
|
12965
12972
|
var require2 = createRequire(import.meta.url);
|
|
12966
12973
|
var { version } = require2("../package.json");
|
|
12967
12974
|
var program = new Command();
|
|
12968
|
-
program.name("one").option("--agent", "Machine-readable JSON output (no colors, spinners, or prompts)").description(`One CLI \u2014 Connect AI agents to
|
|
12975
|
+
program.name("one").option("--agent", "Machine-readable JSON output (no colors, spinners, or prompts)").description(`One CLI \u2014 Connect AI agents to 1000+ platforms through one interface.
|
|
12969
12976
|
|
|
12970
12977
|
Setup:
|
|
12971
12978
|
one login Authenticate via browser; the consent page records where this CLI is installed
|
|
@@ -13041,7 +13048,7 @@ program.name("one").option("--agent", "Machine-readable JSON output (no colors,
|
|
|
13041
13048
|
-d '{"to":"j@example.com","subject":"Hello","body":"Hi!","connectionKey":"live::gmail::default::abc123"}'
|
|
13042
13049
|
|
|
13043
13050
|
Platform names are lowercase; multi-word names use dashes (e.g. hubspot, ship-station, google-calendar).
|
|
13044
|
-
Run 'one platforms' to browse all
|
|
13051
|
+
Run 'one platforms' to browse all 1000+ available platforms.`).version(version);
|
|
13045
13052
|
var updateCheckPromise;
|
|
13046
13053
|
program.hook("preAction", (thisCommand, actionCommand) => {
|
|
13047
13054
|
const opts = program.opts();
|
package/package.json
CHANGED
package/skills/one/SKILL.md
CHANGED
|
@@ -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
|
|
23
|
+
You have access to the One CLI which lets you interact with 1000+ 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
|
|
|
@@ -95,7 +95,8 @@ Each entry of `answers[]` carries:
|
|
|
95
95
|
- `alsoSelected[]` — also needed, listed rather than documented to keep the answer small: `actions load` them.
|
|
96
96
|
- `runnerUp` — only when the model was unsure: a **substitute** for the pick. Use **one or the other, never both**.
|
|
97
97
|
- `alternatives[]` — other candidates, undocumented.
|
|
98
|
-
- `
|
|
98
|
+
- `suggestions[]` — only when `selector` is `unknown_platform`: no active platform has the name you sent, so nothing was answered. These are the platforms you may have meant, closest first (`clickup` → `click-up`). Find again with the right one; `one platforms` lists every name.
|
|
99
|
+
- `status` — why: a confidence; *no active platform is named* (use a `suggestions` entry, or check `one platforms`); *no action fits* (rephrase the intent by outcome, or check the platform); *the decision model was unavailable* (the top search result — check it fits); *not allowed by this CLI* (the next allowed candidate stood in); or *allow none of them* (the access settings block the operation — tell the user, rephrasing won't help).
|
|
99
100
|
|
|
100
101
|
`guide` (once, at the end) says how to execute any of them.
|
|
101
102
|
|