devhelm 0.1.3 → 0.1.5

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 (95) hide show
  1. package/dist/commands/alert-channels/test.js +2 -5
  2. package/dist/commands/alert-channels/test.js.map +1 -1
  3. package/dist/commands/api-keys/revoke.js +1 -2
  4. package/dist/commands/api-keys/revoke.js.map +1 -1
  5. package/dist/commands/auth/login.js +7 -12
  6. package/dist/commands/auth/login.js.map +1 -1
  7. package/dist/commands/auth/me.js +6 -8
  8. package/dist/commands/auth/me.js.map +1 -1
  9. package/dist/commands/data/services/status.js +2 -5
  10. package/dist/commands/data/services/status.js.map +1 -1
  11. package/dist/commands/data/services/uptime.js +5 -8
  12. package/dist/commands/data/services/uptime.js.map +1 -1
  13. package/dist/commands/dependencies/track.js +2 -5
  14. package/dist/commands/dependencies/track.js.map +1 -1
  15. package/dist/commands/deploy/force-unlock.js +57 -0
  16. package/dist/commands/deploy/force-unlock.js.map +1 -0
  17. package/dist/commands/deploy/index.js +234 -0
  18. package/dist/commands/deploy/index.js.map +1 -0
  19. package/dist/commands/incidents/resolve.js +2 -7
  20. package/dist/commands/incidents/resolve.js.map +1 -1
  21. package/dist/commands/init.js +102 -27
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/commands/monitors/pause.js +2 -5
  24. package/dist/commands/monitors/pause.js.map +1 -1
  25. package/dist/commands/monitors/results.js +7 -10
  26. package/dist/commands/monitors/results.js.map +1 -1
  27. package/dist/commands/monitors/resume.js +2 -5
  28. package/dist/commands/monitors/resume.js.map +1 -1
  29. package/dist/commands/monitors/test.js +2 -5
  30. package/dist/commands/monitors/test.js.map +1 -1
  31. package/dist/commands/monitors/versions/get.js +22 -0
  32. package/dist/commands/monitors/versions/get.js.map +1 -0
  33. package/dist/commands/monitors/versions/list.js +29 -0
  34. package/dist/commands/monitors/versions/list.js.map +1 -0
  35. package/dist/commands/notification-policies/test.js +1 -2
  36. package/dist/commands/notification-policies/test.js.map +1 -1
  37. package/dist/commands/plan.js +96 -0
  38. package/dist/commands/plan.js.map +1 -0
  39. package/dist/commands/status.js +4 -6
  40. package/dist/commands/status.js.map +1 -1
  41. package/dist/commands/validate.js +79 -39
  42. package/dist/commands/validate.js.map +1 -1
  43. package/dist/commands/webhooks/test.js +2 -5
  44. package/dist/commands/webhooks/test.js.map +1 -1
  45. package/dist/lib/api-client.js +38 -4
  46. package/dist/lib/api-client.js.map +1 -1
  47. package/dist/lib/auth.js +6 -1
  48. package/dist/lib/auth.js.map +1 -1
  49. package/dist/lib/base-command.js +3 -0
  50. package/dist/lib/base-command.js.map +1 -1
  51. package/dist/lib/crud-commands.js +12 -23
  52. package/dist/lib/crud-commands.js.map +1 -1
  53. package/dist/lib/descriptions.generated.js +7 -3
  54. package/dist/lib/descriptions.generated.js.map +1 -1
  55. package/dist/lib/errors.js +2 -13
  56. package/dist/lib/errors.js.map +1 -1
  57. package/dist/lib/output.js.map +1 -1
  58. package/dist/lib/resource-types.js +2 -0
  59. package/dist/lib/resource-types.js.map +1 -0
  60. package/dist/lib/resources.js +24 -7
  61. package/dist/lib/resources.js.map +1 -1
  62. package/dist/lib/typed-api.js +15 -0
  63. package/dist/lib/typed-api.js.map +1 -0
  64. package/dist/lib/yaml/applier.js +117 -0
  65. package/dist/lib/yaml/applier.js.map +1 -0
  66. package/dist/lib/yaml/differ.js +166 -0
  67. package/dist/lib/yaml/differ.js.map +1 -0
  68. package/dist/lib/yaml/entitlements.js +69 -0
  69. package/dist/lib/yaml/entitlements.js.map +1 -0
  70. package/dist/lib/yaml/handlers.js +480 -0
  71. package/dist/lib/yaml/handlers.js.map +1 -0
  72. package/dist/lib/yaml/index.js +10 -0
  73. package/dist/lib/yaml/index.js.map +1 -0
  74. package/dist/lib/yaml/interpolation.js +77 -0
  75. package/dist/lib/yaml/interpolation.js.map +1 -0
  76. package/dist/lib/yaml/parser.js +140 -0
  77. package/dist/lib/yaml/parser.js.map +1 -0
  78. package/dist/lib/yaml/resolver.js +54 -0
  79. package/dist/lib/yaml/resolver.js.map +1 -0
  80. package/dist/lib/yaml/schema.js +42 -0
  81. package/dist/lib/yaml/schema.js.map +1 -0
  82. package/dist/lib/yaml/state.js +43 -0
  83. package/dist/lib/yaml/state.js.map +1 -0
  84. package/dist/lib/yaml/transform.js +182 -0
  85. package/dist/lib/yaml/transform.js.map +1 -0
  86. package/dist/lib/yaml/types.js +7 -0
  87. package/dist/lib/yaml/types.js.map +1 -0
  88. package/dist/lib/yaml/validator.js +433 -0
  89. package/dist/lib/yaml/validator.js.map +1 -0
  90. package/oclif.manifest.json +535 -264
  91. package/package.json +3 -1
  92. package/dist/commands/incidents/delete.js +0 -4
  93. package/dist/commands/incidents/delete.js.map +0 -1
  94. package/dist/commands/incidents/update.js +0 -4
  95. package/dist/commands/incidents/update.js.map +0 -1
