@stigmer/plugin-package 3.20.0 → 3.22.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/plugin-package",
3
- "version": "3.20.0",
3
+ "version": "3.22.0",
4
4
  "description": "Reads an Agent Plugins package — the open 1.0.0 format and the Cursor, Claude Code and Codex dialects — into one normalised description of what Stigmer would install, refusing with one sentence per problem what Stigmer cannot carry; pure over an in-memory file reader, shared by the CLI's offline validation and the server's install. The ./client entry is what every installing client does identically: file selection, the deterministic archive and its digest, the marketplace grammars",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -8,7 +8,7 @@
8
8
  * `d75b0724a` (`preparePluginPush` over the vendored `thermos` fixture,
9
9
  * whose bytes never change). If it changes, every installed plugin would
10
10
  * look like an upgrade; this test is the tripwire. The catalogue's own
11
- * `plugins/assistant` is read too, but its content is allowed to evolve (a
11
+ * `plugins/linear` is read too, but its content is allowed to evolve (a
12
12
  * manifest edit is an upgrade by design), so its cases pin the identity
13
13
  * discipline (the directory edge and the in-memory edge agree on one
14
14
  * digest, and the selection is exactly its files) rather than a constant.
@@ -68,14 +68,10 @@ function inMemory(files: Record<string, string>): { candidates: CandidateFile[];
68
68
  const RESPECT = { respectGitignore: true };
69
69
 
70
70
  describe("parity with the CLI's original walk", () => {
71
- it("plugins/assistant selects exactly its files, in walk order", () => {
72
- const { candidates, read } = listDirectory(`${REPO_PLUGINS}assistant`);
71
+ it("plugins/linear selects exactly its files, in walk order", () => {
72
+ const { candidates, read } = listDirectory(`${REPO_PLUGINS}linear`);
73
73
  const selection = selectPluginFiles(candidates, read, RESPECT);
74
- expect(selection.files.entries.map((entry) => entry.path)).toEqual([
75
- "ai.stigmer/agent.yaml",
76
- "icon.svg",
77
- "plugin.json",
78
- ]);
74
+ expect(selection.files.entries.map((entry) => entry.path)).toEqual(["mcp.json", "plugin.json"]);
79
75
  });
80
76
 
81
77
  it("the thermos fixture archives to the CLI's digest", async () => {
@@ -86,7 +82,7 @@ describe("parity with the CLI's original walk", () => {
86
82
  });
87
83
 
88
84
  it("the same bytes from a directory and from an in-memory listing yield one digest", async () => {
89
- const dir = listDirectory(`${REPO_PLUGINS}assistant`);
85
+ const dir = listDirectory(`${REPO_PLUGINS}linear`);
90
86
  const fromDirectory = await digestArchive(archivePlugin(selectPluginFiles(dir.candidates, dir.read, RESPECT).files));
91
87
  const memory = inMemory(
92
88
  Object.fromEntries(dir.candidates.map((c) => [c.path, new TextDecoder().decode(dir.read(c.path))])),