latitudesh-typescript-sdk 0.3.7 → 0.3.8

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 (108) hide show
  1. package/README.md +5 -3
  2. package/bin/mcp-server.js +377 -219
  3. package/bin/mcp-server.js.map +15 -12
  4. package/dist/commonjs/funcs/kubernetesClustersListKubernetesAvailableVersions.d.ts +24 -0
  5. package/dist/commonjs/funcs/kubernetesClustersListKubernetesAvailableVersions.d.ts.map +1 -0
  6. package/dist/commonjs/funcs/kubernetesClustersListKubernetesAvailableVersions.js +118 -0
  7. package/dist/commonjs/funcs/kubernetesClustersListKubernetesAvailableVersions.js.map +1 -0
  8. package/dist/commonjs/funcs/kubernetesClustersUpdateKubernetesCluster.d.ts +14 -3
  9. package/dist/commonjs/funcs/kubernetesClustersUpdateKubernetesCluster.d.ts.map +1 -1
  10. package/dist/commonjs/funcs/kubernetesClustersUpdateKubernetesCluster.js +14 -3
  11. package/dist/commonjs/funcs/kubernetesClustersUpdateKubernetesCluster.js.map +1 -1
  12. package/dist/commonjs/lib/config.d.ts +2 -2
  13. package/dist/commonjs/lib/config.js +2 -2
  14. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  15. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  16. package/dist/commonjs/mcp-server/server.js +3 -1
  17. package/dist/commonjs/mcp-server/server.js.map +1 -1
  18. package/dist/commonjs/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.d.ts +3 -0
  19. package/dist/commonjs/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.d.ts.map +1 -0
  20. package/dist/commonjs/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.js +33 -0
  21. package/dist/commonjs/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.js.map +1 -0
  22. package/dist/commonjs/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.d.ts.map +1 -1
  23. package/dist/commonjs/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.js +14 -3
  24. package/dist/commonjs/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.js.map +1 -1
  25. package/dist/commonjs/models/index.d.ts +1 -0
  26. package/dist/commonjs/models/index.d.ts.map +1 -1
  27. package/dist/commonjs/models/index.js +1 -0
  28. package/dist/commonjs/models/index.js.map +1 -1
  29. package/dist/commonjs/models/kubernetesavailableversions.d.ts +41 -0
  30. package/dist/commonjs/models/kubernetesavailableversions.d.ts.map +1 -0
  31. package/dist/commonjs/models/kubernetesavailableversions.js +78 -0
  32. package/dist/commonjs/models/kubernetesavailableversions.js.map +1 -0
  33. package/dist/commonjs/models/kubernetesclusterdata.d.ts +27 -0
  34. package/dist/commonjs/models/kubernetesclusterdata.d.ts.map +1 -1
  35. package/dist/commonjs/models/kubernetesclusterdata.js +22 -1
  36. package/dist/commonjs/models/kubernetesclusterdata.js.map +1 -1
  37. package/dist/commonjs/models/kubernetesclusterupdateresponse.d.ts +9 -3
  38. package/dist/commonjs/models/kubernetesclusterupdateresponse.d.ts.map +1 -1
  39. package/dist/commonjs/models/kubernetesclusterupdateresponse.js +6 -1
  40. package/dist/commonjs/models/kubernetesclusterupdateresponse.js.map +1 -1
  41. package/dist/commonjs/models/updatekubernetescluster.d.ts +9 -4
  42. package/dist/commonjs/models/updatekubernetescluster.d.ts.map +1 -1
  43. package/dist/commonjs/models/updatekubernetescluster.js +4 -0
  44. package/dist/commonjs/models/updatekubernetescluster.js.map +1 -1
  45. package/dist/commonjs/sdk/kubernetesclusters.d.ts +27 -3
  46. package/dist/commonjs/sdk/kubernetesclusters.d.ts.map +1 -1
  47. package/dist/commonjs/sdk/kubernetesclusters.js +30 -3
  48. package/dist/commonjs/sdk/kubernetesclusters.js.map +1 -1
  49. package/dist/esm/funcs/kubernetesClustersListKubernetesAvailableVersions.d.ts +24 -0
  50. package/dist/esm/funcs/kubernetesClustersListKubernetesAvailableVersions.d.ts.map +1 -0
  51. package/dist/esm/funcs/kubernetesClustersListKubernetesAvailableVersions.js +82 -0
  52. package/dist/esm/funcs/kubernetesClustersListKubernetesAvailableVersions.js.map +1 -0
  53. package/dist/esm/funcs/kubernetesClustersUpdateKubernetesCluster.d.ts +14 -3
  54. package/dist/esm/funcs/kubernetesClustersUpdateKubernetesCluster.d.ts.map +1 -1
  55. package/dist/esm/funcs/kubernetesClustersUpdateKubernetesCluster.js +14 -3
  56. package/dist/esm/funcs/kubernetesClustersUpdateKubernetesCluster.js.map +1 -1
  57. package/dist/esm/lib/config.d.ts +2 -2
  58. package/dist/esm/lib/config.js +2 -2
  59. package/dist/esm/mcp-server/mcp-server.js +1 -1
  60. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  61. package/dist/esm/mcp-server/server.js +3 -1
  62. package/dist/esm/mcp-server/server.js.map +1 -1
  63. package/dist/esm/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.d.ts +3 -0
  64. package/dist/esm/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.d.ts.map +1 -0
  65. package/dist/esm/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.js +30 -0
  66. package/dist/esm/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.js.map +1 -0
  67. package/dist/esm/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.d.ts.map +1 -1
  68. package/dist/esm/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.js +14 -3
  69. package/dist/esm/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.js.map +1 -1
  70. package/dist/esm/models/index.d.ts +1 -0
  71. package/dist/esm/models/index.d.ts.map +1 -1
  72. package/dist/esm/models/index.js +1 -0
  73. package/dist/esm/models/index.js.map +1 -1
  74. package/dist/esm/models/kubernetesavailableversions.d.ts +41 -0
  75. package/dist/esm/models/kubernetesavailableversions.d.ts.map +1 -0
  76. package/dist/esm/models/kubernetesavailableversions.js +38 -0
  77. package/dist/esm/models/kubernetesavailableversions.js.map +1 -0
  78. package/dist/esm/models/kubernetesclusterdata.d.ts +27 -0
  79. package/dist/esm/models/kubernetesclusterdata.d.ts.map +1 -1
  80. package/dist/esm/models/kubernetesclusterdata.js +21 -0
  81. package/dist/esm/models/kubernetesclusterdata.js.map +1 -1
  82. package/dist/esm/models/kubernetesclusterupdateresponse.d.ts +9 -3
  83. package/dist/esm/models/kubernetesclusterupdateresponse.d.ts.map +1 -1
  84. package/dist/esm/models/kubernetesclusterupdateresponse.js +6 -1
  85. package/dist/esm/models/kubernetesclusterupdateresponse.js.map +1 -1
  86. package/dist/esm/models/updatekubernetescluster.d.ts +9 -4
  87. package/dist/esm/models/updatekubernetescluster.d.ts.map +1 -1
  88. package/dist/esm/models/updatekubernetescluster.js +4 -0
  89. package/dist/esm/models/updatekubernetescluster.js.map +1 -1
  90. package/dist/esm/sdk/kubernetesclusters.d.ts +27 -3
  91. package/dist/esm/sdk/kubernetesclusters.d.ts.map +1 -1
  92. package/dist/esm/sdk/kubernetesclusters.js +30 -3
  93. package/dist/esm/sdk/kubernetesclusters.js.map +1 -1
  94. package/jsr.json +1 -1
  95. package/package.json +3 -3
  96. package/src/funcs/kubernetesClustersListKubernetesAvailableVersions.ts +161 -0
  97. package/src/funcs/kubernetesClustersUpdateKubernetesCluster.ts +14 -3
  98. package/src/lib/config.ts +2 -2
  99. package/src/mcp-server/mcp-server.ts +1 -1
  100. package/src/mcp-server/server.ts +3 -1
  101. package/src/mcp-server/tools/kubernetesClustersListKubernetesAvailableVersions.ts +39 -0
  102. package/src/mcp-server/tools/kubernetesClustersUpdateKubernetesCluster.ts +14 -3
  103. package/src/models/index.ts +1 -0
  104. package/src/models/kubernetesavailableversions.ts +113 -0
  105. package/src/models/kubernetesclusterdata.ts +41 -0
  106. package/src/models/kubernetesclusterupdateresponse.ts +13 -3
  107. package/src/models/updatekubernetescluster.ts +13 -4
  108. package/src/sdk/kubernetesclusters.ts +36 -3
