@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.
Files changed (69) hide show
  1. package/.agents/skills/google-chat-context/SKILL.md +63 -0
  2. package/LICENSE +21 -0
  3. package/README.md +170 -0
  4. package/cover.svg +25 -0
  5. package/dist/commands.d.ts +10 -0
  6. package/dist/commands.d.ts.map +1 -0
  7. package/dist/commands.js +86 -0
  8. package/dist/commands.js.map +1 -0
  9. package/dist/config.d.ts +86 -0
  10. package/dist/config.d.ts.map +1 -0
  11. package/dist/config.js +179 -0
  12. package/dist/config.js.map +1 -0
  13. package/dist/errors.d.ts +22 -0
  14. package/dist/errors.d.ts.map +1 -0
  15. package/dist/errors.js +44 -0
  16. package/dist/errors.js.map +1 -0
  17. package/dist/http.d.ts +66 -0
  18. package/dist/http.d.ts.map +1 -0
  19. package/dist/http.js +208 -0
  20. package/dist/http.js.map +1 -0
  21. package/dist/index.d.ts +49 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +71 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/oauth.d.ts +78 -0
  26. package/dist/oauth.d.ts.map +1 -0
  27. package/dist/oauth.js +290 -0
  28. package/dist/oauth.js.map +1 -0
  29. package/dist/render.d.ts +18 -0
  30. package/dist/render.d.ts.map +1 -0
  31. package/dist/render.js +50 -0
  32. package/dist/render.js.map +1 -0
  33. package/dist/text.d.ts +26 -0
  34. package/dist/text.d.ts.map +1 -0
  35. package/dist/text.js +63 -0
  36. package/dist/text.js.map +1 -0
  37. package/dist/time.d.ts +12 -0
  38. package/dist/time.d.ts.map +1 -0
  39. package/dist/time.js +24 -0
  40. package/dist/time.js.map +1 -0
  41. package/dist/token-set.d.ts +26 -0
  42. package/dist/token-set.d.ts.map +1 -0
  43. package/dist/token-set.js +62 -0
  44. package/dist/token-set.js.map +1 -0
  45. package/dist/token.d.ts +30 -0
  46. package/dist/token.d.ts.map +1 -0
  47. package/dist/token.js +119 -0
  48. package/dist/token.js.map +1 -0
  49. package/dist/toolkit.d.ts +14 -0
  50. package/dist/toolkit.d.ts.map +1 -0
  51. package/dist/toolkit.js +39 -0
  52. package/dist/toolkit.js.map +1 -0
  53. package/dist/tools.d.ts +5 -0
  54. package/dist/tools.d.ts.map +1 -0
  55. package/dist/tools.js +298 -0
  56. package/dist/tools.js.map +1 -0
  57. package/dist/transport.d.ts +36 -0
  58. package/dist/transport.d.ts.map +1 -0
  59. package/dist/transport.js +114 -0
  60. package/dist/transport.js.map +1 -0
  61. package/dist/validation.d.ts +70 -0
  62. package/dist/validation.d.ts.map +1 -0
  63. package/dist/validation.js +201 -0
  64. package/dist/validation.js.map +1 -0
  65. package/dist/version.d.ts +3 -0
  66. package/dist/version.d.ts.map +1 -0
  67. package/dist/version.js +3 -0
  68. package/dist/version.js.map +1 -0
  69. 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":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,kFAAkF;AAClF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,wBAAwB;IACjC,WAAW,EAAE,iEAAiE;IAC9E,aAAa,EAAE,4BAA4B;IAC3C,SAAS,EAAE,8BAA8B;IACzC,eAAe,EAAE,0BAA0B;CACnC,CAAC;AAEX,qDAAqD;AACrD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7D,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAClD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,OAA0B;IACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,IAAY,EAAE,GAAW,EAAE,GAAW;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,IAAI,IAAI,oBAAoB,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,CAAC,IAAI,IAAI,gBAAgB,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,CAAC,IAAI,IAAI,eAAe,CAAC,CAAC;IACxD,IAAI,oBAAoB,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,IAAI,+BAA+B,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,IAAY,EAAE,GAAW,EAAE,GAAW;IAC1E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAY,EAAE,GAAW,EAAE,GAAW;IACzE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACvD,OAAO,CAAC,IAAI,IAAI,sBAAsB,CAAC,CAAC;IAC1C,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG;QAAE,OAAO,CAAC,IAAI,IAAI,qBAAqB,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,IAAY;IAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,IAAI,qBAAqB,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAmB,KAAc,EAAE,IAAY,EAAE,OAAqB;IACtF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAU,CAAC;QAC5D,OAAO,CAAC,IAAI,IAAI,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,OAAO,KAAU,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,IAAY,EACZ,OAAqB;IAErB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,IAAY,EAAE,KAAa,EAAE,IAAY;IACvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACzE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;IACtF,OAAO,UAAU,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,OAAO,OAAO,CACZ,GAAG,EACH,WAAW,EACX,QAAQ,CAAC,WAAW,EACpB,qDAAqD,CACtD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3D,IAAI,SAAS,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,OAAO,CACL,IAAI,EACJ,UAAU,EACV,QAAQ,CAAC,aAAa,EACtB,sDAAsD,CACvD,CAAC;IACF,OAAO,SAAS,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACjF,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,iBAAiB;QAC5D,OAAO,CAAC,sBAAsB,iBAAiB,iCAAiC,CAAC,CAAC;IACpF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,eAAe,GAAG,GAAG,CAAC;AAQ5B,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IACpE,OAAO;QACL,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,CAAC,IAAI,EAAE;QACrE,SAAS,EACP,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CACL,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,EAC/C,aAAa,EACb,QAAQ,CAAC,SAAS,EAClB,oBAAoB,CACrB;QACP,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;KAC7F,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE;QAC1B,OAAO;QACP,UAAU;QACV,WAAW;QACX,QAAQ;QACR,SAAS;QACT,aAAa;KACd,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9B,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,CAAC,IAAI,EAAE;QACrE,SAAS,EACP,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CACL,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,EAC/C,aAAa,EACb,QAAQ,CAAC,SAAS,EAClB,oBAAoB,CACrB;QACP,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC;QACjD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QAClF,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC;KACxD,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7F,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,MAAM,GACV,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,MAAM,SAAS,KAAK,EAAE,CAAC;IACvF,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,eAAe,CAAC,IAAI,EAAE;QACvE,SAAS,EACP,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CACL,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,EAC/C,aAAa,EACb,QAAQ,CAAC,SAAS,EAClB,oBAAoB,CACrB;QACP,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAClF,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,4BAA4B,EAAE,2BAA2B,CAAC,CAAC;KAChG,CAAC;AACJ,CAAC;AASD,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACtF,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC;IACzD,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,UAAU,GAAG,CAAC,CAAC;IAC5E,OAAO;QACL,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9B,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,CAAC,IAAI,EAAE;QACrE,SAAS,EACP,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CACL,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,EAC/C,aAAa,EACb,QAAQ,CAAC,SAAS,EAClB,oBAAoB,CACrB;QACP,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;KAC/D,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IACxF,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;QACtF,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACzB,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC;QAC1D,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE;YACtD,sCAAsC;YACtC,uBAAuB;SACxB,CAAC;QACF,SAAS,EACP,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CACL,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,EAC7C,aAAa,EACb,QAAQ,CAAC,eAAe,EACxB,0CAA0C,CAC3C;KACR,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACjF,CAAC;AAMD,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;AACtD,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Package version, kept in sync with `package.json` by the release tooling. */
2
+ export declare const VERSION = "0.1.0";
3
+ //# sourceMappingURL=version.d.ts.map
@@ -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"}
@@ -0,0 +1,3 @@
1
+ /** Package version, kept in sync with `package.json` by the release tooling. */
2
+ export const VERSION = "0.1.0";
3
+ //# sourceMappingURL=version.js.map
@@ -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
+ }