@ninedeploy/sdk 0.16.7 → 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.
package/dist/client.d.ts CHANGED
@@ -16,7 +16,8 @@ import { type SystemApi } from './resources/system.js';
16
16
  import { type PluginsApi } from './resources/plugins.js';
17
17
  import { type LogsApi } from './resources/logs.js';
18
18
  import { type TerminalsApi } from './resources/terminals.js';
19
- export interface NineDeployClient extends AuthApi, ServicesApi, DeploysApi, EnvApi, DomainsApi, NetworkApi, TraefikApi, DatabasesApi, VolumesApi, SourcesApi, ServersApi, TemplatesApi, SettingsApi, SystemApi, PluginsApi, LogsApi, TerminalsApi {
19
+ import { type UptimeApi } from './resources/uptime.js';
20
+ export interface NineDeployClient extends AuthApi, ServicesApi, DeploysApi, EnvApi, DomainsApi, NetworkApi, TraefikApi, DatabasesApi, VolumesApi, SourcesApi, ServersApi, TemplatesApi, SettingsApi, SystemApi, PluginsApi, LogsApi, TerminalsApi, UptimeApi {
20
21
  }
21
22
  /**
22
23
  * Create a typed NineDeploy API client. Used by both the web dashboard and the CLI.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE3E,MAAM,WAAW,gBACf,SAAQ,OAAO,EACb,WAAW,EACX,UAAU,EACV,MAAM,EACN,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,OAAO,EACP,YAAY;CAAG;AAEnB;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,uBAAuB,GAAG,gBAAgB,CAqB5E"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,WAAW,gBACf,SAAQ,OAAO,EACb,WAAW,EACX,UAAU,EACV,MAAM,EACN,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,OAAO,EACP,YAAY,EACZ,SAAS;CAAG;AAEhB;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,uBAAuB,GAAG,gBAAgB,CAsB5E"}
package/dist/client.js CHANGED
@@ -19,6 +19,7 @@ import { systemApi } from './resources/system.js';
19
19
  import { pluginsApi } from './resources/plugins.js';
20
20
  import { logsApi } from './resources/logs.js';
21
21
  import { terminalsApi } from './resources/terminals.js';
22
+ import { uptimeApi } from './resources/uptime.js';
22
23
  /**
23
24
  * Create a typed NineDeploy API client. Used by both the web dashboard and the CLI.
24
25
  *
@@ -46,6 +47,7 @@ export function createClient(opts) {
46
47
  ...pluginsApi(t),
47
48
  ...logsApi(t),
48
49
  ...terminalsApi(t),
50
+ ...uptimeApi(t),
49
51
  };
50
52
  }
51
53
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,2EAA2E;AAC3E,+CAA+C;AAC/C,OAAO,EAAE,eAAe,EAAgC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAgB,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAe,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAgB,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAqB3E;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAA6B;IACxD,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO;QACL,GAAG,OAAO,CAAC,CAAC,CAAC;QACb,GAAG,WAAW,CAAC,CAAC,CAAC;QACjB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,MAAM,CAAC,CAAC,CAAC;QACZ,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,YAAY,CAAC,CAAC,CAAC;QAClB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,YAAY,CAAC,CAAC,CAAC;QAClB,GAAG,WAAW,CAAC,CAAC,CAAC;QACjB,GAAG,SAAS,CAAC,CAAC,CAAC;QACf,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,OAAO,CAAC,CAAC,CAAC;QACb,GAAG,YAAY,CAAC,CAAC,CAAC;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,2EAA2E;AAC3E,+CAA+C;AAC/C,OAAO,EAAE,eAAe,EAAgC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAgB,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAe,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAmB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAgB,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAkB,MAAM,uBAAuB,CAAC;AAsBlE;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAA6B;IACxD,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO;QACL,GAAG,OAAO,CAAC,CAAC,CAAC;QACb,GAAG,WAAW,CAAC,CAAC,CAAC;QACjB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,MAAM,CAAC,CAAC,CAAC;QACZ,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,YAAY,CAAC,CAAC,CAAC;QAClB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,YAAY,CAAC,CAAC,CAAC;QAClB,GAAG,WAAW,CAAC,CAAC,CAAC;QACjB,GAAG,SAAS,CAAC,CAAC,CAAC;QACf,GAAG,UAAU,CAAC,CAAC,CAAC;QAChB,GAAG,OAAO,CAAC,CAAC,CAAC;QACb,GAAG,YAAY,CAAC,CAAC,CAAC;QAClB,GAAG,SAAS,CAAC,CAAC,CAAC;KAChB,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -16,4 +16,5 @@ export type { NineDeployClient } from './client.js';
16
16
  export type { AutoUrlMode, AutoUrlEffective, AutoUrlSettings, OnboardingStatus, OnboardingStepId } from './resources/settings.js';
17
17
  export type { SourceUpload } from './resources/services.js';
18
18
  export type { HostIpEntry } from './resources/network.js';
19
+ export type { MonitorCheckNowResult } from './resources/uptime.js';
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAExE,YAAY,EACV,SAAS,EACT,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,OAAO,EACP,YAAY,EACZ,MAAM,EACN,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iCAAiC,GAClC,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,QAAQ,GACT,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAClI,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAExE,YAAY,EACV,SAAS,EACT,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,OAAO,EACP,YAAY,EACZ,MAAM,EACN,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iCAAiC,GAClC,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,QAAQ,GACT,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAClI,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -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":"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"}
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":"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"}
1
+ {"version":3,"file":"deploys.js","sourceRoot":"","sources":["../../src/resources/deploys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { MonitorCheckView, MonitorCreateInput, MonitorPatch, MonitorView, PublicStatusPage, StatusPageCreateInput, StatusPagePatch, StatusPageView } from '@ninedeploy/schemas';
2
+ import type { Transport } from '../transport.js';
3
+ /** What `monitors.checkNow` answers: the recorded check and the monitor's state after it. */
4
+ export interface MonitorCheckNowResult {
5
+ check: MonitorCheckView;
6
+ monitor: MonitorView;
7
+ }
8
+ export interface UptimeApi {
9
+ monitors: {
10
+ /** Monitors the caller can see (an operator sees all), optionally of one service. */
11
+ list: (opts?: {
12
+ serviceId?: number;
13
+ }) => Promise<MonitorView[]>;
14
+ get: (id: number) => Promise<MonitorView>;
15
+ /** Checks of the last `hours` (1–168, default 24 on the server), newest first. */
16
+ checks: (id: number, opts?: {
17
+ hours?: number;
18
+ }) => Promise<MonitorCheckView[]>;
19
+ /** Operator. */
20
+ create: (input: MonitorCreateInput) => Promise<MonitorView>;
21
+ /** Operator. `enabled: false` pauses the monitor, `true` resumes it. */
22
+ update: (id: number, patch: MonitorPatch) => Promise<MonitorView>;
23
+ /** Operator. */
24
+ delete: (id: number) => Promise<{
25
+ ok: boolean;
26
+ }>;
27
+ /** Operator: run a check now and record it (state and alerts follow it). */
28
+ checkNow: (id: number) => Promise<MonitorCheckNowResult>;
29
+ };
30
+ statusPages: {
31
+ /** Operator. */
32
+ list: () => Promise<StatusPageView[]>;
33
+ get: (id: number) => Promise<StatusPageView>;
34
+ create: (input: StatusPageCreateInput) => Promise<StatusPageView>;
35
+ update: (id: number, patch: StatusPagePatch) => Promise<StatusPageView>;
36
+ delete: (id: number) => Promise<{
37
+ ok: boolean;
38
+ }>;
39
+ /** A published page as its public JSON (`GET /v1/status/:slug`, no auth needed). */
40
+ public: (slug: string) => Promise<PublicStatusPage>;
41
+ };
42
+ }
43
+ export declare function uptimeApi(t: Transport): UptimeApi;
44
+ //# sourceMappingURL=uptime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uptime.d.ts","sourceRoot":"","sources":["../../src/resources/uptime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,6FAA6F;AAC7F,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE;QACR,qFAAqF;QACrF,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,kFAAkF;QAClF,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC/E,gBAAgB;QAChB,MAAM,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5D,wEAAwE;QACxE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;QAClE,gBAAgB;QAChB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,EAAE,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACjD,4EAA4E;QAC5E,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;KAC1D,CAAC;IACF,WAAW,EAAE;QACX,gBAAgB;QAChB,IAAI,EAAE,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QACtC,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;QACxE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,EAAE,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACjD,oFAAoF;QACpF,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;KACrD,CAAC;CACH;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAqBjD"}
@@ -0,0 +1,23 @@
1
+ export function uptimeApi(t) {
2
+ const { get, send } = t;
3
+ return {
4
+ monitors: {
5
+ list: (opts) => get(`/v1/monitors${opts?.serviceId !== undefined ? `?serviceId=${opts.serviceId}` : ''}`),
6
+ get: (id) => get(`/v1/monitors/${id}`),
7
+ checks: (id, opts) => get(`/v1/monitors/${id}/checks${opts?.hours !== undefined ? `?hours=${opts.hours}` : ''}`),
8
+ create: (input) => send('POST', '/v1/monitors', input),
9
+ update: (id, patch) => send('PATCH', `/v1/monitors/${id}`, patch),
10
+ delete: (id) => send('DELETE', `/v1/monitors/${id}`),
11
+ checkNow: (id) => send('POST', `/v1/monitors/${id}/check`),
12
+ },
13
+ statusPages: {
14
+ list: () => get('/v1/status-pages'),
15
+ get: (id) => get(`/v1/status-pages/${id}`),
16
+ create: (input) => send('POST', '/v1/status-pages', input),
17
+ update: (id, patch) => send('PATCH', `/v1/status-pages/${id}`, patch),
18
+ delete: (id) => send('DELETE', `/v1/status-pages/${id}`),
19
+ public: (slug) => get(`/v1/status/${encodeURIComponent(slug)}`),
20
+ },
21
+ };
22
+ }
23
+ //# sourceMappingURL=uptime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uptime.js","sourceRoot":"","sources":["../../src/resources/uptime.ts"],"names":[],"mappings":"AA+CA,MAAM,UAAU,SAAS,CAAC,CAAY;IACpC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACxB,OAAO;QACL,QAAQ,EAAE;YACR,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAgB,eAAe,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACxH,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAc,gBAAgB,EAAE,EAAE,CAAC;YACnD,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAqB,gBAAgB,EAAE,UAAU,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACpI,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAc,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC;YACnE,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAc,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,CAAC;YAC9E,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAkB,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC;YACrE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAwB,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC;SAClF;QACD,WAAW,EAAE;YACX,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAmB,kBAAkB,CAAC;YACrD,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAiB,oBAAoB,EAAE,EAAE,CAAC;YAC1D,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAiB,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC;YAC1E,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAiB,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAAE,KAAK,CAAC;YACrF,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAkB,QAAQ,EAAE,oBAAoB,EAAE,EAAE,CAAC;YACzE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAmB,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;SAClF;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ninedeploy/sdk",
3
- "version": "0.16.7",
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.7",
28
+ "@ninedeploy/schemas": "0.16.9",
29
29
  "js-yaml": "^4.3.1"
30
30
  },