@@ -17,14 +17,15 @@ export type KubernetesClusterUpdateResponseType = ClosedEnum<
17
17
  >;
18
18
 
19
19
  /**
20
- * The update status. 'scaling' indicates nodes are being added or removed. 'unchanged' indicates the requested count matches the current count.
20
+ * The update status. 'scaling' indicates nodes are being added or removed. 'upgrading' indicates a version upgrade is in progress. 'unchanged' indicates no change was needed.
21
21
  */
22
22
  export const KubernetesClusterUpdateResponseStatus = {
23
23
  Scaling: "scaling",
24
+ Upgrading: "upgrading",
24
25
  Unchanged: "unchanged",
25
26
  } as const;
26
27
  /**
27
- * The update status. 'scaling' indicates nodes are being added or removed. 'unchanged' indicates the requested count matches the current count.
28
+ * The update status. 'scaling' indicates nodes are being added or removed. 'upgrading' indicates a version upgrade is in progress. 'unchanged' indicates no change was needed.
28
29
  */
29
30
  export type KubernetesClusterUpdateResponseStatus = ClosedEnum<
30
31
  typeof KubernetesClusterUpdateResponseStatus
@@ -36,7 +37,7 @@ export type KubernetesClusterUpdateResponseAttributes = {
36
37
  */
37
38
  name?: string | undefined;
38
39
  /**
39
- * The update status. 'scaling' indicates nodes are being added or removed. 'unchanged' indicates the requested count matches the current count.
40
+ * The update status. 'scaling' indicates nodes are being added or removed. 'upgrading' indicates a version upgrade is in progress. 'unchanged' indicates no change was needed.
40
41
  */
41
42
  status?: KubernetesClusterUpdateResponseStatus | undefined;
42
43
  /**
@@ -47,6 +48,10 @@ export type KubernetesClusterUpdateResponseAttributes = {
47
48
  * The requested number of control plane nodes. Present when scaling control plane.
48
49
  */
49
50
  controlPlaneCount?: number | null | undefined;
51
+ /**
52
+ * The target Kubernetes version. Present when upgrading version.
53
+ */
54
+ kubernetesVersion?: string | null | undefined;
50
55
  };
