@jingyi0605/codingns 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/codingns.mjs +187 -156
- package/dist/public/assets/AdaptiveButlerPage-B17QiMyT.js +2 -0
- package/dist/public/assets/App-CFBwDUNA.js +30 -0
- package/dist/public/assets/{BootstrapPage-jFfl7KNK.js → BootstrapPage-W5wU3BPh.js} +1 -1
- package/dist/public/assets/{ConversationPage-sj_rn4q0.js → ConversationPage-DQLX1bUh.js} +6 -6
- package/dist/public/assets/{DesktopDetachPreviewPage-C5c88SOX.js → DesktopDetachPreviewPage-DTPeuAW-.js} +1 -1
- package/dist/public/assets/DesktopModal-6ii53_Y9.js +1 -0
- package/dist/public/assets/DesktopWindowPage-D0blSuKd.js +2 -0
- package/dist/public/assets/FileContextPanel-BrKO8Xt6.js +1 -0
- package/dist/public/assets/GitSidebar-BdwiDtOr.js +6 -0
- package/dist/public/assets/MobileCreateSessionSheet-Cx_dBiBb.js +1 -0
- package/dist/public/assets/MobileSheet-opTWyRe1.js +1 -0
- package/dist/public/assets/{MobileTopHeaderFrame-_I0t7cC_.js → MobileTopHeaderFrame-BbNON3Y4.js} +1 -1
- package/dist/public/assets/MobileWorkspaceSwitcherHeader-BZEzPeMj.js +1 -0
- package/dist/public/assets/PluginAccessOverview-mQDmAljp.js +1 -0
- package/dist/public/assets/PluginContainerPage-CcxUJpM4.js +1 -0
- package/dist/public/assets/PluginDetailPage-D5--ACIt.js +1 -0
- package/dist/public/assets/PluginsListPage-D_oJxYXT.js +1 -0
- package/dist/public/assets/{RelayConnectEntryPage-CMtDWyGS.js → RelayConnectEntryPage-DROxpnkv.js} +1 -1
- package/dist/public/assets/ServerSettingsModal-CUUOPqSe.js +1 -0
- package/dist/public/assets/SessionIndexPage-C2Jxh6Gp.js +1 -0
- package/dist/public/assets/SettingsPage-BlAZCHsy.js +2 -0
- package/dist/public/assets/TerminalManagerPanel-CjzbiWjl.js +1 -0
- package/dist/public/assets/{TerminalPage-CBIKHI33.js → TerminalPage-CwWyFDj8.js} +3 -3
- package/dist/public/assets/TerminalRuntimeFallbackModal-CSVVbO8r.js +1 -0
- package/dist/public/assets/ToolFilesPage-QBEY8oCf.js +1 -0
- package/dist/public/assets/ToolGitPage-BKoZ2l9v.js +1 -0
- package/dist/public/assets/ToolProcessesPage-BOH0ib4G.js +1 -0
- package/dist/public/assets/ToolsHomePage-BcMZ3BCQ.js +1 -0
- package/dist/public/assets/WorkbenchLandingPage-B5zoppEl.js +1 -0
- package/dist/public/assets/WorkbenchLayout-BksVkkFF.css +1 -0
- package/dist/public/assets/WorkbenchLayout-CikJBS62.js +1019 -0
- package/dist/public/assets/WorkbenchModal-NGmPgqaE.js +1 -0
- package/dist/public/assets/WorkbenchShellRoute-BbbSOiZw.js +1 -0
- package/dist/public/assets/WorkbenchShellRoute-DT3VMjWD.css +1 -0
- package/dist/public/assets/WorkspaceDebugDetailPage-CVivdPx5.js +1 -0
- package/dist/public/assets/WorkspaceDetailPage-DgOSjscR.js +1 -0
- package/dist/public/assets/WorkspaceHomePage-HPa7M_Vh.js +1 -0
- package/dist/public/assets/{client-runtime-manager-CdJP7nUp.js → client-runtime-manager-DXbI9K1K.js} +1 -1
- package/dist/public/assets/index-BxJPQpFM.css +1 -0
- package/dist/public/assets/index-CeXGOT_T.js +50 -0
- package/dist/public/assets/{login-direct-candidate-resolver-C-mo698r.js → login-direct-candidate-resolver-DkKyFtQJ.js} +1 -1
- package/dist/public/assets/plugin-permission-copy-CzN269Bk.js +1 -0
- package/dist/public/assets/plugins-api-Bv9DHpLF.js +1 -0
- package/dist/public/assets/{preferences-service-CnaTvZq2.js → preferences-service-D2ISL2Zz.js} +1 -1
- package/dist/public/assets/{relay-entry-D7OgZZN-.js → relay-entry-Bg0OisQy.js} +1 -1
- package/dist/public/assets/{terminal-runtime-meta-BCtAYB0E.js → terminal-runtime-meta-C8t-CIDF.js} +1 -1
- package/dist/public/assets/useRegisteredDebugTemplates-Bol3NVfN.js +1 -0
- package/dist/public/assets/workbench-navigation-B7IjRQd8.js +1 -0
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.d.ts +1 -0
- package/dist/server/config/env.js +4 -0
- package/dist/server/config/env.js.map +1 -1
- package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.js +1 -1
- package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.js.map +1 -1
- package/dist/server/middlewares/auth-guard.js +10 -5
- package/dist/server/middlewares/auth-guard.js.map +1 -1
- package/dist/server/modules/affairs-indexer/contracts/src/errors/app-error.d.ts +11 -0
- package/dist/server/modules/affairs-indexer/contracts/src/errors/app-error.js +22 -0
- package/dist/server/modules/affairs-indexer/contracts/src/errors/app-error.js.map +1 -0
- package/dist/server/modules/affairs-indexer/contracts/src/errors/error-codes.d.ts +23 -0
- package/dist/server/modules/affairs-indexer/contracts/src/errors/error-codes.js +23 -0
- package/dist/server/modules/affairs-indexer/contracts/src/errors/error-codes.js.map +1 -0
- package/dist/server/modules/affairs-indexer/contracts/src/index.d.ts +4 -0
- package/dist/server/modules/affairs-indexer/contracts/src/index.js +5 -0
- package/dist/server/modules/affairs-indexer/contracts/src/index.js.map +1 -0
- package/dist/server/modules/affairs-indexer/contracts/src/types/cli-command-context.d.ts +7 -0
- package/dist/server/modules/affairs-indexer/contracts/src/types/cli-command-context.js +2 -0
- package/dist/server/modules/affairs-indexer/contracts/src/types/cli-command-context.js.map +1 -0
- package/dist/server/modules/affairs-indexer/contracts/src/types/runtime-config.d.ts +16 -0
- package/dist/server/modules/affairs-indexer/contracts/src/types/runtime-config.js +2 -0
- package/dist/server/modules/affairs-indexer/contracts/src/types/runtime-config.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/config/load-runtime-config.d.ts +10 -0
- package/dist/server/modules/affairs-indexer/core/src/config/load-runtime-config.js +215 -0
- package/dist/server/modules/affairs-indexer/core/src/config/load-runtime-config.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/index.d.ts +31 -0
- package/dist/server/modules/affairs-indexer/core/src/index.js +32 -0
- package/dist/server/modules/affairs-indexer/core/src/index.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/logging/structured-logger.d.ts +20 -0
- package/dist/server/modules/affairs-indexer/core/src/logging/structured-logger.js +47 -0
- package/dist/server/modules/affairs-indexer/core/src/logging/structured-logger.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/base-complex-parser-adapter.d.ts +17 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/base-complex-parser-adapter.js +63 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/base-complex-parser-adapter.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/complex-document-skip-adapter.d.ts +12 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/complex-document-skip-adapter.js +42 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/complex-document-skip-adapter.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/csv-parser-adapter.d.ts +7 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/csv-parser-adapter.js +107 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/csv-parser-adapter.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/document-parser.d.ts +19 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/document-parser.js +37 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/document-parser.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/docx-parser-adapter.d.ts +7 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/docx-parser-adapter.js +123 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/docx-parser-adapter.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/openxml-utils.d.ts +8 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/openxml-utils.js +111 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/openxml-utils.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-adapter.d.ts +42 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-adapter.js +2 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-adapter.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-capability-registry.d.ts +18 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-capability-registry.js +91 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-capability-registry.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-router.d.ts +18 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-router.js +59 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-router.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-skip-repository.d.ts +48 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-skip-repository.js +193 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/parser-skip-repository.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/pdf-parser-adapter.d.ts +7 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/pdf-parser-adapter.js +371 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/pdf-parser-adapter.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser-adapter.d.ts +10 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser-adapter.js +55 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser-adapter.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser.d.ts +9 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser.js +2 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/pptx-parser-adapter.d.ts +7 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/pptx-parser-adapter.js +130 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/pptx-parser-adapter.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/xlsx-parser-adapter.d.ts +7 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/xlsx-parser-adapter.js +228 -0
- package/dist/server/modules/affairs-indexer/core/src/parser/xlsx-parser-adapter.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.d.ts +205 -0
- package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.js +1471 -0
- package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-write-repository.d.ts +161 -0
- package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-write-repository.js +1350 -0
- package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-write-repository.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/scanner/file-scanner.d.ts +32 -0
- package/dist/server/modules/affairs-indexer/core/src/scanner/file-scanner.js +208 -0
- package/dist/server/modules/affairs-indexer/core/src/scanner/file-scanner.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.d.ts +30 -0
- package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.js +66 -0
- package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/export/export-builder.d.ts +33 -0
- package/dist/server/modules/affairs-indexer/core/src/services/export/export-builder.js +705 -0
- package/dist/server/modules/affairs-indexer/core/src/services/export/export-builder.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/indexer/allowed-extensions-diff-service.d.ts +80 -0
- package/dist/server/modules/affairs-indexer/core/src/services/indexer/allowed-extensions-diff-service.js +193 -0
- package/dist/server/modules/affairs-indexer/core/src/services/indexer/allowed-extensions-diff-service.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/indexer/text-indexer.d.ts +77 -0
- package/dist/server/modules/affairs-indexer/core/src/services/indexer/text-indexer.js +467 -0
- package/dist/server/modules/affairs-indexer/core/src/services/indexer/text-indexer.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/mcp/mcp-stdio-server.d.ts +17 -0
- package/dist/server/modules/affairs-indexer/core/src/services/mcp/mcp-stdio-server.js +264 -0
- package/dist/server/modules/affairs-indexer/core/src/services/mcp/mcp-stdio-server.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/search/offline-search-service.d.ts +11 -0
- package/dist/server/modules/affairs-indexer/core/src/services/search/offline-search-service.js +76 -0
- package/dist/server/modules/affairs-indexer/core/src/services/search/offline-search-service.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/search/search-index-builder.d.ts +26 -0
- package/dist/server/modules/affairs-indexer/core/src/services/search/search-index-builder.js +305 -0
- package/dist/server/modules/affairs-indexer/core/src/services/search/search-index-builder.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/tagging/tag-recompute-service.d.ts +53 -0
- package/dist/server/modules/affairs-indexer/core/src/services/tagging/tag-recompute-service.js +566 -0
- package/dist/server/modules/affairs-indexer/core/src/services/tagging/tag-recompute-service.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/watch/watch-service.d.ts +47 -0
- package/dist/server/modules/affairs-indexer/core/src/services/watch/watch-service.js +227 -0
- package/dist/server/modules/affairs-indexer/core/src/services/watch/watch-service.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/catalog-schema.d.ts +5 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/catalog-schema.js +245 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/catalog-schema.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/detect-catalog-schema.d.ts +14 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/detect-catalog-schema.js +87 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/detect-catalog-schema.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/init-catalog.d.ts +13 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/init-catalog.js +16 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/init-catalog.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/migration-runner.d.ts +22 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/migration-runner.js +430 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/migration-runner.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/open-database.d.ts +9 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/open-database.js +19 -0
- package/dist/server/modules/affairs-indexer/core/src/sqlite/open-database.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/tagging/simple-tag-inference.d.ts +21 -0
- package/dist/server/modules/affairs-indexer/core/src/tagging/simple-tag-inference.js +94 -0
- package/dist/server/modules/affairs-indexer/core/src/tagging/simple-tag-inference.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/abort.d.ts +2 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/abort.js +13 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/abort.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/file-streaming.d.ts +9 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/file-streaming.js +64 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/file-streaming.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/root-command-lock.d.ts +10 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/root-command-lock.js +230 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/root-command-lock.js.map +1 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/rss-log.d.ts +2 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/rss-log.js +19 -0
- package/dist/server/modules/affairs-indexer/core/src/utils/rss-log.js.map +1 -0
- package/dist/server/modules/affairs-indexer/internal-command-runner.d.ts +31 -0
- package/dist/server/modules/affairs-indexer/internal-command-runner.js +643 -0
- package/dist/server/modules/affairs-indexer/internal-command-runner.js.map +1 -0
- package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +0 -49
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js +10 -56
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +2 -46
- package/dist/server/modules/assistant-capability/assistant-capability-service.js +15 -158
- package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
- package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.d.ts +4 -2
- package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.js +62 -21
- package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.js.map +1 -1
- package/dist/server/modules/butler/butler-control-session-service.d.ts +3 -4
- package/dist/server/modules/butler/butler-control-session-service.js +39 -62
- package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-controller.d.ts +11 -3
- package/dist/server/modules/butler/butler-controller.js +19 -4
- package/dist/server/modules/butler/butler-controller.js.map +1 -1
- package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
- package/dist/server/modules/butler/butler-profile-service.d.ts +1 -1
- package/dist/server/modules/butler/butler-profile-service.js +34 -63
- package/dist/server/modules/butler/butler-profile-service.js.map +1 -1
- package/dist/server/modules/butler/butler-project-service.d.ts +1 -3
- package/dist/server/modules/butler/butler-project-service.js +1 -7
- package/dist/server/modules/butler/butler-project-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-service.d.ts +1 -0
- package/dist/server/modules/butler/butler-session-service.js +109 -0
- package/dist/server/modules/butler/butler-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-summary-service.js +0 -2
- package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
- package/dist/server/modules/butler/butler-workspace-context.d.ts +5 -1
- package/dist/server/modules/butler/butler-workspace-context.js +21 -12
- package/dist/server/modules/butler/butler-workspace-context.js.map +1 -1
- package/dist/server/modules/file/file-access-guard.d.ts +2 -0
- package/dist/server/modules/file/file-access-guard.js +24 -2
- package/dist/server/modules/file/file-access-guard.js.map +1 -1
- package/dist/server/modules/file/file-content-service.d.ts +11 -0
- package/dist/server/modules/file/file-content-service.js +55 -0
- package/dist/server/modules/file/file-content-service.js.map +1 -1
- package/dist/server/modules/file/file-controller.d.ts +178 -1
- package/dist/server/modules/file/file-controller.js +273 -4
- package/dist/server/modules/file/file-controller.js.map +1 -1
- package/dist/server/modules/file/file-preview-link-service.d.ts +3 -0
- package/dist/server/modules/file/file-preview-link-service.js +30 -1
- package/dist/server/modules/file/file-preview-link-service.js.map +1 -1
- package/dist/server/modules/file/file-preview-service.js +15 -4
- package/dist/server/modules/file/file-preview-service.js.map +1 -1
- package/dist/server/modules/file/file-preview-types.d.ts +9 -1
- package/dist/server/modules/file/file-preview-types.js +8 -1
- package/dist/server/modules/file/file-preview-types.js.map +1 -1
- package/dist/server/modules/file/recent-modified-file-service.d.ts +15 -0
- package/dist/server/modules/file/recent-modified-file-service.js +102 -0
- package/dist/server/modules/file/recent-modified-file-service.js.map +1 -0
- package/dist/server/modules/file/runtime/codingns-workspace-bridge.js +917 -0
- package/dist/server/modules/file/workspace-file-bridge-service.d.ts +137 -0
- package/dist/server/modules/file/workspace-file-bridge-service.js +490 -0
- package/dist/server/modules/file/workspace-file-bridge-service.js.map +1 -0
- package/dist/server/modules/file/workspace-file-bridge-watch-service.d.ts +42 -0
- package/dist/server/modules/file/workspace-file-bridge-watch-service.js +304 -0
- package/dist/server/modules/file/workspace-file-bridge-watch-service.js.map +1 -0
- package/dist/server/modules/file/workspace-index-apply-service.d.ts +25 -0
- package/dist/server/modules/file/workspace-index-apply-service.js +42 -0
- package/dist/server/modules/file/workspace-index-apply-service.js.map +1 -0
- package/dist/server/modules/model-switch/cc-switch-adapter.js +1 -1
- package/dist/server/modules/model-switch/cc-switch-adapter.js.map +1 -1
- package/dist/server/modules/office/office-controller.d.ts +15 -1
- package/dist/server/modules/office/office-controller.js +26 -1
- package/dist/server/modules/office/office-controller.js.map +1 -1
- package/dist/server/modules/office/onlyoffice-integration-service.d.ts +78 -0
- package/dist/server/modules/office/onlyoffice-integration-service.js +610 -0
- package/dist/server/modules/office/onlyoffice-integration-service.js.map +1 -0
- package/dist/server/modules/plugins/plugin-controller.d.ts +131 -0
- package/dist/server/modules/plugins/plugin-controller.js +277 -0
- package/dist/server/modules/plugins/plugin-controller.js.map +1 -0
- package/dist/server/modules/plugins/plugin-file-gateway-service.d.ts +50 -0
- package/dist/server/modules/plugins/plugin-file-gateway-service.js +191 -0
- package/dist/server/modules/plugins/plugin-file-gateway-service.js.map +1 -0
- package/dist/server/modules/plugins/plugin-manifest.d.ts +8 -0
- package/dist/server/modules/plugins/plugin-manifest.js +420 -0
- package/dist/server/modules/plugins/plugin-manifest.js.map +1 -0
- package/dist/server/modules/plugins/plugin-permission-service.d.ts +49 -0
- package/dist/server/modules/plugins/plugin-permission-service.js +267 -0
- package/dist/server/modules/plugins/plugin-permission-service.js.map +1 -0
- package/dist/server/modules/plugins/plugin-process-runner.d.ts +21 -0
- package/dist/server/modules/plugins/plugin-process-runner.js +127 -0
- package/dist/server/modules/plugins/plugin-process-runner.js.map +1 -0
- package/dist/server/modules/plugins/plugin-registry-service.d.ts +41 -0
- package/dist/server/modules/plugins/plugin-registry-service.js +238 -0
- package/dist/server/modules/plugins/plugin-registry-service.js.map +1 -0
- package/dist/server/modules/plugins/plugin-runtime-service.d.ts +55 -0
- package/dist/server/modules/plugins/plugin-runtime-service.js +252 -0
- package/dist/server/modules/plugins/plugin-runtime-service.js.map +1 -0
- package/dist/server/modules/plugins/plugin-runtime-session-service.d.ts +21 -0
- package/dist/server/modules/plugins/plugin-runtime-session-service.js +83 -0
- package/dist/server/modules/plugins/plugin-runtime-session-service.js.map +1 -0
- package/dist/server/modules/plugins/plugin-scheduler-service.d.ts +31 -0
- package/dist/server/modules/plugins/plugin-scheduler-service.js +232 -0
- package/dist/server/modules/plugins/plugin-scheduler-service.js.map +1 -0
- package/dist/server/modules/plugins/plugin-static-service.d.ts +11 -0
- package/dist/server/modules/plugins/plugin-static-service.js +145 -0
- package/dist/server/modules/plugins/plugin-static-service.js.map +1 -0
- package/dist/server/modules/preferences/profile-service.d.ts +1 -0
- package/dist/server/modules/preferences/profile-service.js +27 -3
- package/dist/server/modules/preferences/profile-service.js.map +1 -1
- package/dist/server/modules/presentation/presentation-controller.d.ts +3 -0
- package/dist/server/modules/presentation/presentation-controller.js +11 -0
- package/dist/server/modules/presentation/presentation-controller.js.map +1 -1
- package/dist/server/modules/presentation/presentation-export-task-service.d.ts +6 -0
- package/dist/server/modules/presentation/presentation-export-task-service.js +52 -8
- package/dist/server/modules/presentation/presentation-export-task-service.js.map +1 -1
- package/dist/server/modules/presentation/presentation-pptx-export-service.js +200 -14
- package/dist/server/modules/presentation/presentation-pptx-export-service.js.map +1 -1
- package/dist/server/modules/presentation/presentation-renderer.d.ts +50 -0
- package/dist/server/modules/presentation/presentation-renderer.js +450 -37
- package/dist/server/modules/presentation/presentation-renderer.js.map +1 -1
- package/dist/server/modules/sessions/codex-app-server-helper-process.js +0 -8
- package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
- package/dist/server/modules/sessions/session-controller.d.ts +1 -0
- package/dist/server/modules/sessions/session-controller.js +3 -0
- package/dist/server/modules/sessions/session-controller.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +2 -0
- package/dist/server/modules/sessions/session-history-service.js +78 -3
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +1 -0
- package/dist/server/modules/sessions/session-live-runtime-service.js +4 -0
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-permission-request-service.js +0 -4
- package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
- package/dist/server/modules/sessions/workspace-session-instruction-watch-service.d.ts +23 -0
- package/dist/server/modules/sessions/workspace-session-instruction-watch-service.js +122 -0
- package/dist/server/modules/sessions/workspace-session-instruction-watch-service.js.map +1 -0
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.d.ts +15 -0
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.js +93 -10
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.js.map +1 -1
- package/dist/server/modules/skills/builtin-skills/codingns-assistant/SKILL.md +6 -7
- package/dist/server/modules/skills/builtin-skills/codingns-assistant/references/cli-workflow.md +2 -3
- package/dist/server/modules/system/host-resource-controller.d.ts +7 -0
- package/dist/server/modules/system/host-resource-controller.js +12 -0
- package/dist/server/modules/system/host-resource-controller.js.map +1 -0
- package/dist/server/modules/system/host-resource-service.d.ts +54 -0
- package/dist/server/modules/system/host-resource-service.js +162 -0
- package/dist/server/modules/system/host-resource-service.js.map +1 -0
- package/dist/server/modules/tasks/observability-service.d.ts +12 -2
- package/dist/server/modules/tasks/observability-service.js +13 -1
- package/dist/server/modules/tasks/observability-service.js.map +1 -1
- package/dist/server/modules/tasks/task-helper-client.d.ts +36 -2
- package/dist/server/modules/tasks/task-helper-client.js +201 -19
- package/dist/server/modules/tasks/task-helper-client.js.map +1 -1
- package/dist/server/modules/tasks/task-helper-pool.d.ts +37 -0
- package/dist/server/modules/tasks/task-helper-pool.js +173 -0
- package/dist/server/modules/tasks/task-helper-pool.js.map +1 -0
- package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +27 -0
- package/dist/server/modules/tasks/task-helper-process-handlers.js +25 -1
- package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -1
- package/dist/server/modules/tasks/task-helper-process.js +75 -26
- package/dist/server/modules/tasks/task-helper-process.js.map +1 -1
- package/dist/server/modules/tasks/task-helper-scheduling.d.ts +11 -0
- package/dist/server/modules/tasks/task-helper-scheduling.js +43 -0
- package/dist/server/modules/tasks/task-helper-scheduling.js.map +1 -0
- package/dist/server/modules/tasks/task-lane-executors.js +19 -3
- package/dist/server/modules/tasks/task-lane-executors.js.map +1 -1
- package/dist/server/modules/tasks/task-manager.d.ts +1 -0
- package/dist/server/modules/tasks/task-manager.js +3 -0
- package/dist/server/modules/tasks/task-manager.js.map +1 -1
- package/dist/server/modules/tasks/task-registry.d.ts +1 -0
- package/dist/server/modules/tasks/task-registry.js +3 -0
- package/dist/server/modules/tasks/task-registry.js.map +1 -1
- package/dist/server/modules/tasks/task-scheduler.d.ts +6 -0
- package/dist/server/modules/tasks/task-scheduler.js +162 -7
- package/dist/server/modules/tasks/task-scheduler.js.map +1 -1
- package/dist/server/modules/tasks/task-types.d.ts +30 -3
- package/dist/server/modules/tasks/task-types.js +16 -2
- package/dist/server/modules/tasks/task-types.js.map +1 -1
- package/dist/server/modules/terminal/runtime/terminal-log-writer-process.js +1 -1
- package/dist/server/modules/terminal/runtime/terminal-log-writer-process.js.map +1 -1
- package/dist/server/modules/workbench/affairs-assistant-session-snapshot-service.d.ts +68 -0
- package/dist/server/modules/workbench/affairs-assistant-session-snapshot-service.js +286 -0
- package/dist/server/modules/workbench/affairs-assistant-session-snapshot-service.js.map +1 -0
- package/dist/server/modules/workbench/workbench-controller.js +11 -1
- package/dist/server/modules/workbench/workbench-controller.js.map +1 -1
- package/dist/server/modules/workbench/workbench-service.d.ts +9 -2
- package/dist/server/modules/workbench/workbench-service.js +58 -18
- package/dist/server/modules/workbench/workbench-service.js.map +1 -1
- package/dist/server/modules/workspace/affairs-library-controller.d.ts +117 -0
- package/dist/server/modules/workspace/affairs-library-controller.js +164 -0
- package/dist/server/modules/workspace/affairs-library-controller.js.map +1 -0
- package/dist/server/modules/workspace/affairs-library-debug-log.d.ts +23 -0
- package/dist/server/modules/workspace/affairs-library-debug-log.js +107 -0
- package/dist/server/modules/workspace/affairs-library-debug-log.js.map +1 -0
- package/dist/server/modules/workspace/affairs-library-dirty-watch-service.d.ts +52 -0
- package/dist/server/modules/workspace/affairs-library-dirty-watch-service.js +555 -0
- package/dist/server/modules/workspace/affairs-library-dirty-watch-service.js.map +1 -0
- package/dist/server/modules/workspace/affairs-library-preview-link-service.d.ts +24 -0
- package/dist/server/modules/workspace/affairs-library-preview-link-service.js +157 -0
- package/dist/server/modules/workspace/affairs-library-preview-link-service.js.map +1 -0
- package/dist/server/modules/workspace/affairs-library-refresh-contract.d.ts +56 -0
- package/dist/server/modules/workspace/affairs-library-refresh-contract.js +48 -0
- package/dist/server/modules/workspace/affairs-library-refresh-contract.js.map +1 -0
- package/dist/server/modules/workspace/affairs-library-service.d.ts +344 -0
- package/dist/server/modules/workspace/affairs-library-service.js +3755 -0
- package/dist/server/modules/workspace/affairs-library-service.js.map +1 -0
- package/dist/server/modules/workspace/affairs-lightweight-session-controller.d.ts +78 -0
- package/dist/server/modules/workspace/affairs-lightweight-session-controller.js +146 -0
- package/dist/server/modules/workspace/affairs-lightweight-session-controller.js.map +1 -0
- package/dist/server/modules/workspace/affairs-lightweight-session-service.d.ts +133 -0
- package/dist/server/modules/workspace/affairs-lightweight-session-service.js +1447 -0
- package/dist/server/modules/workspace/affairs-lightweight-session-service.js.map +1 -0
- package/dist/server/modules/workspace/affairs-tag-controller.d.ts +107 -0
- package/dist/server/modules/workspace/affairs-tag-controller.js +97 -0
- package/dist/server/modules/workspace/affairs-tag-controller.js.map +1 -0
- package/dist/server/modules/workspace/affairs-tag-service.d.ts +153 -0
- package/dist/server/modules/workspace/affairs-tag-service.js +680 -0
- package/dist/server/modules/workspace/affairs-tag-service.js.map +1 -0
- package/dist/server/modules/workspace/workspace-controller.d.ts +2 -1
- package/dist/server/modules/workspace/workspace-controller.js +8 -2
- package/dist/server/modules/workspace/workspace-controller.js.map +1 -1
- package/dist/server/modules/workspace/workspace-service.js +60 -9
- package/dist/server/modules/workspace/workspace-service.js.map +1 -1
- package/dist/server/routes/affairs.d.ts +3 -0
- package/dist/server/routes/affairs.js +7 -0
- package/dist/server/routes/affairs.js.map +1 -0
- package/dist/server/routes/assistant.js +0 -5
- package/dist/server/routes/assistant.js.map +1 -1
- package/dist/server/routes/files.js +45 -0
- package/dist/server/routes/files.js.map +1 -1
- package/dist/server/routes/office.js +4 -0
- package/dist/server/routes/office.js.map +1 -1
- package/dist/server/routes/plugins-public.d.ts +3 -0
- package/dist/server/routes/plugins-public.js +5 -0
- package/dist/server/routes/plugins-public.js.map +1 -0
- package/dist/server/routes/plugins.d.ts +3 -0
- package/dist/server/routes/plugins.js +19 -0
- package/dist/server/routes/plugins.js.map +1 -0
- package/dist/server/routes/presentation.js +1 -0
- package/dist/server/routes/presentation.js.map +1 -1
- package/dist/server/routes/system.d.ts +2 -1
- package/dist/server/routes/system.js +2 -1
- package/dist/server/routes/system.js.map +1 -1
- package/dist/server/routes/workspaces.d.ts +4 -1
- package/dist/server/routes/workspaces.js +46 -1
- package/dist/server/routes/workspaces.js.map +1 -1
- package/dist/server/server/create-server.d.ts +26 -2
- package/dist/server/server/create-server.js +159 -32
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/shared/http/error-handler.js +20 -6
- package/dist/server/shared/http/error-handler.js.map +1 -1
- package/dist/server/shared/runtime/better-sqlite3.d.ts +5 -0
- package/dist/server/shared/runtime/better-sqlite3.js +6 -0
- package/dist/server/shared/runtime/better-sqlite3.js.map +1 -0
- package/dist/server/storage/repositories/affairs-assistant-session-snapshot-repository.d.ts +10 -0
- package/dist/server/storage/repositories/affairs-assistant-session-snapshot-repository.js +47 -0
- package/dist/server/storage/repositories/affairs-assistant-session-snapshot-repository.js.map +1 -0
- package/dist/server/storage/repositories/butler-profile-repository.js +7 -3
- package/dist/server/storage/repositories/butler-profile-repository.js.map +1 -1
- package/dist/server/storage/repositories/office-onlyoffice-setting-repository.d.ts +19 -0
- package/dist/server/storage/repositories/office-onlyoffice-setting-repository.js +55 -0
- package/dist/server/storage/repositories/office-onlyoffice-setting-repository.js.map +1 -0
- package/dist/server/storage/repositories/plugin-audit-event-repository.d.ts +8 -0
- package/dist/server/storage/repositories/plugin-audit-event-repository.js +49 -0
- package/dist/server/storage/repositories/plugin-audit-event-repository.js.map +1 -0
- package/dist/server/storage/repositories/plugin-definition-repository.d.ts +10 -0
- package/dist/server/storage/repositories/plugin-definition-repository.js +84 -0
- package/dist/server/storage/repositories/plugin-definition-repository.js.map +1 -0
- package/dist/server/storage/repositories/plugin-enablement-repository.d.ts +9 -0
- package/dist/server/storage/repositories/plugin-enablement-repository.js +74 -0
- package/dist/server/storage/repositories/plugin-enablement-repository.js.map +1 -0
- package/dist/server/storage/repositories/plugin-permission-grant-repository.d.ts +12 -0
- package/dist/server/storage/repositories/plugin-permission-grant-repository.js +142 -0
- package/dist/server/storage/repositories/plugin-permission-grant-repository.js.map +1 -0
- package/dist/server/storage/repositories/plugin-run-repository.d.ts +10 -0
- package/dist/server/storage/repositories/plugin-run-repository.js +111 -0
- package/dist/server/storage/repositories/plugin-run-repository.js.map +1 -0
- package/dist/server/storage/repositories/plugin-runtime-session-repository.d.ts +10 -0
- package/dist/server/storage/repositories/plugin-runtime-session-repository.js +86 -0
- package/dist/server/storage/repositories/plugin-runtime-session-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-index-repository.js +9 -2
- package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
- package/dist/server/storage/repositories/user-affairs-library-setting-repository.d.ts +10 -0
- package/dist/server/storage/repositories/user-affairs-library-setting-repository.js +69 -0
- package/dist/server/storage/repositories/user-affairs-library-setting-repository.js.map +1 -0
- package/dist/server/storage/repositories/user-preference-profile-repository.js +6 -3
- package/dist/server/storage/repositories/user-preference-profile-repository.js.map +1 -1
- package/dist/server/storage/repositories/workspace-navigation-state-repository.d.ts +3 -0
- package/dist/server/storage/repositories/workspace-navigation-state-repository.js +47 -4
- package/dist/server/storage/repositories/workspace-navigation-state-repository.js.map +1 -1
- package/dist/server/storage/sqlite/client.d.ts +2 -2
- package/dist/server/storage/sqlite/client.js +480 -124
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +188 -25
- package/dist/server/types/domain.d.ts +149 -20
- package/dist/server/ws/workbench-ws-hub.js +2 -2
- package/dist/server/ws/workbench-ws-hub.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js +0 -2
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +0 -6
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
- package/package.json +10 -3
- package/scripts/postinstall.mjs +248 -11
- package/vendor/better-sqlite3-win32-x64-node22/LICENSE +21 -0
- package/vendor/better-sqlite3-win32-x64-node22/README.md +12 -0
- package/vendor/better-sqlite3-win32-x64-node22/README.upstream.md +99 -0
- package/vendor/better-sqlite3-win32-x64-node22/binding.gyp +38 -0
- package/vendor/better-sqlite3-win32-x64-node22/build/Release/better_sqlite3.node +0 -0
- package/vendor/better-sqlite3-win32-x64-node22/deps/common.gypi +68 -0
- package/vendor/better-sqlite3-win32-x64-node22/deps/copy.js +31 -0
- package/vendor/better-sqlite3-win32-x64-node22/deps/defines.gypi +41 -0
- package/vendor/better-sqlite3-win32-x64-node22/deps/download.sh +122 -0
- package/vendor/better-sqlite3-win32-x64-node22/deps/patches/1208.patch +15 -0
- package/vendor/better-sqlite3-win32-x64-node22/deps/sqlite3/sqlite3.c +265994 -0
- package/vendor/better-sqlite3-win32-x64-node22/deps/sqlite3/sqlite3.h +13968 -0
- package/vendor/better-sqlite3-win32-x64-node22/deps/sqlite3/sqlite3ext.h +730 -0
- package/vendor/better-sqlite3-win32-x64-node22/deps/sqlite3.gyp +80 -0
- package/vendor/better-sqlite3-win32-x64-node22/deps/test_extension.c +21 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/database.js +90 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/index.js +3 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/methods/aggregate.js +43 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/methods/backup.js +67 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/methods/function.js +31 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/methods/inspect.js +7 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/methods/pragma.js +12 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/methods/serialize.js +16 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/methods/table.js +189 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/methods/transaction.js +78 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/methods/wrappers.js +54 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/sqlite-error.js +20 -0
- package/vendor/better-sqlite3-win32-x64-node22/lib/util.js +12 -0
- package/vendor/better-sqlite3-win32-x64-node22/package.json +38 -0
- package/vendor/better-sqlite3-win32-x64-node22/scripts/verify-runtime.cjs +42 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/addon.cpp +47 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/better_sqlite3.cpp +74 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/objects/backup.cpp +120 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/objects/backup.hpp +36 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/objects/database.cpp +417 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/objects/database.hpp +103 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/objects/statement-iterator.cpp +113 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/objects/statement-iterator.hpp +50 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/objects/statement.cpp +383 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/objects/statement.hpp +58 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/bind-map.cpp +73 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/binder.cpp +193 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/constants.cpp +172 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/custom-aggregate.cpp +121 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/custom-function.cpp +59 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/custom-table.cpp +409 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/data-converter.cpp +17 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/data.cpp +194 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/helpers.cpp +109 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/macros.cpp +83 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/query-macros.cpp +71 -0
- package/vendor/better-sqlite3-win32-x64-node22/src/util/row-builder.cpp +49 -0
- package/vendor/node-pty-fork/README.md +1 -0
- package/vendor/node-pty-fork/scripts/runtime-install-context.cjs +24 -0
- package/vendor/node-pty-fork/scripts/verify-runtime.cjs +8 -0
- package/vendor/node-pty-fork/scripts/verify-runtime.test.cjs +30 -0
- package/vendor-src/better-sqlite3-win32-x64-node22/README.md +12 -0
- package/dist/public/assets/AdaptiveButlerPage-B153lk5H.css +0 -1
- package/dist/public/assets/AdaptiveButlerPage-b7s6F_sd.js +0 -3
- package/dist/public/assets/App-B0q8uDA-.js +0 -30
- package/dist/public/assets/DesktopWindowPage-BdKUZrKG.js +0 -2
- package/dist/public/assets/FileContextPanel-lM5mBcfn.js +0 -1
- package/dist/public/assets/GitSidebar-CmXAhyjo.js +0 -6
- package/dist/public/assets/MobileCreateSessionSheet-CceV0-AH.js +0 -1
- package/dist/public/assets/MobileWorkspaceSwitcherHeader-DhaM9fgx.js +0 -1
- package/dist/public/assets/ServerSettingsModal-Rkgn3jft.js +0 -1
- package/dist/public/assets/SessionIndexPage-BOumP3ij.js +0 -1
- package/dist/public/assets/SettingsPage-vx_c-00-.js +0 -2
- package/dist/public/assets/TerminalManagerPanel-D9JHCS6d.js +0 -1
- package/dist/public/assets/TerminalRuntimeFallbackModal-W5NjqFEz.js +0 -1
- package/dist/public/assets/ToolFilesPage-DWtpaN_7.js +0 -1
- package/dist/public/assets/ToolGitPage-MpGXsw4_.js +0 -1
- package/dist/public/assets/ToolProcessesPage-B1jHQKhZ.js +0 -1
- package/dist/public/assets/ToolsHomePage-CJrn8ZFl.js +0 -1
- package/dist/public/assets/WorkbenchLandingPage-CJQ1V5U-.js +0 -1
- package/dist/public/assets/WorkbenchLayout-D48i71PU.js +0 -244
- package/dist/public/assets/WorkbenchModal-BYNuMIoV.js +0 -1
- package/dist/public/assets/WorkbenchShellRoute-B4XB8SwG.css +0 -1
- package/dist/public/assets/WorkbenchShellRoute-CGKjy4J-.js +0 -1
- package/dist/public/assets/WorkspaceDebugDetailPage-DCAYgays.js +0 -1
- package/dist/public/assets/WorkspaceDetailPage-D5v-nUIi.js +0 -1
- package/dist/public/assets/WorkspaceHomePage-I5G1p5SR.js +0 -1
- package/dist/public/assets/file-tree-icon-BFwaPxKs.js +0 -590
- package/dist/public/assets/index-CjewzOUG.js +0 -42
- package/dist/public/assets/index-VVxfF0s5.css +0 -1
- package/dist/public/assets/model-switch-api-Br0ivfe5.js +0 -1
- package/dist/public/assets/realtime-client-BlQRqVmm.js +0 -1
- package/dist/public/assets/useRegisteredDebugTemplates-CXmxu69X.js +0 -1
- package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.d.ts +0 -32
- package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.js +0 -93
- package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.js.map +0 -1
- package/dist/server/modules/butler/assistant-sandbox-service.d.ts +0 -69
- package/dist/server/modules/butler/assistant-sandbox-service.js +0 -399
- package/dist/server/modules/butler/assistant-sandbox-service.js.map +0 -1
- package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.d.ts +0 -18
- package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js +0 -191
- package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js.map +0 -1
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { AppError, APP_ERROR_CODES, } from "../../../contracts/src/index.js";
|
|
4
|
+
const CONFIG_FILE_NAMES = [
|
|
5
|
+
"doc-semantic-index.config.json",
|
|
6
|
+
".doc-semantic-indexrc.json",
|
|
7
|
+
".doc-semantic-index/config.json",
|
|
8
|
+
".ai-index/doc-semantic-index.config.json",
|
|
9
|
+
];
|
|
10
|
+
function readString(args, ...keys) {
|
|
11
|
+
for (const key of keys) {
|
|
12
|
+
const value = args[key];
|
|
13
|
+
if (typeof value === "string" && value.trim()) {
|
|
14
|
+
return value.trim();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
function readPositiveNumber(value) {
|
|
20
|
+
if (typeof value === "number" && Number.isFinite(value) && value >= 0) {
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
if (typeof value === "string" && value.trim()) {
|
|
24
|
+
const parsed = Number(value);
|
|
25
|
+
if (Number.isFinite(parsed) && parsed >= 0) {
|
|
26
|
+
return parsed;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
function readLogLevel(value) {
|
|
32
|
+
return value === "silent" || value === "error" || value === "warn" || value === "info" || value === "debug"
|
|
33
|
+
? value
|
|
34
|
+
: undefined;
|
|
35
|
+
}
|
|
36
|
+
function normalizeExtensionToken(value) {
|
|
37
|
+
const normalized = value.trim().toLowerCase();
|
|
38
|
+
if (!normalized) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return normalized.startsWith(".") ? normalized : `.${normalized}`;
|
|
42
|
+
}
|
|
43
|
+
function readStringList(value) {
|
|
44
|
+
if (Array.isArray(value)) {
|
|
45
|
+
return Array.from(new Set(value
|
|
46
|
+
.filter((item) => typeof item === "string")
|
|
47
|
+
.map((item) => item.trim())
|
|
48
|
+
.filter(Boolean)));
|
|
49
|
+
}
|
|
50
|
+
if (typeof value === "string" && value.trim()) {
|
|
51
|
+
return Array.from(new Set(value
|
|
52
|
+
.split(",")
|
|
53
|
+
.map((item) => item.trim())
|
|
54
|
+
.filter(Boolean)));
|
|
55
|
+
}
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
function readExtensionList(value) {
|
|
59
|
+
if (Array.isArray(value)) {
|
|
60
|
+
return Array.from(new Set(value
|
|
61
|
+
.filter((item) => typeof item === "string")
|
|
62
|
+
.map(normalizeExtensionToken)
|
|
63
|
+
.filter((item) => Boolean(item))));
|
|
64
|
+
}
|
|
65
|
+
if (typeof value === "string" && value.trim()) {
|
|
66
|
+
return Array.from(new Set(value
|
|
67
|
+
.split(",")
|
|
68
|
+
.map(normalizeExtensionToken)
|
|
69
|
+
.filter((item) => Boolean(item))));
|
|
70
|
+
}
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
function resolveMaybeRelative(baseDir, value) {
|
|
74
|
+
return path.isAbsolute(value) ? value : path.resolve(baseDir, value);
|
|
75
|
+
}
|
|
76
|
+
function detectConfigFile(cwd, args, env) {
|
|
77
|
+
const configured = readString(args, "config", "configFile")
|
|
78
|
+
?? env.DOC_SEMANTIC_INDEX_CONFIG
|
|
79
|
+
?? env.DOC_SEMANTIC_INDEX_CONFIG_FILE;
|
|
80
|
+
if (configured) {
|
|
81
|
+
const configPath = resolveMaybeRelative(cwd, configured);
|
|
82
|
+
if (!fs.existsSync(configPath)) {
|
|
83
|
+
throw new AppError(`指定的配置文件不存在:${configPath}`, APP_ERROR_CODES.CONFIG_FILE_NOT_FOUND, { details: { configPath } });
|
|
84
|
+
}
|
|
85
|
+
return configPath;
|
|
86
|
+
}
|
|
87
|
+
for (const fileName of CONFIG_FILE_NAMES) {
|
|
88
|
+
const candidate = path.join(cwd, fileName);
|
|
89
|
+
if (fs.existsSync(candidate)) {
|
|
90
|
+
return candidate;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
function loadConfigFile(configFilePath) {
|
|
96
|
+
if (!configFilePath) {
|
|
97
|
+
return {};
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
const raw = JSON.parse(fs.readFileSync(configFilePath, "utf-8"));
|
|
101
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
|
|
102
|
+
throw new Error("配置文件根节点必须是对象");
|
|
103
|
+
}
|
|
104
|
+
return raw;
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
throw new AppError(`配置文件解析失败:${configFilePath}`, APP_ERROR_CODES.CONFIG_FILE_INVALID, {
|
|
108
|
+
details: {
|
|
109
|
+
configFilePath,
|
|
110
|
+
reason: error instanceof Error ? error.message : "unknown",
|
|
111
|
+
},
|
|
112
|
+
cause: error,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* 加载运行时配置。
|
|
118
|
+
* 优先级:CLI args > 环境变量 > 配置文件 > 默认值。
|
|
119
|
+
*/
|
|
120
|
+
export function loadRuntimeConfig(cwd, options = {}) {
|
|
121
|
+
const args = options.args ?? {};
|
|
122
|
+
const env = options.env ?? {};
|
|
123
|
+
const configFilePath = detectConfigFile(cwd, args, env);
|
|
124
|
+
const configFile = loadConfigFile(configFilePath);
|
|
125
|
+
const configDir = configFilePath ? path.dirname(configFilePath) : cwd;
|
|
126
|
+
const rootDir = resolveMaybeRelative(cwd, readString(args, "rootDir", "root-dir")
|
|
127
|
+
?? env.DOC_SEMANTIC_INDEX_ROOT_DIR
|
|
128
|
+
?? (typeof configFile.rootDir === "string" ? resolveMaybeRelative(configDir, configFile.rootDir) : cwd));
|
|
129
|
+
const indexDir = resolveMaybeRelative(rootDir, readString(args, "indexDir", "index-dir")
|
|
130
|
+
?? env.DOC_SEMANTIC_INDEX_INDEX_DIR
|
|
131
|
+
?? configFile.indexDir
|
|
132
|
+
?? ".ai-index");
|
|
133
|
+
const dbPath = resolveMaybeRelative(rootDir, readString(args, "dbPath", "db-path")
|
|
134
|
+
?? env.DOC_SEMANTIC_INDEX_DB_PATH
|
|
135
|
+
?? configFile.dbPath
|
|
136
|
+
?? path.join(path.relative(rootDir, indexDir) || ".ai-index", "catalog.db"));
|
|
137
|
+
const exportDir = resolveMaybeRelative(rootDir, readString(args, "exportDir", "export-dir")
|
|
138
|
+
?? env.DOC_SEMANTIC_INDEX_EXPORT_DIR
|
|
139
|
+
?? configFile.exportDir
|
|
140
|
+
?? path.join(path.relative(rootDir, indexDir) || ".ai-index", "exports"));
|
|
141
|
+
const logLevel = readLogLevel(readString(args, "logLevel", "log-level")
|
|
142
|
+
?? env.DOC_SEMANTIC_INDEX_LOG_LEVEL
|
|
143
|
+
?? configFile.logLevel
|
|
144
|
+
?? "info");
|
|
145
|
+
const watchDebounceMs = readPositiveNumber(args.watchDebounceMs
|
|
146
|
+
?? args["watch-debounce-ms"]
|
|
147
|
+
?? env.DOC_SEMANTIC_INDEX_WATCH_DEBOUNCE_MS
|
|
148
|
+
?? configFile.watchDebounceMs
|
|
149
|
+
?? 1200);
|
|
150
|
+
const parserTimeoutMs = readPositiveNumber(args.parserTimeoutMs
|
|
151
|
+
?? args["parser-timeout-ms"]
|
|
152
|
+
?? env.DOC_SEMANTIC_INDEX_PARSER_TIMEOUT_MS
|
|
153
|
+
?? configFile.parserTimeoutMs
|
|
154
|
+
?? 30000);
|
|
155
|
+
const disabledParserExtensions = readExtensionList(args.disabledParserExtensions
|
|
156
|
+
?? args["disabled-parser-extensions"]
|
|
157
|
+
?? args.disableParsers
|
|
158
|
+
?? args["disable-parsers"]
|
|
159
|
+
?? env.DOC_SEMANTIC_INDEX_DISABLED_PARSER_EXTENSIONS
|
|
160
|
+
?? env.DOC_SEMANTIC_INDEX_DISABLE_PARSERS
|
|
161
|
+
?? configFile.disabledParserExtensions
|
|
162
|
+
?? []) ?? [];
|
|
163
|
+
const allowedExtensions = readExtensionList(args.allowedExtensions
|
|
164
|
+
?? args["allowed-extensions"]
|
|
165
|
+
?? env.DOC_SEMANTIC_INDEX_ALLOWED_EXTENSIONS
|
|
166
|
+
?? configFile.allowedExtensions
|
|
167
|
+
?? []) ?? [];
|
|
168
|
+
const includedHiddenPaths = readStringList(args.includedHiddenPaths
|
|
169
|
+
?? args["included-hidden-paths"]
|
|
170
|
+
?? env.DOC_SEMANTIC_INDEX_INCLUDED_HIDDEN_PATHS
|
|
171
|
+
?? configFile.includedHiddenPaths
|
|
172
|
+
?? []) ?? [];
|
|
173
|
+
const writeBatchSize = readPositiveNumber(args.writeBatchSize
|
|
174
|
+
?? args["write-batch-size"]
|
|
175
|
+
?? env.DOC_SEMANTIC_INDEX_WRITE_BATCH_SIZE
|
|
176
|
+
?? configFile.writeBatchSize
|
|
177
|
+
?? 200);
|
|
178
|
+
const maxIndexConcurrency = readPositiveNumber(args.maxIndexConcurrency
|
|
179
|
+
?? args["max-index-concurrency"]
|
|
180
|
+
?? env.DOC_SEMANTIC_INDEX_MAX_INDEX_CONCURRENCY
|
|
181
|
+
?? configFile.maxIndexConcurrency
|
|
182
|
+
?? 1);
|
|
183
|
+
if (!logLevel
|
|
184
|
+
|| watchDebounceMs === undefined
|
|
185
|
+
|| parserTimeoutMs === undefined
|
|
186
|
+
|| writeBatchSize === undefined
|
|
187
|
+
|| maxIndexConcurrency === undefined) {
|
|
188
|
+
throw new AppError("运行时配置中存在非法值,请检查 logLevel / watchDebounceMs / parserTimeoutMs / writeBatchSize / maxIndexConcurrency。", APP_ERROR_CODES.CONFIG_INVALID_VALUE, {
|
|
189
|
+
details: {
|
|
190
|
+
logLevel,
|
|
191
|
+
watchDebounceMs,
|
|
192
|
+
parserTimeoutMs,
|
|
193
|
+
writeBatchSize,
|
|
194
|
+
maxIndexConcurrency,
|
|
195
|
+
configFilePath,
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
return {
|
|
200
|
+
rootDir,
|
|
201
|
+
indexDir,
|
|
202
|
+
dbPath,
|
|
203
|
+
exportDir,
|
|
204
|
+
configFilePath,
|
|
205
|
+
watchDebounceMs,
|
|
206
|
+
parserTimeoutMs,
|
|
207
|
+
disabledParserExtensions,
|
|
208
|
+
allowedExtensions,
|
|
209
|
+
includedHiddenPaths,
|
|
210
|
+
writeBatchSize,
|
|
211
|
+
maxIndexConcurrency,
|
|
212
|
+
logLevel,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=load-runtime-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-runtime-config.js","sourceRoot":"","sources":["../../../../../../../src/modules/affairs-indexer/core/src/config/load-runtime-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export * from "./config/load-runtime-config.js";
|
|
2
|
+
export * from "./logging/structured-logger.js";
|
|
3
|
+
export * from "./parser/document-parser.js";
|
|
4
|
+
export * from "./parser/base-complex-parser-adapter.js";
|
|
5
|
+
export * from "./parser/csv-parser-adapter.js";
|
|
6
|
+
export * from "./parser/docx-parser-adapter.js";
|
|
7
|
+
export * from "./parser/openxml-utils.js";
|
|
8
|
+
export * from "./parser/pdf-parser-adapter.js";
|
|
9
|
+
export * from "./parser/pptx-parser-adapter.js";
|
|
10
|
+
export * from "./parser/xlsx-parser-adapter.js";
|
|
11
|
+
export * from "./parser/parser-adapter.js";
|
|
12
|
+
export * from "./parser/parser-capability-registry.js";
|
|
13
|
+
export * from "./parser/parser-skip-repository.js";
|
|
14
|
+
export * from "./parser/parser-router.js";
|
|
15
|
+
export * from "./sqlite/init-catalog.js";
|
|
16
|
+
export * from "./sqlite/migration-runner.js";
|
|
17
|
+
export * from "./sqlite/detect-catalog-schema.js";
|
|
18
|
+
export * from "./repositories/catalog-repository.js";
|
|
19
|
+
export * from "./repositories/catalog-write-repository.js";
|
|
20
|
+
export * from "./scanner/file-scanner.js";
|
|
21
|
+
export * from "./parser/plain-text-parser.js";
|
|
22
|
+
export * from "./services/dirty/dirty-scope-resolver.js";
|
|
23
|
+
export * from "./services/export/export-builder.js";
|
|
24
|
+
export * from "./services/indexer/allowed-extensions-diff-service.js";
|
|
25
|
+
export * from "./services/indexer/text-indexer.js";
|
|
26
|
+
export * from "./services/tagging/tag-recompute-service.js";
|
|
27
|
+
export * from "./services/mcp/mcp-stdio-server.js";
|
|
28
|
+
export * from "./services/search/offline-search-service.js";
|
|
29
|
+
export * from "./services/search/search-index-builder.js";
|
|
30
|
+
export * from "./services/watch/watch-service.js";
|
|
31
|
+
export * from "./tagging/simple-tag-inference.js";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export * from "./config/load-runtime-config.js";
|
|
2
|
+
export * from "./logging/structured-logger.js";
|
|
3
|
+
export * from "./parser/document-parser.js";
|
|
4
|
+
export * from "./parser/base-complex-parser-adapter.js";
|
|
5
|
+
export * from "./parser/csv-parser-adapter.js";
|
|
6
|
+
export * from "./parser/docx-parser-adapter.js";
|
|
7
|
+
export * from "./parser/openxml-utils.js";
|
|
8
|
+
export * from "./parser/pdf-parser-adapter.js";
|
|
9
|
+
export * from "./parser/pptx-parser-adapter.js";
|
|
10
|
+
export * from "./parser/xlsx-parser-adapter.js";
|
|
11
|
+
export * from "./parser/parser-adapter.js";
|
|
12
|
+
export * from "./parser/parser-capability-registry.js";
|
|
13
|
+
export * from "./parser/parser-skip-repository.js";
|
|
14
|
+
export * from "./parser/parser-router.js";
|
|
15
|
+
export * from "./sqlite/init-catalog.js";
|
|
16
|
+
export * from "./sqlite/migration-runner.js";
|
|
17
|
+
export * from "./sqlite/detect-catalog-schema.js";
|
|
18
|
+
export * from "./repositories/catalog-repository.js";
|
|
19
|
+
export * from "./repositories/catalog-write-repository.js";
|
|
20
|
+
export * from "./scanner/file-scanner.js";
|
|
21
|
+
export * from "./parser/plain-text-parser.js";
|
|
22
|
+
export * from "./services/dirty/dirty-scope-resolver.js";
|
|
23
|
+
export * from "./services/export/export-builder.js";
|
|
24
|
+
export * from "./services/indexer/allowed-extensions-diff-service.js";
|
|
25
|
+
export * from "./services/indexer/text-indexer.js";
|
|
26
|
+
export * from "./services/tagging/tag-recompute-service.js";
|
|
27
|
+
export * from "./services/mcp/mcp-stdio-server.js";
|
|
28
|
+
export * from "./services/search/offline-search-service.js";
|
|
29
|
+
export * from "./services/search/search-index-builder.js";
|
|
30
|
+
export * from "./services/watch/watch-service.js";
|
|
31
|
+
export * from "./tagging/simple-tag-inference.js";
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/affairs-indexer/core/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uDAAuD,CAAC;AACtE,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LogLevel } from "../../../contracts/src/index.js";
|
|
2
|
+
export interface LoggerContext {
|
|
3
|
+
component?: string;
|
|
4
|
+
command?: string;
|
|
5
|
+
data?: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* 极简结构化日志。
|
|
9
|
+
* 只做一件事:把 stderr 日志收敛成稳定 JSON,方便 CLI、脚本和后续 MCP 复用。
|
|
10
|
+
*/
|
|
11
|
+
export declare class StructuredLogger {
|
|
12
|
+
private readonly minLevel;
|
|
13
|
+
constructor(minLevel?: LogLevel);
|
|
14
|
+
private shouldLog;
|
|
15
|
+
private emit;
|
|
16
|
+
error(message: string, context?: LoggerContext): void;
|
|
17
|
+
warn(message: string, context?: LoggerContext): void;
|
|
18
|
+
info(message: string, context?: LoggerContext): void;
|
|
19
|
+
debug(message: string, context?: LoggerContext): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const LOG_LEVEL_WEIGHT = {
|
|
2
|
+
silent: 0,
|
|
3
|
+
error: 1,
|
|
4
|
+
warn: 2,
|
|
5
|
+
info: 3,
|
|
6
|
+
debug: 4,
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* 极简结构化日志。
|
|
10
|
+
* 只做一件事:把 stderr 日志收敛成稳定 JSON,方便 CLI、脚本和后续 MCP 复用。
|
|
11
|
+
*/
|
|
12
|
+
export class StructuredLogger {
|
|
13
|
+
minLevel;
|
|
14
|
+
constructor(minLevel = "info") {
|
|
15
|
+
this.minLevel = minLevel;
|
|
16
|
+
}
|
|
17
|
+
shouldLog(level) {
|
|
18
|
+
return LOG_LEVEL_WEIGHT[level] <= LOG_LEVEL_WEIGHT[this.minLevel] && this.minLevel !== "silent";
|
|
19
|
+
}
|
|
20
|
+
emit(level, message, context = {}) {
|
|
21
|
+
if (!this.shouldLog(level)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const payload = {
|
|
25
|
+
ts: new Date().toISOString(),
|
|
26
|
+
level,
|
|
27
|
+
message,
|
|
28
|
+
...(context.component ? { component: context.component } : {}),
|
|
29
|
+
...(context.command ? { command: context.command } : {}),
|
|
30
|
+
...(context.data ? { data: context.data } : {}),
|
|
31
|
+
};
|
|
32
|
+
process.stderr.write(`${JSON.stringify(payload)}\n`);
|
|
33
|
+
}
|
|
34
|
+
error(message, context = {}) {
|
|
35
|
+
this.emit("error", message, context);
|
|
36
|
+
}
|
|
37
|
+
warn(message, context = {}) {
|
|
38
|
+
this.emit("warn", message, context);
|
|
39
|
+
}
|
|
40
|
+
info(message, context = {}) {
|
|
41
|
+
this.emit("info", message, context);
|
|
42
|
+
}
|
|
43
|
+
debug(message, context = {}) {
|
|
44
|
+
this.emit("debug", message, context);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=structured-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structured-logger.js","sourceRoot":"","sources":["../../../../../../../src/modules/affairs-indexer/core/src/logging/structured-logger.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAA6B;IACjD,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAQF;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,WAAqB,MAAM;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IAEpD,SAAS,CAAC,KAAe;QAC/B,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAClG,CAAC;IAEO,IAAI,CAAC,KAAe,EAAE,OAAe,EAAE,UAAyB,EAAE;QACxE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,KAAK;YACL,OAAO;YACP,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,UAAyB,EAAE;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,UAAyB,EAAE;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,UAAyB,EAAE;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,UAAyB,EAAE;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type AppErrorCode } from "../../../contracts/src/index.js";
|
|
2
|
+
import type { ParseInput, ParseSkip, ParsedDocumentPayload, ParserAdapter, ParserAvailability } from "./parser-adapter.js";
|
|
3
|
+
/**
|
|
4
|
+
* 复杂文档解析适配器骨架。
|
|
5
|
+
* 未来所有复杂格式 parser 都应优先继承这里,统一成功契约和异常到 skip 的收敛策略。
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class BaseComplexParserAdapter implements ParserAdapter {
|
|
8
|
+
abstract readonly name: string;
|
|
9
|
+
readonly routeKind: "primary";
|
|
10
|
+
abstract supports(ext: string): boolean;
|
|
11
|
+
availability(): Promise<ParserAvailability>;
|
|
12
|
+
parse(input: ParseInput): Promise<ParsedDocumentPayload | ParseSkip>;
|
|
13
|
+
protected abstract parseComplex(input: ParseInput): Promise<ParsedDocumentPayload>;
|
|
14
|
+
protected createSkip(input: ParseInput, reasonCode: AppErrorCode, message: string): ParseSkip;
|
|
15
|
+
protected mapErrorToSkip(input: ParseInput, error: unknown): ParseSkip;
|
|
16
|
+
private validatePayload;
|
|
17
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { AppError, APP_ERROR_CODES } from "../../../contracts/src/index.js";
|
|
2
|
+
const COMPLEX_REASON_CODES = new Set([
|
|
3
|
+
APP_ERROR_CODES.PARSER_COMPLEX_FORMAT_UNSUPPORTED,
|
|
4
|
+
APP_ERROR_CODES.PARSER_COMPLEX_CONTENT_UNREADABLE,
|
|
5
|
+
APP_ERROR_CODES.PARSER_COMPLEX_LIBRARY_FAILED,
|
|
6
|
+
APP_ERROR_CODES.PARSER_COMPLEX_OUTPUT_INVALID,
|
|
7
|
+
APP_ERROR_CODES.PARSER_COMPLEX_SKIPPED,
|
|
8
|
+
]);
|
|
9
|
+
/**
|
|
10
|
+
* 复杂文档解析适配器骨架。
|
|
11
|
+
* 未来所有复杂格式 parser 都应优先继承这里,统一成功契约和异常到 skip 的收敛策略。
|
|
12
|
+
*/
|
|
13
|
+
export class BaseComplexParserAdapter {
|
|
14
|
+
routeKind = "primary";
|
|
15
|
+
async availability() {
|
|
16
|
+
return "available";
|
|
17
|
+
}
|
|
18
|
+
async parse(input) {
|
|
19
|
+
try {
|
|
20
|
+
const payload = await this.parseComplex(input);
|
|
21
|
+
return this.validatePayload(input, payload);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
return this.mapErrorToSkip(input, error);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
createSkip(input, reasonCode, message) {
|
|
28
|
+
return {
|
|
29
|
+
kind: "skip",
|
|
30
|
+
adapter: this.name,
|
|
31
|
+
reasonCode,
|
|
32
|
+
extension: input.extension,
|
|
33
|
+
message,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
mapErrorToSkip(input, error) {
|
|
37
|
+
if (error instanceof AppError && COMPLEX_REASON_CODES.has(error.errorCode)) {
|
|
38
|
+
return this.createSkip(input, error.errorCode, error.message);
|
|
39
|
+
}
|
|
40
|
+
if (error instanceof AppError && error.errorCode === APP_ERROR_CODES.PARSER_ADAPTER_UNAVAILABLE) {
|
|
41
|
+
return this.createSkip(input, APP_ERROR_CODES.PARSER_COMPLEX_LIBRARY_FAILED, error.message);
|
|
42
|
+
}
|
|
43
|
+
if (error instanceof Error) {
|
|
44
|
+
return this.createSkip(input, APP_ERROR_CODES.PARSER_COMPLEX_LIBRARY_FAILED, `${this.name} 解析失败:${error.message}`);
|
|
45
|
+
}
|
|
46
|
+
return this.createSkip(input, APP_ERROR_CODES.PARSER_COMPLEX_LIBRARY_FAILED, `${this.name} 解析失败:unknown error`);
|
|
47
|
+
}
|
|
48
|
+
validatePayload(input, payload) {
|
|
49
|
+
if (typeof payload.title !== "string"
|
|
50
|
+
|| typeof payload.text !== "string"
|
|
51
|
+
|| typeof payload.summary !== "string"
|
|
52
|
+
|| typeof payload.parser !== "string") {
|
|
53
|
+
return this.createSkip(input, APP_ERROR_CODES.PARSER_COMPLEX_OUTPUT_INVALID, `${this.name} 返回了不合法的解析结果`);
|
|
54
|
+
}
|
|
55
|
+
if (payload.structured) {
|
|
56
|
+
if (!Array.isArray(payload.structured.blocks)) {
|
|
57
|
+
return this.createSkip(input, APP_ERROR_CODES.PARSER_COMPLEX_OUTPUT_INVALID, `${this.name} 返回的 structured.blocks 非法`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return payload;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=base-complex-parser-adapter.js.map
|
package/dist/server/modules/affairs-indexer/core/src/parser/base-complex-parser-adapter.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-complex-parser-adapter.js","sourceRoot":"","sources":["../../../../../../../src/modules/affairs-indexer/core/src/parser/base-complex-parser-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAqB,MAAM,iCAAiC,CAAC;AAS/F,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAe;IACjD,eAAe,CAAC,iCAAiC;IACjD,eAAe,CAAC,iCAAiC;IACjD,eAAe,CAAC,6BAA6B;IAC7C,eAAe,CAAC,6BAA6B;IAC7C,eAAe,CAAC,sBAAsB;CACvC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,OAAgB,wBAAwB;IAEnC,SAAS,GAAG,SAAkB,CAAC;IAIxC,KAAK,CAAC,YAAY;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAiB;QAC3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAIS,UAAU,CAAC,KAAiB,EAAE,UAAwB,EAAE,OAAe;QAC/E,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,UAAU;YACV,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO;SACR,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,KAAiB,EAAE,KAAc;QACxD,IAAI,KAAK,YAAY,QAAQ,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3E,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,CAAC,0BAA0B,EAAE,CAAC;YAChG,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,eAAe,CAAC,6BAA6B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,UAAU,CACpB,KAAK,EACL,eAAe,CAAC,6BAA6B,EAC7C,GAAG,IAAI,CAAC,IAAI,SAAS,KAAK,CAAC,OAAO,EAAE,CACrC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CACpB,KAAK,EACL,eAAe,CAAC,6BAA6B,EAC7C,GAAG,IAAI,CAAC,IAAI,qBAAqB,CAClC,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,KAAiB,EAAE,OAA8B;QACvE,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;eAChC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;eAChC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;eACnC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,UAAU,CACpB,KAAK,EACL,eAAe,CAAC,6BAA6B,EAC7C,GAAG,IAAI,CAAC,IAAI,cAAc,CAC3B,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,UAAU,CACpB,KAAK,EACL,eAAe,CAAC,6BAA6B,EAC7C,GAAG,IAAI,CAAC,IAAI,2BAA2B,CACxC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
package/dist/server/modules/affairs-indexer/core/src/parser/complex-document-skip-adapter.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ParseInput, ParseSkip, ParserAdapter, ParserAvailability } from "./parser-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* 纯 Node 复杂文档占位适配器。
|
|
4
|
+
* 当前版本不再桥接 Python;复杂格式统一走 skip 聚合,避免回到 failed 风暴。
|
|
5
|
+
*/
|
|
6
|
+
export declare class ComplexDocumentSkipAdapter implements ParserAdapter {
|
|
7
|
+
readonly name = "complex_document_skip";
|
|
8
|
+
readonly routeKind: "fallback";
|
|
9
|
+
supports(ext: string): boolean;
|
|
10
|
+
availability(): Promise<ParserAvailability>;
|
|
11
|
+
parse(input: ParseInput): Promise<ParseSkip>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { APP_ERROR_CODES } from "../../../contracts/src/index.js";
|
|
2
|
+
const SUPPORTED_COMPLEX_EXTENSIONS = new Set([
|
|
3
|
+
".pdf",
|
|
4
|
+
".doc",
|
|
5
|
+
".docx",
|
|
6
|
+
".odt",
|
|
7
|
+
".wps",
|
|
8
|
+
".ppt",
|
|
9
|
+
".pptx",
|
|
10
|
+
".odp",
|
|
11
|
+
".key",
|
|
12
|
+
".xlsx",
|
|
13
|
+
".xls",
|
|
14
|
+
".ods",
|
|
15
|
+
".et",
|
|
16
|
+
".numbers",
|
|
17
|
+
".csv",
|
|
18
|
+
]);
|
|
19
|
+
/**
|
|
20
|
+
* 纯 Node 复杂文档占位适配器。
|
|
21
|
+
* 当前版本不再桥接 Python;复杂格式统一走 skip 聚合,避免回到 failed 风暴。
|
|
22
|
+
*/
|
|
23
|
+
export class ComplexDocumentSkipAdapter {
|
|
24
|
+
name = "complex_document_skip";
|
|
25
|
+
routeKind = "fallback";
|
|
26
|
+
supports(ext) {
|
|
27
|
+
return SUPPORTED_COMPLEX_EXTENSIONS.has(ext.toLowerCase());
|
|
28
|
+
}
|
|
29
|
+
async availability() {
|
|
30
|
+
return "degraded";
|
|
31
|
+
}
|
|
32
|
+
async parse(input) {
|
|
33
|
+
return {
|
|
34
|
+
kind: "skip",
|
|
35
|
+
adapter: this.name,
|
|
36
|
+
reasonCode: APP_ERROR_CODES.PARSER_COMPLEX_SKIPPED,
|
|
37
|
+
extension: input.extension,
|
|
38
|
+
message: `复杂文档解析已跳过:当前 Node 版本未启用 ${input.extension} 解析能力`,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=complex-document-skip-adapter.js.map
|
package/dist/server/modules/affairs-indexer/core/src/parser/complex-document-skip-adapter.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complex-document-skip-adapter.js","sourceRoot":"","sources":["../../../../../../../src/modules/affairs-indexer/core/src/parser/complex-document-skip-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAQlE,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,UAAU;IACV,MAAM;CACP,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IAC5B,IAAI,GAAG,uBAAuB,CAAC;IAC/B,SAAS,GAAG,UAAmB,CAAC;IAEzC,QAAQ,CAAC,GAAW;QAClB,OAAO,4BAA4B,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAiB;QAC3B,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,UAAU,EAAE,eAAe,CAAC,sBAAsB;YAClD,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,2BAA2B,KAAK,CAAC,SAAS,OAAO;SAC3D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseComplexParserAdapter } from "./base-complex-parser-adapter.js";
|
|
2
|
+
import type { ParseInput, ParsedDocumentPayload } from "./parser-adapter.js";
|
|
3
|
+
export declare class CsvParserAdapter extends BaseComplexParserAdapter {
|
|
4
|
+
readonly name = "csv_parser";
|
|
5
|
+
supports(ext: string): boolean;
|
|
6
|
+
protected parseComplex(input: ParseInput): Promise<ParsedDocumentPayload>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import { AppError, APP_ERROR_CODES } from "../../../contracts/src/index.js";
|
|
4
|
+
import { BaseComplexParserAdapter } from "./base-complex-parser-adapter.js";
|
|
5
|
+
const SUPPORTED_CSV_EXTENSIONS = new Set([".csv"]);
|
|
6
|
+
function normalizeWhitespace(text) {
|
|
7
|
+
return text.replace(/\s+/g, " ").trim();
|
|
8
|
+
}
|
|
9
|
+
function shortSummary(text, limit = 180) {
|
|
10
|
+
const normalized = normalizeWhitespace(text);
|
|
11
|
+
if (normalized.length <= limit) {
|
|
12
|
+
return normalized;
|
|
13
|
+
}
|
|
14
|
+
return `${normalized.slice(0, limit - 1)}…`;
|
|
15
|
+
}
|
|
16
|
+
function splitCsvLine(line) {
|
|
17
|
+
const cells = [];
|
|
18
|
+
let current = "";
|
|
19
|
+
let inQuotes = false;
|
|
20
|
+
for (let index = 0; index < line.length; index += 1) {
|
|
21
|
+
const char = line[index];
|
|
22
|
+
const next = line[index + 1];
|
|
23
|
+
if (char === '"') {
|
|
24
|
+
if (inQuotes && next === '"') {
|
|
25
|
+
current += '"';
|
|
26
|
+
index += 1;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
inQuotes = !inQuotes;
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (char === ',' && !inQuotes) {
|
|
33
|
+
cells.push(current.trim());
|
|
34
|
+
current = "";
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
current += char;
|
|
38
|
+
}
|
|
39
|
+
cells.push(current.trim());
|
|
40
|
+
return cells;
|
|
41
|
+
}
|
|
42
|
+
function parseCsvContent(raw) {
|
|
43
|
+
const normalized = raw.replace(/^\uFEFF/, "");
|
|
44
|
+
const lines = normalized
|
|
45
|
+
.split(/\r?\n/)
|
|
46
|
+
.map(line => line.trimEnd())
|
|
47
|
+
.filter(line => line.length > 0);
|
|
48
|
+
if (lines.length === 0) {
|
|
49
|
+
throw new AppError("CSV 内容为空或不可读", APP_ERROR_CODES.PARSER_COMPLEX_CONTENT_UNREADABLE);
|
|
50
|
+
}
|
|
51
|
+
return lines.map(splitCsvLine);
|
|
52
|
+
}
|
|
53
|
+
export class CsvParserAdapter extends BaseComplexParserAdapter {
|
|
54
|
+
name = "csv_parser";
|
|
55
|
+
supports(ext) {
|
|
56
|
+
return SUPPORTED_CSV_EXTENSIONS.has(ext.toLowerCase());
|
|
57
|
+
}
|
|
58
|
+
async parseComplex(input) {
|
|
59
|
+
let raw;
|
|
60
|
+
try {
|
|
61
|
+
raw = fs.readFileSync(input.filePath, "utf-8");
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
throw new AppError(`CSV 文件读取失败:${path.basename(input.filePath)}`, APP_ERROR_CODES.PARSER_COMPLEX_CONTENT_UNREADABLE, { cause: error });
|
|
65
|
+
}
|
|
66
|
+
const rows = parseCsvContent(raw);
|
|
67
|
+
const blocks = [
|
|
68
|
+
{
|
|
69
|
+
kind: "sheet",
|
|
70
|
+
text: rows.map(row => row.join(" ")).join("\n"),
|
|
71
|
+
sheetName: path.basename(input.filePath, input.extension),
|
|
72
|
+
metadata: {
|
|
73
|
+
format: "csv",
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
kind: "table",
|
|
78
|
+
cells: rows,
|
|
79
|
+
metadata: {
|
|
80
|
+
rowCount: rows.length,
|
|
81
|
+
columnCount: rows.reduce((max, row) => Math.max(max, row.length), 0),
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
];
|
|
85
|
+
const text = rows.map(row => row.join(" ")).join("\n");
|
|
86
|
+
const title = path.basename(input.filePath, input.extension);
|
|
87
|
+
return {
|
|
88
|
+
title,
|
|
89
|
+
text,
|
|
90
|
+
summary: shortSummary(text),
|
|
91
|
+
parser: "csv",
|
|
92
|
+
metadata: {
|
|
93
|
+
adapter: this.name,
|
|
94
|
+
rowCount: rows.length,
|
|
95
|
+
columnCount: rows.reduce((max, row) => Math.max(max, row.length), 0),
|
|
96
|
+
},
|
|
97
|
+
structured: {
|
|
98
|
+
blocks,
|
|
99
|
+
stats: {
|
|
100
|
+
rowCount: rows.length,
|
|
101
|
+
columnCount: rows.reduce((max, row) => Math.max(max, row.length), 0),
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=csv-parser-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-parser-adapter.js","sourceRoot":"","sources":["../../../../../../../src/modules/affairs-indexer/core/src/parser/csv-parser-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEnD,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAK,GAAG,GAAG;IAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,QAAQ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC7B,OAAO,IAAI,GAAG,CAAC;gBACf,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3B,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,UAAU;SACrB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,eAAe,CAAC,iCAAiC,CAClD,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,OAAO,gBAAiB,SAAQ,wBAAwB;IACnD,IAAI,GAAG,YAAY,CAAC;IAE7B,QAAQ,CAAC,GAAW;QAClB,OAAO,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,KAAiB;QAC5C,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAChB,cAAc,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAC7C,eAAe,CAAC,iCAAiC,EACjD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAsB;YAChC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;gBACzD,QAAQ,EAAE;oBACR,MAAM,EAAE,KAAK;iBACd;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBACrE;aACF;SACF,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAE7D,OAAO;YACL,KAAK;YACL,IAAI;YACJ,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE;gBACR,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aACrE;YACD,UAAU,EAAE;gBACV,MAAM;gBACN,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBACrE;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
|