@@ -75,15 +75,21 @@ export const MONITORS = {
75
75
  if (raw.frequency)
76
76
  body.frequencySeconds = Number(raw.frequency);
77
77
  if (raw.url !== undefined || raw.method !== undefined) {
78
- body.config = { monitorType: 'HTTP', url: raw.url, method: raw.method || 'GET' };
78
+ body.config = { url: raw.url, method: raw.method || 'GET' };
79
79
  }
80
80
  return body;
81
81
  },
82
82
  };
83
+ /**
84
+ * Generated config types extend `Record<string, never>` (OAS generator artifact for
85
+ * abstract base class MonitorConfig), which prevents direct object literal assignment.
86
+ * The single cast at the end is the narrowest workaround.
87
+ */
83
88
  function buildMonitorConfig(type, raw) {
89
+ const method = raw.method || 'GET';
84
90
  switch (type) {
85
91
  case 'HTTP':
86
- return { url: String(raw.url ?? ''), method: raw.method || 'GET' };
92
+ return { url: String(raw.url ?? ''), method };
87
93
  case 'TCP':
88
94
  return { host: String(raw.url ?? ''), port: raw.port ? Number(raw.port) : 443 };
89
95
  case 'DNS':
@@ -176,7 +182,7 @@ export const ALERT_CHANNELS = {
176
182
  }
177
183
  const body = {};
178
184
  if (raw.name !== undefined)
179
- body.name = raw.name;
185
+ body.name = String(raw.name);
180
186
  if (config !== undefined)
181
187
  body.config = config;
182
188
  return body;
@@ -214,6 +220,18 @@ export const NOTIFICATION_POLICIES = {
214
220
  };
215
221
  return body;
216
222
  },
223
+ updateBodyBuilder: (raw) => {
224
+ const body = {};
225
+ if (raw.name !== undefined)
226
+ body.name = String(raw.name);
227
+ if (raw.enabled !== undefined)
228
+ body.enabled = raw.enabled;
229
+ if (raw['channel-ids'] !== undefined) {
230
+ const channelIds = String(raw['channel-ids']).split(',').map((s) => s.trim()).filter(Boolean);
231
+ body.escalation = { steps: [{ channelIds, delayMinutes: 0 }] };
232
+ }
233
+ return body;
234
+ },
217
235
  };
