@neta-art/neta-search-cli 0.2.56 → 0.2.58

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
@@ -40,7 +40,7 @@ Suggestions for your own skills: `proposals` lists the skills that have them, `p
40
40
 
41
41
  `submit` publishes one of your skills and works inside a Cohub sandbox only, from a chat started by the space owner: it runs the static check first (see `lint`), sends this version, and waits for the result: published (with its digest) or why not. Nothing is shared until you submit: `use` only runs a skill. `submit --withdraw <name>` takes it down again; deleting the directory does not.
42
42
 
43
- `listing submit <name>` sends the skill's showcase, kept in `.agents/skills/<name>/.listing/`: `listing.json` with the name and description per language (`en`, `zh`, `ja`, `ko`, `es`, `de`) and a `media` list of up to 6 items in order of preference: `{"video": "demo.mp4", "poster": "cover.jpg"}` (mp4, 5 to 30 seconds, at most 30 MB; the poster is optional), `{"image": "shot.png"}` (jpg, png or webp, at most 10 MB), or `{"work": "https://neta.art/w/<id>"}` (a Work made in Studio and shared publicly). The files sit next to `listing.json`. Once reviewed, the showcase can be shown publicly in Studio, the Neta community, the skill's page and the public skills site. It is not part of the skill: changing it never makes a new version, people who install the skill do not get it, and publishing the skill with `submit` does not send it (the result of `submit` reminds you when it has not been sent or changed since). The server reads the folder from your space; nothing is uploaded by the CLI, and nothing is shown before review. The result says which items are usable and why not. `listing submit --withdraw <name>` takes your consent back. Same rules as `submit`: inside a Cohub sandbox, from a chat started by the space owner. A `listing.json` at the skill's top level is the old place (it is part of every version); `lint` says to move it.
43
+ `listing submit <name>` sends the skill's showcase, kept in `.agents/skills/<name>/.listing/`: `listing.json` with the name and description per language (`en`, `zh`, `ja`, `ko`, `es`, `de`) and a `media` list of up to 6 items in order of preference: `{"video": "demo.mp4", "poster": "cover.jpg"}` (mp4, 5 to 30 seconds, at most 30 MB; the poster is optional), `{"image": "shot.png"}` (jpg, png or webp, at most 10 MB), or `{"work": "https://neta.art/w/<id>"}` (a Work made in Studio and shared publicly). The files sit next to `listing.json`. Once reviewed, the showcase can be shown publicly in Studio, the Neta community, the skill's page and the public skills site. It is not part of the skill: changing it never makes a new version, people who install the skill do not get it, and publishing the skill with `submit` does not send it (the result of `submit` reminds you when it has not been sent or changed since). The server reads the folder from your space; nothing is uploaded by the CLI, and nothing is shown before review. The result says which items are usable and why not. `listing submit --withdraw <name>` takes your consent back: it stops being shown within a minute, including copies the Neta team adopted, but the addresses of copies already adopted cannot be deleted. Same rules as `submit`: inside a Cohub sandbox, from a chat started by the space owner. A `listing.json` at the skill's top level is the old place (it is part of every version); `lint` says to move it.
44
44
 
45
45
  `lint [name-or-dir]` checks a skill folder locally and sends nothing. **Errors** are what the skills site would reject (a missing frontmatter or description, a SKILL.md saved with Windows line endings or a byte-order mark, size limits, a SKILL.md or skill folder that is a symbolic link, anything that looks like a secret, a folder installed from someone else); `submit` stops on them. **Warnings** are suggestions and never block: other symbolic links (skipped when publishing), paths the skill mentions that are not in it, hard-coded `/workspace/...` paths (use paths relative to the skill folder or the current folder), missing or incomplete test declarations (`evals/matrix.json`), common writing problems (no rule that replies follow the user's language, no hand-off card, no `--work-title`, no out-of-scope section, non-English text hard-coded in the deliverable), ready-made non-English words for the agent to say to users, instructions not written in English (recommended, not required), and the optional showcase in `.listing/` (format, missing files, file types, sizes and video length; see `listing submit`). It is a static check, not a review: passing it says nothing about how well the skill works. `--json` for agents.
46
46
 
package/neta-search.mjs CHANGED
@@ -29404,6 +29404,7 @@ function rejectText(reason, name) {
29404
29404
  }
29405
29405
  var say = (s) => console.log(s);
29406
29406
  var SHOWN_WHERE = "Studio, the Neta community, the skill's page and the public skills site";
29407
+ var AFTER_WITHDRAW = "Withdrawing stops showing it, including any copies the Neta team adopted, but the addresses of copies already adopted cannot be deleted.";
29407
29408
  async function cmdListingSubmit(name, opts) {
29408
29409
  const env = detectEnv();
29409
29410
  if (env.anonymous || !env.turnId) {
@@ -29437,7 +29438,7 @@ async function cmdListingSubmit(name, opts) {
29437
29438
  ...local.spec.media.filter((m) => m.kind === "work" && !m.problem).map((m) => m.work)
29438
29439
  ];
29439
29440
  console.error(`Sending the showcase of ${name}. Once reviewed, it can be shown publicly in ${SHOWN_WHERE}: ${shown.join(", ") || "(nothing usable)"}.`);
29440
- console.error(`Files stay private until then. To take your consent back later: neta-search skills listing submit --withdraw ${name}`);
29441
+ console.error(`Files stay private until then. To take your consent back later: neta-search skills listing submit --withdraw ${name}. ${AFTER_WITHDRAW}`);
29441
29442
  }
29442
29443
  }
29443
29444
  const sent = await api(env, "POST", { name, ...opts.withdraw ? { withdraw: true } : {} });
@@ -29483,7 +29484,7 @@ function finish(name, opts, body, local) {
29483
29484
  return 0;
29484
29485
  }
29485
29486
  if (opts.withdraw) {
29486
- say(body.unchanged ? `Nothing to withdraw: the showcase of ${name} was never sent, or is already withdrawn.` : `Withdrawn: the showcase of ${name} will no longer be shown; copies already in use are replaced by the Neta team. Your .listing/ files here are unchanged; run neta-search skills listing submit ${name} to send them again.`);
29487
+ say(body.unchanged ? `Nothing to withdraw: the showcase of ${name} was never sent, or is already withdrawn.` : `Withdrawn: the showcase of ${name} will no longer be shown (within a minute). ${AFTER_WITHDRAW} Your .listing/ files here are unchanged; run neta-search skills listing submit ${name} to send them again.`);
29487
29488
  return 0;
29488
29489
  }
29489
29490
  const lines = [];
@@ -31306,7 +31307,7 @@ skills.command("submit").description("publish the current version of one of your
31306
31307
  await run(cmdSubmit(name, { json: !!opts.json, withdraw: !!opts.withdraw, adopts: opts.adopts, wait: Number.isFinite(wait) && wait >= 0 ? wait : 60 }));
31307
31308
  });
31308
31309
  var listing = skills.command("listing").description("a skill's showcase (name, description, video, images, Works) in .agents/skills/<name>/.listing/: not part of the skill, sent separately");
31309
- listing.command("submit").description("send the showcase in .agents/skills/<name>/.listing/ so that, once reviewed, it can be shown publicly in Studio, the Neta community, the skill's page and the public skills site; only the space owner can. Publishing the skill (skills submit) does not send it. --withdraw takes your consent back").argument("<name>", "skill directory name under .agents/skills/").option("--withdraw", "stop showing the showcase you sent (your files here are kept)").option("--wait <seconds>", "how long to wait for the server's result", "60").option("--json", "compact JSON output (for agents)").action(async (name, opts) => {
31310
+ listing.command("submit").description("send the showcase in .agents/skills/<name>/.listing/ so that, once reviewed, it can be shown publicly in Studio, the Neta community, the skill's page and the public skills site; only the space owner can. Publishing the skill (skills submit) does not send it. --withdraw takes your consent back").argument("<name>", "skill directory name under .agents/skills/").option("--withdraw", "stop showing the showcase you sent, including copies already adopted (their addresses cannot be deleted); your files here are kept").option("--wait <seconds>", "how long to wait for the server's result", "60").option("--json", "compact JSON output (for agents)").action(async (name, opts) => {
31310
31311
  const wait = Number(opts.wait);
31311
31312
  await run(cmdListingSubmit(name, { json: !!opts.json, withdraw: !!opts.withdraw, wait: Number.isFinite(wait) && wait >= 0 ? wait : 60 }));
31312
31313
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neta-art/neta-search-cli",
3
- "version": "0.2.56",
3
+ "version": "0.2.58",
4
4
  "description": "neta-search CLI — find, try and install skills from the Cohub / Neta skill registry",
5
5
  "type": "module",
6
6
  "bin": {