31
31
  "devDependencies": {
package/src/client.ts CHANGED
@@ -19,6 +19,7 @@ import { systemApi, type SystemApi } from './resources/system.js';
19
19
  import { pluginsApi, type PluginsApi } from './resources/plugins.js';
20
20
  import { logsApi, type LogsApi } from './resources/logs.js';
21
21
  import { terminalsApi, type TerminalsApi } from './resources/terminals.js';
22
+ import { uptimeApi, type UptimeApi } from './resources/uptime.js';
22
23
 
23
24
  export interface NineDeployClient
24
25
  extends AuthApi,
@@ -37,7 +38,8 @@ export interface NineDeployClient
37
38
  SystemApi,
38
39
  PluginsApi,
39
40
  LogsApi,
40
- TerminalsApi {}
41
+ TerminalsApi,
42
+ UptimeApi {}
41
43
 
42
44
  /**
43
45
  * Create a typed NineDeploy API client. Used by both the web dashboard and the CLI.
@@ -66,5 +68,6 @@ export function createClient(opts: NineDeployClientOptions): NineDeployClient {
66
68
  ...pluginsApi(t),
67
69
  ...logsApi(t),
68
70
  ...terminalsApi(t),
71
+ ...uptimeApi(t),
69
72
  };
70
73
  }
package/src/index.ts CHANGED
@@ -119,3 +119,4 @@ export type { NineDeployClient } from './client.js';
119
119
  export type { AutoUrlMode, AutoUrlEffective, AutoUrlSettings, OnboardingStatus, OnboardingStepId } from './resources/settings.js';
120
120
  export type { SourceUpload } from './resources/services.js';
121
121
  export type { HostIpEntry } from './resources/network.js';
122
+ export type { MonitorCheckNowResult } from './resources/uptime.js';
@@ -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`),
@@ -0,0 +1,69 @@
1
+ // Client surface: monitors, statusPages (0.16.8 uptime monitors and public status pages).
2
+ import type {
3
+ MonitorCheckView,
4
+ MonitorCreateInput,
5
+ MonitorPatch,
6
+ MonitorView,
7
+ PublicStatusPage,
8
+ StatusPageCreateInput,
9
+ StatusPagePatch,
10
+ StatusPageView,
11
+ } from '@ninedeploy/schemas';
12
+ import type { Transport } from '../transport.js';
13
+
14
+ /** What `monitors.checkNow` answers: the recorded check and the monitor's state after it. */
15
+ export interface MonitorCheckNowResult {
16
+ check: MonitorCheckView;
17
+ monitor: MonitorView;
18
+ }
19
+
20
+ export interface UptimeApi {
21
+ monitors: {
22
+ /** Monitors the caller can see (an operator sees all), optionally of one service. */
23
+ list: (opts?: { serviceId?: number }) => Promise<MonitorView[]>;
24
+ get: (id: number) => Promise<MonitorView>;
25
+ /** Checks of the last `hours` (1–168, default 24 on the server), newest first. */
26
+ checks: (id: number, opts?: { hours?: number }) => Promise<MonitorCheckView[]>;
27
+ /** Operator. */
28
+ create: (input: MonitorCreateInput) => Promise<MonitorView>;
29
+ /** Operator. `enabled: false` pauses the monitor, `true` resumes it. */
30
+ update: (id: number, patch: MonitorPatch) => Promise<MonitorView>;
31
+ /** Operator. */
32
+ delete: (id: number) => Promise<{ ok: boolean }>;
33
+ /** Operator: run a check now and record it (state and alerts follow it). */
34
+ checkNow: (id: number) => Promise<MonitorCheckNowResult>;
35
+ };
36
+ statusPages: {
37
+ /** Operator. */
38
+ list: () => Promise<StatusPageView[]>;
39
+ get: (id: number) => Promise<StatusPageView>;
40
+ create: (input: StatusPageCreateInput) => Promise<StatusPageView>;
41
+ update: (id: number, patch: StatusPagePatch) => Promise<StatusPageView>;
42
+ delete: (id: number) => Promise<{ ok: boolean }>;
43
+ /** A published page as its public JSON (`GET /v1/status/:slug`, no auth needed). */
44
+ public: (slug: string) => Promise<PublicStatusPage>;
45
+ };
46
+ }
47
+
48
+ export function uptimeApi(t: Transport): UptimeApi {
49
+ const { get, send } = t;
50
+ return {
51
+ monitors: {
52
+ list: (opts) => get<MonitorView[]>(`/v1/monitors${opts?.serviceId !== undefined ? `?serviceId=${opts.serviceId}` : ''}`),
53
+ get: (id) => get<MonitorView>(`/v1/monitors/${id}`),
54
+ checks: (id, opts) => get<MonitorCheckView[]>(`/v1/monitors/${id}/checks${opts?.hours !== undefined ? `?hours=${opts.hours}` : ''}`),
55
+ create: (input) => send<MonitorView>('POST', '/v1/monitors', input),
56
+ update: (id, patch) => send<MonitorView>('PATCH', `/v1/monitors/${id}`, patch),
57
+ delete: (id) => send<{ ok: boolean }>('DELETE', `/v1/monitors/${id}`),
58
+ checkNow: (id) => send<MonitorCheckNowResult>('POST', `/v1/monitors/${id}/check`),
59
+ },
60
+ statusPages: {
61
+ list: () => get<StatusPageView[]>('/v1/status-pages'),
62
+ get: (id) => get<StatusPageView>(`/v1/status-pages/${id}`),
63
+ create: (input) => send<StatusPageView>('POST', '/v1/status-pages', input),
64
+ update: (id, patch) => send<StatusPageView>('PATCH', `/v1/status-pages/${id}`, patch),
65
+ delete: (id) => send<{ ok: boolean }>('DELETE', `/v1/status-pages/${id}`),
66
+ public: (slug) => get<PublicStatusPage>(`/v1/status/${encodeURIComponent(slug)}`),
67
+ },
68
+ };
69
+ }