@kybernesis/create 0.23.0 → 0.23.2

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.
@@ -1,5 +1,13 @@
1
1
  import { type HostKind } from "./templates.js";
2
2
  import type { ModelScaffoldConfig } from "./model-reach.js";
3
+ /**
4
+ * The registry items install the newest release of each third-party
5
+ * extension, and those are built on a later eve than the certified one, which
6
+ * eve then refuses at discovery ("has no compile or runtime usage") and the
7
+ * agent never boots. These are the releases proven on the certified eve.
8
+ * Move them with the eve certification, never on their own.
9
+ */
10
+ export declare const ENGINEER_EXTENSION_PINS: readonly ["@agent-browser/eve@0.34.0", "@github-tools/eve-extension@0.8.0"];
3
11
  /**
4
12
  * Agent-to-agent: the eve channel becomes the governed dispatch door (people
5
13
  * still come in through kybernesisAuth in the same walk) and granted peers
@@ -13,6 +13,14 @@ import { run, yellow } from "./util.js";
13
13
  // self-hosted agent it cannot get an OIDC token and the agent fails to boot.
14
14
  const ENGINEER_ITEMS_ALL = ["extension/agent-browser", "extension/github-tools"];
15
15
  const ENGINEER_ITEMS_VERCEL = ["connection/vercel"];
16
+ /**
17
+ * The registry items install the newest release of each third-party
18
+ * extension, and those are built on a later eve than the certified one, which
19
+ * eve then refuses at discovery ("has no compile or runtime usage") and the
20
+ * agent never boots. These are the releases proven on the certified eve.
21
+ * Move them with the eve certification, never on their own.
22
+ */
23
+ export const ENGINEER_EXTENSION_PINS = ["@agent-browser/eve@0.34.0", "@github-tools/eve-extension@0.8.0"];
16
24
  function write(dir, path, content) {
17
25
  const full = join(dir, path);
18
26
  mkdirSync(join(full, ".."), { recursive: true });
@@ -48,6 +56,13 @@ export function applyEngineer(dir, host, model) {
48
56
  if (!ok)
49
57
  console.log(yellow(` ! ${item} did not install cleanly — re-run: npx eve add ${item}`));
50
58
  }
59
+ // --legacy-peer-deps: both declare peer ranges that trail the certified eve.
60
+ const pinned = run("npm", ["install", "--save-exact", "--legacy-peer-deps", ...ENGINEER_EXTENSION_PINS, "--no-audit", "--no-fund"], {
61
+ cwd: dir,
62
+ allowFail: true,
63
+ });
64
+ if (!pinned)
65
+ console.log(yellow(` ! could not pin ${ENGINEER_EXTENSION_PINS.join(" ")} — install them by hand or discovery refuses the newer ones`));
51
66
  for (const file of plan.files)
52
67
  write(dir, file.path, file.content);
53
68
  // A declared subagent sees none of the root's skills, so the memory skills
package/dist/doctor.js CHANGED
@@ -637,8 +637,11 @@ export async function doctor() {
637
637
  else if (env.DELIVER_DIR && env.DELIVER_BASE_URL) {
638
638
  add("pass", `file delivery via host directory (${env.DELIVER_DIR})`);
639
639
  }
640
+ else if (!env.DELIVER_DIR && (env.EVE_PUBLIC_URL || env.EXE_VM_NAME)) {
641
+ add("pass", "file delivery served by the agent itself (@kybernesis/manage /eve/v1/kyb/files)");
642
+ }
640
643
  else {
641
- add("warn", "file delivery not configured — the agent cannot hand over artifacts", "set BLOB_READ_WRITE_TOKEN (the CLIENT's blob store) or DELIVER_DIR + DELIVER_BASE_URL");
644
+ add("warn", "file delivery not configured — the agent cannot hand over artifacts", "set EXE_VM_NAME or EVE_PUBLIC_URL (the agent serves files itself), BLOB_READ_WRITE_TOKEN, or DELIVER_DIR + DELIVER_BASE_URL");
642
645
  }
643
646
  }
644
647
  // ── eve discovery + local port ─────────────────────────────────────────
package/dist/templates.js CHANGED
@@ -825,7 +825,7 @@ export { default } from "@kybernesis/engineer";
825
825
  ? [
826
826
  "Enable Docker on the host (some images ship it disabled): sudo systemctl enable --now docker",
827
827
  "Preview server (so the agent can show you what it built):\n mkdir -p ~/preview && setsid python3 -m http.server 3456 --directory ~/preview &\n then open https://<vm>.exe.xyz:3456/<file> (account-gated, not public)",
828
- "File delivery needs object storage: set BLOB_READ_WRITE_TOKEN (Vercel Blob) or DELIVER_DIR + DELIVER_BASE_URL to serve from this host",
828
+ "File delivery: the agent serves delivered files itself at https://<vm>.exe.xyz/eve/v1/kyb/files (needs @kybernesis/manage 0.21+); set BLOB_READ_WRITE_TOKEN to use Vercel Blob instead",
829
829
  "Public deploys need the client's own Vercel token — Vercel Connect does NOT work off-Vercel",
830
830
  ]
831
831
  : [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kybernesis/create",
3
- "version": "0.23.0",
3
+ "version": "0.23.2",
4
4
  "description": "The Kybernesis agent scaffolder and FDE toolkit: one command to a governed, remembering, multiplayer, self-testing eve agent \u2014 plus doctor and upgrade.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -34,9 +34,11 @@ then `eve add @kybernesis/<item>`). Each covers one axis:
34
34
  `surface: "channel"|"dm"` attribute + helpers from package root), `/new` DM
35
35
  reset. Slack-only today.
36
36
  - **engineer** — build + ship. Extension: `screenshot` (renders in in-sandbox
37
- Chromium, returns pixels the model SEES) + `deliver` (sandbox file → public
38
- Blob URL; needs BLOB_READ_WRITE_TOKEN — one-liner:
39
- `vercel blob create-store <name>-deliverables --access public --yes`) +
37
+ Chromium, returns pixels the model SEES) + `deliver` (sandbox file → a link
38
+ with a 128-bit random id; on exe the agent serves it itself at
39
+ `https://<vm>.exe.xyz/eve/v1/kyb/files/<id>/<name>` via manage 0.21+, so a
40
+ customer's files stay on the customer's agent; BLOB_READ_WRITE_TOKEN switches
41
+ it to Vercel Blob, DELIVER_DIR + DELIVER_BASE_URL to an operator-served dir) +
40
42
  six skills (dev-loop, scaffold, visual-qa, git-discipline, ship,
41
43
  architecture-notes). The registry item ALSO writes
42
44
  `agent/sandbox/sandbox.ts` — the workshop: Playwright baked into the