@alisio/plugin-google-chat 0.1.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/.agents/skills/google-chat-context/SKILL.md +63 -0
- package/LICENSE +21 -0
- package/README.md +170 -0
- package/cover.svg +25 -0
- package/dist/commands.d.ts +10 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +86 -0
- package/dist/commands.js.map +1 -0
- package/dist/config.d.ts +86 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +179 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +22 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +44 -0
- package/dist/errors.js.map +1 -0
- package/dist/http.d.ts +66 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +208 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +1 -0
- package/dist/oauth.d.ts +78 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +290 -0
- package/dist/oauth.js.map +1 -0
- package/dist/render.d.ts +18 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +50 -0
- package/dist/render.js.map +1 -0
- package/dist/text.d.ts +26 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +63 -0
- package/dist/text.js.map +1 -0
- package/dist/time.d.ts +12 -0
- package/dist/time.d.ts.map +1 -0
- package/dist/time.js +24 -0
- package/dist/time.js.map +1 -0
- package/dist/token-set.d.ts +26 -0
- package/dist/token-set.d.ts.map +1 -0
- package/dist/token-set.js +62 -0
- package/dist/token-set.js.map +1 -0
- package/dist/token.d.ts +30 -0
- package/dist/token.d.ts.map +1 -0
- package/dist/token.js +119 -0
- package/dist/token.js.map +1 -0
- package/dist/toolkit.d.ts +14 -0
- package/dist/toolkit.d.ts.map +1 -0
- package/dist/toolkit.js +39 -0
- package/dist/toolkit.js.map +1 -0
- package/dist/tools.d.ts +5 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +298 -0
- package/dist/tools.js.map +1 -0
- package/dist/transport.d.ts +36 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +114 -0
- package/dist/transport.js.map +1 -0
- package/dist/validation.d.ts +70 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +201 -0
- package/dist/validation.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { GoogleChatError } from "./errors.js";
|
|
2
|
+
import { hasControlCharacters } from "./text.js";
|
|
3
|
+
/** Stable identifier grammars shared by the JSON schemas and local validation. */
|
|
4
|
+
export const PATTERNS = {
|
|
5
|
+
spaceId: /^[A-Za-z0-9_-]{1,200}$/,
|
|
6
|
+
messageName: /^spaces\/[A-Za-z0-9_-]{1,200}\/messages\/[A-Za-z0-9_.-]{1,200}$/,
|
|
7
|
+
userReference: /^[A-Za-z0-9._%+@-]{1,200}$/,
|
|
8
|
+
pageToken: /^[A-Za-z0-9._~+/=-]{1,4096}$/,
|
|
9
|
+
clientMessageId: /^client-[a-z0-9-]{1,56}$/,
|
|
10
|
+
};
|
|
11
|
+
/** Google Chat's documented maximum message size. */
|
|
12
|
+
export const MAX_MESSAGE_BYTES = 32_000;
|
|
13
|
+
export function invalid(detail) {
|
|
14
|
+
throw new GoogleChatError("invalid input", detail);
|
|
15
|
+
}
|
|
16
|
+
function asObject(value) {
|
|
17
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
18
|
+
invalid("expected an object with named fields");
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
/** Reject unknown fields so every tool object is closed. */
|
|
22
|
+
export function parseInput(input, allowed) {
|
|
23
|
+
const value = asObject(input);
|
|
24
|
+
for (const key of Object.keys(value))
|
|
25
|
+
if (!allowed.includes(key))
|
|
26
|
+
invalid(`unknown field "${key}"`);
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
function requiredText(value, name, min, max) {
|
|
30
|
+
if (typeof value !== "string")
|
|
31
|
+
invalid(`"${name}" must be a string`);
|
|
32
|
+
const text = value.trim();
|
|
33
|
+
if (text.length < min)
|
|
34
|
+
invalid(`"${name}" is too short`);
|
|
35
|
+
if (text.length > max)
|
|
36
|
+
invalid(`"${name}" is too long`);
|
|
37
|
+
if (hasControlCharacters(text))
|
|
38
|
+
invalid(`"${name}" contains control characters`);
|
|
39
|
+
return text;
|
|
40
|
+
}
|
|
41
|
+
function optionalText(value, name, min, max) {
|
|
42
|
+
if (value === undefined || value === null)
|
|
43
|
+
return undefined;
|
|
44
|
+
return requiredText(value, name, min, max);
|
|
45
|
+
}
|
|
46
|
+
function optionalInt(value, name, min, max) {
|
|
47
|
+
if (value === undefined || value === null)
|
|
48
|
+
return undefined;
|
|
49
|
+
if (typeof value !== "number" || !Number.isInteger(value))
|
|
50
|
+
invalid(`"${name}" must be an integer`);
|
|
51
|
+
if (value < min || value > max)
|
|
52
|
+
invalid(`"${name}" must be between ${min} and ${max}`);
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
function optionalBool(value, name) {
|
|
56
|
+
if (value === undefined || value === null)
|
|
57
|
+
return undefined;
|
|
58
|
+
if (typeof value !== "boolean")
|
|
59
|
+
invalid(`"${name}" must be a boolean`);
|
|
60
|
+
return value;
|
|
61
|
+
}
|
|
62
|
+
function enumValue(value, name, allowed) {
|
|
63
|
+
if (typeof value !== "string" || !allowed.includes(value))
|
|
64
|
+
invalid(`"${name}" must be one of ${allowed.join(", ")}`);
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
function optionalEnum(value, name, allowed) {
|
|
68
|
+
if (value === undefined || value === null)
|
|
69
|
+
return undefined;
|
|
70
|
+
return enumValue(value, name, allowed);
|
|
71
|
+
}
|
|
72
|
+
function pattern(value, name, shape, hint) {
|
|
73
|
+
if (!shape.test(value))
|
|
74
|
+
invalid(`${name} must be ${hint}`);
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
/** Accept a bare space id or a `spaces/{id}` resource name; return the latter. */
|
|
78
|
+
export function normalizeSpace(value) {
|
|
79
|
+
const raw = requiredText(value, "space", 1, 250);
|
|
80
|
+
const id = raw.startsWith("spaces/") ? raw.slice("spaces/".length) : raw;
|
|
81
|
+
pattern(id, '"space"', PATTERNS.spaceId, "a space id or a spaces/{id} resource name");
|
|
82
|
+
return `spaces/${id}`;
|
|
83
|
+
}
|
|
84
|
+
/** Require a full `spaces/{space}/messages/{message}` resource name. */
|
|
85
|
+
export function normalizeMessageName(value) {
|
|
86
|
+
const raw = requiredText(value, "message", 1, 420);
|
|
87
|
+
return pattern(raw, '"message"', PATTERNS.messageName, 'a full resource name like "spaces/AAA/messages/BBB"');
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Normalize a user reference to `users/{user}`. Accepts an email, a user id, a
|
|
91
|
+
* `users/{user}` resource name, and a leading `@` (the Chat mention form).
|
|
92
|
+
*/
|
|
93
|
+
export function normalizeUserReference(value) {
|
|
94
|
+
const raw = requiredText(value, "sender", 1, 220);
|
|
95
|
+
const withoutAt = raw.startsWith("@") ? raw.slice(1) : raw;
|
|
96
|
+
if (withoutAt === "users/me")
|
|
97
|
+
return "users/me";
|
|
98
|
+
const user = withoutAt.startsWith("users/") ? withoutAt.slice("users/".length) : withoutAt;
|
|
99
|
+
pattern(user, '"sender"', PATTERNS.userReference, "an email, a user id, or a users/{user} resource name");
|
|
100
|
+
return `users/${user}`;
|
|
101
|
+
}
|
|
102
|
+
function messageText(value) {
|
|
103
|
+
if (typeof value !== "string")
|
|
104
|
+
invalid('"text" must be a string');
|
|
105
|
+
if (value.length === 0)
|
|
106
|
+
invalid('"text" must not be empty');
|
|
107
|
+
if (value.includes("\u0000"))
|
|
108
|
+
invalid('"text" must not contain a NUL character');
|
|
109
|
+
if (new TextEncoder().encode(value).length > MAX_MESSAGE_BYTES)
|
|
110
|
+
invalid(`"text" exceeds the ${MAX_MESSAGE_BYTES}-byte Google Chat message limit`);
|
|
111
|
+
return value;
|
|
112
|
+
}
|
|
113
|
+
const LIST_PAGE_MAX = 1000;
|
|
114
|
+
const SEARCH_PAGE_MAX = 100;
|
|
115
|
+
export function parseListSpacesInput(input) {
|
|
116
|
+
const v = parseInput(input, ["pageSize", "pageToken", "spaceType"]);
|
|
117
|
+
return {
|
|
118
|
+
pageSize: optionalInt(v.pageSize, "pageSize", 1, LIST_PAGE_MAX) ?? 25,
|
|
119
|
+
pageToken: v.pageToken === undefined || v.pageToken === null
|
|
120
|
+
? undefined
|
|
121
|
+
: pattern(requiredText(v.pageToken, "pageToken", 1, 4096), '"pageToken"', PATTERNS.pageToken, "a valid page token"),
|
|
122
|
+
spaceType: optionalEnum(v.spaceType, "spaceType", ["SPACE", "GROUP_CHAT", "DIRECT_MESSAGE"]),
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export function parseListMessagesInput(input) {
|
|
126
|
+
const v = parseInput(input, [
|
|
127
|
+
"space",
|
|
128
|
+
"pageSize",
|
|
129
|
+
"pageToken",
|
|
130
|
+
"filter",
|
|
131
|
+
"orderBy",
|
|
132
|
+
"showDeleted",
|
|
133
|
+
]);
|
|
134
|
+
return {
|
|
135
|
+
space: normalizeSpace(v.space),
|
|
136
|
+
pageSize: optionalInt(v.pageSize, "pageSize", 1, LIST_PAGE_MAX) ?? 25,
|
|
137
|
+
pageToken: v.pageToken === undefined || v.pageToken === null
|
|
138
|
+
? undefined
|
|
139
|
+
: pattern(requiredText(v.pageToken, "pageToken", 1, 4096), '"pageToken"', PATTERNS.pageToken, "a valid page token"),
|
|
140
|
+
filter: optionalText(v.filter, "filter", 1, 1024),
|
|
141
|
+
orderBy: optionalEnum(v.orderBy, "orderBy", ["createTime ASC", "createTime DESC"]),
|
|
142
|
+
showDeleted: optionalBool(v.showDeleted, "showDeleted"),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
export function parseSearchMessagesInput(input) {
|
|
146
|
+
const v = parseInput(input, ["query", "sender", "pageSize", "pageToken", "orderBy", "view"]);
|
|
147
|
+
const query = requiredText(v.query, "query", 1, 1000);
|
|
148
|
+
const sender = v.sender === undefined || v.sender === null ? undefined : normalizeUserReference(v.sender);
|
|
149
|
+
const filter = sender === undefined ? query : `sender.name = "${sender}" AND ${query}`;
|
|
150
|
+
return {
|
|
151
|
+
filter,
|
|
152
|
+
pageSize: optionalInt(v.pageSize, "pageSize", 1, SEARCH_PAGE_MAX) ?? 25,
|
|
153
|
+
pageToken: v.pageToken === undefined || v.pageToken === null
|
|
154
|
+
? undefined
|
|
155
|
+
: pattern(requiredText(v.pageToken, "pageToken", 1, 4096), '"pageToken"', PATTERNS.pageToken, "a valid page token"),
|
|
156
|
+
orderBy: optionalEnum(v.orderBy, "orderBy", ["createTime desc", "relevance desc"]),
|
|
157
|
+
view: optionalEnum(v.view, "view", ["SEARCH_MESSAGES_VIEW_BASIC", "SEARCH_MESSAGES_VIEW_FULL"]),
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
export function parseListMembershipsInput(input) {
|
|
161
|
+
const v = parseInput(input, ["space", "pageSize", "pageToken", "role", "memberType"]);
|
|
162
|
+
const role = optionalEnum(v.role, "role", ["ROLE_MEMBER", "ROLE_MANAGER"]);
|
|
163
|
+
const memberType = optionalEnum(v.memberType, "memberType", ["HUMAN", "BOT"]);
|
|
164
|
+
const clauses = [];
|
|
165
|
+
if (role !== undefined)
|
|
166
|
+
clauses.push(`role = "${role}"`);
|
|
167
|
+
if (memberType !== undefined)
|
|
168
|
+
clauses.push(`member.type = "${memberType}"`);
|
|
169
|
+
return {
|
|
170
|
+
space: normalizeSpace(v.space),
|
|
171
|
+
pageSize: optionalInt(v.pageSize, "pageSize", 1, LIST_PAGE_MAX) ?? 25,
|
|
172
|
+
pageToken: v.pageToken === undefined || v.pageToken === null
|
|
173
|
+
? undefined
|
|
174
|
+
: pattern(requiredText(v.pageToken, "pageToken", 1, 4096), '"pageToken"', PATTERNS.pageToken, "a valid page token"),
|
|
175
|
+
filter: clauses.length > 0 ? clauses.join(" AND ") : undefined,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
export function parseSendMessageInput(input) {
|
|
179
|
+
const v = parseInput(input, ["space", "text", "threadKey", "replyOption", "messageId"]);
|
|
180
|
+
return {
|
|
181
|
+
space: v.space === undefined || v.space === null ? undefined : normalizeSpace(v.space),
|
|
182
|
+
text: messageText(v.text),
|
|
183
|
+
threadKey: optionalText(v.threadKey, "threadKey", 1, 4000),
|
|
184
|
+
replyOption: optionalEnum(v.replyOption, "replyOption", [
|
|
185
|
+
"REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD",
|
|
186
|
+
"REPLY_MESSAGE_OR_FAIL",
|
|
187
|
+
]),
|
|
188
|
+
messageId: v.messageId === undefined || v.messageId === null
|
|
189
|
+
? undefined
|
|
190
|
+
: pattern(requiredText(v.messageId, "messageId", 1, 63), '"messageId"', PATTERNS.clientMessageId, 'a client-assigned id like "client-my-id"'),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
export function parseEditMessageInput(input) {
|
|
194
|
+
const v = parseInput(input, ["message", "text"]);
|
|
195
|
+
return { message: normalizeMessageName(v.message), text: messageText(v.text) };
|
|
196
|
+
}
|
|
197
|
+
export function parseDeleteMessageInput(input) {
|
|
198
|
+
const v = parseInput(input, ["message"]);
|
|
199
|
+
return { message: normalizeMessageName(v.message) };
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@alisio/plugin-google-chat",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Google Chat tools for Alisio with two independent, fail-closed authentication modes, read-first defaults, and untrusted-content framing.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"alisio-plugin",
|
|
7
|
+
"google-chat",
|
|
8
|
+
"chat",
|
|
9
|
+
"tools",
|
|
10
|
+
"webhook",
|
|
11
|
+
"oauth"
|
|
12
|
+
],
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/GustavoGutierrez/alisio-plugins.git",
|
|
17
|
+
"directory": "packages/plugin-google-chat"
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://github.com/GustavoGutierrez/alisio-plugins/tree/main/packages/plugin-google-chat#readme",
|
|
20
|
+
"bugs": {
|
|
21
|
+
"url": "https://github.com/GustavoGutierrez/alisio-plugins/issues"
|
|
22
|
+
},
|
|
23
|
+
"type": "module",
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=22.16"
|
|
26
|
+
},
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"import": "./dist/index.js"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"files": [
|
|
34
|
+
"dist",
|
|
35
|
+
".agents",
|
|
36
|
+
"README.md",
|
|
37
|
+
"LICENSE",
|
|
38
|
+
"cover.svg"
|
|
39
|
+
],
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"@alisio/sdk": ">=0.1.0-alpha.10 <0.2.0"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@alisio/sdk": "0.1.0-alpha.11",
|
|
45
|
+
"typescript": "7.0.2",
|
|
46
|
+
"vitest": "5.0.1"
|
|
47
|
+
},
|
|
48
|
+
"scripts": {
|
|
49
|
+
"build": "tsc -p tsconfig.json",
|
|
50
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
51
|
+
"test": "vitest run"
|
|
52
|
+
}
|
|
53
|
+
}
|