@joe-broadhead/opencode-gws 0.0.3 → 0.0.4
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/CHANGELOG.md +11 -0
- package/assets/icon.svg +1 -0
- package/dist/index.js +9 -6
- package/package.json +13 -6
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and versions follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
4
4
|
|
|
5
|
+
## [0.0.4] - 2026-11-04
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Jelly shows the plugin's one-line summary ("Gmail, Calendar, Drive, Docs and Sheets.") and its icon, a neutral envelope over a page (`assets/icon.svg`, now in the package). A Jelly release that does not know these two fields refuses the declaration, so this version needs a Jelly that accepts them.
|
|
10
|
+
- In Jelly, a web tab can sign in to Google Workspace through Jelly's sign-in relay: the `google` sign-in declares `relay` with the `redirectUri` and `callbackPort` fields the plugin already takes. Nothing changes without Jelly.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Planning `gmail.users.drafts.send` for a draft that cannot be read, or that names no recipient, now sets `recipientsUnknown` in the preview ("the draft could not be read or names no recipient"), so a recipient rule refuses it with `RECIPIENTS_UNKNOWN`. Before, such a plan could show no recipients and no reason.
|
|
15
|
+
|
|
5
16
|
## [0.0.3] - 2026-11-04
|
|
6
17
|
|
|
7
18
|
### Fixed
|
package/assets/icon.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48"><rect width="48" height="48" rx="12" fill="#52606D"/><path d="M21 9h15a2 2 0 0 1 2 2v17a2 2 0 0 1-2 2H21a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2z" fill="#CBD2D9"/><path d="M23.5 14h10M23.5 18.5h10" fill="none" stroke="#52606D" stroke-width="2.4" stroke-linecap="round"/><rect x="9" y="20" width="22" height="17" rx="2.5" fill="#FFFFFF"/><path d="M12 23.5l8 6 8-6" fill="none" stroke="#52606D" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
package/dist/index.js
CHANGED
|
@@ -6576,7 +6576,7 @@ var ErrorCode = {
|
|
|
6576
6576
|
next: "Do not work around it. If the message says to use gws_plan, plan the change; otherwise tell the user, who can change the plugin policy."
|
|
6577
6577
|
},
|
|
6578
6578
|
RECIPIENTS_UNKNOWN: {
|
|
6579
|
-
meaning: "A policy rule limits recipients, and the plugin could not tell who this send or share reaches: a raw message without readable To, Cc or Bcc headers, a draft, message or event it could not read, or a method whose recipients it does not know. Nothing ran.",
|
|
6579
|
+
meaning: "A policy rule limits recipients, and the plugin could not tell who this send or share reaches: a raw message without readable To, Cc or Bcc headers, a draft, message or event it could not read, a draft that names no recipient, or a method whose recipients it does not know. Nothing ran.",
|
|
6580
6580
|
next: "Name the recipients in the request (to, cc and bcc, or the To, Cc and Bcc headers of raw), or tell the user the policy rule refuses this method."
|
|
6581
6581
|
},
|
|
6582
6582
|
ACCOUNT_DOMAIN_UNKNOWN: {
|
|
@@ -7910,7 +7910,7 @@ function checkHost(version2, range, allowUntested) {
|
|
|
7910
7910
|
}
|
|
7911
7911
|
|
|
7912
7912
|
// src/domain/version.ts
|
|
7913
|
-
var PLUGIN_VERSION = "0.0.
|
|
7913
|
+
var PLUGIN_VERSION = "0.0.4";
|
|
7914
7914
|
var PLUGIN_ID = "google-workspace.gws";
|
|
7915
7915
|
|
|
7916
7916
|
// src/host/agents.ts
|
|
@@ -11185,6 +11185,7 @@ var draftsSend = (request) => {
|
|
|
11185
11185
|
operation: "gmail.users.drafts.get",
|
|
11186
11186
|
params: { userId, id, format: "metadata", fields: "message/payload/headers" },
|
|
11187
11187
|
what: "the draft",
|
|
11188
|
+
none: "the draft could not be read or names no recipient",
|
|
11188
11189
|
extract(data) {
|
|
11189
11190
|
const found = headers(record2(data)["message"]);
|
|
11190
11191
|
return found ? setOf([...found.get("to") ?? [], ...found.get("cc") ?? [], ...found.get("bcc") ?? []]) : void 0;
|
|
@@ -11367,13 +11368,15 @@ function recipientPlan(operation, category, request) {
|
|
|
11367
11368
|
}
|
|
11368
11369
|
return { known: scanned, lookups: [] };
|
|
11369
11370
|
}
|
|
11370
|
-
function withLookup(recipients, found,
|
|
11371
|
-
if (!found) return { ...recipients, unknown: recipients.unknown ?? `${what} could not be read` };
|
|
11372
|
-
|
|
11371
|
+
function withLookup(recipients, found, lookup) {
|
|
11372
|
+
if (!found) return { ...recipients, unknown: recipients.unknown ?? `${lookup.what} could not be read` };
|
|
11373
|
+
const merged = {
|
|
11373
11374
|
...recipients,
|
|
11374
11375
|
addresses: [.../* @__PURE__ */ new Set([...recipients.addresses, ...found.addresses])],
|
|
11375
11376
|
domains: [.../* @__PURE__ */ new Set([...recipients.domains, ...found.domains])]
|
|
11376
11377
|
};
|
|
11378
|
+
if (lookup.none && merged.addresses.length === 0 && merged.domains.length === 0) merged.unknown ??= lookup.none;
|
|
11379
|
+
return merged;
|
|
11377
11380
|
}
|
|
11378
11381
|
function recipientLabels(recipients) {
|
|
11379
11382
|
return [...recipients.addresses, ...recipients.domains.map((domain) => `*@${domain}`)];
|
|
@@ -12220,7 +12223,7 @@ var Operations = class {
|
|
|
12220
12223
|
let recipients = plan2.known;
|
|
12221
12224
|
if (plan2.lookups.length > 0) {
|
|
12222
12225
|
const self = plan2.needsSelf ? await this.ownAddress(request.account, entry.service, ctx) : void 0;
|
|
12223
|
-
for (const lookup of plan2.lookups) recipients = withLookup(recipients, await this.lookup(lookup, request.account, ctx, self), lookup
|
|
12226
|
+
for (const lookup of plan2.lookups) recipients = withLookup(recipients, await this.lookup(lookup, request.account, ctx, self), lookup);
|
|
12224
12227
|
}
|
|
12225
12228
|
const configured = this.runtime.config.accounts[request.account]?.domains;
|
|
12226
12229
|
const reaches = recipients.addresses.length > 0 || recipients.domains.length > 0 || recipients.unknown !== void 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@joe-broadhead/opencode-gws",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Unofficial OpenCode plugin for Google Workspace (gws CLI)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
28
|
"dist",
|
|
29
|
+
"assets/icon.svg",
|
|
29
30
|
"skills",
|
|
30
31
|
"manifest/generated.json",
|
|
31
32
|
"views/gmail-thread.html",
|
|
@@ -51,10 +52,10 @@
|
|
|
51
52
|
"docs:coverage": "node scripts/generate-docs.mjs"
|
|
52
53
|
},
|
|
53
54
|
"optionalDependencies": {
|
|
54
|
-
"@joe-broadhead/opencode-gws-bin-darwin-arm64": "0.0.
|
|
55
|
-
"@joe-broadhead/opencode-gws-bin-darwin-x64": "0.0.
|
|
56
|
-
"@joe-broadhead/opencode-gws-bin-linux-arm64-gnu": "0.0.
|
|
57
|
-
"@joe-broadhead/opencode-gws-bin-linux-x64-gnu": "0.0.
|
|
55
|
+
"@joe-broadhead/opencode-gws-bin-darwin-arm64": "0.0.4",
|
|
56
|
+
"@joe-broadhead/opencode-gws-bin-darwin-x64": "0.0.4",
|
|
57
|
+
"@joe-broadhead/opencode-gws-bin-linux-arm64-gnu": "0.0.4",
|
|
58
|
+
"@joe-broadhead/opencode-gws-bin-linux-x64-gnu": "0.0.4"
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
60
61
|
"@babel/core": "7.29.7",
|
|
@@ -76,6 +77,8 @@
|
|
|
76
77
|
},
|
|
77
78
|
"jelly": {
|
|
78
79
|
"title": "Google Workspace",
|
|
80
|
+
"summary": "Gmail, Calendar, Drive, Docs and Sheets.",
|
|
81
|
+
"icon": "assets/icon.svg",
|
|
79
82
|
"tools": [
|
|
80
83
|
{
|
|
81
84
|
"name": "gws.status",
|
|
@@ -169,7 +172,11 @@
|
|
|
169
172
|
{
|
|
170
173
|
"id": "google",
|
|
171
174
|
"label": "Google Workspace",
|
|
172
|
-
"integration": "gws-*"
|
|
175
|
+
"integration": "gws-*",
|
|
176
|
+
"relay": {
|
|
177
|
+
"redirectField": "redirectUri",
|
|
178
|
+
"portField": "callbackPort"
|
|
179
|
+
}
|
|
173
180
|
}
|
|
174
181
|
],
|
|
175
182
|
"contributes": {
|