superbee 0.4.3-pre.2 → 0.4.3-pre.4

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
@@ -92,6 +92,12 @@ Setup itself changes nothing. It inspects your configuration and returns one saf
92
92
  a time, and the agent runs each with your approval. Setup knows Claude Code, Codex, and OpenCode,
93
93
  plus Claude Desktop for the MCP registration only.
94
94
 
95
+ For a fresh cloud container, provision Superbee in the environment setup step before agent tool
96
+ use. Generated hooks bind absolute Node and CLI paths from their installation, so a project hook
97
+ copied from a laptop does not install Superbee or provide a working container launcher. Configure
98
+ hooks inside the environment and verify startup in a fresh session. Startup pulls are best-effort;
99
+ inspect an explicit `superbee sync` receipt to verify publication of edits.
100
+
95
101
  ## Everyday use
96
102
 
97
103
  You rarely type Superbee commands yourself. You ask your agent, and the Agent Skill translates the
package/SKILL.md CHANGED
@@ -97,7 +97,7 @@ When the tone fits, a single 🐝 may mark a successful Superbee outcome.
97
97
 
98
98
  ## Host setup
99
99
 
100
- Persistent integrations require `npm install -g superbee` followed by `superbee setup`.
100
+ Persistent integrations require `npm install -g superbee` followed by `superbee setup`. Fresh cloud containers need the CLI provisioned before agent tool use and container-valid hook paths; copied laptop hooks do not provision them. Startup pulls are best-effort; inspect sync receipts to verify publication.
101
101
  Setup is an agent-driven read-only conductor: the calling agent selects its exact host, executes
102
102
  the returned argv action, reports what it is doing, requests approval only when the action says
103
103
  `approval.required: true`, restarts after Skill, Hook, or MCP changes, and reruns setup to verify.
@@ -42627,6 +42627,10 @@ function gfmFromMarkdown() {
42627
42627
 
42628
42628
  // ../markdown-renderer/src/index.tsx
42629
42629
  var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
42630
+ function renderableConceptId(fromId, raw) {
42631
+ if (/^okf:/i.test(raw.trim())) return null;
42632
+ return resolveConceptId(fromId, raw);
42633
+ }
42630
42634
  var MAX_BODY_CHARS = 262144;
42631
42635
  var MAX_NODES = 2e4;
42632
42636
  var MAX_DEPTH = 40;
@@ -42652,7 +42656,7 @@ function isBareLinkBlock(node2, fromId) {
42652
42656
  let sawLink = false;
42653
42657
  for (const child of node2.children) {
42654
42658
  if (isBlankInline(child)) continue;
42655
- if (child.type === "link" && resolveConceptId(fromId, child.url ?? "") !== null) {
42659
+ if (child.type === "link" && renderableConceptId(fromId, child.url ?? "") !== null) {
42656
42660
  sawLink = true;
42657
42661
  continue;
42658
42662
  }
@@ -42780,7 +42784,7 @@ function renderNode(node2, state, depth, index2) {
42780
42784
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("br", {}, index2);
42781
42785
  case "link": {
42782
42786
  const raw = node2.url ?? "";
42783
- const resolved = resolveConceptId(state.options.fromId, raw);
42787
+ const resolved = renderableConceptId(state.options.fromId, raw);
42784
42788
  const children = renderChildren(node2, state, depth);
42785
42789
  if (resolved === null) {
42786
42790
  const external = admitExternalLink(raw, state.options.externalLinkHosts);
@@ -42849,7 +42853,7 @@ function renderEdgeList(links, state, index2) {
42849
42853
  break;
42850
42854
  }
42851
42855
  state.count++;
42852
- const to = resolveConceptId(fromId, links[i].url ?? "");
42856
+ const to = renderableConceptId(fromId, links[i].url ?? "");
42853
42857
  if (to === null) continue;
42854
42858
  const verb = textOf(links[i]).trim();
42855
42859
  const target = titleFor?.(to) ?? to;