@treeseed/sdk 0.10.27 → 0.11.0

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 (168) hide show
  1. package/README.md +207 -6
  2. package/dist/capacity-provider.d.ts +3 -1
  3. package/dist/capacity-provider.js +25 -5
  4. package/dist/control-plane.d.ts +1 -0
  5. package/dist/control-plane.js +38 -13
  6. package/dist/db/market-schema.d.ts +8860 -6172
  7. package/dist/db/market-schema.js +108 -0
  8. package/dist/db/node-sqlite.js +7 -2
  9. package/dist/hosting/apps.d.ts +12 -0
  10. package/dist/hosting/apps.js +107 -0
  11. package/dist/hosting/builtins.d.ts +25 -0
  12. package/dist/hosting/builtins.js +791 -0
  13. package/dist/hosting/contracts.d.ts +207 -0
  14. package/dist/hosting/contracts.js +0 -0
  15. package/dist/hosting/graph.d.ts +192 -0
  16. package/dist/hosting/graph.js +1106 -0
  17. package/dist/hosting/index.d.ts +4 -0
  18. package/dist/hosting/index.js +4 -0
  19. package/dist/index.d.ts +11 -4
  20. package/dist/index.js +71 -7
  21. package/dist/managed-dependencies.js +1 -2
  22. package/dist/market-client.d.ts +63 -3
  23. package/dist/market-client.js +83 -11
  24. package/dist/operations/services/bootstrap-runner.d.ts +3 -1
  25. package/dist/operations/services/bootstrap-runner.js +22 -2
  26. package/dist/operations/services/config-runtime.d.ts +10 -5
  27. package/dist/operations/services/config-runtime.js +209 -66
  28. package/dist/operations/services/deploy.d.ts +70 -7
  29. package/dist/operations/services/deploy.js +579 -64
  30. package/dist/operations/services/deployment-readiness.d.ts +30 -0
  31. package/dist/operations/services/deployment-readiness.js +175 -0
  32. package/dist/operations/services/git-workflow.d.ts +2 -1
  33. package/dist/operations/services/git-workflow.js +9 -3
  34. package/dist/operations/services/github-actions-verification.d.ts +1 -0
  35. package/dist/operations/services/github-actions-verification.js +1 -0
  36. package/dist/operations/services/github-api.js +1 -1
  37. package/dist/operations/services/github-automation.d.ts +1 -1
  38. package/dist/operations/services/github-automation.js +4 -3
  39. package/dist/operations/services/github-credentials.d.ts +13 -0
  40. package/dist/operations/services/github-credentials.js +58 -0
  41. package/dist/operations/services/hosted-service-checks.d.ts +63 -0
  42. package/dist/operations/services/hosted-service-checks.js +327 -0
  43. package/dist/operations/services/hub-provider-launch.js +3 -3
  44. package/dist/operations/services/live-hosted-service-checks.d.ts +25 -0
  45. package/dist/operations/services/live-hosted-service-checks.js +350 -0
  46. package/dist/operations/services/managed-host-security.js +1 -1
  47. package/dist/operations/services/operations-runner-smoke.d.ts +30 -0
  48. package/dist/operations/services/operations-runner-smoke.js +180 -0
  49. package/dist/operations/services/package-adapters.d.ts +95 -0
  50. package/dist/operations/services/package-adapters.js +288 -0
  51. package/dist/operations/services/package-reference-policy.d.ts +1 -0
  52. package/dist/operations/services/package-reference-policy.js +15 -2
  53. package/dist/operations/services/project-platform.d.ts +80 -22
  54. package/dist/operations/services/project-platform.js +49 -8
  55. package/dist/operations/services/project-web-monitor.js +26 -4
  56. package/dist/operations/services/railway-api.d.ts +88 -5
  57. package/dist/operations/services/railway-api.js +626 -35
  58. package/dist/operations/services/railway-deploy.d.ts +46 -40
  59. package/dist/operations/services/railway-deploy.js +261 -293
  60. package/dist/operations/services/release-candidate.d.ts +19 -0
  61. package/dist/operations/services/release-candidate.js +375 -38
  62. package/dist/operations/services/repository-save-orchestrator.d.ts +3 -1
  63. package/dist/operations/services/repository-save-orchestrator.js +279 -66
  64. package/dist/operations/services/runtime-tools.d.ts +1 -0
  65. package/dist/operations/services/runtime-tools.js +10 -9
  66. package/dist/operations/services/template-registry.js +14 -7
  67. package/dist/operations/services/verification-cache.d.ts +25 -0
  68. package/dist/operations/services/verification-cache.js +71 -0
  69. package/dist/operations/services/workspace-dependency-mode.js +9 -1
  70. package/dist/operations/services/workspace-save.js +1 -1
  71. package/dist/operations/services/workspace-tools.js +2 -1
  72. package/dist/platform/contracts.d.ts +32 -1
  73. package/dist/platform/deploy-config.js +73 -8
  74. package/dist/platform/env.yaml +163 -35
  75. package/dist/platform/environment.d.ts +1 -0
  76. package/dist/platform/environment.js +74 -5
  77. package/dist/platform/plugin.d.ts +9 -0
  78. package/dist/platform-operation-store.js +2 -2
  79. package/dist/platform-operations.js +1 -1
  80. package/dist/reconcile/bootstrap-systems.js +2 -2
  81. package/dist/reconcile/builtin-adapters.js +372 -189
  82. package/dist/reconcile/contracts.d.ts +9 -5
  83. package/dist/reconcile/desired-state.d.ts +1 -0
  84. package/dist/reconcile/desired-state.js +5 -5
  85. package/dist/reconcile/engine.d.ts +5 -2
  86. package/dist/reconcile/engine.js +53 -32
  87. package/dist/reconcile/index.d.ts +2 -0
  88. package/dist/reconcile/index.js +2 -0
  89. package/dist/reconcile/live-acceptance.d.ts +79 -0
  90. package/dist/reconcile/live-acceptance.js +1615 -0
  91. package/dist/reconcile/platform.d.ts +104 -0
  92. package/dist/reconcile/platform.js +100 -0
  93. package/dist/reconcile/state.js +4 -4
  94. package/dist/reconcile/units.js +2 -2
  95. package/dist/scripts/deployment-readiness.js +20 -0
  96. package/dist/scripts/generate-treedx-openapi-types.js +186 -0
  97. package/dist/scripts/operations-runner-smoke.js +16 -0
  98. package/dist/scripts/release-verify.js +4 -1
  99. package/dist/scripts/template-catalog.test.js +7 -7
  100. package/dist/scripts/tenant-workflow-action.js +10 -1
  101. package/dist/sdk-types.d.ts +172 -5
  102. package/dist/sdk-types.js +28 -3
  103. package/dist/sdk.d.ts +35 -24
  104. package/dist/sdk.js +186 -17
  105. package/dist/template-launch-requirements.js +9 -0
  106. package/dist/treedx/adapters.d.ts +6 -0
  107. package/dist/treedx/adapters.js +36 -0
  108. package/dist/treedx/client.d.ts +222 -0
  109. package/dist/treedx/client.js +871 -0
  110. package/dist/treedx/errors.d.ts +13 -0
  111. package/dist/treedx/errors.js +17 -0
  112. package/dist/treedx/federated-client.d.ts +27 -0
  113. package/dist/treedx/federated-client.js +158 -0
  114. package/dist/treedx/generated/openapi-types.d.ts +3558 -0
  115. package/dist/treedx/generated/openapi-types.js +0 -0
  116. package/dist/treedx/graph-adapter.d.ts +33 -0
  117. package/dist/treedx/graph-adapter.js +156 -0
  118. package/dist/treedx/index.d.ts +14 -0
  119. package/dist/treedx/index.js +48 -0
  120. package/dist/treedx/market-integration.d.ts +27 -0
  121. package/dist/treedx/market-integration.js +131 -0
  122. package/dist/treedx/ports.d.ts +166 -0
  123. package/dist/treedx/ports.js +231 -0
  124. package/dist/treedx/query-adapter.d.ts +19 -0
  125. package/dist/treedx/query-adapter.js +62 -0
  126. package/dist/treedx/registry-client.d.ts +11 -0
  127. package/dist/treedx/registry-client.js +19 -0
  128. package/dist/treedx/repository-adapter.d.ts +45 -0
  129. package/dist/treedx/repository-adapter.js +308 -0
  130. package/dist/treedx/sdk-integration.d.ts +27 -0
  131. package/dist/treedx/sdk-integration.js +63 -0
  132. package/dist/treedx/types.d.ts +1084 -0
  133. package/dist/treedx/types.js +8 -0
  134. package/dist/treedx/workspace-adapter.d.ts +27 -0
  135. package/dist/treedx/workspace-adapter.js +65 -0
  136. package/dist/treedx-backends.d.ts +218 -0
  137. package/dist/treedx-backends.js +632 -0
  138. package/dist/treedx-client.d.ts +86 -0
  139. package/dist/treedx-client.js +175 -0
  140. package/dist/treeseed/template-catalog/catalog.fixture.json +497 -138
  141. package/dist/workflow/operations.d.ts +119 -13
  142. package/dist/workflow/operations.js +309 -53
  143. package/dist/workflow-state.d.ts +13 -0
  144. package/dist/workflow-state.js +43 -26
  145. package/dist/workflow-support.d.ts +11 -3
  146. package/dist/workflow-support.js +67 -3
  147. package/dist/workflow.d.ts +5 -0
  148. package/drizzle/market/0004_treedx_market_integration.sql +99 -0
  149. package/package.json +34 -3
  150. package/templates/github/deploy-web.workflow.yml +39 -6
  151. package/dist/treeseed/template-catalog/templates/starter-basic/template/astro.config.d.ts +0 -3
  152. package/dist/treeseed/template-catalog/templates/starter-basic/template/astro.config.ts +0 -6
  153. package/dist/treeseed/template-catalog/templates/starter-basic/template/package.json +0 -35
  154. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/api/server.js +0 -4
  155. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/config.yaml +0 -65
  156. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/decisions/adopt-initial-proposal-loop.mdx +0 -22
  157. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/empty/.gitkeep +0 -1
  158. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/knowledge/handbook/index.mdx +0 -11
  159. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/pages/welcome.mdx +0 -11
  160. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/people/starter-steward.mdx +0 -11
  161. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content/proposals/establish-initial-proposal-loop.mdx +0 -17
  162. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content.config.d.ts +0 -1
  163. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/content.config.ts +0 -3
  164. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/env.yaml +0 -1
  165. package/dist/treeseed/template-catalog/templates/starter-basic/template/src/manifest.yaml +0 -26
  166. package/dist/treeseed/template-catalog/templates/starter-basic/template/treeseed.site.yaml +0 -74
  167. package/dist/treeseed/template-catalog/templates/starter-basic/template/tsconfig.json +0 -9
  168. package/dist/treeseed/template-catalog/templates/starter-basic/template.config.json +0 -103
