@jarel/myskills 0.1.0-beta.19 → 0.1.0-beta.20
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 +42 -4
- package/dist/index.js +845 -583
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ CLI tokens should be stored in the platform secret store where possible.
|
|
|
34
34
|
|
|
35
35
|
## Current Slice
|
|
36
36
|
|
|
37
|
-
This document describes the `0.1.0-beta.
|
|
37
|
+
This document describes the `0.1.0-beta.20` source candidate, including resumable browser login, named
|
|
38
38
|
CLI configuration profiles and global/project inventory scopes. Source,
|
|
39
39
|
GitHub releases, npm publication, and hosted deployment are separate states;
|
|
40
40
|
see [release verification](../../docs/RELEASE.md) for their checks. Historical
|
|
@@ -78,7 +78,8 @@ myskills scan --path <file-directory-or-zip>
|
|
|
78
78
|
myskills package --path <directory> --output <file.zip> [--json]
|
|
79
79
|
myskills search [query] [--limit <1-100>] [--cursor <cursor>] [--api-url <url>]
|
|
80
80
|
myskills info <skill-slug> [--version <exact-version>] [--api-url <url>]
|
|
81
|
-
myskills login [--api-url <url>] [--method <password|api-key>] [--email <email>]
|
|
81
|
+
myskills login [--api-url <url>] [--method <password|api-key|browser>] [--email <email>]
|
|
82
|
+
myskills login --method browser [--api-url <url>] [--scopes <comma-separated-scopes>] [--no-resume]
|
|
82
83
|
myskills login --api-key [--api-url <url>]
|
|
83
84
|
myskills logout [--api-url <url>] [--token <token>]
|
|
84
85
|
myskills whoami [--api-url <url>] [--token <token>]
|
|
@@ -326,7 +327,7 @@ Public npm publication is a separate release step.
|
|
|
326
327
|
|
|
327
328
|
`validate`, `scan`, and `submit` accept a manifest file, package directory, or local `.zip` package. `login` prompts for the API URL when one is not supplied; the default is the local API at `http://localhost:3001`, and custom hosted URLs can be entered manually. Successful login stores the selected API URL in local CLI config so later commands can omit `--api-url`. API URL resolution is `--api-url`, then `MYSKILLS_API_URL`, then saved config, then `http://localhost:3001`.
|
|
328
329
|
|
|
329
|
-
`login` supports
|
|
330
|
+
`login` supports email/password, API-key and browser/device flows. Password
|
|
330
331
|
login handles MFA challenges and stores the verified session token. API-key
|
|
331
332
|
login validates the key with `/v1/me`. Token resolution is `--token`, then
|
|
332
333
|
`MYSKILLS_TOKEN`, then the stored token. The default store uses the platform
|
|
@@ -337,6 +338,43 @@ confirmed absent. Explicit `MYSKILLS_TOKEN_STORE=file` or `MYSKILLS_TOKEN_FILE`
|
|
|
337
338
|
selects file storage with user-only permissions. A successful keyring write
|
|
338
339
|
clears the obsolete file entry.
|
|
339
340
|
|
|
341
|
+
`login --method browser` displays the consent URL, user code and deadline. Repeat
|
|
342
|
+
the command with the same API URL, configuration profile and `--scopes` choice to
|
|
343
|
+
resume after an interruption, including after browser approval. The pending
|
|
344
|
+
device secret stays in a separate OS keyring entry; it never enters config,
|
|
345
|
+
token files or terminal output. A process lock serializes polling and logout
|
|
346
|
+
for that API/profile. Its nonsecret owner metadata lives under the actual OS
|
|
347
|
+
account home, independent of `HOME` and configuration-directory overrides.
|
|
348
|
+
Only confirmed dead owners are reclaimed; ambiguous locks require operator
|
|
349
|
+
recovery. Denial, expiry during polling, redemption and logout clear the pending
|
|
350
|
+
entry. After process loss, expired keyring state is removed on the next login
|
|
351
|
+
or logout for that API/profile; there is no background cleanup process. Logout
|
|
352
|
+
discards a pending-only login locally; it does not cancel consent on the API.
|
|
353
|
+
|
|
354
|
+
Resume keeps the original server expiry and a conservative deadline measured
|
|
355
|
+
before the start request. Polling honors the saved interval, including
|
|
356
|
+
`slow_down`, and bounds each request to the remaining deadline. It never renews
|
|
357
|
+
consent, widens scopes, extends MFA assurance or changes token lifetime.
|
|
358
|
+
Changing `--scopes` while a login is pending requires logout first.
|
|
359
|
+
|
|
360
|
+
Keyring access is required for automatic resume even when final token storage
|
|
361
|
+
was explicitly set to a file. A host without keyring access, including many
|
|
362
|
+
cloud runners, can explicitly choose `--no-resume` for an in-memory request.
|
|
363
|
+
That option cannot replace a readable existing pending login: logout first.
|
|
364
|
+
If keyring access is unavailable, the CLI warns that old pending state could
|
|
365
|
+
not be checked; restore access and run logout before using resume again.
|
|
366
|
+
There is no plaintext fallback for pending state.
|
|
367
|
+
|
|
368
|
+
Expiry, interruption, denial, token-save failure and config-save failure have
|
|
369
|
+
distinct JSON error codes. If the server redeemed approval but the response was
|
|
370
|
+
lost, or credential saving was not confirmed, the one-time code cannot recover
|
|
371
|
+
the token. Check `auth status` with the same API/profile and, when needed,
|
|
372
|
+
revoke the CLI browser login token in account settings before starting again.
|
|
373
|
+
A config-save failure explicitly reports that the credential was saved; pass
|
|
374
|
+
`--api-url` until the configuration store is repaired. Cleanup failures remain
|
|
375
|
+
visible, and keyring-unavailable logout still attempts the selected credential's
|
|
376
|
+
normal local deletion or remote session revocation.
|
|
377
|
+
|
|
340
378
|
`auth status` validates the token without printing it. `logout` revokes stored
|
|
341
379
|
sessions and clears local credentials. If a malformed keyring entry prevents
|
|
342
380
|
revocation, logout attempts local deletion and reports that remote revocation
|
|
@@ -543,7 +581,7 @@ that adoption before it changes files. Without it, the operation fails with
|
|
|
543
581
|
changed. The CLI never widens a token's scopes. This command checks current
|
|
544
582
|
authorization, consent, policy, lease, and exact release identity. It does not
|
|
545
583
|
start a background daemon.
|
|
546
|
-
|
|
584
|
+
Additional provider install adapters remain planned.
|
|
547
585
|
|
|
548
586
|
To change skill visibility, use the canonical `myskills sharing set
|
|
549
587
|
<skill-slug> --visibility <scope>` command. It accepts either
|