flujo-ai 3.48.6 → 3.48.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +60 -60
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +2 -2
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/approvals/[id]/route.js +1 -1
- package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/approvals/route.js +1 -1
- package/.next/server/app/api/approvals/route.js.nft.json +1 -1
- package/.next/server/app/api/automation-map/route.js +1 -1
- package/.next/server/app/api/automation-map/route.js.nft.json +1 -1
- package/.next/server/app/api/avatar/[voiceAction]/route.js +1 -1
- package/.next/server/app/api/avatar/[voiceAction]/route.js.nft.json +1 -1
- package/.next/server/app/api/avatar/connections/route.js +1 -1
- package/.next/server/app/api/avatar/connections/route.js.nft.json +1 -1
- package/.next/server/app/api/avatar/local-speech/route.js +1 -1
- package/.next/server/app/api/avatar/local-speech/route.js.nft.json +1 -1
- package/.next/server/app/api/avatar/remote/[voiceAction]/route.js +1 -1
- package/.next/server/app/api/avatar/remote/[voiceAction]/route.js.nft.json +1 -1
- package/.next/server/app/api/avatar/remote/availability/route.js +1 -1
- package/.next/server/app/api/avatar/remote/availability/route.js.nft.json +1 -1
- package/.next/server/app/api/avatar/voice/route.js +1 -1
- package/.next/server/app/api/avatar/voice/route.js.nft.json +1 -1
- package/.next/server/app/api/avatar/work-model/route.js +1 -1
- package/.next/server/app/api/avatar/work-model/route.js.nft.json +1 -1
- package/.next/server/app/api/avatar/world/route.js +1 -1
- package/.next/server/app/api/avatar/world/route.js.nft.json +1 -1
- package/.next/server/app/api/backup/route.js +1 -1
- package/.next/server/app/api/backup/route.js.nft.json +1 -1
- package/.next/server/app/api/browse/route.js +1 -1
- package/.next/server/app/api/browse/route.js.nft.json +1 -1
- package/.next/server/app/api/bugs/enhance/route.js +1 -1
- package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
- package/.next/server/app/api/credential-migration/route.js +1 -1
- package/.next/server/app/api/credential-migration/route.js.nft.json +1 -1
- package/.next/server/app/api/credential-transfer/restore/route.js +1 -1
- package/.next/server/app/api/credential-transfer/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/credential-transfer/route.js +1 -1
- package/.next/server/app/api/credential-transfer/route.js.nft.json +1 -1
- package/.next/server/app/api/cwd/route.js +1 -1
- package/.next/server/app/api/cwd/route.js.nft.json +1 -1
- package/.next/server/app/api/encryption/secure/route.js +1 -1
- package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
- package/.next/server/app/api/env/route.js +1 -1
- package/.next/server/app/api/env/route.js.nft.json +1 -1
- package/.next/server/app/api/factory-observatory/route.js +1 -1
- package/.next/server/app/api/factory-observatory/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route.js +1 -1
- package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/[id]/models/route.js +1 -1
- package/.next/server/app/api/flow/[id]/models/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/[id]/route.js +1 -1
- package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js +1 -1
- package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/[id]/versions/route.js +1 -1
- package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/assist/route.js +1 -1
- package/.next/server/app/api/flow/assist/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/compile/route.js +1 -1
- package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/generate/route.js +1 -1
- package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/generate/visual/route.js +1 -1
- package/.next/server/app/api/flow/generate/visual/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/generator/route.js +1 -1
- package/.next/server/app/api/flow/generator/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/improve/route.js +1 -1
- package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/model-agent/route.js +1 -1
- package/.next/server/app/api/flow/model-agent/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
- package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/quick-chat/route.js +1 -1
- package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/repair/route.js +1 -1
- package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
- package/.next/server/app/api/flow/route.js +1 -1
- package/.next/server/app/api/flow/route.js.nft.json +1 -1
- package/.next/server/app/api/git/route.js +1 -1
- package/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/server/app/api/harness/[id]/route.js +1 -1
- package/.next/server/app/api/harness/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/harness/comparisons/[id]/route.js +1 -1
- package/.next/server/app/api/harness/comparisons/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/harness/comparisons/route.js +1 -1
- package/.next/server/app/api/harness/comparisons/route.js.nft.json +1 -1
- package/.next/server/app/api/harness/profiles/route.js +1 -1
- package/.next/server/app/api/harness/profiles/route.js.nft.json +1 -1
- package/.next/server/app/api/harness/route.js +1 -1
- package/.next/server/app/api/harness/route.js.nft.json +1 -1
- package/.next/server/app/api/init/route.js +1 -1
- package/.next/server/app/api/init/route.js.nft.json +1 -1
- package/.next/server/app/api/local-models/capability/route.js +1 -1
- package/.next/server/app/api/local-models/capability/route.js.nft.json +1 -1
- package/.next/server/app/api/local-models/pull/route.js +1 -1
- package/.next/server/app/api/local-models/pull/route.js.nft.json +1 -1
- package/.next/server/app/api/local-models/suggest/route.js +1 -1
- package/.next/server/app/api/local-models/suggest/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/app-consent/route.js +1 -1
- package/.next/server/app/api/mcp/app-consent/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/app-sandbox/route.js +1 -1
- package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/assistant/route.js +1 -1
- package/.next/server/app/api/mcp/assistant/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/cancel/route.js +1 -1
- package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/flujo/authoring/route.js +1 -1
- package/.next/server/app/api/mcp/flujo/authoring/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/flujo/automation/route.js +1 -1
- package/.next/server/app/api/mcp/flujo/automation/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/flujo/flows/route.js +1 -1
- package/.next/server/app/api/mcp/flujo/flows/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/flujo/resources/read/route.js +1 -1
- package/.next/server/app/api/mcp/flujo/resources/read/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/flujo/resources/route.js +1 -1
- package/.next/server/app/api/mcp/flujo/resources/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/flujo/servers/route.js +1 -1
- package/.next/server/app/api/mcp/flujo/servers/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/flujo/skills/route.js +1 -1
- package/.next/server/app/api/mcp/flujo/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/flujo/state/route.js +1 -1
- package/.next/server/app/api/mcp/flujo/state/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/flujo/tools/route.js +1 -1
- package/.next/server/app/api/mcp/flujo/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/model-risk-assessment/route.js +1 -1
- package/.next/server/app/api/mcp/model-risk-assessment/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
- package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/security-review/route.js +1 -1
- package/.next/server/app/api/mcp/security-review/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/host-consent/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/host-consent/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/skills/approve/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/skills/approve/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/skills/get/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/skills/get/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/skills/load/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/skills/load/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/skills/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/stream/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/stream/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
- package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/servers/route.js +1 -1
- package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/test-connection/route.js +1 -1
- package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
- package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp-registry/route.js +1 -1
- package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
- package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
- package/.next/server/app/api/model/[id]/route.js +1 -1
- package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/model/allowance/route.js +1 -1
- package/.next/server/app/api/model/allowance/route.js.nft.json +1 -1
- package/.next/server/app/api/model/provider/route.js +1 -1
- package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
- package/.next/server/app/api/model/route.js +1 -1
- package/.next/server/app/api/model/route.js.nft.json +1 -1
- package/.next/server/app/api/model/test/route.js +1 -1
- package/.next/server/app/api/model/test/route.js.nft.json +1 -1
- package/.next/server/app/api/network-exposure/route.js +1 -1
- package/.next/server/app/api/network-exposure/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/callback/route.js +1 -1
- package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/initiate/route.js +1 -1
- package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
- package/.next/server/app/api/oauth/reset/route.js +1 -1
- package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
- package/.next/server/app/api/operations/status/route.js +1 -1
- package/.next/server/app/api/operations/status/route.js.nft.json +1 -1
- package/.next/server/app/api/original-owner/route.js +1 -1
- package/.next/server/app/api/original-owner/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/build/route.js +1 -1
- package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/derive-secrets/route.js +1 -1
- package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/install/route.js +1 -1
- package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/install/status/route.js +1 -1
- package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/installed/route.js +1 -1
- package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/resolve/route.js +1 -1
- package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/scan-targets/route.js +1 -1
- package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/search/route.js +1 -1
- package/.next/server/app/api/packages/search/route.js.nft.json +1 -1
- package/.next/server/app/api/packages/uninstall/route.js +1 -1
- package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
- package/.next/server/app/api/persona-recovery/route.js +2 -2
- package/.next/server/app/api/persona-recovery/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/route.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/run/route.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/runs/route.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/[id]/worker-recovery/route.js +1 -1
- package/.next/server/app/api/planned-executions/[id]/worker-recovery/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
- package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
- package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
- package/.next/server/app/api/planned-executions/route.js +1 -1
- package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/route.js +1 -1
- package/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/server/app/api/reference-search/files/route.js +1 -1
- package/.next/server/app/api/reference-search/files/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/auth/resend/route.js +1 -1
- package/.next/server/app/api/registry/auth/resend/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/auth/reset/route.js +1 -1
- package/.next/server/app/api/registry/auth/reset/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/auth/route.js +1 -1
- package/.next/server/app/api/registry/auth/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/feedback/route.js +1 -1
- package/.next/server/app/api/registry/feedback/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/oauth/callback/route.js +1 -1
- package/.next/server/app/api/registry/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/oauth/initiate/route.js +1 -1
- package/.next/server/app/api/registry/oauth/initiate/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/packages/route.js +1 -1
- package/.next/server/app/api/registry/packages/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/publish/route.js +1 -1
- package/.next/server/app/api/registry/publish/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/settings/route.js +1 -1
- package/.next/server/app/api/registry/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/restore/route.js +1 -1
- package/.next/server/app/api/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/runs/active/route.js +1 -1
- package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
- package/.next/server/app/api/runtime-environment/route.js +1 -1
- package/.next/server/app/api/runtime-environment/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/ai-cli/route.js +1 -1
- package/.next/server/app/api/setup/ai-cli/route.js.nft.json +1 -1
- package/.next/server/app/api/snapshot/abort/route.js +1 -1
- package/.next/server/app/api/snapshot/abort/route.js.nft.json +1 -1
- package/.next/server/app/api/snapshot/begin/route.js +1 -1
- package/.next/server/app/api/snapshot/begin/route.js.nft.json +1 -1
- package/.next/server/app/api/snapshot/download/route.js +1 -1
- package/.next/server/app/api/snapshot/download/route.js.nft.json +1 -1
- package/.next/server/app/api/snapshot/finalize/route.js +1 -1
- package/.next/server/app/api/snapshot/finalize/route.js.nft.json +1 -1
- package/.next/server/app/api/snapshot/info/route.js +1 -1
- package/.next/server/app/api/snapshot/info/route.js.nft.json +1 -1
- package/.next/server/app/api/snapshot/status/route.js +1 -1
- package/.next/server/app/api/snapshot/status/route.js.nft.json +1 -1
- package/.next/server/app/api/snapshots/cleanup/route.js +1 -1
- package/.next/server/app/api/snapshots/cleanup/route.js.nft.json +1 -1
- package/.next/server/app/api/snapshots/open-folder/route.js +1 -1
- package/.next/server/app/api/snapshots/open-folder/route.js.nft.json +1 -1
- package/.next/server/app/api/snapshots/route.js +1 -1
- package/.next/server/app/api/snapshots/route.js.nft.json +1 -1
- package/.next/server/app/api/statistics/route.js +1 -1
- package/.next/server/app/api/statistics/route.js.nft.json +1 -1
- package/.next/server/app/api/storage/route.js +1 -1
- package/.next/server/app/api/storage/route.js.nft.json +1 -1
- package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
- package/.next/server/app/api/telemetry/daily-active/route.js.nft.json +1 -1
- package/.next/server/app/api/tickets/[id]/route.js +1 -1
- package/.next/server/app/api/tickets/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/tickets/route.js +1 -1
- package/.next/server/app/api/tickets/route.js.nft.json +1 -1
- package/.next/server/app/api/transcription/route.js +1 -1
- package/.next/server/app/api/transcription/route.js.nft.json +1 -1
- package/.next/server/app/api/update/route.js +1 -1
- package/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/server/app/api/waves/route.js +1 -1
- package/.next/server/app/api/waves/route.js.nft.json +1 -1
- package/.next/server/app/api/webhooks/[id]/route.js +1 -1
- package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/workspaces/route.js +1 -1
- package/.next/server/app/api/workspaces/route.js.nft.json +1 -1
- package/.next/server/app/chat/page.js +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp/page.js +1 -1
- package/.next/server/app/mcp/page.js.nft.json +1 -1
- package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
- package/.next/server/app/mcp-flows/route.js +1 -1
- package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
- package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
- package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
- package/.next/server/app/settings/page.js +1 -1
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/v1/chat/completions/route.js +1 -1
- package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversation-chains/route.js +1 -1
- package/.next/server/app/v1/chat/conversation-chains/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/media/[mediaId]/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/media/[mediaId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/model-turns/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/wire-preview/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/[conversationId]/wire-preview/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/conversations/route.js +1 -1
- package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
- package/.next/server/app/v1/chat/events/route.js +1 -1
- package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
- package/.next/server/app/v1/flows/[flowRef]/readiness/route.js +1 -1
- package/.next/server/app/v1/flows/[flowRef]/readiness/route.js.nft.json +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/events/route.js +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/events/route.js.nft.json +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/interventions/route.js +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/interventions/route.js.nft.json +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/private-notes/route.js +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/private-notes/route.js.nft.json +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/resume/route.js +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/resume/route.js.nft.json +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/route.js +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/start/route.js +1 -1
- package/.next/server/app/v1/meetings/[meetingId]/start/route.js.nft.json +1 -1
- package/.next/server/app/v1/meetings/route.js +1 -1
- package/.next/server/app/v1/meetings/route.js.nft.json +1 -1
- package/.next/server/app/v1/models/route.js +1 -1
- package/.next/server/app/v1/models/route.js.nft.json +1 -1
- package/.next/server/app/v1/persona-drafts/[draftId]/route.js +1 -1
- package/.next/server/app/v1/persona-drafts/[draftId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/persona-drafts/route.js +1 -1
- package/.next/server/app/v1/persona-drafts/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/app-grants/[grantId]/launch/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/app-grants/[grantId]/launch/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/app-grants/[grantId]/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/app-grants/[grantId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/app-grants/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/app-grants/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/behaviors/[behaviorId]/activate/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/behaviors/[behaviorId]/activate/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/composition/behaviors/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/composition/behaviors/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/composition/copy/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/composition/copy/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/composition/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/composition/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/core/reconcile/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/core/reconcile/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/deletion-preview/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/deletion-preview/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/execution-preview/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/execution-preview/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/export/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/export/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/export-preview/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/export-preview/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/goal-admissions/[admissionKey]/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/goal-admissions/[admissionKey]/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/apply/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/apply/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/promote/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/promote/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/reject/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/reject/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/undo/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/improvements/[proposalId]/undo/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/improvements/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/improvements/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/activate/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/activate/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/correct/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/correct/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/pin/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/pin/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/resolve-conflict/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/resolve-conflict/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/[memoryId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/memories/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/runtime-recovery/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/runtime-recovery/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/storage-stats/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/storage-stats/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/assign/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/assign/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/control/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/control/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/runtime/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/runtime/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/source/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/[workItemId]/source/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/promote-todo/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/promote-todo/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/route.js +1 -1
- package/.next/server/app/v1/personas/[personaId]/work-items/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/readiness/route.js +1 -1
- package/.next/server/app/v1/personas/readiness/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/route.js +1 -1
- package/.next/server/app/v1/personas/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/settings-options/route.js +1 -1
- package/.next/server/app/v1/personas/settings-options/route.js.nft.json +1 -1
- package/.next/server/app/v1/personas/summary/route.js +1 -1
- package/.next/server/app/v1/personas/summary/route.js.nft.json +1 -1
- package/.next/server/app/v1/roles/[roleId]/duplicate/route.js +1 -1
- package/.next/server/app/v1/roles/[roleId]/duplicate/route.js.nft.json +1 -1
- package/.next/server/app/v1/roles/[roleId]/impact/route.js +1 -1
- package/.next/server/app/v1/roles/[roleId]/impact/route.js.nft.json +1 -1
- package/.next/server/app/v1/roles/[roleId]/restore/route.js +1 -1
- package/.next/server/app/v1/roles/[roleId]/restore/route.js.nft.json +1 -1
- package/.next/server/app/v1/roles/[roleId]/rollback/route.js +1 -1
- package/.next/server/app/v1/roles/[roleId]/rollback/route.js.nft.json +1 -1
- package/.next/server/app/v1/roles/[roleId]/route.js +1 -1
- package/.next/server/app/v1/roles/[roleId]/route.js.nft.json +1 -1
- package/.next/server/app/v1/roles/[roleId]/versions/route.js +1 -1
- package/.next/server/app/v1/roles/[roleId]/versions/route.js.nft.json +1 -1
- package/.next/server/app/v1/roles/route.js +1 -1
- package/.next/server/app/v1/roles/route.js.nft.json +1 -1
- package/.next/server/app/v1/tasks/[taskId]/route.js +1 -1
- package/.next/server/app/v1/tasks/[taskId]/route.js.nft.json +1 -1
- package/.next/server/app-paths-manifest.json +60 -60
- package/.next/server/chunks/14645.js +1 -1
- package/.next/server/chunks/21392.js +3 -3
- package/.next/server/chunks/{83503.js → 25847.js} +3 -3
- package/.next/server/chunks/31519.js +3 -3
- package/.next/server/chunks/34679.js +1 -1
- package/.next/server/chunks/52152.js +3 -3
- package/.next/server/chunks/73633.js +1 -1
- package/.next/server/chunks/81306.js +1 -1
- package/.next/server/chunks/82300.js +3 -3
- package/.next/server/chunks/83718.js +1 -1
- package/.next/server/chunks/8464.js +1 -1
- package/.next/server/chunks/{78608.js → 87864.js} +3 -3
- package/.next/server/chunks/89031.js +1 -1
- package/.next/server/chunks/97235.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/preview-props.json +3 -3
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{2103-5f61569b0629e957.js → 2103-be5e06316fbab625.js} +1 -1
- package/.next/static/chunks/app/chat/{page-569fe5a097bb2c06.js → page-314d31c432c2d88b.js} +1 -1
- package/.next/static/chunks/webpack-1449ea081feba501.js +1 -0
- package/.next/trace-build +1 -1
- package/README.md +1 -1
- package/mcp-servers/bash/package.json +1 -1
- package/mcp-servers/browser/package.json +1 -1
- package/mcp-servers/filesystem/package.json +1 -1
- package/mcp-servers/flujo/package.json +1 -1
- package/package.json +5 -5
- package/.next/static/chunks/webpack-d7e41a6b1b459ed1.js +0 -1
- /package/.next/static/{QzwOWTB7GKoP7AaFNpYr5 → dA-lF06zcBoG4LavbX9MD}/_buildManifest.js +0 -0
- /package/.next/static/{QzwOWTB7GKoP7AaFNpYr5 → dA-lF06zcBoG4LavbX9MD}/_ssgManifest.js +0 -0
|
@@ -16,16 +16,15 @@
|
|
|
16
16
|
"/api/workspaces/route": "app/api/workspaces/route.js",
|
|
17
17
|
"/v1/models/route": "app/v1/models/route.js",
|
|
18
18
|
"/api/approvals/[id]/route": "app/api/approvals/[id]/route.js",
|
|
19
|
+
"/api/avatar/[voiceAction]/route": "app/api/avatar/[voiceAction]/route.js",
|
|
20
|
+
"/api/avatar/connections/route": "app/api/avatar/connections/route.js",
|
|
19
21
|
"/api/avatar/local-speech/route": "app/api/avatar/local-speech/route.js",
|
|
20
22
|
"/api/avatar/remote/[voiceAction]/route": "app/api/avatar/remote/[voiceAction]/route.js",
|
|
21
|
-
"/api/avatar/remote/availability/route": "app/api/avatar/remote/availability/route.js",
|
|
22
23
|
"/api/avatar/voice/route": "app/api/avatar/voice/route.js",
|
|
23
24
|
"/api/avatar/work-model/route": "app/api/avatar/work-model/route.js",
|
|
24
|
-
"/api/avatar/
|
|
25
|
-
"/api/avatar/connections/route": "app/api/avatar/connections/route.js",
|
|
25
|
+
"/api/avatar/remote/availability/route": "app/api/avatar/remote/availability/route.js",
|
|
26
26
|
"/api/avatar/world/route": "app/api/avatar/world/route.js",
|
|
27
27
|
"/api/backup/route": "app/api/backup/route.js",
|
|
28
|
-
"/api/browse/route": "app/api/browse/route.js",
|
|
29
28
|
"/api/bugs/enhance/route": "app/api/bugs/enhance/route.js",
|
|
30
29
|
"/api/cloud/instance/route": "app/api/cloud/instance/route.js",
|
|
31
30
|
"/api/credential-migration/route": "app/api/credential-migration/route.js",
|
|
@@ -33,174 +32,174 @@
|
|
|
33
32
|
"/api/credential-transfer/route": "app/api/credential-transfer/route.js",
|
|
34
33
|
"/api/cwd/route": "app/api/cwd/route.js",
|
|
35
34
|
"/api/encryption/secure/route": "app/api/encryption/secure/route.js",
|
|
35
|
+
"/api/browse/route": "app/api/browse/route.js",
|
|
36
36
|
"/api/factory-observatory/route": "app/api/factory-observatory/route.js",
|
|
37
|
+
"/api/env/route": "app/api/env/route.js",
|
|
37
38
|
"/api/flow/[id]/convert-process-to-subflow/route": "app/api/flow/[id]/convert-process-to-subflow/route.js",
|
|
38
39
|
"/api/flow/[id]/models/route": "app/api/flow/[id]/models/route.js",
|
|
39
|
-
"/api/flow/[id]/route": "app/api/flow/[id]/route.js",
|
|
40
40
|
"/api/flow/[id]/versions/[versionId]/route": "app/api/flow/[id]/versions/[versionId]/route.js",
|
|
41
41
|
"/api/flow/[id]/versions/route": "app/api/flow/[id]/versions/route.js",
|
|
42
|
-
"/api/
|
|
42
|
+
"/api/flow/[id]/route": "app/api/flow/[id]/route.js",
|
|
43
43
|
"/api/flow/compile/route": "app/api/flow/compile/route.js",
|
|
44
|
+
"/api/flow/assist/route": "app/api/flow/assist/route.js",
|
|
44
45
|
"/api/flow/generate/route": "app/api/flow/generate/route.js",
|
|
45
46
|
"/api/flow/generate/visual/route": "app/api/flow/generate/visual/route.js",
|
|
46
47
|
"/api/flow/generator/route": "app/api/flow/generator/route.js",
|
|
47
48
|
"/api/flow/improve/route": "app/api/flow/improve/route.js",
|
|
48
|
-
"/api/flow/model-agent/route": "app/api/flow/model-agent/route.js",
|
|
49
49
|
"/api/flow/prompt-renderer/route": "app/api/flow/prompt-renderer/route.js",
|
|
50
|
-
"/api/flow/
|
|
50
|
+
"/api/flow/model-agent/route": "app/api/flow/model-agent/route.js",
|
|
51
51
|
"/api/flow/repair/route": "app/api/flow/repair/route.js",
|
|
52
|
+
"/api/flow/quick-chat/route": "app/api/flow/quick-chat/route.js",
|
|
52
53
|
"/api/flow/route": "app/api/flow/route.js",
|
|
53
54
|
"/api/harness/[id]/route": "app/api/harness/[id]/route.js",
|
|
54
|
-
"/api/harness/comparisons/route": "app/api/harness/comparisons/route.js",
|
|
55
55
|
"/api/harness/comparisons/[id]/route": "app/api/harness/comparisons/[id]/route.js",
|
|
56
|
-
"/api/harness/route": "app/api/harness/route.js",
|
|
56
|
+
"/api/harness/comparisons/route": "app/api/harness/comparisons/route.js",
|
|
57
57
|
"/api/harness/profiles/route": "app/api/harness/profiles/route.js",
|
|
58
|
+
"/api/harness/route": "app/api/harness/route.js",
|
|
58
59
|
"/api/init/route": "app/api/init/route.js",
|
|
59
60
|
"/api/local-models/capability/route": "app/api/local-models/capability/route.js",
|
|
60
61
|
"/api/local-models/pull/route": "app/api/local-models/pull/route.js",
|
|
61
62
|
"/api/local-models/suggest/route": "app/api/local-models/suggest/route.js",
|
|
62
|
-
"/api/
|
|
63
|
+
"/api/git/route": "app/api/git/route.js",
|
|
63
64
|
"/api/mcp-registry/route": "app/api/mcp-registry/route.js",
|
|
64
65
|
"/api/mcp/assistant/route": "app/api/mcp/assistant/route.js",
|
|
66
|
+
"/api/mcp/app-sandbox/route": "app/api/mcp/app-sandbox/route.js",
|
|
65
67
|
"/api/mcp/cancel/route": "app/api/mcp/cancel/route.js",
|
|
68
|
+
"/api/mcp/app-consent/route": "app/api/mcp/app-consent/route.js",
|
|
66
69
|
"/api/mcp/flujo/authoring/route": "app/api/mcp/flujo/authoring/route.js",
|
|
67
|
-
"/api/mcp/app-sandbox/route": "app/api/mcp/app-sandbox/route.js",
|
|
68
70
|
"/api/mcp/flujo/automation/route": "app/api/mcp/flujo/automation/route.js",
|
|
69
71
|
"/api/mcp/flujo/flows/route": "app/api/mcp/flujo/flows/route.js",
|
|
70
72
|
"/api/mcp/flujo/resources/route": "app/api/mcp/flujo/resources/route.js",
|
|
71
73
|
"/api/mcp/flujo/servers/route": "app/api/mcp/flujo/servers/route.js",
|
|
72
74
|
"/api/mcp/flujo/resources/read/route": "app/api/mcp/flujo/resources/read/route.js",
|
|
75
|
+
"/api/mcp/flujo/skills/route": "app/api/mcp/flujo/skills/route.js",
|
|
73
76
|
"/api/mcp/flujo/state/route": "app/api/mcp/flujo/state/route.js",
|
|
74
77
|
"/api/mcp/model-risk-assessment/route": "app/api/mcp/model-risk-assessment/route.js",
|
|
75
78
|
"/api/mcp/oauth-capability/route": "app/api/mcp/oauth-capability/route.js",
|
|
76
|
-
"/api/mcp/flujo/skills/route": "app/api/mcp/flujo/skills/route.js",
|
|
77
79
|
"/api/mcp/security-review/route": "app/api/mcp/security-review/route.js",
|
|
78
80
|
"/api/mcp/servers/[name]/prompts/get/route": "app/api/mcp/servers/[name]/prompts/get/route.js",
|
|
79
81
|
"/api/mcp/servers/[name]/prompts/route": "app/api/mcp/servers/[name]/prompts/route.js",
|
|
80
82
|
"/api/mcp/servers/[name]/resources/read/route": "app/api/mcp/servers/[name]/resources/read/route.js",
|
|
81
83
|
"/api/mcp/servers/[name]/resources/route": "app/api/mcp/servers/[name]/resources/route.js",
|
|
82
84
|
"/api/mcp/servers/[name]/host-consent/route": "app/api/mcp/servers/[name]/host-consent/route.js",
|
|
85
|
+
"/api/mcp/servers/[name]/skills/approve/route": "app/api/mcp/servers/[name]/skills/approve/route.js",
|
|
83
86
|
"/api/mcp/servers/[name]/route": "app/api/mcp/servers/[name]/route.js",
|
|
84
87
|
"/api/mcp/servers/[name]/skills/get/route": "app/api/mcp/servers/[name]/skills/get/route.js",
|
|
85
88
|
"/api/mcp/servers/[name]/skills/load/route": "app/api/mcp/servers/[name]/skills/load/route.js",
|
|
86
89
|
"/api/mcp/servers/[name]/skills/route": "app/api/mcp/servers/[name]/skills/route.js",
|
|
87
90
|
"/api/mcp/servers/[name]/status/route": "app/api/mcp/servers/[name]/status/route.js",
|
|
88
91
|
"/api/mcp/servers/[name]/stdio-oauth/confirm/route": "app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js",
|
|
89
|
-
"/api/flow/assist/route": "app/api/flow/assist/route.js",
|
|
90
|
-
"/api/mcp/servers/[name]/skills/approve/route": "app/api/mcp/servers/[name]/skills/approve/route.js",
|
|
91
92
|
"/api/mcp/servers/[name]/stdio-oauth/start/route": "app/api/mcp/servers/[name]/stdio-oauth/start/route.js",
|
|
92
93
|
"/api/mcp/servers/[name]/tools/[toolName]/route": "app/api/mcp/servers/[name]/tools/[toolName]/route.js",
|
|
93
94
|
"/api/mcp/servers/[name]/tools/route": "app/api/mcp/servers/[name]/tools/route.js",
|
|
94
95
|
"/api/mcp/servers/route": "app/api/mcp/servers/route.js",
|
|
96
|
+
"/api/mcp/servers/[name]/tools/[toolName]/stream/route": "app/api/mcp/servers/[name]/tools/[toolName]/stream/route.js",
|
|
95
97
|
"/api/mcp/test-connection/route": "app/api/mcp/test-connection/route.js",
|
|
96
98
|
"/api/mcp/test-connection/stream/route": "app/api/mcp/test-connection/stream/route.js",
|
|
97
99
|
"/api/model/[id]/route": "app/api/model/[id]/route.js",
|
|
98
100
|
"/api/model/allowance/route": "app/api/model/allowance/route.js",
|
|
101
|
+
"/api/model/test/route": "app/api/model/test/route.js",
|
|
99
102
|
"/api/model/provider/route": "app/api/model/provider/route.js",
|
|
100
103
|
"/api/model/route": "app/api/model/route.js",
|
|
101
|
-
"/api/model/test/route": "app/api/model/test/route.js",
|
|
102
104
|
"/api/oauth/initiate/route": "app/api/oauth/initiate/route.js",
|
|
103
105
|
"/api/oauth/reset/route": "app/api/oauth/reset/route.js",
|
|
104
|
-
"/api/operations/status/route": "app/api/operations/status/route.js",
|
|
105
106
|
"/api/original-owner/route": "app/api/original-owner/route.js",
|
|
107
|
+
"/api/operations/status/route": "app/api/operations/status/route.js",
|
|
106
108
|
"/api/owner/session/route": "app/api/owner/session/route.js",
|
|
107
|
-
"/api/packages/derive-secrets/route": "app/api/packages/derive-secrets/route.js",
|
|
108
109
|
"/api/packages/build/route": "app/api/packages/build/route.js",
|
|
110
|
+
"/api/packages/derive-secrets/route": "app/api/packages/derive-secrets/route.js",
|
|
109
111
|
"/api/packages/install/status/route": "app/api/packages/install/status/route.js",
|
|
110
112
|
"/api/packages/installed/route": "app/api/packages/installed/route.js",
|
|
111
|
-
"/api/packages/resolve/route": "app/api/packages/resolve/route.js",
|
|
112
113
|
"/api/packages/install/route": "app/api/packages/install/route.js",
|
|
113
|
-
"/api/packages/
|
|
114
|
+
"/api/packages/resolve/route": "app/api/packages/resolve/route.js",
|
|
114
115
|
"/api/packages/scan-targets/route": "app/api/packages/scan-targets/route.js",
|
|
116
|
+
"/api/packages/search/route": "app/api/packages/search/route.js",
|
|
115
117
|
"/api/packages/uninstall/route": "app/api/packages/uninstall/route.js",
|
|
116
|
-
"/api/planned-executions/[id]/route": "app/api/planned-executions/[id]/route.js",
|
|
117
118
|
"/api/persona-recovery/route": "app/api/persona-recovery/route.js",
|
|
118
119
|
"/api/planned-executions/[id]/run/route": "app/api/planned-executions/[id]/run/route.js",
|
|
119
120
|
"/api/planned-executions/[id]/runs/route": "app/api/planned-executions/[id]/runs/route.js",
|
|
120
|
-
"/api/
|
|
121
|
+
"/api/planned-executions/[id]/route": "app/api/planned-executions/[id]/route.js",
|
|
122
|
+
"/api/planned-executions/preview-schedule/route": "app/api/planned-executions/preview-schedule/route.js",
|
|
123
|
+
"/api/reference-search/files/route": "app/api/reference-search/files/route.js",
|
|
121
124
|
"/api/planned-executions/route": "app/api/planned-executions/route.js",
|
|
122
|
-
"/api/projects/route": "app/api/projects/route.js",
|
|
123
125
|
"/api/registry/auth/resend/route": "app/api/registry/auth/resend/route.js",
|
|
124
|
-
"/api/reference-search/files/route": "app/api/reference-search/files/route.js",
|
|
125
126
|
"/api/registry/auth/reset/route": "app/api/registry/auth/reset/route.js",
|
|
127
|
+
"/api/registry/auth/route": "app/api/registry/auth/route.js",
|
|
126
128
|
"/api/registry/feedback/route": "app/api/registry/feedback/route.js",
|
|
127
|
-
"/api/registry/oauth/callback/route": "app/api/registry/oauth/callback/route.js",
|
|
128
129
|
"/api/registry/oauth/initiate/route": "app/api/registry/oauth/initiate/route.js",
|
|
130
|
+
"/api/registry/oauth/callback/route": "app/api/registry/oauth/callback/route.js",
|
|
129
131
|
"/api/registry/packages/route": "app/api/registry/packages/route.js",
|
|
130
132
|
"/api/registry/publish/route": "app/api/registry/publish/route.js",
|
|
131
133
|
"/api/registry/settings/route": "app/api/registry/settings/route.js",
|
|
132
|
-
"/api/git/route": "app/api/git/route.js",
|
|
133
|
-
"/api/registry/auth/route": "app/api/registry/auth/route.js",
|
|
134
134
|
"/api/runtime-environment/route": "app/api/runtime-environment/route.js",
|
|
135
|
-
"/api/snapshot/abort/route": "app/api/snapshot/abort/route.js",
|
|
136
135
|
"/api/setup/ai-cli/route": "app/api/setup/ai-cli/route.js",
|
|
136
|
+
"/api/snapshot/abort/route": "app/api/snapshot/abort/route.js",
|
|
137
137
|
"/api/snapshot/begin/route": "app/api/snapshot/begin/route.js",
|
|
138
138
|
"/api/snapshot/download/route": "app/api/snapshot/download/route.js",
|
|
139
139
|
"/api/snapshot/finalize/route": "app/api/snapshot/finalize/route.js",
|
|
140
|
+
"/api/restore/route": "app/api/restore/route.js",
|
|
140
141
|
"/api/snapshot/info/route": "app/api/snapshot/info/route.js",
|
|
141
142
|
"/api/snapshot/status/route": "app/api/snapshot/status/route.js",
|
|
142
|
-
"/api/restore/route": "app/api/restore/route.js",
|
|
143
|
-
"/api/snapshots/open-folder/route": "app/api/snapshots/open-folder/route.js",
|
|
144
143
|
"/api/snapshots/cleanup/route": "app/api/snapshots/cleanup/route.js",
|
|
145
|
-
"/api/
|
|
144
|
+
"/api/snapshots/open-folder/route": "app/api/snapshots/open-folder/route.js",
|
|
146
145
|
"/api/snapshots/route": "app/api/snapshots/route.js",
|
|
146
|
+
"/api/projects/route": "app/api/projects/route.js",
|
|
147
147
|
"/api/telemetry/daily-active/route": "app/api/telemetry/daily-active/route.js",
|
|
148
148
|
"/api/tickets/[id]/route": "app/api/tickets/[id]/route.js",
|
|
149
149
|
"/api/storage/route": "app/api/storage/route.js",
|
|
150
150
|
"/api/tickets/route": "app/api/tickets/route.js",
|
|
151
151
|
"/api/transcription/route": "app/api/transcription/route.js",
|
|
152
|
-
"/api/planned-executions/preview-schedule/route": "app/api/planned-executions/preview-schedule/route.js",
|
|
153
152
|
"/api/webhooks/[id]/route": "app/api/webhooks/[id]/route.js",
|
|
154
153
|
"/api/update/route": "app/api/update/route.js",
|
|
154
|
+
"/api/statistics/route": "app/api/statistics/route.js",
|
|
155
155
|
"/mcp-flows/route": "app/mcp-flows/route.js",
|
|
156
156
|
"/mcp-proxy/[server]/route": "app/mcp-proxy/[server]/route.js",
|
|
157
157
|
"/v1/chat/completions/route": "app/v1/chat/completions/route.js",
|
|
158
|
-
"/v1/chat/conversations/[conversationId]/cancel/route": "app/v1/chat/conversations/[conversationId]/cancel/route.js",
|
|
159
158
|
"/v1/chat/conversation-chains/route": "app/v1/chat/conversation-chains/route.js",
|
|
160
|
-
"/v1/chat/conversations/[conversationId]/debug/attach/route": "app/v1/chat/conversations/[conversationId]/debug/attach/route.js",
|
|
161
159
|
"/v1/chat/conversations/[conversationId]/breakpoints/route": "app/v1/chat/conversations/[conversationId]/breakpoints/route.js",
|
|
162
|
-
"/v1/chat/conversations/[conversationId]/debug/
|
|
160
|
+
"/v1/chat/conversations/[conversationId]/debug/attach/route": "app/v1/chat/conversations/[conversationId]/debug/attach/route.js",
|
|
161
|
+
"/v1/chat/conversations/[conversationId]/cancel/route": "app/v1/chat/conversations/[conversationId]/cancel/route.js",
|
|
163
162
|
"/v1/chat/conversations/[conversationId]/debug/continue/route": "app/v1/chat/conversations/[conversationId]/debug/continue/route.js",
|
|
163
|
+
"/v1/chat/conversations/[conversationId]/debug/state/route": "app/v1/chat/conversations/[conversationId]/debug/state/route.js",
|
|
164
164
|
"/v1/chat/conversations/[conversationId]/edit-state/route": "app/v1/chat/conversations/[conversationId]/edit-state/route.js",
|
|
165
|
-
"/v1/chat/conversations/[conversationId]/
|
|
166
|
-
"/v1/chat/conversations/[conversationId]/inject/route": "app/v1/chat/conversations/[conversationId]/inject/route.js",
|
|
165
|
+
"/v1/chat/conversations/[conversationId]/debug/step/route": "app/v1/chat/conversations/[conversationId]/debug/step/route.js",
|
|
167
166
|
"/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/media/[mediaId]/route": "app/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/media/[mediaId]/route.js",
|
|
167
|
+
"/v1/chat/conversations/[conversationId]/inject/route": "app/v1/chat/conversations/[conversationId]/inject/route.js",
|
|
168
168
|
"/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/route": "app/v1/chat/conversations/[conversationId]/model-turns/[dispatchId]/route.js",
|
|
169
169
|
"/v1/chat/conversations/[conversationId]/model-turns/route": "app/v1/chat/conversations/[conversationId]/model-turns/route.js",
|
|
170
170
|
"/v1/chat/conversations/[conversationId]/recovery/route": "app/v1/chat/conversations/[conversationId]/recovery/route.js",
|
|
171
|
-
"/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route": "app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js",
|
|
172
171
|
"/v1/chat/conversations/[conversationId]/resources/route": "app/v1/chat/conversations/[conversationId]/resources/route.js",
|
|
173
|
-
"/v1/chat/conversations/[conversationId]/
|
|
174
|
-
"/v1/chat/conversations/[conversationId]/
|
|
172
|
+
"/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route": "app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route.js",
|
|
173
|
+
"/v1/chat/conversations/[conversationId]/events/route": "app/v1/chat/conversations/[conversationId]/events/route.js",
|
|
175
174
|
"/v1/chat/conversations/[conversationId]/revert/route": "app/v1/chat/conversations/[conversationId]/revert/route.js",
|
|
176
|
-
"/v1/chat/conversations/[conversationId]/
|
|
175
|
+
"/v1/chat/conversations/[conversationId]/respond/route": "app/v1/chat/conversations/[conversationId]/respond/route.js",
|
|
177
176
|
"/v1/chat/conversations/[conversationId]/route": "app/v1/chat/conversations/[conversationId]/route.js",
|
|
178
|
-
"/v1/chat/
|
|
177
|
+
"/v1/chat/conversations/[conversationId]/wire-preview/route": "app/v1/chat/conversations/[conversationId]/wire-preview/route.js",
|
|
179
178
|
"/v1/flows/[flowRef]/readiness/route": "app/v1/flows/[flowRef]/readiness/route.js",
|
|
180
179
|
"/v1/meetings/[meetingId]/cancel/route": "app/v1/meetings/[meetingId]/cancel/route.js",
|
|
180
|
+
"/v1/chat/events/route": "app/v1/chat/events/route.js",
|
|
181
181
|
"/v1/meetings/[meetingId]/interventions/route": "app/v1/meetings/[meetingId]/interventions/route.js",
|
|
182
|
-
"/v1/meetings/[meetingId]/events/route": "app/v1/meetings/[meetingId]/events/route.js",
|
|
183
182
|
"/v1/meetings/[meetingId]/private-notes/route": "app/v1/meetings/[meetingId]/private-notes/route.js",
|
|
184
183
|
"/v1/meetings/[meetingId]/resume/route": "app/v1/meetings/[meetingId]/resume/route.js",
|
|
185
|
-
"/v1/meetings/[meetingId]/start/route": "app/v1/meetings/[meetingId]/start/route.js",
|
|
186
184
|
"/v1/meetings/[meetingId]/route": "app/v1/meetings/[meetingId]/route.js",
|
|
185
|
+
"/v1/meetings/[meetingId]/start/route": "app/v1/meetings/[meetingId]/start/route.js",
|
|
187
186
|
"/v1/meetings/route": "app/v1/meetings/route.js",
|
|
188
187
|
"/v1/persona-drafts/route": "app/v1/persona-drafts/route.js",
|
|
189
|
-
"/v1/personas/[personaId]/app-grants/[grantId]/launch/route": "app/v1/personas/[personaId]/app-grants/[grantId]/launch/route.js",
|
|
190
188
|
"/v1/persona-drafts/[draftId]/route": "app/v1/persona-drafts/[draftId]/route.js",
|
|
191
|
-
"/v1/personas/[personaId]/app-grants/[grantId]/route": "app/v1/personas/[personaId]/app-grants/[grantId]/route.js",
|
|
189
|
+
"/v1/personas/[personaId]/app-grants/[grantId]/launch/route": "app/v1/personas/[personaId]/app-grants/[grantId]/launch/route.js",
|
|
192
190
|
"/v1/personas/[personaId]/app-grants/route": "app/v1/personas/[personaId]/app-grants/route.js",
|
|
191
|
+
"/v1/personas/[personaId]/app-grants/[grantId]/route": "app/v1/personas/[personaId]/app-grants/[grantId]/route.js",
|
|
193
192
|
"/v1/personas/[personaId]/behaviors/[behaviorId]/activate/route": "app/v1/personas/[personaId]/behaviors/[behaviorId]/activate/route.js",
|
|
194
|
-
"/v1/personas/[personaId]/composition/copy/route": "app/v1/personas/[personaId]/composition/copy/route.js",
|
|
195
193
|
"/v1/personas/[personaId]/composition/behaviors/route": "app/v1/personas/[personaId]/composition/behaviors/route.js",
|
|
196
|
-
"/v1/personas/[personaId]/
|
|
194
|
+
"/v1/personas/[personaId]/composition/copy/route": "app/v1/personas/[personaId]/composition/copy/route.js",
|
|
197
195
|
"/v1/personas/[personaId]/composition/route": "app/v1/personas/[personaId]/composition/route.js",
|
|
198
|
-
"/v1/
|
|
196
|
+
"/v1/meetings/[meetingId]/events/route": "app/v1/meetings/[meetingId]/events/route.js",
|
|
199
197
|
"/v1/personas/[personaId]/deletion-preview/route": "app/v1/personas/[personaId]/deletion-preview/route.js",
|
|
198
|
+
"/v1/personas/[personaId]/execution-preview/route": "app/v1/personas/[personaId]/execution-preview/route.js",
|
|
200
199
|
"/v1/personas/[personaId]/export-preview/route": "app/v1/personas/[personaId]/export-preview/route.js",
|
|
201
200
|
"/v1/personas/[personaId]/export/route": "app/v1/personas/[personaId]/export/route.js",
|
|
202
|
-
"/v1/personas/[personaId]/goal-admissions/[admissionKey]/route": "app/v1/personas/[personaId]/goal-admissions/[admissionKey]/route.js",
|
|
203
201
|
"/v1/personas/[personaId]/improvements/[proposalId]/apply/route": "app/v1/personas/[personaId]/improvements/[proposalId]/apply/route.js",
|
|
202
|
+
"/v1/personas/[personaId]/goal-admissions/[admissionKey]/route": "app/v1/personas/[personaId]/goal-admissions/[admissionKey]/route.js",
|
|
204
203
|
"/v1/personas/[personaId]/improvements/[proposalId]/promote/route": "app/v1/personas/[personaId]/improvements/[proposalId]/promote/route.js",
|
|
205
204
|
"/v1/personas/[personaId]/improvements/[proposalId]/reject/route": "app/v1/personas/[personaId]/improvements/[proposalId]/reject/route.js",
|
|
206
205
|
"/v1/personas/[personaId]/improvements/[proposalId]/undo/route": "app/v1/personas/[personaId]/improvements/[proposalId]/undo/route.js",
|
|
@@ -212,27 +211,27 @@
|
|
|
212
211
|
"/v1/personas/[personaId]/memories/[memoryId]/route": "app/v1/personas/[personaId]/memories/[memoryId]/route.js",
|
|
213
212
|
"/v1/personas/[personaId]/memories/route": "app/v1/personas/[personaId]/memories/route.js",
|
|
214
213
|
"/v1/personas/[personaId]/runtime-recovery/route": "app/v1/personas/[personaId]/runtime-recovery/route.js",
|
|
215
|
-
"/v1/personas/[personaId]/route": "app/v1/personas/[personaId]/route.js",
|
|
216
|
-
"/v1/personas/[personaId]/storage-stats/route": "app/v1/personas/[personaId]/storage-stats/route.js",
|
|
214
|
+
"/v1/personas/[personaId]/core/reconcile/route": "app/v1/personas/[personaId]/core/reconcile/route.js",
|
|
217
215
|
"/v1/personas/[personaId]/work-items/[workItemId]/assign/route": "app/v1/personas/[personaId]/work-items/[workItemId]/assign/route.js",
|
|
216
|
+
"/v1/chat/conversations/route": "app/v1/chat/conversations/route.js",
|
|
217
|
+
"/v1/personas/[personaId]/route": "app/v1/personas/[personaId]/route.js",
|
|
218
218
|
"/v1/personas/[personaId]/work-items/[workItemId]/route": "app/v1/personas/[personaId]/work-items/[workItemId]/route.js",
|
|
219
|
-
"/v1/personas/[personaId]/work-items/[workItemId]/runtime/route": "app/v1/personas/[personaId]/work-items/[workItemId]/runtime/route.js",
|
|
220
|
-
"/v1/personas/[personaId]/work-items/promote-todo/route": "app/v1/personas/[personaId]/work-items/promote-todo/route.js",
|
|
221
219
|
"/v1/personas/[personaId]/work-items/[workItemId]/source/route": "app/v1/personas/[personaId]/work-items/[workItemId]/source/route.js",
|
|
220
|
+
"/v1/personas/[personaId]/work-items/promote-todo/route": "app/v1/personas/[personaId]/work-items/promote-todo/route.js",
|
|
221
|
+
"/v1/personas/[personaId]/work-items/route": "app/v1/personas/[personaId]/work-items/route.js",
|
|
222
222
|
"/v1/personas/readiness/route": "app/v1/personas/readiness/route.js",
|
|
223
|
-
"/v1/personas/route": "app/v1/personas/route.js",
|
|
223
|
+
"/v1/personas/[personaId]/work-items/[workItemId]/runtime/route": "app/v1/personas/[personaId]/work-items/[workItemId]/runtime/route.js",
|
|
224
224
|
"/v1/personas/settings-options/route": "app/v1/personas/settings-options/route.js",
|
|
225
|
-
"/v1/personas/
|
|
226
|
-
"/v1/personas/summary/route": "app/v1/personas/summary/route.js",
|
|
225
|
+
"/v1/personas/route": "app/v1/personas/route.js",
|
|
227
226
|
"/v1/roles/[roleId]/duplicate/route": "app/v1/roles/[roleId]/duplicate/route.js",
|
|
227
|
+
"/v1/personas/summary/route": "app/v1/personas/summary/route.js",
|
|
228
228
|
"/v1/roles/[roleId]/impact/route": "app/v1/roles/[roleId]/impact/route.js",
|
|
229
229
|
"/v1/roles/[roleId]/restore/route": "app/v1/roles/[roleId]/restore/route.js",
|
|
230
230
|
"/v1/roles/[roleId]/rollback/route": "app/v1/roles/[roleId]/rollback/route.js",
|
|
231
231
|
"/v1/roles/[roleId]/versions/route": "app/v1/roles/[roleId]/versions/route.js",
|
|
232
232
|
"/v1/roles/[roleId]/route": "app/v1/roles/[roleId]/route.js",
|
|
233
233
|
"/v1/tasks/[taskId]/route": "app/v1/tasks/[taskId]/route.js",
|
|
234
|
-
"/v1/
|
|
235
|
-
"/v1/personas/[personaId]/work-items/[workItemId]/control/route": "app/v1/personas/[personaId]/work-items/[workItemId]/control/route.js",
|
|
234
|
+
"/v1/personas/[personaId]/storage-stats/route": "app/v1/personas/[personaId]/storage-stats/route.js",
|
|
236
235
|
"/automation/triggers/page": "app/automation/triggers/page.js",
|
|
237
236
|
"/automation/waves/page": "app/automation/waves/page.js",
|
|
238
237
|
"/chain-chat/page": "app/chain-chat/page.js",
|
|
@@ -257,5 +256,6 @@
|
|
|
257
256
|
"/waves/page": "app/waves/page.js",
|
|
258
257
|
"/world/page": "app/world/page.js",
|
|
259
258
|
"/models/page": "app/models/page.js",
|
|
260
|
-
"/v1/
|
|
259
|
+
"/v1/roles/route": "app/v1/roles/route.js",
|
|
260
|
+
"/v1/personas/[personaId]/work-items/[workItemId]/control/route": "app/v1/personas/[personaId]/work-items/[workItemId]/control/route.js"
|
|
261
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=14645,exports.ids=[14645],exports.modules={214645:(a,b,c)=>{c.d(b,{_F:()=>J,inspectShippedWorkspaceProvenance:()=>G});var d=c(51455),e=c.n(d),f=c(176760),g=c.n(f),h=c(977598),i=c(973024),j=c.n(i),k=c(598995),l=c(441652);let m=/^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/i;function n(a,b){let c=g().relative(a,b);return".."!==c&&!c.startsWith(`..${g().sep}`)&&!g().isAbsolute(c)}async function o(a){let b=g().resolve(a),c=await j().promises.realpath(a),d=a=>"win32"===process.platform?a.toLowerCase():a;if(d(c)!==d(b))throw Error("Linked installation asset refused.")}function p(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeNs===b.mtimeNs&&a.ctimeNs===b.ctimeNs&&a.mode===b.mode}async function q(a){return(await Promise.allSettled(a)).map(a=>{if("rejected"===a.status)throw a.reason;return a.value})}async function r(a,b,c,d,e="Dependency asset changed."){let f=await Promise.allSettled([o(a),...c?[c.stat({bigint:!0})]:[],j().promises.lstat(a,{bigint:!0})]),g=f[0];if("rejected"===g.status)throw g.reason;if(void 0!==d&&BigInt(d)!==b.size)throw Error(e);for(let a of f.slice(1)){if("rejected"===a.status)throw a.reason;if(!a.value||!p(b,a.value))throw Error(e)}if(c&&!p(b,j().fstatSync(c.fd,{bigint:!0}))||!p(b,j().lstatSync(a,{bigint:!0})))throw Error(e)}async function s(a,b,c){let d=await j().promises.realpath(a);await o(d);let e=[...b],f=new Set,l=[],s=[],t=new Map,u=0,v=0,w=()=>{if(c?.aborted)throw Error("Dependency inspection cancelled.")},x=async(a,b,c=!1)=>{w();let d=await j().promises.open(a,i.constants.O_RDONLY|(i.constants.O_NOFOLLOW??0)|(i.constants.O_NONBLOCK??0)),e=[],f=Buffer.alloc(65536),g=(0,h.createHash)("sha256");try{let h=await d.stat({bigint:!0});if(!h.isFile()||h.nlink!==BigInt(1)||h.size>BigInt(b))throw Error("Dependency asset exceeds its bounds.");let i=t.get(a);if(i&&!p(i,h))throw Error("Dependency asset changed between reads.");await r(a,h);let j=0;for(;;){w();let a=await d.read(f,0,f.length,null);if(!a.bytesRead)break;if((j+=a.bytesRead)>b)throw Error("Dependency asset exceeds its bounds.");g.update(f.subarray(0,a.bytesRead)),c||e.push(Buffer.from(f.subarray(0,a.bytesRead)))}return await r(a,h,d,j),t.set(a,h),{content:c?void 0:Buffer.concat(e),digest:g.digest("hex")}}finally{for(let a of(f.fill(0),e))a.fill(0);await d.close()}};for(;e.length;){let a;w();let b=await j().promises.realpath(e.shift());if(!n(d,b))throw Error("Dependency resolves outside the inspected installation.");if(f.has(b))continue;if(f.add(b),f.size>256)throw Error("Dependency graph exceeds its package bound.");await o(b);let c=g().join(b,"package.json"),i=await x(c,65536),r=i.content,y=i.digest;try{a=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(r))}finally{r.fill(0)}if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid dependency manifest.");for(let b of[a.dependencies,a.optionalDependencies,a.peerDependencies])if(void 0!==b&&(!b||"object"!=typeof b||Array.isArray(b)||Object.values(b).some(a=>"string"!=typeof a||a.length>2048)))throw Error("Invalid dependency declarations.");let z=(0,h.createHash)("sha256").update("flujo:mcp:installed-dependency:v1\0"),A=async a=>{if(w(),++u>16384)throw Error("Dependency graph exceeds its member bound.");await o(a);let d=await j().promises.lstat(a,{bigint:!0});if(!d.isDirectory())throw Error("Dependency directory refused.");t.set(a,d),z.update(JSON.stringify(["directory",g().relative(b,a),String(d.mode)]));let e=(await j().promises.readdir(a)).sort().filter(a=>"node_modules"!==a);for(let d=0;d<e.length;d+=16)for(let f of(await q(e.slice(d,d+16).map(async b=>{w();let d=g().join(a,b),e=await j().promises.lstat(d,{bigint:!0});if(e.isDirectory()&&!e.isSymbolicLink())return{filename:d,stat:e,digest:void 0};if(++u>16384||!e.isFile()||e.isSymbolicLink())throw Error("Dependency member refused.");let f=Number(e.size);if((v+=f)>0x10000000)throw Error("Dependency graph exceeds its byte bound.");let{digest:h}=await x(d,f,!0);if(!p(e,t.get(d)))throw Error("Dependency member changed before reading.");if(d===c&&h!==y)throw Error("Parsed dependency manifest differs from the fingerprinted manifest.");return{filename:d,stat:e,digest:h}}))))void 0===f.digest?await A(f.filename):z.update(JSON.stringify(["file",g().relative(b,f.filename),String(f.stat.mode),f.digest]));if(await o(a),!p(d,await j().promises.lstat(a,{bigint:!0})))throw Error("Dependency directory changed.")};await A(b),l.push({directory:b,digest:z.digest("hex")});let B=Reflect.get(k,"createRequire")(c),C=new Set([...Object.keys(a.dependencies??{}),...Object.keys(a.optionalDependencies??{}),...Object.keys(a.peerDependencies??{})]);if(C.size>128)throw Error("Dependency manifest exceeds its name bound.");for(let c of[...C].sort()){let f;if(!m.test(c))throw Error("Invalid dependency name.");for(let a of B.resolve.paths(c)??[])try{f=await j().promises.realpath(g().join(a,c));break}catch(a){if("ENOENT"!==a.code)throw a}if(!f){if(Object.prototype.hasOwnProperty.call(a.dependencies??{},c))throw Error("Required installation dependency missing.");continue}if(!n(d,f))throw Error("Dependency resolves outside the inspected installation.");s.push({from:b,name:c,to:f}),e.push(f)}}w();let y=[...t];for(let a=0;a<y.length;a+=32)await q(y.slice(a,a+32).map(async([a,b])=>{w(),await r(a,b,void 0,void 0,"Installation changed during dependency inspection.")}));return l.sort((a,b)=>a.directory.localeCompare(b.directory)),s.sort((a,b)=>JSON.stringify(a).localeCompare(JSON.stringify(b))),{installation:d,packages:l,edges:s,digest:(0,h.createHash)("sha256").update(JSON.stringify({domain:"flujo:mcp:installed-dependency-graph:v1",installation:d,packages:l,edges:s})).digest("hex")}}var t=c(370392);let u=["package.json","src","dist","scripts","tsconfig.json","README.md","LICENSE"],v=new Set([...l.wZ.map(a=>a.packageDirectory),"shared"]),w=new Map,x=".flujo-template.json";async function y(a){return e().lstat(a).catch(a=>{if("ENOENT"!==a.code)throw a})}async function z(a){let b=await e().lstat(a);if(!b.isDirectory()||b.isSymbolicLink())throw Error(`Shipped package directory must not be a symlink or junction: ${a}`)}async function A(a,b){let c=await e().lstat(a);if(c.isSymbolicLink())throw Error(`Shipped package assets must not contain links: ${a}`);if(c.isDirectory())for(let c of(await e().mkdir(b),await e().readdir(a)))await A(g().join(a,c),g().join(b,c));else if(c.isFile())await e().copyFile(a,b,i.constants.COPYFILE_EXCL);else throw Error(`Unsupported shipped package asset: ${a}`)}function B(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeNs===b.mtimeNs&&a.ctimeNs===b.ctimeNs}async function C(a,b){let c=await e().open(a,i.constants.O_RDONLY|(i.constants.O_NOFOLLOW??0)|(i.constants.O_NONBLOCK??0));try{let d=await c.stat({bigint:!0});if(!d.isFile()||!B(b,d))throw Error("A copied package asset changed before it could be read.");let f=await c.readFile(),g=await e().lstat(a,{bigint:!0});if(g.isSymbolicLink())throw Error("A copied package contains an unsupported linked asset.");if(!g.isFile()||BigInt(f.length)!==d.size||!B(d,await c.stat({bigint:!0}))||!B(d,g))throw Error("A copied package asset changed while it was being read.");return f}finally{await c.close()}}async function D(a,b=!1){let c=(0,h.createHash)("sha256"),d=(0,h.createHash)("sha256"),f=(0,h.createHash)("sha256"),i=(a,b,e=a,g=!0)=>{c.update(a),b&&(d.update(a),g&&f.update(e))},j=async(a,c,d)=>{for(let f of(await e().readdir(a)).sort()){if(!c&&["node_modules",".git",x].includes(f)||!c&&b&&!u.includes(f))continue;let k=c?d:["package.json","dist","scripts"].includes(f),l=c?`${c}/${f}`:f,m=g().join(a,f),n=await e().lstat(m,{bigint:!0});if(n.isSymbolicLink())throw Error("A copied package contains an unsupported linked asset.");if(n.isDirectory())i(`directory:${l}\0`,k),await j(m,l,k);else if(n.isFile()){let a=await C(m,n),b=(0,h.createHash)("sha256").update(a).digest("hex"),c=/\.(?:cjs|cts|js|json|map|mjs|mts|sh|ts)$/i.test(l),d=k&&c?Buffer.from(a.toString("latin1").replace(/\r\n/g,"\n"),"latin1"):a,e=(0,h.createHash)("sha256").update(d).digest("hex"),f=!/^scripts\/.*\.test\.[cm]?[jt]s$/i.test(l);i(`file:${l}\0${b}\0`,k,`file:${l}\0${e}\0`,f)}else throw Error("A copied package contains an unsupported asset.")}};return await j(a,"",!1),{assetSha256:c.digest("hex"),runtimeSha256:d.digest("hex"),portableRuntimeSha256:f.digest("hex")}}async function E(a,b){let c;await z(a);let d=g().join(a,"package.json"),f=await y(d);if(!f?.isFile()||f.isSymbolicLink())throw Error(`Shipped package manifest is missing: ${b}`);try{c=JSON.parse(await e().readFile(d,"utf8"))}catch{throw Error(`Shipped package manifest is invalid: ${b}`)}let h=l.wZ.find(a=>a.packageDirectory===b),i=h?[h.packageId,...h.legacyPackageIds??[]]:["@flujo-ai/mcp-shared"];if(!c||!i.includes(c.name))throw Error(`The existing ${b} directory belongs to a different package; it was not overwritten.`);if("shared"!==b){await z(g().join(a,"dist"));let c=await y(g().join(a,"dist","index.js"));if(!c?.isFile()||c.isSymbolicLink())throw Error(`Shipped package is not built: ${b}. Build its MCP package first.`)}return c}async function F(a,b){let c=g().join(a,"mcp-servers",b,"package.json"),d=JSON.parse(await e().readFile(c,"utf8")),f=Reflect.get(k,"createRequire")(c),h=Object.keys(d.dependencies??{}),i=Object.keys({...d.devDependencies,...d.optionalDependencies}),j=[];for(let a of new Set([...h,...i])){if(!/^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/i.test(a))throw Error("Invalid shipped package dependency name.");let b=!1;for(let c of f.resolve.paths(a)??[]){let d=g().join(c,a);if(!await y(d))continue;let f=await e().realpath(d);await z(f),j.push({name:a,root:c,directory:f}),b=!0;break}if(!b&&h.includes(a))throw Error(`The installation is missing the ${a} dependency. Repair the application installation first.`)}let l=[...new Set(j.map(a=>a.root))];return{packages:j,sharedRoot:1===l.length?await e().realpath(l[0]):void 0}}async function G(a,b,c=(0,l.P2)()){return(0,t.Cg)("ASSETS",async()=>{if(!l.wZ.some(a=>a.packageDirectory===b))throw Error("Unknown shipped package.");let d=await e().realpath(c);await z(d);let f=g().join(d,"mcp-servers",b),h=g().join(g().resolve(a),"mcp-servers",b);await E(f,b),await E(h,b);let[i,j]=await Promise.all([D(f,!0),D(h,!0)]);if(i.assetSha256!==j.assetSha256)throw Error("Copied package differs from the installed revision.");let k=await (0,t.Cg)("DEP_LAYOUT",()=>F(d,b)),{runtimeDependencies:m,dependencyNamespaceRoot:n}=await (0,t.Cg)("DEP_LAYOUT",async()=>{let a=JSON.parse(await e().readFile(g().join(f,"package.json"),"utf8")),b=new Set(Object.keys({...a.dependencies,...a.optionalDependencies})),c=k.packages.filter(a=>b.has(a.name)),h=d;if("node_modules"===g().basename(g().dirname(d))){if("flujo-ai"!==JSON.parse(await e().readFile(g().join(d,"package.json"),"utf8")).name)throw Error("Unrecognized flattened application installation.");h=await e().realpath(g().dirname(d))}return{runtimeDependencies:c,dependencyNamespaceRoot:h}}),o=await (0,t.Cg)("DEP_GRAPH",()=>s(n,m.map(a=>a.directory))),p=await (0,t.Cg)("DEP_LINKS",async()=>{let a=g().join(h,"node_modules"),b=[];if(k.sharedRoot){if(!(await e().lstat(a)).isSymbolicLink()||await e().realpath(a)!==k.sharedRoot)throw Error("Copied dependency target differs from the installation.");b.push({link:a,target:k.sharedRoot})}else for(let c of(await z(a),k.packages)){let d=g().join(a,c.name);if(!(await e().lstat(d)).isSymbolicLink()||await e().realpath(d)!==c.directory)throw Error("Copied dependency target differs from the installation.");b.push({link:d,target:c.directory})}return b});return{installation:d,packageDirectory:b,sourceRoot:h,assetDigest:j.assetSha256,runtimeDigest:j.runtimeSha256,dependencyLinks:p,dependencies:m.map(a=>({name:a.name,directory:a.directory})),dependencyNamespaceRoot:n,dependencyGraph:o}})}async function H(a,b,c){let d=g().join(a,"node_modules"),f=await y(d);if(f?.isDirectory()&&!f.isSymbolicLink()&&!await y(g().join(d,".flujo-dependencies.json")))return;let i=await F(b,c);if(f){if(f.isSymbolicLink()&&i.sharedRoot&&await e().realpath(d).catch(()=>"")===i.sharedRoot)return;if(f.isDirectory()&&!f.isSymbolicLink()){for(let a of i.packages){let b=g().join(d,a.name);if(!(await y(b))?.isSymbolicLink()||await e().realpath(b).catch(()=>"")!==a.directory)throw Error("The copied package dependency links are incomplete; existing dependencies were not replaced.")}return}throw Error("The copied package dependency link is invalid; its existing dependencies were not replaced.")}try{if(i.sharedRoot)await e().symlink(i.sharedRoot,d,"win32"===process.platform?"junction":"dir");else{let b=g().join(a,`.flujo-dependencies-${(0,h.randomUUID)()}`);await e().mkdir(b);try{for(let a of(await e().writeFile(g().join(b,".flujo-dependencies.json"),JSON.stringify({version:1}),{flag:"wx"}),i.packages)){let c=g().join(b,a.name);await e().mkdir(g().dirname(c),{recursive:!0}),await e().symlink(a.directory,c,"win32"===process.platform?"junction":"dir")}await e().rename(b,d)}finally{await e().rm(b,{recursive:!0,force:!0})}}}catch(e){if(!["EEXIST","ENOTEMPTY","EPERM"].includes(e.code??"")||!await y(d))throw e;await H(a,b,c)}}async function I(a,b,c){if(!v.has(c))throw Error("Unknown shipped package directory.");let d=g().join(a,c);if(await y(d)){await E(d,c),await H(d,b,c);return}let f=g().join(b,"mcp-servers",c);if("shared"===c&&!await y(f))return;let i=await E(f,c),j=g().join(a,`.flujo-copy-${c}-${(0,h.randomUUID)()}`);await e().mkdir(j);try{for(let a of u){let b=g().join(f,a);await y(b)&&await A(b,g().join(j,a))}await H(j,b,c),await e().writeFile(g().join(j,x),JSON.stringify({version:1,packageDirectory:c,copiedAt:new Date().toISOString(),sourcePackageVersion:i.version,sourceManifestSha256:(0,h.createHash)("sha256").update(await e().readFile(g().join(f,"package.json"))).digest("hex"),assetSha256:(await D(j)).assetSha256,dependencyPolicy:"installation-resolution"}),{flag:"wx"});try{await e().rename(j,d)}catch(a){if(!["EEXIST","ENOTEMPTY","EPERM"].includes(a.code??"")||!await y(d))throw a;await E(d,c),await H(d,b,c)}}finally{await e().rm(j,{recursive:!0,force:!0})}}function J(a,b=(0,l.P2)(),c=l.wZ.map(a=>a.packageDirectory)){if(0===c.length)return Promise.resolve();let d=JSON.stringify([g().resolve(a),g().resolve(b),[...c].sort()]),f=w.get(d);if(f)return f;let h=(async()=>{await z(a);let d=await e().realpath(b);await z(d),await z(g().join(d,"mcp-servers"));let f=g().join(a,"mcp-servers");for(let a of(await e().mkdir(f,{recursive:!0}),await z(f),[...new Set([...c,"shared"])]))await I(f,d,a);let h=g().join(d,"mcp-servers","embed-shared.mjs"),i=g().join(f,"embed-shared.mjs");if(await y(h)&&!await y(i))try{await A(h,i)}catch(a){if("EEXIST"!==a.code)throw a}})().finally(()=>w.delete(d));return w.set(d,h),h}},441652:(a,b,c)=>{c.d(b,{AI:()=>i,AW:()=>j,P2:()=>h,Vm:()=>k,wZ:()=>g});var d=c(176760),e=c.n(d),f=c(581991);let g=[{defaultName:"flujo",packageId:"@mario.andreschak/mcp-flujo",legacyPackageIds:["@flujo-ai/mcp-flujo"],packageDirectory:"flujo",icons:[{src:"/mcp-icons/flujo.svg",mimeType:"image/svg+xml"}]},{defaultName:"filesystem",packageId:"@mario.andreschak/mcp-filesystem",packageDirectory:"filesystem",icons:[{src:"/mcp-icons/filesystem.svg",mimeType:"image/svg+xml"}],hostPathAccess:{environmentRootVariables:["FLUJO_FS_ROOTS"],snapshots:!0}},{defaultName:"bash",packageId:"@mario.andreschak/mcp-bash",legacyPackageIds:["@flujo-ai/mcp-bash"],packageDirectory:"bash",icons:[{src:"/mcp-icons/bash.svg",mimeType:"image/svg+xml"}],enableMcpApps:!0,hostPathAccess:{environmentRootVariables:["FLUJO_BASH_ROOTS","FLUJO_FS_ROOTS"],snapshots:!0}},{defaultName:"browser",packageId:"@mario.andreschak/mcp-browser",legacyPackageIds:["@flujo-ai/mcp-browser"],packageDirectory:"browser",icons:[{src:"/mcp-icons/browser.svg",mimeType:"image/svg+xml"}],enableMcpApps:!0}];function h(a=process.env){return e().resolve(a.FLUJO_APP_ROOT?.trim()||process.cwd())}function i(a=process.env,b=process.platform){let c=a.PLAYWRIGHT_BROWSERS_PATH?.trim();if(c)return c;let d="win32"===b?e().win32:e().posix;if("win32"===b){let b=a.LOCALAPPDATA?.trim();if(b)return d.join(b,"ms-playwright");let c=a.USERPROFILE?.trim();return c?d.join(c,"AppData","Local","ms-playwright"):void 0}let f=a.HOME?.trim();if("darwin"===b)return f?d.join(f,"Library","Caches","ms-playwright"):void 0;let g=a.XDG_CACHE_HOME?.trim();return g?d.join(g,"ms-playwright"):f?d.join(f,".cache","ms-playwright"):void 0}function j(a){let b=a.source?.type==="marketplace"?a.source.id:void 0;return g.find(c=>{let d=[c.packageId,...c.legacyPackageIds??[]];return d.includes(b??"")||d.includes("string"==typeof a.internalPackage?a.internalPackage:"")})}function k(a,b=process.env){let c=e().join("mcp-servers",a.packageDirectory);return{name:a.defaultName,transport:"stdio",command:"node",args:["./dist/index.js"],env:function(a,b=process.env){let c=(0,f.getCurrentWorkspace)(),d=e().resolve(b.FLUJO_PARENT_DATA_DIR?.trim()||b.FLUJO_DATA_DIR?.trim()||process.cwd()),g=e().join(d,"workspaces",c),h={FLUJO_PARENT_DATA_DIR:d,FLUJO_DATA_DIR:g,FLUJO_WORKSPACE:c},j=new Set(["FLUJO_BASE_URL","FLUJO_EXTRA_CA_CERTS","NODE_EXTRA_CA_CERTS","NODE_TLS_REJECT_UNAUTHORIZED","SSL_CERT_FILE"]);if("flujo"===a.defaultName)j.add("FLUJO_SYSTEM_SCREENSHOT_ENABLED");else if("filesystem"===a.defaultName)j.add("FLUJO_FS_ROOTS");else if("bash"===a.defaultName)j.add("FLUJO_BASH_ROOTS"),j.add("FLUJO_FS_ROOTS");else if("browser"===a.defaultName)for(let a of["FLUJO_BROWSER_ENABLED","FLUJO_BROWSER_ALLOWED_ORIGINS","FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS","FLUJO_BROWSER_RESTRICT_NAVIGATION","FLUJO_BROWSER_MODE","FLUJO_BROWSER_EXECUTABLE_PATH","FLUJO_BROWSER_PROFILE_DIR","FLUJO_BROWSER_LOCALE","FLUJO_BROWSER_TIMEZONE_ID","FLUJO_BROWSER_EXTENSION_DIRS","FLUJO_BROWSER_WINDOW_VISIBILITY","FLUJO_BROWSER_MAX_SESSIONS","FLUJO_BROWSER_IDLE_TIMEOUT_MS","FLUJO_BROWSER_MAX_REDIRECTS","FLUJO_BROWSER_SCREENSHOT_DIR","FLUJO_BROWSER_STREAM_ENABLED","FLUJO_BROWSER_STREAM_HOST","FLUJO_BROWSER_STREAM_PORT","FLUJO_BROWSER_STREAM_PUBLIC_ORIGIN","FLUJO_BROWSER_STREAM_QUALITY","FLUJO_MCP_APP_SANDBOX_ALLOW_ALL","FLUJO_BROWSER_STREAM_MAX_WIDTH","FLUJO_BROWSER_STREAM_MAX_HEIGHT","FLUJO_BROWSER_STREAM_AUDIO","FLUJO_BROWSER_VIEWPORT_WIDTH","FLUJO_BROWSER_VIEWPORT_HEIGHT","FLUJO_BROWSER_CHANNEL","FLUJO_BROWSER_HEADED","FLUJO_BROWSER_AUDIO","FLUJO_BROWSER_ALLOW_SERVICE_WORKERS","PLAYWRIGHT_BROWSERS_PATH","FLUJO_BROWSER_ALLOW_LOCAL_CAPTURE","FLUJO_BROWSER_LOCAL_CAPTURE_ROOTS","FLUJO_BROWSER_RECORD_DIR","FLUJO_BROWSER_RECORD_MAX_MS","FLUJO_BROWSER_RECORD_MAX_WIDTH","FLUJO_BROWSER_RECORD_MAX_HEIGHT","FLUJO_BROWSER_INLINE_RECORDING_MAX_BYTES","FLUJO_FFMPEG_PATH"])j.add(a);for(let a of j){let c=b[a];"string"==typeof c&&(h[a]=c)}if("browser"!==a.defaultName||h.FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS?.trim()||(h.FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS="1"),"browser"===a.defaultName){let a=i(b);a&&(h.PLAYWRIGHT_BROWSERS_PATH=a)}return h.FLUJO_PARENT_DATA_DIR=d,h.FLUJO_DATA_DIR=g,h.FLUJO_WORKSPACE=c,"browser"===a.defaultName&&(h.FLUJO_BROWSER_PROFILE_DIR=e().join(g,"browser-profile","trusted"),h.FLUJO_BROWSER_SCREENSHOT_DIR=e().join(g,"screenshots","browser"),h.FLUJO_BROWSER_RECORD_DIR=e().join(g,"recordings","browser")),h}(a,b),cwd:c,disabled:a.disabledByDefault?.(b)??!1,rootPath:c,roots:[],_buildCommand:"",_installCommand:"",source:{type:"marketplace",id:a.packageId},icons:a.icons,exposeAsMcpServer:!0,enableMcpApps:a.enableMcpApps??!1,...a.hostPathAccess?{hostPathAccess:a.hostPathAccess}:{}}}}};
|
|
1
|
+
"use strict";exports.id=14645,exports.ids=[14645],exports.modules={214645:(a,b,c)=>{c.d(b,{_F:()=>K,inspectShippedWorkspaceProvenance:()=>G});var d=c(51455),e=c.n(d),f=c(176760),g=c.n(f),h=c(977598),i=c(973024),j=c.n(i),k=c(598995),l=c(441652);let m=/^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/i;function n(a,b){let c=g().relative(a,b);return".."!==c&&!c.startsWith(`..${g().sep}`)&&!g().isAbsolute(c)}async function o(a){let b=g().resolve(a),c=await j().promises.realpath(a),d=a=>"win32"===process.platform?a.toLowerCase():a;if(d(c)!==d(b))throw Error("Linked installation asset refused.")}function p(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeNs===b.mtimeNs&&a.ctimeNs===b.ctimeNs&&a.mode===b.mode}async function q(a){return(await Promise.allSettled(a)).map(a=>{if("rejected"===a.status)throw a.reason;return a.value})}async function r(a,b,c,d,e="Dependency asset changed."){let f=await Promise.allSettled([o(a),...c?[c.stat({bigint:!0})]:[],j().promises.lstat(a,{bigint:!0})]),g=f[0];if("rejected"===g.status)throw g.reason;if(void 0!==d&&BigInt(d)!==b.size)throw Error(e);for(let a of f.slice(1)){if("rejected"===a.status)throw a.reason;if(!a.value||!p(b,a.value))throw Error(e)}if(c&&!p(b,j().fstatSync(c.fd,{bigint:!0}))||!p(b,j().lstatSync(a,{bigint:!0})))throw Error(e)}async function s(a,b,c){let d=await j().promises.realpath(a);await o(d);let e=[...b],f=new Set,l=[],s=[],t=new Map,u=0,v=0,w=()=>{if(c?.aborted)throw Error("Dependency inspection cancelled.")},x=async(a,b,c=!1)=>{w();let d=await j().promises.open(a,i.constants.O_RDONLY|(i.constants.O_NOFOLLOW??0)|(i.constants.O_NONBLOCK??0)),e=[],f=Buffer.alloc(65536),g=(0,h.createHash)("sha256");try{let h=await d.stat({bigint:!0});if(!h.isFile()||h.nlink!==BigInt(1)||h.size>BigInt(b))throw Error("Dependency asset exceeds its bounds.");let i=t.get(a);if(i&&!p(i,h))throw Error("Dependency asset changed between reads.");await r(a,h);let j=0;for(;;){w();let a=await d.read(f,0,f.length,null);if(!a.bytesRead)break;if((j+=a.bytesRead)>b)throw Error("Dependency asset exceeds its bounds.");g.update(f.subarray(0,a.bytesRead)),c||e.push(Buffer.from(f.subarray(0,a.bytesRead)))}return await r(a,h,d,j),t.set(a,h),{content:c?void 0:Buffer.concat(e),digest:g.digest("hex")}}finally{for(let a of(f.fill(0),e))a.fill(0);await d.close()}};for(;e.length;){let a;w();let b=await j().promises.realpath(e.shift());if(!n(d,b))throw Error("Dependency resolves outside the inspected installation.");if(f.has(b))continue;if(f.add(b),f.size>256)throw Error("Dependency graph exceeds its package bound.");await o(b);let c=g().join(b,"package.json"),i=await x(c,65536),r=i.content,y=i.digest;try{a=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(r))}finally{r.fill(0)}if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid dependency manifest.");for(let b of[a.dependencies,a.optionalDependencies,a.peerDependencies])if(void 0!==b&&(!b||"object"!=typeof b||Array.isArray(b)||Object.values(b).some(a=>"string"!=typeof a||a.length>2048)))throw Error("Invalid dependency declarations.");let z=(0,h.createHash)("sha256").update("flujo:mcp:installed-dependency:v1\0"),A=async a=>{if(w(),++u>16384)throw Error("Dependency graph exceeds its member bound.");await o(a);let d=await j().promises.lstat(a,{bigint:!0});if(!d.isDirectory())throw Error("Dependency directory refused.");t.set(a,d),z.update(JSON.stringify(["directory",g().relative(b,a),String(d.mode)]));let e=(await j().promises.readdir(a)).sort().filter(a=>"node_modules"!==a);for(let d=0;d<e.length;d+=16)for(let f of(await q(e.slice(d,d+16).map(async b=>{w();let d=g().join(a,b),e=await j().promises.lstat(d,{bigint:!0});if(e.isDirectory()&&!e.isSymbolicLink())return{filename:d,stat:e,digest:void 0};if(++u>16384||!e.isFile()||e.isSymbolicLink())throw Error("Dependency member refused.");let f=Number(e.size);if((v+=f)>0x10000000)throw Error("Dependency graph exceeds its byte bound.");let{digest:h}=await x(d,f,!0);if(!p(e,t.get(d)))throw Error("Dependency member changed before reading.");if(d===c&&h!==y)throw Error("Parsed dependency manifest differs from the fingerprinted manifest.");return{filename:d,stat:e,digest:h}}))))void 0===f.digest?await A(f.filename):z.update(JSON.stringify(["file",g().relative(b,f.filename),String(f.stat.mode),f.digest]));if(await o(a),!p(d,await j().promises.lstat(a,{bigint:!0})))throw Error("Dependency directory changed.")};await A(b),l.push({directory:b,digest:z.digest("hex")});let B=Reflect.get(k,"createRequire")(c),C=new Set([...Object.keys(a.dependencies??{}),...Object.keys(a.optionalDependencies??{}),...Object.keys(a.peerDependencies??{})]);if(C.size>128)throw Error("Dependency manifest exceeds its name bound.");for(let c of[...C].sort()){let f;if(!m.test(c))throw Error("Invalid dependency name.");for(let a of B.resolve.paths(c)??[])try{f=await j().promises.realpath(g().join(a,c));break}catch(a){if("ENOENT"!==a.code)throw a}if(!f){if(Object.prototype.hasOwnProperty.call(a.dependencies??{},c))throw Error("Required installation dependency missing.");continue}if(!n(d,f))throw Error("Dependency resolves outside the inspected installation.");s.push({from:b,name:c,to:f}),e.push(f)}}w();let y=[...t];for(let a=0;a<y.length;a+=32)await q(y.slice(a,a+32).map(async([a,b])=>{w(),await r(a,b,void 0,void 0,"Installation changed during dependency inspection.")}));return l.sort((a,b)=>a.directory.localeCompare(b.directory)),s.sort((a,b)=>JSON.stringify(a).localeCompare(JSON.stringify(b))),{installation:d,packages:l,edges:s,digest:(0,h.createHash)("sha256").update(JSON.stringify({domain:"flujo:mcp:installed-dependency-graph:v1",installation:d,packages:l,edges:s})).digest("hex")}}var t=c(370392);let u=["package.json","src","dist","scripts","tsconfig.json","README.md","LICENSE"],v=new Set([...l.wZ.map(a=>a.packageDirectory),"shared"]),w=new Map,x=".flujo-template.json";async function y(a){return e().lstat(a).catch(a=>{if("ENOENT"!==a.code)throw a})}async function z(a){let b=await e().lstat(a);if(!b.isDirectory()||b.isSymbolicLink())throw Error(`Shipped package directory must not be a symlink or junction: ${a}`)}async function A(a,b){let c=await e().lstat(a);if(c.isSymbolicLink())throw Error(`Shipped package assets must not contain links: ${a}`);if(c.isDirectory())for(let c of(await e().mkdir(b),await e().readdir(a)))await A(g().join(a,c),g().join(b,c));else if(c.isFile())await e().copyFile(a,b,i.constants.COPYFILE_EXCL);else throw Error(`Unsupported shipped package asset: ${a}`)}function B(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeNs===b.mtimeNs&&a.ctimeNs===b.ctimeNs}async function C(a,b){let c=await e().open(a,i.constants.O_RDONLY|(i.constants.O_NOFOLLOW??0)|(i.constants.O_NONBLOCK??0));try{let d=await c.stat({bigint:!0});if(!d.isFile()||!B(b,d))throw Error("A copied package asset changed before it could be read.");let f=await c.readFile(),g=await e().lstat(a,{bigint:!0});if(g.isSymbolicLink())throw Error("A copied package contains an unsupported linked asset.");if(!g.isFile()||BigInt(f.length)!==d.size||!B(d,await c.stat({bigint:!0}))||!B(d,g))throw Error("A copied package asset changed while it was being read.");return f}finally{await c.close()}}async function D(a,b=!1){let c=(0,h.createHash)("sha256"),d=(0,h.createHash)("sha256"),f=(0,h.createHash)("sha256"),i=(a,b,e=a,g=!0)=>{c.update(a),b&&(d.update(a),g&&f.update(e))},j=async(a,c,d)=>{for(let f of(await e().readdir(a)).sort()){if(!c&&["node_modules",".git",x].includes(f)||!c&&b&&!u.includes(f))continue;let k=c?d:["package.json","dist","scripts"].includes(f),l=c?`${c}/${f}`:f,m=g().join(a,f),n=await e().lstat(m,{bigint:!0});if(n.isSymbolicLink())throw Error("A copied package contains an unsupported linked asset.");if(n.isDirectory())i(`directory:${l}\0`,k),await j(m,l,k);else if(n.isFile()){let a=await C(m,n),b=(0,h.createHash)("sha256").update(a).digest("hex"),c=/\.(?:cjs|cts|js|json|map|mjs|mts|sh|ts)$/i.test(l),d=k&&c?Buffer.from(a.toString("latin1").replace(/\r\n/g,"\n"),"latin1"):a,e=(0,h.createHash)("sha256").update(d).digest("hex"),f=!/^scripts\/.*\.test\.[cm]?[jt]s$/i.test(l);i(`file:${l}\0${b}\0`,k,`file:${l}\0${e}\0`,f)}else throw Error("A copied package contains an unsupported asset.")}};return await j(a,"",!1),{assetSha256:c.digest("hex"),runtimeSha256:d.digest("hex"),portableRuntimeSha256:f.digest("hex")}}async function E(a,b){let c;await z(a);let d=g().join(a,"package.json"),f=await y(d);if(!f?.isFile()||f.isSymbolicLink())throw Error(`Shipped package manifest is missing: ${b}`);try{c=JSON.parse(await e().readFile(d,"utf8"))}catch{throw Error(`Shipped package manifest is invalid: ${b}`)}let h=l.wZ.find(a=>a.packageDirectory===b),i=h?[h.packageId,...h.legacyPackageIds??[]]:["@flujo-ai/mcp-shared"];if(!c||!i.includes(c.name))throw Error(`The existing ${b} directory belongs to a different package; it was not overwritten.`);if("shared"!==b){await z(g().join(a,"dist"));let c=await y(g().join(a,"dist","index.js"));if(!c?.isFile()||c.isSymbolicLink())throw Error(`Shipped package is not built: ${b}. Build its MCP package first.`)}return c}async function F(a,b){let c=g().join(a,"mcp-servers",b,"package.json"),d=JSON.parse(await e().readFile(c,"utf8")),f=Reflect.get(k,"createRequire")(c),h=Object.keys(d.dependencies??{}),i=Object.keys({...d.devDependencies,...d.optionalDependencies}),j=[];for(let a of new Set([...h,...i])){if(!/^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/i.test(a))throw Error("Invalid shipped package dependency name.");let b=!1;for(let c of f.resolve.paths(a)??[]){let d=g().join(c,a);if(!await y(d))continue;let f=await e().realpath(d);await z(f),j.push({name:a,root:c,directory:f}),b=!0;break}if(!b&&h.includes(a))throw Error(`The installation is missing the ${a} dependency. Repair the application installation first.`)}let l=[...new Set(j.map(a=>a.root))];return{packages:j,sharedRoot:1===l.length?await e().realpath(l[0]):void 0}}async function G(a,b,c=(0,l.P2)()){return(0,t.Cg)("ASSETS",async()=>{if(!l.wZ.some(a=>a.packageDirectory===b))throw Error("Unknown shipped package.");let d=await e().realpath(c);await z(d);let f=g().join(d,"mcp-servers",b),h=g().join(g().resolve(a),"mcp-servers",b);await E(f,b),await E(h,b);let[i,j]=await Promise.all([D(f,!0),D(h,!0)]);if(i.assetSha256!==j.assetSha256)throw Error("Copied package differs from the installed revision.");let k=await (0,t.Cg)("DEP_LAYOUT",()=>F(d,b)),{runtimeDependencies:m,dependencyNamespaceRoot:n}=await (0,t.Cg)("DEP_LAYOUT",async()=>{let a=JSON.parse(await e().readFile(g().join(f,"package.json"),"utf8")),b=new Set(Object.keys({...a.dependencies,...a.optionalDependencies})),c=k.packages.filter(a=>b.has(a.name)),h=d;if("node_modules"===g().basename(g().dirname(d))){if("flujo-ai"!==JSON.parse(await e().readFile(g().join(d,"package.json"),"utf8")).name)throw Error("Unrecognized flattened application installation.");h=await e().realpath(g().dirname(d))}return{runtimeDependencies:c,dependencyNamespaceRoot:h}}),o=await (0,t.Cg)("DEP_GRAPH",()=>s(n,m.map(a=>a.directory))),p=await (0,t.Cg)("DEP_LINKS",async()=>{let a=g().join(h,"node_modules"),b=[];if(k.sharedRoot){if(!(await e().lstat(a)).isSymbolicLink()||await e().realpath(a)!==k.sharedRoot)throw Error("Copied dependency target differs from the installation.");b.push({link:a,target:k.sharedRoot})}else for(let c of(await z(a),k.packages)){let d=g().join(a,c.name);if(!(await e().lstat(d)).isSymbolicLink()||await e().realpath(d)!==c.directory)throw Error("Copied dependency target differs from the installation.");b.push({link:d,target:c.directory})}return b});return{installation:d,packageDirectory:b,sourceRoot:h,assetDigest:j.assetSha256,runtimeDigest:j.runtimeSha256,dependencyLinks:p,dependencies:m.map(a=>({name:a.name,directory:a.directory})),dependencyNamespaceRoot:n,dependencyGraph:o}})}async function H(a){try{let b=JSON.parse(await e().readFile(g().join(a,x),"utf8"));return b?.version===1&&b?.dependencyPolicy==="installation-resolution"}catch{return!1}}async function I(a,b,c){let d=g().join(a,"node_modules"),f=await y(d);if(f?.isDirectory()&&!f.isSymbolicLink()&&!await y(g().join(d,".flujo-dependencies.json")))return;let i=await F(b,c);if(f){if(f.isSymbolicLink()&&i.sharedRoot&&await e().realpath(d).catch(()=>"")===i.sharedRoot)return;let b=f.isDirectory()&&!f.isSymbolicLink();if(b){let a=!0;for(let b of i.packages){let c=g().join(d,b.name);if(!(await y(c))?.isSymbolicLink()||await e().realpath(c).catch(()=>"")!==b.directory){a=!1;break}}if(a)return}if(!await H(a))throw Error(b?"The copied package dependency links are incomplete; existing dependencies were not replaced.":"The copied package dependency link is invalid; its existing dependencies were not replaced.");b?await e().rm(d,{recursive:!0,force:!0}):await e().unlink(d).catch(a=>{if("ENOENT"!==a.code)throw a})}try{if(i.sharedRoot)await e().symlink(i.sharedRoot,d,"win32"===process.platform?"junction":"dir");else{let b=g().join(a,`.flujo-dependencies-${(0,h.randomUUID)()}`);await e().mkdir(b);try{for(let a of(await e().writeFile(g().join(b,".flujo-dependencies.json"),JSON.stringify({version:1}),{flag:"wx"}),i.packages)){let c=g().join(b,a.name);await e().mkdir(g().dirname(c),{recursive:!0}),await e().symlink(a.directory,c,"win32"===process.platform?"junction":"dir")}await e().rename(b,d)}finally{await e().rm(b,{recursive:!0,force:!0})}}}catch(e){if(!["EEXIST","ENOTEMPTY","EPERM"].includes(e.code??"")||!await y(d))throw e;await I(a,b,c)}}async function J(a,b,c){if(!v.has(c))throw Error("Unknown shipped package directory.");let d=g().join(a,c);if(await y(d)){await E(d,c),await I(d,b,c);return}let f=g().join(b,"mcp-servers",c);if("shared"===c&&!await y(f))return;let i=await E(f,c),j=g().join(a,`.flujo-copy-${c}-${(0,h.randomUUID)()}`);await e().mkdir(j);try{for(let a of u){let b=g().join(f,a);await y(b)&&await A(b,g().join(j,a))}await I(j,b,c),await e().writeFile(g().join(j,x),JSON.stringify({version:1,packageDirectory:c,copiedAt:new Date().toISOString(),sourcePackageVersion:i.version,sourceManifestSha256:(0,h.createHash)("sha256").update(await e().readFile(g().join(f,"package.json"))).digest("hex"),assetSha256:(await D(j)).assetSha256,dependencyPolicy:"installation-resolution"}),{flag:"wx"});try{await e().rename(j,d)}catch(a){if(!["EEXIST","ENOTEMPTY","EPERM"].includes(a.code??"")||!await y(d))throw a;await E(d,c),await I(d,b,c)}}finally{await e().rm(j,{recursive:!0,force:!0})}}function K(a,b=(0,l.P2)(),c=l.wZ.map(a=>a.packageDirectory)){if(0===c.length)return Promise.resolve();let d=JSON.stringify([g().resolve(a),g().resolve(b),[...c].sort()]),f=w.get(d);if(f)return f;let h=(async()=>{await z(a);let d=await e().realpath(b);await z(d),await z(g().join(d,"mcp-servers"));let f=g().join(a,"mcp-servers");for(let a of(await e().mkdir(f,{recursive:!0}),await z(f),[...new Set([...c,"shared"])]))await J(f,d,a);let h=g().join(d,"mcp-servers","embed-shared.mjs"),i=g().join(f,"embed-shared.mjs");if(await y(h)&&!await y(i))try{await A(h,i)}catch(a){if("EEXIST"!==a.code)throw a}})().finally(()=>w.delete(d));return w.set(d,h),h}},441652:(a,b,c)=>{c.d(b,{AI:()=>i,AW:()=>j,P2:()=>h,Vm:()=>k,wZ:()=>g});var d=c(176760),e=c.n(d),f=c(581991);let g=[{defaultName:"flujo",packageId:"@mario.andreschak/mcp-flujo",legacyPackageIds:["@flujo-ai/mcp-flujo"],packageDirectory:"flujo",icons:[{src:"/mcp-icons/flujo.svg",mimeType:"image/svg+xml"}]},{defaultName:"filesystem",packageId:"@mario.andreschak/mcp-filesystem",packageDirectory:"filesystem",icons:[{src:"/mcp-icons/filesystem.svg",mimeType:"image/svg+xml"}],hostPathAccess:{environmentRootVariables:["FLUJO_FS_ROOTS"],snapshots:!0}},{defaultName:"bash",packageId:"@mario.andreschak/mcp-bash",legacyPackageIds:["@flujo-ai/mcp-bash"],packageDirectory:"bash",icons:[{src:"/mcp-icons/bash.svg",mimeType:"image/svg+xml"}],enableMcpApps:!0,hostPathAccess:{environmentRootVariables:["FLUJO_BASH_ROOTS","FLUJO_FS_ROOTS"],snapshots:!0}},{defaultName:"browser",packageId:"@mario.andreschak/mcp-browser",legacyPackageIds:["@flujo-ai/mcp-browser"],packageDirectory:"browser",icons:[{src:"/mcp-icons/browser.svg",mimeType:"image/svg+xml"}],enableMcpApps:!0}];function h(a=process.env){return e().resolve(a.FLUJO_APP_ROOT?.trim()||process.cwd())}function i(a=process.env,b=process.platform){let c=a.PLAYWRIGHT_BROWSERS_PATH?.trim();if(c)return c;let d="win32"===b?e().win32:e().posix;if("win32"===b){let b=a.LOCALAPPDATA?.trim();if(b)return d.join(b,"ms-playwright");let c=a.USERPROFILE?.trim();return c?d.join(c,"AppData","Local","ms-playwright"):void 0}let f=a.HOME?.trim();if("darwin"===b)return f?d.join(f,"Library","Caches","ms-playwright"):void 0;let g=a.XDG_CACHE_HOME?.trim();return g?d.join(g,"ms-playwright"):f?d.join(f,".cache","ms-playwright"):void 0}function j(a){let b=a.source?.type==="marketplace"?a.source.id:void 0;return g.find(c=>{let d=[c.packageId,...c.legacyPackageIds??[]];return d.includes(b??"")||d.includes("string"==typeof a.internalPackage?a.internalPackage:"")})}function k(a,b=process.env){let c=e().join("mcp-servers",a.packageDirectory);return{name:a.defaultName,transport:"stdio",command:"node",args:["./dist/index.js"],env:function(a,b=process.env){let c=(0,f.getCurrentWorkspace)(),d=e().resolve(b.FLUJO_PARENT_DATA_DIR?.trim()||b.FLUJO_DATA_DIR?.trim()||process.cwd()),g=e().join(d,"workspaces",c),h={FLUJO_PARENT_DATA_DIR:d,FLUJO_DATA_DIR:g,FLUJO_WORKSPACE:c},j=new Set(["FLUJO_BASE_URL","FLUJO_EXTRA_CA_CERTS","NODE_EXTRA_CA_CERTS","NODE_TLS_REJECT_UNAUTHORIZED","SSL_CERT_FILE"]);if("flujo"===a.defaultName)j.add("FLUJO_SYSTEM_SCREENSHOT_ENABLED");else if("filesystem"===a.defaultName)j.add("FLUJO_FS_ROOTS");else if("bash"===a.defaultName)j.add("FLUJO_BASH_ROOTS"),j.add("FLUJO_FS_ROOTS");else if("browser"===a.defaultName)for(let a of["FLUJO_BROWSER_ENABLED","FLUJO_BROWSER_ALLOWED_ORIGINS","FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS","FLUJO_BROWSER_RESTRICT_NAVIGATION","FLUJO_BROWSER_MODE","FLUJO_BROWSER_EXECUTABLE_PATH","FLUJO_BROWSER_PROFILE_DIR","FLUJO_BROWSER_LOCALE","FLUJO_BROWSER_TIMEZONE_ID","FLUJO_BROWSER_EXTENSION_DIRS","FLUJO_BROWSER_WINDOW_VISIBILITY","FLUJO_BROWSER_MAX_SESSIONS","FLUJO_BROWSER_IDLE_TIMEOUT_MS","FLUJO_BROWSER_MAX_REDIRECTS","FLUJO_BROWSER_SCREENSHOT_DIR","FLUJO_BROWSER_STREAM_ENABLED","FLUJO_BROWSER_STREAM_HOST","FLUJO_BROWSER_STREAM_PORT","FLUJO_BROWSER_STREAM_PUBLIC_ORIGIN","FLUJO_BROWSER_STREAM_QUALITY","FLUJO_MCP_APP_SANDBOX_ALLOW_ALL","FLUJO_BROWSER_STREAM_MAX_WIDTH","FLUJO_BROWSER_STREAM_MAX_HEIGHT","FLUJO_BROWSER_STREAM_AUDIO","FLUJO_BROWSER_VIEWPORT_WIDTH","FLUJO_BROWSER_VIEWPORT_HEIGHT","FLUJO_BROWSER_CHANNEL","FLUJO_BROWSER_HEADED","FLUJO_BROWSER_AUDIO","FLUJO_BROWSER_ALLOW_SERVICE_WORKERS","PLAYWRIGHT_BROWSERS_PATH","FLUJO_BROWSER_ALLOW_LOCAL_CAPTURE","FLUJO_BROWSER_LOCAL_CAPTURE_ROOTS","FLUJO_BROWSER_RECORD_DIR","FLUJO_BROWSER_RECORD_MAX_MS","FLUJO_BROWSER_RECORD_MAX_WIDTH","FLUJO_BROWSER_RECORD_MAX_HEIGHT","FLUJO_BROWSER_INLINE_RECORDING_MAX_BYTES","FLUJO_FFMPEG_PATH"])j.add(a);for(let a of j){let c=b[a];"string"==typeof c&&(h[a]=c)}if("browser"!==a.defaultName||h.FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS?.trim()||(h.FLUJO_BROWSER_ALLOW_PRIVATE_HOSTS="1"),"browser"===a.defaultName){let a=i(b);a&&(h.PLAYWRIGHT_BROWSERS_PATH=a)}return h.FLUJO_PARENT_DATA_DIR=d,h.FLUJO_DATA_DIR=g,h.FLUJO_WORKSPACE=c,"browser"===a.defaultName&&(h.FLUJO_BROWSER_PROFILE_DIR=e().join(g,"browser-profile","trusted"),h.FLUJO_BROWSER_SCREENSHOT_DIR=e().join(g,"screenshots","browser"),h.FLUJO_BROWSER_RECORD_DIR=e().join(g,"recordings","browser")),h}(a,b),cwd:c,disabled:a.disabledByDefault?.(b)??!1,rootPath:c,roots:[],_buildCommand:"",_installCommand:"",source:{type:"marketplace",id:a.packageId},icons:a.icons,exposeAsMcpServer:!0,enableMcpApps:a.enableMcpApps??!1,...a.hostPathAccess?{hostPathAccess:a.hostPathAccess}:{}}}}};
|