@circuitwall/jarela 2.2.0 → 2.3.0
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/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +4 -3
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +8 -0
- package/.next/standalone/.next/server/app/_global-error/page.js +68 -68
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +76 -76
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/v1/access/[identity]/route.js +93 -93
- package/.next/standalone/.next/server/app/api/v1/access/route.js +169 -169
- package/.next/standalone/.next/server/app/api/v1/agents/[id]/compact/route.js +82 -56
- package/.next/standalone/.next/server/app/api/v1/agents/[id]/compact/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/agents/[id]/display-filters/route.js +122 -122
- package/.next/standalone/.next/server/app/api/v1/agents/[id]/route.js +100 -100
- package/.next/standalone/.next/server/app/api/v1/agents/[id]/thread/route.js +753 -753
- package/.next/standalone/.next/server/app/api/v1/agents/route.js +65 -65
- package/.next/standalone/.next/server/app/api/v1/allowed-sites/[hostname]/route.js +364 -364
- package/.next/standalone/.next/server/app/api/v1/allowed-sites/route.js +802 -802
- package/.next/standalone/.next/server/app/api/v1/artifacts/lifecycle/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/attachments/files/route.js +49 -49
- package/.next/standalone/.next/server/app/api/v1/attachments/images/route.js +910 -910
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/chats/route.js +589 -16
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/chats/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/ignores/[remote_jid]/route.js +23 -23
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/ignores/route.js +30 -30
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/lookup/route.js +703 -130
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/lookup/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/pair/route.js +708 -135
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/pair/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/route.js +802 -229
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/routes/[route_id]/route.js +739 -739
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/routes/route.js +1035 -1035
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/status/route.js +679 -106
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/bridges/kinds/route.js +804 -804
- package/.next/standalone/.next/server/app/api/v1/bridges/route.js +700 -700
- package/.next/standalone/.next/server/app/api/v1/builtin-tools/route.js +9 -9
- package/.next/standalone/.next/server/app/api/v1/builtin-tools/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/config/route.js +85 -85
- package/.next/standalone/.next/server/app/api/v1/credentials/[id]/route.js +709 -709
- package/.next/standalone/.next/server/app/api/v1/credentials/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/credentials/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/credentials/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/dashboard/currency/route.js +10 -10
- package/.next/standalone/.next/server/app/api/v1/dashboard/metrics/route.js +784 -784
- package/.next/standalone/.next/server/app/api/v1/dashboard/pricing/route.js +23 -23
- package/.next/standalone/.next/server/app/api/v1/dashboard/pricing-task/route.js +86 -86
- package/.next/standalone/.next/server/app/api/v1/dashboard/pricing-task/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/delegations/codex/[job_id]/route.js +57 -57
- package/.next/standalone/.next/server/app/api/v1/delegations/codex/[job_id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/documents/search/route.js +523 -523
- package/.next/standalone/.next/server/app/api/v1/documents/settings/route.js +44 -44
- package/.next/standalone/.next/server/app/api/v1/documents/sources/[id]/reindex/route.js +65 -65
- package/.next/standalone/.next/server/app/api/v1/documents/sources/[id]/reindex/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/documents/sources/[id]/route.js +122 -122
- package/.next/standalone/.next/server/app/api/v1/documents/sources/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/documents/sources/route.js +37 -37
- package/.next/standalone/.next/server/app/api/v1/documents/sources/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/env/route.js +9 -9
- package/.next/standalone/.next/server/app/api/v1/env-sync/allowlist/route.js +368 -368
- package/.next/standalone/.next/server/app/api/v1/env-sync/route.js +44 -44
- package/.next/standalone/.next/server/app/api/v1/events/route.js +751 -178
- package/.next/standalone/.next/server/app/api/v1/events/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/events/test/route.js +77 -77
- package/.next/standalone/.next/server/app/api/v1/extension/agents/route.js +763 -763
- package/.next/standalone/.next/server/app/api/v1/extension/agents/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/extension/browser/activate/route.js +44 -44
- package/.next/standalone/.next/server/app/api/v1/extension/browser/foreground/route.js +9 -9
- package/.next/standalone/.next/server/app/api/v1/extension/browser/history/route.js +65 -65
- package/.next/standalone/.next/server/app/api/v1/extension/browser/poll/route.js +34 -34
- package/.next/standalone/.next/server/app/api/v1/extension/browser/progress/route.js +204 -204
- package/.next/standalone/.next/server/app/api/v1/extension/browser/result/route.js +133 -133
- package/.next/standalone/.next/server/app/api/v1/extension/browser/retry/route.js +106 -106
- package/.next/standalone/.next/server/app/api/v1/extension/browser/status/route.js +114 -114
- package/.next/standalone/.next/server/app/api/v1/extension/browser/tabs/route.js +134 -134
- package/.next/standalone/.next/server/app/api/v1/extension/fill/route.js +690 -690
- package/.next/standalone/.next/server/app/api/v1/extension/fill/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/extension/refine/route.js +93 -93
- package/.next/standalone/.next/server/app/api/v1/extension/refine/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/extension/turn/route.js +9 -9
- package/.next/standalone/.next/server/app/api/v1/extension/turn/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/extensions/route.js +185 -185
- package/.next/standalone/.next/server/app/api/v1/extensions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/config/route.js +171 -171
- package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/route.js +396 -396
- package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/secrets/route.js +212 -212
- package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/secrets/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/files/[name]/route.js +235 -235
- package/.next/standalone/.next/server/app/api/v1/fs/browse/route.js +26 -26
- package/.next/standalone/.next/server/app/api/v1/harnesses/[id]/route.js +221 -221
- package/.next/standalone/.next/server/app/api/v1/harnesses/default/route.js +58 -58
- package/.next/standalone/.next/server/app/api/v1/harnesses/route.js +72 -72
- package/.next/standalone/.next/server/app/api/v1/health/probes/route.js +9 -9
- package/.next/standalone/.next/server/app/api/v1/health/probes/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/health/route.js +772 -772
- package/.next/standalone/.next/server/app/api/v1/integrations/[name]/route.js +133 -133
- package/.next/standalone/.next/server/app/api/v1/integrations/[name]/test/route.js +9 -9
- package/.next/standalone/.next/server/app/api/v1/integrations/[name]/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/integrations/gmail/oauth/callback/route.js +363 -363
- package/.next/standalone/.next/server/app/api/v1/integrations/gmail/oauth/start/route.js +233 -233
- package/.next/standalone/.next/server/app/api/v1/integrations/gmail/oauth/status/route.js +682 -682
- package/.next/standalone/.next/server/app/api/v1/integrations/outlook/oauth/callback/route.js +879 -879
- package/.next/standalone/.next/server/app/api/v1/integrations/outlook/oauth/start/route.js +108 -108
- package/.next/standalone/.next/server/app/api/v1/integrations/outlook/oauth/status/route.js +952 -952
- package/.next/standalone/.next/server/app/api/v1/integrations/route.js +216 -216
- package/.next/standalone/.next/server/app/api/v1/lifecycle/adoption/route.js +864 -847
- package/.next/standalone/.next/server/app/api/v1/lifecycle/adoption/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/local-file/route.js +26 -26
- package/.next/standalone/.next/server/app/api/v1/logs/route.js +70 -70
- package/.next/standalone/.next/server/app/api/v1/maps/embed/route.js +72 -72
- package/.next/standalone/.next/server/app/api/v1/mcp-servers/[name]/route.js +979 -979
- package/.next/standalone/.next/server/app/api/v1/mcp-servers/registry/route.js +196 -196
- package/.next/standalone/.next/server/app/api/v1/mcp-servers/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/memory/[namespace]/[key]/route.js +381 -381
- package/.next/standalone/.next/server/app/api/v1/memory/policy/route.js +79 -79
- package/.next/standalone/.next/server/app/api/v1/memory/route.js +51 -51
- package/.next/standalone/.next/server/app/api/v1/memory/search/route.js +131 -131
- package/.next/standalone/.next/server/app/api/v1/models/[name]/compact-threads/route.js +374 -369
- package/.next/standalone/.next/server/app/api/v1/models/[name]/compact-threads/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/models/[name]/route.js +204 -163
- package/.next/standalone/.next/server/app/api/v1/models/route.js +548 -546
- package/.next/standalone/.next/server/app/api/v1/packages/catalog/route.js +445 -445
- package/.next/standalone/.next/server/app/api/v1/packages/defaults/[id]/route.js +120 -120
- package/.next/standalone/.next/server/app/api/v1/packages/defaults/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/packages/install/[id]/route.js +234 -234
- package/.next/standalone/.next/server/app/api/v1/packages/install/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/packages/install/route.js +407 -407
- package/.next/standalone/.next/server/app/api/v1/packages/install/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/packages/manifests/[name]/enabled/route.js +37 -37
- package/.next/standalone/.next/server/app/api/v1/packages/manifests/[name]/enabled/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/packages/manifests/[name]/route.js +107 -107
- package/.next/standalone/.next/server/app/api/v1/packages/manifests/[name]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/packages/manifests/route.js +228 -228
- package/.next/standalone/.next/server/app/api/v1/packages/manifests/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/packages/reload/route.js +9 -9
- package/.next/standalone/.next/server/app/api/v1/packages/reload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/packages/route.js +148 -148
- package/.next/standalone/.next/server/app/api/v1/packages/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/page-capture/route.js +787 -787
- package/.next/standalone/.next/server/app/api/v1/page-capture/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/pending-actions/[id]/approve/route.js +507 -507
- package/.next/standalone/.next/server/app/api/v1/pending-actions/[id]/approve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/pending-actions/[id]/deny/route.js +181 -181
- package/.next/standalone/.next/server/app/api/v1/pending-actions/[id]/deny/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/pending-actions/route.js +258 -258
- package/.next/standalone/.next/server/app/api/v1/pending-actions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/profile/location/route.js +30 -30
- package/.next/standalone/.next/server/app/api/v1/profile/route.js +164 -164
- package/.next/standalone/.next/server/app/api/v1/providers/[provider]/models/route.js +71 -68
- package/.next/standalone/.next/server/app/api/v1/providers/[provider]/probe/route.js +9 -9
- package/.next/standalone/.next/server/app/api/v1/providers/github-copilot/auth/route.js +164 -164
- package/.next/standalone/.next/server/app/api/v1/providers/route.js +94 -94
- package/.next/standalone/.next/server/app/api/v1/proxy-config/route.js +450 -450
- package/.next/standalone/.next/server/app/api/v1/redaction/init/route.js +37 -37
- package/.next/standalone/.next/server/app/api/v1/redaction/route.js +58 -58
- package/.next/standalone/.next/server/app/api/v1/scheduled-tasks/[id]/route.js +600 -600
- package/.next/standalone/.next/server/app/api/v1/scheduled-tasks/[id]/run/route.js +44 -44
- package/.next/standalone/.next/server/app/api/v1/scheduled-tasks/[id]/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/scheduled-tasks/route.js +732 -732
- package/.next/standalone/.next/server/app/api/v1/security/idle-timeout/route.js +359 -359
- package/.next/standalone/.next/server/app/api/v1/security/pin/route.js +197 -197
- package/.next/standalone/.next/server/app/api/v1/security/state/route.js +51 -51
- package/.next/standalone/.next/server/app/api/v1/security/unlock/route.js +176 -176
- package/.next/standalone/.next/server/app/api/v1/security/verify-pin/route.js +190 -190
- package/.next/standalone/.next/server/app/api/v1/setup/test-key/route.js +26 -26
- package/.next/standalone/.next/server/app/api/v1/skills/[id]/route.js +770 -770
- package/.next/standalone/.next/server/app/api/v1/skills/repos/[id]/route.js +115 -115
- package/.next/standalone/.next/server/app/api/v1/skills/repos/route.js +327 -327
- package/.next/standalone/.next/server/app/api/v1/skills/route.js +870 -870
- package/.next/standalone/.next/server/app/api/v1/system/abort/route.js +838 -808
- package/.next/standalone/.next/server/app/api/v1/system/restart/route.js +177 -177
- package/.next/standalone/.next/server/app/api/v1/system/restart/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/tailscale/route.js +164 -164
- package/.next/standalone/.next/server/app/api/v1/tasks/[agent_id]/route.js +115 -115
- package/.next/standalone/.next/server/app/api/v1/tasks/route.js +23 -23
- package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/activity/route.js +1429 -0
- package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/activity/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/activity/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/context-pin/route.js +635 -634
- package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/context-pin/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/route.js +53 -439
- package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/run/route.js +172 -172
- package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/threads/route.js +908 -908
- package/.next/standalone/.next/server/app/api/v1/tools/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/tools/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/update/apply/route.js +17 -17
- package/.next/standalone/.next/server/app/api/v1/update/apply/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/update/route.js +570 -570
- package/.next/standalone/.next/server/app/api/v1/voice/transcribe/route.js +224 -224
- package/.next/standalone/.next/server/app/api/v1/voice/tts/route.js +975 -975
- package/.next/standalone/.next/server/app/api/v1/watchers/[id]/route.js +23 -23
- package/.next/standalone/.next/server/app/api/v1/watchers/[id]/run/route.js +72 -72
- package/.next/standalone/.next/server/app/api/v1/watchers/[id]/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/watchers/reaction-scripts/route.js +128 -128
- package/.next/standalone/.next/server/app/api/v1/watchers/route.js +164 -164
- package/.next/standalone/.next/server/app/api/v1/watchers/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/icon.svg/route.js +62 -62
- package/.next/standalone/.next/server/app/manifest.webmanifest/route.js +436 -436
- package/.next/standalone/.next/server/app/page.js +1170 -719
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup/page.js +91 -91
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +4 -3
- package/.next/standalone/.next/server/chunks/{424.js → 1388.js} +345 -991
- package/.next/standalone/.next/server/chunks/1433.js +1 -1
- package/.next/standalone/.next/server/chunks/1638.js +1 -2
- package/.next/standalone/.next/server/chunks/1738.js +1 -1
- package/.next/standalone/.next/server/chunks/210.js +6 -6
- package/.next/standalone/.next/server/chunks/2151.js +31 -1
- package/.next/standalone/.next/server/chunks/2207.js +1 -0
- package/.next/standalone/.next/server/chunks/2471.js +45 -45
- package/.next/standalone/.next/server/chunks/2504.js +1 -1
- package/.next/standalone/.next/server/chunks/2695.js +17 -17
- package/.next/standalone/.next/server/chunks/3042.js +14 -8
- package/.next/standalone/.next/server/chunks/3399.js +10695 -10695
- package/.next/standalone/.next/server/chunks/3524.js +5 -33
- package/.next/standalone/.next/server/chunks/3566.js +1 -1
- package/.next/standalone/.next/server/chunks/4189.js +946 -0
- package/.next/standalone/.next/server/chunks/{9590.js → 423.js} +116 -49
- package/.next/standalone/.next/server/chunks/4433.js +146 -146
- package/.next/standalone/.next/server/chunks/4508.js +3 -3
- package/.next/standalone/.next/server/chunks/4588.js +1 -0
- package/.next/standalone/.next/server/chunks/46.js +116 -46
- package/.next/standalone/.next/server/chunks/466.js +100 -13
- package/.next/standalone/.next/server/chunks/4868.js +206 -206
- package/.next/standalone/.next/server/chunks/4992.js +13 -0
- package/.next/standalone/.next/server/chunks/5120.js +963 -0
- package/.next/standalone/.next/server/chunks/5701.js +1 -1
- package/.next/standalone/.next/server/chunks/5900.js +1 -1
- package/.next/standalone/.next/server/chunks/6210.js +1 -0
- package/.next/standalone/.next/server/chunks/6213.js +1 -1
- package/.next/standalone/.next/server/chunks/6649.js +3 -3
- package/.next/standalone/.next/server/chunks/6703.js +3 -3
- package/.next/standalone/.next/server/chunks/7445.js +1 -0
- package/.next/standalone/.next/server/chunks/8067.js +12 -0
- package/.next/standalone/.next/server/chunks/8461.js +14 -9
- package/.next/standalone/.next/server/chunks/8558.js +1 -1
- package/.next/standalone/.next/server/chunks/8724.js +1 -1
- package/.next/standalone/.next/server/chunks/8849.js +91 -91
- package/.next/standalone/.next/server/chunks/9032.js +6 -5
- package/.next/standalone/.next/server/chunks/{2563.js → 9164.js} +33106 -31420
- package/.next/standalone/.next/server/chunks/9237.js +396 -396
- package/.next/standalone/.next/server/chunks/{9640.js → 9304.js} +1628 -573
- package/.next/standalone/.next/server/chunks/9406.js +1 -1
- package/.next/standalone/.next/server/chunks/9824.js +98 -98
- package/.next/standalone/.next/server/chunks/9826.js +1 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +2 -2
- package/.next/standalone/.next/server/middleware.js +519 -442
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/preview-props.json +3 -3
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/{1395-f201e3e2e1f57715.js → 1395-e4a99912b8f83044.js} +101 -14
- package/.next/standalone/.next/static/chunks/{4576-13f7546a145a3624.js → 7045-8bc2f14e430ca661.js} +58 -2
- package/.next/standalone/.next/static/chunks/app/_global-error/{page-36cb8b428b38b26a.js → page-6fc5f8e744c81802.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/api/v1/access/[identity]/{route-36cb8b428b38b26a.js → route-6fc5f8e744c81802.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/api/v1/access/{route-36cb8b428b38b26a.js → route-6fc5f8e744c81802.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/compact/{route-36cb8b428b38b26a.js → route-6fc5f8e744c81802.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/display-filters/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/thread/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/agents/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/allowed-sites/[hostname]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/allowed-sites/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/artifacts/lifecycle/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/attachments/files/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/attachments/images/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/chats/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/ignores/[remote_jid]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/ignores/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/lookup/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/pair/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/routes/[route_id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/routes/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/status/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/kinds/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/builtin-tools/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/config/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/credentials/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/credentials/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/currency/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/metrics/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/pricing/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/pricing-task/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/delegations/codex/[job_id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/documents/search/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/documents/settings/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/[id]/reindex/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/env/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/env-sync/allowlist/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/env-sync/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/events/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/events/test/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/agents/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/activate/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/foreground/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/history/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/poll/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/progress/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/result/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/retry/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/status/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/tabs/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/fill/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/refine/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/turn/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extensions/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/config/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/secrets/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/files/[name]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/fs/browse/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/default/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/health/probes/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/health/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/[name]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/[name]/test/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/callback/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/start/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/status/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/callback/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/start/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/status/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/lifecycle/adoption/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/local-file/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/logs/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/maps/embed/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/[name]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/registry/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/memory/[namespace]/[key]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/memory/policy/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/memory/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/memory/search/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/models/[name]/compact-threads/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/models/[name]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/models/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/catalog/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/defaults/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/install/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/install/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/[name]/enabled/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/[name]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/reload/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/page-capture/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/[id]/approve/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/[id]/deny/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/profile/location/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/profile/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/providers/[provider]/models/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/providers/[provider]/probe/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/providers/github-copilot/auth/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/providers/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/proxy-config/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/redaction/init/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/redaction/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/[id]/run/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/security/idle-timeout/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/security/pin/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/security/state/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/security/unlock/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/security/verify-pin/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/setup/test-key/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/skills/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/skills/repos/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/skills/repos/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/skills/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/system/abort/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/system/restart/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/tailscale/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/tasks/[agent_id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/tasks/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/activity/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/context-pin/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/run/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/threads/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/tools/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/update/apply/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/update/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/voice/transcribe/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/voice/tts/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/watchers/[id]/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/watchers/[id]/run/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/watchers/reaction-scripts/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/api/v1/watchers/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/manifest.webmanifest/route-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/app/{page-c6e972a7fd13dae8.js → page-213a623b37226452.js} +1012 -604
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6fc5f8e744c81802.js +17 -0
- package/.next/standalone/.next/static/css/{d80058f0b9b41c09.css → 312542a5725ba0d5.css} +2 -2
- package/.next/standalone/docs/adoption/changesets.json +309 -0
- package/.next/standalone/lib/skills/builtins/memory-organization/SKILL.md +16 -0
- package/.next/standalone/package.json +3 -3
- package/CHANGELOG.md +33 -0
- package/api/client.models.test.ts +31 -0
- package/api/client.ts +25 -1
- package/api/types.ts +37 -0
- package/app/api/v1/lifecycle/adoption/route.ts +14 -2
- package/app/api/v1/models/[name]/compact-threads/route.ts +14 -11
- package/app/api/v1/models/[name]/route.test.ts +89 -0
- package/app/api/v1/models/[name]/route.ts +54 -3
- package/app/api/v1/models/route.ts +4 -2
- package/app/api/v1/providers/[provider]/models/route.test.ts +53 -0
- package/app/api/v1/providers/[provider]/models/route.ts +27 -16
- package/app/api/v1/threads/[thread_id]/activity/route.ts +19 -0
- package/app/api/v1/threads/[thread_id]/context-pin/route.test.ts +1 -0
- package/app/api/v1/threads/[thread_id]/context-pin/route.ts +2 -1
- package/app/api/v1/threads/[thread_id]/route.ts +5 -1
- package/components/agents/agent-editor/AdvancedSection.tsx +8 -2
- package/components/agents/agent-editor/ModelSection.tsx +6 -3
- package/components/chat/ChatView.tsx +52 -11
- package/components/chat/ContextBoundary.test.tsx +68 -1
- package/components/chat/ContextBoundary.tsx +92 -13
- package/components/chat/MessageList.test.tsx +31 -0
- package/components/chat/MessageList.tsx +49 -28
- package/components/chat/ToolList.test.tsx +92 -16
- package/components/chat/ToolList.tsx +59 -4
- package/components/chat/chat-helpers.test.tsx +24 -1
- package/components/chat/chat-helpers.ts +47 -4
- package/components/chat/useThreadActivity.test.tsx +113 -0
- package/components/chat/useThreadActivity.ts +94 -0
- package/components/chat/useThreadData.ts +16 -16
- package/components/chat/workflow-step-retry.ts +25 -0
- package/components/models/ModelEditor.tsx +1 -1
- package/components/models/ModelsPanel.tsx +34 -8
- package/components/models/model-editor/GitHubCopilotAuth.tsx +1 -1
- package/components/models/model-editor/save-helpers.ts +2 -2
- package/components/models/model-editor/useModelEditorForm.ts +1 -1
- package/components/models/model-editor/useModelSaveHandlers.ts +1 -1
- package/components/setup/wizard/StepCredentials.tsx +1 -1
- package/components/setup/wizard/StepModel.tsx +3 -8
- package/components/ui/BootScreen.tsx +17 -0
- package/components/ui/WorkflowChecklist.tsx +71 -33
- package/hooks/useModels.ts +17 -1
- package/hooks/useSSE.ts +28 -3
- package/lib/agents/compaction-pipeline.test.ts +202 -0
- package/lib/agents/compaction-pipeline.ts +483 -0
- package/lib/agents/conversation-summary.ts +37 -21
- package/lib/agents/effective-model.test.ts +45 -0
- package/lib/agents/effective-model.ts +11 -5
- package/lib/agents/llm.ts +2 -2
- package/lib/agents/prepare/history-window.test.ts +18 -0
- package/lib/agents/prepare/history-window.ts +11 -2
- package/lib/agents/prepare/request.ts +4 -0
- package/lib/agents/prepare/system-prompt.test.ts +39 -0
- package/lib/agents/prepare/system-prompt.ts +8 -3
- package/lib/agents/prompt-registry.test.ts +5 -140
- package/lib/agents/prompt-registry.ts +45 -1
- package/lib/agents/prompt-variants.ts +146 -0
- package/lib/agents/run-registry.test.ts +22 -0
- package/lib/agents/run-registry.ts +29 -0
- package/lib/agents/run-thread.retry.test.ts +67 -1
- package/lib/agents/run-thread.ts +96 -6
- package/lib/agents/thread-activity.test.ts +31 -0
- package/lib/agents/thread-activity.ts +27 -0
- package/lib/agents/thread-compaction-state.test.ts +82 -0
- package/lib/agents/thread-compaction-state.ts +121 -0
- package/lib/agents/thread-compaction.test.ts +83 -4
- package/lib/agents/thread-compaction.ts +34 -11
- package/lib/agents/warm-summary-background.test.ts +220 -7
- package/lib/agents/warm-summary-background.ts +329 -149
- package/lib/agents/warm-topics.test.ts +37 -0
- package/lib/agents/warm-topics.ts +297 -0
- package/lib/agents/workflow-step-retry.test.ts +96 -0
- package/lib/agents/workflow-step-retry.ts +216 -0
- package/lib/api/browser-control.ts +0 -3
- package/lib/db/migrations.ts +15 -0
- package/lib/env/config.ts +2 -0
- package/lib/env/schema.ts +12 -0
- package/lib/health/probes.test.ts +8 -11
- package/lib/health/probes.ts +5 -31
- package/lib/lifecycle/changeset-build.test.ts +93 -0
- package/lib/lifecycle/changeset-build.ts +210 -0
- package/lib/lifecycle/changesets.test.ts +101 -0
- package/lib/lifecycle/changesets.ts +166 -0
- package/lib/lifecycle/surface-collect.test.ts +88 -0
- package/lib/lifecycle/surface-collect.ts +64 -0
- package/lib/lifecycle/surface-snapshot.test.ts +104 -0
- package/lib/lifecycle/surface-snapshot.ts +210 -0
- package/lib/memory/record.ts +0 -2
- package/lib/models/editor-payload.ts +1 -1
- package/lib/providers/external.ts +0 -2
- package/lib/providers/github-copilot-auth.ts +2 -3
- package/lib/providers/github-copilot.test.ts +27 -0
- package/lib/providers/github-copilot.ts +21 -44
- package/lib/skills/builtins/memory-organization/SKILL.md +16 -0
- package/lib/stores/integrations.test.ts +7 -0
- package/lib/stores/integrations.ts +4 -4
- package/lib/stores/model-config.test.ts +88 -0
- package/lib/stores/model-config.ts +90 -8
- package/lib/stores/threads.test.ts +9 -0
- package/lib/stores/threads.ts +21 -11
- package/lib/stores/version-adoption.test.ts +96 -0
- package/lib/stores/version-adoption.ts +239 -26
- package/lib/stores/workflow-progress.ts +3 -0
- package/lib/tools/communications/ms-todo.ts +0 -7
- package/lib/tools/general/memory.ts +1 -1
- package/lib/tools/general/workflow-progress.ts +2 -0
- package/lib/tools/runtime/catalog.ts +1 -25
- package/lib/triggers/registry.ts +0 -4
- package/package.json +3 -3
- package/scripts/install-to-system.ps1 +39 -11
- package/scripts/install-to-system.sh +37 -3
- package/.next/standalone/.next/server/chunks/3979.js +0 -581
- package/.next/standalone/.next/server/chunks/5936.js +0 -594
- package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/display-filters/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/thread/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/agents/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/allowed-sites/[hostname]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/allowed-sites/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/artifacts/lifecycle/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/attachments/files/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/attachments/images/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/chats/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/ignores/[remote_jid]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/ignores/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/lookup/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/pair/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/routes/[route_id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/routes/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/status/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/kinds/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/bridges/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/builtin-tools/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/config/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/credentials/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/credentials/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/currency/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/metrics/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/pricing/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/pricing-task/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/delegations/codex/[job_id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/documents/search/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/documents/settings/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/[id]/reindex/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/env/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/env-sync/allowlist/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/env-sync/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/events/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/events/test/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/agents/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/activate/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/foreground/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/history/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/poll/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/progress/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/result/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/retry/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/status/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/tabs/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/fill/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/refine/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extension/turn/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extensions/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/config/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/secrets/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/files/[name]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/fs/browse/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/default/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/health/probes/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/health/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/[name]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/[name]/test/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/callback/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/start/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/status/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/callback/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/start/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/status/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/integrations/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/lifecycle/adoption/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/local-file/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/logs/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/maps/embed/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/[name]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/registry/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/memory/[namespace]/[key]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/memory/policy/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/memory/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/memory/search/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/models/[name]/compact-threads/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/models/[name]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/models/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/catalog/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/defaults/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/install/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/install/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/[name]/enabled/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/[name]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/reload/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/packages/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/page-capture/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/[id]/approve/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/[id]/deny/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/profile/location/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/profile/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/providers/[provider]/models/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/providers/[provider]/probe/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/providers/github-copilot/auth/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/providers/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/proxy-config/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/redaction/init/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/redaction/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/[id]/run/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/security/idle-timeout/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/security/pin/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/security/state/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/security/unlock/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/security/verify-pin/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/setup/test-key/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/skills/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/skills/repos/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/skills/repos/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/skills/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/system/abort/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/system/restart/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/tailscale/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/tasks/[agent_id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/tasks/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/context-pin/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/run/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/threads/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/tools/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/update/apply/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/update/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/voice/transcribe/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/voice/tts/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/watchers/[id]/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/watchers/[id]/run/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/watchers/reaction-scripts/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/api/v1/watchers/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/app/manifest.webmanifest/route-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-36cb8b428b38b26a.js +0 -17
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-36cb8b428b38b26a.js +0 -17
- /package/.next/standalone/.next/static/{e2NV1wk6mWg3SIeELXevg → bMRK5y3ruT7c3WtBfCQOG}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{e2NV1wk6mWg3SIeELXevg → bMRK5y3ruT7c3WtBfCQOG}/_ssgManifest.js +0 -0
|
@@ -12,171 +12,500 @@ module.exports = require("next/dist/shared/lib/router/utils/app-paths");
|
|
|
12
12
|
|
|
13
13
|
/***/ }),
|
|
14
14
|
|
|
15
|
-
/***/
|
|
16
|
-
/***/ ((
|
|
15
|
+
/***/ 1708:
|
|
16
|
+
/***/ ((module) => {
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
20
|
-
/* harmony export */ handler: () => (/* binding */ handler),
|
|
21
|
-
/* harmony export */ patchFetch: () => (/* binding */ patchFetch),
|
|
22
|
-
/* harmony export */ routeModule: () => (/* binding */ routeModule),
|
|
23
|
-
/* harmony export */ serverHooks: () => (/* binding */ serverHooks),
|
|
24
|
-
/* harmony export */ workAsyncStorage: () => (/* binding */ workAsyncStorage),
|
|
25
|
-
/* harmony export */ workUnitAsyncStorage: () => (/* binding */ workUnitAsyncStorage)
|
|
26
|
-
/* harmony export */ });
|
|
27
|
-
/* harmony import */ var next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19225);
|
|
28
|
-
/* harmony import */ var next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__);
|
|
29
|
-
/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84006);
|
|
30
|
-
/* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8317);
|
|
31
|
-
/* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__);
|
|
32
|
-
/* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(99373);
|
|
33
|
-
/* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__);
|
|
34
|
-
/* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(34775);
|
|
35
|
-
/* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__);
|
|
36
|
-
/* harmony import */ var next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24235);
|
|
37
|
-
/* harmony import */ var next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__);
|
|
38
|
-
/* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(261);
|
|
39
|
-
/* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__);
|
|
40
|
-
/* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(54365);
|
|
41
|
-
/* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__);
|
|
42
|
-
/* harmony import */ var next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(90771);
|
|
43
|
-
/* harmony import */ var next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__);
|
|
44
|
-
/* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(73461);
|
|
45
|
-
/* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__);
|
|
46
|
-
/* harmony import */ var next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(67798);
|
|
47
|
-
/* harmony import */ var next_dist_server_send_response__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(92280);
|
|
48
|
-
/* harmony import */ var next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(62018);
|
|
49
|
-
/* harmony import */ var next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__);
|
|
50
|
-
/* harmony import */ var next_dist_server_lib_cache_control__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(45696);
|
|
51
|
-
/* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(47929);
|
|
52
|
-
/* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__);
|
|
53
|
-
/* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(86439);
|
|
54
|
-
/* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__);
|
|
55
|
-
/* harmony import */ var next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(10246);
|
|
56
|
-
/* harmony import */ var next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__);
|
|
57
|
-
/* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(37527);
|
|
58
|
-
/* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__);
|
|
18
|
+
module.exports = require("node:process");
|
|
59
19
|
|
|
20
|
+
/***/ }),
|
|
60
21
|
|
|
22
|
+
/***/ 1932:
|
|
23
|
+
/***/ ((module) => {
|
|
61
24
|
|
|
25
|
+
module.exports = require("url");
|
|
62
26
|
|
|
27
|
+
/***/ }),
|
|
63
28
|
|
|
29
|
+
/***/ 3295:
|
|
30
|
+
/***/ ((module) => {
|
|
64
31
|
|
|
32
|
+
module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js");
|
|
65
33
|
|
|
34
|
+
/***/ }),
|
|
66
35
|
|
|
36
|
+
/***/ 8128:
|
|
37
|
+
/***/ ((module) => {
|
|
67
38
|
|
|
39
|
+
module.exports = require("next/dist/server/runtime-reacts.external.js");
|
|
68
40
|
|
|
41
|
+
/***/ }),
|
|
69
42
|
|
|
43
|
+
/***/ 9956:
|
|
44
|
+
/***/ ((module) => {
|
|
70
45
|
|
|
46
|
+
module.exports = require("undici");
|
|
71
47
|
|
|
48
|
+
/***/ }),
|
|
72
49
|
|
|
50
|
+
/***/ 10846:
|
|
51
|
+
/***/ ((module) => {
|
|
73
52
|
|
|
53
|
+
module.exports = require("next/dist/compiled/next-server/app-page.runtime.prod.js");
|
|
74
54
|
|
|
55
|
+
/***/ }),
|
|
75
56
|
|
|
57
|
+
/***/ 11169:
|
|
58
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
76
59
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
// correctly attributing module load time to application-code rather than
|
|
95
|
-
// framework internals.
|
|
96
|
-
// - In all modes: async modules (route files with top-level await) are
|
|
97
|
-
// handled correctly — require() returns a Promise for such modules, which
|
|
98
|
-
// ensureUserland() awaits before the first request is handled.
|
|
99
|
-
userland: ()=>__webpack_require__(34712),
|
|
100
|
-
// In Turbopack dev mode, also provide a synchronous per-request getter so
|
|
101
|
-
// server HMR updates are picked up without re-executing the entry chunk.
|
|
102
|
-
// Using require() (synchronous) avoids adding async overhead that would be
|
|
103
|
-
// incorrectly attributed to application-code time in devRequestTiming.
|
|
104
|
-
... false ? 0 : {}
|
|
105
|
-
});
|
|
106
|
-
// Pull out the exports that we need to expose from the module. This should
|
|
107
|
-
// be eliminated when we've moved the other routes to the new format. These
|
|
108
|
-
// are used to hook into the route.
|
|
109
|
-
const { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;
|
|
110
|
-
function patchFetch() {
|
|
111
|
-
return (0,next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__.patchFetch)({
|
|
112
|
-
workAsyncStorage,
|
|
113
|
-
workUnitAsyncStorage
|
|
114
|
-
});
|
|
115
|
-
}
|
|
60
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
61
|
+
/* harmony export */ $X: () => (/* binding */ searchDocuments),
|
|
62
|
+
/* harmony export */ kx: () => (/* binding */ getDefaultDocumentMinSimilarity)
|
|
63
|
+
/* harmony export */ });
|
|
64
|
+
/* unused harmony export DEFAULT_DOCUMENT_MIN_SIMILARITY */
|
|
65
|
+
/* harmony import */ var _lib_db__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(46);
|
|
66
|
+
/* harmony import */ var _lib_embeddings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21839);
|
|
67
|
+
/* harmony import */ var _lib_stores_app_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4400);
|
|
68
|
+
// Semantic search over document_chunks (ADR-0024). Cosine over embedded
|
|
69
|
+
// chunks; substring fallback for chunks without embeddings (covers the
|
|
70
|
+
// "no embedding provider configured" case and the brief window before
|
|
71
|
+
// async embed completes after indexing).
|
|
72
|
+
//
|
|
73
|
+
// When a dimension mismatch is detected (old embeddings incompatible with
|
|
74
|
+
// new query vector), the search falls back to substring matching and queues
|
|
75
|
+
// an async reindex of that document's chunks so the semantic index is
|
|
76
|
+
// eventually repaired (see queueDocumentReindex).
|
|
116
77
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
// Track documents we've already queued for reindexing this session to avoid
|
|
81
|
+
// repeated work. This is session-scoped; the Set resets on app restart.
|
|
82
|
+
const reindexQueued = new Set();
|
|
83
|
+
const DEFAULT_DOCUMENT_MIN_SIMILARITY = 0.86;
|
|
84
|
+
function getDefaultDocumentMinSimilarity() {
|
|
85
|
+
return (0,_lib_stores_app_settings__WEBPACK_IMPORTED_MODULE_2__/* .isLocalEmbeddingsEnabled */ .jM)() ? DEFAULT_DOCUMENT_MIN_SIMILARITY : 0.25;
|
|
86
|
+
}
|
|
87
|
+
async function searchDocuments(query, opts) {
|
|
88
|
+
const limit = Math.min(Math.max(opts?.limit ?? 8, 1), 25);
|
|
89
|
+
const db = (0,_lib_db__WEBPACK_IMPORTED_MODULE_0__/* .getDb */ .Lf)();
|
|
90
|
+
const trimmed = query.trim();
|
|
91
|
+
if (trimmed.length === 0) return [];
|
|
92
|
+
// Hard cap on rows scanned per query — at thousands of chunks the JS
|
|
93
|
+
// cosine pass is still milliseconds, but we still want a ceiling.
|
|
94
|
+
const limitRows = 20000;
|
|
95
|
+
const rows = opts?.sourceId ? db.prepare(`SELECT dc.id AS chunk_id, dc.document_id, dc.chunk_index, dc.text, dc.embedding,
|
|
96
|
+
d.source_id, ds.label AS source_label, d.rel_path, d.path AS abs_path
|
|
97
|
+
FROM document_chunks dc
|
|
98
|
+
JOIN documents d ON dc.document_id = d.id
|
|
99
|
+
JOIN document_sources ds ON d.source_id = ds.id
|
|
100
|
+
WHERE d.source_id = ? AND ds.enabled = 1
|
|
101
|
+
LIMIT ?`).all(opts.sourceId, limitRows) : db.prepare(`SELECT dc.id AS chunk_id, dc.document_id, dc.chunk_index, dc.text, dc.embedding,
|
|
102
|
+
d.source_id, ds.label AS source_label, d.rel_path, d.path AS abs_path
|
|
103
|
+
FROM document_chunks dc
|
|
104
|
+
JOIN documents d ON dc.document_id = d.id
|
|
105
|
+
JOIN document_sources ds ON d.source_id = ds.id
|
|
106
|
+
WHERE ds.enabled = 1
|
|
107
|
+
LIMIT ?`).all(limitRows);
|
|
108
|
+
if (rows.length === 0) return [];
|
|
109
|
+
const qVec = await (0,_lib_embeddings__WEBPACK_IMPORTED_MODULE_1__/* .embedQueryOne */ .cY)(trimmed);
|
|
110
|
+
const scored = [];
|
|
111
|
+
const lowered = trimmed.toLowerCase();
|
|
112
|
+
const minSimilarity = Math.max(0, Math.min(1, opts?.minSimilarity ?? getDefaultDocumentMinSimilarity()));
|
|
113
|
+
const mismatched = new Set();
|
|
114
|
+
for (const r of rows){
|
|
115
|
+
let score = 0;
|
|
116
|
+
let match = "semantic";
|
|
117
|
+
if (qVec && r.embedding) {
|
|
118
|
+
let vec = null;
|
|
119
|
+
try {
|
|
120
|
+
vec = JSON.parse(r.embedding);
|
|
121
|
+
} catch {
|
|
122
|
+
vec = null;
|
|
123
|
+
}
|
|
124
|
+
if (vec && vec.length === qVec.length) {
|
|
125
|
+
score = (0,_lib_embeddings__WEBPACK_IMPORTED_MODULE_1__/* .cosine */ .sw)(qVec, vec);
|
|
126
|
+
if (score <= 0) {
|
|
127
|
+
score = substringScore(r.text, lowered);
|
|
128
|
+
match = "substring";
|
|
129
|
+
} else if (score <= minSimilarity) {
|
|
130
|
+
score = 0;
|
|
163
131
|
}
|
|
164
|
-
|
|
132
|
+
} else {
|
|
133
|
+
// Dimension mismatch: track this document for reindexing.
|
|
134
|
+
mismatched.add(r.document_id);
|
|
135
|
+
score = substringScore(r.text, lowered);
|
|
136
|
+
match = "substring";
|
|
165
137
|
}
|
|
138
|
+
} else {
|
|
139
|
+
score = substringScore(r.text, lowered);
|
|
140
|
+
match = "substring";
|
|
166
141
|
}
|
|
142
|
+
if (score <= 0) continue;
|
|
143
|
+
scored.push({
|
|
144
|
+
document_id: r.document_id,
|
|
145
|
+
source_id: r.source_id,
|
|
146
|
+
source_label: r.source_label,
|
|
147
|
+
rel_path: r.rel_path,
|
|
148
|
+
abs_path: r.abs_path,
|
|
149
|
+
chunk_index: r.chunk_index,
|
|
150
|
+
text: r.text,
|
|
151
|
+
score,
|
|
152
|
+
match
|
|
153
|
+
});
|
|
167
154
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
155
|
+
// Queue mismatched documents for reindexing if we haven't already in this session.
|
|
156
|
+
for (const docId of mismatched){
|
|
157
|
+
if (!reindexQueued.has(docId)) {
|
|
158
|
+
reindexQueued.add(docId);
|
|
159
|
+
clearEmbeddingsForDocument(docId).catch((err)=>{
|
|
160
|
+
console.error(`[search] failed to queue document ${docId} for reindexing:`, err);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
scored.sort((a, b)=>b.score - a.score);
|
|
165
|
+
return scored.slice(0, limit);
|
|
166
|
+
}
|
|
167
|
+
function substringScore(haystack, needleLower) {
|
|
168
|
+
const hay = haystack.toLowerCase();
|
|
169
|
+
if (!hay.includes(needleLower)) {
|
|
170
|
+
// Try token-level OR match — at least one query token has to appear.
|
|
171
|
+
const tokens = needleLower.split(/\s+/).filter((t)=>t.length > 2);
|
|
172
|
+
let hits = 0;
|
|
173
|
+
for (const t of tokens)if (hay.includes(t)) hits++;
|
|
174
|
+
if (hits === 0) return 0;
|
|
175
|
+
return Math.min(0.4, hits / Math.max(tokens.length, 1) * 0.4);
|
|
176
|
+
}
|
|
177
|
+
// Phrase match — high but below typical semantic top scores.
|
|
178
|
+
return 0.6;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Clear embeddings for a document's chunks so they can be re-embedded.
|
|
182
|
+
* Called when a dimension mismatch is detected during search.
|
|
183
|
+
* Fire-and-forget: the next scheduler tick's indexAllSources() will
|
|
184
|
+
* re-embed these chunks via backfillDocumentEmbeddings().
|
|
185
|
+
*/ async function clearEmbeddingsForDocument(documentId) {
|
|
186
|
+
const db = (0,_lib_db__WEBPACK_IMPORTED_MODULE_0__/* .getDb */ .Lf)();
|
|
187
|
+
const count = db.prepare("UPDATE document_chunks SET embedding=NULL WHERE document_id=?").run(documentId).changes;
|
|
188
|
+
if (count > 0) {
|
|
189
|
+
console.log(`[search] detected embedding dimension mismatch; cleared ${count} chunks for document ${documentId}. ` + `Scheduler will re-embed on the next tick.`);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
/***/ }),
|
|
195
|
+
|
|
196
|
+
/***/ 16698:
|
|
197
|
+
/***/ ((module) => {
|
|
198
|
+
|
|
199
|
+
module.exports = require("node:async_hooks");
|
|
200
|
+
|
|
201
|
+
/***/ }),
|
|
202
|
+
|
|
203
|
+
/***/ 19121:
|
|
204
|
+
/***/ ((module) => {
|
|
205
|
+
|
|
206
|
+
module.exports = require("next/dist/server/app-render/action-async-storage.external.js");
|
|
207
|
+
|
|
208
|
+
/***/ }),
|
|
209
|
+
|
|
210
|
+
/***/ 27910:
|
|
211
|
+
/***/ ((module) => {
|
|
212
|
+
|
|
213
|
+
module.exports = require("stream");
|
|
214
|
+
|
|
215
|
+
/***/ }),
|
|
216
|
+
|
|
217
|
+
/***/ 28354:
|
|
218
|
+
/***/ ((module) => {
|
|
219
|
+
|
|
220
|
+
module.exports = require("util");
|
|
221
|
+
|
|
222
|
+
/***/ }),
|
|
223
|
+
|
|
224
|
+
/***/ 29021:
|
|
225
|
+
/***/ ((module) => {
|
|
226
|
+
|
|
227
|
+
module.exports = require("fs");
|
|
228
|
+
|
|
229
|
+
/***/ }),
|
|
230
|
+
|
|
231
|
+
/***/ 29294:
|
|
232
|
+
/***/ ((module) => {
|
|
233
|
+
|
|
234
|
+
module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
|
|
235
|
+
|
|
236
|
+
/***/ }),
|
|
237
|
+
|
|
238
|
+
/***/ 31421:
|
|
239
|
+
/***/ ((module) => {
|
|
240
|
+
|
|
241
|
+
module.exports = require("node:child_process");
|
|
242
|
+
|
|
243
|
+
/***/ }),
|
|
244
|
+
|
|
245
|
+
/***/ 33873:
|
|
246
|
+
/***/ ((module) => {
|
|
247
|
+
|
|
248
|
+
module.exports = require("path");
|
|
249
|
+
|
|
250
|
+
/***/ }),
|
|
251
|
+
|
|
252
|
+
/***/ 34712:
|
|
253
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
254
|
+
|
|
255
|
+
__webpack_require__.r(__webpack_exports__);
|
|
256
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
257
|
+
/* harmony export */ GET: () => (/* binding */ GET)
|
|
258
|
+
/* harmony export */ });
|
|
259
|
+
/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23211);
|
|
260
|
+
/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97377);
|
|
261
|
+
/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(95370);
|
|
262
|
+
/* harmony import */ var _lib_documents_search__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11169);
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
const QuerySchema = zod__WEBPACK_IMPORTED_MODULE_2__/* .object */ .Ikc({
|
|
267
|
+
q: zod__WEBPACK_IMPORTED_MODULE_2__/* .string */ .YjP().min(1),
|
|
268
|
+
limit: zod__WEBPACK_IMPORTED_MODULE_3__/* .number */ .ai().int().min(1).max(25).optional(),
|
|
269
|
+
source_id: zod__WEBPACK_IMPORTED_MODULE_2__/* .string */ .YjP().optional(),
|
|
270
|
+
min_similarity: zod__WEBPACK_IMPORTED_MODULE_3__/* .number */ .ai().min(0).max(1).optional()
|
|
271
|
+
});
|
|
272
|
+
async function GET(req) {
|
|
273
|
+
const url = new URL(req.url);
|
|
274
|
+
const parsed = QuerySchema.safeParse({
|
|
275
|
+
q: url.searchParams.get("q"),
|
|
276
|
+
limit: url.searchParams.get("limit") ?? undefined,
|
|
277
|
+
source_id: url.searchParams.get("source_id") ?? undefined,
|
|
278
|
+
min_similarity: url.searchParams.get("min_similarity") ?? undefined
|
|
279
|
+
});
|
|
280
|
+
if (!parsed.success) {
|
|
281
|
+
return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
|
|
282
|
+
error: parsed.error.issues[0]?.message ?? "invalid input"
|
|
283
|
+
}, {
|
|
284
|
+
status: 400
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
const hits = await (0,_lib_documents_search__WEBPACK_IMPORTED_MODULE_1__/* .searchDocuments */ .$X)(parsed.data.q, {
|
|
288
|
+
limit: parsed.data.limit,
|
|
289
|
+
sourceId: parsed.data.source_id,
|
|
290
|
+
minSimilarity: parsed.data.min_similarity
|
|
291
|
+
});
|
|
292
|
+
return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
|
|
293
|
+
query: parsed.data.q,
|
|
294
|
+
hits,
|
|
295
|
+
min_similarity: parsed.data.min_similarity ?? (0,_lib_documents_search__WEBPACK_IMPORTED_MODULE_1__/* .getDefaultDocumentMinSimilarity */ .kx)()
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
/***/ }),
|
|
301
|
+
|
|
302
|
+
/***/ 37067:
|
|
303
|
+
/***/ ((module) => {
|
|
304
|
+
|
|
305
|
+
module.exports = require("node:http");
|
|
306
|
+
|
|
307
|
+
/***/ }),
|
|
308
|
+
|
|
309
|
+
/***/ 38522:
|
|
310
|
+
/***/ ((module) => {
|
|
311
|
+
|
|
312
|
+
module.exports = require("node:zlib");
|
|
313
|
+
|
|
314
|
+
/***/ }),
|
|
315
|
+
|
|
316
|
+
/***/ 44708:
|
|
317
|
+
/***/ ((module) => {
|
|
318
|
+
|
|
319
|
+
module.exports = require("node:https");
|
|
320
|
+
|
|
321
|
+
/***/ }),
|
|
322
|
+
|
|
323
|
+
/***/ 44870:
|
|
324
|
+
/***/ ((module) => {
|
|
325
|
+
|
|
326
|
+
module.exports = require("next/dist/compiled/next-server/app-route.runtime.prod.js");
|
|
327
|
+
|
|
328
|
+
/***/ }),
|
|
329
|
+
|
|
330
|
+
/***/ 48161:
|
|
331
|
+
/***/ ((module) => {
|
|
332
|
+
|
|
333
|
+
module.exports = require("node:os");
|
|
334
|
+
|
|
335
|
+
/***/ }),
|
|
336
|
+
|
|
337
|
+
/***/ 51455:
|
|
338
|
+
/***/ ((module) => {
|
|
339
|
+
|
|
340
|
+
module.exports = require("node:fs/promises");
|
|
341
|
+
|
|
342
|
+
/***/ }),
|
|
343
|
+
|
|
344
|
+
/***/ 52461:
|
|
345
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
346
|
+
|
|
347
|
+
__webpack_require__.r(__webpack_exports__);
|
|
348
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
349
|
+
/* harmony export */ handler: () => (/* binding */ handler),
|
|
350
|
+
/* harmony export */ patchFetch: () => (/* binding */ patchFetch),
|
|
351
|
+
/* harmony export */ routeModule: () => (/* binding */ routeModule),
|
|
352
|
+
/* harmony export */ serverHooks: () => (/* binding */ serverHooks),
|
|
353
|
+
/* harmony export */ workAsyncStorage: () => (/* binding */ workAsyncStorage),
|
|
354
|
+
/* harmony export */ workUnitAsyncStorage: () => (/* binding */ workUnitAsyncStorage)
|
|
355
|
+
/* harmony export */ });
|
|
356
|
+
/* harmony import */ var next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19225);
|
|
357
|
+
/* harmony import */ var next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__);
|
|
358
|
+
/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84006);
|
|
359
|
+
/* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8317);
|
|
360
|
+
/* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__);
|
|
361
|
+
/* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(99373);
|
|
362
|
+
/* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__);
|
|
363
|
+
/* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(34775);
|
|
364
|
+
/* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__);
|
|
365
|
+
/* harmony import */ var next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24235);
|
|
366
|
+
/* harmony import */ var next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__);
|
|
367
|
+
/* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(261);
|
|
368
|
+
/* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__);
|
|
369
|
+
/* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(54365);
|
|
370
|
+
/* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__);
|
|
371
|
+
/* harmony import */ var next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(90771);
|
|
372
|
+
/* harmony import */ var next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__);
|
|
373
|
+
/* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(73461);
|
|
374
|
+
/* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__);
|
|
375
|
+
/* harmony import */ var next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(67798);
|
|
376
|
+
/* harmony import */ var next_dist_server_send_response__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(92280);
|
|
377
|
+
/* harmony import */ var next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(62018);
|
|
378
|
+
/* harmony import */ var next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__);
|
|
379
|
+
/* harmony import */ var next_dist_server_lib_cache_control__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(45696);
|
|
380
|
+
/* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(47929);
|
|
381
|
+
/* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__);
|
|
382
|
+
/* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(86439);
|
|
383
|
+
/* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__);
|
|
384
|
+
/* harmony import */ var next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(10246);
|
|
385
|
+
/* harmony import */ var next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__);
|
|
386
|
+
/* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(37527);
|
|
387
|
+
/* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__);
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
// We inject the nextConfigOutput here so that we can use them in the route
|
|
407
|
+
// module.
|
|
408
|
+
const nextConfigOutput = "standalone"
|
|
409
|
+
const routeModule = new next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppRouteRouteModule({
|
|
410
|
+
definition: {
|
|
411
|
+
kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_ROUTE,
|
|
412
|
+
page: "/api/v1/documents/search/route",
|
|
413
|
+
pathname: "/api/v1/documents/search",
|
|
414
|
+
filename: "route",
|
|
415
|
+
bundlePath: "app/api/v1/documents/search/route"
|
|
416
|
+
},
|
|
417
|
+
distDir: ".next" || 0,
|
|
418
|
+
relativeProjectDir: false || '',
|
|
419
|
+
resolvedPagePath: "/home/runner/work/jarela/jarela/app/api/v1/documents/search/route.ts",
|
|
420
|
+
nextConfigOutput,
|
|
421
|
+
// The lazy require factory ensures that:
|
|
422
|
+
// - In dev: devRequestTimingInternalsEnd is set before userland executes,
|
|
423
|
+
// correctly attributing module load time to application-code rather than
|
|
424
|
+
// framework internals.
|
|
425
|
+
// - In all modes: async modules (route files with top-level await) are
|
|
426
|
+
// handled correctly — require() returns a Promise for such modules, which
|
|
427
|
+
// ensureUserland() awaits before the first request is handled.
|
|
428
|
+
userland: ()=>__webpack_require__(34712),
|
|
429
|
+
// In Turbopack dev mode, also provide a synchronous per-request getter so
|
|
430
|
+
// server HMR updates are picked up without re-executing the entry chunk.
|
|
431
|
+
// Using require() (synchronous) avoids adding async overhead that would be
|
|
432
|
+
// incorrectly attributed to application-code time in devRequestTiming.
|
|
433
|
+
... false ? 0 : {}
|
|
434
|
+
});
|
|
435
|
+
// Pull out the exports that we need to expose from the module. This should
|
|
436
|
+
// be eliminated when we've moved the other routes to the new format. These
|
|
437
|
+
// are used to hook into the route.
|
|
438
|
+
const { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;
|
|
439
|
+
function patchFetch() {
|
|
440
|
+
return (0,next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__.patchFetch)({
|
|
441
|
+
workAsyncStorage,
|
|
442
|
+
workUnitAsyncStorage
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
async function handler(req, res, ctx) {
|
|
447
|
+
if (ctx.requestMeta) {
|
|
448
|
+
(0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.setRequestMeta)(req, ctx.requestMeta);
|
|
449
|
+
}
|
|
450
|
+
if (routeModule.isDev) {
|
|
451
|
+
(0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.addRequestMeta)(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());
|
|
452
|
+
}
|
|
453
|
+
let srcPage = "/api/v1/documents/search/route";
|
|
454
|
+
// turbopack doesn't normalize `/index` in the page name
|
|
455
|
+
// so we need to to process dynamic routes properly
|
|
456
|
+
// TODO: fix turbopack providing differing value from webpack
|
|
457
|
+
if (false) {} else if (srcPage === '/index') {
|
|
458
|
+
// we always normalize /index specifically
|
|
459
|
+
srcPage = '/';
|
|
460
|
+
}
|
|
461
|
+
const multiZoneDraftMode = false;
|
|
462
|
+
const prepareResult = await routeModule.prepare(req, res, {
|
|
463
|
+
srcPage,
|
|
464
|
+
multiZoneDraftMode
|
|
465
|
+
});
|
|
466
|
+
if (!prepareResult) {
|
|
467
|
+
res.statusCode = 400;
|
|
468
|
+
res.end('Bad Request');
|
|
469
|
+
ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());
|
|
470
|
+
return null;
|
|
471
|
+
}
|
|
472
|
+
const { buildId, deploymentId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest, previewProps } = prepareResult;
|
|
473
|
+
const normalizedSrcPage = (0,next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__.normalizeAppPath)(srcPage);
|
|
474
|
+
// Only this route's prerenders can establish ISR or admit generated params.
|
|
475
|
+
const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]) && (routeModule.isDev || (0,next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__.isRouteCacheOwner)(resolvedPathname, routeModule.cacheOwner, prerenderManifest.routes[resolvedPathname]));
|
|
476
|
+
let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || isPrerendered);
|
|
477
|
+
const render404 = async ()=>{
|
|
478
|
+
// TODO: should route-module itself handle rendering the 404
|
|
479
|
+
if (routerServerContext == null ? void 0 : routerServerContext.render404) {
|
|
480
|
+
await routerServerContext.render404(req, res, parsedUrl, false);
|
|
481
|
+
} else {
|
|
482
|
+
res.end('This page could not be found');
|
|
483
|
+
}
|
|
484
|
+
return null;
|
|
485
|
+
};
|
|
486
|
+
if (isIsr && !isDraftMode) {
|
|
487
|
+
const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];
|
|
488
|
+
if (prerenderInfo) {
|
|
489
|
+
if (prerenderInfo.fallback === false && !isPrerendered) {
|
|
490
|
+
if (nextConfig.adapterPath) {
|
|
491
|
+
return await render404();
|
|
492
|
+
}
|
|
493
|
+
throw new next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__.NoFallbackError();
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
let cacheKey = null;
|
|
498
|
+
if (isIsr && !routeModule.isDev && !isDraftMode) {
|
|
499
|
+
cacheKey = resolvedPathname;
|
|
500
|
+
// ensure /index and / is normalized to one key
|
|
501
|
+
cacheKey = cacheKey === '/index' ? '/' : cacheKey;
|
|
502
|
+
}
|
|
503
|
+
// Before rendering (which initializes component tree modules), we have to
|
|
504
|
+
// set the reference manifests to our global store so Server Action's
|
|
505
|
+
// encryption util can access to them at the top level of the page module.
|
|
506
|
+
if (serverActionsManifest && clientReferenceManifest) {
|
|
507
|
+
(0,next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__.setManifestsSingleton)({
|
|
508
|
+
page: srcPage,
|
|
180
509
|
clientReferenceManifest,
|
|
181
510
|
serverActionsManifest
|
|
182
511
|
});
|
|
@@ -395,393 +724,64 @@ async function handler(req, res, ctx) {
|
|
|
395
724
|
return;
|
|
396
725
|
}
|
|
397
726
|
let statusCode = res.statusCode;
|
|
398
|
-
currentSpan.setAttributes({
|
|
399
|
-
'http.status_code': statusCode,
|
|
400
|
-
'next.rsc': false
|
|
401
|
-
});
|
|
402
|
-
if (statusCode && statusCode >= 500) {
|
|
403
|
-
// For 5xx status codes: SHOULD be set to 'Error' span status.
|
|
404
|
-
// x-ref: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
|
|
405
|
-
currentSpan.setStatus({
|
|
406
|
-
code: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.SpanStatusCode.ERROR
|
|
407
|
-
});
|
|
408
|
-
// For span status 'Error', SHOULD set 'error.type' attribute.
|
|
409
|
-
currentSpan.setAttribute('error.type', statusCode.toString());
|
|
410
|
-
}
|
|
411
|
-
const rootSpanAttributes = tracer.getRootSpanAttributes();
|
|
412
|
-
// We were unable to get attributes, probably OTEL is not enabled
|
|
413
|
-
if (!rootSpanAttributes) {
|
|
414
|
-
return;
|
|
415
|
-
}
|
|
416
|
-
if (rootSpanAttributes.get('next.span_type') !== next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__.BaseServerSpan.handleRequest) {
|
|
417
|
-
console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);
|
|
418
|
-
return;
|
|
419
|
-
}
|
|
420
|
-
const route = rootSpanAttributes.get('next.route') || normalizedSrcPage;
|
|
421
|
-
const name = `${method} ${route}`;
|
|
422
|
-
currentSpan.setAttributes({
|
|
423
|
-
'next.route': route,
|
|
424
|
-
'http.route': route,
|
|
425
|
-
'next.span_name': name
|
|
426
|
-
});
|
|
427
|
-
currentSpan.updateName(name);
|
|
428
|
-
// Propagate http.route to the parent span if one exists (e.g.
|
|
429
|
-
// a platform-created HTTP span in adapter deployments).
|
|
430
|
-
if (parentSpan && parentSpan !== currentSpan) {
|
|
431
|
-
parentSpan.setAttribute('http.route', route);
|
|
432
|
-
parentSpan.updateName(name);
|
|
433
|
-
}
|
|
434
|
-
})();
|
|
435
|
-
}
|
|
436
|
-
};
|
|
437
|
-
// TODO: activeSpan code path is for when wrapped by
|
|
438
|
-
// next-server can be removed when this is no longer used
|
|
439
|
-
if (isWrappedByNextServer && activeSpan) {
|
|
440
|
-
await handleResponse(activeSpan, undefined);
|
|
441
|
-
} else {
|
|
442
|
-
let parentSpan = tracer.getActiveScopeSpan();
|
|
443
|
-
await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__.BaseServerSpan.handleRequest, {
|
|
444
|
-
spanName: `${method} ${srcPage}`,
|
|
445
|
-
kind: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.SpanKind.SERVER,
|
|
446
|
-
attributes: {
|
|
447
|
-
'http.method': method,
|
|
448
|
-
'http.target': req.url
|
|
449
|
-
}
|
|
450
|
-
}, (span)=>handleResponse(span, parentSpan)), undefined, !isWrappedByNextServer);
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
//# sourceMappingURL=app-route.js.map
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
/***/ }),
|
|
458
|
-
|
|
459
|
-
/***/ 1708:
|
|
460
|
-
/***/ ((module) => {
|
|
461
|
-
|
|
462
|
-
module.exports = require("node:process");
|
|
463
|
-
|
|
464
|
-
/***/ }),
|
|
465
|
-
|
|
466
|
-
/***/ 1932:
|
|
467
|
-
/***/ ((module) => {
|
|
468
|
-
|
|
469
|
-
module.exports = require("url");
|
|
470
|
-
|
|
471
|
-
/***/ }),
|
|
472
|
-
|
|
473
|
-
/***/ 3295:
|
|
474
|
-
/***/ ((module) => {
|
|
475
|
-
|
|
476
|
-
module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js");
|
|
477
|
-
|
|
478
|
-
/***/ }),
|
|
479
|
-
|
|
480
|
-
/***/ 8128:
|
|
481
|
-
/***/ ((module) => {
|
|
482
|
-
|
|
483
|
-
module.exports = require("next/dist/server/runtime-reacts.external.js");
|
|
484
|
-
|
|
485
|
-
/***/ }),
|
|
486
|
-
|
|
487
|
-
/***/ 9956:
|
|
488
|
-
/***/ ((module) => {
|
|
489
|
-
|
|
490
|
-
module.exports = require("undici");
|
|
491
|
-
|
|
492
|
-
/***/ }),
|
|
493
|
-
|
|
494
|
-
/***/ 10846:
|
|
495
|
-
/***/ ((module) => {
|
|
496
|
-
|
|
497
|
-
module.exports = require("next/dist/compiled/next-server/app-page.runtime.prod.js");
|
|
498
|
-
|
|
499
|
-
/***/ }),
|
|
500
|
-
|
|
501
|
-
/***/ 11169:
|
|
502
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
503
|
-
|
|
504
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
505
|
-
/* harmony export */ $X: () => (/* binding */ searchDocuments),
|
|
506
|
-
/* harmony export */ kx: () => (/* binding */ getDefaultDocumentMinSimilarity)
|
|
507
|
-
/* harmony export */ });
|
|
508
|
-
/* unused harmony export DEFAULT_DOCUMENT_MIN_SIMILARITY */
|
|
509
|
-
/* harmony import */ var _lib_db__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(46);
|
|
510
|
-
/* harmony import */ var _lib_embeddings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21839);
|
|
511
|
-
/* harmony import */ var _lib_stores_app_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4400);
|
|
512
|
-
// Semantic search over document_chunks (ADR-0024). Cosine over embedded
|
|
513
|
-
// chunks; substring fallback for chunks without embeddings (covers the
|
|
514
|
-
// "no embedding provider configured" case and the brief window before
|
|
515
|
-
// async embed completes after indexing).
|
|
516
|
-
//
|
|
517
|
-
// When a dimension mismatch is detected (old embeddings incompatible with
|
|
518
|
-
// new query vector), the search falls back to substring matching and queues
|
|
519
|
-
// an async reindex of that document's chunks so the semantic index is
|
|
520
|
-
// eventually repaired (see queueDocumentReindex).
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
// Track documents we've already queued for reindexing this session to avoid
|
|
525
|
-
// repeated work. This is session-scoped; the Set resets on app restart.
|
|
526
|
-
const reindexQueued = new Set();
|
|
527
|
-
const DEFAULT_DOCUMENT_MIN_SIMILARITY = 0.86;
|
|
528
|
-
function getDefaultDocumentMinSimilarity() {
|
|
529
|
-
return (0,_lib_stores_app_settings__WEBPACK_IMPORTED_MODULE_2__/* .isLocalEmbeddingsEnabled */ .jM)() ? DEFAULT_DOCUMENT_MIN_SIMILARITY : 0.25;
|
|
530
|
-
}
|
|
531
|
-
async function searchDocuments(query, opts) {
|
|
532
|
-
const limit = Math.min(Math.max(opts?.limit ?? 8, 1), 25);
|
|
533
|
-
const db = (0,_lib_db__WEBPACK_IMPORTED_MODULE_0__/* .getDb */ .Lf)();
|
|
534
|
-
const trimmed = query.trim();
|
|
535
|
-
if (trimmed.length === 0) return [];
|
|
536
|
-
// Hard cap on rows scanned per query — at thousands of chunks the JS
|
|
537
|
-
// cosine pass is still milliseconds, but we still want a ceiling.
|
|
538
|
-
const limitRows = 20000;
|
|
539
|
-
const rows = opts?.sourceId ? db.prepare(`SELECT dc.id AS chunk_id, dc.document_id, dc.chunk_index, dc.text, dc.embedding,
|
|
540
|
-
d.source_id, ds.label AS source_label, d.rel_path, d.path AS abs_path
|
|
541
|
-
FROM document_chunks dc
|
|
542
|
-
JOIN documents d ON dc.document_id = d.id
|
|
543
|
-
JOIN document_sources ds ON d.source_id = ds.id
|
|
544
|
-
WHERE d.source_id = ? AND ds.enabled = 1
|
|
545
|
-
LIMIT ?`).all(opts.sourceId, limitRows) : db.prepare(`SELECT dc.id AS chunk_id, dc.document_id, dc.chunk_index, dc.text, dc.embedding,
|
|
546
|
-
d.source_id, ds.label AS source_label, d.rel_path, d.path AS abs_path
|
|
547
|
-
FROM document_chunks dc
|
|
548
|
-
JOIN documents d ON dc.document_id = d.id
|
|
549
|
-
JOIN document_sources ds ON d.source_id = ds.id
|
|
550
|
-
WHERE ds.enabled = 1
|
|
551
|
-
LIMIT ?`).all(limitRows);
|
|
552
|
-
if (rows.length === 0) return [];
|
|
553
|
-
const qVec = await (0,_lib_embeddings__WEBPACK_IMPORTED_MODULE_1__/* .embedQueryOne */ .cY)(trimmed);
|
|
554
|
-
const scored = [];
|
|
555
|
-
const lowered = trimmed.toLowerCase();
|
|
556
|
-
const minSimilarity = Math.max(0, Math.min(1, opts?.minSimilarity ?? getDefaultDocumentMinSimilarity()));
|
|
557
|
-
const mismatched = new Set();
|
|
558
|
-
for (const r of rows){
|
|
559
|
-
let score = 0;
|
|
560
|
-
let match = "semantic";
|
|
561
|
-
if (qVec && r.embedding) {
|
|
562
|
-
let vec = null;
|
|
563
|
-
try {
|
|
564
|
-
vec = JSON.parse(r.embedding);
|
|
565
|
-
} catch {
|
|
566
|
-
vec = null;
|
|
567
|
-
}
|
|
568
|
-
if (vec && vec.length === qVec.length) {
|
|
569
|
-
score = (0,_lib_embeddings__WEBPACK_IMPORTED_MODULE_1__/* .cosine */ .sw)(qVec, vec);
|
|
570
|
-
if (score <= 0) {
|
|
571
|
-
score = substringScore(r.text, lowered);
|
|
572
|
-
match = "substring";
|
|
573
|
-
} else if (score <= minSimilarity) {
|
|
574
|
-
score = 0;
|
|
727
|
+
currentSpan.setAttributes({
|
|
728
|
+
'http.status_code': statusCode,
|
|
729
|
+
'next.rsc': false
|
|
730
|
+
});
|
|
731
|
+
if (statusCode && statusCode >= 500) {
|
|
732
|
+
// For 5xx status codes: SHOULD be set to 'Error' span status.
|
|
733
|
+
// x-ref: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
|
|
734
|
+
currentSpan.setStatus({
|
|
735
|
+
code: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.SpanStatusCode.ERROR
|
|
736
|
+
});
|
|
737
|
+
// For span status 'Error', SHOULD set 'error.type' attribute.
|
|
738
|
+
currentSpan.setAttribute('error.type', statusCode.toString());
|
|
575
739
|
}
|
|
576
|
-
|
|
577
|
-
//
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
for (const docId of mismatched){
|
|
601
|
-
if (!reindexQueued.has(docId)) {
|
|
602
|
-
reindexQueued.add(docId);
|
|
603
|
-
clearEmbeddingsForDocument(docId).catch((err)=>{
|
|
604
|
-
console.error(`[search] failed to queue document ${docId} for reindexing:`, err);
|
|
605
|
-
});
|
|
740
|
+
const rootSpanAttributes = tracer.getRootSpanAttributes();
|
|
741
|
+
// We were unable to get attributes, probably OTEL is not enabled
|
|
742
|
+
if (!rootSpanAttributes) {
|
|
743
|
+
return;
|
|
744
|
+
}
|
|
745
|
+
if (rootSpanAttributes.get('next.span_type') !== next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__.BaseServerSpan.handleRequest) {
|
|
746
|
+
console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);
|
|
747
|
+
return;
|
|
748
|
+
}
|
|
749
|
+
const route = rootSpanAttributes.get('next.route') || normalizedSrcPage;
|
|
750
|
+
const name = `${method} ${route}`;
|
|
751
|
+
currentSpan.setAttributes({
|
|
752
|
+
'next.route': route,
|
|
753
|
+
'http.route': route,
|
|
754
|
+
'next.span_name': name
|
|
755
|
+
});
|
|
756
|
+
currentSpan.updateName(name);
|
|
757
|
+
// Propagate http.route to the parent span if one exists (e.g.
|
|
758
|
+
// a platform-created HTTP span in adapter deployments).
|
|
759
|
+
if (parentSpan && parentSpan !== currentSpan) {
|
|
760
|
+
parentSpan.setAttribute('http.route', route);
|
|
761
|
+
parentSpan.updateName(name);
|
|
762
|
+
}
|
|
763
|
+
})();
|
|
606
764
|
}
|
|
765
|
+
};
|
|
766
|
+
// TODO: activeSpan code path is for when wrapped by
|
|
767
|
+
// next-server can be removed when this is no longer used
|
|
768
|
+
if (isWrappedByNextServer && activeSpan) {
|
|
769
|
+
await handleResponse(activeSpan, undefined);
|
|
770
|
+
} else {
|
|
771
|
+
let parentSpan = tracer.getActiveScopeSpan();
|
|
772
|
+
await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__.BaseServerSpan.handleRequest, {
|
|
773
|
+
spanName: `${method} ${srcPage}`,
|
|
774
|
+
kind: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.SpanKind.SERVER,
|
|
775
|
+
attributes: {
|
|
776
|
+
'http.method': method,
|
|
777
|
+
'http.target': req.url
|
|
778
|
+
}
|
|
779
|
+
}, (span)=>handleResponse(span, parentSpan)), undefined, !isWrappedByNextServer);
|
|
607
780
|
}
|
|
608
|
-
scored.sort((a, b)=>b.score - a.score);
|
|
609
|
-
return scored.slice(0, limit);
|
|
610
|
-
}
|
|
611
|
-
function substringScore(haystack, needleLower) {
|
|
612
|
-
const hay = haystack.toLowerCase();
|
|
613
|
-
if (!hay.includes(needleLower)) {
|
|
614
|
-
// Try token-level OR match — at least one query token has to appear.
|
|
615
|
-
const tokens = needleLower.split(/\s+/).filter((t)=>t.length > 2);
|
|
616
|
-
let hits = 0;
|
|
617
|
-
for (const t of tokens)if (hay.includes(t)) hits++;
|
|
618
|
-
if (hits === 0) return 0;
|
|
619
|
-
return Math.min(0.4, hits / Math.max(tokens.length, 1) * 0.4);
|
|
620
|
-
}
|
|
621
|
-
// Phrase match — high but below typical semantic top scores.
|
|
622
|
-
return 0.6;
|
|
623
|
-
}
|
|
624
|
-
/**
|
|
625
|
-
* Clear embeddings for a document's chunks so they can be re-embedded.
|
|
626
|
-
* Called when a dimension mismatch is detected during search.
|
|
627
|
-
* Fire-and-forget: the next scheduler tick's indexAllSources() will
|
|
628
|
-
* re-embed these chunks via backfillDocumentEmbeddings().
|
|
629
|
-
*/ async function clearEmbeddingsForDocument(documentId) {
|
|
630
|
-
const db = (0,_lib_db__WEBPACK_IMPORTED_MODULE_0__/* .getDb */ .Lf)();
|
|
631
|
-
const count = db.prepare("UPDATE document_chunks SET embedding=NULL WHERE document_id=?").run(documentId).changes;
|
|
632
|
-
if (count > 0) {
|
|
633
|
-
console.log(`[search] detected embedding dimension mismatch; cleared ${count} chunks for document ${documentId}. ` + `Scheduler will re-embed on the next tick.`);
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
/***/ }),
|
|
639
|
-
|
|
640
|
-
/***/ 16698:
|
|
641
|
-
/***/ ((module) => {
|
|
642
|
-
|
|
643
|
-
module.exports = require("node:async_hooks");
|
|
644
|
-
|
|
645
|
-
/***/ }),
|
|
646
|
-
|
|
647
|
-
/***/ 19121:
|
|
648
|
-
/***/ ((module) => {
|
|
649
|
-
|
|
650
|
-
module.exports = require("next/dist/server/app-render/action-async-storage.external.js");
|
|
651
|
-
|
|
652
|
-
/***/ }),
|
|
653
|
-
|
|
654
|
-
/***/ 27910:
|
|
655
|
-
/***/ ((module) => {
|
|
656
|
-
|
|
657
|
-
module.exports = require("stream");
|
|
658
|
-
|
|
659
|
-
/***/ }),
|
|
660
|
-
|
|
661
|
-
/***/ 28354:
|
|
662
|
-
/***/ ((module) => {
|
|
663
|
-
|
|
664
|
-
module.exports = require("util");
|
|
665
|
-
|
|
666
|
-
/***/ }),
|
|
667
|
-
|
|
668
|
-
/***/ 29021:
|
|
669
|
-
/***/ ((module) => {
|
|
670
|
-
|
|
671
|
-
module.exports = require("fs");
|
|
672
|
-
|
|
673
|
-
/***/ }),
|
|
674
|
-
|
|
675
|
-
/***/ 29294:
|
|
676
|
-
/***/ ((module) => {
|
|
677
|
-
|
|
678
|
-
module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
|
|
679
|
-
|
|
680
|
-
/***/ }),
|
|
681
|
-
|
|
682
|
-
/***/ 31421:
|
|
683
|
-
/***/ ((module) => {
|
|
684
|
-
|
|
685
|
-
module.exports = require("node:child_process");
|
|
686
|
-
|
|
687
|
-
/***/ }),
|
|
688
|
-
|
|
689
|
-
/***/ 33873:
|
|
690
|
-
/***/ ((module) => {
|
|
691
|
-
|
|
692
|
-
module.exports = require("path");
|
|
693
|
-
|
|
694
|
-
/***/ }),
|
|
695
|
-
|
|
696
|
-
/***/ 34712:
|
|
697
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
698
|
-
|
|
699
|
-
__webpack_require__.r(__webpack_exports__);
|
|
700
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
701
|
-
/* harmony export */ GET: () => (/* binding */ GET)
|
|
702
|
-
/* harmony export */ });
|
|
703
|
-
/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23211);
|
|
704
|
-
/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97377);
|
|
705
|
-
/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(95370);
|
|
706
|
-
/* harmony import */ var _lib_documents_search__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11169);
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
const QuerySchema = zod__WEBPACK_IMPORTED_MODULE_2__/* .object */ .Ikc({
|
|
711
|
-
q: zod__WEBPACK_IMPORTED_MODULE_2__/* .string */ .YjP().min(1),
|
|
712
|
-
limit: zod__WEBPACK_IMPORTED_MODULE_3__/* .number */ .ai().int().min(1).max(25).optional(),
|
|
713
|
-
source_id: zod__WEBPACK_IMPORTED_MODULE_2__/* .string */ .YjP().optional(),
|
|
714
|
-
min_similarity: zod__WEBPACK_IMPORTED_MODULE_3__/* .number */ .ai().min(0).max(1).optional()
|
|
715
|
-
});
|
|
716
|
-
async function GET(req) {
|
|
717
|
-
const url = new URL(req.url);
|
|
718
|
-
const parsed = QuerySchema.safeParse({
|
|
719
|
-
q: url.searchParams.get("q"),
|
|
720
|
-
limit: url.searchParams.get("limit") ?? undefined,
|
|
721
|
-
source_id: url.searchParams.get("source_id") ?? undefined,
|
|
722
|
-
min_similarity: url.searchParams.get("min_similarity") ?? undefined
|
|
723
|
-
});
|
|
724
|
-
if (!parsed.success) {
|
|
725
|
-
return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
|
|
726
|
-
error: parsed.error.issues[0]?.message ?? "invalid input"
|
|
727
|
-
}, {
|
|
728
|
-
status: 400
|
|
729
|
-
});
|
|
730
|
-
}
|
|
731
|
-
const hits = await (0,_lib_documents_search__WEBPACK_IMPORTED_MODULE_1__/* .searchDocuments */ .$X)(parsed.data.q, {
|
|
732
|
-
limit: parsed.data.limit,
|
|
733
|
-
sourceId: parsed.data.source_id,
|
|
734
|
-
minSimilarity: parsed.data.min_similarity
|
|
735
|
-
});
|
|
736
|
-
return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
|
|
737
|
-
query: parsed.data.q,
|
|
738
|
-
hits,
|
|
739
|
-
min_similarity: parsed.data.min_similarity ?? (0,_lib_documents_search__WEBPACK_IMPORTED_MODULE_1__/* .getDefaultDocumentMinSimilarity */ .kx)()
|
|
740
|
-
});
|
|
741
781
|
}
|
|
742
782
|
|
|
783
|
+
//# sourceMappingURL=app-route.js.map
|
|
743
784
|
|
|
744
|
-
/***/ }),
|
|
745
|
-
|
|
746
|
-
/***/ 37067:
|
|
747
|
-
/***/ ((module) => {
|
|
748
|
-
|
|
749
|
-
module.exports = require("node:http");
|
|
750
|
-
|
|
751
|
-
/***/ }),
|
|
752
|
-
|
|
753
|
-
/***/ 38522:
|
|
754
|
-
/***/ ((module) => {
|
|
755
|
-
|
|
756
|
-
module.exports = require("node:zlib");
|
|
757
|
-
|
|
758
|
-
/***/ }),
|
|
759
|
-
|
|
760
|
-
/***/ 44708:
|
|
761
|
-
/***/ ((module) => {
|
|
762
|
-
|
|
763
|
-
module.exports = require("node:https");
|
|
764
|
-
|
|
765
|
-
/***/ }),
|
|
766
|
-
|
|
767
|
-
/***/ 44870:
|
|
768
|
-
/***/ ((module) => {
|
|
769
|
-
|
|
770
|
-
module.exports = require("next/dist/compiled/next-server/app-route.runtime.prod.js");
|
|
771
|
-
|
|
772
|
-
/***/ }),
|
|
773
|
-
|
|
774
|
-
/***/ 48161:
|
|
775
|
-
/***/ ((module) => {
|
|
776
|
-
|
|
777
|
-
module.exports = require("node:os");
|
|
778
|
-
|
|
779
|
-
/***/ }),
|
|
780
|
-
|
|
781
|
-
/***/ 51455:
|
|
782
|
-
/***/ ((module) => {
|
|
783
|
-
|
|
784
|
-
module.exports = require("node:fs/promises");
|
|
785
785
|
|
|
786
786
|
/***/ }),
|
|
787
787
|
|
|
@@ -934,7 +934,7 @@ module.exports = import("@huggingface/transformers");;
|
|
|
934
934
|
var __webpack_require__ = require("../../../../../webpack-runtime.js");
|
|
935
935
|
__webpack_require__.C(exports);
|
|
936
936
|
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
|
937
|
-
var __webpack_exports__ = __webpack_require__.X(0, [2970,7377,1813,7981,4992,46], () => (__webpack_exec__(
|
|
937
|
+
var __webpack_exports__ = __webpack_require__.X(0, [2970,7377,1813,7981,4992,46], () => (__webpack_exec__(52461)));
|
|
938
938
|
module.exports = __webpack_exports__;
|
|
939
939
|
|
|
940
940
|
})();
|