@vm0/cli 9.74.2 → 9.74.4

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