openwork-server 0.18.50 → 0.18.57
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 +3 -3
- package/bin/openwork-server.mjs +28 -22
- package/bin/platform.mjs +28 -0
- package/dist/opencode-plugin-deps-1.18.30.tgz +0 -0
- package/dist/opencode-plugins/openwork-capabilities-knowledge.js +0 -5
- package/dist/opencode-plugins/openwork-context-v2.js +84 -0
- package/dist/opencode-plugins/openwork-extensions-preview.js +650 -271
- package/dist/opencode-plugins/openwork-gateway-quota-v2.js +12 -1
- package/dist/opencode-plugins/openwork-gateway-quota.js +12 -1
- package/dist/opencode-plugins/openwork-mcp-results-v2.js +154 -0
- package/dist/opencode-plugins/openwork-office-attachments.js +135 -130
- package/dist/opencode-plugins/openwork-provider-adapters.js +2 -2
- package/dist/opencode-plugins/openwork-provider-filters-v2.js +69 -0
- package/dist/opencode-plugins/openwork-read-transport.js +2 -0
- package/dist/opencode-plugins/openwork-spreadsheets.js +136 -2
- package/dist/openwork-server.mjs +113587 -0
- package/dist/pdfium.wasm +0 -0
- package/package.json +7 -1
- package/web/assets/abnfDiagram-VCTEODGH-Dv8KxM1F.js +1 -0
- package/web/assets/app-B682snBU.css +32 -0
- package/web/assets/app-E_RdTPah.js +2591 -0
- package/web/assets/{arc-jSgX49-e.js → arc-_WbfJV_K.js} +1 -1
- package/web/assets/architectureDiagram-5GKGNRK7-CckpRlSR.js +36 -0
- package/web/assets/{artifact-code-view-DFIq0k-c.js → artifact-code-view-BbU019Q_.js} +2 -2
- package/web/assets/artifact-spreadsheet-editor-B3q9ZZoB.js +11 -0
- package/web/assets/{artifact-text-editor-DBngc6bx.js → artifact-text-editor-CA2Dgulr.js} +2 -2
- package/web/assets/{blockDiagram-OSKFZWR5-CBcZLjLp.js → blockDiagram-OSKFZWR5-BKdntEom.js} +3 -3
- package/web/assets/{c4Diagram-7LVT6UL2-DMrhFCLj.js → c4Diagram-7LVT6UL2-BJLyhqO1.js} +2 -2
- package/web/assets/channel-BZvy6aHa.js +1 -0
- package/web/assets/{chunk-2Q5K7J3B-Ce1X-FJQ.js → chunk-2Q5K7J3B-D88ZIDGU.js} +1 -1
- package/web/assets/{chunk-5VM5RSS4-BS48ZtVI.js → chunk-5VM5RSS4-DebGr6SE.js} +1 -1
- package/web/assets/{chunk-F27PBJKO-COdFZJ-M.js → chunk-F27PBJKO-ChkVnT1d.js} +1 -1
- package/web/assets/{chunk-HLEWEB6X-Cdw4ABX3.js → chunk-HLEWEB6X-ER6ZF6Pd.js} +1 -1
- package/web/assets/{chunk-JWPE2WC7-FVVDYZmE.js → chunk-JWPE2WC7-CQw0tJnK.js} +1 -1
- package/web/assets/{chunk-POPQ4Y6H-C7acdUF3.js → chunk-POPQ4Y6H-Dm94DEFc.js} +1 -1
- package/web/assets/{chunk-SVP7TREG-BUun0UWD.js → chunk-SVP7TREG-rzCKlvNW.js} +1 -1
- package/web/assets/{chunk-XXDRQBXY-DLgpJmat.js → chunk-XXDRQBXY-BcXExR9z.js} +1 -1
- package/web/assets/{chunk-ZLD2IHE6-BdMQ5Cr0.js → chunk-ZLD2IHE6-CRtSpyr1.js} +1 -1
- package/web/assets/classDiagram-CYGNFDIV-DBAMzIwS.js +1 -0
- package/web/assets/classDiagram-v2-TLXNO2FR-DBAMzIwS.js +1 -0
- package/web/assets/cose-bilkent-JH36ORCC-1inJ0kKP.js +1 -0
- package/web/assets/{cynefin-OW5HDTMX-DslesE5Y.js → cynefin-OW5HDTMX-BAEIfHgW.js} +1 -1
- package/web/assets/cynefinDiagram-5FMLGOSQ-Dw_qVKID.js +62 -0
- package/web/assets/{dagre-OS7QT2EB-Bkahh4gZ.js → dagre-OS7QT2EB-BXAAz87u.js} +2 -2
- package/web/assets/{diagram-S7CK7UJ4-CXQl7SfF.js → diagram-S7CK7UJ4-BQt6gteN.js} +2 -2
- package/web/assets/diagram-UQ7AKVKN-Dh7vrHwF.js +41 -0
- package/web/assets/{diagram-VSXAHHWV-DlcR8qeO.js → diagram-VSXAHHWV-D2kNxmUp.js} +2 -2
- package/web/assets/diagram-VX7I27RA-CctQDix_.js +24 -0
- package/web/assets/diagram-Z3DM3KII-CDGlIVG5.js +24 -0
- package/web/assets/ebnfDiagram-PWID7BFC-0bgAb7z3.js +1 -0
- package/web/assets/{erDiagram-2YWLMYGG-DOqO-9Yf.js → erDiagram-2YWLMYGG-Dbur-iWa.js} +2 -2
- package/web/assets/{flowDiagram-T62WH6J4-CCZxvIjW.js → flowDiagram-T62WH6J4-Cw6AeymU.js} +1 -1
- package/web/assets/ganttDiagram-EL5Y4UJY-BXYwFWOW.js +292 -0
- package/web/assets/gitGraphDiagram-WWUBYQGX-De6ZCLNz.js +106 -0
- package/web/assets/infoDiagram-FKFFQAWI-B11KM4en.js +2 -0
- package/web/assets/{ishikawaDiagram-5VMMS53U-xutQo5Ip.js → ishikawaDiagram-5VMMS53U-kGPWhBux.js} +2 -2
- package/web/assets/{journeyDiagram-EYS64GPL-BIbzPGaa.js → journeyDiagram-EYS64GPL-K8Wtegvp.js} +2 -2
- package/web/assets/{kanban-definition-UXKFOSKX-BCTiRzck.js → kanban-definition-UXKFOSKX-CjtX_cLJ.js} +2 -2
- package/web/assets/{layout-Wpfi54TB.js → layout-Cn0uoRC-.js} +1 -1
- package/web/assets/{linear-DLJHPikh.js → linear-WTNza7Ko.js} +1 -1
- package/web/assets/{mermaid.core-CDRJkis7.js → mermaid.core-CbBVVRTZ.js} +10 -10
- package/web/assets/{mindmap-definition-THT77NOG-DtphSFs_.js → mindmap-definition-THT77NOG-DjyO1aA-.js} +2 -2
- package/web/assets/pegDiagram-XKGWAZYB-ChPXU87n.js +1 -0
- package/web/assets/{pieDiagram-E7YTZNPT-tjxtWWT7.js → pieDiagram-E7YTZNPT-bPQtXz_p.js} +2 -2
- package/web/assets/{quadrantDiagram-AXDQQJYC-CFC1qey-.js → quadrantDiagram-AXDQQJYC-DokQ5FGV.js} +2 -2
- package/web/assets/railroadDiagram-O6MQD6OU-CcdqGxuL.js +1 -0
- package/web/assets/{requirementDiagram-IS5BZ75X-B8i4BL2A.js → requirementDiagram-IS5BZ75X-CGMF9hMZ.js} +2 -2
- package/web/assets/{sankeyDiagram-P5KCCOFB-Dll4Naj0.js → sankeyDiagram-P5KCCOFB-fc-d15bH.js} +2 -2
- package/web/assets/{sequenceDiagram-WJ2MYXX4-B8Rvjhb5.js → sequenceDiagram-WJ2MYXX4-DAmsOR8u.js} +2 -2
- package/web/assets/sizeCapture-INFHLROL-6o7CY1B-.js +1 -0
- package/web/assets/stateDiagram-XQSTLZYL-En5t4mkI.js +1 -0
- package/web/assets/stateDiagram-v2-IH3M54BS-DvIXHm_9.js +1 -0
- package/web/assets/swimlanes-V6O3JKXN-COBv2NoI.js +1 -0
- package/web/assets/swimlanesDiagram-JKAHXJPX-CorMSufQ.js +8 -0
- package/web/assets/{timeline-definition-24CTP7MA-Dum2N-ex.js → timeline-definition-24CTP7MA-Qb-aTtSE.js} +2 -2
- package/web/assets/{vennDiagram-4TSXK5OY-D-JeJumX.js → vennDiagram-4TSXK5OY-Br3-0Ze-.js} +2 -2
- package/web/assets/{wardleyDiagram-VM6X3IG4-d99FKQIG.js → wardleyDiagram-VM6X3IG4-BCeY3AKL.js} +2 -2
- package/web/assets/{workspace-file-tree-CAuhntUr.js → workspace-file-tree-CYzKM8q4.js} +3 -3
- package/web/assets/{xychartDiagram-S5SC5T6Z-DdmevfkD.js → xychartDiagram-S5SC5T6Z-Bz96OPKc.js} +2 -2
- package/web/ext-github.svg +1 -0
- package/web/ext-hubspot.svg +1 -0
- package/web/ext-slack.svg +1 -0
- package/web/index.html +3 -4
- package/dist/bin/openwork-server +0 -4
- package/web/assets/abnfDiagram-VCTEODGH-BgnyE_Jl.js +0 -1
- package/web/assets/app-CyCqD289.js +0 -2581
- package/web/assets/app-DOrYoP_4.css +0 -32
- package/web/assets/architectureDiagram-5GKGNRK7-DD_aGn4v.js +0 -36
- package/web/assets/artifact-spreadsheet-editor-DFVCYrL7.js +0 -11
- package/web/assets/channel-BE8JEd1U.js +0 -1
- package/web/assets/classDiagram-CYGNFDIV-Cy8V0GW-.js +0 -1
- package/web/assets/classDiagram-v2-TLXNO2FR-Cy8V0GW-.js +0 -1
- package/web/assets/cose-bilkent-JH36ORCC-CqWy3Swy.js +0 -1
- package/web/assets/cynefinDiagram-5FMLGOSQ-B54uZJn_.js +0 -62
- package/web/assets/diagram-UQ7AKVKN-BA0V8tjK.js +0 -41
- package/web/assets/diagram-VX7I27RA-ewm16zDI.js +0 -24
- package/web/assets/diagram-Z3DM3KII-Bc2lRc88.js +0 -24
- package/web/assets/ebnfDiagram-PWID7BFC-JwCaf6cT.js +0 -1
- package/web/assets/ganttDiagram-EL5Y4UJY-BczG7RIu.js +0 -292
- package/web/assets/gitGraphDiagram-WWUBYQGX-GOecDN3g.js +0 -106
- package/web/assets/index-BZgplq0g.css +0 -1
- package/web/assets/index-_gYIQM_z.js +0 -49
- package/web/assets/infoDiagram-FKFFQAWI-BbgIVsQp.js +0 -2
- package/web/assets/overlay-zA9qjYXH.js +0 -1
- package/web/assets/pegDiagram-XKGWAZYB-CzbjpqK7.js +0 -1
- package/web/assets/railroadDiagram-O6MQD6OU-73_BXhNP.js +0 -1
- package/web/assets/sizeCapture-INFHLROL-h8YDF-c3.js +0 -1
- package/web/assets/stateDiagram-XQSTLZYL-COorU6Ga.js +0 -1
- package/web/assets/stateDiagram-v2-IH3M54BS-BAu05WuT.js +0 -1
- package/web/assets/swimlanes-V6O3JKXN-CAghInFw.js +0 -1
- package/web/assets/swimlanesDiagram-JKAHXJPX-CpJNl3pn.js +0 -8
- package/web/grain-art/extension/extension-001.png +0 -0
- package/web/grain-art/extension/extension-002.png +0 -0
- package/web/grain-art/extension/extension-003.png +0 -0
- package/web/grain-art/extension/extension-004.png +0 -0
- package/web/grain-art/extension/extension-005.png +0 -0
- package/web/grain-art/extension/extension-006.png +0 -0
- package/web/grain-art/extension/extension-007.png +0 -0
- package/web/grain-art/extension/extension-008.png +0 -0
- package/web/grain-art/extension/extension-009.png +0 -0
- package/web/grain-art/extension/extension-010.png +0 -0
- package/web/grain-art/extension/extension-011.png +0 -0
- package/web/grain-art/extension/extension-012.png +0 -0
- package/web/grain-art/extension/extension-013.png +0 -0
- package/web/grain-art/extension/extension-014.png +0 -0
- package/web/grain-art/extension/extension-015.png +0 -0
- package/web/grain-art/extension/extension-016.png +0 -0
- package/web/grain-art/extension/extension-017.png +0 -0
- package/web/grain-art/extension/extension-018.png +0 -0
- package/web/grain-art/extension/extension-019.png +0 -0
- package/web/grain-art/extension/extension-020.png +0 -0
- package/web/grain-art/extension/extension-021.png +0 -0
- package/web/grain-art/extension/extension-022.png +0 -0
- package/web/grain-art/extension/extension-023.png +0 -0
- package/web/grain-art/extension/extension-024.png +0 -0
- package/web/grain-art/extension/extension-025.png +0 -0
- package/web/grain-art/extension/extension-026.png +0 -0
- package/web/grain-art/extension/extension-027.png +0 -0
- package/web/grain-art/extension/extension-028.png +0 -0
- package/web/grain-art/extension/extension-029.png +0 -0
- package/web/grain-art/extension/extension-030.png +0 -0
- package/web/grain-art/extension/extension-031.png +0 -0
- package/web/grain-art/extension/extension-032.png +0 -0
- package/web/grain-art/fallback/fallback-001.png +0 -0
- package/web/grain-art/fallback/fallback-002.png +0 -0
- package/web/grain-art/fallback/fallback-003.png +0 -0
- package/web/grain-art/fallback/fallback-004.png +0 -0
- package/web/grain-art/fallback/fallback-005.png +0 -0
- package/web/grain-art/fallback/fallback-006.png +0 -0
- package/web/grain-art/fallback/fallback-007.png +0 -0
- package/web/grain-art/fallback/fallback-008.png +0 -0
- package/web/grain-art/fallback/fallback-009.png +0 -0
- package/web/grain-art/fallback/fallback-010.png +0 -0
- package/web/grain-art/fallback/fallback-011.png +0 -0
- package/web/grain-art/fallback/fallback-012.png +0 -0
- package/web/grain-art/fallback/fallback-013.png +0 -0
- package/web/grain-art/fallback/fallback-014.png +0 -0
- package/web/grain-art/fallback/fallback-015.png +0 -0
- package/web/grain-art/fallback/fallback-016.png +0 -0
- package/web/grain-art/fallback/fallback-017.png +0 -0
- package/web/grain-art/fallback/fallback-018.png +0 -0
- package/web/grain-art/fallback/fallback-019.png +0 -0
- package/web/grain-art/fallback/fallback-020.png +0 -0
- package/web/grain-art/fallback/fallback-021.png +0 -0
- package/web/grain-art/fallback/fallback-022.png +0 -0
- package/web/grain-art/fallback/fallback-023.png +0 -0
- package/web/grain-art/fallback/fallback-024.png +0 -0
- package/web/grain-art/fallback/fallback-025.png +0 -0
- package/web/grain-art/fallback/fallback-026.png +0 -0
- package/web/grain-art/fallback/fallback-027.png +0 -0
- package/web/grain-art/fallback/fallback-028.png +0 -0
- package/web/grain-art/fallback/fallback-029.png +0 -0
- package/web/grain-art/fallback/fallback-030.png +0 -0
- package/web/grain-art/fallback/fallback-031.png +0 -0
- package/web/grain-art/fallback/fallback-032.png +0 -0
- package/web/grain-art/mcps/mcps-001.png +0 -0
- package/web/grain-art/mcps/mcps-002.png +0 -0
- package/web/grain-art/mcps/mcps-003.png +0 -0
- package/web/grain-art/mcps/mcps-004.png +0 -0
- package/web/grain-art/mcps/mcps-005.png +0 -0
- package/web/grain-art/mcps/mcps-006.png +0 -0
- package/web/grain-art/mcps/mcps-007.png +0 -0
- package/web/grain-art/mcps/mcps-008.png +0 -0
- package/web/grain-art/mcps/mcps-009.png +0 -0
- package/web/grain-art/mcps/mcps-010.png +0 -0
- package/web/grain-art/mcps/mcps-011.png +0 -0
- package/web/grain-art/mcps/mcps-012.png +0 -0
- package/web/grain-art/mcps/mcps-013.png +0 -0
- package/web/grain-art/mcps/mcps-014.png +0 -0
- package/web/grain-art/mcps/mcps-015.png +0 -0
- package/web/grain-art/mcps/mcps-016.png +0 -0
- package/web/grain-art/mcps/mcps-017.png +0 -0
- package/web/grain-art/mcps/mcps-018.png +0 -0
- package/web/grain-art/mcps/mcps-019.png +0 -0
- package/web/grain-art/mcps/mcps-020.png +0 -0
- package/web/grain-art/mcps/mcps-021.png +0 -0
- package/web/grain-art/mcps/mcps-022.png +0 -0
- package/web/grain-art/mcps/mcps-023.png +0 -0
- package/web/grain-art/mcps/mcps-024.png +0 -0
- package/web/grain-art/mcps/mcps-025.png +0 -0
- package/web/grain-art/mcps/mcps-026.png +0 -0
- package/web/grain-art/mcps/mcps-027.png +0 -0
- package/web/grain-art/mcps/mcps-028.png +0 -0
- package/web/grain-art/mcps/mcps-029.png +0 -0
- package/web/grain-art/mcps/mcps-030.png +0 -0
- package/web/grain-art/mcps/mcps-031.png +0 -0
- package/web/grain-art/mcps/mcps-032.png +0 -0
- package/web/grain-art/plugins/plugins-001.png +0 -0
- package/web/grain-art/plugins/plugins-002.png +0 -0
- package/web/grain-art/plugins/plugins-003.png +0 -0
- package/web/grain-art/plugins/plugins-004.png +0 -0
- package/web/grain-art/plugins/plugins-005.png +0 -0
- package/web/grain-art/plugins/plugins-006.png +0 -0
- package/web/grain-art/plugins/plugins-007.png +0 -0
- package/web/grain-art/plugins/plugins-008.png +0 -0
- package/web/grain-art/plugins/plugins-009.png +0 -0
- package/web/grain-art/plugins/plugins-010.png +0 -0
- package/web/grain-art/plugins/plugins-011.png +0 -0
- package/web/grain-art/plugins/plugins-012.png +0 -0
- package/web/grain-art/plugins/plugins-013.png +0 -0
- package/web/grain-art/plugins/plugins-014.png +0 -0
- package/web/grain-art/plugins/plugins-015.png +0 -0
- package/web/grain-art/plugins/plugins-016.png +0 -0
- package/web/grain-art/plugins/plugins-017.png +0 -0
- package/web/grain-art/plugins/plugins-018.png +0 -0
- package/web/grain-art/plugins/plugins-019.png +0 -0
- package/web/grain-art/plugins/plugins-020.png +0 -0
- package/web/grain-art/plugins/plugins-021.png +0 -0
- package/web/grain-art/plugins/plugins-022.png +0 -0
- package/web/grain-art/plugins/plugins-023.png +0 -0
- package/web/grain-art/plugins/plugins-024.png +0 -0
- package/web/grain-art/plugins/plugins-025.png +0 -0
- package/web/grain-art/plugins/plugins-026.png +0 -0
- package/web/grain-art/plugins/plugins-027.png +0 -0
- package/web/grain-art/plugins/plugins-028.png +0 -0
- package/web/grain-art/plugins/plugins-029.png +0 -0
- package/web/grain-art/plugins/plugins-030.png +0 -0
- package/web/grain-art/plugins/plugins-031.png +0 -0
- package/web/grain-art/plugins/plugins-032.png +0 -0
- package/web/grain-art/skills/skills-001.png +0 -0
- package/web/grain-art/skills/skills-002.png +0 -0
- package/web/grain-art/skills/skills-003.png +0 -0
- package/web/grain-art/skills/skills-004.png +0 -0
- package/web/grain-art/skills/skills-005.png +0 -0
- package/web/grain-art/skills/skills-006.png +0 -0
- package/web/grain-art/skills/skills-007.png +0 -0
- package/web/grain-art/skills/skills-008.png +0 -0
- package/web/grain-art/skills/skills-009.png +0 -0
- package/web/grain-art/skills/skills-010.png +0 -0
- package/web/grain-art/skills/skills-011.png +0 -0
- package/web/grain-art/skills/skills-012.png +0 -0
- package/web/grain-art/skills/skills-013.png +0 -0
- package/web/grain-art/skills/skills-014.png +0 -0
- package/web/grain-art/skills/skills-015.png +0 -0
- package/web/grain-art/skills/skills-016.png +0 -0
- package/web/grain-art/skills/skills-017.png +0 -0
- package/web/grain-art/skills/skills-018.png +0 -0
- package/web/grain-art/skills/skills-019.png +0 -0
- package/web/grain-art/skills/skills-020.png +0 -0
- package/web/grain-art/skills/skills-021.png +0 -0
- package/web/grain-art/skills/skills-022.png +0 -0
- package/web/grain-art/skills/skills-023.png +0 -0
- package/web/grain-art/skills/skills-024.png +0 -0
- package/web/grain-art/skills/skills-025.png +0 -0
- package/web/grain-art/skills/skills-026.png +0 -0
- package/web/grain-art/skills/skills-027.png +0 -0
- package/web/grain-art/skills/skills-028.png +0 -0
- package/web/grain-art/skills/skills-029.png +0 -0
- package/web/grain-art/skills/skills-030.png +0 -0
- package/web/grain-art/skills/skills-031.png +0 -0
- package/web/grain-art/skills/skills-032.png +0 -0
- package/web/grain-art/workspaces/workspaces-001.png +0 -0
- package/web/grain-art/workspaces/workspaces-002.png +0 -0
- package/web/grain-art/workspaces/workspaces-003.png +0 -0
- package/web/grain-art/workspaces/workspaces-004.png +0 -0
- package/web/grain-art/workspaces/workspaces-005.png +0 -0
- package/web/grain-art/workspaces/workspaces-006.png +0 -0
- package/web/grain-art/workspaces/workspaces-007.png +0 -0
- package/web/grain-art/workspaces/workspaces-008.png +0 -0
- package/web/grain-art/workspaces/workspaces-009.png +0 -0
- package/web/grain-art/workspaces/workspaces-010.png +0 -0
- package/web/grain-art/workspaces/workspaces-011.png +0 -0
- package/web/grain-art/workspaces/workspaces-012.png +0 -0
- package/web/grain-art/workspaces/workspaces-013.png +0 -0
- package/web/grain-art/workspaces/workspaces-014.png +0 -0
- package/web/grain-art/workspaces/workspaces-015.png +0 -0
- package/web/grain-art/workspaces/workspaces-016.png +0 -0
- package/web/grain-art/workspaces/workspaces-017.png +0 -0
- package/web/grain-art/workspaces/workspaces-018.png +0 -0
- package/web/grain-art/workspaces/workspaces-019.png +0 -0
- package/web/grain-art/workspaces/workspaces-020.png +0 -0
- package/web/grain-art/workspaces/workspaces-021.png +0 -0
- package/web/grain-art/workspaces/workspaces-022.png +0 -0
- package/web/grain-art/workspaces/workspaces-023.png +0 -0
- package/web/grain-art/workspaces/workspaces-024.png +0 -0
- package/web/grain-art/workspaces/workspaces-025.png +0 -0
- package/web/grain-art/workspaces/workspaces-026.png +0 -0
- package/web/grain-art/workspaces/workspaces-027.png +0 -0
- package/web/grain-art/workspaces/workspaces-028.png +0 -0
- package/web/grain-art/workspaces/workspaces-029.png +0 -0
- package/web/grain-art/workspaces/workspaces-030.png +0 -0
- package/web/grain-art/workspaces/workspaces-031.png +0 -0
- package/web/grain-art/workspaces/workspaces-032.png +0 -0
- package/web/openwork-logo.svg +0 -1
- package/web/overlay.html +0 -29
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ npm install -g openwork-server
|
|
|
9
9
|
openwork-server --workspace /path/to/workspace --approval auto
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
The npm package runs on Node.js 22.13 or newer on macOS, Linux, and Windows (arm64 or x64); Bun is not required at runtime.
|
|
13
13
|
|
|
14
14
|
### Self-hosted web UI
|
|
15
15
|
|
|
@@ -56,8 +56,8 @@ Add `--verbose` to print resolved config details on startup. Use `--version` to
|
|
|
56
56
|
## Desktop task recovery
|
|
57
57
|
|
|
58
58
|
The desktop enables `resumeInterruptedTasks` when embedding a server that owns
|
|
59
|
-
its local engines. Standalone servers, attached engines,
|
|
60
|
-
|
|
59
|
+
its local engines. Standalone servers, attached engines, and read-only
|
|
60
|
+
servers do not opt in. Recovery works with both OpenCode v1 and v2 and
|
|
61
61
|
does not depend on an open conversation tab.
|
|
62
62
|
|
|
63
63
|
The `desktop_task_recovery` table in the existing runtime SQLite database stores
|
package/bin/openwork-server.mjs
CHANGED
|
@@ -2,21 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import { spawnSync } from "node:child_process";
|
|
4
4
|
import { existsSync } from "node:fs";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
6
|
+
import { MIN_NODE_VERSION, nodeVersionSupported, serverBinaryName } from "./platform.mjs";
|
|
7
7
|
|
|
8
8
|
const packageRoot = fileURLToPath(new URL("..", import.meta.url));
|
|
9
|
+
const fromPackage = (relative) => fileURLToPath(new URL(relative, `${new URL("../", import.meta.url)}`));
|
|
9
10
|
const args = process.argv.slice(2);
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const builtCli = fileURLToPath(new URL("./dist/cli.js", `${new URL("../", import.meta.url)}`));
|
|
14
|
-
const sourceCli = fileURLToPath(new URL("./src/cli.ts", `${new URL("../", import.meta.url)}`));
|
|
12
|
+
// Lets `openwork-server web` find the bundled web UI and plugins in this package.
|
|
13
|
+
process.env.OPENWORK_PACKAGE_ROOT = process.env.OPENWORK_PACKAGE_ROOT?.trim() || packageRoot;
|
|
15
14
|
|
|
16
15
|
function run(command, commandArgs) {
|
|
17
|
-
|
|
18
|
-
const env = { ...process.env, OPENWORK_PACKAGE_ROOT: process.env.OPENWORK_PACKAGE_ROOT ?? packageRoot };
|
|
19
|
-
const result = spawnSync(command, commandArgs, { stdio: "inherit", env });
|
|
16
|
+
const result = spawnSync(command, commandArgs, { stdio: "inherit", env: process.env });
|
|
20
17
|
if (result.error) {
|
|
21
18
|
if (result.error.code === "ENOENT") {
|
|
22
19
|
console.error(`Missing runtime dependency: ${command}`);
|
|
@@ -27,19 +24,28 @@ function run(command, commandArgs) {
|
|
|
27
24
|
process.exit(result.status ?? 1);
|
|
28
25
|
}
|
|
29
26
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
// The published package: one Node bundle for every OS and CPU.
|
|
28
|
+
const nodeBundle = fromPackage("./dist/openwork-server.mjs");
|
|
29
|
+
if (existsSync(nodeBundle)) {
|
|
30
|
+
if (!nodeVersionSupported(process.versions.node)) {
|
|
31
|
+
console.error(
|
|
32
|
+
`openwork-server needs Node.js ${MIN_NODE_VERSION} or newer (found ${process.versions.node}). Install a current Node.js LTS and try again.`,
|
|
33
|
+
);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
await import(pathToFileURL(nodeBundle).href);
|
|
37
|
+
} else {
|
|
38
|
+
// Source checkout: a compiled binary from `build:bin`, then Bun.
|
|
39
|
+
const binaryName = serverBinaryName(process.platform, process.arch);
|
|
40
|
+
const compiledBinary = binaryName ? fromPackage(`./dist/bin/${binaryName}`) : null;
|
|
41
|
+
if (compiledBinary && existsSync(compiledBinary)) run(compiledBinary, args);
|
|
33
42
|
|
|
34
|
-
|
|
35
|
-
run("bun", [builtCli, ...args]);
|
|
36
|
-
}
|
|
43
|
+
const builtCli = fromPackage("./dist/cli.js");
|
|
44
|
+
if (existsSync(builtCli)) run("bun", [builtCli, ...args]);
|
|
37
45
|
|
|
38
|
-
|
|
39
|
-
run("bun", [sourceCli, ...args]);
|
|
40
|
-
}
|
|
46
|
+
const sourceCli = fromPackage("./src/cli.ts");
|
|
47
|
+
if (existsSync(sourceCli)) run("bun", [sourceCli, ...args]);
|
|
41
48
|
|
|
42
|
-
console.error(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
process.exit(1);
|
|
49
|
+
console.error("OpenWork server is not built in this checkout. Run: pnpm --filter openwork-server build");
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
package/bin/platform.mjs
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Compiled Bun binaries built by `build:bin` / `build:bin:all` in a source
|
|
2
|
+
// checkout. The npm package does not ship them: it runs the Node bundle in
|
|
3
|
+
// dist/openwork-server.mjs, which works on every OS and CPU.
|
|
4
|
+
export const SERVER_BINARY_TARGETS = [
|
|
5
|
+
{ platform: "darwin", arch: "arm64", target: "bun-darwin-arm64" },
|
|
6
|
+
{ platform: "darwin", arch: "x64", target: "bun-darwin-x64" },
|
|
7
|
+
{ platform: "linux", arch: "arm64", target: "bun-linux-arm64" },
|
|
8
|
+
{ platform: "linux", arch: "x64", target: "bun-linux-x64" },
|
|
9
|
+
{ platform: "win32", arch: "arm64", target: "bun-windows-arm64" },
|
|
10
|
+
{ platform: "win32", arch: "x64", target: "bun-windows-x64" },
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
export function serverBinaryName(platform, arch) {
|
|
14
|
+
const target = SERVER_BINARY_TARGETS.find((entry) => entry.platform === platform && entry.arch === arch);
|
|
15
|
+
if (!target) return null;
|
|
16
|
+
return `openwork-server-${target.target}${platform === "win32" ? ".exe" : ""}`;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// node:sqlite (the server's runtime database) is available without a flag
|
|
20
|
+
// from Node 22.13 and 23.4.
|
|
21
|
+
export const MIN_NODE_VERSION = "22.13.0";
|
|
22
|
+
|
|
23
|
+
export function nodeVersionSupported(version) {
|
|
24
|
+
const [major, minor] = version.replace(/^v/, "").split(".").map(Number);
|
|
25
|
+
if (major === 22) return minor >= 13;
|
|
26
|
+
if (major === 23) return minor >= 4;
|
|
27
|
+
return major > 23;
|
|
28
|
+
}
|
|
Binary file
|
|
@@ -13660,11 +13660,6 @@ Here is what you can help users with:
|
|
|
13660
13660
|
- When the agent gets a "permission denied" or "not authorized" error for a file path, the user needs to add that folder (or a parent folder) to the authorized folders list.
|
|
13661
13661
|
- The agent can navigate there: use the UI control action \`settings.panel.open\` with \`{panel: "permissions"}\`.
|
|
13662
13662
|
|
|
13663
|
-
## Enabling Computer Use
|
|
13664
|
-
- Go to Settings > Library and enable the "Computer Use" extension.
|
|
13665
|
-
- This requires macOS accessibility permissions; the app will prompt for them.
|
|
13666
|
-
- Once enabled, the agent can take screenshots and control the mouse/keyboard on the user's desktop.
|
|
13667
|
-
|
|
13668
13663
|
## Connect and MCP servers
|
|
13669
13664
|
- If the runtime steering says OpenWork Cloud is not ready, do not substitute documentation, browser, or UI tools for the connected-service action; direct the user to \`Settings > Library\` for inventory and \`Settings > Debug\` (developer mode) to repair and test agent access.
|
|
13670
13665
|
- Prefer organization apps and connections listed in \`Settings > Library\` over adding the same managed service as a custom MCP. \`Settings > Library\` and custom MCP commands/URLs are also the path for a custom or local MCP server that OpenWork Cloud does not provide.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
function __accessProp(key) {
|
|
8
|
+
return this[key];
|
|
9
|
+
}
|
|
10
|
+
var __toESMCache_node;
|
|
11
|
+
var __toESMCache_esm;
|
|
12
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
+
var canCache = mod != null && typeof mod === "object";
|
|
14
|
+
if (canCache) {
|
|
15
|
+
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
+
var cached = cache.get(mod);
|
|
17
|
+
if (cached)
|
|
18
|
+
return cached;
|
|
19
|
+
}
|
|
20
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
|
+
for (let key of __getOwnPropNames(mod))
|
|
23
|
+
if (!__hasOwnProp.call(to, key))
|
|
24
|
+
__defProp(to, key, {
|
|
25
|
+
get: __accessProp.bind(mod, key),
|
|
26
|
+
enumerable: true
|
|
27
|
+
});
|
|
28
|
+
if (canCache)
|
|
29
|
+
cache.set(mod, to);
|
|
30
|
+
return to;
|
|
31
|
+
};
|
|
32
|
+
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
33
|
+
var __returnValue = (v) => v;
|
|
34
|
+
function __exportSetter(name, newValue) {
|
|
35
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
36
|
+
}
|
|
37
|
+
var __export = (target, all) => {
|
|
38
|
+
for (var name in all)
|
|
39
|
+
__defProp(target, name, {
|
|
40
|
+
get: all[name],
|
|
41
|
+
enumerable: true,
|
|
42
|
+
configurable: true,
|
|
43
|
+
set: __exportSetter.bind(all, name)
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
47
|
+
|
|
48
|
+
// src/opencode-plugins/openwork-context-v2.ts
|
|
49
|
+
var openwork_context_v2_default = {
|
|
50
|
+
id: "openwork.context",
|
|
51
|
+
async setup(context) {
|
|
52
|
+
const registration = await context.tool.transform((editor) => {
|
|
53
|
+
for (const name of ["openwork_context", "openwork_query"]) {
|
|
54
|
+
editor.add({
|
|
55
|
+
name,
|
|
56
|
+
description: name === "openwork_context" ? "Read OpenWork app context and available read-only affordances. Use this to discover session.search and session.read for other conversations." : "Read an OpenWork affordance without changing the app or navigating. Use the exact id and arguments from openwork_context; session.read includes live background-agent activity.",
|
|
57
|
+
input: name === "openwork_context" ? { type: "object", properties: {}, additionalProperties: false } : {
|
|
58
|
+
type: "object",
|
|
59
|
+
properties: { id: { type: "string" }, args: { type: "object", additionalProperties: true } },
|
|
60
|
+
required: ["id"],
|
|
61
|
+
additionalProperties: false
|
|
62
|
+
},
|
|
63
|
+
options: { codemode: false },
|
|
64
|
+
async execute(input, call) {
|
|
65
|
+
const response = await fetch(context.options.url, {
|
|
66
|
+
method: "POST",
|
|
67
|
+
redirect: "error",
|
|
68
|
+
signal: call.signal,
|
|
69
|
+
headers: { Authorization: `Bearer ${context.options.token}`, "Content-Type": "application/json" },
|
|
70
|
+
body: JSON.stringify({ name, input })
|
|
71
|
+
});
|
|
72
|
+
if (!response.ok)
|
|
73
|
+
throw new Error(`OpenWork read failed (${response.status})`);
|
|
74
|
+
return { content: [{ type: "text", text: await response.text() }] };
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return () => registration.dispose();
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
export {
|
|
83
|
+
openwork_context_v2_default as default
|
|
84
|
+
};
|