@@ -0,0 +1,207 @@
1
+ import type { TreeseedDeployConfig } from '../platform/contracts.ts';
2
+ import type { TreeseedDiscoveredApplication } from './apps.ts';
3
+ export type TreeseedHostingEnvironment = 'local' | 'staging' | 'prod';
4
+ export type TreeseedHostCapability = 'project' | 'environment' | 'container' | 'volume' | 'database' | 'domain' | 'dns' | 'object-store' | 'web-site' | 'source-repository' | 'workflow' | 'email-relay' | 'scheduled-job' | 'process' | 'secret' | 'variable' | 'deployment' | 'health' | 'logs' | 'port' | 'hot-reload';
5
+ export type TreeseedServicePlacement = 'web' | 'api' | 'database' | 'knowledge-library' | 'runner-capacity' | 'repository' | 'content-storage' | 'email' | 'operations' | 'custom';
6
+ export type TreeseedHostingAction = 'noop' | 'create' | 'update' | 'verify' | 'rename' | 'adopt' | 'reattach' | 'retain' | 'delete' | 'blocked';
7
+ export type TreeseedHostingStatus = 'unknown' | 'pending' | 'ready' | 'degraded' | 'blocked';
8
+ export interface TreeseedHostCapabilityDescriptor {
9
+ id: TreeseedHostCapability;
10
+ environments: TreeseedHostingEnvironment[];
11
+ }
12
+ export interface TreeseedHostAdapterOperationInput {
13
+ environment: TreeseedHostingEnvironment;
14
+ unit: TreeseedHostingUnit;
15
+ graph: TreeseedHostingGraph;
16
+ dryRun?: boolean;
17
+ }
18
+ export interface TreeseedHostAdapterOperationResult {
19
+ status: TreeseedHostingStatus;
20
+ locators: Record<string, string | null>;
21
+ state: Record<string, unknown>;
22
+ warnings: string[];
23
+ }
24
+ export interface TreeseedHostAdapter {
25
+ id: string;
26
+ label: string;
27
+ capabilities: TreeseedHostCapabilityDescriptor[];
28
+ refresh(input: TreeseedHostAdapterOperationInput): Promise<TreeseedHostAdapterOperationResult> | TreeseedHostAdapterOperationResult;
29
+ diff(input: TreeseedHostAdapterOperationInput & {
30
+ observed: TreeseedHostAdapterOperationResult;
31
+ }): Promise<TreeseedHostingUnitPlan> | TreeseedHostingUnitPlan;
32
+ apply(input: TreeseedHostAdapterOperationInput & {
33
+ plan: TreeseedHostingUnitPlan;
34
+ }): Promise<TreeseedHostAdapterOperationResult> | TreeseedHostAdapterOperationResult;
35
+ verify(input: TreeseedHostAdapterOperationInput & {
36
+ observed: TreeseedHostAdapterOperationResult;
37
+ }): Promise<TreeseedHostingVerification> | TreeseedHostingVerification;
38
+ status(input: TreeseedHostAdapterOperationInput): Promise<TreeseedHostAdapterOperationResult> | TreeseedHostAdapterOperationResult;
39
+ }
40
+ export interface TreeseedServiceTypeAdapter {
41
+ id: string;
42
+ label: string;
43
+ placement: TreeseedServicePlacement;
44
+ requiredCapabilities: TreeseedHostCapability[];
45
+ composes?: string[];
46
+ defaultHostByEnvironment?: Partial<Record<TreeseedHostingEnvironment, string>>;
47
+ describe?(unit: TreeseedHostingUnit): string;
48
+ }
49
+ export interface TreeseedHostingEnvironmentBinding {
50
+ hostId: string;
51
+ projectGroupId?: string;
52
+ enabled?: boolean;
53
+ config?: Record<string, unknown>;
54
+ }
55
+ export interface TreeseedServiceInstanceSpec {
56
+ id: string;
57
+ label: string;
58
+ serviceType: string;
59
+ placement?: TreeseedServicePlacement;
60
+ dependencies?: string[];
61
+ projectGroupId?: string;
62
+ config?: Record<string, unknown>;
63
+ secretRefs?: string[];
64
+ variableRefs?: string[];
65
+ environments?: Partial<Record<TreeseedHostingEnvironment, TreeseedHostingEnvironmentBinding>>;
66
+ metadata?: Record<string, unknown>;
67
+ }
68
+ export interface TreeseedHostProjectGroup {
69
+ id: string;
70
+ label: string;
71
+ hostId: string;
72
+ environments: Partial<Record<TreeseedHostingEnvironment, {
73
+ projectName?: string;
74
+ projectId?: string;
75
+ environmentName?: string;
76
+ environmentId?: string;
77
+ sharedAcrossEnvironments?: boolean;
78
+ }>>;
79
+ metadata?: Record<string, unknown>;
80
+ }
81
+ export interface TreeseedApplicationHostingProfile {
82
+ id: string;
83
+ label: string;
84
+ description?: string;
85
+ services: TreeseedServiceInstanceSpec[];
86
+ projectGroups?: TreeseedHostProjectGroup[];
87
+ metadata?: Record<string, unknown>;
88
+ }
89
+ export interface TreeseedHostingGraphInput {
90
+ tenantRoot: string;
91
+ environment: TreeseedHostingEnvironment;
92
+ appId?: string;
93
+ deployConfig?: TreeseedDeployConfig;
94
+ hostAdapters?: Record<string, TreeseedHostAdapter>;
95
+ serviceTypeAdapters?: Record<string, TreeseedServiceTypeAdapter>;
96
+ profiles?: TreeseedApplicationHostingProfile[];
97
+ filter?: TreeseedHostingGraphFilter;
98
+ }
99
+ export interface TreeseedHostingGraphFilter {
100
+ serviceIds?: string[];
101
+ placements?: TreeseedServicePlacement[];
102
+ hosts?: string[];
103
+ }
104
+ export interface TreeseedHostingUnit {
105
+ id: string;
106
+ label: string;
107
+ serviceType: TreeseedServiceTypeAdapter;
108
+ placement: TreeseedServicePlacement;
109
+ host: TreeseedHostAdapter;
110
+ environment: TreeseedHostingEnvironment;
111
+ projectGroup: TreeseedHostProjectGroup | null;
112
+ dependencies: string[];
113
+ requiredCapabilities: TreeseedHostCapability[];
114
+ config: Record<string, unknown>;
115
+ secretRefs: string[];
116
+ variableRefs: string[];
117
+ metadata: Record<string, unknown>;
118
+ application?: Pick<TreeseedDiscoveredApplication, 'id' | 'root' | 'relativeRoot' | 'configPath' | 'roles'>;
119
+ }
120
+ export interface TreeseedHostingGraph {
121
+ tenantRoot: string;
122
+ environment: TreeseedHostingEnvironment;
123
+ deployConfig: TreeseedDeployConfig;
124
+ applications?: TreeseedDiscoveredApplication[];
125
+ hosts: Record<string, TreeseedHostAdapter>;
126
+ serviceTypes: Record<string, TreeseedServiceTypeAdapter>;
127
+ profiles: TreeseedApplicationHostingProfile[];
128
+ projectGroups: Record<string, TreeseedHostProjectGroup>;
129
+ units: TreeseedHostingUnit[];
130
+ placements: TreeseedHostingPlacementSummary[];
131
+ warnings: string[];
132
+ }
133
+ export interface TreeseedHostingUnitPlan {
134
+ unitId: string;
135
+ action: TreeseedHostingAction;
136
+ reasons: string[];
137
+ before: Record<string, unknown>;
138
+ after: Record<string, unknown>;
139
+ warnings: string[];
140
+ actions?: TreeseedHostingAction[];
141
+ retainedResources?: unknown[];
142
+ blockedDrift?: unknown[];
143
+ providerLimitations?: unknown[];
144
+ }
145
+ export interface TreeseedHostingVerificationCheck {
146
+ key: string;
147
+ label: string;
148
+ ok: boolean;
149
+ expected?: unknown;
150
+ observed?: unknown;
151
+ issues: string[];
152
+ }
153
+ export interface TreeseedHostingVerification {
154
+ unitId: string;
155
+ status: TreeseedHostingStatus;
156
+ verified: boolean;
157
+ checks: TreeseedHostingVerificationCheck[];
158
+ warnings: string[];
159
+ }
160
+ export interface TreeseedHostingPlan {
161
+ environment: TreeseedHostingEnvironment;
162
+ dryRun: boolean;
163
+ units: Array<{
164
+ unit: TreeseedHostingUnit;
165
+ observed: TreeseedHostAdapterOperationResult;
166
+ plan: TreeseedHostingUnitPlan;
167
+ verification: TreeseedHostingVerification;
168
+ }>;
169
+ placements: TreeseedHostingPlacementSummary[];
170
+ warnings: string[];
171
+ }
172
+ export interface TreeseedHostingApplyResult {
173
+ environment: TreeseedHostingEnvironment;
174
+ dryRun: boolean;
175
+ selectedApps?: string[];
176
+ selectedSystems?: string[];
177
+ skippedSystems?: Array<{
178
+ system: string;
179
+ reason: string;
180
+ }>;
181
+ transport?: Record<string, Record<string, string>>;
182
+ results: Array<{
183
+ unit: TreeseedHostingUnit;
184
+ plan: TreeseedHostingUnitPlan;
185
+ result: TreeseedHostAdapterOperationResult;
186
+ verification: TreeseedHostingVerification;
187
+ }>;
188
+ placements: TreeseedHostingPlacementSummary[];
189
+ warnings: string[];
190
+ }
191
+ export interface TreeseedHostingPlacementSummary {
192
+ placement: TreeseedServicePlacement;
193
+ label: string;
194
+ serviceIds: string[];
195
+ hostIds: string[];
196
+ status: TreeseedHostingStatus;
197
+ advanced: boolean;
198
+ }
199
+ export interface TreeseedPersistedHostingLocator {
200
+ unitId: string;
201
+ serviceType: string;
202
+ hostId: string;
203
+ environment: TreeseedHostingEnvironment;
204
+ projectGroupId: string | null;
205
+ locators: Record<string, string | null>;
206
+ updatedAt: string;
207
+ }
File without changes
@@ -0,0 +1,192 @@
1
+ import { type TreeseedCanonicalAction, type TreeseedCanonicalDrift, type TreeseedCanonicalGraphNode, type TreeseedCanonicalPostcondition } from '../reconcile/index.ts';
2
+ import type { TreeseedRunnableBootstrapSystem } from '../reconcile/bootstrap-systems.ts';
3
+ import type { TreeseedHostingApplyResult, TreeseedHostingEnvironment, TreeseedHostingGraph, TreeseedHostingGraphInput, TreeseedHostingPlan, TreeseedHostingPlacementSummary, TreeseedHostingUnit, TreeseedHostAdapterOperationResult, TreeseedServicePlacement } from './contracts.ts';
4
+ export declare function compileTreeseedHostingGraph(input: TreeseedHostingGraphInput): TreeseedHostingGraph;
5
+ export declare function planTreeseedHostingGraph(input: TreeseedHostingGraphInput & {
6
+ dryRun?: boolean;
7
+ }): Promise<TreeseedHostingPlan>;
8
+ export declare function applyTreeseedHostingGraph(input: TreeseedHostingGraphInput & {
9
+ dryRun?: boolean;
10
+ }): Promise<TreeseedHostingApplyResult>;
11
+ export declare function serializeHostingUnit(unit: TreeseedHostingUnit): {
12
+ id: string;
13
+ label: string;
14
+ serviceType: string;
15
+ placement: TreeseedServicePlacement;
16
+ hostId: string;
17
+ environment: TreeseedHostingEnvironment;
18
+ projectGroupId: string | null;
19
+ requiredCapabilities: import("./contracts.ts").TreeseedHostCapability[];
20
+ secretRefs: string[];
21
+ variableRefs: string[];
22
+ application: {
23
+ id: string;
24
+ relativeRoot: string;
25
+ roles: string[];
26
+ } | null;
27
+ config: unknown;
28
+ metadata: unknown;
29
+ };
30
+ export declare function serializeHostingPlan(plan: TreeseedHostingPlan): {
31
+ selectedApps: string[];
32
+ selectedSystems: TreeseedRunnableBootstrapSystem[];
33
+ skippedSystems: {
34
+ system: string;
35
+ reason: string;
36
+ }[];
37
+ transport: {
38
+ railway: {
39
+ reconcile: string;
40
+ deploy: string;
41
+ };
42
+ } | undefined;
43
+ placements: TreeseedHostingPlacementSummary[];
44
+ units: {
45
+ unit: {
46
+ id: string;
47
+ label: string;
48
+ serviceType: string;
49
+ placement: TreeseedServicePlacement;
50
+ hostId: string;
51
+ environment: TreeseedHostingEnvironment;
52
+ projectGroupId: string | null;
53
+ requiredCapabilities: import("./contracts.ts").TreeseedHostCapability[];
54
+ secretRefs: string[];
55
+ variableRefs: string[];
56
+ application: {
57
+ id: string;
58
+ relativeRoot: string;
59
+ roles: string[];
60
+ } | null;
61
+ config: unknown;
62
+ metadata: unknown;
63
+ };
64
+ desired: {
65
+ id: string;
66
+ label: string;
67
+ serviceType: string;
68
+ placement: TreeseedServicePlacement;
69
+ hostId: string;
70
+ environment: TreeseedHostingEnvironment;
71
+ projectGroupId: string | null;
72
+ requiredCapabilities: import("./contracts.ts").TreeseedHostCapability[];
73
+ secretRefs: string[];
74
+ variableRefs: string[];
75
+ application: {
76
+ id: string;
77
+ relativeRoot: string;
78
+ roles: string[];
79
+ } | null;
80
+ config: unknown;
81
+ metadata: unknown;
82
+ };
83
+ observed: TreeseedHostAdapterOperationResult;
84
+ diff: import("./contracts.ts").TreeseedHostingUnitPlan;
85
+ actions: import("./contracts.ts").TreeseedHostingAction[];
86
+ retainedResources: unknown[];
87
+ blockedDrift: unknown[];
88
+ providerLimitations: unknown[];
89
+ plan: import("./contracts.ts").TreeseedHostingUnitPlan;
90
+ verification: import("./contracts.ts").TreeseedHostingVerification;
91
+ }[];
92
+ warnings: string[];
93
+ desiredGraph: TreeseedCanonicalGraphNode[];
94
+ observedGraph: TreeseedCanonicalGraphNode[];
95
+ stateGraph: TreeseedCanonicalGraphNode[];
96
+ diff: TreeseedCanonicalDrift[];
97
+ actions: TreeseedCanonicalAction[];
98
+ postconditions: TreeseedCanonicalPostcondition[];
99
+ selectedResources: string[];
100
+ skippedResources: Array<{
101
+ id: string;
102
+ reason: string;
103
+ }>;
104
+ blockedDrift: TreeseedCanonicalDrift[];
105
+ providerLimitations: TreeseedCanonicalDrift[];
106
+ retainedResources: TreeseedCanonicalGraphNode[];
107
+ destroyedResources: TreeseedCanonicalGraphNode[];
108
+ liveVerification: import("../reconcile/platform.ts").TreeseedCanonicalLiveVerification;
109
+ ok: boolean;
110
+ environment: TreeseedHostingEnvironment;
111
+ dryRun: boolean;
112
+ };
113
+ export declare function serializeHostingApplyResult(result: TreeseedHostingApplyResult): {
114
+ selectedApps: string[];
115
+ selectedSystems: string[];
116
+ skippedSystems: {
117
+ system: string;
118
+ reason: string;
119
+ }[];
120
+ transport: Record<string, Record<string, string>> | undefined;
121
+ placements: TreeseedHostingPlacementSummary[];
122
+ results: {
123
+ unit: {
124
+ id: string;
125
+ label: string;
126
+ serviceType: string;
127
+ placement: TreeseedServicePlacement;
128
+ hostId: string;
129
+ environment: TreeseedHostingEnvironment;
130
+ projectGroupId: string | null;
131
+ requiredCapabilities: import("./contracts.ts").TreeseedHostCapability[];
132
+ secretRefs: string[];
133
+ variableRefs: string[];
134
+ application: {
135
+ id: string;
136
+ relativeRoot: string;
137
+ roles: string[];
138
+ } | null;
139
+ config: unknown;
140
+ metadata: unknown;
141
+ };
142
+ desired: {
143
+ id: string;
144
+ label: string;
145
+ serviceType: string;
146
+ placement: TreeseedServicePlacement;
147
+ hostId: string;
148
+ environment: TreeseedHostingEnvironment;
149
+ projectGroupId: string | null;
150
+ requiredCapabilities: import("./contracts.ts").TreeseedHostCapability[];
151
+ secretRefs: string[];
152
+ variableRefs: string[];
153
+ application: {
154
+ id: string;
155
+ relativeRoot: string;
156
+ roles: string[];
157
+ } | null;
158
+ config: unknown;
159
+ metadata: unknown;
160
+ };
161
+ observed: TreeseedHostAdapterOperationResult;
162
+ diff: import("./contracts.ts").TreeseedHostingUnitPlan;
163
+ actions: import("./contracts.ts").TreeseedHostingAction[];
164
+ retainedResources: unknown[];
165
+ blockedDrift: unknown[];
166
+ providerLimitations: unknown[];
167
+ plan: import("./contracts.ts").TreeseedHostingUnitPlan;
168
+ result: TreeseedHostAdapterOperationResult;
169
+ verification: import("./contracts.ts").TreeseedHostingVerification;
170
+ }[];
171
+ warnings: string[];
172
+ desiredGraph: TreeseedCanonicalGraphNode[];
173
+ observedGraph: TreeseedCanonicalGraphNode[];
174
+ stateGraph: TreeseedCanonicalGraphNode[];
175
+ diff: TreeseedCanonicalDrift[];
176
+ actions: TreeseedCanonicalAction[];
177
+ postconditions: TreeseedCanonicalPostcondition[];
178
+ selectedResources: string[];
179
+ skippedResources: Array<{
180
+ id: string;
181
+ reason: string;
182
+ }>;
183
+ blockedDrift: TreeseedCanonicalDrift[];
184
+ providerLimitations: TreeseedCanonicalDrift[];
185
+ retainedResources: TreeseedCanonicalGraphNode[];
186
+ destroyedResources: TreeseedCanonicalGraphNode[];
187
+ liveVerification: import("../reconcile/platform.ts").TreeseedCanonicalLiveVerification;
188
+ ok: boolean;
189
+ environment: TreeseedHostingEnvironment;
190
+ dryRun: boolean;
191
+ };
192
+ export declare function hostingEnvironmentLabel(environment: TreeseedHostingEnvironment): string;