@apteva/integrations 0.3.43 → 0.3.45
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/http-executor.d.ts.map +1 -1
- package/dist/http-executor.js +33 -10
- package/dist/http-executor.js.map +1 -1
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +16 -1
- package/dist/oauth.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/apps/gmail.json +13 -8
- package/src/apps/google-ads.json +10 -5
- package/src/apps/google-calendar.json +7 -2
- package/src/apps/google-docs.json +7 -2
- package/src/apps/google-drive.json +7 -2
- package/src/apps/google-sheets.json +311 -190
- package/src/apps/youtube-api.json +10 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-executor.d.ts","sourceRoot":"","sources":["../src/http-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAEf,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,qBAAqB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"http-executor.d.ts","sourceRoot":"","sources":["../src/http-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAEf,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,qBAAqB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAoH5B"}
|
package/dist/http-executor.js
CHANGED
|
@@ -17,12 +17,35 @@ export async function executeTool(opts) {
|
|
|
17
17
|
};
|
|
18
18
|
// 4. Build auth query params (e.g. Pushover's ?token=xxx)
|
|
19
19
|
const authQueryParams = buildAuthQueryParams(app, credentials);
|
|
20
|
-
// 5.
|
|
21
|
-
//
|
|
20
|
+
// 5. Split input into path-substituted, query-string, and body buckets.
|
|
21
|
+
// - Path params: already substituted into `url` above; drop from the
|
|
22
|
+
// remaining set so we don't echo them in body or query.
|
|
23
|
+
// - tool.query_params: explicitly declared by the template; always
|
|
24
|
+
// sent as URL query string regardless of HTTP method. Required for
|
|
25
|
+
// APIs that mix query+body on POST/PUT (e.g. Google Sheets'
|
|
26
|
+
// values:append puts valueInputOption in the URL but the
|
|
27
|
+
// ValueRange object in the body).
|
|
28
|
+
// - GET/DELETE: everything left over goes to query string.
|
|
29
|
+
// - POST/PUT/PATCH: everything left over goes to body.
|
|
22
30
|
const pathParams = extractPathParams(tool.path);
|
|
23
|
-
const
|
|
31
|
+
const declaredQueryParams = tool.query_params || [];
|
|
32
|
+
const remainingParams = {};
|
|
33
|
+
const toolQueryParams = {};
|
|
34
|
+
for (const [k, v] of Object.entries(input)) {
|
|
35
|
+
if (pathParams.includes(k))
|
|
36
|
+
continue;
|
|
37
|
+
if (declaredQueryParams.includes(k)) {
|
|
38
|
+
// Skip undefined / null so optional query fields don't show up
|
|
39
|
+
// in the URL as empty strings.
|
|
40
|
+
if (v !== undefined && v !== null && v !== "") {
|
|
41
|
+
toolQueryParams[k] = v;
|
|
42
|
+
}
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
remainingParams[k] = v;
|
|
46
|
+
}
|
|
24
47
|
let finalUrl = url;
|
|
25
|
-
const allQueryParams = { ...authQueryParams };
|
|
48
|
+
const allQueryParams = { ...authQueryParams, ...toolQueryParams };
|
|
26
49
|
if (tool.method === "GET" || tool.method === "DELETE") {
|
|
27
50
|
Object.assign(allQueryParams, remainingParams);
|
|
28
51
|
}
|
|
@@ -49,12 +72,12 @@ export async function executeTool(opts) {
|
|
|
49
72
|
}
|
|
50
73
|
}
|
|
51
74
|
}
|
|
52
|
-
// Append query params to URL
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
75
|
+
// Append query params to URL. For GET/DELETE this includes everything;
|
|
76
|
+
// for POST/PUT/PATCH it includes only auth + tool-declared query params
|
|
77
|
+
// (the body bucket is sent as a JSON body separately above).
|
|
78
|
+
const qs = buildQueryString(allQueryParams);
|
|
79
|
+
if (qs)
|
|
80
|
+
finalUrl += (finalUrl.includes("?") ? "&" : "?") + qs;
|
|
58
81
|
// 5. Execute the request
|
|
59
82
|
try {
|
|
60
83
|
const response = await fetch(finalUrl, fetchOpts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-executor.js","sourceRoot":"","sources":["../src/http-executor.ts"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAwB;IAExB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAEhE,kEAAkE;IAClE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAElE,sDAAsD;IACtD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE/C,2BAA2B;IAC3B,MAAM,SAAS,GAAgB;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO;QACP,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;KACrC,CAAC;IAEF,0DAA0D;IAC1D,MAAM,eAAe,GAAG,oBAAoB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE/D,0DAA0D;IAC1D,
|
|
1
|
+
{"version":3,"file":"http-executor.js","sourceRoot":"","sources":["../src/http-executor.ts"],"names":[],"mappings":"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"}
|
package/dist/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAiCnE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CA4C3B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CA8B3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAchC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAK1E"}
|
package/dist/oauth.js
CHANGED
|
@@ -15,7 +15,22 @@ export function getAuthorizationUrl(opts) {
|
|
|
15
15
|
if (opts.state) {
|
|
16
16
|
params.set("state", opts.state);
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
// Merge in provider-specific extras (e.g. Google's access_type=offline
|
|
19
|
+
// + prompt=consent which are required to actually receive a
|
|
20
|
+
// refresh_token on every consent, not just the first one). Standard
|
|
21
|
+
// params above are not allowed to be clobbered — flow-critical fields
|
|
22
|
+
// like response_type and client_id stay locked.
|
|
23
|
+
if (oauth.extra_authorize_params) {
|
|
24
|
+
for (const [k, v] of Object.entries(oauth.extra_authorize_params)) {
|
|
25
|
+
if (!params.has(k))
|
|
26
|
+
params.set(k, v);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// Use the right separator if the authorize_url already has a query
|
|
30
|
+
// string (rare but legal — some templates encode static prefilters
|
|
31
|
+
// there).
|
|
32
|
+
const sep = oauth.authorize_url.includes("?") ? "&" : "?";
|
|
33
|
+
return `${oauth.authorize_url}${sep}${params.toString()}`;
|
|
19
34
|
}
|
|
20
35
|
/**
|
|
21
36
|
* Exchange an authorization code for access/refresh tokens.
|
package/dist/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAiCA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,2BAA2B,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,SAAS,EAAE,IAAI,CAAC,QAAQ;QACxB,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/C,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,GAAG,KAAK,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAiCA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,2BAA2B,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,SAAS,EAAE,IAAI,CAAC,QAAQ;QACxB,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/C,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,uEAAuE;IACvE,4DAA4D;IAC5D,oEAAoE;IACpE,sEAAsE;IACtE,gDAAgD;IAChD,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,mEAAmE;IACnE,UAAU;IACV,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1D,OAAO,GAAG,KAAK,CAAC,aAAa,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,2BAA2B,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;QAC/B,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ;QACxB,aAAa,EAAE,IAAI,CAAC,YAAY;KACjC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE;QAC5C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,mCAAmC;YACnD,MAAM,EAAE,kBAAkB;SAC3B;QACD,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAC5D,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;IACrD,CAAC;IAED,mDAAmD;IACnD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;QAC9C,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS;QACvD,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS;QACjD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,2BAA2B,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;QAC/B,UAAU,EAAE,eAAe;QAC3B,aAAa,EAAE,IAAI,CAAC,YAAY;QAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;QACxB,aAAa,EAAE,IAAI,CAAC,YAAY;KACjC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE;QAC5C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,mCAAmC;YACnD,MAAM,EAAE,kBAAkB;SAC3B;QACD,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAC3D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAwB,EACxB,QAAiB,EACjB,YAAqB;IAErB,MAAM,KAAK,GAAmC;QAC5C,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;IACF,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAClE,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IACD,IAAI,QAAQ;QAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;IACzC,IAAI,YAAY;QAAE,KAAK,CAAC,aAAa,GAAG,YAAY,CAAC;IACrD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,WAAkC;IAC/D,IAAI,CAAC,WAAW,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;IAC1C,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS,GAAG,MAAM,CAAC;AAC1C,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -68,6 +68,7 @@ export interface OAuthConfig {
|
|
|
68
68
|
pkce: boolean;
|
|
69
69
|
setup_url?: string;
|
|
70
70
|
setup_steps?: string[];
|
|
71
|
+
extra_authorize_params?: Record<string, string>;
|
|
71
72
|
}
|
|
72
73
|
export interface AppToolTemplate {
|
|
73
74
|
name: string;
|
|
@@ -75,6 +76,7 @@ export interface AppToolTemplate {
|
|
|
75
76
|
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
76
77
|
path: string;
|
|
77
78
|
input_schema: Record<string, unknown>;
|
|
79
|
+
query_params?: string[];
|
|
78
80
|
response_path?: string;
|
|
79
81
|
}
|
|
80
82
|
export interface Connection {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AAED,MAAM,WAAW,yBAAyB;IACxC,0CAA0C;IAC1C,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;IACjC,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAClC,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apteva/integrations",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.45",
|
|
4
4
|
"description": "Local integrations, connections, and webhooks for Apteva. Self-contained app templates, OAuth engine, and trigger provider.",
|
|
5
5
|
"author": "Apteva <hello@apteva.com>",
|
|
6
6
|
"license": "Elastic-2.0",
|
package/src/apps/gmail.json
CHANGED
|
@@ -49,13 +49,18 @@
|
|
|
49
49
|
"https://www.googleapis.com/auth/gmail.settings.basic"
|
|
50
50
|
],
|
|
51
51
|
"client_id_required": true,
|
|
52
|
-
"pkce": false
|
|
52
|
+
"pkce": false,
|
|
53
|
+
"extra_authorize_params": {
|
|
54
|
+
"access_type": "offline",
|
|
55
|
+
"prompt": "consent",
|
|
56
|
+
"include_granted_scopes": "true"
|
|
57
|
+
}
|
|
53
58
|
}
|
|
54
59
|
},
|
|
55
60
|
"tools": [
|
|
56
61
|
{
|
|
57
62
|
"name": "send_email",
|
|
58
|
-
"description": "Send an email message. Provide plain-text fields (to, subject, body)
|
|
63
|
+
"description": "Send an email message. Provide plain-text fields (to, subject, body) \u2014 the system handles RFC 2822 encoding and UTF-8 character support automatically. For HTML emails, use htmlBody instead of or alongside body.",
|
|
59
64
|
"method": "POST",
|
|
60
65
|
"path": "/users/me/messages/send",
|
|
61
66
|
"input_schema": {
|
|
@@ -111,7 +116,7 @@
|
|
|
111
116
|
},
|
|
112
117
|
{
|
|
113
118
|
"name": "list_messages",
|
|
114
|
-
"description": "List email message IDs matching a query. Returns only message IDs and thread IDs
|
|
119
|
+
"description": "List email message IDs matching a query. Returns only message IDs and thread IDs \u2014 use gmail-get-message to fetch full content (subject, body, headers). Supports Gmail search syntax (e.g. 'from:user@example.com', 'is:unread', 'subject:hello', 'newer_than:2d', 'has:attachment')",
|
|
115
120
|
"method": "GET",
|
|
116
121
|
"path": "/users/me/messages",
|
|
117
122
|
"input_schema": {
|
|
@@ -136,7 +141,7 @@
|
|
|
136
141
|
"items": {
|
|
137
142
|
"type": "string"
|
|
138
143
|
},
|
|
139
|
-
"description": "Label IDs to filter by
|
|
144
|
+
"description": "Label IDs to filter by \u2014 only messages matching ALL specified labels are returned (e.g. ['INBOX'], ['INBOX', 'UNREAD'], ['STARRED'])"
|
|
140
145
|
},
|
|
141
146
|
"includeSpamTrash": {
|
|
142
147
|
"type": "boolean",
|
|
@@ -302,7 +307,7 @@
|
|
|
302
307
|
},
|
|
303
308
|
{
|
|
304
309
|
"name": "list_threads",
|
|
305
|
-
"description": "List email thread IDs with optional search. Returns thread IDs and snippets
|
|
310
|
+
"description": "List email thread IDs with optional search. Returns thread IDs and snippets \u2014 use gmail-get-thread to fetch full conversation messages",
|
|
306
311
|
"method": "GET",
|
|
307
312
|
"path": "/users/me/threads",
|
|
308
313
|
"input_schema": {
|
|
@@ -327,7 +332,7 @@
|
|
|
327
332
|
"items": {
|
|
328
333
|
"type": "string"
|
|
329
334
|
},
|
|
330
|
-
"description": "Label IDs to filter by
|
|
335
|
+
"description": "Label IDs to filter by \u2014 only threads matching ALL specified labels (e.g. ['INBOX'], ['INBOX', 'UNREAD'])"
|
|
331
336
|
},
|
|
332
337
|
"includeSpamTrash": {
|
|
333
338
|
"type": "boolean",
|
|
@@ -635,7 +640,7 @@
|
|
|
635
640
|
},
|
|
636
641
|
{
|
|
637
642
|
"name": "create_draft",
|
|
638
|
-
"description": "Create a new email draft. Provide plain-text fields (to, subject, body)
|
|
643
|
+
"description": "Create a new email draft. Provide plain-text fields (to, subject, body) \u2014 the system handles RFC 2822 encoding and UTF-8 character support automatically. For HTML drafts, use htmlBody.",
|
|
639
644
|
"method": "POST",
|
|
640
645
|
"path": "/users/me/drafts",
|
|
641
646
|
"input_schema": {
|
|
@@ -890,4 +895,4 @@
|
|
|
890
895
|
}
|
|
891
896
|
}
|
|
892
897
|
]
|
|
893
|
-
}
|
|
898
|
+
}
|
package/src/apps/google-ads.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"slug": "google-ads",
|
|
3
3
|
"name": "Google Ads",
|
|
4
|
-
"description": "Google Ads API v23
|
|
4
|
+
"description": "Google Ads API v23 \u2014 manage campaigns, ad groups, ads, keywords, budgets, and run performance reports via GAQL queries",
|
|
5
5
|
"logo": "https://www.google.com/s2/favicons?domain=ads.google.com&sz=128",
|
|
6
6
|
"categories": [
|
|
7
7
|
"advertising",
|
|
@@ -54,7 +54,12 @@
|
|
|
54
54
|
"https://www.googleapis.com/auth/adwords"
|
|
55
55
|
],
|
|
56
56
|
"client_id_required": true,
|
|
57
|
-
"pkce": false
|
|
57
|
+
"pkce": false,
|
|
58
|
+
"extra_authorize_params": {
|
|
59
|
+
"access_type": "offline",
|
|
60
|
+
"prompt": "consent",
|
|
61
|
+
"include_granted_scopes": "true"
|
|
62
|
+
}
|
|
58
63
|
}
|
|
59
64
|
},
|
|
60
65
|
"tools": [
|
|
@@ -101,7 +106,7 @@
|
|
|
101
106
|
},
|
|
102
107
|
{
|
|
103
108
|
"name": "search_stream",
|
|
104
|
-
"description": "Run a GAQL query using streaming
|
|
109
|
+
"description": "Run a GAQL query using streaming \u2014 returns all results at once without pagination. Better for large result sets. Same query syntax as google-ads-search.",
|
|
105
110
|
"method": "POST",
|
|
106
111
|
"path": "/customers/{customer_id}/googleAds:searchStream",
|
|
107
112
|
"input_schema": {
|
|
@@ -254,7 +259,7 @@
|
|
|
254
259
|
},
|
|
255
260
|
{
|
|
256
261
|
"name": "bulk_mutate",
|
|
257
|
-
"description": "Create or modify multiple resource types in a single atomic request
|
|
262
|
+
"description": "Create or modify multiple resource types in a single atomic request \u2014 budgets, campaigns, ad groups, and ads together. Uses temporary resource IDs (negative numbers) to reference resources created in the same request.\n\nExample creating a full campaign:\n{\"mutateOperations\": [{\"campaignBudgetOperation\": {\"create\": {\"resourceName\": \"customers/1234/campaignBudgets/-1\", \"name\": \"Budget\", \"amountMicros\": \"50000000\"}}}, {\"campaignOperation\": {\"create\": {\"resourceName\": \"customers/1234/campaigns/-2\", \"name\": \"My Campaign\", \"campaignBudget\": \"customers/1234/campaignBudgets/-1\", \"advertisingChannelType\": \"SEARCH\", \"status\": \"PAUSED\"}}}, {\"adGroupOperation\": {\"create\": {\"campaign\": \"customers/1234/campaigns/-2\", \"name\": \"Ad Group 1\"}}}]}",
|
|
258
263
|
"method": "POST",
|
|
259
264
|
"path": "/customers/{customer_id}/googleAds:mutate",
|
|
260
265
|
"input_schema": {
|
|
@@ -283,4 +288,4 @@
|
|
|
283
288
|
}
|
|
284
289
|
}
|
|
285
290
|
]
|
|
286
|
-
}
|
|
291
|
+
}
|
|
@@ -46,7 +46,12 @@
|
|
|
46
46
|
"https://www.googleapis.com/auth/calendar.settings.readonly"
|
|
47
47
|
],
|
|
48
48
|
"client_id_required": true,
|
|
49
|
-
"pkce": false
|
|
49
|
+
"pkce": false,
|
|
50
|
+
"extra_authorize_params": {
|
|
51
|
+
"access_type": "offline",
|
|
52
|
+
"prompt": "consent",
|
|
53
|
+
"include_granted_scopes": "true"
|
|
54
|
+
}
|
|
50
55
|
}
|
|
51
56
|
},
|
|
52
57
|
"tools": [
|
|
@@ -1045,4 +1050,4 @@
|
|
|
1045
1050
|
}
|
|
1046
1051
|
}
|
|
1047
1052
|
]
|
|
1048
|
-
}
|
|
1053
|
+
}
|
|
@@ -44,7 +44,12 @@
|
|
|
44
44
|
"https://www.googleapis.com/auth/documents.readonly"
|
|
45
45
|
],
|
|
46
46
|
"client_id_required": true,
|
|
47
|
-
"pkce": false
|
|
47
|
+
"pkce": false,
|
|
48
|
+
"extra_authorize_params": {
|
|
49
|
+
"access_type": "offline",
|
|
50
|
+
"prompt": "consent",
|
|
51
|
+
"include_granted_scopes": "true"
|
|
52
|
+
}
|
|
48
53
|
}
|
|
49
54
|
},
|
|
50
55
|
"tools": [
|
|
@@ -287,4 +292,4 @@
|
|
|
287
292
|
}
|
|
288
293
|
}
|
|
289
294
|
]
|
|
290
|
-
}
|
|
295
|
+
}
|
|
@@ -47,7 +47,12 @@
|
|
|
47
47
|
"https://www.googleapis.com/auth/drive.metadata.readonly"
|
|
48
48
|
],
|
|
49
49
|
"client_id_required": true,
|
|
50
|
-
"pkce": false
|
|
50
|
+
"pkce": false,
|
|
51
|
+
"extra_authorize_params": {
|
|
52
|
+
"access_type": "offline",
|
|
53
|
+
"prompt": "consent",
|
|
54
|
+
"include_granted_scopes": "true"
|
|
55
|
+
}
|
|
51
56
|
}
|
|
52
57
|
},
|
|
53
58
|
"tools": [
|
|
@@ -369,4 +374,4 @@
|
|
|
369
374
|
}
|
|
370
375
|
}
|
|
371
376
|
]
|
|
372
|
-
}
|
|
377
|
+
}
|
|
@@ -1,41 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"slug": "google-sheets",
|
|
3
3
|
"name": "Google Sheets",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Google Sheets API v4 — read, write, append, clear, and batch-mutate spreadsheets. Includes the generic spreadsheets:batchUpdate endpoint which exposes every formatting / sheet-management / find-replace operation Google supports.",
|
|
5
5
|
"logo": "https://www.google.com/s2/favicons?domain=sheets.google.com&sz=128",
|
|
6
|
-
"categories": [
|
|
7
|
-
"spreadsheets",
|
|
8
|
-
"data",
|
|
9
|
-
"formulas",
|
|
10
|
-
"productivity",
|
|
11
|
-
"google"
|
|
12
|
-
],
|
|
6
|
+
"categories": ["spreadsheets", "google", "data", "productivity"],
|
|
13
7
|
"base_url": "https://sheets.googleapis.com/v4",
|
|
14
8
|
"auth": {
|
|
15
|
-
"types": [
|
|
16
|
-
"bearer",
|
|
17
|
-
"oauth2"
|
|
18
|
-
],
|
|
9
|
+
"types": ["bearer", "oauth2"],
|
|
19
10
|
"headers": {
|
|
20
|
-
"Authorization": "Bearer {{
|
|
11
|
+
"Authorization": "Bearer {{accessToken}}"
|
|
21
12
|
},
|
|
22
13
|
"credential_fields": [
|
|
23
|
-
{
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
{
|
|
28
|
-
"name": "refreshToken",
|
|
29
|
-
"label": "refreshToken"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"name": "expiresIn",
|
|
33
|
-
"label": "expiresIn"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"name": "tokenType",
|
|
37
|
-
"label": "tokenType"
|
|
38
|
-
}
|
|
14
|
+
{ "name": "accessToken", "label": "accessToken" },
|
|
15
|
+
{ "name": "refreshToken", "label": "refreshToken" },
|
|
16
|
+
{ "name": "expiresIn", "label": "expiresIn" },
|
|
17
|
+
{ "name": "tokenType", "label": "tokenType" }
|
|
39
18
|
],
|
|
40
19
|
"oauth2": {
|
|
41
20
|
"authorize_url": "https://accounts.google.com/o/oauth2/v2/auth",
|
|
@@ -45,13 +24,18 @@
|
|
|
45
24
|
"https://www.googleapis.com/auth/spreadsheets.readonly"
|
|
46
25
|
],
|
|
47
26
|
"client_id_required": true,
|
|
48
|
-
"pkce": false
|
|
27
|
+
"pkce": false,
|
|
28
|
+
"extra_authorize_params": {
|
|
29
|
+
"access_type": "offline",
|
|
30
|
+
"prompt": "consent",
|
|
31
|
+
"include_granted_scopes": "true"
|
|
32
|
+
}
|
|
49
33
|
}
|
|
50
34
|
},
|
|
51
35
|
"tools": [
|
|
52
36
|
{
|
|
53
37
|
"name": "create_spreadsheet",
|
|
54
|
-
"description": "Create a new Google Sheets spreadsheet with
|
|
38
|
+
"description": "Create a new Google Sheets spreadsheet. Pass `properties.title` to set the name. Optionally pre-create sheets with `sheets[]`. Returns the full Spreadsheet object including spreadsheetId.",
|
|
55
39
|
"method": "POST",
|
|
56
40
|
"path": "/spreadsheets",
|
|
57
41
|
"input_schema": {
|
|
@@ -59,283 +43,420 @@
|
|
|
59
43
|
"properties": {
|
|
60
44
|
"properties": {
|
|
61
45
|
"type": "object",
|
|
62
|
-
"description": "Spreadsheet properties"
|
|
63
|
-
"properties": {
|
|
64
|
-
"title": {
|
|
65
|
-
"type": "string",
|
|
66
|
-
"description": "Title of the spreadsheet"
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
"required": [
|
|
70
|
-
"title"
|
|
71
|
-
]
|
|
46
|
+
"description": "Spreadsheet-level properties. Most useful: { title: string, locale: string, timeZone: string }."
|
|
72
47
|
},
|
|
73
48
|
"sheets": {
|
|
74
49
|
"type": "array",
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"type": "object",
|
|
78
|
-
"properties": {
|
|
79
|
-
"properties": {
|
|
80
|
-
"type": "object",
|
|
81
|
-
"properties": {
|
|
82
|
-
"title": {
|
|
83
|
-
"type": "string"
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
50
|
+
"items": { "type": "object" },
|
|
51
|
+
"description": "Optional initial sheet definitions. Each entry is a Sheet object — minimum { properties: { title: 'Sheet1' } }."
|
|
89
52
|
}
|
|
90
53
|
},
|
|
91
|
-
"required": [
|
|
92
|
-
"properties"
|
|
93
|
-
]
|
|
54
|
+
"required": ["properties"]
|
|
94
55
|
}
|
|
95
56
|
},
|
|
96
57
|
{
|
|
97
58
|
"name": "get_spreadsheet",
|
|
98
|
-
"description": "Get spreadsheet metadata
|
|
59
|
+
"description": "Get spreadsheet metadata: sheet names, sheet IDs, named ranges, properties. Use the `fields` mask to limit response size — for just sheet names, set `fields=sheets.properties`.",
|
|
99
60
|
"method": "GET",
|
|
100
61
|
"path": "/spreadsheets/{spreadsheetId}",
|
|
101
62
|
"input_schema": {
|
|
102
63
|
"type": "object",
|
|
103
64
|
"properties": {
|
|
104
|
-
"spreadsheetId": {
|
|
105
|
-
|
|
106
|
-
"
|
|
65
|
+
"spreadsheetId": { "type": "string" },
|
|
66
|
+
"ranges": {
|
|
67
|
+
"type": "array",
|
|
68
|
+
"items": { "type": "string" },
|
|
69
|
+
"description": "Optional A1 ranges to include grid data for. Without this only metadata is returned."
|
|
70
|
+
},
|
|
71
|
+
"includeGridData": {
|
|
72
|
+
"type": "boolean",
|
|
73
|
+
"default": false,
|
|
74
|
+
"description": "Include cell values + formatting in the response. Heavy — only set when needed."
|
|
107
75
|
},
|
|
108
76
|
"fields": {
|
|
109
77
|
"type": "string",
|
|
110
|
-
"
|
|
111
|
-
"
|
|
78
|
+
"default": "spreadsheetId,properties,sheets.properties,namedRanges",
|
|
79
|
+
"description": "Comma-separated FieldMask to limit response size."
|
|
112
80
|
}
|
|
113
81
|
},
|
|
114
|
-
"required": [
|
|
115
|
-
|
|
116
|
-
|
|
82
|
+
"required": ["spreadsheetId"]
|
|
83
|
+
},
|
|
84
|
+
"query_params": ["ranges", "includeGridData", "fields"]
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "get_by_filter",
|
|
88
|
+
"description": "Get spreadsheet by data filters — narrows the response to specific A1 ranges, GridRanges, or developer-metadata-tagged cells without including the entire grid. Use this when you know which cells you want but don't have a single contiguous A1 range.",
|
|
89
|
+
"method": "POST",
|
|
90
|
+
"path": "/spreadsheets/{spreadsheetId}:getByDataFilter",
|
|
91
|
+
"input_schema": {
|
|
92
|
+
"type": "object",
|
|
93
|
+
"properties": {
|
|
94
|
+
"spreadsheetId": { "type": "string" },
|
|
95
|
+
"dataFilters": {
|
|
96
|
+
"type": "array",
|
|
97
|
+
"items": { "type": "object" },
|
|
98
|
+
"description": "Array of DataFilter objects. Each is one of: { a1Range: 'Sheet1!A1:B10' }, { gridRange: { sheetId, startRowIndex, endRowIndex, startColumnIndex, endColumnIndex } }, or { developerMetadataLookup: {...} }."
|
|
99
|
+
},
|
|
100
|
+
"includeGridData": { "type": "boolean", "default": false }
|
|
101
|
+
},
|
|
102
|
+
"required": ["spreadsheetId", "dataFilters"]
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "batch_update",
|
|
107
|
+
"description": "Generic spreadsheet batchUpdate — the catch-all endpoint for every spreadsheet mutation Google supports. The agent passes a list of Request objects; each Request has exactly one operation key. Common operations: addSheet, deleteSheet, updateSheetProperties, updateSpreadsheetProperties, findReplace, insertDimension, deleteDimension, appendDimension, autoResizeDimensions, updateDimensionProperties, repeatCell (formatting), updateCells, mergeCells, unmergeCells, setBasicFilter, clearBasicFilter, addChart, addConditionalFormatRule, updateConditionalFormatRule, deleteConditionalFormatRule, setDataValidation, addProtectedRange, deleteProtectedRange, addNamedRange, deleteNamedRange, addBanding, deleteBanding, addFilterView, sortRange, cutPaste, copyPaste, randomizeRange, pasteData. Example for find/replace across all sheets: { spreadsheetId, requests: [{ findReplace: { find: 'old', replacement: 'new', allSheets: true, matchCase: false } }] }. See https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request for the full Request schema.",
|
|
108
|
+
"method": "POST",
|
|
109
|
+
"path": "/spreadsheets/{spreadsheetId}:batchUpdate",
|
|
110
|
+
"input_schema": {
|
|
111
|
+
"type": "object",
|
|
112
|
+
"properties": {
|
|
113
|
+
"spreadsheetId": { "type": "string" },
|
|
114
|
+
"requests": {
|
|
115
|
+
"type": "array",
|
|
116
|
+
"items": { "type": "object" },
|
|
117
|
+
"description": "Array of Request objects. Each Request has exactly one operation key (e.g. addSheet, findReplace, repeatCell, …)."
|
|
118
|
+
},
|
|
119
|
+
"includeSpreadsheetInResponse": {
|
|
120
|
+
"type": "boolean",
|
|
121
|
+
"default": false,
|
|
122
|
+
"description": "Return the updated spreadsheet in the response."
|
|
123
|
+
},
|
|
124
|
+
"responseRanges": {
|
|
125
|
+
"type": "array",
|
|
126
|
+
"items": { "type": "string" }
|
|
127
|
+
},
|
|
128
|
+
"responseIncludeGridData": { "type": "boolean", "default": false }
|
|
129
|
+
},
|
|
130
|
+
"required": ["spreadsheetId", "requests"]
|
|
117
131
|
}
|
|
118
132
|
},
|
|
119
133
|
{
|
|
120
134
|
"name": "read_range",
|
|
121
|
-
"description": "Read values from a
|
|
135
|
+
"description": "Read values from a single A1 range, e.g. 'Sheet1!A1:D10' or 'Sheet1!A:A' for a whole column. Returns a 2D array of cell values. For multiple ranges in one call use batch_get.",
|
|
122
136
|
"method": "GET",
|
|
123
137
|
"path": "/spreadsheets/{spreadsheetId}/values/{range}",
|
|
124
138
|
"input_schema": {
|
|
125
139
|
"type": "object",
|
|
126
140
|
"properties": {
|
|
127
|
-
"spreadsheetId": {
|
|
128
|
-
|
|
129
|
-
"description": "ID of the spreadsheet"
|
|
130
|
-
},
|
|
131
|
-
"range": {
|
|
132
|
-
"type": "string",
|
|
133
|
-
"description": "A1 notation range (e.g. 'Sheet1!A1:D10', 'Sheet1', 'A1:B5')"
|
|
134
|
-
},
|
|
141
|
+
"spreadsheetId": { "type": "string" },
|
|
142
|
+
"range": { "type": "string", "description": "A1 notation, e.g. 'Sheet1!A1:D10' or 'Sheet1!A:A'." },
|
|
135
143
|
"valueRenderOption": {
|
|
136
144
|
"type": "string",
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
|
|
140
|
-
"UNFORMATTED_VALUE",
|
|
141
|
-
"FORMULA"
|
|
142
|
-
],
|
|
143
|
-
"default": "FORMATTED_VALUE"
|
|
145
|
+
"enum": ["FORMATTED_VALUE", "UNFORMATTED_VALUE", "FORMULA"],
|
|
146
|
+
"default": "FORMATTED_VALUE",
|
|
147
|
+
"description": "How values should be represented. FORMULA returns the literal cell formula instead of the computed value."
|
|
144
148
|
},
|
|
145
149
|
"dateTimeRenderOption": {
|
|
146
150
|
"type": "string",
|
|
147
|
-
"
|
|
148
|
-
"enum": [
|
|
149
|
-
"SERIAL_NUMBER",
|
|
150
|
-
"FORMATTED_STRING"
|
|
151
|
-
],
|
|
151
|
+
"enum": ["SERIAL_NUMBER", "FORMATTED_STRING"],
|
|
152
152
|
"default": "FORMATTED_STRING"
|
|
153
153
|
},
|
|
154
154
|
"majorDimension": {
|
|
155
155
|
"type": "string",
|
|
156
|
-
"
|
|
157
|
-
"enum": [
|
|
158
|
-
"ROWS",
|
|
159
|
-
"COLUMNS"
|
|
160
|
-
],
|
|
156
|
+
"enum": ["ROWS", "COLUMNS"],
|
|
161
157
|
"default": "ROWS"
|
|
162
158
|
}
|
|
163
159
|
},
|
|
164
|
-
"required": [
|
|
165
|
-
"spreadsheetId",
|
|
166
|
-
"range"
|
|
167
|
-
]
|
|
160
|
+
"required": ["spreadsheetId", "range"]
|
|
168
161
|
}
|
|
169
162
|
},
|
|
170
163
|
{
|
|
171
164
|
"name": "write_range",
|
|
172
|
-
"description": "Write values to a
|
|
165
|
+
"description": "Write values to a single A1 range. Overwrites existing data in the range. Pass `values` as a 2D array of rows. Use valueInputOption='USER_ENTERED' (default) so '=SUM(A1:A10)' becomes a real formula and '12.5%' becomes a percentage; use 'RAW' to write strings literally with no parsing.",
|
|
173
166
|
"method": "PUT",
|
|
174
167
|
"path": "/spreadsheets/{spreadsheetId}/values/{range}",
|
|
175
168
|
"input_schema": {
|
|
176
169
|
"type": "object",
|
|
177
170
|
"properties": {
|
|
178
|
-
"spreadsheetId": {
|
|
179
|
-
|
|
180
|
-
|
|
171
|
+
"spreadsheetId": { "type": "string" },
|
|
172
|
+
"range": { "type": "string", "description": "A1 notation, e.g. 'Sheet1!A1:D10'." },
|
|
173
|
+
"values": {
|
|
174
|
+
"type": "array",
|
|
175
|
+
"items": { "type": "array" },
|
|
176
|
+
"description": "2D array of rows. Each row is an array of cell values (strings, numbers, booleans, or formula strings starting with '=')."
|
|
181
177
|
},
|
|
182
|
-
"
|
|
178
|
+
"majorDimension": {
|
|
183
179
|
"type": "string",
|
|
184
|
-
"
|
|
180
|
+
"enum": ["ROWS", "COLUMNS"],
|
|
181
|
+
"default": "ROWS"
|
|
185
182
|
},
|
|
186
183
|
"valueInputOption": {
|
|
187
184
|
"type": "string",
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
-
|
|
191
|
-
"USER_ENTERED"
|
|
192
|
-
],
|
|
193
|
-
"default": "USER_ENTERED"
|
|
185
|
+
"enum": ["RAW", "USER_ENTERED"],
|
|
186
|
+
"default": "USER_ENTERED",
|
|
187
|
+
"description": "How input is interpreted. USER_ENTERED parses formulas, dates, percentages, etc. like a human typing into the UI. RAW writes the exact string."
|
|
194
188
|
},
|
|
195
|
-
"
|
|
196
|
-
|
|
197
|
-
"
|
|
198
|
-
"
|
|
199
|
-
|
|
200
|
-
|
|
189
|
+
"includeValuesInResponse": { "type": "boolean", "default": false },
|
|
190
|
+
"responseValueRenderOption": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"enum": ["FORMATTED_VALUE", "UNFORMATTED_VALUE", "FORMULA"]
|
|
193
|
+
},
|
|
194
|
+
"responseDateTimeRenderOption": {
|
|
195
|
+
"type": "string",
|
|
196
|
+
"enum": ["SERIAL_NUMBER", "FORMATTED_STRING"]
|
|
201
197
|
}
|
|
202
198
|
},
|
|
203
|
-
"required": [
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
199
|
+
"required": ["spreadsheetId", "range", "values"]
|
|
200
|
+
},
|
|
201
|
+
"query_params": [
|
|
202
|
+
"valueInputOption",
|
|
203
|
+
"includeValuesInResponse",
|
|
204
|
+
"responseValueRenderOption",
|
|
205
|
+
"responseDateTimeRenderOption"
|
|
206
|
+
]
|
|
209
207
|
},
|
|
210
208
|
{
|
|
211
209
|
"name": "append_rows",
|
|
212
|
-
"description": "Append rows
|
|
210
|
+
"description": "Append rows after the last row containing data in a sheet. Unlike write_range, this finds the next empty row automatically. Use insertDataOption='INSERT_ROWS' (default) to push existing rows down, or 'OVERWRITE' to replace.",
|
|
213
211
|
"method": "POST",
|
|
214
212
|
"path": "/spreadsheets/{spreadsheetId}/values/{range}:append",
|
|
215
213
|
"input_schema": {
|
|
216
214
|
"type": "object",
|
|
217
215
|
"properties": {
|
|
218
|
-
"spreadsheetId": {
|
|
216
|
+
"spreadsheetId": { "type": "string" },
|
|
217
|
+
"range": {
|
|
219
218
|
"type": "string",
|
|
220
|
-
"description": "
|
|
219
|
+
"description": "A1 notation of any cell in the table to append to. Google walks down the column to find the last data row."
|
|
221
220
|
},
|
|
222
|
-
"
|
|
221
|
+
"values": {
|
|
222
|
+
"type": "array",
|
|
223
|
+
"items": { "type": "array" },
|
|
224
|
+
"description": "2D array of rows to append."
|
|
225
|
+
},
|
|
226
|
+
"majorDimension": {
|
|
223
227
|
"type": "string",
|
|
224
|
-
"
|
|
228
|
+
"enum": ["ROWS", "COLUMNS"],
|
|
229
|
+
"default": "ROWS"
|
|
225
230
|
},
|
|
226
231
|
"valueInputOption": {
|
|
227
232
|
"type": "string",
|
|
228
|
-
"
|
|
229
|
-
"enum": [
|
|
230
|
-
"RAW",
|
|
231
|
-
"USER_ENTERED"
|
|
232
|
-
],
|
|
233
|
+
"enum": ["RAW", "USER_ENTERED"],
|
|
233
234
|
"default": "USER_ENTERED"
|
|
234
235
|
},
|
|
235
236
|
"insertDataOption": {
|
|
236
237
|
"type": "string",
|
|
237
|
-
"
|
|
238
|
-
"enum": [
|
|
239
|
-
"OVERWRITE",
|
|
240
|
-
"INSERT_ROWS"
|
|
241
|
-
],
|
|
238
|
+
"enum": ["OVERWRITE", "INSERT_ROWS"],
|
|
242
239
|
"default": "INSERT_ROWS"
|
|
243
240
|
},
|
|
244
|
-
"
|
|
245
|
-
|
|
246
|
-
"
|
|
247
|
-
"
|
|
248
|
-
|
|
249
|
-
|
|
241
|
+
"includeValuesInResponse": { "type": "boolean", "default": false },
|
|
242
|
+
"responseValueRenderOption": {
|
|
243
|
+
"type": "string",
|
|
244
|
+
"enum": ["FORMATTED_VALUE", "UNFORMATTED_VALUE", "FORMULA"]
|
|
245
|
+
},
|
|
246
|
+
"responseDateTimeRenderOption": {
|
|
247
|
+
"type": "string",
|
|
248
|
+
"enum": ["SERIAL_NUMBER", "FORMATTED_STRING"]
|
|
250
249
|
}
|
|
251
250
|
},
|
|
252
|
-
"required": [
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
251
|
+
"required": ["spreadsheetId", "range", "values"]
|
|
252
|
+
},
|
|
253
|
+
"query_params": [
|
|
254
|
+
"valueInputOption",
|
|
255
|
+
"insertDataOption",
|
|
256
|
+
"includeValuesInResponse",
|
|
257
|
+
"responseValueRenderOption",
|
|
258
|
+
"responseDateTimeRenderOption"
|
|
259
|
+
]
|
|
258
260
|
},
|
|
259
261
|
{
|
|
260
262
|
"name": "clear_range",
|
|
261
|
-
"description": "Clear values from a range
|
|
263
|
+
"description": "Clear values from a single A1 range. Keeps formatting and other cell properties — only the values are wiped.",
|
|
262
264
|
"method": "POST",
|
|
263
265
|
"path": "/spreadsheets/{spreadsheetId}/values/{range}:clear",
|
|
264
266
|
"input_schema": {
|
|
265
267
|
"type": "object",
|
|
266
268
|
"properties": {
|
|
267
|
-
"spreadsheetId": {
|
|
268
|
-
|
|
269
|
-
"description": "ID of the spreadsheet"
|
|
270
|
-
},
|
|
271
|
-
"range": {
|
|
272
|
-
"type": "string",
|
|
273
|
-
"description": "A1 notation range to clear (e.g. 'Sheet1!A1:D10')"
|
|
274
|
-
}
|
|
269
|
+
"spreadsheetId": { "type": "string" },
|
|
270
|
+
"range": { "type": "string", "description": "A1 notation, e.g. 'Sheet1!A1:D10'." }
|
|
275
271
|
},
|
|
276
|
-
"required": [
|
|
277
|
-
"spreadsheetId",
|
|
278
|
-
"range"
|
|
279
|
-
]
|
|
272
|
+
"required": ["spreadsheetId", "range"]
|
|
280
273
|
}
|
|
281
274
|
},
|
|
282
275
|
{
|
|
283
276
|
"name": "batch_get",
|
|
284
|
-
"description": "Read multiple ranges
|
|
277
|
+
"description": "Read multiple A1 ranges in a single request. Pass `ranges` as an array of A1 strings. Returns one ValueRange per requested range.",
|
|
285
278
|
"method": "GET",
|
|
286
279
|
"path": "/spreadsheets/{spreadsheetId}/values:batchGet",
|
|
287
280
|
"input_schema": {
|
|
288
281
|
"type": "object",
|
|
289
282
|
"properties": {
|
|
290
|
-
"spreadsheetId": {
|
|
283
|
+
"spreadsheetId": { "type": "string" },
|
|
284
|
+
"ranges": {
|
|
285
|
+
"type": "array",
|
|
286
|
+
"items": { "type": "string" },
|
|
287
|
+
"description": "Array of A1 ranges, e.g. ['Sheet1!A1:B10', 'Sheet2!C1:C100']."
|
|
288
|
+
},
|
|
289
|
+
"valueRenderOption": {
|
|
291
290
|
"type": "string",
|
|
292
|
-
"
|
|
291
|
+
"enum": ["FORMATTED_VALUE", "UNFORMATTED_VALUE", "FORMULA"],
|
|
292
|
+
"default": "FORMATTED_VALUE"
|
|
293
293
|
},
|
|
294
|
-
"
|
|
294
|
+
"dateTimeRenderOption": {
|
|
295
295
|
"type": "string",
|
|
296
|
-
"
|
|
296
|
+
"enum": ["SERIAL_NUMBER", "FORMATTED_STRING"],
|
|
297
|
+
"default": "FORMATTED_STRING"
|
|
298
|
+
},
|
|
299
|
+
"majorDimension": {
|
|
300
|
+
"type": "string",
|
|
301
|
+
"enum": ["ROWS", "COLUMNS"],
|
|
302
|
+
"default": "ROWS"
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
"required": ["spreadsheetId", "ranges"]
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"name": "batch_get_by_filter",
|
|
310
|
+
"description": "Read multiple ranges selected by data filters (A1, GridRange, or developer metadata) in a single request. Use this when you want filter-style selection rather than a literal list of A1 ranges.",
|
|
311
|
+
"method": "POST",
|
|
312
|
+
"path": "/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter",
|
|
313
|
+
"input_schema": {
|
|
314
|
+
"type": "object",
|
|
315
|
+
"properties": {
|
|
316
|
+
"spreadsheetId": { "type": "string" },
|
|
317
|
+
"dataFilters": {
|
|
318
|
+
"type": "array",
|
|
319
|
+
"items": { "type": "object" },
|
|
320
|
+
"description": "Array of DataFilter objects."
|
|
297
321
|
},
|
|
298
322
|
"valueRenderOption": {
|
|
299
323
|
"type": "string",
|
|
300
|
-
"
|
|
301
|
-
"enum": [
|
|
302
|
-
"FORMATTED_VALUE",
|
|
303
|
-
"UNFORMATTED_VALUE",
|
|
304
|
-
"FORMULA"
|
|
305
|
-
],
|
|
324
|
+
"enum": ["FORMATTED_VALUE", "UNFORMATTED_VALUE", "FORMULA"],
|
|
306
325
|
"default": "FORMATTED_VALUE"
|
|
326
|
+
},
|
|
327
|
+
"dateTimeRenderOption": {
|
|
328
|
+
"type": "string",
|
|
329
|
+
"enum": ["SERIAL_NUMBER", "FORMATTED_STRING"],
|
|
330
|
+
"default": "FORMATTED_STRING"
|
|
331
|
+
},
|
|
332
|
+
"majorDimension": {
|
|
333
|
+
"type": "string",
|
|
334
|
+
"enum": ["ROWS", "COLUMNS"],
|
|
335
|
+
"default": "ROWS"
|
|
307
336
|
}
|
|
308
337
|
},
|
|
309
|
-
"required": [
|
|
310
|
-
"spreadsheetId",
|
|
311
|
-
"ranges"
|
|
312
|
-
]
|
|
338
|
+
"required": ["spreadsheetId", "dataFilters"]
|
|
313
339
|
}
|
|
314
340
|
},
|
|
315
341
|
{
|
|
316
|
-
"name": "
|
|
317
|
-
"description": "
|
|
342
|
+
"name": "batch_update_values",
|
|
343
|
+
"description": "Atomically write to multiple ranges in one request. Use when several updates need to land together. Pass `data` as an array of ValueRange objects ({ range, values, majorDimension? }).",
|
|
318
344
|
"method": "POST",
|
|
319
|
-
"path": "/spreadsheets/{spreadsheetId}:batchUpdate",
|
|
345
|
+
"path": "/spreadsheets/{spreadsheetId}/values:batchUpdate",
|
|
320
346
|
"input_schema": {
|
|
321
347
|
"type": "object",
|
|
322
348
|
"properties": {
|
|
323
|
-
"spreadsheetId": {
|
|
349
|
+
"spreadsheetId": { "type": "string" },
|
|
350
|
+
"data": {
|
|
351
|
+
"type": "array",
|
|
352
|
+
"items": { "type": "object" },
|
|
353
|
+
"description": "Array of ValueRange objects. Example: [{ range: 'Sheet1!A1', values: [['hello']] }, { range: 'Sheet2!B2', values: [['world']] }]."
|
|
354
|
+
},
|
|
355
|
+
"valueInputOption": {
|
|
324
356
|
"type": "string",
|
|
325
|
-
"
|
|
357
|
+
"enum": ["RAW", "USER_ENTERED"],
|
|
358
|
+
"default": "USER_ENTERED",
|
|
359
|
+
"description": "Required by the API. Note: lives in the BODY for batchUpdate (unlike single-range update where it's a query param)."
|
|
326
360
|
},
|
|
327
|
-
"
|
|
361
|
+
"includeValuesInResponse": { "type": "boolean", "default": false },
|
|
362
|
+
"responseValueRenderOption": {
|
|
363
|
+
"type": "string",
|
|
364
|
+
"enum": ["FORMATTED_VALUE", "UNFORMATTED_VALUE", "FORMULA"]
|
|
365
|
+
},
|
|
366
|
+
"responseDateTimeRenderOption": {
|
|
367
|
+
"type": "string",
|
|
368
|
+
"enum": ["SERIAL_NUMBER", "FORMATTED_STRING"]
|
|
369
|
+
}
|
|
370
|
+
},
|
|
371
|
+
"required": ["spreadsheetId", "data", "valueInputOption"]
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"name": "batch_update_values_by_filter",
|
|
376
|
+
"description": "Atomically write to multiple ranges selected by data filters. Pass `data` as an array of DataFilterValueRange objects ({ dataFilter, values, majorDimension? }).",
|
|
377
|
+
"method": "POST",
|
|
378
|
+
"path": "/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter",
|
|
379
|
+
"input_schema": {
|
|
380
|
+
"type": "object",
|
|
381
|
+
"properties": {
|
|
382
|
+
"spreadsheetId": { "type": "string" },
|
|
383
|
+
"data": {
|
|
328
384
|
"type": "array",
|
|
329
|
-
"
|
|
330
|
-
"
|
|
331
|
-
|
|
332
|
-
|
|
385
|
+
"items": { "type": "object" },
|
|
386
|
+
"description": "Array of DataFilterValueRange objects. Example: [{ dataFilter: { a1Range: 'Sheet1!A1:B2' }, values: [['x','y'],['z','w']] }]."
|
|
387
|
+
},
|
|
388
|
+
"valueInputOption": {
|
|
389
|
+
"type": "string",
|
|
390
|
+
"enum": ["RAW", "USER_ENTERED"],
|
|
391
|
+
"default": "USER_ENTERED"
|
|
392
|
+
},
|
|
393
|
+
"includeValuesInResponse": { "type": "boolean", "default": false },
|
|
394
|
+
"responseValueRenderOption": {
|
|
395
|
+
"type": "string",
|
|
396
|
+
"enum": ["FORMATTED_VALUE", "UNFORMATTED_VALUE", "FORMULA"]
|
|
397
|
+
},
|
|
398
|
+
"responseDateTimeRenderOption": {
|
|
399
|
+
"type": "string",
|
|
400
|
+
"enum": ["SERIAL_NUMBER", "FORMATTED_STRING"]
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
"required": ["spreadsheetId", "data", "valueInputOption"]
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
"name": "batch_clear_values",
|
|
408
|
+
"description": "Atomically clear values from multiple A1 ranges in one request. Keeps formatting.",
|
|
409
|
+
"method": "POST",
|
|
410
|
+
"path": "/spreadsheets/{spreadsheetId}/values:batchClear",
|
|
411
|
+
"input_schema": {
|
|
412
|
+
"type": "object",
|
|
413
|
+
"properties": {
|
|
414
|
+
"spreadsheetId": { "type": "string" },
|
|
415
|
+
"ranges": {
|
|
416
|
+
"type": "array",
|
|
417
|
+
"items": { "type": "string" },
|
|
418
|
+
"description": "Array of A1 ranges, e.g. ['Sheet1!A1:B10', 'Sheet2!C:C']."
|
|
419
|
+
}
|
|
420
|
+
},
|
|
421
|
+
"required": ["spreadsheetId", "ranges"]
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"name": "batch_clear_values_by_filter",
|
|
426
|
+
"description": "Atomically clear values from multiple ranges selected by data filters.",
|
|
427
|
+
"method": "POST",
|
|
428
|
+
"path": "/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter",
|
|
429
|
+
"input_schema": {
|
|
430
|
+
"type": "object",
|
|
431
|
+
"properties": {
|
|
432
|
+
"spreadsheetId": { "type": "string" },
|
|
433
|
+
"dataFilters": {
|
|
434
|
+
"type": "array",
|
|
435
|
+
"items": { "type": "object" }
|
|
436
|
+
}
|
|
437
|
+
},
|
|
438
|
+
"required": ["spreadsheetId", "dataFilters"]
|
|
439
|
+
}
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"name": "copy_sheet",
|
|
443
|
+
"description": "Copy a single sheet (tab) from one spreadsheet to another. Useful for templates: create a master sheet, then copy it into per-customer files. Returns the new sheet's properties (sheetId, title, etc.) in the destination spreadsheet.",
|
|
444
|
+
"method": "POST",
|
|
445
|
+
"path": "/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo",
|
|
446
|
+
"input_schema": {
|
|
447
|
+
"type": "object",
|
|
448
|
+
"properties": {
|
|
449
|
+
"spreadsheetId": { "type": "string", "description": "Source spreadsheet ID." },
|
|
450
|
+
"sheetId": {
|
|
451
|
+
"type": "integer",
|
|
452
|
+
"description": "Numeric sheet ID of the tab to copy (NOT the sheet title). Get it from get_spreadsheet → sheets[].properties.sheetId."
|
|
453
|
+
},
|
|
454
|
+
"destinationSpreadsheetId": {
|
|
455
|
+
"type": "string",
|
|
456
|
+
"description": "Target spreadsheet ID where the sheet will be copied to."
|
|
333
457
|
}
|
|
334
458
|
},
|
|
335
|
-
"required": [
|
|
336
|
-
"spreadsheetId",
|
|
337
|
-
"requests"
|
|
338
|
-
]
|
|
459
|
+
"required": ["spreadsheetId", "sheetId", "destinationSpreadsheetId"]
|
|
339
460
|
}
|
|
340
461
|
}
|
|
341
462
|
]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"slug": "youtube-api",
|
|
3
3
|
"name": "YouTube",
|
|
4
|
-
"description": "YouTube Data API v3
|
|
4
|
+
"description": "YouTube Data API v3 \u2014 manage videos, channels, playlists, search, analytics, and content publishing via OAuth2",
|
|
5
5
|
"logo": "https://www.youtube.com/s/desktop/28b0985e/img/favicon_144x144.png",
|
|
6
6
|
"categories": [
|
|
7
7
|
"youtube",
|
|
@@ -53,7 +53,12 @@
|
|
|
53
53
|
"https://www.googleapis.com/auth/yt-analytics.readonly"
|
|
54
54
|
],
|
|
55
55
|
"client_id_required": true,
|
|
56
|
-
"pkce": false
|
|
56
|
+
"pkce": false,
|
|
57
|
+
"extra_authorize_params": {
|
|
58
|
+
"access_type": "offline",
|
|
59
|
+
"prompt": "consent",
|
|
60
|
+
"include_granted_scopes": "true"
|
|
61
|
+
}
|
|
57
62
|
}
|
|
58
63
|
},
|
|
59
64
|
"tools": [
|
|
@@ -269,7 +274,7 @@
|
|
|
269
274
|
},
|
|
270
275
|
{
|
|
271
276
|
"name": "update_video",
|
|
272
|
-
"description": "Update video metadata (title, description, tags, privacy, category, schedule). IMPORTANT: To schedule a video for future publish, you MUST set privacyStatus to 'private' AND provide publishAt as ISO 8601 datetime. Scheduling does NOT work with 'unlisted' or 'public' status
|
|
277
|
+
"description": "Update video metadata (title, description, tags, privacy, category, schedule). IMPORTANT: To schedule a video for future publish, you MUST set privacyStatus to 'private' AND provide publishAt as ISO 8601 datetime. Scheduling does NOT work with 'unlisted' or 'public' status \u2014 YouTube requires the video to be 'private' first. You must provide the full snippet and/or status objects.",
|
|
273
278
|
"method": "PUT",
|
|
274
279
|
"path": "/videos",
|
|
275
280
|
"input_schema": {
|
|
@@ -628,7 +633,7 @@
|
|
|
628
633
|
},
|
|
629
634
|
{
|
|
630
635
|
"name": "list_playlist_items",
|
|
631
|
-
"description": "List videos in a playlist. Works with any playlist ID including a channel's uploads playlist (from Get My Channel
|
|
636
|
+
"description": "List videos in a playlist. Works with any playlist ID including a channel's uploads playlist (from Get My Channel \u2192 contentDetails.relatedPlaylists.uploads). Returns video IDs, titles, thumbnails, and positions.",
|
|
632
637
|
"method": "GET",
|
|
633
638
|
"path": "/playlistItems",
|
|
634
639
|
"input_schema": {
|
|
@@ -888,4 +893,4 @@
|
|
|
888
893
|
}
|
|
889
894
|
}
|
|
890
895
|
]
|
|
891
|
-
}
|
|
896
|
+
}
|