@withone/cli 2.8.1 → 2.9.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.
- package/README.md +2 -0
- package/dist/index.js +9 -2
- package/package.json +1 -1
- package/skills/one/SKILL.md +2 -1
package/README.md
CHANGED
|
@@ -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
|
@@ -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) => {
|
|
@@ -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
|
|
package/package.json
CHANGED
package/skills/one/SKILL.md
CHANGED
|
@@ -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
|
|