@vibesdotdev/infra-deploy 0.0.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 (183) hide show
  1. package/README.md +125 -0
  2. package/SPEC.md +181 -0
  3. package/dist/cli/alerts/infra-alerts-create.cli-command.descriptor.d.ts +39 -0
  4. package/dist/cli/alerts/infra-alerts-create.cli-command.descriptor.d.ts.map +1 -0
  5. package/dist/cli/alerts/infra-alerts-create.cli-command.descriptor.js +61 -0
  6. package/dist/cli/alerts/infra-alerts-create.cli-command.descriptor.js.map +1 -0
  7. package/dist/cli/alerts/infra-alerts-create.cli-command.impl.d.ts +13 -0
  8. package/dist/cli/alerts/infra-alerts-create.cli-command.impl.d.ts.map +1 -0
  9. package/dist/cli/alerts/infra-alerts-create.cli-command.impl.js +109 -0
  10. package/dist/cli/alerts/infra-alerts-create.cli-command.impl.js.map +1 -0
  11. package/dist/cli/alerts/infra-alerts-delete.cli-command.descriptor.d.ts +31 -0
  12. package/dist/cli/alerts/infra-alerts-delete.cli-command.descriptor.d.ts.map +1 -0
  13. package/dist/cli/alerts/infra-alerts-delete.cli-command.descriptor.js +36 -0
  14. package/dist/cli/alerts/infra-alerts-delete.cli-command.descriptor.js.map +1 -0
  15. package/dist/cli/alerts/infra-alerts-delete.cli-command.impl.d.ts +11 -0
  16. package/dist/cli/alerts/infra-alerts-delete.cli-command.impl.d.ts.map +1 -0
  17. package/dist/cli/alerts/infra-alerts-delete.cli-command.impl.js +67 -0
  18. package/dist/cli/alerts/infra-alerts-delete.cli-command.impl.js.map +1 -0
  19. package/dist/cli/alerts/infra-alerts-list.cli-command.descriptor.d.ts +21 -0
  20. package/dist/cli/alerts/infra-alerts-list.cli-command.descriptor.d.ts.map +1 -0
  21. package/dist/cli/alerts/infra-alerts-list.cli-command.descriptor.js +27 -0
  22. package/dist/cli/alerts/infra-alerts-list.cli-command.descriptor.js.map +1 -0
  23. package/dist/cli/alerts/infra-alerts-list.cli-command.impl.d.ts +12 -0
  24. package/dist/cli/alerts/infra-alerts-list.cli-command.impl.d.ts.map +1 -0
  25. package/dist/cli/alerts/infra-alerts-list.cli-command.impl.js +74 -0
  26. package/dist/cli/alerts/infra-alerts-list.cli-command.impl.js.map +1 -0
  27. package/dist/cli/alerts/infra-alerts.cli-group.descriptor.d.ts +12 -0
  28. package/dist/cli/alerts/infra-alerts.cli-group.descriptor.d.ts.map +1 -0
  29. package/dist/cli/alerts/infra-alerts.cli-group.descriptor.js +12 -0
  30. package/dist/cli/alerts/infra-alerts.cli-group.descriptor.js.map +1 -0
  31. package/dist/cli/audit/infra-audit.cli-command.descriptor.d.ts +21 -0
  32. package/dist/cli/audit/infra-audit.cli-command.descriptor.d.ts.map +1 -0
  33. package/dist/cli/audit/infra-audit.cli-command.descriptor.js +28 -0
  34. package/dist/cli/audit/infra-audit.cli-command.descriptor.js.map +1 -0
  35. package/dist/cli/audit/infra-audit.cli-command.impl.d.ts +18 -0
  36. package/dist/cli/audit/infra-audit.cli-command.impl.d.ts.map +1 -0
  37. package/dist/cli/audit/infra-audit.cli-command.impl.js +219 -0
  38. package/dist/cli/audit/infra-audit.cli-command.impl.js.map +1 -0
  39. package/dist/cli/infra-deploy.cli-group.descriptor.d.ts +12 -0
  40. package/dist/cli/infra-deploy.cli-group.descriptor.d.ts.map +1 -0
  41. package/dist/cli/infra-deploy.cli-group.descriptor.js +12 -0
  42. package/dist/cli/infra-deploy.cli-group.descriptor.js.map +1 -0
  43. package/dist/cli/infra.cli-group.descriptor.d.ts +11 -0
  44. package/dist/cli/infra.cli-group.descriptor.d.ts.map +1 -0
  45. package/dist/cli/infra.cli-group.descriptor.js +11 -0
  46. package/dist/cli/infra.cli-group.descriptor.js.map +1 -0
  47. package/dist/cli/list/infra-deploy.list.cli-command.descriptor.d.ts +34 -0
  48. package/dist/cli/list/infra-deploy.list.cli-command.descriptor.d.ts.map +1 -0
  49. package/dist/cli/list/infra-deploy.list.cli-command.descriptor.js +29 -0
  50. package/dist/cli/list/infra-deploy.list.cli-command.descriptor.js.map +1 -0
  51. package/dist/cli/list/infra-deploy.list.cli-command.impl.d.ts +5 -0
  52. package/dist/cli/list/infra-deploy.list.cli-command.impl.d.ts.map +1 -0
  53. package/dist/cli/list/infra-deploy.list.cli-command.impl.js +110 -0
  54. package/dist/cli/list/infra-deploy.list.cli-command.impl.js.map +1 -0
  55. package/dist/cli/logs/infra-logs.cli-command.descriptor.d.ts +39 -0
  56. package/dist/cli/logs/infra-logs.cli-command.descriptor.d.ts.map +1 -0
  57. package/dist/cli/logs/infra-logs.cli-command.descriptor.js +64 -0
  58. package/dist/cli/logs/infra-logs.cli-command.descriptor.js.map +1 -0
  59. package/dist/cli/logs/infra-logs.cli-command.impl.d.ts +5 -0
  60. package/dist/cli/logs/infra-logs.cli-command.impl.d.ts.map +1 -0
  61. package/dist/cli/logs/infra-logs.cli-command.impl.js +323 -0
  62. package/dist/cli/logs/infra-logs.cli-command.impl.js.map +1 -0
  63. package/dist/cli/logs/stream-worker-tail.d.ts +62 -0
  64. package/dist/cli/logs/stream-worker-tail.d.ts.map +1 -0
  65. package/dist/cli/logs/stream-worker-tail.js +165 -0
  66. package/dist/cli/logs/stream-worker-tail.js.map +1 -0
  67. package/dist/cli/npm/infra-npm-publish.cli-command.descriptor.d.ts +27 -0
  68. package/dist/cli/npm/infra-npm-publish.cli-command.descriptor.d.ts.map +1 -0
  69. package/dist/cli/npm/infra-npm-publish.cli-command.descriptor.js +75 -0
  70. package/dist/cli/npm/infra-npm-publish.cli-command.descriptor.js.map +1 -0
  71. package/dist/cli/npm/infra-npm-publish.cli-command.impl.d.ts +5 -0
  72. package/dist/cli/npm/infra-npm-publish.cli-command.impl.d.ts.map +1 -0
  73. package/dist/cli/npm/infra-npm-publish.cli-command.impl.js +383 -0
  74. package/dist/cli/npm/infra-npm-publish.cli-command.impl.js.map +1 -0
  75. package/dist/cli/npm/infra-npm.cli-group.descriptor.d.ts +12 -0
  76. package/dist/cli/npm/infra-npm.cli-group.descriptor.d.ts.map +1 -0
  77. package/dist/cli/npm/infra-npm.cli-group.descriptor.js +12 -0
  78. package/dist/cli/npm/infra-npm.cli-group.descriptor.js.map +1 -0
  79. package/dist/cli/observability/infra-observability-set.cli-command.descriptor.d.ts +25 -0
  80. package/dist/cli/observability/infra-observability-set.cli-command.descriptor.d.ts.map +1 -0
  81. package/dist/cli/observability/infra-observability-set.cli-command.descriptor.js +57 -0
  82. package/dist/cli/observability/infra-observability-set.cli-command.descriptor.js.map +1 -0
  83. package/dist/cli/observability/infra-observability-set.cli-command.impl.d.ts +17 -0
  84. package/dist/cli/observability/infra-observability-set.cli-command.impl.d.ts.map +1 -0
  85. package/dist/cli/observability/infra-observability-set.cli-command.impl.js +152 -0
  86. package/dist/cli/observability/infra-observability-set.cli-command.impl.js.map +1 -0
  87. package/dist/cli/observability/infra-observability-status.cli-command.descriptor.d.ts +21 -0
  88. package/dist/cli/observability/infra-observability-status.cli-command.descriptor.d.ts.map +1 -0
  89. package/dist/cli/observability/infra-observability-status.cli-command.descriptor.js +35 -0
  90. package/dist/cli/observability/infra-observability-status.cli-command.descriptor.js.map +1 -0
  91. package/dist/cli/observability/infra-observability-status.cli-command.impl.d.ts +17 -0
  92. package/dist/cli/observability/infra-observability-status.cli-command.impl.d.ts.map +1 -0
  93. package/dist/cli/observability/infra-observability-status.cli-command.impl.js +99 -0
  94. package/dist/cli/observability/infra-observability-status.cli-command.impl.js.map +1 -0
  95. package/dist/cli/observability/infra-observability.cli-group.descriptor.d.ts +12 -0
  96. package/dist/cli/observability/infra-observability.cli-group.descriptor.d.ts.map +1 -0
  97. package/dist/cli/observability/infra-observability.cli-group.descriptor.js +12 -0
  98. package/dist/cli/observability/infra-observability.cli-group.descriptor.js.map +1 -0
  99. package/dist/cli/regenerate/infra-deploy.regenerate.cli-command.descriptor.d.ts +27 -0
  100. package/dist/cli/regenerate/infra-deploy.regenerate.cli-command.descriptor.d.ts.map +1 -0
  101. package/dist/cli/regenerate/infra-deploy.regenerate.cli-command.descriptor.js +35 -0
  102. package/dist/cli/regenerate/infra-deploy.regenerate.cli-command.descriptor.js.map +1 -0
  103. package/dist/cli/regenerate/infra-deploy.regenerate.cli-command.impl.d.ts +5 -0
  104. package/dist/cli/regenerate/infra-deploy.regenerate.cli-command.impl.d.ts.map +1 -0
  105. package/dist/cli/regenerate/infra-deploy.regenerate.cli-command.impl.js +99 -0
  106. package/dist/cli/regenerate/infra-deploy.regenerate.cli-command.impl.js.map +1 -0
  107. package/dist/cli/rum/infra-rum-status.cli-command.descriptor.d.ts +21 -0
  108. package/dist/cli/rum/infra-rum-status.cli-command.descriptor.d.ts.map +1 -0
  109. package/dist/cli/rum/infra-rum-status.cli-command.descriptor.js +27 -0
  110. package/dist/cli/rum/infra-rum-status.cli-command.descriptor.js.map +1 -0
  111. package/dist/cli/rum/infra-rum-status.cli-command.impl.d.ts +12 -0
  112. package/dist/cli/rum/infra-rum-status.cli-command.impl.d.ts.map +1 -0
  113. package/dist/cli/rum/infra-rum-status.cli-command.impl.js +88 -0
  114. package/dist/cli/rum/infra-rum-status.cli-command.impl.js.map +1 -0
  115. package/dist/cli/rum/infra-rum.cli-group.descriptor.d.ts +12 -0
  116. package/dist/cli/rum/infra-rum.cli-group.descriptor.d.ts.map +1 -0
  117. package/dist/cli/rum/infra-rum.cli-group.descriptor.js +12 -0
  118. package/dist/cli/rum/infra-rum.cli-group.descriptor.js.map +1 -0
  119. package/dist/cli/run/infra-deploy.run.cli-command.descriptor.d.ts +27 -0
  120. package/dist/cli/run/infra-deploy.run.cli-command.descriptor.d.ts.map +1 -0
  121. package/dist/cli/run/infra-deploy.run.cli-command.descriptor.js +49 -0
  122. package/dist/cli/run/infra-deploy.run.cli-command.descriptor.js.map +1 -0
  123. package/dist/cli/run/infra-deploy.run.cli-command.impl.d.ts +5 -0
  124. package/dist/cli/run/infra-deploy.run.cli-command.impl.d.ts.map +1 -0
  125. package/dist/cli/run/infra-deploy.run.cli-command.impl.js +272 -0
  126. package/dist/cli/run/infra-deploy.run.cli-command.impl.js.map +1 -0
  127. package/dist/cli/shared/discover-deployments.d.ts +41 -0
  128. package/dist/cli/shared/discover-deployments.d.ts.map +1 -0
  129. package/dist/cli/shared/discover-deployments.js +95 -0
  130. package/dist/cli/shared/discover-deployments.js.map +1 -0
  131. package/dist/config-loader.d.ts +24 -0
  132. package/dist/config-loader.d.ts.map +1 -0
  133. package/dist/config-loader.js +135 -0
  134. package/dist/config-loader.js.map +1 -0
  135. package/dist/index.d.ts +5 -0
  136. package/dist/index.d.ts.map +1 -0
  137. package/dist/index.js +4 -0
  138. package/dist/index.js.map +1 -0
  139. package/dist/infra-deploy.plugin.d.ts +3 -0
  140. package/dist/infra-deploy.plugin.d.ts.map +1 -0
  141. package/dist/infra-deploy.plugin.js +59 -0
  142. package/dist/infra-deploy.plugin.js.map +1 -0
  143. package/dist/regenerate.d.ts +55 -0
  144. package/dist/regenerate.d.ts.map +1 -0
  145. package/dist/regenerate.js +206 -0
  146. package/dist/regenerate.js.map +1 -0
  147. package/package.json +85 -0
  148. package/src/cli/alerts/infra-alerts-create.cli-command.descriptor.ts +61 -0
  149. package/src/cli/alerts/infra-alerts-create.cli-command.impl.ts +131 -0
  150. package/src/cli/alerts/infra-alerts-delete.cli-command.descriptor.ts +36 -0
  151. package/src/cli/alerts/infra-alerts-delete.cli-command.impl.ts +75 -0
  152. package/src/cli/alerts/infra-alerts-list.cli-command.descriptor.ts +27 -0
  153. package/src/cli/alerts/infra-alerts-list.cli-command.impl.ts +88 -0
  154. package/src/cli/alerts/infra-alerts.cli-group.descriptor.ts +12 -0
  155. package/src/cli/audit/infra-audit.cli-command.descriptor.ts +28 -0
  156. package/src/cli/audit/infra-audit.cli-command.impl.ts +293 -0
  157. package/src/cli/infra-deploy.cli-group.descriptor.ts +12 -0
  158. package/src/cli/infra.cli-group.descriptor.ts +11 -0
  159. package/src/cli/list/infra-deploy.list.cli-command.descriptor.ts +29 -0
  160. package/src/cli/list/infra-deploy.list.cli-command.impl.ts +125 -0
  161. package/src/cli/logs/infra-logs.cli-command.descriptor.ts +65 -0
  162. package/src/cli/logs/infra-logs.cli-command.impl.ts +354 -0
  163. package/src/cli/logs/stream-worker-tail.ts +202 -0
  164. package/src/cli/npm/infra-npm-publish.cli-command.descriptor.ts +75 -0
  165. package/src/cli/npm/infra-npm-publish.cli-command.impl.ts +474 -0
  166. package/src/cli/npm/infra-npm.cli-group.descriptor.ts +12 -0
  167. package/src/cli/observability/infra-observability-set.cli-command.descriptor.ts +57 -0
  168. package/src/cli/observability/infra-observability-set.cli-command.impl.ts +173 -0
  169. package/src/cli/observability/infra-observability-status.cli-command.descriptor.ts +35 -0
  170. package/src/cli/observability/infra-observability-status.cli-command.impl.ts +124 -0
  171. package/src/cli/observability/infra-observability.cli-group.descriptor.ts +12 -0
  172. package/src/cli/regenerate/infra-deploy.regenerate.cli-command.descriptor.ts +36 -0
  173. package/src/cli/regenerate/infra-deploy.regenerate.cli-command.impl.ts +103 -0
  174. package/src/cli/rum/infra-rum-status.cli-command.descriptor.ts +27 -0
  175. package/src/cli/rum/infra-rum-status.cli-command.impl.ts +112 -0
  176. package/src/cli/rum/infra-rum.cli-group.descriptor.ts +12 -0
  177. package/src/cli/run/infra-deploy.run.cli-command.descriptor.ts +49 -0
  178. package/src/cli/run/infra-deploy.run.cli-command.impl.ts +330 -0
  179. package/src/cli/shared/discover-deployments.ts +127 -0
  180. package/src/config-loader.ts +179 -0
  181. package/src/index.ts +11 -0
  182. package/src/infra-deploy.plugin.ts +83 -0
  183. package/src/regenerate.ts +230 -0
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `vibes infra rum status`
3
+ *
4
+ * Lists configured RUM sites across registered providers, plus the
5
+ * declared injection mode + privacy posture from the descriptor.
6
+ * Flags the "auto-injection but SSR Workers" gap that bit us earlier.
7
+ */
8
+ declare const _default: {
9
+ execute(_args: Record<string, unknown>, opts: Record<string, unknown>): Promise<void>;
10
+ };
11
+ export default _default;
12
+ //# sourceMappingURL=infra-rum-status.cli-command.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra-rum-status.cli-command.impl.d.ts","sourceRoot":"","sources":["../../../src/cli/rum/infra-rum-status.cli-command.impl.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;mBAemB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;;AAD5F,wBA2FE"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * `vibes infra rum status`
3
+ *
4
+ * Lists configured RUM sites across registered providers, plus the
5
+ * declared injection mode + privacy posture from the descriptor.
6
+ * Flags the "auto-injection but SSR Workers" gap that bit us earlier.
7
+ */
8
+ import { getVibesRuntime } from '@vibesdotdev/runtime';
9
+ import {} from '@vibesdotdev/cli/providers';
10
+ function readString(v) {
11
+ return typeof v === 'string' && v.length > 0 ? v : undefined;
12
+ }
13
+ export default {
14
+ async execute(_args, opts) {
15
+ const runtime = await getVibesRuntime();
16
+ const ui = (await runtime.context('cli/ui'));
17
+ const providerFilter = readString(opts.provider);
18
+ const output = readString(opts.output) ?? 'text';
19
+ if (!runtime.hasKind('infra/rum')) {
20
+ ui.warn('No infra/rum kind registered.');
21
+ return;
22
+ }
23
+ const descriptors = runtime.assets('infra/rum').descriptors();
24
+ const candidates = providerFilter
25
+ ? descriptors.filter((d) => d.adapter === providerFilter || d.id === providerFilter)
26
+ : descriptors;
27
+ if (candidates.length === 0) {
28
+ ui.info('No infra/rum providers registered.');
29
+ return;
30
+ }
31
+ const reports = [];
32
+ for (const d of candidates) {
33
+ try {
34
+ const impl = (await runtime
35
+ .query('infra/rum')
36
+ .withId(d.id)
37
+ .resolve());
38
+ const sites = await impl.listSites();
39
+ reports.push({
40
+ descriptorId: d.id,
41
+ adapter: d.adapter,
42
+ declaredInjection: d.injection,
43
+ declaredHostnames: d.hostnames,
44
+ sites
45
+ });
46
+ }
47
+ catch (err) {
48
+ reports.push({
49
+ descriptorId: d.id,
50
+ adapter: d.adapter,
51
+ declaredInjection: d.injection,
52
+ declaredHostnames: d.hostnames,
53
+ sites: [],
54
+ error: err instanceof Error ? err.message : String(err)
55
+ });
56
+ }
57
+ }
58
+ if (output === 'json') {
59
+ ui.json(reports);
60
+ return;
61
+ }
62
+ for (const r of reports) {
63
+ ui.info(`\n[${r.adapter}] (${r.descriptorId})`);
64
+ ui.info(` injection: ${r.declaredInjection}`);
65
+ ui.info(` declared hostnames: ${r.declaredHostnames.join(', ')}`);
66
+ if (r.error) {
67
+ ui.error(` ${r.error}`);
68
+ continue;
69
+ }
70
+ if (r.sites.length === 0) {
71
+ ui.warn(' (no sites configured on provider)');
72
+ continue;
73
+ }
74
+ for (const s of r.sites) {
75
+ ui.info(` ${s.enabled ? '✓' : '✗'} site_tag=${s.siteTag} hosts=${s.hostnames.join(',')} ` +
76
+ `injection=${s.injection ?? '?'} created=${(s.createdAt ?? '?').slice(0, 10)}`);
77
+ }
78
+ // Flag the SSR-injection gap clearly.
79
+ if (r.declaredInjection === 'provider-auto' || r.sites.some((s) => s.injection === 'provider-auto')) {
80
+ ui.warn('\n ⚠ provider-auto injection only fires on origin/cache responses. SvelteKit ' +
81
+ 'SSR Workers will report 0 page views unless the beacon is also injected at ' +
82
+ 'render time (use injection: "sveltekit-hook" + the cloudflare-web-analytics ' +
83
+ 'SvelteKit handle).');
84
+ }
85
+ }
86
+ }
87
+ };
88
+ //# sourceMappingURL=infra-rum-status.cli-command.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra-rum-status.cli-command.impl.js","sourceRoot":"","sources":["../../../src/cli/rum/infra-rum-status.cli-command.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ declare const _default: {
2
+ id: string;
3
+ kind: "cli/group";
4
+ name: string;
5
+ description: string;
6
+ parent: string;
7
+ surfaces: string[];
8
+ hardware: string[];
9
+ enabled: true;
10
+ };
11
+ export default _default;
12
+ //# sourceMappingURL=infra-rum.cli-group.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra-rum.cli-group.descriptor.d.ts","sourceRoot":"","sources":["../../../src/cli/rum/infra-rum.cli-group.descriptor.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,wBASG"}
@@ -0,0 +1,12 @@
1
+ import { createRuntimeAsset } from '@vibesdotdev/runtime';
2
+ export default createRuntimeAsset({
3
+ id: 'infra-rum',
4
+ kind: 'cli/group',
5
+ name: 'rum',
6
+ description: 'Real User Monitoring (beacon-based front-end telemetry) — CF Web Analytics, Sentry, …',
7
+ parent: 'infra',
8
+ surfaces: ['cli'],
9
+ hardware: ['consumer', 'cloud'],
10
+ enabled: true
11
+ });
12
+ //# sourceMappingURL=infra-rum.cli-group.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra-rum.cli-group.descriptor.js","sourceRoot":"","sources":["../../../src/cli/rum/infra-rum.cli-group.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,eAAe,kBAAkB,CAAC;IACjC,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,uFAAuF;IACpG,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,IAAI;CACb,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ declare const _default: {
2
+ id: string;
3
+ kind: "cli/command";
4
+ name: string;
5
+ description: string;
6
+ group: string;
7
+ arguments: {
8
+ name: string;
9
+ description: string;
10
+ required: boolean;
11
+ variadic: boolean;
12
+ }[];
13
+ options: ({
14
+ flags: string;
15
+ description: string;
16
+ default?: undefined;
17
+ } | {
18
+ flags: string;
19
+ description: string;
20
+ default: string;
21
+ })[];
22
+ surfaces: string[];
23
+ hardware: string[];
24
+ enabled: true;
25
+ };
26
+ export default _default;
27
+ //# sourceMappingURL=infra-deploy.run.cli-command.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra-deploy.run.cli-command.descriptor.d.ts","sourceRoot":"","sources":["../../../src/cli/run/infra-deploy.run.cli-command.descriptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBA8CG"}
@@ -0,0 +1,49 @@
1
+ import { createRuntimeAsset } from '@vibesdotdev/runtime';
2
+ export default createRuntimeAsset({
3
+ id: 'infra-deploy.run',
4
+ kind: 'cli/command',
5
+ name: 'run',
6
+ description: 'Build and deploy the app in <path> (defaults to cwd)',
7
+ group: 'infra-deploy',
8
+ arguments: [
9
+ {
10
+ name: 'path',
11
+ description: 'Path to app directory containing deployment.config.ts',
12
+ required: false,
13
+ variadic: false
14
+ }
15
+ ],
16
+ options: [
17
+ { flags: '--skip-build', description: 'Skip build step (deploy pre-built output)' },
18
+ {
19
+ flags: '--skip-d1-migrations',
20
+ description: 'Skip D1 migration replay for this deploy (Workers only)'
21
+ },
22
+ { flags: '--dry-run', description: 'Show what would be deployed, without uploading' },
23
+ {
24
+ flags: '--workspace-root <dir>',
25
+ description: 'Override workspace root (default: process.cwd())'
26
+ },
27
+ {
28
+ flags: '--environment <name>',
29
+ description: 'Target Vibes environment for deploy credential resolution'
30
+ },
31
+ { flags: '--branch <name>', description: 'Deploy branch (default: main)', default: 'main' },
32
+ {
33
+ flags: '--wrangler-env <name>',
34
+ description: 'Wrangler environment name (Workers only)'
35
+ },
36
+ {
37
+ flags: '--do-app-id <id>',
38
+ description: 'Existing DigitalOcean App id (update instead of create)'
39
+ },
40
+ { flags: '--do-region <slug>', description: 'DO region slug (default: nyc)' },
41
+ { flags: '--do-git-repo <url>', description: 'DO App source git repo URL' },
42
+ { flags: '--do-git-branch <name>', description: 'DO App source branch (default: main)' },
43
+ { flags: '-o, --output <format>', description: 'Output format (text|json)', default: 'text' }
44
+ ],
45
+ surfaces: ['cli'],
46
+ hardware: ['consumer', 'cloud'],
47
+ enabled: true
48
+ });
49
+ //# sourceMappingURL=infra-deploy.run.cli-command.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra-deploy.run.cli-command.descriptor.js","sourceRoot":"","sources":["../../../src/cli/run/infra-deploy.run.cli-command.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,eAAe,kBAAkB,CAAC;IACjC,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,sDAAsD;IACnE,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE;QACV;YACC,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;SACf;KACD;IACD,OAAO,EAAE;QACR,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,2CAA2C,EAAE;QACnF;YACC,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,yDAAyD;SACtE;QACD,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,gDAAgD,EAAE;QACrF;YACC,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EAAE,kDAAkD;SAC/D;QACD;YACC,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,2DAA2D;SACxE;QACD,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,EAAE;QAC3F;YACC,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,0CAA0C;SACvD;QACD;YACC,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,yDAAyD;SACtE;QACD,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,+BAA+B,EAAE;QAC7E,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,4BAA4B,EAAE;QAC3E,EAAE,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,sCAAsC,EAAE;QACxF,EAAE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,EAAE;KAC7F;IACD,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,IAAI;CACb,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ execute(args: Record<string, unknown>, opts: Record<string, unknown>): Promise<void>;
3
+ };
4
+ export default _default;
5
+ //# sourceMappingURL=infra-deploy.run.cli-command.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra-deploy.run.cli-command.impl.d.ts","sourceRoot":"","sources":["../../../src/cli/run/infra-deploy.run.cli-command.impl.ts"],"names":[],"mappings":";kBAmHqB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;;AAD3F,wBAuNE"}
@@ -0,0 +1,272 @@
1
+ import { getVibesRuntime } from '@vibesdotdev/runtime';
2
+ import { resolveCurrentEnvironmentConfig } from '@vibesdotdev/config/environment/current';
3
+ import { resolve } from 'node:path';
4
+ import { spawnSync } from 'node:child_process';
5
+ import { getCloudflareWorkersDeployClient } from '@vibesdotdev/connector-cloudflare/client';
6
+ import { getDigitalOceanAppDeployClient } from '@vibesdotdev/infra-doks/client';
7
+ import { loadDeploymentConfig } from "../../config-loader.js";
8
+ import { regenerateApp } from "../../regenerate.js";
9
+ function readString(v) {
10
+ return typeof v === 'string' && v.length > 0 ? v : undefined;
11
+ }
12
+ function readBoolean(v) {
13
+ return v === true || v === 'true';
14
+ }
15
+ function resolveWorkspaceRoot(workspaceRootDir, appDir, override) {
16
+ if (override)
17
+ return resolve(override);
18
+ if (!workspaceRootDir || workspaceRootDir === '.')
19
+ return process.cwd();
20
+ return resolve(appDir, workspaceRootDir);
21
+ }
22
+ const CLOUDFLARE_API_TOKEN_KEY = 'CLOUDFLARE_API_TOKEN';
23
+ const CLOUDFLARE_ACCOUNT_ID_KEY = 'CLOUDFLARE_ACCOUNT_ID';
24
+ async function resolveCloudflareEnvFromSecretsStore(runtime, ui, environmentOverride) {
25
+ if (process.env.CLOUDFLARE_API_TOKEN && process.env.CLOUDFLARE_ACCOUNT_ID) {
26
+ return {};
27
+ }
28
+ if (!runtime.hasKind('secrets/store')) {
29
+ throw new Error(`Missing secrets/store kind in runtime. Enable secrets backends via plugin config ` +
30
+ `(for example plugins.auth.secrets=true and plugins.auth.secretsBackends.*) before running deploy.`);
31
+ }
32
+ let envName = environmentOverride ?? 'local';
33
+ let envTier = 'local';
34
+ if (environmentOverride) {
35
+ envTier = environmentOverride;
36
+ }
37
+ else {
38
+ try {
39
+ const envConfig = await resolveCurrentEnvironmentConfig();
40
+ envName = envConfig.name;
41
+ envTier = envConfig.tier ?? 'local';
42
+ }
43
+ catch {
44
+ // Fall back to local when config environment resolution is unavailable.
45
+ }
46
+ }
47
+ const descriptors = runtime.assets('secrets/store').descriptors();
48
+ const tierCandidates = new Set([envTier]);
49
+ if (envTier === 'local' || envTier === 'dev') {
50
+ // Deploy auth is often run from local shells while credentials live in
51
+ // staging/production backends (Vault/Cloudflare). Include those tiers as
52
+ // fallbacks instead of hard-filtering them out.
53
+ tierCandidates.add('staging');
54
+ tierCandidates.add('production');
55
+ }
56
+ const candidates = descriptors
57
+ .filter((d) => {
58
+ if (environmentOverride)
59
+ return true;
60
+ if (!d.tiers || d.tiers.length === 0)
61
+ return true;
62
+ return d.tiers.some((tier) => tierCandidates.has(tier));
63
+ })
64
+ .sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
65
+ const out = {};
66
+ for (const descriptor of candidates) {
67
+ const store = (await runtime
68
+ .query('secrets/store')
69
+ .withId(descriptor.id)
70
+ .resolve());
71
+ if (!process.env.CLOUDFLARE_API_TOKEN && !out.CLOUDFLARE_API_TOKEN) {
72
+ const value = await store.get(envName, CLOUDFLARE_API_TOKEN_KEY);
73
+ if (value && value.length > 0) {
74
+ out.CLOUDFLARE_API_TOKEN = value;
75
+ }
76
+ }
77
+ if (!process.env.CLOUDFLARE_ACCOUNT_ID && !out.CLOUDFLARE_ACCOUNT_ID) {
78
+ const value = await store.get(envName, CLOUDFLARE_ACCOUNT_ID_KEY);
79
+ if (value && value.length > 0) {
80
+ out.CLOUDFLARE_ACCOUNT_ID = value;
81
+ }
82
+ }
83
+ if (out.CLOUDFLARE_API_TOKEN && out.CLOUDFLARE_ACCOUNT_ID)
84
+ break;
85
+ }
86
+ if (Object.keys(out).length > 0) {
87
+ ui.info(`Resolved Cloudflare deploy credentials from secrets store (${envName}/${envTier}).`);
88
+ }
89
+ return out;
90
+ }
91
+ export default {
92
+ async execute(args, opts) {
93
+ const runtime = getVibesRuntime();
94
+ const ui = (await runtime.context('cli/ui'));
95
+ const pathArg = readString(args.path) ?? process.cwd();
96
+ const output = readString(opts.output) ?? 'text';
97
+ const skipBuild = readBoolean(opts.skipBuild);
98
+ const skipD1Migrations = readBoolean(opts.skipD1Migrations);
99
+ const dryRun = readBoolean(opts.dryRun);
100
+ const workspaceRootOverride = readString(opts.workspaceRoot);
101
+ const targetEnvironment = readString(opts.environment);
102
+ let loaded;
103
+ try {
104
+ loaded = await loadDeploymentConfig(pathArg);
105
+ }
106
+ catch (err) {
107
+ ui.error(`Failed to load deployment config: ${err.message}`);
108
+ process.exitCode = 1;
109
+ return;
110
+ }
111
+ const { deployment, provider, appDir } = loaded;
112
+ if (output === 'text') {
113
+ ui.info(`Deploying ${deployment.appName} (${deployment.appId}) via ${provider}`);
114
+ }
115
+ const onLine = (_stream, line) => {
116
+ if (output === 'text')
117
+ ui.log(line);
118
+ };
119
+ try {
120
+ switch (provider) {
121
+ case 'cloudflare-workers': {
122
+ const environment = readString(opts.wranglerEnv);
123
+ const workspaceRoot = resolveWorkspaceRoot(deployment.build.workspaceRootDir, appDir, workspaceRootOverride);
124
+ // Run generic pre-deploy commands (provider-agnostic hooks)
125
+ if (deployment.preDeployCommands.length > 0) {
126
+ onLine('stdout', `Running ${deployment.preDeployCommands.length} pre-deploy command(s)...`);
127
+ for (const cmd of deployment.preDeployCommands) {
128
+ if (cmd.description) {
129
+ onLine('stdout', ` ${cmd.description}`);
130
+ }
131
+ if (dryRun) {
132
+ onLine('stdout', ` [dry-run] ${cmd.command}`);
133
+ continue;
134
+ }
135
+ const [bin, ...args] = cmd.command.split(' ').filter(Boolean);
136
+ if (!bin)
137
+ continue;
138
+ const child = spawnSync(bin, args, {
139
+ cwd: appDir,
140
+ stdio: 'inherit',
141
+ env: process.env
142
+ });
143
+ if (child.status !== 0) {
144
+ throw new Error(`Pre-deploy command failed: ${cmd.command} (exit=${child.status ?? child.error?.message ?? 'unknown'})`);
145
+ }
146
+ }
147
+ onLine('stdout', 'Pre-deploy commands complete.');
148
+ }
149
+ // Regen gate: refuse to deploy a stale wrangler.jsonc. For apps with
150
+ // `managed: true` in deployment.config.ts, this enforces that what's
151
+ // on disk matches what the typed config would produce. Unmanaged apps
152
+ // pass through (the gate is opt-in until every app is migrated).
153
+ const regen = await regenerateApp(appDir, { mode: 'check' });
154
+ if (regen.status === 'drift') {
155
+ const uuidRe = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
156
+ const isKvIdDrift = regen.diff &&
157
+ /^[\+\-]\s+"id":\s*"[^"]*"/m.test(regen.diff) &&
158
+ !uuidRe.test(regen.diff.replace(/"id":\s*"([^"]*)"/g, '$1').slice(0, 36));
159
+ if (!isKvIdDrift) {
160
+ const detail = regen.diff ? `\n${regen.diff}` : '';
161
+ throw new Error(`wrangler.jsonc drift for ${regen.appId} — regenerate before deploy (run \`vibes infra deploy regenerate ${appDir}\`)${detail}`);
162
+ }
163
+ onLine('stdout', `[regen] wrangler.jsonc verified (unchanged — kv namespace IDs resolved)`);
164
+ }
165
+ if (regen.status === 'error') {
166
+ throw new Error(`regenerate check failed for ${appDir}: ${regen.reason ?? 'unknown error'}`);
167
+ }
168
+ if (regen.status === 'updated' || regen.status === 'unchanged') {
169
+ onLine('stdout', `[regen] wrangler.jsonc verified (${regen.status})`);
170
+ }
171
+ else if (regen.status === 'skipped') {
172
+ onLine('stdout', `[regen] skipped: ${regen.reason ?? 'not managed'}`);
173
+ }
174
+ const client = await getCloudflareWorkersDeployClient();
175
+ const envOverrides = await resolveCloudflareEnvFromSecretsStore(runtime, ui, targetEnvironment);
176
+ // Provisioning for KV, D1, R2 is now always attempted when declared
177
+ // (creation + ID reconciliation happens in the client using REST API).
178
+ // Migrations remain opt-in via autoMigrateD1 for safety.
179
+ const rawConfig = loaded.raw;
180
+ const autoMigrateD1 = rawConfig.autoMigrateD1 === true && !skipD1Migrations;
181
+ if (skipD1Migrations) {
182
+ onLine('stdout', 'Skipping D1 migrations for this deploy.');
183
+ }
184
+ const generatedWranglerConfig = typeof rawConfig.generateWranglerConfig === 'function'
185
+ ? rawConfig.generateWranglerConfig()
186
+ : loaded.wranglerJsoncString
187
+ ? JSON.parse(loaded.wranglerJsoncString.replace(/^\s*\/\/.*$/gm, ''))
188
+ : rawConfig;
189
+ const d1Databases = (rawConfig.d1Databases ??
190
+ rawConfig.d1_databases ??
191
+ generatedWranglerConfig.d1Databases ??
192
+ generatedWranglerConfig.d1_databases) ?? undefined;
193
+ const r2Buckets = rawConfig.r2_buckets ?? undefined;
194
+ const result = await client.deployWorker({
195
+ appDir,
196
+ workspaceRoot,
197
+ workerName: deployment.appId,
198
+ buildCommand: deployment.build.buildCommand,
199
+ skipBuild,
200
+ dryRun,
201
+ environment,
202
+ envOverrides,
203
+ kvNamespaces: deployment.kvNamespaces,
204
+ d1Databases: autoMigrateD1 ? d1Databases : undefined,
205
+ r2Buckets,
206
+ onLine
207
+ });
208
+ if (output === 'json') {
209
+ ui.json({
210
+ ok: true,
211
+ provider: 'cloudflare-workers',
212
+ workerName: result.workerName,
213
+ deployedUrl: result.deployedUrl
214
+ });
215
+ }
216
+ else if (!dryRun) {
217
+ ui.success(result.deployedUrl
218
+ ? `Deployed Worker ${result.workerName} at ${result.deployedUrl}`
219
+ : `Deployed Worker ${result.workerName}`);
220
+ }
221
+ return;
222
+ }
223
+ case 'digitalocean-app': {
224
+ const doAppId = readString(opts.doAppId);
225
+ const doRegion = readString(opts.doRegion);
226
+ const doGitRepo = readString(opts.doGitRepo);
227
+ const doGitBranch = readString(opts.doGitBranch);
228
+ const client = await getDigitalOceanAppDeployClient();
229
+ const result = await client.deployApp({
230
+ deployment,
231
+ appId: doAppId,
232
+ region: doRegion,
233
+ git: doGitRepo ? { repoCloneUrl: doGitRepo, branch: doGitBranch ?? 'main' } : undefined,
234
+ dryRun,
235
+ onLine
236
+ });
237
+ if (output === 'json') {
238
+ ui.json({
239
+ ok: true,
240
+ provider: 'digitalocean-app',
241
+ appId: result.appId,
242
+ liveUrl: result.liveUrl
243
+ });
244
+ }
245
+ else if (!dryRun) {
246
+ ui.success(result.liveUrl
247
+ ? `Deployed DO App ${result.appId} at ${result.liveUrl}`
248
+ : `Deployed DO App ${result.appId}`);
249
+ }
250
+ return;
251
+ }
252
+ default: {
253
+ ui.error(`Unsupported provider: ${provider}`);
254
+ ui.info('Supported providers: cloudflare-workers, digitalocean-app');
255
+ process.exitCode = 1;
256
+ return;
257
+ }
258
+ }
259
+ }
260
+ catch (err) {
261
+ const message = err.message;
262
+ if (output === 'json') {
263
+ ui.json({ ok: false, error: message });
264
+ }
265
+ else {
266
+ ui.error(message);
267
+ }
268
+ process.exitCode = 1;
269
+ }
270
+ }
271
+ };
272
+ //# sourceMappingURL=infra-deploy.run.cli-command.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra-deploy.run.cli-command.impl.js","sourceRoot":"","sources":["../../../src/cli/run/infra-deploy.run.cli-command.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Discover deployed apps in a workspace by scanning for `deployment.config.ts`
3
+ * files. Used by infra CLI commands that need the live inventory of deployed
4
+ * workers/sites without hardcoding app names in framework packages.
5
+ */
6
+ import type { DeploymentDependency } from '@vibesdotdev/infra-core/deployment';
7
+ export interface DiscoveredDeployment {
8
+ appId: string;
9
+ appName: string;
10
+ provider: string;
11
+ appDir: string;
12
+ workerName: string | null;
13
+ dependsOn: DeploymentDependency[];
14
+ }
15
+ export interface DiscoverErrorInfo {
16
+ configPath: string;
17
+ appDir: string;
18
+ error: Error;
19
+ }
20
+ export interface DiscoverOptions {
21
+ /** Root to scan. Absolute, or relative to cwd. Defaults to cwd. */
22
+ root?: string;
23
+ /** Max directory depth. Defaults to 4. */
24
+ maxDepth?: number;
25
+ /** When set, only return deployments whose provider matches. */
26
+ provider?: string;
27
+ /**
28
+ * Invoked once per config that fails to load. The default behavior is to
29
+ * silently skip — `vibes infra deploy list` overrides this to surface
30
+ * unparseable rows.
31
+ */
32
+ onError?: (info: DiscoverErrorInfo) => void;
33
+ }
34
+ /**
35
+ * Scan `root` for every `deployment.config.ts` and return the loaded
36
+ * deployment descriptors. Configs that fail to load are skipped; pass
37
+ * `onError` to be notified about each failure (e.g. to render
38
+ * `(unparseable)` rows in the list command).
39
+ */
40
+ export declare function discoverDeployments(opts?: DiscoverOptions): Promise<DiscoveredDeployment[]>;
41
+ //# sourceMappingURL=discover-deployments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover-deployments.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/discover-deployments.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAoB/E,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC/B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC5C;AA+BD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACxC,IAAI,GAAE,eAAoB,GACxB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA+BjC"}