@numa-tech/numa 1.12.11 → 1.13.1

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 (59) hide show
  1. package/README.md +111 -4
  2. package/dist/application-onboarding/client.d.ts +83 -8
  3. package/dist/application-onboarding/client.js +23 -1
  4. package/dist/application-onboarding/client.js.map +1 -1
  5. package/dist/application-onboarding/commands.js +72 -6
  6. package/dist/application-onboarding/commands.js.map +1 -1
  7. package/dist/application-onboarding/schemas.d.ts +301 -58
  8. package/dist/application-onboarding/schemas.js +134 -8
  9. package/dist/application-onboarding/schemas.js.map +1 -1
  10. package/dist/application-onboarding/tui-model.d.ts +20 -0
  11. package/dist/application-onboarding/tui-model.js +362 -20
  12. package/dist/application-onboarding/tui-model.js.map +1 -1
  13. package/dist/application-onboarding/tui.d.ts +6 -1
  14. package/dist/application-onboarding/tui.js +104 -7
  15. package/dist/application-onboarding/tui.js.map +1 -1
  16. package/dist/cli.js +50 -8
  17. package/dist/cli.js.map +1 -1
  18. package/dist/clusters/client.d.ts +436 -0
  19. package/dist/clusters/client.js +207 -0
  20. package/dist/clusters/client.js.map +1 -0
  21. package/dist/clusters/commands.d.ts +11 -0
  22. package/dist/clusters/commands.js +373 -0
  23. package/dist/clusters/commands.js.map +1 -0
  24. package/dist/clusters/errors.d.ts +10 -0
  25. package/dist/clusters/errors.js +61 -0
  26. package/dist/clusters/errors.js.map +1 -0
  27. package/dist/clusters/kubeconfig-discovery.d.ts +48 -0
  28. package/dist/clusters/kubeconfig-discovery.js +280 -0
  29. package/dist/clusters/kubeconfig-discovery.js.map +1 -0
  30. package/dist/clusters/schemas.d.ts +510 -0
  31. package/dist/clusters/schemas.js +201 -0
  32. package/dist/clusters/schemas.js.map +1 -0
  33. package/dist/command-catalog.js +370 -1
  34. package/dist/command-catalog.js.map +1 -1
  35. package/dist/gitops/client.d.ts +499 -0
  36. package/dist/gitops/client.js +163 -0
  37. package/dist/gitops/client.js.map +1 -0
  38. package/dist/gitops/commands.d.ts +11 -0
  39. package/dist/gitops/commands.js +367 -0
  40. package/dist/gitops/commands.js.map +1 -0
  41. package/dist/gitops/errors.d.ts +10 -0
  42. package/dist/gitops/errors.js +59 -0
  43. package/dist/gitops/errors.js.map +1 -0
  44. package/dist/gitops/schemas.d.ts +1712 -0
  45. package/dist/gitops/schemas.js +360 -0
  46. package/dist/gitops/schemas.js.map +1 -0
  47. package/dist/repositories/client.d.ts +558 -0
  48. package/dist/repositories/client.js +215 -0
  49. package/dist/repositories/client.js.map +1 -0
  50. package/dist/repositories/commands.d.ts +13 -0
  51. package/dist/repositories/commands.js +368 -0
  52. package/dist/repositories/commands.js.map +1 -0
  53. package/dist/repositories/errors.d.ts +10 -0
  54. package/dist/repositories/errors.js +60 -0
  55. package/dist/repositories/errors.js.map +1 -0
  56. package/dist/repositories/schemas.d.ts +1724 -0
  57. package/dist/repositories/schemas.js +261 -0
  58. package/dist/repositories/schemas.js.map +1 -0
  59. package/package.json +4 -4
