bitfab-cli 0.2.291 → 0.2.292

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.
Files changed (2) hide show
  1. package/dist/index.js +2 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -33145,6 +33145,7 @@ If the block prints \`ERROR: Bitfab plugin not installed\`, the user hasn't inst
33145
33145
  {{/codex}}
33146
33146
  **SDK reference:** https://docs.bitfab.ai is the source of truth for SDK install, initialization, API surface, and replay. Every docs path below ends in \`.md\`: that suffix returns the page as plain markdown (no HTML chrome), so fetch the URLs exactly as written. Fetch in this order before writing any code, do not improvise from memory:
33147
33147
  - **Canonical API surface (preferred for agents):** the dense reference pages at \`/reference/typescript.md\`, \`/reference/python.md\`, \`/reference/ruby.md\`, \`/reference/go.md\`. These list every public export, signature, type, default, and error semantic, no tutorials, no prose. Read these first.
33148
+ - **The client exposes three instrumentation primitives, not one.** Spans are the oldest, not the only one: TypeScript has \`withSpan\`/\`span\`, \`withTrace\`/\`trace\`, and \`withNode\`/\`node\`; Python has \`@client.span\`, \`@client.trace\`, and \`@client.node\`; Ruby and Go have spans only. \`trace\` records a root plus every first-party call beneath it without decorating them (TypeScript needs a \`@bitfab/transform\` adapter, Python needs 3.12+), and \`node\` applies naming, typing, capture, and \`mockOnReplay\`/\`mock_on_replay\` policy to one call discovered inside that subtree. Name all three when you fetch a reference page. The fetch answers the question you asked, so asking only about \`withSpan\`/\`@span\` returns a page that reads as though spans are the whole API.
33148
33149
  - **Cross-SDK shared semantics:** \`/reference/overview.md\` (invariants), \`/reference/span-types.md\` (the \`SpanType\` enum), \`/reference/http.md\` (wire protocol).
33149
33150
  - **Framework integrations (fetch when a framework is detected in step 1 of Instrument):** {{frameworkDocsPaths}}. Each page documents the SDK's native handler/processor/wrapper for that framework, which is usually preferable to hand-wrapping every node/agent call with \`withSpan\`/\`@span\`.
33150
33151
  - **Tutorials / walkthroughs / replay registry module template:** the language-specific guide pages (\`/typescript-sdk.md\`, \`/python-sdk.md\`, \`/ruby-sdk.md\`, \`/go-sdk.md\`). Use these for the copy-pasteable replay registry module and the replay output contract. During Instrument, fetch the Replay section before Instrument's write-instrumentation step so the replay registry module can be written alongside the instrumentation in the same cycle without re-fetching.
@@ -33812,7 +33813,7 @@ One line, nothing around it, then get on with it.
33812
33813
  kind: "action",
33813
33814
  toolCalls: ["webFetch"],
33814
33815
  title: "Read the SDK reference",
33815
- body: "**Read the SDK reference.** Fetch the dense canonical reference page first (`/reference/typescript.md`, `/reference/python.md`, `/reference/ruby.md`, or `/reference/go.md`) for every signature, type, default, and error semantic you need (initialization, `withSpan` / `@span` / `bitfab_span` / `client.Span`, `getFunction` / `get_function` / `GetFunction` / `bitfab_function`, `SpanType`, `getCurrentSpan`/`getCurrentTrace`, `wrapBAML`/`wrap_baml`). If step {{step:instrument/detect-language}} detected a framework in this application directory, also fetch the matching framework page; it documents the handler/processor/wrapper the SDK exposes for that framework, which is usually preferable to hand-wrapping every node/agent call with `withSpan`/`@span`: {{frameworkReferenceList}}. Then fetch the language guide (`/typescript-sdk.md`, `/python-sdk.md`, `/ruby-sdk.md`, `/go-sdk.md`), including the Replay section for non-Go projects, for the install command, the multi-file project layout example, the BAML auto-instrumentation walkthrough, and the replay registry module template. Read the replay section upfront (not later) because step {{step:instrument/write-instrumentation}} reuses it to write the replay pipeline in the same cycle, and it should not re-fetch these pages. {{^codex}}Fetch all of these as parallel WebFetch calls in a single message (they are independent URLs, so do not fetch them one at a time), or ask the user to share the pages{{/codex}}{{#codex}}Fetch those pages (via web-fetch capability, in one batch since they are independent URLs, or ask the user to share them){{/codex}}. **Do not improvise instrumentation from memory**: the API has moved and guessing will produce broken code.",
33816
+ body: "**Read the SDK reference.** Fetch the dense canonical reference page first (`/reference/typescript.md`, `/reference/python.md`, `/reference/ruby.md`, or `/reference/go.md`) for every signature, type, default, and error semantic you need (initialization, `withSpan` / `@span` / `bitfab_span` / `client.Span`, the subtree primitives `withTrace` / `trace` and `withNode` / `node` in TypeScript and Python, `getFunction` / `get_function` / `GetFunction` / `bitfab_function`, `SpanType`, `getCurrentSpan`/`getCurrentTrace`, `wrapBAML`/`wrap_baml`). **Ask the page for all three primitives by name, not just spans**: the fetch returns an answer to your prompt rather than the page, so a prompt about `withSpan`/`@span` alone comes back documenting spans alone, and you will instrument without ever learning that `trace` (a root that captures every first-party call beneath it, no decorators) and `node` (naming, typing, capture, and replay-mock policy for one call inside that subtree) exist. If step {{step:instrument/detect-language}} detected a framework in this application directory, also fetch the matching framework page; it documents the handler/processor/wrapper the SDK exposes for that framework, which is usually preferable to hand-wrapping every node/agent call with `withSpan`/`@span`: {{frameworkReferenceList}}. Then fetch the language guide (`/typescript-sdk.md`, `/python-sdk.md`, `/ruby-sdk.md`, `/go-sdk.md`), including the Replay section for non-Go projects, for the install command, the multi-file project layout example, the BAML auto-instrumentation walkthrough, and the replay registry module template. Read the replay section upfront (not later) because step {{step:instrument/write-instrumentation}} reuses it to write the replay pipeline in the same cycle, and it should not re-fetch these pages. {{^codex}}Fetch all of these as parallel WebFetch calls in a single message (they are independent URLs, so do not fetch them one at a time), or ask the user to share the pages{{/codex}}{{#codex}}Fetch those pages (via web-fetch capability, in one batch since they are independent URLs, or ask the user to share them){{/codex}}. **Do not improvise instrumentation from memory**: the API has moved and guessing will produce broken code.",
33816
33817
  next: "instrument/explain-trace-boundary"
33817
33818
  },
33818
33819
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bitfab-cli",
3
- "version": "0.2.291",
3
+ "version": "0.2.292",
4
4
  "description": "Install and configure the Bitfab plugin in Claude Code, Codex, or Cursor.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",