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.
Files changed (71) hide show
  1. package/dist/{opencode-plugin-deps-1.18.30.tgz → opencode-plugin-deps-1.18.33.tgz} +0 -0
  2. package/dist/opencode-plugins/drive-file-tools.js +10 -8
  3. package/dist/opencode-plugins/openwork-extensions-preview.js +9 -7
  4. package/dist/openwork-server.mjs +317 -40
  5. package/package.json +1 -1
  6. package/web/assets/{abnfDiagram-VCTEODGH-DGCabXot.js → abnfDiagram-VCTEODGH-DJzrT8Ql.js} +1 -1
  7. package/web/assets/{app-Cy3sY2K8.js → app-_2KkkZIM.js} +10 -10
  8. package/web/assets/{arc-OJTfUP9L.js → arc-KehB1xN5.js} +1 -1
  9. package/web/assets/{architectureDiagram-5GKGNRK7-Ch0Zt81S.js → architectureDiagram-5GKGNRK7-C_GL2639.js} +1 -1
  10. package/web/assets/{artifact-code-view-CSo8dBet.js → artifact-code-view-CYn_58gV.js} +1 -1
  11. package/web/assets/{artifact-spreadsheet-editor-DG2AL4aO.js → artifact-spreadsheet-editor-f6V-tYvi.js} +1 -1
  12. package/web/assets/{artifact-text-editor-BKs1cI6V.js → artifact-text-editor-CiSlW3kl.js} +1 -1
  13. package/web/assets/{blockDiagram-OSKFZWR5-Dur4PitI.js → blockDiagram-OSKFZWR5-DErH-7gY.js} +1 -1
  14. package/web/assets/{c4Diagram-7LVT6UL2-DN-qrh5o.js → c4Diagram-7LVT6UL2-aML4z_n9.js} +1 -1
  15. package/web/assets/channel-7oM0ncHI.js +1 -0
  16. package/web/assets/{chunk-2Q5K7J3B-BSmk0dam.js → chunk-2Q5K7J3B-Dw_IH9rW.js} +1 -1
  17. package/web/assets/{chunk-5VM5RSS4-BwAmjLhK.js → chunk-5VM5RSS4-aeJEQ945.js} +1 -1
  18. package/web/assets/{chunk-F27PBJKO-DLKbY_DS.js → chunk-F27PBJKO-hZwti-Oc.js} +1 -1
  19. package/web/assets/{chunk-HLEWEB6X-s4I3BuHN.js → chunk-HLEWEB6X-JFNzm3Ge.js} +1 -1
  20. package/web/assets/{chunk-JWPE2WC7-LslAnaQK.js → chunk-JWPE2WC7-B34hvYk7.js} +1 -1
  21. package/web/assets/{chunk-POPQ4Y6H-e0_lKBGk.js → chunk-POPQ4Y6H-CDqgEp-q.js} +1 -1
  22. package/web/assets/{chunk-SVP7TREG-CBKOSsQl.js → chunk-SVP7TREG-B65ta9aQ.js} +1 -1
  23. package/web/assets/{chunk-XXDRQBXY-Bwqkh7ZD.js → chunk-XXDRQBXY-DjTi6c9m.js} +1 -1
  24. package/web/assets/{chunk-ZLD2IHE6-anLhhsDd.js → chunk-ZLD2IHE6-CbviXFvb.js} +1 -1
  25. package/web/assets/classDiagram-CYGNFDIV-BkidFauP.js +1 -0
  26. package/web/assets/classDiagram-v2-TLXNO2FR-BkidFauP.js +1 -0
  27. package/web/assets/{cose-bilkent-JH36ORCC-CCj043X5.js → cose-bilkent-JH36ORCC-Cl9SO5zd.js} +1 -1
  28. package/web/assets/{cynefin-OW5HDTMX-BGWD-i0N.js → cynefin-OW5HDTMX-CAcz2tHt.js} +1 -1
  29. package/web/assets/{cynefinDiagram-5FMLGOSQ-ZWq_C5SK.js → cynefinDiagram-5FMLGOSQ-BJHft4FO.js} +1 -1
  30. package/web/assets/{dagre-OS7QT2EB-In3Mah_T.js → dagre-OS7QT2EB-DbdnY1uS.js} +1 -1
  31. package/web/assets/{diagram-S7CK7UJ4-DaTd6oXD.js → diagram-S7CK7UJ4-C07WD5Lc.js} +1 -1
  32. package/web/assets/{diagram-UQ7AKVKN-D3jwCd_v.js → diagram-UQ7AKVKN-D8VCjq9x.js} +1 -1
  33. package/web/assets/{diagram-VSXAHHWV-CsK-_hfn.js → diagram-VSXAHHWV-D1XSfMnK.js} +1 -1
  34. package/web/assets/{diagram-VX7I27RA-BBLQ2mL7.js → diagram-VX7I27RA-3GZe-yrf.js} +1 -1
  35. package/web/assets/{diagram-Z3DM3KII-CUM2PN0X.js → diagram-Z3DM3KII-CI43WcIB.js} +1 -1
  36. package/web/assets/{ebnfDiagram-PWID7BFC-BjJTJ9Vr.js → ebnfDiagram-PWID7BFC-CTzouade.js} +1 -1
  37. package/web/assets/{erDiagram-2YWLMYGG-BhjMQMDs.js → erDiagram-2YWLMYGG-CNcqsnqx.js} +1 -1
  38. package/web/assets/{flowDiagram-T62WH6J4-KrGbrW-t.js → flowDiagram-T62WH6J4-pomAqjgF.js} +1 -1
  39. package/web/assets/{ganttDiagram-EL5Y4UJY-Co_OE6ls.js → ganttDiagram-EL5Y4UJY-C1dNaxxj.js} +1 -1
  40. package/web/assets/{gitGraphDiagram-WWUBYQGX-BxM4C4Ti.js → gitGraphDiagram-WWUBYQGX-Ni8GECg1.js} +1 -1
  41. package/web/assets/{infoDiagram-FKFFQAWI-C8YaW3a6.js → infoDiagram-FKFFQAWI-C0kvE7Zu.js} +1 -1
  42. package/web/assets/{ishikawaDiagram-5VMMS53U-MPTb2C9Y.js → ishikawaDiagram-5VMMS53U-CxmP_irp.js} +1 -1
  43. package/web/assets/{journeyDiagram-EYS64GPL-Dzq-vllP.js → journeyDiagram-EYS64GPL-60GkPgH5.js} +1 -1
  44. package/web/assets/{kanban-definition-UXKFOSKX-DWhE5bnH.js → kanban-definition-UXKFOSKX-ByxcB0T_.js} +1 -1
  45. package/web/assets/{layout-CMyIV62W.js → layout-BD9ef90s.js} +1 -1
  46. package/web/assets/{linear-CX-tWibZ.js → linear-Dp9l0lBr.js} +1 -1
  47. package/web/assets/{mermaid.core-DcgS6fFC.js → mermaid.core-FKm3Akes.js} +6 -6
  48. package/web/assets/{mindmap-definition-THT77NOG-CJzNRYpk.js → mindmap-definition-THT77NOG-i7WJlWHV.js} +1 -1
  49. package/web/assets/{pegDiagram-XKGWAZYB-BSIi724T.js → pegDiagram-XKGWAZYB-DfI-LsJq.js} +1 -1
  50. package/web/assets/{pieDiagram-E7YTZNPT-CoArMhZD.js → pieDiagram-E7YTZNPT-kcgWYBSb.js} +1 -1
  51. package/web/assets/{quadrantDiagram-AXDQQJYC-B9HoxOyK.js → quadrantDiagram-AXDQQJYC-DVyziZnc.js} +1 -1
  52. package/web/assets/{railroadDiagram-O6MQD6OU-C-aYV4dU.js → railroadDiagram-O6MQD6OU-CWgHq9nv.js} +1 -1
  53. package/web/assets/{requirementDiagram-IS5BZ75X-DHPnVlti.js → requirementDiagram-IS5BZ75X-B7fgi4lz.js} +1 -1
  54. package/web/assets/{sankeyDiagram-P5KCCOFB-DlxAwgv1.js → sankeyDiagram-P5KCCOFB-D1-pD_qh.js} +1 -1
  55. package/web/assets/{sequenceDiagram-WJ2MYXX4-DzVPZb2m.js → sequenceDiagram-WJ2MYXX4-B6oeRmVj.js} +1 -1
  56. package/web/assets/{sizeCapture-INFHLROL-BkwjaMAx.js → sizeCapture-INFHLROL-BTpKGFt5.js} +1 -1
  57. package/web/assets/{stateDiagram-XQSTLZYL-DIeNtdWj.js → stateDiagram-XQSTLZYL-zXJRxE6h.js} +1 -1
  58. package/web/assets/stateDiagram-v2-IH3M54BS-CmwZ6tXj.js +1 -0
  59. package/web/assets/{swimlanes-V6O3JKXN-CPUSs3Tj.js → swimlanes-V6O3JKXN-Dc7MXPb3.js} +1 -1
  60. package/web/assets/swimlanesDiagram-JKAHXJPX-BXoJEx2b.js +8 -0
  61. package/web/assets/{timeline-definition-24CTP7MA-CjBwDFJH.js → timeline-definition-24CTP7MA-DYhgbnjW.js} +1 -1
  62. package/web/assets/{vennDiagram-4TSXK5OY-DOsoEsMT.js → vennDiagram-4TSXK5OY-DRnme7za.js} +1 -1
  63. package/web/assets/{wardleyDiagram-VM6X3IG4-_fhLZdvF.js → wardleyDiagram-VM6X3IG4-wAoo4GsZ.js} +1 -1
  64. package/web/assets/{workspace-file-tree-CTzNl5A5.js → workspace-file-tree-DmAwvqtx.js} +1 -1
  65. package/web/assets/{xychartDiagram-S5SC5T6Z-D4Kz81TF.js → xychartDiagram-S5SC5T6Z-_Z_TOWBn.js} +1 -1
  66. package/web/index.html +1 -1
  67. package/web/assets/channel-68fpiRG4.js +0 -1
  68. package/web/assets/classDiagram-CYGNFDIV-Z4CG2h2d.js +0 -1
  69. package/web/assets/classDiagram-v2-TLXNO2FR-Z4CG2h2d.js +0 -1
  70. package/web/assets/stateDiagram-v2-IH3M54BS-CZR_2wND.js +0 -1
  71. package/web/assets/swimlanesDiagram-JKAHXJPX-C1Sms2Ey.js +0 -8
@@ -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 only: xlsx, csv (first tab only), docx, md, txt, pptx, pdf, png or svg."),
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 Drive file; copy saves a new file next to it."),
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 to Drive and whether the file changed in Drive since the pull.",
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 Google Drive when the person asks. Asks the person first. Stored files are replaced in place as a new Drive version; Docs, Sheets and Slides are saved as a new Google file next to the original. Returns drive_conflict, and changes nothing, when someone changed the file in Drive since the pull: pull it again and reapply the edits, or save a copy.",
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 only: xlsx, csv (first tab only), docx, md, txt, pptx, pdf, png or svg."),
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 Drive file; copy saves a new file next to it."),
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 to Drive and whether the file changed in Drive since the pull.",
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 Google Drive when the person asks. Asks the person first. Stored files are replaced in place as a new Drive version; Docs, Sheets and Slides are saved as a new Google file next to the original. Returns drive_conflict, and changes nothing, when someone changed the file in Drive since the pull: pull it again and reapply the edits, or save a copy.",
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 ?? {});