@ninedeploy/sdk 0.16.8 → 0.16.9
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AnalyzeRepoInput, WebhookCreate, CreatedWebhook, Deployment, QueueResponse, AiConfigStatus, AiConfigUpdate, RepoInsights, TriggerDeploy, Webhook, ImageTransfer } from '@ninedeploy/schemas';
|
|
1
|
+
import type { AnalyzeRepoInput, CanaryStatusView, WebhookCreate, CreatedWebhook, Deployment, QueueResponse, AiConfigStatus, AiConfigUpdate, RepoInsights, TriggerDeploy, Webhook, ImageTransfer } from '@ninedeploy/schemas';
|
|
2
2
|
import type { JobKind, ScheduledJob, JobRun } from '../types.js';
|
|
3
3
|
import type { Transport } from '../transport.js';
|
|
4
4
|
export interface DeploysApi {
|
|
@@ -59,6 +59,19 @@ export interface DeploysApi {
|
|
|
59
59
|
}>;
|
|
60
60
|
/** Image transfers of one deployment (`GET /v1/deployments/:id/image-transfers`, any seat on its service). */
|
|
61
61
|
imageTransfers: (deploymentId: number) => Promise<ImageTransfer[]>;
|
|
62
|
+
/**
|
|
63
|
+
* The canary of the service's deploy in progress (`active: false` when
|
|
64
|
+
* none is running): step, traffic weight and what each release measured.
|
|
65
|
+
*/
|
|
66
|
+
canary: (serviceId: number) => Promise<CanaryStatusView>;
|
|
67
|
+
/**
|
|
68
|
+
* Send all traffic to the canary release now and finish the deploy.
|
|
69
|
+
* Fails with `400 no_canary` when that deployment has no canary in
|
|
70
|
+
* progress. To stop a canary instead, `cancel` the deployment.
|
|
71
|
+
*/
|
|
72
|
+
promoteCanary: (serviceId: number, deploymentId: number) => Promise<{
|
|
73
|
+
ok: true;
|
|
74
|
+
}>;
|
|
62
75
|
};
|
|
63
76
|
webhooks: {
|
|
64
77
|
list: (serviceId: number) => Promise<Webhook[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploys.d.ts","sourceRoot":"","sources":["../../src/resources/deploys.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,aAAa,EACb,OAAO,EACP,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QACP;;;;WAIG;QACH,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACtH,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACnD;;;;;WAKG;QACH,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;QAClD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACzF,mFAAmF;QACnF,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC9F;;;;WAIG;QACH,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1F,mEAAmE;QACnE,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAChK,yEAAyE;QACzE,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;QACpE;;;;WAIG;QACH,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAEjJ,8GAA8G;QAC9G,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"deploys.d.ts","sourceRoot":"","sources":["../../src/resources/deploys.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export function deploysApi(t) {
|
|
|
14
14
|
// ── 0.16 T8 surfaces ──
|
|
15
15
|
imageTransfers: (deploymentId) => get(`/v1/deployments/${deploymentId}/image-transfers`),
|
|
16
16
|
// ── end 0.16 T8 ──
|
|
17
|
+
canary: (serviceId) => get(`/v1/services/${serviceId}/canary`),
|
|
18
|
+
promoteCanary: (serviceId, deploymentId) => send('POST', `/v1/services/${serviceId}/deploys/${deploymentId}/canary/promote`),
|
|
17
19
|
},
|
|
18
20
|
webhooks: {
|
|
19
21
|
list: (serviceId) => get(`/v1/services/${serviceId}/webhooks`),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploys.js","sourceRoot":"","sources":["../../src/resources/deploys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploys.js","sourceRoot":"","sources":["../../src/resources/deploys.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ninedeploy/sdk",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.9",
|
|
4
4
|
"description": "Official TypeScript SDK for NineDeploy PaaS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@ninedeploy/schemas": "0.16.
|
|
28
|
+
"@ninedeploy/schemas": "0.16.9",
|
|
29
29
|
"js-yaml": "^4.3.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
package/src/resources/deploys.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// surface is re-exported unchanged from there.
|
|
4
4
|
import type {
|
|
5
5
|
AnalyzeRepoInput,
|
|
6
|
+
CanaryStatusView,
|
|
6
7
|
WebhookCreate,
|
|
7
8
|
CreatedWebhook,
|
|
8
9
|
Deployment,
|
|
@@ -56,6 +57,18 @@ export interface DeploysApi {
|
|
|
56
57
|
/** Image transfers of one deployment (`GET /v1/deployments/:id/image-transfers`, any seat on its service). */
|
|
57
58
|
imageTransfers: (deploymentId: number) => Promise<ImageTransfer[]>;
|
|
58
59
|
// ── end 0.16 T8 ──
|
|
60
|
+
// ── 0.16.9 canary releases ──
|
|
61
|
+
/**
|
|
62
|
+
* The canary of the service's deploy in progress (`active: false` when
|
|
63
|
+
* none is running): step, traffic weight and what each release measured.
|
|
64
|
+
*/
|
|
65
|
+
canary: (serviceId: number) => Promise<CanaryStatusView>;
|
|
66
|
+
/**
|
|
67
|
+
* Send all traffic to the canary release now and finish the deploy.
|
|
68
|
+
* Fails with `400 no_canary` when that deployment has no canary in
|
|
69
|
+
* progress. To stop a canary instead, `cancel` the deployment.
|
|
70
|
+
*/
|
|
71
|
+
promoteCanary: (serviceId: number, deploymentId: number) => Promise<{ ok: true }>;
|
|
59
72
|
};
|
|
60
73
|
webhooks: {
|
|
61
74
|
list: (serviceId: number) => Promise<Webhook[]>;
|
|
@@ -125,6 +138,9 @@ export function deploysApi(t: Transport): DeploysApi {
|
|
|
125
138
|
// ── 0.16 T8 surfaces ──
|
|
126
139
|
imageTransfers: (deploymentId) => get<ImageTransfer[]>(`/v1/deployments/${deploymentId}/image-transfers`),
|
|
127
140
|
// ── end 0.16 T8 ──
|
|
141
|
+
canary: (serviceId) => get<CanaryStatusView>(`/v1/services/${serviceId}/canary`),
|
|
142
|
+
promoteCanary: (serviceId, deploymentId) =>
|
|
143
|
+
send<{ ok: true }>('POST', `/v1/services/${serviceId}/deploys/${deploymentId}/canary/promote`),
|
|
128
144
|
},
|
|
129
145
|
webhooks: {
|
|
130
146
|
list: (serviceId) => get<Webhook[]>(`/v1/services/${serviceId}/webhooks`),
|