OXYGENHUB
# b1047516e064 oxygenhub-vscode / package.json
16.8 KiB · JSON · last changed A Get started with OxygenHub walkthrough (0.9.0) 1 month ago source blame history raw
f0b06dea Andy McCall 1
{
2
  "name": "oxygenhub-vscode",
092b8bf9 Andy McCall ↶ 3
  "displayName": "OxygenHub",
4
  "description": "Proposals, reviews, issues and checks from an OxygenHub, in the editor. Builds on the Oxygen extension.",
b1047516 Andy McCall ↶ 5
  "version": "0.9.0",
f0b06dea Andy McCall 6
  "publisher": "andymccall",
7
  "license": "MIT OR Apache-2.0",
8
  "icon": "assets/images/oxygenhub.png",
9
  "engines": {
10
    "vscode": "^1.137.0"
11
  },
486c15b0 Andy McCall ↶ 12
  "categories": [
13
    "SCM Providers",
14
    "Other"
15
  ],
16
  "keywords": [
17
    "oxygen",
18
    "oxygenhub",
19
    "review",
20
    "proposals",
21
    "issues"
22
  ],
23
  "extensionDependencies": [
52cef001 Andy McCall ↶ 24
    "oxygen.oxygen-vscode"
486c15b0 Andy McCall ↶ 25
  ],
26
  "activationEvents": [
27
    "workspaceContains:.oxy/format",
28
    "onAuthenticationRequest:oxygenhub",
29
    "onStartupFinished"
30
  ],
f0b06dea Andy McCall 31
  "main": "./dist/extension.js",
32
  "contributes": {
486c15b0 Andy McCall ↶ 33
    "authentication": [
34
      {
35
        "id": "oxygenhub",
092b8bf9 Andy McCall ↶ 36
        "label": "OxygenHub"
486c15b0 Andy McCall ↶ 37
      }
38
    ],
f0b06dea Andy McCall 39
    "configuration": {
092b8bf9 Andy McCall ↶ 40
      "title": "OxygenHub",
f0b06dea Andy McCall 41
      "properties": {
486c15b0 Andy McCall ↶ 42
        "oxygenhub.hubs": {
43
          "type": "array",
44
          "items": {
45
            "type": "string"
46
          },
47
          "default": [],
48
          "description": "Base URLs of hubs you use (learnt from sign in too)."
58889495 Andy McCall ↶ 49
        },
50
        "oxygenhub.caFiles": {
51
          "type": "object",
52
          "additionalProperties": {
53
            "type": "string"
54
          },
55
          "default": {},
56
          "description": "CA certificate files for hubs with self-signed certificates, by base URL, e.g. {\"https://earth.example:7343\": \"~/.config/oxy/earth-ca.pem\"}. Checkouts whose remote names a CA (remote.NAME.ca) need no entry."
486c15b0 Andy McCall ↶ 57
        },
58
        "oxygenhub.proposalBookmarkPrefix": {
59
          "type": "string",
60
          "default": "proposal/",
61
          "description": "Prefix of the local bookmark created when checking out a proposal."
62
        },
63
        "oxygenhub.autoRefresh": {
64
          "type": "number",
65
          "default": 60,
66
          "description": "Seconds between view refreshes; 0 disables."
b2dd082c Andy McCall ↶ 67
        },
68
        "oxygenhub.announceNotifications": {
69
          "type": "boolean",
70
          "default": true,
71
          "description": "Show a message when new notifications arrive (checked on the autoRefresh interval)."
263de209 Andy McCall ↶ 72
        },
73
        "oxygenhub.flowPollSeconds": {
74
          "type": "number",
75
          "default": 5,
76
          "minimum": 2,
77
          "description": "How often the Flow view and status bar look again while a run is queued or running (seconds); once a minute otherwise."
78
        },
79
        "oxygenhub.flowNotifications": {
80
          "type": "boolean",
81
          "default": true,
82
          "description": "Say when an OxygenFlow run you can see finishes, with a way to its failed job's log."
486c15b0 Andy McCall ↶ 83
        }
f0b06dea Andy McCall 84
      }
85
    },
86
    "viewsContainers": {
486c15b0 Andy McCall ↶ 87
      "activitybar": [
88
        {
89
          "id": "oxygenhub",
092b8bf9 Andy McCall ↶ 90
          "title": "OxygenHub",
52cef001 Andy McCall ↶ 91
          "icon": "assets/images/oxygenhub-activity.svg"
486c15b0 Andy McCall ↶ 92
        }
93
      ]
f0b06dea Andy McCall 94
    },
95
    "views": {
96
      "oxygenhub": [
486c15b0 Andy McCall ↶ 97
        {
98
          "id": "oxygenhub.proposals",
99
          "name": "Proposals"
100
        },
101
        {
102
          "id": "oxygenhub.issues",
103
          "name": "Issues"
1cc0ff44 Andy McCall ↶ 104
        },
105
        {
106
          "id": "oxygenhub.releases",
107
          "name": "Releases"
263de209 Andy McCall ↶ 108
        },
109
        {
110
          "id": "oxygenhub.flow",
111
          "name": "Flow"
486c15b0 Andy McCall ↶ 112
        }
f0b06dea Andy McCall 113
      ]
114
    },
115
    "viewsWelcome": [
486c15b0 Andy McCall ↶ 116
      {
117
        "view": "oxygenhub.proposals",
092b8bf9 Andy McCall ↶ 118
        "contents": "Sign in to an OxygenHub to see proposals.\n[Sign in](command:oxygenhub.signIn)"
263de209 Andy McCall ↶ 119
      },
120
      {
121
        "view": "oxygenhub.flow",
122
        "contents": "OxygenFlow runs of your hub repositories appear here: a push that moves a bookmark starts one.\n[Run Pipeline](command:oxygenhub.runPipeline)"
486c15b0 Andy McCall ↶ 123
      }
f0b06dea Andy McCall 124
    ],
125
    "commands": [
486c15b0 Andy McCall ↶ 126
      {
127
        "command": "oxygenhub.signIn",
128
        "title": "Sign in",
092b8bf9 Andy McCall ↶ 129
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 130
      },
131
      {
132
        "command": "oxygenhub.signOut",
133
        "title": "Sign out",
092b8bf9 Andy McCall ↶ 134
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 135
      },
136
      {
137
        "command": "oxygenhub.refresh",
138
        "title": "Refresh",
092b8bf9 Andy McCall ↶ 139
        "category": "OxygenHub",
486c15b0 Andy McCall ↶ 140
        "icon": "$(refresh)"
141
      },
142
      {
b2dd082c Andy McCall ↶ 143
        "command": "oxygenhub.inbox",
144
        "title": "Open Inbox",
092b8bf9 Andy McCall ↶ 145
        "category": "OxygenHub",
b2dd082c Andy McCall ↶ 146
        "icon": "$(bell)"
147
      },
148
      {
486c15b0 Andy McCall ↶ 149
        "command": "oxygenhub.openProposal",
150
        "title": "Open Proposal",
092b8bf9 Andy McCall ↶ 151
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 152
      },
153
      {
154
        "command": "oxygenhub.openOnHub",
155
        "title": "Open on Hub",
092b8bf9 Andy McCall ↶ 156
        "category": "OxygenHub",
486c15b0 Andy McCall ↶ 157
        "icon": "$(link-external)"
158
      },
159
      {
bf73998c Andy McCall ↶ 160
        "command": "oxygenhub.openProposalFile",
161
        "title": "Open Proposal File Diff",
092b8bf9 Andy McCall ↶ 162
        "category": "OxygenHub"
bf73998c Andy McCall ↶ 163
      },
164
      {
165
        "command": "oxygenhub.openProposalChanges",
166
        "title": "View Changes",
092b8bf9 Andy McCall ↶ 167
        "category": "OxygenHub",
bf73998c Andy McCall ↶ 168
        "icon": "$(diff-multiple)"
169
      },
170
      {
486c15b0 Andy McCall ↶ 171
        "command": "oxygenhub.checkoutProposal",
172
        "title": "Check Out Proposal",
092b8bf9 Andy McCall ↶ 173
        "category": "OxygenHub",
486c15b0 Andy McCall ↶ 174
        "icon": "$(git-branch)"
175
      },
176
      {
177
        "command": "oxygenhub.review",
178
        "title": "Review\u2026",
092b8bf9 Andy McCall ↶ 179
        "category": "OxygenHub",
486c15b0 Andy McCall ↶ 180
        "icon": "$(comment-discussion)"
181
      },
182
      {
183
        "command": "oxygenhub.sealApproval",
184
        "title": "Seal My Approval (oxy seal --proposal)",
092b8bf9 Andy McCall ↶ 185
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 186
      },
187
      {
188
        "command": "oxygenhub.land",
189
        "title": "Land Proposal",
092b8bf9 Andy McCall ↶ 190
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 191
      },
192
      {
193
        "command": "oxygenhub.closeProposal",
194
        "title": "Close Proposal",
092b8bf9 Andy McCall ↶ 195
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 196
      },
197
      {
198
        "command": "oxygenhub.createProposal",
199
        "title": "Propose Current Bookmark\u2026",
092b8bf9 Andy McCall ↶ 200
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 201
      },
202
      {
203
        "command": "oxygenhub.newIssue",
204
        "title": "New Issue\u2026",
092b8bf9 Andy McCall ↶ 205
        "category": "OxygenHub",
486c15b0 Andy McCall ↶ 206
        "icon": "$(add)"
1cc0ff44 Andy McCall ↶ 207
      },
208
      {
209
        "command": "oxygenhub.draftRelease",
210
        "title": "Draft Release\u2026",
092b8bf9 Andy McCall ↶ 211
        "category": "OxygenHub",
1cc0ff44 Andy McCall ↶ 212
        "icon": "$(tag)"
486c15b0 Andy McCall ↶ 213
      },
214
      {
95f69b4a Andy McCall ↶ 215
        "command": "oxygenhub.issueFromSelection",
216
        "title": "New Issue from Selection\u2026",
092b8bf9 Andy McCall ↶ 217
        "category": "OxygenHub"
95f69b4a Andy McCall ↶ 218
      },
219
      {
486c15b0 Andy McCall ↶ 220
        "command": "oxygenhub.openIssue",
221
        "title": "Open Issue",
092b8bf9 Andy McCall ↶ 222
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 223
      },
224
      {
225
        "command": "oxygenhub.commentIssue",
226
        "title": "Comment on Issue\u2026",
092b8bf9 Andy McCall ↶ 227
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 228
      },
229
      {
230
        "command": "oxygenhub.closeIssue",
231
        "title": "Close Issue",
092b8bf9 Andy McCall ↶ 232
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 233
      },
234
      {
235
        "command": "oxygenhub.reopenIssue",
236
        "title": "Reopen Issue",
092b8bf9 Andy McCall ↶ 237
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 238
      },
239
      {
240
        "command": "oxygenhub.assignMe",
241
        "title": "Assign to Me",
092b8bf9 Andy McCall ↶ 242
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 243
      },
244
      {
245
        "command": "oxygenhub.newThread",
246
        "title": "Start Review Thread",
092b8bf9 Andy McCall ↶ 247
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 248
      },
249
      {
250
        "command": "oxygenhub.reply",
251
        "title": "Reply",
092b8bf9 Andy McCall ↶ 252
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 253
      },
254
      {
255
        "command": "oxygenhub.resolveThread",
256
        "title": "Resolve",
092b8bf9 Andy McCall ↶ 257
        "category": "OxygenHub"
263de209 Andy McCall ↶ 258
      },
259
      {
260
        "command": "oxygenhub.flowRefresh",
261
        "title": "Refresh Flow",
262
        "category": "OxygenHub",
263
        "icon": "$(refresh)"
264
      },
265
      {
266
        "command": "oxygenhub.runPipeline",
267
        "title": "Run Pipeline\u2026",
268
        "category": "OxygenHub",
269
        "icon": "$(play)"
270
      },
271
      {
272
        "command": "oxygenhub.rerunFlow",
273
        "title": "Re-run",
274
        "category": "OxygenHub",
275
        "icon": "$(debug-rerun)"
276
      },
277
      {
278
        "command": "oxygenhub.flowLog",
279
        "title": "Show Job Log",
280
        "category": "OxygenHub",
281
        "icon": "$(output)"
282
      },
283
      {
284
        "command": "oxygenhub.openFlowRun",
285
        "title": "Open Run on OxygenHub",
286
        "category": "OxygenHub",
287
        "icon": "$(link-external)"
288
      },
289
      {
290
        "command": "oxygenhub.flowRecent",
291
        "title": "Recent Flow Runs\u2026",
292
        "category": "OxygenHub"
486c15b0 Andy McCall ↶ 293
      }
f0b06dea Andy McCall 294
    ],
295
    "menus": {
296
      "view/title": [
486c15b0 Andy McCall ↶ 297
        {
298
          "command": "oxygenhub.refresh",
1cc0ff44 Andy McCall ↶ 299
          "when": "view == oxygenhub.proposals || view == oxygenhub.issues || view == oxygenhub.releases",
486c15b0 Andy McCall ↶ 300
          "group": "navigation"
301
        },
302
        {
303
          "command": "oxygenhub.createProposal",
304
          "when": "view == oxygenhub.proposals",
305
          "group": "navigation"
306
        },
307
        {
308
          "command": "oxygenhub.newIssue",
309
          "when": "view == oxygenhub.issues",
1cc0ff44 Andy McCall ↶ 310
          "group": "navigation"
311
        },
312
        {
313
          "command": "oxygenhub.draftRelease",
314
          "when": "view == oxygenhub.releases",
486c15b0 Andy McCall ↶ 315
          "group": "navigation"
263de209 Andy McCall ↶ 316
        },
317
        {
318
          "command": "oxygenhub.runPipeline",
319
          "when": "view == oxygenhub.flow",
320
          "group": "navigation@1"
321
        },
322
        {
323
          "command": "oxygenhub.flowRefresh",
324
          "when": "view == oxygenhub.flow",
325
          "group": "navigation@2"
486c15b0 Andy McCall ↶ 326
        }
f0b06dea Andy McCall 327
      ],
328
      "view/item/context": [
486c15b0 Andy McCall ↶ 329
        {
bf73998c Andy McCall ↶ 330
          "command": "oxygenhub.openProposalChanges",
331
          "when": "view == oxygenhub.proposals && viewItem == proposal",
332
          "group": "inline"
333
        },
334
        {
486c15b0 Andy McCall ↶ 335
          "command": "oxygenhub.openOnHub",
336
          "when": "view == oxygenhub.proposals && viewItem == proposal",
337
          "group": "inline"
338
        },
339
        {
340
          "command": "oxygenhub.checkoutProposal",
341
          "when": "view == oxygenhub.proposals && viewItem == proposal",
342
          "group": "inline"
343
        },
344
        {
345
          "command": "oxygenhub.review",
346
          "when": "view == oxygenhub.proposals && viewItem == proposal",
347
          "group": "inline"
348
        },
349
        {
350
          "command": "oxygenhub.sealApproval",
351
          "when": "view == oxygenhub.proposals && viewItem == proposal",
352
          "group": "actions@1"
353
        },
354
        {
355
          "command": "oxygenhub.land",
356
          "when": "view == oxygenhub.proposals && viewItem == proposal",
357
          "group": "actions@2"
358
        },
359
        {
360
          "command": "oxygenhub.closeProposal",
361
          "when": "view == oxygenhub.proposals && viewItem == proposal",
362
          "group": "actions@3"
363
        },
364
        {
365
          "command": "oxygenhub.openOnHub",
366
          "when": "view == oxygenhub.issues && viewItem == issue",
367
          "group": "inline"
368
        },
369
        {
370
          "command": "oxygenhub.commentIssue",
371
          "when": "view == oxygenhub.issues && viewItem == issue",
372
          "group": "actions@1"
373
        },
374
        {
375
          "command": "oxygenhub.assignMe",
376
          "when": "view == oxygenhub.issues && viewItem == issue",
377
          "group": "actions@2"
378
        },
379
        {
380
          "command": "oxygenhub.closeIssue",
381
          "when": "view == oxygenhub.issues && viewItem == issue",
382
          "group": "actions@3"
383
        },
384
        {
385
          "command": "oxygenhub.reopenIssue",
386
          "when": "view == oxygenhub.issues && viewItem == issue",
387
          "group": "actions@3"
1cc0ff44 Andy McCall ↶ 388
        },
389
        {
390
          "command": "oxygenhub.draftRelease",
391
          "when": "view == oxygenhub.releases && viewItem == releaseRepo",
263de209 Andy McCall ↶ 392
          "group": "inline"
393
        },
394
        {
395
          "command": "oxygenhub.runPipeline",
396
          "when": "view == oxygenhub.flow && viewItem == flowRepo",
397
          "group": "inline"
398
        },
399
        {
400
          "command": "oxygenhub.rerunFlow",
401
          "when": "view == oxygenhub.flow && viewItem == flowRun",
402
          "group": "inline@1"
403
        },
404
        {
405
          "command": "oxygenhub.openFlowRun",
406
          "when": "view == oxygenhub.flow && viewItem =~ /^flowRun/",
407
          "group": "inline@2"
408
        },
409
        {
410
          "command": "oxygenhub.flowLog",
411
          "when": "view == oxygenhub.flow && viewItem == flowJob",
1cc0ff44 Andy McCall ↶ 412
          "group": "inline"
486c15b0 Andy McCall ↶ 413
        }
f0b06dea Andy McCall 414
      ],
415
      "comments/commentThread/context": [
486c15b0 Andy McCall ↶ 416
        {
417
          "command": "oxygenhub.reply",
418
          "when": "commentController == oxygenhub",
419
          "group": "inline"
420
        },
421
        {
422
          "command": "oxygenhub.newThread",
423
          "when": "commentController == oxygenhub && commentThreadIsEmpty",
424
          "group": "inline"
425
        }
f0b06dea Andy McCall 426
      ],
427
      "comments/commentThread/title": [
486c15b0 Andy McCall ↶ 428
        {
429
          "command": "oxygenhub.resolveThread",
430
          "when": "commentController == oxygenhub",
431
          "group": "navigation"
432
        }
bf73998c Andy McCall ↶ 433
      ],
434
      "commandPalette": [
435
        {
436
          "command": "oxygenhub.openProposalFile",
437
          "when": "false"
263de209 Andy McCall ↶ 438
        },
439
        {
440
          "command": "oxygenhub.rerunFlow",
441
          "when": "false"
442
        },
443
        {
444
          "command": "oxygenhub.flowLog",
445
          "when": "false"
446
        },
447
        {
448
          "command": "oxygenhub.openFlowRun",
449
          "when": "false"
bf73998c Andy McCall ↶ 450
        }
95f69b4a Andy McCall ↶ 451
      ],
452
      "editor/context": [
453
        {
454
          "command": "oxygenhub.issueFromSelection",
455
          "when": "resourceScheme == file",
456
          "group": "9_oxygenhub@1"
457
        }
f0b06dea Andy McCall 458
      ]
263de209 Andy McCall ↶ 459
    },
460
    "colors": [
461
      {
462
        "id": "oxygenhub.flowRunning",
463
        "description": "OxygenFlow: the icon of a run or job that is running.",
464
        "defaults": {
465
          "dark": "#35c7ff",
466
          "light": "#0a74b8",
467
          "highContrast": "#35c7ff",
468
          "highContrastLight": "#0a5a8f"
469
        }
b1047516 Andy McCall ↶ 470
      }
471
    ],
472
    "walkthroughs": [
473
      {
474
        "id": "oxygenhub.gettingStarted",
475
        "title": "Get started with OxygenHub",
476
        "description": "Sign in, propose and review, and watch OxygenFlow from the editor.",
477
        "steps": [
478
          {
479
            "id": "oxygenhub.signin",
480
            "title": "Sign in to your hub",
481
            "description": "A hub URL and a personal access token (Settings \u2192 Tokens on the hub). A self-signed hub works too: the extension uses the CA your checkout's remote names.\n[Sign In](command:oxygenhub.signIn)",
482
            "media": {
483
              "markdown": "walkthrough/signin.md"
484
            },
485
            "completionEvents": [
486
              "onCommand:oxygenhub.signIn"
487
            ]
488
          },
489
          {
490
            "id": "oxygenhub.proposals",
491
            "title": "Proposals and issues",
492
            "description": "The OxygenHub sidebar lists your repositories' proposals and issues. Open a proposal to see its changes, review it, seal your approval with your key, and land it.\n[Open OxygenHub](command:workbench.view.extension.oxygenhub)",
493
            "media": {
494
              "markdown": "walkthrough/proposals.md"
495
            },
496
            "completionEvents": [
497
              "onView:oxygenhub.proposals"
498
            ]
499
          },
500
          {
501
            "id": "oxygenhub.propose",
502
            "title": "Propose your bookmark",
503
            "description": "From a bookmark with work on it, propose it for the default bookmark. Issues its changes close are linked, and closed when it lands.\n[Create Proposal](command:oxygenhub.createProposal)",
504
            "media": {
505
              "markdown": "walkthrough/propose.md"
506
            },
507
            "completionEvents": [
508
              "onCommand:oxygenhub.createProposal"
509
            ]
510
          },
511
          {
512
            "id": "oxygenhub.flow",
513
            "title": "Watch Flow",
514
            "description": "Every push runs the repository's OxygenFlow pipeline in microVMs. The Flow view shows runs and jobs as they go; click a job for its log, live. Run Pipeline starts one without a push.\n[Run Pipeline](command:oxygenhub.runPipeline)",
515
            "media": {
516
              "markdown": "walkthrough/flow.md"
517
            },
518
            "completionEvents": [
519
              "onCommand:oxygenhub.runPipeline"
520
            ]
521
          },
522
          {
523
            "id": "oxygenhub.inbox",
524
            "title": "Your inbox",
525
            "description": "Mentions, reviews asked of you and activity on what you watch.\n[Open Inbox](command:oxygenhub.inbox)",
526
            "media": {
527
              "markdown": "walkthrough/inbox.md"
528
            },
529
            "completionEvents": [
530
              "onCommand:oxygenhub.inbox"
531
            ]
532
          }
533
        ]
263de209 Andy McCall ↶ 534
      }
535
    ]
f0b06dea Andy McCall 536
  },
537
  "scripts": {
538
    "types": "cp ../oxygenhub/crates/hub-api/ts/index.d.ts src/hubapi.d.ts",
539
    "build": "esbuild src/extension.ts --bundle --platform=node --format=cjs --external:vscode --outfile=dist/extension.js --sourcemap",
540
    "watch": "npm run build -- --watch",
541
    "typecheck": "tsc --noEmit -p .",
263de209 Andy McCall ↶ 542
    "pretest": "esbuild src/hub.ts --bundle --platform=node --format=esm --outfile=out/hub.mjs && esbuild src/provider.ts --bundle --platform=node --format=esm --outfile=out/provider.mjs && esbuild src/refs.ts --bundle --platform=node --format=esm --outfile=out/refs.mjs && esbuild src/flowview.ts --bundle --platform=node --format=esm --outfile=out/flowview.mjs",
f0b06dea Andy McCall 543
    "test": "node --test \"test/**/*.test.mjs\"",
544
    "check": "npm run typecheck && npm run build && npm test",
545
    "package": "vsce package --no-dependencies"
546
  },
547
  "devDependencies": {
548
    "@types/node": "^24.0.0",
549
    "@types/vscode": "^1.137.0",
550
    "@vscode/vsce": "^4.0.0",
551
    "esbuild": "^0.28.0",
552
    "typescript": "^5.9.0"
553
  }
554
}