diff --git a/apps/desktop/package.json b/apps/desktop/package.json
index 3fa0036c03f..45232483d1c 100644
--- a/apps/desktop/package.json
+++ b/apps/desktop/package.json
@@ -40,11 +40,11 @@
"@sim/terminal-protocol": "workspace:*",
"@sim/utils": "workspace:*",
"@xterm/headless": "6.0.0",
- "electron-updater": "6.8.9",
+ "electron-updater": "6.8.12",
"lru-cache": "11.5.3",
"micromatch": "4.0.8",
"safe-regex2": "5.1.2",
- "tldts": "7.4.18",
+ "tldts": "7.4.19",
"pdf-lib": "1.17.1",
"@sim/auth-ui": "workspace:*"
},
diff --git a/apps/docs/components/docs/mdx.tsx b/apps/docs/components/docs/mdx.tsx
index ede1fe46fbf..d4c58298ff2 100644
--- a/apps/docs/components/docs/mdx.tsx
+++ b/apps/docs/components/docs/mdx.tsx
@@ -79,7 +79,7 @@ export function getMDXComponents(overrides: MDXComponents = {}): MDXComponents {
diff --git a/apps/docs/components/docs/sample-panels.tsx b/apps/docs/components/docs/sample-panels.tsx
index 9176973148a..62b6892a593 100644
--- a/apps/docs/components/docs/sample-panels.tsx
+++ b/apps/docs/components/docs/sample-panels.tsx
@@ -86,10 +86,13 @@ export function SamplePanels({
value={item.value}
label={item.label}
id={item.id ?? `${selectorId}-${item.value}`}
+ tabIndex={-1}
{...(presentation === 'select' ? { role: 'region', 'aria-labelledby': selectorId } : {})}
className='[&>div]:pt-0'
>
- {item.panel}
+
+ {item.panel}
+
))}
diff --git a/apps/docs/components/ui/code-block.tsx b/apps/docs/components/ui/code-block.tsx
index eebd7306e3e..d01b974e1a2 100644
--- a/apps/docs/components/ui/code-block.tsx
+++ b/apps/docs/components/ui/code-block.tsx
@@ -18,13 +18,15 @@ interface CodeBlockProps extends HTMLAttributes {
interface CodeContentProps {
children: ReactNode
label?: string
+ tabIndex?: number
}
-export function CodeContent({ children, label = 'Code sample' }: CodeContentProps) {
+export function CodeContent({ children, label = 'Code sample', tabIndex }: CodeContentProps) {
return (
{children}
diff --git a/apps/docs/components/ui/scroll-region.tsx b/apps/docs/components/ui/scroll-region.tsx
index ec10d70c3f6..d6e2fccdbb1 100644
--- a/apps/docs/components/ui/scroll-region.tsx
+++ b/apps/docs/components/ui/scroll-region.tsx
@@ -8,24 +8,32 @@ interface ScrollRegionProps extends HTMLAttributes {
label: string
}
-/** Keyboard scrolling is reachable only when this region has horizontal overflow. */
-export function ScrollRegion({ label, className, children, ...props }: ScrollRegionProps) {
+/** Keeps scrolling keyboard-accessible before hydration, then skips nonoverflowing regions unless opted in. */
+export function ScrollRegion({
+ label,
+ className,
+ children,
+ tabIndex,
+ ...props
+}: ScrollRegionProps) {
const region = useRef(null)
useEffect(() => {
const element = region.current
if (!element) return
function updateFocusability() {
- if (element) element.tabIndex = element.scrollWidth > element.clientWidth + 1 ? 0 : -1
+ if (element)
+ element.tabIndex = tabIndex ?? (element.scrollWidth > element.clientWidth + 1 ? 0 : -1)
}
const observer = new ResizeObserver(updateFocusability)
observer.observe(element)
if (element.firstElementChild) observer.observe(element.firstElementChild)
return () => observer.disconnect()
- }, [])
+ }, [tabIndex])
return (
+
## Formatting text
Select text to open the formatting toolbar for bold, italic, strikethrough, inline code, and links. You can also type Markdown, such as `**bold**` and `*italic*`. A link's hover card lets you open, copy, edit, or remove it.
-
-
| Action | Shortcut or Markdown |
| --- | --- |
| Bold | **Cmd/Ctrl + B** |
@@ -39,28 +38,10 @@ Type `/` at the start of a block or after whitespace to open the insertion menu.
Insert a table from the slash menu. Select a cell to open the table toolbar, then add or remove rows and columns, or delete the table. The header row stays in place; you can edit its text. Column resizing and merged cells are not supported.
-
-
## Code blocks
Fenced code blocks have syntax highlighting, a language picker, line wrapping, and a copy button. Hover over the block or focus a control to reveal its toolbar.
-
-
Choose `mermaid` to render a diagram. Select **Show source** when you need to edit its definition.
## Images
diff --git a/apps/docs/lib/shiki-theme.ts b/apps/docs/lib/shiki-theme.ts
index c35aafd46e9..a7cd7004a61 100644
--- a/apps/docs/lib/shiki-theme.ts
+++ b/apps/docs/lib/shiki-theme.ts
@@ -195,4 +195,5 @@ const simShikiDark = buildTheme('sim-dark', 'dark', DARK)
export const simShikiOptions = {
themes: { light: simShikiLight, dark: simShikiDark },
defaultColor: false,
+ tabindex: false,
} as const
diff --git a/apps/docs/openapi-v2-workflows.json b/apps/docs/openapi-v2-workflows.json
index b9192e47728..f36b9bc5f69 100644
--- a/apps/docs/openapi-v2-workflows.json
+++ b/apps/docs/openapi-v2-workflows.json
@@ -5275,6 +5275,20 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/PreviewWorkspaceForkResponse"
+ },
+ "examples": {
+ "example1": {
+ "summary": "Response example 1",
+ "value": {
+ "data": {
+ "previewFingerprint": "c7d158e8cbc5137a2d0a4fc37ddaeb51a3b9757485679a6ad82a7de3fdac4e3a",
+ "sourceWorkspaceId": "9f4c2a10-3b7e-4d58-8f6a-2c1d0e5b7a94",
+ "workflows": [],
+ "selectedResourceCount": 0,
+ "draftOnly": true
+ }
+ }
+ }
}
}
}
@@ -5466,6 +5480,25 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/PreviewWorkspacePushResponse"
+ },
+ "examples": {
+ "example1": {
+ "summary": "Response example 1",
+ "value": {
+ "data": {
+ "previewFingerprint": "c7d158e8cbc5137a2d0a4fc37ddaeb51a3b9757485679a6ad82a7de3fdac4e3a",
+ "sourceWorkspaceId": "e4f8d2b6-9a1c-4e3d-8b7f-5c0a2d9e6f13",
+ "targetWorkspaceId": "9f4c2a10-3b7e-4d58-8f6a-2c1d0e5b7a94",
+ "ready": true,
+ "workflows": [],
+ "unresolvedBindings": [],
+ "configuration": [],
+ "excludedTargets": [],
+ "triggerSlots": [],
+ "triggerUrlChanges": []
+ }
+ }
+ }
}
}
}
@@ -5658,6 +5691,25 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/PreviewWorkspacePullResponse"
+ },
+ "examples": {
+ "example1": {
+ "summary": "Response example 1",
+ "value": {
+ "data": {
+ "previewFingerprint": "c7d158e8cbc5137a2d0a4fc37ddaeb51a3b9757485679a6ad82a7de3fdac4e3a",
+ "sourceWorkspaceId": "9f4c2a10-3b7e-4d58-8f6a-2c1d0e5b7a94",
+ "targetWorkspaceId": "e4f8d2b6-9a1c-4e3d-8b7f-5c0a2d9e6f13",
+ "ready": true,
+ "workflows": [],
+ "unresolvedBindings": [],
+ "configuration": [],
+ "excludedTargets": [],
+ "triggerSlots": [],
+ "triggerUrlChanges": []
+ }
+ }
+ }
}
}
}
@@ -6716,6 +6768,22 @@
"application/json": {
"schema": {
"$ref": "#/components/schemas/PreviewWorkflowImportResponse"
+ },
+ "examples": {
+ "example1": {
+ "summary": "Response example 1",
+ "value": {
+ "data": {
+ "previewFingerprint": "c7d158e8cbc5137a2d0a4fc37ddaeb51a3b9757485679a6ad82a7de3fdac4e3a",
+ "ready": true,
+ "bindings": [],
+ "unresolvedBindings": [],
+ "configuration": [],
+ "unresolvedConfiguration": [],
+ "discovery": []
+ }
+ }
+ }
}
}
}
@@ -15566,7 +15634,18 @@
"required": ["data"],
"additionalProperties": false,
"title": "Preview workspace fork response",
- "description": "Deployed source workflows, selected-copy count, and a preview fingerprint."
+ "description": "Deployed source workflows, selected-copy count, and a preview fingerprint.",
+ "examples": [
+ {
+ "data": {
+ "previewFingerprint": "c7d158e8cbc5137a2d0a4fc37ddaeb51a3b9757485679a6ad82a7de3fdac4e3a",
+ "sourceWorkspaceId": "9f4c2a10-3b7e-4d58-8f6a-2c1d0e5b7a94",
+ "workflows": [],
+ "selectedResourceCount": 0,
+ "draftOnly": true
+ }
+ }
+ ]
},
"PreviewWorkspaceForkBody": {
"type": "object",
@@ -16446,7 +16525,23 @@
"required": ["data"],
"additionalProperties": false,
"title": "Preview workspace push response",
- "description": "Current-to-other workflow actions, required choices, and preview fingerprint."
+ "description": "Current-to-other workflow actions, required choices, and preview fingerprint.",
+ "examples": [
+ {
+ "data": {
+ "previewFingerprint": "c7d158e8cbc5137a2d0a4fc37ddaeb51a3b9757485679a6ad82a7de3fdac4e3a",
+ "sourceWorkspaceId": "e4f8d2b6-9a1c-4e3d-8b7f-5c0a2d9e6f13",
+ "targetWorkspaceId": "9f4c2a10-3b7e-4d58-8f6a-2c1d0e5b7a94",
+ "ready": true,
+ "workflows": [],
+ "unresolvedBindings": [],
+ "configuration": [],
+ "excludedTargets": [],
+ "triggerSlots": [],
+ "triggerUrlChanges": []
+ }
+ }
+ ]
},
"PreviewWorkspacePushBody": {
"type": "object",
@@ -16972,7 +17067,23 @@
"required": ["data"],
"additionalProperties": false,
"title": "Preview workspace pull response",
- "description": "Other-to-current workflow actions, required choices, and preview fingerprint."
+ "description": "Other-to-current workflow actions, required choices, and preview fingerprint.",
+ "examples": [
+ {
+ "data": {
+ "previewFingerprint": "c7d158e8cbc5137a2d0a4fc37ddaeb51a3b9757485679a6ad82a7de3fdac4e3a",
+ "sourceWorkspaceId": "9f4c2a10-3b7e-4d58-8f6a-2c1d0e5b7a94",
+ "targetWorkspaceId": "e4f8d2b6-9a1c-4e3d-8b7f-5c0a2d9e6f13",
+ "ready": true,
+ "workflows": [],
+ "unresolvedBindings": [],
+ "configuration": [],
+ "excludedTargets": [],
+ "triggerSlots": [],
+ "triggerUrlChanges": []
+ }
+ }
+ ]
},
"PreviewWorkspacePullBody": {
"type": "object",
@@ -18487,7 +18598,20 @@
"required": ["data"],
"additionalProperties": false,
"title": "Preview workflow import response",
- "description": "Import readiness, unresolved bindings, and destination discovery instructions."
+ "description": "Import readiness, unresolved bindings, and destination discovery instructions.",
+ "examples": [
+ {
+ "data": {
+ "previewFingerprint": "c7d158e8cbc5137a2d0a4fc37ddaeb51a3b9757485679a6ad82a7de3fdac4e3a",
+ "ready": true,
+ "bindings": [],
+ "unresolvedBindings": [],
+ "configuration": [],
+ "unresolvedConfiguration": [],
+ "discovery": []
+ }
+ }
+ ]
},
"ImportWorkflowRequest": {
"type": "object",
diff --git a/apps/docs/package.json b/apps/docs/package.json
index 634cfa02fb0..e1d7a1c29b2 100644
--- a/apps/docs/package.json
+++ b/apps/docs/package.json
@@ -33,8 +33,8 @@
"@sim/logger": "workspace:*",
"@sim/utils": "workspace:*",
"@sim/workflow-renderer": "workspace:*",
- "@xyflow/react": "12.12.0",
- "next": "16.4.1",
+ "@xyflow/react": "12.12.1",
+ "next": "16.4.5",
"next-themes": "^0.4.6",
"react": "19.2.4",
"react-dom": "19.2.4",
@@ -59,7 +59,7 @@
"server-only": "0.0.1",
"postgres": "3.4.9",
"remark-rehype": "11.1.2",
- "hast-util-to-jsx-runtime": "2.3.6",
+ "hast-util-to-jsx-runtime": "2.3.7",
"clsx": "2.1.1",
"tailwind-merge": "3.7.0",
"mdast-util-gfm": "3.1.0",
@@ -80,7 +80,7 @@
"vitest": "^5.0.4",
"@modelcontextprotocol/client": "2.3.1",
"@types/mdast": "4.0.4",
- "@types/mdx": "2.0.13",
+ "@types/mdx": "2.0.14",
"htmlparser2": "10.1.0",
"@types/hast": "3.0.5"
}
diff --git a/apps/docs/scripts/fixtures/content-baseline.json b/apps/docs/scripts/fixtures/content-baseline.json
index c990fe65fa0..80b2cab120d 100644
--- a/apps/docs/scripts/fixtures/content-baseline.json
+++ b/apps/docs/scripts/fixtures/content-baseline.json
@@ -18851,42 +18851,15 @@
"media": [
{
"type": "Image",
- "src": "/static/docs-captures/files-formatting.webp",
- "alt": "Selected text in the Markdown editor with the text style, bold, italic, link, and more formatting controls",
+ "src": "/static/docs-captures/files-markdown.webp",
+ "alt": "A release brief open in the Markdown editor beside Chat, with a launch checklist, owner table, and highlighted JSON code block",
"width": {
- "expression": "900"
+ "expression": "2400"
},
"height": {
- "expression": "340"
- },
- "variant": "detail",
- "background": "architecture"
- },
- {
- "type": "Image",
- "src": "/static/docs-captures/files-table.webp",
- "alt": "A Markdown owner table with controls for adding a row, managing columns, and deleting the table",
- "width": {
"expression": "1200"
},
- "height": {
- "expression": "460"
- },
- "variant": "detail",
- "background": "architecture"
- },
- {
- "type": "Image",
- "src": "/static/docs-captures/files-code.webp",
- "alt": "A highlighted JSON code block with language, line wrap, and copy controls",
- "width": {
- "expression": "1200"
- },
- "height": {
- "expression": "400"
- },
- "variant": "detail",
- "background": "architecture"
+ "variant": "overview"
}
]
},
diff --git a/apps/extension/package.json b/apps/extension/package.json
index 2529b2b9e69..7e659d2afaa 100644
--- a/apps/extension/package.json
+++ b/apps/extension/package.json
@@ -26,8 +26,8 @@
"devDependencies": {
"@playwright/test": "1.64.1",
"@sim/tsconfig": "workspace:*",
- "@types/bun": "1.4.3",
- "@types/chrome": "0.3.6",
+ "@types/bun": "1.4.4",
+ "@types/chrome": "0.3.7",
"@types/react": "^19",
"@types/react-dom": "^19",
"esbuild": "0.28.2",
diff --git a/apps/sim/lib/api/contracts/v2/openapi/workspace-sync.ts b/apps/sim/lib/api/contracts/v2/openapi/workspace-sync.ts
index 8e622737eba..c939a6f0eed 100644
--- a/apps/sim/lib/api/contracts/v2/openapi/workspace-sync.ts
+++ b/apps/sim/lib/api/contracts/v2/openapi/workspace-sync.ts
@@ -75,7 +75,18 @@ export const workspaceSyncOpenApiRoutes = [
v2PreviewWorkspaceForkContract.response.schema,
'PreviewWorkspaceForkResponse',
'Preview workspace fork response',
- 'Deployed source workflows, selected-copy count, and a preview fingerprint.'
+ 'Deployed source workflows, selected-copy count, and a preview fingerprint.',
+ [
+ {
+ data: {
+ previewFingerprint: PREVIEW_FINGERPRINT_EXAMPLE,
+ sourceWorkspaceId: '9f4c2a10-3b7e-4d58-8f6a-2c1d0e5b7a94',
+ workflows: [],
+ selectedResourceCount: 0,
+ draftOnly: true,
+ },
+ },
+ ]
),
}
),
@@ -175,7 +186,23 @@ export const workspaceSyncOpenApiRoutes = [
v2PreviewWorkspacePushContract.response.schema,
'PreviewWorkspacePushResponse',
'Preview workspace push response',
- 'Current-to-other workflow actions, required choices, and preview fingerprint.'
+ 'Current-to-other workflow actions, required choices, and preview fingerprint.',
+ [
+ {
+ data: {
+ previewFingerprint: PREVIEW_FINGERPRINT_EXAMPLE,
+ sourceWorkspaceId: 'e4f8d2b6-9a1c-4e3d-8b7f-5c0a2d9e6f13',
+ targetWorkspaceId: '9f4c2a10-3b7e-4d58-8f6a-2c1d0e5b7a94',
+ ready: true,
+ workflows: [],
+ unresolvedBindings: [],
+ configuration: [],
+ excludedTargets: [],
+ triggerSlots: [],
+ triggerUrlChanges: [],
+ },
+ },
+ ]
),
}
),
@@ -276,7 +303,23 @@ export const workspaceSyncOpenApiRoutes = [
v2PreviewWorkspacePullContract.response.schema,
'PreviewWorkspacePullResponse',
'Preview workspace pull response',
- 'Other-to-current workflow actions, required choices, and preview fingerprint.'
+ 'Other-to-current workflow actions, required choices, and preview fingerprint.',
+ [
+ {
+ data: {
+ previewFingerprint: PREVIEW_FINGERPRINT_EXAMPLE,
+ sourceWorkspaceId: '9f4c2a10-3b7e-4d58-8f6a-2c1d0e5b7a94',
+ targetWorkspaceId: 'e4f8d2b6-9a1c-4e3d-8b7f-5c0a2d9e6f13',
+ ready: true,
+ workflows: [],
+ unresolvedBindings: [],
+ configuration: [],
+ excludedTargets: [],
+ triggerSlots: [],
+ triggerUrlChanges: [],
+ },
+ },
+ ]
),
}
),
@@ -683,7 +726,20 @@ export const workspaceSyncOpenApiRoutes = [
v2PreviewWorkflowImportContract.response.schema,
'PreviewWorkflowImportResponse',
'Preview workflow import response',
- 'Import readiness, unresolved bindings, and destination discovery instructions.'
+ 'Import readiness, unresolved bindings, and destination discovery instructions.',
+ [
+ {
+ data: {
+ previewFingerprint: PREVIEW_FINGERPRINT_EXAMPLE,
+ ready: true,
+ bindings: [],
+ unresolvedBindings: [],
+ configuration: [],
+ unresolvedConfiguration: [],
+ discovery: [],
+ },
+ },
+ ]
),
}
),
diff --git a/apps/sim/lib/core/utils/multipart.test.ts b/apps/sim/lib/core/utils/multipart.test.ts
index 27e8e5ec513..bc2147bd276 100644
--- a/apps/sim/lib/core/utils/multipart.test.ts
+++ b/apps/sim/lib/core/utils/multipart.test.ts
@@ -5,6 +5,7 @@ import { isMultipartError, type MultipartError, readMultipart } from '@/lib/core
type Part =
| { name: string; value: string }
| { name: string; filename: string; value: string; contentType?: string }
+ | { name: string; value: string; contentType: string }
const BOUNDARY = '----testboundary1234'
@@ -14,6 +15,8 @@ function buildBody(parts: Part[], boundary = BOUNDARY): Buffer {
let header = `--${boundary}\r\nContent-Disposition: form-data; name="${part.name}"`
if ('filename' in part) {
header += `; filename="${part.filename}"\r\nContent-Type: ${part.contentType ?? 'text/csv'}`
+ } else if ('contentType' in part) {
+ header += `\r\nContent-Type: ${part.contentType}`
}
header += '\r\n\r\n'
segments.push(Buffer.from(header, 'utf8'), Buffer.from(part.value, 'utf8'), Buffer.from('\r\n'))
@@ -121,6 +124,18 @@ describe('readMultipart', () => {
)
})
+ it('rejects NO_FILE when the file part carries no filename', async () => {
+ const request = makeRequest([
+ { name: 'file', value: 'name\nAlice\n', contentType: 'application/octet-stream' },
+ ])
+ await readMultipart(request, { maxFileBytes: 1024 }).then(
+ () => {
+ throw new Error('expected rejection')
+ },
+ (err) => expectCode(err, 'NO_FILE')
+ )
+ })
+
it('rejects NOT_MULTIPART for a non-multipart content type', async () => {
const request = {
headers: new Headers({ 'content-type': 'application/json' }),
diff --git a/apps/sim/lib/core/utils/multipart.ts b/apps/sim/lib/core/utils/multipart.ts
index f43a4e23fc8..313e182bdc4 100644
--- a/apps/sim/lib/core/utils/multipart.ts
+++ b/apps/sim/lib/core/utils/multipart.ts
@@ -178,6 +178,15 @@ export function readMultipart(
return
}
+ // busboy treats an `application/octet-stream` part without a filename as a file.
+ const { filename } = info
+ if (filename === undefined) {
+ stream.resume()
+ nodeStream.destroy()
+ settle(() => reject(new MultipartError('NO_FILE', 'File part has no filename')))
+ return
+ }
+
const missing = requiredFieldsBeforeFile.filter((field) => !(field in fields))
if (missing.length > 0) {
stream.resume()
@@ -218,7 +227,7 @@ export function readMultipart(
}
resolve({
fields,
- file: { fieldName: name, filename: info.filename, mimeType: info.mimeType, stream },
+ file: { fieldName: name, filename, mimeType: info.mimeType, stream },
})
})
})
diff --git a/apps/sim/lib/core/utils/sse.ts b/apps/sim/lib/core/utils/sse.ts
index b856926a43d..b68af4bf783 100644
--- a/apps/sim/lib/core/utils/sse.ts
+++ b/apps/sim/lib/core/utils/sse.ts
@@ -1,9 +1,10 @@
/**
- * Standard headers for Server-Sent Events responses
+ * Standard headers for Server-Sent Events responses. `no-transform` keeps Next's response
+ * compression and intermediaries from buffering the stream to compress it.
*/
export const SSE_HEADERS = {
'Content-Type': 'text/event-stream',
- 'Cache-Control': 'no-cache',
+ 'Cache-Control': 'no-cache, no-transform',
Connection: 'keep-alive',
'X-Accel-Buffering': 'no',
} as const
diff --git a/apps/sim/lib/execution/remote-sandbox/e2b.ts b/apps/sim/lib/execution/remote-sandbox/e2b.ts
index 6d0059ccd55..cc1be4ee75b 100644
--- a/apps/sim/lib/execution/remote-sandbox/e2b.ts
+++ b/apps/sim/lib/execution/remote-sandbox/e2b.ts
@@ -1156,6 +1156,9 @@ export const e2bProvider: SandboxProvider = {
: undefined
const createOptions = {
apiKey,
+ // The SDK retries a create that hit a gateway error; the key lets E2B return the sandbox
+ // the first attempt already started instead of starting a second one.
+ idempotencyKey: generateId(),
...(effectiveLifetimeMs !== undefined ? { timeoutMs: effectiveLifetimeMs } : {}),
...(options?.sessionKey
? {
diff --git a/apps/sim/lib/mothership/request/session/sse.ts b/apps/sim/lib/mothership/request/session/sse.ts
index a1a92dfcf0e..9f68c2ff611 100644
--- a/apps/sim/lib/mothership/request/session/sse.ts
+++ b/apps/sim/lib/mothership/request/session/sse.ts
@@ -14,7 +14,4 @@ export function encodeSSEEnvelope(envelope: unknown): Uint8Array {
return encoder.encode(`data: ${JSON.stringify(presented)}\n\n`)
}
-export const SSE_RESPONSE_HEADERS = {
- ...SSE_HEADERS,
- 'Content-Encoding': 'none',
-} as const
+export const SSE_RESPONSE_HEADERS = SSE_HEADERS
diff --git a/apps/sim/package.json b/apps/sim/package.json
index e60bf5a6c14..7db582db32b 100644
--- a/apps/sim/package.json
+++ b/apps/sim/package.json
@@ -105,7 +105,7 @@
"@calcom/embed-react": "1.5.3",
"@cerebras/cerebras_cloud_sdk": "^1.91.0",
"@daytona/sdk": "0.207.0",
- "@e2b/code-interpreter": "2.7.1",
+ "@e2b/code-interpreter": "2.9.1",
"@earendil-works/pi-ai": "1.0.0",
"@earendil-works/pi-coding-agent": "1.0.0",
"@floating-ui/dom": "1.7.6",
@@ -113,8 +113,8 @@
"@google/genai": "2.28.0",
"@hookform/resolvers": "5.9.1",
"@linear/sdk": "97.1.0",
- "@marsidev/react-turnstile": "1.6.2",
- "@modelcontextprotocol/sdk": "1.32.1",
+ "@marsidev/react-turnstile": "1.6.3",
+ "@modelcontextprotocol/sdk": "1.32.2",
"@monaco-editor/react": "4.7.0",
"@napi-rs/canvas": "0.1.100",
"@opentelemetry/api": "^1.9.0",
@@ -191,7 +191,7 @@
"@xterm/addon-web-links": "0.12.0",
"@xterm/addon-webgl": "0.19.0",
"@xterm/xterm": "6.0.0",
- "@xyflow/react": "12.12.0",
+ "@xyflow/react": "12.12.1",
"ajv": "8.20.0",
"archiver": "8.0.0",
"better-auth": "1.6.27",
@@ -242,9 +242,9 @@
"monaco-editor": "0.55.1",
"mongodb": "6.21.0",
"mssql": "12.7.4",
- "mysql2": "3.24.5",
+ "mysql2": "3.24.6",
"neo4j-driver": "6.0.1",
- "next": "16.4.1",
+ "next": "16.4.5",
"next-mdx-remote": "^6.0.0",
"next-themes": "^0.4.6",
"nodemailer": "10.1.7",
@@ -280,7 +280,7 @@
"ssh2": "^1.17.0",
"streamdown": "2.5.0",
"stripe": "18.5.0",
- "tldts": "7.4.18",
+ "tldts": "7.4.19",
"twilio": "6.2.0",
"typebox": "1.3.27",
"undici": "7.30.1",
@@ -296,7 +296,7 @@
"@sim/auth-ui": "workspace:*"
},
"devDependencies": {
- "@next/env": "16.4.1",
+ "@next/env": "16.4.5",
"@opentelemetry/context-async-hooks": "2.10.0",
"@playwright/test": "1.64.1",
"@sim/testing": "workspace:*",
@@ -306,8 +306,8 @@
"@testing-library/jest-dom": "^6.10.0",
"@trigger.dev/build": "4.8.3",
"@types/archiver": "8.0.0",
- "@types/busboy": "1.5.4",
- "@types/chrome": "0.3.6",
+ "@types/busboy": "1.5.5",
+ "@types/chrome": "0.3.7",
"@types/hast": "3.0.5",
"@types/heic-convert": "2.1.1",
"@types/html-to-text": "9.0.4",
diff --git a/apps/sim/scripts/test-project-file-history-e2e.ts b/apps/sim/scripts/test-project-file-history-e2e.ts
index 15fbae6dfec..ecf372ac554 100644
--- a/apps/sim/scripts/test-project-file-history-e2e.ts
+++ b/apps/sim/scripts/test-project-file-history-e2e.ts
@@ -69,7 +69,9 @@ async function verifyStreamedDownload(
signal: AbortSignal.timeout(90_000),
})
assert.equal(response.status, 200)
- assert.equal(Number(response.headers.get('content-length')), expectedBytes)
+ // Next 16.4.5+ strips Content-Length from every Route Handler response (GHSA-pc58-hwjq-p385).
+ const declaredLength = response.headers.get('content-length')
+ if (declaredLength !== null) assert.equal(Number(declaredLength), expectedBytes)
assert.ok(response.body)
const reader = response.body.getReader()
const hash = createHash('sha256')
diff --git a/bun.lock b/bun.lock
index b2aa2acbb03..5fc97ab72f8 100644
--- a/bun.lock
+++ b/bun.lock
@@ -37,10 +37,10 @@
"zod": "4.3.6",
},
"optionalDependencies": {
- "@next/swc-darwin-arm64": "16.4.1",
- "@next/swc-darwin-x64": "16.4.1",
- "@next/swc-linux-arm64-gnu": "16.4.1",
- "@next/swc-linux-x64-gnu": "16.4.1",
+ "@next/swc-darwin-arm64": "16.4.5",
+ "@next/swc-darwin-x64": "16.4.5",
+ "@next/swc-linux-arm64-gnu": "16.4.5",
+ "@next/swc-linux-x64-gnu": "16.4.5",
},
},
"apps/desktop": {
@@ -58,12 +58,12 @@
"@sim/terminal-protocol": "workspace:*",
"@sim/utils": "workspace:*",
"@xterm/headless": "6.0.0",
- "electron-updater": "6.8.9",
+ "electron-updater": "6.8.12",
"lru-cache": "11.5.3",
"micromatch": "4.0.8",
"pdf-lib": "1.17.1",
"safe-regex2": "5.1.2",
- "tldts": "7.4.18",
+ "tldts": "7.4.19",
},
"devDependencies": {
"@electron/fuses": "1.8.0",
@@ -103,16 +103,16 @@
"@sim/utils": "workspace:*",
"@sim/workflow-renderer": "workspace:*",
"@tanstack/react-query": "^5.90.21",
- "@xyflow/react": "12.12.0",
+ "@xyflow/react": "12.12.1",
"clsx": "2.1.1",
"framer-motion": "^12.5.0",
"github-slugger": "2.0.0",
- "hast-util-to-jsx-runtime": "2.3.6",
+ "hast-util-to-jsx-runtime": "2.3.7",
"mdast-util-gfm": "3.1.0",
"mdast-util-mdxjs-esm": "2.0.1",
"mdast-util-to-markdown": "2.1.2",
"mdast-util-to-string": "4.0.0",
- "next": "16.4.1",
+ "next": "16.4.5",
"next-themes": "^0.4.6",
"postgres": "3.4.9",
"react": "19.2.4",
@@ -136,7 +136,7 @@
"@tailwindcss/postcss": "^4.3.3",
"@types/hast": "3.0.5",
"@types/mdast": "4.0.4",
- "@types/mdx": "2.0.13",
+ "@types/mdx": "2.0.14",
"@types/node": "24.19.2",
"@types/react": "^19",
"@types/react-dom": "^19",
@@ -164,8 +164,8 @@
"devDependencies": {
"@playwright/test": "1.64.1",
"@sim/tsconfig": "workspace:*",
- "@types/bun": "1.4.3",
- "@types/chrome": "0.3.6",
+ "@types/bun": "1.4.4",
+ "@types/chrome": "0.3.7",
"@types/react": "^19",
"@types/react-dom": "^19",
"esbuild": "0.28.2",
@@ -259,7 +259,7 @@
"@calcom/embed-react": "1.5.3",
"@cerebras/cerebras_cloud_sdk": "^1.91.0",
"@daytona/sdk": "0.207.0",
- "@e2b/code-interpreter": "2.7.1",
+ "@e2b/code-interpreter": "2.9.1",
"@earendil-works/pi-ai": "1.0.0",
"@earendil-works/pi-coding-agent": "1.0.0",
"@floating-ui/dom": "1.7.6",
@@ -267,8 +267,8 @@
"@google/genai": "2.28.0",
"@hookform/resolvers": "5.9.1",
"@linear/sdk": "97.1.0",
- "@marsidev/react-turnstile": "1.6.2",
- "@modelcontextprotocol/sdk": "1.32.1",
+ "@marsidev/react-turnstile": "1.6.3",
+ "@modelcontextprotocol/sdk": "1.32.2",
"@monaco-editor/react": "4.7.0",
"@napi-rs/canvas": "0.1.100",
"@opentelemetry/api": "^1.9.0",
@@ -346,7 +346,7 @@
"@xterm/addon-web-links": "0.12.0",
"@xterm/addon-webgl": "0.19.0",
"@xterm/xterm": "6.0.0",
- "@xyflow/react": "12.12.0",
+ "@xyflow/react": "12.12.1",
"ajv": "8.20.0",
"archiver": "8.0.0",
"better-auth": "1.6.27",
@@ -397,9 +397,9 @@
"monaco-editor": "0.55.1",
"mongodb": "6.21.0",
"mssql": "12.7.4",
- "mysql2": "3.24.5",
+ "mysql2": "3.24.6",
"neo4j-driver": "6.0.1",
- "next": "16.4.1",
+ "next": "16.4.5",
"next-mdx-remote": "^6.0.0",
"next-themes": "^0.4.6",
"nodemailer": "10.1.7",
@@ -435,7 +435,7 @@
"ssh2": "^1.17.0",
"streamdown": "2.5.0",
"stripe": "18.5.0",
- "tldts": "7.4.18",
+ "tldts": "7.4.19",
"twilio": "6.2.0",
"typebox": "1.3.27",
"undici": "7.30.1",
@@ -450,7 +450,7 @@
"zustand": "^5.0.15",
},
"devDependencies": {
- "@next/env": "16.4.1",
+ "@next/env": "16.4.5",
"@opentelemetry/context-async-hooks": "2.10.0",
"@playwright/test": "1.64.1",
"@sim/testing": "workspace:*",
@@ -460,8 +460,8 @@
"@testing-library/jest-dom": "^6.10.0",
"@trigger.dev/build": "4.8.3",
"@types/archiver": "8.0.0",
- "@types/busboy": "1.5.4",
- "@types/chrome": "0.3.6",
+ "@types/busboy": "1.5.5",
+ "@types/chrome": "0.3.7",
"@types/hast": "3.0.5",
"@types/heic-convert": "2.1.1",
"@types/html-to-text": "9.0.4",
@@ -595,9 +595,9 @@
},
"devDependencies": {
"@sim/tsconfig": "workspace:*",
- "@types/bun": "1.4.3",
+ "@types/bun": "1.4.4",
"@types/node": "24.19.2",
- "drizzle-kit": "0.31.10",
+ "drizzle-kit": "0.31.11",
"typescript": "^7.0.2",
"vitest": "^5.0.4",
},
@@ -660,7 +660,7 @@
"@types/react-dom": "^19",
"class-variance-authority": "0.7.1",
"framer-motion": "^12.5.0",
- "next": "16.4.1",
+ "next": "16.4.5",
"prismjs": "^1.30.0",
"react": "19.2.4",
"react-dom": "19.2.4",
@@ -790,7 +790,7 @@
},
"devDependencies": {
"@clack/prompts": "1.7.0",
- "@next/env": "16.4.1",
+ "@next/env": "16.4.5",
"@sim/deployment-config": "workspace:*",
"@sim/security": "workspace:*",
"@sim/tsconfig": "workspace:*",
@@ -824,7 +824,7 @@
},
"devDependencies": {
"@sim/tsconfig": "workspace:*",
- "next": "16.4.1",
+ "next": "16.4.5",
"stripe": "18.5.0",
"typescript": "^7.0.2",
"vitest": "^5.0.4",
@@ -874,7 +874,7 @@
"devDependencies": {
"@sim/tsconfig": "workspace:*",
"@types/node": "24.19.2",
- "@xyflow/react": "12.12.0",
+ "@xyflow/react": "12.12.1",
"typescript": "^7.0.2",
"vitest": "^5.0.4",
},
@@ -891,7 +891,7 @@
"@types/hast": "3.0.5",
"@types/react": "^19",
"@types/react-dom": "^19",
- "@xyflow/react": "12.12.0",
+ "@xyflow/react": "12.12.1",
"jsdom": "^26.0.0",
"react": "19.2.4",
"react-dom": "19.2.4",
@@ -917,7 +917,7 @@
"version": "0.1.0",
"devDependencies": {
"@sim/tsconfig": "workspace:*",
- "@xyflow/react": "12.12.0",
+ "@xyflow/react": "12.12.1",
"typescript": "^7.0.2",
},
"peerDependencies": {
@@ -930,25 +930,25 @@
],
"patchedDependencies": {
"echarts@6.1.0": "patches/echarts@6.1.0.patch",
- "next@16.4.1": "patches/next@16.4.1.patch",
"oracledb@7.0.1": "patches/oracledb@7.0.1.patch",
"zod@4.3.6": "patches/zod@4.3.6.patch",
"postgres@3.4.9": "patches/postgres@3.4.9.patch",
"@better-auth/oauth-provider@1.6.27": "patches/@better-auth%2Foauth-provider@1.6.27.patch",
- "drizzle-kit@0.31.10": "patches/drizzle-kit@0.31.10.patch",
+ "drizzle-kit@0.31.11": "patches/drizzle-kit@0.31.11.patch",
+ "next@16.4.5": "patches/next@16.4.5.patch",
},
"overrides": {
"@ai-sdk/provider-utils": "3.0.28",
"@azure/identity": "4.14.1",
"@grpc/grpc-js": "1.14.6",
"@hono/node-server": "2.1.5",
- "@next/env": "16.4.1",
+ "@next/env": "16.4.5",
"@xmldom/xmldom": "0.8.15",
"axios": "1.20.0",
"body-parser": "2.4.0",
"deepmerge-ts": "8.0.0",
"dompurify": "3.4.17",
- "e2b": "2.50.0",
+ "e2b": "2.62.1",
"engine.io": "6.6.11",
"fast-copy": "4.2.0",
"fast-uri": "3.1.9",
@@ -958,8 +958,8 @@
"ip-address": "10.7.4",
"marked": "18.0.11",
"mermaid": "11.16.1",
- "next": "16.4.1",
- "postcss": "8.5.30",
+ "next": "16.4.5",
+ "postcss": "8.5.32",
"postgres": "3.4.9",
"prosemirror-model": "1.25.12",
"prosemirror-state": "1.4.4",
@@ -1294,10 +1294,6 @@
"@clack/prompts": ["@clack/prompts@1.7.0", "", { "dependencies": { "@clack/core": "1.4.3", "fast-string-width": "^3.0.2", "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" } }, "sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A=="],
- "@connectrpc/connect": ["@connectrpc/connect@2.2.0", "", { "peerDependencies": { "@bufbuild/protobuf": "^2.7.0" } }, "sha512-M63OQ1ZFcPUm85CuewJ9G9CMV8LjzGR9935xOnXNQGSazAbwMb3x2W7vXBYM1zqrP7XFD8uxp/dUAhirclgwnQ=="],
-
- "@connectrpc/connect-web": ["@connectrpc/connect-web@2.2.0", "", { "peerDependencies": { "@bufbuild/protobuf": "^2.7.0", "@connectrpc/connect": "2.2.0" } }, "sha512-uuBUcBTYfb/r1o98LzCCZk1H90yx0vmZ5m21dpw/q4EUwsKwkCDGI8H0aEdjcZld+Q2jJ5A5ADvPqfb6lzQ/sg=="],
-
"@csstools/color-helpers": ["@csstools/color-helpers@5.1.0", "", {}, "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA=="],
"@csstools/css-calc": ["@csstools/css-calc@2.1.4", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ=="],
@@ -1318,7 +1314,9 @@
"@drizzle-team/brocli": ["@drizzle-team/brocli@0.10.2", "", {}, "sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w=="],
- "@e2b/code-interpreter": ["@e2b/code-interpreter@2.7.1", "", { "dependencies": { "e2b": "^2.39.0" } }, "sha512-1M4YhyWOWZzZyt1XessPbMwkVOsfpsWTiOgPKbA60CtDQasUQA8bRdN7HxsajYMrNxF5tk8J0fwrY7oa2oTK4g=="],
+ "@e2b/code-interpreter": ["@e2b/code-interpreter@2.9.1", "", { "dependencies": { "e2b": "^2.62.1" } }, "sha512-8/OpeMFf4irGssVN27KAczH0eE/RLzES1TgjKx0Fa1Jy8LVu/kO8ssE5Oby5vvYIxJF4rSvDAVBI+PD05siwzQ=="],
+
+ "@e2b/dockerfile-utils": ["@e2b/dockerfile-utils@0.1.1", "", {}, "sha512-eDmlWRMrJNzSUbBOf6Y/qTChd1Ys/o3YY8PK6tRQmwkV2u7z3ZS2cak/YJB07odHMT/Z6HJKoUElR/b0N6bHUw=="],
"@earendil-works/chord": ["@earendil-works/chord@1.0.0", "", { "dependencies": { "esbuild": "0.28.2" } }, "sha512-BIfWfrByM0pKq6tfKYXuwx0ed2CvaqIM3EDA7Dps+fP+d3CiPWdlHi1cDsJC05llqKJoRz5//G0hz0yQwwjISQ=="],
@@ -1512,6 +1510,8 @@
"@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="],
+ "@isaacs/nonrecursive-glob-match": ["@isaacs/nonrecursive-glob-match@1.0.3", "", {}, "sha512-SI7kyKHq4XXDRozw+r9GlRZkia1ZkFrpLW98r2IC2Bpr8YkFGE3fvjzmxCG0x78A++69HmDNrDvSMYBZmHGpKA=="],
+
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
"@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="],
@@ -1550,7 +1550,7 @@
"@malept/flatpak-bundler": ["@malept/flatpak-bundler@0.4.0", "", { "dependencies": { "debug": "^4.1.1", "fs-extra": "^9.0.0", "lodash": "^4.17.15", "tmp-promise": "^3.0.2" } }, "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q=="],
- "@marsidev/react-turnstile": ["@marsidev/react-turnstile@1.6.2", "", { "peerDependencies": { "react": "^17.0.2 || ^18.0.0 || ^19.0", "react-dom": "^17.0.2 || ^18.0.0 || ^19.0" } }, "sha512-0CL9hNI/t39C8JfBCHQWj+A7llq2xdf9cjg0bYVbiywQlVS0bi1LTTTnF3S59OaBYgc+tMrxMedSDICJfaAkdg=="],
+ "@marsidev/react-turnstile": ["@marsidev/react-turnstile@1.6.3", "", { "peerDependencies": { "react": "^17.0.2 || ^18.0.0 || ^19.0", "react-dom": "^17.0.2 || ^18.0.0 || ^19.0" } }, "sha512-JdMMArjEVDMs5jnGMBeXl3y6dkMuIXPG4Tu88Uo2Rkf8ujEw/iJ2Yp/3n4kDF3BjJ+bJB9WC19LPWc5a7/4srA=="],
"@mdx-js/mdx": ["@mdx-js/mdx@3.1.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "acorn": "^8.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ=="],
@@ -1564,7 +1564,7 @@
"@modelcontextprotocol/core": ["@modelcontextprotocol/core@2.3.1", "", { "dependencies": { "zod": "^4.2.0" } }, "sha512-laVmIhPGpWi7rG9q+0UigblRN0Hws/Yjlb6qLFtVqryXVLkc4h+yN8z731POD2LnAGQlFe7/tXhUm7Bi0YB91g=="],
- "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.32.1", "", { "dependencies": { "@hono/node-server": "^1.19.9 || ^2.0.5", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-2DdE+SJDtzLEEWzY1ZjY7Q+VcPhcV1KisD3zI4u0XZyktsjHum1mwbMI+JaulUBi2OZk+KJAi2uPXzxichPkdw=="],
+ "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.32.2", "", { "dependencies": { "@hono/node-server": "^1.19.9 || ^2.0.5", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-SWsVtH/0vULSQStoZ6xxH2K09Li8fXYTMC64ZeogCdpZ3XSi1eCPOByV1OpuJxuI3OcmHhosDWYyii07tpPsLw=="],
"@modelcontextprotocol/server": ["@modelcontextprotocol/server@2.3.1", "", { "dependencies": { "@modelcontextprotocol/core": "2.3.1", "zod": "^4.2.0" } }, "sha512-e59MfWuSssj6DoQ96JCTqdW1AXT5/XtnTl0WWd6MU1Ka434fFUGGosCLJbGNySDhHGvxQWoRWK137FXYFkYNWw=="],
@@ -1600,23 +1600,23 @@
"@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.2.4", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.4", "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.4" } }, "sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g=="],
- "@next/env": ["@next/env@16.4.1", "", {}, "sha512-5sUUrrSvs/2/2LnLoesybMGx12EtPB46fdZ6RhAw0XDGSPxU2LFyQBB7yuEiOFFJPKmBY6+q2jTr1/AMbnp0/g=="],
+ "@next/env": ["@next/env@16.4.5", "", {}, "sha512-JwSPwpdkZL5VMl2jA/q+JI8MZdweAL3xmw5/tb9y/TLtmS0YXZnmYDzSihwk8xTj1OL+WM53gTqaj96yuLp6Xw=="],
- "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@16.4.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-U+hQ5Gj3fpzf4fveTIF3dpUFYhaSW8vHhdAnbiIomzXzg7boreYFgBqprepXFtW4sw+aTttiNmg0gew/iFNhbg=="],
+ "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@16.4.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-W5TniBzWKASbNNwHZ/S/f1MxQUXU/LdjklVMWA0Ujbfl7SZnUzFls45hO0i/sF7Bx1jJBWp7WWmoQajXtX/O8A=="],
- "@next/swc-darwin-x64": ["@next/swc-darwin-x64@16.4.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-/hqC3V1XLUjhMASf/WridKdO9FXoEgN3HBWmtKbj00MPgnltutfraWJ3bYTpCRIgEIpbjJyOVLpYgAhh/BkdcQ=="],
+ "@next/swc-darwin-x64": ["@next/swc-darwin-x64@16.4.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-uWq4qkHapBDS1oFltWS4YxTb9pLHAtLNcpbuK6SmRsebLYZqpBML/j/C0op+50JYGTpZgVL/DWNt/6oWlamrrw=="],
- "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@16.4.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-GHzncHbcaS9g95kcvTNtKQW3aCLoR+xc3Jm7qrkpk1R+D2BjMHIPyvQGRPKCdMX95BsH/421jBUK06q9tEwzjw=="],
+ "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@16.4.5", "", { "os": "linux", "cpu": "arm64", "libc": "glibc" }, "sha512-FdRcyOx5u5P51mlAqLB9EXdd8jZO5fsdHtk4BAQSkqOywCsbTNN/rmw+jO7pnmjNdAtu2AG46NzbCL2FPDrrgw=="],
- "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@16.4.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-1SuJyDxW/PR9dHJat/ZRgcYLhuSZ+1psP4DlKb2tKIuXbjygqpLrJWRSq+onZQBv8LcmU67EIrmb6c3XTaJLjw=="],
+ "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@16.4.5", "", { "os": "linux", "cpu": "arm64", "libc": "musl" }, "sha512-cyvmmgtRXR8aGVT86wi9Py53IlfyCx7P2fZxuAXAoTummDnhKtUyjrMeXfapqp4qgD+gT5RqyGD/VfA16jEK7Q=="],
- "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@16.4.1", "", { "os": "linux", "cpu": "x64" }, "sha512-Istng1hMGp9TGO4lUqeKLd70MPN/OOkucVTP2Nmj+gLkwBgmPqUw8CJYBCC7nbl/B/23bBCcjCI5Hsh6hazC1A=="],
+ "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@16.4.5", "", { "os": "linux", "cpu": "x64", "libc": "glibc" }, "sha512-hPc+Fl+N22DAvqZHq559NmamXboOX5Lu8I5Wl0DezfrhTk1Zz21NQeYoZDmNI/NjTcrdsVxM72Fzn2lI+Q+vAw=="],
- "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@16.4.1", "", { "os": "linux", "cpu": "x64" }, "sha512-aSC9wMNiZRRFVpPkPWBzRwLQxIGm/CiQcXyFF1XNcgodb+uMxdk7aSSGGpDXCbnvZdf4itjHxpOd5h7i7zaiYw=="],
+ "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@16.4.5", "", { "os": "linux", "cpu": "x64", "libc": "musl" }, "sha512-gbACYE8IP/jlprNTpiWXHb8N9CofOzpnEwH2SrIz1dUbiJf1FbDssDupCAPeP1Taxe8mgG20sGZamJI7KFOdZw=="],
- "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@16.4.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-t/myvwFDlypMUjRvbBf8qLPyuaB0iXYYdBtwMt6DM6f+60wtGr4bSYholdPqNeV5VUXZhrpMwfza829kmhS3iA=="],
+ "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@16.4.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-+8gj++ZMo8H20Xh2ijjNqyFk5LPLw0AC4Fs4Tq/G94rjjQXhOjN4jgSWsWKPFsyY26hfIeemJIwKtMxOsp5GBA=="],
- "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@16.4.1", "", { "os": "win32", "cpu": "x64" }, "sha512-6ICqPo9awCkrtYNPhwkx1uU7rlFWrZRrIboDHS2LU+jv088UBYQtmJ25h6pCp27/+FZjF6BQ4Te4ErugyMeuBg=="],
+ "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@16.4.5", "", { "os": "win32", "cpu": "x64" }, "sha512-qNZj66pYXnaWLiF9R9GUbfBdrCv7kC6TaZfIwB2KH5WPc/8pEM3nVOj8hpQhWJU8S94rlH5MPDcX15+RrgUhiw=="],
"@noble/ciphers": ["@noble/ciphers@2.2.0", "", {}, "sha512-Z6pjIZ/8IJcCGzb2S/0Px5J81yij85xASuk1teLNeg75bfT07MV3a/O2Mtn1I2se43k3lkVEcFaR10N4cgQcZA=="],
@@ -2278,9 +2278,9 @@
"@types/braces": ["@types/braces@3.0.5", "", {}, "sha512-SQFof9H+LXeWNz8wDe7oN5zu7ket0qwMu5vZubW4GCJ8Kkeh6nBWUz87+KTz/G3Kqsrp0j/W253XJb3KMEeg3w=="],
- "@types/bun": ["@types/bun@1.4.3", "", { "dependencies": { "bun-types": "1.4.3" } }, "sha512-N67Pqy8JXbAY/j0tNraS3V5mubGvc6rrrNDmDCtZLlFzccbUJPDb0tvgUBC5q4m8ybkP93Jcn1QB+RYQ6PvBhw=="],
+ "@types/bun": ["@types/bun@1.4.4", "", { "dependencies": { "bun-types": "1.4.4" } }, "sha512-9wkRDXUXK124pEnAutE6n/l18j+i9GC5IAHK8TmX/2nlySETmky0OU6yL5U8pW1AoKh++AN9auDCr647BfurjQ=="],
- "@types/busboy": ["@types/busboy@1.5.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-kG7WrUuAKK0NoyxfQHsVE6j1m01s6kMma64E+OZenQABMQyTJop1DumUWcLwAQ2JzpefU7PDYoRDKl8uZosFjw=="],
+ "@types/busboy": ["@types/busboy@1.5.5", "", { "dependencies": { "@types/node": "*" } }, "sha512-IwqrfVFxWa23c4WeE7uZswssCqGfvnl5Q7b1pdshbT3HaQDa3UIbJx5BAxtcj9nZYX9tVDArM9TUv9SpvORbpQ=="],
"@types/cacheable-request": ["@types/cacheable-request@6.0.3", "", { "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", "@types/node": "*", "@types/responselike": "^1.0.0" } }, "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw=="],
@@ -2288,7 +2288,7 @@
"@types/chai": ["@types/chai@5.2.3", "", { "dependencies": { "@types/deep-eql": "*", "assertion-error": "^2.0.1" } }, "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA=="],
- "@types/chrome": ["@types/chrome@0.3.6", "", { "dependencies": { "@types/har-format": "*" } }, "sha512-NXCrCBefCHCKMVbkaxfBQqyP766Wg85S2FQhixCCxq7AtjJwoEaja2y5NSqCzpihIi9mPqhaF5RuybTnrdYD2Q=="],
+ "@types/chrome": ["@types/chrome@0.3.7", "", { "dependencies": { "@types/har-format": "*" } }, "sha512-jWZgbHqWbTL1a5+PoyN0OJutNyejWgyZ5MdcvKo6iJE1TNRtXR3FxsC4WzNl52yZWPidfWC8NV/VUNZf+OFKcA=="],
"@types/cors": ["@types/cors@2.8.19", "", { "dependencies": { "@types/node": "*" } }, "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg=="],
@@ -2390,7 +2390,7 @@
"@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="],
- "@types/mdx": ["@types/mdx@2.0.13", "", {}, "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw=="],
+ "@types/mdx": ["@types/mdx@2.0.14", "", {}, "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg=="],
"@types/micromatch": ["@types/micromatch@4.0.10", "", { "dependencies": { "@types/braces": "*" } }, "sha512-5jOhFDElqr4DKTrTEbnW8DZ4Hz5LRUEmyrGpCMrD/NphYv3nUnaF08xmSLx1rGGnyEs/kFnhiw6dCgcDqMr5PQ=="],
@@ -2530,9 +2530,9 @@
"@xterm/xterm": ["@xterm/xterm@6.0.0", "", {}, "sha512-TQwDdQGtwwDt+2cgKDLn0IRaSxYu1tSUjgKarSDkUM0ZNiSRXFpjxEsvc/Zgc5kq5omJ+V0a8/kIM2WD3sMOYg=="],
- "@xyflow/react": ["@xyflow/react@12.12.0", "", { "dependencies": { "@xyflow/system": "0.0.83", "classcat": "^5.0.3", "zustand": "^4.4.0" }, "peerDependencies": { "@types/react": ">=17", "@types/react-dom": ">=17", "react": ">=17", "react-dom": ">=17" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-74oXI0Rgm1Eu33cHQAd74J6oVgCH9mbFyTVQbsGgp2kmWwh0HdtBr2VP04z8mbPD+M/xO69nqG5dDEt7/EN2rQ=="],
+ "@xyflow/react": ["@xyflow/react@12.12.1", "", { "dependencies": { "@xyflow/system": "0.0.84", "classcat": "^5.0.3", "zustand": "^4.4.0" }, "peerDependencies": { "@types/react": ">=17", "@types/react-dom": ">=17", "react": ">=17", "react-dom": ">=17" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-g41OHmP+GL5wDBQKpgYt8AF6RlB4CrABtiStXhCMqdItK6gPdSpsuDk8V0YtdyvIvMPTjDJvkuLkz0JbSYu5Cw=="],
- "@xyflow/system": ["@xyflow/system@0.0.83", "", { "dependencies": { "@types/d3-drag": "^3.0.7", "@types/d3-interpolate": "^3.0.4", "@types/d3-selection": "^3.0.10", "@types/d3-transition": "^3.0.8", "@types/d3-zoom": "^3.0.8", "d3-drag": "^3.0.0", "d3-interpolate": "^3.0.1", "d3-selection": "^3.0.0", "d3-zoom": "^3.0.0" } }, "sha512-a//eDjez3WZF47aaPTfVUDD0OINOq+WVwBZCRTqG+m0a5euX8EwlJ4jMY1Wxz0Ocj4xOeekJ70V22Pq0ll8RJw=="],
+ "@xyflow/system": ["@xyflow/system@0.0.84", "", { "dependencies": { "@types/d3-drag": "^3.0.7", "@types/d3-interpolate": "^3.0.4", "@types/d3-selection": "^3.0.10", "@types/d3-transition": "^3.0.8", "@types/d3-zoom": "^3.0.8", "d3-drag": "^3.0.0", "d3-interpolate": "^3.0.1", "d3-selection": "^3.0.0", "d3-zoom": "^3.0.0" } }, "sha512-96zfGFjH3oZ3T0MRdH4gJ0SlXuCIxbBuHVevZ4xry5UTxqjzjt010+LRdholgepq7jhrcaz1JNtzrETscwnkEA=="],
"@zone-eu/mailsplit": ["@zone-eu/mailsplit@5.4.16", "", { "dependencies": { "libbase64": "1.3.0", "libmime": "5.4.3", "libqp": "2.1.1" } }, "sha512-zQ9iXvlT3Wi/hazeC1MdI4rQc1UJwJ6IQ6QzSZ5KDxLZZWQSazWLOzImLFluXadKShJ9WJvI1xH+AyVS8b9azg=="],
@@ -2680,7 +2680,7 @@
"builder-util-runtime": ["builder-util-runtime@9.7.0", "", { "dependencies": { "debug": "^4.3.4", "sax": "^1.2.4" } }, "sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw=="],
- "bun-types": ["bun-types@1.4.3", "", { "dependencies": { "@types/node": "*", "undici-types": "*" } }, "sha512-tinRJNGOmUN+tEAsn2y2e942n9JHRHR42iUYzDH75NmhJqVBokGSQkkfSFdNWwsANIdrK6ACH9t01M452YyTwg=="],
+ "bun-types": ["bun-types@1.4.4", "", { "dependencies": { "@types/node": "*", "undici-types": "*" } }, "sha512-yjrJh5oGX7mMPKGd19YXyIjmEuj4G4zNC30bs7PM9Az7NQ3ndF3j6hbeRdvJTRQEhJ/FYQwW0a2moweEi2hMxQ=="],
"bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="],
@@ -2990,8 +2990,6 @@
"dmg-builder": ["dmg-builder@26.15.3", "", { "dependencies": { "app-builder-lib": "26.15.3", "builder-util": "26.15.3", "fs-extra": "^10.1.0", "js-yaml": "^4.1.0" } }, "sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ=="],
- "dockerfile-ast": ["dockerfile-ast@0.7.1", "", { "dependencies": { "vscode-languageserver-textdocument": "^1.0.8", "vscode-languageserver-types": "^3.17.3" } }, "sha512-oX/A4I0EhSkGqrFv0YuvPkBUSYp1XiY8O8zAKc8Djglx8ocz+JfOr8gP0ryRMC2myqvDLagmnZaU9ot1vG2ijw=="],
-
"docs": ["docs@workspace:apps/docs"],
"docx": ["docx@9.7.1", "", { "dependencies": { "@types/node": "^25.2.3", "hash.js": "^1.1.7", "jszip": "^3.10.1", "nanoid": "^5.1.3", "xml": "^1.0.1", "xml-js": "^1.6.8" } }, "sha512-ilXFf9Moz47ABjFpDiA5s1w9lpb4EFSp7+5iiJSbfyYDM+bpZdAgLlSr7fW4aXhVe/E+F6QCv0EvRVFEd5CsWg=="],
@@ -3016,7 +3014,7 @@
"dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA=="],
- "drizzle-kit": ["drizzle-kit@0.31.10", "", { "dependencies": { "@drizzle-team/brocli": "^0.10.2", "@esbuild-kit/esm-loader": "^2.5.5", "esbuild": "^0.25.4", "tsx": "^4.21.0" }, "bin": { "drizzle-kit": "bin.cjs" } }, "sha512-7OZcmQUrdGI+DUNNsKBn1aW8qSoKuTH7d0mYgSP8bAzdFzKoovxEFnoGQp2dVs82EOJeYycqRtciopszwUf8bw=="],
+ "drizzle-kit": ["drizzle-kit@0.31.11", "", { "dependencies": { "@drizzle-team/brocli": "^0.10.2", "@esbuild-kit/esm-loader": "^2.5.5", "esbuild": "^0.25.4", "tsx": "^4.21.0" }, "bin": { "drizzle-kit": "bin.cjs" } }, "sha512-YCYqxTLIB2OCqf6w9/Vef13baBVbwQIPcbT4Y56AfO6B9ajZhDhD8Jkveg/hJvT/iuMloKD/IYYkyMMNhr7Kqg=="],
"drizzle-orm": ["drizzle-orm@0.45.4", "", { "peerDependencies": { "@aws-sdk/client-rds-data": ">=3", "@cloudflare/workers-types": ">=4", "@electric-sql/pglite": ">=0.2.0", "@libsql/client": ">=0.10.0", "@libsql/client-wasm": ">=0.10.0", "@neondatabase/serverless": ">=0.10.0", "@netlify/db": ">=0.4.0", "@op-engineering/op-sqlite": ">=2", "@opentelemetry/api": "^1.4.1", "@planetscale/database": ">=1.13", "@prisma/client": "*", "@tidbcloud/serverless": "*", "@types/better-sqlite3": "*", "@types/pg": "*", "@types/sql.js": "*", "@upstash/redis": ">=1.34.7", "@vercel/postgres": ">=0.8.0", "@xata.io/client": "*", "better-sqlite3": ">=7", "bun-types": "*", "expo-sqlite": ">=14.0.0", "gel": ">=2", "knex": "*", "kysely": "*", "mysql2": ">=2", "pg": ">=8", "postgres": ">=3", "prisma": "*", "sql.js": ">=1", "sqlite3": ">=5" }, "optionalPeers": ["@aws-sdk/client-rds-data", "@cloudflare/workers-types", "@electric-sql/pglite", "@libsql/client", "@libsql/client-wasm", "@neondatabase/serverless", "@netlify/db", "@op-engineering/op-sqlite", "@opentelemetry/api", "@planetscale/database", "@prisma/client", "@tidbcloud/serverless", "@types/better-sqlite3", "@types/pg", "@types/sql.js", "@upstash/redis", "@vercel/postgres", "@xata.io/client", "better-sqlite3", "bun-types", "expo-sqlite", "gel", "knex", "kysely", "mysql2", "pg", "postgres", "prisma", "sql.js", "sqlite3"] }, "sha512-NiM1YZpJ2UxyeE67DpDDZ+Tsw4YLX3trSlkNT7Tm9eKoUNb1LvaAaQzXgYQsWs+AQ9TUmmwMmBOCXuqqxUWKKQ=="],
@@ -3028,7 +3026,7 @@
"duplexify": ["duplexify@4.1.3", "", { "dependencies": { "end-of-stream": "^1.4.1", "inherits": "^2.0.3", "readable-stream": "^3.1.1", "stream-shift": "^1.0.2" } }, "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA=="],
- "e2b": ["e2b@2.50.0", "", { "dependencies": { "@bufbuild/protobuf": "^2.14.1", "@connectrpc/connect": "^2.2.0", "@connectrpc/connect-web": "^2.2.0", "chalk": "^5.3.0", "compare-versions": "^6.1.0", "dockerfile-ast": "^0.7.1", "glob": "^13.0.6", "openapi-fetch": "^0.14.1", "platform": "^1.3.6", "tar": "^7.5.22", "undici": "^7.29.1" }, "optionalDependencies": { "undici8": "npm:undici@8.10.2" } }, "sha512-XADlFhXGMvvWGPnyBiah6EFwNFBg1XIvdLInKhjMq/tuhlpN46Btj9BpuxwjvGenVJNZgimzn6Xj0XwttrMKjQ=="],
+ "e2b": ["e2b@2.62.1", "", { "dependencies": { "@bufbuild/protobuf": "^2.16.0", "@connectrpc/connect": "^2.2.0", "@connectrpc/connect-web": "^2.2.0", "@e2b/dockerfile-utils": "^0.1.1", "chalk": "^5.6.2", "compare-versions": "^6.1.1", "glob": "^14.0.2", "openapi-fetch": "^0.17.0", "platform": "^1.3.6", "tar": "^7.5.22", "undici": "^8.12.3" } }, "sha512-8TxPojt1659LmX9SX8zSet6fdefWxeSZoh+obad8DuC5wdRQdMbzN6ahEKNGzjrCNJFR26YeRZWOboXsy9UDYA=="],
"ecdsa-sig-formatter": ["ecdsa-sig-formatter@1.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ=="],
@@ -3048,7 +3046,7 @@
"electron-publish": ["electron-publish@26.15.3", "", { "dependencies": { "@types/fs-extra": "^9.0.11", "aws4": "^1.13.2", "builder-util": "26.15.3", "builder-util-runtime": "9.7.0", "chalk": "^4.1.2", "form-data": "^4.0.5", "fs-extra": "^10.1.0", "lazy-val": "^1.0.5", "mime": "^2.5.2" } }, "sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q=="],
- "electron-updater": ["electron-updater@6.8.9", "", { "dependencies": { "builder-util-runtime": "9.7.0", "fs-extra": "^10.1.0", "js-yaml": "^4.1.0", "lazy-val": "^1.0.5", "lodash.escaperegexp": "^4.1.2", "lodash.isequal": "^4.5.0", "semver": "~7.7.3", "tiny-typed-emitter": "^2.1.0" } }, "sha512-ZhVxM9iGONUpZGI1FxdMRgJjUFXi7AYGVa5PwKlO1tV1/4zDxQmfKpXOHVztKrd6L9rLcFjERvi1Mf2vxyTkig=="],
+ "electron-updater": ["electron-updater@6.8.12", "", { "dependencies": { "builder-util-runtime": "9.7.1", "fs-extra": "^10.1.0", "js-yaml": "^4.1.0", "lazy-val": "^1.0.5", "lodash.escaperegexp": "^4.1.2", "lodash.isequal": "^4.5.0", "semver": "~7.7.3", "tiny-typed-emitter": "^2.1.0" } }, "sha512-AK17iWH8zXu5Qqw2f2P0v+Fx4tAF9dWWOYAe2jgURpNz6i2LQc9ZX3hBq4K7iP9qjNnaDzRHKn8455+MEwlrbw=="],
"electron-winstaller": ["electron-winstaller@5.4.0", "", { "dependencies": { "@electron/asar": "^3.2.1", "debug": "^4.1.1", "fs-extra": "^7.0.1", "lodash": "^4.17.21", "temp": "^0.9.0" }, "optionalDependencies": { "@electron/windows-sign": "^1.1.2" } }, "sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg=="],
@@ -3312,7 +3310,7 @@
"hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="],
- "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.6", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg=="],
+ "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.7", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-object": "^2.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-F7DNV2NMcTxA4GqPVHnXzX+mpoPHAIY9rJAVH3CZ1FdBZOcBUEjUuvMkMpHVs/sicEtznh9tMGj5WUR9S4E2rg=="],
"hast-util-to-parse5": ["hast-util-to-parse5@8.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA=="],
@@ -3394,7 +3392,7 @@
"inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="],
- "inline-style-parser": ["inline-style-parser@0.2.7", "", {}, "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="],
+ "inline-style-parser": ["inline-style-parser@0.2.9", "", {}, "sha512-IttN8BqKLxzUrnTqHI+/hwAJQItBAUjdoHERCDv+oOuX48VP6bzW8+QjOXSfoevzq3YrYAwX1uLHp8TqO9yIeg=="],
"input-otp": ["input-otp@1.5.0", "", { "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-3AcfdW1sNG0FmSA5hHMBXG7jNW5CdcdKs8ln8JOmn6S2SRkoXoJx+2UwC+ZvjflfnOdHJx0SfQ9/YjlxVYLtGQ=="],
@@ -3814,7 +3812,7 @@
"mssql": ["mssql@12.7.4", "", { "dependencies": { "@tediousjs/connection-string": "^1.0.0", "commander": "^11.0.0", "debug": "^4.3.3", "tarn": "^3.0.2", "tedious": "^19.2.2 || ^20.0.0" }, "bin": { "mssql": "bin/mssql" } }, "sha512-rhN4TefcWOle1JsTep32bHGhHpcQPL9B08Q3P5HcTBRmZ+Irt/zI4y7TI2CXc2t3lP702fYoCASLPJiWh77KBA=="],
- "mysql2": ["mysql2@3.24.5", "", { "dependencies": { "aws-ssl-profiles": "^1.1.2", "generate-function": "^2.3.1", "iconv-lite": "^0.7.3", "long": "^5.3.2", "lru.min": "^1.1.4", "named-placeholders": "^1.1.6", "sql-escaper": "^1.5.1" }, "peerDependencies": { "@types/node": ">= 8" } }, "sha512-X6Ujsr2QSkkLpkQGjxzpKRAPn9nu4axpR63ntBzquFVEvPOArgbUQ1sJjFKI7hnaYtiVZxa17Z7q18KSubW0IQ=="],
+ "mysql2": ["mysql2@3.24.6", "", { "dependencies": { "aws-ssl-profiles": "^1.1.2", "generate-function": "^2.3.1", "iconv-lite": "^0.7.3", "long": "^5.3.2", "lru.min": "^1.1.4", "named-placeholders": "^1.1.6", "sql-escaper": "^1.5.1" }, "peerDependencies": { "@types/node": ">= 8" } }, "sha512-enu73KhbAua2L3dIxjc6qg6ZJ7H3pt1BImZASWNWY5xSsmJ1ZuUPULTDGXgmJbI61vb+nJAG19IZclIq19UidQ=="],
"named-placeholders": ["named-placeholders@1.1.6", "", { "dependencies": { "lru.min": "^1.1.0" } }, "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w=="],
@@ -3834,7 +3832,7 @@
"neo4j-driver-core": ["neo4j-driver-core@6.0.1", "", {}, "sha512-5I2KxICAvcHxnWdJyDqwu8PBAQvWVTlQH2ve3VQmtVdJScPqWhpXN1PiX5IIl+cRF3pFpz9GQF53B5n6s0QQUQ=="],
- "next": ["next@16.4.1", "", { "dependencies": { "@next/env": "16.4.1", "@swc/helpers": "0.5.23", "baseline-browser-mapping": "^2.9.19", "caniuse-lite": "^1.0.30001579", "postcss": "8.5.23", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "16.4.1", "@next/swc-darwin-x64": "16.4.1", "@next/swc-linux-arm64-gnu": "16.4.1", "@next/swc-linux-arm64-musl": "16.4.1", "@next/swc-linux-x64-gnu": "16.4.1", "@next/swc-linux-x64-musl": "16.4.1", "@next/swc-win32-arm64-msvc": "16.4.1", "@next/swc-win32-x64-msvc": "16.4.1", "sharp": "^0.35.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-uc657V62E34fOI6W5NtG9IzwsPcms0Z60grz2MJGtglgD+pTFnNt4Yw2PzaU622tfX4vhrDgLZzicE2YlhI20Q=="],
+ "next": ["next@16.4.5", "", { "dependencies": { "@next/env": "16.4.5", "@swc/helpers": "0.5.23", "baseline-browser-mapping": "^2.9.19", "caniuse-lite": "^1.0.30001579", "postcss": "8.5.23", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "16.4.5", "@next/swc-darwin-x64": "16.4.5", "@next/swc-linux-arm64-gnu": "16.4.5", "@next/swc-linux-arm64-musl": "16.4.5", "@next/swc-linux-x64-gnu": "16.4.5", "@next/swc-linux-x64-musl": "16.4.5", "@next/swc-win32-arm64-msvc": "16.4.5", "@next/swc-win32-x64-msvc": "16.4.5", "sharp": "^0.35.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-rmdfsWosjTUO+6R0S3KokoIk6Kj0sWDRTe86tZHdqaWH/oXq/udX3/4xb+YQi7aWbyEFoglDU54kaifLCdXbBw=="],
"next-mdx-remote": ["next-mdx-remote@6.0.0", "", { "dependencies": { "@babel/code-frame": "^7.23.5", "@mdx-js/mdx": "^3.0.1", "@mdx-js/react": "^3.0.1", "unist-util-remove": "^4.0.0", "unist-util-visit": "^5.1.0", "vfile": "^6.0.1", "vfile-matter": "^5.0.0" }, "peerDependencies": { "react": ">=16" } }, "sha512-cJEpEZlgD6xGjB4jL8BnI8FaYdN9BzZM4NwadPe1YQr7pqoWjg9EBCMv3nXBkuHqMRfv2y33SzUsuyNh9LFAQQ=="],
@@ -3910,9 +3908,9 @@
"openai": ["openai@7.32.0", "", { "peerDependencies": { "@aws-sdk/credential-provider-node": ">=3.972.0 <4", "@smithy/hash-node": ">=4.3.0 <5", "@smithy/signature-v4": ">=5.4.0 <6", "undici": ">=5 <9", "ws": "^8.21.0", "zod": "^3.25 || ^4.0" }, "optionalPeers": ["@aws-sdk/credential-provider-node", "@smithy/hash-node", "@smithy/signature-v4", "undici", "ws", "zod"] }, "sha512-avqxu/jl1gsVBCBgFNPr9sTh+wZppQphuhhFy1zEvAJxEaJ4t0ery6hZdOT9kws/EcNTARoQcZs2IT3bliE1SA=="],
- "openapi-fetch": ["openapi-fetch@0.14.1", "", { "dependencies": { "openapi-typescript-helpers": "^0.0.15" } }, "sha512-l7RarRHxlEZYjMLd/PR0slfMVse2/vvIAGm75/F7J6MlQ8/b9uUQmUF2kCPrQhJqMXSxmYWObVgeYXbFYzZR+A=="],
+ "openapi-fetch": ["openapi-fetch@0.17.0", "", { "dependencies": { "openapi-typescript-helpers": "^0.1.0" } }, "sha512-PsbZR1wAPcG91eEthKhN+Zn92FMHxv+/faECIwjXdxfTODGSGegYv0sc1Olz+HYPvKOuoXfp+0pA2XVt2cI0Ig=="],
- "openapi-typescript-helpers": ["openapi-typescript-helpers@0.0.15", "", {}, "sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw=="],
+ "openapi-typescript-helpers": ["openapi-typescript-helpers@0.1.0", "", {}, "sha512-OKTGPthhivLw/fHz6c3OPtg72vi86qaMlqbJuVJ23qOvQ+53uw1n7HdmkJFibloF7QEjDrDkzJiOJuockM/ljw=="],
"opentype.js": ["opentype.js@1.3.4", "", { "dependencies": { "string.prototype.codepointat": "^0.2.1", "tiny-inflate": "^1.0.3" }, "bin": { "ot": "bin/ot" } }, "sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw=="],
@@ -4018,7 +4016,7 @@
"postal-mime": ["postal-mime@2.7.6", "", {}, "sha512-UUlyE2KlxmvwMGq060onF/VWU3zD6dVW31FwokQ5v26jWd35fbs2MoTFzh+jXnPwAyV2MULMKXcBInGOl5TO6Q=="],
- "postcss": ["postcss@8.5.30", "", { "dependencies": { "nanoid": "^3.3.20", "picocolors": "^1.1.1", "source-map-js": "^1.2.2" } }, "sha512-zkd+e9S1AQHhmaBKye9zlFHWjOwVgqXl1q3ECYy8561K7qxR2cREf/STLskulBFd78k6AOFeA+ff1TtEzk9bAA=="],
+ "postcss": ["postcss@8.5.32", "", { "dependencies": { "nanoid": "^3.3.20", "picocolors": "^1.1.1", "source-map-js": "^1.2.2" } }, "sha512-LJlKCCAUFKOuZxipUdYw1NzIITEsPcgyOG9LkvRJvuKj/bRzbuRY0ARXvL0pWGpsZvn8jku+LMep2eU0seHp8g=="],
"postcss-load-config": ["postcss-load-config@6.0.1", "", { "dependencies": { "lilconfig": "^3.1.1" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["jiti", "postcss", "tsx", "yaml"] }, "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g=="],
@@ -4436,7 +4434,7 @@
"style-to-js": ["style-to-js@1.1.21", "", { "dependencies": { "style-to-object": "1.0.14" } }, "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ=="],
- "style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="],
+ "style-to-object": ["style-to-object@2.0.2", "", { "dependencies": { "inline-style-parser": "0.2.9" } }, "sha512-QmbXPUylqU80HAgTOJeEOdbA40W9KtxmjMhQy+tq+b8F2aoh3aQLuy82hh2jm2qsC9hR9eI0+eQidTMydKcqRA=="],
"styled-jsx": ["styled-jsx@5.1.6", "", { "dependencies": { "client-only": "0.0.1" }, "peerDependencies": { "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" } }, "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA=="],
@@ -4496,9 +4494,9 @@
"tinyrainbow": ["tinyrainbow@3.2.0", "", {}, "sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A=="],
- "tldts": ["tldts@7.4.18", "", { "dependencies": { "tldts-core": "^7.4.18" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-somxA8xKAUzlAxl0TX/jMSYIbRNFIVGnI96pVGJPeMc5BsHmfVXn6mOJT6U++ELnl04eGfzpfcEuZe8WiASkXg=="],
+ "tldts": ["tldts@7.4.19", "", { "dependencies": { "tldts-core": "^7.4.19" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-48dH6aSpQnpbzDUc4vIQZ1VjB8tkK+e8c1yx05/SZK+rkssgjEOlxDd/yU8/a4vGYQ9vRgJr9dwMq9TJ0b3X2Q=="],
- "tldts-core": ["tldts-core@7.4.18", "", {}, "sha512-KI2PKvCmvQI/xD6ypPqkU0i7oxNXR/O58RLRaHR4svsgVUQ2JE/XC8BtMbG6PSehD27I8sZJRcC1ASnCy6lp3g=="],
+ "tldts-core": ["tldts-core@7.4.20", "", {}, "sha512-C630TWXZCZmLq0F2bW4QqwnaaxCQ/svpAqvJwnC4JvgEM5ohhBnGsEzTLSOXcN+xjz+kEaHS5uoWIw2klnqd0A=="],
"tmp": ["tmp@0.2.7", "", {}, "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw=="],
@@ -4568,8 +4566,6 @@
"undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="],
- "undici8": ["undici@8.10.2", "", {}, "sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ=="],
-
"unicode-trie": ["unicode-trie@2.0.0", "", { "dependencies": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" } }, "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ=="],
"unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="],
@@ -4626,10 +4622,6 @@
"vitest": ["vitest@5.0.4", "", { "dependencies": { "@types/chai": "^5.2.2", "@vitest/mocker": "5.0.4", "chai": "^6.3.0", "es-module-lexer": "^2.3.2", "expect-type": "^1.4.0", "magic-string": "^1.4.3", "obug": "^3.0.0", "picomatch": "^4.0.7", "std-env": "^4.3.0", "tinybench": "^6.2.2", "tinyexec": "^1.3.1", "tinyglobby": "^0.2.17", "why-is-node-running": "3.2.1" }, "peerDependencies": { "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^22.0.0 || >=24.0.0", "@vitest/browser-playwright": "5.0.4", "@vitest/browser-preview": "5.0.4", "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0", "@vitest/coverage-istanbul": "5.0.4", "@vitest/coverage-v8": "5.0.4", "@vitest/ui": "5.0.4", "happy-dom": "*", "jsdom": "*", "vite": "^6.4.0 || ^7.0.0 || ^8.0.0" }, "optionalPeers": ["@edge-runtime/vm", "@opentelemetry/api", "@types/node", "@vitest/browser-playwright", "@vitest/browser-preview", "@vitest/browser-webdriverio", "@vitest/coverage-istanbul", "@vitest/coverage-v8", "@vitest/ui", "happy-dom", "jsdom"], "bin": { "vitest": "./vitest.mjs" } }, "sha512-z0WxZRV2Sg48wF0FSgMq3TFG8JS38/Qr96vZVZdX6+Em9raQTvnXQvdTFJe2m3rfyJnEHeHQ/snceIdi8D1pVg=="],
- "vscode-languageserver-textdocument": ["vscode-languageserver-textdocument@1.0.12", "", {}, "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA=="],
-
- "vscode-languageserver-types": ["vscode-languageserver-types@3.18.0", "", {}, "sha512-8TsGPNMIMiiBdkORgRSvLjuiEIiAFtO+KssmYWxQ+uSVvlf7RjK8YKCOjPzZ+YA04jXEV7+7LvkSmHkhpNS99g=="],
-
"w3c-keyname": ["w3c-keyname@2.2.8", "", {}, "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="],
"w3c-xmlserializer": ["w3c-xmlserializer@5.0.0", "", { "dependencies": { "xml-name-validator": "^5.0.0" } }, "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA=="],
@@ -5000,10 +4992,6 @@
"@jridgewell/trace-mapping/@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="],
- "@mdx-js/mdx/@types/mdx": ["@types/mdx@2.0.14", "", {}, "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg=="],
-
- "@mdx-js/react/@types/mdx": ["@types/mdx@2.0.14", "", {}, "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg=="],
-
"@octokit/plugin-paginate-rest/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="],
"@octokit/plugin-rest-endpoint-methods/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="],
@@ -5130,6 +5118,8 @@
"@types/archiver/@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="],
+ "@types/busboy/@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="],
+
"@types/cacheable-request/@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="],
"@types/cors/@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="],
@@ -5260,6 +5250,16 @@
"duplexify/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
+ "e2b/@bufbuild/protobuf": ["@bufbuild/protobuf@2.16.0", "", {}, "sha512-FWa0sPlqYGJgpTs6OxBRcL/AW4JT0OIO+W1ajerluoTVh8CV0B7XM1qsNCRgnkSCkRCgOICKHRQlY17jrsm0+Q=="],
+
+ "e2b/@connectrpc/connect": ["@connectrpc/connect@2.2.0", "", { "peerDependencies": { "@bufbuild/protobuf": "^2.7.0" } }, "sha512-M63OQ1ZFcPUm85CuewJ9G9CMV8LjzGR9935xOnXNQGSazAbwMb3x2W7vXBYM1zqrP7XFD8uxp/dUAhirclgwnQ=="],
+
+ "e2b/@connectrpc/connect-web": ["@connectrpc/connect-web@2.2.0", "", { "peerDependencies": { "@bufbuild/protobuf": "^2.7.0", "@connectrpc/connect": "2.2.0" } }, "sha512-uuBUcBTYfb/r1o98LzCCZk1H90yx0vmZ5m21dpw/q4EUwsKwkCDGI8H0aEdjcZld+Q2jJ5A5ADvPqfb6lzQ/sg=="],
+
+ "e2b/glob": ["glob@14.0.3", "", { "dependencies": { "minimatch": "^11.0.2", "minipass": "^7.1.3", "path-scurry": "^3.0.0" } }, "sha512-A1vjIwC3qpdCso45Iw127gnp7sPhqgY8lUQhDrArIs+GbmfaaVPFuoyy7WyLT9EPZCRZ7j7aLdwUhQmHWesEow=="],
+
+ "e2b/undici": ["undici@8.12.3", "", {}, "sha512-+fdndUTwBP86cVjihTp21hZHo7d6oj1c/47XPA3lL8mM0XHs+C4EkcjmgRsFnFk2f/UONGDy9ItBItmXsLOQHw=="],
+
"echarts/tslib": ["tslib@2.3.0", "", {}, "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="],
"electron-builder/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="],
@@ -5274,6 +5274,8 @@
"electron-publish/mime": ["mime@2.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="],
+ "electron-updater/builder-util-runtime": ["builder-util-runtime@9.7.1", "", { "dependencies": { "debug": "^4.3.4", "sax": "^1.2.4" } }, "sha512-LLAn0Ddqz0YIyysCysBkg18qEdAzMASiADSZl5G8gpxsqu1RJrdFAqoAW9suwg0GHKMqrycISFSD/9RqSm5d6g=="],
+
"electron-updater/fs-extra": ["fs-extra@10.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ=="],
"electron-updater/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="],
@@ -5352,7 +5354,7 @@
"node-fetch/whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="],
- "node-gyp/undici": ["undici@6.28.1", "", {}, "sha512-zWpdTVD54H48CIybL0rWQ3ukpb9d23wM7eH5RtfdmeP70cWHNjtfo7P4vZX+5CoDcO53J4Pu5uXp7lNfjc6DRA=="],
+ "node-gyp/undici": ["undici@6.29.1", "", {}, "sha512-EvRlUt/QqAEvXdQeRMYUfwOQsfzpDztykrG2owGEE/rBOBoYv9uF39ZzsNDh4lTFHhTr2XOZjKkYgueD12ZmGA=="],
"nypm/tinyexec": ["tinyexec@1.2.4", "", {}, "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg=="],
@@ -5424,6 +5426,8 @@
"strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="],
+ "style-to-js/style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="],
+
"tedious/@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="],
"tedious/iconv-lite": ["iconv-lite@0.7.2", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="],
@@ -5744,6 +5748,10 @@
"duplexer2/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="],
+ "e2b/glob/minimatch": ["minimatch@11.0.4", "", { "dependencies": { "@isaacs/nonrecursive-glob-match": "^1.0.3", "brace-expansion": "^5.0.12" } }, "sha512-/UJ1dEoVQTjPNDh6SGlUo+ueLMmoHTas4q+8yaAR/5t6nLAIiBDJtoYUh20IYleix7ehiQkgczb84PE3uzHkxg=="],
+
+ "e2b/glob/path-scurry": ["path-scurry@3.0.0", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-1pTbQqH1wIwMi/eleQ5leFTTCkzFsPcgXNjwOA8YGGW/W4/kHT3dssE7Z6NH+zuqNLOzOB0uaD61yl7cAcVhgg=="],
+
"electron-builder/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="],
"electron-builder/yargs/cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="],
@@ -5802,6 +5810,8 @@
"rimraf/glob/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="],
+ "style-to-js/style-to-object/inline-style-parser": ["inline-style-parser@0.2.7", "", {}, "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="],
+
"teeny-request/http-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="],
"teeny-request/https-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="],
diff --git a/bunfig.toml b/bunfig.toml
index 3a21b48225b..10b11a944a0 100644
--- a/bunfig.toml
+++ b/bunfig.toml
@@ -4,17 +4,21 @@ exact = true
# (blocks freshly published, potentially compromised releases).
minimumReleaseAge = 604800
# Explicit framework pins must install before their release reaches the age threshold: a
-# security release of Next.js is pinned exactly the day it ships. Trigger.dev 4.8.3 (published
-# 2026-10-30, the first release with workload identity) is exempted until it clears the threshold
-# on 2026-11-06; drop the four Trigger.dev entries then. They are bare names because Bun 1.4 ignores
-# version-pinned exclusions; `exact = true` and the lockfile still hold the packages at 4.8.3.
+# security release of Next.js is pinned exactly the day it ships, along with its platform compiler
+# binaries (optional dependencies, which Bun drops silently rather than failing when gated). They are
+# bare names because Bun 1.4 ignores version-pinned exclusions; `exact = true` and the lockfile still
+# hold the pinned versions.
minimumReleaseAgeExcludes = [
"next",
"@next/env",
- "@trigger.dev/sdk",
- "@trigger.dev/core",
- "@trigger.dev/build",
- "trigger.dev",
+ "@next/swc-darwin-arm64",
+ "@next/swc-darwin-x64",
+ "@next/swc-linux-arm64-gnu",
+ "@next/swc-linux-arm64-musl",
+ "@next/swc-linux-x64-gnu",
+ "@next/swc-linux-x64-musl",
+ "@next/swc-win32-arm64-msvc",
+ "@next/swc-win32-x64-msvc",
]
[run]
diff --git a/package.json b/package.json
index da86ca96166..1a04118d669 100644
--- a/package.json
+++ b/package.json
@@ -139,13 +139,13 @@
"overrides": {
"react": "19.2.4",
"react-dom": "19.2.4",
- "next": "16.4.1",
- "@next/env": "16.4.1",
+ "next": "16.4.5",
+ "@next/env": "16.4.5",
"postgres": "3.4.9",
"marked": "18.0.11",
"mermaid": "11.16.1",
"zod": "4.3.6",
- "e2b": "2.50.0",
+ "e2b": "2.62.1",
"@ai-sdk/provider-utils": "3.0.28",
"@azure/identity": "4.14.1",
"@grpc/grpc-js": "1.14.6",
@@ -162,7 +162,7 @@
"hono": "4.13.13",
"image-size": "2.0.4",
"ip-address": "10.7.4",
- "postcss": "8.5.30",
+ "postcss": "8.5.32",
"prosemirror-model": "1.25.12",
"prosemirror-state": "1.4.4",
"prosemirror-transform": "1.12.0",
@@ -177,10 +177,10 @@
"ws": "8.21.3"
},
"optionalDependencies": {
- "@next/swc-darwin-arm64": "16.4.1",
- "@next/swc-darwin-x64": "16.4.1",
- "@next/swc-linux-arm64-gnu": "16.4.1",
- "@next/swc-linux-x64-gnu": "16.4.1"
+ "@next/swc-darwin-arm64": "16.4.5",
+ "@next/swc-darwin-x64": "16.4.5",
+ "@next/swc-linux-arm64-gnu": "16.4.5",
+ "@next/swc-linux-x64-gnu": "16.4.5"
},
"devDependencies": {
"@babel/parser": "7.29.9",
@@ -224,11 +224,11 @@
],
"patchedDependencies": {
"@better-auth/oauth-provider@1.6.27": "patches/@better-auth%2Foauth-provider@1.6.27.patch",
- "drizzle-kit@0.31.10": "patches/drizzle-kit@0.31.10.patch",
+ "drizzle-kit@0.31.11": "patches/drizzle-kit@0.31.11.patch",
"postgres@3.4.9": "patches/postgres@3.4.9.patch",
"oracledb@7.0.1": "patches/oracledb@7.0.1.patch",
"echarts@6.1.0": "patches/echarts@6.1.0.patch",
- "next@16.4.1": "patches/next@16.4.1.patch",
+ "next@16.4.5": "patches/next@16.4.5.patch",
"zod@4.3.6": "patches/zod@4.3.6.patch"
}
}
diff --git a/packages/db/package.json b/packages/db/package.json
index 6e10e6893f0..6c5ad41d2ca 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -71,9 +71,9 @@
},
"devDependencies": {
"@sim/tsconfig": "workspace:*",
- "@types/bun": "1.4.3",
+ "@types/bun": "1.4.4",
"@types/node": "24.19.2",
- "drizzle-kit": "0.31.10",
+ "drizzle-kit": "0.31.11",
"typescript": "^7.0.2",
"vitest": "^5.0.4"
}
diff --git a/packages/emcn/package.json b/packages/emcn/package.json
index 31d3c8db466..cc539e50202 100644
--- a/packages/emcn/package.json
+++ b/packages/emcn/package.json
@@ -88,7 +88,7 @@
"@types/react-dom": "^19",
"class-variance-authority": "0.7.1",
"framer-motion": "^12.5.0",
- "next": "16.4.1",
+ "next": "16.4.5",
"prismjs": "^1.30.0",
"react": "19.2.4",
"react-dom": "19.2.4",
diff --git a/packages/runtime-secrets/src/trigger-env.test.ts b/packages/runtime-secrets/src/trigger-env.test.ts
index 14432c12dfa..de54bd0fed0 100644
--- a/packages/runtime-secrets/src/trigger-env.test.ts
+++ b/packages/runtime-secrets/src/trigger-env.test.ts
@@ -1,5 +1,22 @@
import { describe, expect, it } from 'vitest'
-import { parseTriggerEnvSyncTargets } from './trigger-env'
+import { buildTriggerEnvVars, parseTriggerEnvSyncTargets } from './trigger-env'
+
+describe('buildTriggerEnvVars', () => {
+ it('leaves the worker-specific network endpoints to the Trigger.dev environment', () => {
+ const synced = buildTriggerEnvVars({
+ REDIS_URL: 'rediss://vpc-redis:6379',
+ INTERNAL_API_BASE_URL: 'http://app.internal',
+ OUTBOUND_GATEWAYS: '{"gw":{"url":"https://vpc-lb:8443"}}',
+ OUTBOUND_GATEWAY_CREDENTIALS: '{"gw":{"token":"t"}}',
+ OUTBOUND_ROUTING_SOURCE: 'appconfig',
+ }).map((v) => v.name)
+ expect(synced).not.toContain('REDIS_URL')
+ expect(synced).not.toContain('INTERNAL_API_BASE_URL')
+ expect(synced).not.toContain('OUTBOUND_GATEWAYS')
+ expect(synced).toContain('OUTBOUND_GATEWAY_CREDENTIALS')
+ expect(synced).toContain('OUTBOUND_ROUTING_SOURCE')
+ })
+})
describe('parseTriggerEnvSyncTargets', () => {
it('reads an exact comma list', () => {
diff --git a/packages/runtime-secrets/src/trigger-env.ts b/packages/runtime-secrets/src/trigger-env.ts
index c85d274b201..7188ca0f583 100644
--- a/packages/runtime-secrets/src/trigger-env.ts
+++ b/packages/runtime-secrets/src/trigger-env.ts
@@ -26,6 +26,9 @@ const TRIGGER_OWNED_KEYS: ReadonlySet = new Set([
'REDIS_TLS_SERVERNAME',
// A VPC-internal base URL is unreachable from Trigger.dev's cloud.
'INTERNAL_API_BASE_URL',
+ // The app dials an egress gateway through the VPC load balancer; workers dial it through their
+ // own endpoint, so each gateway's `url` differs. The credentials and routing source are shared.
+ 'OUTBOUND_GATEWAYS',
// Schema-migration credential: runs never migrate, so they never hold it.
'MIGRATION_DATABASE_URL',
// `syncEnvVars` refuses to sync it, so it can only ever be set by hand.
diff --git a/packages/sim-setup/package.json b/packages/sim-setup/package.json
index 61a4580e02c..6bc23d21751 100644
--- a/packages/sim-setup/package.json
+++ b/packages/sim-setup/package.json
@@ -49,7 +49,7 @@
},
"devDependencies": {
"@clack/prompts": "1.7.0",
- "@next/env": "16.4.1",
+ "@next/env": "16.4.5",
"@sim/deployment-config": "workspace:*",
"@sim/security": "workspace:*",
"@sim/tsconfig": "workspace:*",
diff --git a/packages/testing/package.json b/packages/testing/package.json
index 1861cfe5aad..5390edb9150 100644
--- a/packages/testing/package.json
+++ b/packages/testing/package.json
@@ -72,7 +72,7 @@
},
"devDependencies": {
"@sim/tsconfig": "workspace:*",
- "next": "16.4.1",
+ "next": "16.4.5",
"stripe": "18.5.0",
"typescript": "^7.0.2",
"vitest": "^5.0.4"
diff --git a/packages/workflow-persistence/package.json b/packages/workflow-persistence/package.json
index ba4f12b927c..cf1273a5b51 100644
--- a/packages/workflow-persistence/package.json
+++ b/packages/workflow-persistence/package.json
@@ -50,7 +50,7 @@
"devDependencies": {
"@sim/tsconfig": "workspace:*",
"@types/node": "24.19.2",
- "@xyflow/react": "12.12.0",
+ "@xyflow/react": "12.12.1",
"typescript": "^7.0.2",
"vitest": "^5.0.4"
}
diff --git a/packages/workflow-renderer/package.json b/packages/workflow-renderer/package.json
index ec001f19113..b1b41174d8d 100644
--- a/packages/workflow-renderer/package.json
+++ b/packages/workflow-renderer/package.json
@@ -69,7 +69,7 @@
"@types/hast": "3.0.5",
"@types/react": "^19",
"@types/react-dom": "^19",
- "@xyflow/react": "12.12.0",
+ "@xyflow/react": "12.12.1",
"jsdom": "^26.0.0",
"react": "19.2.4",
"react-dom": "19.2.4",
diff --git a/packages/workflow-types/package.json b/packages/workflow-types/package.json
index 91101fcbfeb..9d3b048c134 100644
--- a/packages/workflow-types/package.json
+++ b/packages/workflow-types/package.json
@@ -31,7 +31,7 @@
},
"devDependencies": {
"@sim/tsconfig": "workspace:*",
- "@xyflow/react": "12.12.0",
+ "@xyflow/react": "12.12.1",
"typescript": "^7.0.2"
}
}
diff --git a/patches/README.md b/patches/README.md
index b97ad405fda..9128660ece7 100644
--- a/patches/README.md
+++ b/patches/README.md
@@ -48,7 +48,7 @@ closure handling. Keep the reconnect regression tests when upgrading.
# Drizzle development push policy
-`drizzle-kit@0.31.10` prompts when it sees both additions and removals, even with
+`drizzle-kit@0.31.11` prompts when it sees both additions and removals, even with
`--force`. Its PostgreSQL push path also catches errors and exits successfully,
which lets post-push work run against a schema that was not applied.
@@ -57,8 +57,11 @@ resolvers and makes PostgreSQL push failures and cancellations return nonzero.
`packages/db/scripts/push.ts` enables the policy only in its Drizzle subprocess
using `SIM_DB_PUSH_RENAME_MODE=create`. `--interactive-renames` selects the native
chooser and requires a terminal. Normal migration generation keeps its rename
-prompts. Data-loss confirmations, table filters, introspection, and generated SQL
-remain owned by Drizzle; `--force` still controls data-loss approval.
+prompts. Data-loss confirmations, table filters, and generated SQL remain owned
+by Drizzle; `--force` still controls data-loss approval. Introspection changes in
+one place: PostgreSQL unique constraints read their columns from
+`key_column_usage` in ordinal order, so a composite unique constraint is compared
+by its own columns in declared order.
The same policy answers Drizzle's prompt to truncate a populated table before
adding a unique constraint with its non-destructive choice: the constraint is
@@ -102,7 +105,7 @@ upstream release provides equivalent font handling and these tests pass.
# Next.js application Vary preservation
-`next@16.4.1` replaces application `Vary` values when the Node App Page handler
+`next@16.4.5` replaces application `Vary` values when the Node App Page handler
sets its router cache dimensions. The docs proxy's `Vary: Accept` therefore
vanishes from the final HTML response, allowing downstream caches to confuse
HTML with negotiated Markdown.
diff --git a/patches/drizzle-kit@0.31.10.patch b/patches/drizzle-kit@0.31.11.patch
similarity index 99%
rename from patches/drizzle-kit@0.31.10.patch
rename to patches/drizzle-kit@0.31.11.patch
index 841c851274b..601652b0d89 100644
--- a/patches/drizzle-kit@0.31.10.patch
+++ b/patches/drizzle-kit@0.31.11.patch
@@ -63,7 +63,7 @@ diff --git a/bin.cjs b/bin.cjs
- console.error(e4);
+ throw e4;
}
-@@ -92281,2 +92282,3 @@
+@@ -92291,2 +92292,3 @@
console.error(e4);
+ process.exit(1);
}
diff --git a/patches/next@16.4.1.patch b/patches/next@16.4.5.patch
similarity index 100%
rename from patches/next@16.4.1.patch
rename to patches/next@16.4.5.patch
diff --git a/turbo.json b/turbo.json
index 1838c7cecd0..8cda5cad432 100644
--- a/turbo.json
+++ b/turbo.json
@@ -18,6 +18,10 @@
// invalidate the cache.
"cacheMaxAge": "7d",
"cacheMaxSize": "40GB",
+ // Bun applies `patches/*` to installed dependencies, but `bun.lock` records only each patch's
+ // path, so editing a patch leaves every task hash unchanged and replays a build of the
+ // unpatched dependency. Hash the patch contents into every task.
+ "globalDependencies": ["patches/**"],
"tasks": {
"ci:runtime": {
"dependsOn": ["^ci:runtime"],