@anytio/pspm 0.5.1 → 0.7.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/CHANGELOG.md +17 -0
- package/README.md +9 -5
- package/dist/index.js +16 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,23 @@ All notable changes to the PSPM CLI will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.7.0] - 2026-02-25
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **BREAKING: `--access` is now required for `pspm publish`** — You must explicitly specify `--access public` or `--access private` when publishing. Previously, omitting `--access` would default to public (free users) or private (pro users). This prevents accidental public publishes.
|
|
13
|
+
|
|
14
|
+
## [0.6.0] - 2026-02-17
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- **Auth-free read operations**: API key is no longer required for non-write operations (`add`, `install`, `update`, `list`, `link`). Only `publish`, `unpublish`, `deprecate`, `access`, and `whoami` now require authentication.
|
|
19
|
+
- Made `apiKey` parameter optional in SDK configuration, eliminating `apiKey ?? ""` workaround patterns
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- `update` command no longer blocks users without a PSPM API key when they only have GitHub or public packages installed
|
|
24
|
+
|
|
8
25
|
## [0.5.1] - 2026-02-10
|
|
9
26
|
|
|
10
27
|
### Changed
|
package/README.md
CHANGED
|
@@ -125,13 +125,15 @@ pspm version patch --dry-run # Preview changes without writing
|
|
|
125
125
|
### Publishing
|
|
126
126
|
|
|
127
127
|
```bash
|
|
128
|
-
pspm publish
|
|
129
|
-
pspm publish --
|
|
130
|
-
pspm publish --access
|
|
131
|
-
pspm unpublish <spec> --force
|
|
132
|
-
pspm deprecate <spec> [msg]
|
|
128
|
+
pspm publish --access private # Publish as private (requires Pro)
|
|
129
|
+
pspm publish --access public # Publish as public (irreversible)
|
|
130
|
+
pspm publish --access private --bump patch # Bump version and publish
|
|
131
|
+
pspm unpublish <spec> --force # Remove a published skill version
|
|
132
|
+
pspm deprecate <spec> [msg] # Mark a version as deprecated
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
+
**`--access` is required.** You must specify `--access public` or `--access private` every time you publish. Private skills require a Pro subscription.
|
|
136
|
+
|
|
135
137
|
**Publish preview:** Before uploading, `pspm publish` shows a preview of included files, package size, and requires confirmation. Max package size is **10MB**.
|
|
136
138
|
|
|
137
139
|
|
|
@@ -310,3 +312,5 @@ pspm install --frozen-lockfile
|
|
|
310
312
|
## License
|
|
311
313
|
|
|
312
314
|
This project is licensed under [The Artistic License 2.0](LICENSE), the same license used by npm.
|
|
315
|
+
|
|
316
|
+
<!-- @doc-sync: 17484e41aef17ad72e470bb5511876ce0bdfcbb4 | 2026-02-20 15:00 -->
|
package/dist/index.js
CHANGED
|
@@ -772,7 +772,7 @@ async function resolveRecursive(rootDeps, config2) {
|
|
|
772
772
|
};
|
|
773
773
|
configure2({
|
|
774
774
|
registryUrl: config2.registryUrl,
|
|
775
|
-
apiKey: config2.apiKey
|
|
775
|
+
apiKey: config2.apiKey
|
|
776
776
|
});
|
|
777
777
|
const rangesByPackage = /* @__PURE__ */ new Map();
|
|
778
778
|
const queue = [];
|
|
@@ -2047,7 +2047,7 @@ async function validateRegistryPackage(specifier) {
|
|
|
2047
2047
|
);
|
|
2048
2048
|
}
|
|
2049
2049
|
const { username, name, versionRange } = parsed;
|
|
2050
|
-
configure2({ registryUrl, apiKey
|
|
2050
|
+
configure2({ registryUrl, apiKey });
|
|
2051
2051
|
console.log(`Resolving ${specifier}...`);
|
|
2052
2052
|
const versionsResponse = await listSkillVersions(username, name);
|
|
2053
2053
|
if (versionsResponse.status !== 200) {
|
|
@@ -2843,7 +2843,7 @@ async function installFromLockfile(options) {
|
|
|
2843
2843
|
}
|
|
2844
2844
|
console.log(`Resolving ${missingDeps.length} new dependency(ies)...
|
|
2845
2845
|
`);
|
|
2846
|
-
configure2({ registryUrl, apiKey
|
|
2846
|
+
configure2({ registryUrl, apiKey });
|
|
2847
2847
|
for (const { fullName, versionRange } of missingDeps) {
|
|
2848
2848
|
const parsed = parseSkillSpecifier(fullName);
|
|
2849
2849
|
if (!parsed) {
|
|
@@ -4144,8 +4144,9 @@ init_lockfile2();
|
|
|
4144
4144
|
init_add();
|
|
4145
4145
|
async function update(options) {
|
|
4146
4146
|
try {
|
|
4147
|
-
const
|
|
4148
|
-
const registryUrl =
|
|
4147
|
+
const config2 = await resolveConfig();
|
|
4148
|
+
const registryUrl = config2.registryUrl;
|
|
4149
|
+
const apiKey = getTokenForRegistry(config2, registryUrl);
|
|
4149
4150
|
const skills = await listLockfileSkills();
|
|
4150
4151
|
if (skills.length === 0) {
|
|
4151
4152
|
console.log("No skills installed.");
|
|
@@ -4380,11 +4381,19 @@ program.command("version <bump>").description("Bump package version (major, mino
|
|
|
4380
4381
|
dryRun: options.dryRun
|
|
4381
4382
|
});
|
|
4382
4383
|
});
|
|
4383
|
-
program.command("publish").description("Publish current directory as a skill").option("--bump <level>", "Bump version (major, minor, patch)").option("--tag <tag>", "Tag for the release").
|
|
4384
|
+
program.command("publish").description("Publish current directory as a skill").option("--bump <level>", "Bump version (major, minor, patch)").option("--tag <tag>", "Tag for the release").requiredOption(
|
|
4385
|
+
"--access <level>",
|
|
4386
|
+
"Set package visibility (public or private)"
|
|
4387
|
+
).action(async (options) => {
|
|
4388
|
+
const access3 = options.access;
|
|
4389
|
+
if (access3 !== "public" && access3 !== "private") {
|
|
4390
|
+
console.error('Error: --access must be "public" or "private"');
|
|
4391
|
+
process.exit(1);
|
|
4392
|
+
}
|
|
4384
4393
|
await publishCommand({
|
|
4385
4394
|
bump: options.bump,
|
|
4386
4395
|
tag: options.tag,
|
|
4387
|
-
access:
|
|
4396
|
+
access: access3
|
|
4388
4397
|
});
|
|
4389
4398
|
});
|
|
4390
4399
|
program.command("unpublish <specifier>").description(
|