@3minapi/cli 0.22.0 → 0.22.2

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
@@ -76,6 +76,12 @@ npm install -g @3minapi/cli@latest
76
76
 
77
77
  The CLI tells you when a newer version is recommended, and stops with exit code 6 when it is too old to connect.
78
78
 
79
+ ## Where releases come from
80
+
81
+ Releases are built and published by GitHub Actions from the public repository
82
+ [maverick-works-dev/3minapi-cli](https://github.com/maverick-works-dev/3minapi-cli), with npm provenance. The
83
+ **Provenance** section on the npm package page links each version to the commit and workflow run that built it.
84
+
79
85
  ## Links
80
86
 
81
87
  - Guide: [3minapi.com](https://3minapi.com)
@@ -62,5 +62,5 @@ export function missingPathsWarning(missing) {
62
62
  const shown = missing.slice(0, MISSING_PATHS_MAX);
63
63
  const more = missing.length - shown.length;
64
64
  return (`No result in the scope has ${shown.join(', ')}${more > 0 ? ` and ${more} more` : ''}, so ` +
65
- `${missing.length === 1 ? 'it reads' : 'they read'} as NULL — op "describe" lists the paths the results have.`);
65
+ `${missing.length === 1 ? 'it reads' : 'they read'} as NULL — task_result_describe lists the paths the results have.`);
66
66
  }
@@ -1,8 +1,7 @@
1
1
  import { BUILTIN_TASK_IDS_MAX, READ_LIMIT_MAX } from "../../../core/domain/index.js";
2
- export const READER_USAGE = 'input is one of: {"op":"describe","task_id":"…","run_no?":1} | {"op":"describe","worker":"…","since?":"ISO date"} | ' +
3
- '{"op":"query","sql":"SELECT … FROM results …","worker?":"…","task_id?":"…","task_ids?":["…"],"since?":"ISO date","expect_shape?":"…"} ' +
4
- '(at least one of worker, task_id, task_ids, since) | {"op":"read","task_id":"…","run_no?":1,"path?":"$.items","offset?":0,"limit?":100} ' +
5
- '(run_no picks a run of a repeating task; the latest run when left out)';
2
+ export const READER_USAGE = 'Use task_result_describe with task_id (and run_no) or worker (and since); task_result_query with sql and at least ' +
3
+ 'one of worker, task_id, task_ids, since (and expect_shape); or task_result_read with task_id (and run_no, path, ' +
4
+ 'offset, limit). run_no picks a run of a repeating task; the latest run when left out';
6
5
  const TASK_ID = /^[0-9A-Za-z-]{1,64}$/;
7
6
  const SHAPE_HASH = /^[0-9a-f]{16}$/;
8
7
  const WORKER_MAX_CHARS = 50;
@@ -79,7 +79,7 @@ function describeOne(db, taskId, hostId, runNo) {
79
79
  ? out
80
80
  : {
81
81
  ...out,
82
- error: { message: 'the saved error is too large to show; read it with op "read"' }
82
+ error: { message: 'the saved error is too large to show; read it with task_result_read' }
83
83
  };
84
84
  }
85
85
  return {
@@ -382,7 +382,7 @@ function readText(base, text, offset, limit) {
382
382
  };
383
383
  }
384
384
  function missing(path) {
385
- return new Failure('read_out_of_range', `${path} does not exist in this result — check the paths with op "describe"`);
385
+ return new Failure('read_out_of_range', `${path} does not exist in this result — check the paths with task_result_describe`);
386
386
  }
387
387
  export function parsePath(path) {
388
388
  const steps = [];
@@ -3,9 +3,9 @@ import { formatCount } from "../../../core/text.js";
3
3
  import { fitShape } from "./shape.js";
4
4
  export const SUBSTITUTE_READ = "The full result is too large to send and is stored on the user's PC. Do not present this summary as the result. " +
5
5
  '`shape` summarizes its structure: the paths it has, with types, counts and sample values — an overview; ' +
6
- 'deeper levels may be left out (`omitted`), and {"op":"describe","task_id":"<task_id>"} returns them. ' +
7
- 'Compute the answer over those paths by creating a task for the worker in `reader` with input ' +
8
- '{"op":"query","task_id":"<task_id>","sql":"SELECT … FROM results"} — help(tasks) explains the view and examples.';
6
+ 'deeper levels may be left out (`omitted`), and task_result_describe with this task_id returns them. ' +
7
+ 'Compute the answer over those paths with task_result_query for this task_id and SQL over the view `results` — ' +
8
+ 'help(tasks) explains the view and examples.';
9
9
  export const SUBSTITUTE_READ_LOCAL_ONLY = "The full result is too large to send and is stored on the user's PC. The user can see it with " +
10
10
  "'3minapi worker results show <task_id>' or query it with '3minapi worker results query'. " +
11
11
  '`shape` summarizes its structure: paths, types, counts and sample values — an overview; deeper ' +
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@3minapi/cli",
3
- "version": "0.22.0",
3
+ "version": "0.22.2",
4
4
  "description": "Run your machine as a 3Min API host — the CLI that fetches tasks from your AI and runs them with your own worker files",
5
5
  "keywords": [
6
6
  "3minapi",