@withone/cli 2.8.0 → 2.8.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 +1 -1
- package/dist/index.js +13 -2
- package/package.json +1 -1
- package/skills/one/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -265,7 +265,7 @@ one actions find hubspot "find a contact by email" gmail "send an email" --task
|
|
|
265
265
|
one actions find shopify "list products" -t knowledge
|
|
266
266
|
```
|
|
267
267
|
|
|
268
|
-
- Each **intent** names the operation alone, in a few words (`"send a message to a channel"`), without its data: IDs, names and message text make the search miss. Up to 10 pairs.
|
|
268
|
+
- Each **intent** names the operation alone, in a few words (`"send a message to a channel"`), without its data: IDs, names and message text make the search miss. Up to 10 pairs. Name the platform before every intent, even when they share one (`stripe "list charges" stripe "list refunds"`); a "platform" containing a space is refused as an intent that slipped out of its pair.
|
|
269
269
|
- **`--task`** describes the whole job in one line, in general terms. Agents are asked to send it with every find, since it helps tell similar actions apart.
|
|
270
270
|
- **`-t knowledge`** searches the catalog for writing code and building flows and relays, which includes the platform's own (passthrough) endpoints; the default is the catalog for running actions now.
|
|
271
271
|
- **`--ai-model`** names the model running the CLI (e.g. `claude-sonnet-5`), recorded with the find beside the CLI and the harness that launched it, so the account's usage can report which model asked. Agents are asked to send it with every find.
|
package/dist/index.js
CHANGED
|
@@ -3005,6 +3005,9 @@ var EXECUTE_GUIDE = `Run an action with:
|
|
|
3005
3005
|
Connection keys come from \`one --agent list\`. Put each value where the action's documentation says it goes: path variables (placeholders like {userId}) in --path-vars, query parameters in --query-params, the request body in -d. Never put path variables or query parameters in -d.`;
|
|
3006
3006
|
var FindArgsError = class extends Error {
|
|
3007
3007
|
};
|
|
3008
|
+
function misplacedIntent(requests) {
|
|
3009
|
+
return requests.map((r) => r.platform.trim()).find((platform) => /\s/.test(platform));
|
|
3010
|
+
}
|
|
3008
3011
|
function findHint(task, aiModel) {
|
|
3009
3012
|
const missing = [
|
|
3010
3013
|
task?.trim() ? null : '--task "<the whole job in one line, in general terms, without names, addresses, IDs or message text>"',
|
|
@@ -3105,6 +3108,12 @@ async function find(requests, task, deps, settings, { knowledgeCatalog = false,
|
|
|
3105
3108
|
if (empty) {
|
|
3106
3109
|
throw new FindArgsError("Every request needs a platform and an intent.");
|
|
3107
3110
|
}
|
|
3111
|
+
const misplaced = misplacedIntent(requests);
|
|
3112
|
+
if (misplaced) {
|
|
3113
|
+
throw new FindArgsError(
|
|
3114
|
+
`"${misplaced}" looks like an intent, not a platform: the pairs are out of step. Name the platform before every intent, e.g. one actions find stripe "list charges" stripe "list refunds".`
|
|
3115
|
+
);
|
|
3116
|
+
}
|
|
3108
3117
|
const platforms = await reachable(settings, deps);
|
|
3109
3118
|
const reaches = (platform) => platforms === null || platforms.includes(platform.toLowerCase());
|
|
3110
3119
|
const asked = requests.filter((r) => reaches(r.platform));
|
|
@@ -3433,7 +3442,9 @@ async function actionsFindCommand(pairs, options) {
|
|
|
3433
3442
|
error("--type must be execute or knowledge.");
|
|
3434
3443
|
}
|
|
3435
3444
|
if (pairs.length === 0 || pairs.length % 2 !== 0) {
|
|
3436
|
-
error(
|
|
3445
|
+
error(
|
|
3446
|
+
'Pass platform and intent pairs, naming the platform before every intent: one actions find <platform> "<intent>" [<platform> "<intent>" ...], e.g. one actions find stripe "list charges" stripe "list refunds"'
|
|
3447
|
+
);
|
|
3437
3448
|
}
|
|
3438
3449
|
const requests = [];
|
|
3439
3450
|
for (let i = 0; i < pairs.length; i += 2) {
|
|
@@ -10944,7 +10955,7 @@ Removes a connection by its key. In agent mode, returns \`{"deleted": true, "pla
|
|
|
10944
10955
|
one --agent actions find <platform> "<intent>" [<platform> "<intent>" ...] --task "<the job, in general terms>" --ai-model "<your model>"
|
|
10945
10956
|
\`\`\`
|
|
10946
10957
|
|
|
10947
|
-
One call for the whole task: one platform and intent pair per operation, on any platforms (up to 10). One's decision model picks the action for each and returns it **with its documentation** \u2014 required fields, validation rules, request structure. **Read it before execute.**
|
|
10958
|
+
One call for the whole task: one platform and intent pair per operation, on any platforms (up to 10). Name the platform before **every** intent, even when they share one: \`stripe "list charges" stripe "list refunds"\`. One's decision model picks the action for each and returns it **with its documentation** \u2014 required fields, validation rules, request structure. **Read it before execute.**
|
|
10948
10959
|
|
|
10949
10960
|
- **\`intent\` names the operation alone**, in a few words: \`"send a message to a channel"\`, not \`"post 'deploy done' in #eng"\`. IDs, names, and message text in the intent make the search miss.
|
|
10950
10961
|
- **\`--task\`**: send it with every find. It is the whole job in one line, **in general terms**: what it does, without names, addresses, IDs, or message text. It helps tell similar actions apart.
|
package/package.json
CHANGED
package/skills/one/SKILL.md
CHANGED
|
@@ -79,7 +79,7 @@ Removes a connection. Returns `{"deleted": true, "platform": "...", "key": "..."
|
|
|
79
79
|
one --agent actions find <platform> "<intent>" [<platform> "<intent>" ...] --task "<the job, in general terms>" --ai-model "<your model>"
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
**One call for the whole task**: one platform and intent pair per operation, on any platforms (up to 10). One's decision model picks the action for each and returns it **with its documentation**: exactly what parameters are required, how to structure the request, and where each value goes. Never execute without reading it — without it you'll guess wrong on parameters.
|
|
82
|
+
**One call for the whole task**: one platform and intent pair per operation, on any platforms (up to 10). Name the platform before **every** intent, even when they share one: `stripe "list charges" stripe "list refunds"`. One's decision model picks the action for each and returns it **with its documentation**: exactly what parameters are required, how to structure the request, and where each value goes. Never execute without reading it — without it you'll guess wrong on parameters.
|
|
83
83
|
|
|
84
84
|
- **`intent` names the operation alone**, in a few words: `"send a message to a channel"`, not `"post 'deploy done' in #eng"`. IDs, names, and message text in the intent make the search miss.
|
|
85
85
|
- **`--task`**: send it with every find. It is the whole job in one line, **in general terms**: `"email a weather report to a contact"`, without names, addresses, IDs, or message text. It helps tell similar actions apart.
|