@vm0/cli 9.74.2 → 9.74.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/index.js +1531 -594
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -47,7 +47,7 @@ if (DSN) {
|
|
|
47
47
|
Sentry.init({
|
|
48
48
|
dsn: DSN,
|
|
49
49
|
environment: process.env.SENTRY_ENVIRONMENT ?? "production",
|
|
50
|
-
release: "9.74.
|
|
50
|
+
release: "9.74.4",
|
|
51
51
|
sendDefaultPii: false,
|
|
52
52
|
tracesSampleRate: 0,
|
|
53
53
|
shutdownTimeout: 500,
|
|
@@ -66,7 +66,7 @@ if (DSN) {
|
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
Sentry.setContext("cli", {
|
|
69
|
-
version: "9.74.
|
|
69
|
+
version: "9.74.4",
|
|
70
70
|
command: process.argv.slice(2).join(" ")
|
|
71
71
|
});
|
|
72
72
|
Sentry.setContext("runtime", {
|
|
@@ -85,7 +85,7 @@ process.stdout.on("error", handleEpipe);
|
|
|
85
85
|
process.stderr.on("error", handleEpipe);
|
|
86
86
|
|
|
87
87
|
// src/index.ts
|
|
88
|
-
import { Command as
|
|
88
|
+
import { Command as Command94 } from "commander";
|
|
89
89
|
|
|
90
90
|
// src/lib/network/proxy.ts
|
|
91
91
|
import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
|
|
@@ -847,9 +847,15 @@ var logEntrySchema = z5.object({
|
|
|
847
847
|
startedAt: z5.string().nullable(),
|
|
848
848
|
completedAt: z5.string().nullable()
|
|
849
849
|
});
|
|
850
|
+
var logsFiltersSchema = z5.object({
|
|
851
|
+
statuses: z5.array(logStatusSchema),
|
|
852
|
+
sources: z5.array(triggerSourceSchema),
|
|
853
|
+
agents: z5.array(z5.string())
|
|
854
|
+
});
|
|
850
855
|
var logsListResponseSchema = z5.object({
|
|
851
856
|
data: z5.array(logEntrySchema),
|
|
852
|
-
pagination: paginationSchema
|
|
857
|
+
pagination: paginationSchema,
|
|
858
|
+
filters: logsFiltersSchema
|
|
853
859
|
});
|
|
854
860
|
var artifactSchema = z5.object({
|
|
855
861
|
name: z5.string().nullable(),
|
|
@@ -881,7 +887,8 @@ var logsListContract = c2.router({
|
|
|
881
887
|
agent: z5.string().optional(),
|
|
882
888
|
name: z5.string().optional(),
|
|
883
889
|
org: z5.string().optional(),
|
|
884
|
-
status: logStatusSchema.optional()
|
|
890
|
+
status: logStatusSchema.optional(),
|
|
891
|
+
triggerSource: triggerSourceSchema.optional()
|
|
885
892
|
}),
|
|
886
893
|
responses: {
|
|
887
894
|
200: logsListResponseSchema,
|
|
@@ -3117,7 +3124,11 @@ var chatThreadsContract = c14.router({
|
|
|
3117
3124
|
title: z18.string().optional()
|
|
3118
3125
|
}),
|
|
3119
3126
|
responses: {
|
|
3120
|
-
201: z18.object({
|
|
3127
|
+
201: z18.object({
|
|
3128
|
+
id: z18.string(),
|
|
3129
|
+
title: z18.string().nullable(),
|
|
3130
|
+
createdAt: z18.string()
|
|
3131
|
+
}),
|
|
3121
3132
|
401: apiErrorSchema
|
|
3122
3133
|
},
|
|
3123
3134
|
summary: "Create a new chat thread"
|
|
@@ -8918,14 +8929,1442 @@ var githubFirewall = {
|
|
|
8918
8929
|
},
|
|
8919
8930
|
permissions: [
|
|
8920
8931
|
{
|
|
8921
|
-
name: "unrestricted",
|
|
8922
|
-
description: "Allow all endpoints",
|
|
8923
|
-
rules: ["ANY /{path*}"]
|
|
8932
|
+
name: "unrestricted",
|
|
8933
|
+
description: "Allow all endpoints",
|
|
8934
|
+
rules: ["ANY /{path*}"]
|
|
8935
|
+
},
|
|
8936
|
+
{
|
|
8937
|
+
name: "contents:write",
|
|
8938
|
+
description: "Upload release assets",
|
|
8939
|
+
rules: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets"]
|
|
8940
|
+
}
|
|
8941
|
+
]
|
|
8942
|
+
}
|
|
8943
|
+
]
|
|
8944
|
+
};
|
|
8945
|
+
|
|
8946
|
+
// ../../packages/core/src/firewalls/gmail.generated.ts
|
|
8947
|
+
var gmailFirewall = {
|
|
8948
|
+
name: "gmail",
|
|
8949
|
+
description: "Gmail API",
|
|
8950
|
+
placeholders: {
|
|
8951
|
+
GMAIL_TOKEN: "ya29.A0Vm0PlaceHolder-Vm0_PlaceHolder00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
8952
|
+
},
|
|
8953
|
+
apis: [
|
|
8954
|
+
{
|
|
8955
|
+
base: "https://gmail.googleapis.com/gmail",
|
|
8956
|
+
auth: {
|
|
8957
|
+
headers: {
|
|
8958
|
+
Authorization: "Bearer ${{ secrets.GMAIL_TOKEN }}"
|
|
8959
|
+
}
|
|
8960
|
+
},
|
|
8961
|
+
permissions: [
|
|
8962
|
+
{
|
|
8963
|
+
name: "unrestricted",
|
|
8964
|
+
description: "Allow all endpoints",
|
|
8965
|
+
rules: ["ANY /{path*}"]
|
|
8966
|
+
},
|
|
8967
|
+
{
|
|
8968
|
+
name: "gmail",
|
|
8969
|
+
description: "Read, compose, send, and permanently delete all your email from Gmail",
|
|
8970
|
+
rules: [
|
|
8971
|
+
"GET /v1/users/{userId}/drafts",
|
|
8972
|
+
"POST /v1/users/{userId}/drafts",
|
|
8973
|
+
"POST /v1/users/{userId}/drafts/send",
|
|
8974
|
+
"GET /v1/users/{userId}/drafts/{id}",
|
|
8975
|
+
"PUT /v1/users/{userId}/drafts/{id}",
|
|
8976
|
+
"DELETE /v1/users/{userId}/drafts/{id}",
|
|
8977
|
+
"GET /v1/users/{userId}/history",
|
|
8978
|
+
"GET /v1/users/{userId}/labels",
|
|
8979
|
+
"POST /v1/users/{userId}/labels",
|
|
8980
|
+
"GET /v1/users/{userId}/labels/{id}",
|
|
8981
|
+
"PUT /v1/users/{userId}/labels/{id}",
|
|
8982
|
+
"PATCH /v1/users/{userId}/labels/{id}",
|
|
8983
|
+
"DELETE /v1/users/{userId}/labels/{id}",
|
|
8984
|
+
"GET /v1/users/{userId}/messages",
|
|
8985
|
+
"POST /v1/users/{userId}/messages",
|
|
8986
|
+
"POST /v1/users/{userId}/messages/batchDelete",
|
|
8987
|
+
"POST /v1/users/{userId}/messages/batchModify",
|
|
8988
|
+
"POST /v1/users/{userId}/messages/import",
|
|
8989
|
+
"POST /v1/users/{userId}/messages/send",
|
|
8990
|
+
"GET /v1/users/{userId}/messages/{id}",
|
|
8991
|
+
"DELETE /v1/users/{userId}/messages/{id}",
|
|
8992
|
+
"POST /v1/users/{userId}/messages/{id}/modify",
|
|
8993
|
+
"POST /v1/users/{userId}/messages/{id}/trash",
|
|
8994
|
+
"POST /v1/users/{userId}/messages/{id}/untrash",
|
|
8995
|
+
"GET /v1/users/{userId}/messages/{messageId}/attachments/{id}",
|
|
8996
|
+
"GET /v1/users/{userId}/profile",
|
|
8997
|
+
"GET /v1/users/{userId}/settings/autoForwarding",
|
|
8998
|
+
"GET /v1/users/{userId}/settings/cse/identities",
|
|
8999
|
+
"GET /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
|
|
9000
|
+
"GET /v1/users/{userId}/settings/cse/keypairs",
|
|
9001
|
+
"GET /v1/users/{userId}/settings/cse/keypairs/{keyPairId}",
|
|
9002
|
+
"GET /v1/users/{userId}/settings/delegates",
|
|
9003
|
+
"GET /v1/users/{userId}/settings/delegates/{delegateEmail}",
|
|
9004
|
+
"GET /v1/users/{userId}/settings/filters",
|
|
9005
|
+
"GET /v1/users/{userId}/settings/filters/{id}",
|
|
9006
|
+
"GET /v1/users/{userId}/settings/forwardingAddresses",
|
|
9007
|
+
"GET /v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}",
|
|
9008
|
+
"GET /v1/users/{userId}/settings/imap",
|
|
9009
|
+
"GET /v1/users/{userId}/settings/language",
|
|
9010
|
+
"GET /v1/users/{userId}/settings/pop",
|
|
9011
|
+
"GET /v1/users/{userId}/settings/sendAs",
|
|
9012
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
|
|
9013
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
|
|
9014
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
|
|
9015
|
+
"GET /v1/users/{userId}/settings/vacation",
|
|
9016
|
+
"POST /v1/users/{userId}/stop",
|
|
9017
|
+
"GET /v1/users/{userId}/threads",
|
|
9018
|
+
"GET /v1/users/{userId}/threads/{id}",
|
|
9019
|
+
"DELETE /v1/users/{userId}/threads/{id}",
|
|
9020
|
+
"POST /v1/users/{userId}/threads/{id}/modify",
|
|
9021
|
+
"POST /v1/users/{userId}/threads/{id}/trash",
|
|
9022
|
+
"POST /v1/users/{userId}/threads/{id}/untrash",
|
|
9023
|
+
"POST /v1/users/{userId}/watch"
|
|
9024
|
+
]
|
|
9025
|
+
},
|
|
9026
|
+
{
|
|
9027
|
+
name: "gmail.addons.current.action.compose",
|
|
9028
|
+
description: "Manage drafts and send emails when you interact with the add-on",
|
|
9029
|
+
rules: [
|
|
9030
|
+
"POST /v1/users/{userId}/drafts",
|
|
9031
|
+
"POST /v1/users/{userId}/drafts/send",
|
|
9032
|
+
"PUT /v1/users/{userId}/drafts/{id}",
|
|
9033
|
+
"DELETE /v1/users/{userId}/drafts/{id}",
|
|
9034
|
+
"POST /v1/users/{userId}/messages/send"
|
|
9035
|
+
]
|
|
9036
|
+
},
|
|
9037
|
+
{
|
|
9038
|
+
name: "gmail.addons.current.message.action",
|
|
9039
|
+
description: "View your email messages when you interact with the add-on",
|
|
9040
|
+
rules: [
|
|
9041
|
+
"GET /v1/users/{userId}/messages/{id}",
|
|
9042
|
+
"GET /v1/users/{userId}/messages/{messageId}/attachments/{id}",
|
|
9043
|
+
"GET /v1/users/{userId}/threads/{id}"
|
|
9044
|
+
]
|
|
9045
|
+
},
|
|
9046
|
+
{
|
|
9047
|
+
name: "gmail.addons.current.message.metadata",
|
|
9048
|
+
description: "View your email message metadata when the add-on is running",
|
|
9049
|
+
rules: [
|
|
9050
|
+
"GET /v1/users/{userId}/messages/{id}",
|
|
9051
|
+
"GET /v1/users/{userId}/threads/{id}"
|
|
9052
|
+
]
|
|
9053
|
+
},
|
|
9054
|
+
{
|
|
9055
|
+
name: "gmail.addons.current.message.readonly",
|
|
9056
|
+
description: "View your email messages when the add-on is running",
|
|
9057
|
+
rules: [
|
|
9058
|
+
"GET /v1/users/{userId}/messages/{id}",
|
|
9059
|
+
"GET /v1/users/{userId}/messages/{messageId}/attachments/{id}",
|
|
9060
|
+
"GET /v1/users/{userId}/threads/{id}"
|
|
9061
|
+
]
|
|
9062
|
+
},
|
|
9063
|
+
{
|
|
9064
|
+
name: "gmail.compose",
|
|
9065
|
+
description: "Manage drafts and send emails",
|
|
9066
|
+
rules: [
|
|
9067
|
+
"GET /v1/users/{userId}/drafts",
|
|
9068
|
+
"POST /v1/users/{userId}/drafts",
|
|
9069
|
+
"POST /v1/users/{userId}/drafts/send",
|
|
9070
|
+
"GET /v1/users/{userId}/drafts/{id}",
|
|
9071
|
+
"PUT /v1/users/{userId}/drafts/{id}",
|
|
9072
|
+
"DELETE /v1/users/{userId}/drafts/{id}",
|
|
9073
|
+
"POST /v1/users/{userId}/messages/send",
|
|
9074
|
+
"GET /v1/users/{userId}/profile"
|
|
9075
|
+
]
|
|
9076
|
+
},
|
|
9077
|
+
{
|
|
9078
|
+
name: "gmail.insert",
|
|
9079
|
+
description: "Add emails into your Gmail mailbox",
|
|
9080
|
+
rules: [
|
|
9081
|
+
"POST /v1/users/{userId}/messages",
|
|
9082
|
+
"POST /v1/users/{userId}/messages/import"
|
|
9083
|
+
]
|
|
9084
|
+
},
|
|
9085
|
+
{
|
|
9086
|
+
name: "gmail.labels",
|
|
9087
|
+
description: "See and edit your email labels",
|
|
9088
|
+
rules: [
|
|
9089
|
+
"GET /v1/users/{userId}/labels",
|
|
9090
|
+
"POST /v1/users/{userId}/labels",
|
|
9091
|
+
"GET /v1/users/{userId}/labels/{id}",
|
|
9092
|
+
"PUT /v1/users/{userId}/labels/{id}",
|
|
9093
|
+
"PATCH /v1/users/{userId}/labels/{id}",
|
|
9094
|
+
"DELETE /v1/users/{userId}/labels/{id}"
|
|
9095
|
+
]
|
|
9096
|
+
},
|
|
9097
|
+
{
|
|
9098
|
+
name: "gmail.metadata",
|
|
9099
|
+
description: "View your email message metadata such as labels and headers, but not the email body",
|
|
9100
|
+
rules: [
|
|
9101
|
+
"GET /v1/users/{userId}/history",
|
|
9102
|
+
"GET /v1/users/{userId}/labels",
|
|
9103
|
+
"GET /v1/users/{userId}/labels/{id}",
|
|
9104
|
+
"GET /v1/users/{userId}/messages",
|
|
9105
|
+
"GET /v1/users/{userId}/messages/{id}",
|
|
9106
|
+
"GET /v1/users/{userId}/profile",
|
|
9107
|
+
"POST /v1/users/{userId}/stop",
|
|
9108
|
+
"GET /v1/users/{userId}/threads",
|
|
9109
|
+
"GET /v1/users/{userId}/threads/{id}",
|
|
9110
|
+
"POST /v1/users/{userId}/watch"
|
|
9111
|
+
]
|
|
9112
|
+
},
|
|
9113
|
+
{
|
|
9114
|
+
name: "gmail.modify",
|
|
9115
|
+
description: "Read, compose, and send emails from your Gmail account",
|
|
9116
|
+
rules: [
|
|
9117
|
+
"GET /v1/users/{userId}/drafts",
|
|
9118
|
+
"POST /v1/users/{userId}/drafts",
|
|
9119
|
+
"POST /v1/users/{userId}/drafts/send",
|
|
9120
|
+
"GET /v1/users/{userId}/drafts/{id}",
|
|
9121
|
+
"PUT /v1/users/{userId}/drafts/{id}",
|
|
9122
|
+
"DELETE /v1/users/{userId}/drafts/{id}",
|
|
9123
|
+
"GET /v1/users/{userId}/history",
|
|
9124
|
+
"GET /v1/users/{userId}/labels",
|
|
9125
|
+
"POST /v1/users/{userId}/labels",
|
|
9126
|
+
"GET /v1/users/{userId}/labels/{id}",
|
|
9127
|
+
"PUT /v1/users/{userId}/labels/{id}",
|
|
9128
|
+
"PATCH /v1/users/{userId}/labels/{id}",
|
|
9129
|
+
"DELETE /v1/users/{userId}/labels/{id}",
|
|
9130
|
+
"GET /v1/users/{userId}/messages",
|
|
9131
|
+
"POST /v1/users/{userId}/messages",
|
|
9132
|
+
"POST /v1/users/{userId}/messages/batchModify",
|
|
9133
|
+
"POST /v1/users/{userId}/messages/import",
|
|
9134
|
+
"POST /v1/users/{userId}/messages/send",
|
|
9135
|
+
"GET /v1/users/{userId}/messages/{id}",
|
|
9136
|
+
"POST /v1/users/{userId}/messages/{id}/modify",
|
|
9137
|
+
"POST /v1/users/{userId}/messages/{id}/trash",
|
|
9138
|
+
"POST /v1/users/{userId}/messages/{id}/untrash",
|
|
9139
|
+
"GET /v1/users/{userId}/messages/{messageId}/attachments/{id}",
|
|
9140
|
+
"GET /v1/users/{userId}/profile",
|
|
9141
|
+
"GET /v1/users/{userId}/settings/autoForwarding",
|
|
9142
|
+
"GET /v1/users/{userId}/settings/cse/identities",
|
|
9143
|
+
"GET /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
|
|
9144
|
+
"GET /v1/users/{userId}/settings/cse/keypairs",
|
|
9145
|
+
"GET /v1/users/{userId}/settings/cse/keypairs/{keyPairId}",
|
|
9146
|
+
"GET /v1/users/{userId}/settings/delegates",
|
|
9147
|
+
"GET /v1/users/{userId}/settings/delegates/{delegateEmail}",
|
|
9148
|
+
"GET /v1/users/{userId}/settings/filters",
|
|
9149
|
+
"GET /v1/users/{userId}/settings/filters/{id}",
|
|
9150
|
+
"GET /v1/users/{userId}/settings/forwardingAddresses",
|
|
9151
|
+
"GET /v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}",
|
|
9152
|
+
"GET /v1/users/{userId}/settings/imap",
|
|
9153
|
+
"GET /v1/users/{userId}/settings/language",
|
|
9154
|
+
"GET /v1/users/{userId}/settings/pop",
|
|
9155
|
+
"GET /v1/users/{userId}/settings/sendAs",
|
|
9156
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
|
|
9157
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
|
|
9158
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
|
|
9159
|
+
"GET /v1/users/{userId}/settings/vacation",
|
|
9160
|
+
"POST /v1/users/{userId}/stop",
|
|
9161
|
+
"GET /v1/users/{userId}/threads",
|
|
9162
|
+
"GET /v1/users/{userId}/threads/{id}",
|
|
9163
|
+
"POST /v1/users/{userId}/threads/{id}/modify",
|
|
9164
|
+
"POST /v1/users/{userId}/threads/{id}/trash",
|
|
9165
|
+
"POST /v1/users/{userId}/threads/{id}/untrash",
|
|
9166
|
+
"POST /v1/users/{userId}/watch"
|
|
9167
|
+
]
|
|
9168
|
+
},
|
|
9169
|
+
{
|
|
9170
|
+
name: "gmail.readonly",
|
|
9171
|
+
description: "View your email messages and settings",
|
|
9172
|
+
rules: [
|
|
9173
|
+
"GET /v1/users/{userId}/drafts",
|
|
9174
|
+
"GET /v1/users/{userId}/drafts/{id}",
|
|
9175
|
+
"GET /v1/users/{userId}/history",
|
|
9176
|
+
"GET /v1/users/{userId}/labels",
|
|
9177
|
+
"GET /v1/users/{userId}/labels/{id}",
|
|
9178
|
+
"GET /v1/users/{userId}/messages",
|
|
9179
|
+
"GET /v1/users/{userId}/messages/{id}",
|
|
9180
|
+
"GET /v1/users/{userId}/messages/{messageId}/attachments/{id}",
|
|
9181
|
+
"GET /v1/users/{userId}/profile",
|
|
9182
|
+
"GET /v1/users/{userId}/settings/autoForwarding",
|
|
9183
|
+
"GET /v1/users/{userId}/settings/cse/identities",
|
|
9184
|
+
"GET /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
|
|
9185
|
+
"GET /v1/users/{userId}/settings/cse/keypairs",
|
|
9186
|
+
"GET /v1/users/{userId}/settings/cse/keypairs/{keyPairId}",
|
|
9187
|
+
"GET /v1/users/{userId}/settings/delegates",
|
|
9188
|
+
"GET /v1/users/{userId}/settings/delegates/{delegateEmail}",
|
|
9189
|
+
"GET /v1/users/{userId}/settings/filters",
|
|
9190
|
+
"GET /v1/users/{userId}/settings/filters/{id}",
|
|
9191
|
+
"GET /v1/users/{userId}/settings/forwardingAddresses",
|
|
9192
|
+
"GET /v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}",
|
|
9193
|
+
"GET /v1/users/{userId}/settings/imap",
|
|
9194
|
+
"GET /v1/users/{userId}/settings/language",
|
|
9195
|
+
"GET /v1/users/{userId}/settings/pop",
|
|
9196
|
+
"GET /v1/users/{userId}/settings/sendAs",
|
|
9197
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
|
|
9198
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
|
|
9199
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
|
|
9200
|
+
"GET /v1/users/{userId}/settings/vacation",
|
|
9201
|
+
"POST /v1/users/{userId}/stop",
|
|
9202
|
+
"GET /v1/users/{userId}/threads",
|
|
9203
|
+
"GET /v1/users/{userId}/threads/{id}",
|
|
9204
|
+
"POST /v1/users/{userId}/watch"
|
|
9205
|
+
]
|
|
9206
|
+
},
|
|
9207
|
+
{
|
|
9208
|
+
name: "gmail.send",
|
|
9209
|
+
description: "Send email on your behalf",
|
|
9210
|
+
rules: ["POST /v1/users/{userId}/messages/send"]
|
|
9211
|
+
},
|
|
9212
|
+
{
|
|
9213
|
+
name: "gmail.settings.basic",
|
|
9214
|
+
description: "See, edit, create, or change your email settings and filters in Gmail",
|
|
9215
|
+
rules: [
|
|
9216
|
+
"GET /v1/users/{userId}/settings/autoForwarding",
|
|
9217
|
+
"GET /v1/users/{userId}/settings/cse/identities",
|
|
9218
|
+
"POST /v1/users/{userId}/settings/cse/identities",
|
|
9219
|
+
"GET /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
|
|
9220
|
+
"DELETE /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
|
|
9221
|
+
"PATCH /v1/users/{userId}/settings/cse/identities/{emailAddress}",
|
|
9222
|
+
"GET /v1/users/{userId}/settings/cse/keypairs",
|
|
9223
|
+
"POST /v1/users/{userId}/settings/cse/keypairs",
|
|
9224
|
+
"GET /v1/users/{userId}/settings/cse/keypairs/{keyPairId}",
|
|
9225
|
+
"POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable",
|
|
9226
|
+
"POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable",
|
|
9227
|
+
"POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate",
|
|
9228
|
+
"GET /v1/users/{userId}/settings/delegates",
|
|
9229
|
+
"GET /v1/users/{userId}/settings/delegates/{delegateEmail}",
|
|
9230
|
+
"GET /v1/users/{userId}/settings/filters",
|
|
9231
|
+
"POST /v1/users/{userId}/settings/filters",
|
|
9232
|
+
"GET /v1/users/{userId}/settings/filters/{id}",
|
|
9233
|
+
"DELETE /v1/users/{userId}/settings/filters/{id}",
|
|
9234
|
+
"GET /v1/users/{userId}/settings/forwardingAddresses",
|
|
9235
|
+
"GET /v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}",
|
|
9236
|
+
"GET /v1/users/{userId}/settings/imap",
|
|
9237
|
+
"PUT /v1/users/{userId}/settings/imap",
|
|
9238
|
+
"GET /v1/users/{userId}/settings/language",
|
|
9239
|
+
"PUT /v1/users/{userId}/settings/language",
|
|
9240
|
+
"GET /v1/users/{userId}/settings/pop",
|
|
9241
|
+
"PUT /v1/users/{userId}/settings/pop",
|
|
9242
|
+
"GET /v1/users/{userId}/settings/sendAs",
|
|
9243
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
|
|
9244
|
+
"PUT /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
|
|
9245
|
+
"PATCH /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
|
|
9246
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
|
|
9247
|
+
"POST /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
|
|
9248
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
|
|
9249
|
+
"DELETE /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
|
|
9250
|
+
"POST /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault",
|
|
9251
|
+
"GET /v1/users/{userId}/settings/vacation",
|
|
9252
|
+
"PUT /v1/users/{userId}/settings/vacation"
|
|
9253
|
+
]
|
|
9254
|
+
},
|
|
9255
|
+
{
|
|
9256
|
+
name: "gmail.settings.sharing",
|
|
9257
|
+
description: "Manage your sensitive mail settings, including who can manage your mail",
|
|
9258
|
+
rules: [
|
|
9259
|
+
"PUT /v1/users/{userId}/settings/autoForwarding",
|
|
9260
|
+
"GET /v1/users/{userId}/settings/cse/identities",
|
|
9261
|
+
"POST /v1/users/{userId}/settings/cse/identities",
|
|
9262
|
+
"GET /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
|
|
9263
|
+
"DELETE /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
|
|
9264
|
+
"PATCH /v1/users/{userId}/settings/cse/identities/{emailAddress}",
|
|
9265
|
+
"GET /v1/users/{userId}/settings/cse/keypairs",
|
|
9266
|
+
"POST /v1/users/{userId}/settings/cse/keypairs",
|
|
9267
|
+
"GET /v1/users/{userId}/settings/cse/keypairs/{keyPairId}",
|
|
9268
|
+
"POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable",
|
|
9269
|
+
"POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable",
|
|
9270
|
+
"POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate",
|
|
9271
|
+
"POST /v1/users/{userId}/settings/delegates",
|
|
9272
|
+
"DELETE /v1/users/{userId}/settings/delegates/{delegateEmail}",
|
|
9273
|
+
"POST /v1/users/{userId}/settings/forwardingAddresses",
|
|
9274
|
+
"DELETE /v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}",
|
|
9275
|
+
"POST /v1/users/{userId}/settings/sendAs",
|
|
9276
|
+
"PUT /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
|
|
9277
|
+
"PATCH /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
|
|
9278
|
+
"DELETE /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
|
|
9279
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
|
|
9280
|
+
"POST /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
|
|
9281
|
+
"GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
|
|
9282
|
+
"DELETE /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
|
|
9283
|
+
"POST /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault",
|
|
9284
|
+
"POST /v1/users/{userId}/settings/sendAs/{sendAsEmail}/verify"
|
|
9285
|
+
]
|
|
9286
|
+
}
|
|
9287
|
+
]
|
|
9288
|
+
}
|
|
9289
|
+
]
|
|
9290
|
+
};
|
|
9291
|
+
|
|
9292
|
+
// ../../packages/core/src/firewalls/google-calendar.generated.ts
|
|
9293
|
+
var googleCalendarFirewall = {
|
|
9294
|
+
name: "google-calendar",
|
|
9295
|
+
description: "Google Calendar API",
|
|
9296
|
+
placeholders: {
|
|
9297
|
+
GOOGLE_CALENDAR_TOKEN: "ya29.A0Vm0PlaceHolder-Vm0_PlaceHolder00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
9298
|
+
},
|
|
9299
|
+
apis: [
|
|
9300
|
+
{
|
|
9301
|
+
base: "https://www.googleapis.com/calendar",
|
|
9302
|
+
auth: {
|
|
9303
|
+
headers: {
|
|
9304
|
+
Authorization: "Bearer ${{ secrets.GOOGLE_CALENDAR_TOKEN }}"
|
|
9305
|
+
}
|
|
9306
|
+
},
|
|
9307
|
+
permissions: [
|
|
9308
|
+
{
|
|
9309
|
+
name: "unrestricted",
|
|
9310
|
+
description: "Allow all endpoints",
|
|
9311
|
+
rules: ["ANY /{path*}"]
|
|
9312
|
+
},
|
|
9313
|
+
{
|
|
9314
|
+
name: "calendar",
|
|
9315
|
+
description: "See, edit, share, and permanently delete all the calendars you can access using Google Calendar",
|
|
9316
|
+
rules: [
|
|
9317
|
+
"POST /v3/calendars",
|
|
9318
|
+
"GET /v3/calendars/{calendarId}",
|
|
9319
|
+
"PUT /v3/calendars/{calendarId}",
|
|
9320
|
+
"PATCH /v3/calendars/{calendarId}",
|
|
9321
|
+
"DELETE /v3/calendars/{calendarId}",
|
|
9322
|
+
"GET /v3/calendars/{calendarId}/acl",
|
|
9323
|
+
"POST /v3/calendars/{calendarId}/acl",
|
|
9324
|
+
"POST /v3/calendars/{calendarId}/acl/watch",
|
|
9325
|
+
"GET /v3/calendars/{calendarId}/acl/{ruleId}",
|
|
9326
|
+
"PUT /v3/calendars/{calendarId}/acl/{ruleId}",
|
|
9327
|
+
"PATCH /v3/calendars/{calendarId}/acl/{ruleId}",
|
|
9328
|
+
"DELETE /v3/calendars/{calendarId}/acl/{ruleId}",
|
|
9329
|
+
"POST /v3/calendars/{calendarId}/clear",
|
|
9330
|
+
"GET /v3/calendars/{calendarId}/events",
|
|
9331
|
+
"POST /v3/calendars/{calendarId}/events",
|
|
9332
|
+
"POST /v3/calendars/{calendarId}/events/import",
|
|
9333
|
+
"POST /v3/calendars/{calendarId}/events/quickAdd",
|
|
9334
|
+
"POST /v3/calendars/{calendarId}/events/watch",
|
|
9335
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}",
|
|
9336
|
+
"PUT /v3/calendars/{calendarId}/events/{eventId}",
|
|
9337
|
+
"PATCH /v3/calendars/{calendarId}/events/{eventId}",
|
|
9338
|
+
"DELETE /v3/calendars/{calendarId}/events/{eventId}",
|
|
9339
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}/instances",
|
|
9340
|
+
"POST /v3/calendars/{calendarId}/events/{eventId}/move",
|
|
9341
|
+
"POST /v3/channels/stop",
|
|
9342
|
+
"GET /v3/colors",
|
|
9343
|
+
"POST /v3/freeBusy",
|
|
9344
|
+
"GET /v3/users/me/calendarList",
|
|
9345
|
+
"POST /v3/users/me/calendarList",
|
|
9346
|
+
"POST /v3/users/me/calendarList/watch",
|
|
9347
|
+
"GET /v3/users/me/calendarList/{calendarId}",
|
|
9348
|
+
"PUT /v3/users/me/calendarList/{calendarId}",
|
|
9349
|
+
"PATCH /v3/users/me/calendarList/{calendarId}",
|
|
9350
|
+
"DELETE /v3/users/me/calendarList/{calendarId}",
|
|
9351
|
+
"GET /v3/users/me/settings",
|
|
9352
|
+
"POST /v3/users/me/settings/watch",
|
|
9353
|
+
"GET /v3/users/me/settings/{setting}"
|
|
9354
|
+
]
|
|
9355
|
+
},
|
|
9356
|
+
{
|
|
9357
|
+
name: "calendar.acls",
|
|
9358
|
+
description: "See and change the sharing permissions of Google calendars you own",
|
|
9359
|
+
rules: [
|
|
9360
|
+
"GET /v3/calendars/{calendarId}/acl",
|
|
9361
|
+
"POST /v3/calendars/{calendarId}/acl",
|
|
9362
|
+
"POST /v3/calendars/{calendarId}/acl/watch",
|
|
9363
|
+
"GET /v3/calendars/{calendarId}/acl/{ruleId}",
|
|
9364
|
+
"PUT /v3/calendars/{calendarId}/acl/{ruleId}",
|
|
9365
|
+
"PATCH /v3/calendars/{calendarId}/acl/{ruleId}",
|
|
9366
|
+
"DELETE /v3/calendars/{calendarId}/acl/{ruleId}",
|
|
9367
|
+
"POST /v3/channels/stop"
|
|
9368
|
+
]
|
|
9369
|
+
},
|
|
9370
|
+
{
|
|
9371
|
+
name: "calendar.acls.readonly",
|
|
9372
|
+
description: "See the sharing permissions of Google calendars you own",
|
|
9373
|
+
rules: [
|
|
9374
|
+
"GET /v3/calendars/{calendarId}/acl",
|
|
9375
|
+
"POST /v3/calendars/{calendarId}/acl/watch",
|
|
9376
|
+
"GET /v3/calendars/{calendarId}/acl/{ruleId}",
|
|
9377
|
+
"POST /v3/channels/stop"
|
|
9378
|
+
]
|
|
9379
|
+
},
|
|
9380
|
+
{
|
|
9381
|
+
name: "calendar.app.created",
|
|
9382
|
+
description: "Make secondary Google calendars, and see, create, change, and delete events on them",
|
|
9383
|
+
rules: [
|
|
9384
|
+
"POST /v3/calendars",
|
|
9385
|
+
"GET /v3/calendars/{calendarId}",
|
|
9386
|
+
"PUT /v3/calendars/{calendarId}",
|
|
9387
|
+
"PATCH /v3/calendars/{calendarId}",
|
|
9388
|
+
"DELETE /v3/calendars/{calendarId}",
|
|
9389
|
+
"GET /v3/calendars/{calendarId}/events",
|
|
9390
|
+
"POST /v3/calendars/{calendarId}/events",
|
|
9391
|
+
"POST /v3/calendars/{calendarId}/events/import",
|
|
9392
|
+
"POST /v3/calendars/{calendarId}/events/quickAdd",
|
|
9393
|
+
"POST /v3/calendars/{calendarId}/events/watch",
|
|
9394
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}",
|
|
9395
|
+
"PUT /v3/calendars/{calendarId}/events/{eventId}",
|
|
9396
|
+
"PATCH /v3/calendars/{calendarId}/events/{eventId}",
|
|
9397
|
+
"DELETE /v3/calendars/{calendarId}/events/{eventId}",
|
|
9398
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}/instances",
|
|
9399
|
+
"POST /v3/channels/stop",
|
|
9400
|
+
"GET /v3/colors",
|
|
9401
|
+
"GET /v3/users/me/calendarList/{calendarId}",
|
|
9402
|
+
"PUT /v3/users/me/calendarList/{calendarId}",
|
|
9403
|
+
"PATCH /v3/users/me/calendarList/{calendarId}",
|
|
9404
|
+
"DELETE /v3/users/me/calendarList/{calendarId}"
|
|
9405
|
+
]
|
|
9406
|
+
},
|
|
9407
|
+
{
|
|
9408
|
+
name: "calendar.calendarlist",
|
|
9409
|
+
description: "See, add, and remove Google calendars you\u2019re subscribed to",
|
|
9410
|
+
rules: [
|
|
9411
|
+
"POST /v3/channels/stop",
|
|
9412
|
+
"GET /v3/colors",
|
|
9413
|
+
"GET /v3/users/me/calendarList",
|
|
9414
|
+
"POST /v3/users/me/calendarList",
|
|
9415
|
+
"POST /v3/users/me/calendarList/watch",
|
|
9416
|
+
"GET /v3/users/me/calendarList/{calendarId}",
|
|
9417
|
+
"PUT /v3/users/me/calendarList/{calendarId}",
|
|
9418
|
+
"PATCH /v3/users/me/calendarList/{calendarId}",
|
|
9419
|
+
"DELETE /v3/users/me/calendarList/{calendarId}"
|
|
9420
|
+
]
|
|
9421
|
+
},
|
|
9422
|
+
{
|
|
9423
|
+
name: "calendar.calendarlist.readonly",
|
|
9424
|
+
description: "See the list of Google calendars you\u2019re subscribed to",
|
|
9425
|
+
rules: [
|
|
9426
|
+
"POST /v3/channels/stop",
|
|
9427
|
+
"GET /v3/colors",
|
|
9428
|
+
"GET /v3/users/me/calendarList",
|
|
9429
|
+
"POST /v3/users/me/calendarList/watch",
|
|
9430
|
+
"GET /v3/users/me/calendarList/{calendarId}"
|
|
9431
|
+
]
|
|
9432
|
+
},
|
|
9433
|
+
{
|
|
9434
|
+
name: "calendar.calendars",
|
|
9435
|
+
description: "See and change the properties of Google calendars you have access to, and create secondary calendars",
|
|
9436
|
+
rules: [
|
|
9437
|
+
"POST /v3/calendars",
|
|
9438
|
+
"GET /v3/calendars/{calendarId}",
|
|
9439
|
+
"PUT /v3/calendars/{calendarId}",
|
|
9440
|
+
"PATCH /v3/calendars/{calendarId}",
|
|
9441
|
+
"DELETE /v3/calendars/{calendarId}",
|
|
9442
|
+
"POST /v3/calendars/{calendarId}/clear"
|
|
9443
|
+
]
|
|
9444
|
+
},
|
|
9445
|
+
{
|
|
9446
|
+
name: "calendar.calendars.readonly",
|
|
9447
|
+
description: "See the title, description, default time zone, and other properties of Google calendars you have access to",
|
|
9448
|
+
rules: ["GET /v3/calendars/{calendarId}"]
|
|
9449
|
+
},
|
|
9450
|
+
{
|
|
9451
|
+
name: "calendar.events",
|
|
9452
|
+
description: "View and edit events on all your calendars",
|
|
9453
|
+
rules: [
|
|
9454
|
+
"GET /v3/calendars/{calendarId}/events",
|
|
9455
|
+
"POST /v3/calendars/{calendarId}/events",
|
|
9456
|
+
"POST /v3/calendars/{calendarId}/events/import",
|
|
9457
|
+
"POST /v3/calendars/{calendarId}/events/quickAdd",
|
|
9458
|
+
"POST /v3/calendars/{calendarId}/events/watch",
|
|
9459
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}",
|
|
9460
|
+
"PUT /v3/calendars/{calendarId}/events/{eventId}",
|
|
9461
|
+
"PATCH /v3/calendars/{calendarId}/events/{eventId}",
|
|
9462
|
+
"DELETE /v3/calendars/{calendarId}/events/{eventId}",
|
|
9463
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}/instances",
|
|
9464
|
+
"POST /v3/calendars/{calendarId}/events/{eventId}/move",
|
|
9465
|
+
"POST /v3/channels/stop"
|
|
9466
|
+
]
|
|
9467
|
+
},
|
|
9468
|
+
{
|
|
9469
|
+
name: "calendar.events.freebusy",
|
|
9470
|
+
description: "See the availability on Google calendars you have access to",
|
|
9471
|
+
rules: [
|
|
9472
|
+
"GET /v3/calendars/{calendarId}/events",
|
|
9473
|
+
"POST /v3/calendars/{calendarId}/events/watch",
|
|
9474
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}",
|
|
9475
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}/instances",
|
|
9476
|
+
"POST /v3/channels/stop",
|
|
9477
|
+
"GET /v3/colors",
|
|
9478
|
+
"POST /v3/freeBusy"
|
|
9479
|
+
]
|
|
9480
|
+
},
|
|
9481
|
+
{
|
|
9482
|
+
name: "calendar.events.owned",
|
|
9483
|
+
description: "See, create, change, and delete events on Google calendars you own",
|
|
9484
|
+
rules: [
|
|
9485
|
+
"GET /v3/calendars/{calendarId}/events",
|
|
9486
|
+
"POST /v3/calendars/{calendarId}/events",
|
|
9487
|
+
"POST /v3/calendars/{calendarId}/events/import",
|
|
9488
|
+
"POST /v3/calendars/{calendarId}/events/quickAdd",
|
|
9489
|
+
"POST /v3/calendars/{calendarId}/events/watch",
|
|
9490
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}",
|
|
9491
|
+
"PUT /v3/calendars/{calendarId}/events/{eventId}",
|
|
9492
|
+
"PATCH /v3/calendars/{calendarId}/events/{eventId}",
|
|
9493
|
+
"DELETE /v3/calendars/{calendarId}/events/{eventId}",
|
|
9494
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}/instances",
|
|
9495
|
+
"POST /v3/calendars/{calendarId}/events/{eventId}/move",
|
|
9496
|
+
"POST /v3/channels/stop",
|
|
9497
|
+
"GET /v3/colors"
|
|
9498
|
+
]
|
|
9499
|
+
},
|
|
9500
|
+
{
|
|
9501
|
+
name: "calendar.events.owned.readonly",
|
|
9502
|
+
description: "See the events on Google calendars you own",
|
|
9503
|
+
rules: [
|
|
9504
|
+
"GET /v3/calendars/{calendarId}/events",
|
|
9505
|
+
"POST /v3/calendars/{calendarId}/events/watch",
|
|
9506
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}",
|
|
9507
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}/instances",
|
|
9508
|
+
"POST /v3/channels/stop",
|
|
9509
|
+
"GET /v3/colors"
|
|
9510
|
+
]
|
|
9511
|
+
},
|
|
9512
|
+
{
|
|
9513
|
+
name: "calendar.events.public.readonly",
|
|
9514
|
+
description: "See the events on public calendars",
|
|
9515
|
+
rules: [
|
|
9516
|
+
"GET /v3/calendars/{calendarId}/events",
|
|
9517
|
+
"POST /v3/calendars/{calendarId}/events/watch",
|
|
9518
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}",
|
|
9519
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}/instances",
|
|
9520
|
+
"POST /v3/channels/stop",
|
|
9521
|
+
"GET /v3/colors"
|
|
9522
|
+
]
|
|
9523
|
+
},
|
|
9524
|
+
{
|
|
9525
|
+
name: "calendar.events.readonly",
|
|
9526
|
+
description: "View events on all your calendars",
|
|
9527
|
+
rules: [
|
|
9528
|
+
"GET /v3/calendars/{calendarId}/events",
|
|
9529
|
+
"POST /v3/calendars/{calendarId}/events/watch",
|
|
9530
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}",
|
|
9531
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}/instances",
|
|
9532
|
+
"POST /v3/channels/stop"
|
|
9533
|
+
]
|
|
9534
|
+
},
|
|
9535
|
+
{
|
|
9536
|
+
name: "calendar.freebusy",
|
|
9537
|
+
description: "View your availability in your calendars",
|
|
9538
|
+
rules: ["POST /v3/freeBusy"]
|
|
9539
|
+
},
|
|
9540
|
+
{
|
|
9541
|
+
name: "calendar.readonly",
|
|
9542
|
+
description: "See and download any calendar you can access using your Google Calendar",
|
|
9543
|
+
rules: [
|
|
9544
|
+
"GET /v3/calendars/{calendarId}",
|
|
9545
|
+
"GET /v3/calendars/{calendarId}/acl/{ruleId}",
|
|
9546
|
+
"GET /v3/calendars/{calendarId}/events",
|
|
9547
|
+
"POST /v3/calendars/{calendarId}/events/watch",
|
|
9548
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}",
|
|
9549
|
+
"GET /v3/calendars/{calendarId}/events/{eventId}/instances",
|
|
9550
|
+
"POST /v3/channels/stop",
|
|
9551
|
+
"GET /v3/colors",
|
|
9552
|
+
"POST /v3/freeBusy",
|
|
9553
|
+
"GET /v3/users/me/calendarList",
|
|
9554
|
+
"POST /v3/users/me/calendarList/watch",
|
|
9555
|
+
"GET /v3/users/me/calendarList/{calendarId}",
|
|
9556
|
+
"GET /v3/users/me/settings",
|
|
9557
|
+
"POST /v3/users/me/settings/watch",
|
|
9558
|
+
"GET /v3/users/me/settings/{setting}"
|
|
9559
|
+
]
|
|
9560
|
+
},
|
|
9561
|
+
{
|
|
9562
|
+
name: "calendar.settings.readonly",
|
|
9563
|
+
description: "View your Calendar settings",
|
|
9564
|
+
rules: [
|
|
9565
|
+
"POST /v3/channels/stop",
|
|
9566
|
+
"GET /v3/users/me/settings",
|
|
9567
|
+
"POST /v3/users/me/settings/watch",
|
|
9568
|
+
"GET /v3/users/me/settings/{setting}"
|
|
9569
|
+
]
|
|
9570
|
+
}
|
|
9571
|
+
]
|
|
9572
|
+
}
|
|
9573
|
+
]
|
|
9574
|
+
};
|
|
9575
|
+
|
|
9576
|
+
// ../../packages/core/src/firewalls/google-docs.generated.ts
|
|
9577
|
+
var googleDocsFirewall = {
|
|
9578
|
+
name: "google-docs",
|
|
9579
|
+
description: "Google Docs API",
|
|
9580
|
+
placeholders: {
|
|
9581
|
+
GOOGLE_DOCS_TOKEN: "ya29.A0Vm0PlaceHolder-Vm0_PlaceHolder00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
9582
|
+
},
|
|
9583
|
+
apis: [
|
|
9584
|
+
{
|
|
9585
|
+
base: "https://docs.googleapis.com",
|
|
9586
|
+
auth: {
|
|
9587
|
+
headers: {
|
|
9588
|
+
Authorization: "Bearer ${{ secrets.GOOGLE_DOCS_TOKEN }}"
|
|
9589
|
+
}
|
|
9590
|
+
},
|
|
9591
|
+
permissions: [
|
|
9592
|
+
{
|
|
9593
|
+
name: "unrestricted",
|
|
9594
|
+
description: "Allow all endpoints",
|
|
9595
|
+
rules: ["ANY /{path*}"]
|
|
9596
|
+
},
|
|
9597
|
+
{
|
|
9598
|
+
name: "documents",
|
|
9599
|
+
description: "See, edit, create, and delete all your Google Docs documents",
|
|
9600
|
+
rules: [
|
|
9601
|
+
"POST /v1/documents",
|
|
9602
|
+
"GET /v1/documents/{documentId}",
|
|
9603
|
+
"POST /v1/documents/{documentId}:batchUpdate"
|
|
9604
|
+
]
|
|
9605
|
+
},
|
|
9606
|
+
{
|
|
9607
|
+
name: "documents.readonly",
|
|
9608
|
+
description: "See all your Google Docs documents",
|
|
9609
|
+
rules: ["GET /v1/documents/{documentId}"]
|
|
9610
|
+
},
|
|
9611
|
+
{
|
|
9612
|
+
name: "drive",
|
|
9613
|
+
description: "See, edit, create, and delete all of your Google Drive files",
|
|
9614
|
+
rules: [
|
|
9615
|
+
"POST /v1/documents",
|
|
9616
|
+
"GET /v1/documents/{documentId}",
|
|
9617
|
+
"POST /v1/documents/{documentId}:batchUpdate"
|
|
9618
|
+
]
|
|
9619
|
+
},
|
|
9620
|
+
{
|
|
9621
|
+
name: "drive.file",
|
|
9622
|
+
description: "See, edit, create, and delete only the specific Google Drive files you use with this app",
|
|
9623
|
+
rules: [
|
|
9624
|
+
"POST /v1/documents",
|
|
9625
|
+
"GET /v1/documents/{documentId}",
|
|
9626
|
+
"POST /v1/documents/{documentId}:batchUpdate"
|
|
9627
|
+
]
|
|
9628
|
+
},
|
|
9629
|
+
{
|
|
9630
|
+
name: "drive.readonly",
|
|
9631
|
+
description: "See and download all your Google Drive files",
|
|
9632
|
+
rules: ["GET /v1/documents/{documentId}"]
|
|
9633
|
+
}
|
|
9634
|
+
]
|
|
9635
|
+
}
|
|
9636
|
+
]
|
|
9637
|
+
};
|
|
9638
|
+
|
|
9639
|
+
// ../../packages/core/src/firewalls/google-drive.generated.ts
|
|
9640
|
+
var googleDriveFirewall = {
|
|
9641
|
+
name: "google-drive",
|
|
9642
|
+
description: "Google Drive API",
|
|
9643
|
+
placeholders: {
|
|
9644
|
+
GOOGLE_DRIVE_TOKEN: "ya29.A0Vm0PlaceHolder-Vm0_PlaceHolder00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
9645
|
+
},
|
|
9646
|
+
apis: [
|
|
9647
|
+
{
|
|
9648
|
+
base: "https://www.googleapis.com/drive",
|
|
9649
|
+
auth: {
|
|
9650
|
+
headers: {
|
|
9651
|
+
Authorization: "Bearer ${{ secrets.GOOGLE_DRIVE_TOKEN }}"
|
|
9652
|
+
}
|
|
9653
|
+
},
|
|
9654
|
+
permissions: [
|
|
9655
|
+
{
|
|
9656
|
+
name: "unrestricted",
|
|
9657
|
+
description: "Allow all endpoints",
|
|
9658
|
+
rules: ["ANY /{path*}"]
|
|
9659
|
+
},
|
|
9660
|
+
{
|
|
9661
|
+
name: "drive",
|
|
9662
|
+
description: "See, edit, create, and delete all of your Google Drive files",
|
|
9663
|
+
rules: [
|
|
9664
|
+
"GET /v2/about",
|
|
9665
|
+
"GET /v2/apps/{appId}",
|
|
9666
|
+
"GET /v2/changes",
|
|
9667
|
+
"GET /v2/changes/startPageToken",
|
|
9668
|
+
"POST /v2/changes/watch",
|
|
9669
|
+
"GET /v2/changes/{changeId}",
|
|
9670
|
+
"POST /v2/channels/stop",
|
|
9671
|
+
"GET /v2/drives",
|
|
9672
|
+
"POST /v2/drives",
|
|
9673
|
+
"GET /v2/drives/{driveId}",
|
|
9674
|
+
"PUT /v2/drives/{driveId}",
|
|
9675
|
+
"DELETE /v2/drives/{driveId}",
|
|
9676
|
+
"POST /v2/drives/{driveId}/hide",
|
|
9677
|
+
"POST /v2/drives/{driveId}/unhide",
|
|
9678
|
+
"GET /v2/files",
|
|
9679
|
+
"POST /v2/files",
|
|
9680
|
+
"GET /v2/files/generateIds",
|
|
9681
|
+
"DELETE /v2/files/trash",
|
|
9682
|
+
"GET /v2/files/{fileId}",
|
|
9683
|
+
"PUT /v2/files/{fileId}",
|
|
9684
|
+
"PATCH /v2/files/{fileId}",
|
|
9685
|
+
"DELETE /v2/files/{fileId}",
|
|
9686
|
+
"GET /v2/files/{fileId}/comments",
|
|
9687
|
+
"POST /v2/files/{fileId}/comments",
|
|
9688
|
+
"GET /v2/files/{fileId}/comments/{commentId}",
|
|
9689
|
+
"PUT /v2/files/{fileId}/comments/{commentId}",
|
|
9690
|
+
"PATCH /v2/files/{fileId}/comments/{commentId}",
|
|
9691
|
+
"DELETE /v2/files/{fileId}/comments/{commentId}",
|
|
9692
|
+
"GET /v2/files/{fileId}/comments/{commentId}/replies",
|
|
9693
|
+
"POST /v2/files/{fileId}/comments/{commentId}/replies",
|
|
9694
|
+
"GET /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9695
|
+
"PUT /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9696
|
+
"PATCH /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9697
|
+
"DELETE /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9698
|
+
"POST /v2/files/{fileId}/copy",
|
|
9699
|
+
"GET /v2/files/{fileId}/export",
|
|
9700
|
+
"GET /v2/files/{fileId}/listLabels",
|
|
9701
|
+
"POST /v2/files/{fileId}/modifyLabels",
|
|
9702
|
+
"GET /v2/files/{fileId}/parents",
|
|
9703
|
+
"POST /v2/files/{fileId}/parents",
|
|
9704
|
+
"GET /v2/files/{fileId}/parents/{parentId}",
|
|
9705
|
+
"DELETE /v2/files/{fileId}/parents/{parentId}",
|
|
9706
|
+
"GET /v2/files/{fileId}/permissions",
|
|
9707
|
+
"POST /v2/files/{fileId}/permissions",
|
|
9708
|
+
"GET /v2/files/{fileId}/permissions/{permissionId}",
|
|
9709
|
+
"PUT /v2/files/{fileId}/permissions/{permissionId}",
|
|
9710
|
+
"PATCH /v2/files/{fileId}/permissions/{permissionId}",
|
|
9711
|
+
"DELETE /v2/files/{fileId}/permissions/{permissionId}",
|
|
9712
|
+
"GET /v2/files/{fileId}/properties",
|
|
9713
|
+
"POST /v2/files/{fileId}/properties",
|
|
9714
|
+
"GET /v2/files/{fileId}/properties/{propertyKey}",
|
|
9715
|
+
"PUT /v2/files/{fileId}/properties/{propertyKey}",
|
|
9716
|
+
"PATCH /v2/files/{fileId}/properties/{propertyKey}",
|
|
9717
|
+
"DELETE /v2/files/{fileId}/properties/{propertyKey}",
|
|
9718
|
+
"GET /v2/files/{fileId}/revisions",
|
|
9719
|
+
"GET /v2/files/{fileId}/revisions/{revisionId}",
|
|
9720
|
+
"PUT /v2/files/{fileId}/revisions/{revisionId}",
|
|
9721
|
+
"PATCH /v2/files/{fileId}/revisions/{revisionId}",
|
|
9722
|
+
"DELETE /v2/files/{fileId}/revisions/{revisionId}",
|
|
9723
|
+
"POST /v2/files/{fileId}/touch",
|
|
9724
|
+
"POST /v2/files/{fileId}/trash",
|
|
9725
|
+
"POST /v2/files/{fileId}/untrash",
|
|
9726
|
+
"POST /v2/files/{fileId}/watch",
|
|
9727
|
+
"GET /v2/files/{folderId}/children",
|
|
9728
|
+
"POST /v2/files/{folderId}/children",
|
|
9729
|
+
"GET /v2/files/{folderId}/children/{childId}",
|
|
9730
|
+
"DELETE /v2/files/{folderId}/children/{childId}",
|
|
9731
|
+
"GET /v2/permissionIds/{email}",
|
|
9732
|
+
"GET /v2/teamdrives",
|
|
9733
|
+
"POST /v2/teamdrives",
|
|
9734
|
+
"GET /v2/teamdrives/{teamDriveId}",
|
|
9735
|
+
"PUT /v2/teamdrives/{teamDriveId}",
|
|
9736
|
+
"DELETE /v2/teamdrives/{teamDriveId}",
|
|
9737
|
+
"GET /v3/about",
|
|
9738
|
+
"GET /v3/apps/{appId}",
|
|
9739
|
+
"GET /v3/changes",
|
|
9740
|
+
"GET /v3/changes/startPageToken",
|
|
9741
|
+
"POST /v3/changes/watch",
|
|
9742
|
+
"POST /v3/channels/stop",
|
|
9743
|
+
"GET /v3/drives",
|
|
9744
|
+
"POST /v3/drives",
|
|
9745
|
+
"GET /v3/drives/{driveId}",
|
|
9746
|
+
"PATCH /v3/drives/{driveId}",
|
|
9747
|
+
"DELETE /v3/drives/{driveId}",
|
|
9748
|
+
"POST /v3/drives/{driveId}/hide",
|
|
9749
|
+
"POST /v3/drives/{driveId}/unhide",
|
|
9750
|
+
"GET /v3/files",
|
|
9751
|
+
"POST /v3/files",
|
|
9752
|
+
"GET /v3/files/generateIds",
|
|
9753
|
+
"DELETE /v3/files/trash",
|
|
9754
|
+
"GET /v3/files/{fileId}",
|
|
9755
|
+
"PATCH /v3/files/{fileId}",
|
|
9756
|
+
"DELETE /v3/files/{fileId}",
|
|
9757
|
+
"GET /v3/files/{fileId}/accessproposals",
|
|
9758
|
+
"GET /v3/files/{fileId}/accessproposals/{proposalId}",
|
|
9759
|
+
"POST /v3/files/{fileId}/accessproposals/{proposalId}:resolve",
|
|
9760
|
+
"GET /v3/files/{fileId}/approvals",
|
|
9761
|
+
"GET /v3/files/{fileId}/approvals/{approvalId}",
|
|
9762
|
+
"GET /v3/files/{fileId}/comments",
|
|
9763
|
+
"POST /v3/files/{fileId}/comments",
|
|
9764
|
+
"GET /v3/files/{fileId}/comments/{commentId}",
|
|
9765
|
+
"PATCH /v3/files/{fileId}/comments/{commentId}",
|
|
9766
|
+
"DELETE /v3/files/{fileId}/comments/{commentId}",
|
|
9767
|
+
"GET /v3/files/{fileId}/comments/{commentId}/replies",
|
|
9768
|
+
"POST /v3/files/{fileId}/comments/{commentId}/replies",
|
|
9769
|
+
"GET /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9770
|
+
"PATCH /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9771
|
+
"DELETE /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9772
|
+
"POST /v3/files/{fileId}/copy",
|
|
9773
|
+
"POST /v3/files/{fileId}/download",
|
|
9774
|
+
"GET /v3/files/{fileId}/export",
|
|
9775
|
+
"GET /v3/files/{fileId}/listLabels",
|
|
9776
|
+
"POST /v3/files/{fileId}/modifyLabels",
|
|
9777
|
+
"GET /v3/files/{fileId}/permissions",
|
|
9778
|
+
"POST /v3/files/{fileId}/permissions",
|
|
9779
|
+
"GET /v3/files/{fileId}/permissions/{permissionId}",
|
|
9780
|
+
"PATCH /v3/files/{fileId}/permissions/{permissionId}",
|
|
9781
|
+
"DELETE /v3/files/{fileId}/permissions/{permissionId}",
|
|
9782
|
+
"GET /v3/files/{fileId}/revisions",
|
|
9783
|
+
"GET /v3/files/{fileId}/revisions/{revisionId}",
|
|
9784
|
+
"PATCH /v3/files/{fileId}/revisions/{revisionId}",
|
|
9785
|
+
"DELETE /v3/files/{fileId}/revisions/{revisionId}",
|
|
9786
|
+
"POST /v3/files/{fileId}/watch",
|
|
9787
|
+
"GET /v3/operations/{name}",
|
|
9788
|
+
"GET /v3/teamdrives",
|
|
9789
|
+
"POST /v3/teamdrives",
|
|
9790
|
+
"GET /v3/teamdrives/{teamDriveId}",
|
|
9791
|
+
"PATCH /v3/teamdrives/{teamDriveId}",
|
|
9792
|
+
"DELETE /v3/teamdrives/{teamDriveId}"
|
|
9793
|
+
]
|
|
9794
|
+
},
|
|
9795
|
+
{
|
|
9796
|
+
name: "drive.appdata",
|
|
9797
|
+
description: "See, create, and delete its own configuration data in your Google Drive",
|
|
9798
|
+
rules: [
|
|
9799
|
+
"GET /v2/about",
|
|
9800
|
+
"GET /v2/apps/{appId}",
|
|
9801
|
+
"GET /v2/changes",
|
|
9802
|
+
"GET /v2/changes/startPageToken",
|
|
9803
|
+
"POST /v2/changes/watch",
|
|
9804
|
+
"GET /v2/changes/{changeId}",
|
|
9805
|
+
"POST /v2/channels/stop",
|
|
9806
|
+
"GET /v2/files",
|
|
9807
|
+
"POST /v2/files",
|
|
9808
|
+
"GET /v2/files/generateIds",
|
|
9809
|
+
"GET /v2/files/{fileId}",
|
|
9810
|
+
"PUT /v2/files/{fileId}",
|
|
9811
|
+
"PATCH /v2/files/{fileId}",
|
|
9812
|
+
"DELETE /v2/files/{fileId}",
|
|
9813
|
+
"POST /v2/files/{fileId}/copy",
|
|
9814
|
+
"GET /v2/files/{fileId}/parents",
|
|
9815
|
+
"POST /v2/files/{fileId}/parents",
|
|
9816
|
+
"GET /v2/files/{fileId}/parents/{parentId}",
|
|
9817
|
+
"GET /v2/files/{fileId}/properties",
|
|
9818
|
+
"POST /v2/files/{fileId}/properties",
|
|
9819
|
+
"GET /v2/files/{fileId}/properties/{propertyKey}",
|
|
9820
|
+
"PUT /v2/files/{fileId}/properties/{propertyKey}",
|
|
9821
|
+
"PATCH /v2/files/{fileId}/properties/{propertyKey}",
|
|
9822
|
+
"DELETE /v2/files/{fileId}/properties/{propertyKey}",
|
|
9823
|
+
"GET /v2/files/{fileId}/revisions",
|
|
9824
|
+
"GET /v2/files/{fileId}/revisions/{revisionId}",
|
|
9825
|
+
"PUT /v2/files/{fileId}/revisions/{revisionId}",
|
|
9826
|
+
"PATCH /v2/files/{fileId}/revisions/{revisionId}",
|
|
9827
|
+
"DELETE /v2/files/{fileId}/revisions/{revisionId}",
|
|
9828
|
+
"POST /v2/files/{fileId}/touch",
|
|
9829
|
+
"POST /v2/files/{fileId}/trash",
|
|
9830
|
+
"POST /v2/files/{fileId}/untrash",
|
|
9831
|
+
"POST /v2/files/{fileId}/watch",
|
|
9832
|
+
"GET /v2/files/{folderId}/children",
|
|
9833
|
+
"POST /v2/files/{folderId}/children",
|
|
9834
|
+
"GET /v2/files/{folderId}/children/{childId}",
|
|
9835
|
+
"GET /v2/permissionIds/{email}",
|
|
9836
|
+
"GET /v3/about",
|
|
9837
|
+
"GET /v3/apps/{appId}",
|
|
9838
|
+
"GET /v3/changes",
|
|
9839
|
+
"GET /v3/changes/startPageToken",
|
|
9840
|
+
"POST /v3/changes/watch",
|
|
9841
|
+
"POST /v3/channels/stop",
|
|
9842
|
+
"GET /v3/files",
|
|
9843
|
+
"POST /v3/files",
|
|
9844
|
+
"GET /v3/files/generateIds",
|
|
9845
|
+
"GET /v3/files/{fileId}",
|
|
9846
|
+
"PATCH /v3/files/{fileId}",
|
|
9847
|
+
"DELETE /v3/files/{fileId}",
|
|
9848
|
+
"GET /v3/files/{fileId}/approvals",
|
|
9849
|
+
"GET /v3/files/{fileId}/approvals/{approvalId}",
|
|
9850
|
+
"POST /v3/files/{fileId}/copy",
|
|
9851
|
+
"GET /v3/files/{fileId}/revisions",
|
|
9852
|
+
"GET /v3/files/{fileId}/revisions/{revisionId}",
|
|
9853
|
+
"PATCH /v3/files/{fileId}/revisions/{revisionId}",
|
|
9854
|
+
"DELETE /v3/files/{fileId}/revisions/{revisionId}",
|
|
9855
|
+
"POST /v3/files/{fileId}/watch"
|
|
9856
|
+
]
|
|
9857
|
+
},
|
|
9858
|
+
{
|
|
9859
|
+
name: "drive.apps.readonly",
|
|
9860
|
+
description: "View your Google Drive apps",
|
|
9861
|
+
rules: [
|
|
9862
|
+
"GET /v2/apps",
|
|
9863
|
+
"GET /v2/apps/{appId}",
|
|
9864
|
+
"GET /v2/changes",
|
|
9865
|
+
"GET /v2/changes/startPageToken",
|
|
9866
|
+
"POST /v2/changes/watch",
|
|
9867
|
+
"GET /v2/changes/{changeId}",
|
|
9868
|
+
"POST /v2/channels/stop",
|
|
9869
|
+
"GET /v2/files",
|
|
9870
|
+
"POST /v2/files",
|
|
9871
|
+
"PUT /v2/files/{fileId}",
|
|
9872
|
+
"PATCH /v2/files/{fileId}",
|
|
9873
|
+
"POST /v2/files/{fileId}/copy",
|
|
9874
|
+
"POST /v2/files/{fileId}/touch",
|
|
9875
|
+
"POST /v2/files/{fileId}/trash",
|
|
9876
|
+
"POST /v2/files/{fileId}/untrash",
|
|
9877
|
+
"GET /v2/permissionIds/{email}",
|
|
9878
|
+
"GET /v3/apps",
|
|
9879
|
+
"GET /v3/apps/{appId}"
|
|
9880
|
+
]
|
|
9881
|
+
},
|
|
9882
|
+
{
|
|
9883
|
+
name: "drive.file",
|
|
9884
|
+
description: "See, edit, create, and delete only the specific Google Drive files you use with this app",
|
|
9885
|
+
rules: [
|
|
9886
|
+
"GET /v2/about",
|
|
9887
|
+
"GET /v2/apps/{appId}",
|
|
9888
|
+
"GET /v2/changes",
|
|
9889
|
+
"GET /v2/changes/startPageToken",
|
|
9890
|
+
"POST /v2/changes/watch",
|
|
9891
|
+
"GET /v2/changes/{changeId}",
|
|
9892
|
+
"POST /v2/channels/stop",
|
|
9893
|
+
"GET /v2/files",
|
|
9894
|
+
"POST /v2/files",
|
|
9895
|
+
"GET /v2/files/generateIds",
|
|
9896
|
+
"GET /v2/files/{fileId}",
|
|
9897
|
+
"PUT /v2/files/{fileId}",
|
|
9898
|
+
"PATCH /v2/files/{fileId}",
|
|
9899
|
+
"DELETE /v2/files/{fileId}",
|
|
9900
|
+
"GET /v2/files/{fileId}/comments",
|
|
9901
|
+
"POST /v2/files/{fileId}/comments",
|
|
9902
|
+
"GET /v2/files/{fileId}/comments/{commentId}",
|
|
9903
|
+
"PUT /v2/files/{fileId}/comments/{commentId}",
|
|
9904
|
+
"PATCH /v2/files/{fileId}/comments/{commentId}",
|
|
9905
|
+
"DELETE /v2/files/{fileId}/comments/{commentId}",
|
|
9906
|
+
"GET /v2/files/{fileId}/comments/{commentId}/replies",
|
|
9907
|
+
"POST /v2/files/{fileId}/comments/{commentId}/replies",
|
|
9908
|
+
"GET /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9909
|
+
"PUT /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9910
|
+
"PATCH /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9911
|
+
"DELETE /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9912
|
+
"POST /v2/files/{fileId}/copy",
|
|
9913
|
+
"GET /v2/files/{fileId}/export",
|
|
9914
|
+
"GET /v2/files/{fileId}/listLabels",
|
|
9915
|
+
"POST /v2/files/{fileId}/modifyLabels",
|
|
9916
|
+
"GET /v2/files/{fileId}/parents",
|
|
9917
|
+
"POST /v2/files/{fileId}/parents",
|
|
9918
|
+
"GET /v2/files/{fileId}/parents/{parentId}",
|
|
9919
|
+
"DELETE /v2/files/{fileId}/parents/{parentId}",
|
|
9920
|
+
"GET /v2/files/{fileId}/permissions",
|
|
9921
|
+
"POST /v2/files/{fileId}/permissions",
|
|
9922
|
+
"GET /v2/files/{fileId}/permissions/{permissionId}",
|
|
9923
|
+
"PUT /v2/files/{fileId}/permissions/{permissionId}",
|
|
9924
|
+
"PATCH /v2/files/{fileId}/permissions/{permissionId}",
|
|
9925
|
+
"DELETE /v2/files/{fileId}/permissions/{permissionId}",
|
|
9926
|
+
"GET /v2/files/{fileId}/properties",
|
|
9927
|
+
"POST /v2/files/{fileId}/properties",
|
|
9928
|
+
"GET /v2/files/{fileId}/properties/{propertyKey}",
|
|
9929
|
+
"PUT /v2/files/{fileId}/properties/{propertyKey}",
|
|
9930
|
+
"PATCH /v2/files/{fileId}/properties/{propertyKey}",
|
|
9931
|
+
"DELETE /v2/files/{fileId}/properties/{propertyKey}",
|
|
9932
|
+
"GET /v2/files/{fileId}/revisions",
|
|
9933
|
+
"GET /v2/files/{fileId}/revisions/{revisionId}",
|
|
9934
|
+
"PUT /v2/files/{fileId}/revisions/{revisionId}",
|
|
9935
|
+
"PATCH /v2/files/{fileId}/revisions/{revisionId}",
|
|
9936
|
+
"DELETE /v2/files/{fileId}/revisions/{revisionId}",
|
|
9937
|
+
"POST /v2/files/{fileId}/touch",
|
|
9938
|
+
"POST /v2/files/{fileId}/trash",
|
|
9939
|
+
"POST /v2/files/{fileId}/untrash",
|
|
9940
|
+
"POST /v2/files/{fileId}/watch",
|
|
9941
|
+
"GET /v2/files/{folderId}/children",
|
|
9942
|
+
"POST /v2/files/{folderId}/children",
|
|
9943
|
+
"GET /v2/files/{folderId}/children/{childId}",
|
|
9944
|
+
"DELETE /v2/files/{folderId}/children/{childId}",
|
|
9945
|
+
"GET /v2/permissionIds/{email}",
|
|
9946
|
+
"GET /v3/about",
|
|
9947
|
+
"GET /v3/apps/{appId}",
|
|
9948
|
+
"GET /v3/changes",
|
|
9949
|
+
"GET /v3/changes/startPageToken",
|
|
9950
|
+
"POST /v3/changes/watch",
|
|
9951
|
+
"POST /v3/channels/stop",
|
|
9952
|
+
"GET /v3/files",
|
|
9953
|
+
"POST /v3/files",
|
|
9954
|
+
"GET /v3/files/generateIds",
|
|
9955
|
+
"GET /v3/files/{fileId}",
|
|
9956
|
+
"PATCH /v3/files/{fileId}",
|
|
9957
|
+
"DELETE /v3/files/{fileId}",
|
|
9958
|
+
"GET /v3/files/{fileId}/accessproposals",
|
|
9959
|
+
"GET /v3/files/{fileId}/accessproposals/{proposalId}",
|
|
9960
|
+
"POST /v3/files/{fileId}/accessproposals/{proposalId}:resolve",
|
|
9961
|
+
"GET /v3/files/{fileId}/approvals",
|
|
9962
|
+
"GET /v3/files/{fileId}/approvals/{approvalId}",
|
|
9963
|
+
"GET /v3/files/{fileId}/comments",
|
|
9964
|
+
"POST /v3/files/{fileId}/comments",
|
|
9965
|
+
"GET /v3/files/{fileId}/comments/{commentId}",
|
|
9966
|
+
"PATCH /v3/files/{fileId}/comments/{commentId}",
|
|
9967
|
+
"DELETE /v3/files/{fileId}/comments/{commentId}",
|
|
9968
|
+
"GET /v3/files/{fileId}/comments/{commentId}/replies",
|
|
9969
|
+
"POST /v3/files/{fileId}/comments/{commentId}/replies",
|
|
9970
|
+
"GET /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9971
|
+
"PATCH /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9972
|
+
"DELETE /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
9973
|
+
"POST /v3/files/{fileId}/copy",
|
|
9974
|
+
"POST /v3/files/{fileId}/download",
|
|
9975
|
+
"GET /v3/files/{fileId}/export",
|
|
9976
|
+
"GET /v3/files/{fileId}/listLabels",
|
|
9977
|
+
"POST /v3/files/{fileId}/modifyLabels",
|
|
9978
|
+
"GET /v3/files/{fileId}/permissions",
|
|
9979
|
+
"POST /v3/files/{fileId}/permissions",
|
|
9980
|
+
"GET /v3/files/{fileId}/permissions/{permissionId}",
|
|
9981
|
+
"PATCH /v3/files/{fileId}/permissions/{permissionId}",
|
|
9982
|
+
"DELETE /v3/files/{fileId}/permissions/{permissionId}",
|
|
9983
|
+
"GET /v3/files/{fileId}/revisions",
|
|
9984
|
+
"GET /v3/files/{fileId}/revisions/{revisionId}",
|
|
9985
|
+
"PATCH /v3/files/{fileId}/revisions/{revisionId}",
|
|
9986
|
+
"DELETE /v3/files/{fileId}/revisions/{revisionId}",
|
|
9987
|
+
"POST /v3/files/{fileId}/watch",
|
|
9988
|
+
"GET /v3/operations/{name}"
|
|
9989
|
+
]
|
|
9990
|
+
},
|
|
9991
|
+
{
|
|
9992
|
+
name: "drive.meet.readonly",
|
|
9993
|
+
description: "See and download your Google Drive files that were created or edited by Google Meet.",
|
|
9994
|
+
rules: [
|
|
9995
|
+
"GET /v2/changes",
|
|
9996
|
+
"GET /v2/changes/startPageToken",
|
|
9997
|
+
"POST /v2/changes/watch",
|
|
9998
|
+
"GET /v2/changes/{changeId}",
|
|
9999
|
+
"POST /v2/channels/stop",
|
|
10000
|
+
"GET /v2/files",
|
|
10001
|
+
"GET /v2/files/{fileId}",
|
|
10002
|
+
"GET /v2/files/{fileId}/comments",
|
|
10003
|
+
"GET /v2/files/{fileId}/comments/{commentId}",
|
|
10004
|
+
"GET /v2/files/{fileId}/comments/{commentId}/replies",
|
|
10005
|
+
"GET /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
10006
|
+
"GET /v2/files/{fileId}/export",
|
|
10007
|
+
"GET /v2/files/{fileId}/listLabels",
|
|
10008
|
+
"GET /v2/files/{fileId}/parents",
|
|
10009
|
+
"GET /v2/files/{fileId}/parents/{parentId}",
|
|
10010
|
+
"GET /v2/files/{fileId}/permissions",
|
|
10011
|
+
"GET /v2/files/{fileId}/permissions/{permissionId}",
|
|
10012
|
+
"GET /v2/files/{fileId}/properties",
|
|
10013
|
+
"GET /v2/files/{fileId}/properties/{propertyKey}",
|
|
10014
|
+
"GET /v2/files/{fileId}/revisions",
|
|
10015
|
+
"GET /v2/files/{fileId}/revisions/{revisionId}",
|
|
10016
|
+
"POST /v2/files/{fileId}/watch",
|
|
10017
|
+
"GET /v2/files/{folderId}/children",
|
|
10018
|
+
"GET /v2/files/{folderId}/children/{childId}",
|
|
10019
|
+
"GET /v3/changes",
|
|
10020
|
+
"GET /v3/changes/startPageToken",
|
|
10021
|
+
"POST /v3/changes/watch",
|
|
10022
|
+
"POST /v3/channels/stop",
|
|
10023
|
+
"GET /v3/files",
|
|
10024
|
+
"GET /v3/files/{fileId}",
|
|
10025
|
+
"GET /v3/files/{fileId}/comments",
|
|
10026
|
+
"GET /v3/files/{fileId}/comments/{commentId}",
|
|
10027
|
+
"GET /v3/files/{fileId}/comments/{commentId}/replies",
|
|
10028
|
+
"GET /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
10029
|
+
"GET /v3/files/{fileId}/export",
|
|
10030
|
+
"GET /v3/files/{fileId}/listLabels",
|
|
10031
|
+
"GET /v3/files/{fileId}/permissions",
|
|
10032
|
+
"GET /v3/files/{fileId}/permissions/{permissionId}",
|
|
10033
|
+
"GET /v3/files/{fileId}/revisions",
|
|
10034
|
+
"GET /v3/files/{fileId}/revisions/{revisionId}",
|
|
10035
|
+
"POST /v3/files/{fileId}/watch",
|
|
10036
|
+
"GET /v3/operations/{name}"
|
|
10037
|
+
]
|
|
10038
|
+
},
|
|
10039
|
+
{
|
|
10040
|
+
name: "drive.metadata",
|
|
10041
|
+
description: "View and manage metadata of files in your Google Drive",
|
|
10042
|
+
rules: [
|
|
10043
|
+
"GET /v2/about",
|
|
10044
|
+
"GET /v2/apps/{appId}",
|
|
10045
|
+
"GET /v2/changes",
|
|
10046
|
+
"GET /v2/changes/startPageToken",
|
|
10047
|
+
"POST /v2/changes/watch",
|
|
10048
|
+
"GET /v2/changes/{changeId}",
|
|
10049
|
+
"POST /v2/channels/stop",
|
|
10050
|
+
"GET /v2/files",
|
|
10051
|
+
"GET /v2/files/{fileId}",
|
|
10052
|
+
"PUT /v2/files/{fileId}",
|
|
10053
|
+
"PATCH /v2/files/{fileId}",
|
|
10054
|
+
"GET /v2/files/{fileId}/listLabels",
|
|
10055
|
+
"POST /v2/files/{fileId}/modifyLabels",
|
|
10056
|
+
"GET /v2/files/{fileId}/parents",
|
|
10057
|
+
"GET /v2/files/{fileId}/parents/{parentId}",
|
|
10058
|
+
"GET /v2/files/{fileId}/permissions",
|
|
10059
|
+
"GET /v2/files/{fileId}/permissions/{permissionId}",
|
|
10060
|
+
"GET /v2/files/{fileId}/properties",
|
|
10061
|
+
"POST /v2/files/{fileId}/properties",
|
|
10062
|
+
"GET /v2/files/{fileId}/properties/{propertyKey}",
|
|
10063
|
+
"PUT /v2/files/{fileId}/properties/{propertyKey}",
|
|
10064
|
+
"PATCH /v2/files/{fileId}/properties/{propertyKey}",
|
|
10065
|
+
"DELETE /v2/files/{fileId}/properties/{propertyKey}",
|
|
10066
|
+
"GET /v2/files/{fileId}/revisions",
|
|
10067
|
+
"GET /v2/files/{fileId}/revisions/{revisionId}",
|
|
10068
|
+
"POST /v2/files/{fileId}/touch",
|
|
10069
|
+
"POST /v2/files/{fileId}/watch",
|
|
10070
|
+
"GET /v2/files/{folderId}/children",
|
|
10071
|
+
"GET /v2/files/{folderId}/children/{childId}",
|
|
10072
|
+
"GET /v2/permissionIds/{email}",
|
|
10073
|
+
"GET /v3/about",
|
|
10074
|
+
"GET /v3/apps/{appId}",
|
|
10075
|
+
"GET /v3/changes",
|
|
10076
|
+
"GET /v3/changes/startPageToken",
|
|
10077
|
+
"POST /v3/changes/watch",
|
|
10078
|
+
"POST /v3/channels/stop",
|
|
10079
|
+
"GET /v3/files",
|
|
10080
|
+
"GET /v3/files/{fileId}",
|
|
10081
|
+
"PATCH /v3/files/{fileId}",
|
|
10082
|
+
"GET /v3/files/{fileId}/accessproposals",
|
|
10083
|
+
"GET /v3/files/{fileId}/accessproposals/{proposalId}",
|
|
10084
|
+
"GET /v3/files/{fileId}/approvals",
|
|
10085
|
+
"GET /v3/files/{fileId}/approvals/{approvalId}",
|
|
10086
|
+
"GET /v3/files/{fileId}/listLabels",
|
|
10087
|
+
"POST /v3/files/{fileId}/modifyLabels",
|
|
10088
|
+
"GET /v3/files/{fileId}/permissions",
|
|
10089
|
+
"GET /v3/files/{fileId}/permissions/{permissionId}",
|
|
10090
|
+
"GET /v3/files/{fileId}/revisions",
|
|
10091
|
+
"GET /v3/files/{fileId}/revisions/{revisionId}",
|
|
10092
|
+
"POST /v3/files/{fileId}/watch"
|
|
10093
|
+
]
|
|
10094
|
+
},
|
|
10095
|
+
{
|
|
10096
|
+
name: "drive.metadata.readonly",
|
|
10097
|
+
description: "See information about your Google Drive files",
|
|
10098
|
+
rules: [
|
|
10099
|
+
"GET /v2/about",
|
|
10100
|
+
"GET /v2/apps/{appId}",
|
|
10101
|
+
"GET /v2/changes",
|
|
10102
|
+
"GET /v2/changes/startPageToken",
|
|
10103
|
+
"POST /v2/changes/watch",
|
|
10104
|
+
"GET /v2/changes/{changeId}",
|
|
10105
|
+
"POST /v2/channels/stop",
|
|
10106
|
+
"GET /v2/files",
|
|
10107
|
+
"GET /v2/files/{fileId}",
|
|
10108
|
+
"GET /v2/files/{fileId}/listLabels",
|
|
10109
|
+
"GET /v2/files/{fileId}/parents",
|
|
10110
|
+
"GET /v2/files/{fileId}/parents/{parentId}",
|
|
10111
|
+
"GET /v2/files/{fileId}/permissions",
|
|
10112
|
+
"GET /v2/files/{fileId}/permissions/{permissionId}",
|
|
10113
|
+
"GET /v2/files/{fileId}/properties",
|
|
10114
|
+
"GET /v2/files/{fileId}/properties/{propertyKey}",
|
|
10115
|
+
"GET /v2/files/{fileId}/revisions",
|
|
10116
|
+
"GET /v2/files/{fileId}/revisions/{revisionId}",
|
|
10117
|
+
"POST /v2/files/{fileId}/watch",
|
|
10118
|
+
"GET /v2/files/{folderId}/children",
|
|
10119
|
+
"GET /v2/files/{folderId}/children/{childId}",
|
|
10120
|
+
"GET /v2/permissionIds/{email}",
|
|
10121
|
+
"GET /v3/about",
|
|
10122
|
+
"GET /v3/apps/{appId}",
|
|
10123
|
+
"GET /v3/changes",
|
|
10124
|
+
"GET /v3/changes/startPageToken",
|
|
10125
|
+
"POST /v3/changes/watch",
|
|
10126
|
+
"POST /v3/channels/stop",
|
|
10127
|
+
"GET /v3/files",
|
|
10128
|
+
"GET /v3/files/{fileId}",
|
|
10129
|
+
"GET /v3/files/{fileId}/accessproposals",
|
|
10130
|
+
"GET /v3/files/{fileId}/accessproposals/{proposalId}",
|
|
10131
|
+
"GET /v3/files/{fileId}/approvals",
|
|
10132
|
+
"GET /v3/files/{fileId}/approvals/{approvalId}",
|
|
10133
|
+
"GET /v3/files/{fileId}/listLabels",
|
|
10134
|
+
"GET /v3/files/{fileId}/permissions",
|
|
10135
|
+
"GET /v3/files/{fileId}/permissions/{permissionId}",
|
|
10136
|
+
"GET /v3/files/{fileId}/revisions",
|
|
10137
|
+
"GET /v3/files/{fileId}/revisions/{revisionId}",
|
|
10138
|
+
"POST /v3/files/{fileId}/watch"
|
|
10139
|
+
]
|
|
10140
|
+
},
|
|
10141
|
+
{
|
|
10142
|
+
name: "drive.photos.readonly",
|
|
10143
|
+
description: "View the photos, videos and albums in your Google Photos",
|
|
10144
|
+
rules: [
|
|
10145
|
+
"GET /v2/about",
|
|
10146
|
+
"GET /v2/changes",
|
|
10147
|
+
"GET /v2/changes/startPageToken",
|
|
10148
|
+
"POST /v2/changes/watch",
|
|
10149
|
+
"GET /v2/changes/{changeId}",
|
|
10150
|
+
"POST /v2/channels/stop",
|
|
10151
|
+
"GET /v2/files",
|
|
10152
|
+
"GET /v2/files/{fileId}",
|
|
10153
|
+
"POST /v2/files/{fileId}/copy",
|
|
10154
|
+
"GET /v2/files/{fileId}/parents",
|
|
10155
|
+
"GET /v2/files/{fileId}/parents/{parentId}",
|
|
10156
|
+
"GET /v2/files/{fileId}/permissions",
|
|
10157
|
+
"GET /v2/files/{fileId}/permissions/{permissionId}",
|
|
10158
|
+
"GET /v2/files/{fileId}/properties",
|
|
10159
|
+
"GET /v2/files/{fileId}/properties/{propertyKey}",
|
|
10160
|
+
"GET /v2/files/{fileId}/revisions",
|
|
10161
|
+
"GET /v2/files/{fileId}/revisions/{revisionId}",
|
|
10162
|
+
"POST /v2/files/{fileId}/watch",
|
|
10163
|
+
"GET /v2/files/{folderId}/children",
|
|
10164
|
+
"GET /v2/files/{folderId}/children/{childId}",
|
|
10165
|
+
"GET /v2/permissionIds/{email}",
|
|
10166
|
+
"GET /v3/about",
|
|
10167
|
+
"GET /v3/changes",
|
|
10168
|
+
"GET /v3/changes/startPageToken",
|
|
10169
|
+
"POST /v3/changes/watch",
|
|
10170
|
+
"POST /v3/channels/stop",
|
|
10171
|
+
"GET /v3/files",
|
|
10172
|
+
"GET /v3/files/{fileId}",
|
|
10173
|
+
"POST /v3/files/{fileId}/copy",
|
|
10174
|
+
"GET /v3/files/{fileId}/permissions",
|
|
10175
|
+
"GET /v3/files/{fileId}/permissions/{permissionId}",
|
|
10176
|
+
"GET /v3/files/{fileId}/revisions",
|
|
10177
|
+
"GET /v3/files/{fileId}/revisions/{revisionId}",
|
|
10178
|
+
"POST /v3/files/{fileId}/watch"
|
|
10179
|
+
]
|
|
10180
|
+
},
|
|
10181
|
+
{
|
|
10182
|
+
name: "drive.readonly",
|
|
10183
|
+
description: "See and download all your Google Drive files",
|
|
10184
|
+
rules: [
|
|
10185
|
+
"GET /v2/about",
|
|
10186
|
+
"GET /v2/apps/{appId}",
|
|
10187
|
+
"GET /v2/changes",
|
|
10188
|
+
"GET /v2/changes/startPageToken",
|
|
10189
|
+
"POST /v2/changes/watch",
|
|
10190
|
+
"GET /v2/changes/{changeId}",
|
|
10191
|
+
"POST /v2/channels/stop",
|
|
10192
|
+
"GET /v2/drives",
|
|
10193
|
+
"GET /v2/drives/{driveId}",
|
|
10194
|
+
"GET /v2/files",
|
|
10195
|
+
"GET /v2/files/{fileId}",
|
|
10196
|
+
"GET /v2/files/{fileId}/comments",
|
|
10197
|
+
"GET /v2/files/{fileId}/comments/{commentId}",
|
|
10198
|
+
"GET /v2/files/{fileId}/comments/{commentId}/replies",
|
|
10199
|
+
"GET /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
10200
|
+
"GET /v2/files/{fileId}/export",
|
|
10201
|
+
"GET /v2/files/{fileId}/listLabels",
|
|
10202
|
+
"GET /v2/files/{fileId}/parents",
|
|
10203
|
+
"GET /v2/files/{fileId}/parents/{parentId}",
|
|
10204
|
+
"GET /v2/files/{fileId}/permissions",
|
|
10205
|
+
"GET /v2/files/{fileId}/permissions/{permissionId}",
|
|
10206
|
+
"GET /v2/files/{fileId}/properties",
|
|
10207
|
+
"GET /v2/files/{fileId}/properties/{propertyKey}",
|
|
10208
|
+
"GET /v2/files/{fileId}/revisions",
|
|
10209
|
+
"GET /v2/files/{fileId}/revisions/{revisionId}",
|
|
10210
|
+
"POST /v2/files/{fileId}/watch",
|
|
10211
|
+
"GET /v2/files/{folderId}/children",
|
|
10212
|
+
"GET /v2/files/{folderId}/children/{childId}",
|
|
10213
|
+
"GET /v2/permissionIds/{email}",
|
|
10214
|
+
"GET /v2/teamdrives",
|
|
10215
|
+
"GET /v2/teamdrives/{teamDriveId}",
|
|
10216
|
+
"GET /v3/about",
|
|
10217
|
+
"GET /v3/apps/{appId}",
|
|
10218
|
+
"GET /v3/changes",
|
|
10219
|
+
"GET /v3/changes/startPageToken",
|
|
10220
|
+
"POST /v3/changes/watch",
|
|
10221
|
+
"POST /v3/channels/stop",
|
|
10222
|
+
"GET /v3/drives",
|
|
10223
|
+
"GET /v3/drives/{driveId}",
|
|
10224
|
+
"GET /v3/files",
|
|
10225
|
+
"GET /v3/files/{fileId}",
|
|
10226
|
+
"GET /v3/files/{fileId}/accessproposals",
|
|
10227
|
+
"GET /v3/files/{fileId}/accessproposals/{proposalId}",
|
|
10228
|
+
"GET /v3/files/{fileId}/approvals",
|
|
10229
|
+
"GET /v3/files/{fileId}/approvals/{approvalId}",
|
|
10230
|
+
"GET /v3/files/{fileId}/comments",
|
|
10231
|
+
"GET /v3/files/{fileId}/comments/{commentId}",
|
|
10232
|
+
"GET /v3/files/{fileId}/comments/{commentId}/replies",
|
|
10233
|
+
"GET /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
|
|
10234
|
+
"POST /v3/files/{fileId}/download",
|
|
10235
|
+
"GET /v3/files/{fileId}/export",
|
|
10236
|
+
"GET /v3/files/{fileId}/listLabels",
|
|
10237
|
+
"GET /v3/files/{fileId}/permissions",
|
|
10238
|
+
"GET /v3/files/{fileId}/permissions/{permissionId}",
|
|
10239
|
+
"GET /v3/files/{fileId}/revisions",
|
|
10240
|
+
"GET /v3/files/{fileId}/revisions/{revisionId}",
|
|
10241
|
+
"POST /v3/files/{fileId}/watch",
|
|
10242
|
+
"GET /v3/operations/{name}",
|
|
10243
|
+
"GET /v3/teamdrives",
|
|
10244
|
+
"GET /v3/teamdrives/{teamDriveId}"
|
|
10245
|
+
]
|
|
10246
|
+
},
|
|
10247
|
+
{
|
|
10248
|
+
name: "drive.scripts",
|
|
10249
|
+
description: "Modify your Google Apps Script scripts' behavior",
|
|
10250
|
+
rules: [
|
|
10251
|
+
"PUT /v2/files/{fileId}",
|
|
10252
|
+
"PATCH /v2/files/{fileId}",
|
|
10253
|
+
"PATCH /v3/files/{fileId}"
|
|
10254
|
+
]
|
|
10255
|
+
}
|
|
10256
|
+
]
|
|
10257
|
+
}
|
|
10258
|
+
]
|
|
10259
|
+
};
|
|
10260
|
+
|
|
10261
|
+
// ../../packages/core/src/firewalls/google-sheets.generated.ts
|
|
10262
|
+
var googleSheetsFirewall = {
|
|
10263
|
+
name: "google-sheets",
|
|
10264
|
+
description: "Google Sheets API",
|
|
10265
|
+
placeholders: {
|
|
10266
|
+
GOOGLE_SHEETS_TOKEN: "ya29.A0Vm0PlaceHolder-Vm0_PlaceHolder00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
|
10267
|
+
},
|
|
10268
|
+
apis: [
|
|
10269
|
+
{
|
|
10270
|
+
base: "https://sheets.googleapis.com",
|
|
10271
|
+
auth: {
|
|
10272
|
+
headers: {
|
|
10273
|
+
Authorization: "Bearer ${{ secrets.GOOGLE_SHEETS_TOKEN }}"
|
|
10274
|
+
}
|
|
10275
|
+
},
|
|
10276
|
+
permissions: [
|
|
10277
|
+
{
|
|
10278
|
+
name: "unrestricted",
|
|
10279
|
+
description: "Allow all endpoints",
|
|
10280
|
+
rules: ["ANY /{path*}"]
|
|
10281
|
+
},
|
|
10282
|
+
{
|
|
10283
|
+
name: "drive",
|
|
10284
|
+
description: "See, edit, create, and delete all of your Google Drive files",
|
|
10285
|
+
rules: [
|
|
10286
|
+
"POST /v4/spreadsheets",
|
|
10287
|
+
"GET /v4/spreadsheets/{spreadsheetId}",
|
|
10288
|
+
"GET /v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}",
|
|
10289
|
+
"POST /v4/spreadsheets/{spreadsheetId}/developerMetadata:search",
|
|
10290
|
+
"POST /v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo",
|
|
10291
|
+
"GET /v4/spreadsheets/{spreadsheetId}/values/{range}",
|
|
10292
|
+
"PUT /v4/spreadsheets/{spreadsheetId}/values/{range}",
|
|
10293
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values/{range}:append",
|
|
10294
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values/{range}:clear",
|
|
10295
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchClear",
|
|
10296
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter",
|
|
10297
|
+
"GET /v4/spreadsheets/{spreadsheetId}/values:batchGet",
|
|
10298
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter",
|
|
10299
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdate",
|
|
10300
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter",
|
|
10301
|
+
"POST /v4/spreadsheets/{spreadsheetId}:batchUpdate",
|
|
10302
|
+
"POST /v4/spreadsheets/{spreadsheetId}:getByDataFilter"
|
|
10303
|
+
]
|
|
10304
|
+
},
|
|
10305
|
+
{
|
|
10306
|
+
name: "drive.file",
|
|
10307
|
+
description: "See, edit, create, and delete only the specific Google Drive files you use with this app",
|
|
10308
|
+
rules: [
|
|
10309
|
+
"POST /v4/spreadsheets",
|
|
10310
|
+
"GET /v4/spreadsheets/{spreadsheetId}",
|
|
10311
|
+
"GET /v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}",
|
|
10312
|
+
"POST /v4/spreadsheets/{spreadsheetId}/developerMetadata:search",
|
|
10313
|
+
"POST /v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo",
|
|
10314
|
+
"GET /v4/spreadsheets/{spreadsheetId}/values/{range}",
|
|
10315
|
+
"PUT /v4/spreadsheets/{spreadsheetId}/values/{range}",
|
|
10316
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values/{range}:append",
|
|
10317
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values/{range}:clear",
|
|
10318
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchClear",
|
|
10319
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter",
|
|
10320
|
+
"GET /v4/spreadsheets/{spreadsheetId}/values:batchGet",
|
|
10321
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter",
|
|
10322
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdate",
|
|
10323
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter",
|
|
10324
|
+
"POST /v4/spreadsheets/{spreadsheetId}:batchUpdate",
|
|
10325
|
+
"POST /v4/spreadsheets/{spreadsheetId}:getByDataFilter"
|
|
10326
|
+
]
|
|
10327
|
+
},
|
|
10328
|
+
{
|
|
10329
|
+
name: "drive.readonly",
|
|
10330
|
+
description: "See and download all your Google Drive files",
|
|
10331
|
+
rules: [
|
|
10332
|
+
"GET /v4/spreadsheets/{spreadsheetId}",
|
|
10333
|
+
"GET /v4/spreadsheets/{spreadsheetId}/values/{range}",
|
|
10334
|
+
"GET /v4/spreadsheets/{spreadsheetId}/values:batchGet"
|
|
10335
|
+
]
|
|
8924
10336
|
},
|
|
8925
10337
|
{
|
|
8926
|
-
name: "
|
|
8927
|
-
description: "
|
|
8928
|
-
rules: [
|
|
10338
|
+
name: "spreadsheets",
|
|
10339
|
+
description: "See, edit, create, and delete all your Google Sheets spreadsheets",
|
|
10340
|
+
rules: [
|
|
10341
|
+
"POST /v4/spreadsheets",
|
|
10342
|
+
"GET /v4/spreadsheets/{spreadsheetId}",
|
|
10343
|
+
"GET /v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}",
|
|
10344
|
+
"POST /v4/spreadsheets/{spreadsheetId}/developerMetadata:search",
|
|
10345
|
+
"POST /v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo",
|
|
10346
|
+
"GET /v4/spreadsheets/{spreadsheetId}/values/{range}",
|
|
10347
|
+
"PUT /v4/spreadsheets/{spreadsheetId}/values/{range}",
|
|
10348
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values/{range}:append",
|
|
10349
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values/{range}:clear",
|
|
10350
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchClear",
|
|
10351
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter",
|
|
10352
|
+
"GET /v4/spreadsheets/{spreadsheetId}/values:batchGet",
|
|
10353
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter",
|
|
10354
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdate",
|
|
10355
|
+
"POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter",
|
|
10356
|
+
"POST /v4/spreadsheets/{spreadsheetId}:batchUpdate",
|
|
10357
|
+
"POST /v4/spreadsheets/{spreadsheetId}:getByDataFilter"
|
|
10358
|
+
]
|
|
10359
|
+
},
|
|
10360
|
+
{
|
|
10361
|
+
name: "spreadsheets.readonly",
|
|
10362
|
+
description: "See all your Google Sheets spreadsheets",
|
|
10363
|
+
rules: [
|
|
10364
|
+
"GET /v4/spreadsheets/{spreadsheetId}",
|
|
10365
|
+
"GET /v4/spreadsheets/{spreadsheetId}/values/{range}",
|
|
10366
|
+
"GET /v4/spreadsheets/{spreadsheetId}/values:batchGet"
|
|
10367
|
+
]
|
|
8929
10368
|
}
|
|
8930
10369
|
]
|
|
8931
10370
|
}
|
|
@@ -9763,6 +11202,11 @@ var slackFirewall = {
|
|
|
9763
11202
|
// ../../packages/core/src/firewalls/index.ts
|
|
9764
11203
|
var builtinFirewalls = {
|
|
9765
11204
|
github: githubFirewall,
|
|
11205
|
+
gmail: gmailFirewall,
|
|
11206
|
+
"google-calendar": googleCalendarFirewall,
|
|
11207
|
+
"google-docs": googleDocsFirewall,
|
|
11208
|
+
"google-drive": googleDriveFirewall,
|
|
11209
|
+
"google-sheets": googleSheetsFirewall,
|
|
9766
11210
|
slack: slackFirewall
|
|
9767
11211
|
};
|
|
9768
11212
|
|
|
@@ -10500,6 +11944,29 @@ var zeroConnectorScopeDiffContract = c28.router({
|
|
|
10500
11944
|
summary: "Get scope diff for a connector"
|
|
10501
11945
|
}
|
|
10502
11946
|
});
|
|
11947
|
+
var connectorSearchAuthMethodSchema = z32.enum(["oauth", "api-token"]);
|
|
11948
|
+
var connectorSearchItemSchema = z32.object({
|
|
11949
|
+
id: z32.string(),
|
|
11950
|
+
label: z32.string(),
|
|
11951
|
+
description: z32.string(),
|
|
11952
|
+
authMethods: z32.array(connectorSearchAuthMethodSchema)
|
|
11953
|
+
});
|
|
11954
|
+
var connectorSearchResponseSchema = z32.object({
|
|
11955
|
+
connectors: z32.array(connectorSearchItemSchema)
|
|
11956
|
+
});
|
|
11957
|
+
var zeroConnectorsSearchContract = c28.router({
|
|
11958
|
+
search: {
|
|
11959
|
+
method: "GET",
|
|
11960
|
+
path: "/api/zero/connectors/search",
|
|
11961
|
+
headers: authHeadersSchema,
|
|
11962
|
+
query: z32.object({ keyword: z32.string().optional() }),
|
|
11963
|
+
responses: {
|
|
11964
|
+
200: connectorSearchResponseSchema,
|
|
11965
|
+
401: apiErrorSchema
|
|
11966
|
+
},
|
|
11967
|
+
summary: "Search available connector types"
|
|
11968
|
+
}
|
|
11969
|
+
});
|
|
10503
11970
|
|
|
10504
11971
|
// ../../packages/core/src/contracts/zero-org.ts
|
|
10505
11972
|
import { z as z33 } from "zod";
|
|
@@ -11736,14 +13203,14 @@ function getConfigPath() {
|
|
|
11736
13203
|
return join2(homedir2(), ".vm0", "config.json");
|
|
11737
13204
|
}
|
|
11738
13205
|
var infoCommand = new Command6().name("info").description("Display environment and debug information").action(async () => {
|
|
11739
|
-
console.log(chalk4.bold(`VM0 CLI v${"9.74.
|
|
13206
|
+
console.log(chalk4.bold(`VM0 CLI v${"9.74.4"}`));
|
|
11740
13207
|
console.log();
|
|
11741
13208
|
const config = await loadConfig();
|
|
11742
13209
|
const hasEnvToken = !!process.env.VM0_TOKEN;
|
|
11743
13210
|
const hasConfigToken = !!config.token;
|
|
11744
|
-
const
|
|
13211
|
+
const isAuthenticated = hasEnvToken || hasConfigToken;
|
|
11745
13212
|
console.log(chalk4.bold("Authentication:"));
|
|
11746
|
-
if (
|
|
13213
|
+
if (isAuthenticated) {
|
|
11747
13214
|
const tokenSource = hasEnvToken ? "VM0_TOKEN env var" : "config file";
|
|
11748
13215
|
console.log(` ${chalk4.green("\u2713")} Logged in (via ${tokenSource})`);
|
|
11749
13216
|
} else {
|
|
@@ -13796,7 +15263,7 @@ var composeCommand = new Command7().name("compose").description("Create or updat
|
|
|
13796
15263
|
options.autoUpdate = false;
|
|
13797
15264
|
}
|
|
13798
15265
|
if (options.autoUpdate !== false) {
|
|
13799
|
-
await startSilentUpgrade("9.74.
|
|
15266
|
+
await startSilentUpgrade("9.74.4");
|
|
13800
15267
|
}
|
|
13801
15268
|
try {
|
|
13802
15269
|
let result;
|
|
@@ -14631,7 +16098,7 @@ var mainRunCommand = new Command8().name("run").description("Run an agent").argu
|
|
|
14631
16098
|
withErrorHandler(
|
|
14632
16099
|
async (identifier, prompt, options) => {
|
|
14633
16100
|
if (options.autoUpdate !== false) {
|
|
14634
|
-
await startSilentUpgrade("9.74.
|
|
16101
|
+
await startSilentUpgrade("9.74.4");
|
|
14635
16102
|
}
|
|
14636
16103
|
const { org, name, version } = parseIdentifier(identifier);
|
|
14637
16104
|
let composeId;
|
|
@@ -16387,7 +17854,7 @@ var cookAction = new Command35().name("cook").description("Quick start: prepare,
|
|
|
16387
17854
|
withErrorHandler(
|
|
16388
17855
|
async (prompt, options) => {
|
|
16389
17856
|
if (options.autoUpdate !== false) {
|
|
16390
|
-
const shouldExit = await checkAndUpgrade("9.74.
|
|
17857
|
+
const shouldExit = await checkAndUpgrade("9.74.4", prompt);
|
|
16391
17858
|
if (shouldExit) {
|
|
16392
17859
|
process.exit(0);
|
|
16393
17860
|
}
|
|
@@ -20969,275 +22436,13 @@ var disconnectCommand = new Command88().name("disconnect").description("Disconne
|
|
|
20969
22436
|
// src/commands/connector/index.ts
|
|
20970
22437
|
var connectorCommand = new Command89().name("connector").description("Manage third-party service connections").addCommand(listCommand13).addCommand(statusCommand8).addCommand(connectCommand).addCommand(disconnectCommand);
|
|
20971
22438
|
|
|
20972
|
-
// src/commands/
|
|
22439
|
+
// src/commands/setup-claude/index.ts
|
|
20973
22440
|
import { Command as Command90 } from "commander";
|
|
20974
|
-
import chalk82 from "chalk";
|
|
20975
|
-
import { mkdir as mkdir8 } from "fs/promises";
|
|
20976
|
-
import { existsSync as existsSync12 } from "fs";
|
|
20977
|
-
|
|
20978
|
-
// src/lib/ui/welcome-box.ts
|
|
20979
|
-
import chalk79 from "chalk";
|
|
20980
|
-
var gradientColors = [
|
|
20981
|
-
chalk79.hex("#FFAB5E"),
|
|
20982
|
-
// Line 1 - lightest
|
|
20983
|
-
chalk79.hex("#FF9642"),
|
|
20984
|
-
// Line 2
|
|
20985
|
-
chalk79.hex("#FF8228"),
|
|
20986
|
-
// Line 3
|
|
20987
|
-
chalk79.hex("#FF6D0A"),
|
|
20988
|
-
// Line 4
|
|
20989
|
-
chalk79.hex("#E85D00"),
|
|
20990
|
-
// Line 5
|
|
20991
|
-
chalk79.hex("#CC4E00")
|
|
20992
|
-
// Line 6 - darkest
|
|
20993
|
-
];
|
|
20994
|
-
var vm0LogoLines = [
|
|
20995
|
-
"\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 ",
|
|
20996
|
-
"\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2588\u2588\u2588\u2588\u2557",
|
|
20997
|
-
"\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2588\u2588\u2588\u2588\u2554\u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2554\u2588\u2588\u2551",
|
|
20998
|
-
"\u255A\u2588\u2588\u2557 \u2588\u2588\u2554\u255D\u2588\u2588\u2551\u255A\u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551",
|
|
20999
|
-
" \u255A\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u255A\u2550\u255D \u2588\u2588\u2551\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D",
|
|
21000
|
-
" \u255A\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D "
|
|
21001
|
-
];
|
|
21002
|
-
function renderVm0Banner() {
|
|
21003
|
-
console.log();
|
|
21004
|
-
for (let i = 0; i < vm0LogoLines.length; i++) {
|
|
21005
|
-
const color = gradientColors[i] ?? gradientColors[gradientColors.length - 1];
|
|
21006
|
-
console.log(` ${color?.(vm0LogoLines[i])}`);
|
|
21007
|
-
}
|
|
21008
|
-
console.log();
|
|
21009
|
-
}
|
|
21010
|
-
function renderOnboardWelcome() {
|
|
21011
|
-
renderVm0Banner();
|
|
21012
|
-
console.log(` Build agentic workflows using natural language.`);
|
|
21013
|
-
console.log(` ${chalk79.dim("Currently in beta, enjoy it free")}`);
|
|
21014
|
-
console.log(
|
|
21015
|
-
` ${chalk79.dim("Star us on GitHub: https://github.com/vm0-ai/vm0")}`
|
|
21016
|
-
);
|
|
21017
|
-
console.log();
|
|
21018
|
-
}
|
|
21019
|
-
|
|
21020
|
-
// src/lib/ui/step-runner.ts
|
|
21021
22441
|
import chalk80 from "chalk";
|
|
21022
|
-
function createStepRunner(options = true) {
|
|
21023
|
-
const opts = typeof options === "boolean" ? { interactive: options } : options;
|
|
21024
|
-
const interactive = opts.interactive ?? true;
|
|
21025
|
-
const headerFn = opts.header;
|
|
21026
|
-
const completedSteps = [];
|
|
21027
|
-
function redrawCompletedSteps(isFinal) {
|
|
21028
|
-
process.stdout.write("\x1B[2J\x1B[H");
|
|
21029
|
-
if (headerFn) {
|
|
21030
|
-
console.log();
|
|
21031
|
-
headerFn();
|
|
21032
|
-
console.log();
|
|
21033
|
-
}
|
|
21034
|
-
for (const [i, step] of completedSteps.entries()) {
|
|
21035
|
-
if (step.failed) {
|
|
21036
|
-
console.log(chalk80.red(`\u2717 ${step.label}`));
|
|
21037
|
-
} else {
|
|
21038
|
-
console.log(chalk80.green(`\u25CF ${step.label}`));
|
|
21039
|
-
}
|
|
21040
|
-
const isLastStep = i === completedSteps.length - 1;
|
|
21041
|
-
if (!isLastStep || !isFinal) {
|
|
21042
|
-
console.log(chalk80.dim("\u2502"));
|
|
21043
|
-
}
|
|
21044
|
-
}
|
|
21045
|
-
}
|
|
21046
|
-
async function executeStep(label, fn, isFinal) {
|
|
21047
|
-
let stepFailed = false;
|
|
21048
|
-
console.log(chalk80.yellow(`\u25CB ${label}`));
|
|
21049
|
-
const ctx = {
|
|
21050
|
-
connector() {
|
|
21051
|
-
console.log(chalk80.dim("\u2502"));
|
|
21052
|
-
},
|
|
21053
|
-
detail(message) {
|
|
21054
|
-
console.log(`${chalk80.dim("\u2502")} ${message}`);
|
|
21055
|
-
},
|
|
21056
|
-
async prompt(promptFn) {
|
|
21057
|
-
return await promptFn();
|
|
21058
|
-
}
|
|
21059
|
-
};
|
|
21060
|
-
try {
|
|
21061
|
-
await fn(ctx);
|
|
21062
|
-
} catch (error) {
|
|
21063
|
-
stepFailed = true;
|
|
21064
|
-
throw error;
|
|
21065
|
-
} finally {
|
|
21066
|
-
completedSteps.push({ label, failed: stepFailed });
|
|
21067
|
-
if (interactive) {
|
|
21068
|
-
redrawCompletedSteps(isFinal);
|
|
21069
|
-
} else {
|
|
21070
|
-
if (stepFailed) {
|
|
21071
|
-
console.log(chalk80.red(`\u2717 ${label}`));
|
|
21072
|
-
} else {
|
|
21073
|
-
console.log(chalk80.green(`\u25CF ${label}`));
|
|
21074
|
-
}
|
|
21075
|
-
if (!isFinal) {
|
|
21076
|
-
console.log(chalk80.dim("\u2502"));
|
|
21077
|
-
}
|
|
21078
|
-
}
|
|
21079
|
-
}
|
|
21080
|
-
}
|
|
21081
|
-
return {
|
|
21082
|
-
async step(label, fn) {
|
|
21083
|
-
await executeStep(label, fn, false);
|
|
21084
|
-
},
|
|
21085
|
-
async finalStep(label, fn) {
|
|
21086
|
-
await executeStep(label, fn, true);
|
|
21087
|
-
}
|
|
21088
|
-
};
|
|
21089
|
-
}
|
|
21090
|
-
|
|
21091
|
-
// src/lib/domain/onboard/auth.ts
|
|
21092
|
-
function buildHeaders2() {
|
|
21093
|
-
const headers = {
|
|
21094
|
-
"Content-Type": "application/json"
|
|
21095
|
-
};
|
|
21096
|
-
const bypassSecret = process.env.VERCEL_AUTOMATION_BYPASS_SECRET;
|
|
21097
|
-
if (bypassSecret) {
|
|
21098
|
-
headers["x-vercel-protection-bypass"] = bypassSecret;
|
|
21099
|
-
}
|
|
21100
|
-
return headers;
|
|
21101
|
-
}
|
|
21102
|
-
async function requestDeviceCode2(apiUrl) {
|
|
21103
|
-
const response = await fetch(`${apiUrl}/api/cli/auth/device`, {
|
|
21104
|
-
method: "POST",
|
|
21105
|
-
headers: buildHeaders2(),
|
|
21106
|
-
body: JSON.stringify({})
|
|
21107
|
-
});
|
|
21108
|
-
if (!response.ok) {
|
|
21109
|
-
if (response.status === 403) {
|
|
21110
|
-
throw new Error("An unexpected network issue occurred");
|
|
21111
|
-
}
|
|
21112
|
-
throw new Error(`Failed to request device code: ${response.statusText}`);
|
|
21113
|
-
}
|
|
21114
|
-
return response.json();
|
|
21115
|
-
}
|
|
21116
|
-
async function exchangeToken2(apiUrl, deviceCode) {
|
|
21117
|
-
const response = await fetch(`${apiUrl}/api/cli/auth/token`, {
|
|
21118
|
-
method: "POST",
|
|
21119
|
-
headers: buildHeaders2(),
|
|
21120
|
-
body: JSON.stringify({ device_code: deviceCode })
|
|
21121
|
-
});
|
|
21122
|
-
return response.json();
|
|
21123
|
-
}
|
|
21124
|
-
function delay3(ms) {
|
|
21125
|
-
return new Promise((resolve2) => setTimeout(resolve2, ms));
|
|
21126
|
-
}
|
|
21127
|
-
async function isAuthenticated() {
|
|
21128
|
-
const token = await getToken();
|
|
21129
|
-
return !!token;
|
|
21130
|
-
}
|
|
21131
|
-
function handleTokenResult(tokenResult) {
|
|
21132
|
-
if (tokenResult.access_token) {
|
|
21133
|
-
return tokenResult.access_token;
|
|
21134
|
-
}
|
|
21135
|
-
if (tokenResult.error === "authorization_pending") {
|
|
21136
|
-
return null;
|
|
21137
|
-
}
|
|
21138
|
-
if (tokenResult.error === "expired_token") {
|
|
21139
|
-
throw new Error("The device code has expired. Please try again.");
|
|
21140
|
-
}
|
|
21141
|
-
if (tokenResult.error) {
|
|
21142
|
-
throw new Error(
|
|
21143
|
-
`Authentication failed: ${tokenResult.error_description ?? tokenResult.error}`
|
|
21144
|
-
);
|
|
21145
|
-
}
|
|
21146
|
-
return null;
|
|
21147
|
-
}
|
|
21148
|
-
async function pollForToken(apiUrl, deviceAuth, callbacks) {
|
|
21149
|
-
const startTime = Date.now();
|
|
21150
|
-
const maxWaitTime = deviceAuth.expires_in * 1e3;
|
|
21151
|
-
const pollInterval = (deviceAuth.interval || 5) * 1e3;
|
|
21152
|
-
let isFirstPoll = true;
|
|
21153
|
-
while (Date.now() - startTime < maxWaitTime) {
|
|
21154
|
-
if (!isFirstPoll) {
|
|
21155
|
-
await delay3(pollInterval);
|
|
21156
|
-
}
|
|
21157
|
-
isFirstPoll = false;
|
|
21158
|
-
const tokenResult = await exchangeToken2(apiUrl, deviceAuth.device_code);
|
|
21159
|
-
const accessToken = handleTokenResult(tokenResult);
|
|
21160
|
-
if (accessToken) {
|
|
21161
|
-
return accessToken;
|
|
21162
|
-
}
|
|
21163
|
-
callbacks?.onPolling?.();
|
|
21164
|
-
}
|
|
21165
|
-
throw new Error("Authentication timed out. Please try again.");
|
|
21166
|
-
}
|
|
21167
|
-
async function runAuthFlow(callbacks, apiUrl) {
|
|
21168
|
-
const targetApiUrl = apiUrl ?? await getApiUrl();
|
|
21169
|
-
callbacks?.onInitiating?.();
|
|
21170
|
-
try {
|
|
21171
|
-
const deviceAuth = await requestDeviceCode2(targetApiUrl);
|
|
21172
|
-
const verificationUrl = `${targetApiUrl}${deviceAuth.verification_path}`;
|
|
21173
|
-
const expiresInMinutes = Math.floor(deviceAuth.expires_in / 60);
|
|
21174
|
-
callbacks?.onDeviceCodeReady?.(
|
|
21175
|
-
verificationUrl,
|
|
21176
|
-
deviceAuth.user_code,
|
|
21177
|
-
expiresInMinutes
|
|
21178
|
-
);
|
|
21179
|
-
const accessToken = await pollForToken(targetApiUrl, deviceAuth, callbacks);
|
|
21180
|
-
await saveConfig({
|
|
21181
|
-
token: accessToken,
|
|
21182
|
-
apiUrl: targetApiUrl
|
|
21183
|
-
});
|
|
21184
|
-
callbacks?.onSuccess?.();
|
|
21185
|
-
} catch (error) {
|
|
21186
|
-
callbacks?.onError?.(error);
|
|
21187
|
-
throw error;
|
|
21188
|
-
}
|
|
21189
|
-
}
|
|
21190
|
-
|
|
21191
|
-
// src/lib/domain/onboard/model-provider.ts
|
|
21192
|
-
var ONBOARD_PROVIDER_TYPES = [
|
|
21193
|
-
"claude-code-oauth-token",
|
|
21194
|
-
"anthropic-api-key",
|
|
21195
|
-
"openrouter-api-key",
|
|
21196
|
-
"moonshot-api-key",
|
|
21197
|
-
"minimax-api-key",
|
|
21198
|
-
"deepseek-api-key"
|
|
21199
|
-
];
|
|
21200
|
-
async function checkIsOrgAdmin() {
|
|
21201
|
-
const org = await getOrg();
|
|
21202
|
-
return org.role === "admin";
|
|
21203
|
-
}
|
|
21204
|
-
async function checkModelProviderStatus() {
|
|
21205
|
-
const response = await listOrgModelProviders();
|
|
21206
|
-
return {
|
|
21207
|
-
hasProvider: response.modelProviders.length > 0,
|
|
21208
|
-
providers: response.modelProviders
|
|
21209
|
-
};
|
|
21210
|
-
}
|
|
21211
|
-
function getProviderChoices() {
|
|
21212
|
-
return ONBOARD_PROVIDER_TYPES.map((type2) => {
|
|
21213
|
-
const config = MODEL_PROVIDER_TYPES[type2];
|
|
21214
|
-
return {
|
|
21215
|
-
type: type2,
|
|
21216
|
-
label: config.label,
|
|
21217
|
-
helpText: "helpText" in config ? config.helpText : "",
|
|
21218
|
-
secretLabel: "secretLabel" in config ? config.secretLabel : "",
|
|
21219
|
-
models: getModels(type2),
|
|
21220
|
-
defaultModel: getDefaultModel(type2)
|
|
21221
|
-
};
|
|
21222
|
-
});
|
|
21223
|
-
}
|
|
21224
|
-
async function setupModelProvider(type2, secret, options) {
|
|
21225
|
-
const response = await upsertOrgModelProvider({
|
|
21226
|
-
type: type2,
|
|
21227
|
-
secret,
|
|
21228
|
-
selectedModel: options?.selectedModel
|
|
21229
|
-
});
|
|
21230
|
-
return {
|
|
21231
|
-
provider: response.provider,
|
|
21232
|
-
created: response.created,
|
|
21233
|
-
isDefault: response.provider.isDefault,
|
|
21234
|
-
framework: response.provider.framework
|
|
21235
|
-
};
|
|
21236
|
-
}
|
|
21237
22442
|
|
|
21238
22443
|
// src/lib/domain/onboard/claude-setup.ts
|
|
21239
22444
|
import { spawn as spawn3 } from "child_process";
|
|
21240
|
-
import
|
|
22445
|
+
import chalk79 from "chalk";
|
|
21241
22446
|
var MARKETPLACE_NAME = "vm0-skills";
|
|
21242
22447
|
var MARKETPLACE_REPO = "vm0-ai/vm0-skills";
|
|
21243
22448
|
var PLUGIN_ID = "vm0@vm0-skills";
|
|
@@ -21272,17 +22477,6 @@ async function runClaudeCommand(args, cwd) {
|
|
|
21272
22477
|
});
|
|
21273
22478
|
});
|
|
21274
22479
|
}
|
|
21275
|
-
function handlePluginError(error, context) {
|
|
21276
|
-
const displayContext = context ?? "Claude plugin";
|
|
21277
|
-
console.error(chalk81.red(`\u2717 Failed to install ${displayContext}`));
|
|
21278
|
-
if (error instanceof Error) {
|
|
21279
|
-
console.error(chalk81.red(`\u2717 ${error.message}`));
|
|
21280
|
-
}
|
|
21281
|
-
console.error(
|
|
21282
|
-
chalk81.dim("Please ensure Claude CLI is installed and accessible.")
|
|
21283
|
-
);
|
|
21284
|
-
process.exit(1);
|
|
21285
|
-
}
|
|
21286
22480
|
async function isMarketplaceInstalled() {
|
|
21287
22481
|
const result = await runClaudeCommand([
|
|
21288
22482
|
"plugin",
|
|
@@ -21322,7 +22516,7 @@ async function updateMarketplace() {
|
|
|
21322
22516
|
]);
|
|
21323
22517
|
if (!result.success) {
|
|
21324
22518
|
console.warn(
|
|
21325
|
-
|
|
22519
|
+
chalk79.yellow(
|
|
21326
22520
|
`Warning: Could not update marketplace: ${result.error ?? "unknown error"}`
|
|
21327
22521
|
)
|
|
21328
22522
|
);
|
|
@@ -21351,284 +22545,29 @@ async function installVm0Plugin(scope = "user", cwd) {
|
|
|
21351
22545
|
};
|
|
21352
22546
|
}
|
|
21353
22547
|
|
|
21354
|
-
// src/commands/onboard/index.ts
|
|
21355
|
-
var DEFAULT_AGENT_NAME = "my-vm0-agent";
|
|
21356
|
-
async function handleAuthentication(ctx) {
|
|
21357
|
-
await ctx.runner.step("Authenticate to vm0.ai", async (step) => {
|
|
21358
|
-
const authenticated = await isAuthenticated();
|
|
21359
|
-
if (authenticated) {
|
|
21360
|
-
return;
|
|
21361
|
-
}
|
|
21362
|
-
if (!ctx.interactive) {
|
|
21363
|
-
throw new Error("Not authenticated", {
|
|
21364
|
-
cause: new Error("Run 'vm0 auth login' first or set VM0_TOKEN")
|
|
21365
|
-
});
|
|
21366
|
-
}
|
|
21367
|
-
await runAuthFlow({
|
|
21368
|
-
onInitiating: () => {
|
|
21369
|
-
},
|
|
21370
|
-
onDeviceCodeReady: (url, code, expiresIn) => {
|
|
21371
|
-
step.detail(`Copy code: ${chalk82.cyan.bold(code)}`);
|
|
21372
|
-
step.detail(`Open: ${chalk82.cyan(url)}`);
|
|
21373
|
-
step.detail(chalk82.dim(`Expires in ${expiresIn} minutes`));
|
|
21374
|
-
},
|
|
21375
|
-
onPolling: () => {
|
|
21376
|
-
},
|
|
21377
|
-
onSuccess: () => {
|
|
21378
|
-
},
|
|
21379
|
-
onError: (error) => {
|
|
21380
|
-
throw error;
|
|
21381
|
-
}
|
|
21382
|
-
});
|
|
21383
|
-
});
|
|
21384
|
-
}
|
|
21385
|
-
async function handleModelProvider(ctx) {
|
|
21386
|
-
await ctx.runner.step("Set Up Model Provider", async (step) => {
|
|
21387
|
-
const providerStatus = await checkModelProviderStatus();
|
|
21388
|
-
if (providerStatus.hasProvider) {
|
|
21389
|
-
return;
|
|
21390
|
-
}
|
|
21391
|
-
const isAdmin = await checkIsOrgAdmin();
|
|
21392
|
-
if (!isAdmin) {
|
|
21393
|
-
throw new Error("No model provider configured", {
|
|
21394
|
-
cause: new Error(
|
|
21395
|
-
"Contact your org admin to configure a model provider"
|
|
21396
|
-
)
|
|
21397
|
-
});
|
|
21398
|
-
}
|
|
21399
|
-
if (!ctx.interactive) {
|
|
21400
|
-
throw new Error("No model provider configured", {
|
|
21401
|
-
cause: new Error("Run 'vm0 org model-provider setup' first")
|
|
21402
|
-
});
|
|
21403
|
-
}
|
|
21404
|
-
const choices = getProviderChoices();
|
|
21405
|
-
step.connector();
|
|
21406
|
-
const providerType = await step.prompt(
|
|
21407
|
-
() => promptSelect(
|
|
21408
|
-
"Select provider type:",
|
|
21409
|
-
choices.map((c39) => ({
|
|
21410
|
-
title: c39.label,
|
|
21411
|
-
value: c39.type
|
|
21412
|
-
}))
|
|
21413
|
-
)
|
|
21414
|
-
);
|
|
21415
|
-
if (!providerType) {
|
|
21416
|
-
process.exit(0);
|
|
21417
|
-
}
|
|
21418
|
-
const selectedChoice = choices.find((c39) => c39.type === providerType);
|
|
21419
|
-
if (selectedChoice?.helpText) {
|
|
21420
|
-
for (const line of selectedChoice.helpText.split("\n")) {
|
|
21421
|
-
step.detail(chalk82.dim(line));
|
|
21422
|
-
}
|
|
21423
|
-
}
|
|
21424
|
-
const secret = await step.prompt(
|
|
21425
|
-
() => promptPassword(`Enter your ${selectedChoice?.secretLabel ?? "secret"}:`)
|
|
21426
|
-
);
|
|
21427
|
-
if (!secret) {
|
|
21428
|
-
console.log(chalk82.dim("Cancelled"));
|
|
21429
|
-
process.exit(0);
|
|
21430
|
-
}
|
|
21431
|
-
let selectedModel;
|
|
21432
|
-
if (selectedChoice?.models && selectedChoice.models.length > 0) {
|
|
21433
|
-
const modelChoices = selectedChoice.defaultModel === "" ? [
|
|
21434
|
-
{ title: "auto (Recommended)", value: "" },
|
|
21435
|
-
...selectedChoice.models.map((model) => ({
|
|
21436
|
-
title: model,
|
|
21437
|
-
value: model
|
|
21438
|
-
}))
|
|
21439
|
-
] : selectedChoice.models.map((model) => ({
|
|
21440
|
-
title: model === selectedChoice.defaultModel ? `${model} (Recommended)` : model,
|
|
21441
|
-
value: model
|
|
21442
|
-
}));
|
|
21443
|
-
const modelSelection = await step.prompt(
|
|
21444
|
-
() => promptSelect("Select model:", modelChoices)
|
|
21445
|
-
);
|
|
21446
|
-
if (modelSelection === void 0) {
|
|
21447
|
-
console.log(chalk82.dim("Cancelled"));
|
|
21448
|
-
process.exit(0);
|
|
21449
|
-
}
|
|
21450
|
-
selectedModel = modelSelection === "" ? void 0 : modelSelection;
|
|
21451
|
-
}
|
|
21452
|
-
const result = await setupModelProvider(providerType, secret, {
|
|
21453
|
-
selectedModel
|
|
21454
|
-
});
|
|
21455
|
-
const modelNote = result.provider.selectedModel ? ` with model: ${result.provider.selectedModel}` : "";
|
|
21456
|
-
step.detail(
|
|
21457
|
-
chalk82.green(
|
|
21458
|
-
`${providerType} ${result.created ? "created" : "updated"}${result.isDefault ? ` (default for ${result.framework})` : ""}${modelNote}`
|
|
21459
|
-
)
|
|
21460
|
-
);
|
|
21461
|
-
});
|
|
21462
|
-
}
|
|
21463
|
-
async function handleAgentCreation(ctx) {
|
|
21464
|
-
let agentName = ctx.options.name ?? DEFAULT_AGENT_NAME;
|
|
21465
|
-
await ctx.runner.step("Create New Project", async (step) => {
|
|
21466
|
-
if (!ctx.options.yes && !ctx.options.name && ctx.interactive) {
|
|
21467
|
-
let folderExists = true;
|
|
21468
|
-
while (folderExists) {
|
|
21469
|
-
step.connector();
|
|
21470
|
-
const inputName = await step.prompt(
|
|
21471
|
-
() => promptText(
|
|
21472
|
-
"Enter project name:",
|
|
21473
|
-
DEFAULT_AGENT_NAME,
|
|
21474
|
-
(value) => {
|
|
21475
|
-
if (!validateAgentName(value)) {
|
|
21476
|
-
return "Invalid name: 3-64 chars, alphanumeric + hyphens, start/end with letter/number";
|
|
21477
|
-
}
|
|
21478
|
-
return true;
|
|
21479
|
-
}
|
|
21480
|
-
)
|
|
21481
|
-
);
|
|
21482
|
-
if (!inputName) {
|
|
21483
|
-
process.exit(0);
|
|
21484
|
-
}
|
|
21485
|
-
agentName = inputName;
|
|
21486
|
-
if (existsSync12(agentName)) {
|
|
21487
|
-
step.detail(
|
|
21488
|
-
chalk82.yellow(`${agentName}/ already exists, choose another name`)
|
|
21489
|
-
);
|
|
21490
|
-
} else {
|
|
21491
|
-
folderExists = false;
|
|
21492
|
-
}
|
|
21493
|
-
}
|
|
21494
|
-
} else {
|
|
21495
|
-
if (!validateAgentName(agentName)) {
|
|
21496
|
-
throw new Error(
|
|
21497
|
-
"Invalid agent name: must be 3-64 chars, alphanumeric + hyphens"
|
|
21498
|
-
);
|
|
21499
|
-
}
|
|
21500
|
-
if (existsSync12(agentName)) {
|
|
21501
|
-
throw new Error(`${agentName}/ already exists`, {
|
|
21502
|
-
cause: new Error(
|
|
21503
|
-
`Remove it first or choose a different name: rm -rf ${agentName}`
|
|
21504
|
-
)
|
|
21505
|
-
});
|
|
21506
|
-
}
|
|
21507
|
-
}
|
|
21508
|
-
await mkdir8(agentName, { recursive: true });
|
|
21509
|
-
step.detail(chalk82.green(`Created ${agentName}/`));
|
|
21510
|
-
});
|
|
21511
|
-
return agentName;
|
|
21512
|
-
}
|
|
21513
|
-
async function handlePluginInstallation(ctx, agentName) {
|
|
21514
|
-
let pluginInstalled = false;
|
|
21515
|
-
await ctx.runner.step("Install Claude Plugin", async (step) => {
|
|
21516
|
-
let shouldInstall = true;
|
|
21517
|
-
if (!ctx.options.yes && ctx.interactive) {
|
|
21518
|
-
step.connector();
|
|
21519
|
-
const confirmed = await step.prompt(
|
|
21520
|
-
() => promptConfirm("Install VM0 Claude Plugin?", true)
|
|
21521
|
-
);
|
|
21522
|
-
shouldInstall = confirmed ?? true;
|
|
21523
|
-
}
|
|
21524
|
-
if (!shouldInstall) {
|
|
21525
|
-
step.detail(chalk82.dim("Skipped"));
|
|
21526
|
-
return;
|
|
21527
|
-
}
|
|
21528
|
-
const scope = "project";
|
|
21529
|
-
try {
|
|
21530
|
-
const agentDir = `${process.cwd()}/${agentName}`;
|
|
21531
|
-
const result = await installVm0Plugin(scope, agentDir);
|
|
21532
|
-
step.detail(
|
|
21533
|
-
chalk82.green(`Installed ${result.pluginId} (scope: ${result.scope})`)
|
|
21534
|
-
);
|
|
21535
|
-
pluginInstalled = true;
|
|
21536
|
-
} catch (error) {
|
|
21537
|
-
handlePluginError(error);
|
|
21538
|
-
}
|
|
21539
|
-
});
|
|
21540
|
-
return pluginInstalled;
|
|
21541
|
-
}
|
|
21542
|
-
function printNextSteps(agentName, pluginInstalled) {
|
|
21543
|
-
console.log();
|
|
21544
|
-
console.log(chalk82.bold("Next step:"));
|
|
21545
|
-
console.log();
|
|
21546
|
-
if (pluginInstalled) {
|
|
21547
|
-
console.log(
|
|
21548
|
-
` ${chalk82.cyan(`cd ${agentName} && claude "/${PRIMARY_SKILL_NAME} let's build an agent"`)}`
|
|
21549
|
-
);
|
|
21550
|
-
} else {
|
|
21551
|
-
console.log(` ${chalk82.cyan(`cd ${agentName} && vm0 init`)}`);
|
|
21552
|
-
}
|
|
21553
|
-
console.log();
|
|
21554
|
-
}
|
|
21555
|
-
var onboardCommand = new Command90().name("onboard").description("Guided setup for new VM0 users").option("-y, --yes", "Skip confirmation prompts").option("--name <name>", `Agent name (default: ${DEFAULT_AGENT_NAME})`).action(
|
|
21556
|
-
withErrorHandler(async (options) => {
|
|
21557
|
-
const interactive = isInteractive();
|
|
21558
|
-
if (interactive) {
|
|
21559
|
-
process.stdout.write("\x1B[2J\x1B[H");
|
|
21560
|
-
console.log();
|
|
21561
|
-
renderOnboardWelcome();
|
|
21562
|
-
console.log();
|
|
21563
|
-
}
|
|
21564
|
-
const runner = createStepRunner({
|
|
21565
|
-
interactive,
|
|
21566
|
-
header: interactive ? renderOnboardWelcome : void 0
|
|
21567
|
-
});
|
|
21568
|
-
const ctx = { interactive, options, runner };
|
|
21569
|
-
await handleAuthentication(ctx);
|
|
21570
|
-
await handleModelProvider(ctx);
|
|
21571
|
-
const agentName = await handleAgentCreation(ctx);
|
|
21572
|
-
const pluginInstalled = await handlePluginInstallation(ctx, agentName);
|
|
21573
|
-
await ctx.runner.finalStep("Completed", async () => {
|
|
21574
|
-
});
|
|
21575
|
-
printNextSteps(agentName, pluginInstalled);
|
|
21576
|
-
})
|
|
21577
|
-
);
|
|
21578
|
-
|
|
21579
22548
|
// src/commands/setup-claude/index.ts
|
|
21580
|
-
|
|
21581
|
-
import chalk83 from "chalk";
|
|
21582
|
-
var setupClaudeCommand = new Command91().name("setup-claude").description("Install VM0 Claude Plugin").option("--agent-dir <dir>", "Agent directory to run install in").option("--scope <scope>", "Installation scope (user or project)", "project").action(
|
|
22549
|
+
var setupClaudeCommand = new Command90().name("setup-claude").description("Install VM0 Claude Plugin").option("--agent-dir <dir>", "Agent directory to run install in").option("--scope <scope>", "Installation scope (user or project)", "project").action(
|
|
21583
22550
|
withErrorHandler(async (options) => {
|
|
21584
|
-
console.log(
|
|
22551
|
+
console.log(chalk80.dim("Installing VM0 Claude Plugin..."));
|
|
21585
22552
|
const scope = options.scope === "user" ? "user" : "project";
|
|
21586
22553
|
const result = await installVm0Plugin(scope, options.agentDir);
|
|
21587
22554
|
console.log(
|
|
21588
|
-
|
|
22555
|
+
chalk80.green(`\u2713 Installed ${result.pluginId} (scope: ${result.scope})`)
|
|
21589
22556
|
);
|
|
21590
22557
|
console.log();
|
|
21591
22558
|
console.log("Next step:");
|
|
21592
22559
|
const cdPrefix = options.agentDir ? `cd ${options.agentDir} && ` : "";
|
|
21593
22560
|
console.log(
|
|
21594
|
-
|
|
22561
|
+
chalk80.cyan(
|
|
21595
22562
|
` ${cdPrefix}claude "/${PRIMARY_SKILL_NAME} let's build a workflow"`
|
|
21596
22563
|
)
|
|
21597
22564
|
);
|
|
21598
22565
|
})
|
|
21599
22566
|
);
|
|
21600
22567
|
|
|
21601
|
-
// src/commands/dashboard/index.ts
|
|
21602
|
-
import { Command as Command92 } from "commander";
|
|
21603
|
-
import chalk84 from "chalk";
|
|
21604
|
-
var dashboardCommand = new Command92().name("dashboard").description("Quick reference for common query commands").action(() => {
|
|
21605
|
-
console.log();
|
|
21606
|
-
console.log(chalk84.bold("VM0 Dashboard"));
|
|
21607
|
-
console.log();
|
|
21608
|
-
console.log(chalk84.bold("Agents"));
|
|
21609
|
-
console.log(chalk84.dim(" List agents: ") + "vm0 agent list");
|
|
21610
|
-
console.log();
|
|
21611
|
-
console.log(chalk84.bold("Runs"));
|
|
21612
|
-
console.log(chalk84.dim(" Recent runs: ") + "vm0 run list");
|
|
21613
|
-
console.log(chalk84.dim(" View run logs: ") + "vm0 logs <run-id>");
|
|
21614
|
-
console.log();
|
|
21615
|
-
console.log(chalk84.bold("Schedules"));
|
|
21616
|
-
console.log(chalk84.dim(" List schedules: ") + "vm0 schedule list");
|
|
21617
|
-
console.log();
|
|
21618
|
-
console.log(chalk84.bold("Account"));
|
|
21619
|
-
console.log(chalk84.dim(" Usage stats: ") + "vm0 usage");
|
|
21620
|
-
console.log(chalk84.dim(" List secrets: ") + "vm0 secret list");
|
|
21621
|
-
console.log(chalk84.dim(" List variables: ") + "vm0 variable list");
|
|
21622
|
-
console.log();
|
|
21623
|
-
console.log(
|
|
21624
|
-
chalk84.dim("Not logged in? Run: ") + chalk84.cyan("vm0 auth login")
|
|
21625
|
-
);
|
|
21626
|
-
console.log();
|
|
21627
|
-
});
|
|
21628
|
-
|
|
21629
22568
|
// src/commands/preference/index.ts
|
|
21630
|
-
import { Command as
|
|
21631
|
-
import
|
|
22569
|
+
import { Command as Command91 } from "commander";
|
|
22570
|
+
import chalk81 from "chalk";
|
|
21632
22571
|
function detectTimezone2() {
|
|
21633
22572
|
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
21634
22573
|
}
|
|
@@ -21649,15 +22588,15 @@ function parseOnOff(flag, value) {
|
|
|
21649
22588
|
);
|
|
21650
22589
|
}
|
|
21651
22590
|
function displayPreferences(prefs) {
|
|
21652
|
-
console.log(
|
|
22591
|
+
console.log(chalk81.bold("Current preferences:"));
|
|
21653
22592
|
console.log(
|
|
21654
|
-
` Timezone: ${prefs.timezone ?
|
|
22593
|
+
` Timezone: ${prefs.timezone ? chalk81.cyan(prefs.timezone) : chalk81.dim("not set")}`
|
|
21655
22594
|
);
|
|
21656
22595
|
console.log(
|
|
21657
|
-
` Email notify: ${prefs.notifyEmail ?
|
|
22596
|
+
` Email notify: ${prefs.notifyEmail ? chalk81.green("on") : chalk81.dim("off")}`
|
|
21658
22597
|
);
|
|
21659
22598
|
console.log(
|
|
21660
|
-
` Slack notify: ${prefs.notifySlack ?
|
|
22599
|
+
` Slack notify: ${prefs.notifySlack ? chalk81.green("on") : chalk81.dim("off")}`
|
|
21661
22600
|
);
|
|
21662
22601
|
}
|
|
21663
22602
|
function buildUpdates(opts) {
|
|
@@ -21687,21 +22626,21 @@ function buildUpdates(opts) {
|
|
|
21687
22626
|
function printUpdateResult(updates, result) {
|
|
21688
22627
|
if (updates.timezone !== void 0) {
|
|
21689
22628
|
console.log(
|
|
21690
|
-
|
|
21691
|
-
`Timezone set to ${
|
|
22629
|
+
chalk81.green(
|
|
22630
|
+
`Timezone set to ${chalk81.cyan(result.timezone ?? updates.timezone)}`
|
|
21692
22631
|
)
|
|
21693
22632
|
);
|
|
21694
22633
|
}
|
|
21695
22634
|
if (updates.notifyEmail !== void 0) {
|
|
21696
22635
|
console.log(
|
|
21697
|
-
|
|
22636
|
+
chalk81.green(
|
|
21698
22637
|
`Email notifications ${result.notifyEmail ? "enabled" : "disabled"}`
|
|
21699
22638
|
)
|
|
21700
22639
|
);
|
|
21701
22640
|
}
|
|
21702
22641
|
if (updates.notifySlack !== void 0) {
|
|
21703
22642
|
console.log(
|
|
21704
|
-
|
|
22643
|
+
chalk81.green(
|
|
21705
22644
|
`Slack notifications ${result.notifySlack ? "enabled" : "disabled"}`
|
|
21706
22645
|
)
|
|
21707
22646
|
);
|
|
@@ -21710,7 +22649,7 @@ function printUpdateResult(updates, result) {
|
|
|
21710
22649
|
async function interactiveSetup(prefs) {
|
|
21711
22650
|
if (!prefs.timezone) {
|
|
21712
22651
|
const detectedTz = detectTimezone2();
|
|
21713
|
-
console.log(
|
|
22652
|
+
console.log(chalk81.dim(`
|
|
21714
22653
|
System timezone detected: ${detectedTz}`));
|
|
21715
22654
|
const tz = await promptText(
|
|
21716
22655
|
"Set timezone? (enter timezone or leave empty to skip)",
|
|
@@ -21721,7 +22660,7 @@ System timezone detected: ${detectedTz}`));
|
|
|
21721
22660
|
throw new Error(`Invalid timezone: ${tz.trim()}`);
|
|
21722
22661
|
}
|
|
21723
22662
|
await updateUserPreferences({ timezone: tz.trim() });
|
|
21724
|
-
console.log(
|
|
22663
|
+
console.log(chalk81.green(`Timezone set to ${chalk81.cyan(tz.trim())}`));
|
|
21725
22664
|
}
|
|
21726
22665
|
}
|
|
21727
22666
|
if (!prefs.notifyEmail) {
|
|
@@ -21731,11 +22670,11 @@ System timezone detected: ${detectedTz}`));
|
|
|
21731
22670
|
);
|
|
21732
22671
|
if (enable) {
|
|
21733
22672
|
await updateUserPreferences({ notifyEmail: true });
|
|
21734
|
-
console.log(
|
|
22673
|
+
console.log(chalk81.green("Email notifications enabled"));
|
|
21735
22674
|
}
|
|
21736
22675
|
}
|
|
21737
22676
|
}
|
|
21738
|
-
var preferenceCommand = new
|
|
22677
|
+
var preferenceCommand = new Command91().name("preference").description("View or update your preferences").option("--timezone <timezone>", "IANA timezone (e.g., America/New_York)").option("--notify-email <on|off>", "Enable or disable email notifications").option("--notify-slack <on|off>", "Enable or disable Slack notifications").action(
|
|
21739
22678
|
withErrorHandler(async (opts) => {
|
|
21740
22679
|
const updates = buildUpdates(opts);
|
|
21741
22680
|
if (updates) {
|
|
@@ -21750,32 +22689,32 @@ var preferenceCommand = new Command93().name("preference").description("View or
|
|
|
21750
22689
|
} else if (!prefs.timezone) {
|
|
21751
22690
|
console.log();
|
|
21752
22691
|
console.log(
|
|
21753
|
-
`To set timezone: ${
|
|
22692
|
+
`To set timezone: ${chalk81.cyan("vm0 preference --timezone <timezone>")}`
|
|
21754
22693
|
);
|
|
21755
22694
|
console.log(
|
|
21756
|
-
|
|
22695
|
+
chalk81.dim("Example: vm0 preference --timezone America/New_York")
|
|
21757
22696
|
);
|
|
21758
22697
|
}
|
|
21759
22698
|
})
|
|
21760
22699
|
);
|
|
21761
22700
|
|
|
21762
22701
|
// src/commands/upgrade/index.ts
|
|
21763
|
-
import { Command as
|
|
21764
|
-
import
|
|
21765
|
-
var upgradeCommand = new
|
|
22702
|
+
import { Command as Command92 } from "commander";
|
|
22703
|
+
import chalk82 from "chalk";
|
|
22704
|
+
var upgradeCommand = new Command92().name("upgrade").description("Upgrade vm0 CLI to the latest version").action(
|
|
21766
22705
|
withErrorHandler(async () => {
|
|
21767
22706
|
console.log("Checking for updates...");
|
|
21768
22707
|
const latestVersion = await getLatestVersion();
|
|
21769
22708
|
if (latestVersion === null) {
|
|
21770
22709
|
throw new Error("Could not check for updates. Please try again later.");
|
|
21771
22710
|
}
|
|
21772
|
-
if (latestVersion === "9.74.
|
|
21773
|
-
console.log(
|
|
22711
|
+
if (latestVersion === "9.74.4") {
|
|
22712
|
+
console.log(chalk82.green(`\u2713 Already up to date (${"9.74.4"})`));
|
|
21774
22713
|
return;
|
|
21775
22714
|
}
|
|
21776
22715
|
console.log(
|
|
21777
|
-
|
|
21778
|
-
`Current version: ${"9.74.
|
|
22716
|
+
chalk82.yellow(
|
|
22717
|
+
`Current version: ${"9.74.4"} -> Latest version: ${latestVersion}`
|
|
21779
22718
|
)
|
|
21780
22719
|
);
|
|
21781
22720
|
console.log();
|
|
@@ -21783,26 +22722,26 @@ var upgradeCommand = new Command94().name("upgrade").description("Upgrade vm0 CL
|
|
|
21783
22722
|
if (!isAutoUpgradeSupported(packageManager)) {
|
|
21784
22723
|
if (packageManager === "unknown") {
|
|
21785
22724
|
console.log(
|
|
21786
|
-
|
|
22725
|
+
chalk82.yellow(
|
|
21787
22726
|
"Could not detect your package manager for auto-upgrade."
|
|
21788
22727
|
)
|
|
21789
22728
|
);
|
|
21790
22729
|
} else {
|
|
21791
22730
|
console.log(
|
|
21792
|
-
|
|
22731
|
+
chalk82.yellow(
|
|
21793
22732
|
`Auto-upgrade is not supported for ${packageManager}.`
|
|
21794
22733
|
)
|
|
21795
22734
|
);
|
|
21796
22735
|
}
|
|
21797
|
-
console.log(
|
|
21798
|
-
console.log(
|
|
22736
|
+
console.log(chalk82.yellow("Please upgrade manually:"));
|
|
22737
|
+
console.log(chalk82.cyan(` ${getManualUpgradeCommand(packageManager)}`));
|
|
21799
22738
|
return;
|
|
21800
22739
|
}
|
|
21801
22740
|
console.log(`Upgrading via ${packageManager}...`);
|
|
21802
22741
|
const success = await performUpgrade(packageManager);
|
|
21803
22742
|
if (success) {
|
|
21804
22743
|
console.log(
|
|
21805
|
-
|
|
22744
|
+
chalk82.green(`\u2713 Upgraded from ${"9.74.4"} to ${latestVersion}`)
|
|
21806
22745
|
);
|
|
21807
22746
|
return;
|
|
21808
22747
|
}
|
|
@@ -21815,8 +22754,8 @@ var upgradeCommand = new Command94().name("upgrade").description("Upgrade vm0 CL
|
|
|
21815
22754
|
);
|
|
21816
22755
|
|
|
21817
22756
|
// src/commands/whoami.ts
|
|
21818
|
-
import { Command as
|
|
21819
|
-
import
|
|
22757
|
+
import { Command as Command93 } from "commander";
|
|
22758
|
+
import chalk83 from "chalk";
|
|
21820
22759
|
function isInsideSandbox() {
|
|
21821
22760
|
return !!process.env.VM0_RUN_ID;
|
|
21822
22761
|
}
|
|
@@ -21831,7 +22770,7 @@ async function showSandboxInfo() {
|
|
|
21831
22770
|
const apiUrl = process.env.VM0_API_URL;
|
|
21832
22771
|
const hasAgentInfo = agentName || agentVersion || agentComposeId || agentOrgSlug || cliAgentType;
|
|
21833
22772
|
if (hasAgentInfo) {
|
|
21834
|
-
console.log(
|
|
22773
|
+
console.log(chalk83.bold("Agent:"));
|
|
21835
22774
|
if (agentName) console.log(` Name: ${agentName}`);
|
|
21836
22775
|
if (agentVersion) console.log(` Version: ${agentVersion}`);
|
|
21837
22776
|
if (agentComposeId) console.log(` Compose ID: ${agentComposeId}`);
|
|
@@ -21839,7 +22778,7 @@ async function showSandboxInfo() {
|
|
|
21839
22778
|
if (cliAgentType) console.log(` Framework: ${cliAgentType}`);
|
|
21840
22779
|
console.log();
|
|
21841
22780
|
}
|
|
21842
|
-
console.log(
|
|
22781
|
+
console.log(chalk83.bold("Run:"));
|
|
21843
22782
|
if (runId) console.log(` ID: ${runId}`);
|
|
21844
22783
|
if (activeOrg) console.log(` Org: ${activeOrg}`);
|
|
21845
22784
|
if (apiUrl) console.log(` API: ${apiUrl}`);
|
|
@@ -21848,23 +22787,23 @@ async function showLocalInfo() {
|
|
|
21848
22787
|
const token = await getToken();
|
|
21849
22788
|
const apiUrl = await getApiUrl();
|
|
21850
22789
|
const activeOrg = await getActiveOrg();
|
|
21851
|
-
console.log(
|
|
22790
|
+
console.log(chalk83.bold("Auth:"));
|
|
21852
22791
|
if (token) {
|
|
21853
22792
|
const tokenSource = process.env.VM0_TOKEN ? "VM0_TOKEN env var" : "config file";
|
|
21854
22793
|
console.log(
|
|
21855
|
-
` Status: ${
|
|
22794
|
+
` Status: ${chalk83.green("Authenticated")} (via ${tokenSource})`
|
|
21856
22795
|
);
|
|
21857
22796
|
} else {
|
|
21858
|
-
console.log(` Status: ${
|
|
22797
|
+
console.log(` Status: ${chalk83.dim("Not authenticated")}`);
|
|
21859
22798
|
}
|
|
21860
22799
|
console.log(` API: ${apiUrl}`);
|
|
21861
22800
|
console.log();
|
|
21862
22801
|
if (activeOrg) {
|
|
21863
|
-
console.log(
|
|
22802
|
+
console.log(chalk83.bold("Org:"));
|
|
21864
22803
|
console.log(` Active: ${activeOrg}`);
|
|
21865
22804
|
}
|
|
21866
22805
|
}
|
|
21867
|
-
var whoamiCommand = new
|
|
22806
|
+
var whoamiCommand = new Command93().name("whoami").description("Show current identity and environment information").action(
|
|
21868
22807
|
withErrorHandler(async () => {
|
|
21869
22808
|
if (isInsideSandbox()) {
|
|
21870
22809
|
await showSandboxInfo();
|
|
@@ -21875,8 +22814,8 @@ var whoamiCommand = new Command95().name("whoami").description("Show current ide
|
|
|
21875
22814
|
);
|
|
21876
22815
|
|
|
21877
22816
|
// src/index.ts
|
|
21878
|
-
var program = new
|
|
21879
|
-
program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.74.
|
|
22817
|
+
var program = new Command94();
|
|
22818
|
+
program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.74.4");
|
|
21880
22819
|
program.addCommand(authCommand);
|
|
21881
22820
|
program.addCommand(infoCommand);
|
|
21882
22821
|
program.addCommand(composeCommand);
|
|
@@ -21894,9 +22833,7 @@ program.addCommand(usageCommand);
|
|
|
21894
22833
|
program.addCommand(secretCommand);
|
|
21895
22834
|
program.addCommand(variableCommand);
|
|
21896
22835
|
program.addCommand(connectorCommand);
|
|
21897
|
-
program.addCommand(onboardCommand);
|
|
21898
22836
|
program.addCommand(setupClaudeCommand);
|
|
21899
|
-
program.addCommand(dashboardCommand);
|
|
21900
22837
|
program.addCommand(preferenceCommand);
|
|
21901
22838
|
program.addCommand(upgradeCommand);
|
|
21902
22839
|
program.addCommand(whoamiCommand);
|