@lemoncat7/dsh-partner 2.4.2 → 2.7.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/README.md +8 -0
- package/docs/THIRD_PARTY_LICENSES.md +13 -0
- package/docs/attachment-storage.md +18 -0
- package/docs/director-skills.md +24 -0
- package/docs/long-task-continuation.md +51 -0
- package/docs/releases/2.5.0.md +13 -0
- package/docs/releases/2.6.0.md +11 -0
- package/docs/releases/2.7.0.md +21 -0
- package/lib/agent-runtime.d.ts +9 -1
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +117 -17
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api/features/attachments-api.d.ts.map +1 -1
- package/lib/api/features/attachments-api.js +31 -1
- package/lib/api/features/attachments-api.js.map +1 -1
- package/lib/api.d.ts +1 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +1 -1
- package/lib/api.js.map +1 -1
- package/lib/attachments/grouped-storage.d.ts +5 -0
- package/lib/attachments/grouped-storage.d.ts.map +1 -0
- package/lib/attachments/grouped-storage.js +47 -0
- package/lib/attachments/grouped-storage.js.map +1 -0
- package/lib/attachments/service.d.ts +17 -0
- package/lib/attachments/service.d.ts.map +1 -1
- package/lib/attachments/service.js +100 -8
- package/lib/attachments/service.js.map +1 -1
- package/lib/attachments/shared-storage.d.ts +7 -0
- package/lib/attachments/shared-storage.d.ts.map +1 -0
- package/lib/attachments/shared-storage.js +44 -0
- package/lib/attachments/shared-storage.js.map +1 -0
- package/lib/attachments/storage-admin.d.ts +6 -0
- package/lib/attachments/storage-admin.d.ts.map +1 -0
- package/lib/attachments/storage-admin.js +43 -0
- package/lib/attachments/storage-admin.js.map +1 -0
- package/lib/attachments/storage-types.d.ts +33 -0
- package/lib/attachments/storage-types.d.ts.map +1 -0
- package/lib/attachments/storage-types.js +2 -0
- package/lib/attachments/storage-types.js.map +1 -0
- package/lib/attachments/tool.d.ts.map +1 -1
- package/lib/attachments/tool.js +16 -5
- package/lib/attachments/tool.js.map +1 -1
- package/lib/channels/delivery-policy.d.ts.map +1 -1
- package/lib/channels/delivery-policy.js +7 -4
- package/lib/channels/delivery-policy.js.map +1 -1
- package/lib/channels/direct/message-format.js +418 -281
- package/lib/channels/direct/message-format.js.map +4 -4
- package/lib/channels/manager.d.ts +7 -3
- package/lib/channels/manager.d.ts.map +1 -1
- package/lib/channels/manager.js +73 -38
- package/lib/channels/manager.js.map +1 -1
- package/lib/channels/weixin/api.d.ts.map +1 -1
- package/lib/channels/weixin/api.js +7 -2
- package/lib/channels/weixin/api.js.map +1 -1
- package/lib/channels/weixin/errors.d.ts +14 -0
- package/lib/channels/weixin/errors.d.ts.map +1 -0
- package/lib/channels/weixin/errors.js +29 -0
- package/lib/channels/weixin/errors.js.map +1 -0
- package/lib/channels/weixin/poll.d.ts +14 -0
- package/lib/channels/weixin/poll.d.ts.map +1 -0
- package/lib/channels/weixin/poll.js +50 -0
- package/lib/channels/weixin/poll.js.map +1 -0
- package/lib/client-api.d.ts +1 -23
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client-controller.d.ts.map +1 -1
- package/lib/client-controller.js +3 -3
- package/lib/client-controller.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +1078 -679
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +32 -8
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/domain.d.ts +8 -0
- package/lib/collaboration/domain.d.ts.map +1 -1
- package/lib/collaboration/domain.js.map +1 -1
- package/lib/collaboration/service.d.ts.map +1 -1
- package/lib/collaboration/service.js +38 -5
- package/lib/collaboration/service.js.map +1 -1
- package/lib/concern-notification.d.ts.map +1 -1
- package/lib/concern-notification.js +2 -1
- package/lib/concern-notification.js.map +1 -1
- package/lib/concern-tool.js +1 -1
- package/lib/concern-tool.js.map +1 -1
- package/lib/execution/reply-progress.d.ts.map +1 -1
- package/lib/execution/reply-progress.js +4 -2
- package/lib/execution/reply-progress.js.map +1 -1
- package/lib/execution/service.d.ts +1 -1
- package/lib/execution/service.d.ts.map +1 -1
- package/lib/execution/service.js +4 -7
- package/lib/execution/service.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -1
- package/lib/index.js.map +1 -1
- package/lib/memory-reflection.js +2 -2
- package/lib/memory-reflection.js.map +1 -1
- package/lib/message-source.d.ts +25 -0
- package/lib/message-source.d.ts.map +1 -0
- package/lib/message-source.js +8 -0
- package/lib/message-source.js.map +1 -0
- package/lib/observation-loop.js +4 -4
- package/lib/observation-loop.js.map +1 -1
- package/lib/pendant/reader.js +1 -1
- package/lib/pendant/reader.js.map +1 -1
- package/lib/pendant/settings-panel.js +1 -1
- package/lib/pendant/settings-panel.js.map +1 -1
- package/lib/persona/service.js +1 -1
- package/lib/persona/service.js.map +1 -1
- package/lib/requirements/attachments.d.ts +7 -0
- package/lib/requirements/attachments.d.ts.map +1 -0
- package/lib/requirements/attachments.js +26 -0
- package/lib/requirements/attachments.js.map +1 -0
- package/lib/requirements/domain.d.ts +1 -1
- package/lib/requirements/domain.d.ts.map +1 -1
- package/lib/requirements/service.d.ts.map +1 -1
- package/lib/requirements/service.js +4 -1
- package/lib/requirements/service.js.map +1 -1
- package/lib/scheduler/channel-origin.d.ts +7 -0
- package/lib/scheduler/channel-origin.d.ts.map +1 -0
- package/lib/scheduler/channel-origin.js +27 -0
- package/lib/scheduler/channel-origin.js.map +1 -0
- package/lib/scheduler/continuations.d.ts +29 -0
- package/lib/scheduler/continuations.d.ts.map +1 -0
- package/lib/scheduler/continuations.js +286 -0
- package/lib/scheduler/continuations.js.map +1 -0
- package/lib/scheduler/domain.d.ts +40 -0
- package/lib/scheduler/domain.d.ts.map +1 -1
- package/lib/scheduler/final-reply.d.ts +13 -0
- package/lib/scheduler/final-reply.d.ts.map +1 -0
- package/lib/scheduler/final-reply.js +21 -0
- package/lib/scheduler/final-reply.js.map +1 -0
- package/lib/scheduler/service.d.ts +2 -0
- package/lib/scheduler/service.d.ts.map +1 -1
- package/lib/scheduler/service.js +30 -1
- package/lib/scheduler/service.js.map +1 -1
- package/lib/scheduler/wakeup-context.d.ts +7 -0
- package/lib/scheduler/wakeup-context.d.ts.map +1 -0
- package/lib/scheduler/wakeup-context.js +14 -0
- package/lib/scheduler/wakeup-context.js.map +1 -0
- package/lib/scheduler/wakeup.d.ts +11 -0
- package/lib/scheduler/wakeup.d.ts.map +1 -0
- package/lib/scheduler/wakeup.js +52 -0
- package/lib/scheduler/wakeup.js.map +1 -0
- package/lib/skills/builtin-resources.d.ts +6 -0
- package/lib/skills/builtin-resources.d.ts.map +1 -0
- package/lib/skills/builtin-resources.js +47 -0
- package/lib/skills/builtin-resources.js.map +1 -0
- package/lib/skills/builtin.d.ts +2 -5
- package/lib/skills/builtin.d.ts.map +1 -1
- package/lib/skills/builtin.js +11 -0
- package/lib/skills/builtin.js.map +1 -1
- package/lib/skills/director-builtins.d.ts +8 -0
- package/lib/skills/director-builtins.d.ts.map +1 -0
- package/lib/skills/director-builtins.js +65 -0
- package/lib/skills/director-builtins.js.map +1 -0
- package/lib/skills/drama-builtin.d.ts +3 -0
- package/lib/skills/drama-builtin.d.ts.map +1 -0
- package/lib/skills/drama-builtin.js +49 -0
- package/lib/skills/drama-builtin.js.map +1 -0
- package/lib/skills/long-task-continuation.d.ts +4 -0
- package/lib/skills/long-task-continuation.d.ts.map +1 -0
- package/lib/skills/long-task-continuation.js +43 -0
- package/lib/skills/long-task-continuation.js.map +1 -0
- package/lib/skills/service.d.ts.map +1 -1
- package/lib/skills/service.js +8 -3
- package/lib/skills/service.js.map +1 -1
- package/lib/skills/viora-canvas-builtin.d.ts +3 -0
- package/lib/skills/viora-canvas-builtin.d.ts.map +1 -0
- package/lib/skills/viora-canvas-builtin.js +19 -0
- package/lib/skills/viora-canvas-builtin.js.map +1 -0
- package/lib/storage/migrate-layout.d.ts.map +1 -1
- package/lib/storage/migrate-layout.js +13 -4
- package/lib/storage/migrate-layout.js.map +1 -1
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +2 -0
- package/lib/store.js.map +1 -1
- package/lib/tasks/context.js +1 -0
- package/lib/tasks/context.js.map +1 -1
- package/lib/tasks/continuation-yield.d.ts +4 -0
- package/lib/tasks/continuation-yield.d.ts.map +1 -0
- package/lib/tasks/continuation-yield.js +27 -0
- package/lib/tasks/continuation-yield.js.map +1 -0
- package/lib/tasks/continuation.d.ts +13 -0
- package/lib/tasks/continuation.d.ts.map +1 -0
- package/lib/tasks/continuation.js +106 -0
- package/lib/tasks/continuation.js.map +1 -0
- package/lib/tasks/domain.d.ts +2 -0
- package/lib/tasks/domain.d.ts.map +1 -1
- package/lib/tasks/scheduling.d.ts.map +1 -1
- package/lib/tasks/scheduling.js +7 -0
- package/lib/tasks/scheduling.js.map +1 -1
- package/lib/tasks/service.d.ts +2 -1
- package/lib/tasks/service.d.ts.map +1 -1
- package/lib/tasks/service.js +19 -1
- package/lib/tasks/service.js.map +1 -1
- package/lib/ui/attachment-storage.d.ts +2 -0
- package/lib/ui/attachment-storage.d.ts.map +1 -0
- package/lib/ui/attachment-storage.js +59 -0
- package/lib/ui/attachment-storage.js.map +1 -0
- package/lib/ui/capability-editor.js +1 -1
- package/lib/ui/capability-editor.js.map +1 -1
- package/lib/ui/companion-access-panel.js +1 -1
- package/lib/ui/companion-access-panel.js.map +1 -1
- package/lib/ui/companion-create.js +1 -1
- package/lib/ui/companion-create.js.map +1 -1
- package/lib/ui/companion-picker.js +1 -1
- package/lib/ui/companion-picker.js.map +1 -1
- package/lib/ui/identity-editor.js +1 -1
- package/lib/ui/identity-editor.js.map +1 -1
- package/lib/ui/mcp-capabilities.js +1 -1
- package/lib/ui/mcp-capabilities.js.map +1 -1
- package/lib/ui/mcp-panel.js +1 -1
- package/lib/ui/mcp-panel.js.map +1 -1
- package/lib/ui/memory/concern-board.js +2 -2
- package/lib/ui/memory/concern-board.js.map +1 -1
- package/lib/ui/memory/concern-deletion.d.ts +1 -1
- package/lib/ui/memory/concern-deletion.d.ts.map +1 -1
- package/lib/ui/memory/concern-deletion.js +9 -4
- package/lib/ui/memory/concern-deletion.js.map +1 -1
- package/lib/ui/memory/concern-panel.js +1 -1
- package/lib/ui/memory/concern-panel.js.map +1 -1
- package/lib/ui/memory/memory-library.js +1 -1
- package/lib/ui/memory/memory-library.js.map +1 -1
- package/lib/ui/memory/memory-panel.js +1 -1
- package/lib/ui/memory/memory-panel.js.map +1 -1
- package/lib/ui/partner-components.js +1 -1
- package/lib/ui/partner-components.js.map +1 -1
- package/lib/ui/requirement-board.js +1 -1
- package/lib/ui/requirement-board.js.map +1 -1
- package/lib/ui/requirement-dialog.js +1 -1
- package/lib/ui/requirement-dialog.js.map +1 -1
- package/lib/ui/requirement-tasks-panel.js +1 -1
- package/lib/ui/requirement-tasks-panel.js.map +1 -1
- package/lib/ui/schedule-panel.d.ts.map +1 -1
- package/lib/ui/schedule-panel.js +20 -4
- package/lib/ui/schedule-panel.js.map +1 -1
- package/lib/ui/skills-panel.js +1 -1
- package/lib/ui/skills-panel.js.map +1 -1
- package/lib/ui/storage-settings.d.ts.map +1 -1
- package/lib/ui/storage-settings.js +2 -1
- package/lib/ui/storage-settings.js.map +1 -1
- package/lib/ui/task-board-stage.js +1 -1
- package/lib/ui/task-board-stage.js.map +1 -1
- package/lib/ui/workspace-components.js +1 -1
- package/lib/ui/workspace-components.js.map +1 -1
- package/lib/ui/workspace-navigation.d.ts +16 -16
- package/lib/ui/workspace-navigation.js +1 -1
- package/lib/ui/workspace-navigation.js.map +1 -1
- package/package.json +55 -41
- package/resources/skills/cinematic-director/manifest.json +205 -0
- package/resources/skills/cinematic-director/upstream/CHANGELOG.md +213 -0
- package/resources/skills/cinematic-director/upstream/CONTRIBUTING.md +316 -0
- package/resources/skills/cinematic-director/upstream/LICENSE +21 -0
- package/resources/skills/cinematic-director/upstream/README.md +507 -0
- package/resources/skills/cinematic-director/upstream/SKILL.md +420 -0
- package/resources/skills/cinematic-director/upstream/assets/beat-sheet-template.md +97 -0
- package/resources/skills/cinematic-director/upstream/assets/director-book-template.md +254 -0
- package/resources/skills/cinematic-director/upstream/assets/edit-timeline-template.md +147 -0
- package/resources/skills/cinematic-director/upstream/assets/keyframe-prompt-template.md +334 -0
- package/resources/skills/cinematic-director/upstream/assets/qc-checklist.md +153 -0
- package/resources/skills/cinematic-director/upstream/assets/shot-plan-template.md +95 -0
- package/resources/skills/cinematic-director/upstream/assets/sound-plan-template.md +181 -0
- package/resources/skills/cinematic-director/upstream/assets/video-prompt-template.md +305 -0
- package/resources/skills/cinematic-director/upstream/evals/run.md +69 -0
- package/resources/skills/cinematic-director/upstream/references/ai-video-tool-adapters.md +527 -0
- package/resources/skills/cinematic-director/upstream/references/blocking-and-staging.md +424 -0
- package/resources/skills/cinematic-director/upstream/references/cinematic-language.md +595 -0
- package/resources/skills/cinematic-director/upstream/references/continuity-bible.md +410 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/01_spielberg.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/02_hitchcock.md +193 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/03_kubrick.md +196 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/04_kurosawa.md +196 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/05_scorsese.md +195 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/06_fellini.md +197 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/07_bergman.md +197 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/08_tarkovsky.md +184 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/09_wong_kar_wai.md +189 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/10_nolan.md +185 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/11_villeneuve.md +188 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/12_fincher.md +185 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/13_refn.md +186 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/14_bi_gan.md +188 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/15_zhang_yimou.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/16_hou_hsiao_hsien.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/17_park_chan_wook.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/18_malick.md +191 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/19_michael_mann.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/20_coen_brothers.md +194 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/README.md +89 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/example_comparisons.md +140 -0
- package/resources/skills/cinematic-director/upstream/references/editing-and-assembly.md +263 -0
- package/resources/skills/cinematic-director/upstream/references/failure-modes.md +594 -0
- package/resources/skills/cinematic-director/upstream/references/genre-playbooks.md +407 -0
- package/resources/skills/cinematic-director/upstream/references/image-model-adapters.md +290 -0
- package/resources/skills/cinematic-director/upstream/references/lighting-and-color.md +349 -0
- package/resources/skills/cinematic-director/upstream/references/product-and-macro.md +207 -0
- package/resources/skills/cinematic-director/upstream/references/production-workflow.md +238 -0
- package/resources/skills/cinematic-director/upstream/references/prompt-lexicon.md +602 -0
- package/resources/skills/cinematic-director/upstream/references/sound-and-dialogue.md +364 -0
- package/resources/skills/director-skills/manifest.json +541 -0
- package/resources/skills/director-skills/upstream/CHANGELOG.md +32 -0
- package/resources/skills/director-skills/upstream/LICENSE +21 -0
- package/resources/skills/director-skills/upstream/MANIFEST.md +366 -0
- package/resources/skills/director-skills/upstream/README.md +251 -0
- package/resources/skills/director-skills/upstream/RESEARCH_PROVENANCE.md +37 -0
- package/resources/skills/director-skills/upstream/SKILL.md +114 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/SKILL.md +81 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/checklists/continuity_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/character_continuity_update.md +9 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/location_continuity_update.md +9 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/continuity_system.md +21 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/golden_image_workflow.md +29 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/identity_anchors.md +14 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/visual_bible_system.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/character_profile.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/continuity_checklist.md +11 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/costume_profile.md +12 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/location_profile.md +14 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/prop_profile.md +13 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/visual_style_bible.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/tests/continuity_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/SKILL.md +80 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/checklists/image_prompt_quality_checklist.md +10 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/examples/shot_list_to_image_prompts.md +4 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/image_prompt_components.md +22 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/lighting_and_photorealism.md +19 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/negative_prompt_patterns.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/prompt_anatomy.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/character_reference_sheet_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/cinematic_still_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/keyframe_prompt.md +6 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/location_reference_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/prop_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/tests/image_prompt_completeness_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/SKILL.md +84 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/checklists/video_prompt_quality_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/examples/image_prompt_to_video_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/ai_film_production_pipeline.md +21 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/audio_motion_timing.md +16 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/camera_lens_movement.md +26 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/negative_prompt_patterns.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/prompt_anatomy.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/video_prompt_components.md +25 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/image_to_video_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/text_to_video_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/video_beat_prompt.md +9 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/tests/video_prompt_completeness_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/SKILL.md +82 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/checklists/model_export_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/failed_model_transfer_diagnosis.md +5 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/image_prompt_translation.md +10 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/same_scene_across_models.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/universal_prompt_to_model_specific_exports.md +14 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/video_prompt_translation.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/failure_modes_by_model.md +13 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/image_model_profiles.md +226 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_capability_matrix.md +24 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_update_protocol.md +10 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/parameter_compatibility.md +20 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/prompt_translation_rules.md +18 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/video_model_profiles.md +251 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_comparison_table.md +4 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_specific_prompt_export.md +21 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/multi_model_export_package.md +18 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/prompt_translation_report.md +13 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/universal_prompt_brief.md +25 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/model_routing_tests.md +8 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/prompt_translation_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/research_provenance_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/unknown_capability_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/SKILL.md +82 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/diagnostic_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/release_quality_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/failed_output_to_revised_prompt.md +10 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/final_prompt_package_export.md +10 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/failure_modes.md +13 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/iteration_diagnostics.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/revision_loops.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/story_voice_release_qc.md +30 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/failed_output_intake.md +13 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/final_production_package.md +11 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/prompt_revision_report.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/tests/prompt_quality_checklist_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/SKILL.md +81 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/checklists/scene_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/examples/scene_to_screenplay_excerpt.md +18 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/dialogue_and_subtext.md +15 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/fountain_workflow.md +29 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/scene_construction.md +20 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/screenplay_format.md +18 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/beat_sheet.md +6 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/dialogue_pass.md +9 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/fountain_scene.md +25 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/screenplay_scene.md +19 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/tests/screenplay_scene_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/SKILL.md +83 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/checklists/concept_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/examples/idea_to_logline.md +13 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/examples/logline_to_outline.md +10 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/ai_storytelling_workflow.md +46 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/continuity_handoff.md +8 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/screenplay_structure.md +19 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/story_development_workflow.md +23 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/beat_sheet.md +7 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/idea_intake.md +16 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/logline.md +10 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_film_treatment.md +23 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_story_plan.md +22 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_premise.md +19 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_revision_audit.md +22 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/tests/output_format_tests.md +3 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/tests/routing_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/SKILL.md +77 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/checklists/shotlist_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/examples/screenplay_scene_to_shot_list.md +8 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/camera_plan.md +11 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/production_breakdown.md +11 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/shotlist_schema.md +21 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/asset_list.md +7 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/camera_plan.md +10 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/scene_breakdown.md +16 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/shot_list.md +5 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/tests/screenplay_to_shotlist_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/SKILL.md +77 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/checklists/style_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/examples/genre_to_visual_direction.md +15 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/camera_lens_movement.md +26 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/cinematic_language.md +32 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/genre_style_tone.md +17 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/lighting_and_photorealism.md +19 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/templates/visual_style_bible.md +33 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/tests/style_translation_tests.md +5 -0
- package/resources/skills/director-skills/upstream/tests/master_router_tests.md +80 -0
- package/resources/skills/drama-production/manifest.json +933 -0
- package/resources/skills/drama-production/upstream/LICENSE +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/SKILL.md +153 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/app.js +1263 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/index.html +114 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/styles.css +297 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/production-observation.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/project-template/short-drama.json +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/audience-reveal.md +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/contract-and-ownership.md +45 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-documents.md +230 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-workflow.md +98 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +74 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +79 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +72 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/knowhow-index.md +85 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/look-development.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/pickup-and-alternate.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/production-form-profiles.md +126 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/reference-roles.md +53 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/runtime-preflight.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/creator_markdown_check.py +1413 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/dashboard_server.py +1798 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/project_tool.py +2454 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/selftest.py +287 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/SKILL.md +76 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/asset-review-checklist.md +82 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/character-and-look.md +190 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-delta.md +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-lock.md +122 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/identity-vs-variant.md +140 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/location-and-view.md +84 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/occurrence-extraction.md +108 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/prop-and-state.md +126 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/stage-contract.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/voice-direction.md +179 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/asset_check.py +267 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/selftest.py +89 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/SKILL.md +157 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/creative-brief.md +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/story-engine.md +181 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/adaptation-craft.md +219 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/director-brief-craft.md +113 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/episode-design.md +509 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards.md +92 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/mechanism-loop.md +282 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/premise-devices.md +211 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/stage-contract.md +88 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/story-craft.md +359 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/episode_intake.py +699 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/selftest.py +47 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/SKILL.md +146 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/README.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/package.json +15 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/cut-craft.md +38 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/delivery-verify.md +29 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/generated-footage.md +54 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/stage-contract.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/selftest.py +520 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/SKILL.md +73 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompts.md +42 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-prompts.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/character-and-look.md +153 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/common-recipe.md +241 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/edit-and-revision.md +110 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/location-plate.md +151 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/look-and-state-variant.md +97 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/lookdev-frame.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/prop-plate.md +137 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/stage-contract.md +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/selftest.py +95 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/SKILL.md +245 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/chapter-extraction.md +144 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/SKILL.md +183 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/adapter-contract.md +219 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-h3-video.md +86 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/seedance.md +64 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/fixture_adapter.py +77 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/production_tool.py +2205 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/provider_adapters.py +1747 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/selftest.py +135 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/SKILL.md +118 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/finding-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/verdict-template.json +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-verdict.json +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/anti-template-repair.md +109 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/production-quality-gates.md +276 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/project-calibration.md +83 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/review-method.md +81 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-assets-prompts.md +111 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-story-script.md +264 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-visual-motion.md +184 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/stage-contract.md +28 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/review_check.py +325 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/selftest.py +87 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/SKILL.md +175 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-prompts.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/blocking-playbooks.md +216 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/coverage-audition.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/keyframe-craft.md +174 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/production-shot-grammar.md +279 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/review-and-fixtures.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/scene-visual-plan.md +30 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +155 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-craft.md +266 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-revision-identity.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/stage-contract.md +57 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/selftest.py +191 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/SKILL.md +154 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +217 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/video-prompts.md +67 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/camera-audio-continuity.md +259 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/delivery-profile.md +273 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/generability.md +93 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/minimax-h3.md +253 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/motion-recipe.md +315 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/performance-action-timing.md +209 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/production-prompt-grammar.md +304 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/review-and-fixtures.md +139 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.0.md +50 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.5.md +122 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/stage-contract.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/target-model-profile.md +116 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/SKILL.md +99 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/beats.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card.json +55 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/screenplay.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/dialogue-craft.md +526 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/production-format-dialect.md +273 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-handoff-capsule.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/screenplay-format.md +266 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/script-craft.md +745 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/stage-contract.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/substitutable-realization.md +107 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/duration_estimate.py +309 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/selftest.py +229 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
- package/resources/skills/viora-canvas-production/manifest.json +23 -0
- package/resources/skills/viora-canvas-production/references/canvas-contract.md +50 -0
- package/resources/skills/viora-canvas-production/references/creative-production.md +50 -0
- package/resources/skills/viora-canvas-production/references/generation-delivery.md +36 -0
- package/resources/skills/viora-canvas-production/references/production-ledger.md +25 -0
package/lib/client.js
CHANGED
|
@@ -35,7 +35,7 @@ __export(client_exports, {
|
|
|
35
35
|
inject: () => inject
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(client_exports);
|
|
38
|
-
var
|
|
38
|
+
var import_react51 = require("react");
|
|
39
39
|
|
|
40
40
|
// src/workspace-ownership.ts
|
|
41
41
|
var WORKSPACE_ACTIVATE_EVENT = "@lemoncat7/dsh-plugin-ui/workspace-activate";
|
|
@@ -56,7 +56,7 @@ function observePluginWorkspace(pluginId, close) {
|
|
|
56
56
|
// src/client.tsx
|
|
57
57
|
var import_dsh_client_ui_primitives24 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
58
58
|
|
|
59
|
-
// node_modules/qrcode.react/lib/esm/index.js
|
|
59
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/qrcode.react/lib/esm/index.js
|
|
60
60
|
var import_react = __toESM(require("react"), 1);
|
|
61
61
|
var __defProp2 = Object.defineProperty;
|
|
62
62
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -851,13 +851,13 @@ function excavateModules(modules, excavation) {
|
|
|
851
851
|
});
|
|
852
852
|
});
|
|
853
853
|
}
|
|
854
|
-
function getImageSettings(cells,
|
|
854
|
+
function getImageSettings(cells, size2, margin, imageSettings) {
|
|
855
855
|
if (imageSettings == null) {
|
|
856
856
|
return null;
|
|
857
857
|
}
|
|
858
858
|
const numCells = cells.length + margin * 2;
|
|
859
|
-
const defaultSize = Math.floor(
|
|
860
|
-
const scale = numCells /
|
|
859
|
+
const defaultSize = Math.floor(size2 * DEFAULT_IMG_SCALE);
|
|
860
|
+
const scale = numCells / size2;
|
|
861
861
|
const w = (imageSettings.width || defaultSize) * scale;
|
|
862
862
|
const h = (imageSettings.height || defaultSize) * scale;
|
|
863
863
|
const x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;
|
|
@@ -887,7 +887,7 @@ function useQRCode({
|
|
|
887
887
|
includeMargin,
|
|
888
888
|
marginSize,
|
|
889
889
|
imageSettings,
|
|
890
|
-
size,
|
|
890
|
+
size: size2,
|
|
891
891
|
boostLevel
|
|
892
892
|
}) {
|
|
893
893
|
let qrcode = import_react.default.useMemo(() => {
|
|
@@ -911,7 +911,7 @@ function useQRCode({
|
|
|
911
911
|
const numCells2 = cells2.length + margin2 * 2;
|
|
912
912
|
const calculatedImageSettings2 = getImageSettings(
|
|
913
913
|
cells2,
|
|
914
|
-
|
|
914
|
+
size2,
|
|
915
915
|
margin2,
|
|
916
916
|
imageSettings
|
|
917
917
|
);
|
|
@@ -921,7 +921,7 @@ function useQRCode({
|
|
|
921
921
|
numCells: numCells2,
|
|
922
922
|
calculatedImageSettings: calculatedImageSettings2
|
|
923
923
|
};
|
|
924
|
-
}, [qrcode,
|
|
924
|
+
}, [qrcode, size2, imageSettings, includeMargin, marginSize]);
|
|
925
925
|
return {
|
|
926
926
|
qrcode,
|
|
927
927
|
margin,
|
|
@@ -942,7 +942,7 @@ var QRCodeCanvas = import_react.default.forwardRef(
|
|
|
942
942
|
function QRCodeCanvas2(props, forwardedRef) {
|
|
943
943
|
const _a = props, {
|
|
944
944
|
value,
|
|
945
|
-
size = DEFAULT_SIZE,
|
|
945
|
+
size: size2 = DEFAULT_SIZE,
|
|
946
946
|
level = DEFAULT_LEVEL,
|
|
947
947
|
bgColor = DEFAULT_BGCOLOR,
|
|
948
948
|
fgColor = DEFAULT_FGCOLOR,
|
|
@@ -987,7 +987,7 @@ var QRCodeCanvas = import_react.default.forwardRef(
|
|
|
987
987
|
includeMargin,
|
|
988
988
|
marginSize,
|
|
989
989
|
imageSettings,
|
|
990
|
-
size
|
|
990
|
+
size: size2
|
|
991
991
|
});
|
|
992
992
|
import_react.default.useEffect(() => {
|
|
993
993
|
if (_canvas.current != null) {
|
|
@@ -1008,8 +1008,8 @@ var QRCodeCanvas = import_react.default.forwardRef(
|
|
|
1008
1008
|
}
|
|
1009
1009
|
}
|
|
1010
1010
|
const pixelRatio = window.devicePixelRatio || 1;
|
|
1011
|
-
canvas.height = canvas.width =
|
|
1012
|
-
const scale =
|
|
1011
|
+
canvas.height = canvas.width = size2 * pixelRatio;
|
|
1012
|
+
const scale = size2 / numCells * pixelRatio;
|
|
1013
1013
|
ctx.scale(scale, scale);
|
|
1014
1014
|
ctx.fillStyle = bgColor;
|
|
1015
1015
|
ctx.fillRect(0, 0, numCells, numCells);
|
|
@@ -1042,7 +1042,7 @@ var QRCodeCanvas = import_react.default.forwardRef(
|
|
|
1042
1042
|
import_react.default.useEffect(() => {
|
|
1043
1043
|
setIsImageLoaded(false);
|
|
1044
1044
|
}, [imgSrc]);
|
|
1045
|
-
const canvasStyle = __spreadValues({ height:
|
|
1045
|
+
const canvasStyle = __spreadValues({ height: size2, width: size2 }, style);
|
|
1046
1046
|
let img = null;
|
|
1047
1047
|
if (imgSrc != null) {
|
|
1048
1048
|
img = /* @__PURE__ */ import_react.default.createElement(
|
|
@@ -1063,8 +1063,8 @@ var QRCodeCanvas = import_react.default.forwardRef(
|
|
|
1063
1063
|
"canvas",
|
|
1064
1064
|
__spreadValues({
|
|
1065
1065
|
style: canvasStyle,
|
|
1066
|
-
height:
|
|
1067
|
-
width:
|
|
1066
|
+
height: size2,
|
|
1067
|
+
width: size2,
|
|
1068
1068
|
ref: setCanvasRef,
|
|
1069
1069
|
role: "img"
|
|
1070
1070
|
}, otherProps)
|
|
@@ -1076,7 +1076,7 @@ var QRCodeSVG = import_react.default.forwardRef(
|
|
|
1076
1076
|
function QRCodeSVG2(props, forwardedRef) {
|
|
1077
1077
|
const _a = props, {
|
|
1078
1078
|
value,
|
|
1079
|
-
size = DEFAULT_SIZE,
|
|
1079
|
+
size: size2 = DEFAULT_SIZE,
|
|
1080
1080
|
level = DEFAULT_LEVEL,
|
|
1081
1081
|
bgColor = DEFAULT_BGCOLOR,
|
|
1082
1082
|
fgColor = DEFAULT_FGCOLOR,
|
|
@@ -1107,7 +1107,7 @@ var QRCodeSVG = import_react.default.forwardRef(
|
|
|
1107
1107
|
includeMargin,
|
|
1108
1108
|
marginSize,
|
|
1109
1109
|
imageSettings,
|
|
1110
|
-
size
|
|
1110
|
+
size: size2
|
|
1111
1111
|
});
|
|
1112
1112
|
let cellsToDraw = cells;
|
|
1113
1113
|
let image = null;
|
|
@@ -1136,8 +1136,8 @@ var QRCodeSVG = import_react.default.forwardRef(
|
|
|
1136
1136
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
1137
1137
|
"svg",
|
|
1138
1138
|
__spreadValues({
|
|
1139
|
-
height:
|
|
1140
|
-
width:
|
|
1139
|
+
height: size2,
|
|
1140
|
+
width: size2,
|
|
1141
1141
|
viewBox: `0 0 ${numCells} ${numCells}`,
|
|
1142
1142
|
ref: forwardedRef,
|
|
1143
1143
|
role: "img"
|
|
@@ -2216,6 +2216,14 @@ body[data-ds-dark-theme] .dsh-partner-workspace {
|
|
|
2216
2216
|
.dsh-partner-concern-resolved article { display: grid; min-height: 38px; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 7px; padding: 4px 10px; border-bottom: 1px solid color-mix(in srgb, var(--partner-border) 60%, transparent); }
|
|
2217
2217
|
.dsh-partner-concern-resolved article > span { display: grid; width: 20px; height: 20px; border-radius: 7px; place-items: center; color: var(--partner-accent); background: color-mix(in srgb, var(--partner-accent) 8%, transparent); }
|
|
2218
2218
|
.dsh-partner-concern-resolved article strong { overflow: hidden; font-size: var(--partner-font-caption); font-weight: 560; text-overflow: ellipsis; white-space: nowrap; }
|
|
2219
|
+
.dsh-partner-concern-resolved-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; min-width: 0; }
|
|
2220
|
+
.dsh-partner-concern-resolved-actions > button { min-height: 32px; white-space: nowrap; }
|
|
2221
|
+
.dsh-partner-concern-resolved-actions > button.is-danger:hover { color: var(--partner-danger); border-color: var(--partner-danger); }
|
|
2222
|
+
@media (max-width: 600px) {
|
|
2223
|
+
.dsh-partner-concern-resolved article { grid-template-columns: 22px minmax(0, 1fr); padding-block: 8px; }
|
|
2224
|
+
.dsh-partner-concern-resolved-actions { grid-column: 2; }
|
|
2225
|
+
.dsh-partner-concern-resolved-actions > button { min-height: 44px; }
|
|
2226
|
+
}
|
|
2219
2227
|
.dsh-partner-concern-archive { min-width: 0; border-top: 1px solid var(--partner-border); }
|
|
2220
2228
|
.dsh-partner-concern-archive-toggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 68px; padding: 14px 16px; border: 0; border-radius: 10px; text-align: left; color: var(--partner-text-secondary); background: transparent; font: inherit; cursor: pointer; transition: background .16s ease; }
|
|
2221
2229
|
.dsh-partner-concern-archive-toggle > span { display: grid; gap: 5px; min-width: 0; }
|
|
@@ -2758,10 +2766,45 @@ body[data-ds-dark-theme] .dsh-partner-workspace {
|
|
|
2758
2766
|
.dsh-partner-record-options button small { flex-shrink: 0; color: var(--partner-text-tertiary); }
|
|
2759
2767
|
.dsh-partner-record-selection, .dsh-partner-record-summary { margin: 0; padding: 8px 12px; font-size: var(--partner-font-caption); color: var(--partner-text-secondary); overflow-wrap: anywhere; }
|
|
2760
2768
|
.dsh-partner-record-selection { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
|
|
2769
|
+
.dsh-partner-workspace .attachment-storage-block { padding: 16px; gap: 10px; }
|
|
2770
|
+
#partner-attachment-storage { min-width: 0; font: var(--partner-font-body)/1.5 var(--partner-font-family); }
|
|
2771
|
+
#partner-attachment-storage :is(form, label, p) { margin: 0; }
|
|
2772
|
+
#partner-attachment-storage :is(.attachment-storage-overview, form, .attachment-storage-filters, .attachment-storage-selection) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
|
|
2773
|
+
#partner-attachment-storage .attachment-storage-usage { flex: 1 1 180px; display: grid; gap: 2px; font-variant-numeric: tabular-nums; }
|
|
2774
|
+
#partner-attachment-storage small { color: var(--partner-text-secondary); font-size: 12px; }
|
|
2775
|
+
#partner-attachment-storage label { display: inline-flex; align-items: center; gap: 6px; min-width: 0; font-size: 13px; color: var(--partner-text-secondary); }
|
|
2776
|
+
#partner-attachment-storage :is(button, select, input[type=number]) { appearance: none !important; box-sizing: border-box; width: auto; min-width: 0; max-width: 100%; min-height: 32px; height: 32px; padding: 4px 10px !important; border: 1px solid var(--partner-border) !important; border-radius: 8px !important; background: var(--partner-control) !important; color: var(--partner-text) !important; box-shadow: none !important; font: 13px/1.4 var(--partner-font-family) !important; }
|
|
2777
|
+
#partner-attachment-storage button { cursor: pointer; white-space: nowrap; }
|
|
2778
|
+
#partner-attachment-storage button:hover:not(:disabled) { background: var(--partner-card-surface) !important; }
|
|
2779
|
+
#partner-attachment-storage input[type=number] { width: 86px; font-variant-numeric: tabular-nums; }
|
|
2780
|
+
#partner-attachment-storage select { max-width: 160px; padding-right: 28px !important; text-overflow: ellipsis; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23909095' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 7px center !important; }
|
|
2781
|
+
#partner-attachment-storage :is(button,input,select,summary):focus-visible { outline: 2px solid var(--partner-focus-ring); outline-offset: 2px; }
|
|
2782
|
+
#partner-attachment-storage :disabled { opacity: .5; cursor: not-allowed; }
|
|
2783
|
+
#attachment-storage-manager { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--partner-border); display: grid; gap: 10px; }
|
|
2784
|
+
#partner-attachment-storage .attachment-storage-list { max-height: 360px; overflow-y: auto; scrollbar-width: thin; }
|
|
2785
|
+
#partner-attachment-storage .attachment-storage-row { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--partner-border); }
|
|
2786
|
+
#partner-attachment-storage .attachment-storage-row > span { flex: 1; min-width: 0; }
|
|
2787
|
+
#partner-attachment-storage .attachment-storage-row strong { display: block; color: var(--partner-text); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2788
|
+
#partner-attachment-storage .attachment-storage-row small { display: block; overflow-wrap: anywhere; }
|
|
2789
|
+
#partner-attachment-storage input[type=checkbox] { flex: 0 0 16px; width: 16px; height: 16px; margin: 0; accent-color: var(--partner-accent-strong); }
|
|
2790
|
+
#partner-attachment-storage .attachment-storage-help { font-size: 12px; color: var(--partner-text-secondary); }
|
|
2791
|
+
#partner-attachment-storage .attachment-storage-help summary { cursor: pointer; padding: 4px 0; }
|
|
2792
|
+
#partner-attachment-storage .attachment-storage-help p { margin: 6px 0; }
|
|
2793
|
+
#partner-attachment-storage code { display: block; overflow-wrap: anywhere; font-size: 12px; }
|
|
2794
|
+
#partner-attachment-storage > :is([role=alert],[role=status]) { margin-top: 8px; font-size: 13px; }
|
|
2795
|
+
@media (pointer: coarse) {
|
|
2796
|
+
#partner-attachment-storage :is(button,select,input[type=number]) { min-height: 40px; height: 40px; }
|
|
2797
|
+
#partner-attachment-storage .attachment-storage-row { min-height: 44px; }
|
|
2798
|
+
}
|
|
2799
|
+
@media (max-width: 540px) {
|
|
2800
|
+
#partner-attachment-storage .attachment-storage-usage { flex-basis: 100%; }
|
|
2801
|
+
#partner-attachment-storage :is(select,input[type=number]) { font-size: 16px !important; }
|
|
2802
|
+
#partner-attachment-storage select { max-width: 145px; }
|
|
2803
|
+
}
|
|
2761
2804
|
`;
|
|
2762
2805
|
|
|
2763
2806
|
// src/ui/workspace-ui.css
|
|
2764
|
-
var workspace_ui_default = '.dsh-partner-feature-hero-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }\n.dsh-partner-feature-page { gap: 20px; }\n.dsh-partner-feature-hero { min-height: 92px; padding-bottom: 18px; }\n.dsh-partner-feature-hero p { max-width: 62ch; text-wrap: pretty; }\n.dsh-partner-feature-block { gap: 16px; padding: 20px; border-radius: 18px; box-shadow: inset 0 1px 0 var(--partner-card-highlight), 0 5px 16px color-mix(in srgb, var(--partner-text) 4%, transparent); }\n.dsh-partner-feature-block > header { min-height: 40px; }\n.dsh-partner-feature-block > header strong { font-size: var(--partner-font-label); letter-spacing: -.01em; }\n.dsh-partner-feature-block > header small { margin-top: 1px; }\n\n:is(.dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) :where(input, textarea, select) { outline: 0; }\n.dsh-partner-workspace select:not([multiple]) {\n appearance: none;\n padding-right: 32px;\n border-color: var(--partner-border);\n border-radius: 9px;\n color: var(--partner-text);\n background-color: var(--partner-control);\n background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);\n background-position: calc(100% - 15px) calc(50% - 1px), calc(100% - 11px) calc(50% - 1px);\n background-repeat: no-repeat;\n background-size: 4px 4px, 4px 4px;\n box-shadow: inset 0 1px 0 color-mix(in srgb, var(--partner-card-highlight) 54%, transparent), inset 0 -1px 0 var(--partner-glass-rim-shadow);\n font-family: var(--partner-font-family);\n font-size: var(--partner-font-body);\n font-weight: 520;\n cursor: pointer;\n transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;\n}\n.dsh-partner-workspace select:not([multiple]):hover:not(:disabled) { border-color: color-mix(in srgb, var(--partner-text) 24%, var(--partner-border)); background-color: var(--partner-hover); }\n.dsh-partner-workspace select:not([multiple]):focus-visible { border-color: var(--partner-focus-ring); background-color: var(--partner-raised); box-shadow: 0 0 0 3px color-mix(in srgb, var(--partner-focus-ring) 16%, transparent), inset 0 1px 0 color-mix(in srgb, var(--partner-card-highlight) 66%, transparent); }\n.dsh-partner-workspace select:not([multiple]):disabled { cursor: not-allowed; }\n.dsh-partner-workspace select option { color: var(--partner-text); background: var(--partner-solid-control); font: inherit; }\n:is(.dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) > footer { align-items: center; margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--partner-separator); }\n.dsh-partner-form-footer-spacer { flex: 1; }\n:is(.dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) > footer .is-primary { color: var(--partner-on-accent); border-color: var(--partner-accent-strong); background: var(--partner-accent-strong); }\n:is(.dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) > footer .is-primary:hover { color: var(--partner-on-accent); border-color: var(--partner-accent-strong); background: color-mix(in srgb, var(--partner-accent-strong) 88%, #000); }\n:is(.dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) > .dsh-partner-workspace-notice { grid-column: 1 / -1; margin: 0; }\n.dsh-partner-feature-page button:disabled { cursor: not-allowed; opacity: .48; }\n.dsh-partner-identity-danger > div { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }\n.dsh-partner-identity-danger[data-confirming="true"] { margin-inline: -12px; padding: 16px 12px 0; border-top-color: color-mix(in srgb, var(--partner-danger) 30%, var(--partner-border)); background: color-mix(in srgb, var(--partner-danger) 4%, transparent); }\n.dsh-partner-identity-danger button.is-secondary { border-color: var(--partner-border); color: var(--partner-text-secondary); background: var(--partner-control); }\n.dsh-partner-identity-danger button.is-danger { color: var(--partner-on-accent); border-color: var(--partner-danger); background: var(--partner-danger); }\n.dsh-partner-profile-entries article > header button.is-danger { color: var(--partner-danger); background: color-mix(in srgb, var(--partner-danger) 8%, transparent); }\n\n.dsh-partner-skill-installed > article,\n.dsh-partner-market-grid > article,\n.dsh-partner-schedule-list > article { transition: border-color 150ms ease, background-color 150ms ease, transform 180ms var(--partner-ease-out); }\n.dsh-partner-skill-installed > article:hover,\n.dsh-partner-schedule-list > article:hover { border-color: color-mix(in srgb, var(--partner-text) 20%, var(--partner-border)); background: color-mix(in srgb, var(--partner-hover) 60%, var(--partner-raised)); transform: translate3d(0, -1px, 0); }\n.dsh-partner-schedule-meta { display: flex !important; align-items: center; flex-wrap: wrap; gap: 5px 10px !important; margin-top: 2px; }\n.dsh-partner-schedule-meta > em { position: relative; color: var(--partner-text-tertiary); font-size: var(--partner-font-caption); font-style: normal; font-variant-numeric: tabular-nums; }\n.dsh-partner-schedule-meta > em + em::before { position: absolute; top: 50%; left: -6px; width: 2px; height: 2px; border-radius: 50%; background: var(--partner-text-tertiary); content: ""; }\n.dsh-partner-run-list > article { border-radius: 9px; transition: background-color 140ms ease; }\n.dsh-partner-run-list > article:hover { background: var(--partner-hover); }\n.dsh-partner-board > section { border-radius: 16px; box-shadow: none; }\n.dsh-partner-board .dsh-partner-task-card { box-shadow: none; }\n\n@media (hover: hover) {\n .dsh-partner-skill-installed .is-icon,\n .dsh-partner-schedule-list .is-icon { opacity: .34; transition: opacity 140ms ease, color 140ms ease, background-color 140ms ease; }\n .dsh-partner-skill-installed > article:hover .is-icon,\n .dsh-partner-schedule-list > article:hover .is-icon,\n .dsh-partner-skill-installed .is-icon:focus-visible,\n .dsh-partner-schedule-list .is-icon:focus-visible { opacity: 1; }\n}\n\n.dsh-partner-workspace-dialog-layer { position: fixed; z-index: 12; inset: 0; box-sizing: border-box; width: 100%; height: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; border: 0; overflow: hidden; color: var(--partner-text); align-items: center; justify-content: center; padding: clamp(16px, 3vw, 32px); background: var(--partner-dialog-veil); }\n.dsh-partner-workspace-dialog-layer[open] { display: flex; }\n.dsh-partner-workspace-dialog-layer::backdrop { background: transparent; }\n.dsh-partner-workspace-dialog { position: relative; inset: auto; display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(560px, 100%); max-width: none; height: auto; max-height: min(680px, 100%); margin: 0; padding: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--partner-text) 18%, var(--partner-border)); border-radius: 16px; color: var(--partner-text); background: var(--partner-solid-panel); box-shadow: 0 22px 58px color-mix(in srgb, #000 18%, transparent), 0 4px 14px color-mix(in srgb, #000 8%, transparent), inset 0 1px 0 var(--partner-card-highlight); animation: dsh-partner-dialog-enter 200ms var(--partner-ease-out) both; }\n.dsh-partner-workspace-dialog.is-wide { width: min(680px, 100%); max-height: min(720px, 100%); }\n.dsh-partner-workspace-dialog > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 20px; padding: 22px 22px 18px; border-bottom: 1px solid var(--partner-separator); background: var(--partner-solid-raised); }\n.dsh-partner-workspace-dialog > header > span { display: grid; gap: 5px; min-width: 0; }\n.dsh-partner-workspace-dialog > header small { color: var(--partner-text-tertiary); font-size: var(--partner-font-caption); font-weight: 680; letter-spacing: .09em; }\n.dsh-partner-workspace-dialog > header strong { font-size: var(--partner-font-title); line-height: 1.25; font-weight: 660; letter-spacing: -.025em; text-wrap: balance; }\n.dsh-partner-workspace-dialog > header p { max-width: 58ch; margin: 0; color: var(--partner-text-secondary); font-size: var(--partner-font-body); line-height: 1.55; text-wrap: pretty; }\n.dsh-partner-workspace-dialog > header button { display: grid; place-items: center; width: 32px; min-height: 32px; padding: 0; border: 1px solid transparent; border-radius: 9px; color: var(--partner-text-tertiary); background: transparent; box-shadow: none; cursor: pointer; transition: color 140ms ease, border-color 140ms ease, background-color 140ms ease, transform 140ms var(--partner-ease-out); }\n.dsh-partner-workspace-dialog > header button:hover { border-color: var(--partner-border); color: var(--partner-text); background: var(--partner-hover); }\n.dsh-partner-workspace-dialog > header button:active { transform: scale(.94); }\n.dsh-partner-workspace-dialog-body { min-width: 0; min-height: 0; overflow: auto; padding: 20px 22px 24px; overscroll-behavior: contain; scrollbar-gutter: stable; }\n.dsh-partner-workspace-dialog-body > :is(form, .dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }\n.dsh-partner-workspace-dialog-body > :is(form, .dsh-partner-task-detail) > footer:last-child { position: sticky; z-index: 2; bottom: -24px; margin: 4px -22px -24px; padding: 14px 22px; border-top: 1px solid var(--partner-separator); background: var(--partner-solid-raised); box-shadow: 0 -10px 24px color-mix(in srgb, #000 5%, transparent); }\n\n.dsh-partner-workspace-notice { display: grid; grid-template-columns: 7px minmax(0, 1fr); align-items: start; gap: 10px; margin: 0 0 14px; padding: 11px 13px; border: 1px solid var(--partner-border); border-radius: 10px; color: var(--partner-text-secondary); background: var(--partner-control); font-size: var(--partner-font-body); line-height: 1.5; }\n.dsh-partner-workspace-notice > i { width: 7px; height: 7px; margin-top: .42em; border-radius: 50%; background: var(--partner-text-tertiary); }\n.dsh-partner-workspace-notice.is-error { border-color: color-mix(in srgb, var(--partner-danger) 30%, var(--partner-border)); color: var(--partner-danger); }\n.dsh-partner-workspace-notice.is-error > i { background: var(--partner-danger); }\n.dsh-partner-workspace-notice.is-warning > i { background: var(--partner-warning); }\n.dsh-partner-workspace-notice.is-success > i { background: var(--partner-success); }\n\n.dsh-partner-collection-empty { display: grid; justify-items: center; padding: 38px 24px 42px; color: var(--partner-text-secondary); text-align: center; }\n.dsh-partner-collection-empty > span { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 12px; border: 1px solid var(--partner-border); border-radius: 13px; color: var(--partner-text-tertiary); background: var(--partner-control); }\n.dsh-partner-collection-empty > strong { color: var(--partner-text); font-size: var(--partner-font-label); font-weight: 620; }\n.dsh-partner-collection-empty > p { max-width: 46ch; margin: 6px 0 14px; color: var(--partner-text-tertiary); font-size: var(--partner-font-body); line-height: 1.55; text-wrap: pretty; }\n.dsh-partner-collection-empty > button { margin-top: 14px; }\n\n.dsh-partner-collection-skeleton { display: grid; gap: 8px; padding: 6px 0; }\n.dsh-partner-collection-skeleton > i { display: block; height: 68px; overflow: hidden; border: 1px solid var(--partner-border); border-radius: 12px; background: linear-gradient(100deg, var(--partner-control) 20%, var(--partner-hover) 38%, var(--partner-control) 56%); background-size: 220% 100%; animation: dsh-partner-skeleton 1.4s ease-in-out infinite; }\n\n.dsh-partner-count-label { display: inline-flex; align-items: baseline; gap: 5px; color: var(--partner-text-tertiary); font-size: var(--partner-font-caption); font-variant-numeric: tabular-nums; }\n.dsh-partner-count-label > b { color: var(--partner-text); font-size: var(--partner-font-label); font-weight: 650; }\n\n@keyframes dsh-partner-dialog-enter { from { opacity: 0; transform: translate3d(0, 10px, 0) scale(.985); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); } }\n@keyframes dsh-partner-skeleton { 0% { background-position: 120% 0; } 100% { background-position: -120% 0; } }\n\n@media (max-width: 760px) {\n .dsh-partner-workspace-dialog-layer { align-items: stretch; padding: 0; }\n .dsh-partner-workspace-dialog, .dsh-partner-workspace-dialog.is-wide { width: 100%; height: 100%; max-height: none; border-width: 0; border-radius: 0; }\n .dsh-partner-workspace-dialog > header { padding: 18px 18px 15px; }\n .dsh-partner-workspace-dialog-body { padding: 18px 18px 26px; }\n .dsh-partner-workspace-dialog-body > :is(form, .dsh-partner-task-detail) > footer:last-child { bottom: -26px; margin: 4px -18px -26px; padding: 13px 18px max(13px, env(safe-area-inset-bottom)); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dsh-partner-workspace-dialog, .dsh-partner-collection-skeleton > i { animation: none; }\n}\n.dsh-partner-feature-form > .dsh-partner-form-help { color: var(--partner-text-secondary); background: transparent; padding: 0; overflow-wrap: anywhere; line-height: 1.6; }\n';
|
|
2807
|
+
var workspace_ui_default = '.dsh-partner-feature-hero-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }\n.dsh-partner-feature-page { gap: 20px; }\n.dsh-partner-feature-hero { min-height: 92px; padding-bottom: 18px; }\n.dsh-partner-feature-hero p { max-width: 62ch; text-wrap: pretty; }\n.dsh-partner-feature-block { gap: 16px; padding: 20px; border-radius: 18px; box-shadow: inset 0 1px 0 var(--partner-card-highlight), 0 5px 16px color-mix(in srgb, var(--partner-text) 4%, transparent); }\n.dsh-partner-feature-block > header { min-height: 40px; }\n.dsh-partner-feature-block > header strong { font-size: var(--partner-font-label); letter-spacing: -.01em; }\n.dsh-partner-feature-block > header small { margin-top: 1px; }\n\n:is(.dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) :where(input, textarea, select) { outline: 0; }\n.dsh-partner-workspace select:not([multiple]) {\n appearance: none;\n padding-right: 32px;\n border-color: var(--partner-border);\n border-radius: 9px;\n color: var(--partner-text);\n background-color: var(--partner-control);\n background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);\n background-position: calc(100% - 15px) calc(50% - 1px), calc(100% - 11px) calc(50% - 1px);\n background-repeat: no-repeat;\n background-size: 4px 4px, 4px 4px;\n box-shadow: inset 0 1px 0 color-mix(in srgb, var(--partner-card-highlight) 54%, transparent), inset 0 -1px 0 var(--partner-glass-rim-shadow);\n font-family: var(--partner-font-family);\n font-size: var(--partner-font-body);\n font-weight: 520;\n cursor: pointer;\n transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;\n}\n.dsh-partner-workspace select:not([multiple]):hover:not(:disabled) { border-color: color-mix(in srgb, var(--partner-text) 24%, var(--partner-border)); background-color: var(--partner-hover); }\n.dsh-partner-workspace select:not([multiple]):focus-visible { border-color: var(--partner-focus-ring); background-color: var(--partner-raised); box-shadow: 0 0 0 3px color-mix(in srgb, var(--partner-focus-ring) 16%, transparent), inset 0 1px 0 color-mix(in srgb, var(--partner-card-highlight) 66%, transparent); }\n.dsh-partner-workspace select:not([multiple]):disabled { cursor: not-allowed; }\n.dsh-partner-workspace select option { color: var(--partner-text); background: var(--partner-solid-control); font: inherit; }\n:is(.dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) > footer { align-items: center; margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--partner-separator); }\n.dsh-partner-form-footer-spacer { flex: 1; }\n:is(.dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) > footer .is-primary { color: var(--partner-on-accent); border-color: var(--partner-accent-strong); background: var(--partner-accent-strong); }\n:is(.dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) > footer .is-primary:hover { color: var(--partner-on-accent); border-color: var(--partner-accent-strong); background: color-mix(in srgb, var(--partner-accent-strong) 88%, #000); }\n:is(.dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) > .dsh-partner-workspace-notice { grid-column: 1 / -1; margin: 0; }\n.dsh-partner-feature-page button:disabled { cursor: not-allowed; opacity: .48; }\n.dsh-partner-identity-danger > div { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }\n.dsh-partner-identity-danger[data-confirming="true"] { margin-inline: -12px; padding: 16px 12px 0; border-top-color: color-mix(in srgb, var(--partner-danger) 30%, var(--partner-border)); background: color-mix(in srgb, var(--partner-danger) 4%, transparent); }\n.dsh-partner-identity-danger button.is-secondary { border-color: var(--partner-border); color: var(--partner-text-secondary); background: var(--partner-control); }\n.dsh-partner-identity-danger button.is-danger { color: var(--partner-on-accent); border-color: var(--partner-danger); background: var(--partner-danger); }\n.dsh-partner-profile-entries article > header button.is-danger { color: var(--partner-danger); background: color-mix(in srgb, var(--partner-danger) 8%, transparent); }\n\n.dsh-partner-skill-installed > article,\n.dsh-partner-market-grid > article,\n.dsh-partner-schedule-list > article { transition: border-color 150ms ease, background-color 150ms ease, transform 180ms var(--partner-ease-out); }\n.dsh-partner-skill-installed > article:hover,\n.dsh-partner-schedule-list > article:hover { border-color: color-mix(in srgb, var(--partner-text) 20%, var(--partner-border)); background: color-mix(in srgb, var(--partner-hover) 60%, var(--partner-raised)); transform: translate3d(0, -1px, 0); }\n.dsh-partner-schedule-meta { display: flex !important; align-items: center; flex-wrap: wrap; gap: 5px 10px !important; margin-top: 2px; }\n.dsh-partner-schedule-list details { min-width: 0; max-width: 100%; }\n.dsh-partner-schedule-list details p,\n.dsh-partner-schedule-list details summary,\n.dsh-partner-schedule-list strong { white-space: normal; overflow-wrap: anywhere; }\n.dsh-partner-schedule-list details p { overflow: visible; text-overflow: clip; }\n.dsh-partner-schedule-list details summary { cursor: pointer; }\n.dsh-partner-schedule-meta > em { position: relative; color: var(--partner-text-tertiary); font-size: var(--partner-font-caption); font-style: normal; font-variant-numeric: tabular-nums; }\n.dsh-partner-schedule-meta > em + em::before { position: absolute; top: 50%; left: -6px; width: 2px; height: 2px; border-radius: 50%; background: var(--partner-text-tertiary); content: ""; }\n.dsh-partner-run-list > article { border-radius: 9px; transition: background-color 140ms ease; }\n.dsh-partner-run-list > article:hover { background: var(--partner-hover); }\n.dsh-partner-board > section { border-radius: 16px; box-shadow: none; }\n.dsh-partner-board .dsh-partner-task-card { box-shadow: none; }\n\n@media (hover: hover) {\n .dsh-partner-skill-installed .is-icon,\n .dsh-partner-schedule-list .is-icon { opacity: .34; transition: opacity 140ms ease, color 140ms ease, background-color 140ms ease; }\n .dsh-partner-skill-installed > article:hover .is-icon,\n .dsh-partner-schedule-list > article:hover .is-icon,\n .dsh-partner-skill-installed .is-icon:focus-visible,\n .dsh-partner-schedule-list .is-icon:focus-visible { opacity: 1; }\n}\n\n.dsh-partner-workspace-dialog-layer { position: fixed; z-index: 12; inset: 0; box-sizing: border-box; width: 100%; height: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; border: 0; overflow: hidden; color: var(--partner-text); align-items: center; justify-content: center; padding: clamp(16px, 3vw, 32px); background: var(--partner-dialog-veil); }\n.dsh-partner-workspace-dialog-layer[open] { display: flex; }\n.dsh-partner-workspace-dialog-layer::backdrop { background: transparent; }\n.dsh-partner-workspace-dialog { position: relative; inset: auto; display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(560px, 100%); max-width: none; height: auto; max-height: min(680px, 100%); margin: 0; padding: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--partner-text) 18%, var(--partner-border)); border-radius: 16px; color: var(--partner-text); background: var(--partner-solid-panel); box-shadow: 0 22px 58px color-mix(in srgb, #000 18%, transparent), 0 4px 14px color-mix(in srgb, #000 8%, transparent), inset 0 1px 0 var(--partner-card-highlight); animation: dsh-partner-dialog-enter 200ms var(--partner-ease-out) both; }\n.dsh-partner-workspace-dialog.is-wide { width: min(680px, 100%); max-height: min(720px, 100%); }\n.dsh-partner-workspace-dialog > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 20px; padding: 22px 22px 18px; border-bottom: 1px solid var(--partner-separator); background: var(--partner-solid-raised); }\n.dsh-partner-workspace-dialog > header > span { display: grid; gap: 5px; min-width: 0; }\n.dsh-partner-workspace-dialog > header small { color: var(--partner-text-tertiary); font-size: var(--partner-font-caption); font-weight: 680; letter-spacing: .09em; }\n.dsh-partner-workspace-dialog > header strong { font-size: var(--partner-font-title); line-height: 1.25; font-weight: 660; letter-spacing: -.025em; text-wrap: balance; }\n.dsh-partner-workspace-dialog > header p { max-width: 58ch; margin: 0; color: var(--partner-text-secondary); font-size: var(--partner-font-body); line-height: 1.55; text-wrap: pretty; }\n.dsh-partner-workspace-dialog > header button { display: grid; place-items: center; width: 32px; min-height: 32px; padding: 0; border: 1px solid transparent; border-radius: 9px; color: var(--partner-text-tertiary); background: transparent; box-shadow: none; cursor: pointer; transition: color 140ms ease, border-color 140ms ease, background-color 140ms ease, transform 140ms var(--partner-ease-out); }\n.dsh-partner-workspace-dialog > header button:hover { border-color: var(--partner-border); color: var(--partner-text); background: var(--partner-hover); }\n.dsh-partner-workspace-dialog > header button:active { transform: scale(.94); }\n.dsh-partner-workspace-dialog-body { min-width: 0; min-height: 0; overflow: auto; padding: 20px 22px 24px; overscroll-behavior: contain; scrollbar-gutter: stable; }\n.dsh-partner-workspace-dialog-body > :is(form, .dsh-partner-feature-form, .dsh-partner-task-form, .dsh-partner-schedule-form) { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }\n.dsh-partner-workspace-dialog-body > :is(form, .dsh-partner-task-detail) > footer:last-child { position: sticky; z-index: 2; bottom: -24px; margin: 4px -22px -24px; padding: 14px 22px; border-top: 1px solid var(--partner-separator); background: var(--partner-solid-raised); box-shadow: 0 -10px 24px color-mix(in srgb, #000 5%, transparent); }\n\n.dsh-partner-workspace-notice { display: grid; grid-template-columns: 7px minmax(0, 1fr); align-items: start; gap: 10px; margin: 0 0 14px; padding: 11px 13px; border: 1px solid var(--partner-border); border-radius: 10px; color: var(--partner-text-secondary); background: var(--partner-control); font-size: var(--partner-font-body); line-height: 1.5; }\n.dsh-partner-workspace-notice > i { width: 7px; height: 7px; margin-top: .42em; border-radius: 50%; background: var(--partner-text-tertiary); }\n.dsh-partner-workspace-notice.is-error { border-color: color-mix(in srgb, var(--partner-danger) 30%, var(--partner-border)); color: var(--partner-danger); }\n.dsh-partner-workspace-notice.is-error > i { background: var(--partner-danger); }\n.dsh-partner-workspace-notice.is-warning > i { background: var(--partner-warning); }\n.dsh-partner-workspace-notice.is-success > i { background: var(--partner-success); }\n\n.dsh-partner-collection-empty { display: grid; justify-items: center; padding: 38px 24px 42px; color: var(--partner-text-secondary); text-align: center; }\n.dsh-partner-collection-empty > span { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 12px; border: 1px solid var(--partner-border); border-radius: 13px; color: var(--partner-text-tertiary); background: var(--partner-control); }\n.dsh-partner-collection-empty > strong { color: var(--partner-text); font-size: var(--partner-font-label); font-weight: 620; }\n.dsh-partner-collection-empty > p { max-width: 46ch; margin: 6px 0 14px; color: var(--partner-text-tertiary); font-size: var(--partner-font-body); line-height: 1.55; text-wrap: pretty; }\n.dsh-partner-collection-empty > button { margin-top: 14px; }\n\n.dsh-partner-collection-skeleton { display: grid; gap: 8px; padding: 6px 0; }\n.dsh-partner-collection-skeleton > i { display: block; height: 68px; overflow: hidden; border: 1px solid var(--partner-border); border-radius: 12px; background: linear-gradient(100deg, var(--partner-control) 20%, var(--partner-hover) 38%, var(--partner-control) 56%); background-size: 220% 100%; animation: dsh-partner-skeleton 1.4s ease-in-out infinite; }\n\n.dsh-partner-count-label { display: inline-flex; align-items: baseline; gap: 5px; color: var(--partner-text-tertiary); font-size: var(--partner-font-caption); font-variant-numeric: tabular-nums; }\n.dsh-partner-count-label > b { color: var(--partner-text); font-size: var(--partner-font-label); font-weight: 650; }\n\n@keyframes dsh-partner-dialog-enter { from { opacity: 0; transform: translate3d(0, 10px, 0) scale(.985); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); } }\n@keyframes dsh-partner-skeleton { 0% { background-position: 120% 0; } 100% { background-position: -120% 0; } }\n\n@media (max-width: 760px) {\n .dsh-partner-workspace-dialog-layer { align-items: stretch; padding: 0; }\n .dsh-partner-workspace-dialog, .dsh-partner-workspace-dialog.is-wide { width: 100%; height: 100%; max-height: none; border-width: 0; border-radius: 0; }\n .dsh-partner-workspace-dialog > header { padding: 18px 18px 15px; }\n .dsh-partner-workspace-dialog-body { padding: 18px 18px 26px; }\n .dsh-partner-workspace-dialog-body > :is(form, .dsh-partner-task-detail) > footer:last-child { bottom: -26px; margin: 4px -18px -26px; padding: 13px 18px max(13px, env(safe-area-inset-bottom)); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .dsh-partner-workspace-dialog, .dsh-partner-collection-skeleton > i { animation: none; }\n}\n.dsh-partner-feature-form > .dsh-partner-form-help { color: var(--partner-text-secondary); background: transparent; padding: 0; overflow-wrap: anywhere; line-height: 1.6; }\n';
|
|
2765
2808
|
|
|
2766
2809
|
// src/ui/requirement-board.css
|
|
2767
2810
|
var requirement_board_default = ".dsh-partner-requirement-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px; }\n.dsh-partner-requirement-toolbar .dsh-partner-board-statuses { margin: 0; flex: 1; }\n.dsh-partner-requirement-toolbar .dsh-partner-board-search { flex: 0 1 300px; }\n.dsh-partner-requirement-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 12px; }\n.dsh-partner-requirement-card { min-width: 0; border: 1px solid var(--partner-border); border-radius: 16px; overflow: hidden; background: var(--partner-raised); }\n.dsh-partner-feature-page .dsh-partner-requirement-open { display: flex; flex-direction: column; align-items: stretch; gap: 12px; width: 100%; min-height: 186px; padding: 18px; border: 0; border-radius: 0; background: transparent; color: var(--partner-text); text-align: left; box-shadow: none; }\n.dsh-partner-requirement-open:hover, .dsh-partner-requirement-open:focus-visible { background: var(--partner-hover); }\n.dsh-partner-requirement-open > strong { font-size: var(--partner-font-label); line-height: 1.5; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }\n.dsh-partner-requirement-open > p { margin: 0; min-height: 3em; font-size: var(--partner-font-body); color: var(--partner-text-secondary); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }\n.dsh-partner-requirement-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: var(--partner-font-caption); color: var(--partner-text-secondary); }\n.dsh-partner-requirement-meta > span { border-radius: 6px; padding: 3px 7px; background: var(--partner-control); color: var(--partner-text); }\n.dsh-partner-requirement-meta small { font: inherit; overflow-wrap: anywhere; }\n.dsh-partner-requirement-progress { height: 4px; width: 100%; border-radius: 4px; background: var(--partner-border); overflow: hidden; margin-top: auto; }\n.dsh-partner-requirement-progress > i { display: block; height: 100%; border-radius: inherit; background: var(--partner-text-secondary); }\n.dsh-partner-requirement-card > footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 18px; border-top: 1px solid var(--partner-separator); }\n.dsh-partner-requirement-card > footer > small { color: var(--partner-text-secondary); font-size: var(--partner-font-caption); }\n.dsh-partner-requirement-card > footer > button { border: 0; background: transparent; box-shadow: none; }\n.dsh-partner-requirement-legacy { width: 100%; display: flex; gap: 12px; margin-top: 20px; padding: 14px !important; text-align: left; }\n.dsh-partner-requirement-legacy > span { flex: 1; color: var(--partner-text-secondary); }\n.dsh-partner-requirement-breadcrumb { display: flex; align-items: center; gap: 8px; min-width: 0; margin-bottom: 12px; font-size: var(--partner-font-body); }\n.dsh-partner-requirement-breadcrumb > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }\n.dsh-partner-requirement-breadcrumb > button, .dsh-partner-requirement-breadcrumb > svg { flex-shrink: 0; }\n.dsh-partner-requirement-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-block: 12px; border-block: 1px solid var(--partner-separator); }\n.dsh-partner-requirement-facts > span { display: grid; gap: 6px; color: var(--partner-text-secondary); font-size: var(--partner-font-caption); }\n.dsh-partner-requirement-facts b { color: var(--partner-text); font-weight: 550; overflow-wrap: anywhere; }\n.dsh-partner-requirement-disclosure { border-top: 1px solid var(--partner-separator); padding-top: 8px; }\n.dsh-partner-requirement-disclosure > summary { display: flex; align-items: center; gap: 8px; min-height: 40px; cursor: pointer; color: var(--partner-text-secondary); font-size: var(--partner-font-body); list-style: none; }\n.dsh-partner-requirement-disclosure > summary::-webkit-details-marker { display: none; }\n.dsh-partner-requirement-disclosure > summary::before { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); }\n.dsh-partner-requirement-disclosure[open] > summary::before { transform: rotate(45deg); }\n.dsh-partner-requirement-disclosure > p { color: var(--partner-text-secondary); font-size: var(--partner-font-body); line-height: 1.6; }\n.dsh-partner-requirement-disclosure > label { display: grid; gap: 8px; margin-bottom: 12px; }\n.dsh-partner-requirement-actions { display: flex; flex-wrap: wrap; gap: 8px; }\n.dsh-partner-requirement-owner { display: grid; gap: 8px; font-size: var(--partner-font-body); }\n.dsh-partner-requirement-detail :is(textarea, select) { box-sizing: border-box; width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid var(--partner-border); border-radius: 9px; background: var(--partner-control); color: var(--partner-text); font: var(--partner-font-body)/1.5 var(--partner-font-family); }\n.dsh-partner-requirement-detail textarea { resize: vertical; }\n.dsh-partner-feature-page.is-board :is(button, summary, textarea):focus-visible { outline: 2px solid var(--partner-focus-ring); outline-offset: 2px; }\n.dsh-partner-feature-page.is-board button:not(:disabled):active { transform: none; }\n.dsh-partner-requirement-detail button.is-primary { background: var(--partner-accent-strong); color: var(--partner-on-accent); border-color: var(--partner-accent-strong); }\n.dsh-partner-requirement-detail button.is-danger { color: var(--partner-danger); }\n.dsh-partner-feature-page.is-board > .dsh-partner-feature-page.is-board { padding: 0; }\n.dsh-partner-requirement-detail > footer { display: flex; justify-content: flex-end; gap: 8px; }\n.dsh-partner-requirement-detail .dsh-partner-task-result { overflow-wrap: anywhere; }\n@media (max-width: 760px) {\n .dsh-partner-requirement-toolbar { align-items: stretch; }\n .dsh-partner-requirement-toolbar .dsh-partner-board-statuses { display: flex; }\n .dsh-partner-requirement-toolbar .dsh-partner-board-search { flex-basis: 100%; }\n .dsh-partner-requirement-facts { grid-template-columns: 1fr 1fr; }\n .dsh-partner-requirement-legacy { flex-wrap: wrap; }\n .dsh-partner-requirement-legacy > span { flex-basis: 100%; }\n .dsh-partner-requirement-detail button, .dsh-partner-requirement-card button, .dsh-partner-requirement-disclosure summary { min-height: 44px; }\n}\n";
|
|
@@ -3287,7 +3330,7 @@ function WorkspaceDialog({ eyebrow = "CREATE & CONFIGURE", title, detail, close,
|
|
|
3287
3330
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { id: titleId, children: title }),
|
|
3288
3331
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { id: detailId, children: detail })
|
|
3289
3332
|
] }),
|
|
3290
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { type: "button", onClick: close, "aria-label": "\u5173\u95ED", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dsh_client_ui_primitives.
|
|
3333
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { type: "button", onClick: close, "aria-label": "\u5173\u95ED", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dsh_client_ui_primitives.IconCloseOutlineRegular, { size: 16 }) })
|
|
3291
3334
|
] }),
|
|
3292
3335
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dsh-partner-workspace-dialog-body", children })
|
|
3293
3336
|
] }) });
|
|
@@ -3300,7 +3343,7 @@ function WorkspaceNotice({ children, kind = "error" }) {
|
|
|
3300
3343
|
}
|
|
3301
3344
|
function CollectionEmpty({ title, detail, action }) {
|
|
3302
3345
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsh-partner-collection-empty", children: [
|
|
3303
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dsh_client_ui_primitives.
|
|
3346
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dsh_client_ui_primitives.IconAgentPresetOutlineRegular, { size: 18 }) }),
|
|
3304
3347
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: title }),
|
|
3305
3348
|
detail && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: detail }),
|
|
3306
3349
|
action
|
|
@@ -3360,7 +3403,7 @@ function SectionHeading({ eyebrow, title, detail }) {
|
|
|
3360
3403
|
}
|
|
3361
3404
|
function ContentState({ title, detail, action, compact = false }) {
|
|
3362
3405
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: `dsh-partner-state${compact ? " is-compact" : ""}`, children: [
|
|
3363
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_dsh_client_ui_primitives2.
|
|
3406
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_dsh_client_ui_primitives2.IconAgentPresetOutlineRegular, { size: 20 }),
|
|
3364
3407
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("strong", { children: title }),
|
|
3365
3408
|
detail && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", { children: detail }),
|
|
3366
3409
|
action
|
|
@@ -4006,11 +4049,11 @@ function MemoryLibrary({ companionId, scopeId, collection, layers, enabled, chan
|
|
|
4006
4049
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("section", { className: "dsh-partner-memory-library-v2", children: [
|
|
4007
4050
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("nav", { className: "dsh-partner-memory-nav", "aria-label": "\u8BB0\u5FC6\u5185\u5BB9", children: [
|
|
4008
4051
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("button", { type: "button", "aria-pressed": mode === "memory" || mode === "scenes", onClick: () => selectMode("memory"), children: [
|
|
4009
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_dsh_client_ui_primitives3.
|
|
4052
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_dsh_client_ui_primitives3.IconDataOutlineRegular, { size: 16 }),
|
|
4010
4053
|
"\u8BB0\u5FC6"
|
|
4011
4054
|
] }),
|
|
4012
4055
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("button", { type: "button", "aria-pressed": mode === "reflection" || mode === "history", onClick: () => selectMode("reflection"), children: [
|
|
4013
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_dsh_client_ui_primitives3.
|
|
4056
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_dsh_client_ui_primitives3.IconBrowseOutlineRegular, { size: 16 }),
|
|
4014
4057
|
"\u56DE\u987E"
|
|
4015
4058
|
] }),
|
|
4016
4059
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("details", { className: "dsh-partner-memory-more", ref: more, onKeyDown: (event) => {
|
|
@@ -4026,16 +4069,16 @@ function MemoryLibrary({ companionId, scopeId, collection, layers, enabled, chan
|
|
|
4026
4069
|
] }),
|
|
4027
4070
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { children: [
|
|
4028
4071
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("button", { type: "button", onClick: () => selectMode("scenes"), children: [
|
|
4029
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_dsh_client_ui_primitives3.
|
|
4072
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_dsh_client_ui_primitives3.IconDataOutlineRegular, { size: 16 }),
|
|
4030
4073
|
"\u573A\u666F\u6458\u8981"
|
|
4031
4074
|
] }),
|
|
4032
4075
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("button", { type: "button", onClick: () => selectMode("experiences"), children: [
|
|
4033
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_dsh_client_ui_primitives3.
|
|
4076
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_dsh_client_ui_primitives3.IconListPenOutlineRegular, { size: 16 }),
|
|
4034
4077
|
"\u7ECF\u9A8C\u5BA1\u6838 ",
|
|
4035
4078
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("small", { children: layers?.experiences.filter((item) => item.status === "draft").length ?? 0 })
|
|
4036
4079
|
] }),
|
|
4037
4080
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("button", { type: "button", onClick: () => selectMode("graph"), children: [
|
|
4038
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_dsh_client_ui_primitives3.
|
|
4081
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_dsh_client_ui_primitives3.IconLinkOutlineRegular, { size: 16 }),
|
|
4039
4082
|
"\u5173\u7CFB\u56FE\u8C31"
|
|
4040
4083
|
] })
|
|
4041
4084
|
] })
|
|
@@ -4346,7 +4389,7 @@ function MemoryPanel({ companion, snapshot, openSession, startSession, renewSess
|
|
|
4346
4389
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "dsh-partner-memory-badge", children: companion.automation.memory.enabled ? "\u5B66\u4E60\u5DF2\u5F00\u542F" : "\u5B66\u4E60\u5DF2\u6682\u505C" }),
|
|
4347
4390
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("button", { type: "button", "aria-label": "\u5237\u65B0\u8BB0\u5FC6", disabled: collection.loading || layers.loading, onClick: () => {
|
|
4348
4391
|
void reload();
|
|
4349
|
-
}, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_dsh_client_ui_primitives4.
|
|
4392
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_dsh_client_ui_primitives4.IconRefreshOutlineRegular, { size: 16 }) })
|
|
4350
4393
|
] }),
|
|
4351
4394
|
(error || collection.error || layers.error) && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(WorkspaceNotice, { children: error || collection.error || layers.error }),
|
|
4352
4395
|
notice && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(WorkspaceNotice, { kind: "success", children: notice }),
|
|
@@ -4479,18 +4522,20 @@ function ArchivedConcerns({ companionId, onChanged }) {
|
|
|
4479
4522
|
const contentId = (0, import_react13.useId)();
|
|
4480
4523
|
const [open, setOpen] = (0, import_react13.useState)(false);
|
|
4481
4524
|
const [offset, setOffset] = (0, import_react13.useState)(0);
|
|
4482
|
-
const resource = useMemoryResource(
|
|
4525
|
+
const resource = useMemoryResource(`/companions/${encodeURIComponent(companionId)}/concerns/archived?offset=${offset}`, 15e3);
|
|
4483
4526
|
const refresh = async () => {
|
|
4484
|
-
|
|
4527
|
+
if (offset > 0 && resource.data?.items.length === 1) setOffset(offset - 50);
|
|
4528
|
+
else await resource.reload();
|
|
4485
4529
|
await onChanged();
|
|
4486
4530
|
};
|
|
4531
|
+
if (!resource.error && (!resource.data || offset === 0 && resource.data.items.length === 0)) return null;
|
|
4487
4532
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("section", { className: "dsh-partner-concern-archive", children: [
|
|
4488
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("button", { type: "button", className: "dsh-partner-concern-archive-toggle", "aria-label": "\u5DF2\
|
|
4533
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("button", { type: "button", className: "dsh-partner-concern-archive-toggle", "aria-label": "\u5DF2\u505C\u6B62\u5173\u6CE8 \xB7 \u67E5\u770B\u4E0E\u6E05\u7406", "aria-expanded": open, "aria-controls": open ? contentId : void 0, onClick: () => setOpen(!open), children: [
|
|
4489
4534
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { children: [
|
|
4490
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("strong", { children: "\u5DF2\
|
|
4491
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("small", { children: "\
|
|
4535
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("strong", { children: "\u5DF2\u505C\u6B62\u5173\u6CE8" }),
|
|
4536
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("small", { children: "\u4E0D\u518D\u5173\u6CE8\u6216\u957F\u671F\u672A\u6D3B\u8DC3\u800C\u81EA\u52A8\u505C\u6B62\u7684\u8BB0\u5F55\uFF0C\u53EF\u6309\u9700\u6E05\u7406" })
|
|
4492
4537
|
] }),
|
|
4493
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_dsh_client_ui_primitives5.
|
|
4538
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_dsh_client_ui_primitives5.IconChevronDownOutlineRegular, { size: 16 })
|
|
4494
4539
|
] }),
|
|
4495
4540
|
open && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { id: contentId, className: "dsh-partner-concern-archive-content", children: [
|
|
4496
4541
|
resource.error && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(WorkspaceNotice, { children: [
|
|
@@ -4500,11 +4545,11 @@ function ArchivedConcerns({ companionId, onChanged }) {
|
|
|
4500
4545
|
}, children: "\u91CD\u8BD5" })
|
|
4501
4546
|
] }),
|
|
4502
4547
|
!resource.data ? !resource.error && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { role: "status", children: "\u6B63\u5728\u8BFB\u53D6\u2026" }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
4503
|
-
resource.data.items.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { children: "\u6B64\u9875\u6CA1\u6709\u5DF2\
|
|
4548
|
+
resource.data.items.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { children: "\u6B64\u9875\u6CA1\u6709\u5DF2\u505C\u6B62\u5173\u6CE8\u3002" }),
|
|
4504
4549
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "dsh-partner-concern-archive-list", children: resource.data.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("article", { className: "dsh-partner-concern-archive-row", children: [
|
|
4505
4550
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("details", { className: "dsh-partner-concern-archive-details", children: [
|
|
4506
4551
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("summary", { children: [
|
|
4507
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_dsh_client_ui_primitives5.
|
|
4552
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_dsh_client_ui_primitives5.IconChevronDownOutlineRegular, { size: 14 }),
|
|
4508
4553
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("strong", { children: item.subject })
|
|
4509
4554
|
] }),
|
|
4510
4555
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("dl", { children: [
|
|
@@ -4519,7 +4564,7 @@ function ArchivedConcerns({ companionId, onChanged }) {
|
|
|
4519
4564
|
] }),
|
|
4520
4565
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "dsh-partner-concern-archive-action", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ConcernDeleteButton, { companionId, item, onDeleted: refresh }) })
|
|
4521
4566
|
] }, item.id)) }),
|
|
4522
|
-
(offset > 0 || resource.data.hasMore) && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("nav", { className: "dsh-partner-concern-archive-pages", "aria-label": "\
|
|
4567
|
+
(offset > 0 || resource.data.hasMore) && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("nav", { className: "dsh-partner-concern-archive-pages", "aria-label": "\u5DF2\u505C\u6B62\u5173\u6CE8\u5206\u9875", children: [
|
|
4523
4568
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { children: [
|
|
4524
4569
|
"\u7B2C ",
|
|
4525
4570
|
Math.floor(offset / 50) + 1,
|
|
@@ -4757,7 +4802,7 @@ function ConcernBoard({ companionId, activity, value, busy, onValue, onAdd, onCh
|
|
|
4757
4802
|
setEditing(void 0);
|
|
4758
4803
|
setComposing((current2) => !current2);
|
|
4759
4804
|
}, children: [
|
|
4760
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_dsh_client_ui_primitives6.
|
|
4805
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_dsh_client_ui_primitives6.IconPlusOutlineRegular, { size: 14 }),
|
|
4761
4806
|
"\u4EA4\u4EE3\u4E00\u4EF6\u4E8B"
|
|
4762
4807
|
] })
|
|
4763
4808
|
] }),
|
|
@@ -4821,7 +4866,7 @@ function ConcernBoard({ companionId, activity, value, busy, onValue, onAdd, onCh
|
|
|
4821
4866
|
onMouseEnter: () => setActiveSource(index2),
|
|
4822
4867
|
onClick: () => chooseSource(source),
|
|
4823
4868
|
children: [
|
|
4824
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: source.kind === "file" ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_dsh_client_ui_primitives6.
|
|
4869
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: source.kind === "file" ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_dsh_client_ui_primitives6.IconDataOutlineRegular, { size: 15 }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_dsh_client_ui_primitives6.IconLinkOutlineRegular, { size: 15 }) }),
|
|
4825
4870
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("strong", { children: source.label }),
|
|
4826
4871
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("small", { children: source.detail })
|
|
4827
4872
|
]
|
|
@@ -4869,7 +4914,7 @@ function ConcernBoard({ companionId, activity, value, busy, onValue, onAdd, onCh
|
|
|
4869
4914
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("small", { children: "\u4E0B\u6B21\u7559\u610F" }),
|
|
4870
4915
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("strong", { children: futureTime(item.nextCheckAt) })
|
|
4871
4916
|
] }),
|
|
4872
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_dsh_client_ui_primitives6.
|
|
4917
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_dsh_client_ui_primitives6.IconChevronDownOutlineRegular, { size: 14 })
|
|
4873
4918
|
] }),
|
|
4874
4919
|
expanded && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "dsh-partner-concern-detail", children: [
|
|
4875
4920
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { children: item.reason }),
|
|
@@ -4920,10 +4965,12 @@ function ConcernBoard({ companionId, activity, value, busy, onValue, onAdd, onCh
|
|
|
4920
4965
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("b", { children: resolved.length })
|
|
4921
4966
|
] }),
|
|
4922
4967
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { children: resolved.slice(0, 30).map((item) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("article", { children: [
|
|
4923
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_dsh_client_ui_primitives6.
|
|
4924
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("strong", { children: item.subject }),
|
|
4925
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.
|
|
4926
|
-
|
|
4968
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_dsh_client_ui_primitives6.IconCheckOutlineRegular, { size: 13 }) }),
|
|
4969
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("strong", { title: item.subject, children: item.subject }),
|
|
4970
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "dsh-partner-concern-resolved-actions", role: "group", "aria-label": `${item.subject} \u7684\u64CD\u4F5C`, children: [
|
|
4971
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { type: "button", disabled: busy, onClick: () => onAct(item, "watch"), children: "\u91CD\u65B0\u7559\u610F" }),
|
|
4972
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ConcernDeleteButton, { companionId, item, disabled: busy, onDeleted: onEdited })
|
|
4973
|
+
] })
|
|
4927
4974
|
] }, item.id)) })
|
|
4928
4975
|
] }),
|
|
4929
4976
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ArchivedConcerns, { companionId, onChanged: onEdited })
|
|
@@ -5059,7 +5106,7 @@ function ConcernPanel({ companion, snapshot, onChanged }) {
|
|
|
5059
5106
|
] }),
|
|
5060
5107
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("button", { type: "button", disabled: resource.loading, "aria-label": "\u5237\u65B0\u5173\u6CE8", onClick: () => {
|
|
5061
5108
|
void resource.reload();
|
|
5062
|
-
}, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_dsh_client_ui_primitives7.
|
|
5109
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_dsh_client_ui_primitives7.IconRefreshOutlineRegular, { size: 16 }) })
|
|
5063
5110
|
] }),
|
|
5064
5111
|
(error || resource.error || heartbeat?.lastError) && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(WorkspaceNotice, { children: error || resource.error || heartbeat?.lastError }),
|
|
5065
5112
|
notice && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(WorkspaceNotice, { kind: "success", children: notice }),
|
|
@@ -5373,7 +5420,7 @@ function PendantSettingsPanel() {
|
|
|
5373
5420
|
};
|
|
5374
5421
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "dsh-partner-feature-page dsh-partner-pendant-settings", children: [
|
|
5375
5422
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(WorkspaceHero, { eyebrow: "PERSONAL TOUCH", title: "\u5361\u7247\u8BBE\u7F6E", detail: "\u8BA9\u6302\u9970\u6709\u81EA\u5DF1\u7684\u6837\u5B50\u3002\u5916\u89C2\u4EC5\u4FDD\u5B58\u5728\u5F53\u524D\u6D4F\u89C8\u5668\uFF0C\u4E0D\u5F71\u54CD\u4F19\u4F34\u6267\u884C\u548C\u6E20\u9053\u901A\u77E5\u3002", actions: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("button", { type: "button", disabled: !dirty || processing, onClick: save, children: [
|
|
5376
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.
|
|
5423
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.IconCheckOutlineRegular, { size: 15 }),
|
|
5377
5424
|
"\u4FDD\u5B58\u8BBE\u7F6E"
|
|
5378
5425
|
] }) }),
|
|
5379
5426
|
error && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(WorkspaceNotice, { children: error }),
|
|
@@ -5410,13 +5457,13 @@ function PendantSettingsPanel() {
|
|
|
5410
5457
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StrapPreview, { material: item.id, color: previewColor, swatch: true }),
|
|
5411
5458
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("strong", { children: item.name }),
|
|
5412
5459
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("small", { children: item.detail }),
|
|
5413
|
-
draft.material === item.id && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.
|
|
5460
|
+
draft.material === item.id && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.IconCheckOutlineRegular, { size: 14 })
|
|
5414
5461
|
] }, item.id)) }),
|
|
5415
5462
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "dsh-partner-pendant-color-row", children: [
|
|
5416
5463
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children: "\u7EF3\u5B50\u989C\u8272" }),
|
|
5417
5464
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "dsh-partner-pendant-swatches", role: "group", "aria-label": "\u9884\u8BBE\u7EF3\u5B50\u989C\u8272", children: COLORS.map((color2) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("button", { type: "button", "aria-label": `\u7EF3\u5B50\u989C\u8272 ${color2}`, "aria-pressed": draft.color.toLowerCase() === color2, onClick: () => update({ color: color2 }), children: [
|
|
5418
5465
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("i", { style: { backgroundColor: color2 } }),
|
|
5419
|
-
draft.color.toLowerCase() === color2 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.
|
|
5466
|
+
draft.color.toLowerCase() === color2 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.IconCheckOutlineRegular, { size: 12 })
|
|
5420
5467
|
] }, color2)) }),
|
|
5421
5468
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("label", { className: "dsh-partner-pendant-hex", children: [
|
|
5422
5469
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "dsh-partner-pendant-sr", children: "\u81EA\u5B9A\u4E49\u7EF3\u5B50\u989C\u8272" }),
|
|
@@ -5429,7 +5476,7 @@ function PendantSettingsPanel() {
|
|
|
5429
5476
|
} }),
|
|
5430
5477
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "dsh-partner-pendant-image-actions", children: [
|
|
5431
5478
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("button", { type: "button", disabled: processing, onClick: () => strapFile.current?.click(), children: [
|
|
5432
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.
|
|
5479
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.IconPlusOutlineRegular, { size: 15 }),
|
|
5433
5480
|
draft.strapImage ? "\u66F4\u6362\u7EF3\u5B50\u7EB9\u7406" : "\u81EA\u5B9A\u4E49\u7EF3\u5B50\u7EB9\u7406"
|
|
5434
5481
|
] }),
|
|
5435
5482
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("button", { type: "button", disabled: processing || !draft.strapImage, onClick: () => update({ strapImage: "" }), children: "\u79FB\u9664\u7EB9\u7406" })
|
|
@@ -5442,11 +5489,11 @@ function PendantSettingsPanel() {
|
|
|
5442
5489
|
} }),
|
|
5443
5490
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "dsh-partner-pendant-image-actions", children: [
|
|
5444
5491
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("button", { type: "button", disabled: processing, onClick: () => file.current?.click(), children: [
|
|
5445
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.
|
|
5492
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.IconPlusOutlineRegular, { size: 15 }),
|
|
5446
5493
|
processing ? "\u6B63\u5728\u5904\u7406\u2026" : draft.image ? "\u66F4\u6362\u56FE\u7247" : "\u9009\u62E9\u56FE\u7247"
|
|
5447
5494
|
] }),
|
|
5448
5495
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("button", { type: "button", disabled: !draft.image || processing, onClick: () => update({ image: "" }), children: [
|
|
5449
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.
|
|
5496
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.IconRefreshOutlineRegular, { size: 15 }),
|
|
5450
5497
|
"\u6062\u590D\u9ED8\u8BA4\u56FE\u6848"
|
|
5451
5498
|
] })
|
|
5452
5499
|
] }),
|
|
@@ -5481,7 +5528,7 @@ function PendantSettingsPanel() {
|
|
|
5481
5528
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "dsh-partner-pendant-preview-stage", children: [
|
|
5482
5529
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StrapPreview, { material: draft.material, color: previewColor, image: draft.strapImage, length: draft.strapLength }),
|
|
5483
5530
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "dsh-partner-pendant-preview-card", children: draft.image ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("img", { src: draft.image, style: { objectFit: draft.imageFit }, alt: "\u81EA\u5B9A\u4E49\u5361\u7247\u6B63\u9762\u9884\u89C8" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("span", { children: [
|
|
5484
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.
|
|
5531
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_dsh_client_ui_primitives8.IconAgentPresetOutlineRegular, { size: 38 }),
|
|
5485
5532
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("strong", { children: "WITH YOU" }),
|
|
5486
5533
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("small", { children: "\u9ED8\u8BA4\u4F19\u4F34\u56FE\u6848" })
|
|
5487
5534
|
] }) })
|
|
@@ -5728,7 +5775,7 @@ var import_dsh_client_ui_primitives9 = require("@deepseek-ai/dsh-client-ui-primi
|
|
|
5728
5775
|
// src/pendant/markdown.tsx
|
|
5729
5776
|
var import_react23 = __toESM(require("react"), 1);
|
|
5730
5777
|
|
|
5731
|
-
// node_modules/mdast-util-to-string/lib/index.js
|
|
5778
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/mdast-util-to-string/lib/index.js
|
|
5732
5779
|
var emptyOptions = {};
|
|
5733
5780
|
function toString(value, options) {
|
|
5734
5781
|
const settings = options || emptyOptions;
|
|
@@ -5765,7 +5812,7 @@ function node(value) {
|
|
|
5765
5812
|
return Boolean(value && typeof value === "object");
|
|
5766
5813
|
}
|
|
5767
5814
|
|
|
5768
|
-
// node_modules/decode-named-character-reference/index.dom.js
|
|
5815
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/decode-named-character-reference/index.dom.js
|
|
5769
5816
|
var element = document.createElement("i");
|
|
5770
5817
|
function decodeNamedCharacterReference(value) {
|
|
5771
5818
|
const characterReference2 = "&" + value + ";";
|
|
@@ -5777,7 +5824,7 @@ function decodeNamedCharacterReference(value) {
|
|
|
5777
5824
|
return character === characterReference2 ? false : character;
|
|
5778
5825
|
}
|
|
5779
5826
|
|
|
5780
|
-
// node_modules/micromark-util-chunked/index.js
|
|
5827
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-chunked/index.js
|
|
5781
5828
|
function splice(list2, start, remove, items) {
|
|
5782
5829
|
const end = list2.length;
|
|
5783
5830
|
let chunkStart = 0;
|
|
@@ -5811,7 +5858,7 @@ function push(list2, items) {
|
|
|
5811
5858
|
return items;
|
|
5812
5859
|
}
|
|
5813
5860
|
|
|
5814
|
-
// node_modules/micromark-util-combine-extensions/index.js
|
|
5861
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-combine-extensions/index.js
|
|
5815
5862
|
var hasOwnProperty = {}.hasOwnProperty;
|
|
5816
5863
|
function combineExtensions(extensions) {
|
|
5817
5864
|
const all2 = {};
|
|
@@ -5851,7 +5898,7 @@ function constructs(existing, list2) {
|
|
|
5851
5898
|
splice(existing, 0, 0, before);
|
|
5852
5899
|
}
|
|
5853
5900
|
|
|
5854
|
-
// node_modules/micromark-util-decode-numeric-character-reference/index.js
|
|
5901
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-decode-numeric-character-reference/index.js
|
|
5855
5902
|
function decodeNumericCharacterReference(value, base) {
|
|
5856
5903
|
const code2 = Number.parseInt(value, base);
|
|
5857
5904
|
if (
|
|
@@ -5869,12 +5916,12 @@ function decodeNumericCharacterReference(value, base) {
|
|
|
5869
5916
|
return String.fromCodePoint(code2);
|
|
5870
5917
|
}
|
|
5871
5918
|
|
|
5872
|
-
// node_modules/micromark-util-normalize-identifier/index.js
|
|
5919
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-normalize-identifier/index.js
|
|
5873
5920
|
function normalizeIdentifier(value) {
|
|
5874
5921
|
return value.replace(/[\t\n\r ]+/g, " ").replace(/^ | $/g, "").toLowerCase().toUpperCase();
|
|
5875
5922
|
}
|
|
5876
5923
|
|
|
5877
|
-
// node_modules/micromark-util-character/index.js
|
|
5924
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-character/index.js
|
|
5878
5925
|
var asciiAlpha = regexCheck(/[A-Za-z]/);
|
|
5879
5926
|
var asciiAlphanumeric = regexCheck(/[\dA-Za-z]/);
|
|
5880
5927
|
var asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/);
|
|
@@ -5906,10 +5953,10 @@ function regexCheck(regex) {
|
|
|
5906
5953
|
}
|
|
5907
5954
|
}
|
|
5908
5955
|
|
|
5909
|
-
// node_modules/micromark-factory-space/index.js
|
|
5956
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-factory-space/index.js
|
|
5910
5957
|
function factorySpace(effects, ok3, type, max) {
|
|
5911
|
-
const limit = max ? max - 1 :
|
|
5912
|
-
let
|
|
5958
|
+
const limit = max ? max - 1 : Infinity;
|
|
5959
|
+
let size2 = 0;
|
|
5913
5960
|
return start;
|
|
5914
5961
|
function start(code2) {
|
|
5915
5962
|
if (markdownSpace(code2)) {
|
|
@@ -5919,7 +5966,7 @@ function factorySpace(effects, ok3, type, max) {
|
|
|
5919
5966
|
return ok3(code2);
|
|
5920
5967
|
}
|
|
5921
5968
|
function prefix(code2) {
|
|
5922
|
-
if (markdownSpace(code2) &&
|
|
5969
|
+
if (markdownSpace(code2) && size2++ < limit) {
|
|
5923
5970
|
effects.consume(code2);
|
|
5924
5971
|
return prefix;
|
|
5925
5972
|
}
|
|
@@ -5927,8 +5974,31 @@ function factorySpace(effects, ok3, type, max) {
|
|
|
5927
5974
|
return ok3(code2);
|
|
5928
5975
|
}
|
|
5929
5976
|
}
|
|
5977
|
+
function factorySpaceMinMax(effects, ok3, nok, type, min, max) {
|
|
5978
|
+
let size2 = 0;
|
|
5979
|
+
return start;
|
|
5980
|
+
function start(code2) {
|
|
5981
|
+
if (max > 0 && markdownSpace(code2)) {
|
|
5982
|
+
effects.enter(type);
|
|
5983
|
+
return prefix(code2);
|
|
5984
|
+
}
|
|
5985
|
+
return after(code2);
|
|
5986
|
+
}
|
|
5987
|
+
function prefix(code2) {
|
|
5988
|
+
if (markdownSpace(code2) && size2 < max) {
|
|
5989
|
+
effects.consume(code2);
|
|
5990
|
+
size2++;
|
|
5991
|
+
return prefix;
|
|
5992
|
+
}
|
|
5993
|
+
effects.exit(type);
|
|
5994
|
+
return after(code2);
|
|
5995
|
+
}
|
|
5996
|
+
function after(code2) {
|
|
5997
|
+
return size2 >= min ? ok3(code2) : nok(code2);
|
|
5998
|
+
}
|
|
5999
|
+
}
|
|
5930
6000
|
|
|
5931
|
-
// node_modules/micromark/lib/initialize/content.js
|
|
6001
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark/lib/initialize/content.js
|
|
5932
6002
|
var content = {
|
|
5933
6003
|
tokenize: initializeContent
|
|
5934
6004
|
};
|
|
@@ -5978,7 +6048,105 @@ function initializeContent(effects) {
|
|
|
5978
6048
|
}
|
|
5979
6049
|
}
|
|
5980
6050
|
|
|
5981
|
-
// node_modules/micromark/
|
|
6051
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-edit-map/index.js
|
|
6052
|
+
var EditMap = class {
|
|
6053
|
+
/**
|
|
6054
|
+
* Create a new edit map.
|
|
6055
|
+
*
|
|
6056
|
+
* @returns
|
|
6057
|
+
* New instance.
|
|
6058
|
+
*/
|
|
6059
|
+
constructor() {
|
|
6060
|
+
this.index = /* @__PURE__ */ new Map();
|
|
6061
|
+
this.map = [];
|
|
6062
|
+
}
|
|
6063
|
+
/**
|
|
6064
|
+
* Create an edit: a remove and/or add at a certain place.
|
|
6065
|
+
*
|
|
6066
|
+
* @param {number} index
|
|
6067
|
+
* Index at which to apply the edit.
|
|
6068
|
+
* @param {number} remove
|
|
6069
|
+
* Count of items to remove at the index.
|
|
6070
|
+
* @param {Array<Event>} add
|
|
6071
|
+
* Items to add at the index.
|
|
6072
|
+
* @returns {undefined}
|
|
6073
|
+
* Nothing.
|
|
6074
|
+
*/
|
|
6075
|
+
add(index2, remove, add) {
|
|
6076
|
+
addImplementation(this, index2, remove, add, false);
|
|
6077
|
+
}
|
|
6078
|
+
/**
|
|
6079
|
+
* Create an edit: but insert `add` before existing additions, instead of
|
|
6080
|
+
* after them.
|
|
6081
|
+
*
|
|
6082
|
+
* @param {number} index
|
|
6083
|
+
* Index at which to apply the edit.
|
|
6084
|
+
* @param {number} remove
|
|
6085
|
+
* Count of items to remove at the index.
|
|
6086
|
+
* @param {Array<Event>} add
|
|
6087
|
+
* Items to add at the index.
|
|
6088
|
+
* @returns {undefined}
|
|
6089
|
+
* Nothing.
|
|
6090
|
+
*/
|
|
6091
|
+
addBefore(index2, remove, add) {
|
|
6092
|
+
addImplementation(this, index2, remove, add, true);
|
|
6093
|
+
}
|
|
6094
|
+
/**
|
|
6095
|
+
* Done, change the events.
|
|
6096
|
+
*
|
|
6097
|
+
* @param {Array<Event>} events
|
|
6098
|
+
* List of events to apply the edits to.
|
|
6099
|
+
* @returns {undefined}
|
|
6100
|
+
* Nothing.
|
|
6101
|
+
*/
|
|
6102
|
+
consume(events) {
|
|
6103
|
+
this.map.sort(function(a, b) {
|
|
6104
|
+
return a[0] - b[0];
|
|
6105
|
+
});
|
|
6106
|
+
if (this.map.length === 0) {
|
|
6107
|
+
return;
|
|
6108
|
+
}
|
|
6109
|
+
let index2 = this.map.length;
|
|
6110
|
+
const vecs = [];
|
|
6111
|
+
while (index2 > 0) {
|
|
6112
|
+
index2 -= 1;
|
|
6113
|
+
vecs.push(events.slice(this.map[index2][0] + this.map[index2][1]), this.map[index2][2]);
|
|
6114
|
+
events.length = this.map[index2][0];
|
|
6115
|
+
}
|
|
6116
|
+
vecs.push(events.slice());
|
|
6117
|
+
events.length = 0;
|
|
6118
|
+
let slice = vecs.pop();
|
|
6119
|
+
while (slice) {
|
|
6120
|
+
for (const element2 of slice) {
|
|
6121
|
+
events.push(element2);
|
|
6122
|
+
}
|
|
6123
|
+
slice = vecs.pop();
|
|
6124
|
+
}
|
|
6125
|
+
this.map.length = 0;
|
|
6126
|
+
this.index.clear();
|
|
6127
|
+
}
|
|
6128
|
+
};
|
|
6129
|
+
function addImplementation(editMap, at, remove, add, before) {
|
|
6130
|
+
if (remove === 0 && add.length === 0) {
|
|
6131
|
+
return;
|
|
6132
|
+
}
|
|
6133
|
+
const existing = editMap.index.get(at);
|
|
6134
|
+
if (existing) {
|
|
6135
|
+
existing[1] += remove;
|
|
6136
|
+
if (before) {
|
|
6137
|
+
add.push(...existing[2]);
|
|
6138
|
+
existing[2] = add;
|
|
6139
|
+
} else {
|
|
6140
|
+
existing[2].push(...add);
|
|
6141
|
+
}
|
|
6142
|
+
return;
|
|
6143
|
+
}
|
|
6144
|
+
const change = [at, remove, add];
|
|
6145
|
+
editMap.map.push(change);
|
|
6146
|
+
editMap.index.set(at, change);
|
|
6147
|
+
}
|
|
6148
|
+
|
|
6149
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark/lib/initialize/document.js
|
|
5982
6150
|
var document2 = {
|
|
5983
6151
|
tokenize: initializeDocument
|
|
5984
6152
|
};
|
|
@@ -6025,8 +6193,10 @@ function initializeDocument(effects) {
|
|
|
6025
6193
|
};
|
|
6026
6194
|
index2++;
|
|
6027
6195
|
}
|
|
6028
|
-
|
|
6029
|
-
self.events.
|
|
6196
|
+
const editMap = new EditMap();
|
|
6197
|
+
editMap.add(indexBeforeFlow + 1, 0, self.events.slice(indexBeforeExits));
|
|
6198
|
+
editMap.add(indexBeforeExits, index2 - indexBeforeExits, []);
|
|
6199
|
+
editMap.consume(self.events);
|
|
6030
6200
|
return checkNewContainers(code2);
|
|
6031
6201
|
}
|
|
6032
6202
|
return start(code2);
|
|
@@ -6045,7 +6215,9 @@ function initializeDocument(effects) {
|
|
|
6045
6215
|
return effects.check(containerConstruct, thereIsANewContainer, thereIsNoNewContainer)(code2);
|
|
6046
6216
|
}
|
|
6047
6217
|
function thereIsANewContainer(code2) {
|
|
6048
|
-
if (childFlow)
|
|
6218
|
+
if (childFlow) {
|
|
6219
|
+
closeFlow();
|
|
6220
|
+
}
|
|
6049
6221
|
exitContainers(continued);
|
|
6050
6222
|
return documentContinued(code2);
|
|
6051
6223
|
}
|
|
@@ -6065,7 +6237,9 @@ function initializeDocument(effects) {
|
|
|
6065
6237
|
}
|
|
6066
6238
|
function flowStart(code2) {
|
|
6067
6239
|
if (code2 === null) {
|
|
6068
|
-
if (childFlow)
|
|
6240
|
+
if (childFlow) {
|
|
6241
|
+
closeFlow();
|
|
6242
|
+
}
|
|
6069
6243
|
exitContainers(0);
|
|
6070
6244
|
effects.consume(code2);
|
|
6071
6245
|
return;
|
|
@@ -6097,9 +6271,13 @@ function initializeDocument(effects) {
|
|
|
6097
6271
|
}
|
|
6098
6272
|
function writeToChild(token, endOfFile) {
|
|
6099
6273
|
const stream = self.sliceStream(token);
|
|
6100
|
-
if (endOfFile)
|
|
6274
|
+
if (endOfFile) {
|
|
6275
|
+
stream.push(null);
|
|
6276
|
+
}
|
|
6101
6277
|
token.previous = childToken;
|
|
6102
|
-
if (childToken)
|
|
6278
|
+
if (childToken) {
|
|
6279
|
+
childToken.next = token;
|
|
6280
|
+
}
|
|
6103
6281
|
childToken = token;
|
|
6104
6282
|
childFlow.defineSkip(token.start);
|
|
6105
6283
|
childFlow.write(stream);
|
|
@@ -6136,18 +6314,20 @@ function initializeDocument(effects) {
|
|
|
6136
6314
|
};
|
|
6137
6315
|
index2++;
|
|
6138
6316
|
}
|
|
6139
|
-
|
|
6140
|
-
self.events.
|
|
6317
|
+
const editMap = new EditMap();
|
|
6318
|
+
editMap.add(indexBeforeFlow + 1, 0, self.events.slice(indexBeforeExits));
|
|
6319
|
+
editMap.add(indexBeforeExits, index2 - indexBeforeExits, []);
|
|
6320
|
+
editMap.consume(self.events);
|
|
6141
6321
|
}
|
|
6142
6322
|
}
|
|
6143
|
-
function exitContainers(
|
|
6323
|
+
function exitContainers(size2) {
|
|
6144
6324
|
let index2 = stack.length;
|
|
6145
|
-
while (index2-- >
|
|
6325
|
+
while (index2-- > size2) {
|
|
6146
6326
|
const entry = stack[index2];
|
|
6147
6327
|
self.containerState = entry[1];
|
|
6148
6328
|
entry[0].exit.call(self, effects);
|
|
6149
6329
|
}
|
|
6150
|
-
stack.length =
|
|
6330
|
+
stack.length = size2;
|
|
6151
6331
|
}
|
|
6152
6332
|
function closeFlow() {
|
|
6153
6333
|
childFlow.write([null]);
|
|
@@ -6160,7 +6340,7 @@ function tokenizeContainer(effects, ok3, nok) {
|
|
|
6160
6340
|
return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok3, nok), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
|
|
6161
6341
|
}
|
|
6162
6342
|
|
|
6163
|
-
// node_modules/micromark-util-classify-character/index.js
|
|
6343
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-classify-character/index.js
|
|
6164
6344
|
function classifyCharacter(code2) {
|
|
6165
6345
|
if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {
|
|
6166
6346
|
return 1;
|
|
@@ -6170,7 +6350,7 @@ function classifyCharacter(code2) {
|
|
|
6170
6350
|
}
|
|
6171
6351
|
}
|
|
6172
6352
|
|
|
6173
|
-
// node_modules/micromark-util-resolve-all/index.js
|
|
6353
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-resolve-all/index.js
|
|
6174
6354
|
function resolveAll(constructs2, events, context) {
|
|
6175
6355
|
const called = [];
|
|
6176
6356
|
let index2 = -1;
|
|
@@ -6184,7 +6364,7 @@ function resolveAll(constructs2, events, context) {
|
|
|
6184
6364
|
return events;
|
|
6185
6365
|
}
|
|
6186
6366
|
|
|
6187
|
-
// node_modules/micromark-core-commonmark/lib/attention.js
|
|
6367
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/attention.js
|
|
6188
6368
|
var attention = {
|
|
6189
6369
|
name: "attention",
|
|
6190
6370
|
resolveAll: resolveAllAttention,
|
|
@@ -6192,24 +6372,17 @@ var attention = {
|
|
|
6192
6372
|
};
|
|
6193
6373
|
function resolveAllAttention(events, context) {
|
|
6194
6374
|
let index2 = -1;
|
|
6195
|
-
let open;
|
|
6196
|
-
let group;
|
|
6197
|
-
let text4;
|
|
6198
|
-
let openingSequence;
|
|
6199
|
-
let closingSequence;
|
|
6200
|
-
let use;
|
|
6201
6375
|
let nextEvents;
|
|
6202
|
-
let offset;
|
|
6203
6376
|
while (++index2 < events.length) {
|
|
6204
6377
|
if (events[index2][0] === "enter" && events[index2][1].type === "attentionSequence" && events[index2][1]._close) {
|
|
6205
|
-
open = index2;
|
|
6378
|
+
let open = index2;
|
|
6206
6379
|
while (open--) {
|
|
6207
6380
|
if (events[open][0] === "exit" && events[open][1].type === "attentionSequence" && events[open][1]._open && // If the markers are the same:
|
|
6208
6381
|
context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index2][1]).charCodeAt(0)) {
|
|
6209
6382
|
if ((events[open][1]._close || events[index2][1]._open) && (events[index2][1].end.offset - events[index2][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index2][1].end.offset - events[index2][1].start.offset) % 3)) {
|
|
6210
6383
|
continue;
|
|
6211
6384
|
}
|
|
6212
|
-
use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index2][1].end.offset - events[index2][1].start.offset > 1 ? 2 : 1;
|
|
6385
|
+
const use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index2][1].end.offset - events[index2][1].start.offset > 1 ? 2 : 1;
|
|
6213
6386
|
const start = {
|
|
6214
6387
|
...events[open][1].end
|
|
6215
6388
|
};
|
|
@@ -6218,21 +6391,21 @@ function resolveAllAttention(events, context) {
|
|
|
6218
6391
|
};
|
|
6219
6392
|
movePoint(start, -use);
|
|
6220
6393
|
movePoint(end, use);
|
|
6221
|
-
openingSequence = {
|
|
6394
|
+
const openingSequence = {
|
|
6222
6395
|
type: use > 1 ? "strongSequence" : "emphasisSequence",
|
|
6223
6396
|
start,
|
|
6224
6397
|
end: {
|
|
6225
6398
|
...events[open][1].end
|
|
6226
6399
|
}
|
|
6227
6400
|
};
|
|
6228
|
-
closingSequence = {
|
|
6401
|
+
const closingSequence = {
|
|
6229
6402
|
type: use > 1 ? "strongSequence" : "emphasisSequence",
|
|
6230
6403
|
start: {
|
|
6231
6404
|
...events[index2][1].start
|
|
6232
6405
|
},
|
|
6233
6406
|
end
|
|
6234
6407
|
};
|
|
6235
|
-
text4 = {
|
|
6408
|
+
const text4 = {
|
|
6236
6409
|
type: use > 1 ? "strongText" : "emphasisText",
|
|
6237
6410
|
start: {
|
|
6238
6411
|
...events[open][1].end
|
|
@@ -6241,7 +6414,7 @@ function resolveAllAttention(events, context) {
|
|
|
6241
6414
|
...events[index2][1].start
|
|
6242
6415
|
}
|
|
6243
6416
|
};
|
|
6244
|
-
group = {
|
|
6417
|
+
const group = {
|
|
6245
6418
|
type: use > 1 ? "strong" : "emphasis",
|
|
6246
6419
|
start: {
|
|
6247
6420
|
...openingSequence.start
|
|
@@ -6263,11 +6436,10 @@ function resolveAllAttention(events, context) {
|
|
|
6263
6436
|
nextEvents = push(nextEvents, [["enter", group, context], ["enter", openingSequence, context], ["exit", openingSequence, context], ["enter", text4, context]]);
|
|
6264
6437
|
nextEvents = push(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index2), context));
|
|
6265
6438
|
nextEvents = push(nextEvents, [["exit", text4, context], ["enter", closingSequence, context], ["exit", closingSequence, context], ["exit", group, context]]);
|
|
6439
|
+
let offset = 0;
|
|
6266
6440
|
if (events[index2][1].end.offset - events[index2][1].start.offset) {
|
|
6267
6441
|
offset = 2;
|
|
6268
6442
|
nextEvents = push(nextEvents, [["enter", events[index2][1], context], ["exit", events[index2][1], context]]);
|
|
6269
|
-
} else {
|
|
6270
|
-
offset = 0;
|
|
6271
6443
|
}
|
|
6272
6444
|
splice(events, open - 1, index2 - open + 3, nextEvents);
|
|
6273
6445
|
index2 = open + nextEvents.length - offset - 2;
|
|
@@ -6302,8 +6474,8 @@ function tokenizeAttention(effects, ok3) {
|
|
|
6302
6474
|
}
|
|
6303
6475
|
const token = effects.exit("attentionSequence");
|
|
6304
6476
|
const after = classifyCharacter(code2);
|
|
6305
|
-
const open = !after || after === 2 && before || attentionMarkers2.includes(code2);
|
|
6306
|
-
const close = !before || before === 2 && after || attentionMarkers2.includes(previous3);
|
|
6477
|
+
const open = !after || after === 2 && before || attentionMarkers2.includes(code2) && code2 !== 42 && code2 !== 95;
|
|
6478
|
+
const close = !before || before === 2 && after || attentionMarkers2.includes(previous3) && previous3 !== 42 && previous3 !== 95;
|
|
6307
6479
|
token._open = Boolean(marker === 42 ? open : open && (before || !close));
|
|
6308
6480
|
token._close = Boolean(marker === 42 ? close : close && (after || !open));
|
|
6309
6481
|
return ok3(code2);
|
|
@@ -6315,13 +6487,13 @@ function movePoint(point4, offset) {
|
|
|
6315
6487
|
point4._bufferIndex += offset;
|
|
6316
6488
|
}
|
|
6317
6489
|
|
|
6318
|
-
// node_modules/micromark-core-commonmark/lib/autolink.js
|
|
6490
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/autolink.js
|
|
6319
6491
|
var autolink = {
|
|
6320
6492
|
name: "autolink",
|
|
6321
6493
|
tokenize: tokenizeAutolink
|
|
6322
6494
|
};
|
|
6323
6495
|
function tokenizeAutolink(effects, ok3, nok) {
|
|
6324
|
-
let
|
|
6496
|
+
let size2 = 0;
|
|
6325
6497
|
return start;
|
|
6326
6498
|
function start(code2) {
|
|
6327
6499
|
effects.enter("autolink");
|
|
@@ -6343,7 +6515,7 @@ function tokenizeAutolink(effects, ok3, nok) {
|
|
|
6343
6515
|
}
|
|
6344
6516
|
function schemeOrEmailAtext(code2) {
|
|
6345
6517
|
if (code2 === 43 || code2 === 45 || code2 === 46 || asciiAlphanumeric(code2)) {
|
|
6346
|
-
|
|
6518
|
+
size2 = 1;
|
|
6347
6519
|
return schemeInsideOrEmailAtext(code2);
|
|
6348
6520
|
}
|
|
6349
6521
|
return emailAtext(code2);
|
|
@@ -6351,14 +6523,14 @@ function tokenizeAutolink(effects, ok3, nok) {
|
|
|
6351
6523
|
function schemeInsideOrEmailAtext(code2) {
|
|
6352
6524
|
if (code2 === 58) {
|
|
6353
6525
|
effects.consume(code2);
|
|
6354
|
-
|
|
6526
|
+
size2 = 0;
|
|
6355
6527
|
return urlInside;
|
|
6356
6528
|
}
|
|
6357
|
-
if ((code2 === 43 || code2 === 45 || code2 === 46 || asciiAlphanumeric(code2)) &&
|
|
6529
|
+
if ((code2 === 43 || code2 === 45 || code2 === 46 || asciiAlphanumeric(code2)) && size2++ < 32) {
|
|
6358
6530
|
effects.consume(code2);
|
|
6359
6531
|
return schemeInsideOrEmailAtext;
|
|
6360
6532
|
}
|
|
6361
|
-
|
|
6533
|
+
size2 = 0;
|
|
6362
6534
|
return emailAtext(code2);
|
|
6363
6535
|
}
|
|
6364
6536
|
function urlInside(code2) {
|
|
@@ -6393,7 +6565,7 @@ function tokenizeAutolink(effects, ok3, nok) {
|
|
|
6393
6565
|
function emailLabel(code2) {
|
|
6394
6566
|
if (code2 === 46) {
|
|
6395
6567
|
effects.consume(code2);
|
|
6396
|
-
|
|
6568
|
+
size2 = 0;
|
|
6397
6569
|
return emailAtSignOrDot;
|
|
6398
6570
|
}
|
|
6399
6571
|
if (code2 === 62) {
|
|
@@ -6407,7 +6579,7 @@ function tokenizeAutolink(effects, ok3, nok) {
|
|
|
6407
6579
|
return emailValue(code2);
|
|
6408
6580
|
}
|
|
6409
6581
|
function emailValue(code2) {
|
|
6410
|
-
if ((code2 === 45 || asciiAlphanumeric(code2)) &&
|
|
6582
|
+
if ((code2 === 45 || asciiAlphanumeric(code2)) && size2++ < 63) {
|
|
6411
6583
|
const next = code2 === 45 ? emailValue : emailLabel;
|
|
6412
6584
|
effects.consume(code2);
|
|
6413
6585
|
return next;
|
|
@@ -6416,7 +6588,7 @@ function tokenizeAutolink(effects, ok3, nok) {
|
|
|
6416
6588
|
}
|
|
6417
6589
|
}
|
|
6418
6590
|
|
|
6419
|
-
// node_modules/micromark-core-commonmark/lib/blank-line.js
|
|
6591
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/blank-line.js
|
|
6420
6592
|
var blankLine = {
|
|
6421
6593
|
partial: true,
|
|
6422
6594
|
tokenize: tokenizeBlankLine
|
|
@@ -6431,7 +6603,7 @@ function tokenizeBlankLine(effects, ok3, nok) {
|
|
|
6431
6603
|
}
|
|
6432
6604
|
}
|
|
6433
6605
|
|
|
6434
|
-
// node_modules/micromark-core-commonmark/lib/block-quote.js
|
|
6606
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/block-quote.js
|
|
6435
6607
|
var blockQuote = {
|
|
6436
6608
|
continuation: {
|
|
6437
6609
|
tokenize: tokenizeBlockQuoteContinuation
|
|
@@ -6489,7 +6661,7 @@ function exit(effects) {
|
|
|
6489
6661
|
effects.exit("blockQuote");
|
|
6490
6662
|
}
|
|
6491
6663
|
|
|
6492
|
-
// node_modules/micromark-core-commonmark/lib/character-escape.js
|
|
6664
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/character-escape.js
|
|
6493
6665
|
var characterEscape = {
|
|
6494
6666
|
name: "characterEscape",
|
|
6495
6667
|
tokenize: tokenizeCharacterEscape
|
|
@@ -6515,14 +6687,14 @@ function tokenizeCharacterEscape(effects, ok3, nok) {
|
|
|
6515
6687
|
}
|
|
6516
6688
|
}
|
|
6517
6689
|
|
|
6518
|
-
// node_modules/micromark-core-commonmark/lib/character-reference.js
|
|
6690
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/character-reference.js
|
|
6519
6691
|
var characterReference = {
|
|
6520
6692
|
name: "characterReference",
|
|
6521
6693
|
tokenize: tokenizeCharacterReference
|
|
6522
6694
|
};
|
|
6523
6695
|
function tokenizeCharacterReference(effects, ok3, nok) {
|
|
6524
6696
|
const self = this;
|
|
6525
|
-
let
|
|
6697
|
+
let size2 = 0;
|
|
6526
6698
|
let max;
|
|
6527
6699
|
let test;
|
|
6528
6700
|
return start;
|
|
@@ -6561,7 +6733,7 @@ function tokenizeCharacterReference(effects, ok3, nok) {
|
|
|
6561
6733
|
return value(code2);
|
|
6562
6734
|
}
|
|
6563
6735
|
function value(code2) {
|
|
6564
|
-
if (code2 === 59 &&
|
|
6736
|
+
if (code2 === 59 && size2) {
|
|
6565
6737
|
const token = effects.exit("characterReferenceValue");
|
|
6566
6738
|
if (test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token))) {
|
|
6567
6739
|
return nok(code2);
|
|
@@ -6572,7 +6744,7 @@ function tokenizeCharacterReference(effects, ok3, nok) {
|
|
|
6572
6744
|
effects.exit("characterReference");
|
|
6573
6745
|
return ok3;
|
|
6574
6746
|
}
|
|
6575
|
-
if (test(code2) &&
|
|
6747
|
+
if (test(code2) && size2++ < max) {
|
|
6576
6748
|
effects.consume(code2);
|
|
6577
6749
|
return value;
|
|
6578
6750
|
}
|
|
@@ -6580,11 +6752,29 @@ function tokenizeCharacterReference(effects, ok3, nok) {
|
|
|
6580
6752
|
}
|
|
6581
6753
|
}
|
|
6582
6754
|
|
|
6583
|
-
// node_modules/micromark-core-commonmark/lib/
|
|
6755
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js
|
|
6584
6756
|
var nonLazyContinuation = {
|
|
6585
6757
|
partial: true,
|
|
6586
6758
|
tokenize: tokenizeNonLazyContinuation
|
|
6587
6759
|
};
|
|
6760
|
+
function tokenizeNonLazyContinuation(effects, ok3, nok) {
|
|
6761
|
+
const self = this;
|
|
6762
|
+
return start;
|
|
6763
|
+
function start(code2) {
|
|
6764
|
+
if (code2 === null) {
|
|
6765
|
+
return nok(code2);
|
|
6766
|
+
}
|
|
6767
|
+
effects.enter("lineEnding");
|
|
6768
|
+
effects.consume(code2);
|
|
6769
|
+
effects.exit("lineEnding");
|
|
6770
|
+
return after;
|
|
6771
|
+
}
|
|
6772
|
+
function after(code2) {
|
|
6773
|
+
return self.parser.lazy[self.now().line] ? nok(code2) : ok3(code2);
|
|
6774
|
+
}
|
|
6775
|
+
}
|
|
6776
|
+
|
|
6777
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/code-fenced.js
|
|
6588
6778
|
var codeFenced = {
|
|
6589
6779
|
concrete: true,
|
|
6590
6780
|
name: "codeFenced",
|
|
@@ -6706,7 +6896,7 @@ function tokenizeCodeFenced(effects, ok3, nok) {
|
|
|
6706
6896
|
return ok3(code2);
|
|
6707
6897
|
}
|
|
6708
6898
|
function tokenizeCloseStart(effects2, ok4, nok2) {
|
|
6709
|
-
let
|
|
6899
|
+
let size2 = 0;
|
|
6710
6900
|
return startBefore;
|
|
6711
6901
|
function startBefore(code2) {
|
|
6712
6902
|
effects2.enter("lineEnding");
|
|
@@ -6727,11 +6917,11 @@ function tokenizeCodeFenced(effects, ok3, nok) {
|
|
|
6727
6917
|
}
|
|
6728
6918
|
function sequenceClose(code2) {
|
|
6729
6919
|
if (code2 === marker) {
|
|
6730
|
-
|
|
6920
|
+
size2++;
|
|
6731
6921
|
effects2.consume(code2);
|
|
6732
6922
|
return sequenceClose;
|
|
6733
6923
|
}
|
|
6734
|
-
if (
|
|
6924
|
+
if (size2 >= sizeOpen) {
|
|
6735
6925
|
effects2.exit("codeFencedFenceSequence");
|
|
6736
6926
|
return markdownSpace(code2) ? factorySpace(effects2, sequenceCloseAfter, "whitespace")(code2) : sequenceCloseAfter(code2);
|
|
6737
6927
|
}
|
|
@@ -6746,24 +6936,8 @@ function tokenizeCodeFenced(effects, ok3, nok) {
|
|
|
6746
6936
|
}
|
|
6747
6937
|
}
|
|
6748
6938
|
}
|
|
6749
|
-
function tokenizeNonLazyContinuation(effects, ok3, nok) {
|
|
6750
|
-
const self = this;
|
|
6751
|
-
return start;
|
|
6752
|
-
function start(code2) {
|
|
6753
|
-
if (code2 === null) {
|
|
6754
|
-
return nok(code2);
|
|
6755
|
-
}
|
|
6756
|
-
effects.enter("lineEnding");
|
|
6757
|
-
effects.consume(code2);
|
|
6758
|
-
effects.exit("lineEnding");
|
|
6759
|
-
return lineStart;
|
|
6760
|
-
}
|
|
6761
|
-
function lineStart(code2) {
|
|
6762
|
-
return self.parser.lazy[self.now().line] ? nok(code2) : ok3(code2);
|
|
6763
|
-
}
|
|
6764
|
-
}
|
|
6765
6939
|
|
|
6766
|
-
// node_modules/micromark-core-commonmark/lib/code-indented.js
|
|
6940
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/code-indented.js
|
|
6767
6941
|
var codeIndented = {
|
|
6768
6942
|
name: "codeIndented",
|
|
6769
6943
|
tokenize: tokenizeCodeIndented
|
|
@@ -6773,15 +6947,10 @@ var furtherStart = {
|
|
|
6773
6947
|
tokenize: tokenizeFurtherStart
|
|
6774
6948
|
};
|
|
6775
6949
|
function tokenizeCodeIndented(effects, ok3, nok) {
|
|
6776
|
-
const self = this;
|
|
6777
6950
|
return start;
|
|
6778
6951
|
function start(code2) {
|
|
6779
6952
|
effects.enter("codeIndented");
|
|
6780
|
-
return
|
|
6781
|
-
}
|
|
6782
|
-
function afterPrefix(code2) {
|
|
6783
|
-
const tail = self.events[self.events.length - 1];
|
|
6784
|
-
return tail && tail[1].type === "linePrefix" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? atBreak(code2) : nok(code2);
|
|
6953
|
+
return factorySpaceMinMax(effects, atBreak, nok, "linePrefix", 4, 4)(code2);
|
|
6785
6954
|
}
|
|
6786
6955
|
function atBreak(code2) {
|
|
6787
6956
|
if (code2 === null) {
|
|
@@ -6819,15 +6988,14 @@ function tokenizeFurtherStart(effects, ok3, nok) {
|
|
|
6819
6988
|
effects.exit("lineEnding");
|
|
6820
6989
|
return furtherStart2;
|
|
6821
6990
|
}
|
|
6822
|
-
return
|
|
6991
|
+
return factorySpaceMinMax(effects, ok3, onNotEnoughPrefix, "linePrefix", 4, 4)(code2);
|
|
6823
6992
|
}
|
|
6824
|
-
function
|
|
6825
|
-
|
|
6826
|
-
return tail && tail[1].type === "linePrefix" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? ok3(code2) : markdownLineEnding(code2) ? furtherStart2(code2) : nok(code2);
|
|
6993
|
+
function onNotEnoughPrefix(code2) {
|
|
6994
|
+
return markdownLineEnding(code2) ? furtherStart2(code2) : nok(code2);
|
|
6827
6995
|
}
|
|
6828
6996
|
}
|
|
6829
6997
|
|
|
6830
|
-
// node_modules/micromark-core-commonmark/lib/code-text.js
|
|
6998
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/code-text.js
|
|
6831
6999
|
var codeText = {
|
|
6832
7000
|
name: "codeText",
|
|
6833
7001
|
previous,
|
|
@@ -6877,7 +7045,7 @@ function previous(code2) {
|
|
|
6877
7045
|
function tokenizeCodeText(effects, ok3, nok) {
|
|
6878
7046
|
const self = this;
|
|
6879
7047
|
let sizeOpen = 0;
|
|
6880
|
-
let
|
|
7048
|
+
let size2;
|
|
6881
7049
|
let token;
|
|
6882
7050
|
return start;
|
|
6883
7051
|
function start(code2) {
|
|
@@ -6906,7 +7074,7 @@ function tokenizeCodeText(effects, ok3, nok) {
|
|
|
6906
7074
|
}
|
|
6907
7075
|
if (code2 === 96) {
|
|
6908
7076
|
token = effects.enter("codeTextSequence");
|
|
6909
|
-
|
|
7077
|
+
size2 = 0;
|
|
6910
7078
|
return sequenceClose(code2);
|
|
6911
7079
|
}
|
|
6912
7080
|
if (markdownLineEnding(code2)) {
|
|
@@ -6929,10 +7097,10 @@ function tokenizeCodeText(effects, ok3, nok) {
|
|
|
6929
7097
|
function sequenceClose(code2) {
|
|
6930
7098
|
if (code2 === 96) {
|
|
6931
7099
|
effects.consume(code2);
|
|
6932
|
-
|
|
7100
|
+
size2++;
|
|
6933
7101
|
return sequenceClose;
|
|
6934
7102
|
}
|
|
6935
|
-
if (
|
|
7103
|
+
if (size2 === sizeOpen) {
|
|
6936
7104
|
effects.exit("codeTextSequence");
|
|
6937
7105
|
effects.exit("codeText");
|
|
6938
7106
|
return ok3(code2);
|
|
@@ -6942,7 +7110,7 @@ function tokenizeCodeText(effects, ok3, nok) {
|
|
|
6942
7110
|
}
|
|
6943
7111
|
}
|
|
6944
7112
|
|
|
6945
|
-
// node_modules/micromark-util-subtokenize/lib/splice-buffer.js
|
|
7113
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-subtokenize/lib/splice-buffer.js
|
|
6946
7114
|
var SpliceBuffer = class {
|
|
6947
7115
|
/**
|
|
6948
7116
|
* @param {ReadonlyArray<T> | null | undefined} [initial]
|
|
@@ -7135,7 +7303,7 @@ function chunkedPush(list2, right) {
|
|
|
7135
7303
|
}
|
|
7136
7304
|
}
|
|
7137
7305
|
|
|
7138
|
-
// node_modules/micromark-util-subtokenize/index.js
|
|
7306
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-subtokenize/index.js
|
|
7139
7307
|
function subtokenize(eventsArray) {
|
|
7140
7308
|
const jumps = {};
|
|
7141
7309
|
let index2 = -1;
|
|
@@ -7288,7 +7456,7 @@ function subcontent(events, eventIndex) {
|
|
|
7288
7456
|
return gaps;
|
|
7289
7457
|
}
|
|
7290
7458
|
|
|
7291
|
-
// node_modules/micromark-core-commonmark/lib/content.js
|
|
7459
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/content.js
|
|
7292
7460
|
var content2 = {
|
|
7293
7461
|
resolve: resolveContent,
|
|
7294
7462
|
tokenize: tokenizeContent
|
|
@@ -7359,7 +7527,7 @@ function tokenizeContinuation(effects, ok3, nok) {
|
|
|
7359
7527
|
}
|
|
7360
7528
|
}
|
|
7361
7529
|
|
|
7362
|
-
// node_modules/micromark-factory-destination/index.js
|
|
7530
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-factory-destination/index.js
|
|
7363
7531
|
function factoryDestination(effects, ok3, nok, type, literalType, literalMarkerType, rawType, stringType, max) {
|
|
7364
7532
|
const limit = max || Number.POSITIVE_INFINITY;
|
|
7365
7533
|
let balance = 0;
|
|
@@ -7451,10 +7619,10 @@ function factoryDestination(effects, ok3, nok, type, literalType, literalMarkerT
|
|
|
7451
7619
|
}
|
|
7452
7620
|
}
|
|
7453
7621
|
|
|
7454
|
-
// node_modules/micromark-factory-label/index.js
|
|
7622
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-factory-label/index.js
|
|
7455
7623
|
function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
|
|
7456
7624
|
const self = this;
|
|
7457
|
-
let
|
|
7625
|
+
let size2 = 0;
|
|
7458
7626
|
let seen;
|
|
7459
7627
|
return start;
|
|
7460
7628
|
function start(code2) {
|
|
@@ -7466,12 +7634,12 @@ function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
|
|
|
7466
7634
|
return atBreak;
|
|
7467
7635
|
}
|
|
7468
7636
|
function atBreak(code2) {
|
|
7469
|
-
if (
|
|
7637
|
+
if (size2 > 999 || code2 === null || code2 === 91 || code2 === 93 && !seen || // To do: remove in the future once we’ve switched from
|
|
7470
7638
|
// `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,
|
|
7471
7639
|
// which doesn’t need this.
|
|
7472
7640
|
// Hidden footnotes hook.
|
|
7473
7641
|
/* c8 ignore next 3 */
|
|
7474
|
-
code2 === 94 && !
|
|
7642
|
+
code2 === 94 && !size2 && "_hiddenFootnoteSupport" in self.parser.constructs) {
|
|
7475
7643
|
return nok(code2);
|
|
7476
7644
|
}
|
|
7477
7645
|
if (code2 === 93) {
|
|
@@ -7494,7 +7662,7 @@ function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
|
|
|
7494
7662
|
return labelInside(code2);
|
|
7495
7663
|
}
|
|
7496
7664
|
function labelInside(code2) {
|
|
7497
|
-
if (code2 === null || code2 === 91 || code2 === 93 || markdownLineEnding(code2) ||
|
|
7665
|
+
if (code2 === null || code2 === 91 || code2 === 93 || markdownLineEnding(code2) || size2++ > 999) {
|
|
7498
7666
|
effects.exit("chunkString");
|
|
7499
7667
|
return atBreak(code2);
|
|
7500
7668
|
}
|
|
@@ -7505,14 +7673,14 @@ function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
|
|
|
7505
7673
|
function labelEscape(code2) {
|
|
7506
7674
|
if (code2 === 91 || code2 === 92 || code2 === 93) {
|
|
7507
7675
|
effects.consume(code2);
|
|
7508
|
-
|
|
7676
|
+
size2++;
|
|
7509
7677
|
return labelInside;
|
|
7510
7678
|
}
|
|
7511
7679
|
return labelInside(code2);
|
|
7512
7680
|
}
|
|
7513
7681
|
}
|
|
7514
7682
|
|
|
7515
|
-
// node_modules/micromark-factory-title/index.js
|
|
7683
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-factory-title/index.js
|
|
7516
7684
|
function factoryTitle(effects, ok3, nok, type, markerType, stringType) {
|
|
7517
7685
|
let marker;
|
|
7518
7686
|
return start;
|
|
@@ -7574,7 +7742,7 @@ function factoryTitle(effects, ok3, nok, type, markerType, stringType) {
|
|
|
7574
7742
|
}
|
|
7575
7743
|
}
|
|
7576
7744
|
|
|
7577
|
-
// node_modules/micromark-factory-whitespace/index.js
|
|
7745
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-factory-whitespace/index.js
|
|
7578
7746
|
function factoryWhitespace(effects, ok3) {
|
|
7579
7747
|
let seen;
|
|
7580
7748
|
return start;
|
|
@@ -7593,7 +7761,7 @@ function factoryWhitespace(effects, ok3) {
|
|
|
7593
7761
|
}
|
|
7594
7762
|
}
|
|
7595
7763
|
|
|
7596
|
-
// node_modules/micromark-core-commonmark/lib/definition.js
|
|
7764
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/definition.js
|
|
7597
7765
|
var definition = {
|
|
7598
7766
|
name: "definition",
|
|
7599
7767
|
tokenize: tokenizeDefinition
|
|
@@ -7679,7 +7847,7 @@ function tokenizeTitleBefore(effects, ok3, nok) {
|
|
|
7679
7847
|
}
|
|
7680
7848
|
}
|
|
7681
7849
|
|
|
7682
|
-
// node_modules/micromark-core-commonmark/lib/hard-break-escape.js
|
|
7850
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/hard-break-escape.js
|
|
7683
7851
|
var hardBreakEscape = {
|
|
7684
7852
|
name: "hardBreakEscape",
|
|
7685
7853
|
tokenize: tokenizeHardBreakEscape
|
|
@@ -7700,7 +7868,7 @@ function tokenizeHardBreakEscape(effects, ok3, nok) {
|
|
|
7700
7868
|
}
|
|
7701
7869
|
}
|
|
7702
7870
|
|
|
7703
|
-
// node_modules/micromark-core-commonmark/lib/heading-atx.js
|
|
7871
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/heading-atx.js
|
|
7704
7872
|
var headingAtx = {
|
|
7705
7873
|
name: "headingAtx",
|
|
7706
7874
|
resolve: resolveHeadingAtx,
|
|
@@ -7709,8 +7877,6 @@ var headingAtx = {
|
|
|
7709
7877
|
function resolveHeadingAtx(events, context) {
|
|
7710
7878
|
let contentEnd = events.length - 2;
|
|
7711
7879
|
let contentStart = 3;
|
|
7712
|
-
let content3;
|
|
7713
|
-
let text4;
|
|
7714
7880
|
if (events[contentStart][1].type === "whitespace") {
|
|
7715
7881
|
contentStart += 2;
|
|
7716
7882
|
}
|
|
@@ -7721,12 +7887,12 @@ function resolveHeadingAtx(events, context) {
|
|
|
7721
7887
|
contentEnd -= contentStart + 1 === contentEnd ? 2 : 4;
|
|
7722
7888
|
}
|
|
7723
7889
|
if (contentEnd > contentStart) {
|
|
7724
|
-
content3 = {
|
|
7890
|
+
const content3 = {
|
|
7725
7891
|
type: "atxHeadingText",
|
|
7726
7892
|
start: events[contentStart][1].start,
|
|
7727
7893
|
end: events[contentEnd][1].end
|
|
7728
7894
|
};
|
|
7729
|
-
text4 = {
|
|
7895
|
+
const text4 = {
|
|
7730
7896
|
type: "chunkText",
|
|
7731
7897
|
start: events[contentStart][1].start,
|
|
7732
7898
|
end: events[contentEnd][1].end,
|
|
@@ -7737,7 +7903,7 @@ function resolveHeadingAtx(events, context) {
|
|
|
7737
7903
|
return events;
|
|
7738
7904
|
}
|
|
7739
7905
|
function tokenizeHeadingAtx(effects, ok3, nok) {
|
|
7740
|
-
let
|
|
7906
|
+
let size2 = 0;
|
|
7741
7907
|
return start;
|
|
7742
7908
|
function start(code2) {
|
|
7743
7909
|
effects.enter("atxHeading");
|
|
@@ -7748,7 +7914,7 @@ function tokenizeHeadingAtx(effects, ok3, nok) {
|
|
|
7748
7914
|
return sequenceOpen(code2);
|
|
7749
7915
|
}
|
|
7750
7916
|
function sequenceOpen(code2) {
|
|
7751
|
-
if (code2 === 35 &&
|
|
7917
|
+
if (code2 === 35 && size2++ < 6) {
|
|
7752
7918
|
effects.consume(code2);
|
|
7753
7919
|
return sequenceOpen;
|
|
7754
7920
|
}
|
|
@@ -7791,7 +7957,7 @@ function tokenizeHeadingAtx(effects, ok3, nok) {
|
|
|
7791
7957
|
}
|
|
7792
7958
|
}
|
|
7793
7959
|
|
|
7794
|
-
// node_modules/micromark-util-html-tag-name/index.js
|
|
7960
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-html-tag-name/index.js
|
|
7795
7961
|
var htmlBlockNames = [
|
|
7796
7962
|
"address",
|
|
7797
7963
|
"article",
|
|
@@ -7858,7 +8024,7 @@ var htmlBlockNames = [
|
|
|
7858
8024
|
];
|
|
7859
8025
|
var htmlRawNames = ["pre", "script", "style", "textarea"];
|
|
7860
8026
|
|
|
7861
|
-
// node_modules/micromark-core-commonmark/lib/html-flow.js
|
|
8027
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/html-flow.js
|
|
7862
8028
|
var htmlFlow = {
|
|
7863
8029
|
concrete: true,
|
|
7864
8030
|
name: "htmlFlow",
|
|
@@ -7869,10 +8035,6 @@ var blankLineBefore = {
|
|
|
7869
8035
|
partial: true,
|
|
7870
8036
|
tokenize: tokenizeBlankLineBefore
|
|
7871
8037
|
};
|
|
7872
|
-
var nonLazyContinuationStart = {
|
|
7873
|
-
partial: true,
|
|
7874
|
-
tokenize: tokenizeNonLazyContinuationStart
|
|
7875
|
-
};
|
|
7876
8038
|
function resolveToHtmlFlow(events) {
|
|
7877
8039
|
let index2 = events.length;
|
|
7878
8040
|
while (index2--) {
|
|
@@ -8134,7 +8296,7 @@ function tokenizeHtmlFlow(effects, ok3, nok) {
|
|
|
8134
8296
|
return continuation;
|
|
8135
8297
|
}
|
|
8136
8298
|
function continuationStart(code2) {
|
|
8137
|
-
return effects.check(
|
|
8299
|
+
return effects.check(nonLazyContinuation, continuationStartNonLazy, continuationAfter)(code2);
|
|
8138
8300
|
}
|
|
8139
8301
|
function continuationStartNonLazy(code2) {
|
|
8140
8302
|
effects.enter("lineEnding");
|
|
@@ -8211,22 +8373,6 @@ function tokenizeHtmlFlow(effects, ok3, nok) {
|
|
|
8211
8373
|
return ok3(code2);
|
|
8212
8374
|
}
|
|
8213
8375
|
}
|
|
8214
|
-
function tokenizeNonLazyContinuationStart(effects, ok3, nok) {
|
|
8215
|
-
const self = this;
|
|
8216
|
-
return start;
|
|
8217
|
-
function start(code2) {
|
|
8218
|
-
if (markdownLineEnding(code2)) {
|
|
8219
|
-
effects.enter("lineEnding");
|
|
8220
|
-
effects.consume(code2);
|
|
8221
|
-
effects.exit("lineEnding");
|
|
8222
|
-
return after;
|
|
8223
|
-
}
|
|
8224
|
-
return nok(code2);
|
|
8225
|
-
}
|
|
8226
|
-
function after(code2) {
|
|
8227
|
-
return self.parser.lazy[self.now().line] ? nok(code2) : ok3(code2);
|
|
8228
|
-
}
|
|
8229
|
-
}
|
|
8230
8376
|
function tokenizeBlankLineBefore(effects, ok3, nok) {
|
|
8231
8377
|
return start;
|
|
8232
8378
|
function start(code2) {
|
|
@@ -8237,7 +8383,7 @@ function tokenizeBlankLineBefore(effects, ok3, nok) {
|
|
|
8237
8383
|
}
|
|
8238
8384
|
}
|
|
8239
8385
|
|
|
8240
|
-
// node_modules/micromark-core-commonmark/lib/html-text.js
|
|
8386
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/html-text.js
|
|
8241
8387
|
var htmlText = {
|
|
8242
8388
|
name: "htmlText",
|
|
8243
8389
|
tokenize: tokenizeHtmlText
|
|
@@ -8543,7 +8689,7 @@ function tokenizeHtmlText(effects, ok3, nok) {
|
|
|
8543
8689
|
}
|
|
8544
8690
|
}
|
|
8545
8691
|
|
|
8546
|
-
// node_modules/micromark-core-commonmark/lib/label-end.js
|
|
8692
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/label-end.js
|
|
8547
8693
|
var labelEnd = {
|
|
8548
8694
|
name: "labelEnd",
|
|
8549
8695
|
resolveAll: resolveAllLabelEnd,
|
|
@@ -8579,12 +8725,11 @@ function resolveAllLabelEnd(events) {
|
|
|
8579
8725
|
function resolveToLabelEnd(events, context) {
|
|
8580
8726
|
let index2 = events.length;
|
|
8581
8727
|
let offset = 0;
|
|
8582
|
-
let token;
|
|
8583
8728
|
let open;
|
|
8584
8729
|
let close;
|
|
8585
8730
|
let media;
|
|
8586
8731
|
while (index2--) {
|
|
8587
|
-
token = events[index2][1];
|
|
8732
|
+
const token = events[index2][1];
|
|
8588
8733
|
if (open) {
|
|
8589
8734
|
if (token.type === "link" || token.type === "labelLink" && token._inactive) {
|
|
8590
8735
|
break;
|
|
@@ -8643,14 +8788,14 @@ function resolveToLabelEnd(events, context) {
|
|
|
8643
8788
|
}
|
|
8644
8789
|
function tokenizeLabelEnd(effects, ok3, nok) {
|
|
8645
8790
|
const self = this;
|
|
8646
|
-
|
|
8791
|
+
const labelStarts = self._labelStarts;
|
|
8647
8792
|
let labelStart;
|
|
8648
8793
|
let defined;
|
|
8649
|
-
|
|
8650
|
-
|
|
8651
|
-
|
|
8652
|
-
break;
|
|
8794
|
+
if (labelStarts) {
|
|
8795
|
+
while (labelStarts.length > 0 && labelStarts[labelStarts.length - 1]._balanced) {
|
|
8796
|
+
labelStarts.pop();
|
|
8653
8797
|
}
|
|
8798
|
+
labelStart = labelStarts[labelStarts.length - 1];
|
|
8654
8799
|
}
|
|
8655
8800
|
return start;
|
|
8656
8801
|
function start(code2) {
|
|
@@ -8684,6 +8829,7 @@ function tokenizeLabelEnd(effects, ok3, nok) {
|
|
|
8684
8829
|
return effects.attempt(referenceCollapsedConstruct, labelEndOk, labelEndNok)(code2);
|
|
8685
8830
|
}
|
|
8686
8831
|
function labelEndOk(code2) {
|
|
8832
|
+
labelStarts.pop();
|
|
8687
8833
|
return ok3(code2);
|
|
8688
8834
|
}
|
|
8689
8835
|
function labelEndNok(code2) {
|
|
@@ -8769,7 +8915,7 @@ function tokenizeReferenceCollapsed(effects, ok3, nok) {
|
|
|
8769
8915
|
}
|
|
8770
8916
|
}
|
|
8771
8917
|
|
|
8772
|
-
// node_modules/micromark-core-commonmark/lib/label-start-image.js
|
|
8918
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/label-start-image.js
|
|
8773
8919
|
var labelStartImage = {
|
|
8774
8920
|
name: "labelStartImage",
|
|
8775
8921
|
resolveAll: labelEnd.resolveAll,
|
|
@@ -8777,6 +8923,7 @@ var labelStartImage = {
|
|
|
8777
8923
|
};
|
|
8778
8924
|
function tokenizeLabelStartImage(effects, ok3, nok) {
|
|
8779
8925
|
const self = this;
|
|
8926
|
+
let labelImage;
|
|
8780
8927
|
return start;
|
|
8781
8928
|
function start(code2) {
|
|
8782
8929
|
effects.enter("labelImage");
|
|
@@ -8790,17 +8937,22 @@ function tokenizeLabelStartImage(effects, ok3, nok) {
|
|
|
8790
8937
|
effects.enter("labelMarker");
|
|
8791
8938
|
effects.consume(code2);
|
|
8792
8939
|
effects.exit("labelMarker");
|
|
8793
|
-
effects.exit("labelImage");
|
|
8940
|
+
labelImage = effects.exit("labelImage");
|
|
8794
8941
|
return after;
|
|
8795
8942
|
}
|
|
8796
8943
|
return nok(code2);
|
|
8797
8944
|
}
|
|
8798
8945
|
function after(code2) {
|
|
8799
|
-
|
|
8946
|
+
if (code2 === 94 && "_hiddenFootnoteSupport" in self.parser.constructs) {
|
|
8947
|
+
return nok(code2);
|
|
8948
|
+
}
|
|
8949
|
+
self._labelStarts = self._labelStarts || [];
|
|
8950
|
+
self._labelStarts.push(labelImage);
|
|
8951
|
+
return ok3(code2);
|
|
8800
8952
|
}
|
|
8801
8953
|
}
|
|
8802
8954
|
|
|
8803
|
-
// node_modules/micromark-core-commonmark/lib/label-start-link.js
|
|
8955
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/label-start-link.js
|
|
8804
8956
|
var labelStartLink = {
|
|
8805
8957
|
name: "labelStartLink",
|
|
8806
8958
|
resolveAll: labelEnd.resolveAll,
|
|
@@ -8808,21 +8960,27 @@ var labelStartLink = {
|
|
|
8808
8960
|
};
|
|
8809
8961
|
function tokenizeLabelStartLink(effects, ok3, nok) {
|
|
8810
8962
|
const self = this;
|
|
8963
|
+
let labelLink;
|
|
8811
8964
|
return start;
|
|
8812
8965
|
function start(code2) {
|
|
8813
8966
|
effects.enter("labelLink");
|
|
8814
8967
|
effects.enter("labelMarker");
|
|
8815
8968
|
effects.consume(code2);
|
|
8816
8969
|
effects.exit("labelMarker");
|
|
8817
|
-
effects.exit("labelLink");
|
|
8970
|
+
labelLink = effects.exit("labelLink");
|
|
8818
8971
|
return after;
|
|
8819
8972
|
}
|
|
8820
8973
|
function after(code2) {
|
|
8821
|
-
|
|
8974
|
+
if (code2 === 94 && "_hiddenFootnoteSupport" in self.parser.constructs) {
|
|
8975
|
+
return nok(code2);
|
|
8976
|
+
}
|
|
8977
|
+
self._labelStarts = self._labelStarts || [];
|
|
8978
|
+
self._labelStarts.push(labelLink);
|
|
8979
|
+
return ok3(code2);
|
|
8822
8980
|
}
|
|
8823
8981
|
}
|
|
8824
8982
|
|
|
8825
|
-
// node_modules/micromark-core-commonmark/lib/line-ending.js
|
|
8983
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/line-ending.js
|
|
8826
8984
|
var lineEnding = {
|
|
8827
8985
|
name: "lineEnding",
|
|
8828
8986
|
tokenize: tokenizeLineEnding
|
|
@@ -8837,13 +8995,13 @@ function tokenizeLineEnding(effects, ok3) {
|
|
|
8837
8995
|
}
|
|
8838
8996
|
}
|
|
8839
8997
|
|
|
8840
|
-
// node_modules/micromark-core-commonmark/lib/thematic-break.js
|
|
8998
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/thematic-break.js
|
|
8841
8999
|
var thematicBreak = {
|
|
8842
9000
|
name: "thematicBreak",
|
|
8843
9001
|
tokenize: tokenizeThematicBreak
|
|
8844
9002
|
};
|
|
8845
9003
|
function tokenizeThematicBreak(effects, ok3, nok) {
|
|
8846
|
-
let
|
|
9004
|
+
let size2 = 0;
|
|
8847
9005
|
let marker;
|
|
8848
9006
|
return start;
|
|
8849
9007
|
function start(code2) {
|
|
@@ -8859,7 +9017,7 @@ function tokenizeThematicBreak(effects, ok3, nok) {
|
|
|
8859
9017
|
effects.enter("thematicBreakSequence");
|
|
8860
9018
|
return sequence(code2);
|
|
8861
9019
|
}
|
|
8862
|
-
if (
|
|
9020
|
+
if (size2 >= 3 && (code2 === null || markdownLineEnding(code2))) {
|
|
8863
9021
|
effects.exit("thematicBreak");
|
|
8864
9022
|
return ok3(code2);
|
|
8865
9023
|
}
|
|
@@ -8868,7 +9026,7 @@ function tokenizeThematicBreak(effects, ok3, nok) {
|
|
|
8868
9026
|
function sequence(code2) {
|
|
8869
9027
|
if (code2 === marker) {
|
|
8870
9028
|
effects.consume(code2);
|
|
8871
|
-
|
|
9029
|
+
size2++;
|
|
8872
9030
|
return sequence;
|
|
8873
9031
|
}
|
|
8874
9032
|
effects.exit("thematicBreakSequence");
|
|
@@ -8876,7 +9034,7 @@ function tokenizeThematicBreak(effects, ok3, nok) {
|
|
|
8876
9034
|
}
|
|
8877
9035
|
}
|
|
8878
9036
|
|
|
8879
|
-
// node_modules/micromark-core-commonmark/lib/list.js
|
|
9037
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/list.js
|
|
8880
9038
|
var list = {
|
|
8881
9039
|
continuation: {
|
|
8882
9040
|
tokenize: tokenizeListContinuation
|
|
@@ -8897,7 +9055,7 @@ function tokenizeListStart(effects, ok3, nok) {
|
|
|
8897
9055
|
const self = this;
|
|
8898
9056
|
const tail = self.events[self.events.length - 1];
|
|
8899
9057
|
let initialSize = tail && tail[1].type === "linePrefix" ? tail[2].sliceSerialize(tail[1], true).length : 0;
|
|
8900
|
-
let
|
|
9058
|
+
let size2 = 0;
|
|
8901
9059
|
return start;
|
|
8902
9060
|
function start(code2) {
|
|
8903
9061
|
const kind = self.containerState.type || (code2 === 42 || code2 === 43 || code2 === 45 ? "listUnordered" : "listOrdered");
|
|
@@ -8921,11 +9079,11 @@ function tokenizeListStart(effects, ok3, nok) {
|
|
|
8921
9079
|
return nok(code2);
|
|
8922
9080
|
}
|
|
8923
9081
|
function inside(code2) {
|
|
8924
|
-
if (asciiDigit(code2) && ++
|
|
9082
|
+
if (asciiDigit(code2) && ++size2 < 10) {
|
|
8925
9083
|
effects.consume(code2);
|
|
8926
9084
|
return inside;
|
|
8927
9085
|
}
|
|
8928
|
-
if ((!self.interrupt ||
|
|
9086
|
+
if ((!self.interrupt || size2 < 2) && (self.containerState.marker ? code2 === self.containerState.marker : code2 === 41 || code2 === 46)) {
|
|
8929
9087
|
effects.exit("listItemValue");
|
|
8930
9088
|
return atMarker(code2);
|
|
8931
9089
|
}
|
|
@@ -9006,13 +9164,14 @@ function tokenizeListItemPrefixWhitespace(effects, ok3, nok) {
|
|
|
9006
9164
|
}
|
|
9007
9165
|
}
|
|
9008
9166
|
|
|
9009
|
-
// node_modules/micromark-core-commonmark/lib/setext-underline.js
|
|
9167
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-core-commonmark/lib/setext-underline.js
|
|
9010
9168
|
var setextUnderline = {
|
|
9011
9169
|
name: "setextUnderline",
|
|
9012
9170
|
resolveTo: resolveToSetextUnderline,
|
|
9013
9171
|
tokenize: tokenizeSetextUnderline
|
|
9014
9172
|
};
|
|
9015
9173
|
function resolveToSetextUnderline(events, context) {
|
|
9174
|
+
const editMap = new EditMap();
|
|
9016
9175
|
let index2 = events.length;
|
|
9017
9176
|
let content3;
|
|
9018
9177
|
let text4;
|
|
@@ -9028,7 +9187,7 @@ function resolveToSetextUnderline(events, context) {
|
|
|
9028
9187
|
}
|
|
9029
9188
|
} else {
|
|
9030
9189
|
if (events[index2][1].type === "content") {
|
|
9031
|
-
|
|
9190
|
+
editMap.add(index2, 1, []);
|
|
9032
9191
|
}
|
|
9033
9192
|
if (!definition2 && events[index2][1].type === "definition") {
|
|
9034
9193
|
definition2 = index2;
|
|
@@ -9046,15 +9205,16 @@ function resolveToSetextUnderline(events, context) {
|
|
|
9046
9205
|
};
|
|
9047
9206
|
events[text4][1].type = "setextHeadingText";
|
|
9048
9207
|
if (definition2) {
|
|
9049
|
-
|
|
9050
|
-
|
|
9208
|
+
editMap.add(text4, 0, [["enter", heading, context]]);
|
|
9209
|
+
editMap.add(definition2 + 1, 0, [["exit", events[content3][1], context]]);
|
|
9051
9210
|
events[content3][1].end = {
|
|
9052
9211
|
...events[definition2][1].end
|
|
9053
9212
|
};
|
|
9054
9213
|
} else {
|
|
9055
9214
|
events[content3][1] = heading;
|
|
9056
9215
|
}
|
|
9057
|
-
events.
|
|
9216
|
+
editMap.add(events.length, 0, [["exit", heading, context]]);
|
|
9217
|
+
editMap.consume(events);
|
|
9058
9218
|
return events;
|
|
9059
9219
|
}
|
|
9060
9220
|
function tokenizeSetextUnderline(effects, ok3, nok) {
|
|
@@ -9098,7 +9258,7 @@ function tokenizeSetextUnderline(effects, ok3, nok) {
|
|
|
9098
9258
|
}
|
|
9099
9259
|
}
|
|
9100
9260
|
|
|
9101
|
-
// node_modules/micromark/lib/initialize/flow.js
|
|
9261
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark/lib/initialize/flow.js
|
|
9102
9262
|
var flow = {
|
|
9103
9263
|
tokenize: initializeFlow
|
|
9104
9264
|
};
|
|
@@ -9136,7 +9296,7 @@ function initializeFlow(effects) {
|
|
|
9136
9296
|
}
|
|
9137
9297
|
}
|
|
9138
9298
|
|
|
9139
|
-
// node_modules/micromark/lib/initialize/text.js
|
|
9299
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark/lib/initialize/text.js
|
|
9140
9300
|
var resolver = {
|
|
9141
9301
|
resolveAll: createResolver()
|
|
9142
9302
|
};
|
|
@@ -9214,6 +9374,7 @@ function createResolver(extraResolver) {
|
|
|
9214
9374
|
}
|
|
9215
9375
|
}
|
|
9216
9376
|
function resolveAllLineSuffixes(events, context) {
|
|
9377
|
+
const editMap = new EditMap();
|
|
9217
9378
|
let eventIndex = 0;
|
|
9218
9379
|
while (++eventIndex <= events.length) {
|
|
9219
9380
|
if ((eventIndex === events.length || events[eventIndex][1].type === "lineEnding") && events[eventIndex - 1][1].type === "data") {
|
|
@@ -9221,21 +9382,23 @@ function resolveAllLineSuffixes(events, context) {
|
|
|
9221
9382
|
const chunks = context.sliceStream(data);
|
|
9222
9383
|
let index2 = chunks.length;
|
|
9223
9384
|
let bufferIndex = -1;
|
|
9224
|
-
let
|
|
9385
|
+
let size2 = 0;
|
|
9225
9386
|
let tabs;
|
|
9226
9387
|
while (index2--) {
|
|
9227
9388
|
const chunk = chunks[index2];
|
|
9228
9389
|
if (typeof chunk === "string") {
|
|
9229
9390
|
bufferIndex = chunk.length;
|
|
9230
9391
|
while (chunk.charCodeAt(bufferIndex - 1) === 32) {
|
|
9231
|
-
|
|
9392
|
+
size2++;
|
|
9232
9393
|
bufferIndex--;
|
|
9233
9394
|
}
|
|
9234
|
-
if (bufferIndex)
|
|
9395
|
+
if (bufferIndex) {
|
|
9396
|
+
break;
|
|
9397
|
+
}
|
|
9235
9398
|
bufferIndex = -1;
|
|
9236
9399
|
} else if (chunk === -2) {
|
|
9237
9400
|
tabs = true;
|
|
9238
|
-
|
|
9401
|
+
size2++;
|
|
9239
9402
|
} else if (chunk === -1) {
|
|
9240
9403
|
} else {
|
|
9241
9404
|
index2++;
|
|
@@ -9243,17 +9406,17 @@ function resolveAllLineSuffixes(events, context) {
|
|
|
9243
9406
|
}
|
|
9244
9407
|
}
|
|
9245
9408
|
if (context._contentTypeTextTrailing && eventIndex === events.length) {
|
|
9246
|
-
|
|
9409
|
+
size2 = 0;
|
|
9247
9410
|
}
|
|
9248
|
-
if (
|
|
9411
|
+
if (size2) {
|
|
9249
9412
|
const token = {
|
|
9250
|
-
type: eventIndex === events.length || tabs ||
|
|
9413
|
+
type: eventIndex === events.length || tabs || size2 < 2 ? "lineSuffix" : "hardBreakTrailing",
|
|
9251
9414
|
start: {
|
|
9252
9415
|
_bufferIndex: index2 ? bufferIndex : data.start._bufferIndex + bufferIndex,
|
|
9253
9416
|
_index: data.start._index + index2,
|
|
9254
9417
|
line: data.end.line,
|
|
9255
|
-
column: data.end.column -
|
|
9256
|
-
offset: data.end.offset -
|
|
9418
|
+
column: data.end.column - size2,
|
|
9419
|
+
offset: data.end.offset - size2
|
|
9257
9420
|
},
|
|
9258
9421
|
end: {
|
|
9259
9422
|
...data.end
|
|
@@ -9265,17 +9428,17 @@ function resolveAllLineSuffixes(events, context) {
|
|
|
9265
9428
|
if (data.start.offset === data.end.offset) {
|
|
9266
9429
|
Object.assign(data, token);
|
|
9267
9430
|
} else {
|
|
9268
|
-
|
|
9269
|
-
eventIndex += 2;
|
|
9431
|
+
editMap.add(eventIndex, 0, [["enter", token, context], ["exit", token, context]]);
|
|
9270
9432
|
}
|
|
9271
9433
|
}
|
|
9272
9434
|
eventIndex++;
|
|
9273
9435
|
}
|
|
9274
9436
|
}
|
|
9437
|
+
editMap.consume(events);
|
|
9275
9438
|
return events;
|
|
9276
9439
|
}
|
|
9277
9440
|
|
|
9278
|
-
// node_modules/micromark/lib/constructs.js
|
|
9441
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark/lib/constructs.js
|
|
9279
9442
|
var constructs_exports = {};
|
|
9280
9443
|
__export(constructs_exports, {
|
|
9281
9444
|
attentionMarkers: () => attentionMarkers,
|
|
@@ -9350,7 +9513,7 @@ var disable = {
|
|
|
9350
9513
|
null: []
|
|
9351
9514
|
};
|
|
9352
9515
|
|
|
9353
|
-
// node_modules/micromark/lib/create-tokenizer.js
|
|
9516
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark/lib/create-tokenizer.js
|
|
9354
9517
|
function createTokenizer(parser, initialize, from) {
|
|
9355
9518
|
let point4 = {
|
|
9356
9519
|
_bufferIndex: -1,
|
|
@@ -9429,11 +9592,10 @@ function createTokenizer(parser, initialize, from) {
|
|
|
9429
9592
|
accountForPotentialSkip();
|
|
9430
9593
|
}
|
|
9431
9594
|
function main() {
|
|
9432
|
-
let chunkIndex;
|
|
9433
9595
|
while (point4._index < chunks.length) {
|
|
9434
9596
|
const chunk = chunks[point4._index];
|
|
9435
9597
|
if (typeof chunk === "string") {
|
|
9436
|
-
chunkIndex = point4._index;
|
|
9598
|
+
const chunkIndex = point4._index;
|
|
9437
9599
|
if (point4._bufferIndex < 0) {
|
|
9438
9600
|
point4._bufferIndex = 0;
|
|
9439
9601
|
}
|
|
@@ -9641,30 +9803,34 @@ function serializeChunks(chunks, expandTabs) {
|
|
|
9641
9803
|
let value;
|
|
9642
9804
|
if (typeof chunk === "string") {
|
|
9643
9805
|
value = chunk;
|
|
9644
|
-
} else
|
|
9645
|
-
|
|
9646
|
-
|
|
9647
|
-
|
|
9648
|
-
|
|
9649
|
-
|
|
9650
|
-
|
|
9651
|
-
|
|
9652
|
-
|
|
9653
|
-
|
|
9654
|
-
|
|
9655
|
-
|
|
9656
|
-
|
|
9657
|
-
|
|
9658
|
-
|
|
9659
|
-
|
|
9660
|
-
|
|
9661
|
-
|
|
9662
|
-
|
|
9663
|
-
|
|
9664
|
-
|
|
9665
|
-
|
|
9666
|
-
|
|
9667
|
-
|
|
9806
|
+
} else {
|
|
9807
|
+
switch (chunk) {
|
|
9808
|
+
case -5: {
|
|
9809
|
+
value = "\r";
|
|
9810
|
+
break;
|
|
9811
|
+
}
|
|
9812
|
+
case -4: {
|
|
9813
|
+
value = "\n";
|
|
9814
|
+
break;
|
|
9815
|
+
}
|
|
9816
|
+
case -3: {
|
|
9817
|
+
value = "\r\n";
|
|
9818
|
+
break;
|
|
9819
|
+
}
|
|
9820
|
+
case -2: {
|
|
9821
|
+
value = expandTabs ? " " : " ";
|
|
9822
|
+
break;
|
|
9823
|
+
}
|
|
9824
|
+
case -1: {
|
|
9825
|
+
if (!expandTabs && atTab) {
|
|
9826
|
+
continue;
|
|
9827
|
+
}
|
|
9828
|
+
value = " ";
|
|
9829
|
+
break;
|
|
9830
|
+
}
|
|
9831
|
+
default: {
|
|
9832
|
+
value = String.fromCharCode(chunk);
|
|
9833
|
+
}
|
|
9668
9834
|
}
|
|
9669
9835
|
}
|
|
9670
9836
|
atTab = chunk === -2;
|
|
@@ -9673,7 +9839,7 @@ function serializeChunks(chunks, expandTabs) {
|
|
|
9673
9839
|
return result.join("");
|
|
9674
9840
|
}
|
|
9675
9841
|
|
|
9676
|
-
// node_modules/micromark/lib/parse.js
|
|
9842
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark/lib/parse.js
|
|
9677
9843
|
function parse(options) {
|
|
9678
9844
|
const settings = options || {};
|
|
9679
9845
|
const constructs2 = (
|
|
@@ -9699,14 +9865,14 @@ function parse(options) {
|
|
|
9699
9865
|
}
|
|
9700
9866
|
}
|
|
9701
9867
|
|
|
9702
|
-
// node_modules/micromark/lib/postprocess.js
|
|
9868
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark/lib/postprocess.js
|
|
9703
9869
|
function postprocess(events) {
|
|
9704
9870
|
while (!subtokenize(events)) {
|
|
9705
9871
|
}
|
|
9706
9872
|
return events;
|
|
9707
9873
|
}
|
|
9708
9874
|
|
|
9709
|
-
// node_modules/micromark/lib/preprocess.js
|
|
9875
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark/lib/preprocess.js
|
|
9710
9876
|
var search = /[\0\t\n\r]/g;
|
|
9711
9877
|
function preprocess() {
|
|
9712
9878
|
let column = 1;
|
|
@@ -9715,14 +9881,9 @@ function preprocess() {
|
|
|
9715
9881
|
let atCarriageReturn;
|
|
9716
9882
|
return preprocessor;
|
|
9717
9883
|
function preprocessor(value, encoding, end) {
|
|
9718
|
-
const chunks = [];
|
|
9719
|
-
let match;
|
|
9720
|
-
let next;
|
|
9721
|
-
let startPosition;
|
|
9722
|
-
let endPosition;
|
|
9723
|
-
let code2;
|
|
9724
9884
|
value = buffer + (typeof value === "string" ? value.toString() : new TextDecoder(encoding || void 0).decode(value));
|
|
9725
|
-
|
|
9885
|
+
const chunks = [];
|
|
9886
|
+
let startPosition = 0;
|
|
9726
9887
|
buffer = "";
|
|
9727
9888
|
if (start) {
|
|
9728
9889
|
if (value.charCodeAt(0) === 65279) {
|
|
@@ -9732,9 +9893,9 @@ function preprocess() {
|
|
|
9732
9893
|
}
|
|
9733
9894
|
while (startPosition < value.length) {
|
|
9734
9895
|
search.lastIndex = startPosition;
|
|
9735
|
-
match = search.exec(value);
|
|
9736
|
-
endPosition = match && match.index !== void 0 ? match.index : value.length;
|
|
9737
|
-
code2 = value.charCodeAt(endPosition);
|
|
9896
|
+
const match = search.exec(value);
|
|
9897
|
+
const endPosition = match && match.index !== void 0 ? match.index : value.length;
|
|
9898
|
+
const code2 = value.charCodeAt(endPosition);
|
|
9738
9899
|
if (!match) {
|
|
9739
9900
|
buffer = value.slice(startPosition);
|
|
9740
9901
|
break;
|
|
@@ -9758,9 +9919,11 @@ function preprocess() {
|
|
|
9758
9919
|
break;
|
|
9759
9920
|
}
|
|
9760
9921
|
case 9: {
|
|
9761
|
-
next = Math.ceil(column / 4) * 4;
|
|
9922
|
+
const next = Math.ceil(column / 4) * 4;
|
|
9762
9923
|
chunks.push(-2);
|
|
9763
|
-
while (column++ < next)
|
|
9924
|
+
while (column++ < next) {
|
|
9925
|
+
chunks.push(-1);
|
|
9926
|
+
}
|
|
9764
9927
|
break;
|
|
9765
9928
|
}
|
|
9766
9929
|
case 10: {
|
|
@@ -9777,15 +9940,19 @@ function preprocess() {
|
|
|
9777
9940
|
startPosition = endPosition + 1;
|
|
9778
9941
|
}
|
|
9779
9942
|
if (end) {
|
|
9780
|
-
if (atCarriageReturn)
|
|
9781
|
-
|
|
9943
|
+
if (atCarriageReturn) {
|
|
9944
|
+
chunks.push(-5);
|
|
9945
|
+
}
|
|
9946
|
+
if (buffer) {
|
|
9947
|
+
chunks.push(buffer);
|
|
9948
|
+
}
|
|
9782
9949
|
chunks.push(null);
|
|
9783
9950
|
}
|
|
9784
9951
|
return chunks;
|
|
9785
9952
|
}
|
|
9786
9953
|
}
|
|
9787
9954
|
|
|
9788
|
-
// node_modules/micromark-util-decode-string/index.js
|
|
9955
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-util-decode-string/index.js
|
|
9789
9956
|
var characterEscapeOrReference = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
|
|
9790
9957
|
function decodeString(value) {
|
|
9791
9958
|
return value.replace(characterEscapeOrReference, decode);
|
|
@@ -9803,7 +9970,7 @@ function decode($0, $1, $2) {
|
|
|
9803
9970
|
return decodeNamedCharacterReference($2) || $0;
|
|
9804
9971
|
}
|
|
9805
9972
|
|
|
9806
|
-
// node_modules/unist-util-stringify-position/lib/index.js
|
|
9973
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/unist-util-stringify-position/lib/index.js
|
|
9807
9974
|
function stringifyPosition(value) {
|
|
9808
9975
|
if (!value || typeof value !== "object") {
|
|
9809
9976
|
return "";
|
|
@@ -9829,7 +9996,7 @@ function index(value) {
|
|
|
9829
9996
|
return value && typeof value === "number" ? value : 1;
|
|
9830
9997
|
}
|
|
9831
9998
|
|
|
9832
|
-
// node_modules/mdast-util-from-markdown/lib/index.js
|
|
9999
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/mdast-util-from-markdown/lib/index.js
|
|
9833
10000
|
var own = {}.hasOwnProperty;
|
|
9834
10001
|
function fromMarkdown(value, encoding, options) {
|
|
9835
10002
|
if (encoding && typeof encoding === "object") {
|
|
@@ -10538,7 +10705,7 @@ function defaultOnError(left, right) {
|
|
|
10538
10705
|
}
|
|
10539
10706
|
}
|
|
10540
10707
|
|
|
10541
|
-
// node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
|
|
10708
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
|
|
10542
10709
|
var wwwPrefix = {
|
|
10543
10710
|
tokenize: tokenizeWwwPrefix,
|
|
10544
10711
|
partial: true
|
|
@@ -10712,15 +10879,15 @@ function tokenizeProtocolAutolink(effects, ok3, nok) {
|
|
|
10712
10879
|
}
|
|
10713
10880
|
}
|
|
10714
10881
|
function tokenizeWwwPrefix(effects, ok3, nok) {
|
|
10715
|
-
let
|
|
10882
|
+
let size2 = 0;
|
|
10716
10883
|
return wwwPrefixInside;
|
|
10717
10884
|
function wwwPrefixInside(code2) {
|
|
10718
|
-
if ((code2 === 87 || code2 === 119) &&
|
|
10719
|
-
|
|
10885
|
+
if ((code2 === 87 || code2 === 119) && size2 < 3) {
|
|
10886
|
+
size2++;
|
|
10720
10887
|
effects.consume(code2);
|
|
10721
10888
|
return wwwPrefixInside;
|
|
10722
10889
|
}
|
|
10723
|
-
if (code2 === 46 &&
|
|
10890
|
+
if (code2 === 46 && size2 === 3) {
|
|
10724
10891
|
effects.consume(code2);
|
|
10725
10892
|
return wwwPrefixAfter;
|
|
10726
10893
|
}
|
|
@@ -10880,7 +11047,7 @@ function previousUnbalanced(events) {
|
|
|
10880
11047
|
return result;
|
|
10881
11048
|
}
|
|
10882
11049
|
|
|
10883
|
-
// node_modules/micromark-extension-gfm-footnote/lib/syntax.js
|
|
11050
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-extension-gfm-footnote/lib/syntax.js
|
|
10884
11051
|
var indent = {
|
|
10885
11052
|
tokenize: tokenizeIndent2,
|
|
10886
11053
|
partial: true
|
|
@@ -11006,7 +11173,7 @@ function resolveToPotentialGfmFootnoteCall(events, context) {
|
|
|
11006
11173
|
function tokenizeGfmFootnoteCall(effects, ok3, nok) {
|
|
11007
11174
|
const self = this;
|
|
11008
11175
|
const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);
|
|
11009
|
-
let
|
|
11176
|
+
let size2 = 0;
|
|
11010
11177
|
let data;
|
|
11011
11178
|
return start;
|
|
11012
11179
|
function start(code2) {
|
|
@@ -11028,7 +11195,7 @@ function tokenizeGfmFootnoteCall(effects, ok3, nok) {
|
|
|
11028
11195
|
function callData(code2) {
|
|
11029
11196
|
if (
|
|
11030
11197
|
// Too long.
|
|
11031
|
-
|
|
11198
|
+
size2 > 999 || // Closing brace with nothing.
|
|
11032
11199
|
code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.
|
|
11033
11200
|
// `\n` and `[` not being supported makes sense.
|
|
11034
11201
|
code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)
|
|
@@ -11050,14 +11217,14 @@ function tokenizeGfmFootnoteCall(effects, ok3, nok) {
|
|
|
11050
11217
|
if (!markdownLineEndingOrSpace(code2)) {
|
|
11051
11218
|
data = true;
|
|
11052
11219
|
}
|
|
11053
|
-
|
|
11220
|
+
size2++;
|
|
11054
11221
|
effects.consume(code2);
|
|
11055
11222
|
return code2 === 92 ? callEscape : callData;
|
|
11056
11223
|
}
|
|
11057
11224
|
function callEscape(code2) {
|
|
11058
11225
|
if (code2 === 91 || code2 === 92 || code2 === 93) {
|
|
11059
11226
|
effects.consume(code2);
|
|
11060
|
-
|
|
11227
|
+
size2++;
|
|
11061
11228
|
return callData;
|
|
11062
11229
|
}
|
|
11063
11230
|
return callData(code2);
|
|
@@ -11067,7 +11234,7 @@ function tokenizeDefinitionStart(effects, ok3, nok) {
|
|
|
11067
11234
|
const self = this;
|
|
11068
11235
|
const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);
|
|
11069
11236
|
let identifier;
|
|
11070
|
-
let
|
|
11237
|
+
let size2 = 0;
|
|
11071
11238
|
let data;
|
|
11072
11239
|
return start;
|
|
11073
11240
|
function start(code2) {
|
|
@@ -11092,7 +11259,7 @@ function tokenizeDefinitionStart(effects, ok3, nok) {
|
|
|
11092
11259
|
function labelInside(code2) {
|
|
11093
11260
|
if (
|
|
11094
11261
|
// Too long.
|
|
11095
|
-
|
|
11262
|
+
size2 > 999 || // Closing brace with nothing.
|
|
11096
11263
|
code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.
|
|
11097
11264
|
// `\n` and `[` not being supported makes sense.
|
|
11098
11265
|
code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)
|
|
@@ -11112,14 +11279,14 @@ function tokenizeDefinitionStart(effects, ok3, nok) {
|
|
|
11112
11279
|
if (!markdownLineEndingOrSpace(code2)) {
|
|
11113
11280
|
data = true;
|
|
11114
11281
|
}
|
|
11115
|
-
|
|
11282
|
+
size2++;
|
|
11116
11283
|
effects.consume(code2);
|
|
11117
11284
|
return code2 === 92 ? labelEscape : labelInside;
|
|
11118
11285
|
}
|
|
11119
11286
|
function labelEscape(code2) {
|
|
11120
11287
|
if (code2 === 91 || code2 === 92 || code2 === 93) {
|
|
11121
11288
|
effects.consume(code2);
|
|
11122
|
-
|
|
11289
|
+
size2++;
|
|
11123
11290
|
return labelInside;
|
|
11124
11291
|
}
|
|
11125
11292
|
return labelInside(code2);
|
|
@@ -11155,7 +11322,7 @@ function tokenizeIndent2(effects, ok3, nok) {
|
|
|
11155
11322
|
}
|
|
11156
11323
|
}
|
|
11157
11324
|
|
|
11158
|
-
// node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
|
|
11325
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
|
|
11159
11326
|
function gfmStrikethrough(options) {
|
|
11160
11327
|
const options_ = options || {};
|
|
11161
11328
|
let single = options_.singleTilde;
|
|
@@ -11222,7 +11389,7 @@ function gfmStrikethrough(options) {
|
|
|
11222
11389
|
function tokenizeStrikethrough(effects, ok3, nok) {
|
|
11223
11390
|
const previous3 = this.previous;
|
|
11224
11391
|
const events = this.events;
|
|
11225
|
-
let
|
|
11392
|
+
let size2 = 0;
|
|
11226
11393
|
return start;
|
|
11227
11394
|
function start(code2) {
|
|
11228
11395
|
if (previous3 === 126 && events[events.length - 1][1].type !== "characterEscape") {
|
|
@@ -11234,12 +11401,12 @@ function gfmStrikethrough(options) {
|
|
|
11234
11401
|
function more(code2) {
|
|
11235
11402
|
const before = classifyCharacter(previous3);
|
|
11236
11403
|
if (code2 === 126) {
|
|
11237
|
-
if (
|
|
11404
|
+
if (size2 > 1) return nok(code2);
|
|
11238
11405
|
effects.consume(code2);
|
|
11239
|
-
|
|
11406
|
+
size2++;
|
|
11240
11407
|
return more;
|
|
11241
11408
|
}
|
|
11242
|
-
if (
|
|
11409
|
+
if (size2 < 2 && !single) return nok(code2);
|
|
11243
11410
|
const token = effects.exit("strikethroughSequenceTemporary");
|
|
11244
11411
|
const after = classifyCharacter(code2);
|
|
11245
11412
|
token._open = !after || after === 2 && Boolean(before);
|
|
@@ -11249,24 +11416,29 @@ function gfmStrikethrough(options) {
|
|
|
11249
11416
|
}
|
|
11250
11417
|
}
|
|
11251
11418
|
|
|
11252
|
-
// node_modules/micromark-extension-gfm-table/lib/edit-map.js
|
|
11253
|
-
var
|
|
11419
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-extension-gfm-table/lib/edit-map.js
|
|
11420
|
+
var EditMap2 = class {
|
|
11254
11421
|
/**
|
|
11255
11422
|
* Create a new edit map.
|
|
11256
11423
|
*/
|
|
11257
11424
|
constructor() {
|
|
11258
11425
|
this.map = [];
|
|
11426
|
+
this.index = /* @__PURE__ */ new Map();
|
|
11259
11427
|
}
|
|
11260
11428
|
/**
|
|
11261
11429
|
* Create an edit: a remove and/or add at a certain place.
|
|
11262
11430
|
*
|
|
11263
11431
|
* @param {number} index
|
|
11432
|
+
* Index at which to apply the edit.
|
|
11264
11433
|
* @param {number} remove
|
|
11434
|
+
* Count of items to remove at the index.
|
|
11265
11435
|
* @param {Array<Event>} add
|
|
11436
|
+
* Items to add at the index.
|
|
11266
11437
|
* @returns {undefined}
|
|
11438
|
+
* Nothing.
|
|
11267
11439
|
*/
|
|
11268
11440
|
add(index2, remove, add) {
|
|
11269
|
-
|
|
11441
|
+
addImplementation2(this, index2, remove, add);
|
|
11270
11442
|
}
|
|
11271
11443
|
// To do: add this when moving to `micromark`.
|
|
11272
11444
|
// /**
|
|
@@ -11284,7 +11456,9 @@ var EditMap = class {
|
|
|
11284
11456
|
* Done, change the events.
|
|
11285
11457
|
*
|
|
11286
11458
|
* @param {Array<Event>} events
|
|
11459
|
+
* List of events to apply the edits to.
|
|
11287
11460
|
* @returns {undefined}
|
|
11461
|
+
* Nothing.
|
|
11288
11462
|
*/
|
|
11289
11463
|
consume(events) {
|
|
11290
11464
|
this.map.sort(function(a, b) {
|
|
@@ -11310,25 +11484,25 @@ var EditMap = class {
|
|
|
11310
11484
|
slice = vecs.pop();
|
|
11311
11485
|
}
|
|
11312
11486
|
this.map.length = 0;
|
|
11487
|
+
this.index.clear();
|
|
11313
11488
|
}
|
|
11314
11489
|
};
|
|
11315
|
-
function
|
|
11316
|
-
let index2 = 0;
|
|
11490
|
+
function addImplementation2(editMap, at, remove, add) {
|
|
11317
11491
|
if (remove === 0 && add.length === 0) {
|
|
11318
11492
|
return;
|
|
11319
11493
|
}
|
|
11320
|
-
|
|
11321
|
-
|
|
11322
|
-
|
|
11323
|
-
|
|
11324
|
-
|
|
11325
|
-
}
|
|
11326
|
-
index2 += 1;
|
|
11494
|
+
const existing = editMap.index.get(at);
|
|
11495
|
+
if (existing) {
|
|
11496
|
+
existing[1] += remove;
|
|
11497
|
+
existing[2].push(...add);
|
|
11498
|
+
return;
|
|
11327
11499
|
}
|
|
11328
|
-
|
|
11500
|
+
const change = [at, remove, add];
|
|
11501
|
+
editMap.map.push(change);
|
|
11502
|
+
editMap.index.set(at, change);
|
|
11329
11503
|
}
|
|
11330
11504
|
|
|
11331
|
-
// node_modules/micromark-extension-gfm-table/lib/infer.js
|
|
11505
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-extension-gfm-table/lib/infer.js
|
|
11332
11506
|
function gfmTableAlign(events, index2) {
|
|
11333
11507
|
let inDelimiterRow = false;
|
|
11334
11508
|
const align = [];
|
|
@@ -11355,7 +11529,7 @@ function gfmTableAlign(events, index2) {
|
|
|
11355
11529
|
return align;
|
|
11356
11530
|
}
|
|
11357
11531
|
|
|
11358
|
-
// node_modules/micromark-extension-gfm-table/lib/syntax.js
|
|
11532
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-extension-gfm-table/lib/syntax.js
|
|
11359
11533
|
function gfmTable() {
|
|
11360
11534
|
return {
|
|
11361
11535
|
flow: {
|
|
@@ -11369,17 +11543,22 @@ function gfmTable() {
|
|
|
11369
11543
|
}
|
|
11370
11544
|
function tokenizeTable(effects, ok3, nok) {
|
|
11371
11545
|
const self = this;
|
|
11372
|
-
let
|
|
11546
|
+
let size2 = 0;
|
|
11373
11547
|
let sizeB = 0;
|
|
11374
11548
|
let seen;
|
|
11375
11549
|
return start;
|
|
11376
11550
|
function start(code2) {
|
|
11377
11551
|
let index2 = self.events.length - 1;
|
|
11378
11552
|
while (index2 > -1) {
|
|
11379
|
-
const
|
|
11553
|
+
const {
|
|
11554
|
+
type
|
|
11555
|
+
} = self.events[index2][1];
|
|
11380
11556
|
if (type === "lineEnding" || // Note: markdown-rs uses `whitespace` instead of `linePrefix`
|
|
11381
|
-
type === "linePrefix")
|
|
11382
|
-
|
|
11557
|
+
type === "linePrefix") {
|
|
11558
|
+
index2--;
|
|
11559
|
+
} else {
|
|
11560
|
+
break;
|
|
11561
|
+
}
|
|
11383
11562
|
}
|
|
11384
11563
|
const tail = index2 > -1 ? self.events[index2][1].type : null;
|
|
11385
11564
|
const next = tail === "tableHead" || tail === "tableRow" ? bodyRowStart : headRowBefore;
|
|
@@ -11423,7 +11602,7 @@ function tokenizeTable(effects, ok3, nok) {
|
|
|
11423
11602
|
sizeB += 1;
|
|
11424
11603
|
if (seen) {
|
|
11425
11604
|
seen = false;
|
|
11426
|
-
|
|
11605
|
+
size2 += 1;
|
|
11427
11606
|
}
|
|
11428
11607
|
if (code2 === 124) {
|
|
11429
11608
|
effects.enter("tableCellDivider");
|
|
@@ -11533,7 +11712,7 @@ function tokenizeTable(effects, ok3, nok) {
|
|
|
11533
11712
|
return headDelimiterBefore(code2);
|
|
11534
11713
|
}
|
|
11535
11714
|
if (code2 === null || markdownLineEnding(code2)) {
|
|
11536
|
-
if (!seen ||
|
|
11715
|
+
if (!seen || size2 !== sizeB) {
|
|
11537
11716
|
return headDelimiterNok(code2);
|
|
11538
11717
|
}
|
|
11539
11718
|
effects.exit("tableDelimiterRow");
|
|
@@ -11593,7 +11772,7 @@ function resolveTable(events, context) {
|
|
|
11593
11772
|
let currentTable;
|
|
11594
11773
|
let currentBody;
|
|
11595
11774
|
let currentCell;
|
|
11596
|
-
const map = new
|
|
11775
|
+
const map = new EditMap2();
|
|
11597
11776
|
while (++index2 < events.length) {
|
|
11598
11777
|
const event = events[index2];
|
|
11599
11778
|
const token = event[1];
|
|
@@ -11741,7 +11920,7 @@ function getPoint(events, index2) {
|
|
|
11741
11920
|
return event[1][side];
|
|
11742
11921
|
}
|
|
11743
11922
|
|
|
11744
|
-
// node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
|
|
11923
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
|
|
11745
11924
|
var tasklistCheck = {
|
|
11746
11925
|
name: "tasklistCheck",
|
|
11747
11926
|
tokenize: tokenizeTasklistCheck
|
|
@@ -11815,7 +11994,7 @@ function spaceThenNonSpace(effects, ok3, nok) {
|
|
|
11815
11994
|
}
|
|
11816
11995
|
}
|
|
11817
11996
|
|
|
11818
|
-
// node_modules/micromark-extension-gfm/index.js
|
|
11997
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/micromark-extension-gfm/index.js
|
|
11819
11998
|
function gfm(options) {
|
|
11820
11999
|
return combineExtensions([
|
|
11821
12000
|
gfmAutolinkLiteral(),
|
|
@@ -11826,7 +12005,7 @@ function gfm(options) {
|
|
|
11826
12005
|
]);
|
|
11827
12006
|
}
|
|
11828
12007
|
|
|
11829
|
-
// node_modules/ccount/index.js
|
|
12008
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/ccount/index.js
|
|
11830
12009
|
function ccount(value, character) {
|
|
11831
12010
|
const source = String(value);
|
|
11832
12011
|
if (typeof character !== "string") {
|
|
@@ -11841,11 +12020,11 @@ function ccount(value, character) {
|
|
|
11841
12020
|
return count;
|
|
11842
12021
|
}
|
|
11843
12022
|
|
|
11844
|
-
// node_modules/devlop/lib/default.js
|
|
12023
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/devlop/lib/default.js
|
|
11845
12024
|
function ok() {
|
|
11846
12025
|
}
|
|
11847
12026
|
|
|
11848
|
-
// node_modules/escape-string-regexp/index.js
|
|
12027
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/escape-string-regexp/index.js
|
|
11849
12028
|
function escapeStringRegexp(string3) {
|
|
11850
12029
|
if (typeof string3 !== "string") {
|
|
11851
12030
|
throw new TypeError("Expected a string");
|
|
@@ -11853,7 +12032,7 @@ function escapeStringRegexp(string3) {
|
|
|
11853
12032
|
return string3.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
|
|
11854
12033
|
}
|
|
11855
12034
|
|
|
11856
|
-
// node_modules/unist-util-is/lib/index.js
|
|
12035
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/unist-util-is/lib/index.js
|
|
11857
12036
|
var convert = (
|
|
11858
12037
|
// Note: overloads in JSDoc can’t yet use different `@template`s.
|
|
11859
12038
|
/**
|
|
@@ -11952,12 +12131,12 @@ function looksLikeANode(value) {
|
|
|
11952
12131
|
return value !== null && typeof value === "object" && "type" in value;
|
|
11953
12132
|
}
|
|
11954
12133
|
|
|
11955
|
-
// node_modules/unist-util-visit-parents/lib/color.js
|
|
12134
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/unist-util-visit-parents/lib/color.js
|
|
11956
12135
|
function color(d) {
|
|
11957
12136
|
return d;
|
|
11958
12137
|
}
|
|
11959
12138
|
|
|
11960
|
-
// node_modules/unist-util-visit-parents/lib/index.js
|
|
12139
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/unist-util-visit-parents/lib/index.js
|
|
11961
12140
|
var empty = [];
|
|
11962
12141
|
var CONTINUE = true;
|
|
11963
12142
|
var EXIT = false;
|
|
@@ -12034,7 +12213,7 @@ function toResult(value) {
|
|
|
12034
12213
|
return value === null || value === void 0 ? empty : [value];
|
|
12035
12214
|
}
|
|
12036
12215
|
|
|
12037
|
-
// node_modules/mdast-util-find-and-replace/lib/index.js
|
|
12216
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/mdast-util-find-and-replace/lib/index.js
|
|
12038
12217
|
function findAndReplace(tree, list2, options) {
|
|
12039
12218
|
const settings = options || {};
|
|
12040
12219
|
const ignored = convert(settings.ignore || []);
|
|
@@ -12139,7 +12318,7 @@ function toFunction(replace2) {
|
|
|
12139
12318
|
};
|
|
12140
12319
|
}
|
|
12141
12320
|
|
|
12142
|
-
// node_modules/mdast-util-gfm-autolink-literal/lib/index.js
|
|
12321
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/mdast-util-gfm-autolink-literal/lib/index.js
|
|
12143
12322
|
function gfmAutolinkLiteralFromMarkdown() {
|
|
12144
12323
|
return {
|
|
12145
12324
|
transforms: [transformGfmAutolinkLiterals],
|
|
@@ -12260,7 +12439,7 @@ function previous2(match, email) {
|
|
|
12260
12439
|
(!email || code2 !== 47);
|
|
12261
12440
|
}
|
|
12262
12441
|
|
|
12263
|
-
// node_modules/mdast-util-gfm-footnote/lib/index.js
|
|
12442
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/mdast-util-gfm-footnote/lib/index.js
|
|
12264
12443
|
footnoteReference.peek = footnoteReferencePeek;
|
|
12265
12444
|
function enterFootnoteCallString() {
|
|
12266
12445
|
this.buffer();
|
|
@@ -12334,7 +12513,8 @@ function gfmFootnoteFromMarkdown() {
|
|
|
12334
12513
|
};
|
|
12335
12514
|
}
|
|
12336
12515
|
|
|
12337
|
-
// node_modules/mdast-util-gfm-strikethrough/lib/index.js
|
|
12516
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/mdast-util-gfm-strikethrough/lib/index.js
|
|
12517
|
+
handleDelete.attention = attentionDelete;
|
|
12338
12518
|
handleDelete.peek = peekDelete;
|
|
12339
12519
|
function gfmStrikethroughFromMarkdown() {
|
|
12340
12520
|
return {
|
|
@@ -12344,29 +12524,33 @@ function gfmStrikethroughFromMarkdown() {
|
|
|
12344
12524
|
};
|
|
12345
12525
|
}
|
|
12346
12526
|
function enterStrikethrough(token) {
|
|
12347
|
-
this.enter({ type: "delete", children: [] }, token);
|
|
12527
|
+
this.enter({ type: "delete", children: [], position: void 0 }, token);
|
|
12348
12528
|
}
|
|
12349
12529
|
function exitStrikethrough(token) {
|
|
12350
12530
|
this.exit(token);
|
|
12351
12531
|
}
|
|
12352
12532
|
function handleDelete(node2, _, state, info) {
|
|
12353
12533
|
const tracker = state.createTracker(info);
|
|
12534
|
+
const sequence = state.stack.includes("strikethrough") ? "~" : "~~";
|
|
12354
12535
|
const exit3 = state.enter("strikethrough");
|
|
12355
|
-
let value = tracker.move(
|
|
12536
|
+
let value = tracker.move(sequence);
|
|
12356
12537
|
value += state.containerPhrasing(node2, {
|
|
12357
12538
|
...tracker.current(),
|
|
12358
12539
|
before: value,
|
|
12359
12540
|
after: "~"
|
|
12360
12541
|
});
|
|
12361
|
-
value += tracker.move(
|
|
12542
|
+
value += tracker.move(sequence);
|
|
12362
12543
|
exit3();
|
|
12363
12544
|
return value;
|
|
12364
12545
|
}
|
|
12546
|
+
function attentionDelete() {
|
|
12547
|
+
return { construct: "strikethrough", markers: ["~"], sizes: [2, 1] };
|
|
12548
|
+
}
|
|
12365
12549
|
function peekDelete() {
|
|
12366
12550
|
return "~";
|
|
12367
12551
|
}
|
|
12368
12552
|
|
|
12369
|
-
// node_modules/mdast-util-gfm-table/lib/index.js
|
|
12553
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/mdast-util-gfm-table/lib/index.js
|
|
12370
12554
|
function gfmTableFromMarkdown() {
|
|
12371
12555
|
return {
|
|
12372
12556
|
enter: {
|
|
@@ -12426,7 +12610,7 @@ function replace($0, $1) {
|
|
|
12426
12610
|
return $1 === "|" ? $1 : $0;
|
|
12427
12611
|
}
|
|
12428
12612
|
|
|
12429
|
-
// node_modules/mdast-util-gfm-task-list-item/lib/index.js
|
|
12613
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/mdast-util-gfm-task-list-item/lib/index.js
|
|
12430
12614
|
function gfmTaskListItemFromMarkdown() {
|
|
12431
12615
|
return {
|
|
12432
12616
|
exit: {
|
|
@@ -12473,7 +12657,7 @@ function exitParagraphWithTaskListItem(token) {
|
|
|
12473
12657
|
this.exit(token);
|
|
12474
12658
|
}
|
|
12475
12659
|
|
|
12476
|
-
// node_modules/mdast-util-gfm/lib/index.js
|
|
12660
|
+
// ../../../home/moye/Online Document/dsh-plugins/dsh-partner/node_modules/mdast-util-gfm/lib/index.js
|
|
12477
12661
|
function gfmFromMarkdown() {
|
|
12478
12662
|
return [
|
|
12479
12663
|
gfmAutolinkLiteralFromMarkdown(),
|
|
@@ -12616,14 +12800,14 @@ function PendantReader({ inbox, selected, error, anchor, onSelect, onClose, onVi
|
|
|
12616
12800
|
}, [onClose, anchor]);
|
|
12617
12801
|
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("section", { ref: panel, id: "dsh-partner-pendant-inbox", className: "dsh-partner-pendant-inbox", "aria-label": "\u4F19\u4F34\u6D88\u606F", tabIndex: -1, style: placement, children: [
|
|
12618
12802
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("header", { children: [
|
|
12619
|
-
detail && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("button", { type: "button", "aria-label": "\u8FD4\u56DE\u6D88\u606F\u5217\u8868", onClick: () => onSelect(), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_dsh_client_ui_primitives9.
|
|
12620
|
-
!detail && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "dsh-partner-pendant-reader-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_dsh_client_ui_primitives9.
|
|
12803
|
+
detail && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("button", { type: "button", "aria-label": "\u8FD4\u56DE\u6D88\u606F\u5217\u8868", onClick: () => onSelect(), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_dsh_client_ui_primitives9.IconChevronDownOutlineRegular, { size: 16, className: "dsh-partner-pendant-back" }) }),
|
|
12804
|
+
!detail && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "dsh-partner-pendant-reader-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_dsh_client_ui_primitives9.IconNewChatOutlineRegular, { size: 18 }) }),
|
|
12621
12805
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "dsh-partner-pendant-reader-heading", children: [
|
|
12622
12806
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("strong", { children: detail ? detail.companionName : "\u4F19\u4F34\u6D88\u606F" }),
|
|
12623
12807
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("small", { children: detail ? detail.kind === "system" ? "\u63D2\u4EF6\u7CFB\u7EDF\u901A\u77E5" : "\u6765\u81EA\u4F19\u4F34\u7684\u6D88\u606F" : "\u56DE\u590D\u4E0E\u4EFB\u52A1\u52A8\u6001" })
|
|
12624
12808
|
] }),
|
|
12625
12809
|
!!inbox.unread && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "dsh-partner-pendant-reader-count", "aria-label": `${inbox.unread} \u6761\u672A\u8BFB`, children: inbox.unread }),
|
|
12626
|
-
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("button", { type: "button", "aria-label": "\u5173\u95ED\u4F19\u4F34\u6D88\u606F", onClick: (event) => onClose(event.detail === 0), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_dsh_client_ui_primitives9.
|
|
12810
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("button", { type: "button", "aria-label": "\u5173\u95ED\u4F19\u4F34\u6D88\u606F", onClick: (event) => onClose(event.detail === 0), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_dsh_client_ui_primitives9.IconCloseOutlineRegular, { size: 16 }) })
|
|
12627
12811
|
] }),
|
|
12628
12812
|
error && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { role: "alert", className: "dsh-partner-pendant-error", children: error }),
|
|
12629
12813
|
detail ? /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
|
|
@@ -12641,7 +12825,7 @@ function PendantReader({ inbox, selected, error, anchor, onSelect, onClose, onVi
|
|
|
12641
12825
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: inbox.items.length })
|
|
12642
12826
|
] }),
|
|
12643
12827
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("button", { type: "button", className: "dsh-partner-pendant-source", onClick: () => onVisit(detail), children: [
|
|
12644
|
-
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_dsh_client_ui_primitives9.
|
|
12828
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_dsh_client_ui_primitives9.IconLinkOutlineRegular, { size: 15 }),
|
|
12645
12829
|
detail.kind === "system" ? "\u524D\u5F80\u5347\u7EA7\u8FC1\u79FB" : detail.kind === "task" ? "\u67E5\u770B\u4EFB\u52A1" : detail.kind === "schedule" ? "\u67E5\u770B\u5B9A\u65F6\u4EFB\u52A1" : "\u8FDB\u5165\u4F1A\u8BDD"
|
|
12646
12830
|
] })
|
|
12647
12831
|
] })
|
|
@@ -12664,7 +12848,7 @@ function PendantReader({ inbox, selected, error, anchor, onSelect, onClose, onVi
|
|
|
12664
12848
|
" \u6761"
|
|
12665
12849
|
] }),
|
|
12666
12850
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("button", { type: "button", disabled: !inbox.unread, onClick: onReadAll, children: [
|
|
12667
|
-
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_dsh_client_ui_primitives9.
|
|
12851
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_dsh_client_ui_primitives9.IconCheckOutlineRegular, { size: 14 }),
|
|
12668
12852
|
"\u5168\u90E8\u5DF2\u8BFB"
|
|
12669
12853
|
] })
|
|
12670
12854
|
] })
|
|
@@ -12861,7 +13045,7 @@ function CompanionPicker({ companions, selectedId, onChange }) {
|
|
|
12861
13045
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("strong", { children: current2?.name ?? "\u8FD8\u6CA1\u6709\u4F19\u4F34" }),
|
|
12862
13046
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("small", { children: current2?.role || "\u9009\u62E9\u4F19\u4F34" })
|
|
12863
13047
|
] }),
|
|
12864
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "dsh-partner-companion-chevron", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_dsh_client_ui_primitives10.
|
|
13048
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "dsh-partner-companion-chevron", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_dsh_client_ui_primitives10.IconChevronDownOutlineRegular, { size: 14 }) })
|
|
12865
13049
|
] }),
|
|
12866
13050
|
open && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { ref: list2, id: listId, role: "listbox", "aria-label": "\u9009\u62E9\u4F19\u4F34", className: "dsh-partner-companion-options", onKeyDown: navigate, children: companions.map((item) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("button", { type: "button", role: "option", "aria-selected": item.id === current2?.id, tabIndex: item.id === current2?.id ? 0 : -1, onClick: () => {
|
|
12867
13051
|
dismiss();
|
|
@@ -12872,7 +13056,7 @@ function CompanionPicker({ companions, selectedId, onChange }) {
|
|
|
12872
13056
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("strong", { children: item.name }),
|
|
12873
13057
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("small", { children: item.role })
|
|
12874
13058
|
] }),
|
|
12875
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "dsh-partner-companion-check", "aria-hidden": "true", children: item.id === current2?.id && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_dsh_client_ui_primitives10.
|
|
13059
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "dsh-partner-companion-check", "aria-hidden": "true", children: item.id === current2?.id && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_dsh_client_ui_primitives10.IconCheckOutlineRegular, { size: 14 }) })
|
|
12876
13060
|
] }, item.id)) })
|
|
12877
13061
|
] });
|
|
12878
13062
|
}
|
|
@@ -13288,7 +13472,7 @@ function SkillsPanel() {
|
|
|
13288
13472
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(WorkspaceHero, { eyebrow: "Capability catalog", title: "Skill \u5E02\u573A", detail: "\u96C6\u4E2D\u5B89\u88C5\u548C\u7EF4\u62A4\u5DE5\u4F5C\u80FD\u529B\uFF1B\u5B89\u88C5\u540E\uFF0C\u518D\u4E3A\u9700\u8981\u5B83\u7684\u4F19\u4F34\u5355\u72EC\u542F\u7528\u3002", actions: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("button", { type: "button", disabled: loading, onClick: () => {
|
|
13289
13473
|
void load2(true);
|
|
13290
13474
|
}, children: [
|
|
13291
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13475
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconRefreshOutlineRegular, { size: 15 }),
|
|
13292
13476
|
loading ? "\u540C\u6B65\u4E2D\u2026" : "\u5237\u65B0\u5E02\u573A"
|
|
13293
13477
|
] }) }),
|
|
13294
13478
|
error && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(WorkspaceNotice, { children: error }),
|
|
@@ -13302,15 +13486,15 @@ function SkillsPanel() {
|
|
|
13302
13486
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(WorkspaceBlock, { title: "\u5DF2\u5B89\u88C5", detail: `${catalog.installed.length} \u4E2A\u53EF\u4F9B\u4F19\u4F34\u4F7F\u7528`, actions: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
|
|
13303
13487
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { type: "button", onClick: () => setImportingSkill(true), children: "\u5BFC\u5165 Skill" }),
|
|
13304
13488
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("button", { type: "button", onClick: () => setCreatingSkill(true), children: [
|
|
13305
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13489
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconPlusOutlineRegular, { size: 14 }),
|
|
13306
13490
|
"\u65B0\u5EFA Skill"
|
|
13307
13491
|
] })
|
|
13308
13492
|
] }), children: loading ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CollectionSkeleton, { rows: 2 }) : catalog.installed.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CollectionEmpty, { title: "\u8FD8\u6CA1\u6709\u5B89\u88C5 Skill", detail: "\u53EF\u4EE5\u521B\u5EFA\u81EA\u5DF1\u7684 Skill\uFF0C\u6216\u4ECE\u4E0B\u65B9\u5E02\u573A\u9009\u62E9\u3002", action: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("button", { type: "button", onClick: () => setCreatingSkill(true), children: [
|
|
13309
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13493
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconPlusOutlineRegular, { size: 14 }),
|
|
13310
13494
|
"\u65B0\u5EFA\u7B2C\u4E00\u4E2A Skill"
|
|
13311
13495
|
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
|
|
13312
13496
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "dsh-partner-skill-installed is-market", children: visibleInstalled.map((skill) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("article", { children: [
|
|
13313
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "dsh-partner-skill-mark", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13497
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "dsh-partner-skill-mark", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconCheckOutlineRegular, { size: 16 }) }),
|
|
13314
13498
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("span", { children: [
|
|
13315
13499
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("strong", { children: skill.displayName }),
|
|
13316
13500
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { children: skill.description }),
|
|
@@ -13324,7 +13508,7 @@ function SkillsPanel() {
|
|
|
13324
13508
|
] }),
|
|
13325
13509
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { type: "button", className: "is-icon", disabled: busy === skill.id, "aria-label": `\u5378\u8F7D ${skill.displayName}`, onClick: () => {
|
|
13326
13510
|
void uninstall(skill.id);
|
|
13327
|
-
}, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13511
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconTrashOutlineRegular, { size: 15 }) }),
|
|
13328
13512
|
actionError?.kind === "uninstall" && actionError.id === skill.id && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("p", { className: "dsh-partner-skill-action-error", role: "alert", children: [
|
|
13329
13513
|
"\u5378\u8F7D\u5931\u8D25\uFF1A",
|
|
13330
13514
|
actionError.message
|
|
@@ -13338,7 +13522,7 @@ function SkillsPanel() {
|
|
|
13338
13522
|
network.proxyUrl ? " \xB7 \u5DF2\u542F\u7528" : ""
|
|
13339
13523
|
] }),
|
|
13340
13524
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("button", { type: "button", onClick: () => setAddingSource(true), children: [
|
|
13341
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13525
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconPlusOutlineRegular, { size: 14 }),
|
|
13342
13526
|
"\u81EA\u5B9A\u4E49\u6E90"
|
|
13343
13527
|
] })
|
|
13344
13528
|
] }), children: [
|
|
@@ -13370,7 +13554,7 @@ function SkillsPanel() {
|
|
|
13370
13554
|
entry.version
|
|
13371
13555
|
] }),
|
|
13372
13556
|
current2 ? /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("button", { type: "button", disabled: true, children: [
|
|
13373
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13557
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconCheckOutlineRegular, { size: 14 }),
|
|
13374
13558
|
"\u5DF2\u5B89\u88C5"
|
|
13375
13559
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { type: "button", disabled: busy === entry.id, "aria-describedby": errorId, onClick: () => {
|
|
13376
13560
|
void install(entry);
|
|
@@ -13441,7 +13625,7 @@ function CompanionSkillSettings({ companionId, onBusyChange }) {
|
|
|
13441
13625
|
" \u4E2A\u542F\u7528"
|
|
13442
13626
|
] }),
|
|
13443
13627
|
catalog.installed.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("button", { type: "button", "aria-expanded": selecting, onClick: () => setSelecting((value) => !value), children: [
|
|
13444
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13628
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconPlusOutlineRegular, { size: 14 }),
|
|
13445
13629
|
"\u6DFB\u52A0 Skill"
|
|
13446
13630
|
] })
|
|
13447
13631
|
] })
|
|
@@ -13469,7 +13653,7 @@ function CompanionSkillSettings({ companionId, onBusyChange }) {
|
|
|
13469
13653
|
] }),
|
|
13470
13654
|
catalog.installed.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "dsh-partner-feature-empty", children: "\u5C1A\u672A\u5B89\u88C5 Skill\uFF0C\u8BF7\u5148\u4ECE\u5DE6\u4FA7\u7684 Skill \u5E02\u573A\u5B89\u88C5\u3002" }) : enabledSkills.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "dsh-partner-feature-empty", children: "\u5F53\u524D\u4F19\u4F34\u8FD8\u6CA1\u6709\u542F\u7528 Skill\u3002\u70B9\u51FB\u201C\u6DFB\u52A0 Skill\u201D\u9009\u62E9\u9700\u8981\u7684\u80FD\u529B\u3002" }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
|
|
13471
13655
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "dsh-partner-skill-installed is-binding", children: visibleEnabledSkills.map((skill) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("article", { children: [
|
|
13472
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "dsh-partner-skill-mark", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13656
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "dsh-partner-skill-mark", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconCheckOutlineRegular, { size: 16 }) }),
|
|
13473
13657
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("span", { children: [
|
|
13474
13658
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("strong", { children: skill.displayName }),
|
|
13475
13659
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { children: skill.description }),
|
|
@@ -13486,7 +13670,7 @@ function CompanionSkillSettings({ companionId, onBusyChange }) {
|
|
|
13486
13670
|
}
|
|
13487
13671
|
function SkillSearch({ value, change, count, label, placeholder, loading = false, autoFocus = false, compact = false }) {
|
|
13488
13672
|
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: `dsh-partner-skill-search${compact ? " is-compact" : ""}`, role: "search", "aria-label": label, children: [
|
|
13489
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "dsh-partner-skill-search-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13673
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "dsh-partner-skill-search-icon", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconSearchOutlineRegular, { size: 16 }) }),
|
|
13490
13674
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
13491
13675
|
"input",
|
|
13492
13676
|
{
|
|
@@ -13504,7 +13688,7 @@ function SkillSearch({ value, change, count, label, placeholder, loading = false
|
|
|
13504
13688
|
}
|
|
13505
13689
|
}
|
|
13506
13690
|
),
|
|
13507
|
-
value && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { type: "button", className: "dsh-partner-skill-search-clear", "aria-label": "\u6E05\u7A7A\u641C\u7D22", title: "\u6E05\u7A7A\u641C\u7D22", onClick: () => change(""), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13691
|
+
value && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { type: "button", className: "dsh-partner-skill-search-clear", "aria-label": "\u6E05\u7A7A\u641C\u7D22", title: "\u6E05\u7A7A\u641C\u7D22", onClick: () => change(""), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconCloseOutlineRegular, { size: 14 }) }),
|
|
13508
13692
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "dsh-partner-skill-search-count", "aria-live": "polite", children: loading ? "\u540C\u6B65\u4E2D" : `${count} \u9879` })
|
|
13509
13693
|
] });
|
|
13510
13694
|
}
|
|
@@ -13573,7 +13757,7 @@ function NewSkillForm({ existingIds, close, changed: changed2 }) {
|
|
|
13573
13757
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("footer", { children: [
|
|
13574
13758
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { type: "button", disabled: busy, onClick: close, children: "\u53D6\u6D88" }),
|
|
13575
13759
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("button", { type: "submit", className: "is-primary", disabled: busy, children: [
|
|
13576
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.
|
|
13760
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_dsh_client_ui_primitives11.IconPlusOutlineRegular, { size: 14 }),
|
|
13577
13761
|
busy ? "\u521B\u5EFA\u4E2D\u2026" : "\u521B\u5EFA Skill"
|
|
13578
13762
|
] })
|
|
13579
13763
|
] })
|
|
@@ -13852,7 +14036,7 @@ function McpPanel() {
|
|
|
13852
14036
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(WorkspaceHero, { eyebrow: "Capability catalog", title: "MCP \u670D\u52A1", detail: "\u96C6\u4E2D\u7BA1\u7406\u5916\u90E8\u5DE5\u5177\uFF0C\u518D\u5728\u4F19\u4F34\u80FD\u529B\u4E2D\u5355\u72EC\u6388\u6743\u3002\u914D\u7F6E\u4E0E\u5DE5\u5177\u76EE\u5F55\u7684\u66F4\u65B0\u5728\u4E0B\u4E00\u8F6E\u5BF9\u8BDD\u751F\u6548\u3002", actions: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("button", { type: "button", disabled: loading || !!busy, onClick: () => {
|
|
13853
14037
|
void load2();
|
|
13854
14038
|
}, children: [
|
|
13855
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_dsh_client_ui_primitives12.
|
|
14039
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_dsh_client_ui_primitives12.IconRefreshOutlineRegular, { size: 15 }),
|
|
13856
14040
|
"\u5237\u65B0\u5217\u8868"
|
|
13857
14041
|
] }) }),
|
|
13858
14042
|
error && !deleting && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(WorkspaceNotice, { children: error }),
|
|
@@ -13860,7 +14044,7 @@ function McpPanel() {
|
|
|
13860
14044
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(WorkspaceBlock, { title: "\u5DF2\u914D\u7F6E\u670D\u52A1", detail: `${catalog.servers.length} \u4E2A\u670D\u52A1 \xB7 \u5B89\u88C5\u4E0D\u7B49\u4E8E\u6388\u6743`, actions: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
13861
14045
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("button", { type: "button", onClick: () => setEditor("import"), children: "\u5BFC\u5165 JSON" }),
|
|
13862
14046
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("button", { type: "button", onClick: () => setEditor("new"), children: [
|
|
13863
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_dsh_client_ui_primitives12.
|
|
14047
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_dsh_client_ui_primitives12.IconPlusOutlineRegular, { size: 14 }),
|
|
13864
14048
|
"\u65B0\u589E MCP"
|
|
13865
14049
|
] })
|
|
13866
14050
|
] }), children: [
|
|
@@ -14122,7 +14306,7 @@ function RequirementDetail({ item, tasks, directory, changed: changed2, close })
|
|
|
14122
14306
|
" \u4E2A\u4EFB\u52A1"
|
|
14123
14307
|
] })
|
|
14124
14308
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("button", { type: "button", className: "is-danger", onClick: () => setConfirming(true), children: [
|
|
14125
|
-
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_dsh_client_ui_primitives13.
|
|
14309
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_dsh_client_ui_primitives13.IconTrashOutlineRegular, { size: 14 }),
|
|
14126
14310
|
"\u5220\u9664\u9700\u6C42"
|
|
14127
14311
|
] })
|
|
14128
14312
|
] }),
|
|
@@ -14151,7 +14335,7 @@ function TaskBoardStage({ id, label, tasks, focused, filtered, renderTask }) {
|
|
|
14151
14335
|
const expanded = !collapsed;
|
|
14152
14336
|
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("section", { "data-status": id, "data-empty": tasks.length === 0, "aria-labelledby": titleId, children: [
|
|
14153
14337
|
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("header", { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("button", { type: "button", className: "dsh-partner-board-stage-toggle", "aria-expanded": expanded, "aria-controls": listId, onClick: () => setCollapsed((value) => !value), children: [
|
|
14154
|
-
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_dsh_client_ui_primitives14.
|
|
14338
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_dsh_client_ui_primitives14.IconChevronRightOutlineRegular, { size: 14 }),
|
|
14155
14339
|
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("strong", { id: titleId, children: label }),
|
|
14156
14340
|
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("b", { children: tasks.length })
|
|
14157
14341
|
] }) }),
|
|
@@ -14400,7 +14584,7 @@ function RequirementTasksPanel({ initialTaskId, openRequest, requirementId, back
|
|
|
14400
14584
|
!detailOnly && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
|
|
14401
14585
|
back && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("nav", { className: "dsh-partner-requirement-breadcrumb", children: [
|
|
14402
14586
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", onClick: back, children: "\u9700\u6C42\u770B\u677F" }),
|
|
14403
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.
|
|
14587
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.IconChevronRightOutlineRegular, { size: 14 }),
|
|
14404
14588
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { children: requirement?.title ?? "\u672A\u5F52\u7C7B\u65E7\u4EFB\u52A1" })
|
|
14405
14589
|
] }),
|
|
14406
14590
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(WorkspaceHero, { eyebrow: requirement ? requirementStatus(requirement) : "\u65E7\u4EFB\u52A1", title: requirement?.title ?? "\u672A\u5F52\u7C7B\u65E7\u4EFB\u52A1", detail: requirement?.description || "\u4EFB\u52A1\u6309\u9636\u6BB5\u5C55\u793A\uFF0C\u70B9\u51FB\u67E5\u770B\u4EA4\u4ED8\u3001\u4F9D\u8D56\u548C\u6267\u884C\u72B6\u6001\u3002", actions: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
|
|
@@ -14410,7 +14594,7 @@ function RequirementTasksPanel({ initialTaskId, openRequest, requirementId, back
|
|
|
14410
14594
|
] }),
|
|
14411
14595
|
requirement && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", onClick: () => setRequirementDetail(true), children: "\u9700\u6C42\u8BE6\u60C5" }),
|
|
14412
14596
|
requirement?.status === "planning" && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { type: "button", onClick: () => setCreating(true), children: [
|
|
14413
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.
|
|
14597
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.IconPlusOutlineRegular, { size: 15 }),
|
|
14414
14598
|
"\u65B0\u4EFB\u52A1"
|
|
14415
14599
|
] })
|
|
14416
14600
|
] }) })
|
|
@@ -14455,9 +14639,9 @@ function RequirementTasksPanel({ initialTaskId, openRequest, requirementId, back
|
|
|
14455
14639
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "dsh-partner-board-tools", children: [
|
|
14456
14640
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("label", { className: "dsh-partner-board-search", children: [
|
|
14457
14641
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "sr-only", children: "\u641C\u7D22\u4EFB\u52A1" }),
|
|
14458
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.
|
|
14642
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.IconSearchOutlineRegular, { size: 16 }) }),
|
|
14459
14643
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("input", { value: query, onChange: (event) => setQuery(event.target.value), placeholder: "\u641C\u7D22\u4EFB\u52A1\u3001\u8D1F\u8D23\u4EBA\u6216\u524D\u7F6E\u4EFB\u52A1" }),
|
|
14460
|
-
query && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", onClick: () => setQuery(""), "aria-label": "\u6E05\u9664\u4EFB\u52A1\u641C\u7D22", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.
|
|
14644
|
+
query && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", onClick: () => setQuery(""), "aria-label": "\u6E05\u9664\u4EFB\u52A1\u641C\u7D22", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.IconCloseOutlineRegular, { size: 14 }) })
|
|
14461
14645
|
] }),
|
|
14462
14646
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("label", { className: "dsh-partner-board-assignee", children: [
|
|
14463
14647
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "sr-only", children: "\u6309\u8D1F\u8D23\u4EBA\u7B5B\u9009" }),
|
|
@@ -14553,7 +14737,7 @@ function TaskCard({ task, tasksById, directoryById, dependentCount, execution, o
|
|
|
14553
14737
|
] })
|
|
14554
14738
|
] })
|
|
14555
14739
|
] }),
|
|
14556
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.
|
|
14740
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.IconChevronRightOutlineRegular, { size: 14 })
|
|
14557
14741
|
] }) });
|
|
14558
14742
|
}
|
|
14559
14743
|
function TaskDetail({ task, tasks, activities, directory, execution, busy, update, delegate, review, accept, reject, remove }) {
|
|
@@ -14634,7 +14818,7 @@ function TaskDetail({ task, tasks, activities, directory, execution, busy, updat
|
|
|
14634
14818
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("small", { children: blockers.length ? `${blockers.length} \u9879\u672A\u5B8C\u6210\uFF0C\u5F53\u524D\u4EFB\u52A1\u4E0D\u80FD\u542F\u52A8` : dependencies.length ? "\u5DF2\u5168\u90E8\u5B8C\u6210\uFF0C\u53EF\u4EE5\u542F\u52A8" : "\u6CA1\u6709\u524D\u7F6E\u4F9D\u8D56" })
|
|
14635
14819
|
] }),
|
|
14636
14820
|
dependencies.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { children: dependencies.map((item) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("span", { "data-done": item.status === "done", children: [
|
|
14637
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("i", { children: item.status === "done" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.
|
|
14821
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("i", { children: item.status === "done" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.IconCheckOutlineRegular, { size: 12 }) : "" }),
|
|
14638
14822
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("b", { children: item.title }),
|
|
14639
14823
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", disabled: busy || ["doing", "review", "done"].includes(task.status), "aria-label": `\u79FB\u9664\u524D\u7F6E\u4EFB\u52A1 ${item.title}`, onClick: () => update({ dependencyTaskIds: task.dependencyTaskIds.filter((id) => id !== item.id) }), children: "\u79FB\u9664" })
|
|
14640
14824
|
] }, item.id)) }),
|
|
@@ -14704,7 +14888,7 @@ function TaskDetail({ task, tasks, activities, directory, execution, busy, updat
|
|
|
14704
14888
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", disabled: busy, onClick: () => setRejecting(true), children: "\u6253\u56DE\u91CD\u505A" }),
|
|
14705
14889
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", className: "is-primary", disabled: busy || Boolean(task.acceptanceCriteria?.length && (checks.length !== task.acceptanceCriteria.length || checks.some((c) => c.verdict !== "passed" || !c.evidence?.trim()))), onClick: () => accept(checks), children: "\u9A8C\u6536\u901A\u8FC7" })
|
|
14706
14890
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", disabled: busy || !canExecute, title: blockers.length ? "\u53EF\u63D0\u524D\u6392\u961F\uFF0C\u4F9D\u8D56\u901A\u8FC7\u9A8C\u6536\u540E\u81EA\u52A8\u6267\u884C" : !task.assigneeCompanionId ? "\u8BF7\u5148\u9009\u62E9\u8D1F\u8D23\u4EBA" : void 0, onClick: delegate, children: busy ? "\u6267\u884C\u4E2D\u2026" : execution?.status === "queued" ? "\u5DF2\u63D0\u4EA4\uFF0C\u7B49\u5F85\u6267\u884C" : task.status === "doing" ? "\u6B63\u5728\u6267\u884C" : task.status === "done" ? "\u5DF2\u7ECF\u5B8C\u6210" : `\u4EA4\u7ED9 @${assignee?.name ?? "\u4F19\u4F34"}` }),
|
|
14707
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", className: "is-icon", "aria-label": `\u5220\u9664 ${task.title}`, "aria-expanded": confirmingDelete, disabled: busy, onClick: () => setConfirmingDelete(true), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.
|
|
14891
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", className: "is-icon", "aria-label": `\u5220\u9664 ${task.title}`, "aria-expanded": confirmingDelete, disabled: busy, onClick: () => setConfirmingDelete(true), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.IconTrashOutlineRegular, { size: 14 }) })
|
|
14708
14892
|
] })
|
|
14709
14893
|
] })
|
|
14710
14894
|
] });
|
|
@@ -14817,7 +15001,7 @@ function TaskForm({ requirementId, companions, tasks, close, changed: changed2 }
|
|
|
14817
15001
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("footer", { children: [
|
|
14818
15002
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { type: "button", disabled: busy, onClick: close, children: "\u53D6\u6D88" }),
|
|
14819
15003
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { type: "submit", className: "is-primary", disabled: busy, children: [
|
|
14820
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.
|
|
15004
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_dsh_client_ui_primitives15.IconPlusOutlineRegular, { size: 14 }),
|
|
14821
15005
|
busy ? "\u521B\u5EFA\u4E2D\u2026" : "\u521B\u5EFA\u4EFB\u52A1"
|
|
14822
15006
|
] })
|
|
14823
15007
|
] })
|
|
@@ -14902,7 +15086,7 @@ function RequirementBoard({ initialTaskId, openRequest } = {}) {
|
|
|
14902
15086
|
} }, selected);
|
|
14903
15087
|
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "dsh-partner-feature-page is-board", children: [
|
|
14904
15088
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(WorkspaceHero, { eyebrow: "Shared workspace", title: "\u9700\u6C42\u770B\u677F", detail: "\u6309\u9700\u6C42\u7EC4\u7EC7\u5DE5\u4F5C\uFF0C\u5B50\u4EFB\u52A1\u72EC\u7ACB\u63A8\u8FDB\uFF0C\u6574\u4F53\u5B8C\u6210\u540E\u7EDF\u4E00\u6C47\u603B\u3002", actions: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("button", { type: "button", onClick: () => setCreating(true), children: [
|
|
14905
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dsh_client_ui_primitives16.
|
|
15089
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dsh_client_ui_primitives16.IconPlusOutlineRegular, { size: 15 }),
|
|
14906
15090
|
"\u65B0\u9700\u6C42"
|
|
14907
15091
|
] }) }),
|
|
14908
15092
|
error && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(WorkspaceNotice, { children: [
|
|
@@ -14921,7 +15105,7 @@ function RequirementBoard({ initialTaskId, openRequest } = {}) {
|
|
|
14921
15105
|
] }, String(value))) }),
|
|
14922
15106
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("label", { className: "dsh-partner-board-search", children: [
|
|
14923
15107
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "sr-only", children: "\u641C\u7D22\u9700\u6C42" }),
|
|
14924
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dsh_client_ui_primitives16.
|
|
15108
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dsh_client_ui_primitives16.IconSearchOutlineRegular, { size: 16 }) }),
|
|
14925
15109
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("input", { placeholder: "\u641C\u7D22\u9700\u6C42\u6216\u8D1F\u8D23\u4EBA", value: query, onChange: (event) => {
|
|
14926
15110
|
setQuery(event.target.value);
|
|
14927
15111
|
setLimit(24);
|
|
@@ -14950,7 +15134,7 @@ function RequirementBoard({ initialTaskId, openRequest } = {}) {
|
|
|
14950
15134
|
" \u5DF2\u9A8C\u6536",
|
|
14951
15135
|
blocked ? ` \xB7 ${blocked} \u53D7\u963B` : ""
|
|
14952
15136
|
] }),
|
|
14953
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dsh_client_ui_primitives16.
|
|
15137
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dsh_client_ui_primitives16.IconChevronRightOutlineRegular, { size: 14 })
|
|
14954
15138
|
] })
|
|
14955
15139
|
] }),
|
|
14956
15140
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("footer", { children: [
|
|
@@ -14975,7 +15159,7 @@ function RequirementBoard({ initialTaskId, openRequest } = {}) {
|
|
|
14975
15159
|
"\u672A\u5F52\u7C7B\u65E7\u4EFB\u52A1 ",
|
|
14976
15160
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("b", { children: groups.get("legacy").length }),
|
|
14977
15161
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { children: "\u4FDD\u7559\u539F\u8BB0\u5F55\uFF0C\u4E0D\u81EA\u52A8\u5408\u5E76" }),
|
|
14978
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dsh_client_ui_primitives16.
|
|
15162
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dsh_client_ui_primitives16.IconChevronRightOutlineRegular, { size: 14 })
|
|
14979
15163
|
] })
|
|
14980
15164
|
] }),
|
|
14981
15165
|
creating && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(WorkspaceDialog, { title: "\u65B0\u5EFA\u9700\u6C42", detail: "\u4E00\u4E2A\u9700\u6C42\u5BF9\u5E94\u4E00\u4EFD\u6700\u7EC8\u4EA4\u4ED8\uFF0C\u7531\u8D1F\u8D23\u4EBA\u7EDF\u4E00\u6536\u5C3E\u3002", close: () => setCreating(false), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RequirementForm, { directory, close: () => setCreating(false), created: async (item) => {
|
|
@@ -14999,6 +15183,7 @@ function SchedulePanel({ companions }) {
|
|
|
14999
15183
|
const [busy, setBusy] = (0, import_react38.useState)();
|
|
15000
15184
|
const [loading, setLoading] = (0, import_react38.useState)(true);
|
|
15001
15185
|
const [error, setError] = (0, import_react38.useState)();
|
|
15186
|
+
const eligible = companions.filter((c) => c.capabilities.includes("schedules"));
|
|
15002
15187
|
const load2 = (0, import_react38.useCallback)(async () => {
|
|
15003
15188
|
try {
|
|
15004
15189
|
const value = await api("/schedules");
|
|
@@ -15012,7 +15197,18 @@ function SchedulePanel({ companions }) {
|
|
|
15012
15197
|
}
|
|
15013
15198
|
}, []);
|
|
15014
15199
|
(0, import_react38.useEffect)(() => {
|
|
15015
|
-
|
|
15200
|
+
let stopped = false, timer2;
|
|
15201
|
+
const refresh = async () => {
|
|
15202
|
+
if (document.visibilityState !== "hidden") await load2();
|
|
15203
|
+
if (!stopped) timer2 = setTimeout(() => {
|
|
15204
|
+
void refresh();
|
|
15205
|
+
}, 5e3);
|
|
15206
|
+
};
|
|
15207
|
+
void refresh();
|
|
15208
|
+
return () => {
|
|
15209
|
+
stopped = true;
|
|
15210
|
+
clearTimeout(timer2);
|
|
15211
|
+
};
|
|
15016
15212
|
}, [load2]);
|
|
15017
15213
|
const update = async (entry, value) => {
|
|
15018
15214
|
setBusy(entry.id);
|
|
@@ -15048,53 +15244,86 @@ function SchedulePanel({ companions }) {
|
|
|
15048
15244
|
}
|
|
15049
15245
|
};
|
|
15050
15246
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "dsh-partner-feature-page", children: [
|
|
15051
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(WorkspaceHero, { eyebrow: "
|
|
15247
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(WorkspaceHero, { eyebrow: "Scheduled automation", title: "\u4F19\u4F34\u5B9A\u65F6\u4EFB\u52A1", detail: "\u9700\u5F00\u542F\u4F19\u4F34\u7684\u5B9A\u65F6\u4EFB\u52A1\u80FD\u529B\u3002\u5468\u671F\u5DE5\u4F5C\u5728\u4E34\u65F6\u4F1A\u8BDD\u6267\u884C\uFF1B\u957F\u4EFB\u52A1\u4E00\u6B21\u6027\u5524\u9192\uFF0C\u56DE\u5230\u539F\u4F1A\u8BDD\u68C0\u67E5\u5E76\u7EED\u63A5\u3002", actions: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
15052
15248
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("button", { type: "button", disabled: loading, onClick: () => {
|
|
15053
15249
|
void load2();
|
|
15054
15250
|
}, children: [
|
|
15055
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_dsh_client_ui_primitives17.
|
|
15251
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_dsh_client_ui_primitives17.IconRefreshOutlineRegular, { size: 15 }),
|
|
15056
15252
|
"\u5237\u65B0"
|
|
15057
15253
|
] }),
|
|
15058
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("button", { type: "button", disabled:
|
|
15059
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_dsh_client_ui_primitives17.
|
|
15254
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("button", { type: "button", disabled: eligible.length === 0, onClick: () => setCreating(true), children: [
|
|
15255
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_dsh_client_ui_primitives17.IconPlusOutlineRegular, { size: 15 }),
|
|
15060
15256
|
"\u65B0\u8BA1\u5212"
|
|
15061
15257
|
] })
|
|
15062
15258
|
] }) }),
|
|
15259
|
+
eligible.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(WorkspaceNotice, { children: "\u8BF7\u5148\u5728\u4F19\u4F34\u80FD\u529B\u4E2D\u52FE\u9009\u201C\u5B9A\u65F6\u4EFB\u52A1\u201D\u3002\u5173\u95ED\u80FD\u529B\u540E\uFF0C\u5DF2\u6709\u8BA1\u5212\u4E0D\u4F1A\u7EE7\u7EED\u6267\u884C\u3002" }),
|
|
15063
15260
|
error && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(WorkspaceNotice, { children: error }),
|
|
15064
|
-
creating && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(WorkspaceDialog, { title: "\u65B0\u5EFA\u5B9A\u65F6\u4EFB\u52A1", detail: "\u9009\u62E9\u6267\u884C\u4F19\u4F34\u3001\u8FD0\u884C\u9891\u7387\u548C\u4F1A\u8BDD\u4FDD\u7559\u7B56\u7565\u3002\
|
|
15065
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(WorkspaceBlock, { title: "\u6267\u884C\u8BA1\u5212", detail: `${schedules.filter((item) => item.enabled).length} \u4E2A\u542F\u7528`, children: loading ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CollectionSkeleton, { rows: 3 }) : schedules.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CollectionEmpty, { title: "\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1", detail: "\
|
|
15066
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_dsh_client_ui_primitives17.
|
|
15261
|
+
creating && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(WorkspaceDialog, { title: "\u65B0\u5EFA\u5B9A\u65F6\u4EFB\u52A1", detail: "\u9009\u62E9\u6267\u884C\u4F19\u4F34\u3001\u8FD0\u884C\u9891\u7387\u548C\u4F1A\u8BDD\u4FDD\u7559\u7B56\u7565\u3002\u957F\u4EFB\u52A1\u7EED\u63A5\u7531\u4F19\u4F34\u901A\u8FC7\u5DE5\u5177\u9884\u7EA6\uFF0C\u65E0\u9700\u5728\u8FD9\u91CC\u624B\u52A8\u521B\u5EFA\u3002", close: () => setCreating(false), width: "wide", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ScheduleForm, { companions: eligible, close: () => setCreating(false), changed: load2 }) }),
|
|
15262
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(WorkspaceBlock, { title: "\u6267\u884C\u8BA1\u5212", detail: `${schedules.filter((item) => item.enabled && eligible.some((c) => c.id === item.companionId)).length} \u4E2A\u542F\u7528`, children: loading ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CollectionSkeleton, { rows: 3 }) : schedules.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CollectionEmpty, { title: "\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1", detail: "\u5468\u671F\u8BA1\u5212\u548C\u957F\u4EFB\u52A1\u7EED\u63A5\u4F1A\u663E\u793A\u5728\u8FD9\u91CC\u3002", action: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("button", { type: "button", disabled: eligible.length === 0, onClick: () => setCreating(true), children: [
|
|
15263
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_dsh_client_ui_primitives17.IconPlusOutlineRegular, { size: 14 }),
|
|
15067
15264
|
"\u521B\u5EFA\u7B2C\u4E00\u4E2A\u8BA1\u5212"
|
|
15068
|
-
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "dsh-partner-schedule-list", children: schedules.map((entry) =>
|
|
15069
|
-
|
|
15070
|
-
|
|
15071
|
-
|
|
15072
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("span", {
|
|
15073
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.
|
|
15074
|
-
|
|
15075
|
-
|
|
15076
|
-
|
|
15077
|
-
|
|
15078
|
-
|
|
15079
|
-
|
|
15080
|
-
|
|
15265
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "dsh-partner-schedule-list", children: schedules.map((entry) => {
|
|
15266
|
+
const wake = entry.continuation, allowed = eligible.some((c) => c.id === entry.companionId);
|
|
15267
|
+
const terminal = wake && ["completed", "blocked", "cancelled"].includes(wake.state);
|
|
15268
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("article", { children: [
|
|
15269
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("span", { children: [
|
|
15270
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("strong", { children: entry.title }),
|
|
15271
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { children: entry.prompt }),
|
|
15272
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("span", { className: "dsh-partner-schedule-meta", children: [
|
|
15273
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("em", { children: [
|
|
15274
|
+
"@",
|
|
15275
|
+
companionName(companions, entry.companionId)
|
|
15276
|
+
] }),
|
|
15277
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("em", { children: scheduleLabel(entry) }),
|
|
15278
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("em", { children: !allowed ? "\u80FD\u529B\u5DF2\u5173\u95ED" : terminal ? continuationState(wake.state) : !entry.enabled ? "\u5DF2\u6682\u505C" : wake?.state === "running" ? continuationState(wake.state) : `\u4E0B\u6B21 ${new Date(entry.nextRunAt).toLocaleString()}` }),
|
|
15279
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("em", { children: wake ? `\u5524\u9192 ${wake.attempts}/${wake.maxAttempts} \xB7 \u5DF2\u6838\u67E5 ${wake.checks ?? 0} \u6B21` : entry.destroySessionAfterRun ? "\u6267\u884C\u540E\u9500\u6BC1" : "\u4FDD\u7559\u4F1A\u8BDD" })
|
|
15081
15280
|
] }),
|
|
15082
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.
|
|
15083
|
-
|
|
15084
|
-
|
|
15085
|
-
|
|
15086
|
-
|
|
15087
|
-
|
|
15088
|
-
|
|
15089
|
-
|
|
15090
|
-
|
|
15091
|
-
|
|
15092
|
-
|
|
15093
|
-
|
|
15094
|
-
|
|
15095
|
-
|
|
15096
|
-
|
|
15097
|
-
|
|
15281
|
+
wake && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("details", { children: [
|
|
15282
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("summary", { children: [
|
|
15283
|
+
"\u7EED\u63A5\u8BE6\u60C5 \xB7 ",
|
|
15284
|
+
continuationState(wake.state)
|
|
15285
|
+
] }),
|
|
15286
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { children: [
|
|
15287
|
+
"\u5916\u90E8\u4EFB\u52A1\uFF1A",
|
|
15288
|
+
wake.externalTaskId
|
|
15289
|
+
] }),
|
|
15290
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { children: [
|
|
15291
|
+
"\u622A\u6B62\uFF1A",
|
|
15292
|
+
new Date(wake.deadlineAt).toLocaleString()
|
|
15293
|
+
] }),
|
|
15294
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { children: [
|
|
15295
|
+
"\u5B8C\u6210\u6761\u4EF6\uFF1A",
|
|
15296
|
+
wake.completion ?? wake.check
|
|
15297
|
+
] }),
|
|
15298
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { children: [
|
|
15299
|
+
"\u5355\u6B21\u68C0\u67E5\u9650\u65F6\uFF1A",
|
|
15300
|
+
entry.timeoutMinutes,
|
|
15301
|
+
" \u5206\u949F"
|
|
15302
|
+
] }),
|
|
15303
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { children: [
|
|
15304
|
+
"\u5173\u95ED\u9884\u7EA6\u540E\uFF1A",
|
|
15305
|
+
wake.nextStep
|
|
15306
|
+
] }),
|
|
15307
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { children: [
|
|
15308
|
+
"\u6700\u8FD1\u7ED3\u679C\uFF1A",
|
|
15309
|
+
wake.summary || "\u5C1A\u672A\u68C0\u67E5"
|
|
15310
|
+
] })
|
|
15311
|
+
] })
|
|
15312
|
+
] }),
|
|
15313
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("button", { type: "button", className: "dsh-partner-feature-switch", "data-on": entry.enabled && allowed, "aria-label": `${entry.enabled ? "\u6682\u505C" : "\u542F\u7528"} ${entry.title}`, "aria-pressed": entry.enabled && allowed, disabled: busy === entry.id || !allowed || !!terminal, onClick: () => {
|
|
15314
|
+
void update(entry, { enabled: !entry.enabled });
|
|
15315
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("i", {}) }),
|
|
15316
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("button", { type: "button", disabled: busy === entry.id || !allowed || !!terminal || !!wake && (!entry.enabled || wake.state === "running"), onClick: () => {
|
|
15317
|
+
void run(entry);
|
|
15318
|
+
}, children: [
|
|
15319
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_dsh_client_ui_primitives17.IconPlayOutlineRegular, { size: 14 }),
|
|
15320
|
+
busy === entry.id ? "\u5DF2\u63D0\u4EA4\u2026" : wake ? "\u7ACB\u5373\u68C0\u67E5" : "\u7ACB\u5373\u6267\u884C"
|
|
15321
|
+
] }),
|
|
15322
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("button", { type: "button", className: "is-icon", disabled: busy === entry.id, onClick: () => {
|
|
15323
|
+
void remove(entry);
|
|
15324
|
+
}, "aria-label": `\u5220\u9664 ${entry.title}`, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_dsh_client_ui_primitives17.IconTrashOutlineRegular, { size: 14 }) })
|
|
15325
|
+
] }, entry.id);
|
|
15326
|
+
}) }) }),
|
|
15098
15327
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(WorkspaceBlock, { title: "\u6700\u8FD1\u8FD0\u884C", detail: "\u4FDD\u7559\u6700\u8FD1\u7684\u72B6\u6001\u4E0E\u7ED3\u679C\u6458\u8981", children: [
|
|
15099
15328
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "dsh-partner-run-list", children: runs.map((run2) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("article", { "data-status": run2.status, children: [
|
|
15100
15329
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("i", {}),
|
|
@@ -15201,14 +15430,17 @@ function ScheduleForm({ companions, close, changed: changed2 }) {
|
|
|
15201
15430
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("footer", { children: [
|
|
15202
15431
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("button", { type: "button", disabled: busy, onClick: close, children: "\u53D6\u6D88" }),
|
|
15203
15432
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("button", { type: "submit", className: "is-primary", disabled: busy, children: [
|
|
15204
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_dsh_client_ui_primitives17.
|
|
15433
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_dsh_client_ui_primitives17.IconPlusOutlineRegular, { size: 14 }),
|
|
15205
15434
|
busy ? "\u521B\u5EFA\u4E2D\u2026" : "\u521B\u5EFA\u8BA1\u5212"
|
|
15206
15435
|
] })
|
|
15207
15436
|
] })
|
|
15208
15437
|
] });
|
|
15209
15438
|
}
|
|
15210
15439
|
function scheduleLabel(entry) {
|
|
15211
|
-
return entry.schedule.kind === "interval" ? `\u6BCF ${entry.schedule.minutes} \u5206\u949F` : `\u6BCF\u5929 ${String(entry.schedule.hour).padStart(2, "0")}:${String(entry.schedule.minute).padStart(2, "0")}`;
|
|
15440
|
+
return entry.schedule.kind === "once" ? "\u957F\u4EFB\u52A1\u7EED\u63A5 \xB7 \u4E00\u6B21\u6027" : entry.schedule.kind === "interval" ? `\u6BCF ${entry.schedule.minutes} \u5206\u949F` : `\u6BCF\u5929 ${String(entry.schedule.hour).padStart(2, "0")}:${String(entry.schedule.minute).padStart(2, "0")}`;
|
|
15441
|
+
}
|
|
15442
|
+
function continuationState(state) {
|
|
15443
|
+
return { waiting: "\u7B49\u5F85\u68C0\u67E5", running: "\u5DF2\u5524\u9192 \xB7 \u7B49\u5F85\u68C0\u67E5\u7ED3\u679C", completed: "\u5DF2\u5B8C\u6210", blocked: "\u9700\u8981\u5904\u7406", cancelled: "\u5DF2\u53D6\u6D88" }[state];
|
|
15212
15444
|
}
|
|
15213
15445
|
function companionName(companions, id) {
|
|
15214
15446
|
return companions.find((item) => item.id === id)?.name ?? "\u5DF2\u5220\u9664\u4F19\u4F34";
|
|
@@ -15310,7 +15542,7 @@ function CompanionMcpSettings({ companionId, embedded = false, onBusyChange }) {
|
|
|
15310
15542
|
setSelecting(true);
|
|
15311
15543
|
void load2();
|
|
15312
15544
|
}, children: [
|
|
15313
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_dsh_client_ui_primitives18.
|
|
15545
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_dsh_client_ui_primitives18.IconPlusOutlineRegular, { size: 14 }),
|
|
15314
15546
|
"\u9009\u62E9 MCP"
|
|
15315
15547
|
] }), children: [
|
|
15316
15548
|
!selecting && feedback,
|
|
@@ -15400,7 +15632,7 @@ function CompanionAccessPanel({ companionId, onBusyChange }) {
|
|
|
15400
15632
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { children: companion.description || "\u672A\u586B\u5199\u4F19\u4F34\u8BF4\u660E" }),
|
|
15401
15633
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { children: [...abilities, ...companion.enabledSkills.map((skill) => skill.name)].map((item) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("em", { children: item }, item)) })
|
|
15402
15634
|
] }),
|
|
15403
|
-
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "dsh-partner-access-check", "aria-hidden": "true", children: selected && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_dsh_client_ui_primitives19.
|
|
15635
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "dsh-partner-access-check", "aria-hidden": "true", children: selected && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_dsh_client_ui_primitives19.IconCheckOutlineRegular, { size: 15 }) })
|
|
15404
15636
|
] }, companion.id);
|
|
15405
15637
|
}) }),
|
|
15406
15638
|
error && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(WorkspaceNotice, { children: error })
|
|
@@ -15605,7 +15837,7 @@ function CapabilityEditor({ companion, presets, onChanged }) {
|
|
|
15605
15837
|
group.choices.map((choice) => {
|
|
15606
15838
|
const active2 = form.capabilities.includes(choice.id);
|
|
15607
15839
|
const control = /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("button", { type: "button", disabled: saving, className: active2 ? "is-active" : "", "aria-pressed": active2, onClick: () => toggle(choice.id), children: [
|
|
15608
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: active2 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_dsh_client_ui_primitives20.
|
|
15840
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: active2 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_dsh_client_ui_primitives20.IconCheckOutlineRegular, { size: 14 }) }),
|
|
15609
15841
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("strong", { children: choice.title }),
|
|
15610
15842
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("small", { children: choice.detail })
|
|
15611
15843
|
] });
|
|
@@ -15710,7 +15942,7 @@ function IdentityEditorForm({ companion, count, onChanged, onRemoved }) {
|
|
|
15710
15942
|
error && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: "dsh-partner-inline-error", role: "alert", children: error }),
|
|
15711
15943
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "dsh-partner-form-actions", children: [
|
|
15712
15944
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { role: "status", children: saved && /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
15713
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_dsh_client_ui_primitives21.
|
|
15945
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_dsh_client_ui_primitives21.IconCheckOutlineRegular, { size: 14 }),
|
|
15714
15946
|
"\u5DF2\u4FDD\u5B58\uFF0C\u4E0B\u4E00\u8F6E\u5C06\u4F7F\u7528\u65B0\u8EAB\u4EFD"
|
|
15715
15947
|
] }) }),
|
|
15716
15948
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("button", { disabled: busy, children: operation === "save" ? "\u6B63\u5728\u4FDD\u5B58\u2026" : "\u4FDD\u5B58\u8EAB\u4EFD" })
|
|
@@ -15724,7 +15956,7 @@ function IdentityEditorForm({ companion, count, onChanged, onRemoved }) {
|
|
|
15724
15956
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { children: [
|
|
15725
15957
|
confirming && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("button", { type: "button", disabled: busy, className: "is-secondary", onClick: () => setConfirmationId(void 0), children: "\u53D6\u6D88" }),
|
|
15726
15958
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("button", { type: "button", className: confirming ? "is-danger" : "", disabled: busy || count <= 1, onClick: () => confirming ? void remove() : setConfirmationId(companion.id), children: [
|
|
15727
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_dsh_client_ui_primitives21.
|
|
15959
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_dsh_client_ui_primitives21.IconTrashOutlineRegular, { size: 16 }),
|
|
15728
15960
|
operation === "remove" ? "\u6B63\u5728\u5220\u9664\u2026" : removed ? "\u5DF2\u5220\u9664" : confirming ? "\u786E\u8BA4\u5220\u9664" : "\u5220\u9664"
|
|
15729
15961
|
] })
|
|
15730
15962
|
] })
|
|
@@ -16262,7 +16494,7 @@ function CompanionCreateDialog({ close, create }) {
|
|
|
16262
16494
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("footer", { children: [
|
|
16263
16495
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("button", { type: "button", disabled: busy, onClick: close, children: "\u53D6\u6D88" }),
|
|
16264
16496
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("button", { type: "submit", className: "is-primary", disabled: busy, children: [
|
|
16265
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_dsh_client_ui_primitives22.
|
|
16497
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_dsh_client_ui_primitives22.IconPlusOutlineRegular, { size: 14 }),
|
|
16266
16498
|
busy ? "\u6B63\u5728\u521B\u5EFA\u2026" : "\u521B\u5EFA\u4F19\u4F34"
|
|
16267
16499
|
] })
|
|
16268
16500
|
] })
|
|
@@ -16343,19 +16575,19 @@ function createPartnerController(ctx, pluginId, render) {
|
|
|
16343
16575
|
if (prepared.sessionId !== sessionId) throw new Error("\u4F19\u4F34\u4F1A\u8BDD\u6807\u8BC6\u4E0D\u4E00\u81F4");
|
|
16344
16576
|
await waitForClientSession(ctx, sessionId);
|
|
16345
16577
|
controller.close();
|
|
16346
|
-
|
|
16578
|
+
ctx.uiWorkspace.openSession(sessionId);
|
|
16347
16579
|
},
|
|
16348
16580
|
async startSession(companionId) {
|
|
16349
16581
|
const created = await api(`/companions/${encodeURIComponent(companionId)}/session`, { method: "POST" });
|
|
16350
16582
|
await waitForClientSession(ctx, created.sessionId);
|
|
16351
16583
|
controller.close();
|
|
16352
|
-
|
|
16584
|
+
ctx.uiWorkspace.openSession(created.sessionId);
|
|
16353
16585
|
},
|
|
16354
16586
|
async renewSession(routeId) {
|
|
16355
16587
|
const renewed = await api(`/sessions/${encodeURIComponent(routeId)}/renew`, { method: "POST" });
|
|
16356
16588
|
await waitForClientSession(ctx, renewed.sessionId);
|
|
16357
16589
|
controller.close();
|
|
16358
|
-
|
|
16590
|
+
ctx.uiWorkspace.openSession(renewed.sessionId);
|
|
16359
16591
|
},
|
|
16360
16592
|
subscribe(listener) {
|
|
16361
16593
|
listeners3.add(listener);
|
|
@@ -16391,7 +16623,7 @@ function sessions(ctx) {
|
|
|
16391
16623
|
var import_dsh_client_ui_primitives23 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
16392
16624
|
|
|
16393
16625
|
// src/ui/storage-settings.tsx
|
|
16394
|
-
var
|
|
16626
|
+
var import_react50 = require("react");
|
|
16395
16627
|
|
|
16396
16628
|
// src/ui/storage-recovery.ts
|
|
16397
16629
|
var StorageStatusError = class extends Error {
|
|
@@ -16438,17 +16670,183 @@ async function waitForStorage(signal, onWait, options = {}) {
|
|
|
16438
16670
|
throw Error("\u670D\u52A1\u5C1A\u672A\u6062\u590D\uFF0C\u5DF2\u505C\u6B62\u81EA\u52A8\u68C0\u67E5\u3002\u8BF7\u7A0D\u540E\u70B9\u51FB\u300C\u91CD\u65B0\u8FDE\u63A5\u300D\uFF1B\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\u8FC1\u79FB\u3002");
|
|
16439
16671
|
}
|
|
16440
16672
|
|
|
16441
|
-
// src/ui/storage
|
|
16673
|
+
// src/ui/attachment-storage.tsx
|
|
16674
|
+
var import_react49 = require("react");
|
|
16442
16675
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
16676
|
+
var size = (bytes) => `${(bytes / 1048576).toFixed(2)} MiB`;
|
|
16677
|
+
function AttachmentStoragePanel() {
|
|
16678
|
+
const [view, setView] = (0, import_react49.useState)(), [limit, setLimit] = (0, import_react49.useState)("512");
|
|
16679
|
+
const [owner, setOwner] = (0, import_react49.useState)(""), [days, setDays] = (0, import_react49.useState)("0"), [offset, setOffset] = (0, import_react49.useState)(0);
|
|
16680
|
+
const [selected, setSelected] = (0, import_react49.useState)([]), [busy, setBusy] = (0, import_react49.useState)(false), [confirm, setConfirm] = (0, import_react49.useState)(false);
|
|
16681
|
+
const [error, setError] = (0, import_react49.useState)(""), [notice, setNotice] = (0, import_react49.useState)(""), [revision, setRevision] = (0, import_react49.useState)(0);
|
|
16682
|
+
const [expanded, setExpanded] = (0, import_react49.useState)(false);
|
|
16683
|
+
(0, import_react49.useEffect)(() => {
|
|
16684
|
+
const controller = new AbortController();
|
|
16685
|
+
setBusy(true);
|
|
16686
|
+
setSelected([]);
|
|
16687
|
+
setError("");
|
|
16688
|
+
api(`/attachments/storage?${new URLSearchParams({ owner, days, offset: String(offset) })}`, { signal: controller.signal }).then((data) => {
|
|
16689
|
+
setView(data);
|
|
16690
|
+
setLimit(String(data.limitMiB));
|
|
16691
|
+
}).catch((e) => {
|
|
16692
|
+
if (!controller.signal.aborted) setError(errorMessage(e));
|
|
16693
|
+
}).finally(() => {
|
|
16694
|
+
if (!controller.signal.aborted) setBusy(false);
|
|
16695
|
+
});
|
|
16696
|
+
return () => controller.abort();
|
|
16697
|
+
}, [owner, days, offset, revision]);
|
|
16698
|
+
const save = async () => {
|
|
16699
|
+
setBusy(true);
|
|
16700
|
+
setError("");
|
|
16701
|
+
setNotice("");
|
|
16702
|
+
try {
|
|
16703
|
+
await api("/attachments/storage", { method: "PUT", body: JSON.stringify({ limitMiB: Number(limit) }) });
|
|
16704
|
+
setNotice("\u989D\u5EA6\u5DF2\u4FDD\u5B58\uFF0C\u7ACB\u5373\u751F\u6548\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u5220\u9664\u4EFB\u4F55\u6587\u4EF6\u3002");
|
|
16705
|
+
setRevision((v) => v + 1);
|
|
16706
|
+
} catch (e) {
|
|
16707
|
+
setError(errorMessage(e));
|
|
16708
|
+
} finally {
|
|
16709
|
+
setBusy(false);
|
|
16710
|
+
}
|
|
16711
|
+
};
|
|
16712
|
+
const clean = async () => {
|
|
16713
|
+
setBusy(true);
|
|
16714
|
+
setError("");
|
|
16715
|
+
setNotice("");
|
|
16716
|
+
try {
|
|
16717
|
+
const result = await api("/attachments/cleanup", { method: "POST", body: JSON.stringify({ ids: selected, confirm: true }) });
|
|
16718
|
+
setConfirm(false);
|
|
16719
|
+
setNotice(`\u5DF2\u6E05\u7406 ${result.removed} \u4E2A\u526F\u672C\uFF0C\u91CA\u653E ${size(result.freedBytes)}\uFF1B\u8DF3\u8FC7 ${result.skipped} \u4E2A\uFF0C\u5931\u8D25 ${result.failed} \u4E2A\u3002`);
|
|
16720
|
+
setRevision((v) => v + 1);
|
|
16721
|
+
} catch (e) {
|
|
16722
|
+
setError(errorMessage(e));
|
|
16723
|
+
} finally {
|
|
16724
|
+
setBusy(false);
|
|
16725
|
+
}
|
|
16726
|
+
};
|
|
16727
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(WorkspaceBlock, { title: "\u9644\u4EF6\u5B58\u50A8", className: "attachment-storage-block", children: [
|
|
16728
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { id: "partner-attachment-storage", className: "dsh-partner-attachment-storage", "aria-busy": busy, children: [
|
|
16729
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "attachment-storage-overview", children: [
|
|
16730
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "attachment-storage-usage", children: [
|
|
16731
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("strong", { children: view ? `${size(view.usedBytes)} / ${view.limitMiB} MiB` : "\u6B63\u5728\u8BFB\u53D6\u2026" }),
|
|
16732
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("small", { children: view ? `${view.count} \u4E2A\u526F\u672C \xB7 \u5168\u90E8\u4F19\u4F34\u5171\u4EAB` : "\u6B63\u5728\u7EDF\u8BA1\u9644\u4EF6\u5360\u7528" })
|
|
16733
|
+
] }),
|
|
16734
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("form", { onSubmit: (e) => {
|
|
16735
|
+
e.preventDefault();
|
|
16736
|
+
void save();
|
|
16737
|
+
}, children: [
|
|
16738
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("label", { children: [
|
|
16739
|
+
"\u989D\u5EA6",
|
|
16740
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("input", { "aria-label": "\u603B\u989D\u5EA6\uFF08MiB\uFF09", type: "number", min: "64", max: "1048576", step: "1", required: true, value: limit, disabled: busy, onChange: (e) => setLimit(e.target.value) }),
|
|
16741
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { children: "MiB" })
|
|
16742
|
+
] }),
|
|
16743
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { "aria-label": "\u4FDD\u5B58\u989D\u5EA6", disabled: busy || !view || Number(limit) === view.limitMiB, children: "\u4FDD\u5B58" })
|
|
16744
|
+
] }),
|
|
16745
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { type: "button", "aria-expanded": expanded, "aria-controls": "attachment-storage-manager", onClick: () => setExpanded((v) => !v), children: expanded ? "\u6536\u8D77\u660E\u7EC6" : "\u7BA1\u7406\u526F\u672C" })
|
|
16746
|
+
] }),
|
|
16747
|
+
expanded && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { id: "attachment-storage-manager", children: [
|
|
16748
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "attachment-storage-filters", children: [
|
|
16749
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("label", { children: [
|
|
16750
|
+
"\u4F19\u4F34",
|
|
16751
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("select", { value: owner, disabled: busy, onChange: (e) => {
|
|
16752
|
+
setOwner(e.target.value);
|
|
16753
|
+
setOffset(0);
|
|
16754
|
+
}, children: [
|
|
16755
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("option", { value: "", children: "\u5168\u90E8\u4F19\u4F34" }),
|
|
16756
|
+
view?.owners.map((o) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("option", { value: o.id, children: o.name }, o.id))
|
|
16757
|
+
] })
|
|
16758
|
+
] }),
|
|
16759
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("label", { children: [
|
|
16760
|
+
"\u521B\u5EFA\u65F6\u95F4",
|
|
16761
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("select", { value: days, disabled: busy, onChange: (e) => {
|
|
16762
|
+
setDays(e.target.value);
|
|
16763
|
+
setOffset(0);
|
|
16764
|
+
}, children: [
|
|
16765
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("option", { value: "0", children: "\u5168\u90E8\u65F6\u95F4" }),
|
|
16766
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("option", { value: "7", children: "7 \u5929\u4EE5\u524D" }),
|
|
16767
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("option", { value: "30", children: "30 \u5929\u4EE5\u524D" }),
|
|
16768
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("option", { value: "90", children: "90 \u5929\u4EE5\u524D" })
|
|
16769
|
+
] })
|
|
16770
|
+
] }),
|
|
16771
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { disabled: busy, onClick: () => setRevision((v) => v + 1), children: "\u5237\u65B0" })
|
|
16772
|
+
] }),
|
|
16773
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "attachment-storage-selection", children: [
|
|
16774
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { disabled: busy || !view?.items.some((i) => !i.protectedReason), onClick: () => setSelected(selected.length ? [] : view.items.filter((i) => !i.protectedReason).map((i) => i.id)), children: selected.length ? "\u53D6\u6D88\u9009\u62E9" : "\u9009\u62E9\u672C\u9875" }),
|
|
16775
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("small", { children: [
|
|
16776
|
+
"\u53EF\u6E05\u7406 ",
|
|
16777
|
+
size(view?.eligibleBytes ?? 0),
|
|
16778
|
+
" \xB7 \u4F7F\u7528\u4E2D\u7684\u526F\u672C\u53D7\u4FDD\u62A4"
|
|
16779
|
+
] })
|
|
16780
|
+
] }),
|
|
16781
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "attachment-storage-list", children: view?.items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("label", { className: "attachment-storage-row", children: [
|
|
16782
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("input", { type: "checkbox", disabled: busy || !!item.protectedReason, checked: selected.includes(item.id), onChange: (e) => setSelected((ids) => e.target.checked ? [...ids, item.id] : ids.filter((id) => id !== item.id)) }),
|
|
16783
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("span", { children: [
|
|
16784
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("strong", { title: item.name, children: item.name }),
|
|
16785
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("small", { children: [
|
|
16786
|
+
item.companionName,
|
|
16787
|
+
" \xB7 ",
|
|
16788
|
+
size(item.size),
|
|
16789
|
+
" \xB7 ",
|
|
16790
|
+
item.createdAt ? new Date(item.createdAt).toLocaleString() : "\u65F6\u95F4\u672A\u77E5",
|
|
16791
|
+
" \xB7 ",
|
|
16792
|
+
item.protectedReason ?? (item.channel === "sent" ? "\u5DF2\u53D1\u9001" : "\u4F1A\u8BDD\u526F\u672C")
|
|
16793
|
+
] })
|
|
16794
|
+
] })
|
|
16795
|
+
] }, item.id)) }),
|
|
16796
|
+
view && !view.items.length && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { children: "\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684\u526F\u672C\u3002" }),
|
|
16797
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "attachment-storage-filters", children: [
|
|
16798
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { disabled: busy || offset === 0, onClick: () => setOffset(Math.max(0, offset - 30)), children: "\u4E0A\u4E00\u9875" }),
|
|
16799
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("span", { children: [
|
|
16800
|
+
"\u7B2C ",
|
|
16801
|
+
Math.floor(offset / 30) + 1,
|
|
16802
|
+
" \u9875 \xB7 \u5171 ",
|
|
16803
|
+
view?.filteredCount ?? 0,
|
|
16804
|
+
" \u9879"
|
|
16805
|
+
] }),
|
|
16806
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { disabled: busy || !view || offset + 30 >= view.filteredCount, onClick: () => setOffset(offset + 30), children: "\u4E0B\u4E00\u9875" }),
|
|
16807
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("button", { disabled: busy || !selected.length, onClick: () => setConfirm(true), children: [
|
|
16808
|
+
"\u6E05\u7406\u6240\u9009\uFF08",
|
|
16809
|
+
selected.length,
|
|
16810
|
+
"\uFF09"
|
|
16811
|
+
] })
|
|
16812
|
+
] }),
|
|
16813
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("details", { className: "attachment-storage-help", children: [
|
|
16814
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("summary", { children: "\u5B58\u50A8\u4E0E\u6E05\u7406\u8BF4\u660E" }),
|
|
16815
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { children: "\u526F\u672C\u7EDF\u4E00\u5B58\u653E\uFF0C\u539F\u6587\u4EF6\u4E0D\u53D7\u5F71\u54CD\u3002\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406\uFF1B\u964D\u4F4E\u989D\u5EA6\u4E0D\u5220\u9664\u65E7\u526F\u672C\uFF0C\u8D85\u989D\u65F6\u505C\u6B62\u65B0\u589E\u3002\u5355\u6587\u4EF6\u4E0A\u9650 64 MiB\u3002" }),
|
|
16816
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { children: "\u53D1\u9001\u4E2D\u3001\u5931\u8D25\u5F85\u91CD\u8BD5\u3001\u6700\u8FD1 5 \u5206\u949F\u521B\u5EFA\u53CA\u672A\u5B8C\u6210\u4EFB\u52A1/\u9700\u6C42\u5F15\u7528\u7684\u526F\u672C\u4E0D\u80FD\u6E05\u7406\u3002\u6E05\u7406\u540E\u5BF9\u5E94\u5386\u53F2\u4E0B\u8F7D\u94FE\u63A5\u5931\u6548\u3002" }),
|
|
16817
|
+
[...new Set(view?.owners.map((o) => o.directory) ?? [])].map((directory) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("code", { children: directory }, directory))
|
|
16818
|
+
] })
|
|
16819
|
+
] }),
|
|
16820
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { role: "alert", children: error }),
|
|
16821
|
+
notice && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { role: "status", children: notice })
|
|
16822
|
+
] }),
|
|
16823
|
+
confirm && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(WorkspaceDialog, { eyebrow: "\u9644\u4EF6\u7BA1\u7406", title: "\u6E05\u7406\u4EA4\u4ED8\u526F\u672C", detail: `\u5DF2\u9009\u62E9 ${selected.length} \u4E2A\u526F\u672C\u3002\u6B64\u64CD\u4F5C\u4E0D\u53EF\u64A4\u9500\u3002`, close: () => {
|
|
16824
|
+
if (!busy) setConfirm(false);
|
|
16825
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("form", { className: "dsh-partner-feature-form", onSubmit: (event) => {
|
|
16826
|
+
event.preventDefault();
|
|
16827
|
+
if (!busy) void clean();
|
|
16828
|
+
}, children: [
|
|
16829
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "is-wide", children: "\u53EA\u5220\u9664\u4EA4\u4ED8\u526F\u672C\uFF0C\u539F\u59CB\u6587\u4EF6\u4FDD\u6301\u4E0D\u53D8\u3002\u5386\u53F2\u4F1A\u8BDD\u548C\u770B\u677F\u4E2D\u7684\u5BF9\u5E94\u9644\u4EF6\u4E0B\u8F7D\u94FE\u63A5\u5C06\u5931\u6548\u3002\u6267\u884C\u65F6\u4F1A\u518D\u6B21\u68C0\u67E5\u4FDD\u62A4\u72B6\u6001\u3002" }),
|
|
16830
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "is-wide", role: "alert", children: error }),
|
|
16831
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("footer", { children: [
|
|
16832
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { type: "button", disabled: busy, onClick: () => setConfirm(false), children: "\u53D6\u6D88" }),
|
|
16833
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { type: "submit", className: "is-primary", disabled: busy, children: busy ? "\u6E05\u7406\u4E2D\u2026" : "\u786E\u8BA4\u6E05\u7406" })
|
|
16834
|
+
] })
|
|
16835
|
+
] }) })
|
|
16836
|
+
] });
|
|
16837
|
+
}
|
|
16838
|
+
|
|
16839
|
+
// src/ui/storage-settings.tsx
|
|
16840
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
16443
16841
|
function GeneralSettingsPanel() {
|
|
16444
|
-
const [version, setVersion] = (0,
|
|
16445
|
-
const [inspection, setInspection] = (0,
|
|
16446
|
-
const [busy, setBusy] = (0,
|
|
16447
|
-
const [error, setError] = (0,
|
|
16448
|
-
const request = (0,
|
|
16449
|
-
const mounted = (0,
|
|
16450
|
-
const [reconnect, setReconnect] = (0,
|
|
16451
|
-
const [cleanupPending, setCleanupPending] = (0,
|
|
16842
|
+
const [version, setVersion] = (0, import_react50.useState)();
|
|
16843
|
+
const [inspection, setInspection] = (0, import_react50.useState)();
|
|
16844
|
+
const [busy, setBusy] = (0, import_react50.useState)(false), [confirm, setConfirm] = (0, import_react50.useState)(false);
|
|
16845
|
+
const [error, setError] = (0, import_react50.useState)(""), [notice, setNotice] = (0, import_react50.useState)("");
|
|
16846
|
+
const request = (0, import_react50.useRef)();
|
|
16847
|
+
const mounted = (0, import_react50.useRef)(true);
|
|
16848
|
+
const [reconnect, setReconnect] = (0, import_react50.useState)(false);
|
|
16849
|
+
const [cleanupPending, setCleanupPending] = (0, import_react50.useState)(0);
|
|
16452
16850
|
const cleanup = version === 1 && cleanupPending > 0;
|
|
16453
16851
|
const recover = async (expected = pendingStorageRecovery()) => {
|
|
16454
16852
|
request.current?.abort();
|
|
@@ -16479,7 +16877,7 @@ function GeneralSettingsPanel() {
|
|
|
16479
16877
|
if (!controller.signal.aborted) setBusy(false);
|
|
16480
16878
|
}
|
|
16481
16879
|
};
|
|
16482
|
-
(0,
|
|
16880
|
+
(0, import_react50.useEffect)(() => {
|
|
16483
16881
|
mounted.current = true;
|
|
16484
16882
|
void recover();
|
|
16485
16883
|
return () => {
|
|
@@ -16516,16 +16914,17 @@ function GeneralSettingsPanel() {
|
|
|
16516
16914
|
}
|
|
16517
16915
|
if (mounted.current) await recover(expected);
|
|
16518
16916
|
};
|
|
16519
|
-
return /* @__PURE__ */ (0,
|
|
16520
|
-
/* @__PURE__ */ (0,
|
|
16521
|
-
/* @__PURE__ */ (0,
|
|
16522
|
-
|
|
16917
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("section", { className: "dsh-partner-general-settings", "aria-busy": busy, children: [
|
|
16918
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("h2", { children: "\u57FA\u672C\u8BBE\u7F6E" }),
|
|
16919
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(AttachmentStoragePanel, {}),
|
|
16920
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(WorkspaceBlock, { title: "\u5347\u7EA7\u8FC1\u79FB", detail: "\u624B\u52A8\u6574\u7406\u516C\u5171\u6570\u636E\u548C\u6BCF\u4F4D\u4F19\u4F34\u7684\u79C1\u6709\u76EE\u5F55\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6267\u884C\u3002", actions: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("button", { type: "button", disabled: busy, onClick: () => void inspect(), children: busy ? "\u5904\u7406\u4E2D\u2026" : "\u68C0\u67E5\u8FC1\u79FB" }), children: [
|
|
16921
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("p", { children: [
|
|
16523
16922
|
"\u6570\u636E\u5B58\u50A8\u7248\u672C\uFF1A",
|
|
16524
16923
|
version === void 0 ? "\u6B63\u5728\u8BFB\u53D6\u2026" : `v${version}${version === 0 ? " \xB7 \u5F85\u8FC1\u79FB" : " \xB7 \u5DF2\u5347\u7EA7"}`
|
|
16525
16924
|
] }),
|
|
16526
|
-
/* @__PURE__ */ (0,
|
|
16527
|
-
inspection && /* @__PURE__ */ (0,
|
|
16528
|
-
inspection.steps.map((step) => /* @__PURE__ */ (0,
|
|
16925
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { children: "\u5347\u7EA7\u524D\u8BF7\u7ED3\u675F\u4F19\u4F34\u4F1A\u8BDD\u548C\u540E\u53F0\u6267\u884C\u3002\u5B8C\u6574\u5907\u4EFD\u5E76\u6821\u9A8C\u540E\u624D\u6E05\u7406\u5DF2\u8FC1\u79FB\u7684\u65E7\u8DEF\u5F84\uFF0C\u4E0D\u4FEE\u6539\u7528\u6237\u5DE5\u4F5C\u6587\u6863\uFF1B\u670D\u52A1\u91CD\u8F7D\u540E\u81EA\u52A8\u91CD\u65B0\u8FDE\u63A5\u3002" }),
|
|
16926
|
+
inspection && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
|
|
16927
|
+
inspection.steps.map((step) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("p", { children: [
|
|
16529
16928
|
"v",
|
|
16530
16929
|
step.from,
|
|
16531
16930
|
" \u2192 v",
|
|
@@ -16533,79 +16932,79 @@ function GeneralSettingsPanel() {
|
|
|
16533
16932
|
" \xB7 ",
|
|
16534
16933
|
step.title
|
|
16535
16934
|
] }, step.id)),
|
|
16536
|
-
/* @__PURE__ */ (0,
|
|
16537
|
-
/* @__PURE__ */ (0,
|
|
16538
|
-
/* @__PURE__ */ (0,
|
|
16539
|
-
/* @__PURE__ */ (0,
|
|
16540
|
-
/* @__PURE__ */ (0,
|
|
16541
|
-
/* @__PURE__ */ (0,
|
|
16542
|
-
/* @__PURE__ */ (0,
|
|
16543
|
-
/* @__PURE__ */ (0,
|
|
16935
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("details", { children: [
|
|
16936
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("summary", { children: "\u67E5\u770B\u76EE\u5F55\u4E0E\u68C0\u67E5\u8BE6\u60C5" }),
|
|
16937
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "dsh-partner-migration-paths", children: inspection.items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { children: [
|
|
16938
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("strong", { children: item.label }),
|
|
16939
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("code", { children: item.source }),
|
|
16940
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { children: "\u8FC1\u79FB\u81F3" }),
|
|
16941
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("code", { children: item.target }),
|
|
16942
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("small", { children: item.exists ? `${item.files} \u4E2A\u6587\u4EF6 \xB7 ${(item.bytes / 1024 / 1024).toFixed(2)} MB` : "\u5F53\u524D\u65E0\u6587\u4EF6" })
|
|
16544
16943
|
] }, i)) }),
|
|
16545
|
-
inspection.notices.map((text4, i) => /* @__PURE__ */ (0,
|
|
16944
|
+
inspection.notices.map((text4, i) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { children: text4 }, i))
|
|
16546
16945
|
] }),
|
|
16547
|
-
!!inspection.blockers.length && /* @__PURE__ */ (0,
|
|
16548
|
-
/* @__PURE__ */ (0,
|
|
16549
|
-
/* @__PURE__ */ (0,
|
|
16946
|
+
!!inspection.blockers.length && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { role: "alert", children: [
|
|
16947
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { children: "\u4EE5\u4E0B\u95EE\u9898\u9700\u8981\u5148\u5904\u7406\uFF1A" }),
|
|
16948
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("ul", { children: inspection.blockers.map((text4, i) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("li", { children: text4 }, i)) })
|
|
16550
16949
|
] }),
|
|
16551
|
-
inspection.migrationAvailable && /* @__PURE__ */ (0,
|
|
16950
|
+
inspection.migrationAvailable && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("button", { type: "button", className: "is-primary", disabled: busy, onClick: () => setConfirm(true), children: "\u5347\u7EA7\u8FC1\u79FB" })
|
|
16552
16951
|
] }),
|
|
16553
|
-
error && /* @__PURE__ */ (0,
|
|
16554
|
-
notice && /* @__PURE__ */ (0,
|
|
16555
|
-
reconnect && /* @__PURE__ */ (0,
|
|
16556
|
-
cleanup && /* @__PURE__ */ (0,
|
|
16952
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { role: "alert", children: error }),
|
|
16953
|
+
notice && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { role: "status", children: notice }),
|
|
16954
|
+
reconnect && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("button", { type: "button", disabled: busy, onClick: () => void recover(), children: "\u91CD\u65B0\u8FDE\u63A5" }),
|
|
16955
|
+
cleanup && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("button", { type: "button", disabled: busy, onClick: () => setConfirm(true), children: "\u91CD\u8BD5\u6E05\u7406\u65E7\u8DEF\u5F84" })
|
|
16557
16956
|
] }),
|
|
16558
|
-
confirm && /* @__PURE__ */ (0,
|
|
16957
|
+
confirm && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(WorkspaceDialog, { title: cleanup ? "\u786E\u8BA4\u6E05\u7406\u65E7\u8DEF\u5F84" : "\u786E\u8BA4\u5347\u7EA7\u8FC1\u79FB", detail: cleanup ? "\u91CD\u65B0\u6838\u5BF9\u5B8C\u6574\u5907\u4EFD\uFF0C\u53EA\u6E05\u7406\u672A\u53D8\u5316\u7684\u65E7\u6587\u4EF6\uFF0C\u4E0D\u91CD\u65B0\u8FC1\u79FB\u6D3B\u52A8\u6570\u636E\u3002" : "\u516C\u5171\u6570\u636E\u4E0E\u6240\u6709\u4F19\u4F34\u79C1\u6709\u6570\u636E\u5C06\u4E00\u8D77\u8FC1\u79FB\uFF0C\u5168\u90E8\u6821\u9A8C\u540E\u624D\u5207\u6362\u76EE\u5F55\u7248\u672C\u3002", close: () => {
|
|
16559
16958
|
if (!busy) setConfirm(false);
|
|
16560
|
-
}, children: /* @__PURE__ */ (0,
|
|
16959
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("form", { className: "dsh-partner-feature-form", onSubmit: (event) => {
|
|
16561
16960
|
event.preventDefault();
|
|
16562
16961
|
void migrate();
|
|
16563
16962
|
}, children: [
|
|
16564
|
-
/* @__PURE__ */ (0,
|
|
16565
|
-
/* @__PURE__ */ (0,
|
|
16566
|
-
/* @__PURE__ */ (0,
|
|
16567
|
-
/* @__PURE__ */ (0,
|
|
16568
|
-
/* @__PURE__ */ (0,
|
|
16963
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "is-wide", children: "\u5148\u5B8C\u6574\u5907\u4EFD\uFF0C\u7248\u672C\u63D0\u4EA4\u540E\u6E05\u7406\u5DF2\u6838\u9A8C\u7684\u65E7\u8DEF\u5F84\uFF1B\u5386\u53F2\u8BB0\u5FC6\u5907\u4EFD\u4F1A\u539F\u6837\u5F52\u6863\u3002\u5907\u4EFD\u4E0D\u4F1A\u81EA\u52A8\u5220\u9664\u3002\u8FC1\u79FB\u671F\u95F4\u8BF7\u52FF\u7F16\u8F91\u6587\u4EF6\u3001\u4FEE\u6539\u63D2\u4EF6\u914D\u7F6E\u6216\u542F\u52A8\u5176\u4ED6\u5B9E\u4F8B\u3002" }),
|
|
16964
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "is-wide", children: "\u8D26\u53F7\u51ED\u636E\u548C\u5BBF\u4E3B\u4F1A\u8BDD\u4E0D\u642C\u52A8\u3002\u5347\u7EA7\u540E\u4E0D\u8981\u76F4\u63A5\u5B89\u88C5\u4E0D\u652F\u6301\u65B0\u7248\u5B58\u50A8\u7684\u65E7\u63D2\u4EF6\u3002" }),
|
|
16965
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("footer", { children: [
|
|
16966
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("button", { type: "button", disabled: busy, onClick: () => setConfirm(false), children: "\u53D6\u6D88" }),
|
|
16967
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("button", { type: "submit", className: "is-primary", disabled: busy, children: busy ? "\u6B63\u5728\u5904\u7406\uFF0C\u8BF7\u52FF\u5173\u95ED\u2026" : cleanup ? "\u786E\u8BA4\u6E05\u7406\u5DF2\u5907\u4EFD\u7684\u65E7\u8DEF\u5F84" : "\u786E\u8BA4\u8FC1\u79FB\u76EE\u5F55\u548C\u6570\u636E" })
|
|
16569
16968
|
] })
|
|
16570
16969
|
] }) })
|
|
16571
16970
|
] });
|
|
16572
16971
|
}
|
|
16573
16972
|
|
|
16574
16973
|
// src/ui/workspace-navigation.tsx
|
|
16575
|
-
var
|
|
16974
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
16576
16975
|
var workspaceGroups = [
|
|
16577
|
-
{ id: "features", label: "\u529F\u80FD", detail: "\u80FD\u529B\u3001\u534F\u4F5C\u4E0E\u8BA1\u5212", icon: import_dsh_client_ui_primitives23.
|
|
16578
|
-
{ id: "skills", label: "Skill \u5E02\u573A", icon: import_dsh_client_ui_primitives23.
|
|
16579
|
-
{ id: "mcp", label: "MCP \u670D\u52A1", icon: import_dsh_client_ui_primitives23.
|
|
16580
|
-
{ id: "board", label: "\u4EFB\u52A1\u770B\u677F", icon: import_dsh_client_ui_primitives23.
|
|
16581
|
-
{ id: "schedules", label: "\u5B9A\u65F6\u4EFB\u52A1", icon: import_dsh_client_ui_primitives23.
|
|
16976
|
+
{ id: "features", label: "\u529F\u80FD", detail: "\u80FD\u529B\u3001\u534F\u4F5C\u4E0E\u8BA1\u5212", icon: import_dsh_client_ui_primitives23.IconBrowseOutlineRegular, pages: [
|
|
16977
|
+
{ id: "skills", label: "Skill \u5E02\u573A", icon: import_dsh_client_ui_primitives23.IconBrowseOutlineRegular },
|
|
16978
|
+
{ id: "mcp", label: "MCP \u670D\u52A1", icon: import_dsh_client_ui_primitives23.IconBrowseOutlineRegular },
|
|
16979
|
+
{ id: "board", label: "\u4EFB\u52A1\u770B\u677F", icon: import_dsh_client_ui_primitives23.IconListPenOutlineRegular },
|
|
16980
|
+
{ id: "schedules", label: "\u5B9A\u65F6\u4EFB\u52A1", icon: import_dsh_client_ui_primitives23.IconPlayOutlineRegular }
|
|
16582
16981
|
] },
|
|
16583
|
-
{ id: "settings", label: "\u8BBE\u7F6E", detail: "\u57FA\u672C\u8BBE\u7F6E\u4E0E\u5361\u7247\u5916\u89C2", icon: import_dsh_client_ui_primitives23.
|
|
16584
|
-
{ id: "general", label: "\u57FA\u672C\u8BBE\u7F6E", icon: import_dsh_client_ui_primitives23.
|
|
16585
|
-
{ id: "pendant", label: "\u5361\u7247\u8BBE\u7F6E", icon: import_dsh_client_ui_primitives23.
|
|
16982
|
+
{ id: "settings", label: "\u8BBE\u7F6E", detail: "\u57FA\u672C\u8BBE\u7F6E\u4E0E\u5361\u7247\u5916\u89C2", icon: import_dsh_client_ui_primitives23.IconEditOutlineRegular, pages: [
|
|
16983
|
+
{ id: "general", label: "\u57FA\u672C\u8BBE\u7F6E", icon: import_dsh_client_ui_primitives23.IconEditOutlineRegular },
|
|
16984
|
+
{ id: "pendant", label: "\u5361\u7247\u8BBE\u7F6E", icon: import_dsh_client_ui_primitives23.IconEditOutlineRegular }
|
|
16586
16985
|
] }
|
|
16587
16986
|
];
|
|
16588
16987
|
var workspaceGroup = (page) => workspaceGroups.find((group) => group.pages.some((item) => item.id === page));
|
|
16589
16988
|
function WorkspaceGroupLinks({ view, open, compact = false }) {
|
|
16590
16989
|
const active2 = workspaceGroup(view);
|
|
16591
|
-
return /* @__PURE__ */ (0,
|
|
16990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_jsx_runtime46.Fragment, { children: workspaceGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("button", { type: "button", className: active2?.id === group.id ? "is-active" : "", "aria-current": active2?.id === group.id ? "page" : void 0, onClick: () => {
|
|
16592
16991
|
if (active2?.id !== group.id) open(group.pages[0].id);
|
|
16593
16992
|
}, children: [
|
|
16594
|
-
/* @__PURE__ */ (0,
|
|
16595
|
-
compact ? /* @__PURE__ */ (0,
|
|
16596
|
-
/* @__PURE__ */ (0,
|
|
16597
|
-
/* @__PURE__ */ (0,
|
|
16993
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(group.icon, { size: 16 }) }),
|
|
16994
|
+
compact ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: group.label }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
|
|
16995
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("strong", { children: group.label }),
|
|
16996
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("small", { children: group.detail })
|
|
16598
16997
|
] })
|
|
16599
16998
|
] }, group.id)) });
|
|
16600
16999
|
}
|
|
16601
17000
|
function WorkspaceGroupTabs({ view, open }) {
|
|
16602
17001
|
const group = workspaceGroup(view);
|
|
16603
17002
|
if (!group) return null;
|
|
16604
|
-
return /* @__PURE__ */ (0,
|
|
17003
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("nav", { className: "dsh-partner-tabs dsh-partner-group-tabs", "aria-label": `${group.label}\u6807\u7B7E\u9875`, children: group.pages.map((page) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TabButton, { active: view === page.id, onClick: () => open(page.id), icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(page.icon, { size: 16 }), children: page.label }, page.id)) });
|
|
16605
17004
|
}
|
|
16606
17005
|
|
|
16607
17006
|
// src/client.tsx
|
|
16608
|
-
var
|
|
17007
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
16609
17008
|
var PLUGIN_ID = "@lemoncat7/dsh-partner";
|
|
16610
17009
|
var STYLE_ID = `${PLUGIN_ID}/client`;
|
|
16611
17010
|
var cssText = `${client_default}
|
|
@@ -16620,29 +17019,29 @@ ${identity_editor_default}
|
|
|
16620
17019
|
${form_surface_default}
|
|
16621
17020
|
${mcp_default}`;
|
|
16622
17021
|
var WORKSPACE_PAGES = /* @__PURE__ */ new Set(["skills", "mcp", "board", "schedules", "pendant", "general"]);
|
|
16623
|
-
var inject = ["slots", "layout", "sessions"];
|
|
17022
|
+
var inject = ["slots", "layout", "sessions", "uiWorkspace"];
|
|
16624
17023
|
function apply(ctx) {
|
|
16625
17024
|
ctx.effect(installStyles, "dsh-partner: styles");
|
|
16626
|
-
const controller = createPartnerController(ctx, PLUGIN_ID, (props, current2) => /* @__PURE__ */ (0,
|
|
17025
|
+
const controller = createPartnerController(ctx, PLUGIN_ID, (props, current2) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PartnerWorkspace, { ...props, controller: current2 }));
|
|
16627
17026
|
if (pendingStorageRecovery() !== void 0) controller.open(void 0, { page: "general" });
|
|
16628
|
-
ctx.slots.inject("shell.overlay", () => ctx.slots.register({ name: "shell.overlay", id: "partner-pendant", order: 30 }, () => /* @__PURE__ */ (0,
|
|
17027
|
+
ctx.slots.inject("shell.overlay", () => ctx.slots.register({ name: "shell.overlay", id: "partner-pendant", order: 30 }, () => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PartnerPendant, { controller })));
|
|
16629
17028
|
ctx.effect(() => observePluginWorkspace(PLUGIN_ID, controller.close), "dsh-partner: exclusive workspace");
|
|
16630
17029
|
ctx.effect(() => () => controller.close(), "dsh-partner: workspace lifecycle");
|
|
16631
17030
|
ctx.slots.inject("sidebar.footer.action", () => ctx.slots.register({
|
|
16632
17031
|
name: "sidebar.footer.action",
|
|
16633
17032
|
id: "partner",
|
|
16634
17033
|
order: -120
|
|
16635
|
-
}, (props) => /* @__PURE__ */ (0,
|
|
17034
|
+
}, (props) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PartnerSidebar, { ...props, controller, collapse: () => ctx.layout.toggleSidebar() })));
|
|
16636
17035
|
}
|
|
16637
17036
|
function PartnerSidebar(props) {
|
|
16638
|
-
const ref = (0,
|
|
17037
|
+
const ref = (0, import_react51.useRef)(null);
|
|
16639
17038
|
useWorkspaceTopAnchor(ref);
|
|
16640
|
-
const [open, setOpen] = (0,
|
|
16641
|
-
const [snapshot, setSnapshot] = (0,
|
|
17039
|
+
const [open, setOpen] = (0, import_react51.useState)(true);
|
|
17040
|
+
const [snapshot, setSnapshot] = (0, import_react51.useState)();
|
|
16642
17041
|
useChannelStatus(setSnapshot);
|
|
16643
|
-
const [, update] = (0,
|
|
16644
|
-
(0,
|
|
16645
|
-
(0,
|
|
17042
|
+
const [, update] = (0, import_react51.useState)(0);
|
|
17043
|
+
(0, import_react51.useEffect)(() => props.controller.subscribe(() => update((value) => value + 1)), [props.controller]);
|
|
17044
|
+
(0, import_react51.useEffect)(() => {
|
|
16646
17045
|
void loadPartner().then(setSnapshot).catch(() => {
|
|
16647
17046
|
});
|
|
16648
17047
|
}, [props.controller.isOpen()]);
|
|
@@ -16650,35 +17049,35 @@ function PartnerSidebar(props) {
|
|
|
16650
17049
|
props.controller.open(id);
|
|
16651
17050
|
if (props.wide && window.matchMedia("(max-width: 820px)").matches) props.collapse();
|
|
16652
17051
|
};
|
|
16653
|
-
if (!props.wide) return /* @__PURE__ */ (0,
|
|
16654
|
-
return /* @__PURE__ */ (0,
|
|
16655
|
-
/* @__PURE__ */ (0,
|
|
16656
|
-
/* @__PURE__ */ (0,
|
|
17052
|
+
if (!props.wide) return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("section", { ref, className: "dsh-partner-sidebar is-rail", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", className: `dsh-partner-rail${props.controller.isOpen() ? " is-active" : ""}`, title: "\u4F19\u4F34", onClick: () => props.controller.toggle(), children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconAgentPresetOutlineRegular, { size: 18 }) }) });
|
|
17053
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("section", { ref, className: "dsh-partner-sidebar", children: [
|
|
17054
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "dsh-partner-sidebar-heading", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("button", { type: "button", className: "dsh-partner-sidebar-title", "aria-expanded": open, onClick: () => setOpen((value) => !value), children: [
|
|
17055
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { "data-open": open, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconChevronDownOutlineRegular, { size: 14 }) }),
|
|
16657
17056
|
"\u4F19\u4F34"
|
|
16658
17057
|
] }) }),
|
|
16659
|
-
/* @__PURE__ */ (0,
|
|
16660
|
-
/* @__PURE__ */ (0,
|
|
16661
|
-
/* @__PURE__ */ (0,
|
|
16662
|
-
/* @__PURE__ */ (0,
|
|
16663
|
-
/* @__PURE__ */ (0,
|
|
17058
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: `dsh-partner-sidebar-list${open ? " is-open" : ""}`, "aria-hidden": !open, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "dsh-partner-sidebar-list-inner", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("button", { type: "button", tabIndex: open ? 0 : -1, className: `dsh-partner-sidebar-row${props.controller.isOpen() ? " is-active" : ""}`, onClick: () => launch(), children: [
|
|
17059
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "dsh-partner-sidebar-symbol", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconAgentPresetOutlineRegular, { size: 16 }) }),
|
|
17060
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17061
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: "\u4F19\u4F34\u9762\u677F" }),
|
|
17062
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: snapshot ? `${snapshot.companions.length} \u4F4D\u4F19\u4F34 \xB7 ${snapshot.channels.filter((item) => item.runtimeStatus === "running").length} \u4E2A\u6E20\u9053\u5728\u7EBF` : "\u8EAB\u4EFD\u3001\u80FD\u529B\u4E0E\u6E20\u9053" })
|
|
16664
17063
|
] }),
|
|
16665
|
-
/* @__PURE__ */ (0,
|
|
17064
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("i", { className: snapshot?.channels.some((item) => item.runtimeStatus === "running") ? "is-online" : "" })
|
|
16666
17065
|
] }) }) })
|
|
16667
17066
|
] });
|
|
16668
17067
|
}
|
|
16669
17068
|
function PartnerWorkspace({ controller }) {
|
|
16670
|
-
const [snapshot, setSnapshot] = (0,
|
|
17069
|
+
const [snapshot, setSnapshot] = (0, import_react51.useState)();
|
|
16671
17070
|
useChannelStatus(setSnapshot);
|
|
16672
|
-
const [selectedId, setSelectedId] = (0,
|
|
16673
|
-
const [view, setView] = (0,
|
|
16674
|
-
const [requestedDestination, setRequestedDestination] = (0,
|
|
16675
|
-
const [error, setError] = (0,
|
|
16676
|
-
const [loading, setLoading] = (0,
|
|
16677
|
-
const [creatingCompanion, setCreatingCompanion] = (0,
|
|
16678
|
-
const [notice, setNotice] = (0,
|
|
16679
|
-
const selectionRef = (0,
|
|
17071
|
+
const [selectedId, setSelectedId] = (0, import_react51.useState)(controller.selected());
|
|
17072
|
+
const [view, setView] = (0, import_react51.useState)(controller.destination()?.page ?? "home");
|
|
17073
|
+
const [requestedDestination, setRequestedDestination] = (0, import_react51.useState)(controller.destination());
|
|
17074
|
+
const [error, setError] = (0, import_react51.useState)();
|
|
17075
|
+
const [loading, setLoading] = (0, import_react51.useState)(true);
|
|
17076
|
+
const [creatingCompanion, setCreatingCompanion] = (0, import_react51.useState)(false);
|
|
17077
|
+
const [notice, setNotice] = (0, import_react51.useState)();
|
|
17078
|
+
const selectionRef = (0, import_react51.useRef)({ selectedId, companions: snapshot?.companions });
|
|
16680
17079
|
selectionRef.current = { selectedId, companions: snapshot?.companions };
|
|
16681
|
-
const refresh = (0,
|
|
17080
|
+
const refresh = (0, import_react51.useCallback)(async (throwOnError = false) => {
|
|
16682
17081
|
try {
|
|
16683
17082
|
const next = await loadPartner();
|
|
16684
17083
|
setSnapshot(next);
|
|
@@ -16691,10 +17090,10 @@ function PartnerWorkspace({ controller }) {
|
|
|
16691
17090
|
setLoading(false);
|
|
16692
17091
|
}
|
|
16693
17092
|
}, []);
|
|
16694
|
-
(0,
|
|
17093
|
+
(0, import_react51.useEffect)(() => {
|
|
16695
17094
|
void refresh();
|
|
16696
17095
|
}, [refresh]);
|
|
16697
|
-
(0,
|
|
17096
|
+
(0, import_react51.useEffect)(() => controller.subscribe(() => {
|
|
16698
17097
|
const next = controller.selected();
|
|
16699
17098
|
if (next) setSelectedId(next);
|
|
16700
17099
|
const destination = controller.destination();
|
|
@@ -16763,18 +17162,18 @@ function PartnerWorkspace({ controller }) {
|
|
|
16763
17162
|
setSelectedId(id);
|
|
16764
17163
|
setView("home");
|
|
16765
17164
|
};
|
|
16766
|
-
return /* @__PURE__ */ (0,
|
|
16767
|
-
creatingCompanion && /* @__PURE__ */ (0,
|
|
16768
|
-
/* @__PURE__ */ (0,
|
|
16769
|
-
/* @__PURE__ */ (0,
|
|
16770
|
-
/* @__PURE__ */ (0,
|
|
16771
|
-
/* @__PURE__ */ (0,
|
|
16772
|
-
/* @__PURE__ */ (0,
|
|
16773
|
-
/* @__PURE__ */ (0,
|
|
16774
|
-
/* @__PURE__ */ (0,
|
|
17165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("main", { className: "dsh-partner-workspace", children: [
|
|
17166
|
+
creatingCompanion && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(CompanionCreateDialog, { close: () => setCreatingCompanion(false), create }),
|
|
17167
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("header", { className: "dsh-partner-topbar", children: [
|
|
17168
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-topbar-brand", children: [
|
|
17169
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", "data-xiaohei-workspace-close": true, onClick: controller.close, "aria-label": "\u8FD4\u56DE\u4F1A\u8BDD", title: "\u8FD4\u56DE\u4F1A\u8BDD", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconChevronLeftOutlineRegular, { size: 15 }) }),
|
|
17170
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconAgentPresetOutlineRegular, { size: 18 }),
|
|
17171
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17172
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: "\u4F19\u4F34" }),
|
|
17173
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "\u957F\u671F\u8EAB\u4EFD\u4E0E\u6D88\u606F\u6E20\u9053" })
|
|
16775
17174
|
] })
|
|
16776
17175
|
] }),
|
|
16777
|
-
/* @__PURE__ */ (0,
|
|
17176
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
16778
17177
|
MobileWorkspaceControls,
|
|
16779
17178
|
{
|
|
16780
17179
|
companions: snapshot?.companions ?? [],
|
|
@@ -16786,87 +17185,87 @@ function PartnerWorkspace({ controller }) {
|
|
|
16786
17185
|
}
|
|
16787
17186
|
)
|
|
16788
17187
|
] }),
|
|
16789
|
-
/* @__PURE__ */ (0,
|
|
16790
|
-
/* @__PURE__ */ (0,
|
|
16791
|
-
/* @__PURE__ */ (0,
|
|
16792
|
-
/* @__PURE__ */ (0,
|
|
16793
|
-
/* @__PURE__ */ (0,
|
|
16794
|
-
/* @__PURE__ */ (0,
|
|
17188
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-grid", children: [
|
|
17189
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("aside", { className: "dsh-partner-roster", children: [
|
|
17190
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-roster-title", children: [
|
|
17191
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17192
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "COMPANIONS" }),
|
|
17193
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: "\u4F19\u4F34\u540D\u518C" })
|
|
16795
17194
|
] }),
|
|
16796
|
-
/* @__PURE__ */ (0,
|
|
17195
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", onClick: () => setCreatingCompanion(true), "aria-label": "\u65B0\u5EFA\u4F19\u4F34", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconPlusOutlineRegular, { size: 16 }) })
|
|
16797
17196
|
] }),
|
|
16798
|
-
/* @__PURE__ */ (0,
|
|
17197
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "dsh-partner-roster-list", children: snapshot?.companions.map((companion) => {
|
|
16799
17198
|
const channel = snapshot.channels.find((item) => item.companionId === companion.id);
|
|
16800
|
-
return /* @__PURE__ */ (0,
|
|
16801
|
-
/* @__PURE__ */ (0,
|
|
16802
|
-
/* @__PURE__ */ (0,
|
|
16803
|
-
/* @__PURE__ */ (0,
|
|
16804
|
-
/* @__PURE__ */ (0,
|
|
17199
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("button", { type: "button", className: !workspacePage && selectedId === companion.id ? "is-active" : "", onClick: () => openCompanion(companion.id), children: [
|
|
17200
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Avatar, { name: companion.name }),
|
|
17201
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17202
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: companion.name }),
|
|
17203
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: companion.role })
|
|
16805
17204
|
] }),
|
|
16806
|
-
/* @__PURE__ */ (0,
|
|
17205
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("i", { className: channel?.runtimeStatus === "running" ? "is-online" : "", title: channel ? channel.runtimeStatus : "\u672A\u8FDE\u63A5\u6E20\u9053" })
|
|
16807
17206
|
] }, companion.id);
|
|
16808
17207
|
}) }),
|
|
16809
|
-
/* @__PURE__ */ (0,
|
|
16810
|
-
/* @__PURE__ */ (0,
|
|
16811
|
-
/* @__PURE__ */ (0,
|
|
16812
|
-
/* @__PURE__ */ (0,
|
|
16813
|
-
/* @__PURE__ */ (0,
|
|
16814
|
-
/* @__PURE__ */ (0,
|
|
17208
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("nav", { className: "dsh-partner-workspace-nav", "aria-label": "\u4F19\u4F34\u5DE5\u4F5C\u533A", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(WorkspaceGroupLinks, { view, open: setView }) }),
|
|
17209
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-roster-note", children: [
|
|
17210
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconLinkOutlineRegular, { size: 16 }),
|
|
17211
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17212
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: "\u8EAB\u4EFD\u4E0E\u6E20\u9053\u5206\u79BB" }),
|
|
17213
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "\u6E20\u9053\u53EA\u8D1F\u8D23\u6536\u53D1\uFF0C\u6743\u9650\u4ECD\u7531 DSH \u5DE5\u5177\u51B3\u5B9A\u3002" })
|
|
16815
17214
|
] })
|
|
16816
17215
|
] })
|
|
16817
17216
|
] }),
|
|
16818
|
-
/* @__PURE__ */ (0,
|
|
16819
|
-
loading ? /* @__PURE__ */ (0,
|
|
16820
|
-
/* @__PURE__ */ (0,
|
|
16821
|
-
/* @__PURE__ */ (0,
|
|
16822
|
-
/* @__PURE__ */ (0,
|
|
16823
|
-
view === "skills" && /* @__PURE__ */ (0,
|
|
16824
|
-
view === "mcp" && /* @__PURE__ */ (0,
|
|
16825
|
-
view === "board" && /* @__PURE__ */ (0,
|
|
16826
|
-
view === "schedules" && /* @__PURE__ */ (0,
|
|
16827
|
-
view === "pendant" && /* @__PURE__ */ (0,
|
|
16828
|
-
view === "general" && /* @__PURE__ */ (0,
|
|
17217
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("section", { className: `dsh-partner-stage${workspacePage ? " is-workspace-page" : ""}`, children: [
|
|
17218
|
+
loading ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ContentState, { title: "\u6B63\u5728\u8BFB\u53D6\u4F19\u4F34\u2026" }) : workspacePage ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
|
|
17219
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "dsh-partner-group-heading", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("h1", { children: workspaceGroup(view)?.label }) }),
|
|
17220
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(WorkspaceGroupTabs, { view, open: setView }),
|
|
17221
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-stage-scroll is-workspace-page", children: [
|
|
17222
|
+
view === "skills" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SkillsPanel, {}),
|
|
17223
|
+
view === "mcp" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(McpPanel, {}),
|
|
17224
|
+
view === "board" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(RequirementBoard, { initialTaskId: requestedDestination?.taskId, openRequest: requestedDestination }),
|
|
17225
|
+
view === "schedules" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SchedulePanel, { companions: snapshot?.companions ?? [] }),
|
|
17226
|
+
view === "pendant" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PendantSettingsPanel, {}),
|
|
17227
|
+
view === "general" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(GeneralSettingsPanel, {})
|
|
16829
17228
|
] })
|
|
16830
|
-
] }) : selected === void 0 ? /* @__PURE__ */ (0,
|
|
16831
|
-
/* @__PURE__ */ (0,
|
|
16832
|
-
/* @__PURE__ */ (0,
|
|
16833
|
-
/* @__PURE__ */ (0,
|
|
16834
|
-
/* @__PURE__ */ (0,
|
|
16835
|
-
/* @__PURE__ */ (0,
|
|
16836
|
-
/* @__PURE__ */ (0,
|
|
17229
|
+
] }) : selected === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ContentState, { title: "\u521B\u5EFA\u7B2C\u4E00\u4E2A\u4F19\u4F34", detail: "\u4F19\u4F34\u4F1A\u4FDD\u5B58\u72EC\u7ACB\u8EAB\u4EFD\u3001\u80FD\u529B\u548C\u5FAE\u4FE1\u4F1A\u8BDD\u3002", action: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { onClick: () => setCreatingCompanion(true), children: "\u65B0\u5EFA\u4F19\u4F34" }) }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
|
|
17230
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-identity", children: [
|
|
17231
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Avatar, { name: selected.name }),
|
|
17232
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17233
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "ACTIVE COMPANION" }),
|
|
17234
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("h1", { children: selected.name }),
|
|
17235
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: selected.description || selected.role })
|
|
16837
17236
|
] }),
|
|
16838
|
-
/* @__PURE__ */ (0,
|
|
17237
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ChannelStatus, { channel: snapshot?.channels.find((item) => item.companionId === selected.id) })
|
|
16839
17238
|
] }),
|
|
16840
|
-
/* @__PURE__ */ (0,
|
|
16841
|
-
/* @__PURE__ */ (0,
|
|
16842
|
-
/* @__PURE__ */ (0,
|
|
16843
|
-
/* @__PURE__ */ (0,
|
|
16844
|
-
/* @__PURE__ */ (0,
|
|
16845
|
-
/* @__PURE__ */ (0,
|
|
16846
|
-
/* @__PURE__ */ (0,
|
|
17239
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("nav", { className: "dsh-partner-tabs", "aria-label": "\u4F19\u4F34\u914D\u7F6E", children: [
|
|
17240
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabButton, { active: view === "home", onClick: () => setView("home"), icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconAgentPresetOutlineRegular, { size: 16 }), children: "\u603B\u89C8" }),
|
|
17241
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabButton, { active: view === "identity", onClick: () => setView("identity"), icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconEditOutlineRegular, { size: 16 }), children: "\u8EAB\u4EFD" }),
|
|
17242
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabButton, { active: view === "capabilities", onClick: () => setView("capabilities"), icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconAgentPresetOutlineRegular, { size: 16 }), children: "\u80FD\u529B" }),
|
|
17243
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabButton, { active: view === "weixin", onClick: () => setView("weixin"), icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconLinkOutlineRegular, { size: 16 }), children: "\u6E20\u9053" }),
|
|
17244
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabButton, { active: view === "memory", onClick: () => setView("memory"), icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconDataOutlineRegular, { size: 16 }), children: "\u8BB0\u5FC6" }),
|
|
17245
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TabButton, { active: view === "concerns", onClick: () => setView("concerns"), icon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconBrowseOutlineRegular, { size: 16 }), children: "\u6301\u7EED\u5173\u6CE8" })
|
|
16847
17246
|
] }),
|
|
16848
|
-
/* @__PURE__ */ (0,
|
|
16849
|
-
notice && /* @__PURE__ */ (0,
|
|
16850
|
-
view === "home" && /* @__PURE__ */ (0,
|
|
16851
|
-
view === "identity" && /* @__PURE__ */ (0,
|
|
16852
|
-
view === "capabilities" && /* @__PURE__ */ (0,
|
|
16853
|
-
view === "weixin" && /* @__PURE__ */ (0,
|
|
16854
|
-
view === "memory" && /* @__PURE__ */ (0,
|
|
16855
|
-
view === "concerns" && /* @__PURE__ */ (0,
|
|
17247
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-stage-scroll", children: [
|
|
17248
|
+
notice && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "dsh-partner-inline-notice", role: "status", children: notice }),
|
|
17249
|
+
view === "home" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(HomePanel, { companion: selected, snapshot, navigate: setView, openSession, startSession, renewSession }),
|
|
17250
|
+
view === "identity" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(IdentityEditor, { companion: selected, count: snapshot?.companions.length ?? 1, onChanged: () => refresh(true), onRemoved: companionRemoved }),
|
|
17251
|
+
view === "capabilities" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(CapabilityEditor, { companion: selected, presets: snapshot?.presets ?? [], onChanged: () => refresh(true) }, selected.id),
|
|
17252
|
+
view === "weixin" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ChannelsPanel, { companion: selected, snapshot, onChanged: refresh, weixin: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(WeixinPanel, { companion: selected, snapshot, onChanged: refresh }) }, selected.id),
|
|
17253
|
+
view === "memory" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(MemoryPanel, { companion: selected, snapshot, openSession, startSession, renewSession, onChanged: refresh }, selected.id),
|
|
17254
|
+
view === "concerns" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ConcernPanel, { companion: selected, snapshot, onChanged: refresh }, selected.id)
|
|
16856
17255
|
] })
|
|
16857
17256
|
] }),
|
|
16858
|
-
error && /* @__PURE__ */ (0,
|
|
17257
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "dsh-partner-error", role: "alert", children: error })
|
|
16859
17258
|
] })
|
|
16860
17259
|
] })
|
|
16861
17260
|
] });
|
|
16862
17261
|
}
|
|
16863
17262
|
function MobileWorkspaceControls({ companions, selectedId, view, openCompanion, openPage, createCompanion }) {
|
|
16864
|
-
return /* @__PURE__ */ (0,
|
|
16865
|
-
/* @__PURE__ */ (0,
|
|
16866
|
-
/* @__PURE__ */ (0,
|
|
16867
|
-
/* @__PURE__ */ (0,
|
|
17263
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-mobile-controls", children: [
|
|
17264
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-mobile-companion-row", children: [
|
|
17265
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(CompanionPicker, { companions, selectedId, onChange: openCompanion }),
|
|
17266
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", className: "dsh-partner-mobile-create", onClick: createCompanion, "aria-label": "\u65B0\u5EFA\u4F19\u4F34", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconPlusOutlineRegular, { size: 17 }) })
|
|
16868
17267
|
] }),
|
|
16869
|
-
/* @__PURE__ */ (0,
|
|
17268
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("nav", { className: "dsh-partner-mobile-workspace-nav", "aria-label": "\u4F19\u4F34\u5DE5\u4F5C\u533A\u5FEB\u6377\u5165\u53E3", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(WorkspaceGroupLinks, { view, open: openPage, compact: true }) })
|
|
16870
17269
|
] });
|
|
16871
17270
|
}
|
|
16872
17271
|
function HomePanel({ companion, snapshot, navigate, openSession, startSession, renewSession }) {
|
|
@@ -16877,77 +17276,77 @@ function HomePanel({ companion, snapshot, navigate, openSession, startSession, r
|
|
|
16877
17276
|
const approved = channel ? snapshot.pairings.filter((item) => item.channelId === channel.id && item.status === "approved").length : 0;
|
|
16878
17277
|
const capabilities = companion.capabilities.map((item) => CAPABILITY_LABELS[item]);
|
|
16879
17278
|
const online = channel?.runtimeStatus === "running";
|
|
16880
|
-
return /* @__PURE__ */ (0,
|
|
16881
|
-
/* @__PURE__ */ (0,
|
|
16882
|
-
/* @__PURE__ */ (0,
|
|
16883
|
-
/* @__PURE__ */ (0,
|
|
16884
|
-
/* @__PURE__ */ (0,
|
|
17279
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-home", children: [
|
|
17280
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("header", { className: "dsh-partner-home-heading", children: [
|
|
17281
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17282
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "\u5DE5\u4F5C\u53F0" }),
|
|
17283
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("h2", { children: online ? `${companion.name} \u6B63\u5728\u6E20\u9053\u5F85\u547D` : `${companion.name} \u5DF2\u51C6\u5907\u5C31\u7EEA` })
|
|
16885
17284
|
] }),
|
|
16886
|
-
/* @__PURE__ */ (0,
|
|
17285
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: online ? "\u6D88\u606F\u3001\u6388\u6743\u4E0E\u4E0A\u4E0B\u6587\u8FB9\u754C\u90FD\u5728\u8FD9\u91CC\u6C47\u603B\u3002" : "\u4F19\u4F34\u8EAB\u4EFD\u3001\u4F1A\u8BDD\u4E0E\u80FD\u529B\u5DF2\u7ECF\u51C6\u5907\u5B8C\u6210\u3002" })
|
|
16887
17286
|
] }),
|
|
16888
|
-
/* @__PURE__ */ (0,
|
|
16889
|
-
/* @__PURE__ */ (0,
|
|
16890
|
-
/* @__PURE__ */ (0,
|
|
16891
|
-
/* @__PURE__ */ (0,
|
|
16892
|
-
/* @__PURE__ */ (0,
|
|
17287
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("section", { className: `dsh-partner-home-channel${online ? " is-online" : ""}`, children: [
|
|
17288
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-home-route", "aria-hidden": "true", children: [
|
|
17289
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Avatar, { name: companion.name }),
|
|
17290
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "dsh-partner-route-line", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("i", {}) }),
|
|
17291
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "dsh-partner-route-weixin", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(WeixinGlyph, { large: true }) })
|
|
16893
17292
|
] }),
|
|
16894
|
-
/* @__PURE__ */ (0,
|
|
16895
|
-
/* @__PURE__ */ (0,
|
|
16896
|
-
/* @__PURE__ */ (0,
|
|
17293
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-home-channel-copy", children: [
|
|
17294
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { className: "dsh-partner-home-kicker", children: [
|
|
17295
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("i", {}),
|
|
16897
17296
|
"\u6D88\u606F\u6E20\u9053 \xB7 ",
|
|
16898
17297
|
channel?.platform === "matrix" ? "Matrix" : channel?.platform === "mattermost" ? "Mattermost" : "\u5FAE\u4FE1"
|
|
16899
17298
|
] }),
|
|
16900
|
-
/* @__PURE__ */ (0,
|
|
16901
|
-
/* @__PURE__ */ (0,
|
|
16902
|
-
/* @__PURE__ */ (0,
|
|
16903
|
-
/* @__PURE__ */ (0,
|
|
16904
|
-
/* @__PURE__ */ (0,
|
|
17299
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("h3", { children: !channel ? "\u7B49\u5F85\u626B\u7801\u8FDE\u63A5" : online ? "\u8FDE\u63A5\u6B63\u5E38\uFF0C\u6B63\u5728\u63A5\u6536\u6D88\u606F" : channel.runtimeStatus === "error" ? "\u6E20\u9053\u8FDE\u63A5\u9700\u8981\u5904\u7406" : "\u6E20\u9053\u5F53\u524D\u5DF2\u505C\u7528" }),
|
|
17300
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: !channel ? "\u8FDE\u63A5\u5FAE\u4FE1\u3001Matrix \u6216 Mattermost\uFF0C\u8054\u7CFB\u4EBA\u9996\u6B21\u53D1\u6D88\u606F\u9700\u6279\u51C6\u3002" : online ? "\u672C\u5730\u4E0E\u6240\u6709\u5DF2\u6388\u6743\u6E20\u9053\u5171\u7528\u4F19\u4F34\u4E3B\u5BF9\u8BDD\uFF0C\u56DE\u590D\u8FD4\u56DE\u6D88\u606F\u6765\u6E90\u3002" : channel.lastError || "\u6E20\u9053\u914D\u7F6E\u4ECD\u7136\u4FDD\u7559\uFF0C\u53EF\u4EE5\u968F\u65F6\u91CD\u65B0\u542F\u7528\u3002" }),
|
|
17301
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-home-channel-actions", children: [
|
|
17302
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", className: "is-primary", onClick: () => navigate("weixin"), children: !channel ? "\u8FDE\u63A5\u5FAE\u4FE1" : pending > 0 ? `\u5904\u7406 ${pending} \u4E2A\u8BF7\u6C42` : "\u7BA1\u7406\u6E20\u9053" }),
|
|
17303
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { children: !channel ? "\u9009\u62E9\u6E20\u9053\u5E76\u8FDE\u63A5\u8D26\u53F7" : `${approved} \u4F4D\u8054\u7CFB\u4EBA \xB7 \u5171\u7528\u4E3B\u5BF9\u8BDD` })
|
|
16905
17304
|
] })
|
|
16906
17305
|
] })
|
|
16907
17306
|
] }),
|
|
16908
|
-
/* @__PURE__ */ (0,
|
|
16909
|
-
/* @__PURE__ */ (0,
|
|
16910
|
-
/* @__PURE__ */ (0,
|
|
16911
|
-
/* @__PURE__ */ (0,
|
|
16912
|
-
/* @__PURE__ */ (0,
|
|
16913
|
-
/* @__PURE__ */ (0,
|
|
16914
|
-
/* @__PURE__ */ (0,
|
|
17307
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-home-details", children: [
|
|
17308
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("section", { className: "dsh-partner-home-profile", children: [
|
|
17309
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("header", { children: [
|
|
17310
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconUserOutlineRegular, { size: 16 }) }),
|
|
17311
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { children: [
|
|
17312
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "\u4F19\u4F34\u5E95\u7A3F" }),
|
|
17313
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: companion.role })
|
|
16915
17314
|
] }),
|
|
16916
|
-
/* @__PURE__ */ (0,
|
|
17315
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", onClick: () => navigate("identity"), children: "\u7F16\u8F91" })
|
|
16917
17316
|
] }),
|
|
16918
|
-
/* @__PURE__ */ (0,
|
|
17317
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("blockquote", { children: companion.instructions || companion.description || "\u5C1A\u672A\u8BBE\u7F6E\u957F\u671F\u884C\u4E3A\u51C6\u5219\u3002" })
|
|
16919
17318
|
] }),
|
|
16920
|
-
/* @__PURE__ */ (0,
|
|
16921
|
-
/* @__PURE__ */ (0,
|
|
16922
|
-
/* @__PURE__ */ (0,
|
|
16923
|
-
/* @__PURE__ */ (0,
|
|
16924
|
-
/* @__PURE__ */ (0,
|
|
16925
|
-
/* @__PURE__ */ (0,
|
|
17319
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("section", { className: "dsh-partner-home-runtime", children: [
|
|
17320
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("header", { children: [
|
|
17321
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconAgentPresetOutlineRegular, { size: 16 }) }),
|
|
17322
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { children: [
|
|
17323
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "\u8FD0\u884C\u80FD\u529B" }),
|
|
17324
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: companion.presetId || "DSH \u9ED8\u8BA4 Preset" })
|
|
16926
17325
|
] }),
|
|
16927
|
-
/* @__PURE__ */ (0,
|
|
17326
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", onClick: () => navigate("capabilities"), children: "\u8C03\u6574" })
|
|
16928
17327
|
] }),
|
|
16929
|
-
/* @__PURE__ */ (0,
|
|
17328
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "dsh-partner-home-capability-list", children: capabilities.length ? capabilities.map((item) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("em", { children: item }, item)) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "\u5C1A\u672A\u58F0\u660E\u80FD\u529B\u8303\u56F4" }) })
|
|
16930
17329
|
] }),
|
|
16931
|
-
/* @__PURE__ */ (0,
|
|
16932
|
-
/* @__PURE__ */ (0,
|
|
16933
|
-
/* @__PURE__ */ (0,
|
|
16934
|
-
/* @__PURE__ */ (0,
|
|
16935
|
-
/* @__PURE__ */ (0,
|
|
16936
|
-
/* @__PURE__ */ (0,
|
|
17330
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("section", { className: "dsh-partner-home-continuity", children: [
|
|
17331
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("header", { children: [
|
|
17332
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconDataOutlineRegular, { size: 16 }) }),
|
|
17333
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { children: [
|
|
17334
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "\u4F19\u4F34\u5BF9\u8BDD" }),
|
|
17335
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: localSession?.archived ? "\u4F1A\u8BDD\u5DF2\u5F52\u6863" : "\u4F19\u4F34\u4F1A\u8BDD\u5DF2\u5EFA\u7ACB" })
|
|
16937
17336
|
] }),
|
|
16938
|
-
/* @__PURE__ */ (0,
|
|
17337
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", onClick: () => localSession === void 0 ? void startSession(companion.id) : localSession.archived ? void renewSession(localSession.id) : void openSession(localSession.id, localSession.sessionId), children: localSession === void 0 ? "\u5F00\u59CB\u5BF9\u8BDD" : localSession.archived ? "\u5F00\u59CB\u65B0\u4F1A\u8BDD" : "\u6253\u5F00\u4F1A\u8BDD" })
|
|
16939
17338
|
] }),
|
|
16940
|
-
/* @__PURE__ */ (0,
|
|
17339
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: localSession ? `\u6700\u8FD1\u6D3B\u52A8\u4E8E ${relativeTime(localSession.lastMessageAt)}\uFF1B\u672C\u5730\u4E0E\u6E20\u9053\u5728\u8FD9\u91CC\u63A5\u7740\u804A\u3002` : "\u4F19\u4F34\u4F1A\u8BDD\u6B63\u5728\u521D\u59CB\u5316\uFF0C\u7A0D\u540E\u5373\u53EF\u6253\u5F00\u3002" })
|
|
16941
17340
|
] })
|
|
16942
17341
|
] })
|
|
16943
17342
|
] });
|
|
16944
17343
|
}
|
|
16945
17344
|
function WeixinPanel({ companion, snapshot, onChanged }) {
|
|
16946
17345
|
const channel = snapshot.channels.find((item) => item.companionId === companion.id && (!item.platform || item.platform === "weixin"));
|
|
16947
|
-
const [login, setLogin] = (0,
|
|
16948
|
-
const [busy, setBusy] = (0,
|
|
16949
|
-
const [error, setError] = (0,
|
|
16950
|
-
(0,
|
|
17346
|
+
const [login, setLogin] = (0, import_react51.useState)();
|
|
17347
|
+
const [busy, setBusy] = (0, import_react51.useState)(false);
|
|
17348
|
+
const [error, setError] = (0, import_react51.useState)();
|
|
17349
|
+
(0, import_react51.useEffect)(() => {
|
|
16951
17350
|
if (!login || login.phase === "confirmed" || login.phase === "expired" || login.phase === "error") return;
|
|
16952
17351
|
const timer2 = window.setInterval(() => {
|
|
16953
17352
|
void api(`/weixin/login/${login.id}`).then(async (result) => {
|
|
@@ -16993,93 +17392,93 @@ function WeixinPanel({ companion, snapshot, onChanged }) {
|
|
|
16993
17392
|
setError(errorMessage(reason));
|
|
16994
17393
|
}
|
|
16995
17394
|
};
|
|
16996
|
-
return /* @__PURE__ */ (0,
|
|
16997
|
-
/* @__PURE__ */ (0,
|
|
16998
|
-
!channel && !login && /* @__PURE__ */ (0,
|
|
16999
|
-
/* @__PURE__ */ (0,
|
|
17000
|
-
/* @__PURE__ */ (0,
|
|
17001
|
-
/* @__PURE__ */ (0,
|
|
17395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-form is-channel", children: [
|
|
17396
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SectionHeading, { eyebrow: "PRIMARY CHANNEL", title: "\u5FAE\u4FE1\u6E20\u9053", detail: "\u4F7F\u7528\u5FAE\u4FE1 iLink Bot \u626B\u7801\u63A5\u5165\u3002\u6BCF\u4E2A\u673A\u5668\u4EBA\u53EA\u7ED1\u5B9A\u4E00\u4E2A\u4F19\u4F34\uFF0C\u6BCF\u4F4D\u8054\u7CFB\u4EBA\u4FDD\u6301\u72EC\u7ACB DSH \u4F1A\u8BDD\u3002" }),
|
|
17397
|
+
!channel && !login && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(GlassSurface, { as: "div", interactive: true, className: "dsh-partner-weixin-connect", borderRadius: 15, distortionScale: -10, saturation: 1.06, children: [
|
|
17398
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "dsh-partner-weixin-mark", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(WeixinGlyph, { large: true }) }),
|
|
17399
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17400
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("strong", { children: [
|
|
17002
17401
|
"\u628A ",
|
|
17003
17402
|
companion.name,
|
|
17004
17403
|
" \u5E26\u5230\u5FAE\u4FE1"
|
|
17005
17404
|
] }),
|
|
17006
|
-
/* @__PURE__ */ (0,
|
|
17007
|
-
/* @__PURE__ */ (0,
|
|
17008
|
-
/* @__PURE__ */ (0,
|
|
17009
|
-
/* @__PURE__ */ (0,
|
|
17010
|
-
/* @__PURE__ */ (0,
|
|
17405
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: "\u626B\u7801\u540E\uFF0C\u673A\u5668\u4EBA\u51ED\u636E\u76F4\u63A5\u4FDD\u5B58\u8FDB DSH \u51ED\u636E\u5E93\uFF0C\u4E0D\u4F1A\u663E\u793A\u5728\u6D4F\u89C8\u5668\u6216\u666E\u901A\u914D\u7F6E\u6587\u4EF6\u4E2D\u3002" }),
|
|
17406
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("ul", { children: [
|
|
17407
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("li", { children: "\u79C1\u804A\u9996\u6B21\u8054\u7CFB\u5FC5\u987B\u5BA1\u6279" }),
|
|
17408
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("li", { children: "\u8054\u7CFB\u4EBA\u4E4B\u95F4\u4E0A\u4E0B\u6587\u5B8C\u5168\u9694\u79BB" }),
|
|
17409
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("li", { children: "\u5DE5\u5177\u6743\u9650\u4E0D\u4F1A\u56E0\u5FAE\u4FE1\u8EAB\u4EFD\u81EA\u52A8\u6269\u5927" })
|
|
17011
17410
|
] })
|
|
17012
17411
|
] }),
|
|
17013
|
-
/* @__PURE__ */ (0,
|
|
17412
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", disabled: busy, onClick: () => {
|
|
17014
17413
|
void begin();
|
|
17015
17414
|
}, children: busy ? "\u6B63\u5728\u7533\u8BF7\u4E8C\u7EF4\u7801\u2026" : "\u626B\u7801\u8FDE\u63A5\u5FAE\u4FE1" })
|
|
17016
17415
|
] }),
|
|
17017
|
-
login && /* @__PURE__ */ (0,
|
|
17018
|
-
/* @__PURE__ */ (0,
|
|
17019
|
-
/* @__PURE__ */ (0,
|
|
17020
|
-
/* @__PURE__ */ (0,
|
|
17021
|
-
/* @__PURE__ */ (0,
|
|
17022
|
-
/* @__PURE__ */ (0,
|
|
17023
|
-
(login.phase === "expired" || login.phase === "error") && /* @__PURE__ */ (0,
|
|
17416
|
+
login && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(GlassSurface, { as: "div", interactive: true, className: "dsh-partner-qr", borderRadius: 16, distortionScale: -10, saturation: 1.06, children: [
|
|
17417
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "dsh-partner-qr-code", children: login.qrContent && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(QRCodeSVG, { value: login.qrContent, size: 176, level: "M" }) }),
|
|
17418
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17419
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "WECHAT ILINK BOT" }),
|
|
17420
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: login.phase === "scanned" ? "\u5DF2\u626B\u7801\uFF0C\u8BF7\u5728\u5FAE\u4FE1\u786E\u8BA4" : login.phase === "expired" ? "\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F" : login.phase === "error" ? "\u8FDE\u63A5\u5931\u8D25" : "\u4F7F\u7528\u5FAE\u4FE1\u626B\u7801" }),
|
|
17421
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: login.error || (login.phase === "scanned" ? "\u786E\u8BA4\u540E\u4F1A\u81EA\u52A8\u542F\u52A8\u6E20\u9053\uFF0C\u4E0D\u9700\u8981\u590D\u5236 Token\u3002" : "\u4E8C\u7EF4\u7801\u7EA6 5 \u5206\u949F\u6709\u6548\u3002\u6B64\u9875\u9762\u53EF\u4EE5\u5B89\u5168\u5730\u4FDD\u6301\u6253\u5F00\u3002") }),
|
|
17422
|
+
(login.phase === "expired" || login.phase === "error") && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("button", { type: "button", onClick: () => {
|
|
17024
17423
|
setLogin(void 0);
|
|
17025
17424
|
void begin();
|
|
17026
17425
|
}, children: [
|
|
17027
|
-
/* @__PURE__ */ (0,
|
|
17426
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconRefreshOutlineRegular, { size: 16 }),
|
|
17028
17427
|
"\u91CD\u65B0\u751F\u6210"
|
|
17029
17428
|
] })
|
|
17030
17429
|
] })
|
|
17031
17430
|
] }),
|
|
17032
|
-
channel && /* @__PURE__ */ (0,
|
|
17033
|
-
/* @__PURE__ */ (0,
|
|
17034
|
-
/* @__PURE__ */ (0,
|
|
17035
|
-
/* @__PURE__ */ (0,
|
|
17036
|
-
/* @__PURE__ */ (0,
|
|
17037
|
-
/* @__PURE__ */ (0,
|
|
17038
|
-
/* @__PURE__ */ (0,
|
|
17431
|
+
channel && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
|
|
17432
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(GlassSurface, { as: "div", interactive: true, className: "dsh-partner-channel-card", borderRadius: 14, distortionScale: -10, saturation: 1.06, children: [
|
|
17433
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "dsh-partner-weixin-mark", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(WeixinGlyph, { large: true }) }),
|
|
17434
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17435
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "WECHAT CHANNEL" }),
|
|
17436
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: channel.name }),
|
|
17437
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: channel.accountId })
|
|
17039
17438
|
] }),
|
|
17040
|
-
/* @__PURE__ */ (0,
|
|
17041
|
-
/* @__PURE__ */ (0,
|
|
17439
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ChannelStatus, { channel }),
|
|
17440
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", className: "dsh-partner-switch", "data-on": channel.enabled, disabled: busy, "aria-label": channel.enabled ? "\u505C\u7528\u5FAE\u4FE1\u6E20\u9053" : "\u542F\u7528\u5FAE\u4FE1\u6E20\u9053", onClick: () => {
|
|
17042
17441
|
void toggle();
|
|
17043
|
-
}, children: /* @__PURE__ */ (0,
|
|
17442
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("i", {}) })
|
|
17044
17443
|
] }),
|
|
17045
|
-
channel.lastError && /* @__PURE__ */ (0,
|
|
17046
|
-
/* @__PURE__ */ (0,
|
|
17047
|
-
/* @__PURE__ */ (0,
|
|
17048
|
-
/* @__PURE__ */ (0,
|
|
17049
|
-
/* @__PURE__ */ (0,
|
|
17444
|
+
channel.lastError && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "dsh-partner-inline-error", children: channel.lastError }),
|
|
17445
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "dsh-partner-pairing-heading", children: [
|
|
17446
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
17447
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("small", { children: "ACCESS" }),
|
|
17448
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: "\u79C1\u804A\u914D\u5BF9" })
|
|
17050
17449
|
] }),
|
|
17051
|
-
/* @__PURE__ */ (0,
|
|
17450
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("em", { children: [
|
|
17052
17451
|
pairings.filter((item) => item.status === "pending").length,
|
|
17053
17452
|
" \u4E2A\u5F85\u5904\u7406"
|
|
17054
17453
|
] })
|
|
17055
17454
|
] }),
|
|
17056
|
-
/* @__PURE__ */ (0,
|
|
17057
|
-
/* @__PURE__ */ (0,
|
|
17058
|
-
/* @__PURE__ */ (0,
|
|
17059
|
-
/* @__PURE__ */ (0,
|
|
17060
|
-
/* @__PURE__ */ (0,
|
|
17455
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "dsh-partner-pairings", children: pairings.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ContentState, { title: "\u8FD8\u6CA1\u6709\u8054\u7CFB\u4EBA", detail: "\u6709\u4EBA\u9996\u6B21\u5411\u673A\u5668\u4EBA\u53D1\u6D88\u606F\u540E\uFF0C\u914D\u5BF9\u8BF7\u6C42\u4F1A\u51FA\u73B0\u5728\u8FD9\u91CC\u3002", compact: true }) : pairings.map((pairing) => /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("article", { children: [
|
|
17456
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: `is-${pairing.status}`, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_dsh_client_ui_primitives24.IconUserOutlineRegular, { size: 16 }) }),
|
|
17457
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { children: [
|
|
17458
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("strong", { children: pairing.displayName }),
|
|
17459
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("small", { children: [
|
|
17061
17460
|
pairing.status === "pending" ? "\u7B49\u5F85\u5BA1\u6279" : pairing.status === "approved" ? "\u5DF2\u6388\u6743\u72EC\u7ACB\u4F1A\u8BDD" : "\u5DF2\u963B\u6B62",
|
|
17062
17461
|
" \xB7 ",
|
|
17063
17462
|
new Date(pairing.updatedAt).toLocaleString()
|
|
17064
17463
|
] })
|
|
17065
17464
|
] }),
|
|
17066
|
-
pairing.status === "pending" && /* @__PURE__ */ (0,
|
|
17067
|
-
/* @__PURE__ */ (0,
|
|
17465
|
+
pairing.status === "pending" && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
|
|
17466
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { onClick: () => {
|
|
17068
17467
|
void actPairing(pairing.id, "blocked");
|
|
17069
17468
|
}, children: "\u62D2\u7EDD" }),
|
|
17070
|
-
/* @__PURE__ */ (0,
|
|
17469
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { className: "is-primary", onClick: () => {
|
|
17071
17470
|
void actPairing(pairing.id, "approved");
|
|
17072
17471
|
}, children: "\u6279\u51C6" })
|
|
17073
17472
|
] }),
|
|
17074
|
-
pairing.status === "approved" && /* @__PURE__ */ (0,
|
|
17473
|
+
pairing.status === "approved" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { onClick: () => {
|
|
17075
17474
|
void actPairing(pairing.id, "blocked");
|
|
17076
17475
|
}, children: "\u64A4\u9500" }),
|
|
17077
|
-
pairing.status === "blocked" && /* @__PURE__ */ (0,
|
|
17476
|
+
pairing.status === "blocked" && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { onClick: () => {
|
|
17078
17477
|
void actPairing(pairing.id, "approved");
|
|
17079
17478
|
}, children: "\u91CD\u65B0\u6279\u51C6" })
|
|
17080
17479
|
] }, pairing.id)) })
|
|
17081
17480
|
] }),
|
|
17082
|
-
error && /* @__PURE__ */ (0,
|
|
17481
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "dsh-partner-inline-error", children: error })
|
|
17083
17482
|
] });
|
|
17084
17483
|
}
|
|
17085
17484
|
function installStyles() {
|