@taskcluster/client-web 105.1.0 → 107.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taskcluster/client-web",
3
- "version": "105.1.0",
3
+ "version": "107.0.0",
4
4
  "type": "module",
5
5
  "main": "src/index.js",
6
6
  "exports": "./src/index.js",
@@ -41,6 +41,7 @@ export default class Auth extends Client {
41
41
  this.sentryDSN.entry = {"args":["project"],"category":"Sentry Credentials","method":"get","name":"sentryDSN","output":true,"query":[],"route":"/sentry/<project>/dsn","scopes":"auth:sentry:<project>","stability":"stable","type":"function"};
42
42
  this.websocktunnelToken.entry = {"args":["wstAudience","wstClient"],"category":"Websocktunnel Credentials","method":"get","name":"websocktunnelToken","output":true,"query":[],"route":"/websocktunnel/<wstAudience>/<wstClient>","scopes":"auth:websocktunnel-token:<wstAudience>/<wstClient>","stability":"stable","type":"function"};
43
43
  this.gcpCredentials.entry = {"args":["projectId","serviceAccount"],"category":"GCP Credentials","method":"get","name":"gcpCredentials","output":true,"query":[],"route":"/gcp/credentials/<projectId>/<serviceAccount>","scopes":"auth:gcp:access-token:<projectId>/<serviceAccount>","stability":"stable","type":"function"};
44
+ this.githubRepoToken.entry = {"args":["appName","owner"],"category":"Github Credentials","input":true,"method":"post","name":"githubRepoToken","output":true,"query":[],"route":"/github/<appName>/<owner>/repo-token","scopes":{"AllOf":[{"each":"auth:github-repo-token:<appName>/<owner>/<repoPerm>","for":"repoPerm","in":"repoPerms"}]},"stability":"experimental","type":"function"};
44
45
  this.authenticateHawk.entry = {"args":[],"category":"Scopes and Auth","input":true,"method":"post","name":"authenticateHawk","output":true,"query":[],"route":"/authenticate-hawk","stability":"stable","type":"function"};
45
46
  this.testAuthenticate.entry = {"args":[],"category":"Scopes and Auth","input":true,"method":"post","name":"testAuthenticate","output":true,"query":[],"route":"/test-authenticate","stability":"stable","type":"function"};
46
47
  this.testAuthenticateGet.entry = {"args":[],"category":"Scopes and Auth","method":"get","name":"testAuthenticateGet","output":true,"query":[],"route":"/test-authenticate-get/","stability":"stable","type":"function"};
@@ -344,6 +345,24 @@ export default class Auth extends Client {
344
345
 
345
346
  return this.request(this.gcpCredentials.entry, args);
346
347
  }
348
+ // Get a Github application installation token scoped to the given repositories
349
+ // and permissions, using the configured app `appName`.
350
+ // Requesting `<permission>: <level>` on `<owner>/<repo>` requires the scope
351
+ // `auth:github-repo-token:<appName>/<owner>/<repo>:<permission>:<level>`.
352
+ // Levels and permissions are matched exactly to github token permissions
353
+ // which can be found at
354
+ // https://docs.github.com/en/rest/apps/apps?apiVersion=2026-03-10#create-an-installation-access-token-for-an-app.
355
+ // While token access is widened (requesting a write token will give a read+write one)
356
+ // scopes are not. Holding `:contents:write` alone only allows requesting a `write` token.
357
+ // Both owner and repo must be in lowercase in the scope.
358
+ // The token expires after an hour but this behavior is github dependent.
359
+ // You should read the `expires` property from the response if you intend
360
+ // to maintain active credentials in your task.
361
+ githubRepoToken(...args) {
362
+ this.validate(this.githubRepoToken.entry, args);
363
+
364
+ return this.request(this.githubRepoToken.entry, args);
365
+ }
347
366
  // Validate the request signature given on input and return list of scopes
348
367
  // that the authenticating client has.
349
368
  // This method is used by other services that wish rely on Taskcluster
@@ -46,14 +46,12 @@ export default class Queue extends Client {
46
46
  this.latestArtifact.entry = {"args":["taskId","name"],"category":"Artifacts","method":"get","name":"latestArtifact","output":true,"query":[],"route":"/task/<taskId>/artifact-content/<name>","scopes":{"AllOf":[{"each":"queue:get-artifact:<name>","for":"name","in":"names"}]},"stability":"stable","type":"function"};
47
47
  this.listProvisioners.entry = {"args":[],"category":"Worker Metadata","method":"get","name":"listProvisioners","output":true,"query":["continuationToken","limit"],"route":"/provisioners","scopes":"queue:list-provisioners","stability":"deprecated","type":"function"};
48
48
  this.getProvisioner.entry = {"args":["provisionerId"],"category":"Worker Metadata","method":"get","name":"getProvisioner","output":true,"query":[],"route":"/provisioners/<provisionerId>","scopes":"queue:get-provisioner:<provisionerId>","stability":"deprecated","type":"function"};
49
- this.declareProvisioner.entry = {"args":["provisionerId"],"category":"Worker Metadata","input":true,"method":"put","name":"declareProvisioner","output":true,"query":[],"route":"/provisioners/<provisionerId>","scopes":{"AllOf":[{"each":"queue:declare-provisioner:<provisionerId>#<property>","for":"property","in":"properties"}]},"stability":"deprecated","type":"function"};
50
49
  this.pendingTasks.entry = {"args":["taskQueueId"],"category":"Worker Metadata","method":"get","name":"pendingTasks","output":true,"query":[],"route":"/pending/<taskQueueId>","scopes":"queue:pending-count:<taskQueueId>","stability":"deprecated","type":"function"};
51
50
  this.taskQueueCounts.entry = {"args":["taskQueueId"],"category":"Worker Metadata","method":"get","name":"taskQueueCounts","output":true,"query":[],"route":"/task-queues/<taskQueueId>/counts","scopes":{"AllOf":["queue:pending-count:<taskQueueId>","queue:claimed-count:<taskQueueId>"]},"stability":"stable","type":"function"};
52
51
  this.listPendingTasks.entry = {"args":["taskQueueId"],"category":"Worker Metadata","method":"get","name":"listPendingTasks","output":true,"query":["continuationToken","limit"],"route":"/task-queues/<taskQueueId>/pending","scopes":"queue:pending-list:<taskQueueId>","stability":"experimental","type":"function"};
53
52
  this.listClaimedTasks.entry = {"args":["taskQueueId"],"category":"Worker Metadata","method":"get","name":"listClaimedTasks","output":true,"query":["continuationToken","limit"],"route":"/task-queues/<taskQueueId>/claimed","scopes":"queue:claimed-list:<taskQueueId>","stability":"experimental","type":"function"};
54
53
  this.listWorkerTypes.entry = {"args":["provisionerId"],"category":"Worker Metadata","method":"get","name":"listWorkerTypes","output":true,"query":["continuationToken","limit"],"route":"/provisioners/<provisionerId>/worker-types","scopes":"queue:list-worker-types:<provisionerId>","stability":"deprecated","type":"function"};
55
54
  this.getWorkerType.entry = {"args":["provisionerId","workerType"],"category":"Worker Metadata","method":"get","name":"getWorkerType","output":true,"query":[],"route":"/provisioners/<provisionerId>/worker-types/<workerType>","scopes":"queue:get-worker-type:<provisionerId>/<workerType>","stability":"deprecated","type":"function"};
56
- this.declareWorkerType.entry = {"args":["provisionerId","workerType"],"category":"Worker Metadata","input":true,"method":"put","name":"declareWorkerType","output":true,"query":[],"route":"/provisioners/<provisionerId>/worker-types/<workerType>","scopes":{"AllOf":[{"each":"queue:declare-worker-type:<provisionerId>/<workerType>#<property>","for":"property","in":"properties"}]},"stability":"deprecated","type":"function"};
57
55
  this.listTaskQueues.entry = {"args":[],"category":"Worker Metadata","method":"get","name":"listTaskQueues","output":true,"query":["continuationToken","limit"],"route":"/task-queues","scopes":"queue:list-task-queues","stability":"stable","type":"function"};
58
56
  this.getTaskQueue.entry = {"args":["taskQueueId"],"category":"Worker Metadata","method":"get","name":"getTaskQueue","output":true,"query":[],"route":"/task-queues/<taskQueueId>","scopes":"queue:get-task-queue:<taskQueueId>","stability":"stable","type":"function"};
59
57
  this.listWorkers.entry = {"args":["provisionerId","workerType"],"category":"Worker Metadata","method":"get","name":"listWorkers","output":true,"query":["continuationToken","limit","quarantined"],"route":"/provisioners/<provisionerId>/worker-types/<workerType>/workers","scopes":"queue:list-workers:<provisionerId>/<workerType>","stability":"deprecated","type":"function"};
@@ -558,19 +556,6 @@ export default class Queue extends Client {
558
556
 
559
557
  return this.request(this.getProvisioner.entry, args);
560
558
  }
561
- // Declare a provisioner, supplying some details about it.
562
- // `declareProvisioner` allows updating one or more properties of a provisioner as long as the required scopes are
563
- // possessed. For example, a request to update the `my-provisioner`
564
- // provisioner with a body `{description: 'This provisioner is great'}` would require you to have the scope
565
- // `queue:declare-provisioner:my-provisioner#description`.
566
- // The term "provisioner" is taken broadly to mean anything with a provisionerId.
567
- // This does not necessarily mean there is an associated service performing any
568
- // provisioning activity.
569
- declareProvisioner(...args) {
570
- this.validate(this.declareProvisioner.entry, args);
571
-
572
- return this.request(this.declareProvisioner.entry, args);
573
- }
574
559
  // Get an approximate number of pending tasks for the given `taskQueueId`.
575
560
  // As task states may change rapidly, this number may not represent the exact
576
561
  // number of pending tasks, but a very good approximation.
@@ -620,16 +605,6 @@ export default class Queue extends Client {
620
605
 
621
606
  return this.request(this.getWorkerType.entry, args);
622
607
  }
623
- // Declare a workerType, supplying some details about it.
624
- // `declareWorkerType` allows updating one or more properties of a worker-type as long as the required scopes are
625
- // possessed. For example, a request to update the `highmem` worker-type within the `my-provisioner`
626
- // provisioner with a body `{description: 'This worker type is great'}` would require you to have the scope
627
- // `queue:declare-worker-type:my-provisioner/highmem#description`.
628
- declareWorkerType(...args) {
629
- this.validate(this.declareWorkerType.entry, args);
630
-
631
- return this.request(this.declareWorkerType.entry, args);
632
- }
633
608
  // Get all active task queues.
634
609
  // The response is paged. If this end-point returns a `continuationToken`, you
635
610
  // should call the end-point again with the `continuationToken` as a query-string