mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-24 08:01:38 +00:00
7a139ab23e
* feat(ai-chat): add image attachments and agent raw-app screenshots Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(ai-chat): generalise take_screenshot fidelity caveat Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): keep compaction boundary on a displayed user message Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(raw-apps): count line boxes by vertical overlap, not rect count Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): enforce vision gating and bound image attachments Refuse images on known text-only models instead of warning and sending them anyway; cap input bytes before decode; keep clipboard text when it accompanies a bitmap; don't queue a message whose images can't ride the plain-text queue. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * perf(ai-chat): trim take_screenshot schema and shrink the card's copy Move the fidelity caveat from the tool def onto the tool result: the def is re-sent every global iteration (~258 tok), while the caveat only matters once a capture exists. Keep a downscaled copy in displayMessages when it is actually smaller — those are never compacted and are re-cloned on every saveChat. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): carry attached images through the message queue Enter during a streaming turn queued the text and silently dropped the images, so the auto-send was not the message the user submitted. The queue now holds both, moved together via takeQueue/clearQueue/restoreQueue so none of the three flush sites, the dequeue-to-composer path, or the two conversation-switch drops can leak one without the other. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): gate screenshots on vision, narrow when the tool fires take_screenshot buffered an image unconditionally, so a text-only model got an image_url and rejected the turn; the attach-time check never covered it, nor a model switched after attaching. Gate before capture and again at send. Only reach for the tool when the user raises how the app looks, rather than after every UI edit. A collapsed preview keeps the iframe mounted at zero width, passing the ready checks and then failing inside the rasteriser as '[object Event]'. Name it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): hold sending while attachments decode addImages read the free-slot count before its await and appended after it, so a send during the ~50-800ms decode cleared images while the closure still wrote to them, landing the picture on the following message; two drops also claimed the same slots and could pass the cap. Reserve slots up front, block sending until they resolve, and show a placeholder so the held send is explained. Keep only a bounded copy in the transcript: displayMessages are never compacted and are re-cloned on every save. Measured 6.1x smaller per attachment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): route screenshots to the visible tab, resend full-res on retry Every mounted raw-app editor claimed the runtime's single screenshot slot, so take_screenshot could capture a background tab's app; ownership now follows the visible tab and only the owner releases it. restartGeneration resent displayMessages' images, which became a 384px thumbnail when the transcript copy was bounded — retries downgraded the model's own input. Recover the sent parts from the API message instead. Move modelSupportsVision to modelConfig: it was untestable behind lib.ts's monaco import chain, and the denylist missed bundled text-only defaults (Groq/Together Llama 3.3, Foundry Phi-4 and Mistral-Large). Llama 3.2 and Phi-4 split by variant, so both are matched narrowly. Pinned against the shipped defaultModels. Decode attachments one at a time and derive the preview from the bounded copy: a 12MP bitmap is ~48MB and the batch was held live at once, decoded twice each. The attach tooltip claimed nothing is uploaded, which is untrue for images. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): keep images out of text-only turns and bound the queue The vision gate only dropped the current turn's images, so history's image parts still went out after a switch to a text-only model and failed the request; strip the outbound copy instead, leaving history intact for a switch back. queueMessage had no cap, and each queued send clears the composer for another eight, so repeated sends stacked an unbounded batch into one message. Editing a message resent displayMessages' bounded copy, downgrading the model's own input; retries recovered the full-size one but then re-persisted it at full resolution. storedImages pairs the API message with its transcript entry so both paths resend the original and re-persist the bounded copy. Reserve image slots before awaiting text attachments: the gap left sending enabled with an image pending, measured ~90ms for a 40-file drop, now ~8ms regardless of batch size. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): treat deepseek-v4 as text-only deepseek-v4-pro ships as a bundled default and the gate let images through to it, so an attachment would fail the turn. DeepSeek's vision line is deepseek-vl. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): drop a rejected image instead of wedging the conversation A provider that refuses an image leaves it in history, so every later turn resends it and fails identically: the chat is stuck until the user edits the message or starts over, and Retry re-sends the same image. The vision gate only knows the models we ship, so this is the net for the rest. Strip the parts on an image-related rejection and say so; unrelated failures keep the image. Verified at the wire that no provider rejects a base64 data URL: anthropic (source.base64), openai/gpt-4o (input_image), googleai and aws_bedrock/claude (image_url passthrough) all 200 and read the image. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): match text-only models exactly, from provider API docs The gate guessed by substring over model names, which answers the wrong question. What matters is whether a provider's API accepts image parts, not whether the model can see: DeepSeek V4 ships vision in its chat product that its API has no content type for, and o3-mini gained vision in ChatGPT the API never exposed. Neither is inferable from a name. Substrings also block working models. 'mistral-large' matches Mistral Large 3, which takes images; 'phi-4' matches Phi-4-multimodal, which does too. A wrong entry blocks with no override, while a missing one costs a turn and recovers via the rejection path, so the list is now exact ids only, each backed by a provider doc. Verdicts verified against provider API docs rather than recall. Live-checked where a doc was contradicted: Bedrock's compatibility matrix claims no Anthropic model is served over chat completions, but it serves images fine. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): stop retry resurrecting a rejected image The rejection fallback strips the image from history but leaves the bubble's thumbnail so the user can still see what they sent. storedImages fell back to that thumbnail when the API message had no parts, so Retry re-attached the very image the provider had just refused and failed identically — the conversation stayed wedged through the one control offered to escape it. Found by retrying in the UI; unit tests, wire tests and four review passes all missed it, since it only exists between two separate fixes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ai-chat): harden image rejection recovery and drop-path attachment * fix(ai-chat): fix image drop race, mid-turn vision gate, retry aliasing * fix(ai-chat): key vision denylist by provider, flatten alpha before jpeg * feat(ai-chat): offer take_screenshot on chromium only, ask for one elsewhere * feat(ai-chat): image-only sends and click-to-expand image previews * fix(ai-chat): capture screenshots at 2x and expand tool images full-res * feat(frontend): expandable image previews in composer and result views * fix(ai-chat): image-only send edge cases from review round * fix(ai-chat): keep image-only drafts on rollback, track failing model id * fix(ai-chat): gate rejection recovery on the failing iteration's model * refactor(ai-chat): record iteration model via onBeforeIteration, trim tests Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): restore composer draft when beforeSend preflight fails Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): bound cumulative outbound image bytes per request Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): make the image byte bound part-granular so over-cap turns keep a subset Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): evict newest-first within a message in the image byte bound Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): prune over-cap images from stored history, not just requests Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): bound history at every save boundary, keep thumbnail pairing across eviction Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): slot-align storedImages so the bubble expands the right image after eviction Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): match rejection keywords as whole words so provisioning errors keep images Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): match input_image rejections, restore images refused by non-GLOBAL modes Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): defer non-GLOBAL image refusal restore past the composer clear Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): persist full tool screenshots for post-reload expansion Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * refactor(ai-chat): persist chat images out-of-band via blob-store refs Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): scope image blobs per chat and stop cap-eviction rotation Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): keep blob-cap chronology across drop-oldest compaction Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * refactor(ai-chat): derive blob eviction from the saved record, not write times Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): serialize chat history DB writes per manager Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): pin queued history writes to the enqueue-time user database Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): delete stale image blobs only after the chat record commits Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): don't double-restore a queued image-only draft on vision refusal Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): label image-only chats and evicted image-only bubbles Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): keep the in-memory chat mirror hydrated for DB-less sessions Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): converge the chat mirror to refs after a successful DB commit Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): guard mirror convergence against rewinding newer saves Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): invalidate pending convergences on identity re-init, keep retry image names Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(ai-chat): bound the screenshot raster before rasterization Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * refactor(ai-chat): drop the no-IndexedDB in-memory image fallback Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
632 lines
24 KiB
JSON
632 lines
24 KiB
JSON
{
|
|
"name": "@windmill-labs/components",
|
|
"version": "1.761.0",
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"dev:ui-builder": "mv static/ui_builder static/ui_builder.dev-disabled 2>/dev/null || true ; trap 'mv static/ui_builder.dev-disabled static/ui_builder 2>/dev/null || true' EXIT ; vite dev",
|
|
"build": "vite build",
|
|
"build:utils": "vite build --config sharedUtils/vite.sharedUtils.config.js",
|
|
"preview": "vite preview",
|
|
"postinstall": "node -e \"if (require('fs').existsSync('./scripts/untar_ui_builder.js')) { require('child_process').execSync('node ./scripts/untar_ui_builder.js', {stdio: 'inherit'}) }\"",
|
|
"check:fast": "bun --bun svelte-fast-check --no-svelte-warnings --incremental",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --threshold warning",
|
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
"lint": "prettier --ignore-path .gitignore --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
|
|
"format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. .",
|
|
"package": "svelte-package -o package && node scripts/package-system-prompts.js && node scripts/fix-svelte-module-imports.js",
|
|
"generate-backend-client": "openapi-ts --input ../backend/windmill-api/openapi.yaml --output ./src/lib/gen --useOptions --enums javascript --format false",
|
|
"generate-backend-client-mac": "openapi-ts --input ../backend/windmill-api/openapi.yaml --output ./src/lib/gen --useOptions --enums javascript",
|
|
"pretest": "tsc --incremental -p tests/tsconfig.json",
|
|
"filter-classes": "node filterTailwindClasses.js",
|
|
"test:unit": "vitest",
|
|
"test:e2e": "playwright test"
|
|
},
|
|
"devDependencies": {
|
|
"@floating-ui/core": "^1.3.1",
|
|
"@hey-api/openapi-ts": "^0.43.0",
|
|
"@melt-ui/pp": "^0.3.2",
|
|
"@melt-ui/svelte": "^0.86.2",
|
|
"@playwright/test": "^1.57.0",
|
|
"@sveltejs/adapter-static": "^3.0.6",
|
|
"@sveltejs/kit": "^2.53.4",
|
|
"@sveltejs/package": "^2.5.7",
|
|
"@sveltejs/vite-plugin-svelte": "^7.0.0",
|
|
"@tailwindcss/forms": "^0.5.3",
|
|
"@tailwindcss/typography": "^0.5.8",
|
|
"@types/d3": "^7.4.0",
|
|
"@types/d3-zoom": "^3.0.3",
|
|
"@types/diff": "^7.0.1",
|
|
"@types/lodash": "^4.14.195",
|
|
"@types/vscode": "^1.83.5",
|
|
"@typescript-eslint/eslint-plugin": "^5.59.8",
|
|
"@typescript-eslint/parser": "^5.60.0",
|
|
"@zerodevx/svelte-toast": "^0.9.6",
|
|
"autoprefixer": "^10.4.13",
|
|
"cssnano": "^6.0.1",
|
|
"d3-dag": "^0.11.5",
|
|
"dts-bundle-generator": "^9.5.1",
|
|
"eslint": "^8.47.0",
|
|
"eslint-config-prettier": "^8.6.0",
|
|
"eslint-plugin-svelte": "^2.45.1",
|
|
"fake-indexeddb": "^6.2.5",
|
|
"json-refs": "^3.0.15",
|
|
"json-schema-to-zod": "^2.7.0",
|
|
"path-browserify": "^1.0.1",
|
|
"postcss": "^8.4.49",
|
|
"postcss-load-config": "^4.0.1",
|
|
"prettier": "^3.1.0",
|
|
"prettier-plugin-svelte": "^3.3.3",
|
|
"style-to-object": "^0.4.1",
|
|
"stylelint-config-recommended": "^13.0.0",
|
|
"svelte": "^5.53.5",
|
|
"svelte-awesome-color-picker": "^3.0.4",
|
|
"svelte-check": "^4.4.3",
|
|
"svelte-fast-check": "^0.4.5",
|
|
"svelte-floating-ui": "^1.5.8",
|
|
"svelte-highlight": "^7.6.0",
|
|
"svelte-popperjs": "^1.3.2",
|
|
"svelte-preprocess": "^6.0.0",
|
|
"svelte-range-slider-pips": "^2.3.1",
|
|
"svelte-splitpanes": "^8.0.9",
|
|
"tailwindcss": "^3.4.1",
|
|
"tar": "^7.5.4",
|
|
"tslib": "^2.6.1",
|
|
"typescript": "^5.5.0",
|
|
"vite": "^8.0.13",
|
|
"vite-plugin-mkcert": "^2.0.0",
|
|
"vitest": "^4.1.0",
|
|
"vitest-browser-svelte": "^2.0.1"
|
|
},
|
|
"overrides": {
|
|
"monaco-graphql": {
|
|
"monaco-editor": "$monaco-editor"
|
|
},
|
|
"tar": "$tar"
|
|
},
|
|
"type": "module",
|
|
"dependencies": {
|
|
"@anthropic-ai/sdk": "^0.60.0",
|
|
"@aws-crypto/sha256-js": "^4.0.0",
|
|
"@codingame/monaco-vscode-editor-api": "=25.0.0",
|
|
"@codingame/monaco-vscode-languages-service-override": "=25.0.0",
|
|
"@codingame/monaco-vscode-standalone-css-language-features": "=25.0.0",
|
|
"@codingame/monaco-vscode-standalone-html-language-features": "=25.0.0",
|
|
"@codingame/monaco-vscode-standalone-json-language-features": "=25.0.0",
|
|
"@codingame/monaco-vscode-standalone-languages": "=25.0.0",
|
|
"@codingame/monaco-vscode-standalone-typescript-language-features": "=25.0.0",
|
|
"@json2csv/plainjs": "^7.0.6",
|
|
"@leeoniya/ufuzzy": "^1.0.8",
|
|
"@popperjs/core": "^2.11.8",
|
|
"@redocly/json-to-json-schema": "^0.0.1",
|
|
"@scalar/openapi-parser": "^0.15.0",
|
|
"@tanstack/svelte-table": "npm:tanstack-table-8-svelte-5@^0.1",
|
|
"@tutorlatin/svelte-tiny-virtual-list": "^3.0.16",
|
|
"@windmill-labs/svelte-dnd-action": "^0.9.44",
|
|
"@xterm/addon-fit": "^0.10.0",
|
|
"@xyflow/svelte": "^1.0.0",
|
|
"ag-charts-community": "^9.0.1",
|
|
"ag-charts-enterprise": "^9.0.1",
|
|
"ag-grid-community": "^31.3.4",
|
|
"ag-grid-enterprise": "^31.3.4",
|
|
"ansi_up": "^6.0.6",
|
|
"chart.js": "^4.4.6",
|
|
"chartjs-adapter-date-fns": "^3.0.0",
|
|
"chartjs-plugin-zoom": "^2.0.0",
|
|
"clone": "^2.1.2",
|
|
"d3-zoom": "^3.0.0",
|
|
"date-fns": "^2.30.0",
|
|
"diff": "^7.0.0",
|
|
"dompurify": "^3.3.1",
|
|
"driver.js": "^1.3.0",
|
|
"esm-env": "^1.0.0",
|
|
"fast-equals": "^5.0.1",
|
|
"graphql": "^16.7.1",
|
|
"hash-sum": "^2.0.0",
|
|
"highlight.js": "^11.8.0",
|
|
"idb": "^8.0.2",
|
|
"jszip": "^3.10.1",
|
|
"lru-cache": "^11.1.0",
|
|
"lucide-svelte": "^0.540.0",
|
|
"mdast-util-find-and-replace": "^3.0.2",
|
|
"mermaid": "^11.15.0",
|
|
"minimatch": "^10.0.1",
|
|
"modern-screenshot": "^4.7.0",
|
|
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@=25.0.0",
|
|
"monaco-languageclient": "10.6.0",
|
|
"monaco-vim": "^0.4.1",
|
|
"ol": "^7.4.0",
|
|
"openai": "^6.9.1",
|
|
"openapi-types": "^12.1.3",
|
|
"p-limit": "^6.1.0",
|
|
"panzoom": "^9.4.3",
|
|
"pdfjs-dist": "4.8.69",
|
|
"quicktype-core": "^23.2.6",
|
|
"quill": "^1.3.7",
|
|
"rehype-github-alerts": "^3.0.0",
|
|
"rehype-raw": "^7.0.0",
|
|
"rehype-sanitize": "^6.0.0",
|
|
"rfc4648": "^1.5.3",
|
|
"runed": "^0.36.0",
|
|
"svelte-carousel": "^1.0.25",
|
|
"svelte-exmarkdown": "^5.0.0",
|
|
"svelte-infinite-loading": "^1.4.0",
|
|
"tailwind-merge": "^1.13.2",
|
|
"unist-util-visit": "^5.0.0",
|
|
"vscode": "npm:@codingame/monaco-vscode-extension-api@=25.0.0",
|
|
"vscode-languageclient": "~9.0.1",
|
|
"vscode-uri": "~3.1.0",
|
|
"vscode-ws-jsonrpc": "~3.5.0",
|
|
"windmill-parser-wasm-asset": "1.749.0",
|
|
"windmill-parser-wasm-csharp": "1.510.1",
|
|
"windmill-parser-wasm-go": "1.761.0",
|
|
"windmill-parser-wasm-java": "1.510.1",
|
|
"windmill-parser-wasm-nu": "1.510.1",
|
|
"windmill-parser-wasm-php": "1.647.1",
|
|
"windmill-parser-wasm-py": "1.693.1",
|
|
"windmill-parser-wasm-r": "1.668.1",
|
|
"windmill-parser-wasm-regex": "1.692.0",
|
|
"windmill-parser-wasm-ruby": "1.526.1",
|
|
"windmill-parser-wasm-rust": "1.647.1",
|
|
"windmill-parser-wasm-ts": "1.695.0",
|
|
"windmill-parser-wasm-wac": "1.668.6",
|
|
"windmill-parser-wasm-yaml": "1.593.0",
|
|
"windmill-sql-datatype-parser-wasm": "1.512.0",
|
|
"windmill-utils-internal": "1.8.2",
|
|
"xterm": "^5.3.0",
|
|
"xterm-readline": "^1.1.2",
|
|
"y-monaco": "^0.1.4",
|
|
"y-websocket": "^1.5.4",
|
|
"yaml": "^2.8.0",
|
|
"yjs": "^13.6.7",
|
|
"zod": "^4.1.10"
|
|
},
|
|
"peerDependencies": {
|
|
"svelte": "^5.0.0"
|
|
},
|
|
"exports": {
|
|
"./package.json": "./package.json",
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"svelte": "./dist/index.js"
|
|
},
|
|
"./scripts/untar_ui_builder.js": "./scripts/untar_ui_builder.js",
|
|
"./assets/app.css": "./package/assets/app.css",
|
|
"./components/custom_ui": {
|
|
"types": "./package/components/custom_ui.d.ts",
|
|
"default": "./package/components/custom_ui.js"
|
|
},
|
|
"./components/scriptBuilder": {
|
|
"types": "./package/components/scriptBuilder.d.ts",
|
|
"default": "./package/components/scriptBuilder.js"
|
|
},
|
|
"./components/JobLoader.svelte": {
|
|
"types": "./package/components/JobLoader.svelte.d.ts",
|
|
"svelte": "./package/components/JobLoader.svelte",
|
|
"default": "./package/components/JobLoader.svelte"
|
|
},
|
|
"./components/common/kbd/Kbd.svelte": {
|
|
"types": "./package/components/common/kbd/Kbd.svelte.d.ts",
|
|
"svelte": "./package/components/common/kbd/Kbd.svelte",
|
|
"default": "./package/components/common/kbd/Kbd.svelte"
|
|
},
|
|
"./components/icons/WindmillIcon.svelte": {
|
|
"types": "./package/components/icons/WindmillIcon.d.ts",
|
|
"svelte": "./package/components/icons/WindmillIcon.svelte",
|
|
"default": "./package/components/icons/WindmillIcon.svelte"
|
|
},
|
|
"./components/icons/WindmillIcon2.svelte": {
|
|
"types": "./package/components/icons/WindmillIcon2.d.ts",
|
|
"svelte": "./package/components/icons/WindmillIcon2.svelte",
|
|
"default": "./package/components/icons/WindmillIcon2.svelte"
|
|
},
|
|
"./components/icons/SchedulePollIcon.svelte": {
|
|
"types": "./package/components/icons/SchedulePollIcon.d.ts",
|
|
"svelte": "./package/components/icons/SchedulePollIcon.svelte",
|
|
"default": "./package/components/icons/SchedulePollIcon.svelte"
|
|
},
|
|
"./components/IconedResourceType.svelte": {
|
|
"types": "./package/components/IconedResourceType.svelte.d.ts",
|
|
"svelte": "./package/components/IconedResourceType.svelte",
|
|
"default": "./package/components/IconedResourceType.svelte"
|
|
},
|
|
"./components/common/drawer/Drawer.svelte": {
|
|
"types": "./package/components/common/drawer/Drawer.svelte.d.ts",
|
|
"svelte": "./package/components/common/drawer/Drawer.svelte",
|
|
"default": "./package/components/common/drawer/Drawer.svelte"
|
|
},
|
|
"./components/common/drawer/DrawerContent.svelte": {
|
|
"types": "./package/components/common/drawer/DrawerContent.svelte.d.ts",
|
|
"svelte": "./package/components/common/drawer/DrawerContent.svelte",
|
|
"default": "./package/components/common/drawer/DrawerContent.svelte"
|
|
},
|
|
"./components/common/button/Button.svelte": {
|
|
"types": "./package/components/common/button/Button.svelte.d.ts",
|
|
"svelte": "./package/components/common/button/Button.svelte",
|
|
"default": "./package/components/common/button/Button.svelte"
|
|
},
|
|
"./components/RadioButton.svelte": {
|
|
"types": "./package/components/RadioButton.svelte.d.ts",
|
|
"svelte": "./package/components/RadioButton.svelte",
|
|
"default": "./package/components/RadioButton.svelte"
|
|
},
|
|
"./components/Toggle.svelte": {
|
|
"types": "./package/components/Toggle.svelte.d.ts",
|
|
"svelte": "./package/components/Toggle.svelte",
|
|
"default": "./package/components/Toggle.svelte"
|
|
},
|
|
"./components/common/tabs/Tabs.svelte": {
|
|
"types": "./package/components/common/tabs/Tabs.svelte.d.ts",
|
|
"svelte": "./package/components/common/tabs/Tabs.svelte",
|
|
"default": "./package/components/common/tabs/Tabs.svelte"
|
|
},
|
|
"./components/common/tabs/Tab.svelte": {
|
|
"types": "./package/components/common/tabs/Tab.svelte.d.ts",
|
|
"svelte": "./package/components/common/tabs/Tab.svelte",
|
|
"default": "./package/components/common/tabs/Tab.svelte"
|
|
},
|
|
"./components/common/toggleButton-v2/ToggleButtonGroup.svelte": {
|
|
"types": "./package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts",
|
|
"svelte": "./package/components/common/toggleButton-v2/ToggleButtonGroup.svelte",
|
|
"default": "./package/components/common/toggleButton-v2/ToggleButtonGroup.svelte"
|
|
},
|
|
"./components/common/toggleButton-v2/ToggleButton.svelte": {
|
|
"types": "./package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts",
|
|
"svelte": "./package/components/common/toggleButton-v2/ToggleButton.svelte",
|
|
"default": "./package/components/common/toggleButton-v2/ToggleButton.svelte"
|
|
},
|
|
"./components/common/alert/Alert.svelte": {
|
|
"types": "./package/components/common/alert/Alert.svelte.d.ts",
|
|
"svelte": "./package/components/common/alert/Alert.svelte",
|
|
"default": "./package/components/common/alert/Alert.svelte"
|
|
},
|
|
"./components/apps/editor/AppPreview.svelte": {
|
|
"types": "./package/components/apps/editor/AppPreview.svelte.d.ts",
|
|
"svelte": "./package/components/apps/editor/AppPreview.svelte",
|
|
"default": "./package/components/apps/editor/AppPreview.svelte"
|
|
},
|
|
"./components/FlowViewer.svelte": {
|
|
"types": "./package/components/FlowViewer.svelte.d.ts",
|
|
"svelte": "./package/components/FlowViewer.svelte",
|
|
"default": "./package/components/FlowViewer.svelte"
|
|
},
|
|
"./components/FlowStatusViewer.svelte": {
|
|
"types": "./package/components/FlowStatusViewer.svelte.d.ts",
|
|
"svelte": "./package/components/FlowStatusViewer.svelte",
|
|
"default": "./package/components/FlowStatusViewer.svelte"
|
|
},
|
|
"./components/FlowRecordingReplay.svelte": {
|
|
"types": "./package/components/recording/FlowRecordingReplay.svelte.d.ts",
|
|
"svelte": "./package/components/recording/FlowRecordingReplay.svelte",
|
|
"default": "./package/components/recording/FlowRecordingReplay.svelte"
|
|
},
|
|
"./components/ScriptRecordingReplay.svelte": {
|
|
"types": "./package/components/recording/ScriptRecordingReplay.svelte.d.ts",
|
|
"svelte": "./package/components/recording/ScriptRecordingReplay.svelte",
|
|
"default": "./package/components/recording/ScriptRecordingReplay.svelte"
|
|
},
|
|
"./components/recording/types": {
|
|
"types": "./package/components/recording/types.d.ts",
|
|
"default": "./package/components/recording/types.js"
|
|
},
|
|
"./components/FlowWrapper.svelte": {
|
|
"types": "./package/components/FlowWrapper.svelte.d.ts",
|
|
"svelte": "./package/components/FlowWrapper.svelte",
|
|
"default": "./package/components/FlowWrapper.svelte"
|
|
},
|
|
"./components/AppWrapper.svelte": {
|
|
"types": "./package/components/AppWrapper.svelte.d.ts",
|
|
"svelte": "./package/components/AppWrapper.svelte",
|
|
"default": "./package/components/AppWrapper.svelte"
|
|
},
|
|
"./components/ScriptWrapper.svelte": {
|
|
"types": "./package/components/ScriptWrapper.svelte.d.ts",
|
|
"svelte": "./package/components/ScriptWrapper.svelte",
|
|
"default": "./package/components/ScriptWrapper.svelte"
|
|
},
|
|
"./components/FlowEditor.svelte": {
|
|
"types": "./package/components/flows/FlowEditor.svelte.d.ts",
|
|
"svelte": "./package/components/flows/FlowEditor.svelte",
|
|
"default": "./package/components/flows/FlowEditor.svelte"
|
|
},
|
|
"./components/SchemaViewer.svelte": {
|
|
"types": "./package/components/SchemaViewer.svelte.d.ts",
|
|
"svelte": "./package/components/SchemaViewer.svelte",
|
|
"default": "./package/components/SchemaViewer.svelte"
|
|
},
|
|
"./components/SchemaForm.svelte": {
|
|
"types": "./package/components/SchemaForm.svelte.d.ts",
|
|
"svelte": "./package/components/SchemaForm.svelte",
|
|
"default": "./package/components/SchemaForm.svelte"
|
|
},
|
|
"./components/EditableSchemaSdkWrapper.svelte": {
|
|
"types": "./package/components/schema/EditableSchemaSdkWrapper.svelte.d.ts",
|
|
"svelte": "./package/components/schema/EditableSchemaSdkWrapper.svelte",
|
|
"default": "./package/components/schema/EditableSchemaSdkWrapper.svelte"
|
|
},
|
|
"./components/ResourceEditor.svelte": {
|
|
"types": "./package/components/ResourceEditor.svelte.d.ts",
|
|
"svelte": "./package/components/ResourceEditor.svelte",
|
|
"default": "./package/components/ResourceEditor.svelte"
|
|
},
|
|
"./components/SchemaEditor.svelte": {
|
|
"types": "./package/components/EditableSchemaForm.svelte.d.ts",
|
|
"svelte": "./package/components/EditableSchemaForm.svelte",
|
|
"default": "./package/components/EditableSchemaForm.svelte"
|
|
},
|
|
"./components/ScriptEditor.svelte": {
|
|
"types": "./package/components/ScriptEditor.svelte.d.ts",
|
|
"svelte": "./package/components/ScriptEditor.svelte",
|
|
"default": "./package/components/ScriptEditor.svelte"
|
|
},
|
|
"./components/scriptEditor/LogPanel.svelte": {
|
|
"types": "./package/components/scriptEditor/LogPanel.svelte.d.ts",
|
|
"svelte": "./package/components/scriptEditor/LogPanel.svelte",
|
|
"default": "./package/components/scriptEditor/LogPanel.svelte"
|
|
},
|
|
"./common": {
|
|
"types": "./package/common.d.ts",
|
|
"default": "./package/common.js"
|
|
},
|
|
"./utils": {
|
|
"types": "./package/utils.d.ts",
|
|
"default": "./package/utils.js"
|
|
},
|
|
"./components/icons/store": {
|
|
"types": "./package/components/icons/store.d.ts",
|
|
"default": "./package/components/icons/store.js"
|
|
},
|
|
"./script_helpers": {
|
|
"types": "./package/script_helpers.d.ts",
|
|
"default": "./package/script_helpers.js"
|
|
},
|
|
"./infer": {
|
|
"types": "./package/infer.d.ts",
|
|
"default": "./package/infer.js"
|
|
},
|
|
"./stores": {
|
|
"types": "./package/stores.d.ts",
|
|
"default": "./package/stores.js"
|
|
},
|
|
"./externalDomain": {
|
|
"types": "./package/externalDomain.d.ts",
|
|
"default": "./package/externalDomain.js"
|
|
},
|
|
"./gen": {
|
|
"types": "./package/gen/index.d.ts",
|
|
"default": "./package/gen/index.js"
|
|
},
|
|
"./components/flows/flowStore": {
|
|
"types": "./package/components/flows/flowStore.svelte.d.ts",
|
|
"default": "./package/components/flows/flowStore.svelte.js"
|
|
},
|
|
"./components/icons": {
|
|
"types": "./package/components/icons/index.d.ts",
|
|
"svelte": "./package/components/icons/index.js",
|
|
"default": "./package/components/icons/index.js"
|
|
},
|
|
"./components/apps/inputType": {
|
|
"types": "./package/components/apps/inputType.d.ts",
|
|
"default": "./package/components/apps/inputType.js"
|
|
},
|
|
"./components/apps/types": {
|
|
"types": "./package/components/apps/types.d.ts",
|
|
"default": "./package/components/apps/types.js"
|
|
},
|
|
"./components/apps/editor/inlineScriptsPanel/utils": {
|
|
"types": "./package/components/apps/editor/inlineScriptsPanel/utils.d.ts",
|
|
"default": "./package/components/apps/editor/inlineScriptsPanel/utils.js"
|
|
},
|
|
"./gen/core/OpenAPI": {
|
|
"types": "./package/gen/core/OpenAPI.d.ts",
|
|
"default": "./package/gen/core/OpenAPI.js"
|
|
},
|
|
"./components/DropdownV2.svelte": {
|
|
"types": "./package/components/DropdownV2.svelte.d.ts",
|
|
"svelte": "./package/components/DropdownV2.svelte",
|
|
"default": "./package/components/DropdownV2.svelte"
|
|
},
|
|
"./components/flows/FlowHistoryInner.svelte": {
|
|
"types": "./package/components/flows/FlowHistoryInner.svelte.d.ts",
|
|
"svelte": "./package/components/flows/FlowHistoryInner.svelte",
|
|
"default": "./package/components/flows/FlowHistoryInner.svelte"
|
|
},
|
|
"./components/SimpleEditor.svelte": {
|
|
"types": "./package/components/SimpleEditor.svelte.d.ts",
|
|
"svelte": "./package/components/SimpleEditor.svelte",
|
|
"default": "./package/components/SimpleEditor.svelte"
|
|
},
|
|
"./tailwindUtils": {
|
|
"types": "./package/components/apps/editor/componentsPanel/tailwindUtils.d.ts",
|
|
"default": "./package/components/apps/editor/componentsPanel/tailwindUtils.js"
|
|
},
|
|
"./components/DarkModeObserver.svelte": {
|
|
"types": "./package/components/DarkModeObserver.svelte.d.ts",
|
|
"svelte": "./package/components/DarkModeObserver.svelte",
|
|
"default": "./package/components/DarkModeObserver.svelte"
|
|
},
|
|
"./components/text_input/TextInput.svelte": {
|
|
"types": "./package/components/text_input/TextInput.svelte.d.ts",
|
|
"svelte": "./package/components/text_input/TextInput.svelte",
|
|
"default": "./package/components/text_input/TextInput.svelte"
|
|
},
|
|
"./components/common/badge/Badge.svelte": {
|
|
"types": "./package/components/common/badge/Badge.svelte.d.ts",
|
|
"svelte": "./package/components/common/badge/Badge.svelte",
|
|
"default": "./package/components/common/badge/Badge.svelte"
|
|
}
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"package"
|
|
],
|
|
"license": "AGPL-3.0",
|
|
"svelte": "./dist/index.js",
|
|
"typesVersions": {
|
|
">4.0": {
|
|
"components/IconedResourceType.svelte": [
|
|
"./package/components/IconedResourceType.svelte.d.ts"
|
|
],
|
|
"components/JobLoader.svelte": [
|
|
"./package/components/JobLoader.svelte.d.ts"
|
|
],
|
|
"components/SchemaForm.svelte": [
|
|
"./package/components/SchemaForm.svelte.d.ts"
|
|
],
|
|
"components/icons/WindmillIcon.svelte": [
|
|
"./package/components/icons/WindmillIcon.svelte.d.ts"
|
|
],
|
|
"components/icons/WindmillIcon2.svelte": [
|
|
"./package/components/icons/WindmillIcon2.svelte.d.ts"
|
|
],
|
|
"components/scriptEditor/LogPanel.svelte": [
|
|
"./package/components/scriptEditor/LogPanel.svelte.d.ts"
|
|
],
|
|
"components/ScriptEditor.svelte": [
|
|
"./package/components/ScriptEditor.svelte.d.ts"
|
|
],
|
|
"components/common/kbd/Kbd.svelte": [
|
|
"./package/components/common/kbd/Kbd.svelte.d.ts"
|
|
],
|
|
"components/common/drawer/Drawer.svelte": [
|
|
"./package/components/common/drawer/Drawer.svelte.d.ts"
|
|
],
|
|
"components/common/drawer/DrawerContent.svelte": [
|
|
"./package/components/common/drawer/DrawerContent.svelte.d.ts"
|
|
],
|
|
"components/common/button/Button.svelte": [
|
|
"./package/components/common/button/Button.svelte.d.ts"
|
|
],
|
|
"components/RadioButton.svelte": [
|
|
"./package/components/RadioButton.svelte.d.ts"
|
|
],
|
|
"components/Toggle.svelte": [
|
|
"./package/components/Toggle.svelte.d.ts"
|
|
],
|
|
"components/common/toggleButton-v2/ToggleButtonGroup.svelte": [
|
|
"./package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts"
|
|
],
|
|
"components/common/toggleButton-v2/ToggleButton.svelte": [
|
|
"./package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts"
|
|
],
|
|
"components/common/tabs/Tabs.svelte": [
|
|
"./package/components/common/tabs/Tabs.svelte.d.ts"
|
|
],
|
|
"components/common/tabs/Tab.svelte": [
|
|
"./package/components/common/tabs/Tab.svelte.d.ts"
|
|
],
|
|
"components/common/alert/Alert.svelte": [
|
|
"./package/components/common/alert/Alert.svelte.d.ts"
|
|
],
|
|
"components/apps/editor/AppPreview.svelte": [
|
|
"./package/components/apps/editor/AppPreview.svelte.d.ts"
|
|
],
|
|
"components/FlowViewer.svelte": [
|
|
"./package/components/FlowViewer.svelte.d.ts"
|
|
],
|
|
"components/FlowStatusViewer.svelte": [
|
|
"./package/components/FlowStatusViewer.svelte.d.ts"
|
|
],
|
|
"components/FlowRecordingReplay.svelte": [
|
|
"./package/components/recording/FlowRecordingReplay.svelte.d.ts"
|
|
],
|
|
"components/ScriptRecordingReplay.svelte": [
|
|
"./package/components/recording/ScriptRecordingReplay.svelte.d.ts"
|
|
],
|
|
"components/recording/types": [
|
|
"./package/components/recording/types.d.ts"
|
|
],
|
|
"components/FlowBuilder.svelte": [
|
|
"./package/components/FlowBuilder.svelte.d.ts"
|
|
],
|
|
"components/AppWrapper.svelte": [
|
|
"./package/components/AppWrapper.svelte.d.ts"
|
|
],
|
|
"components/ScriptWrapper.svelte": [
|
|
"./package/components/ScriptWrapper.svelte.d.ts"
|
|
],
|
|
"components/FlowWrapper.svelte": [
|
|
"./package/components/FlowWrapper.svelte.d.ts"
|
|
],
|
|
"components/SchemaViewer.svelte": [
|
|
"./package/components/SchemaViewer.svelte.d.ts"
|
|
],
|
|
"components/SchemaEditor.svelte": [
|
|
"./package/components/SchemaEditor.svelte.d.ts"
|
|
],
|
|
"components/EditableSchemaSdkWrapper.svelte": [
|
|
"./package/components/schema/EditableSchemaSdkWrapper.svelte.d.ts"
|
|
],
|
|
"components/flows/FlowHistoryInner.svelte": [
|
|
"./package/components/flows/FlowHistoryInner.svelte.d.ts"
|
|
],
|
|
"components/SimpleEditor.svelte": [
|
|
"./package/components/SimpleEditor.svelte.d.ts"
|
|
],
|
|
"utils": [
|
|
"./package/utils.d.ts"
|
|
],
|
|
"infer": [
|
|
"./package/infer.d.ts"
|
|
],
|
|
"common": [
|
|
"./package/common.d.ts"
|
|
],
|
|
"stores": [
|
|
"./package/stores.d.ts"
|
|
],
|
|
"gen": [
|
|
"./package/gen/index.d.ts"
|
|
],
|
|
"components/flows/flowStore": [
|
|
"./package/components/flows/flowStore.svelte.d.ts"
|
|
],
|
|
"components/icons": [
|
|
"./package/components/icons/index.d.ts"
|
|
],
|
|
"components/apps/inputType": [
|
|
"./package/components/apps/inputType.d.ts"
|
|
],
|
|
"components/apps/types": [
|
|
"./package/components/apps/types.d.ts"
|
|
],
|
|
"components/apps/editor/inlineScriptsPanel/utils": [
|
|
"./package/components/apps/editor/inlineScriptsPanel/utils.d.ts"
|
|
],
|
|
"gen/core/OpenAPI": [
|
|
"./package/gen/core/OpenAPI.d.ts"
|
|
],
|
|
"components/DropdownV2.svelte": [
|
|
"./package/components/DropdownV2.svelte.d.ts"
|
|
],
|
|
"script_helpers": [
|
|
"./package/script_helpers.d.ts"
|
|
],
|
|
"components/icons/store": [
|
|
"./package/components/icons/store.d.ts"
|
|
],
|
|
"tailwindUtils": [
|
|
"./package/components/apps/editor/componentsPanel/tailwindUtils.d.ts"
|
|
],
|
|
"components/scriptBuilder": [
|
|
"./package/components/scriptBuilder.d.ts"
|
|
],
|
|
"components/custom_ui": [
|
|
"./package/components/custom_ui.d.ts"
|
|
],
|
|
"components/DarkModeObserver.svelte": [
|
|
"./package/components/DarkModeObserver.svelte.d.ts"
|
|
],
|
|
"components/text_input/TextInput.svelte": [
|
|
"./package/components/text_input/TextInput.svelte.d.ts"
|
|
],
|
|
"components/common/badge/Badge.svelte": [
|
|
"./package/components/common/badge/Badge.svelte.d.ts"
|
|
]
|
|
}
|
|
},
|
|
"optionalDependencies": {
|
|
"@rollup/rollup-linux-x64-gnu": "^4.35.0",
|
|
"fsevents": "^2.3.3"
|
|
}
|
|
}
|