mirror of
https://github.com/simstudioai/sim.git
synced 2026-08-29 02:27:35 +08:00
1465e94574
* feat(tinyfish): add TinyFish web agent, search, and fetch integration Adds the TinyFish integration: eight tools across the Agent, Search, and Fetch APIs, a block wiring them, the brand icon, and hosted-key support. Agent runs are metered on the step count TinyFish reports. Search and Fetch are free, so their hosted key costs nothing to run. The async run and its run read/cancel/list companions carry no hosting config — their charge accrues after the request returns and cannot be metered — so they always require the caller's own key. * fix(tinyfish): address review findings - Add tinyfish to PROVIDER_SECTIONS. The sectioned BYOK renderer drops any provider missing from a section, so the key field never rendered. Export PROVIDERS/PROVIDER_SECTIONS and assert they agree, so the next provider to miss a section fails CI instead of vanishing. - Replace the `any` payload params with raw snake_case wire types. This caught two real gaps: `status` could reach the output undefined, and `error` could be null where ToolResponse.error is `string | undefined`. - Reject an already-parsed array output schema, which a `json` block input can produce, and name malformed schema JSON instead of leaking a SyntaxError. - Count Fetch rate-limit usage from the submitted URLs rather than the returned arrays, so a URL in neither array cannot undercount. - Make "List runs" a literal canvas clause; a blank goal filter lists everything. - Regenerate the docs manifest for the new integration page. * chore(byok): audit that every hosted provider is fully wired Adds check:byok-providers. A hosted tool names its provider once in hosting.byokProviderId, but the id must also reach the zod enum, the settings PROVIDERS row, and a PROVIDER_SECTIONS section. Only the union is compiler- enforced; the rest fail silently, which is how TinyFish shipped with no settings row in the first place. Also flags drift between the two BYOKProviderId declarations. Correct the Search and Fetch rate-limit rationale: TinyFish documents both ceilings per API key, not per account, so the numbered key pool does raise the total. Records why a free product is still worth hosting — the endpoints require a key, so hosting is what removes the signup.
157 lines
8.9 KiB
JSON
157 lines
8.9 KiB
JSON
{
|
|
"name": "simstudio",
|
|
"packageManager": "bun@1.3.14",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"license": "Apache-2.0",
|
|
"workspaces": [
|
|
"apps/*",
|
|
"packages/*"
|
|
],
|
|
"scripts": {
|
|
"build": "turbo run build",
|
|
"dev": "turbo run dev",
|
|
"dev:sockets": "cd apps/realtime && bun run dev",
|
|
"dev:full": "bunx concurrently -n \"App,Realtime\" -c \"cyan,magenta\" \"cd apps/sim && bun run dev\" \"cd apps/realtime && bun run dev\"",
|
|
"dev:full:capped": "bunx concurrently -n \"App,Realtime\" -c \"cyan,magenta\" \"cd apps/sim && bun run dev:capped\" \"cd apps/realtime && bun run dev\"",
|
|
"test": "bun run test:setup && bun run test:npm-package-versions && bun run test:icon-path-precision && bun run test:tool-registry-boundary && bun run test:tool-request-boundary && bun run test:migrations-safety && bun run test:generators && turbo run test",
|
|
"test:setup": "bun run --cwd packages/sim-setup test",
|
|
"test:npm-package-versions": "bunx vitest run scripts/bump-npm-package-versions.test.ts",
|
|
"test:icon-path-precision": "bunx vitest run scripts/check-icon-path-precision.test.ts",
|
|
"test:tool-registry-boundary": "bunx vitest run scripts/check-tool-registry-boundary.test.ts",
|
|
"test:tool-request-boundary": "bunx vitest run scripts/check-tool-request-boundary.test.ts",
|
|
"test:migrations-safety": "bunx vitest run scripts/check-migrations-safety.test.ts",
|
|
"test:generators": "bunx vitest run scripts/generate-v2-cli-api.test.ts scripts/generate-cli-docs.test.ts scripts/generate-docs.test.ts",
|
|
"format": "turbo run format",
|
|
"format:check": "turbo run format:check",
|
|
"lint": "turbo run lint",
|
|
"lint:check": "turbo run lint:check",
|
|
"lint:helm": "helm lint ./helm/sim --strict --values ./helm/sim/test/values-lint.yaml",
|
|
"lint:all": "turbo run lint && bun run lint:helm",
|
|
"check": "turbo run format:check",
|
|
"check:boundaries": "bun run scripts/check-monorepo-boundaries.ts",
|
|
"check:api-validation": "bun run scripts/check-api-validation-contracts.ts --check",
|
|
"check:fork-dependent-coverage": "bun run scripts/check-fork-dependent-coverage.ts",
|
|
"generate:openapi": "bun run scripts/generate-openapi.ts",
|
|
"check:openapi": "bun run scripts/check-openapi.ts",
|
|
"generate:cli-api": "bun run scripts/generate-v2-cli-api.ts",
|
|
"check:cli-api": "bun run scripts/generate-v2-cli-api.ts --check",
|
|
"generate:cli-docs": "bun run scripts/generate-cli-docs.ts",
|
|
"check:cli-docs": "bun run scripts/generate-cli-docs.ts --check",
|
|
"check:canonical-index": "bun run scripts/check-canonical-index-surface.ts",
|
|
"check:cron-parity": "bun run scripts/check-cron-parity.ts",
|
|
"check:api-validation:strict": "bun run scripts/check-api-validation-contracts.ts --check --enforce-boundary-baseline",
|
|
"check:realtime-prune": "bun run scripts/check-realtime-prune-graph.ts",
|
|
"check:tool-request-boundary": "bun run scripts/check-tool-request-boundary.ts",
|
|
"check:tool-registry-boundary": "bun run scripts/check-tool-registry-boundary.ts --check",
|
|
"check:trigger-block-cycle": "bun run scripts/check-trigger-block-cycle.ts",
|
|
"check:import-specifiers": "bun run scripts/check-import-specifiers.ts",
|
|
"check:sql-date-binding": "bun run scripts/check-sql-date-binding.ts",
|
|
"check:pending-drop-tables": "bun run scripts/check-pending-drop-tables.ts",
|
|
"check:zustand-v5": "bun run scripts/check-zustand-v5-selectors.ts",
|
|
"check:react-query": "bun run scripts/check-react-query-patterns.ts --check",
|
|
"check:client-boundary": "bun run scripts/check-client-boundary-imports.ts --check",
|
|
"check:utils": "bun run scripts/check-utils-enforcement.ts",
|
|
"check:canvas-sentences": "bun run apps/sim/scripts/check-canvas-sentences.ts --require-coverage",
|
|
"check:bare-icons": "bun run scripts/check-bare-icons.ts",
|
|
"check:byok-providers": "bun run scripts/check-byok-providers.ts",
|
|
"check:icon-paths": "bun run scripts/check-icon-paths.ts",
|
|
"check:icon-path-precision": "bun run scripts/check-icon-path-precision.ts",
|
|
"check:migrations": "bun run scripts/check-migrations-safety.ts",
|
|
"check:native-typecheck": "bun run scripts/check-native-typecheck.ts",
|
|
"check:source-text": "bun run scripts/check-source-text.ts",
|
|
"check:spec-example-ids": "bun run scripts/check-spec-example-ids.ts",
|
|
"check:script-tests": "bun run scripts/check-script-test-coverage.ts",
|
|
"check:audits": "bun run scripts/run-audits.ts",
|
|
"check:skills": "bun run scripts/sync-skills.ts --check",
|
|
"check:desktop-bridge": "bun run scripts/check-desktop-bridge-contract.ts --check",
|
|
"check:desktop-ipc": "bun run scripts/check-desktop-ipc-contract.ts",
|
|
"check:route-verbs": "bun run scripts/check-route-verbs.ts",
|
|
"desktop-bridge-contract:update": "bun run scripts/check-desktop-bridge-contract.ts --update",
|
|
"mship-contracts:generate": "bun run scripts/sync-mothership-stream-contract.ts",
|
|
"mship-contracts:check": "bun run scripts/sync-mothership-stream-contract.ts --check",
|
|
"billing-protocol-contract:generate": "bun run scripts/sync-billing-protocol-contract.ts",
|
|
"billing-protocol-contract:check": "bun run scripts/sync-billing-protocol-contract.ts --check",
|
|
"tool-metadata:generate": "bun run scripts/sync-tool-metadata.ts",
|
|
"tool-metadata:check": "bun run scripts/sync-tool-metadata.ts --check",
|
|
"deployment-config:generate": "bun run scripts/generate-deployment-config.ts",
|
|
"deployment-config:check": "bun run scripts/generate-deployment-config.ts --check",
|
|
"integration-catalog:check": "bun run scripts/check-integration-catalog.ts",
|
|
"docs:check": "bun run scripts/generate-docs.ts --check",
|
|
"mship-tools:generate": "bun run scripts/sync-tool-catalog.ts",
|
|
"mship-tools:check": "bun run scripts/sync-tool-catalog.ts --check",
|
|
"trace-spans-contract:generate": "bun run scripts/sync-trace-spans-contract.ts",
|
|
"trace-spans-contract:check": "bun run scripts/sync-trace-spans-contract.ts --check",
|
|
"trace-attributes-contract:generate": "bun run scripts/sync-trace-attributes-contract.ts",
|
|
"trace-attributes-contract:check": "bun run scripts/sync-trace-attributes-contract.ts --check",
|
|
"trace-attribute-values-contract:generate": "bun run scripts/sync-trace-attribute-values-contract.ts",
|
|
"trace-attribute-values-contract:check": "bun run scripts/sync-trace-attribute-values-contract.ts --check",
|
|
"trace-events-contract:generate": "bun run scripts/sync-trace-events-contract.ts",
|
|
"trace-events-contract:check": "bun run scripts/sync-trace-events-contract.ts --check",
|
|
"metrics-contract:generate": "bun run scripts/sync-metrics-contract.ts",
|
|
"metrics-contract:check": "bun run scripts/sync-metrics-contract.ts --check",
|
|
"vfs-snapshot-contract:generate": "bun run scripts/sync-vfs-snapshot-contract.ts",
|
|
"vfs-snapshot-contract:check": "bun run scripts/sync-vfs-snapshot-contract.ts --check",
|
|
"docs-manifest:generate": "bun run scripts/sync-docs-manifest.ts",
|
|
"docs-manifest:check": "bun run scripts/sync-docs-manifest.ts --check",
|
|
"mship:generate": "bun run scripts/generate-mship-contracts.ts",
|
|
"mship:check": "bun run scripts/generate-mship-contracts.ts --check",
|
|
"library:covers": "bun run scripts/generate-library-covers.tsx",
|
|
"library:covers:check": "bun run scripts/generate-library-covers.tsx --check",
|
|
"skills:sync": "bun run scripts/sync-skills.ts",
|
|
"bump:npm-packages": "bun run scripts/bump-npm-package-versions.ts",
|
|
"sim": "bun run packages/sim-cli/src/index.ts",
|
|
"sim-setup": "bun run packages/sim-setup/src/index.ts",
|
|
"agent-stream-docs:generate": "bun run scripts/sync-agent-stream-docs.ts",
|
|
"agent-stream-docs:check": "bun run scripts/sync-agent-stream-docs.ts --check",
|
|
"prepare": "bun husky",
|
|
"type-check": "turbo run type-check",
|
|
"release": "bun run scripts/create-single-release.ts"
|
|
},
|
|
"overrides": {
|
|
"react": "19.2.4",
|
|
"react-dom": "19.2.4",
|
|
"next": "16.3.1",
|
|
"@next/env": "16.3.1",
|
|
"drizzle-orm": "^0.45.2",
|
|
"postgres": "^3.4.5",
|
|
"minimatch": "^10.2.5",
|
|
"mermaid": "11.16.1",
|
|
"zod": "4.3.6",
|
|
"e2b": "^2.36.1"
|
|
},
|
|
"optionalDependencies": {
|
|
"@next/swc-darwin-arm64": "16.3.1",
|
|
"@next/swc-darwin-x64": "16.3.1",
|
|
"@next/swc-linux-arm64-gnu": "16.3.1",
|
|
"@next/swc-linux-x64-gnu": "16.3.1"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/parser": "7.29.2",
|
|
"@biomejs/biome": "2.0.0-beta.5",
|
|
"@clack/prompts": "1.7.0",
|
|
"@octokit/rest": "^21.0.0",
|
|
"@types/opentype.js": "1.3.10",
|
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
"@vercel/og": "0.6.8",
|
|
"chalk": "5.6.2",
|
|
"glob": "13.0.0",
|
|
"gray-matter": "4.0.3",
|
|
"husky": "9.1.7",
|
|
"json-schema-to-typescript": "15.0.4",
|
|
"lint-staged": "16.0.0",
|
|
"opentype.js": "1.3.4",
|
|
"sharp": "0.35.3",
|
|
"turbo": "2.9.14"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,jsx,ts,tsx,json,css,scss}": [
|
|
"biome check --write --no-errors-on-unmatched --files-ignore-unknown=true"
|
|
]
|
|
},
|
|
"trustedDependencies": [
|
|
"isolated-vm",
|
|
"sharp"
|
|
]
|
|
}
|