codeburn/docs/providers/ibm-bob.md
AgentSeal 03e22ecb80
Some checks are pending
CI / semgrep (push) Waiting to run
Add IBM Bob provider with workspace extraction (#316)
* Add IBM Bob provider

* Add workspace extraction for Cline-family providers

Extract project name from workspace directory in api_conversation_history.json
so sessions show actual folder names instead of the provider display name.
Thread projectPath through ParsedProviderCall to avoid unsanitizePath mangling
hyphenated folder names.

---------

Co-authored-by: ozymandiashh <234437643+ozymandiashh@users.noreply.github.com>
Co-authored-by: iamtoruk <hello@agentseal.org>
2026-05-11 20:54:13 -07:00

2.7 KiB

IBM Bob

IBM Bob IDE task history.

  • Source: src/providers/ibm-bob.ts
  • Loading: eager (src/providers/index.ts)
  • Test: tests/providers/ibm-bob.test.ts

Where It Reads From

IBM Bob stores IDE task history below User/globalStorage/ibm.bob-code/tasks/ in the application data directory.

Default paths checked:

Platform Paths
macOS ~/Library/Application Support/IBM Bob/User/globalStorage/ibm.bob-code/, ~/Library/Application Support/Bob-IDE/User/globalStorage/ibm.bob-code/
Windows %APPDATA%/IBM Bob/User/globalStorage/ibm.bob-code/, %APPDATA%/Bob-IDE/User/globalStorage/ibm.bob-code/
Linux $XDG_CONFIG_HOME/IBM Bob/User/globalStorage/ibm.bob-code/, $XDG_CONFIG_HOME/Bob-IDE/User/globalStorage/ibm.bob-code/ with ~/.config fallback

The Bob-IDE paths cover the preview-era app name that some installs used before the GA IBM Bob directory.

Storage Format

Each task is a directory under tasks/<task-id>/ and must contain ui_messages.json.

CodeBurn parses the same Cline-family UI event format used by Roo Code and KiloCode:

  • ui_messages.json entries with type: "say" and say: "api_req_started" contain serialized token/cost metrics.
  • ui_messages.json user text entries seed the turn's first user message.
  • api_conversation_history.json is optional and is used to extract the selected model from <model>...</model> environment details when present.
  • task_metadata.json may exist upstream, but CodeBurn does not need it for usage math today.

If no model tag is present, the parser uses ibm-bob-auto, which is priced through the same conservative Sonnet fallback used for Cline-family auto modes.

Caching

None at the provider level.

Deduplication

Per <providerName>:<taskId>:<apiRequestIndex> via vscode-cline-parser.ts.

Quirks

  • IBM Bob has shipped under both IBM Bob and Bob-IDE application data folder names.
  • This provider intentionally covers the IDE task-history format. Bob Shell's ~/.bob checkpoint data is a separate storage surface and is not parsed until we have a stable usage schema fixture.
  • The shared Cline parser does not currently extract individual tool names from UI messages, so tool breakdowns are empty for IBM Bob just like Roo Code and KiloCode.

When Fixing A Bug Here

  1. Check whether the install uses IBM Bob or Bob-IDE as the application data directory.
  2. Confirm the task folder still contains ui_messages.json and api_conversation_history.json.
  3. If the UI message schema changed, add a focused fixture to tests/providers/ibm-bob.test.ts.
  4. If the change also affects Roo Code or KiloCode, update src/providers/vscode-cline-parser.ts and run all three provider test files.