51
56
 
52
57
  export type KubernetesClusterUpdateResponseData = {
@@ -91,10 +96,12 @@ export const KubernetesClusterUpdateResponseAttributes$inboundSchema: z.ZodType<
91
96
  status: KubernetesClusterUpdateResponseStatus$inboundSchema.optional(),
92
97
  worker_count: z.nullable(z.number().int()).optional(),
93
98
  control_plane_count: z.nullable(z.number().int()).optional(),
99
+ kubernetes_version: z.nullable(z.string()).optional(),
94
100
  }).transform((v) => {
95
101
  return remap$(v, {
96
102
  "worker_count": "workerCount",
97
103
  "control_plane_count": "controlPlaneCount",
104
+ "kubernetes_version": "kubernetesVersion",
98
105
  });
99
106
  });
100
107
  /** @internal */
@@ -103,6 +110,7 @@ export type KubernetesClusterUpdateResponseAttributes$Outbound = {
103
110
  status?: string | undefined;
104
111
  worker_count?: number | null | undefined;
105
112
  control_plane_count?: number | null | undefined;
113
+ kubernetes_version?: string | null | undefined;
106
114
  };
107
115
 
108
116
  /** @internal */
@@ -116,10 +124,12 @@ export const KubernetesClusterUpdateResponseAttributes$outboundSchema:
116
124
  status: KubernetesClusterUpdateResponseStatus$outboundSchema.optional(),
117
125
  workerCount: z.nullable(z.number().int()).optional(),
118
126
  controlPlaneCount: z.nullable(z.number().int()).optional(),
127
+ kubernetesVersion: z.nullable(z.string()).optional(),
119
128
  }).transform((v) => {
120
129
  return remap$(v, {
121
130
  workerCount: "worker_count",
122
131
  controlPlaneCount: "control_plane_count",
132
+ kubernetesVersion: "kubernetes_version",
123
133
  });
124
134
  });