218
236
  export const ENVIRONMENTS = {
219
237
  name: 'environment',
@@ -229,11 +247,9 @@ export const ENVIRONMENTS = {
229
247
  createFlags: {
230
248
  name: Flags.string({ description: desc('CreateEnvironmentRequest', 'name'), required: true }),
231
249
  slug: Flags.string({ description: desc('CreateEnvironmentRequest', 'slug'), required: true }),
232
- color: Flags.string({ description: desc('CreateTagRequest', 'color', 'Color hex code') }),
233
250
  },
234
251
  updateFlags: {
235
252
  name: Flags.string({ description: desc('UpdateEnvironmentRequest', 'name') }),
236
- color: Flags.string({ description: 'New color hex code' }),
237
253
  },
238
254
  };
239
255
  export const SECRETS = {
@@ -315,12 +331,12 @@ export const WEBHOOKS = {
315
331
  bodyBuilder: (raw) => {
316
332
  const body = {};
317
333
  if (raw.url !== undefined)
318
- body.url = raw.url;
334
+ body.url = String(raw.url);
319
335
  if (raw.events !== undefined) {
320
336
  body.subscribedEvents = String(raw.events).split(',').map((s) => s.trim()).filter(Boolean);
321
337
  }
322
338
  if (raw.description !== undefined)
323
- body.description = raw.description;
339
+ body.description = String(raw.description);
324
340
  return body;
325
341
  },
326
342
  };
@@ -350,6 +366,7 @@ export const DEPENDENCIES = {
350
366
  name: 'dependency',
351
367
  plural: 'dependencies',
352
368
  apiPath: '/api/v1/service-subscriptions',
369
+ idField: 'subscriptionId',
353
370
  columns: [
354
371
  { header: 'ID', get: (r) => r.subscriptionId ?? '' },
355
372
  { header: 'SERVICE', get: (r) => r.name ?? '' },
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/lib/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/lib/resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { apiGet } from './api-client.js';
2
+ const API_PAGE_SIZE = 200;
3
+ export async function fetchPaginated(client, path) {
4
+ const results = [];
5
+ let page = 0;
6
+ while (true) {
7
+ const resp = await apiGet(client, path, { query: { page, size: API_PAGE_SIZE } });
8
+ results.push(...(resp.data ?? []));
9
+ if (!resp.hasNext)
10
+ break;
11
+ page++;
12
+ }
13
+ return results;
14
+ }
15
+ //# sourceMappingURL=typed-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-api.js","sourceRoot":"","sources":["../../src/lib/typed-api.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAA;AAOtC,MAAM,aAAa,GAAG,GAAG,CAAA;AAEzB,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAiB,EACjB,IAAY;IAEZ,MAAM,OAAO,GAAY,EAAE,CAAA;IAC3B,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAA2B,MAAM,EAAE,IAAI,EAAE,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAC,EAAC,CAAC,CAAA;QACvG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAK;QACxB,IAAI,EAAE,CAAA;IACR,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,117 @@
1
+ import { checkedFetch, apiDelete } from '../api-client.js';
2
+ import { HANDLER_MAP } from './handlers.js';
3
+ /**
4
+ * Apply the changeset to the API. Returns results with successes/failures.
5
+ * Updates refs in-place as new resources are created (for downstream refs).
6
+ */
7
+ export async function apply(changeset, refs, client) {
8
+ const succeeded = [];
9
+ const failed = [];
10
+ const stateEntries = [];
11
+ for (const change of changeset.creates) {
12
+ try {
13
+ const handler = lookupHandler(change.resourceType, 'create');
14
+ const id = await handler.applyCreate(change.desired, refs, client);
15
+ if (id) {
16
+ refs.set(handler.refType, change.refKey, {
17
+ id, refKey: change.refKey, raw: change.desired,
18
+ });
19
+ stateEntries.push({
20
+ resourceType: change.resourceType,
21
+ refKey: change.refKey,
22
+ id,
23
+ createdAt: new Date().toISOString(),
24
+ });
25
+ succeeded.push({ action: 'create', resourceType: change.resourceType, refKey: change.refKey, id });
26
+ }
27
+ else {
28
+ failed.push({
29
+ action: 'create', resourceType: change.resourceType,
30
+ refKey: change.refKey, error: 'Create succeeded but API returned no resource ID',
31
+ });
32
+ }
33
+ }
34
+ catch (err) {
35
+ failed.push({
36
+ action: 'create', resourceType: change.resourceType,
37
+ refKey: change.refKey, error: errorMessage(err),
38
+ });
39
+ }
40
+ }
41
+ for (const change of changeset.updates) {
42
+ try {
43
+ const handler = lookupHandler(change.resourceType, 'update');
44
+ await handler.applyUpdate(change.desired, change.existingId, refs, client);
45
+ succeeded.push({ action: 'update', resourceType: change.resourceType, refKey: change.refKey, id: change.existingId });
46
+ if (change.existingId) {
47
+ stateEntries.push({
48
+ resourceType: change.resourceType,
49
+ refKey: change.refKey,
50
+ id: change.existingId,
51
+ createdAt: new Date().toISOString(),
52
+ });
53
+ }
54
+ }
55
+ catch (err) {
56
+ failed.push({
57
+ action: 'update', resourceType: change.resourceType,
58
+ refKey: change.refKey, error: errorMessage(err),
59
+ });
60
+ }
61
+ }
62
+ for (const change of changeset.deletes) {
63
+ try {
64
+ const handler = lookupHandler(change.resourceType, 'delete');
65
+ await apiDelete(client, handler.deletePath(change.existingId, change.refKey));
66
+ succeeded.push({ action: 'delete', resourceType: change.resourceType, refKey: change.refKey });
67
+ }
68
+ catch (err) {
69
+ failed.push({
70
+ action: 'delete', resourceType: change.resourceType,
71
+ refKey: change.refKey, error: errorMessage(err),
72
+ });
73
+ }
74
+ }
75
+ for (const change of changeset.memberships) {
76
+ try {
77
+ await applyMembership(change, refs, client);
78
+ const icon = change.action === 'delete' ? 'remove' : 'add';
79
+ succeeded.push({ action: icon, resourceType: 'groupMembership', refKey: change.refKey });
80
+ }
81
+ catch (err) {
82
+ failed.push({
83
+ action: change.action, resourceType: 'groupMembership',
84
+ refKey: change.refKey, error: errorMessage(err),
85
+ });
86
+ }
87
+ }
88
+ return { succeeded, failed, stateEntries };
89
+ }
90
+ async function applyMembership(change, refs, client) {
91
+ if (change.action === 'delete') {
92
+ const payload = change.desired;
93
+ await apiDelete(client, `/api/v1/resource-groups/${payload.groupId}/members/${payload.memberId}`);
94
+ return;
95
+ }
96
+ const desired = change.desired;
97
+ const groupId = refs.require('resourceGroups', desired.groupName);
98
+ const memberType = desired.memberType;
99
+ let memberId;
100
+ if (memberType === 'monitor') {
101
+ memberId = refs.require('monitors', desired.memberRef);
102
+ }
103
+ else {
104
+ memberId = refs.require('dependencies', desired.memberRef);
105
+ }
106
+ await checkedFetch(client.POST('/api/v1/resource-groups/{id}/members', { params: { path: { id: groupId } }, body: { memberType, memberId } }));
107
+ }
108
+ function lookupHandler(resourceType, action) {
109
+ const handler = HANDLER_MAP[resourceType];
110
+ if (!handler)
111
+ throw new Error(`Unknown resource type for ${action}: ${resourceType}`);
112
+ return handler;
113
+ }
114
+ function errorMessage(err) {
115
+ return err instanceof Error ? err.message : String(err);
116
+ }
117
+ //# sourceMappingURL=applier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applier.js","sourceRoot":"","sources":["../../../src/lib/yaml/applier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import { allHandlers } from './handlers.js';
2
+ import { RESOURCE_ORDER } from './types.js';
3
+ // ── Main diff function ─────────────────────────────────────────────────
4
+ export function diff(config, refs, options = {}) {
5
+ const creates = [];
6
+ const updates = [];
7
+ const deletes = [];
8
+ const memberships = [];
9
+ for (const handler of allHandlers()) {
10
+ diffSection(handler, config[handler.configKey], refs, creates, updates, deletes, options);
11
+ }
12
+ diffMemberships(config, refs, memberships, options);
13
+ creates.sort((a, b) => RESOURCE_ORDER.indexOf(a.resourceType) - RESOURCE_ORDER.indexOf(b.resourceType));
14
+ updates.sort((a, b) => RESOURCE_ORDER.indexOf(a.resourceType) - RESOURCE_ORDER.indexOf(b.resourceType));
15
+ deletes.sort((a, b) => RESOURCE_ORDER.indexOf(b.resourceType) - RESOURCE_ORDER.indexOf(a.resourceType));
16
+ return { creates, updates, deletes, memberships };
17
+ }
18
+ // ── Generic diff section ────────────────────────────────────────────────
19
+ function diffSection(handler, items, refs, creates, updates, deletes, options) {
20
+ const desired = new Set();
21
+ for (const item of items ?? []) {
22
+ const refKey = handler.getRefKey(item);
23
+ desired.add(refKey);
24
+ const existing = refs.get(handler.refType, refKey);
25
+ if (existing) {
26
+ if (handler.hasChanged(item, existing.raw, refs)) {
27
+ updates.push({
28
+ action: 'update',
29
+ resourceType: handler.resourceType,
30
+ refKey,
31
+ existingId: existing.id,
32
+ desired: item,
33
+ current: existing.raw,
34
+ });
35
+ }
36
+ }
37
+ else {
38
+ creates.push({
39
+ action: 'create',
40
+ resourceType: handler.resourceType,
41
+ refKey,
42
+ desired: item,
43
+ });
44
+ }
45
+ }
46
+ if ((options.prune || options.pruneAll) && items !== undefined) {
47
+ for (const entry of refs.allEntries(handler.refType)) {
48
+ if (!desired.has(entry.refKey)) {
49
+ if (handler.resourceType === 'monitor' && !options.pruneAll && entry.managedBy !== 'CLI')
50
+ continue;
51
+ deletes.push({
52
+ action: 'delete',
53
+ resourceType: handler.resourceType,
54
+ refKey: entry.refKey,
55
+ existingId: entry.id,
56
+ current: entry.raw,
57
+ });
58
+ }
59
+ }
60
+ }
61
+ }
62
+ // ── Membership diff ────────────────────────────────────────────────────
63
+ function memberKey(memberType, nameOrSlug) {
64
+ return `${memberType}:${nameOrSlug}`;
65
+ }
66
+ function diffMemberships(config, refs, memberships, options) {
67
+ for (const group of config.resourceGroups ?? []) {
68
+ const groupEntry = refs.get('resourceGroups', group.name);
69
+ const currentMembers = new Map();
70
+ if (groupEntry) {
71
+ const dto = groupEntry.raw;
72
+ for (const m of dto.members ?? []) {
73
+ if (m.memberType === 'monitor' && m.name) {
74
+ currentMembers.set(memberKey('monitor', m.name), m);
75
+ }
76
+ else if (m.memberType === 'service' && m.slug) {
77
+ currentMembers.set(memberKey('service', m.slug), m);
78
+ }
79
+ }
80
+ }
81
+ const desired = new Set();
82
+ for (const monitorName of group.monitors ?? []) {
83
+ const key = memberKey('monitor', monitorName);
84
+ desired.add(key);
85
+ if (!currentMembers.has(key)) {
86
+ memberships.push({
87
+ action: 'create',
88
+ resourceType: 'groupMembership',
89
+ refKey: `${group.name} → ${monitorName}`,
90
+ desired: { groupName: group.name, memberType: 'monitor', memberRef: monitorName },
91
+ });
92
+ }
93
+ }
94
+ for (const serviceSlug of group.services ?? []) {
95
+ const key = memberKey('service', serviceSlug);
96
+ desired.add(key);
97
+ if (!currentMembers.has(key)) {
98
+ memberships.push({
99
+ action: 'create',
100
+ resourceType: 'groupMembership',
101
+ refKey: `${group.name} → ${serviceSlug}`,
102
+ desired: { groupName: group.name, memberType: 'service', memberRef: serviceSlug },
103
+ });
104
+ }
105
+ }
106
+ if (options.prune && groupEntry) {
107
+ for (const [key, member] of currentMembers) {
108
+ if (!desired.has(key)) {
109
+ const label = member.name ?? member.slug ?? member.id ?? 'unknown';
110
+ memberships.push({
111
+ action: 'delete',
112
+ resourceType: 'groupMembership',
113
+ refKey: `${group.name} → ${label}`,
114
+ existingId: member.id,
115
+ desired: { groupId: groupEntry.id, memberId: member.id },
116
+ });
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }
122
+ function changeToJson(c) {
123
+ const out = { action: c.action, resource_type: c.resourceType, ref_key: c.refKey };
124
+ if (c.existingId)
125
+ out.existing_id = c.existingId;
126
+ return out;
127
+ }
128
+ export function changesetToJson(changeset) {
129
+ return {
130
+ format_version: '1',
131
+ creates: changeset.creates.map(changeToJson),
132
+ updates: changeset.updates.map(changeToJson),
133
+ deletes: changeset.deletes.map(changeToJson),
134
+ memberships: changeset.memberships.map(changeToJson),
135
+ summary: {
136
+ creates: changeset.creates.length,
137
+ updates: changeset.updates.length,
138
+ deletes: changeset.deletes.length,
139
+ memberships: changeset.memberships.length,
140
+ },
141
+ };
142
+ }
143
+ // ── Plan formatting ────────────────────────────────────────────────────
144
+ export function formatPlan(changeset) {
145
+ const lines = [];
146
+ const totalChanges = changeset.creates.length + changeset.updates.length + changeset.deletes.length + changeset.memberships.length;
147
+ if (totalChanges === 0) {
148
+ return 'No changes. Infrastructure is up-to-date.';
149
+ }
150
+ lines.push(`Plan: ${changeset.creates.length} to create, ${changeset.updates.length} to update, ${changeset.deletes.length} to delete, ${changeset.memberships.length} memberships\n`);
151
+ for (const c of changeset.creates) {
152
+ lines.push(` + ${c.resourceType} "${c.refKey}"`);
153
+ }
154
+ for (const c of changeset.updates) {
155
+ lines.push(` ~ ${c.resourceType} "${c.refKey}"`);
156
+ }
157
+ for (const c of changeset.deletes) {
158
+ lines.push(` - ${c.resourceType} "${c.refKey}"`);
159
+ }
160
+ for (const c of changeset.memberships) {
161
+ const icon = c.action === 'delete' ? '- membership' : '→';
162
+ lines.push(` ${icon} ${c.refKey}`);
163
+ }
164
+ return lines.join('\n');
165
+ }
166
+ //# sourceMappingURL=differ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"differ.js","sourceRoot":"","sources":["../../../src/lib/yaml/differ.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,WAAW,EAAuB,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAA;AAQzC,0EAA0E;AAE1E,MAAM,UAAU,IAAI,CAAC,MAAqB,EAAE,IAAkB,EAAE,UAAuB,EAAE;IACvF,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,EAAE,CAAC;QACpC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC3F,CAAC;IAED,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IAEnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;IACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;IACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;IAEvG,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAC,CAAA;AACjD,CAAC;AAED,2EAA2E;AAE3E,SAAS,WAAW,CAClB,OAAwB,EACxB,KAA4B,EAC5B,IAAkB,EAClB,OAAiB,EACjB,OAAiB,EACjB,OAAiB,EACjB,OAAoB;IAEpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAElD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,MAAM;oBACN,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,QAAQ,CAAC,GAAG;iBACtB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,MAAM;gBACN,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;oBAAE,SAAQ;gBAClG,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,UAAU,EAAE,KAAK,CAAC,EAAE;oBACpB,OAAO,EAAE,KAAK,CAAC,GAAG;iBACnB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,0EAA0E;AAE1E,SAAS,SAAS,CAAC,UAAkB,EAAE,UAAkB;IACvD,OAAO,GAAG,UAAU,IAAI,UAAU,EAAE,CAAA;AACtC,CAAC;AAED,SAAS,eAAe,CACtB,MAAqB,EACrB,IAAkB,EAClB,WAAqB,EACrB,OAAoB;IAEpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACzD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAA;QAEhE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,UAAU,CAAC,GAAuB,CAAA;YAC9C,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBACrD,CAAC;qBAAM,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;QAEjC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;YAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC;oBACf,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,iBAAiB;oBAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,MAAM,WAAW,EAAE;oBACxC,OAAO,EAAE,EAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAC;iBAChF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;YAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC;oBACf,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,iBAAiB;oBAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,MAAM,WAAW,EAAE;oBACxC,OAAO,EAAE,EAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAC;iBAChF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,IAAI,SAAS,CAAA;oBAClE,WAAW,CAAC,IAAI,CAAC;wBACf,MAAM,EAAE,QAAQ;wBAChB,YAAY,EAAE,iBAAiB;wBAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,EAAE;wBAClC,UAAU,EAAE,MAAM,CAAC,EAAE;wBACrB,OAAO,EAAE,EAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAC;qBACvD,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAoBD,SAAS,YAAY,CAAC,CAAS;IAC7B,MAAM,GAAG,GAAe,EAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAC,CAAA;IAC5F,IAAI,CAAC,CAAC,UAAU;QAAE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,UAAU,CAAA;IAChD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAoB;IAClD,OAAO;QACL,cAAc,EAAE,GAAG;QACnB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5C,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5C,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5C,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC;QACpD,OAAO,EAAE;YACP,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM;YACjC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM;YACjC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM;YACjC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM;SAC1C;KACF,CAAA;AACH,CAAC;AAED,0EAA0E;AAE1E,MAAM,UAAU,UAAU,CAAC,SAAoB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAA;IAElI,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,2CAA2C,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,MAAM,eAAe,SAAS,CAAC,OAAO,CAAC,MAAM,eAAe,SAAS,CAAC,OAAO,CAAC,MAAM,eAAe,SAAS,CAAC,WAAW,CAAC,MAAM,gBAAgB,CAAC,CAAA;IAEtL,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACnD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACnD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACnD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAA;QACzD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { checkedFetch } from '../api-client.js';
2
+ const UNLIMITED = Number.MAX_SAFE_INTEGER;
3
+ const RESOURCE_ENTITLEMENT_MAP = {
4
+ monitor: 'monitors',
5
+ alertChannel: 'alert_channels',
6
+ notificationPolicy: 'notification_policies',
7
+ webhook: 'webhooks',
8
+ resourceGroup: 'resource_groups',
9
+ environment: 'environments',
10
+ secret: 'secrets',
11
+ };
12
+ /**
13
+ * Fetch plan entitlements and check if the changeset would exceed any limits.
14
+ * Returns null if /auth/me is unavailable (non-API-key tokens).
15
+ */
16
+ export async function checkEntitlements(client, changeset) {
17
+ let data;
18
+ try {
19
+ const resp = await checkedFetch(client.GET('/api/v1/auth/me'));
20
+ data = resp.data ?? {};
21
+ }
22
+ catch (err) {
23
+ const msg = err instanceof Error ? err.message : String(err);
24
+ process.stderr.write(`Entitlement check skipped: ${msg}\n`);
25
+ return null;
26
+ }
27
+ const plan = data.plan;
28
+ if (!plan?.entitlements || !plan.usage)
29
+ return null;
30
+ const createCounts = new Map();
31
+ for (const create of changeset.creates) {
32
+ const entitlementKey = RESOURCE_ENTITLEMENT_MAP[create.resourceType];
33
+ if (entitlementKey) {
34
+ createCounts.set(entitlementKey, (createCounts.get(entitlementKey) ?? 0) + 1);
35
+ }
36
+ }
37
+ const warnings = [];
38
+ for (const [entitlementKey, createsOfType] of createCounts) {
39
+ const entitlement = plan.entitlements[entitlementKey];
40
+ const limit = entitlement?.value;
41
+ if (limit == null || limit >= UNLIMITED)
42
+ continue;
43
+ const currentUsage = plan.usage[entitlementKey] ?? 0;
44
+ if (currentUsage + createsOfType > limit) {
45
+ warnings.push({
46
+ resource: entitlementKey,
47
+ current: currentUsage,
48
+ creating: createsOfType,
49
+ limit,
50
+ });
51
+ }
52
+ }
53
+ const tier = plan.tier ?? 'unknown';
54
+ const org = data.organization?.name ?? '';
55
+ const usageParts = [];
56
+ for (const [key, used] of Object.entries(plan.usage)) {
57
+ const limit = plan.entitlements[key]?.value;
58
+ if (limit != null && limit < UNLIMITED) {
59
+ usageParts.push(`${key.replace(/_/g, ' ')}: ${used}/${limit}`);
60
+ }
61
+ }
62
+ const header = `Plan: ${tier}${org ? ` (${org})` : ''}${usageParts.length ? ' | ' + usageParts.join(', ') : ''}`;
63
+ return { plan: tier, warnings, header };
64
+ }
65
+ export function formatEntitlementWarnings(warnings) {
66
+ const lines = warnings.map((w) => ` ⚠ ${w.resource}: deploying ${w.creating} new but only ${w.limit - w.current} remaining (${w.current}/${w.limit} used)`);
67
+ return lines.join('\n');
68
+ }
69
+ //# sourceMappingURL=entitlements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlements.js","sourceRoot":"","sources":["../../../src/lib/yaml/entitlements.ts"],"names":[],"mappings":"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"}