@vm0/cli 9.74.2 → 9.74.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +1522 -592
  2. 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.2",
50
+ release: "9.74.3",
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.2",
69
+ version: "9.74.3",
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 Command96 } from "commander";
88
+ import { Command as Command94 } from "commander";
89
89
 
90
90
  // src/lib/network/proxy.ts
91
91
  import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
@@ -3117,7 +3117,11 @@ var chatThreadsContract = c14.router({
3117
3117
  title: z18.string().optional()
3118
3118
  }),
3119
3119
  responses: {
3120
- 201: z18.object({ id: z18.string(), createdAt: z18.string() }),
3120
+ 201: z18.object({
3121
+ id: z18.string(),
3122
+ title: z18.string().nullable(),
3123
+ createdAt: z18.string()
3124
+ }),
3121
3125
  401: apiErrorSchema
3122
3126
  },
3123
3127
  summary: "Create a new chat thread"
@@ -8918,14 +8922,1442 @@ var githubFirewall = {
8918
8922
  },
8919
8923
  permissions: [
8920
8924
  {
8921
- name: "unrestricted",
8922
- description: "Allow all endpoints",
8923
- rules: ["ANY /{path*}"]
8925
+ name: "unrestricted",
8926
+ description: "Allow all endpoints",
8927
+ rules: ["ANY /{path*}"]
8928
+ },
8929
+ {
8930
+ name: "contents:write",
8931
+ description: "Upload release assets",
8932
+ rules: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets"]
8933
+ }
8934
+ ]
8935
+ }
8936
+ ]
8937
+ };
8938
+
8939
+ // ../../packages/core/src/firewalls/gmail.generated.ts
8940
+ var gmailFirewall = {
8941
+ name: "gmail",
8942
+ description: "Gmail API",
8943
+ placeholders: {
8944
+ GMAIL_TOKEN: "ya29.A0Vm0PlaceHolder-Vm0_PlaceHolder00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
8945
+ },
8946
+ apis: [
8947
+ {
8948
+ base: "https://gmail.googleapis.com/gmail",
8949
+ auth: {
8950
+ headers: {
8951
+ Authorization: "Bearer ${{ secrets.GMAIL_TOKEN }}"
8952
+ }
8953
+ },
8954
+ permissions: [
8955
+ {
8956
+ name: "unrestricted",
8957
+ description: "Allow all endpoints",
8958
+ rules: ["ANY /{path*}"]
8959
+ },
8960
+ {
8961
+ name: "gmail",
8962
+ description: "Read, compose, send, and permanently delete all your email from Gmail",
8963
+ rules: [
8964
+ "GET /v1/users/{userId}/drafts",
8965
+ "POST /v1/users/{userId}/drafts",
8966
+ "POST /v1/users/{userId}/drafts/send",
8967
+ "GET /v1/users/{userId}/drafts/{id}",
8968
+ "PUT /v1/users/{userId}/drafts/{id}",
8969
+ "DELETE /v1/users/{userId}/drafts/{id}",
8970
+ "GET /v1/users/{userId}/history",
8971
+ "GET /v1/users/{userId}/labels",
8972
+ "POST /v1/users/{userId}/labels",
8973
+ "GET /v1/users/{userId}/labels/{id}",
8974
+ "PUT /v1/users/{userId}/labels/{id}",
8975
+ "PATCH /v1/users/{userId}/labels/{id}",
8976
+ "DELETE /v1/users/{userId}/labels/{id}",
8977
+ "GET /v1/users/{userId}/messages",
8978
+ "POST /v1/users/{userId}/messages",
8979
+ "POST /v1/users/{userId}/messages/batchDelete",
8980
+ "POST /v1/users/{userId}/messages/batchModify",
8981
+ "POST /v1/users/{userId}/messages/import",
8982
+ "POST /v1/users/{userId}/messages/send",
8983
+ "GET /v1/users/{userId}/messages/{id}",
8984
+ "DELETE /v1/users/{userId}/messages/{id}",
8985
+ "POST /v1/users/{userId}/messages/{id}/modify",
8986
+ "POST /v1/users/{userId}/messages/{id}/trash",
8987
+ "POST /v1/users/{userId}/messages/{id}/untrash",
8988
+ "GET /v1/users/{userId}/messages/{messageId}/attachments/{id}",
8989
+ "GET /v1/users/{userId}/profile",
8990
+ "GET /v1/users/{userId}/settings/autoForwarding",
8991
+ "GET /v1/users/{userId}/settings/cse/identities",
8992
+ "GET /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
8993
+ "GET /v1/users/{userId}/settings/cse/keypairs",
8994
+ "GET /v1/users/{userId}/settings/cse/keypairs/{keyPairId}",
8995
+ "GET /v1/users/{userId}/settings/delegates",
8996
+ "GET /v1/users/{userId}/settings/delegates/{delegateEmail}",
8997
+ "GET /v1/users/{userId}/settings/filters",
8998
+ "GET /v1/users/{userId}/settings/filters/{id}",
8999
+ "GET /v1/users/{userId}/settings/forwardingAddresses",
9000
+ "GET /v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}",
9001
+ "GET /v1/users/{userId}/settings/imap",
9002
+ "GET /v1/users/{userId}/settings/language",
9003
+ "GET /v1/users/{userId}/settings/pop",
9004
+ "GET /v1/users/{userId}/settings/sendAs",
9005
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
9006
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
9007
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
9008
+ "GET /v1/users/{userId}/settings/vacation",
9009
+ "POST /v1/users/{userId}/stop",
9010
+ "GET /v1/users/{userId}/threads",
9011
+ "GET /v1/users/{userId}/threads/{id}",
9012
+ "DELETE /v1/users/{userId}/threads/{id}",
9013
+ "POST /v1/users/{userId}/threads/{id}/modify",
9014
+ "POST /v1/users/{userId}/threads/{id}/trash",
9015
+ "POST /v1/users/{userId}/threads/{id}/untrash",
9016
+ "POST /v1/users/{userId}/watch"
9017
+ ]
9018
+ },
9019
+ {
9020
+ name: "gmail.addons.current.action.compose",
9021
+ description: "Manage drafts and send emails when you interact with the add-on",
9022
+ rules: [
9023
+ "POST /v1/users/{userId}/drafts",
9024
+ "POST /v1/users/{userId}/drafts/send",
9025
+ "PUT /v1/users/{userId}/drafts/{id}",
9026
+ "DELETE /v1/users/{userId}/drafts/{id}",
9027
+ "POST /v1/users/{userId}/messages/send"
9028
+ ]
9029
+ },
9030
+ {
9031
+ name: "gmail.addons.current.message.action",
9032
+ description: "View your email messages when you interact with the add-on",
9033
+ rules: [
9034
+ "GET /v1/users/{userId}/messages/{id}",
9035
+ "GET /v1/users/{userId}/messages/{messageId}/attachments/{id}",
9036
+ "GET /v1/users/{userId}/threads/{id}"
9037
+ ]
9038
+ },
9039
+ {
9040
+ name: "gmail.addons.current.message.metadata",
9041
+ description: "View your email message metadata when the add-on is running",
9042
+ rules: [
9043
+ "GET /v1/users/{userId}/messages/{id}",
9044
+ "GET /v1/users/{userId}/threads/{id}"
9045
+ ]
9046
+ },
9047
+ {
9048
+ name: "gmail.addons.current.message.readonly",
9049
+ description: "View your email messages when the add-on is running",
9050
+ rules: [
9051
+ "GET /v1/users/{userId}/messages/{id}",
9052
+ "GET /v1/users/{userId}/messages/{messageId}/attachments/{id}",
9053
+ "GET /v1/users/{userId}/threads/{id}"
9054
+ ]
9055
+ },
9056
+ {
9057
+ name: "gmail.compose",
9058
+ description: "Manage drafts and send emails",
9059
+ rules: [
9060
+ "GET /v1/users/{userId}/drafts",
9061
+ "POST /v1/users/{userId}/drafts",
9062
+ "POST /v1/users/{userId}/drafts/send",
9063
+ "GET /v1/users/{userId}/drafts/{id}",
9064
+ "PUT /v1/users/{userId}/drafts/{id}",
9065
+ "DELETE /v1/users/{userId}/drafts/{id}",
9066
+ "POST /v1/users/{userId}/messages/send",
9067
+ "GET /v1/users/{userId}/profile"
9068
+ ]
9069
+ },
9070
+ {
9071
+ name: "gmail.insert",
9072
+ description: "Add emails into your Gmail mailbox",
9073
+ rules: [
9074
+ "POST /v1/users/{userId}/messages",
9075
+ "POST /v1/users/{userId}/messages/import"
9076
+ ]
9077
+ },
9078
+ {
9079
+ name: "gmail.labels",
9080
+ description: "See and edit your email labels",
9081
+ rules: [
9082
+ "GET /v1/users/{userId}/labels",
9083
+ "POST /v1/users/{userId}/labels",
9084
+ "GET /v1/users/{userId}/labels/{id}",
9085
+ "PUT /v1/users/{userId}/labels/{id}",
9086
+ "PATCH /v1/users/{userId}/labels/{id}",
9087
+ "DELETE /v1/users/{userId}/labels/{id}"
9088
+ ]
9089
+ },
9090
+ {
9091
+ name: "gmail.metadata",
9092
+ description: "View your email message metadata such as labels and headers, but not the email body",
9093
+ rules: [
9094
+ "GET /v1/users/{userId}/history",
9095
+ "GET /v1/users/{userId}/labels",
9096
+ "GET /v1/users/{userId}/labels/{id}",
9097
+ "GET /v1/users/{userId}/messages",
9098
+ "GET /v1/users/{userId}/messages/{id}",
9099
+ "GET /v1/users/{userId}/profile",
9100
+ "POST /v1/users/{userId}/stop",
9101
+ "GET /v1/users/{userId}/threads",
9102
+ "GET /v1/users/{userId}/threads/{id}",
9103
+ "POST /v1/users/{userId}/watch"
9104
+ ]
9105
+ },
9106
+ {
9107
+ name: "gmail.modify",
9108
+ description: "Read, compose, and send emails from your Gmail account",
9109
+ rules: [
9110
+ "GET /v1/users/{userId}/drafts",
9111
+ "POST /v1/users/{userId}/drafts",
9112
+ "POST /v1/users/{userId}/drafts/send",
9113
+ "GET /v1/users/{userId}/drafts/{id}",
9114
+ "PUT /v1/users/{userId}/drafts/{id}",
9115
+ "DELETE /v1/users/{userId}/drafts/{id}",
9116
+ "GET /v1/users/{userId}/history",
9117
+ "GET /v1/users/{userId}/labels",
9118
+ "POST /v1/users/{userId}/labels",
9119
+ "GET /v1/users/{userId}/labels/{id}",
9120
+ "PUT /v1/users/{userId}/labels/{id}",
9121
+ "PATCH /v1/users/{userId}/labels/{id}",
9122
+ "DELETE /v1/users/{userId}/labels/{id}",
9123
+ "GET /v1/users/{userId}/messages",
9124
+ "POST /v1/users/{userId}/messages",
9125
+ "POST /v1/users/{userId}/messages/batchModify",
9126
+ "POST /v1/users/{userId}/messages/import",
9127
+ "POST /v1/users/{userId}/messages/send",
9128
+ "GET /v1/users/{userId}/messages/{id}",
9129
+ "POST /v1/users/{userId}/messages/{id}/modify",
9130
+ "POST /v1/users/{userId}/messages/{id}/trash",
9131
+ "POST /v1/users/{userId}/messages/{id}/untrash",
9132
+ "GET /v1/users/{userId}/messages/{messageId}/attachments/{id}",
9133
+ "GET /v1/users/{userId}/profile",
9134
+ "GET /v1/users/{userId}/settings/autoForwarding",
9135
+ "GET /v1/users/{userId}/settings/cse/identities",
9136
+ "GET /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
9137
+ "GET /v1/users/{userId}/settings/cse/keypairs",
9138
+ "GET /v1/users/{userId}/settings/cse/keypairs/{keyPairId}",
9139
+ "GET /v1/users/{userId}/settings/delegates",
9140
+ "GET /v1/users/{userId}/settings/delegates/{delegateEmail}",
9141
+ "GET /v1/users/{userId}/settings/filters",
9142
+ "GET /v1/users/{userId}/settings/filters/{id}",
9143
+ "GET /v1/users/{userId}/settings/forwardingAddresses",
9144
+ "GET /v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}",
9145
+ "GET /v1/users/{userId}/settings/imap",
9146
+ "GET /v1/users/{userId}/settings/language",
9147
+ "GET /v1/users/{userId}/settings/pop",
9148
+ "GET /v1/users/{userId}/settings/sendAs",
9149
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
9150
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
9151
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
9152
+ "GET /v1/users/{userId}/settings/vacation",
9153
+ "POST /v1/users/{userId}/stop",
9154
+ "GET /v1/users/{userId}/threads",
9155
+ "GET /v1/users/{userId}/threads/{id}",
9156
+ "POST /v1/users/{userId}/threads/{id}/modify",
9157
+ "POST /v1/users/{userId}/threads/{id}/trash",
9158
+ "POST /v1/users/{userId}/threads/{id}/untrash",
9159
+ "POST /v1/users/{userId}/watch"
9160
+ ]
9161
+ },
9162
+ {
9163
+ name: "gmail.readonly",
9164
+ description: "View your email messages and settings",
9165
+ rules: [
9166
+ "GET /v1/users/{userId}/drafts",
9167
+ "GET /v1/users/{userId}/drafts/{id}",
9168
+ "GET /v1/users/{userId}/history",
9169
+ "GET /v1/users/{userId}/labels",
9170
+ "GET /v1/users/{userId}/labels/{id}",
9171
+ "GET /v1/users/{userId}/messages",
9172
+ "GET /v1/users/{userId}/messages/{id}",
9173
+ "GET /v1/users/{userId}/messages/{messageId}/attachments/{id}",
9174
+ "GET /v1/users/{userId}/profile",
9175
+ "GET /v1/users/{userId}/settings/autoForwarding",
9176
+ "GET /v1/users/{userId}/settings/cse/identities",
9177
+ "GET /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
9178
+ "GET /v1/users/{userId}/settings/cse/keypairs",
9179
+ "GET /v1/users/{userId}/settings/cse/keypairs/{keyPairId}",
9180
+ "GET /v1/users/{userId}/settings/delegates",
9181
+ "GET /v1/users/{userId}/settings/delegates/{delegateEmail}",
9182
+ "GET /v1/users/{userId}/settings/filters",
9183
+ "GET /v1/users/{userId}/settings/filters/{id}",
9184
+ "GET /v1/users/{userId}/settings/forwardingAddresses",
9185
+ "GET /v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}",
9186
+ "GET /v1/users/{userId}/settings/imap",
9187
+ "GET /v1/users/{userId}/settings/language",
9188
+ "GET /v1/users/{userId}/settings/pop",
9189
+ "GET /v1/users/{userId}/settings/sendAs",
9190
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
9191
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
9192
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
9193
+ "GET /v1/users/{userId}/settings/vacation",
9194
+ "POST /v1/users/{userId}/stop",
9195
+ "GET /v1/users/{userId}/threads",
9196
+ "GET /v1/users/{userId}/threads/{id}",
9197
+ "POST /v1/users/{userId}/watch"
9198
+ ]
9199
+ },
9200
+ {
9201
+ name: "gmail.send",
9202
+ description: "Send email on your behalf",
9203
+ rules: ["POST /v1/users/{userId}/messages/send"]
9204
+ },
9205
+ {
9206
+ name: "gmail.settings.basic",
9207
+ description: "See, edit, create, or change your email settings and filters in Gmail",
9208
+ rules: [
9209
+ "GET /v1/users/{userId}/settings/autoForwarding",
9210
+ "GET /v1/users/{userId}/settings/cse/identities",
9211
+ "POST /v1/users/{userId}/settings/cse/identities",
9212
+ "GET /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
9213
+ "DELETE /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
9214
+ "PATCH /v1/users/{userId}/settings/cse/identities/{emailAddress}",
9215
+ "GET /v1/users/{userId}/settings/cse/keypairs",
9216
+ "POST /v1/users/{userId}/settings/cse/keypairs",
9217
+ "GET /v1/users/{userId}/settings/cse/keypairs/{keyPairId}",
9218
+ "POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable",
9219
+ "POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable",
9220
+ "POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate",
9221
+ "GET /v1/users/{userId}/settings/delegates",
9222
+ "GET /v1/users/{userId}/settings/delegates/{delegateEmail}",
9223
+ "GET /v1/users/{userId}/settings/filters",
9224
+ "POST /v1/users/{userId}/settings/filters",
9225
+ "GET /v1/users/{userId}/settings/filters/{id}",
9226
+ "DELETE /v1/users/{userId}/settings/filters/{id}",
9227
+ "GET /v1/users/{userId}/settings/forwardingAddresses",
9228
+ "GET /v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}",
9229
+ "GET /v1/users/{userId}/settings/imap",
9230
+ "PUT /v1/users/{userId}/settings/imap",
9231
+ "GET /v1/users/{userId}/settings/language",
9232
+ "PUT /v1/users/{userId}/settings/language",
9233
+ "GET /v1/users/{userId}/settings/pop",
9234
+ "PUT /v1/users/{userId}/settings/pop",
9235
+ "GET /v1/users/{userId}/settings/sendAs",
9236
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
9237
+ "PUT /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
9238
+ "PATCH /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
9239
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
9240
+ "POST /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
9241
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
9242
+ "DELETE /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
9243
+ "POST /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault",
9244
+ "GET /v1/users/{userId}/settings/vacation",
9245
+ "PUT /v1/users/{userId}/settings/vacation"
9246
+ ]
9247
+ },
9248
+ {
9249
+ name: "gmail.settings.sharing",
9250
+ description: "Manage your sensitive mail settings, including who can manage your mail",
9251
+ rules: [
9252
+ "PUT /v1/users/{userId}/settings/autoForwarding",
9253
+ "GET /v1/users/{userId}/settings/cse/identities",
9254
+ "POST /v1/users/{userId}/settings/cse/identities",
9255
+ "GET /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
9256
+ "DELETE /v1/users/{userId}/settings/cse/identities/{cseEmailAddress}",
9257
+ "PATCH /v1/users/{userId}/settings/cse/identities/{emailAddress}",
9258
+ "GET /v1/users/{userId}/settings/cse/keypairs",
9259
+ "POST /v1/users/{userId}/settings/cse/keypairs",
9260
+ "GET /v1/users/{userId}/settings/cse/keypairs/{keyPairId}",
9261
+ "POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable",
9262
+ "POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable",
9263
+ "POST /v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate",
9264
+ "POST /v1/users/{userId}/settings/delegates",
9265
+ "DELETE /v1/users/{userId}/settings/delegates/{delegateEmail}",
9266
+ "POST /v1/users/{userId}/settings/forwardingAddresses",
9267
+ "DELETE /v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}",
9268
+ "POST /v1/users/{userId}/settings/sendAs",
9269
+ "PUT /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
9270
+ "PATCH /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
9271
+ "DELETE /v1/users/{userId}/settings/sendAs/{sendAsEmail}",
9272
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
9273
+ "POST /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
9274
+ "GET /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
9275
+ "DELETE /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
9276
+ "POST /v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault",
9277
+ "POST /v1/users/{userId}/settings/sendAs/{sendAsEmail}/verify"
9278
+ ]
9279
+ }
9280
+ ]
9281
+ }
9282
+ ]
9283
+ };
9284
+
9285
+ // ../../packages/core/src/firewalls/google-calendar.generated.ts
9286
+ var googleCalendarFirewall = {
9287
+ name: "google-calendar",
9288
+ description: "Google Calendar API",
9289
+ placeholders: {
9290
+ GOOGLE_CALENDAR_TOKEN: "ya29.A0Vm0PlaceHolder-Vm0_PlaceHolder00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
9291
+ },
9292
+ apis: [
9293
+ {
9294
+ base: "https://www.googleapis.com/calendar",
9295
+ auth: {
9296
+ headers: {
9297
+ Authorization: "Bearer ${{ secrets.GOOGLE_CALENDAR_TOKEN }}"
9298
+ }
9299
+ },
9300
+ permissions: [
9301
+ {
9302
+ name: "unrestricted",
9303
+ description: "Allow all endpoints",
9304
+ rules: ["ANY /{path*}"]
9305
+ },
9306
+ {
9307
+ name: "calendar",
9308
+ description: "See, edit, share, and permanently delete all the calendars you can access using Google Calendar",
9309
+ rules: [
9310
+ "POST /v3/calendars",
9311
+ "GET /v3/calendars/{calendarId}",
9312
+ "PUT /v3/calendars/{calendarId}",
9313
+ "PATCH /v3/calendars/{calendarId}",
9314
+ "DELETE /v3/calendars/{calendarId}",
9315
+ "GET /v3/calendars/{calendarId}/acl",
9316
+ "POST /v3/calendars/{calendarId}/acl",
9317
+ "POST /v3/calendars/{calendarId}/acl/watch",
9318
+ "GET /v3/calendars/{calendarId}/acl/{ruleId}",
9319
+ "PUT /v3/calendars/{calendarId}/acl/{ruleId}",
9320
+ "PATCH /v3/calendars/{calendarId}/acl/{ruleId}",
9321
+ "DELETE /v3/calendars/{calendarId}/acl/{ruleId}",
9322
+ "POST /v3/calendars/{calendarId}/clear",
9323
+ "GET /v3/calendars/{calendarId}/events",
9324
+ "POST /v3/calendars/{calendarId}/events",
9325
+ "POST /v3/calendars/{calendarId}/events/import",
9326
+ "POST /v3/calendars/{calendarId}/events/quickAdd",
9327
+ "POST /v3/calendars/{calendarId}/events/watch",
9328
+ "GET /v3/calendars/{calendarId}/events/{eventId}",
9329
+ "PUT /v3/calendars/{calendarId}/events/{eventId}",
9330
+ "PATCH /v3/calendars/{calendarId}/events/{eventId}",
9331
+ "DELETE /v3/calendars/{calendarId}/events/{eventId}",
9332
+ "GET /v3/calendars/{calendarId}/events/{eventId}/instances",
9333
+ "POST /v3/calendars/{calendarId}/events/{eventId}/move",
9334
+ "POST /v3/channels/stop",
9335
+ "GET /v3/colors",
9336
+ "POST /v3/freeBusy",
9337
+ "GET /v3/users/me/calendarList",
9338
+ "POST /v3/users/me/calendarList",
9339
+ "POST /v3/users/me/calendarList/watch",
9340
+ "GET /v3/users/me/calendarList/{calendarId}",
9341
+ "PUT /v3/users/me/calendarList/{calendarId}",
9342
+ "PATCH /v3/users/me/calendarList/{calendarId}",
9343
+ "DELETE /v3/users/me/calendarList/{calendarId}",
9344
+ "GET /v3/users/me/settings",
9345
+ "POST /v3/users/me/settings/watch",
9346
+ "GET /v3/users/me/settings/{setting}"
9347
+ ]
9348
+ },
9349
+ {
9350
+ name: "calendar.acls",
9351
+ description: "See and change the sharing permissions of Google calendars you own",
9352
+ rules: [
9353
+ "GET /v3/calendars/{calendarId}/acl",
9354
+ "POST /v3/calendars/{calendarId}/acl",
9355
+ "POST /v3/calendars/{calendarId}/acl/watch",
9356
+ "GET /v3/calendars/{calendarId}/acl/{ruleId}",
9357
+ "PUT /v3/calendars/{calendarId}/acl/{ruleId}",
9358
+ "PATCH /v3/calendars/{calendarId}/acl/{ruleId}",
9359
+ "DELETE /v3/calendars/{calendarId}/acl/{ruleId}",
9360
+ "POST /v3/channels/stop"
9361
+ ]
9362
+ },
9363
+ {
9364
+ name: "calendar.acls.readonly",
9365
+ description: "See the sharing permissions of Google calendars you own",
9366
+ rules: [
9367
+ "GET /v3/calendars/{calendarId}/acl",
9368
+ "POST /v3/calendars/{calendarId}/acl/watch",
9369
+ "GET /v3/calendars/{calendarId}/acl/{ruleId}",
9370
+ "POST /v3/channels/stop"
9371
+ ]
9372
+ },
9373
+ {
9374
+ name: "calendar.app.created",
9375
+ description: "Make secondary Google calendars, and see, create, change, and delete events on them",
9376
+ rules: [
9377
+ "POST /v3/calendars",
9378
+ "GET /v3/calendars/{calendarId}",
9379
+ "PUT /v3/calendars/{calendarId}",
9380
+ "PATCH /v3/calendars/{calendarId}",
9381
+ "DELETE /v3/calendars/{calendarId}",
9382
+ "GET /v3/calendars/{calendarId}/events",
9383
+ "POST /v3/calendars/{calendarId}/events",
9384
+ "POST /v3/calendars/{calendarId}/events/import",
9385
+ "POST /v3/calendars/{calendarId}/events/quickAdd",
9386
+ "POST /v3/calendars/{calendarId}/events/watch",
9387
+ "GET /v3/calendars/{calendarId}/events/{eventId}",
9388
+ "PUT /v3/calendars/{calendarId}/events/{eventId}",
9389
+ "PATCH /v3/calendars/{calendarId}/events/{eventId}",
9390
+ "DELETE /v3/calendars/{calendarId}/events/{eventId}",
9391
+ "GET /v3/calendars/{calendarId}/events/{eventId}/instances",
9392
+ "POST /v3/channels/stop",
9393
+ "GET /v3/colors",
9394
+ "GET /v3/users/me/calendarList/{calendarId}",
9395
+ "PUT /v3/users/me/calendarList/{calendarId}",
9396
+ "PATCH /v3/users/me/calendarList/{calendarId}",
9397
+ "DELETE /v3/users/me/calendarList/{calendarId}"
9398
+ ]
9399
+ },
9400
+ {
9401
+ name: "calendar.calendarlist",
9402
+ description: "See, add, and remove Google calendars you\u2019re subscribed to",
9403
+ rules: [
9404
+ "POST /v3/channels/stop",
9405
+ "GET /v3/colors",
9406
+ "GET /v3/users/me/calendarList",
9407
+ "POST /v3/users/me/calendarList",
9408
+ "POST /v3/users/me/calendarList/watch",
9409
+ "GET /v3/users/me/calendarList/{calendarId}",
9410
+ "PUT /v3/users/me/calendarList/{calendarId}",
9411
+ "PATCH /v3/users/me/calendarList/{calendarId}",
9412
+ "DELETE /v3/users/me/calendarList/{calendarId}"
9413
+ ]
9414
+ },
9415
+ {
9416
+ name: "calendar.calendarlist.readonly",
9417
+ description: "See the list of Google calendars you\u2019re subscribed to",
9418
+ rules: [
9419
+ "POST /v3/channels/stop",
9420
+ "GET /v3/colors",
9421
+ "GET /v3/users/me/calendarList",
9422
+ "POST /v3/users/me/calendarList/watch",
9423
+ "GET /v3/users/me/calendarList/{calendarId}"
9424
+ ]
9425
+ },
9426
+ {
9427
+ name: "calendar.calendars",
9428
+ description: "See and change the properties of Google calendars you have access to, and create secondary calendars",
9429
+ rules: [
9430
+ "POST /v3/calendars",
9431
+ "GET /v3/calendars/{calendarId}",
9432
+ "PUT /v3/calendars/{calendarId}",
9433
+ "PATCH /v3/calendars/{calendarId}",
9434
+ "DELETE /v3/calendars/{calendarId}",
9435
+ "POST /v3/calendars/{calendarId}/clear"
9436
+ ]
9437
+ },
9438
+ {
9439
+ name: "calendar.calendars.readonly",
9440
+ description: "See the title, description, default time zone, and other properties of Google calendars you have access to",
9441
+ rules: ["GET /v3/calendars/{calendarId}"]
9442
+ },
9443
+ {
9444
+ name: "calendar.events",
9445
+ description: "View and edit events on all your calendars",
9446
+ rules: [
9447
+ "GET /v3/calendars/{calendarId}/events",
9448
+ "POST /v3/calendars/{calendarId}/events",
9449
+ "POST /v3/calendars/{calendarId}/events/import",
9450
+ "POST /v3/calendars/{calendarId}/events/quickAdd",
9451
+ "POST /v3/calendars/{calendarId}/events/watch",
9452
+ "GET /v3/calendars/{calendarId}/events/{eventId}",
9453
+ "PUT /v3/calendars/{calendarId}/events/{eventId}",
9454
+ "PATCH /v3/calendars/{calendarId}/events/{eventId}",
9455
+ "DELETE /v3/calendars/{calendarId}/events/{eventId}",
9456
+ "GET /v3/calendars/{calendarId}/events/{eventId}/instances",
9457
+ "POST /v3/calendars/{calendarId}/events/{eventId}/move",
9458
+ "POST /v3/channels/stop"
9459
+ ]
9460
+ },
9461
+ {
9462
+ name: "calendar.events.freebusy",
9463
+ description: "See the availability on Google calendars you have access to",
9464
+ rules: [
9465
+ "GET /v3/calendars/{calendarId}/events",
9466
+ "POST /v3/calendars/{calendarId}/events/watch",
9467
+ "GET /v3/calendars/{calendarId}/events/{eventId}",
9468
+ "GET /v3/calendars/{calendarId}/events/{eventId}/instances",
9469
+ "POST /v3/channels/stop",
9470
+ "GET /v3/colors",
9471
+ "POST /v3/freeBusy"
9472
+ ]
9473
+ },
9474
+ {
9475
+ name: "calendar.events.owned",
9476
+ description: "See, create, change, and delete events on Google calendars you own",
9477
+ rules: [
9478
+ "GET /v3/calendars/{calendarId}/events",
9479
+ "POST /v3/calendars/{calendarId}/events",
9480
+ "POST /v3/calendars/{calendarId}/events/import",
9481
+ "POST /v3/calendars/{calendarId}/events/quickAdd",
9482
+ "POST /v3/calendars/{calendarId}/events/watch",
9483
+ "GET /v3/calendars/{calendarId}/events/{eventId}",
9484
+ "PUT /v3/calendars/{calendarId}/events/{eventId}",
9485
+ "PATCH /v3/calendars/{calendarId}/events/{eventId}",
9486
+ "DELETE /v3/calendars/{calendarId}/events/{eventId}",
9487
+ "GET /v3/calendars/{calendarId}/events/{eventId}/instances",
9488
+ "POST /v3/calendars/{calendarId}/events/{eventId}/move",
9489
+ "POST /v3/channels/stop",
9490
+ "GET /v3/colors"
9491
+ ]
9492
+ },
9493
+ {
9494
+ name: "calendar.events.owned.readonly",
9495
+ description: "See the events on Google calendars you own",
9496
+ rules: [
9497
+ "GET /v3/calendars/{calendarId}/events",
9498
+ "POST /v3/calendars/{calendarId}/events/watch",
9499
+ "GET /v3/calendars/{calendarId}/events/{eventId}",
9500
+ "GET /v3/calendars/{calendarId}/events/{eventId}/instances",
9501
+ "POST /v3/channels/stop",
9502
+ "GET /v3/colors"
9503
+ ]
9504
+ },
9505
+ {
9506
+ name: "calendar.events.public.readonly",
9507
+ description: "See the events on public calendars",
9508
+ rules: [
9509
+ "GET /v3/calendars/{calendarId}/events",
9510
+ "POST /v3/calendars/{calendarId}/events/watch",
9511
+ "GET /v3/calendars/{calendarId}/events/{eventId}",
9512
+ "GET /v3/calendars/{calendarId}/events/{eventId}/instances",
9513
+ "POST /v3/channels/stop",
9514
+ "GET /v3/colors"
9515
+ ]
9516
+ },
9517
+ {
9518
+ name: "calendar.events.readonly",
9519
+ description: "View events on all your calendars",
9520
+ rules: [
9521
+ "GET /v3/calendars/{calendarId}/events",
9522
+ "POST /v3/calendars/{calendarId}/events/watch",
9523
+ "GET /v3/calendars/{calendarId}/events/{eventId}",
9524
+ "GET /v3/calendars/{calendarId}/events/{eventId}/instances",
9525
+ "POST /v3/channels/stop"
9526
+ ]
9527
+ },
9528
+ {
9529
+ name: "calendar.freebusy",
9530
+ description: "View your availability in your calendars",
9531
+ rules: ["POST /v3/freeBusy"]
9532
+ },
9533
+ {
9534
+ name: "calendar.readonly",
9535
+ description: "See and download any calendar you can access using your Google Calendar",
9536
+ rules: [
9537
+ "GET /v3/calendars/{calendarId}",
9538
+ "GET /v3/calendars/{calendarId}/acl/{ruleId}",
9539
+ "GET /v3/calendars/{calendarId}/events",
9540
+ "POST /v3/calendars/{calendarId}/events/watch",
9541
+ "GET /v3/calendars/{calendarId}/events/{eventId}",
9542
+ "GET /v3/calendars/{calendarId}/events/{eventId}/instances",
9543
+ "POST /v3/channels/stop",
9544
+ "GET /v3/colors",
9545
+ "POST /v3/freeBusy",
9546
+ "GET /v3/users/me/calendarList",
9547
+ "POST /v3/users/me/calendarList/watch",
9548
+ "GET /v3/users/me/calendarList/{calendarId}",
9549
+ "GET /v3/users/me/settings",
9550
+ "POST /v3/users/me/settings/watch",
9551
+ "GET /v3/users/me/settings/{setting}"
9552
+ ]
9553
+ },
9554
+ {
9555
+ name: "calendar.settings.readonly",
9556
+ description: "View your Calendar settings",
9557
+ rules: [
9558
+ "POST /v3/channels/stop",
9559
+ "GET /v3/users/me/settings",
9560
+ "POST /v3/users/me/settings/watch",
9561
+ "GET /v3/users/me/settings/{setting}"
9562
+ ]
9563
+ }
9564
+ ]
9565
+ }
9566
+ ]
9567
+ };
9568
+
9569
+ // ../../packages/core/src/firewalls/google-docs.generated.ts
9570
+ var googleDocsFirewall = {
9571
+ name: "google-docs",
9572
+ description: "Google Docs API",
9573
+ placeholders: {
9574
+ GOOGLE_DOCS_TOKEN: "ya29.A0Vm0PlaceHolder-Vm0_PlaceHolder00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
9575
+ },
9576
+ apis: [
9577
+ {
9578
+ base: "https://docs.googleapis.com",
9579
+ auth: {
9580
+ headers: {
9581
+ Authorization: "Bearer ${{ secrets.GOOGLE_DOCS_TOKEN }}"
9582
+ }
9583
+ },
9584
+ permissions: [
9585
+ {
9586
+ name: "unrestricted",
9587
+ description: "Allow all endpoints",
9588
+ rules: ["ANY /{path*}"]
9589
+ },
9590
+ {
9591
+ name: "documents",
9592
+ description: "See, edit, create, and delete all your Google Docs documents",
9593
+ rules: [
9594
+ "POST /v1/documents",
9595
+ "GET /v1/documents/{documentId}",
9596
+ "POST /v1/documents/{documentId}:batchUpdate"
9597
+ ]
9598
+ },
9599
+ {
9600
+ name: "documents.readonly",
9601
+ description: "See all your Google Docs documents",
9602
+ rules: ["GET /v1/documents/{documentId}"]
9603
+ },
9604
+ {
9605
+ name: "drive",
9606
+ description: "See, edit, create, and delete all of your Google Drive files",
9607
+ rules: [
9608
+ "POST /v1/documents",
9609
+ "GET /v1/documents/{documentId}",
9610
+ "POST /v1/documents/{documentId}:batchUpdate"
9611
+ ]
9612
+ },
9613
+ {
9614
+ name: "drive.file",
9615
+ description: "See, edit, create, and delete only the specific Google Drive files you use with this app",
9616
+ rules: [
9617
+ "POST /v1/documents",
9618
+ "GET /v1/documents/{documentId}",
9619
+ "POST /v1/documents/{documentId}:batchUpdate"
9620
+ ]
9621
+ },
9622
+ {
9623
+ name: "drive.readonly",
9624
+ description: "See and download all your Google Drive files",
9625
+ rules: ["GET /v1/documents/{documentId}"]
9626
+ }
9627
+ ]
9628
+ }
9629
+ ]
9630
+ };
9631
+
9632
+ // ../../packages/core/src/firewalls/google-drive.generated.ts
9633
+ var googleDriveFirewall = {
9634
+ name: "google-drive",
9635
+ description: "Google Drive API",
9636
+ placeholders: {
9637
+ GOOGLE_DRIVE_TOKEN: "ya29.A0Vm0PlaceHolder-Vm0_PlaceHolder00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
9638
+ },
9639
+ apis: [
9640
+ {
9641
+ base: "https://www.googleapis.com/drive",
9642
+ auth: {
9643
+ headers: {
9644
+ Authorization: "Bearer ${{ secrets.GOOGLE_DRIVE_TOKEN }}"
9645
+ }
9646
+ },
9647
+ permissions: [
9648
+ {
9649
+ name: "unrestricted",
9650
+ description: "Allow all endpoints",
9651
+ rules: ["ANY /{path*}"]
9652
+ },
9653
+ {
9654
+ name: "drive",
9655
+ description: "See, edit, create, and delete all of your Google Drive files",
9656
+ rules: [
9657
+ "GET /v2/about",
9658
+ "GET /v2/apps/{appId}",
9659
+ "GET /v2/changes",
9660
+ "GET /v2/changes/startPageToken",
9661
+ "POST /v2/changes/watch",
9662
+ "GET /v2/changes/{changeId}",
9663
+ "POST /v2/channels/stop",
9664
+ "GET /v2/drives",
9665
+ "POST /v2/drives",
9666
+ "GET /v2/drives/{driveId}",
9667
+ "PUT /v2/drives/{driveId}",
9668
+ "DELETE /v2/drives/{driveId}",
9669
+ "POST /v2/drives/{driveId}/hide",
9670
+ "POST /v2/drives/{driveId}/unhide",
9671
+ "GET /v2/files",
9672
+ "POST /v2/files",
9673
+ "GET /v2/files/generateIds",
9674
+ "DELETE /v2/files/trash",
9675
+ "GET /v2/files/{fileId}",
9676
+ "PUT /v2/files/{fileId}",
9677
+ "PATCH /v2/files/{fileId}",
9678
+ "DELETE /v2/files/{fileId}",
9679
+ "GET /v2/files/{fileId}/comments",
9680
+ "POST /v2/files/{fileId}/comments",
9681
+ "GET /v2/files/{fileId}/comments/{commentId}",
9682
+ "PUT /v2/files/{fileId}/comments/{commentId}",
9683
+ "PATCH /v2/files/{fileId}/comments/{commentId}",
9684
+ "DELETE /v2/files/{fileId}/comments/{commentId}",
9685
+ "GET /v2/files/{fileId}/comments/{commentId}/replies",
9686
+ "POST /v2/files/{fileId}/comments/{commentId}/replies",
9687
+ "GET /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
9688
+ "PUT /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
9689
+ "PATCH /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
9690
+ "DELETE /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
9691
+ "POST /v2/files/{fileId}/copy",
9692
+ "GET /v2/files/{fileId}/export",
9693
+ "GET /v2/files/{fileId}/listLabels",
9694
+ "POST /v2/files/{fileId}/modifyLabels",
9695
+ "GET /v2/files/{fileId}/parents",
9696
+ "POST /v2/files/{fileId}/parents",
9697
+ "GET /v2/files/{fileId}/parents/{parentId}",
9698
+ "DELETE /v2/files/{fileId}/parents/{parentId}",
9699
+ "GET /v2/files/{fileId}/permissions",
9700
+ "POST /v2/files/{fileId}/permissions",
9701
+ "GET /v2/files/{fileId}/permissions/{permissionId}",
9702
+ "PUT /v2/files/{fileId}/permissions/{permissionId}",
9703
+ "PATCH /v2/files/{fileId}/permissions/{permissionId}",
9704
+ "DELETE /v2/files/{fileId}/permissions/{permissionId}",
9705
+ "GET /v2/files/{fileId}/properties",
9706
+ "POST /v2/files/{fileId}/properties",
9707
+ "GET /v2/files/{fileId}/properties/{propertyKey}",
9708
+ "PUT /v2/files/{fileId}/properties/{propertyKey}",
9709
+ "PATCH /v2/files/{fileId}/properties/{propertyKey}",
9710
+ "DELETE /v2/files/{fileId}/properties/{propertyKey}",
9711
+ "GET /v2/files/{fileId}/revisions",
9712
+ "GET /v2/files/{fileId}/revisions/{revisionId}",
9713
+ "PUT /v2/files/{fileId}/revisions/{revisionId}",
9714
+ "PATCH /v2/files/{fileId}/revisions/{revisionId}",
9715
+ "DELETE /v2/files/{fileId}/revisions/{revisionId}",
9716
+ "POST /v2/files/{fileId}/touch",
9717
+ "POST /v2/files/{fileId}/trash",
9718
+ "POST /v2/files/{fileId}/untrash",
9719
+ "POST /v2/files/{fileId}/watch",
9720
+ "GET /v2/files/{folderId}/children",
9721
+ "POST /v2/files/{folderId}/children",
9722
+ "GET /v2/files/{folderId}/children/{childId}",
9723
+ "DELETE /v2/files/{folderId}/children/{childId}",
9724
+ "GET /v2/permissionIds/{email}",
9725
+ "GET /v2/teamdrives",
9726
+ "POST /v2/teamdrives",
9727
+ "GET /v2/teamdrives/{teamDriveId}",
9728
+ "PUT /v2/teamdrives/{teamDriveId}",
9729
+ "DELETE /v2/teamdrives/{teamDriveId}",
9730
+ "GET /v3/about",
9731
+ "GET /v3/apps/{appId}",
9732
+ "GET /v3/changes",
9733
+ "GET /v3/changes/startPageToken",
9734
+ "POST /v3/changes/watch",
9735
+ "POST /v3/channels/stop",
9736
+ "GET /v3/drives",
9737
+ "POST /v3/drives",
9738
+ "GET /v3/drives/{driveId}",
9739
+ "PATCH /v3/drives/{driveId}",
9740
+ "DELETE /v3/drives/{driveId}",
9741
+ "POST /v3/drives/{driveId}/hide",
9742
+ "POST /v3/drives/{driveId}/unhide",
9743
+ "GET /v3/files",
9744
+ "POST /v3/files",
9745
+ "GET /v3/files/generateIds",
9746
+ "DELETE /v3/files/trash",
9747
+ "GET /v3/files/{fileId}",
9748
+ "PATCH /v3/files/{fileId}",
9749
+ "DELETE /v3/files/{fileId}",
9750
+ "GET /v3/files/{fileId}/accessproposals",
9751
+ "GET /v3/files/{fileId}/accessproposals/{proposalId}",
9752
+ "POST /v3/files/{fileId}/accessproposals/{proposalId}:resolve",
9753
+ "GET /v3/files/{fileId}/approvals",
9754
+ "GET /v3/files/{fileId}/approvals/{approvalId}",
9755
+ "GET /v3/files/{fileId}/comments",
9756
+ "POST /v3/files/{fileId}/comments",
9757
+ "GET /v3/files/{fileId}/comments/{commentId}",
9758
+ "PATCH /v3/files/{fileId}/comments/{commentId}",
9759
+ "DELETE /v3/files/{fileId}/comments/{commentId}",
9760
+ "GET /v3/files/{fileId}/comments/{commentId}/replies",
9761
+ "POST /v3/files/{fileId}/comments/{commentId}/replies",
9762
+ "GET /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
9763
+ "PATCH /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
9764
+ "DELETE /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
9765
+ "POST /v3/files/{fileId}/copy",
9766
+ "POST /v3/files/{fileId}/download",
9767
+ "GET /v3/files/{fileId}/export",
9768
+ "GET /v3/files/{fileId}/listLabels",
9769
+ "POST /v3/files/{fileId}/modifyLabels",
9770
+ "GET /v3/files/{fileId}/permissions",
9771
+ "POST /v3/files/{fileId}/permissions",
9772
+ "GET /v3/files/{fileId}/permissions/{permissionId}",
9773
+ "PATCH /v3/files/{fileId}/permissions/{permissionId}",
9774
+ "DELETE /v3/files/{fileId}/permissions/{permissionId}",
9775
+ "GET /v3/files/{fileId}/revisions",
9776
+ "GET /v3/files/{fileId}/revisions/{revisionId}",
9777
+ "PATCH /v3/files/{fileId}/revisions/{revisionId}",
9778
+ "DELETE /v3/files/{fileId}/revisions/{revisionId}",
9779
+ "POST /v3/files/{fileId}/watch",
9780
+ "GET /v3/operations/{name}",
9781
+ "GET /v3/teamdrives",
9782
+ "POST /v3/teamdrives",
9783
+ "GET /v3/teamdrives/{teamDriveId}",
9784
+ "PATCH /v3/teamdrives/{teamDriveId}",
9785
+ "DELETE /v3/teamdrives/{teamDriveId}"
9786
+ ]
9787
+ },
9788
+ {
9789
+ name: "drive.appdata",
9790
+ description: "See, create, and delete its own configuration data in your Google Drive",
9791
+ rules: [
9792
+ "GET /v2/about",
9793
+ "GET /v2/apps/{appId}",
9794
+ "GET /v2/changes",
9795
+ "GET /v2/changes/startPageToken",
9796
+ "POST /v2/changes/watch",
9797
+ "GET /v2/changes/{changeId}",
9798
+ "POST /v2/channels/stop",
9799
+ "GET /v2/files",
9800
+ "POST /v2/files",
9801
+ "GET /v2/files/generateIds",
9802
+ "GET /v2/files/{fileId}",
9803
+ "PUT /v2/files/{fileId}",
9804
+ "PATCH /v2/files/{fileId}",
9805
+ "DELETE /v2/files/{fileId}",
9806
+ "POST /v2/files/{fileId}/copy",
9807
+ "GET /v2/files/{fileId}/parents",
9808
+ "POST /v2/files/{fileId}/parents",
9809
+ "GET /v2/files/{fileId}/parents/{parentId}",
9810
+ "GET /v2/files/{fileId}/properties",
9811
+ "POST /v2/files/{fileId}/properties",
9812
+ "GET /v2/files/{fileId}/properties/{propertyKey}",
9813
+ "PUT /v2/files/{fileId}/properties/{propertyKey}",
9814
+ "PATCH /v2/files/{fileId}/properties/{propertyKey}",
9815
+ "DELETE /v2/files/{fileId}/properties/{propertyKey}",
9816
+ "GET /v2/files/{fileId}/revisions",
9817
+ "GET /v2/files/{fileId}/revisions/{revisionId}",
9818
+ "PUT /v2/files/{fileId}/revisions/{revisionId}",
9819
+ "PATCH /v2/files/{fileId}/revisions/{revisionId}",
9820
+ "DELETE /v2/files/{fileId}/revisions/{revisionId}",
9821
+ "POST /v2/files/{fileId}/touch",
9822
+ "POST /v2/files/{fileId}/trash",
9823
+ "POST /v2/files/{fileId}/untrash",
9824
+ "POST /v2/files/{fileId}/watch",
9825
+ "GET /v2/files/{folderId}/children",
9826
+ "POST /v2/files/{folderId}/children",
9827
+ "GET /v2/files/{folderId}/children/{childId}",
9828
+ "GET /v2/permissionIds/{email}",
9829
+ "GET /v3/about",
9830
+ "GET /v3/apps/{appId}",
9831
+ "GET /v3/changes",
9832
+ "GET /v3/changes/startPageToken",
9833
+ "POST /v3/changes/watch",
9834
+ "POST /v3/channels/stop",
9835
+ "GET /v3/files",
9836
+ "POST /v3/files",
9837
+ "GET /v3/files/generateIds",
9838
+ "GET /v3/files/{fileId}",
9839
+ "PATCH /v3/files/{fileId}",
9840
+ "DELETE /v3/files/{fileId}",
9841
+ "GET /v3/files/{fileId}/approvals",
9842
+ "GET /v3/files/{fileId}/approvals/{approvalId}",
9843
+ "POST /v3/files/{fileId}/copy",
9844
+ "GET /v3/files/{fileId}/revisions",
9845
+ "GET /v3/files/{fileId}/revisions/{revisionId}",
9846
+ "PATCH /v3/files/{fileId}/revisions/{revisionId}",
9847
+ "DELETE /v3/files/{fileId}/revisions/{revisionId}",
9848
+ "POST /v3/files/{fileId}/watch"
9849
+ ]
9850
+ },
9851
+ {
9852
+ name: "drive.apps.readonly",
9853
+ description: "View your Google Drive apps",
9854
+ rules: [
9855
+ "GET /v2/apps",
9856
+ "GET /v2/apps/{appId}",
9857
+ "GET /v2/changes",
9858
+ "GET /v2/changes/startPageToken",
9859
+ "POST /v2/changes/watch",
9860
+ "GET /v2/changes/{changeId}",
9861
+ "POST /v2/channels/stop",
9862
+ "GET /v2/files",
9863
+ "POST /v2/files",
9864
+ "PUT /v2/files/{fileId}",
9865
+ "PATCH /v2/files/{fileId}",
9866
+ "POST /v2/files/{fileId}/copy",
9867
+ "POST /v2/files/{fileId}/touch",
9868
+ "POST /v2/files/{fileId}/trash",
9869
+ "POST /v2/files/{fileId}/untrash",
9870
+ "GET /v2/permissionIds/{email}",
9871
+ "GET /v3/apps",
9872
+ "GET /v3/apps/{appId}"
9873
+ ]
9874
+ },
9875
+ {
9876
+ name: "drive.file",
9877
+ description: "See, edit, create, and delete only the specific Google Drive files you use with this app",
9878
+ rules: [
9879
+ "GET /v2/about",
9880
+ "GET /v2/apps/{appId}",
9881
+ "GET /v2/changes",
9882
+ "GET /v2/changes/startPageToken",
9883
+ "POST /v2/changes/watch",
9884
+ "GET /v2/changes/{changeId}",
9885
+ "POST /v2/channels/stop",
9886
+ "GET /v2/files",
9887
+ "POST /v2/files",
9888
+ "GET /v2/files/generateIds",
9889
+ "GET /v2/files/{fileId}",
9890
+ "PUT /v2/files/{fileId}",
9891
+ "PATCH /v2/files/{fileId}",
9892
+ "DELETE /v2/files/{fileId}",
9893
+ "GET /v2/files/{fileId}/comments",
9894
+ "POST /v2/files/{fileId}/comments",
9895
+ "GET /v2/files/{fileId}/comments/{commentId}",
9896
+ "PUT /v2/files/{fileId}/comments/{commentId}",
9897
+ "PATCH /v2/files/{fileId}/comments/{commentId}",
9898
+ "DELETE /v2/files/{fileId}/comments/{commentId}",
9899
+ "GET /v2/files/{fileId}/comments/{commentId}/replies",
9900
+ "POST /v2/files/{fileId}/comments/{commentId}/replies",
9901
+ "GET /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
9902
+ "PUT /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
9903
+ "PATCH /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
9904
+ "DELETE /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
9905
+ "POST /v2/files/{fileId}/copy",
9906
+ "GET /v2/files/{fileId}/export",
9907
+ "GET /v2/files/{fileId}/listLabels",
9908
+ "POST /v2/files/{fileId}/modifyLabels",
9909
+ "GET /v2/files/{fileId}/parents",
9910
+ "POST /v2/files/{fileId}/parents",
9911
+ "GET /v2/files/{fileId}/parents/{parentId}",
9912
+ "DELETE /v2/files/{fileId}/parents/{parentId}",
9913
+ "GET /v2/files/{fileId}/permissions",
9914
+ "POST /v2/files/{fileId}/permissions",
9915
+ "GET /v2/files/{fileId}/permissions/{permissionId}",
9916
+ "PUT /v2/files/{fileId}/permissions/{permissionId}",
9917
+ "PATCH /v2/files/{fileId}/permissions/{permissionId}",
9918
+ "DELETE /v2/files/{fileId}/permissions/{permissionId}",
9919
+ "GET /v2/files/{fileId}/properties",
9920
+ "POST /v2/files/{fileId}/properties",
9921
+ "GET /v2/files/{fileId}/properties/{propertyKey}",
9922
+ "PUT /v2/files/{fileId}/properties/{propertyKey}",
9923
+ "PATCH /v2/files/{fileId}/properties/{propertyKey}",
9924
+ "DELETE /v2/files/{fileId}/properties/{propertyKey}",
9925
+ "GET /v2/files/{fileId}/revisions",
9926
+ "GET /v2/files/{fileId}/revisions/{revisionId}",
9927
+ "PUT /v2/files/{fileId}/revisions/{revisionId}",
9928
+ "PATCH /v2/files/{fileId}/revisions/{revisionId}",
9929
+ "DELETE /v2/files/{fileId}/revisions/{revisionId}",
9930
+ "POST /v2/files/{fileId}/touch",
9931
+ "POST /v2/files/{fileId}/trash",
9932
+ "POST /v2/files/{fileId}/untrash",
9933
+ "POST /v2/files/{fileId}/watch",
9934
+ "GET /v2/files/{folderId}/children",
9935
+ "POST /v2/files/{folderId}/children",
9936
+ "GET /v2/files/{folderId}/children/{childId}",
9937
+ "DELETE /v2/files/{folderId}/children/{childId}",
9938
+ "GET /v2/permissionIds/{email}",
9939
+ "GET /v3/about",
9940
+ "GET /v3/apps/{appId}",
9941
+ "GET /v3/changes",
9942
+ "GET /v3/changes/startPageToken",
9943
+ "POST /v3/changes/watch",
9944
+ "POST /v3/channels/stop",
9945
+ "GET /v3/files",
9946
+ "POST /v3/files",
9947
+ "GET /v3/files/generateIds",
9948
+ "GET /v3/files/{fileId}",
9949
+ "PATCH /v3/files/{fileId}",
9950
+ "DELETE /v3/files/{fileId}",
9951
+ "GET /v3/files/{fileId}/accessproposals",
9952
+ "GET /v3/files/{fileId}/accessproposals/{proposalId}",
9953
+ "POST /v3/files/{fileId}/accessproposals/{proposalId}:resolve",
9954
+ "GET /v3/files/{fileId}/approvals",
9955
+ "GET /v3/files/{fileId}/approvals/{approvalId}",
9956
+ "GET /v3/files/{fileId}/comments",
9957
+ "POST /v3/files/{fileId}/comments",
9958
+ "GET /v3/files/{fileId}/comments/{commentId}",
9959
+ "PATCH /v3/files/{fileId}/comments/{commentId}",
9960
+ "DELETE /v3/files/{fileId}/comments/{commentId}",
9961
+ "GET /v3/files/{fileId}/comments/{commentId}/replies",
9962
+ "POST /v3/files/{fileId}/comments/{commentId}/replies",
9963
+ "GET /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
9964
+ "PATCH /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
9965
+ "DELETE /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
9966
+ "POST /v3/files/{fileId}/copy",
9967
+ "POST /v3/files/{fileId}/download",
9968
+ "GET /v3/files/{fileId}/export",
9969
+ "GET /v3/files/{fileId}/listLabels",
9970
+ "POST /v3/files/{fileId}/modifyLabels",
9971
+ "GET /v3/files/{fileId}/permissions",
9972
+ "POST /v3/files/{fileId}/permissions",
9973
+ "GET /v3/files/{fileId}/permissions/{permissionId}",
9974
+ "PATCH /v3/files/{fileId}/permissions/{permissionId}",
9975
+ "DELETE /v3/files/{fileId}/permissions/{permissionId}",
9976
+ "GET /v3/files/{fileId}/revisions",
9977
+ "GET /v3/files/{fileId}/revisions/{revisionId}",
9978
+ "PATCH /v3/files/{fileId}/revisions/{revisionId}",
9979
+ "DELETE /v3/files/{fileId}/revisions/{revisionId}",
9980
+ "POST /v3/files/{fileId}/watch",
9981
+ "GET /v3/operations/{name}"
9982
+ ]
9983
+ },
9984
+ {
9985
+ name: "drive.meet.readonly",
9986
+ description: "See and download your Google Drive files that were created or edited by Google Meet.",
9987
+ rules: [
9988
+ "GET /v2/changes",
9989
+ "GET /v2/changes/startPageToken",
9990
+ "POST /v2/changes/watch",
9991
+ "GET /v2/changes/{changeId}",
9992
+ "POST /v2/channels/stop",
9993
+ "GET /v2/files",
9994
+ "GET /v2/files/{fileId}",
9995
+ "GET /v2/files/{fileId}/comments",
9996
+ "GET /v2/files/{fileId}/comments/{commentId}",
9997
+ "GET /v2/files/{fileId}/comments/{commentId}/replies",
9998
+ "GET /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
9999
+ "GET /v2/files/{fileId}/export",
10000
+ "GET /v2/files/{fileId}/listLabels",
10001
+ "GET /v2/files/{fileId}/parents",
10002
+ "GET /v2/files/{fileId}/parents/{parentId}",
10003
+ "GET /v2/files/{fileId}/permissions",
10004
+ "GET /v2/files/{fileId}/permissions/{permissionId}",
10005
+ "GET /v2/files/{fileId}/properties",
10006
+ "GET /v2/files/{fileId}/properties/{propertyKey}",
10007
+ "GET /v2/files/{fileId}/revisions",
10008
+ "GET /v2/files/{fileId}/revisions/{revisionId}",
10009
+ "POST /v2/files/{fileId}/watch",
10010
+ "GET /v2/files/{folderId}/children",
10011
+ "GET /v2/files/{folderId}/children/{childId}",
10012
+ "GET /v3/changes",
10013
+ "GET /v3/changes/startPageToken",
10014
+ "POST /v3/changes/watch",
10015
+ "POST /v3/channels/stop",
10016
+ "GET /v3/files",
10017
+ "GET /v3/files/{fileId}",
10018
+ "GET /v3/files/{fileId}/comments",
10019
+ "GET /v3/files/{fileId}/comments/{commentId}",
10020
+ "GET /v3/files/{fileId}/comments/{commentId}/replies",
10021
+ "GET /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
10022
+ "GET /v3/files/{fileId}/export",
10023
+ "GET /v3/files/{fileId}/listLabels",
10024
+ "GET /v3/files/{fileId}/permissions",
10025
+ "GET /v3/files/{fileId}/permissions/{permissionId}",
10026
+ "GET /v3/files/{fileId}/revisions",
10027
+ "GET /v3/files/{fileId}/revisions/{revisionId}",
10028
+ "POST /v3/files/{fileId}/watch",
10029
+ "GET /v3/operations/{name}"
10030
+ ]
10031
+ },
10032
+ {
10033
+ name: "drive.metadata",
10034
+ description: "View and manage metadata of files in your Google Drive",
10035
+ rules: [
10036
+ "GET /v2/about",
10037
+ "GET /v2/apps/{appId}",
10038
+ "GET /v2/changes",
10039
+ "GET /v2/changes/startPageToken",
10040
+ "POST /v2/changes/watch",
10041
+ "GET /v2/changes/{changeId}",
10042
+ "POST /v2/channels/stop",
10043
+ "GET /v2/files",
10044
+ "GET /v2/files/{fileId}",
10045
+ "PUT /v2/files/{fileId}",
10046
+ "PATCH /v2/files/{fileId}",
10047
+ "GET /v2/files/{fileId}/listLabels",
10048
+ "POST /v2/files/{fileId}/modifyLabels",
10049
+ "GET /v2/files/{fileId}/parents",
10050
+ "GET /v2/files/{fileId}/parents/{parentId}",
10051
+ "GET /v2/files/{fileId}/permissions",
10052
+ "GET /v2/files/{fileId}/permissions/{permissionId}",
10053
+ "GET /v2/files/{fileId}/properties",
10054
+ "POST /v2/files/{fileId}/properties",
10055
+ "GET /v2/files/{fileId}/properties/{propertyKey}",
10056
+ "PUT /v2/files/{fileId}/properties/{propertyKey}",
10057
+ "PATCH /v2/files/{fileId}/properties/{propertyKey}",
10058
+ "DELETE /v2/files/{fileId}/properties/{propertyKey}",
10059
+ "GET /v2/files/{fileId}/revisions",
10060
+ "GET /v2/files/{fileId}/revisions/{revisionId}",
10061
+ "POST /v2/files/{fileId}/touch",
10062
+ "POST /v2/files/{fileId}/watch",
10063
+ "GET /v2/files/{folderId}/children",
10064
+ "GET /v2/files/{folderId}/children/{childId}",
10065
+ "GET /v2/permissionIds/{email}",
10066
+ "GET /v3/about",
10067
+ "GET /v3/apps/{appId}",
10068
+ "GET /v3/changes",
10069
+ "GET /v3/changes/startPageToken",
10070
+ "POST /v3/changes/watch",
10071
+ "POST /v3/channels/stop",
10072
+ "GET /v3/files",
10073
+ "GET /v3/files/{fileId}",
10074
+ "PATCH /v3/files/{fileId}",
10075
+ "GET /v3/files/{fileId}/accessproposals",
10076
+ "GET /v3/files/{fileId}/accessproposals/{proposalId}",
10077
+ "GET /v3/files/{fileId}/approvals",
10078
+ "GET /v3/files/{fileId}/approvals/{approvalId}",
10079
+ "GET /v3/files/{fileId}/listLabels",
10080
+ "POST /v3/files/{fileId}/modifyLabels",
10081
+ "GET /v3/files/{fileId}/permissions",
10082
+ "GET /v3/files/{fileId}/permissions/{permissionId}",
10083
+ "GET /v3/files/{fileId}/revisions",
10084
+ "GET /v3/files/{fileId}/revisions/{revisionId}",
10085
+ "POST /v3/files/{fileId}/watch"
10086
+ ]
10087
+ },
10088
+ {
10089
+ name: "drive.metadata.readonly",
10090
+ description: "See information about your Google Drive files",
10091
+ rules: [
10092
+ "GET /v2/about",
10093
+ "GET /v2/apps/{appId}",
10094
+ "GET /v2/changes",
10095
+ "GET /v2/changes/startPageToken",
10096
+ "POST /v2/changes/watch",
10097
+ "GET /v2/changes/{changeId}",
10098
+ "POST /v2/channels/stop",
10099
+ "GET /v2/files",
10100
+ "GET /v2/files/{fileId}",
10101
+ "GET /v2/files/{fileId}/listLabels",
10102
+ "GET /v2/files/{fileId}/parents",
10103
+ "GET /v2/files/{fileId}/parents/{parentId}",
10104
+ "GET /v2/files/{fileId}/permissions",
10105
+ "GET /v2/files/{fileId}/permissions/{permissionId}",
10106
+ "GET /v2/files/{fileId}/properties",
10107
+ "GET /v2/files/{fileId}/properties/{propertyKey}",
10108
+ "GET /v2/files/{fileId}/revisions",
10109
+ "GET /v2/files/{fileId}/revisions/{revisionId}",
10110
+ "POST /v2/files/{fileId}/watch",
10111
+ "GET /v2/files/{folderId}/children",
10112
+ "GET /v2/files/{folderId}/children/{childId}",
10113
+ "GET /v2/permissionIds/{email}",
10114
+ "GET /v3/about",
10115
+ "GET /v3/apps/{appId}",
10116
+ "GET /v3/changes",
10117
+ "GET /v3/changes/startPageToken",
10118
+ "POST /v3/changes/watch",
10119
+ "POST /v3/channels/stop",
10120
+ "GET /v3/files",
10121
+ "GET /v3/files/{fileId}",
10122
+ "GET /v3/files/{fileId}/accessproposals",
10123
+ "GET /v3/files/{fileId}/accessproposals/{proposalId}",
10124
+ "GET /v3/files/{fileId}/approvals",
10125
+ "GET /v3/files/{fileId}/approvals/{approvalId}",
10126
+ "GET /v3/files/{fileId}/listLabels",
10127
+ "GET /v3/files/{fileId}/permissions",
10128
+ "GET /v3/files/{fileId}/permissions/{permissionId}",
10129
+ "GET /v3/files/{fileId}/revisions",
10130
+ "GET /v3/files/{fileId}/revisions/{revisionId}",
10131
+ "POST /v3/files/{fileId}/watch"
10132
+ ]
10133
+ },
10134
+ {
10135
+ name: "drive.photos.readonly",
10136
+ description: "View the photos, videos and albums in your Google Photos",
10137
+ rules: [
10138
+ "GET /v2/about",
10139
+ "GET /v2/changes",
10140
+ "GET /v2/changes/startPageToken",
10141
+ "POST /v2/changes/watch",
10142
+ "GET /v2/changes/{changeId}",
10143
+ "POST /v2/channels/stop",
10144
+ "GET /v2/files",
10145
+ "GET /v2/files/{fileId}",
10146
+ "POST /v2/files/{fileId}/copy",
10147
+ "GET /v2/files/{fileId}/parents",
10148
+ "GET /v2/files/{fileId}/parents/{parentId}",
10149
+ "GET /v2/files/{fileId}/permissions",
10150
+ "GET /v2/files/{fileId}/permissions/{permissionId}",
10151
+ "GET /v2/files/{fileId}/properties",
10152
+ "GET /v2/files/{fileId}/properties/{propertyKey}",
10153
+ "GET /v2/files/{fileId}/revisions",
10154
+ "GET /v2/files/{fileId}/revisions/{revisionId}",
10155
+ "POST /v2/files/{fileId}/watch",
10156
+ "GET /v2/files/{folderId}/children",
10157
+ "GET /v2/files/{folderId}/children/{childId}",
10158
+ "GET /v2/permissionIds/{email}",
10159
+ "GET /v3/about",
10160
+ "GET /v3/changes",
10161
+ "GET /v3/changes/startPageToken",
10162
+ "POST /v3/changes/watch",
10163
+ "POST /v3/channels/stop",
10164
+ "GET /v3/files",
10165
+ "GET /v3/files/{fileId}",
10166
+ "POST /v3/files/{fileId}/copy",
10167
+ "GET /v3/files/{fileId}/permissions",
10168
+ "GET /v3/files/{fileId}/permissions/{permissionId}",
10169
+ "GET /v3/files/{fileId}/revisions",
10170
+ "GET /v3/files/{fileId}/revisions/{revisionId}",
10171
+ "POST /v3/files/{fileId}/watch"
10172
+ ]
10173
+ },
10174
+ {
10175
+ name: "drive.readonly",
10176
+ description: "See and download all your Google Drive files",
10177
+ rules: [
10178
+ "GET /v2/about",
10179
+ "GET /v2/apps/{appId}",
10180
+ "GET /v2/changes",
10181
+ "GET /v2/changes/startPageToken",
10182
+ "POST /v2/changes/watch",
10183
+ "GET /v2/changes/{changeId}",
10184
+ "POST /v2/channels/stop",
10185
+ "GET /v2/drives",
10186
+ "GET /v2/drives/{driveId}",
10187
+ "GET /v2/files",
10188
+ "GET /v2/files/{fileId}",
10189
+ "GET /v2/files/{fileId}/comments",
10190
+ "GET /v2/files/{fileId}/comments/{commentId}",
10191
+ "GET /v2/files/{fileId}/comments/{commentId}/replies",
10192
+ "GET /v2/files/{fileId}/comments/{commentId}/replies/{replyId}",
10193
+ "GET /v2/files/{fileId}/export",
10194
+ "GET /v2/files/{fileId}/listLabels",
10195
+ "GET /v2/files/{fileId}/parents",
10196
+ "GET /v2/files/{fileId}/parents/{parentId}",
10197
+ "GET /v2/files/{fileId}/permissions",
10198
+ "GET /v2/files/{fileId}/permissions/{permissionId}",
10199
+ "GET /v2/files/{fileId}/properties",
10200
+ "GET /v2/files/{fileId}/properties/{propertyKey}",
10201
+ "GET /v2/files/{fileId}/revisions",
10202
+ "GET /v2/files/{fileId}/revisions/{revisionId}",
10203
+ "POST /v2/files/{fileId}/watch",
10204
+ "GET /v2/files/{folderId}/children",
10205
+ "GET /v2/files/{folderId}/children/{childId}",
10206
+ "GET /v2/permissionIds/{email}",
10207
+ "GET /v2/teamdrives",
10208
+ "GET /v2/teamdrives/{teamDriveId}",
10209
+ "GET /v3/about",
10210
+ "GET /v3/apps/{appId}",
10211
+ "GET /v3/changes",
10212
+ "GET /v3/changes/startPageToken",
10213
+ "POST /v3/changes/watch",
10214
+ "POST /v3/channels/stop",
10215
+ "GET /v3/drives",
10216
+ "GET /v3/drives/{driveId}",
10217
+ "GET /v3/files",
10218
+ "GET /v3/files/{fileId}",
10219
+ "GET /v3/files/{fileId}/accessproposals",
10220
+ "GET /v3/files/{fileId}/accessproposals/{proposalId}",
10221
+ "GET /v3/files/{fileId}/approvals",
10222
+ "GET /v3/files/{fileId}/approvals/{approvalId}",
10223
+ "GET /v3/files/{fileId}/comments",
10224
+ "GET /v3/files/{fileId}/comments/{commentId}",
10225
+ "GET /v3/files/{fileId}/comments/{commentId}/replies",
10226
+ "GET /v3/files/{fileId}/comments/{commentId}/replies/{replyId}",
10227
+ "POST /v3/files/{fileId}/download",
10228
+ "GET /v3/files/{fileId}/export",
10229
+ "GET /v3/files/{fileId}/listLabels",
10230
+ "GET /v3/files/{fileId}/permissions",
10231
+ "GET /v3/files/{fileId}/permissions/{permissionId}",
10232
+ "GET /v3/files/{fileId}/revisions",
10233
+ "GET /v3/files/{fileId}/revisions/{revisionId}",
10234
+ "POST /v3/files/{fileId}/watch",
10235
+ "GET /v3/operations/{name}",
10236
+ "GET /v3/teamdrives",
10237
+ "GET /v3/teamdrives/{teamDriveId}"
10238
+ ]
10239
+ },
10240
+ {
10241
+ name: "drive.scripts",
10242
+ description: "Modify your Google Apps Script scripts' behavior",
10243
+ rules: [
10244
+ "PUT /v2/files/{fileId}",
10245
+ "PATCH /v2/files/{fileId}",
10246
+ "PATCH /v3/files/{fileId}"
10247
+ ]
10248
+ }
10249
+ ]
10250
+ }
10251
+ ]
10252
+ };
10253
+
10254
+ // ../../packages/core/src/firewalls/google-sheets.generated.ts
10255
+ var googleSheetsFirewall = {
10256
+ name: "google-sheets",
10257
+ description: "Google Sheets API",
10258
+ placeholders: {
10259
+ GOOGLE_SHEETS_TOKEN: "ya29.A0Vm0PlaceHolder-Vm0_PlaceHolder00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
10260
+ },
10261
+ apis: [
10262
+ {
10263
+ base: "https://sheets.googleapis.com",
10264
+ auth: {
10265
+ headers: {
10266
+ Authorization: "Bearer ${{ secrets.GOOGLE_SHEETS_TOKEN }}"
10267
+ }
10268
+ },
10269
+ permissions: [
10270
+ {
10271
+ name: "unrestricted",
10272
+ description: "Allow all endpoints",
10273
+ rules: ["ANY /{path*}"]
10274
+ },
10275
+ {
10276
+ name: "drive",
10277
+ description: "See, edit, create, and delete all of your Google Drive files",
10278
+ rules: [
10279
+ "POST /v4/spreadsheets",
10280
+ "GET /v4/spreadsheets/{spreadsheetId}",
10281
+ "GET /v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}",
10282
+ "POST /v4/spreadsheets/{spreadsheetId}/developerMetadata:search",
10283
+ "POST /v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo",
10284
+ "GET /v4/spreadsheets/{spreadsheetId}/values/{range}",
10285
+ "PUT /v4/spreadsheets/{spreadsheetId}/values/{range}",
10286
+ "POST /v4/spreadsheets/{spreadsheetId}/values/{range}:append",
10287
+ "POST /v4/spreadsheets/{spreadsheetId}/values/{range}:clear",
10288
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchClear",
10289
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter",
10290
+ "GET /v4/spreadsheets/{spreadsheetId}/values:batchGet",
10291
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter",
10292
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdate",
10293
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter",
10294
+ "POST /v4/spreadsheets/{spreadsheetId}:batchUpdate",
10295
+ "POST /v4/spreadsheets/{spreadsheetId}:getByDataFilter"
10296
+ ]
10297
+ },
10298
+ {
10299
+ name: "drive.file",
10300
+ description: "See, edit, create, and delete only the specific Google Drive files you use with this app",
10301
+ rules: [
10302
+ "POST /v4/spreadsheets",
10303
+ "GET /v4/spreadsheets/{spreadsheetId}",
10304
+ "GET /v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}",
10305
+ "POST /v4/spreadsheets/{spreadsheetId}/developerMetadata:search",
10306
+ "POST /v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo",
10307
+ "GET /v4/spreadsheets/{spreadsheetId}/values/{range}",
10308
+ "PUT /v4/spreadsheets/{spreadsheetId}/values/{range}",
10309
+ "POST /v4/spreadsheets/{spreadsheetId}/values/{range}:append",
10310
+ "POST /v4/spreadsheets/{spreadsheetId}/values/{range}:clear",
10311
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchClear",
10312
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter",
10313
+ "GET /v4/spreadsheets/{spreadsheetId}/values:batchGet",
10314
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter",
10315
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdate",
10316
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter",
10317
+ "POST /v4/spreadsheets/{spreadsheetId}:batchUpdate",
10318
+ "POST /v4/spreadsheets/{spreadsheetId}:getByDataFilter"
10319
+ ]
10320
+ },
10321
+ {
10322
+ name: "drive.readonly",
10323
+ description: "See and download all your Google Drive files",
10324
+ rules: [
10325
+ "GET /v4/spreadsheets/{spreadsheetId}",
10326
+ "GET /v4/spreadsheets/{spreadsheetId}/values/{range}",
10327
+ "GET /v4/spreadsheets/{spreadsheetId}/values:batchGet"
10328
+ ]
8924
10329
  },
8925
10330
  {
8926
- name: "contents:write",
8927
- description: "Upload release assets",
8928
- rules: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets"]
10331
+ name: "spreadsheets",
10332
+ description: "See, edit, create, and delete all your Google Sheets spreadsheets",
10333
+ rules: [
10334
+ "POST /v4/spreadsheets",
10335
+ "GET /v4/spreadsheets/{spreadsheetId}",
10336
+ "GET /v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}",
10337
+ "POST /v4/spreadsheets/{spreadsheetId}/developerMetadata:search",
10338
+ "POST /v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo",
10339
+ "GET /v4/spreadsheets/{spreadsheetId}/values/{range}",
10340
+ "PUT /v4/spreadsheets/{spreadsheetId}/values/{range}",
10341
+ "POST /v4/spreadsheets/{spreadsheetId}/values/{range}:append",
10342
+ "POST /v4/spreadsheets/{spreadsheetId}/values/{range}:clear",
10343
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchClear",
10344
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter",
10345
+ "GET /v4/spreadsheets/{spreadsheetId}/values:batchGet",
10346
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter",
10347
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdate",
10348
+ "POST /v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter",
10349
+ "POST /v4/spreadsheets/{spreadsheetId}:batchUpdate",
10350
+ "POST /v4/spreadsheets/{spreadsheetId}:getByDataFilter"
10351
+ ]
10352
+ },
10353
+ {
10354
+ name: "spreadsheets.readonly",
10355
+ description: "See all your Google Sheets spreadsheets",
10356
+ rules: [
10357
+ "GET /v4/spreadsheets/{spreadsheetId}",
10358
+ "GET /v4/spreadsheets/{spreadsheetId}/values/{range}",
10359
+ "GET /v4/spreadsheets/{spreadsheetId}/values:batchGet"
10360
+ ]
8929
10361
  }
8930
10362
  ]
8931
10363
  }
@@ -9763,6 +11195,11 @@ var slackFirewall = {
9763
11195
  // ../../packages/core/src/firewalls/index.ts
9764
11196
  var builtinFirewalls = {
9765
11197
  github: githubFirewall,
11198
+ gmail: gmailFirewall,
11199
+ "google-calendar": googleCalendarFirewall,
11200
+ "google-docs": googleDocsFirewall,
11201
+ "google-drive": googleDriveFirewall,
11202
+ "google-sheets": googleSheetsFirewall,
9766
11203
  slack: slackFirewall
9767
11204
  };
9768
11205
 
@@ -10500,6 +11937,29 @@ var zeroConnectorScopeDiffContract = c28.router({
10500
11937
  summary: "Get scope diff for a connector"
10501
11938
  }
10502
11939
  });
11940
+ var connectorSearchAuthMethodSchema = z32.enum(["oauth", "api-token"]);
11941
+ var connectorSearchItemSchema = z32.object({
11942
+ id: z32.string(),
11943
+ label: z32.string(),
11944
+ description: z32.string(),
11945
+ authMethods: z32.array(connectorSearchAuthMethodSchema)
11946
+ });
11947
+ var connectorSearchResponseSchema = z32.object({
11948
+ connectors: z32.array(connectorSearchItemSchema)
11949
+ });
11950
+ var zeroConnectorsSearchContract = c28.router({
11951
+ search: {
11952
+ method: "GET",
11953
+ path: "/api/zero/connectors/search",
11954
+ headers: authHeadersSchema,
11955
+ query: z32.object({ keyword: z32.string().optional() }),
11956
+ responses: {
11957
+ 200: connectorSearchResponseSchema,
11958
+ 401: apiErrorSchema
11959
+ },
11960
+ summary: "Search available connector types"
11961
+ }
11962
+ });
10503
11963
 
10504
11964
  // ../../packages/core/src/contracts/zero-org.ts
10505
11965
  import { z as z33 } from "zod";
@@ -11736,14 +13196,14 @@ function getConfigPath() {
11736
13196
  return join2(homedir2(), ".vm0", "config.json");
11737
13197
  }
11738
13198
  var infoCommand = new Command6().name("info").description("Display environment and debug information").action(async () => {
11739
- console.log(chalk4.bold(`VM0 CLI v${"9.74.2"}`));
13199
+ console.log(chalk4.bold(`VM0 CLI v${"9.74.3"}`));
11740
13200
  console.log();
11741
13201
  const config = await loadConfig();
11742
13202
  const hasEnvToken = !!process.env.VM0_TOKEN;
11743
13203
  const hasConfigToken = !!config.token;
11744
- const isAuthenticated2 = hasEnvToken || hasConfigToken;
13204
+ const isAuthenticated = hasEnvToken || hasConfigToken;
11745
13205
  console.log(chalk4.bold("Authentication:"));
11746
- if (isAuthenticated2) {
13206
+ if (isAuthenticated) {
11747
13207
  const tokenSource = hasEnvToken ? "VM0_TOKEN env var" : "config file";
11748
13208
  console.log(` ${chalk4.green("\u2713")} Logged in (via ${tokenSource})`);
11749
13209
  } else {
@@ -13796,7 +15256,7 @@ var composeCommand = new Command7().name("compose").description("Create or updat
13796
15256
  options.autoUpdate = false;
13797
15257
  }
13798
15258
  if (options.autoUpdate !== false) {
13799
- await startSilentUpgrade("9.74.2");
15259
+ await startSilentUpgrade("9.74.3");
13800
15260
  }
13801
15261
  try {
13802
15262
  let result;
@@ -14631,7 +16091,7 @@ var mainRunCommand = new Command8().name("run").description("Run an agent").argu
14631
16091
  withErrorHandler(
14632
16092
  async (identifier, prompt, options) => {
14633
16093
  if (options.autoUpdate !== false) {
14634
- await startSilentUpgrade("9.74.2");
16094
+ await startSilentUpgrade("9.74.3");
14635
16095
  }
14636
16096
  const { org, name, version } = parseIdentifier(identifier);
14637
16097
  let composeId;
@@ -16387,7 +17847,7 @@ var cookAction = new Command35().name("cook").description("Quick start: prepare,
16387
17847
  withErrorHandler(
16388
17848
  async (prompt, options) => {
16389
17849
  if (options.autoUpdate !== false) {
16390
- const shouldExit = await checkAndUpgrade("9.74.2", prompt);
17850
+ const shouldExit = await checkAndUpgrade("9.74.3", prompt);
16391
17851
  if (shouldExit) {
16392
17852
  process.exit(0);
16393
17853
  }
@@ -20969,275 +22429,13 @@ var disconnectCommand = new Command88().name("disconnect").description("Disconne
20969
22429
  // src/commands/connector/index.ts
20970
22430
  var connectorCommand = new Command89().name("connector").description("Manage third-party service connections").addCommand(listCommand13).addCommand(statusCommand8).addCommand(connectCommand).addCommand(disconnectCommand);
20971
22431
 
20972
- // src/commands/onboard/index.ts
22432
+ // src/commands/setup-claude/index.ts
20973
22433
  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
22434
  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
22435
 
21238
22436
  // src/lib/domain/onboard/claude-setup.ts
21239
22437
  import { spawn as spawn3 } from "child_process";
21240
- import chalk81 from "chalk";
22438
+ import chalk79 from "chalk";
21241
22439
  var MARKETPLACE_NAME = "vm0-skills";
21242
22440
  var MARKETPLACE_REPO = "vm0-ai/vm0-skills";
21243
22441
  var PLUGIN_ID = "vm0@vm0-skills";
@@ -21272,17 +22470,6 @@ async function runClaudeCommand(args, cwd) {
21272
22470
  });
21273
22471
  });
21274
22472
  }
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
22473
  async function isMarketplaceInstalled() {
21287
22474
  const result = await runClaudeCommand([
21288
22475
  "plugin",
@@ -21322,7 +22509,7 @@ async function updateMarketplace() {
21322
22509
  ]);
21323
22510
  if (!result.success) {
21324
22511
  console.warn(
21325
- chalk81.yellow(
22512
+ chalk79.yellow(
21326
22513
  `Warning: Could not update marketplace: ${result.error ?? "unknown error"}`
21327
22514
  )
21328
22515
  );
@@ -21351,284 +22538,29 @@ async function installVm0Plugin(scope = "user", cwd) {
21351
22538
  };
21352
22539
  }
21353
22540
 
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
22541
  // src/commands/setup-claude/index.ts
21580
- import { Command as Command91 } from "commander";
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(
22542
+ 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
22543
  withErrorHandler(async (options) => {
21584
- console.log(chalk83.dim("Installing VM0 Claude Plugin..."));
22544
+ console.log(chalk80.dim("Installing VM0 Claude Plugin..."));
21585
22545
  const scope = options.scope === "user" ? "user" : "project";
21586
22546
  const result = await installVm0Plugin(scope, options.agentDir);
21587
22547
  console.log(
21588
- chalk83.green(`\u2713 Installed ${result.pluginId} (scope: ${result.scope})`)
22548
+ chalk80.green(`\u2713 Installed ${result.pluginId} (scope: ${result.scope})`)
21589
22549
  );
21590
22550
  console.log();
21591
22551
  console.log("Next step:");
21592
22552
  const cdPrefix = options.agentDir ? `cd ${options.agentDir} && ` : "";
21593
22553
  console.log(
21594
- chalk83.cyan(
22554
+ chalk80.cyan(
21595
22555
  ` ${cdPrefix}claude "/${PRIMARY_SKILL_NAME} let's build a workflow"`
21596
22556
  )
21597
22557
  );
21598
22558
  })
21599
22559
  );
21600
22560
 
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
22561
  // src/commands/preference/index.ts
21630
- import { Command as Command93 } from "commander";
21631
- import chalk85 from "chalk";
22562
+ import { Command as Command91 } from "commander";
22563
+ import chalk81 from "chalk";
21632
22564
  function detectTimezone2() {
21633
22565
  return Intl.DateTimeFormat().resolvedOptions().timeZone;
21634
22566
  }
@@ -21649,15 +22581,15 @@ function parseOnOff(flag, value) {
21649
22581
  );
21650
22582
  }
21651
22583
  function displayPreferences(prefs) {
21652
- console.log(chalk85.bold("Current preferences:"));
22584
+ console.log(chalk81.bold("Current preferences:"));
21653
22585
  console.log(
21654
- ` Timezone: ${prefs.timezone ? chalk85.cyan(prefs.timezone) : chalk85.dim("not set")}`
22586
+ ` Timezone: ${prefs.timezone ? chalk81.cyan(prefs.timezone) : chalk81.dim("not set")}`
21655
22587
  );
21656
22588
  console.log(
21657
- ` Email notify: ${prefs.notifyEmail ? chalk85.green("on") : chalk85.dim("off")}`
22589
+ ` Email notify: ${prefs.notifyEmail ? chalk81.green("on") : chalk81.dim("off")}`
21658
22590
  );
21659
22591
  console.log(
21660
- ` Slack notify: ${prefs.notifySlack ? chalk85.green("on") : chalk85.dim("off")}`
22592
+ ` Slack notify: ${prefs.notifySlack ? chalk81.green("on") : chalk81.dim("off")}`
21661
22593
  );
21662
22594
  }
21663
22595
  function buildUpdates(opts) {
@@ -21687,21 +22619,21 @@ function buildUpdates(opts) {
21687
22619
  function printUpdateResult(updates, result) {
21688
22620
  if (updates.timezone !== void 0) {
21689
22621
  console.log(
21690
- chalk85.green(
21691
- `Timezone set to ${chalk85.cyan(result.timezone ?? updates.timezone)}`
22622
+ chalk81.green(
22623
+ `Timezone set to ${chalk81.cyan(result.timezone ?? updates.timezone)}`
21692
22624
  )
21693
22625
  );
21694
22626
  }
21695
22627
  if (updates.notifyEmail !== void 0) {
21696
22628
  console.log(
21697
- chalk85.green(
22629
+ chalk81.green(
21698
22630
  `Email notifications ${result.notifyEmail ? "enabled" : "disabled"}`
21699
22631
  )
21700
22632
  );
21701
22633
  }
21702
22634
  if (updates.notifySlack !== void 0) {
21703
22635
  console.log(
21704
- chalk85.green(
22636
+ chalk81.green(
21705
22637
  `Slack notifications ${result.notifySlack ? "enabled" : "disabled"}`
21706
22638
  )
21707
22639
  );
@@ -21710,7 +22642,7 @@ function printUpdateResult(updates, result) {
21710
22642
  async function interactiveSetup(prefs) {
21711
22643
  if (!prefs.timezone) {
21712
22644
  const detectedTz = detectTimezone2();
21713
- console.log(chalk85.dim(`
22645
+ console.log(chalk81.dim(`
21714
22646
  System timezone detected: ${detectedTz}`));
21715
22647
  const tz = await promptText(
21716
22648
  "Set timezone? (enter timezone or leave empty to skip)",
@@ -21721,7 +22653,7 @@ System timezone detected: ${detectedTz}`));
21721
22653
  throw new Error(`Invalid timezone: ${tz.trim()}`);
21722
22654
  }
21723
22655
  await updateUserPreferences({ timezone: tz.trim() });
21724
- console.log(chalk85.green(`Timezone set to ${chalk85.cyan(tz.trim())}`));
22656
+ console.log(chalk81.green(`Timezone set to ${chalk81.cyan(tz.trim())}`));
21725
22657
  }
21726
22658
  }
21727
22659
  if (!prefs.notifyEmail) {
@@ -21731,11 +22663,11 @@ System timezone detected: ${detectedTz}`));
21731
22663
  );
21732
22664
  if (enable) {
21733
22665
  await updateUserPreferences({ notifyEmail: true });
21734
- console.log(chalk85.green("Email notifications enabled"));
22666
+ console.log(chalk81.green("Email notifications enabled"));
21735
22667
  }
21736
22668
  }
21737
22669
  }
21738
- var preferenceCommand = new Command93().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(
22670
+ 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
22671
  withErrorHandler(async (opts) => {
21740
22672
  const updates = buildUpdates(opts);
21741
22673
  if (updates) {
@@ -21750,32 +22682,32 @@ var preferenceCommand = new Command93().name("preference").description("View or
21750
22682
  } else if (!prefs.timezone) {
21751
22683
  console.log();
21752
22684
  console.log(
21753
- `To set timezone: ${chalk85.cyan("vm0 preference --timezone <timezone>")}`
22685
+ `To set timezone: ${chalk81.cyan("vm0 preference --timezone <timezone>")}`
21754
22686
  );
21755
22687
  console.log(
21756
- chalk85.dim("Example: vm0 preference --timezone America/New_York")
22688
+ chalk81.dim("Example: vm0 preference --timezone America/New_York")
21757
22689
  );
21758
22690
  }
21759
22691
  })
21760
22692
  );
21761
22693
 
21762
22694
  // src/commands/upgrade/index.ts
21763
- import { Command as Command94 } from "commander";
21764
- import chalk86 from "chalk";
21765
- var upgradeCommand = new Command94().name("upgrade").description("Upgrade vm0 CLI to the latest version").action(
22695
+ import { Command as Command92 } from "commander";
22696
+ import chalk82 from "chalk";
22697
+ var upgradeCommand = new Command92().name("upgrade").description("Upgrade vm0 CLI to the latest version").action(
21766
22698
  withErrorHandler(async () => {
21767
22699
  console.log("Checking for updates...");
21768
22700
  const latestVersion = await getLatestVersion();
21769
22701
  if (latestVersion === null) {
21770
22702
  throw new Error("Could not check for updates. Please try again later.");
21771
22703
  }
21772
- if (latestVersion === "9.74.2") {
21773
- console.log(chalk86.green(`\u2713 Already up to date (${"9.74.2"})`));
22704
+ if (latestVersion === "9.74.3") {
22705
+ console.log(chalk82.green(`\u2713 Already up to date (${"9.74.3"})`));
21774
22706
  return;
21775
22707
  }
21776
22708
  console.log(
21777
- chalk86.yellow(
21778
- `Current version: ${"9.74.2"} -> Latest version: ${latestVersion}`
22709
+ chalk82.yellow(
22710
+ `Current version: ${"9.74.3"} -> Latest version: ${latestVersion}`
21779
22711
  )
21780
22712
  );
21781
22713
  console.log();
@@ -21783,26 +22715,26 @@ var upgradeCommand = new Command94().name("upgrade").description("Upgrade vm0 CL
21783
22715
  if (!isAutoUpgradeSupported(packageManager)) {
21784
22716
  if (packageManager === "unknown") {
21785
22717
  console.log(
21786
- chalk86.yellow(
22718
+ chalk82.yellow(
21787
22719
  "Could not detect your package manager for auto-upgrade."
21788
22720
  )
21789
22721
  );
21790
22722
  } else {
21791
22723
  console.log(
21792
- chalk86.yellow(
22724
+ chalk82.yellow(
21793
22725
  `Auto-upgrade is not supported for ${packageManager}.`
21794
22726
  )
21795
22727
  );
21796
22728
  }
21797
- console.log(chalk86.yellow("Please upgrade manually:"));
21798
- console.log(chalk86.cyan(` ${getManualUpgradeCommand(packageManager)}`));
22729
+ console.log(chalk82.yellow("Please upgrade manually:"));
22730
+ console.log(chalk82.cyan(` ${getManualUpgradeCommand(packageManager)}`));
21799
22731
  return;
21800
22732
  }
21801
22733
  console.log(`Upgrading via ${packageManager}...`);
21802
22734
  const success = await performUpgrade(packageManager);
21803
22735
  if (success) {
21804
22736
  console.log(
21805
- chalk86.green(`\u2713 Upgraded from ${"9.74.2"} to ${latestVersion}`)
22737
+ chalk82.green(`\u2713 Upgraded from ${"9.74.3"} to ${latestVersion}`)
21806
22738
  );
21807
22739
  return;
21808
22740
  }
@@ -21815,8 +22747,8 @@ var upgradeCommand = new Command94().name("upgrade").description("Upgrade vm0 CL
21815
22747
  );
21816
22748
 
21817
22749
  // src/commands/whoami.ts
21818
- import { Command as Command95 } from "commander";
21819
- import chalk87 from "chalk";
22750
+ import { Command as Command93 } from "commander";
22751
+ import chalk83 from "chalk";
21820
22752
  function isInsideSandbox() {
21821
22753
  return !!process.env.VM0_RUN_ID;
21822
22754
  }
@@ -21831,7 +22763,7 @@ async function showSandboxInfo() {
21831
22763
  const apiUrl = process.env.VM0_API_URL;
21832
22764
  const hasAgentInfo = agentName || agentVersion || agentComposeId || agentOrgSlug || cliAgentType;
21833
22765
  if (hasAgentInfo) {
21834
- console.log(chalk87.bold("Agent:"));
22766
+ console.log(chalk83.bold("Agent:"));
21835
22767
  if (agentName) console.log(` Name: ${agentName}`);
21836
22768
  if (agentVersion) console.log(` Version: ${agentVersion}`);
21837
22769
  if (agentComposeId) console.log(` Compose ID: ${agentComposeId}`);
@@ -21839,7 +22771,7 @@ async function showSandboxInfo() {
21839
22771
  if (cliAgentType) console.log(` Framework: ${cliAgentType}`);
21840
22772
  console.log();
21841
22773
  }
21842
- console.log(chalk87.bold("Run:"));
22774
+ console.log(chalk83.bold("Run:"));
21843
22775
  if (runId) console.log(` ID: ${runId}`);
21844
22776
  if (activeOrg) console.log(` Org: ${activeOrg}`);
21845
22777
  if (apiUrl) console.log(` API: ${apiUrl}`);
@@ -21848,23 +22780,23 @@ async function showLocalInfo() {
21848
22780
  const token = await getToken();
21849
22781
  const apiUrl = await getApiUrl();
21850
22782
  const activeOrg = await getActiveOrg();
21851
- console.log(chalk87.bold("Auth:"));
22783
+ console.log(chalk83.bold("Auth:"));
21852
22784
  if (token) {
21853
22785
  const tokenSource = process.env.VM0_TOKEN ? "VM0_TOKEN env var" : "config file";
21854
22786
  console.log(
21855
- ` Status: ${chalk87.green("Authenticated")} (via ${tokenSource})`
22787
+ ` Status: ${chalk83.green("Authenticated")} (via ${tokenSource})`
21856
22788
  );
21857
22789
  } else {
21858
- console.log(` Status: ${chalk87.dim("Not authenticated")}`);
22790
+ console.log(` Status: ${chalk83.dim("Not authenticated")}`);
21859
22791
  }
21860
22792
  console.log(` API: ${apiUrl}`);
21861
22793
  console.log();
21862
22794
  if (activeOrg) {
21863
- console.log(chalk87.bold("Org:"));
22795
+ console.log(chalk83.bold("Org:"));
21864
22796
  console.log(` Active: ${activeOrg}`);
21865
22797
  }
21866
22798
  }
21867
- var whoamiCommand = new Command95().name("whoami").description("Show current identity and environment information").action(
22799
+ var whoamiCommand = new Command93().name("whoami").description("Show current identity and environment information").action(
21868
22800
  withErrorHandler(async () => {
21869
22801
  if (isInsideSandbox()) {
21870
22802
  await showSandboxInfo();
@@ -21875,8 +22807,8 @@ var whoamiCommand = new Command95().name("whoami").description("Show current ide
21875
22807
  );
21876
22808
 
21877
22809
  // src/index.ts
21878
- var program = new Command96();
21879
- program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.74.2");
22810
+ var program = new Command94();
22811
+ program.name("vm0").description("VM0 CLI - Build and run agents with natural language").version("9.74.3");
21880
22812
  program.addCommand(authCommand);
21881
22813
  program.addCommand(infoCommand);
21882
22814
  program.addCommand(composeCommand);
@@ -21894,9 +22826,7 @@ program.addCommand(usageCommand);
21894
22826
  program.addCommand(secretCommand);
21895
22827
  program.addCommand(variableCommand);
21896
22828
  program.addCommand(connectorCommand);
21897
- program.addCommand(onboardCommand);
21898
22829
  program.addCommand(setupClaudeCommand);
21899
- program.addCommand(dashboardCommand);
21900
22830
  program.addCommand(preferenceCommand);
21901
22831
  program.addCommand(upgradeCommand);
21902
22832
  program.addCommand(whoamiCommand);