125
135
 
@@ -17,27 +17,31 @@ export type UpdateKubernetesClusterType = ClosedEnum<
17
17
  >;
18
18
 
19
19
  /**
20
- * Exactly one of worker_count or control_plane_count must be provided. These parameters are mutually exclusive.
20
+ * Provide one of: worker_count, control_plane_count (for scaling), or kubernetes_version (for upgrades). These are mutually exclusive operations.
21
21
  */
22
22
  export type UpdateKubernetesClusterAttributes = {
23
23
  /**
24
- * Desired number of worker nodes. Must be between 0 and 10. Mutually exclusive with control_plane_count.
24
+ * Desired number of worker nodes. Must be between 0 and 10. Mutually exclusive with control_plane_count and kubernetes_version.
25
25
  */
26
26
  workerCount?: number | undefined;
27
27
  /**
28
- * Desired number of control plane nodes. Minimum 1. Mutually exclusive with worker_count.
28
+ * Desired number of control plane nodes. Minimum 1. Mutually exclusive with worker_count and kubernetes_version.
29
29
  */
30
30
  controlPlaneCount?: number | undefined;
31
31
  /**
32
32
  * Plan slug for worker nodes. Required when scaling from 0 workers. Ignored when scaling an existing deployment.
33
33
  */
34
34
  workerPlan?: string | null | undefined;
35
+ /**
36
+ * Target Kubernetes version for upgrade (e.g., v1.35.0+rke2r1). Mutually exclusive with scaling operations. Must be one minor version higher than current.
37
+ */
38
+ kubernetesVersion?: string | undefined;
35
39
  };
36
40
 
37
41
  export type UpdateKubernetesClusterData = {
38
42
  type: UpdateKubernetesClusterType;
39
43
  /**
40
- * Exactly one of worker_count or control_plane_count must be provided. These parameters are mutually exclusive.
44
+ * Provide one of: worker_count, control_plane_count (for scaling), or kubernetes_version (for upgrades). These are mutually exclusive operations.
41
45
  */
42
46
  attributes: UpdateKubernetesClusterAttributes;
43
47
  };
@@ -64,11 +68,13 @@ export const UpdateKubernetesClusterAttributes$inboundSchema: z.ZodType<
64
68
  worker_count: z.number().int().optional(),
65
69
  control_plane_count: z.number().int().optional(),
66
70
  worker_plan: z.nullable(z.string()).optional(),
71
+ kubernetes_version: z.string().optional(),
67
72
  }).transform((v) => {
68
73
  return remap$(v, {
69
74
  "worker_count": "workerCount",
70
75
  "control_plane_count": "controlPlaneCount",
71
76
  "worker_plan": "workerPlan",
77
+ "kubernetes_version": "kubernetesVersion",
72
78
  });
73
79
  });
74
80
  /** @internal */
@@ -76,6 +82,7 @@ export type UpdateKubernetesClusterAttributes$Outbound = {
76
82
  worker_count?: number | undefined;
77
83
  control_plane_count?: number | undefined;
78
84
  worker_plan?: string | null | undefined;
85
+ kubernetes_version?: string | undefined;
79
86
  };
80
87
 
81
88
  /** @internal */
@@ -87,11 +94,13 @@ export const UpdateKubernetesClusterAttributes$outboundSchema: z.ZodType<
87
94
  workerCount: z.number().int().optional(),
88
95
  controlPlaneCount: z.number().int().optional(),
89
96
  workerPlan: z.nullable(z.string()).optional(),
97
+ kubernetesVersion: z.string().optional(),
90
98
  }).transform((v) => {
91
99
  return remap$(v, {
92
100
  workerCount: "worker_count",
93
101
  controlPlaneCount: "control_plane_count",
94
102
  workerPlan: "worker_plan",
103
+ kubernetesVersion: "kubernetes_version",
95
104
  });
96
105
  });
97
106
 
@@ -6,6 +6,7 @@ import { kubernetesClustersCreateKubernetesCluster } from "../funcs/kubernetesCl
6
6
  import { kubernetesClustersDeleteKubernetesCluster } from "../funcs/kubernetesClustersDeleteKubernetesCluster.js";
