@jingyi0605/codingns 0.7.4 → 0.8.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/README.md +6 -0
- package/bin/codingns.mjs +747 -28
- package/bin/office-mcp-server.mjs +620 -0
- package/dist/public/assets/{AdaptiveButlerPage-CgBX49t-.js → AdaptiveButlerPage-b7s6F_sd.js} +1 -1
- package/dist/public/assets/{App-tXOqoHNl.js → App-B0q8uDA-.js} +3 -3
- package/dist/public/assets/{BootstrapPage-DoRMz87R.js → BootstrapPage-jFfl7KNK.js} +1 -1
- package/dist/public/assets/{ConversationPage-DXR6Hp4O.js → ConversationPage-sj_rn4q0.js} +6 -6
- package/dist/public/assets/{DesktopDetachPreviewPage-Cyk-ZYCk.js → DesktopDetachPreviewPage-C5c88SOX.js} +1 -1
- package/dist/public/assets/{DesktopWindowPage-DNVNK3hs.js → DesktopWindowPage-BdKUZrKG.js} +1 -1
- package/dist/public/assets/FileContextPanel-lM5mBcfn.js +1 -0
- package/dist/public/assets/{GitSidebar-Cr3Z9OUI.js → GitSidebar-CmXAhyjo.js} +2 -2
- package/dist/public/assets/{MobileCreateSessionSheet-DMW0V6GJ.js → MobileCreateSessionSheet-CceV0-AH.js} +1 -1
- package/dist/public/assets/{MobileTopHeaderFrame-CkdnZ_MU.js → MobileTopHeaderFrame-_I0t7cC_.js} +1 -1
- package/dist/public/assets/{MobileWorkspaceSwitcherHeader-KIbqBYJN.js → MobileWorkspaceSwitcherHeader-DhaM9fgx.js} +1 -1
- package/dist/public/assets/{RelayConnectEntryPage-DIRBH3hw.js → RelayConnectEntryPage-CMtDWyGS.js} +1 -1
- package/dist/public/assets/{ServerSettingsModal-C-9RxdWP.js → ServerSettingsModal-Rkgn3jft.js} +1 -1
- package/dist/public/assets/{SessionIndexPage-bRlIydRA.js → SessionIndexPage-BOumP3ij.js} +1 -1
- package/dist/public/assets/{SettingsPage-CMEt4ua9.js → SettingsPage-vx_c-00-.js} +2 -2
- package/dist/public/assets/{TerminalManagerPanel-2bi9wVhT.js → TerminalManagerPanel-D9JHCS6d.js} +1 -1
- package/dist/public/assets/{TerminalPage-DayZz2Tf.js → TerminalPage-CBIKHI33.js} +1 -1
- package/dist/public/assets/{TerminalRuntimeFallbackModal-DgwYcp-Y.js → TerminalRuntimeFallbackModal-W5NjqFEz.js} +1 -1
- package/dist/public/assets/{ToolFilesPage-YvnP_FXW.js → ToolFilesPage-DWtpaN_7.js} +1 -1
- package/dist/public/assets/{ToolGitPage-GMcQKtV9.js → ToolGitPage-MpGXsw4_.js} +1 -1
- package/dist/public/assets/{ToolProcessesPage-DFIQ7BCd.js → ToolProcessesPage-B1jHQKhZ.js} +1 -1
- package/dist/public/assets/{ToolsHomePage-CSilFzXR.js → ToolsHomePage-CJrn8ZFl.js} +1 -1
- package/dist/public/assets/{WorkbenchLandingPage-1VtToSz9.js → WorkbenchLandingPage-CJQ1V5U-.js} +1 -1
- package/dist/public/assets/WorkbenchLayout-D48i71PU.js +244 -0
- package/dist/public/assets/{WorkbenchModal-BWXYSXmC.js → WorkbenchModal-BYNuMIoV.js} +1 -1
- package/dist/public/assets/WorkbenchShellRoute-B4XB8SwG.css +1 -0
- package/dist/public/assets/WorkbenchShellRoute-CGKjy4J-.js +1 -0
- package/dist/public/assets/{WorkspaceDebugDetailPage-Ux8_Q7la.js → WorkspaceDebugDetailPage-DCAYgays.js} +1 -1
- package/dist/public/assets/{WorkspaceDetailPage-B402p99m.js → WorkspaceDetailPage-D5v-nUIi.js} +1 -1
- package/dist/public/assets/{WorkspaceHomePage-D2pob6HI.js → WorkspaceHomePage-I5G1p5SR.js} +1 -1
- package/dist/public/assets/{client-runtime-manager-C5D76ewj.js → client-runtime-manager-CdJP7nUp.js} +1 -1
- package/dist/public/assets/file-tree-icon-BFwaPxKs.js +590 -0
- package/dist/public/assets/index-CjewzOUG.js +42 -0
- package/dist/public/assets/index-VVxfF0s5.css +1 -0
- package/dist/public/assets/{login-direct-candidate-resolver-wXSaB0i7.js → login-direct-candidate-resolver-C-mo698r.js} +1 -1
- package/dist/public/assets/{model-switch-api-CPtou49j.js → model-switch-api-Br0ivfe5.js} +1 -1
- package/dist/public/assets/{preferences-service-CdaK7zA8.js → preferences-service-CnaTvZq2.js} +1 -1
- package/dist/public/assets/{realtime-client-BjQazYsK.js → realtime-client-BlQRqVmm.js} +1 -1
- package/dist/public/assets/{relay-entry-BwE5nw0l.js → relay-entry-D7OgZZN-.js} +1 -1
- package/dist/public/assets/{terminal-runtime-meta-C-Lbyx2i.js → terminal-runtime-meta-BCtAYB0E.js} +1 -1
- package/dist/public/assets/{useRegisteredDebugTemplates-BM7-c-gx.js → useRegisteredDebugTemplates-CXmxu69X.js} +1 -1
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.d.ts +3 -0
- package/dist/server/config/env.js +67 -1
- package/dist/server/config/env.js.map +1 -1
- package/dist/server/config/opencode-base-url-resolver.d.ts +3 -2
- package/dist/server/config/opencode-base-url-resolver.js +64 -24
- package/dist/server/config/opencode-base-url-resolver.js.map +1 -1
- package/dist/server/main.js +2 -0
- package/dist/server/main.js.map +1 -1
- package/dist/server/middlewares/auth-guard.js +4 -0
- package/dist/server/middlewares/auth-guard.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +169 -1
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js +206 -4
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +297 -2
- package/dist/server/modules/assistant-capability/assistant-capability-service.js +873 -3
- package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
- package/dist/server/modules/auth/auth-service.d.ts +21 -1
- package/dist/server/modules/auth/auth-service.js +64 -0
- package/dist/server/modules/auth/auth-service.js.map +1 -1
- package/dist/server/modules/browser-runtime/browser-profile-service.d.ts +26 -0
- package/dist/server/modules/browser-runtime/browser-profile-service.js +85 -0
- package/dist/server/modules/browser-runtime/browser-profile-service.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-runtime-controller.d.ts +70 -0
- package/dist/server/modules/browser-runtime/browser-runtime-controller.js +84 -0
- package/dist/server/modules/browser-runtime/browser-runtime-controller.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-runtime-service.d.ts +59 -0
- package/dist/server/modules/browser-runtime/browser-runtime-service.js +255 -0
- package/dist/server/modules/browser-runtime/browser-runtime-service.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-task-execution-support.d.ts +65 -0
- package/dist/server/modules/browser-runtime/browser-task-execution-support.js +432 -0
- package/dist/server/modules/browser-runtime/browser-task-execution-support.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-task-executor-registry.d.ts +7 -0
- package/dist/server/modules/browser-runtime/browser-task-executor-registry.js +21 -0
- package/dist/server/modules/browser-runtime/browser-task-executor-registry.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-task-executor.d.ts +55 -0
- package/dist/server/modules/browser-runtime/browser-task-executor.js +2 -0
- package/dist/server/modules/browser-runtime/browser-task-executor.js.map +1 -0
- package/dist/server/modules/browser-runtime/browser-task-payload.d.ts +33 -0
- package/dist/server/modules/browser-runtime/browser-task-payload.js +55 -0
- package/dist/server/modules/browser-runtime/browser-task-payload.js.map +1 -0
- package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.d.ts +19 -0
- package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.js +219 -0
- package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.js.map +1 -0
- package/dist/server/modules/browser-runtime/opencli-browser-bridge-service.d.ts +15 -0
- package/dist/server/modules/browser-runtime/opencli-browser-bridge-service.js +33 -0
- package/dist/server/modules/browser-runtime/opencli-browser-bridge-service.js.map +1 -0
- package/dist/server/modules/browser-runtime/playwright-browser-executor.d.ts +16 -0
- package/dist/server/modules/browser-runtime/playwright-browser-executor.js +272 -0
- package/dist/server/modules/browser-runtime/playwright-browser-executor.js.map +1 -0
- package/dist/server/modules/butler/butler-auth-service.js +4 -0
- package/dist/server/modules/butler/butler-auth-service.js.map +1 -1
- package/dist/server/modules/butler/butler-inbox-instruction-adapter.js +1 -0
- package/dist/server/modules/butler/butler-inbox-instruction-adapter.js.map +1 -1
- package/dist/server/modules/butler/butler-session-summary-service.d.ts +1 -0
- package/dist/server/modules/butler/butler-session-summary-service.js +5 -3
- package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
- package/dist/server/modules/butler/butler-workspace-context.js +23 -0
- package/dist/server/modules/butler/butler-workspace-context.js.map +1 -1
- package/dist/server/modules/debug-target/debug-target-service.d.ts +2 -0
- package/dist/server/modules/debug-target/debug-target-service.js +14 -0
- package/dist/server/modules/debug-target/debug-target-service.js.map +1 -1
- package/dist/server/modules/document-runtime/document-docx-fallback-renderer.py +139 -0
- package/dist/server/modules/document-runtime/document-export-executor.d.ts +50 -0
- package/dist/server/modules/document-runtime/document-export-executor.js +827 -0
- package/dist/server/modules/document-runtime/document-export-executor.js.map +1 -0
- package/dist/server/modules/document-runtime/document-runtime-controller.d.ts +127 -0
- package/dist/server/modules/document-runtime/document-runtime-controller.js +131 -0
- package/dist/server/modules/document-runtime/document-runtime-controller.js.map +1 -0
- package/dist/server/modules/document-runtime/document-runtime-service.d.ts +125 -0
- package/dist/server/modules/document-runtime/document-runtime-service.js +706 -0
- package/dist/server/modules/document-runtime/document-runtime-service.js.map +1 -0
- package/dist/server/modules/git/git-command-helper-process.js +0 -18
- package/dist/server/modules/git/git-command-helper-process.js.map +1 -1
- package/dist/server/modules/git/git-command-runner.js +0 -18
- package/dist/server/modules/git/git-command-runner.js.map +1 -1
- package/dist/server/modules/office/office-controller.d.ts +77 -0
- package/dist/server/modules/office/office-controller.js +174 -0
- package/dist/server/modules/office/office-controller.js.map +1 -0
- package/dist/server/modules/office/office-preview-link-service.d.ts +27 -0
- package/dist/server/modules/office/office-preview-link-service.js +121 -0
- package/dist/server/modules/office/office-preview-link-service.js.map +1 -0
- package/dist/server/modules/office/office-service.d.ts +67 -0
- package/dist/server/modules/office/office-service.js +359 -0
- package/dist/server/modules/office/office-service.js.map +1 -0
- package/dist/server/modules/opencli/opencli-bridge-skill-service.js +38 -14
- package/dist/server/modules/opencli/opencli-bridge-skill-service.js.map +1 -1
- package/dist/server/modules/opencli/opencli-install-discovery.d.ts +4 -0
- package/dist/server/modules/opencli/opencli-install-discovery.js +94 -0
- package/dist/server/modules/opencli/opencli-install-discovery.js.map +1 -1
- package/dist/server/modules/opencli/opencli-runtime-builder.js +29 -0
- package/dist/server/modules/opencli/opencli-runtime-builder.js.map +1 -1
- package/dist/server/modules/opencli/opencli-runtime-guard.d.ts +2 -0
- package/dist/server/modules/opencli/opencli-runtime-guard.js +5 -0
- package/dist/server/modules/opencli/opencli-runtime-guard.js.map +1 -0
- package/dist/server/modules/ops-runtime/ops-runtime-controller.d.ts +70 -0
- package/dist/server/modules/ops-runtime/ops-runtime-controller.js +83 -0
- package/dist/server/modules/ops-runtime/ops-runtime-controller.js.map +1 -0
- package/dist/server/modules/ops-runtime/ops-runtime-service.d.ts +80 -0
- package/dist/server/modules/ops-runtime/ops-runtime-service.js +327 -0
- package/dist/server/modules/ops-runtime/ops-runtime-service.js.map +1 -0
- package/dist/server/modules/ops-runtime/ssh-ops-executor.d.ts +41 -0
- package/dist/server/modules/ops-runtime/ssh-ops-executor.js +478 -0
- package/dist/server/modules/ops-runtime/ssh-ops-executor.js.map +1 -0
- package/dist/server/modules/presentation/presentation-controller.d.ts +22 -0
- package/dist/server/modules/presentation/presentation-controller.js +59 -0
- package/dist/server/modules/presentation/presentation-controller.js.map +1 -0
- package/dist/server/modules/presentation/presentation-export-task-service.d.ts +24 -0
- package/dist/server/modules/presentation/presentation-export-task-service.js +137 -0
- package/dist/server/modules/presentation/presentation-export-task-service.js.map +1 -0
- package/dist/server/modules/presentation/presentation-export-types.d.ts +12 -0
- package/dist/server/modules/presentation/presentation-export-types.js +2 -0
- package/dist/server/modules/presentation/presentation-export-types.js.map +1 -0
- package/dist/server/modules/presentation/presentation-pdf-export-service.d.ts +20 -0
- package/dist/server/modules/presentation/presentation-pdf-export-service.js +29 -0
- package/dist/server/modules/presentation/presentation-pdf-export-service.js.map +1 -0
- package/dist/server/modules/presentation/presentation-pptx-export-service.d.ts +20 -0
- package/dist/server/modules/presentation/presentation-pptx-export-service.js +64 -0
- package/dist/server/modules/presentation/presentation-pptx-export-service.js.map +1 -0
- package/dist/server/modules/presentation/presentation-renderer.d.ts +21 -0
- package/dist/server/modules/presentation/presentation-renderer.js +208 -0
- package/dist/server/modules/presentation/presentation-renderer.js.map +1 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js +3 -3
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js.map +1 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +6 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -1
- package/dist/server/modules/sessions/codex-app-server-helper-process.js +2 -1
- 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 +59 -4
- package/dist/server/modules/sessions/session-controller.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.js +17 -5
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +5 -1
- package/dist/server/modules/sessions/session-live-runtime-service.js +129 -8
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-config-service.d.ts +25 -1
- package/dist/server/modules/sessions/session-provider-config-service.js +54 -5
- package/dist/server/modules/sessions/session-provider-config-service.js.map +1 -1
- package/dist/server/modules/sessions/workspace-office-mcp-config.d.ts +14 -0
- package/dist/server/modules/sessions/workspace-office-mcp-config.js +54 -0
- package/dist/server/modules/sessions/workspace-office-mcp-config.js.map +1 -0
- package/dist/server/modules/sessions/workspace-session-auth-service.d.ts +27 -0
- package/dist/server/modules/sessions/workspace-session-auth-service.js +109 -0
- package/dist/server/modules/sessions/workspace-session-auth-service.js.map +1 -0
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.d.ts +51 -0
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.js +341 -0
- package/dist/server/modules/sessions/workspace-session-runtime-context-service.js.map +1 -0
- package/dist/server/modules/skills/assistant-runtime-skill-catalog.js +5 -0
- package/dist/server/modules/skills/assistant-runtime-skill-catalog.js.map +1 -1
- package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/SKILL.md +67 -0
- package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/agents/openai.yaml +4 -0
- package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/references/cli-workflow.md +133 -0
- package/dist/server/modules/skills/skill-controller.d.ts +7 -0
- package/dist/server/modules/skills/skill-controller.js +7 -0
- package/dist/server/modules/skills/skill-controller.js.map +1 -1
- package/dist/server/modules/skills/skill-manager-service.d.ts +61 -0
- package/dist/server/modules/skills/skill-manager-service.js +218 -0
- package/dist/server/modules/skills/skill-manager-service.js.map +1 -1
- package/dist/server/modules/skills/skill-name-policy.js +2 -1
- package/dist/server/modules/skills/skill-name-policy.js.map +1 -1
- package/dist/server/modules/tasks/task-helper-client.d.ts +1 -0
- package/dist/server/modules/tasks/task-helper-client.js +45 -9
- package/dist/server/modules/tasks/task-helper-client.js.map +1 -1
- package/dist/server/modules/tasks/task-types.d.ts +5 -0
- package/dist/server/modules/tasks/task-types.js +6 -1
- package/dist/server/modules/tasks/task-types.js.map +1 -1
- package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js +2 -1
- package/dist/server/modules/terminal/runtime/conpty-session-agent-process.js.map +1 -1
- package/dist/server/modules/terminal/runtime/node-pty-loader.d.ts +5 -0
- package/dist/server/modules/terminal/runtime/node-pty-loader.js +68 -0
- package/dist/server/modules/terminal/runtime/node-pty-loader.js.map +1 -0
- package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js +2 -1
- package/dist/server/modules/terminal/runtime/pty-broker-agent-process.js.map +1 -1
- package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js +6 -9
- package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js.map +1 -1
- package/dist/server/modules/terminal/runtime/pty-runtime-manager.js +6 -9
- package/dist/server/modules/terminal/runtime/pty-runtime-manager.js.map +1 -1
- package/dist/server/routes/assistant.d.ts +2 -1
- package/dist/server/routes/assistant.js +20 -1
- package/dist/server/routes/assistant.js.map +1 -1
- package/dist/server/routes/browser-runtime.d.ts +3 -0
- package/dist/server/routes/browser-runtime.js +14 -0
- package/dist/server/routes/browser-runtime.js.map +1 -0
- package/dist/server/routes/document-runtime.d.ts +3 -0
- package/dist/server/routes/document-runtime.js +18 -0
- package/dist/server/routes/document-runtime.js.map +1 -0
- package/dist/server/routes/office.d.ts +3 -0
- package/dist/server/routes/office.js +16 -0
- package/dist/server/routes/office.js.map +1 -0
- package/dist/server/routes/ops-runtime.d.ts +3 -0
- package/dist/server/routes/ops-runtime.js +13 -0
- package/dist/server/routes/ops-runtime.js.map +1 -0
- package/dist/server/routes/presentation.d.ts +3 -0
- package/dist/server/routes/presentation.js +5 -0
- package/dist/server/routes/presentation.js.map +1 -0
- package/dist/server/routes/skills.js +1 -0
- package/dist/server/routes/skills.js.map +1 -1
- package/dist/server/server/create-server.d.ts +36 -0
- package/dist/server/server/create-server.js +215 -4
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/server/release-manifest-sync.d.ts +1 -0
- package/dist/server/server/release-manifest-sync.js +2 -2
- package/dist/server/server/release-manifest-sync.js.map +1 -1
- package/dist/server/server/start-host.js +1 -1
- package/dist/server/server/start-host.js.map +1 -1
- package/dist/server/shared/http/error-handler.js +53 -19
- package/dist/server/shared/http/error-handler.js.map +1 -1
- package/dist/server/shared/utils/install-console-timestamp-prefix.d.ts +1 -0
- package/dist/server/shared/utils/install-console-timestamp-prefix.js +28 -0
- package/dist/server/shared/utils/install-console-timestamp-prefix.js.map +1 -0
- package/dist/server/storage/repositories/auth-token-repository.js +22 -6
- package/dist/server/storage/repositories/auth-token-repository.js.map +1 -1
- package/dist/server/storage/repositories/browser-profile-repository.d.ts +18 -0
- package/dist/server/storage/repositories/browser-profile-repository.js +134 -0
- package/dist/server/storage/repositories/browser-profile-repository.js.map +1 -0
- package/dist/server/storage/repositories/document-comment-repository.d.ts +10 -0
- package/dist/server/storage/repositories/document-comment-repository.js +118 -0
- package/dist/server/storage/repositories/document-comment-repository.js.map +1 -0
- package/dist/server/storage/repositories/document-repository.d.ts +16 -0
- package/dist/server/storage/repositories/document-repository.js +109 -0
- package/dist/server/storage/repositories/document-repository.js.map +1 -0
- package/dist/server/storage/repositories/document-revision-repository.d.ts +10 -0
- package/dist/server/storage/repositories/document-revision-repository.js +79 -0
- package/dist/server/storage/repositories/document-revision-repository.js.map +1 -0
- package/dist/server/storage/repositories/document-template-repository.d.ts +13 -0
- package/dist/server/storage/repositories/document-template-repository.js +244 -0
- package/dist/server/storage/repositories/document-template-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-approval-repository.d.ts +11 -0
- package/dist/server/storage/repositories/office-approval-repository.js +109 -0
- package/dist/server/storage/repositories/office-approval-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-artifact-repository.d.ts +10 -0
- package/dist/server/storage/repositories/office-artifact-repository.js +89 -0
- package/dist/server/storage/repositories/office-artifact-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-audit-event-repository.d.ts +8 -0
- package/dist/server/storage/repositories/office-audit-event-repository.js +54 -0
- package/dist/server/storage/repositories/office-audit-event-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-connector-repository.d.ts +10 -0
- package/dist/server/storage/repositories/office-connector-repository.js +97 -0
- package/dist/server/storage/repositories/office-connector-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-receipt-repository.d.ts +8 -0
- package/dist/server/storage/repositories/office-receipt-repository.js +48 -0
- package/dist/server/storage/repositories/office-receipt-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-rollback-record-repository.d.ts +8 -0
- package/dist/server/storage/repositories/office-rollback-record-repository.js +60 -0
- package/dist/server/storage/repositories/office-rollback-record-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-task-repository.d.ts +19 -0
- package/dist/server/storage/repositories/office-task-repository.js +199 -0
- package/dist/server/storage/repositories/office-task-repository.js.map +1 -0
- package/dist/server/storage/repositories/office-task-step-repository.d.ts +10 -0
- package/dist/server/storage/repositories/office-task-step-repository.js +110 -0
- package/dist/server/storage/repositories/office-task-step-repository.js.map +1 -0
- package/dist/server/storage/repositories/ops-target-repository.d.ts +16 -0
- package/dist/server/storage/repositories/ops-target-repository.js +119 -0
- package/dist/server/storage/repositories/ops-target-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-binding-repository.d.ts +4 -0
- package/dist/server/storage/repositories/session-binding-repository.js +70 -69
- package/dist/server/storage/repositories/session-binding-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-changed-file-repository.d.ts +6 -0
- package/dist/server/storage/repositories/session-changed-file-repository.js +44 -43
- package/dist/server/storage/repositories/session-changed-file-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-fork-repository.d.ts +2 -0
- package/dist/server/storage/repositories/session-fork-repository.js +42 -41
- package/dist/server/storage/repositories/session-fork-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-index-repository.d.ts +5 -0
- package/dist/server/storage/repositories/session-index-repository.js +153 -152
- package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-message-attachment-repository.d.ts +7 -0
- package/dist/server/storage/repositories/session-message-attachment-repository.js +91 -90
- package/dist/server/storage/repositories/session-message-attachment-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-message-origin-repository.d.ts +2 -0
- package/dist/server/storage/repositories/session-message-origin-repository.js +25 -24
- package/dist/server/storage/repositories/session-message-origin-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-state-repository.d.ts +2 -0
- package/dist/server/storage/repositories/session-state-repository.js +35 -34
- package/dist/server/storage/repositories/session-state-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-status-snapshot-repository.d.ts +2 -0
- package/dist/server/storage/repositories/session-status-snapshot-repository.js +25 -24
- package/dist/server/storage/repositories/session-status-snapshot-repository.js.map +1 -1
- package/dist/server/storage/sqlite/client.js +123 -1
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +300 -1
- package/dist/server/types/domain.d.ts +205 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +3 -2
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +26 -19
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
- package/package.json +17 -8
- package/scripts/postinstall.mjs +159 -7
- package/vendor/node-pty-fork/LICENSE +69 -0
- package/vendor/node-pty-fork/README.md +91 -0
- package/vendor/node-pty-fork/binding.gyp +117 -0
- package/vendor/node-pty-fork/deps/.editorconfig +2 -0
- package/vendor/node-pty-fork/deps/winpty/.drone.yml +17 -0
- package/vendor/node-pty-fork/deps/winpty/.gitattributes +19 -0
- package/vendor/node-pty-fork/deps/winpty/LICENSE +21 -0
- package/vendor/node-pty-fork/deps/winpty/Makefile +166 -0
- package/vendor/node-pty-fork/deps/winpty/README.md +151 -0
- package/vendor/node-pty-fork/deps/winpty/RELEASES.md +280 -0
- package/vendor/node-pty-fork/deps/winpty/VERSION.txt +1 -0
- package/vendor/node-pty-fork/deps/winpty/configure +167 -0
- package/vendor/node-pty-fork/deps/winpty/misc/BufferResizeTests.cc +90 -0
- package/vendor/node-pty-fork/deps/winpty/misc/ChangeScreenBuffer.cc +53 -0
- package/vendor/node-pty-fork/deps/winpty/misc/ClearConsole.cc +72 -0
- package/vendor/node-pty-fork/deps/winpty/misc/ConinMode.cc +117 -0
- package/vendor/node-pty-fork/deps/winpty/misc/ConinMode.ps1 +116 -0
- package/vendor/node-pty-fork/deps/winpty/misc/ConoutMode.cc +113 -0
- package/vendor/node-pty-fork/deps/winpty/misc/DebugClient.py +42 -0
- package/vendor/node-pty-fork/deps/winpty/misc/DebugServer.py +63 -0
- package/vendor/node-pty-fork/deps/winpty/misc/DumpLines.py +5 -0
- package/vendor/node-pty-fork/deps/winpty/misc/EnableExtendedFlags.txt +46 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Font-Report-June2016/CP437-Consolas.txt +528 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Font-Report-June2016/CP437-Lucida.txt +633 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Font-Report-June2016/CP932.txt +630 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Font-Report-June2016/CP936.txt +630 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Font-Report-June2016/CP949.txt +630 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Font-Report-June2016/CP950.txt +630 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Font-Report-June2016/MinimumWindowWidths.txt +16 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Font-Report-June2016/Results.txt +4 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Font-Report-June2016/Windows10SetFontBugginess.txt +144 -0
- package/vendor/node-pty-fork/deps/winpty/misc/FontSurvey.cc +100 -0
- package/vendor/node-pty-fork/deps/winpty/misc/FormatChar.h +21 -0
- package/vendor/node-pty-fork/deps/winpty/misc/FreezePerfTest.cc +62 -0
- package/vendor/node-pty-fork/deps/winpty/misc/GetCh.cc +20 -0
- package/vendor/node-pty-fork/deps/winpty/misc/GetConsolePos.cc +41 -0
- package/vendor/node-pty-fork/deps/winpty/misc/GetFont.cc +261 -0
- package/vendor/node-pty-fork/deps/winpty/misc/IdentifyConsoleWindow.ps1 +51 -0
- package/vendor/node-pty-fork/deps/winpty/misc/IsNewConsole.cc +87 -0
- package/vendor/node-pty-fork/deps/winpty/misc/MouseInputNotes.txt +90 -0
- package/vendor/node-pty-fork/deps/winpty/misc/MoveConsoleWindow.cc +34 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Notes.txt +219 -0
- package/vendor/node-pty-fork/deps/winpty/misc/OSVersion.cc +27 -0
- package/vendor/node-pty-fork/deps/winpty/misc/ScreenBufferFreezeInactive.cc +101 -0
- package/vendor/node-pty-fork/deps/winpty/misc/ScreenBufferTest.cc +671 -0
- package/vendor/node-pty-fork/deps/winpty/misc/ScreenBufferTest2.cc +151 -0
- package/vendor/node-pty-fork/deps/winpty/misc/SelectAllTest.cc +45 -0
- package/vendor/node-pty-fork/deps/winpty/misc/SetBufferSize.cc +32 -0
- package/vendor/node-pty-fork/deps/winpty/misc/SetCursorPos.cc +10 -0
- package/vendor/node-pty-fork/deps/winpty/misc/SetFont.cc +145 -0
- package/vendor/node-pty-fork/deps/winpty/misc/SetWindowRect.cc +36 -0
- package/vendor/node-pty-fork/deps/winpty/misc/ShowArgv.cc +12 -0
- package/vendor/node-pty-fork/deps/winpty/misc/ShowConsoleInput.cc +40 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Spew.py +5 -0
- package/vendor/node-pty-fork/deps/winpty/misc/TestUtil.cc +172 -0
- package/vendor/node-pty-fork/deps/winpty/misc/UnicodeDoubleWidthTest.cc +102 -0
- package/vendor/node-pty-fork/deps/winpty/misc/UnicodeWideTest1.cc +246 -0
- package/vendor/node-pty-fork/deps/winpty/misc/UnicodeWideTest2.cc +130 -0
- package/vendor/node-pty-fork/deps/winpty/misc/UnixEcho.cc +89 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Utf16Echo.cc +46 -0
- package/vendor/node-pty-fork/deps/winpty/misc/VeryLargeRead.cc +122 -0
- package/vendor/node-pty-fork/deps/winpty/misc/VkEscapeTest.cc +56 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Win10ResizeWhileFrozen.cc +52 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Win10WrapTest1.cc +57 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Win10WrapTest2.cc +30 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Win32Echo1.cc +26 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Win32Echo2.cc +19 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Win32Test1.cc +46 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Win32Test2.cc +70 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Win32Test3.cc +78 -0
- package/vendor/node-pty-fork/deps/winpty/misc/Win32Write1.cc +44 -0
- package/vendor/node-pty-fork/deps/winpty/misc/WindowsBugCrashReader.cc +27 -0
- package/vendor/node-pty-fork/deps/winpty/misc/WriteConsole.cc +106 -0
- package/vendor/node-pty-fork/deps/winpty/misc/build32.sh +9 -0
- package/vendor/node-pty-fork/deps/winpty/misc/build64.sh +9 -0
- package/vendor/node-pty-fork/deps/winpty/misc/color-test.sh +212 -0
- package/vendor/node-pty-fork/deps/winpty/misc/font-notes.txt +300 -0
- package/vendor/node-pty-fork/deps/winpty/misc/winbug-15048.cc +201 -0
- package/vendor/node-pty-fork/deps/winpty/ship/build-pty4j-libpty.bat +36 -0
- package/vendor/node-pty-fork/deps/winpty/ship/common_ship.py +53 -0
- package/vendor/node-pty-fork/deps/winpty/ship/make_msvc_package.py +165 -0
- package/vendor/node-pty-fork/deps/winpty/ship/ship.py +108 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Agent.cc +605 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Agent.h +103 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/AgentCreateDesktop.cc +84 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/AgentCreateDesktop.h +28 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/ConsoleFont.cc +632 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/ConsoleFont.h +28 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/ConsoleInput.cc +852 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/ConsoleInput.h +109 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/ConsoleInputReencoding.cc +121 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/ConsoleInputReencoding.h +36 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/ConsoleLine.cc +152 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/ConsoleLine.h +41 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Coord.h +87 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/DebugShowInput.cc +239 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/DebugShowInput.h +32 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/DefaultInputMap.cc +422 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/DefaultInputMap.h +28 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/DsrSender.h +30 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/EventLoop.cc +99 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/EventLoop.h +47 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/InputMap.cc +246 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/InputMap.h +114 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/LargeConsoleRead.cc +71 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/LargeConsoleRead.h +68 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/NamedPipe.cc +378 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/NamedPipe.h +125 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Scraper.cc +699 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Scraper.h +103 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/SimplePool.h +75 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/SmallRect.h +143 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Terminal.cc +535 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Terminal.h +69 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/UnicodeEncoding.h +157 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/UnicodeEncodingTest.cc +189 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Win32Console.cc +107 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Win32Console.h +67 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Win32ConsoleBuffer.cc +193 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/Win32ConsoleBuffer.h +99 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/main.cc +114 -0
- package/vendor/node-pty-fork/deps/winpty/src/agent/subdir.mk +61 -0
- package/vendor/node-pty-fork/deps/winpty/src/configurations.gypi +60 -0
- package/vendor/node-pty-fork/deps/winpty/src/debugserver/DebugServer.cc +117 -0
- package/vendor/node-pty-fork/deps/winpty/src/debugserver/subdir.mk +41 -0
- package/vendor/node-pty-fork/deps/winpty/src/include/winpty.h +242 -0
- package/vendor/node-pty-fork/deps/winpty/src/include/winpty_constants.h +131 -0
- package/vendor/node-pty-fork/deps/winpty/src/libwinpty/AgentLocation.cc +75 -0
- package/vendor/node-pty-fork/deps/winpty/src/libwinpty/AgentLocation.h +28 -0
- package/vendor/node-pty-fork/deps/winpty/src/libwinpty/LibWinptyException.h +54 -0
- package/vendor/node-pty-fork/deps/winpty/src/libwinpty/WinptyInternal.h +72 -0
- package/vendor/node-pty-fork/deps/winpty/src/libwinpty/subdir.mk +46 -0
- package/vendor/node-pty-fork/deps/winpty/src/libwinpty/winpty.cc +970 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/AgentMsg.h +38 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/BackgroundDesktop.cc +122 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/BackgroundDesktop.h +73 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/Buffer.cc +103 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/Buffer.h +102 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/DebugClient.cc +187 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/DebugClient.h +38 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/GenRandom.cc +138 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/GenRandom.h +55 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/GetCommitHash.bat +13 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/Mutex.h +54 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/OsModule.h +63 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/OwnedHandle.cc +36 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/OwnedHandle.h +45 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/PrecompiledHeader.h +43 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/StringBuilder.h +227 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/StringBuilderTest.cc +114 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/StringUtil.cc +55 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/StringUtil.h +80 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/TimeMeasurement.h +63 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/UnixCtrlChars.h +45 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/UpdateGenVersion.bat +20 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/WindowsSecurity.cc +460 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/WindowsSecurity.h +104 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/WindowsVersion.cc +252 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/WindowsVersion.h +29 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/WinptyAssert.cc +55 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/WinptyAssert.h +64 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/WinptyException.cc +57 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/WinptyException.h +43 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/WinptyVersion.cc +42 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/WinptyVersion.h +27 -0
- package/vendor/node-pty-fork/deps/winpty/src/shared/winpty_snprintf.h +99 -0
- package/vendor/node-pty-fork/deps/winpty/src/subdir.mk +5 -0
- package/vendor/node-pty-fork/deps/winpty/src/tests/subdir.mk +28 -0
- package/vendor/node-pty-fork/deps/winpty/src/tests/trivial_test.cc +158 -0
- package/vendor/node-pty-fork/deps/winpty/src/unix-adapter/InputHandler.cc +114 -0
- package/vendor/node-pty-fork/deps/winpty/src/unix-adapter/InputHandler.h +56 -0
- package/vendor/node-pty-fork/deps/winpty/src/unix-adapter/OutputHandler.cc +80 -0
- package/vendor/node-pty-fork/deps/winpty/src/unix-adapter/OutputHandler.h +53 -0
- package/vendor/node-pty-fork/deps/winpty/src/unix-adapter/Util.cc +86 -0
- package/vendor/node-pty-fork/deps/winpty/src/unix-adapter/Util.h +31 -0
- package/vendor/node-pty-fork/deps/winpty/src/unix-adapter/WakeupFd.cc +70 -0
- package/vendor/node-pty-fork/deps/winpty/src/unix-adapter/WakeupFd.h +42 -0
- package/vendor/node-pty-fork/deps/winpty/src/unix-adapter/main.cc +729 -0
- package/vendor/node-pty-fork/deps/winpty/src/unix-adapter/subdir.mk +41 -0
- package/vendor/node-pty-fork/deps/winpty/src/winpty.gyp +206 -0
- package/vendor/node-pty-fork/deps/winpty/vcbuild.bat +83 -0
- package/vendor/node-pty-fork/lib/conpty_console_list_agent.js +20 -0
- package/vendor/node-pty-fork/lib/conpty_console_list_agent.js.map +1 -0
- package/vendor/node-pty-fork/lib/eventEmitter2.js +47 -0
- package/vendor/node-pty-fork/lib/eventEmitter2.js.map +1 -0
- package/vendor/node-pty-fork/lib/eventEmitter2.test.js +30 -0
- package/vendor/node-pty-fork/lib/eventEmitter2.test.js.map +1 -0
- package/vendor/node-pty-fork/lib/index.js +51 -0
- package/vendor/node-pty-fork/lib/index.js.map +1 -0
- package/vendor/node-pty-fork/lib/interfaces.js +7 -0
- package/vendor/node-pty-fork/lib/interfaces.js.map +1 -0
- package/vendor/node-pty-fork/lib/shared/conout.js +11 -0
- package/vendor/node-pty-fork/lib/shared/conout.js.map +1 -0
- package/vendor/node-pty-fork/lib/terminal.js +190 -0
- package/vendor/node-pty-fork/lib/terminal.js.map +1 -0
- package/vendor/node-pty-fork/lib/terminal.test.js +139 -0
- package/vendor/node-pty-fork/lib/terminal.test.js.map +1 -0
- package/vendor/node-pty-fork/lib/testUtils.test.js +28 -0
- package/vendor/node-pty-fork/lib/testUtils.test.js.map +1 -0
- package/vendor/node-pty-fork/lib/types.js +7 -0
- package/vendor/node-pty-fork/lib/types.js.map +1 -0
- package/vendor/node-pty-fork/lib/unixTerminal.js +304 -0
- package/vendor/node-pty-fork/lib/unixTerminal.js.map +1 -0
- package/vendor/node-pty-fork/lib/unixTerminal.test.js +330 -0
- package/vendor/node-pty-fork/lib/unixTerminal.test.js.map +1 -0
- package/vendor/node-pty-fork/lib/utils.js +17 -0
- package/vendor/node-pty-fork/lib/utils.js.map +1 -0
- package/vendor/node-pty-fork/lib/windowsConoutConnection.js +122 -0
- package/vendor/node-pty-fork/lib/windowsConoutConnection.js.map +1 -0
- package/vendor/node-pty-fork/lib/windowsPtyAgent.js +324 -0
- package/vendor/node-pty-fork/lib/windowsPtyAgent.js.map +1 -0
- package/vendor/node-pty-fork/lib/windowsPtyAgent.test.js +90 -0
- package/vendor/node-pty-fork/lib/windowsPtyAgent.test.js.map +1 -0
- package/vendor/node-pty-fork/lib/windowsTerminal.js +201 -0
- package/vendor/node-pty-fork/lib/windowsTerminal.js.map +1 -0
- package/vendor/node-pty-fork/lib/windowsTerminal.test.js +203 -0
- package/vendor/node-pty-fork/lib/windowsTerminal.test.js.map +1 -0
- package/vendor/node-pty-fork/lib/worker/conoutSocketWorker.js +22 -0
- package/vendor/node-pty-fork/lib/worker/conoutSocketWorker.js.map +1 -0
- package/vendor/node-pty-fork/package.json +35 -0
- package/vendor/node-pty-fork/scripts/apply-patches.mjs +341 -0
- package/vendor/node-pty-fork/scripts/fetch-upstream.mjs +41 -0
- package/vendor/node-pty-fork/scripts/install-smoke.cjs +59 -0
- package/vendor/node-pty-fork/scripts/smoke-load.cjs +10 -0
- package/vendor/node-pty-fork/scripts/sync-upstream.mjs +29 -0
- package/vendor/node-pty-fork/scripts/verify-runtime.cjs +54 -0
- package/vendor/node-pty-fork/scripts/verify-runtime.test.cjs +22 -0
- package/vendor/node-pty-fork/scripts/verify-tarball.cjs +80 -0
- package/vendor/node-pty-fork/src/conpty_console_list_agent.ts +19 -0
- package/vendor/node-pty-fork/src/eventEmitter2.test.ts +30 -0
- package/vendor/node-pty-fork/src/eventEmitter2.ts +48 -0
- package/vendor/node-pty-fork/src/index.ts +51 -0
- package/vendor/node-pty-fork/src/interfaces.ts +129 -0
- package/vendor/node-pty-fork/src/native.d.ts +56 -0
- package/vendor/node-pty-fork/src/shared/conout.ts +15 -0
- package/vendor/node-pty-fork/src/terminal.test.ts +119 -0
- package/vendor/node-pty-fork/src/terminal.ts +211 -0
- package/vendor/node-pty-fork/src/testUtils.test.ts +23 -0
- package/vendor/node-pty-fork/src/tsconfig.json +22 -0
- package/vendor/node-pty-fork/src/types.ts +15 -0
- package/vendor/node-pty-fork/src/unix/pty.cc +826 -0
- package/vendor/node-pty-fork/src/unix/spawn-helper.cc +23 -0
- package/vendor/node-pty-fork/src/unixTerminal.test.ts +335 -0
- package/vendor/node-pty-fork/src/unixTerminal.ts +320 -0
- package/vendor/node-pty-fork/src/utils.ts +9 -0
- package/vendor/node-pty-fork/src/win/conpty.cc +500 -0
- package/vendor/node-pty-fork/src/win/conpty_console_list.cc +43 -0
- package/vendor/node-pty-fork/src/win/path_util.cc +73 -0
- package/vendor/node-pty-fork/src/win/path_util.h +22 -0
- package/vendor/node-pty-fork/src/win/winpty.cc +322 -0
- package/vendor/node-pty-fork/src/windowsConoutConnection.ts +79 -0
- package/vendor/node-pty-fork/src/windowsPtyAgent.test.ts +94 -0
- package/vendor/node-pty-fork/src/windowsPtyAgent.ts +323 -0
- package/vendor/node-pty-fork/src/windowsTerminal.test.ts +214 -0
- package/vendor/node-pty-fork/src/windowsTerminal.ts +208 -0
- package/vendor/node-pty-fork/src/worker/conoutSocketWorker.ts +22 -0
- package/vendor/node-pty-fork/typings/node-pty.d.ts +203 -0
- package/dist/public/assets/FileContextPanel-xGTYDclT.js +0 -1
- package/dist/public/assets/WorkbenchLayout-DScHaza9.js +0 -244
- package/dist/public/assets/WorkbenchShellRoute-DN6LdrqC.js +0 -1
- package/dist/public/assets/WorkbenchShellRoute-DhQo_0vu.css +0 -1
- package/dist/public/assets/file-tree-icon-lfU9Ag77.js +0 -3
- package/dist/public/assets/index-CFYXCsyx.css +0 -1
- package/dist/public/assets/index-NGxWr8Ix.js +0 -42
- package/dist/server/modules/channels/wechat-claw-client.d.ts +0 -51
- package/dist/server/modules/channels/wechat-claw-client.js +0 -245
- package/dist/server/modules/channels/wechat-claw-client.js.map +0 -1
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { resolveBuiltinSkillDirectory } from "../skills/builtin-skill-service.js";
|
|
4
|
+
import { CODINGNS_OPENCLI_BLOCK_BROWSER_DEPENDENT_COMMANDS_ENV } from "../opencli/opencli-runtime-guard.js";
|
|
5
|
+
import { buildWorkspaceOfficeMcpCommandArgs, CODEX_WORKSPACE_OFFICE_MCP_ENABLE_ENV, CODINGNS_OFFICE_MCP_AUTH_FILE_ENV, WORKSPACE_OFFICE_MCP_NAME } from "./workspace-office-mcp-config.js";
|
|
6
|
+
const WORKSPACE_SESSION_ASSISTANT_FILE = "WORKSPACE_SESSION_ASSISTANT.md";
|
|
7
|
+
const WORKSPACE_SESSION_SKILL_DIRECTORY = "codingns-workspace-session";
|
|
8
|
+
const WORKSPACE_SESSION_COMPOSED_INSTRUCTION_FILE = "WORKSPACE_SESSION_COMPOSED.md";
|
|
9
|
+
export class WorkspaceSessionRuntimeContextService {
|
|
10
|
+
workspaceSessionAuthService;
|
|
11
|
+
options;
|
|
12
|
+
constructor(workspaceSessionAuthService, options = {}) {
|
|
13
|
+
this.workspaceSessionAuthService = workspaceSessionAuthService;
|
|
14
|
+
this.options = options;
|
|
15
|
+
}
|
|
16
|
+
syncRuntimeContext(input) {
|
|
17
|
+
const credential = this.workspaceSessionAuthService.ensureWorkspaceCredential({
|
|
18
|
+
runtimeHomeDir: input.runtimeHomeDir,
|
|
19
|
+
userId: input.userId,
|
|
20
|
+
workspaceId: input.workspaceId,
|
|
21
|
+
projectId: input.projectId ?? null,
|
|
22
|
+
sessionId: input.sessionId
|
|
23
|
+
});
|
|
24
|
+
const authFilePath = this.workspaceSessionAuthService.getCredentialFilePath(input.runtimeHomeDir);
|
|
25
|
+
const instructionPath = path.join(input.runtimeHomeDir, input.provider === "claude-code" ? "CLAUDE.md" : WORKSPACE_SESSION_ASSISTANT_FILE);
|
|
26
|
+
fs.mkdirSync(input.runtimeHomeDir, { recursive: true });
|
|
27
|
+
syncProviderRuntimeBase(input.runtimeHomeDir, input.provider, this.options);
|
|
28
|
+
syncWorkspaceSessionSkill(input.runtimeHomeDir);
|
|
29
|
+
fs.writeFileSync(instructionPath, `${buildWorkspaceAssistantInstructions({
|
|
30
|
+
workspaceId: input.workspaceId,
|
|
31
|
+
projectId: input.projectId ?? null,
|
|
32
|
+
authFilePath
|
|
33
|
+
})}\n`, "utf8");
|
|
34
|
+
// 这里保留一份显式可读认证信息,供 CLI 自动发现或运行时环境变量指向。
|
|
35
|
+
fs.writeFileSync(authFilePath, `${JSON.stringify(credential, null, 2)}\n`, "utf8");
|
|
36
|
+
configureWorkspaceOfficeMcpRuntime(input.runtimeHomeDir, {
|
|
37
|
+
provider: input.provider,
|
|
38
|
+
authFilePath
|
|
39
|
+
});
|
|
40
|
+
configureWorkspaceInstructionRuntime(input.runtimeHomeDir, {
|
|
41
|
+
provider: input.provider,
|
|
42
|
+
instructionFilePath: instructionPath
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
authFilePath,
|
|
46
|
+
instructionFilePath: instructionPath,
|
|
47
|
+
runtimeHomeDir: input.runtimeHomeDir,
|
|
48
|
+
runtimeEnv: buildWorkspaceSessionRuntimeEnv(input.provider, authFilePath, instructionPath)
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
syncRuntimeOfficeMcpContext(input) {
|
|
52
|
+
const credential = this.workspaceSessionAuthService.ensureWorkspaceCredential({
|
|
53
|
+
runtimeHomeDir: input.runtimeHomeDir,
|
|
54
|
+
userId: input.userId,
|
|
55
|
+
workspaceId: input.workspaceId,
|
|
56
|
+
projectId: input.projectId ?? null,
|
|
57
|
+
sessionId: input.sessionId
|
|
58
|
+
});
|
|
59
|
+
const authFilePath = this.workspaceSessionAuthService.getCredentialFilePath(input.runtimeHomeDir);
|
|
60
|
+
fs.mkdirSync(input.runtimeHomeDir, { recursive: true });
|
|
61
|
+
// 这里只保留工作区 scoped auth 文件本身。
|
|
62
|
+
// Codex 的 office MCP 现在改成 helper 启动 `codex app-server` 时临时注入 `-c mcp_servers...`,
|
|
63
|
+
// 不再写入真实 home 的 config.toml,也不改 transcript/home 落盘语义。
|
|
64
|
+
fs.writeFileSync(authFilePath, `${JSON.stringify(credential, null, 2)}\n`, "utf8");
|
|
65
|
+
syncWorkspaceSessionSkill(input.runtimeHomeDir);
|
|
66
|
+
configureWorkspaceOfficeMcpRuntime(input.runtimeHomeDir, {
|
|
67
|
+
provider: input.provider,
|
|
68
|
+
authFilePath
|
|
69
|
+
});
|
|
70
|
+
return {
|
|
71
|
+
authFilePath,
|
|
72
|
+
runtimeHomeDir: input.runtimeHomeDir
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
prepareWorkspaceInstructionBundle(input) {
|
|
76
|
+
const runtimeHomeDir = resolveWorkspaceSessionRuntimeArtifactDir({
|
|
77
|
+
workspacePath: input.workspacePath,
|
|
78
|
+
workspaceId: input.workspaceId,
|
|
79
|
+
sessionId: input.sessionId,
|
|
80
|
+
runtimeStorageRootDir: this.options.runtimeStorageRootDir
|
|
81
|
+
});
|
|
82
|
+
const credential = this.workspaceSessionAuthService.ensureWorkspaceCredential({
|
|
83
|
+
runtimeHomeDir,
|
|
84
|
+
userId: input.userId,
|
|
85
|
+
workspaceId: input.workspaceId,
|
|
86
|
+
projectId: input.projectId ?? null,
|
|
87
|
+
sessionId: input.sessionId
|
|
88
|
+
});
|
|
89
|
+
const authFilePath = this.workspaceSessionAuthService.getCredentialFilePath(runtimeHomeDir);
|
|
90
|
+
fs.mkdirSync(runtimeHomeDir, { recursive: true });
|
|
91
|
+
syncProviderRuntimeBase(runtimeHomeDir, input.provider, this.options);
|
|
92
|
+
syncWorkspaceSessionSkill(runtimeHomeDir);
|
|
93
|
+
const baseInstruction = `${buildWorkspaceAssistantInstructions({
|
|
94
|
+
workspaceId: input.workspaceId,
|
|
95
|
+
projectId: input.projectId ?? null,
|
|
96
|
+
authFilePath
|
|
97
|
+
})}\n`;
|
|
98
|
+
const workspaceAgentsPath = path.join(input.workspacePath, "AGENTS.md");
|
|
99
|
+
const composedInstructionPath = path.join(runtimeHomeDir, WORKSPACE_SESSION_COMPOSED_INSTRUCTION_FILE);
|
|
100
|
+
const composedInstruction = composeWorkspaceInstructionDocument({
|
|
101
|
+
workspaceAgentsPath,
|
|
102
|
+
workspaceInstruction: baseInstruction,
|
|
103
|
+
instructionOverlay: input.instructionOverlay ?? null
|
|
104
|
+
});
|
|
105
|
+
fs.writeFileSync(authFilePath, `${JSON.stringify(credential, null, 2)}\n`, "utf8");
|
|
106
|
+
fs.writeFileSync(composedInstructionPath, composedInstruction, "utf8");
|
|
107
|
+
configureWorkspaceOfficeMcpRuntime(runtimeHomeDir, {
|
|
108
|
+
provider: input.provider,
|
|
109
|
+
authFilePath
|
|
110
|
+
});
|
|
111
|
+
configureWorkspaceInstructionRuntime(runtimeHomeDir, {
|
|
112
|
+
provider: input.provider,
|
|
113
|
+
instructionFilePath: composedInstructionPath
|
|
114
|
+
});
|
|
115
|
+
return {
|
|
116
|
+
authFilePath,
|
|
117
|
+
instructionFilePath: composedInstructionPath,
|
|
118
|
+
runtimeHomeDir,
|
|
119
|
+
runtimeEnv: buildWorkspaceSessionRuntimeEnv(input.provider, authFilePath, composedInstructionPath)
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function resolveWorkspaceSessionRuntimeArtifactDir(input) {
|
|
124
|
+
const globalRuntimeRootDir = input.runtimeStorageRootDir?.trim() ?? "";
|
|
125
|
+
if (globalRuntimeRootDir) {
|
|
126
|
+
return path.join(globalRuntimeRootDir, "workspace-session-runtime", input.workspaceId, input.sessionId);
|
|
127
|
+
}
|
|
128
|
+
return path.join(input.workspacePath, ".codingns", "workspace-session-runtime", input.sessionId);
|
|
129
|
+
}
|
|
130
|
+
function syncWorkspaceSessionSkill(runtimeHomeDir) {
|
|
131
|
+
const sourceDir = resolveBuiltinSkillDirectory(WORKSPACE_SESSION_SKILL_DIRECTORY);
|
|
132
|
+
const targetSkillsDir = path.join(runtimeHomeDir, "skills");
|
|
133
|
+
const targetDir = path.join(targetSkillsDir, WORKSPACE_SESSION_SKILL_DIRECTORY);
|
|
134
|
+
fs.mkdirSync(targetSkillsDir, { recursive: true });
|
|
135
|
+
fs.cpSync(sourceDir, targetDir, { recursive: true });
|
|
136
|
+
}
|
|
137
|
+
function syncProviderRuntimeBase(runtimeHomeDir, provider, options) {
|
|
138
|
+
switch (provider) {
|
|
139
|
+
case "codex":
|
|
140
|
+
syncCodexRuntimeBase(runtimeHomeDir, options.codexHomeDir);
|
|
141
|
+
return;
|
|
142
|
+
case "claude-code":
|
|
143
|
+
syncClaudeRuntimeBase(runtimeHomeDir, options.claudeCodeHomeDir);
|
|
144
|
+
return;
|
|
145
|
+
default:
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function syncCodexRuntimeBase(runtimeHomeDir, codexHomeDir) {
|
|
150
|
+
const sourceHomeDir = codexHomeDir?.trim() ?? "";
|
|
151
|
+
if (!sourceHomeDir || path.resolve(sourceHomeDir) === path.resolve(runtimeHomeDir)) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
syncOptionalFile(path.join(sourceHomeDir, "auth.json"), path.join(runtimeHomeDir, "auth.json"));
|
|
155
|
+
syncOptionalDirectory(path.join(sourceHomeDir, "skills"), path.join(runtimeHomeDir, "skills"));
|
|
156
|
+
const sourceConfigPath = path.join(sourceHomeDir, "config.toml");
|
|
157
|
+
if (fs.existsSync(sourceConfigPath) && fs.statSync(sourceConfigPath).isFile()) {
|
|
158
|
+
const targetConfigPath = path.join(runtimeHomeDir, "config.toml");
|
|
159
|
+
if (!fs.existsSync(targetConfigPath)) {
|
|
160
|
+
fs.copyFileSync(sourceConfigPath, targetConfigPath);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
function syncClaudeRuntimeBase(runtimeHomeDir, claudeCodeHomeDir) {
|
|
165
|
+
const sourceHomeDir = claudeCodeHomeDir?.trim() ?? "";
|
|
166
|
+
if (!sourceHomeDir || path.resolve(sourceHomeDir) === path.resolve(runtimeHomeDir)) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
syncOptionalFile(path.join(sourceHomeDir, "config.json"), path.join(runtimeHomeDir, "config.json"));
|
|
170
|
+
syncOptionalFile(path.join(sourceHomeDir, "project-config.json"), path.join(runtimeHomeDir, "project-config.json"));
|
|
171
|
+
syncOptionalFile(path.join(sourceHomeDir, "settings.json"), path.join(runtimeHomeDir, "settings.json"));
|
|
172
|
+
syncOptionalFile(path.join(sourceHomeDir, "settings.local.json"), path.join(runtimeHomeDir, "settings.local.json"));
|
|
173
|
+
syncOptionalDirectory(path.join(sourceHomeDir, "plugins"), path.join(runtimeHomeDir, "plugins"));
|
|
174
|
+
syncOptionalDirectory(path.join(sourceHomeDir, "skills"), path.join(runtimeHomeDir, "skills"));
|
|
175
|
+
}
|
|
176
|
+
function configureWorkspaceInstructionRuntime(runtimeHomeDir, input) {
|
|
177
|
+
if (input.provider === "codex") {
|
|
178
|
+
const configPath = path.join(runtimeHomeDir, "config.toml");
|
|
179
|
+
if (fs.existsSync(configPath) && fs.statSync(configPath).isFile()) {
|
|
180
|
+
const current = fs.readFileSync(configPath, "utf8");
|
|
181
|
+
const lines = current
|
|
182
|
+
.split(/\r?\n/)
|
|
183
|
+
.filter((line) => !line.trim().startsWith("model_instructions_file"));
|
|
184
|
+
lines.push(`model_instructions_file = ${JSON.stringify(input.instructionFilePath)}`);
|
|
185
|
+
fs.writeFileSync(configPath, `${lines.filter((line) => line.length > 0).join("\n")}\n`, "utf8");
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
function syncOptionalFile(sourcePath, targetPath) {
|
|
190
|
+
if (!fs.existsSync(sourcePath) || !fs.statSync(sourcePath).isFile()) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
fs.mkdirSync(path.dirname(targetPath), { recursive: true });
|
|
194
|
+
fs.copyFileSync(sourcePath, targetPath);
|
|
195
|
+
}
|
|
196
|
+
function syncOptionalDirectory(sourcePath, targetPath) {
|
|
197
|
+
if (!fs.existsSync(sourcePath) || !fs.statSync(sourcePath).isDirectory()) {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
fs.mkdirSync(path.dirname(targetPath), { recursive: true });
|
|
201
|
+
fs.cpSync(sourcePath, targetPath, { recursive: true });
|
|
202
|
+
}
|
|
203
|
+
function configureWorkspaceOfficeMcpRuntime(runtimeHomeDir, input) {
|
|
204
|
+
switch (input.provider) {
|
|
205
|
+
case "codex":
|
|
206
|
+
return;
|
|
207
|
+
case "claude-code":
|
|
208
|
+
upsertClaudeMcpConfig(runtimeHomeDir, input.authFilePath);
|
|
209
|
+
return;
|
|
210
|
+
case "opencode":
|
|
211
|
+
upsertOpenCodeMcpConfig(runtimeHomeDir, input.authFilePath);
|
|
212
|
+
return;
|
|
213
|
+
default:
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
function upsertClaudeMcpConfig(runtimeHomeDir, authFilePath) {
|
|
218
|
+
const configPath = path.join(runtimeHomeDir, ".claude.json");
|
|
219
|
+
const parsed = readJsonObject(configPath);
|
|
220
|
+
const mcpCommandArgs = buildWorkspaceOfficeMcpCommandArgs(authFilePath);
|
|
221
|
+
const next = {
|
|
222
|
+
...parsed,
|
|
223
|
+
mcpServers: {
|
|
224
|
+
...(isPlainObject(parsed.mcpServers) ? parsed.mcpServers : {}),
|
|
225
|
+
[WORKSPACE_OFFICE_MCP_NAME]: {
|
|
226
|
+
type: "stdio",
|
|
227
|
+
command: process.execPath,
|
|
228
|
+
args: mcpCommandArgs,
|
|
229
|
+
env: {
|
|
230
|
+
[CODINGNS_OFFICE_MCP_AUTH_FILE_ENV]: authFilePath
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
fs.writeFileSync(configPath, `${JSON.stringify(next, null, 2)}\n`, "utf8");
|
|
236
|
+
}
|
|
237
|
+
function upsertOpenCodeMcpConfig(runtimeHomeDir, authFilePath) {
|
|
238
|
+
const configPath = path.join(runtimeHomeDir, "opencode.json");
|
|
239
|
+
const parsed = readJsonObject(configPath);
|
|
240
|
+
const mcpCommandArgs = buildWorkspaceOfficeMcpCommandArgs(authFilePath);
|
|
241
|
+
const next = {
|
|
242
|
+
...parsed,
|
|
243
|
+
mcp: {
|
|
244
|
+
...(isPlainObject(parsed.mcp) ? parsed.mcp : {}),
|
|
245
|
+
[WORKSPACE_OFFICE_MCP_NAME]: {
|
|
246
|
+
type: "local",
|
|
247
|
+
enabled: true,
|
|
248
|
+
command: [
|
|
249
|
+
process.execPath,
|
|
250
|
+
...mcpCommandArgs
|
|
251
|
+
],
|
|
252
|
+
environment: {
|
|
253
|
+
[CODINGNS_OFFICE_MCP_AUTH_FILE_ENV]: authFilePath
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
fs.writeFileSync(configPath, `${JSON.stringify(next, null, 2)}\n`, "utf8");
|
|
259
|
+
}
|
|
260
|
+
function readJsonObject(filePath) {
|
|
261
|
+
if (!fs.existsSync(filePath) || !fs.statSync(filePath).isFile()) {
|
|
262
|
+
return {};
|
|
263
|
+
}
|
|
264
|
+
try {
|
|
265
|
+
const parsed = JSON.parse(fs.readFileSync(filePath, "utf8"));
|
|
266
|
+
return isPlainObject(parsed) ? parsed : {};
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
return {};
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
function isPlainObject(value) {
|
|
273
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
274
|
+
}
|
|
275
|
+
function buildWorkspaceAssistantInstructions(input) {
|
|
276
|
+
return `# 工作区会话助手规则
|
|
277
|
+
|
|
278
|
+
- 当前会话是工作区普通会话,不是 Butler 控制面,也不是全局管理员。
|
|
279
|
+
- 当前受控范围固定为 workspaceId=\`${input.workspaceId}\`${input.projectId ? `,projectId=\`${input.projectId}\`` : ""}。
|
|
280
|
+
- 助手正式能力必须优先走 \`codingns assistant ...\` 或对应 \`/api/assistant/*\` 入口,不要自己拼私有 HTTP。
|
|
281
|
+
- 文档操作优先走 \`assistant office.document.*\`。
|
|
282
|
+
- 浏览器操作优先走 \`assistant office.browser.*\`。
|
|
283
|
+
- 当前工作区会话已经暴露正式浏览器入口命令:\`codingns assistant office browser-profile-list\`、\`codingns assistant office browser-profile-create\`、\`codingns assistant office browser-task-create\`、\`codingns assistant office browser-task-get\`。
|
|
284
|
+
- 只要任务属于打开网页、登录网站、抓取页面、读取 DOM、截图、提交表单、下载文件这一类真实网页操作,默认先用 \`assistant office.browser.task.create\`,不要先落到 Codex 自带 Browser。
|
|
285
|
+
- 如果当前会话同时还能看到 \`$codingns-opencli\`,不要被它里面的站点命令带偏:公开页面、公开榜单、公开帖子、公开趋势数据才考虑它;登录态、验证码、订单、购物车、个人账户、后台页面、表单提交、下载文件、点击页面控件、复用人工已登录 Chrome/Edge 这类任务必须走 \`office.browser.*\`。
|
|
286
|
+
- 就算 \`codingns-opencli\` 里存在 \`taobao/*\`、\`jd/*\` 这类 browser-dependent 命令,也不能把它们当成工作区真实站点任务的默认入口。
|
|
287
|
+
- 涉及登录、验证码、二次确认弹窗、复杂前端站点、必须复用现有 Chrome/Edge 登录态这几类任务时,创建浏览器任务优先显式传 \`executionBackend=opencli_bridge\`,不要继续默认无头浏览器。
|
|
288
|
+
- 当 \`executionBackend=opencli_bridge\` 时,\`browser-task-create\` 可以不传 \`profileId\`;这条链路会直接走无感浏览器桥接,不再依赖 Profile。
|
|
289
|
+
- 只有任务本身明显适合无头执行,或者用户明确要求无头链路时,才继续使用默认 \`playwright\`。
|
|
290
|
+
- \`browser-task-create --input-json\` 必须传 JSON 对象,不要猜私有 body。最小模板直接照抄:\`{"startUrl":"https://example.invalid","actions":[{"type":"read_dom"}]}\`。
|
|
291
|
+
- 浏览器动作类型当前只支持:\`goto\`、\`click\`、\`fill\`、\`press\`、\`select\`、\`upload\`、\`download\`、\`wait\`、\`read_dom\`、\`extract_text\`、\`screenshot\`。
|
|
292
|
+
- 常见模板:打开页面读 DOM 用 \`{"startUrl":"https://target.example","actions":[{"type":"read_dom"}]}\`;打开页面截图用 \`{"startUrl":"https://target.example","actions":[{"type":"screenshot","fullPage":true}]}\`;等待后再读用 \`{"startUrl":"https://target.example","actions":[{"type":"wait","timeoutMs":3000},{"type":"read_dom"}]}\`。
|
|
293
|
+
- 不要回答“当前环境没有浏览器能力”或“没有暴露浏览器能力”;对真实站点任务,先查上面这组 \`codingns assistant office ...\` 命令的 \`--help\` 或直接调用它们。
|
|
294
|
+
- 只有本地预览、开发调试 \`localhost\` / \`127.0.0.1\` / \`::1\`,或用户明确要求当前 in-app browser 时,才优先使用 Codex 自带 Browser。
|
|
295
|
+
- 真实浏览器任务的最小顺序是:优先直接用 \`assistant office.browser.task.create\` 并显式传 \`executionBackend=opencli_bridge\`;只有用户明确要求无头 \`playwright\`,或者要手工管理独立浏览器资料目录时,再先查/建 Profile。
|
|
296
|
+
- 遇到真实站点浏览器任务,先查 \`browser-task-create --help\` 或工作区专用 skill 里的模板,不要退回去翻源码、编译产物或自己拼接口路径。
|
|
297
|
+
- 运维任务优先走 \`assistant office.ops.*\`。
|
|
298
|
+
- 新建终端优先走 \`assistant terminals create\`。
|
|
299
|
+
- 默认可直接执行只读型终端/浏览器操作;仅在会产生写入、删除、提交、支付、发布、merge、修改系统状态的操作前征得用户确认。
|
|
300
|
+
- 不要尝试跨工作区、跨项目,或调用当前未开放能力。
|
|
301
|
+
- 当前工作区会话 scoped 认证文件:\`${input.authFilePath}\`。
|
|
302
|
+
`;
|
|
303
|
+
}
|
|
304
|
+
function composeWorkspaceInstructionDocument(input) {
|
|
305
|
+
const sections = [];
|
|
306
|
+
if (fs.existsSync(input.workspaceAgentsPath) && fs.statSync(input.workspaceAgentsPath).isFile()) {
|
|
307
|
+
const workspaceAgentsContent = fs.readFileSync(input.workspaceAgentsPath, "utf8").trim();
|
|
308
|
+
if (workspaceAgentsContent.length > 0) {
|
|
309
|
+
sections.push(workspaceAgentsContent);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
sections.push(`# 工作区会话附加规则
|
|
313
|
+
|
|
314
|
+
下面这段规则由 Host 在工作区会话启动时显式注入,只对当前工作区会话生效。
|
|
315
|
+
|
|
316
|
+
${input.workspaceInstruction.trim()}`);
|
|
317
|
+
const normalizedOverlay = input.instructionOverlay?.trim() ?? "";
|
|
318
|
+
if (normalizedOverlay.length > 0) {
|
|
319
|
+
sections.push(`# 工作区会话临时规则
|
|
320
|
+
|
|
321
|
+
下面这段规则只针对当前这次用户消息生效,用来约束命中的任务类型,不改项目里的 AGENTS.md。
|
|
322
|
+
|
|
323
|
+
${normalizedOverlay}`);
|
|
324
|
+
}
|
|
325
|
+
return `${sections.join("\n\n")}\n`;
|
|
326
|
+
}
|
|
327
|
+
function buildWorkspaceSessionRuntimeEnv(provider, authFilePath, instructionFilePath) {
|
|
328
|
+
const runtimeEnv = {
|
|
329
|
+
CODINGNS_AUTH_FILE: authFilePath,
|
|
330
|
+
BUTLER_AUTH_FILE: authFilePath,
|
|
331
|
+
WORKSPACE_SESSION_AUTH_FILE: authFilePath,
|
|
332
|
+
WORKSPACE_SESSION_ASSISTANT_FILE: instructionFilePath,
|
|
333
|
+
[CODINGNS_OFFICE_MCP_AUTH_FILE_ENV]: authFilePath
|
|
334
|
+
};
|
|
335
|
+
if (provider === "codex") {
|
|
336
|
+
runtimeEnv[CODEX_WORKSPACE_OFFICE_MCP_ENABLE_ENV] = "1";
|
|
337
|
+
}
|
|
338
|
+
runtimeEnv[CODINGNS_OPENCLI_BLOCK_BROWSER_DEPENDENT_COMMANDS_ENV] = "1";
|
|
339
|
+
return runtimeEnv;
|
|
340
|
+
}
|
|
341
|
+
//# sourceMappingURL=workspace-session-runtime-context-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-session-runtime-context-service.js","sourceRoot":"","sources":["../../../../src/modules/sessions/workspace-session-runtime-context-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,11 @@ const ASSISTANT_RUNTIME_SKILL_SPECS = [
|
|
|
7
7
|
name: "codingns-assistant",
|
|
8
8
|
directoryName: "codingns-assistant",
|
|
9
9
|
usedByTargetCli: ["codex", "claude-code"]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: "codingns-workspace-session",
|
|
13
|
+
directoryName: "codingns-workspace-session",
|
|
14
|
+
usedByTargetCli: ["codex", "claude-code"]
|
|
10
15
|
}
|
|
11
16
|
];
|
|
12
17
|
export function listAssistantRuntimeSkills() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-runtime-skill-catalog.js","sourceRoot":"","sources":["../../../../src/modules/skills/assistant-runtime-skill-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAWzC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CACnC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,gBAAgB,CACjB,CAAC;AAEF,MAAM,6BAA6B,GAAqE;IACtG;QACE,IAAI,EAAE,oBAAoB;QAC1B,aAAa,EAAE,oBAAoB;QACnC,eAAe,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;KAC1C;CACF,CAAC;AAEF,MAAM,UAAU,0BAA0B;IACxC,OAAO,6BAA6B;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,UAAU;SACX,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAA6C,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChF,CAAC"}
|
|
1
|
+
{"version":3,"file":"assistant-runtime-skill-catalog.js","sourceRoot":"","sources":["../../../../src/modules/skills/assistant-runtime-skill-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAWzC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CACnC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,gBAAgB,CACjB,CAAC;AAEF,MAAM,6BAA6B,GAAqE;IACtG;QACE,IAAI,EAAE,oBAAoB;QAC1B,aAAa,EAAE,oBAAoB;QACnC,eAAe,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;KAC1C;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,aAAa,EAAE,4BAA4B;QAC3C,eAAe,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;KAC1C;CACF,CAAC;AAEF,MAAM,UAAU,0BAA0B;IACxC,OAAO,6BAA6B;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,UAAU;SACX,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAA6C,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: codingns-workspace-session
|
|
3
|
+
description: Use when running inside a CodingNS 工作区会话。This skill no longer teaches the full CLI surface; it only defines workspace-scoped routing and safety rules, while formal office capabilities are exposed through MCP tools.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# CodingNS Workspace Session
|
|
7
|
+
|
|
8
|
+
## 概述
|
|
9
|
+
|
|
10
|
+
这套 Skill 只服务工作区普通会话,不服务 Butler 助手控制面。
|
|
11
|
+
|
|
12
|
+
工作区会话里的正式能力优先来自运行时已经挂载的 MCP / tool schema;这份 Skill 只负责路由和安全规则,不再承担整套 CLI 教程。
|
|
13
|
+
|
|
14
|
+
不要自己拼私有 HTTP,不要脑补不存在的跨工作区能力,不要为了“找能力”退回去翻源码和编译产物。
|
|
15
|
+
|
|
16
|
+
## 工作区边界
|
|
17
|
+
|
|
18
|
+
- 当前会话只能在当前 `workspaceId`,以及可选的当前 `projectId` 范围内行动。
|
|
19
|
+
- 不要尝试跨工作区、跨项目调用能力。
|
|
20
|
+
- 能力是否可用,以当前 runtime 已暴露的 MCP 工具或 `codingns assistant capabilities list` 的真实返回为准。
|
|
21
|
+
- 默认可直接执行只读型终端/浏览器操作;仅在会产生写入、删除、提交、支付、发布、merge、修改系统状态的操作前征得用户确认。
|
|
22
|
+
|
|
23
|
+
## 办公能力路由
|
|
24
|
+
|
|
25
|
+
- 文档产物、模板导出、结构化文档更新:优先走 `office.document.*`。
|
|
26
|
+
- 真实站点网页、企业后台、登录流程、页面抓取、表单提交、下载文件:优先走 `office.browser.*`。
|
|
27
|
+
- SSH 主机、浏览器运维目标、远程任务:优先走 `office.ops.*`。
|
|
28
|
+
- 终端只处理当前工作区里的本地命令和调试,不替代正式浏览器/运维入口。
|
|
29
|
+
|
|
30
|
+
## 浏览器意图分流规则
|
|
31
|
+
|
|
32
|
+
- 命中以下意图时,默认先走 `office.browser.*`,不要先退回本地 Browser 或源码探测:
|
|
33
|
+
- 打开网页
|
|
34
|
+
- 登录网站
|
|
35
|
+
- 抓取页面内容
|
|
36
|
+
- 读取 DOM / 标题 / 主要区块
|
|
37
|
+
- 截图
|
|
38
|
+
- 点按钮、切标签、翻页
|
|
39
|
+
- 填表单、提交表单
|
|
40
|
+
- 下载文件
|
|
41
|
+
- 只有下面这些场景,才优先保留 Codex 自带 Browser:
|
|
42
|
+
- 本地预览 `localhost` / `127.0.0.1` / `::1`
|
|
43
|
+
- 检查当前 Codex 内嵌浏览器里已经打开的本地页面
|
|
44
|
+
- 前端开发调试、热更新验证、UI 冒烟检查
|
|
45
|
+
- 用户明确点名要用 Browser / in-app browser / 当前浏览器标签
|
|
46
|
+
- 如果任务既像“网页操作”又像“本地前端调试”,先看目标 URL:
|
|
47
|
+
- `localhost` / `127.0.0.1` / `::1`:优先 Codex Browser
|
|
48
|
+
- 其他真实站点或内网地址:优先 `office.browser.*`
|
|
49
|
+
- 如果当前会话同时还能看到 `$codingns-opencli`,不要被它里面的站点命令带偏:
|
|
50
|
+
- 公开页面、公开榜单、公开帖子、公开趋势数据:可以考虑 `codingns-opencli`
|
|
51
|
+
- 登录态、验证码、订单、购物车、个人账户、后台页面、表单提交、下载文件、点击页面控件、复用人工已登录 Chrome/Edge:一律不要直接运行 browser-dependent 的 OpenCLI 命令,必须走 `office.browser.*`
|
|
52
|
+
- 就算 `codingns-opencli` 里存在 `taobao/*`、`jd/*` 这类 browser-dependent 命令,也不能把它们当成工作区真实站点任务的默认入口。
|
|
53
|
+
- 如果是真实站点登录、验证码、二次确认弹窗、复杂前端交互、必须复用人工已登录 Chrome/Edge 登录态,创建浏览器任务时优先显式传 `executionBackend=opencli_bridge`。
|
|
54
|
+
- 只有页面明显适合无头执行,或者用户明确要求无头链路时,才继续用默认 `playwright`。
|
|
55
|
+
|
|
56
|
+
## 默认工作流
|
|
57
|
+
|
|
58
|
+
1. 先看当前 runtime 已暴露的 MCP 工具;必要时再用 `codingns assistant capabilities list` 复核。
|
|
59
|
+
2. 命中文档类意图时,优先 `office.document.*`。
|
|
60
|
+
3. 命中真实网页类意图时,优先 `office.browser.*`。
|
|
61
|
+
4. 命中远程运维类意图时,优先 `office.ops.*`。
|
|
62
|
+
5. 只有本地 `localhost` / `127.0.0.1` / `::1` 页面调试,才优先 Codex 自带 Browser。
|
|
63
|
+
6. 需要本地命令执行时,先新建终端;只读命令可直接执行,只有会产生写入、删除、提交、支付、发布、merge、修改系统状态的命令才先征得用户确认。
|
|
64
|
+
|
|
65
|
+
## 资源
|
|
66
|
+
|
|
67
|
+
- `references/cli-workflow.md`:保留最小 CLI 兜底参考,主要用于 MCP 不可用时排障。
|
package/dist/server/modules/skills/builtin-skills/codingns-workspace-session/agents/openai.yaml
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "CodingNS Workspace Session"
|
|
3
|
+
short_description: "工作区会话专用 Skill,默认把真实网页操作收口到 office.browser.*"
|
|
4
|
+
default_prompt: "Use $codingns-workspace-session inside CodingNS workspace sessions. Treat `office.browser.*` as the default first-class entry for real website operations such as open/login/scrape/form-submit/download. If `$codingns-opencli` is also present, only use it for public data collection; do not use browser-dependent OpenCLI site commands for login/account/order/admin tasks. For login/captcha/complex real sites/reusing human Chrome or Edge state, prefer `office.browser.*` with `executionBackend=opencli_bridge`. Only use the built-in Browser first for localhost or explicit in-app browser debugging."
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# CodingNS Workspace Session CLI Workflow
|
|
2
|
+
|
|
3
|
+
## 1. 总原则
|
|
4
|
+
|
|
5
|
+
- 先确认当前工作区会话开放了哪些能力,再决定调用哪一组命令。
|
|
6
|
+
- 不自己拼私有 HTTP。
|
|
7
|
+
- 不跨工作区、不跨项目。
|
|
8
|
+
- 不知道参数时先查 help,不要硬猜。
|
|
9
|
+
- 不要回答“当前环境没有浏览器能力”;真实站点浏览器任务默认先走下面这组 `codingns assistant office ...` 命令。
|
|
10
|
+
|
|
11
|
+
## 2. 先查哪些 help
|
|
12
|
+
|
|
13
|
+
全局入口:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
codingns assistant --help
|
|
17
|
+
codingns assistant help workspaces
|
|
18
|
+
codingns assistant help projects
|
|
19
|
+
codingns assistant help sessions
|
|
20
|
+
codingns assistant help terminals
|
|
21
|
+
codingns assistant help office
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
按动作查询:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
codingns assistant capabilities list --help
|
|
28
|
+
codingns assistant terminals create --help
|
|
29
|
+
codingns assistant office browser-profile-list --help
|
|
30
|
+
codingns assistant office browser-profile-create --help
|
|
31
|
+
codingns assistant office browser-task-create --help
|
|
32
|
+
codingns assistant office browser-task-get --help
|
|
33
|
+
codingns assistant office document-create --help
|
|
34
|
+
codingns assistant office ops-target-create --help
|
|
35
|
+
codingns assistant office ops-ssh-task-create --help
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## 3. 浏览器类正式工作流
|
|
39
|
+
|
|
40
|
+
先看有没有可复用 Profile:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
codingns assistant office browser-profile-list [--workspace-id <workspaceId>] [--token <token>]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
没有合适 Profile 时再创建:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
codingns assistant office browser-profile-create --engine chrome --mode persistent --display-name "办公 Chrome" [--workspace-id <workspaceId>] [--token <token>]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
随后创建并执行浏览器任务:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
codingns assistant office browser-task-create --profile-id <profileId> --execute true --input-json '{"startUrl":"https://example.invalid","actions":[{"type":"read_dom"},{"type":"screenshot","fullPage":true}]}' [--token <token>]
|
|
56
|
+
codingns assistant office browser-task-get <taskId> [--token <token>]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
如果是登录、验证码、复杂真实站点、必须复用现有浏览器登录态,优先显式指定真实浏览器调试后端:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
codingns assistant office browser-task-create --profile-id <profileId> --execution-backend opencli_bridge --execute true --input-json '{"startUrl":"https://target.example/login","actions":[{"type":"read_dom"},{"type":"screenshot","fullPage":true}]}' [--token <token>]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`browser-task-create --input-json` 的最小格式不要猜,直接按这个对象写:
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"startUrl": "https://example.invalid",
|
|
70
|
+
"actions": [
|
|
71
|
+
{ "type": "read_dom" }
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
支持动作:
|
|
77
|
+
|
|
78
|
+
- `goto`:打开指定 URL,需要 `url`
|
|
79
|
+
- `click`:点击元素,需要 `selector`
|
|
80
|
+
- `fill`:填写输入框,需要 `selector` 和 `value`
|
|
81
|
+
- `press`:按键,需要 `key`,可选 `selector`
|
|
82
|
+
- `select`:下拉选择,需要 `selector` 和 `value` 或 `values`
|
|
83
|
+
- `upload`:上传文件,需要 `selector` 和 `filePath` 或 `filePaths`
|
|
84
|
+
- `download`:点击后下载,需要 `selector`,可选 `fileName`
|
|
85
|
+
- `wait`:等待指定毫秒数,常用 `timeoutMs`
|
|
86
|
+
- `read_dom`:读取页面 body 文本并生成 DOM 快照
|
|
87
|
+
- `extract_text`:提取页面 body 文本
|
|
88
|
+
- `screenshot`:截图,常用 `fullPage: true`
|
|
89
|
+
|
|
90
|
+
常用模板:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# 1. 打开网页并读 DOM
|
|
94
|
+
codingns assistant office browser-task-create --profile-id <profileId> --execute true --input-json '{"startUrl":"https://www.zhihu.com/signin","actions":[{"type":"read_dom"}]}' [--token <token>]
|
|
95
|
+
|
|
96
|
+
# 2. 打开网页并截图
|
|
97
|
+
codingns assistant office browser-task-create --profile-id <profileId> --execute true --input-json '{"startUrl":"https://www.zhihu.com/signin","actions":[{"type":"screenshot","fullPage":true}]}' [--token <token>]
|
|
98
|
+
|
|
99
|
+
# 3. 等页面稳定后再读取
|
|
100
|
+
codingns assistant office browser-task-create --profile-id <profileId> --execute true --input-json '{"startUrl":"https://www.zhihu.com/signin","actions":[{"type":"wait","timeoutMs":3000},{"type":"read_dom"}]}' [--token <token>]
|
|
101
|
+
|
|
102
|
+
# 4. 点击按钮后截图
|
|
103
|
+
codingns assistant office browser-task-create --profile-id <profileId> --execute true --input-json '{"startUrl":"https://target.example","actions":[{"type":"click","selector":"button[type=\\"submit\\"]"},{"type":"screenshot"}]}' [--token <token>]
|
|
104
|
+
|
|
105
|
+
# 5. 填表单
|
|
106
|
+
codingns assistant office browser-task-create --profile-id <profileId> --execute true --input-json '{"startUrl":"https://target.example/login","actions":[{"type":"fill","selector":"input[name=\\"username\\"]","value":"demo"},{"type":"fill","selector":"input[name=\\"password\\"]","value":"secret"},{"type":"screenshot"}]}' [--token <token>]
|
|
107
|
+
|
|
108
|
+
# 6. 登录页 / 验证码 / 复杂真实站点:优先真实浏览器调试
|
|
109
|
+
codingns assistant office browser-task-create --profile-id <profileId> --execution-backend opencli_bridge --execute true --input-json '{"startUrl":"https://target.example/login","actions":[{"type":"read_dom"},{"type":"wait","timeoutMs":3000},{"type":"screenshot","fullPage":true}]}' [--token <token>]
|
|
110
|
+
|
|
111
|
+
# 7. 已登录浏览器里继续点按钮、截图、保留真人登录态
|
|
112
|
+
codingns assistant office browser-task-create --profile-id <profileId> --execution-backend opencli_bridge --execute true --input-json '{"startUrl":"https://target.example/console","actions":[{"type":"click","selector":"button[data-testid=\\"next-step\\"]"},{"type":"wait","timeoutMs":1500},{"type":"screenshot","fullPage":true}]}' [--token <token>]
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
遇到真实站点浏览器任务,先查这里或 `--help`,不要退回去扫描源码和编译产物找 API 路径。
|
|
116
|
+
|
|
117
|
+
浏览器意图分流规则:
|
|
118
|
+
|
|
119
|
+
- 真实站点、企业后台、内网网页、网页控制台、需要沉淀截图/下载产物/回执:优先 `office.browser.*`
|
|
120
|
+
- 其中只要涉及登录、验证码、复杂交互、必须复用当前 Chrome/Edge 登录态:优先在 `browser-task-create` 里显式传 `--execution-backend opencli_bridge`
|
|
121
|
+
- 如果当前会话里同时存在 `$codingns-opencli`,只把它当成公开数据抓取兜底,不要拿它里面 browser-dependent 的站点命令替代 `office.browser.*`
|
|
122
|
+
- 订单、购物车、个人账户、后台页面、表单提交、下载文件、点击页面控件这类任务,即使 `codingns-opencli` 里有 `taobao/*`、`jd/*` 之类命令,也一律不要直接调用
|
|
123
|
+
- 本地预览、`localhost` / `127.0.0.1` / `::1` 页面检查、前端热更新验证:优先 Codex 自带 Browser
|
|
124
|
+
- 如果用户明确要求当前 in-app browser,也按用户要求走 Codex Browser
|
|
125
|
+
|
|
126
|
+
## 4. 什么时候优先用什么
|
|
127
|
+
|
|
128
|
+
- 需要看当前会话真实开放了哪些能力:优先 `capabilities list`
|
|
129
|
+
- 需要当前工作区终端:优先 `terminals create` / `terminals list`
|
|
130
|
+
- 需要打开网页、登录网站、抓页面、截图、点按钮、填表单、下载文件:优先 `office browser-task-create`
|
|
131
|
+
- 只有本地 `localhost` / `127.0.0.1` / `::1` 调试,才优先 Codex 自带 Browser
|
|
132
|
+
- 需要正式文档产物:优先 `office document-create`
|
|
133
|
+
- 需要 SSH 运维:优先 `office ops-target-create` 和 `office ops-ssh-task-create`
|
|
@@ -4,6 +4,10 @@ import { SkillManagerService } from "./skill-manager-service.js";
|
|
|
4
4
|
interface SkillOverviewQuery {
|
|
5
5
|
targetCli?: string | string[];
|
|
6
6
|
}
|
|
7
|
+
interface WorkspaceSessionMcpStatusQuery {
|
|
8
|
+
workspaceId?: string;
|
|
9
|
+
sessionId?: string;
|
|
10
|
+
}
|
|
7
11
|
export declare class SkillController {
|
|
8
12
|
private readonly skillManagerService;
|
|
9
13
|
constructor(skillManagerService: SkillManagerService);
|
|
@@ -19,5 +23,8 @@ export declare class SkillController {
|
|
|
19
23
|
readonly sync: (request: FastifyRequest<{
|
|
20
24
|
Body: SyncManagedSkillInput;
|
|
21
25
|
}>, reply: FastifyReply) => Promise<void>;
|
|
26
|
+
readonly getWorkspaceSessionMcpStatus: (request: FastifyRequest<{
|
|
27
|
+
Querystring: WorkspaceSessionMcpStatusQuery;
|
|
28
|
+
}>, reply: FastifyReply) => Promise<void>;
|
|
22
29
|
}
|
|
23
30
|
export {};
|
|
@@ -25,6 +25,13 @@ export class SkillController {
|
|
|
25
25
|
requireUserId(request);
|
|
26
26
|
reply.send(this.skillManagerService.syncManagedSkill(request.body ?? { skillId: "", targetCli: [] }));
|
|
27
27
|
};
|
|
28
|
+
getWorkspaceSessionMcpStatus = async (request, reply) => {
|
|
29
|
+
requireUserId(request);
|
|
30
|
+
reply.send(this.skillManagerService.getWorkspaceSessionMcpStatus({
|
|
31
|
+
workspaceId: request.query.workspaceId ?? "",
|
|
32
|
+
sessionId: request.query.sessionId ?? null
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
28
35
|
}
|
|
29
36
|
function isMarkdownSkillInput(input) {
|
|
30
37
|
return Boolean(input && "markdownContent" in input && typeof input.markdownContent === "string");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-controller.js","sourceRoot":"","sources":["../../../../src/modules/skills/skill-controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-controller.js","sourceRoot":"","sources":["../../../../src/modules/skills/skill-controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAmBzD,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAAG,CAAC;IAEhE,WAAW,GAAG,KAAK,EAC1B,OAA4D,EAC5D,KAAmB,EACJ,EAAE;QACjB,aAAa,CAAC,OAAO,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC;IAEO,GAAG,GAAG,KAAK,EAClB,OAA0F,EAC1F,KAAmB,EACJ,EAAE;QACjB,aAAa,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IAC9H,CAAC,CAAC;IAEO,MAAM,GAAG,KAAK,EACrB,OAA4D,EAC5D,KAAmB,EACJ,EAAE;QACjB,aAAa,CAAC,OAAO,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACvH,CAAC,CAAC;IAEO,IAAI,GAAG,KAAK,EACnB,OAAwD,EACxD,KAAmB,EACJ,EAAE;QACjB,aAAa,CAAC,OAAO,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC;IAEO,4BAA4B,GAAG,KAAK,EAC3C,OAAwE,EACxE,KAAmB,EACJ,EAAE;QACjB,aAAa,CAAC,OAAO,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,4BAA4B,CAAC;YAC/D,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE;YAC5C,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI;SAC3C,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;CACH;AAED,SAAS,oBAAoB,CAC3B,KAA0E;IAE1E,OAAO,OAAO,CAAC,KAAK,IAAI,iBAAiB,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAqC;IACpE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9C,CAAC,CAAC,KAAK,CAAC,SAAS;QACjB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE1E,OAAO;QACL,SAAS,EAAE,SAA2C;KACvD,CAAC;AACJ,CAAC"}
|