@pipod/cli 0.1.20 → 0.1.21
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/dist/cli.js +64 -21
- package/dist/cli.js.map +1 -1
- package/docs/pod-list-pagination.md +36 -1
- package/man/pipod-config.5 +1 -1
- package/man/pipod.1 +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
`pipod ls` (also `pipod list`) reads every page before applying display filters or
|
|
4
4
|
rendering the oldest-activity-first tree. Quiet output contains each full pod ID
|
|
5
5
|
once. Project, template, account and machine-group scopes use the same page walk;
|
|
6
|
-
so
|
|
6
|
+
so does bulk archive/restore/GC selection. Short-ref/name resolution uses the
|
|
7
|
+
bounded lookup below; only an older server without that route uses pagination.
|
|
7
8
|
|
|
8
9
|
## API contract
|
|
9
10
|
|
|
@@ -29,6 +30,32 @@ pod ahead of an already-read boundary. The CLI deduplicates IDs if it sees a pod
|
|
|
29
30
|
again and fails explicitly on a repeated cursor rather than reporting a silently
|
|
30
31
|
truncated roster. Rerun a listing after concurrent activity for a fresh view.
|
|
31
32
|
|
|
33
|
+
## Pod-reference lookup
|
|
34
|
+
|
|
35
|
+
`GET /v1/pods/by-ref/:ref` resolves a short reference or exact name within the
|
|
36
|
+
caller's own pods, including archived pods but excluding gone rows. Pod tokens
|
|
37
|
+
are additionally limited to their own subtree. Matching uses the same shared
|
|
38
|
+
parser as the CLI: case-sensitive exact names precede hexadecimal references;
|
|
39
|
+
`p-`/`j-` references match UUID tails, and bare hex matches legacy leading prefixes
|
|
40
|
+
or tails. Short hex references require at least four characters. Exact names can
|
|
41
|
+
still contain text that would otherwise be an invalid short reference.
|
|
42
|
+
|
|
43
|
+
The response is `{ pod, matches, total }`. A unique result includes one full pod;
|
|
44
|
+
no match returns `pod: null, matches: [], total: 0`. Ambiguity returns no full pod,
|
|
45
|
+
the exact total, and at most twenty `{ id, name, state }` choices. It never sends
|
|
46
|
+
the account's launch reports just to resolve one reference. All values are bound
|
|
47
|
+
SQL parameters, and lookup does not grant permission to perform an action.
|
|
48
|
+
|
|
49
|
+
A full UUID continues to use the ordinary single-pod route. Only a 404 from the
|
|
50
|
+
new route triggers the CLI's old-server pagination fallback; auth, validation,
|
|
51
|
+
network and server failures do not. Missing matches on a supporting server are
|
|
52
|
+
200 responses, not capability failures.
|
|
53
|
+
|
|
54
|
+
Attach also shares one in-flight semantic model catalog between catalog and
|
|
55
|
+
thinking-level consumers and overlaps independent auth/thinking initialization.
|
|
56
|
+
It still validates readiness, settings and extension trust before accepting input;
|
|
57
|
+
there is no persistent model cache or new classic-RPC passthrough.
|
|
58
|
+
|
|
32
59
|
## Manual acceptance (no unit tests)
|
|
33
60
|
|
|
34
61
|
Use an explicit disposable migrated database, never a production fixture insert.
|
|
@@ -45,6 +72,14 @@ Run the actual pod routes over loopback HTTP and the built CLI by absolute path:
|
|
|
45
72
|
hide active pods on later pages. Check quiet and rendered output.
|
|
46
73
|
- Delete the last pod of one page, then follow its cursor successfully.
|
|
47
74
|
- Malformed cursor and simultaneous `cursor`/`before` return 400.
|
|
75
|
+
- Resolve short refs and names against more than 800 history rows without any
|
|
76
|
+
roster requests. Check exact-name precedence, case-insensitive hex, minimum
|
|
77
|
+
length, prefix/tail collisions, archived/gone rows, owner/org isolation and
|
|
78
|
+
pod-token lineage. Ambiguity must return the exact count but at most twenty
|
|
79
|
+
metadata choices, never a full report for each match.
|
|
80
|
+
- A missing lookup route falls back to the old paginated selection. A missing
|
|
81
|
+
match, invalid reference, 401/403, network failure or 5xx must not trigger that
|
|
82
|
+
fallback. Full UUIDs still go directly to the single-pod route.
|
|
48
83
|
- A legacy server omitting `nextCursor` is still traversed with `before`.
|
|
49
84
|
A server repeating a cursor fails without printing an incomplete quiet roster.
|
|
50
85
|
|
package/man/pipod-config.5
CHANGED
package/man/pipod.1
CHANGED
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pipod/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.21",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@pipod/cli",
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.21",
|
|
10
10
|
"license": "AGPL-3.0-only",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@earendil-works/pi-coding-agent": "1.0.2",
|