7
7
  import { kubernetesClustersGetKubernetesCluster } from "../funcs/kubernetesClustersGetKubernetesCluster.js";
8
8
  import { kubernetesClustersGetKubernetesClusterKubeconfig } from "../funcs/kubernetesClustersGetKubernetesClusterKubeconfig.js";
9
+ import { kubernetesClustersListKubernetesAvailableVersions } from "../funcs/kubernetesClustersListKubernetesAvailableVersions.js";
9
10
  import { kubernetesClustersListKubernetesClusters } from "../funcs/kubernetesClustersListKubernetesClusters.js";
10
11
  import { kubernetesClustersUpdateKubernetesCluster } from "../funcs/kubernetesClustersUpdateKubernetesCluster.js";
11
12
  import { ClientSDK, RequestOptions } from "../lib/sdks.js";
@@ -50,6 +51,27 @@ export class KubernetesClusters extends ClientSDK {
50
51
  ));
51
52
  }
52
53
 
54
+ /**
55
+ * List Available Kubernetes Versions
56
+ *
57
+ * @remarks
58
+ * Returns the list of available Kubernetes versions for cluster creation and upgrades. Versions are sourced from the RKE2 release channels and cached for 24 hours.
59
+ *
60
+ * Each version object includes:
61
+ * - `version`: The full version string (e.g., `v1.35.3+rke2r1`)
62
+ * - `minor`: The minor version number (e.g., `1.35`)
63
+ *
64
+ * The API returns the latest 5 supported minor versions. When upgrading clusters, you can only upgrade one minor version at a time (e.g., from 1.34 to 1.35).
65
+ */
66
+ async listKubernetesAvailableVersions(
67
+ options?: RequestOptions,
68
+ ): Promise<models.KubernetesAvailableVersions> {
69
+ return unwrapAsync(kubernetesClustersListKubernetesAvailableVersions(
70
+ this,
71
+ options,
72
+ ));
73
+ }
74
+
53
75
  /**
54
76
  * Get a Kubernetes Cluster
55
77
  *
@@ -85,10 +107,12 @@ export class KubernetesClusters extends ClientSDK {
85
107
  }
86
108
 
87
109
  /**
88
- * Scale Kubernetes Cluster
110
+ * Update Kubernetes Cluster
89
111
  *
90
112
  * @remarks
91
- * Scales the worker nodes or control plane nodes of a Kubernetes cluster. The cluster must be in `Provisioned` phase to accept updates.
113
+ * Updates a Kubernetes cluster by scaling nodes or upgrading the Kubernetes version. The cluster must be in `Provisioned` phase to accept updates.
114
+ *
115
+ * ## Scaling Operations
92
116
  *
93
117
  * Exactly one of `worker_count` or `control_plane_count` must be provided per request. You cannot scale workers and control plane nodes in the same request.
94
118
  *
@@ -98,7 +122,16 @@ export class KubernetesClusters extends ClientSDK {
98
122
  *
99
123
  * Control plane scaling has a minimum of 1 node. You cannot scale control plane nodes to zero.
100
124
  *
101
- * Returns 202 Accepted when a scaling operation is triggered. Poll the GET endpoint to monitor progress. Returns 200 OK if the requested count matches the current count (no-op).
125
+ * ## Version Upgrades
126
+ *
127
+ * Provide a `kubernetes_version` parameter to upgrade the cluster to a new Kubernetes version. Version upgrades follow these rules:
128
+ *
129
+ * - **No downgrades**: You cannot downgrade to a lower version than currently installed
130
+ * - **One minor version at a time**: You can only upgrade one minor version at a time (e.g., from 1.34 to 1.35, not from 1.34 to 1.36)
131
+ * - **Mutually exclusive**: Version upgrades cannot be combined with scaling operations in the same request
132
+ * - **Available versions only**: The target version must be in the list returned by `GET /kubernetes_clusters/available_versions`
133
+ *
134
+ * Returns 202 Accepted when an update operation is triggered. Poll the GET endpoint to monitor progress. Returns 200 OK if no change is needed (no-op).
102
135
  */
103
136
  async updateKubernetesCluster(
104
137
  request: operations.UpdateKubernetesClusterRequest,