mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
Replace the single 3300-line generate-models.ts with declarative provider definitions and ordered rule packs under scripts/model-generation/. Each provider is a defineProvider() call: an upstream source (usually the generic modelsDev() mapper), static models upstream lacks, and rules scoped to that provider. Cross-provider facts live in rule packs applied in a fixed order. Every rule() carries a why, matches models with plain data, and patches them with typed set/replace/apply semantics. Generated model data is unchanged: 1443 models across 41 providers compare equal against a snapshot of the same upstream responses, apart from a now stable key order. Committed models.generated.ts and provider shards are byte-identical. Also: - Bring packages/ai/scripts under tsgo and biome; the old generator had 20+ type errors that nothing checked. - Add --upstream-snapshot <dir> to record and replay upstream catalogs and --explain <provider>:<model> to list the rules applied to a model. - Report rules that matched no model so stale corrections get removed. - Export parseRadiusGatewayConfig so the generator can replay Radius too. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ExCU9zaZnN8vB5fKpTAjP
59 lines
3.2 KiB
JSON
59 lines
3.2 KiB
JSON
{
|
|
"extends": "./tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"noEmit": true,
|
|
"module": "NodeNext",
|
|
"moduleResolution": "NodeNext",
|
|
"paths": {
|
|
"*": ["./*"],
|
|
"@earendil-works/chord": ["./packages/chord/src/index.ts"],
|
|
"@earendil-works/chord/bundler": ["./packages/chord/src/bundler.ts"],
|
|
"@earendil-works/chord/context": ["./packages/chord/src/context/index.ts"],
|
|
"@earendil-works/chord/delta": ["./packages/chord/src/delta/index.ts"],
|
|
"@earendil-works/chord/node": ["./packages/chord/src/node.ts"],
|
|
"@earendil-works/pi-telemetry": ["./packages/telemetry/src/index.ts"],
|
|
"@earendil-works/pi-telemetry/testing": ["./packages/telemetry/src/testing/index.ts"],
|
|
"@earendil-works/pi-ai": ["./packages/ai/src/index.ts"],
|
|
"@earendil-works/pi-ai/oauth": ["./packages/ai/src/oauth.ts"],
|
|
"@earendil-works/pi-ai/*": ["./packages/ai/src/*.ts", "./packages/ai/src/providers/*.ts"],
|
|
"@earendil-works/pi-ai/dist/*": ["./packages/ai/src/*"],
|
|
"@earendil-works/pi-durable": ["./packages/durable/src/index.ts"],
|
|
"@earendil-works/pi-durable/*": ["./packages/durable/src/*"],
|
|
"@earendil-works/pi-agent-core": ["./packages/agent/src/index.ts"],
|
|
"@earendil-works/pi-agent-core/harness/session/testing": [
|
|
"./packages/agent/src/harness/session/testing/index.ts"
|
|
],
|
|
"@earendil-works/pi-agent-core/experimental/pico3": [
|
|
"./packages/agent/src/harness/pico3/index.ts"
|
|
],
|
|
"@earendil-works/pi-agent-core/node": ["./packages/agent/src/node.ts"],
|
|
"@earendil-works/pi-agent-core/*": [
|
|
"./packages/agent/src/*.ts",
|
|
"./packages/agent/src/*/index.ts",
|
|
"./packages/agent/src/*"
|
|
],
|
|
"@earendil-works/pi-session-backend-sqlite-node": ["./packages/session-backends/sqlite-node/src/index.ts"],
|
|
"@earendil-works/pi-coding-agent": ["./packages/coding-agent/src/index.ts"],
|
|
"@earendil-works/pi-coding-agent/experimental/plugin": [
|
|
"./packages/coding-agent/src/experimental/plugin.ts"
|
|
],
|
|
"@earendil-works/pi-coding-agent/hooks": ["./packages/coding-agent/src/core/hooks/index.ts"],
|
|
"@earendil-works/pi-coding-agent/*": ["./packages/coding-agent/src/*"],
|
|
"@earendil-works/pi-protocol": ["./packages/protocol/src/index.ts"],
|
|
"@earendil-works/pi-protocol/*": ["./packages/protocol/src/*"],
|
|
"@earendil-works/pi-client": ["./packages/client/src/index.ts"],
|
|
"@earendil-works/pi-client/unix": ["./packages/client/src/unix.ts"],
|
|
"@earendil-works/pi-client/*": ["./packages/client/src/*"],
|
|
"@earendil-works/pi-server": ["./packages/server/src/index.ts"],
|
|
"@earendil-works/pi-server/unix": ["./packages/server/src/transports/unix/index.ts"],
|
|
"@earendil-works/pi-server/*": ["./packages/server/src/*"],
|
|
"typebox": ["./node_modules/typebox"],
|
|
"@earendil-works/pi-tui": ["./packages/tui/src/index.ts"],
|
|
"@earendil-works/pi-tui/*": ["./packages/tui/src/*"],
|
|
"@earendil-works/pi-agent-old": ["./packages/agent-old/src/index.ts"],
|
|
"@earendil-works/pi-agent-old/*": ["./packages/agent-old/src/*"]
|
|
}
|
|
},
|
|
"include": ["packages/*/src/**/*", "packages/*/test/**/*", "packages/ai/scripts/**/*", "packages/session-backends/*/src/**/*", "packages/session-backends/*/test/**/*", "packages/coding-agent/examples/**/*"],
|
|
"exclude": ["**/dist/**", "packages/coding-agent/examples/extensions/gondolin/**"]
|
|
}
|