@@ -0,0 +1,261 @@
1
+ import { z } from "zod";
2
+ const NonEmptyString = z.string().trim().min(1);
3
+ const OptionalString = NonEmptyString.nullable().optional();
4
+ const StableNumber = z.union([
5
+ z.string().trim().regex(/^\d+$/u),
6
+ z.number().int().nonnegative()
7
+ ]).transform(String);
8
+ export const RepositoryOperationSchema = z.enum([
9
+ "CREATE", "REGISTER_EXISTING", "USE_EXISTING", "DISABLE"
10
+ ]);
11
+ export const RepositoryConsumerTypeSchema = z.enum([
12
+ "STANDALONE", "APPLICATION_ONBOARDING", "GITOPS"
13
+ ]);
14
+ export const RepositoryVisibilitySchema = z.enum(["PRIVATE", "INTERNAL", "PUBLIC"]);
15
+ export const RepositoryInitializationSchema = z.enum(["EMPTY", "README"]);
16
+ export const RepositoryRunStateSchema = z.enum([
17
+ "PENDING", "QUEUED", "RUNNING", "WAITING", "RETRYING",
18
+ "SUCCEEDED", "FAILED", "CANCELLED", "UNKNOWN"
19
+ ]);
20
+ export const ScmConnectionSummarySchema = z.object({
21
+ code: NonEmptyString,
22
+ name: NonEmptyString,
23
+ provider: NonEmptyString,
24
+ status: NonEmptyString,
25
+ capabilities: z.union([
26
+ z.array(NonEmptyString),
27
+ z.array(z.object({ code: NonEmptyString, supported: z.boolean(), reason: OptionalString })),
28
+ z.record(z.string(), z.boolean())
29
+ ]).default([]),
30
+ lastCheckedAt: OptionalString
31
+ });
32
+ export const RepositoryNamespaceSchema = z.object({
33
+ externalId: NonEmptyString,
34
+ name: NonEmptyString,
35
+ fullPath: OptionalString,
36
+ parentExternalId: OptionalString,
37
+ visibility: OptionalString,
38
+ webUrl: OptionalString
39
+ });
40
+ export const RemoteRepositorySchema = z.object({
41
+ externalId: NonEmptyString,
42
+ namespace: OptionalString,
43
+ namespaceExternalId: OptionalString,
44
+ namespacePath: OptionalString,
45
+ name: NonEmptyString,
46
+ fullName: OptionalString,
47
+ description: OptionalString,
48
+ visibility: OptionalString,
49
+ defaultBranch: OptionalString,
50
+ headRevision: OptionalString,
51
+ archived: z.boolean().optional(),
52
+ webUrl: OptionalString,
53
+ httpUrl: OptionalString,
54
+ sshUrl: OptionalString,
55
+ httpCloneUrl: OptionalString,
56
+ sshCloneUrl: OptionalString
57
+ }).transform((value) => ({
58
+ ...value,
59
+ namespacePath: value.namespacePath ?? value.namespace,
60
+ httpUrl: value.httpUrl ?? value.httpCloneUrl,
61
+ sshUrl: value.sshUrl ?? value.sshCloneUrl
62
+ }));
63
+ export const SourceRepositorySchema = z.object({
64
+ repositoryKey: NonEmptyString,
65
+ id: StableNumber.optional(),
66
+ repositoryId: StableNumber.optional(),
67
+ connectionCode: OptionalString,
68
+ provider: OptionalString,
69
+ externalId: OptionalString,
70
+ namespaceExternalId: OptionalString,
71
+ namespacePath: OptionalString,
72
+ name: OptionalString,
73
+ fullName: OptionalString,
74
+ description: OptionalString,
75
+ visibility: OptionalString,
76
+ defaultBranch: OptionalString,
77
+ lastObservedRevision: OptionalString,
78
+ observedRevision: OptionalString,
79
+ webUrl: OptionalString,
80
+ cloneUrl: OptionalString,
81
+ managementMode: OptionalString,
82
+ status: NonEmptyString,
83
+ ownerTeamId: StableNumber.nullable().optional(),
84
+ lastReconciledAt: OptionalString,
85
+ version: z.number().int().nonnegative().optional()
86
+ }).transform((value) => ({
87
+ ...value,
88
+ repositoryId: value.repositoryId ?? value.id,
89
+ observedRevision: value.observedRevision ?? value.lastObservedRevision,
90
+ migrationRequired: !value.connectionCode || !value.externalId || !value.fullName,
91
+ migrationIssues: [
92
+ ...(!value.connectionCode ? ["CONNECTION_CODE_MISSING"] : []),
93
+ ...(!value.externalId ? ["PROVIDER_EXTERNAL_ID_MISSING"] : []),
94
+ ...(!value.fullName ? ["FULL_NAME_MISSING"] : [])
95
+ ]
96
+ }));
97
+ export const RepositoryCapabilityConstraintsSchema = z.object({
98
+ supportedVisibilities: z.array(NonEmptyString).default([]),
99
+ supportedOperations: z.array(RepositoryOperationSchema).default([]),
100
+ defaultVisibility: OptionalString,
101
+ defaultBranch: OptionalString,
102
+ namePattern: OptionalString,
103
+ nameMaxLength: z.number().int().positive().optional(),
104
+ namespaceRequired: z.boolean().optional()
105
+ });
106
+ export const RepositoryCapabilitiesSchema = z.object({
107
+ contractVersion: OptionalString,
108
+ connection: ScmConnectionSummarySchema,
109
+ providerCapabilities: z.record(z.string(), z.boolean()).default({}),
110
+ allowedActions: z.array(NonEmptyString).default([]),
111
+ constraints: RepositoryCapabilityConstraintsSchema.default({
112
+ supportedVisibilities: [], supportedOperations: []
113
+ })
114
+ });
115
+ export const RepositoryPlanRequestSchema = z.object({
116
+ operation: RepositoryOperationSchema,
117
+ consumerType: RepositoryConsumerTypeSchema.optional(),
118
+ consumerRef: NonEmptyString.optional(),
119
+ ownerTeamId: StableNumber.optional(),
120
+ connectionCode: NonEmptyString.optional(),
121
+ namespaceExternalId: NonEmptyString.optional(),
122
+ name: NonEmptyString.optional(),
123
+ description: z.string().trim().max(2000).optional(),
124
+ visibility: RepositoryVisibilitySchema.optional(),
125
+ defaultBranch: NonEmptyString.optional(),
126
+ initialization: RepositoryInitializationSchema.optional(),
127
+ externalId: NonEmptyString.optional(),
128
+ repositoryKey: NonEmptyString.optional()
129
+ }).strict().superRefine((value, context) => {
130
+ const require = (field) => {
131
+ if (!value[field])
132
+ context.addIssue({ code: "custom", path: [field], message: `${field} is required for ${value.operation}` });
133
+ };
134
+ if (value.operation === "CREATE") {
135
+ require("connectionCode");
136
+ require("namespaceExternalId");
137
+ require("name");
138
+ if (value.externalId || value.repositoryKey)
139
+ context.addIssue({ code: "custom", message: "CREATE cannot select an existing repository" });
140
+ }
141
+ else if (value.operation === "REGISTER_EXISTING") {
142
+ require("connectionCode");
143
+ require("externalId");
144
+ if (value.namespaceExternalId || value.name || value.repositoryKey || value.initialization) {
145
+ context.addIssue({ code: "custom", message: "REGISTER_EXISTING accepts only connectionCode and provider externalId; namespace and name come from server observation" });
146
+ }
147
+ }
148
+ else {
149
+ require("repositoryKey");
150
+ if (value.connectionCode || value.namespaceExternalId || value.name || value.externalId
151
+ || value.description || value.visibility || value.defaultBranch || value.initialization) {
152
+ context.addIssue({ code: "custom", message: `${value.operation} accepts only the platform repositoryKey` });
153
+ }
154
+ }
155
+ });
156
+ const PlanMessageSchema = z.union([
157
+ NonEmptyString,
158
+ z.object({ path: OptionalString, code: OptionalString, message: NonEmptyString })
159
+ ]);
160
+ export const RepositoryPlanSchema = z.object({
161
+ planNo: NonEmptyString,
162
+ operation: RepositoryOperationSchema,
163
+ state: NonEmptyString,
164
+ planHash: NonEmptyString,
165
+ normalizedSpec: z.record(z.string(), z.unknown()).default({}),
166
+ sideEffects: z.array(z.unknown()).default([]),
167
+ warnings: z.array(PlanMessageSchema).default([]),
168
+ blockers: z.array(PlanMessageSchema).default([]),
169
+ expiresAt: OptionalString
170
+ });
171
+ export const RepositoryRunCreateSchema = z.object({
172
+ planNo: NonEmptyString,
173
+ planHash: NonEmptyString,
174
+ clientRequestId: NonEmptyString
175
+ }).strict();
176
+ export const RepositoryRunSchema = z.object({
177
+ runNo: NonEmptyString,
178
+ planNo: NonEmptyString,
179
+ state: RepositoryRunStateSchema.or(NonEmptyString),
180
+ stepCode: OptionalString,
181
+ repository: SourceRepositorySchema.nullable().optional(),
182
+ retryable: z.boolean().default(false),
183
+ errorCode: OptionalString,
184
+ errorMessage: OptionalString,
185
+ clientRequestId: OptionalString,
186
+ createdAt: OptionalString,
187
+ startedAt: OptionalString,
188
+ updatedAt: OptionalString,
189
+ finishedAt: OptionalString,
190
+ completedAt: OptionalString
191
+ });
192
+ const CanonicalRepositoryRunEventSchema = z.object({
193
+ sequence: z.number().int().nonnegative(),
194
+ eventType: NonEmptyString.optional(),
195
+ type: NonEmptyString.optional(),
196
+ state: OptionalString,
197
+ stepCode: OptionalString,
198
+ message: OptionalString,
199
+ createdAt: NonEmptyString,
200
+ details: z.record(z.string(), z.unknown()).optional()
201
+ }).refine((value) => Boolean(value.eventType || value.type), { message: "eventType or type is required" });
202
+ const RepositoryRunEventDtoSchema = z.object({
203
+ sequenceNo: z.number().int().nonnegative(),
204
+ eventType: NonEmptyString,
205
+ state: OptionalString,
206
+ stepCode: OptionalString,
207
+ message: OptionalString,
208
+ errorCode: OptionalString,
209
+ retryable: z.boolean().optional(),
210
+ occurredAt: OptionalString
211
+ }).transform((value) => ({
212
+ ...value,
213
+ sequence: value.sequenceNo,
214
+ type: undefined,
215
+ createdAt: value.occurredAt
216
+ }));
217
+ export const RepositoryRunEventSchema = z.union([
218
+ RepositoryRunEventDtoSchema,
219
+ CanonicalRepositoryRunEventSchema
220
+ ]);
221
+ export const RepositoryRunEventListSchema = z.object({
222
+ items: z.array(RepositoryRunEventSchema),
223
+ nextSequence: z.number().int().nonnegative().nullable().default(null)
224
+ });
225
+ function listEnvelope(item) {
226
+ const envelope = z.object({
227
+ items: z.array(item).optional(),
228
+ content: z.array(item).optional(),
229
+ nextCursor: z.string().nullable().optional(),
230
+ hasMore: z.boolean().optional(),
231
+ total: z.number().int().nonnegative().optional(),
232
+ page: z.number().int().nonnegative().optional(),
233
+ size: z.number().int().positive().optional()
234
+ }).passthrough().refine((value) => value.items != null || value.content != null, { message: "items or content is required" });
235
+ return z.union([envelope, z.array(item)]).transform((value) => Array.isArray(value)
236
+ ? { items: value, nextCursor: null, hasMore: false }
237
+ : {
238
+ items: value.items ?? value.content ?? [],
239
+ nextCursor: value.nextCursor ?? null,
240
+ hasMore: value.hasMore ?? Boolean(value.nextCursor),
241
+ ...(value.total == null ? {} : { total: value.total }),
242
+ ...(value.page == null ? {} : { page: value.page }),
243
+ ...(value.size == null ? {} : { size: value.size })
244
+ });
245
+ }
246
+ export const ScmConnectionListSchema = listEnvelope(ScmConnectionSummarySchema);
247
+ export const RepositoryNamespaceListSchema = listEnvelope(RepositoryNamespaceSchema);
248
+ export const RemoteRepositoryListSchema = listEnvelope(RemoteRepositorySchema);
249
+ export const SourceRepositoryListSchema = listEnvelope(SourceRepositorySchema);
250
+ export const RepositoryRunListSchema = listEnvelope(RepositoryRunSchema);
251
+ const ApiErrorBodySchema = z.object({
252
+ code: z.string().optional(),
253
+ message: z.string().optional(),
254
+ requestId: z.string().optional(),
255
+ details: z.unknown().optional()
256
+ });
257
+ export const RepositoryApiErrorSchema = z.union([
258
+ z.object({ error: ApiErrorBodySchema }).transform((value) => value.error),
259
+ ApiErrorBodySchema
260
+ ]);
261
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/repositories/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@numa-tech/numa",
3
- "version": "1.12.11",
3
+ "version": "1.13.1",
4
4
  "description": "Cross-platform CLI for the Numa internal developer platform with Keycloak authentication and MCP support.",
