bitfab-cli 0.2.350 → 0.2.351

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 +11 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -23599,6 +23599,10 @@ var assertionTargetShape = external_exports.discriminatedUnion("kind", [
23599
23599
  ]).optional().describe('Which call to check when the trace runs that span more than once, e.g. a retry loop. "first", "last" (the default), or a 0-based index. Leave it off unless the repetition matters.')
23600
23600
  }).describe("Check one span by name rather than the whole trace, e.g. that a particular tool call was made with the right arguments.")
23601
23601
  ]).describe('SCOPE: what part of the trace under evaluation this assertion is checked against. OMIT IT for the whole trace, which is the common case and the right default when unsure. Pass { "kind": "output" } to check only the final output, or { "kind": "span", "name": "..." } to check one span. Scoping narrows what a judge looks at, so a wrong scope hides real failures. A target naming something the evaluated trace does not contain makes the check ERRORED, never passed, because a check that could not run must never look like a check that succeeded.');
23602
+ var justificationShape = external_exports.preprocess(parseJsonString, external_exports.array(external_exports.object({
23603
+ spanId: external_exports.uuid().describe("The span this reason comes from, taken from the `[ID: ...]` shown for that span in get_traces output."),
23604
+ text: external_exports.string().trim().min(1).max(1e4).describe("What that span shows, in one or two sentences.")
23605
+ })).min(1).max(50)).describe("Evidence: one entry per span you are relying on, each with its own reason, so a reviewer can open the span and check the claim. Quote what the span actually shows rather than restating the assertion. 1-50 entries.");
23602
23606
  var saveAssertionCategory = {
23603
23607
  name: "save_assertion_category",
23604
23608
  title: "Save Assertion Category",
@@ -23606,7 +23610,8 @@ var saveAssertionCategory = {
23606
23610
  inputSchema: {
23607
23611
  id: external_exports.uuid().optional().describe("Existing category ID to edit. Omit to create a category."),
23608
23612
  title: external_exports.string().trim().min(1).describe("The category title."),
23609
- description: external_exports.string().optional().describe("What assertions in this category have in common. Omit on an edit to preserve it. Pass an empty string to clear it.")
23613
+ description: external_exports.string().optional().describe("What assertions in this category have in common. Omit on an edit to preserve it. Pass an empty string to clear it."),
23614
+ justification: justificationShape.optional().describe("Why this category is worth having, cited span by span. Omit on an edit to preserve it. A person reviews it in Bitfab and marks the category approved or rejected; editing the title or description sends it back for review.")
23610
23615
  }
23611
23616
  };
23612
23617
  var listAssertionCategories = {
@@ -23640,7 +23645,9 @@ var saveTraceAssertions = {
23640
23645
  humanNote: external_exports.string().max(1e4).optional().describe("People-only context attached to this assertion. It is returned by reads but must never be used as evidence when assessing a replay. On an edit, omit to preserve it and pass an empty string to clear it."),
23641
23646
  passCriteria: external_exports.string().optional().describe("How a judge should recognise a pass, when the assertion alone leaves room to argue, e.g. 'arrival timestamp is strictly before 09:00 in the destination timezone'. Optional, and only worth writing when it removes real ambiguity. Same field save_grader takes, so an assertion that proves out across many traces is promoted into a grader by copying it. On an edit, omit to keep the current value and pass an empty string to clear it."),
23642
23647
  failCriteria: external_exports.string().optional().describe("How a judge should recognise a failure, for cases the pass criteria do not obviously exclude, e.g. 'any leg departing after 09:00, including connections'. Optional. On an edit, omit to keep the current value and pass an empty string to clear it."),
23643
- targetOnEvaluatedTrace: assertionTargetShape.optional()
23648
+ targetOnEvaluatedTrace: assertionTargetShape.optional(),
23649
+ justification: justificationShape.optional().describe("Why this assertion is right for THIS trace, cited span by span: the spans that show what the run actually did, each with its own reason. Omit on an edit to preserve it. A person reviews it in Bitfab and marks the assertion approved or rejected, so an assertion with no justification is one a reviewer has to reconstruct from scratch. Cite spans on this trace only."),
23650
+ categoryJustification: justificationShape.optional().describe("Why `category_assertion_id` is the right category for this assertion, cited span by span. Omit on an edit to preserve it. Changing the category clears it, since it justified the old one. Cite spans on this trace only.")
23644
23651
  })).min(1).max(MAX_ASSERTIONS_PER_REQUEST)).describe(`One entry per assertion (1-${MAX_ASSERTIONS_PER_REQUEST})`)
23645
23652
  }
23646
23653
  };
@@ -24575,8 +24582,8 @@ var semver3 = __toESM(require_semver2(), 1);
24575
24582
 
24576
24583
  // ../bitfab-plugin-lib/dist/bakedSdkVersions.js
24577
24584
  var BAKED_SDK_VERSIONS = {
24578
- typescript: "0.54.8",
24579
- python: "0.56.0",
24585
+ typescript: "0.54.9",
24586
+ python: "0.56.1",
24580
24587
  ruby: "0.51.9",
24581
24588
  go: "0.51.8"
24582
24589
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bitfab-cli",
3
- "version": "0.2.350",
3
+ "version": "0.2.351",
4
4
  "description": "Install and configure the Bitfab plugin in Claude Code, Codex, or Cursor, or the Bitfab skill pack in Amp (Alpha).",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",