openwork-server 0.18.61 → 0.18.62
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/dist/{opencode-plugin-deps-1.18.30.tgz → opencode-plugin-deps-1.18.33.tgz} +0 -0
- package/dist/opencode-plugins/drive-file-tools.js +10 -8
- package/dist/opencode-plugins/openwork-extensions-preview.js +9 -7
- package/dist/openwork-server.mjs +317 -40
- package/package.json +1 -1
- package/web/assets/{abnfDiagram-VCTEODGH-DGCabXot.js → abnfDiagram-VCTEODGH-DJzrT8Ql.js} +1 -1
- package/web/assets/{app-Cy3sY2K8.js → app-_2KkkZIM.js} +10 -10
- package/web/assets/{arc-OJTfUP9L.js → arc-KehB1xN5.js} +1 -1
- package/web/assets/{architectureDiagram-5GKGNRK7-Ch0Zt81S.js → architectureDiagram-5GKGNRK7-C_GL2639.js} +1 -1
- package/web/assets/{artifact-code-view-CSo8dBet.js → artifact-code-view-CYn_58gV.js} +1 -1
- package/web/assets/{artifact-spreadsheet-editor-DG2AL4aO.js → artifact-spreadsheet-editor-f6V-tYvi.js} +1 -1
- package/web/assets/{artifact-text-editor-BKs1cI6V.js → artifact-text-editor-CiSlW3kl.js} +1 -1
- package/web/assets/{blockDiagram-OSKFZWR5-Dur4PitI.js → blockDiagram-OSKFZWR5-DErH-7gY.js} +1 -1
- package/web/assets/{c4Diagram-7LVT6UL2-DN-qrh5o.js → c4Diagram-7LVT6UL2-aML4z_n9.js} +1 -1
- package/web/assets/channel-7oM0ncHI.js +1 -0
- package/web/assets/{chunk-2Q5K7J3B-BSmk0dam.js → chunk-2Q5K7J3B-Dw_IH9rW.js} +1 -1
- package/web/assets/{chunk-5VM5RSS4-BwAmjLhK.js → chunk-5VM5RSS4-aeJEQ945.js} +1 -1
- package/web/assets/{chunk-F27PBJKO-DLKbY_DS.js → chunk-F27PBJKO-hZwti-Oc.js} +1 -1
- package/web/assets/{chunk-HLEWEB6X-s4I3BuHN.js → chunk-HLEWEB6X-JFNzm3Ge.js} +1 -1
- package/web/assets/{chunk-JWPE2WC7-LslAnaQK.js → chunk-JWPE2WC7-B34hvYk7.js} +1 -1
- package/web/assets/{chunk-POPQ4Y6H-e0_lKBGk.js → chunk-POPQ4Y6H-CDqgEp-q.js} +1 -1
- package/web/assets/{chunk-SVP7TREG-CBKOSsQl.js → chunk-SVP7TREG-B65ta9aQ.js} +1 -1
- package/web/assets/{chunk-XXDRQBXY-Bwqkh7ZD.js → chunk-XXDRQBXY-DjTi6c9m.js} +1 -1
- package/web/assets/{chunk-ZLD2IHE6-anLhhsDd.js → chunk-ZLD2IHE6-CbviXFvb.js} +1 -1
- package/web/assets/classDiagram-CYGNFDIV-BkidFauP.js +1 -0
- package/web/assets/classDiagram-v2-TLXNO2FR-BkidFauP.js +1 -0
- package/web/assets/{cose-bilkent-JH36ORCC-CCj043X5.js → cose-bilkent-JH36ORCC-Cl9SO5zd.js} +1 -1
- package/web/assets/{cynefin-OW5HDTMX-BGWD-i0N.js → cynefin-OW5HDTMX-CAcz2tHt.js} +1 -1
- package/web/assets/{cynefinDiagram-5FMLGOSQ-ZWq_C5SK.js → cynefinDiagram-5FMLGOSQ-BJHft4FO.js} +1 -1
- package/web/assets/{dagre-OS7QT2EB-In3Mah_T.js → dagre-OS7QT2EB-DbdnY1uS.js} +1 -1
- package/web/assets/{diagram-S7CK7UJ4-DaTd6oXD.js → diagram-S7CK7UJ4-C07WD5Lc.js} +1 -1
- package/web/assets/{diagram-UQ7AKVKN-D3jwCd_v.js → diagram-UQ7AKVKN-D8VCjq9x.js} +1 -1
- package/web/assets/{diagram-VSXAHHWV-CsK-_hfn.js → diagram-VSXAHHWV-D1XSfMnK.js} +1 -1
- package/web/assets/{diagram-VX7I27RA-BBLQ2mL7.js → diagram-VX7I27RA-3GZe-yrf.js} +1 -1
- package/web/assets/{diagram-Z3DM3KII-CUM2PN0X.js → diagram-Z3DM3KII-CI43WcIB.js} +1 -1
- package/web/assets/{ebnfDiagram-PWID7BFC-BjJTJ9Vr.js → ebnfDiagram-PWID7BFC-CTzouade.js} +1 -1
- package/web/assets/{erDiagram-2YWLMYGG-BhjMQMDs.js → erDiagram-2YWLMYGG-CNcqsnqx.js} +1 -1
- package/web/assets/{flowDiagram-T62WH6J4-KrGbrW-t.js → flowDiagram-T62WH6J4-pomAqjgF.js} +1 -1
- package/web/assets/{ganttDiagram-EL5Y4UJY-Co_OE6ls.js → ganttDiagram-EL5Y4UJY-C1dNaxxj.js} +1 -1
- package/web/assets/{gitGraphDiagram-WWUBYQGX-BxM4C4Ti.js → gitGraphDiagram-WWUBYQGX-Ni8GECg1.js} +1 -1
- package/web/assets/{infoDiagram-FKFFQAWI-C8YaW3a6.js → infoDiagram-FKFFQAWI-C0kvE7Zu.js} +1 -1
- package/web/assets/{ishikawaDiagram-5VMMS53U-MPTb2C9Y.js → ishikawaDiagram-5VMMS53U-CxmP_irp.js} +1 -1
- package/web/assets/{journeyDiagram-EYS64GPL-Dzq-vllP.js → journeyDiagram-EYS64GPL-60GkPgH5.js} +1 -1
- package/web/assets/{kanban-definition-UXKFOSKX-DWhE5bnH.js → kanban-definition-UXKFOSKX-ByxcB0T_.js} +1 -1
- package/web/assets/{layout-CMyIV62W.js → layout-BD9ef90s.js} +1 -1
- package/web/assets/{linear-CX-tWibZ.js → linear-Dp9l0lBr.js} +1 -1
- package/web/assets/{mermaid.core-DcgS6fFC.js → mermaid.core-FKm3Akes.js} +6 -6
- package/web/assets/{mindmap-definition-THT77NOG-CJzNRYpk.js → mindmap-definition-THT77NOG-i7WJlWHV.js} +1 -1
- package/web/assets/{pegDiagram-XKGWAZYB-BSIi724T.js → pegDiagram-XKGWAZYB-DfI-LsJq.js} +1 -1
- package/web/assets/{pieDiagram-E7YTZNPT-CoArMhZD.js → pieDiagram-E7YTZNPT-kcgWYBSb.js} +1 -1
- package/web/assets/{quadrantDiagram-AXDQQJYC-B9HoxOyK.js → quadrantDiagram-AXDQQJYC-DVyziZnc.js} +1 -1
- package/web/assets/{railroadDiagram-O6MQD6OU-C-aYV4dU.js → railroadDiagram-O6MQD6OU-CWgHq9nv.js} +1 -1
- package/web/assets/{requirementDiagram-IS5BZ75X-DHPnVlti.js → requirementDiagram-IS5BZ75X-B7fgi4lz.js} +1 -1
- package/web/assets/{sankeyDiagram-P5KCCOFB-DlxAwgv1.js → sankeyDiagram-P5KCCOFB-D1-pD_qh.js} +1 -1
- package/web/assets/{sequenceDiagram-WJ2MYXX4-DzVPZb2m.js → sequenceDiagram-WJ2MYXX4-B6oeRmVj.js} +1 -1
- package/web/assets/{sizeCapture-INFHLROL-BkwjaMAx.js → sizeCapture-INFHLROL-BTpKGFt5.js} +1 -1
- package/web/assets/{stateDiagram-XQSTLZYL-DIeNtdWj.js → stateDiagram-XQSTLZYL-zXJRxE6h.js} +1 -1
- package/web/assets/stateDiagram-v2-IH3M54BS-CmwZ6tXj.js +1 -0
- package/web/assets/{swimlanes-V6O3JKXN-CPUSs3Tj.js → swimlanes-V6O3JKXN-Dc7MXPb3.js} +1 -1
- package/web/assets/swimlanesDiagram-JKAHXJPX-BXoJEx2b.js +8 -0
- package/web/assets/{timeline-definition-24CTP7MA-CjBwDFJH.js → timeline-definition-24CTP7MA-DYhgbnjW.js} +1 -1
- package/web/assets/{vennDiagram-4TSXK5OY-DOsoEsMT.js → vennDiagram-4TSXK5OY-DRnme7za.js} +1 -1
- package/web/assets/{wardleyDiagram-VM6X3IG4-_fhLZdvF.js → wardleyDiagram-VM6X3IG4-wAoo4GsZ.js} +1 -1
- package/web/assets/{workspace-file-tree-CTzNl5A5.js → workspace-file-tree-DmAwvqtx.js} +1 -1
- package/web/assets/{xychartDiagram-S5SC5T6Z-D4Kz81TF.js → xychartDiagram-S5SC5T6Z-_Z_TOWBn.js} +1 -1
- package/web/index.html +1 -1
- package/web/assets/channel-68fpiRG4.js +0 -1
- package/web/assets/classDiagram-CYGNFDIV-Z4CG2h2d.js +0 -1
- package/web/assets/classDiagram-v2-TLXNO2FR-Z4CG2h2d.js +0 -1
- package/web/assets/stateDiagram-v2-IH3M54BS-CZR_2wND.js +0 -1
- package/web/assets/swimlanesDiagram-JKAHXJPX-C1Sms2Ey.js +0 -8
|
Binary file
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
// The host performs these actions for its signed-in caller, as with drive_upload_file. Agents use these tools, which ask before writes.
|
|
3
3
|
export const DRIVE_FILE_ACTIONS = ["drive_pull_file", "drive_file_status", "drive_push_file"];
|
|
4
|
-
const connectionId = z.string().regex(/^(google-workspace|emc_[A-Za-z0-9]+)$/).optional()
|
|
5
|
-
.describe("Selected Google Workspace connection; omit for the default. Unavailable selections never fall back to another account.");
|
|
4
|
+
const connectionId = z.string().regex(/^(google-workspace|microsoft-365|emc_[A-Za-z0-9]+)$/).optional()
|
|
5
|
+
.describe("Selected Google Workspace or Microsoft 365 connection; omit for the default. Unavailable selections never fall back to another account.");
|
|
6
6
|
const workspacePath = z.string().min(1).max(4096);
|
|
7
7
|
export const drivePullFileArgs = z.object({
|
|
8
|
-
fileId: z.string().min(1).max(2048).describe("Drive file ID or link."),
|
|
8
|
+
fileId: z.string().min(1).max(2048).describe("Google Drive file ID or link, or a OneDrive, SharePoint or Teams file link or item id."),
|
|
9
|
+
driveId: z.string().min(1).max(512).optional().describe("Microsoft 365 only: the driveId that came with the item id from a search or folder listing."),
|
|
10
|
+
provider: z.enum(["google-workspace", "microsoft-365"]).optional().describe("Only needed for a Microsoft item id without driveId; links and driveId identify Microsoft 365 files."),
|
|
9
11
|
path: workspacePath.optional().describe("Workspace path to save to. Defaults to drive/<file name>."),
|
|
10
|
-
format: z.string().regex(/^[a-z]{2,5}$/).optional().describe("Docs, Sheets, Slides and Drawings
|
|
12
|
+
format: z.string().regex(/^[a-z]{2,5}$/).optional().describe("Docs, Sheets, Slides and Drawings: xlsx, csv (first tab only), docx, md, txt, pptx, pdf, png or svg. OneDrive and SharePoint: pdf converts an Office file."),
|
|
11
13
|
connectionId,
|
|
12
14
|
overwrite: z.boolean().optional().describe("Replace a local copy even if it has edits not in Drive. Asks the person first."),
|
|
13
15
|
}).strict();
|
|
@@ -16,7 +18,7 @@ export const driveFileStatusArgs = z.object({
|
|
|
16
18
|
}).strict();
|
|
17
19
|
export const drivePushFileArgs = z.object({
|
|
18
20
|
path: workspacePath.describe("Workspace path of a pulled file."),
|
|
19
|
-
mode: z.enum(["replace", "copy"]).optional().describe("replace (default for stored files) updates the same
|
|
21
|
+
mode: z.enum(["replace", "copy"]).optional().describe("replace (default for stored files) updates the same file; copy saves a new file next to it."),
|
|
20
22
|
name: z.string().min(1).max(255).optional().describe("Name for a copy."),
|
|
21
23
|
}).strict();
|
|
22
24
|
function isRecord(value) {
|
|
@@ -33,7 +35,7 @@ async function askPermission(context, permission, patterns, metadata) {
|
|
|
33
35
|
export function createDriveFileTools(call) {
|
|
34
36
|
return {
|
|
35
37
|
drive_pull_file: {
|
|
36
|
-
description: "Save a Google Drive file into the workspace and return its path and revision, never its content. Use it to analyze or edit Office, PDF, CSV or any large file with shell tools. Docs, Sheets and Slides arrive as docx, xlsx and pptx unless format says otherwise.",
|
|
38
|
+
description: "Save a Google Drive, OneDrive or SharePoint file into the workspace and return its path and revision, never its content. Use it to analyze or edit Office, PDF, CSV or any large file with shell tools. Docs, Sheets and Slides arrive as docx, xlsx and pptx unless format says otherwise.",
|
|
37
39
|
args: drivePullFileArgs.shape,
|
|
38
40
|
async execute(rawArgs, context) {
|
|
39
41
|
const args = drivePullFileArgs.parse(rawArgs ?? {});
|
|
@@ -43,14 +45,14 @@ export function createDriveFileTools(call) {
|
|
|
43
45
|
},
|
|
44
46
|
},
|
|
45
47
|
drive_file_status: {
|
|
46
|
-
description: "For files pulled with drive_pull_file, report whether the local copy has edits not saved
|
|
48
|
+
description: "For files pulled with drive_pull_file, report whether the local copy has edits not saved back and whether the file changed in Drive, OneDrive or SharePoint since the pull.",
|
|
47
49
|
args: driveFileStatusArgs.shape,
|
|
48
50
|
async execute(rawArgs, context) {
|
|
49
51
|
return JSON.stringify(await call("drive_file_status", driveFileStatusArgs.parse(rawArgs ?? {}), context), null, 2);
|
|
50
52
|
},
|
|
51
53
|
},
|
|
52
54
|
drive_push_file: {
|
|
53
|
-
description: "Save a pulled file back to
|
|
55
|
+
description: "Save a pulled file back to where it came from when the person asks. Asks the person first. Stored files, including Office files in OneDrive and SharePoint, are replaced in place as a new version; Google Docs, Sheets and Slides and PDF conversions are saved as a new file next to the original. Returns drive_conflict, and changes nothing, when someone changed the file since the pull: pull it again and reapply the edits, or save a copy.",
|
|
54
56
|
args: drivePushFileArgs.shape,
|
|
55
57
|
async execute(rawArgs, context) {
|
|
56
58
|
const args = drivePushFileArgs.parse(rawArgs ?? {});
|
|
@@ -13873,12 +13873,14 @@ async function uiBridgeRequest(path, options = {}) {
|
|
|
13873
13873
|
|
|
13874
13874
|
// src/opencode-plugins/drive-file-tools.ts
|
|
13875
13875
|
var DRIVE_FILE_ACTIONS = ["drive_pull_file", "drive_file_status", "drive_push_file"];
|
|
13876
|
-
var connectionId = exports_external.string().regex(/^(google-workspace|emc_[A-Za-z0-9]+)$/).optional().describe("Selected Google Workspace connection; omit for the default. Unavailable selections never fall back to another account.");
|
|
13876
|
+
var connectionId = exports_external.string().regex(/^(google-workspace|microsoft-365|emc_[A-Za-z0-9]+)$/).optional().describe("Selected Google Workspace or Microsoft 365 connection; omit for the default. Unavailable selections never fall back to another account.");
|
|
13877
13877
|
var workspacePath = exports_external.string().min(1).max(4096);
|
|
13878
13878
|
var drivePullFileArgs = exports_external.object({
|
|
13879
|
-
fileId: exports_external.string().min(1).max(2048).describe("Drive file ID or link."),
|
|
13879
|
+
fileId: exports_external.string().min(1).max(2048).describe("Google Drive file ID or link, or a OneDrive, SharePoint or Teams file link or item id."),
|
|
13880
|
+
driveId: exports_external.string().min(1).max(512).optional().describe("Microsoft 365 only: the driveId that came with the item id from a search or folder listing."),
|
|
13881
|
+
provider: exports_external.enum(["google-workspace", "microsoft-365"]).optional().describe("Only needed for a Microsoft item id without driveId; links and driveId identify Microsoft 365 files."),
|
|
13880
13882
|
path: workspacePath.optional().describe("Workspace path to save to. Defaults to drive/<file name>."),
|
|
13881
|
-
format: exports_external.string().regex(/^[a-z]{2,5}$/).optional().describe("Docs, Sheets, Slides and Drawings
|
|
13883
|
+
format: exports_external.string().regex(/^[a-z]{2,5}$/).optional().describe("Docs, Sheets, Slides and Drawings: xlsx, csv (first tab only), docx, md, txt, pptx, pdf, png or svg. OneDrive and SharePoint: pdf converts an Office file."),
|
|
13882
13884
|
connectionId,
|
|
13883
13885
|
overwrite: exports_external.boolean().optional().describe("Replace a local copy even if it has edits not in Drive. Asks the person first.")
|
|
13884
13886
|
}).strict();
|
|
@@ -13887,7 +13889,7 @@ var driveFileStatusArgs = exports_external.object({
|
|
|
13887
13889
|
}).strict();
|
|
13888
13890
|
var drivePushFileArgs = exports_external.object({
|
|
13889
13891
|
path: workspacePath.describe("Workspace path of a pulled file."),
|
|
13890
|
-
mode: exports_external.enum(["replace", "copy"]).optional().describe("replace (default for stored files) updates the same
|
|
13892
|
+
mode: exports_external.enum(["replace", "copy"]).optional().describe("replace (default for stored files) updates the same file; copy saves a new file next to it."),
|
|
13891
13893
|
name: exports_external.string().min(1).max(255).optional().describe("Name for a copy.")
|
|
13892
13894
|
}).strict();
|
|
13893
13895
|
function isRecord2(value) {
|
|
@@ -13902,7 +13904,7 @@ async function askPermission(context, permission, patterns, metadata) {
|
|
|
13902
13904
|
function createDriveFileTools(call) {
|
|
13903
13905
|
return {
|
|
13904
13906
|
drive_pull_file: {
|
|
13905
|
-
description: "Save a Google Drive file into the workspace and return its path and revision, never its content. Use it to analyze or edit Office, PDF, CSV or any large file with shell tools. Docs, Sheets and Slides arrive as docx, xlsx and pptx unless format says otherwise.",
|
|
13907
|
+
description: "Save a Google Drive, OneDrive or SharePoint file into the workspace and return its path and revision, never its content. Use it to analyze or edit Office, PDF, CSV or any large file with shell tools. Docs, Sheets and Slides arrive as docx, xlsx and pptx unless format says otherwise.",
|
|
13906
13908
|
args: drivePullFileArgs.shape,
|
|
13907
13909
|
async execute(rawArgs, context) {
|
|
13908
13910
|
const args = drivePullFileArgs.parse(rawArgs ?? {});
|
|
@@ -13912,14 +13914,14 @@ function createDriveFileTools(call) {
|
|
|
13912
13914
|
}
|
|
13913
13915
|
},
|
|
13914
13916
|
drive_file_status: {
|
|
13915
|
-
description: "For files pulled with drive_pull_file, report whether the local copy has edits not saved
|
|
13917
|
+
description: "For files pulled with drive_pull_file, report whether the local copy has edits not saved back and whether the file changed in Drive, OneDrive or SharePoint since the pull.",
|
|
13916
13918
|
args: driveFileStatusArgs.shape,
|
|
13917
13919
|
async execute(rawArgs, context) {
|
|
13918
13920
|
return JSON.stringify(await call("drive_file_status", driveFileStatusArgs.parse(rawArgs ?? {}), context), null, 2);
|
|
13919
13921
|
}
|
|
13920
13922
|
},
|
|
13921
13923
|
drive_push_file: {
|
|
13922
|
-
description: "Save a pulled file back to
|
|
13924
|
+
description: "Save a pulled file back to where it came from when the person asks. Asks the person first. Stored files, including Office files in OneDrive and SharePoint, are replaced in place as a new version; Google Docs, Sheets and Slides and PDF conversions are saved as a new file next to the original. Returns drive_conflict, and changes nothing, when someone changed the file since the pull: pull it again and reapply the edits, or save a copy.",
|
|
13923
13925
|
args: drivePushFileArgs.shape,
|
|
13924
13926
|
async execute(rawArgs, context) {
|
|
13925
13927
|
const args = drivePushFileArgs.parse(rawArgs ?? {});
|