Version Packages - #801
Merged
Merged
Version Packages#801
Conversation
github-actions
Bot
requested review from
bhaveshpatel640,
chiragjn,
debajyoti-truefoundry,
heerambavi1998,
sr07asthana and
thesujai
as code owners
September 18, 2026 07:13
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
September 18, 2026 07:30
fa16337 to
26bbe22
Compare
github-actions
Bot
requested review from
govindavashishtha,
kumarsks619,
qaifi-tf,
sajal-truefoundry,
sayan-truefoundry and
vinit-truefoundry
as code owners
September 18, 2026 07:30
github-actions
Bot
force-pushed
the
changeset-release/main
branch
7 times, most recently
from
September 18, 2026 15:18
8cf22dd to
e60a90e
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
September 18, 2026 15:21
e60a90e to
c7618dd
Compare
chiragjn
approved these changes
Sep 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@truefoundry/trueforge@0.2.0
Minor Changes
8491843: Add a slot-driven agent Metrics tab with aggregate cards, time-range filtering, and Harness-backed line charts.
a70543b: Agent access is decided only by the
Authorizer: standalone/OIDC lets everyone list and use agents and restricts update/delete to the creator; TrueFoundry uses external permissions api.You can read a session, turn, events, metrics, schedule, or its runs if you created it, or if you manage the named agent it is bound to. Creating still requires permission to use that agent. Only the creator can update, delete, or cancel a session, create a turn, or download sandbox files. Only the creator can update, delete, pause, resume, or run a schedule. An OIDC settings admin can no longer see other users' schedules.
1222563: Make the Postgres app schema configurable via
POSTGRES_SCHEMA(defaulttrueforge) forsearch_path, migrations, and schema bootstrap.49164e7: Add optional mutual TLS for the HTTPS listener and schedule controller→server hop via
TRUEFORGE_MTLS_ENABLED/TRUEFORGE_MTLS_CERTS_DIR. Off by default; independent of ServiceFoundryTRUEFOUNDRY_MTLS_*.9bfcdaa: Replace string creator fields (
created_by/triggered_by) with a non-nullcreated_by_subjectJSON object on agent, session, schedule, and schedule_run. Ownership and list filters usetenant_id+created_by_subject.subject_id.a3a1395: Adds first-class cron schedules for existing agents: persist them, manage them via /api/v1/schedules, validate cron policy at write time, and advance due runs through a single-dispatcher claim path.
4b1aa55: Enforce external agent authorization on agent list, get, snippets, update, delete, and referenced-agent use.
74eae6c: Remove pagination from list MCP servers across the API, SDK, and UI; return and search the complete configured MCP catalog client-side.
0297727: Add context-management compaction triggers with model-aware defaults and migrate persisted legacy token thresholds.
ef316d2: Add optional
OIDC_ALLOWED_EMAILSallowlist (exact addresses and*globs) so OIDC logins can be limited to approved emails or domains.4b120b8: Schedule runs now execute through one internal API call authenticated with
TRUEFORGE_API_KEY. The server loads the saved run, schedule, and agent, then uses one agent-scoped token for turn resources in TrueFoundry mode.0453157: [truefoundry] Use ServiceFoundry dual vend-token response: authenticate as the agent for registry lookups, and as the user (with agent in
act) for MCP authorize/auth status, gateway model api_key, and MCP invoke.2025cef: Store Postgres app tables and Kysely migration bookkeeping in a dedicated
trueforgeschema, with an automatic one-time move frompublicso existing installs keep their data and migration history.8f1a2dc: [truefoundry] Add a TrueFoundry-managed model registry. When
TRUEFOUNDRY_SERVICEFOUNDRY_SERVER_URLis set, models are listed from the TrueFoundry ServiceFoundry server and turns are routed through the tenant's default AI Gateway with the caller's token. Mutually exclusive with OIDC. Supports internal mutual TLS to the ServiceFoundry server viaTRUEFOUNDRY_MTLS_ENABLED/TRUEFOUNDRY_MTLS_CERTS_DIR.4137af1: Unify request-scoped RequestContext across standalone, OIDC, and TrueFoundry auth.
/auth/mereturns{ data: { type, tenant_id, subject, roles } }(typeisoidc-connected|default; OpenAPI/SDK regen deferred to CI).e4c4b56: Add built-in web search/fetch system tools (Parallel via
parallel-web), gated byAgentSpec.config.web_search(default off) and TrueFoundry-mode host envTRUEFOUNDRY_WEB_SEARCH_PROVIDER. New drafts seedweb_search.enabledfrom/capabilitieswhen a provider is configured.Patch Changes
x-tfg-mcpandx-tfg-skillsin TrueFoundry mode: MCP servers and skills a request defines by name, taking precedence over the tenant registry for that request only. Both resolve for spec validation and turn execution; an unfiltered list still shows only configured resources, so request-scoped ones never appear in settings. Inline MCP credentials come from the manifest's ownauth.headers, which lets a rotating token ride each turn.active_executor_idon the turn row, mint plain ULID turn ids, and peer cancel via the DB owner instead of embedding the executor in the turn id./internal/metricsvia a server-ownedISessionMetricsStore.agent.metadataon Postgres and SQLite; storeupdateAgentcan patch manifest and/or metadata.external_id(string | nullon create) with a tenant-scoped partial unique index (Postgres and SQLite).external_id. FilterlistAgentsbyexternal_ids. Keep general ServiceFoundry HTTP at 10s and agent CRUD calls at 3s.agent.metadata; remote identity is stored inexternal_id.tfgandtrueforgein create requests.dbfor TrueFoundryAgentStore advisory-lock transactions..tfy-desired-skills.json(SkillMounter + skill_downloader), and always attach a mounter so existing skills are cleaned up.type: truefoundry; name is FQN, display_name is short). AvailableSkill exposes optional metadata (display_name, repository_name, version). AgentSpec skill refs allow opaque FQN names, optional preload (registry), and max 50. UI draft skill mounts map catalogidto AgentSpecname.{ type, permissions }, and bump@truefoundry/assistant-ui-runtimeto0.1.39.token: "USER_API_KEY"in TypeScript agent code snippets when OIDC or TrueFoundry auth is enabled.brand.mode(icon-title|icon-only|logo) so hosts pick chrome look first;namealways labels the mark, andresolveBrandChromemaps mode to layout chrome.@truefoundry/assistant-ui-runtimeto0.1.30.@truefoundry/assistant-ui-runtimeto0.1.31.@truefoundry/assistant-ui-runtimeto0.1.38for assistant completion timestamps and keep-alive turn streams on session switch.@truefoundry/assistant-ui-runtimeto0.1.41for turn-scoped sandbox artifact downloads and to stop stale session history from merging after a session switch.dist/controller-main.js) that runs the periodic control loops (schedule dispatch) as a single-replica process for distributed mode (STANDALONE=false). It targets the server API via the newSERVER_URLenv (defaulthttp://localhost:$PORT). Standalone mode keeps running the controller inside the server process.x-tfy-metadatafrom create-turn to TrueFoundry-mode gateway calls, merged with harness session, turn, and agent ids.created_by_meto list sessions and list schedules so callers can restrict results to resources they created (excluding managed-agent visibility).@truefoundry/assistant-ui-runtimeto0.1.34.base_urlon agent code-snippets (FE public host); fall back to request origin +PUBLIC_BASE_URLpath.VITE_BASE_PATHapply to both the UI public path and API/auth URLs (defaults to/).x-tfy-metadataon TrueFoundry-mode model and MCP gateway calls./api/internal/list-permissionsviaAuthorizer.getPermissions(owner grants for schedules/sessions; agents includeUSE, with TrueFoundry agents mapped from SFYUSE_AGENT/MANAGE_AGENT/DELETE_AGENT).metadata[key]=valuequery params (OpenAPI deepObject) for exact metadata containment filtering. Bare JSON-stringmetadataquery params are rejected. Metadata keys are limited to 32 characters and cannot include[]or whitespace so they do not collide with the bracket query form.@destructiveonly. Selecting Other/read-only tools clears approval; selecting destructive tools keeps it on. Migrate mounts still carrying the old@write+@destructivedefault.resolveInvokeHeadersontoIMcpServerWithAuthStore(notIMcpServerStore) so DB backends stay CRUD-only and turn/MCP invoke paths take the request-scoped with-auth store for configured headers and TrueFoundry gateway Bearer.MCP_TOOL_CALL_MAX_RESPONSE_BYTES) so oversized tool results cannot OOM the process.controlPlaneURLfrom the session instead of the processPUBLIC_BASE_URLorigin.IMcpServerStore) from Connect UX auth (IMcpServerWithAuthStore/McpServerWithAuthStore) so DB backends stay CRUD + OAuth client columns while authorize/status/revoke compose in via a token store.better-sqlite3v13 is built for Node-API 10 and SIGSEGVs on 22.13 and below).total_cost_in_usdwhen cost is unavailable (instead of defaulting to 0), matching turn metrics.GET /api/v1/agentswithlimit/page_tokenand apaginationenvelope; optionalagent_namefilters by case-insensitive substring. Agents library uses rows-per-page and prev/next against the token-paginated API. Schedule create and the schedules listing agent filter use a searchable agent combobox backed by the same filtered list API.GET /api/v1/schedules/{schedule_id}/runswithlimit/page_tokenand apaginationenvelope./assets/.ssllike servicefoundry (POSTGRES_SSL_MODE+ cert/key/CA paths), notsslmodeon the URL.POSTGRES_SSL_MODEassslmodeon the Postgres connection URL.DATABASE_URLfor hosted mode so managed Postgres (e.g. Railway) can be wired without discretePOSTGRES_*vars.tfg:so TrueForge can share a Redis instance without colliding with other apps.PUBLIC_BASE_URLat process start so one published frontend can run behind any path-stripping proxy.agent_idonschedule(backfilled fromagent), FK toagent(id)ON DELETE CASCADE (replacing the(tenant_id, agent_name)FK), and(tenant_id, agent_id)index for per-agent listing.limit/page_token) and filters by comma-separatedagent_names.scheduled_forfirst), with the same creator-or-admin access as other schedule routes.reasonon schedule runs when hand-off fails. Exposed on ScheduleRun responses as nullable string.external_id,Sessions.getOrCreateByExternalId, and an idempotentPOST /internal/sessions/get-or-create-by-external-idendpoint and SDK method.metadata(Record<string, string>with size limits) on create, update, and read. Persist as a newsession.metadatajsonb column; leave sessioncustomunchanged.PATCH /api/v1/sessions/{session_id}with an optionaltitle(trimmed, 1–50 chars).source. Persist as nullable JSONB with a list filter index; expose on session responses and list viasource_type/source_id. Schedule dispatch sets source on create; public create/update do not accept it./api/v1/auth/loginredirects toPUBLIC_BASE_URLorigin + callerreturn_to(platform/signin/external?redirectPath=…).code/erroron the FE landing like local DCR success/failure.resolveInvokeHeaders), so gateway Bearer comes from the request-scoped store rather than being threaded through turn/tools APIs.x-tfg-mcp-headers, merged into the invoke headers for the named server. Lets a caller that authenticates as one identity give each MCP server the identity it should actually see.SandboxProviderManifest); truefoundry is store-internal (StoredSandboxProviderManifest).TRUEFOUNDRY_TENANT_ID_TO_ALLOWED_MODEL_PROVIDER_ACCOUNTSJSON map of tenant id → provider account names to limit which virtual providers are listed per tenant.turn.updateevent schema with paused/running status andaction_required_on_events.npx @truefoundry/trueforgeworking on native Windows: import Kysely migrations withpathToFileURL, and keep sandbox guest paths POSIX. Source development stays Unix/WSL; CI also runs unit and SQLite store tests on Windows.@truefoundry/trueforge-core@0.2.0
Minor Changes
a70543b: Agent access is decided only by the
Authorizer: standalone/OIDC lets everyone list and use agents and restricts update/delete to the creator; TrueFoundry uses external permissions api.You can read a session, turn, events, metrics, schedule, or its runs if you created it, or if you manage the named agent it is bound to. Creating still requires permission to use that agent. Only the creator can update, delete, or cancel a session, create a turn, or download sandbox files. Only the creator can update, delete, pause, resume, or run a schedule. An OIDC settings admin can no longer see other users' schedules.
9bfcdaa: Replace string creator fields (
created_by/triggered_by) with a non-nullcreated_by_subjectJSON object on agent, session, schedule, and schedule_run. Ownership and list filters usetenant_id+created_by_subject.subject_id.0297727: Add context-management compaction triggers with model-aware defaults and migrate persisted legacy token thresholds.
8f1a2dc: [truefoundry] Add a TrueFoundry-managed model registry. When
TRUEFOUNDRY_SERVICEFOUNDRY_SERVER_URLis set, models are listed from the TrueFoundry ServiceFoundry server and turns are routed through the tenant's default AI Gateway with the caller's token. Mutually exclusive with OIDC. Supports internal mutual TLS to the ServiceFoundry server viaTRUEFOUNDRY_MTLS_ENABLED/TRUEFOUNDRY_MTLS_CERTS_DIR.e4c4b56: Add built-in web search/fetch system tools (Parallel via
parallel-web), gated byAgentSpec.config.web_search(default off) and TrueFoundry-mode host envTRUEFOUNDRY_WEB_SEARCH_PROVIDER. New drafts seedweb_search.enabledfrom/capabilitieswhen a provider is configured.Patch Changes
active_executor_idon the turn row, mint plain ULID turn ids, and peer cancel via the DB owner instead of embedding the executor in the turn id./internal/metricsvia a server-ownedISessionMetricsStore..tfy-desired-skills.json(SkillMounter + skill_downloader), and always attach a mounter so existing skills are cleaned up.type: truefoundry; name is FQN, display_name is short). AvailableSkill exposes optional metadata (display_name, repository_name, version). AgentSpec skill refs allow opaque FQN names, optional preload (registry), and max 50. UI draft skill mounts map catalogidto AgentSpecname.client.connect()so the handshake does not leak sockets./api/internal/list-permissionsviaAuthorizer.getPermissions(owner grants for schedules/sessions; agents includeUSE, with TrueFoundry agents mapped from SFYUSE_AGENT/MANAGE_AGENT/DELETE_AGENT).metadata[key]=valuequery params (OpenAPI deepObject) for exact metadata containment filtering. Bare JSON-stringmetadataquery params are rejected. Metadata keys are limited to 32 characters and cannot include[]or whitespace so they do not collide with the bracket query form.@destructiveonly. Selecting Other/read-only tools clears approval; selecting destructive tools keeps it on. Migrate mounts still carrying the old@write+@destructivedefault.MCP_TOOL_CALL_MAX_RESPONSE_BYTES) so oversized tool results cannot OOM the process.total_cost_in_usdwhen cost is unavailable (instead of defaulting to 0), matching turn metrics.tfg:so TrueForge can share a Redis instance without colliding with other apps.external_id,Sessions.getOrCreateByExternalId, and an idempotentPOST /internal/sessions/get-or-create-by-external-idendpoint and SDK method.metadata(Record<string, string>with size limits) on create, update, and read. Persist as a newsession.metadatajsonb column; leave sessioncustomunchanged.source. Persist as nullable JSONB with a list filter index; expose on session responses and list viasource_type/source_id. Schedule dispatch sets source on create; public create/update do not accept it.SandboxProviderManifest); truefoundry is store-internal (StoredSandboxProviderManifest).pwdbefore writing files.cache_controlto{ type: 'ephemeral' }fortruefoundryprovider model calls (overridable via request body).turn.updateevent schema with paused/running status andaction_required_on_events.npx @truefoundry/trueforgeworking on native Windows: import Kysely migrations withpathToFileURL, and keep sandbox guest paths POSIX. Source development stays Unix/WSL; CI also runs unit and SQLite store tests on Windows.@truefoundry/trueforge-sdk@0.2.0
Minor Changes
Patch Changes
created_by_meto list sessions and list schedules so callers can restrict results to resources they created (excluding managed-agent visibility).metadata[key]=valuequery params (OpenAPI deepObject) for exact metadata containment filtering. Bare JSON-stringmetadataquery params are rejected. Metadata keys are limited to 32 characters and cannot include[]or whitespace so they do not collide with the bracket query form.total_cost_in_usdwhen cost is unavailable (instead of defaulting to 0), matching turn metrics.GET /api/v1/agentswithlimit/page_tokenand apaginationenvelope; optionalagent_namefilters by case-insensitive substring. Agents library uses rows-per-page and prev/next against the token-paginated API. Schedule create and the schedules listing agent filter use a searchable agent combobox backed by the same filtered list API.is_event_delta/merge_event_delta(PyPI version locksteps with this package on Version Packages).internal.agents.getCodeSnippetsAPI under the new SDKinternalnamespace.external_id,Sessions.getOrCreateByExternalId, and an idempotentPOST /internal/sessions/get-or-create-by-external-idendpoint and SDK method.metadata(Record<string, string>with size limits) on create, update, and read. Persist as a newsession.metadatajsonb column; leave sessioncustomunchanged.source. Persist as nullable JSONB with a list filter index; expose on session responses and list viasource_type/source_id. Schedule dispatch sets source on create; public create/update do not accept it.code/erroron the FE landing like local DCR success/failure.SandboxProviderManifest); truefoundry is store-internal (StoredSandboxProviderManifest).@truefoundry/trueforge-ui@0.3.0
Minor Changes
51127c4: Gate
config.webSearchon host capabilities: New Chat auto-enables with no toggle; New Agent / edit show a Runtime Config switch (default on when absent).d269b01: Add a live advanced agent configuration drawer with shared model, runtime, MCP tool, skill, and Save Agent editors.
e74e953: Keep agent configuration visible on the left in full-width builder layouts, add a responsive instructions and initial-messages drawer with explicit save, make mobile config overlays closable, save the current instruction draft, align builder chrome, and preserve open widgets across chat runtime changes.
a189482: Add routed agent detail pages with lazy Overview, Sessions, and Use In Code tabs backed by the optional AgentSessionsServer port and built-in TrueForge adapter.
8491843: Add a slot-driven agent Metrics tab with aggregate cards, time-range filtering, and Harness-backed line charts.
e3973a5: Open agent model settings inline and support typed custom model parameters.
a189482: Add the agent library Sessions tab and an all-user Sessions sidebar page (including drafts) with agent and time filters, shareable query params, and the same two-pane timeline. Library agent details keep the active tab in
?tab=so opening an agent lands on Overview.555bef0: Add a composer approval-nav banner (overridable
ApprovalNavBannerslot) that counts pending tool approvals, pauses the composer, and jumps/expands/flashes the focused approval — including nested subagent tools.3539da2: Add
brand.mode(icon-title|icon-only|logo) so hosts pick chrome look first;namealways labels the mark, andresolveBrandChromemaps mode to layout chrome.16feb29: Add
customActionRenderersso hosts can pause the composer on client-side tools with their own UI and resume viaonSubmit(content).74eae6c: Remove pagination from list MCP servers across the API, SDK, and UI; return and search the complete configured MCP catalog client-side.
bc11131: MCP selectors (composer + agent config) infinite-scroll through
listMcppages via DraftCatalogProvider.0297727: Add context-management compaction triggers with model-aware defaults and migrate persisted legacy token thresholds.
860e322: Split New Chat vs New Agent: simple chat keeps the Connectors/Skills picker; New Agent keeps Agent Config + Save Agent. Session metadata
is_create_agentdrives resume from the sessions browser.12b02ff: Open Runtime Config in a right-side drawer and label scheduled sessions consistently.
0cc59f8: Wire schedule test runs and show last five run status chips on the schedules table. Bump
@truefoundry/assistant-ui-runtimeto0.1.25.0cc59f8: Add global Schedules page at
/scheduleswith listing, popover-based filters, and create/edit drawer wired to the schedule API. New schedules save as paused, open a Test Schedule review with MCP connect status, and support Activate Anyway. List schedules uses server token pagination and multi-agent filters. Agents shows a Schedules count column (warning when any are paused) loaded via a batched list for on-screen agents. Add Table primitives with client-side and token pagination plus portal DropdownMenu so row actions are not clipped by overflow. Export a reusable popover select with single- and multi-select modes.788636d: Sidebar layout is a permanent icon+label nav rail (no expand/collapse). Recent chats are hidden from the sidebar and mobile drawer; the drawer shows nav actions only.
04d2ee6: Add a
sidebarTextsemantic token for sidebar nav labels, refresh trueforge sidebar colors, set trueforge baseradiusto0.375rem(6px), and set sidebar / thread-list control corners to0.75rem(12px).Expose design-system
Button(Button.Primary/.Secondary/.Ghost/.Destructive).ButtonVariantis nowprimary | secondary | ghost | destructive(defaultrenamed toprimary;outlineremoved — usesecondary). Button sizes arelarge(default) andsmall(iconfor icon-only).7e25f68: Open Save Agent in a right-side drawer with only the agent name while preserving configuration from Agent Config.
8f1a2dc: [truefoundry] Add a TrueFoundry-managed model registry. When
TRUEFOUNDRY_SERVICEFOUNDRY_SERVER_URLis set, models are listed from the TrueFoundry ServiceFoundry server and turns are routed through the tenant's default AI Gateway with the caller's token. Mutually exclusive with OIDC. Supports internal mutual TLS to the ServiceFoundry server viaTRUEFOUNDRY_MTLS_ENABLED/TRUEFOUNDRY_MTLS_CERTS_DIR.f8b5eeb: Add optional resource permissions and gate agent, schedule, and session mutations.
Patch Changes
{name}-cloneprefilled; stay on Agents list after save.agent-2glyph on the agents-library trigger, and squared-off chrome-action geometry on the save-agent trigger. Also fixesagent-2.svgto usecurrentColorso it is legible in dark mode.type: truefoundry; name is FQN, display_name is short). AvailableSkill exposes optional metadata (display_name, repository_name, version). AgentSpec skill refs allow opaque FQN names, optional preload (registry), and max 50. UI draft skill mounts map catalogidto AgentSpecname.client.internal.agents.getCodeSnippetsinstead of a rawclient.fetch.{ type, permissions }, and bump@truefoundry/assistant-ui-runtimeto0.1.39./build-agentbefore their session URL is assigned.{name}-copyvia saveAgent), Manage Schedules, and Delete (wired through harnessdeleteAgent).@truefoundry/assistant-ui-runtimeto0.1.30.@truefoundry/assistant-ui-runtimeto0.1.31.@truefoundry/assistant-ui-runtimeto0.1.38for assistant completion timestamps and keep-alive turn streams on session switch.@truefoundry/assistant-ui-runtimeto0.1.41for turn-scoped sandbox artifact downloads and to stop stale session history from merging after a session switch.SyntaxHighlighter/AgentCodeBlock) copy control uses the bordered secondary button, and a trailing source newline no longer paints an empty last line while Copy still keeps the exact source.base_urlpassed to agent code-snippets.@truefoundry/assistant-ui-runtimeto0.1.34.base_urlon agent code-snippets (FE public host); fall back to request origin +PUBLIC_BASE_URLpath.trueforgetheme font and load it from Google Fonts when styles are injected.@destructiveonly. Selecting Other/read-only tools clears approval; selecting destructive tools keeps it on. Migrate mounts still carrying the old@write+@destructivedefault.require_approval_for_toolson the agent spec, and make unchecked tool checkboxes legible in both tool selectors. The agent Overview tab now expands each attached MCP server into its tools, with read/write/destructive labels and approval state./sessions,/schedules, and/library/:agentIdwhen those server ports are omitted, matching the Settings Lego gate.GET /api/v1/agentswithlimit/page_tokenand apaginationenvelope; optionalagent_namefilters by case-insensitive substring. Agents library uses rows-per-page and prev/next against the token-paginated API. Schedule create and the schedules listing agent filter use a searchable agent combobox backed by the same filtered list API./sessions/:id+ square-arrow-out-up-right); without a router it keeps the in-shell resume fallback.isNew=true, then clear the flag from the URL./settingsroute when Settings chrome is unavailable (no catalog orcapabilities.settings.enabledis false), matching the sidebar Settings button gate.code/erroron the FE landing like local DCR success/failure.turn.updateevent schema with paused/running status andaction_required_on_events.PageHeaderacross chat and list chrome so title size/height stay consistent, and drop decorative title icons.npx @truefoundry/trueforgeworking on native Windows: import Kysely migrations withpathToFileURL, and keep sandbox guest paths POSIX. Source development stays Unix/WSL; CI also runs unit and SQLite store tests on Windows.Note
Low Risk
Diff is version metadata, changelogs, and deleted changesets only—no server or UI logic changes in this PR.
Overview
This is the Changesets “Version Packages” merge: it exits RC pre-release and cuts stable npm/PyPI versions without new application code in the diff.
Version bumps:
@truefoundry/trueforgeand@truefoundry/trueforge-core/ SDK → 0.2.0 (from0.2.0-rc.*);@truefoundry/trueforge-ui→ 0.3.0 (from0.3.0-rc.11); Pythontrueforge_sdk→ 0.2.0. OpenAPIinfo.versionmoves from0.2.0-rc.14to0.2.0, and JS/Python SDK client headers use the stable version strings.Release housekeeping: Removes the consumed
.changesetentries (including.changeset/pre/andpre.jsonexit mode), and rolls accumulated changeset notes into each packageCHANGELOG.md. Merging triggers automated publish of the versioned packages described in the PR body (auth/RBAC, schedules, TrueFoundry integrations, UI work, etc.)—those behaviors landed in prior PRs; this PR only packages and documents them.Reviewed by Cursor Bugbot for commit c7618dd. Bugbot is set up for automated code reviews on this repo. Configure here.