@circuitwall/jarela 2.2.1 → 2.4.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 +2 -1
- 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 +100 -93
- package/.next/standalone/.next/server/app/api/v1/access/route.js +176 -169
- package/.next/standalone/.next/server/app/api/v1/agents/[id]/compact/route.js +89 -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 +139 -127
- package/.next/standalone/.next/server/app/api/v1/agents/[id]/route.js +107 -100
- package/.next/standalone/.next/server/app/api/v1/agents/[id]/thread/route.js +765 -753
- package/.next/standalone/.next/server/app/api/v1/agents/route.js +72 -65
- package/.next/standalone/.next/server/app/api/v1/allowed-sites/[hostname]/route.js +371 -364
- package/.next/standalone/.next/server/app/api/v1/allowed-sites/route.js +809 -802
- package/.next/standalone/.next/server/app/api/v1/artifacts/lifecycle/route.js +9 -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 +583 -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 +41 -30
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/ignores/route.js +48 -37
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/lookup/route.js +697 -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 +703 -136
- 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 +796 -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 +762 -746
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/routes/route.js +1050 -1034
- package/.next/standalone/.next/server/app/api/v1/bridges/[id]/status/route.js +673 -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 +811 -804
- package/.next/standalone/.next/server/app/api/v1/bridges/kinds/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/bridges/route.js +718 -706
- package/.next/standalone/.next/server/app/api/v1/bridges/route.js.nft.json +1 -1
- 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 +796 -784
- package/.next/standalone/.next/server/app/api/v1/dashboard/pricing/route.js +30 -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 +385 -378
- package/.next/standalone/.next/server/app/api/v1/documents/settings/route.js +51 -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 +375 -368
- package/.next/standalone/.next/server/app/api/v1/env-sync/route.js +51 -44
- package/.next/standalone/.next/server/app/api/v1/events/route.js +745 -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 +51 -44
- package/.next/standalone/.next/server/app/api/v1/extension/browser/foreground/route.js +16 -9
- package/.next/standalone/.next/server/app/api/v1/extension/browser/history/route.js +72 -65
- package/.next/standalone/.next/server/app/api/v1/extension/browser/poll/route.js +41 -34
- package/.next/standalone/.next/server/app/api/v1/extension/browser/progress/route.js +211 -204
- package/.next/standalone/.next/server/app/api/v1/extension/browser/result/route.js +140 -133
- package/.next/standalone/.next/server/app/api/v1/extension/browser/retry/route.js +113 -106
- package/.next/standalone/.next/server/app/api/v1/extension/browser/status/route.js +121 -114
- package/.next/standalone/.next/server/app/api/v1/extension/browser/tabs/route.js +141 -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 +228 -221
- package/.next/standalone/.next/server/app/api/v1/harnesses/default/route.js +65 -58
- package/.next/standalone/.next/server/app/api/v1/harnesses/route.js +79 -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 +783 -771
- package/.next/standalone/.next/server/app/api/v1/integrations/[name]/route.js +140 -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 +370 -363
- package/.next/standalone/.next/server/app/api/v1/integrations/gmail/oauth/start/route.js +240 -233
- package/.next/standalone/.next/server/app/api/v1/integrations/gmail/oauth/status/route.js +689 -682
- package/.next/standalone/.next/server/app/api/v1/integrations/outlook/oauth/callback/route.js +886 -879
- package/.next/standalone/.next/server/app/api/v1/integrations/outlook/oauth/start/route.js +115 -108
- package/.next/standalone/.next/server/app/api/v1/integrations/outlook/oauth/status/route.js +955 -948
- package/.next/standalone/.next/server/app/api/v1/integrations/route.js +223 -216
- package/.next/standalone/.next/server/app/api/v1/lifecycle/adoption/route.js +876 -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 +79 -72
- package/.next/standalone/.next/server/app/api/v1/mcp-servers/[name]/route.js +991 -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 +19 -7
- package/.next/standalone/.next/server/app/api/v1/memory/[namespace]/[key]/route.js +539 -532
- package/.next/standalone/.next/server/app/api/v1/memory/policy/route.js +86 -79
- package/.next/standalone/.next/server/app/api/v1/memory/route.js +58 -51
- package/.next/standalone/.next/server/app/api/v1/memory/search/route.js +138 -131
- package/.next/standalone/.next/server/app/api/v1/models/[name]/compact-threads/route.js +381 -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 +150 -143
- package/.next/standalone/.next/server/app/api/v1/models/route.js +634 -627
- 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 +529 -514
- 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 +37 -30
- package/.next/standalone/.next/server/app/api/v1/profile/route.js +171 -164
- package/.next/standalone/.next/server/app/api/v1/providers/[provider]/models/route.js +51 -44
- package/.next/standalone/.next/server/app/api/v1/providers/[provider]/probe/route.js +15 -8
- package/.next/standalone/.next/server/app/api/v1/providers/github-copilot/auth/route.js +171 -164
- package/.next/standalone/.next/server/app/api/v1/providers/route.js +101 -94
- package/.next/standalone/.next/server/app/api/v1/proxy-config/route.js +457 -450
- package/.next/standalone/.next/server/app/api/v1/redaction/init/route.js +44 -37
- package/.next/standalone/.next/server/app/api/v1/redaction/route.js +65 -58
- package/.next/standalone/.next/server/app/api/v1/scheduled-tasks/[id]/route.js +617 -605
- 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 +739 -732
- package/.next/standalone/.next/server/app/api/v1/security/idle-timeout/route.js +329 -322
- package/.next/standalone/.next/server/app/api/v1/security/pin/route.js +204 -197
- package/.next/standalone/.next/server/app/api/v1/security/state/route.js +58 -51
- package/.next/standalone/.next/server/app/api/v1/security/unlock/route.js +183 -176
- package/.next/standalone/.next/server/app/api/v1/security/verify-pin/route.js +194 -187
- 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 +776 -769
- package/.next/standalone/.next/server/app/api/v1/skills/repos/[id]/route.js +122 -115
- package/.next/standalone/.next/server/app/api/v1/skills/repos/route.js +334 -327
- package/.next/standalone/.next/server/app/api/v1/skills/route.js +873 -866
- 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 +122 -115
- package/.next/standalone/.next/server/app/api/v1/tasks/route.js +30 -23
- package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/activity/route.js +1436 -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 +638 -631
- 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 +60 -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 -173
- 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 +925 -913
- 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 +241 -229
- package/.next/standalone/.next/server/app/api/v1/voice/tts/route.js +989 -977
- package/.next/standalone/.next/server/app/api/v1/watchers/[id]/route.js +40 -28
- 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 +1179 -743
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup/page.js +99 -91
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +2 -1
- package/.next/standalone/.next/server/chunks/{424.js → 1388.js} +441 -1022
- 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/2068.js +47 -10
- package/.next/standalone/.next/server/chunks/210.js +3 -3
- 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/2447.js +10 -5
- 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 +24 -16
- package/.next/standalone/.next/server/chunks/{4540.js → 309.js} +104 -38
- package/.next/standalone/.next/server/chunks/{2350.js → 3272.js} +104 -37
- package/.next/standalone/.next/server/chunks/3399.js +526 -526
- package/.next/standalone/.next/server/chunks/3524.js +150 -67
- 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/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 +78 -28
- package/.next/standalone/.next/server/chunks/466.js +12 -0
- 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/5908.js +63 -42
- package/.next/standalone/.next/server/chunks/6142.js +10 -2
- 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 +24 -17
- 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 +4 -3
- package/.next/standalone/.next/server/chunks/{2563.js → 9164.js} +33389 -31418
- package/.next/standalone/.next/server/chunks/9237.js +396 -396
- package/.next/standalone/.next/server/chunks/{9640.js → 9304.js} +1672 -575
- package/.next/standalone/.next/server/chunks/9406.js +1 -1
- package/.next/standalone/.next/server/chunks/9590.js +68 -18
- 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 +486 -415
- 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-a340fb0a345382a4.js → 1395-e4a99912b8f83044.js} +13 -1
- 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-7017f07f8a7a083c.js → page-04748847c6ff866f.js} +1013 -585
- 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 → 2669e8744cc8c212.css} +2 -2
- package/.next/standalone/docs/adoption/changesets.json +358 -0
- package/.next/standalone/lib/skills/builtins/memory-organization/SKILL.md +16 -0
- package/.next/standalone/package.json +3 -3
- package/CHANGELOG.md +44 -0
- package/api/client.ts +9 -0
- package/api/types.ts +29 -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/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/app/api/v1/threads/[thread_id]/run/route.ts +0 -1
- 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/MessageBubble.tsx +12 -0
- 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/integrations/NetworkSection.tsx +2 -2
- package/components/ui/BootScreen.tsx +17 -0
- package/components/ui/WorkflowChecklist.tsx +71 -33
- package/hooks/useSSE.ts +28 -3
- package/lib/agents/citation-checker.test.ts +40 -2
- package/lib/agents/citation-checker.ts +56 -11
- package/lib/agents/compaction-pipeline.test.ts +202 -0
- package/lib/agents/compaction-pipeline.ts +483 -0
- package/lib/agents/context-boundary.ts +5 -6
- package/lib/agents/conversation-summary.ts +37 -21
- package/lib/agents/instruction-edits.test.ts +120 -0
- package/lib/agents/instruction-edits.ts +65 -42
- 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 -2
- package/lib/agents/prepare/system-prompt.test.ts +49 -0
- package/lib/agents/prepare/system-prompt.ts +16 -5
- 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/proposals.test.ts +76 -0
- package/lib/agents/proposals.ts +13 -5
- package/lib/agents/run-registry.test.ts +22 -0
- package/lib/agents/run-registry.ts +29 -0
- package/lib/agents/run-thread.auto-boundary.test.ts +125 -5
- package/lib/agents/run-thread.retry.test.ts +67 -1
- package/lib/agents/run-thread.ts +110 -10
- package/lib/agents/sqlite-checkpoint-saver.test.ts +91 -0
- 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 +219 -5
- package/lib/agents/warm-summary-background.ts +346 -143
- package/lib/agents/warm-topics.test.ts +191 -0
- package/lib/agents/warm-topics.ts +317 -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/bridges/dispatcher.ts +1 -0
- package/lib/bridges/message-role.test.ts +81 -0
- package/lib/bridges/message-role.ts +23 -10
- package/lib/bridges/types.ts +6 -0
- package/lib/bridges/whatsapp-link.test.ts +32 -0
- package/lib/bridges/whatsapp-link.ts +21 -0
- package/lib/bridges/whatsapp.inbound.test.ts +239 -0
- package/lib/bridges/whatsapp.sender.test.ts +80 -1
- package/lib/bridges/whatsapp.ts +76 -38
- package/lib/db/migrations.ts +5 -0
- package/lib/env/config.ts +2 -0
- package/lib/env/schema.ts +12 -0
- 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/pricing/snapshot.test.ts +70 -0
- package/lib/pricing/snapshot.ts +10 -2
- package/lib/providers/external.ts +0 -2
- package/lib/proxy/dispatcher.test.ts +119 -1
- package/lib/proxy/dispatcher.ts +22 -9
- package/lib/skills/builtins/memory-organization/SKILL.md +16 -0
- package/lib/stores/agent-configs.ts +10 -5
- package/lib/stores/bridges.test.ts +81 -0
- package/lib/stores/bridges.ts +9 -8
- package/lib/stores/proxy-config.test.ts +120 -0
- package/lib/stores/proxy-config.ts +22 -4
- package/lib/stores/threads.test.ts +9 -0
- package/lib/stores/threads.ts +33 -19
- 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/calendar.test.ts +43 -2
- package/lib/tools/communications/calendar.ts +2 -0
- package/lib/tools/communications/gmail.test.ts +51 -1
- package/lib/tools/communications/gmail.ts +44 -2
- package/lib/tools/communications/ms-todo.ts +0 -7
- package/lib/tools/communications/outlook-calendar.ts +2 -0
- package/lib/tools/communications/outlook.test.ts +33 -2
- package/lib/tools/communications/outlook.ts +2 -0
- package/lib/tools/filesystem/edit-match.test.ts +133 -0
- package/lib/tools/filesystem/edit-match.ts +7 -2
- 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/tools/support/result-refs.test.ts +131 -0
- package/lib/tools/support/result-refs.ts +41 -9
- package/lib/triggers/registry.ts +0 -4
- package/lib/utils/source-link.test.ts +51 -0
- package/lib/utils/source-link.ts +45 -0
- 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/{NUrC9xax1sp1Q70nlFqS6 → hwujW4hR1b-r3k5WdMxZO}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{NUrC9xax1sp1Q70nlFqS6 → hwujW4hR1b-r3k5WdMxZO}/_ssgManifest.js +0 -0
|
@@ -12,7 +12,336 @@ module.exports = require("next/dist/shared/lib/router/utils/app-paths");
|
|
|
12
12
|
|
|
13
13
|
/***/ }),
|
|
14
14
|
|
|
15
|
-
/***/
|
|
15
|
+
/***/ 1708:
|
|
16
|
+
/***/ ((module) => {
|
|
17
|
+
|
|
18
|
+
module.exports = require("node:process");
|
|
19
|
+
|
|
20
|
+
/***/ }),
|
|
21
|
+
|
|
22
|
+
/***/ 1932:
|
|
23
|
+
/***/ ((module) => {
|
|
24
|
+
|
|
25
|
+
module.exports = require("url");
|
|
26
|
+
|
|
27
|
+
/***/ }),
|
|
28
|
+
|
|
29
|
+
/***/ 3295:
|
|
30
|
+
/***/ ((module) => {
|
|
31
|
+
|
|
32
|
+
module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js");
|
|
33
|
+
|
|
34
|
+
/***/ }),
|
|
35
|
+
|
|
36
|
+
/***/ 8128:
|
|
37
|
+
/***/ ((module) => {
|
|
38
|
+
|
|
39
|
+
module.exports = require("next/dist/server/runtime-reacts.external.js");
|
|
40
|
+
|
|
41
|
+
/***/ }),
|
|
42
|
+
|
|
43
|
+
/***/ 9956:
|
|
44
|
+
/***/ ((module) => {
|
|
45
|
+
|
|
46
|
+
module.exports = require("undici");
|
|
47
|
+
|
|
48
|
+
/***/ }),
|
|
49
|
+
|
|
50
|
+
/***/ 10846:
|
|
51
|
+
/***/ ((module) => {
|
|
52
|
+
|
|
53
|
+
module.exports = require("next/dist/compiled/next-server/app-page.runtime.prod.js");
|
|
54
|
+
|
|
55
|
+
/***/ }),
|
|
56
|
+
|
|
57
|
+
/***/ 11169:
|
|
58
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
59
|
+
|
|
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).
|
|
77
|
+
|
|
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;
|
|
131
|
+
}
|
|
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";
|
|
137
|
+
}
|
|
138
|
+
} else {
|
|
139
|
+
score = substringScore(r.text, lowered);
|
|
140
|
+
match = "substring";
|
|
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
|
+
});
|
|
154
|
+
}
|
|
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:
|
|
16
345
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
17
346
|
|
|
18
347
|
__webpack_require__.r(__webpack_exports__);
|
|
@@ -400,388 +729,59 @@ async function handler(req, res, ctx) {
|
|
|
400
729
|
'next.rsc': false
|
|
401
730
|
});
|
|
402
731
|
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;
|
|
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
|
|
|
@@ -841,6 +841,13 @@ module.exports = require("node:path");
|
|
|
841
841
|
|
|
842
842
|
/***/ }),
|
|
843
843
|
|
|
844
|
+
/***/ 77030:
|
|
845
|
+
/***/ ((module) => {
|
|
846
|
+
|
|
847
|
+
module.exports = require("node:net");
|
|
848
|
+
|
|
849
|
+
/***/ }),
|
|
850
|
+
|
|
844
851
|
/***/ 77598:
|
|
845
852
|
/***/ ((module) => {
|
|
846
853
|
|
|
@@ -934,7 +941,7 @@ module.exports = import("@huggingface/transformers");;
|
|
|
934
941
|
var __webpack_require__ = require("../../../../../webpack-runtime.js");
|
|
935
942
|
__webpack_require__.C(exports);
|
|
936
943
|
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__(
|
|
944
|
+
var __webpack_exports__ = __webpack_require__.X(0, [2970,7377,1813,7981,4992,46], () => (__webpack_exec__(52461)));
|
|
938
945
|
module.exports = __webpack_exports__;
|
|
939
946
|
|
|
940
947
|
})();
|