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
1 change: 0 additions & 1 deletion apps/desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
"scripts": {
"ensure:electron": "node scripts/ensure-electron-runtime.mjs",
"start": "node scripts/start-electron.mjs",
"typecheck": "tsc-rs --noEmit",
"test": "vp test run --passWithNoTests",
"smoke-test": "node scripts/smoke-test.mjs"
},
Expand Down
5 changes: 5 additions & 0 deletions apps/desktop/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ export default defineConfig({
dependsOn: ["t3#build"],
cache: false,
},
// tsc-rs rewrites the tsbuildinfo it reads, which keeps a task out of the cache.
typecheck: {
command: "tsc-rs --noEmit",
cache: { input: [{ auto: true }, "!*.tsbuildinfo"] },
},
},
},
pack: [
Expand Down
3 changes: 1 addition & 2 deletions apps/marketing/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
"stage:install-scripts": "node scripts/stage-install-scripts.mjs",
"dev": "node scripts/stage-install-scripts.mjs && astro dev",
"build": "node scripts/stage-install-scripts.mjs && astro build",
"preview": "astro preview",
"typecheck": "astro check"
"preview": "astro preview"
},
"dependencies": {
"@t3tools/shared": "workspace:*",
Expand Down
15 changes: 15 additions & 0 deletions apps/marketing/vite.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { defineConfig } from "vite-plus";

// Astro reads astro.config.mjs. This file only configures `vp run` tasks.
export default defineConfig({
run: {
tasks: {
// `astro check` regenerates .astro/*.d.ts and then reads them, which
// keeps a task out of the cache. Its real inputs are tracked as usual.
typecheck: {
command: "astro check",
cache: { input: [{ auto: true }, "!.astro/**"] },
},
},
},
});
3 changes: 1 addition & 2 deletions apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
"dev": "vp dev",
"build": "vp build",
"preview": "vp preview",
"typecheck": "tsc-rs --noEmit",
"test": "vp test run --passWithNoTests --project unit --project browser"
},
"dependencies": {
Expand Down Expand Up @@ -92,7 +91,7 @@
"@types/use-sync-external-store": "^0.0.6",
"@vercel/config": "^0.3.0",
"@vitejs/plugin-react": "^6.1.2",
"@vitest/browser-playwright": "5.0.1",
"@vitest/browser-playwright": "5.0.5",
"compression": "^1.8.2",
"oxc-transform-react": "~0.152.0",
"playwright": "1.60.0",
Expand Down
9 changes: 9 additions & 0 deletions apps/web/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,15 @@ const allowedHosts = [".ts.net", ...configuredAllowedHosts];

export default defineConfig(() => {
return {
run: {
tasks: {
// tsc-rs rewrites the tsbuildinfo it reads, which keeps a task out of the cache.
typecheck: {
command: "tsc-rs --noEmit",
cache: { input: [{ auto: true }, "!*.tsbuildinfo"] },
},
},
},
assetsInclude: ["**/*.wasm"],
plugins: [
devCompressionPlugin(),
Expand Down
22 changes: 19 additions & 3 deletions docs/orchestration-v2/core-graph-and-data-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,13 @@ type RunAttempt = {
providerTurnId: ProviderTurnId | null;
reason: "initial" | "steering_restart" | "retry" | "provider_recovery";
status:
"pending" | "running" | "completed" | "interrupted" | "failed" | "cancelled" | "superseded";
| "pending"
| "running"
| "completed"
| "interrupted"
| "failed"
| "cancelled"
| "superseded";
startedAt: string | null;
completedAt: string | null;
};
Expand Down Expand Up @@ -374,7 +380,12 @@ type ContextTransfer = {
sourceProvider: ProviderKind | null;
targetProvider: ProviderKind | null;
status:
"pending" | "resolved_native" | "resolved_portable" | "failed" | "consumed" | "superseded";
| "pending"
| "resolved_native"
| "resolved_portable"
| "failed"
| "consumed"
| "superseded";
resolution: ContextTransferResolution | null;
createdBy: "user" | "agent" | "system";
createdAt: string;
Expand Down Expand Up @@ -468,7 +479,12 @@ type RuntimeRequest = {
providerTurnId: ProviderTurnId | null;
nativeRequestRef: string | null;
kind:
"command" | "file-read" | "file-change" | "dynamic_tool_call" | "user_input" | "auth_refresh";
| "command"
| "file-read"
| "file-change"
| "dynamic_tool_call"
| "user_input"
| "auth_refresh";
status: "pending" | "resolved" | "expired" | "cancelled";
responseCapability:
| { type: "live"; providerSessionId: ProviderSessionId }
Expand Down
13 changes: 11 additions & 2 deletions docs/orchestration-v2/thread-lineage-and-context-transfer.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,11 @@ Thread relationship describes why a target thread or run exists relative to anot

```ts
type ThreadRelationshipKind =
"fork" | "provider_handoff" | "merge_back" | "subagent_spawn" | "subagent_result";
| "fork"
| "provider_handoff"
| "merge_back"
| "subagent_spawn"
| "subagent_result";
```

Relationships are product-level and provider-neutral. A fork is not the same thing as a provider-native fork. A provider-native fork is one possible resolution strategy for a fork relationship.
Expand Down Expand Up @@ -116,7 +120,12 @@ type ContextTransfer = {
sourceProvider?: ProviderKind;
targetProvider?: ProviderKind;
status:
"pending" | "resolved_native" | "resolved_portable" | "failed" | "consumed" | "superseded";
| "pending"
| "resolved_native"
| "resolved_portable"
| "failed"
| "consumed"
| "superseded";
resolution?: ContextTransferResolution;
createdBy: "user" | "agent" | "system";
createdAt: string;
Expand Down
4 changes: 4 additions & 0 deletions knip.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@
// reports an entire component module when nothing imports it.
"ignoreIssues": { "src/components/ui/*.tsx": ["exports", "nsExports", "duplicates"] },
},
"apps/marketing": {
// `astro check` runs from the typecheck task in vite.config.ts, which knip does not read.
"ignoreDependencies": ["@astrojs/check"],
},
"apps/mobile": {
// Expo loads plugins and the fingerprint config by string; Metro embeds the browser entry in the native WebView.
"entry": [
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
"build:marketing": "vp run --filter @t3tools/marketing build",
"build:desktop": "vp run --filter @t3tools/desktop --filter t3 build",
"build:resource-monitor": "cargo build --locked --release --manifest-path native/resource-monitor/Cargo.toml",
"typecheck": "vp run -r --concurrency-limit 2 typecheck",
"tc": "vp run -r --concurrency-limit 2 typecheck",
"typecheck": "vp run -r --cache --concurrency-limit 4 typecheck",
"tc": "vp run -r --cache --concurrency-limit 4 typecheck",
"lint": "vp lint --report-unused-disable-directives",
"knip": "knip --preprocessor ./scripts/knip-schemas.ts",
"knip:check": "knip --include files,dependencies --no-config-hints && knip --workspace apps/server --workspace apps/desktop --workspace apps/web --workspace packages/client-runtime --workspace packages/contracts --workspace packages/effect-acp --workspace packages/effect-codex-app-server --workspace packages/shared --workspace packages/ssh --workspace packages/tailscale --workspace packages/provider-core --workspace packages/provider-acp --workspace packages/provider-acp-registry --workspace packages/provider-testing --workspace packages/provider-pi --workspace packages/provider-muse --workspace packages/provider-opencode --workspace packages/provider-cursor --workspace packages/provider-grok --workspace packages/source-control-core --workspace packages/source-control-azure-devops --workspace packages/source-control-bitbucket --workspace packages/source-control-forgejo --workspace packages/source-control-gitcafe --workspace packages/source-control-github --workspace packages/source-control-gitlab --workspace packages/source-control-testing --exports --preprocessor ./scripts/knip-schemas.ts --no-config-hints",
Expand Down
Loading
Loading