Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions VENDORED.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,26 +23,26 @@ never a convenience.
## Ledger

Pinned to [faremeter/interchange](https://github.com/faremeter/interchange)
@ `5453d0b0` (origin/main, v0.4.0).
@ `9febf69` (origin/main, v0.4.0).

| Vendored path | What it is | Owner | Kill date |
| ------------------------------ | ------------------------------------------------------------------------ | ------ | ---------- |
| `apps/sidecar` | Copy of upstream's sidecar app; apps are never npm-published. Two local deltas: `workflow-substrate-factory.ts` registers `@corbits/credential-header`'s and `@corbits/credential-mcp`'s providers alongside `builtinCredentialProviders()`; `bin/workflow-child` and `bin/workflow-probe-child` run under plain `bun` instead of upstream's `intx-src` resolve condition; `createSidecarStepBuildEnv` resolves the step's director registry from the closure package (`interchange.directors`) instead of the built-ins only, so a workflow's own director runs and not just probes (kill condition: upstream's step env loads the closure registry) | maintainers | 2026-11-03 |
| `apps/sidecar` | Copy of upstream's sidecar app; apps are never npm-published. Three local deltas: `workflow-substrate-factory.ts` registers `@corbits/credential-header`'s and `@corbits/credential-mcp`'s providers alongside `builtinCredentialProviders()`; `bin/workflow-child` and `bin/workflow-probe-child` run under plain `bun` instead of upstream's `intx-src` resolve condition; `createSidecarStepBuildEnv` resolves the step's director registry from the closure package (`interchange.directors`) instead of the built-ins only, so a workflow's own director runs and not just probes (kill condition: upstream's step env loads the closure registry) | maintainers | 2026-11-03 |
| `vendor/intx/agent` | `@intx/agent` at a newer commit than npm has published | maintainers | 2026-11-03 |
| `vendor/intx/db` | `@intx/db`, with one local serving-time credential-refresh delta | maintainers | 2026-11-03 |
| `vendor/intx/db` | `@intx/db`, with local fork migrations (wire_projection, launch origin, tolerate rewrite, tenant slug check), a serving-time credential-refresh seam, and an openai-responses catalog id | maintainers | 2026-11-03 |
| `vendor/intx/harness` | `@intx/harness` at a newer commit than npm has published | maintainers | 2026-11-03 |
| `vendor/intx/hub-agent` | `@intx/hub-agent`, with a local OAuth-login-over-websocket delta | maintainers | 2026-11-03 |
| `vendor/intx/hub-api` | `@intx/hub-api`, with the local workflow-deploy-bearer route | maintainers | 2026-11-03 |
| `vendor/intx/hub-sessions` | `@intx/hub-sessions`, with several local run/pack-acceptance fixes | maintainers | 2026-11-03 |
| `vendor/intx/hub-agent` | `@intx/hub-agent`, with local childRunId event threading and an OAuth-login-over-websocket delta | maintainers | 2026-11-03 |
| `vendor/intx/hub-api` | `@intx/hub-api`, with the local workflow-deploy-bearer route and a serving-time credential-refresh hook | maintainers | 2026-11-03 |
| `vendor/intx/hub-sessions` | `@intx/hub-sessions`, with local childRunId event threading, serving-time credential refresh, loopback OAuth login, and prepared-deploy step staging | maintainers | 2026-11-03 |
| `vendor/intx/inference` | `@intx/inference`, with one local Google file-upload compile fix | maintainers | 2026-11-03 |
| `vendor/intx/mail-memory` | `@intx/mail-memory` at a newer commit than npm has published | maintainers | 2026-11-03 |
| `vendor/intx/mailbox` | `@intx/mailbox`, never yet published to npm | maintainers | 2026-11-03 |
| `vendor/intx/mime` | `@intx/mime` at a newer commit than npm has published | maintainers | 2026-11-03 |
| `vendor/intx/types` | `@intx/types`, with one local model-provider-plugin enum addition | maintainers | 2026-11-03 |
| `vendor/intx/types` | `@intx/types`, with local childRunId, openai-responses plugin id, and OAuth-login token shapes | maintainers | 2026-11-03 |
| `vendor/intx/hub-common` | `@intx/hub-common` at a newer commit than npm has published | maintainers | 2026-11-03 |
| `vendor/intx/workflow` | `@intx/workflow`, with one local step-timeout-budget delta | maintainers | 2026-11-03 |
| `vendor/intx/workflow-deploy` | `@intx/workflow-deploy` at a newer commit than npm has published | maintainers | 2026-11-03 |
| `vendor/intx/workflow-host` | `@intx/workflow-host`, with a local step-grants-collapse delta and a temporary delta omitting an empty inbound `Subject` header instead of passing it through empty (kill condition: upstream tolerates an empty Subject, INTR-577) | maintainers | 2026-11-03 |
| `vendor/intx/workflow-host` | `@intx/workflow-host`, with local credential-wiring/childRunId threading, a step-grants-collapse delta, and a temporary delta omitting an empty inbound `Subject` header instead of passing it through empty (kill condition: upstream tolerates an empty Subject, INTR-577) | maintainers | 2026-11-03 |

Every row above is re-vendored at the same commit rather than mixed pins
(npm's `0.4.0` is this commit; rows with no local delta are un-vendoring
Expand Down
11 changes: 10 additions & 1 deletion apps/sidecar/src/conversation-state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,16 @@ export interface DurableConversationStore {
restoreFromSubstrate(): Promise<boolean>;
/** Commit new turns as an O(1) WAL append, compacting into a checkpoint at the compaction interval. */
mirrorToSubstrate(): Promise<void>;
/** Advances connector thread state from an inbound message so composeReply can address a threaded reply. */
/**
* Advance the connector router from a received inbound message so the
* warm agent's reply path has thread state. Runs the router's pure
* `route()` then `commit()`; the router owns what each decision does to
* the thread. The advanced connector state is flushed into the local
* store's metadata so the run-boundary mirror persists it and a respawn
* restore re-seeds the router. Called before the warm agent's send so
* `composeReply()` can compose a threaded reply. A metadata write
* failure surfaces.
*/
seedInbound(message: InboundMessage): Promise<void>;
/** Threading headers for a reply on the active connector thread; throws NoActiveConnectorThreadError with none seeded. */
composeReply(): ConnectorReplyParts;
Expand Down
2 changes: 1 addition & 1 deletion bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion e2e/hub/mailbox-persist.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ async function setup(opts: { withSession?: boolean } = {}) {
await db.insert(tenantTable).values({
id: tenantId,
name: "Mailbox Persist Wrap Tenant",
slug: uid("mbxpw"),
slug: uid("mbxpw").replaceAll("_", "-"),
domain,
});
await db.insert(workflowDefinition).values({
Expand Down
2 changes: 1 addition & 1 deletion e2e/workflows/agent-session.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ describeIfDb("ensureRunSession", () => {
await db.db.insert(schema.tenant).values({
id: tenantId,
name: "Agent Session Test Tenant",
slug: `agent-session-${tenantId}`,
slug: `agent-session-${tenantId.replaceAll("_", "-")}`,
domain,
parentId: null,
config: null,
Expand Down
4 changes: 2 additions & 2 deletions vendor/intx/agent/VENDORED-FROM
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: https://github.com/faremeter/interchange (packages/agent)
Commit: 5453d0b01da9d749aa446c4ba34fcf2aeb4549c0 (origin/main, v0.4.0)
Commit: 9febf699e1c8a01fd329927e5a14be7f94e9919e (origin/main, v0.4.0)
License: LGPL-2.1-only (see vendor/intx/LICENSE)
Local modifications: exports map repointed from the upstream intx-src condition to direct TypeScript source resolution (types/default -> ./src/...); dist references removed. Upstream test files are not vendored (they import the unvendored @intx/inference-testing and @intx/test-harness test packages); only the tests covering a workbench delta are kept. CL-7190: ToolBundle.beforeToolExtension (tool.ts) and its composition into ResolvedTools.beforeToolExtensions (agent.ts), so a tool package can contribute its own suspend-capable extension without the reactor or director special-casing it by name.
Local modifications: exports map repointed from the upstream intx-src condition to direct TypeScript source resolution (types/default -> ./src/...); dist references removed. Upstream test files are not vendored (they import the unvendored @intx/inference-testing and @intx/test-harness test packages). No source delta (the CL-7190 ToolBundle.beforeToolExtension seam retired at the prior re-vendor: neither that pin nor HEAD agent/src carries it and nothing in the workbench references it).
4 changes: 2 additions & 2 deletions vendor/intx/db/VENDORED-FROM
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: https://github.com/faremeter/interchange (packages/db)
Commit: 5453d0b01da9d749aa446c4ba34fcf2aeb4549c0 (origin/main, v0.4.0)
Commit: 9febf699e1c8a01fd329927e5a14be7f94e9919e (origin/main, v0.4.0)
License: LGPL-2.1-only (see vendor/intx/LICENSE)
Local modifications: exports map repointed from the upstream intx-src condition to direct TypeScript source resolution (types/default -> ./src/...); dist references removed. Upstream test files are not vendored (they import the unvendored @intx/inference-testing and @intx/test-harness test packages); only the tests covering a workbench delta are kept. CL-6324: workflow_definition_version gains a wire_projection jsonb column (migration 0089_workflow_definition_version_wire_projection.sql -- renumbered from 0086 as upstream took 0086/0087/0088; the journal keeps our original `when` values, which still sort after upstream's), schema/workflow-definitions.ts declares it, and workflow-definition-store.ts adds loadFrozenWireProjection (exported from src/index.ts) to read it back beside the approved wire hash. CL-6452: workflow_definition gains an origin column (migration 0090_workflow_definition_origin.sql; declared in schema/workflow-definitions.ts) marking the per-run record a folded run's deploy mints for itself, so launch and refresh resolve the hub-authored definition instead of the newest same-named row. Migration 0091_workflow_definition_version_tolerate_body_failure.sql rewrites the retired `onBodyFailure: "continue"` literal to upstream's `"tolerate"` inside stored wire projections. CL-4455: workflow_definition gains schedule_claimed_minute (migration 0092_workflow_definition_schedule_claimed_minute.sql; declared in schema/workflow-definitions.ts) so the hub's native ScheduleTrigger poller can CAS each UTC minute. CL-8162: the hub-side cron tick is deleted, so schedule_claimed_minute is dropped again (migration 0094_drop_workflow_definition_schedule_claimed_minute.sql, journal idx 94) and schema/workflow-definitions.ts no longer declares it. Workbench applies these files by sorted filename through scripts/db-setup.ts (replay-from-scratch with a filename ledger); the drizzle journal exists for drizzle-kit only. CL-7495 re-pin to c1b5bb73: upstream's 0089_tense_selene.sql (principal_key table) is renumbered to 0093_principal_keys.sql behind our four delta migrations, with journal idx 93 and a 0093_snapshot.json built from upstream's 0089 snapshot reconciled with the wire_projection/origin/schedule_claimed_minute columns; upstream 447ebb08's snapshot-chain repair (relinked 0087 prevId, workflow_run.credential_refs restored) is applied to 0087/0088. Our fork migrations 0089-0092 ship no drizzle snapshots (hand-written SQL, journal only), so there was no fork snapshot chain to repair. CL-8425: the CL-8206 re-pin to 79adc433 moved src/schema (tenant domain lower-unique index, workflow_run_dispatch.sender_address, sidecar_allocation destroy_failed status) without its SQL; upstream's 0090_tenant_domain_lower_unique, 0091_workflow_run_dispatch_sender_address and 0092_sidecar_destroy_failed are vendored verbatim as 0095/0096/0097 (journal idx 95-97, no snapshots). Re-vendor to 5453d0b0: upstream's 0093_sidecar_initialization.sql is vendored verbatim as 0098 (journal idx 98, no snapshot).
Local modifications: exports map repointed from the upstream intx-src condition to direct TypeScript source resolution (types/default -> ./src/...); dist references removed. Upstream test files are not vendored (they import the unvendored @intx/inference-testing and @intx/test-harness test packages). CL-6324: workflow_definition_version gains a wire_projection jsonb column (migration 0089_workflow_definition_version_wire_projection.sql -- renumbered from 0086 as upstream took 0086/0087/0088; the journal keeps our original `when` values, which still sort after upstream's), schema/workflow-definitions.ts declares it, and workflow-definition-store.ts adds loadFrozenWireProjection (exported from src/index.ts) to read it back beside the approved wire hash. CL-6452: workflow_definition gains an origin column (migration 0090_workflow_definition_origin.sql; declared in schema/workflow-definitions.ts) marking the per-run record a folded run's deploy mints for itself, so launch and refresh resolve the hub-authored definition instead of the newest same-named row. Migration 0091_workflow_definition_version_tolerate_body_failure.sql rewrites the retired `onBodyFailure: "continue"` literal to upstream's `"tolerate"` inside stored wire projections. CL-4455: workflow_definition gains schedule_claimed_minute (migration 0092_workflow_definition_schedule_claimed_minute.sql; declared in schema/workflow-definitions.ts) so the hub's native ScheduleTrigger poller can CAS each UTC minute. CL-8162: the hub-side cron tick is deleted, so schedule_claimed_minute is dropped again (migration 0094_drop_workflow_definition_schedule_claimed_minute.sql, journal idx 94) and schema/workflow-definitions.ts no longer declares it. Workbench applies these files by sorted filename through scripts/db-setup.ts (replay-from-scratch with a filename ledger); the drizzle journal exists for drizzle-kit only. CL-7495 re-pin to c1b5bb73: upstream's 0089_tense_selene.sql (principal_key table) is renumbered to 0093_principal_keys.sql behind our four delta migrations, with journal idx 93 and a 0093_snapshot.json built from upstream's 0089 snapshot reconciled with the wire_projection/origin/schedule_claimed_minute columns; upstream 447ebb08's snapshot-chain repair (relinked 0087 prevId, workflow_run.credential_refs restored) is applied to 0087/0088. Our fork migrations 0089-0092 ship no drizzle snapshots (hand-written SQL, journal only), so there was no fork snapshot chain to repair. CL-8425: the CL-8206 re-pin to 79adc433 moved src/schema (tenant domain lower-unique index, workflow_run_dispatch.sender_address, sidecar_allocation destroy_failed status) without its SQL; upstream's 0090_tenant_domain_lower_unique, 0091_workflow_run_dispatch_sender_address and 0092_sidecar_destroy_failed are vendored verbatim as 0095/0096/0097 (journal idx 95-97, no snapshots). At the prior re-vendor, upstream's 0093_sidecar_initialization.sql was vendored verbatim as 0098 (journal idx 98, no snapshot). Re-vendor to 9febf69: upstream's 0094_dark_old_lace.sql (tenant slug DNS-label check) is vendored verbatim as 0099 (journal idx 99, no snapshot). CL-7505: model-source-resolution.ts gains the serving-time refresh seam (ServingRefresh/ServingRefreshResult, credential_needs_reauth reason; index.ts re-exports the types) so an expiring oauth_token secret can be refreshed in place before serving. CL-7510: schema/catalog.ts admits openai-responses (the workbench's loopback-OAuth providers ride the Responses protocol), in sync with @intx/types modelProviderPlugins.
Loading
Loading