5
5
  "author": "numa-tech",
6
6
  "keywords": [
@@ -32,7 +32,7 @@
32
32
  "typecheck": "turbo run typecheck root:typecheck",
33
33
  "root:typecheck": "tsc --noEmit",
34
34
  "test": "turbo run test root:test",
35
- "root:test": "node --import tsx --test src/branding.test.ts src/app-config.test.ts src/platform-profile.test.ts src/identity.test.ts src/backend.test.ts src/oauth.test.ts src/web-console.test.ts src/cli-options.test.ts src/ai-registry/client.test.ts src/ai-registry/workspace.test.ts src/ai-registry/namespace.test.ts src/ai-registry/sync.test.ts src/ai-registry/bridge.test.ts src/ai-registry/skill-installer.test.ts src/ai-registry/mcp-installer.test.ts src/media/client.test.ts src/media/commands.test.ts src/media/transfers.test.ts src/pipeline/client.test.ts src/pipeline/commands.test.ts src/authorization/client.test.ts src/authorization/commands.test.ts src/authorization/access-request-client.test.ts src/authorization/access-request-commands.test.ts src/application-candidates/client.test.ts src/application-candidates/commands.test.ts src/application-onboarding/client.test.ts src/application-onboarding/commands.test.ts src/application-onboarding/tui.test.ts src/chatgpt-desktop.test.ts src/codex-integration.test.ts scripts/release-all.test.mjs",
35
+ "root:test": "node --import tsx --test src/branding.test.ts src/app-config.test.ts src/platform-profile.test.ts src/identity.test.ts src/backend.test.ts src/oauth.test.ts src/web-console.test.ts src/cli-options.test.ts src/ai-registry/client.test.ts src/ai-registry/workspace.test.ts src/ai-registry/namespace.test.ts src/ai-registry/sync.test.ts src/ai-registry/bridge.test.ts src/ai-registry/skill-installer.test.ts src/ai-registry/mcp-installer.test.ts src/media/client.test.ts src/media/commands.test.ts src/media/transfers.test.ts src/pipeline/client.test.ts src/pipeline/commands.test.ts src/gitops/client.test.ts src/gitops/commands.test.ts src/repositories/client.test.ts src/repositories/commands.test.ts src/clusters/client.test.ts src/clusters/commands.test.ts src/clusters/kubeconfig-discovery.test.ts src/authorization/client.test.ts src/authorization/commands.test.ts src/authorization/access-request-client.test.ts src/authorization/access-request-commands.test.ts src/application-candidates/client.test.ts src/application-candidates/commands.test.ts src/application-onboarding/client.test.ts src/application-onboarding/commands.test.ts src/application-onboarding/tui.test.ts src/chatgpt-desktop.test.ts src/codex-integration.test.ts scripts/release-all.test.mjs",
36
36
  "pack:check": "turbo run pack:check root:pack:check",
37
37
  "root:pack:check": "node scripts/check-root-package.mjs",
38
38
  "boundaries": "node scripts/check-workspace-boundaries.mjs",
@@ -55,8 +55,8 @@
55
55
  "dependencies": {
56
56
  "@clack/prompts": "^1.7.0",
57
57
  "@modelcontextprotocol/sdk": "^1.29.0",
58
- "@numa-tech/cli-auth": "1.12.11",
59
- "@tokensrc/codex": "1.12.11",
58
+ "@numa-tech/cli-auth": "1.13.1",
59
+ "@tokensrc/codex": "1.13.1",
60
60
  "commander": "^14.0.3",
61
61
  "ink": "^6.8.0",
62
62
  "open": "^10.2.0",