bitfab-cli 0.2.269 → 0.2.270
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/dist/index.js +14 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -28415,7 +28415,7 @@ var saveTemplate = {
|
|
|
28415
28415
|
var saveTracePlan = {
|
|
28416
28416
|
name: "save_trace_plan",
|
|
28417
28417
|
title: "Save Trace Plan",
|
|
28418
|
-
description:
|
|
28418
|
+
description: 'Create or update a tracing instrumentation plan. CREATE: omit `planId` and send `language`, the full `tree`, `capturedNodeIds`, and usually `traceFunctionKey`; this creates a reviewable plan and returns its id, Studio URL, initial capture count, and expiry. UPDATE: pass `planId`; use targeted `capture` / `uncapture` and/or `mockOnReplayByNodeId` changes without restating the tree, or send `tree` plus `capturedNodeIds` together for a structural replacement. A structural replacement may change `tree.rootId` when the trace boundary moves or is replaced. Targeted changes preserve status; a structural change to a confirmed plan reopens it to `awaiting`. Never create a second plan when one already exists for the work in hand: save it by `planId` instead, and find that id with `list_trace_plans({ traceFunctionKey, status: "awaiting" })` when you do not already hold it (get_trace_plan by key answers only for confirmed plans, so its miss does not mean the key is free). A cancelled plan is the one thing you cannot save onto: create fresh. An expired one needs no special handling, saving it revives it. The captured set must stay one connected sub-tree with exactly one entry point, and that entry point always re-runs live and can never be mocked. Updates return the current plan summary, including the final captured set and replay/mock decisions.',
|
|
28419
28419
|
inputSchema: {
|
|
28420
28420
|
planId: external_exports.string().optional().describe("Existing trace plan id to update. Omit to create a new plan. Do not send creation-only fields `language`, `source`, or `agentRunId` when this is supplied."),
|
|
28421
28421
|
language: external_exports.enum(["python", "typescript", "ruby", "go"]).optional().describe("CREATE mode. Source language of the user's code. Required when `planId` is omitted."),
|
|
@@ -28446,7 +28446,7 @@ var confirmTracePlan = {
|
|
|
28446
28446
|
var getTracePlan = {
|
|
28447
28447
|
name: "get_trace_plan",
|
|
28448
28448
|
title: "Get Trace Plan",
|
|
28449
|
-
description:
|
|
28449
|
+
description: 'Read a trace plan. Two modes: pass `planId` to read a specific plan (use this after save_trace_plan + browser confirmation to learn whether the user confirmed, cancelled, or is still pending); or pass `traceFunctionKey` to fetch the latest *confirmed* plan for that key. A key lookup that reports no plan has ruled out a confirmed one only: unconfirmed plans for that key (an analyze-repo draft, or one whose confirmation never landed) are found with `list_trace_plans({ traceFunctionKey, status: "awaiting" })`, and saving onto one of those beats creating a rival plan for the same key. At the start of a Modify cycle, treat that confirmed plan as historical intent and reconcile its tree and captured nodes with current code; never assume the stored snapshot proves current instrumentation or use it to skip rereading code. Returns the full plan including the tree as JSON.',
|
|
28450
28450
|
inputSchema: {
|
|
28451
28451
|
planId: external_exports.string().optional().describe("The trace plan id returned by save_trace_plan."),
|
|
28452
28452
|
traceFunctionKey: external_exports.string().optional().describe("Trace function key. Returns the latest confirmed plan for this key in the caller's organization, or a 'no prior plan' message if none exists.")
|
|
@@ -28455,13 +28455,22 @@ var getTracePlan = {
|
|
|
28455
28455
|
var listTracePlans = {
|
|
28456
28456
|
name: "list_trace_plans",
|
|
28457
28457
|
title: "List Trace Plans",
|
|
28458
|
-
description: 'List existing trace plans for this organization, newest first.
|
|
28458
|
+
description: 'List existing trace plans for this organization, newest first. Two main uses. (1) Surfacing the unconfirmed draft plans an earlier `analyze-repo` run uploaded (pass `source: "analyze_repo"`, `status: "awaiting"`) so an Instrument cycle can reuse them instead of re-scanning the codebase and re-drafting. (2) Finding the plan that already exists for a trace function you are about to save (pass `traceFunctionKey`, and `status: "awaiting"` for the unconfirmed ones get_trace_plan by key does not return), so you update it by `planId` instead of creating a competing plan for the same key. Each entry includes the plan id (pass it to get_trace_plan / save_trace_plan / openTracePlan), the trace function key, the root name and file, language, the recommended captured-node count, status, source, and age. Expired plans are omitted. Use this before asking the user what to instrument.',
|
|
28459
28459
|
inputSchema: {
|
|
28460
|
+
traceFunctionKey: external_exports.string().min(1).optional().describe("Filter to plans saved under this exact trace function key. Omit for every key."),
|
|
28460
28461
|
source: external_exports.enum(["interactive", "analyze_repo"]).optional().describe("Filter by how the plan was produced. 'analyze_repo' returns the non-interactive batch drafts; 'interactive' returns plans from a normal Instrument/Modify cycle. Omit for both."),
|
|
28461
28462
|
status: external_exports.enum(["awaiting", "confirmed", "cancelled"]).optional().describe("Filter by plan status. 'awaiting' is an unconfirmed draft (the reusable ones), 'confirmed' has been accepted in Studio, 'cancelled' was dropped. Omit for any."),
|
|
28462
28463
|
limit: external_exports.preprocess(parseJsonString, external_exports.number().min(1).max(50)).optional().describe("Max plans to return (default 20, max 50)")
|
|
28463
28464
|
}
|
|
28464
28465
|
};
|
|
28466
|
+
var cancelTracePlan = {
|
|
28467
|
+
name: "cancel_trace_plan",
|
|
28468
|
+
title: "Cancel Trace Plan",
|
|
28469
|
+
description: "Retire an `awaiting` trace plan nobody will act on, so it stops coming back from list_trace_plans as a reusable draft. Use it when a draft is moot: its workflow is already instrumented under that key, or the user declined it. Only an awaiting plan can be cancelled, and cancelling is final (a cancelled plan cannot be updated or revived; re-plan the same work with a fresh save_trace_plan). A confirmed plan is the record of what the code captures and is never cancelled. When the draft is worth keeping but wrong, update it with save_trace_plan and its `planId` instead of cancelling and recreating.",
|
|
28470
|
+
inputSchema: {
|
|
28471
|
+
planId: external_exports.string().describe("The trace plan id to cancel. Must still be `awaiting`.")
|
|
28472
|
+
}
|
|
28473
|
+
};
|
|
28465
28474
|
var saveExperimentGroup = {
|
|
28466
28475
|
name: "save_experiment_group",
|
|
28467
28476
|
title: "Save Experiment Group",
|
|
@@ -28559,7 +28568,8 @@ var ALL_TOOL_CONTRACTS = [
|
|
|
28559
28568
|
saveTracePlan,
|
|
28560
28569
|
confirmTracePlan,
|
|
28561
28570
|
getTracePlan,
|
|
28562
|
-
listTracePlans
|
|
28571
|
+
listTracePlans,
|
|
28572
|
+
cancelTracePlan
|
|
28563
28573
|
];
|
|
28564
28574
|
var TOOL_NAMES = ALL_TOOL_CONTRACTS.map((contract) => contract.name).sort();
|
|
28565
28575
|
|