kontexta 4.3.1
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/LICENSE +191 -0
- package/README.md +58 -0
- package/bundle/standalone/CHANGELOG.md +382 -0
- package/bundle/standalone/apps/web/.next/BUILD_ID +1 -0
- package/bundle/standalone/apps/web/.next/app-build-manifest.json +403 -0
- package/bundle/standalone/apps/web/.next/app-path-routes-manifest.json +60 -0
- package/bundle/standalone/apps/web/.next/build-manifest.json +33 -0
- package/bundle/standalone/apps/web/.next/package.json +1 -0
- package/bundle/standalone/apps/web/.next/prerender-manifest.json +148 -0
- package/bundle/standalone/apps/web/.next/react-loadable-manifest.json +300 -0
- package/bundle/standalone/apps/web/.next/required-server-files.json +344 -0
- package/bundle/standalone/apps/web/.next/routes-manifest.json +210 -0
- package/bundle/standalone/apps/web/.next/server/app/_not-found/page.js +2 -0
- package/bundle/standalone/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/_not-found.html +1 -0
- package/bundle/standalone/apps/web/.next/server/app/_not-found.meta +8 -0
- package/bundle/standalone/apps/web/.next/server/app/_not-found.rsc +22 -0
- package/bundle/standalone/apps/web/.next/server/app/api/about/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/about/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/about/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/login/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/login/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/logout/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/setup/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/setup/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/setup/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/status/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/status/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/token/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/token/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/auth/token/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/conflicts/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/conflicts/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/conflicts/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/[id]/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/[id]/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/[id]/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/entities/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/[id]/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/[id]/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/[id]/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/events/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/ics/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/ics/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/ics/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/links/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/links/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/links/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/settings/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/settings/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/calendar/settings/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/clip/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/clip/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/clip/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/docker-config/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/docker-config/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/docker-config/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/export/zip/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/export/zip/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/export/zip/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/download/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/download/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/download/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/export-pdf/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/export-pdf/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/export-pdf/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/restore/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/restore/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/restore/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/history/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/move/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/move/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/move/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/[id]/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/upload/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/upload/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/files/upload/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/folders/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/folders/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/folders/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/git/remote/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/git/remote/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/git/remote/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/git/sync-all/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/git/sync-all/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/git/sync-all/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/hands/test-pattern/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/hands/test-pattern/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/hands/test-pattern/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/hands/validate/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/hands/validate/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/hands/validate/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/health/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/health/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/health/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/install-snippets/route.js +17 -0
- package/bundle/standalone/apps/web/.next/server/app/api/install-snippets/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/install-snippets/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/mcp-tools/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/mcp-tools/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/mcp-tools/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/profile/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/profile/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/profile/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/hands-config/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/hands-config/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/hands-config/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-config/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-config/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-config/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-status/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-status/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/journal-status/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/onboard/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/onboard/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/onboard/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/refresh/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/refresh/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/refresh/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/sync/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/sync/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/[id]/sync/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/onboard/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/onboard/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/onboard/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/projects/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/publish/html/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/publish/html/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/publish/html/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/publish/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/publish/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/publish/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/refresh/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/refresh/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/refresh/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/reindex/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/reindex/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/reindex/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/search/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/search/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/search/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/tags/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/tags/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/tags/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/ws-config/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/ws-config/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/api/ws-config/route_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/apple-icon.png/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/apple-icon.png/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/apple-icon.png.body +0 -0
- package/bundle/standalone/apps/web/.next/server/app/apple-icon.png.meta +1 -0
- package/bundle/standalone/apps/web/.next/server/app/calendar/page.js +2 -0
- package/bundle/standalone/apps/web/.next/server/app/calendar/page.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/calendar/page_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/favicon.ico/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/favicon.ico.body +0 -0
- package/bundle/standalone/apps/web/.next/server/app/favicon.ico.meta +1 -0
- package/bundle/standalone/apps/web/.next/server/app/icon.png/route.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/icon.png/route.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/icon.png.body +0 -0
- package/bundle/standalone/apps/web/.next/server/app/icon.png.meta +1 -0
- package/bundle/standalone/apps/web/.next/server/app/login/page.js +2 -0
- package/bundle/standalone/apps/web/.next/server/app/login/page.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/login/page_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/page.js +9 -0
- package/bundle/standalone/apps/web/.next/server/app/page.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/preview/motifs/page.js +6 -0
- package/bundle/standalone/apps/web/.next/server/app/preview/motifs/page.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/app/preview/motifs/page_client-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/app/preview/motifs.html +5 -0
- package/bundle/standalone/apps/web/.next/server/app/preview/motifs.meta +7 -0
- package/bundle/standalone/apps/web/.next/server/app/preview/motifs.rsc +29 -0
- package/bundle/standalone/apps/web/.next/server/app-paths-manifest.json +60 -0
- package/bundle/standalone/apps/web/.next/server/chunks/1018.js +115 -0
- package/bundle/standalone/apps/web/.next/server/chunks/1096.js +23 -0
- package/bundle/standalone/apps/web/.next/server/chunks/1139.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/128.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/1921.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/2034.js +36 -0
- package/bundle/standalone/apps/web/.next/server/chunks/2048.js +64 -0
- package/bundle/standalone/apps/web/.next/server/chunks/2065.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/2144.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/2151.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/2161.js +153 -0
- package/bundle/standalone/apps/web/.next/server/chunks/2450.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/246.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/260.js +24 -0
- package/bundle/standalone/apps/web/.next/server/chunks/269.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/2792.js +287 -0
- package/bundle/standalone/apps/web/.next/server/chunks/2923.js +22 -0
- package/bundle/standalone/apps/web/.next/server/chunks/2944.js +77 -0
- package/bundle/standalone/apps/web/.next/server/chunks/3334.js +141 -0
- package/bundle/standalone/apps/web/.next/server/chunks/3668.js +9 -0
- package/bundle/standalone/apps/web/.next/server/chunks/3758.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/3833.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/3990.js +2 -0
- package/bundle/standalone/apps/web/.next/server/chunks/4274.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/4290.js +252 -0
- package/bundle/standalone/apps/web/.next/server/chunks/4347.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/4550.js +226 -0
- package/bundle/standalone/apps/web/.next/server/chunks/4824.js +166 -0
- package/bundle/standalone/apps/web/.next/server/chunks/509.js +43 -0
- package/bundle/standalone/apps/web/.next/server/chunks/5104.js +215 -0
- package/bundle/standalone/apps/web/.next/server/chunks/5186.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/5400.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/5558.js +80 -0
- package/bundle/standalone/apps/web/.next/server/chunks/6496.js +93 -0
- package/bundle/standalone/apps/web/.next/server/chunks/6693.js +148 -0
- package/bundle/standalone/apps/web/.next/server/chunks/6775.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/7020.js +29 -0
- package/bundle/standalone/apps/web/.next/server/chunks/7098.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/7117.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/7204.js +104 -0
- package/bundle/standalone/apps/web/.next/server/chunks/7342.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/7629.js +80 -0
- package/bundle/standalone/apps/web/.next/server/chunks/7784.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/8286.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/8349.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/8620.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/8675.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/8860.js +24 -0
- package/bundle/standalone/apps/web/.next/server/chunks/8896.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/8950.js +5 -0
- package/bundle/standalone/apps/web/.next/server/chunks/8960.js +79 -0
- package/bundle/standalone/apps/web/.next/server/chunks/899.js +2 -0
- package/bundle/standalone/apps/web/.next/server/chunks/9069.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/9315.js +34 -0
- package/bundle/standalone/apps/web/.next/server/chunks/9372.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/9555.js +6 -0
- package/bundle/standalone/apps/web/.next/server/chunks/9571.js +9 -0
- package/bundle/standalone/apps/web/.next/server/chunks/9681.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/97.js +90 -0
- package/bundle/standalone/apps/web/.next/server/chunks/9797.js +1 -0
- package/bundle/standalone/apps/web/.next/server/chunks/989.js +1 -0
- package/bundle/standalone/apps/web/.next/server/functions-config-manifest.json +4 -0
- package/bundle/standalone/apps/web/.next/server/instrumentation.js +1 -0
- package/bundle/standalone/apps/web/.next/server/middleware-build-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/middleware-manifest.json +6 -0
- package/bundle/standalone/apps/web/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/next-font-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/next-font-manifest.json +1 -0
- package/bundle/standalone/apps/web/.next/server/pages/404.html +1 -0
- package/bundle/standalone/apps/web/.next/server/pages/500.html +1 -0
- package/bundle/standalone/apps/web/.next/server/pages/_app.js +1 -0
- package/bundle/standalone/apps/web/.next/server/pages/_app.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/pages/_document.js +1 -0
- package/bundle/standalone/apps/web/.next/server/pages/_document.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/pages/_error.js +19 -0
- package/bundle/standalone/apps/web/.next/server/pages/_error.js.nft.json +1 -0
- package/bundle/standalone/apps/web/.next/server/pages-manifest.json +6 -0
- package/bundle/standalone/apps/web/.next/server/server-reference-manifest.js +1 -0
- package/bundle/standalone/apps/web/.next/server/server-reference-manifest.json +1 -0
- package/bundle/standalone/apps/web/.next/server/webpack-runtime.js +1 -0
- package/bundle/standalone/apps/web/.next/static/TwaiLte1NHCp3gRYUc-go/_buildManifest.js +1 -0
- package/bundle/standalone/apps/web/.next/static/TwaiLte1NHCp3gRYUc-go/_ssgManifest.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/02852184.a3b62691cdc349cf.js +80 -0
- package/bundle/standalone/apps/web/.next/static/chunks/1226.49d217dc03a1770f.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/1286.8da72129ab3aa8fd.js +77 -0
- package/bundle/standalone/apps/web/.next/static/chunks/1403cfaa-33c2b74c127517c2.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/171.a4732e77e941b2cd.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/1733.3a6dae5cc3785d0b.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/2081.313746c212bfc5c9.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/2086.0b05a08670aae1db.js +226 -0
- package/bundle/standalone/apps/web/.next/static/chunks/2377-956eb9b333193ac6.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/3034.e1171cbeeed85923.js +5 -0
- package/bundle/standalone/apps/web/.next/static/chunks/3068-293b252158eb9d15.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/3297.7664b51ee69c7513.js +23 -0
- package/bundle/standalone/apps/web/.next/static/chunks/338.77f45c7810885961.js +115 -0
- package/bundle/standalone/apps/web/.next/static/chunks/3471.7790a4192ef84a1a.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/3514.14aa56fe189fd052.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/3696.5d462babda0c0b9e.js +34 -0
- package/bundle/standalone/apps/web/.next/static/chunks/408.82356d1e11e880d9.js +93 -0
- package/bundle/standalone/apps/web/.next/static/chunks/46.9922e50f2158e1a9.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/4798.d851e8027b2db933.js +287 -0
- package/bundle/standalone/apps/web/.next/static/chunks/4908.2fed0b6fbc391b55.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/4915.97b9c59991c26fa7.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/492.234794e12315e4bb.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/4936.c65cdd63440ade70.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/5127.e5e917b5cb9c4e52.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/5141.93a42ebd1580da60.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/5159-7bcf68ab11c1091e.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/5514.f969d5c86c590512.js +73 -0
- package/bundle/standalone/apps/web/.next/static/chunks/559.c4615787d977bf47.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/5667.e0097b2112faa29b.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/6367.fd87728718a97771.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/6394.c2172a59c01bd0bd.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/6396.d288334e13a70139.js +24 -0
- package/bundle/standalone/apps/web/.next/static/chunks/6483.88695b22b21b10f1.js +9 -0
- package/bundle/standalone/apps/web/.next/static/chunks/6561.176d35e576df3f9d.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/6584.87fc375a0510108d.js +104 -0
- package/bundle/standalone/apps/web/.next/static/chunks/693.71c8b97896628a66.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/6934.45e50410379dc377.js +79 -0
- package/bundle/standalone/apps/web/.next/static/chunks/6a2ca82e.c26cb70da3106c1c.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/6b5bb80a.c511153adad62faf.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/7216.d1b096d2a35967fd.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/7342.fcb52cf5f7ce0e17.js +29 -0
- package/bundle/standalone/apps/web/.next/static/chunks/7541.43ff810bb14fd5c0.js +43 -0
- package/bundle/standalone/apps/web/.next/static/chunks/7563.376c2692778a62b3.js +148 -0
- package/bundle/standalone/apps/web/.next/static/chunks/7756.b0dd00e996549a39.js +24 -0
- package/bundle/standalone/apps/web/.next/static/chunks/8052.69c066e56bbd5d6c.js +64 -0
- package/bundle/standalone/apps/web/.next/static/chunks/8080c6f4.ed360e7424d6fe99.js +62 -0
- package/bundle/standalone/apps/web/.next/static/chunks/8280.81c2b0d61e27a576.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/8547.5bef8f1afd162429.js +90 -0
- package/bundle/standalone/apps/web/.next/static/chunks/8602.0b457ca55bd2c08e.js +141 -0
- package/bundle/standalone/apps/web/.next/static/chunks/8794.401ab179d53aa5d5.js +80 -0
- package/bundle/standalone/apps/web/.next/static/chunks/9053.c953d758ff5dc6ee.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/9122.cf7fd16fc8d7fad0.js +36 -0
- package/bundle/standalone/apps/web/.next/static/chunks/9255.78469e88fa06e186.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/944.ba7dcdca1c72114a.js +166 -0
- package/bundle/standalone/apps/web/.next/static/chunks/9794-16144bed6de4bf26.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/9852.e1937ca867a99475.js +215 -0
- package/bundle/standalone/apps/web/.next/static/chunks/9981.8fa0bb90a26c66eb.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/a118fb18.9c3b4291884abee0.js +119 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/_not-found/page-972b01bf23ed0942.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/about/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/auth/login/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/auth/logout/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/auth/setup/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/auth/status/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/auth/token/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/conflicts/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/entities/[id]/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/entities/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/events/[id]/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/events/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/ics/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/links/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/calendar/settings/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/clip/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/docker-config/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/export/zip/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/download/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/export-pdf/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/history/restore/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/history/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/move/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/[id]/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/files/upload/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/folders/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/git/remote/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/git/sync-all/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/hands/test-pattern/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/hands/validate/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/health/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/install-snippets/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/mcp-tools/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/profile/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/hands-config/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/journal-config/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/journal-status/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/onboard/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/refresh/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/[id]/sync/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/onboard/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/projects/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/publish/html/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/publish/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/refresh/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/reindex/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/search/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/tags/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/api/ws-config/route-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/calendar/page-180fba7a5e149d79.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/layout-9a9569fc88cd95d2.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/login/page-d299785546ea6ab6.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/page-2b151d30cb29d2e5.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/app/preview/motifs/page-c1d02d72a16497fa.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/d185f5cd.71b8f43667fbf60d.js +153 -0
- package/bundle/standalone/apps/web/.next/static/chunks/framework-d5846a86e24c79c9.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/main-0205543fb3b69ad5.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/main-app-20d292116f434ff3.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/pages/_app-fe81927504f65cde.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/pages/_error-2973b69c43483f0b.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/bundle/standalone/apps/web/.next/static/chunks/webpack-8818fea786a923fe.js +1 -0
- package/bundle/standalone/apps/web/.next/static/css/c00514317f297826.css +3 -0
- package/bundle/standalone/apps/web/.next/static/media/0aa834ed78bf6d07-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/438aa629764e75f3-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/4c9affa5bc8f420e-s.p.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/51251f8b9793cdb3-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/67957d42bae0796d-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/875ae681bfde4580-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/886030b0b59bc5a7-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/939c4f875ee75fbb-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/9b01607e2f794050-s.p.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/a5ded5fed781d3c1-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/bb3ef058b751a6ad-s.p.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/cc978ac5ee68c2b6-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/e857b654a2caa584-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/f28ff2d15b1e9bd8-s.woff2 +0 -0
- package/bundle/standalone/apps/web/.next/static/media/f911b923c6adde36-s.woff2 +0 -0
- package/bundle/standalone/apps/web/package.json +66 -0
- package/bundle/standalone/apps/web/public/logo-dark.png +0 -0
- package/bundle/standalone/apps/web/public/logo.png +0 -0
- package/bundle/standalone/apps/web/server.js +38 -0
- package/bundle/standalone/apps/web/src/lib/mcp-tools.json +1941 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/agent-rules/rules-block.md +185 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/calendar-tools.d.ts +2 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/calendar-tools.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/calendar-tools.js +205 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/calendar-tools.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/confirm.d.ts +25 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/confirm.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/confirm.js +40 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/confirm.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/executor.d.ts +13 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/executor.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/executor.js +250 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/executor.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/formatter.d.ts +11 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/formatter.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/formatter.js +39 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/formatter.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/loader.d.ts +4 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/loader.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/loader.js +164 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/loader.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/registry.d.ts +42 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/registry.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/registry.js +143 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/registry.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/sanitizer.d.ts +16 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/sanitizer.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/sanitizer.js +86 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/sanitizer.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/schema-doc.d.ts +2 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/schema-doc.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/schema-doc.js +202 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/schema-doc.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/types.d.ts +50 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/types.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/types.js +2 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/hands/types.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/index.d.ts +3 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/index.js +2117 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/index.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-capture.d.ts +31 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-capture.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-capture.js +293 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-capture.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-commit-upgrades-tool.d.ts +2 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-commit-upgrades-tool.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-commit-upgrades-tool.js +24 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-commit-upgrades-tool.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-housekeep-tool.d.ts +2 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-housekeep-tool.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-housekeep-tool.js +24 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-housekeep-tool.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-tools.d.ts +2 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-tools.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-tools.js +57 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/journal-tools.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/001-initial.sql +72 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/002-remote-git.sql +2 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/003-source-path-index.sql +2 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/004-journaling.sql +44 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/005-auth.sql +7 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/006-journal-locks.sql +11 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/migrations/007-calendar.sql +49 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/profile-tool.d.ts +9 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/profile-tool.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/profile-tool.js +25 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/profile-tool.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/re2-compat.d.ts +4 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/re2-compat.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/re2-compat.js +14 -0
- package/bundle/standalone/node_modules/kontexta-mcp/dist/re2-compat.js.map +1 -0
- package/bundle/standalone/node_modules/kontexta-mcp/package.json +66 -0
- package/bundle/standalone/node_modules/kxta-core/dist/agent-rules/index.d.ts +73 -0
- package/bundle/standalone/node_modules/kxta-core/dist/agent-rules/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/agent-rules/index.js +436 -0
- package/bundle/standalone/node_modules/kxta-core/dist/agent-rules/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/agent-rules/rules-block.md +185 -0
- package/bundle/standalone/node_modules/kxta-core/dist/bundle/index.d.ts +26 -0
- package/bundle/standalone/node_modules/kxta-core/dist/bundle/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/bundle/index.js +115 -0
- package/bundle/standalone/node_modules/kxta-core/dist/bundle/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/conflicts.d.ts +32 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/conflicts.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/conflicts.js +129 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/conflicts.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/ics.d.ts +16 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/ics.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/ics.js +73 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/ics.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/index.d.ts +9 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/index.js +7 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/repository.d.ts +65 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/repository.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/repository.js +219 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/repository.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/types.d.ts +52 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/types.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/types.js +2 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/types.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/validate.d.ts +11 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/validate.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/validate.js +39 -0
- package/bundle/standalone/node_modules/kxta-core/dist/calendar/validate.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/extract.d.ts +26 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/extract.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/extract.js +315 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/extract.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/frontmatter.d.ts +10 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/frontmatter.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/frontmatter.js +53 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/frontmatter.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/index.d.ts +12 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/index.js +38 -0
- package/bundle/standalone/node_modules/kxta-core/dist/clip/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/compat/env-shim.d.ts +2 -0
- package/bundle/standalone/node_modules/kxta-core/dist/compat/env-shim.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/compat/env-shim.js +26 -0
- package/bundle/standalone/node_modules/kxta-core/dist/compat/env-shim.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/compat/file-migration.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/compat/file-migration.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/compat/file-migration.js +30 -0
- package/bundle/standalone/node_modules/kxta-core/dist/compat/file-migration.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/index.d.ts +37 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/index.js +182 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/001-initial.sql +72 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/002-remote-git.sql +2 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/003-source-path-index.sql +2 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/004-journaling.sql +44 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/005-auth.sql +7 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/006-journal-locks.sql +11 -0
- package/bundle/standalone/node_modules/kxta-core/dist/db/migrations/007-calendar.sql +49 -0
- package/bundle/standalone/node_modules/kxta-core/dist/files/index.d.ts +84 -0
- package/bundle/standalone/node_modules/kxta-core/dist/files/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/files/index.js +631 -0
- package/bundle/standalone/node_modules/kxta-core/dist/files/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/files/sections.d.ts +48 -0
- package/bundle/standalone/node_modules/kxta-core/dist/files/sections.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/files/sections.js +112 -0
- package/bundle/standalone/node_modules/kxta-core/dist/files/sections.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/git/index.d.ts +92 -0
- package/bundle/standalone/node_modules/kxta-core/dist/git/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/git/index.js +801 -0
- package/bundle/standalone/node_modules/kxta-core/dist/git/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/index.d.ts +24 -0
- package/bundle/standalone/node_modules/kxta-core/dist/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/index.js +22 -0
- package/bundle/standalone/node_modules/kxta-core/dist/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/cooldown.d.ts +28 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/cooldown.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/cooldown.js +61 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/cooldown.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/distill.d.ts +16 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/distill.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/distill.js +311 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/distill.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/engine.d.ts +45 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/engine.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/engine.js +198 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/engine.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/git-watcher.d.ts +11 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/git-watcher.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/git-watcher.js +41 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/git-watcher.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/high-water.d.ts +16 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/high-water.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/high-water.js +30 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/high-water.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/housekeep.d.ts +22 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/housekeep.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/housekeep.js +104 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/housekeep.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/index.d.ts +27 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/index.js +18 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/build-failure-recovery.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/build-failure-recovery.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/build-failure-recovery.js +31 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/build-failure-recovery.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/error-recovery.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/error-recovery.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/error-recovery.js +31 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/error-recovery.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/exploration.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/exploration.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/exploration.js +28 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/exploration.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/extra-loader.d.ts +13 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/extra-loader.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/extra-loader.js +45 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/extra-loader.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/feature-development.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/feature-development.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/feature-development.js +21 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/feature-development.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/incident-response.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/incident-response.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/incident-response.js +21 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/incident-response.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/index.d.ts +16 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/index.js +40 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/pivot.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/pivot.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/pivot.js +15 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/pivot.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/read-only-investigation.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/read-only-investigation.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/read-only-investigation.js +24 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/read-only-investigation.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/refactor.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/refactor.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/refactor.js +42 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/refactor.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/tagging-pass.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/tagging-pass.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/tagging-pass.js +22 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/tagging-pass.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/test-cycle.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/test-cycle.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/test-cycle.js +23 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/patterns/test-cycle.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/presence.d.ts +2 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/presence.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/presence.js +17 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/presence.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/redact.d.ts +8 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/redact.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/redact.js +40 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/redact.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/renderer.d.ts +10 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/renderer.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/renderer.js +40 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/renderer.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/repository.d.ts +30 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/repository.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/repository.js +66 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/repository.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/strict-mode.d.ts +9 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/strict-mode.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/strict-mode.js +32 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/strict-mode.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/topic-detector.d.ts +4 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/topic-detector.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/topic-detector.js +71 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/topic-detector.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/types.d.ts +59 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/types.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/types.js +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/types.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/writer.d.ts +16 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/writer.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/writer.js +44 -0
- package/bundle/standalone/node_modules/kxta-core/dist/journal/writer.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/metadata/index.d.ts +97 -0
- package/bundle/standalone/node_modules/kxta-core/dist/metadata/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/metadata/index.js +517 -0
- package/bundle/standalone/node_modules/kxta-core/dist/metadata/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/metadata/settings.d.ts +13 -0
- package/bundle/standalone/node_modules/kxta-core/dist/metadata/settings.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/metadata/settings.js +33 -0
- package/bundle/standalone/node_modules/kxta-core/dist/metadata/settings.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/profile/index.d.ts +23 -0
- package/bundle/standalone/node_modules/kxta-core/dist/profile/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/profile/index.js +161 -0
- package/bundle/standalone/node_modules/kxta-core/dist/profile/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/project-map/index.d.ts +34 -0
- package/bundle/standalone/node_modules/kxta-core/dist/project-map/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/project-map/index.js +157 -0
- package/bundle/standalone/node_modules/kxta-core/dist/project-map/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/types.d.ts +69 -0
- package/bundle/standalone/node_modules/kxta-core/dist/types.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/types.js +5 -0
- package/bundle/standalone/node_modules/kxta-core/dist/types.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/extensions.d.ts +15 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/extensions.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/extensions.js +26 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/extensions.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/paths.d.ts +31 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/paths.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/paths.js +179 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/paths.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/safety.d.ts +37 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/safety.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/safety.js +156 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/safety.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/tokens.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/tokens.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/tokens.js +13 -0
- package/bundle/standalone/node_modules/kxta-core/dist/util/tokens.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/watcher/index.d.ts +9 -0
- package/bundle/standalone/node_modules/kxta-core/dist/watcher/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/watcher/index.js +214 -0
- package/bundle/standalone/node_modules/kxta-core/dist/watcher/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/whats-new/index.d.ts +36 -0
- package/bundle/standalone/node_modules/kxta-core/dist/whats-new/index.d.ts.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/dist/whats-new/index.js +94 -0
- package/bundle/standalone/node_modules/kxta-core/dist/whats-new/index.js.map +1 -0
- package/bundle/standalone/node_modules/kxta-core/package.json +20 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/cli.d.ts +9 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/cli.js +139 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/config.d.ts +25 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/config.js +62 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/index.d.ts +2 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/index.js +45 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/pipeline.d.ts +14 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/pipeline.js +42 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/endpoints.d.ts +6 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/endpoints.js +112 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/glossary.d.ts +2 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/glossary.js +42 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/mermaid.d.ts +2 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/blocks/mermaid.js +17 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/llms.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/llms.js +52 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/markdown.d.ts +24 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/markdown.js +87 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/nav.d.ts +21 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/nav.js +107 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/pdf.d.ts +10 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/render/pdf.js +70 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/seeds/01-overview.md +74 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/seeds/02-api.md +169 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/seeds/03-improvements.md +90 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/seeds/04-glossary.md +55 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/seeds/seeds.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/seeds/seeds.js +53 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/source/enumerate.d.ts +3 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/source/enumerate.js +50 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/source/reader.d.ts +20 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/source/reader.js +20 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/api-ref.css +593 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/app.js +297 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/brutalist.css +57 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/flat.css +182 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/minimal.css +578 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/ocean.css +179 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/paper.css +33 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/shell.d.ts +8 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/shell.js +181 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/solarized.css +162 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/terminal.css +37 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/template/theme.css +701 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/types.d.ts +97 -0
- package/bundle/standalone/node_modules/kxta-publish/dist/types.js +1 -0
- package/bundle/standalone/node_modules/kxta-publish/package.json +25 -0
- package/bundle/standalone/package.json +26 -0
- package/dist/chunk-KQTCKRN2.js +31 -0
- package/dist/doctor-W733U3FD.js +46 -0
- package/dist/index.js +45 -0
- package/dist/mcp-DGMGR3MZ.js +34 -0
- package/dist/start-RCW7AKUK.js +121 -0
- package/package.json +89 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SearchFilters } from "../types.js";
|
|
2
|
+
export type BundleFormat = "xml" | "markdown";
|
|
3
|
+
export interface BundleOptions {
|
|
4
|
+
format?: BundleFormat;
|
|
5
|
+
max_tokens?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface BundleIncludedItem {
|
|
8
|
+
id: number;
|
|
9
|
+
path: string;
|
|
10
|
+
est_tokens: number;
|
|
11
|
+
}
|
|
12
|
+
export interface BundleSkippedItem extends BundleIncludedItem {
|
|
13
|
+
reason: "would_exceed_budget";
|
|
14
|
+
}
|
|
15
|
+
export interface BundleResult {
|
|
16
|
+
bundle: string;
|
|
17
|
+
meta: {
|
|
18
|
+
query: string;
|
|
19
|
+
format: BundleFormat;
|
|
20
|
+
total_est_tokens: number;
|
|
21
|
+
included: BundleIncludedItem[];
|
|
22
|
+
skipped: BundleSkippedItem[];
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export declare function bundleSearch(filters: SearchFilters, opts?: BundleOptions): Promise<BundleResult>;
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bundle/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,YAAY,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;QAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAC;KAC9B,CAAC;CACH;AAsED,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,YAAY,CAAC,CA0DvB"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// packages/core/src/bundle/index.ts
|
|
2
|
+
import { statSync } from "node:fs";
|
|
3
|
+
import { getDatabase } from "../db/index.js";
|
|
4
|
+
import { search } from "../metadata/index.js";
|
|
5
|
+
import { readFile } from "../files/index.js";
|
|
6
|
+
import { estimateTokensFromString } from "../util/tokens.js";
|
|
7
|
+
function getProjectName(projectId) {
|
|
8
|
+
if (projectId == null)
|
|
9
|
+
return "";
|
|
10
|
+
const db = getDatabase();
|
|
11
|
+
const row = db.prepare("SELECT name FROM projects WHERE id = ?").get(projectId);
|
|
12
|
+
return row?.name ?? "";
|
|
13
|
+
}
|
|
14
|
+
function getTagNames(fileId) {
|
|
15
|
+
const db = getDatabase();
|
|
16
|
+
const rows = db.prepare(`SELECT tags.name FROM tags
|
|
17
|
+
JOIN file_tags ON file_tags.tag_id = tags.id
|
|
18
|
+
WHERE file_tags.file_id = ?
|
|
19
|
+
ORDER BY tags.name`).all(fileId);
|
|
20
|
+
return rows.map((r) => r.name);
|
|
21
|
+
}
|
|
22
|
+
// Standard CDATA escape: ]]> cannot appear inside a CDATA section.
|
|
23
|
+
// Split it into two sections: ]]]]><![CDATA[>
|
|
24
|
+
function escapeForCdata(s) {
|
|
25
|
+
return s.replace(/\]\]>/g, "]]]]><![CDATA[>");
|
|
26
|
+
}
|
|
27
|
+
function escapeXmlAttr(s) {
|
|
28
|
+
return s
|
|
29
|
+
.replace(/&/g, "&")
|
|
30
|
+
.replace(/"/g, """)
|
|
31
|
+
.replace(/</g, "<")
|
|
32
|
+
.replace(/>/g, ">");
|
|
33
|
+
}
|
|
34
|
+
function renderXml(docs) {
|
|
35
|
+
const inner = docs
|
|
36
|
+
.map((d, i) => {
|
|
37
|
+
const tagsAttr = d.tags.join(",");
|
|
38
|
+
return ` <document index="${i + 1}" id="${d.id}" path="${escapeXmlAttr(d.path)}" project="${escapeXmlAttr(d.project)}" tags="${escapeXmlAttr(tagsAttr)}"><![CDATA[
|
|
39
|
+
${escapeForCdata(d.content)}
|
|
40
|
+
]]></document>`;
|
|
41
|
+
})
|
|
42
|
+
.join("\n");
|
|
43
|
+
return `<documents>\n${inner}\n</documents>`;
|
|
44
|
+
}
|
|
45
|
+
function renderMarkdown(docs) {
|
|
46
|
+
return docs
|
|
47
|
+
.map((d) => {
|
|
48
|
+
// If the content already contains a triple-backtick fence, wrap with four.
|
|
49
|
+
const fence = /```/.test(d.content) ? "````" : "```";
|
|
50
|
+
const metaParts = [];
|
|
51
|
+
if (d.project)
|
|
52
|
+
metaParts.push(`project: ${d.project}`);
|
|
53
|
+
if (d.tags.length)
|
|
54
|
+
metaParts.push(`tags: ${d.tags.join(", ")}`);
|
|
55
|
+
const lines = [`## [${d.id}] ${d.path}`];
|
|
56
|
+
if (metaParts.length)
|
|
57
|
+
lines.push(`_${metaParts.join(" · ")}_`);
|
|
58
|
+
lines.push("", `${fence}md`, d.content, fence);
|
|
59
|
+
return lines.join("\n");
|
|
60
|
+
})
|
|
61
|
+
.join("\n\n---\n\n");
|
|
62
|
+
}
|
|
63
|
+
export async function bundleSearch(filters, opts = {}) {
|
|
64
|
+
const format = opts.format ?? "xml";
|
|
65
|
+
const max_tokens = opts.max_tokens ?? 50000;
|
|
66
|
+
// Pass through a generous limit so a large token budget isn't silently
|
|
67
|
+
// capped at search()'s default of 50. Cap at 1000 (search()'s hard ceiling)
|
|
68
|
+
// — beyond that, a single bundle is unlikely to fit any usable budget.
|
|
69
|
+
const hits = search({ ...filters, limit: filters.limit ?? 1000 });
|
|
70
|
+
const included = [];
|
|
71
|
+
const skipped = [];
|
|
72
|
+
const docs = [];
|
|
73
|
+
let total_est_tokens = 0;
|
|
74
|
+
let stopped = false;
|
|
75
|
+
for (const hit of hits) {
|
|
76
|
+
if (stopped) {
|
|
77
|
+
// Avoid reading the file just to estimate; use file size as a proxy
|
|
78
|
+
// (~4 bytes/token, the same heuristic as estimateTokensFromString).
|
|
79
|
+
let est_tokens = 0;
|
|
80
|
+
try {
|
|
81
|
+
est_tokens = Math.max(1, Math.ceil(statSync(hit.path).size / 4));
|
|
82
|
+
}
|
|
83
|
+
catch { }
|
|
84
|
+
skipped.push({
|
|
85
|
+
id: hit.id,
|
|
86
|
+
path: hit.path,
|
|
87
|
+
est_tokens,
|
|
88
|
+
reason: "would_exceed_budget",
|
|
89
|
+
});
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
const file = readFile(hit.id);
|
|
93
|
+
const est = estimateTokensFromString(file.content);
|
|
94
|
+
if (total_est_tokens + est > max_tokens) {
|
|
95
|
+
skipped.push({ id: hit.id, path: hit.path, est_tokens: est, reason: "would_exceed_budget" });
|
|
96
|
+
stopped = true;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
docs.push({
|
|
100
|
+
id: hit.id,
|
|
101
|
+
path: hit.path,
|
|
102
|
+
project: getProjectName(hit.project_id),
|
|
103
|
+
tags: getTagNames(hit.id),
|
|
104
|
+
content: file.content,
|
|
105
|
+
});
|
|
106
|
+
included.push({ id: hit.id, path: hit.path, est_tokens: est });
|
|
107
|
+
total_est_tokens += est;
|
|
108
|
+
}
|
|
109
|
+
const bundle = docs.length === 0 ? "" : (format === "xml" ? renderXml(docs) : renderMarkdown(docs));
|
|
110
|
+
return {
|
|
111
|
+
bundle,
|
|
112
|
+
meta: { query: filters.query, format, total_est_tokens, included, skipped },
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bundle/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { CalendarEntity, CalendarEvent, CalendarLink, Conflict } from "./types.js";
|
|
2
|
+
export declare const BUFFER_SETTING_KEY = "calendar.min_buffer_minutes";
|
|
3
|
+
/** Read the configured default buffer (minutes). 0 (or unset/invalid) disables buffer checks. */
|
|
4
|
+
export declare function getBufferMinutes(): number;
|
|
5
|
+
export interface DetectConflictsInput {
|
|
6
|
+
events: CalendarEvent[];
|
|
7
|
+
links: CalendarLink[];
|
|
8
|
+
entities: CalendarEntity[];
|
|
9
|
+
buffer_minutes: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Pure conflict detector: no DB access. Flags same-entity overlaps, overlaps
|
|
13
|
+
* between events on linked entities (one hop only, direction-agnostic), and
|
|
14
|
+
* gaps smaller than buffer_minutes (same or linked entities). Overlap takes
|
|
15
|
+
* precedence over the buffer check for a given pair — at most one conflict
|
|
16
|
+
* per pair is reported.
|
|
17
|
+
*/
|
|
18
|
+
export declare function detectConflicts(input: DetectConflictsInput): Conflict[];
|
|
19
|
+
export interface FindConflictsOptions {
|
|
20
|
+
from: string;
|
|
21
|
+
to: string;
|
|
22
|
+
entity_ids?: number[];
|
|
23
|
+
buffer_minutes?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface FindConflictsResult {
|
|
26
|
+
conflicts: Conflict[];
|
|
27
|
+
buffer_minutes: number;
|
|
28
|
+
events_considered: number;
|
|
29
|
+
}
|
|
30
|
+
/** Convenience wrapper: load events/links/entities for a window and detect conflicts. */
|
|
31
|
+
export declare function findConflicts(opts: FindConflictsOptions): FindConflictsResult;
|
|
32
|
+
//# sourceMappingURL=conflicts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflicts.d.ts","sourceRoot":"","sources":["../../src/calendar/conflicts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAExF,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE,iGAAiG;AACjG,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAmBD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,QAAQ,EAAE,CAwEvE;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,mBAAmB,CA2B7E"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { getSetting } from "../metadata/settings.js";
|
|
2
|
+
import { listEvents, listLinks, listEntities } from "./repository.js";
|
|
3
|
+
export const BUFFER_SETTING_KEY = "calendar.min_buffer_minutes";
|
|
4
|
+
/** Read the configured default buffer (minutes). 0 (or unset/invalid) disables buffer checks. */
|
|
5
|
+
export function getBufferMinutes() {
|
|
6
|
+
const raw = getSetting(BUFFER_SETTING_KEY);
|
|
7
|
+
if (raw === null)
|
|
8
|
+
return 0;
|
|
9
|
+
const n = parseInt(raw, 10);
|
|
10
|
+
if (Number.isNaN(n) || n < 0)
|
|
11
|
+
return 0;
|
|
12
|
+
return n;
|
|
13
|
+
}
|
|
14
|
+
function linkKey(a, b) {
|
|
15
|
+
return a < b ? `${a}:${b}` : `${b}:${a}`;
|
|
16
|
+
}
|
|
17
|
+
function buildAdjacency(links) {
|
|
18
|
+
const map = new Map();
|
|
19
|
+
for (const link of links) {
|
|
20
|
+
const key = linkKey(link.from_entity_id, link.to_entity_id);
|
|
21
|
+
if (!map.has(key))
|
|
22
|
+
map.set(key, link);
|
|
23
|
+
}
|
|
24
|
+
return map;
|
|
25
|
+
}
|
|
26
|
+
function entityRef(entity, id) {
|
|
27
|
+
return { id, name: entity?.name ?? `#${id}` };
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Pure conflict detector: no DB access. Flags same-entity overlaps, overlaps
|
|
31
|
+
* between events on linked entities (one hop only, direction-agnostic), and
|
|
32
|
+
* gaps smaller than buffer_minutes (same or linked entities). Overlap takes
|
|
33
|
+
* precedence over the buffer check for a given pair — at most one conflict
|
|
34
|
+
* per pair is reported.
|
|
35
|
+
*/
|
|
36
|
+
export function detectConflicts(input) {
|
|
37
|
+
const { links, entities, buffer_minutes } = input;
|
|
38
|
+
const adjacency = buildAdjacency(links);
|
|
39
|
+
const entitiesById = new Map(entities.map((e) => [e.id, e]));
|
|
40
|
+
const events = [...input.events].sort((a, b) => {
|
|
41
|
+
if (a.starts_at !== b.starts_at)
|
|
42
|
+
return a.starts_at < b.starts_at ? -1 : 1;
|
|
43
|
+
return a.id - b.id;
|
|
44
|
+
});
|
|
45
|
+
const conflicts = [];
|
|
46
|
+
for (let i = 0; i < events.length; i++) {
|
|
47
|
+
const a = events[i];
|
|
48
|
+
const aEndMs = Date.parse(a.ends_at);
|
|
49
|
+
const boundary = new Date(aEndMs + buffer_minutes * 60_000).toISOString();
|
|
50
|
+
for (let j = i + 1; j < events.length; j++) {
|
|
51
|
+
const b = events[j];
|
|
52
|
+
if (b.starts_at >= boundary)
|
|
53
|
+
break;
|
|
54
|
+
const sameEntity = a.entity_id === b.entity_id;
|
|
55
|
+
const key = linkKey(a.entity_id, b.entity_id);
|
|
56
|
+
const link = sameEntity ? null : adjacency.get(key) ?? null;
|
|
57
|
+
if (!sameEntity && !link)
|
|
58
|
+
continue;
|
|
59
|
+
const overlaps = a.starts_at < b.ends_at && b.starts_at < a.ends_at;
|
|
60
|
+
const entity_a = entityRef(entitiesById.get(a.entity_id), a.entity_id);
|
|
61
|
+
const entity_b = entityRef(entitiesById.get(b.entity_id), b.entity_id);
|
|
62
|
+
if (overlaps) {
|
|
63
|
+
const kind = sameEntity ? "overlap" : "linked_overlap";
|
|
64
|
+
const reason = sameEntity
|
|
65
|
+
? `"${a.title}" overlaps "${b.title}" on ${entity_a.name}`
|
|
66
|
+
: `"${a.title}" on ${entity_a.name} overlaps "${b.title}" on ${entity_b.name}` +
|
|
67
|
+
(link?.label ? ` (linked: ${entity_a.name} -> ${entity_b.name} "${link.label}")` : ` (linked entities)`);
|
|
68
|
+
conflicts.push({
|
|
69
|
+
kind,
|
|
70
|
+
event_a: a,
|
|
71
|
+
event_b: b,
|
|
72
|
+
entity_a,
|
|
73
|
+
entity_b,
|
|
74
|
+
link,
|
|
75
|
+
gap_minutes: null,
|
|
76
|
+
reason,
|
|
77
|
+
});
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (buffer_minutes > 0) {
|
|
81
|
+
const gapMinutes = (Date.parse(b.starts_at) - aEndMs) / 60_000;
|
|
82
|
+
if (gapMinutes < buffer_minutes) {
|
|
83
|
+
const reason = sameEntity
|
|
84
|
+
? `"${a.title}" and "${b.title}" on ${entity_a.name} leave only ${gapMinutes} minute(s) of buffer (minimum ${buffer_minutes})`
|
|
85
|
+
: `"${a.title}" on ${entity_a.name} and "${b.title}" on ${entity_b.name} leave only ${gapMinutes} minute(s) of buffer (minimum ${buffer_minutes})`;
|
|
86
|
+
conflicts.push({
|
|
87
|
+
kind: "insufficient_buffer",
|
|
88
|
+
event_a: a,
|
|
89
|
+
event_b: b,
|
|
90
|
+
entity_a,
|
|
91
|
+
entity_b,
|
|
92
|
+
link,
|
|
93
|
+
gap_minutes: gapMinutes,
|
|
94
|
+
reason,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return conflicts;
|
|
101
|
+
}
|
|
102
|
+
/** Convenience wrapper: load events/links/entities for a window and detect conflicts. */
|
|
103
|
+
export function findConflicts(opts) {
|
|
104
|
+
const buffer_minutes = opts.buffer_minutes ?? getBufferMinutes();
|
|
105
|
+
const links = listLinks();
|
|
106
|
+
const entities = listEntities();
|
|
107
|
+
const allEvents = listEvents({ from: opts.from, to: opts.to });
|
|
108
|
+
const scoped = opts.entity_ids && opts.entity_ids.length > 0 ? new Set(opts.entity_ids) : null;
|
|
109
|
+
let events = allEvents;
|
|
110
|
+
if (scoped) {
|
|
111
|
+
// Include 1-hop neighbors so linked_overlap/insufficient_buffer against a
|
|
112
|
+
// scoped entity is still detectable, even though the neighbor itself is
|
|
113
|
+
// out of scope.
|
|
114
|
+
const candidateIds = new Set(scoped);
|
|
115
|
+
for (const link of links) {
|
|
116
|
+
if (scoped.has(link.from_entity_id))
|
|
117
|
+
candidateIds.add(link.to_entity_id);
|
|
118
|
+
if (scoped.has(link.to_entity_id))
|
|
119
|
+
candidateIds.add(link.from_entity_id);
|
|
120
|
+
}
|
|
121
|
+
events = allEvents.filter((e) => candidateIds.has(e.entity_id));
|
|
122
|
+
}
|
|
123
|
+
let conflicts = detectConflicts({ events, links, entities, buffer_minutes });
|
|
124
|
+
if (scoped) {
|
|
125
|
+
conflicts = conflicts.filter((c) => scoped.has(c.entity_a.id) || scoped.has(c.entity_b.id));
|
|
126
|
+
}
|
|
127
|
+
return { conflicts, buffer_minutes, events_considered: events.length };
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=conflicts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../src/calendar/conflicts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CalendarEntity, CalendarEvent } from "./types.js";
|
|
2
|
+
/** Convert a UTC ISO 8601 timestamp ("2026-08-01T10:00:00.000Z") to ICS UTC form. */
|
|
3
|
+
export declare function toIcsUtc(iso: string): string;
|
|
4
|
+
/** Escape text per RFC 5545 §3.3.11 (backslash, comma, semicolon, newline). */
|
|
5
|
+
export declare function escapeIcsText(s: string): string;
|
|
6
|
+
/** Fold a single ICS content line to <=75 octets per line, per RFC 5545 §3.1. */
|
|
7
|
+
export declare function foldLine(line: string): string;
|
|
8
|
+
export interface IcsOptions {
|
|
9
|
+
calendar_name?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Build an RFC 5545 ICS calendar from events. Times are emitted in UTC
|
|
13
|
+
* ("Z" suffix) so no VTIMEZONE component is required.
|
|
14
|
+
*/
|
|
15
|
+
export declare function eventsToIcs(events: CalendarEvent[], entitiesById: Map<number, CalendarEntity>, opts?: IcsOptions): string;
|
|
16
|
+
//# sourceMappingURL=ics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ics.d.ts","sourceRoot":"","sources":["../../src/calendar/ics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO5C;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiB7C;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,aAAa,EAAE,EACvB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACzC,IAAI,GAAE,UAAe,GACpB,MAAM,CAmCR"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/** Convert a UTC ISO 8601 timestamp ("2026-08-01T10:00:00.000Z") to ICS UTC form. */
|
|
2
|
+
export function toIcsUtc(iso) {
|
|
3
|
+
const d = new Date(iso);
|
|
4
|
+
const pad = (n, len = 2) => String(n).padStart(len, "0");
|
|
5
|
+
return (`${d.getUTCFullYear()}${pad(d.getUTCMonth() + 1)}${pad(d.getUTCDate())}` +
|
|
6
|
+
`T${pad(d.getUTCHours())}${pad(d.getUTCMinutes())}${pad(d.getUTCSeconds())}Z`);
|
|
7
|
+
}
|
|
8
|
+
/** Escape text per RFC 5545 §3.3.11 (backslash, comma, semicolon, newline). */
|
|
9
|
+
export function escapeIcsText(s) {
|
|
10
|
+
return s
|
|
11
|
+
.replace(/\\/g, "\\\\")
|
|
12
|
+
.replace(/,/g, "\\,")
|
|
13
|
+
.replace(/;/g, "\\;")
|
|
14
|
+
.replace(/\r\n|\r|\n/g, "\\n");
|
|
15
|
+
}
|
|
16
|
+
/** Fold a single ICS content line to <=75 octets per line, per RFC 5545 §3.1. */
|
|
17
|
+
export function foldLine(line) {
|
|
18
|
+
const bytes = Buffer.from(line, "utf8");
|
|
19
|
+
if (bytes.length <= 75)
|
|
20
|
+
return line;
|
|
21
|
+
const parts = [];
|
|
22
|
+
let offset = 0;
|
|
23
|
+
let first = true;
|
|
24
|
+
while (offset < bytes.length) {
|
|
25
|
+
const limit = first ? 75 : 74; // continuation lines are prefixed with a space
|
|
26
|
+
let end = Math.min(offset + limit, bytes.length);
|
|
27
|
+
// Avoid splitting in the middle of a multi-byte UTF-8 sequence.
|
|
28
|
+
while (end < bytes.length && (bytes[end] & 0xc0) === 0x80)
|
|
29
|
+
end--;
|
|
30
|
+
parts.push(bytes.subarray(offset, end).toString("utf8"));
|
|
31
|
+
offset = end;
|
|
32
|
+
first = false;
|
|
33
|
+
}
|
|
34
|
+
return parts.join("\r\n ");
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Build an RFC 5545 ICS calendar from events. Times are emitted in UTC
|
|
38
|
+
* ("Z" suffix) so no VTIMEZONE component is required.
|
|
39
|
+
*/
|
|
40
|
+
export function eventsToIcs(events, entitiesById, opts = {}) {
|
|
41
|
+
const calendarName = opts.calendar_name ?? "Kontexta Calendar";
|
|
42
|
+
const lines = [];
|
|
43
|
+
lines.push("BEGIN:VCALENDAR");
|
|
44
|
+
lines.push("VERSION:2.0");
|
|
45
|
+
lines.push("PRODID:-//Kontexta//Calendar//EN");
|
|
46
|
+
lines.push("CALSCALE:GREGORIAN");
|
|
47
|
+
lines.push(`X-WR-CALNAME:${escapeIcsText(calendarName)}`);
|
|
48
|
+
for (const event of events) {
|
|
49
|
+
const entity = entitiesById.get(event.entity_id);
|
|
50
|
+
const entityName = entity?.name ?? `#${event.entity_id}`;
|
|
51
|
+
const descriptionParts = [];
|
|
52
|
+
if (event.notes)
|
|
53
|
+
descriptionParts.push(event.notes);
|
|
54
|
+
if (event.source)
|
|
55
|
+
descriptionParts.push(`Source: ${event.source}`);
|
|
56
|
+
if (event.original_timezone)
|
|
57
|
+
descriptionParts.push(`Original timezone: ${event.original_timezone}`);
|
|
58
|
+
lines.push("BEGIN:VEVENT");
|
|
59
|
+
lines.push(`UID:kontexta-cal-${event.id}@kontexta`);
|
|
60
|
+
lines.push(`DTSTAMP:${toIcsUtc(event.updated_at)}`);
|
|
61
|
+
lines.push(`DTSTART:${toIcsUtc(event.starts_at)}`);
|
|
62
|
+
lines.push(`DTEND:${toIcsUtc(event.ends_at)}`);
|
|
63
|
+
lines.push(`SUMMARY:${escapeIcsText(`[${entityName}] ${event.title}`)}`);
|
|
64
|
+
lines.push(`CATEGORIES:${escapeIcsText(event.type)}`);
|
|
65
|
+
if (descriptionParts.length > 0) {
|
|
66
|
+
lines.push(`DESCRIPTION:${escapeIcsText(descriptionParts.join("\n"))}`);
|
|
67
|
+
}
|
|
68
|
+
lines.push("END:VEVENT");
|
|
69
|
+
}
|
|
70
|
+
lines.push("END:VCALENDAR");
|
|
71
|
+
return lines.map(foldLine).join("\r\n") + "\r\n";
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=ics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ics.js","sourceRoot":"","sources":["../../src/calendar/ics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./types.js";
|
|
2
|
+
export { parseInstant, assertValidTimezone, assertRange } from "./validate.js";
|
|
3
|
+
export { createEntity, updateEntity, deleteEntity, getEntity, getEntityByName, listEntities, linkEntities, unlinkEntities, listLinks, createEvent, updateEvent, deleteEvent, getEvent, listEvents, } from "./repository.js";
|
|
4
|
+
export type { CreateEntityInput, UpdateEntityPatch, DeleteEntityResult, ListEntitiesFilter, CreateEventInput, UpdateEventPatch, ListEventsFilter, } from "./repository.js";
|
|
5
|
+
export { BUFFER_SETTING_KEY, getBufferMinutes, detectConflicts, findConflicts } from "./conflicts.js";
|
|
6
|
+
export type { DetectConflictsInput, FindConflictsOptions, FindConflictsResult } from "./conflicts.js";
|
|
7
|
+
export { eventsToIcs, toIcsUtc, escapeIcsText, foldLine } from "./ics.js";
|
|
8
|
+
export type { IcsOptions } from "./ics.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calendar/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EACL,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAClF,YAAY,EAAE,cAAc,EAAE,SAAS,EACvC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,GAC5D,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAC5E,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,GACrD,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtG,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC1E,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// packages/core/src/calendar/index.ts
|
|
2
|
+
export * from "./types.js";
|
|
3
|
+
export { parseInstant, assertValidTimezone, assertRange } from "./validate.js";
|
|
4
|
+
export { createEntity, updateEntity, deleteEntity, getEntity, getEntityByName, listEntities, linkEntities, unlinkEntities, listLinks, createEvent, updateEvent, deleteEvent, getEvent, listEvents, } from "./repository.js";
|
|
5
|
+
export { BUFFER_SETTING_KEY, getBufferMinutes, detectConflicts, findConflicts } from "./conflicts.js";
|
|
6
|
+
export { eventsToIcs, toIcsUtc, escapeIcsText, foldLine } from "./ics.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/calendar/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EACL,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAClF,YAAY,EAAE,cAAc,EAAE,SAAS,EACvC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,GAC5D,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEtG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { CalendarEntity, CalendarLink, CalendarEvent } from "./types.js";
|
|
2
|
+
export interface CreateEntityInput {
|
|
3
|
+
name: string;
|
|
4
|
+
kind?: string | null;
|
|
5
|
+
notes?: string | null;
|
|
6
|
+
timezone?: string | null;
|
|
7
|
+
active?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function createEntity(input: CreateEntityInput, now?: Date): CalendarEntity;
|
|
10
|
+
export interface UpdateEntityPatch {
|
|
11
|
+
name?: string;
|
|
12
|
+
kind?: string | null;
|
|
13
|
+
notes?: string | null;
|
|
14
|
+
timezone?: string | null;
|
|
15
|
+
active?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function updateEntity(id: number, patch: UpdateEntityPatch, now?: Date): CalendarEntity;
|
|
18
|
+
export interface DeleteEntityResult {
|
|
19
|
+
deleted_events: number;
|
|
20
|
+
deleted_links: number;
|
|
21
|
+
}
|
|
22
|
+
export declare function deleteEntity(id: number): DeleteEntityResult;
|
|
23
|
+
export declare function getEntity(id: number): CalendarEntity | null;
|
|
24
|
+
export declare function getEntityByName(name: string): CalendarEntity | null;
|
|
25
|
+
export interface ListEntitiesFilter {
|
|
26
|
+
active_only?: boolean;
|
|
27
|
+
kind?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function listEntities(filter?: ListEntitiesFilter): CalendarEntity[];
|
|
30
|
+
export declare function linkEntities(from_entity_id: number, to_entity_id: number, label?: string | null, now?: Date): CalendarLink;
|
|
31
|
+
export declare function unlinkEntities(from_entity_id: number, to_entity_id: number): boolean;
|
|
32
|
+
export declare function listLinks(entity_id?: number): CalendarLink[];
|
|
33
|
+
export interface CreateEventInput {
|
|
34
|
+
entity_id: number;
|
|
35
|
+
type: string;
|
|
36
|
+
title: string;
|
|
37
|
+
notes?: string | null;
|
|
38
|
+
starts_at: string;
|
|
39
|
+
ends_at: string;
|
|
40
|
+
original_timezone?: string | null;
|
|
41
|
+
source?: string | null;
|
|
42
|
+
}
|
|
43
|
+
export declare function createEvent(input: CreateEventInput, now?: Date): CalendarEvent;
|
|
44
|
+
export interface UpdateEventPatch {
|
|
45
|
+
entity_id?: number;
|
|
46
|
+
type?: string;
|
|
47
|
+
title?: string;
|
|
48
|
+
notes?: string | null;
|
|
49
|
+
starts_at?: string;
|
|
50
|
+
ends_at?: string;
|
|
51
|
+
original_timezone?: string | null;
|
|
52
|
+
source?: string | null;
|
|
53
|
+
}
|
|
54
|
+
export declare function updateEvent(id: number, patch: UpdateEventPatch, now?: Date): CalendarEvent;
|
|
55
|
+
export declare function deleteEvent(id: number): boolean;
|
|
56
|
+
export declare function getEvent(id: number): CalendarEvent | null;
|
|
57
|
+
export interface ListEventsFilter {
|
|
58
|
+
from?: string;
|
|
59
|
+
to?: string;
|
|
60
|
+
entity_id?: number;
|
|
61
|
+
type?: string;
|
|
62
|
+
limit?: number;
|
|
63
|
+
}
|
|
64
|
+
export declare function listEvents(filter?: ListEventsFilter): CalendarEvent[];
|
|
65
|
+
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/calendar/repository.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA+B9E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,GAAE,IAAiB,GAAG,cAAc,CAoB7F;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,iBAAiB,EACxB,GAAG,GAAE,IAAiB,GACrB,cAAc,CA2BhB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,CAkB3D;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAM3D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAMnE;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,MAAM,GAAE,kBAAuB,GAAG,cAAc,EAAE,CAc9E;AAMD,wBAAgB,YAAY,CAC1B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,GAAG,GAAE,IAAiB,GACrB,YAAY,CAiBd;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAMpF;AAED,wBAAgB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAU5D;AAMD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,GAAE,IAAiB,GAAG,aAAa,CAmC1F;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,gBAAgB,EACvB,GAAG,GAAE,IAAiB,GACrB,aAAa,CAgCf;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAI/C;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAMzD;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,UAAU,CAAC,MAAM,GAAE,gBAAqB,GAAG,aAAa,EAAE,CA4BzE"}
|