@cat-factory/orchestration 0.188.3 → 0.189.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.
- package/dist/container/engine-dependent-modules.d.ts.map +1 -1
- package/dist/container/engine-dependent-modules.js +12 -0
- package/dist/container/engine-dependent-modules.js.map +1 -1
- package/dist/container/modules.d.ts.map +1 -1
- package/dist/container/modules.js +1 -0
- package/dist/container/modules.js.map +1 -1
- package/dist/modules/execution/ExecutionService.d.ts +16 -0
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +46 -19
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/ExecutionServiceDependencies.d.ts +8 -1
- package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -1
- package/dist/modules/execution/PrVerificationReportController.d.ts +35 -8
- package/dist/modules/execution/PrVerificationReportController.d.ts.map +1 -1
- package/dist/modules/execution/PrVerificationReportController.js +79 -9
- package/dist/modules/execution/PrVerificationReportController.js.map +1 -1
- package/dist/modules/execution/prReport.environments.d.ts +49 -0
- package/dist/modules/execution/prReport.environments.d.ts.map +1 -0
- package/dist/modules/execution/prReport.environments.js +408 -0
- package/dist/modules/execution/prReport.environments.js.map +1 -0
- package/dist/modules/execution/prReport.logic.d.ts +7 -0
- package/dist/modules/execution/prReport.logic.d.ts.map +1 -1
- package/dist/modules/execution/prReport.logic.js +9 -75
- package/dist/modules/execution/prReport.logic.js.map +1 -1
- package/dist/modules/execution/prReport.steps.d.ts +13 -0
- package/dist/modules/execution/prReport.steps.d.ts.map +1 -0
- package/dist/modules/execution/prReport.steps.js +27 -0
- package/dist/modules/execution/prReport.steps.js.map +1 -0
- package/package.json +11 -11
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountRepository, AgentExecutor, AgentPromptRepository, WorkspaceAgentSettingsRepository, BinaryGeneratorSource, BlockRepository, BlueprintService, BrainstormSessionRepository, BrainstormStage, BranchUpdater, ClarityReviewRepository, ConsensusGroupRepository, Clock, DocInterviewRepository, DocumentRepository, ExecutionEventPublisher, ExecutionRepository, GateRegistry, GroupCacheHandle, IdGenerator, InitiativePresetRegistry, InitiativeRepository, IssueWritebackProvider, JudgeAssessor, JudgeRegistry, Logger, ModelRef, PipelineRepository, ProviderCapabilities, ProviderRegistry, PrVerificationReportPublisher, PullRequestMerger, RequirementReviewRepository, ResolveBinaryArtifactStore, ResolveRunRepoContext, RiskPolicyCacheValue, RiskPolicyRepository, RunInitiatorScope, RunLifecycleSink, StepResolverRegistry, SubscriptionActivationRepository, TaskRepository, TestSecretRef, TicketTrackerProvider, WorkRunner, WorkspaceRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
1
|
+
import type { AccountRepository, AgentExecutor, AgentPromptRepository, WorkspaceAgentSettingsRepository, BinaryGeneratorSource, BlockRepository, BlueprintService, BrainstormSessionRepository, BrainstormStage, BranchUpdater, ClarityReviewRepository, ConsensusGroupRepository, Clock, DocInterviewRepository, DocumentRepository, ExecutionEventPublisher, ExecutionRepository, GateRegistry, GroupCacheHandle, IdGenerator, InitiativePresetRegistry, InitiativeRepository, IssueWritebackProvider, JudgeAssessor, JudgeRegistry, Logger, ModelRef, PipelineRepository, ProviderCapabilities, ProviderRegistry, PrVerificationReportPublisher, ProvisioningLogRepository, PullRequestMerger, RequirementReviewRepository, ResolveBinaryArtifactStore, ResolveRunRepoContext, RiskPolicyCacheValue, RiskPolicyRepository, RunInitiatorScope, RunLifecycleSink, StepResolverRegistry, SubscriptionActivationRepository, TaskRepository, TestSecretRef, TicketTrackerProvider, WorkRunner, WorkspaceRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
2
2
|
import type { AgentKindRegistry } from '@cat-factory/agents';
|
|
3
3
|
import type { ResolvedValidationChecks } from '@cat-factory/contracts';
|
|
4
4
|
import type { BugIntakeService, EnvironmentProvisioningService, EnvironmentTeardownService } from '@cat-factory/integrations';
|
|
@@ -431,6 +431,13 @@ export interface ExecutionServiceDependencies {
|
|
|
431
431
|
* a no-VCS deployment) → the engine behaves exactly as it did before the feature.
|
|
432
432
|
*/
|
|
433
433
|
prVerificationReportPublisher?: PrVerificationReportPublisher;
|
|
434
|
+
/**
|
|
435
|
+
* Optional: the provisioning event log, read by the verification report to DATE the ephemeral
|
|
436
|
+
* environment's lifecycle (when it came up, when it was reclaimed, and how many attempts
|
|
437
|
+
* failed). Absent → the environment section reports the lifecycle as un-evidenced rather than
|
|
438
|
+
* as an environment nobody tore down.
|
|
439
|
+
*/
|
|
440
|
+
provisioningLogRepository?: ProvisioningLogRepository;
|
|
434
441
|
/**
|
|
435
442
|
* Optional: the deployment's public SPA base URL, used to build the verification report's
|
|
436
443
|
* observability deep link. Absent → the report carries no link rather than a dead one.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionServiceDependencies.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionServiceDependencies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExecutionServiceDependencies.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionServiceDependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BlockRepository, Clock, ExecutionInstance, Logger, PrVerificationReportPublisher, ResolveRunRepoContext, TaskRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
1
|
+
import type { BlockRepository, Clock, ExecutionInstance, Logger, PrVerificationReportPublisher, ProvisioningLogRepository, ResolveRunRepoContext, TaskRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
2
2
|
/**
|
|
3
3
|
* The engine collaborator that keeps a run's **verification report** on its pull request.
|
|
4
4
|
*
|
|
@@ -44,8 +44,15 @@ export interface PrVerificationReportControllerDeps {
|
|
|
44
44
|
*/
|
|
45
45
|
workspaceSettingsRepository?: WorkspaceSettingsRepository;
|
|
46
46
|
/**
|
|
47
|
-
* Optional: the
|
|
48
|
-
*
|
|
47
|
+
* Optional: the provisioning event log, which DATES the environment lifecycle: the only
|
|
48
|
+
* store that records when a throwaway environment came up and when it was reclaimed. Absent
|
|
49
|
+
* (a deployment that retains no log) ⇒ the section says the lifecycle could not be dated
|
|
50
|
+
* rather than reporting "never torn down", which is the same value and the opposite fact.
|
|
51
|
+
*/
|
|
52
|
+
provisioningLogRepository?: Pick<ProvisioningLogRepository, 'list'>;
|
|
53
|
+
/**
|
|
54
|
+
* Optional: the deployment's public SPA base URL, used to build the observability and
|
|
55
|
+
* captured-evidence deep links. Absent ⇒ those fields are null and no link is rendered
|
|
49
56
|
* (better than emitting a link to nowhere).
|
|
50
57
|
*/
|
|
51
58
|
appBaseUrl?: string;
|
|
@@ -127,11 +134,31 @@ export declare class PrVerificationReportController {
|
|
|
127
134
|
private rememberSpec;
|
|
128
135
|
private linkedIssues;
|
|
129
136
|
/**
|
|
130
|
-
* The
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
137
|
+
* The run's rows in the provisioning event log, which DATE the environment lifecycle, or the
|
|
138
|
+
* REASON there are none. Each of the three ways this comes back empty is its own answer,
|
|
139
|
+
* because each is a different thing to fix and only one of them is a statement about how the
|
|
140
|
+
* deployment is configured: an unwired log, a read that failed, and a truncated read all
|
|
141
|
+
* produce the same empty timeline (absent is not zero, and neither is unreadable).
|
|
142
|
+
*
|
|
143
|
+
* GATED on the run actually having a deployer step, for the same reason the `spec/` read is
|
|
144
|
+
* gated on a tester report: with no deployer the section's answer is already determined, so
|
|
145
|
+
* the ~15 settlements of an ordinary build-and-merge run make no query at all. Deliberately
|
|
146
|
+
* NOT memoised, unlike the spec: the teardown row is appended at the very END of the
|
|
147
|
+
* lifecycle (often after the run itself has settled), so a memo taken on the deploying step
|
|
148
|
+
* would pin the section to "still live" forever, which is the exact hole this section exists
|
|
149
|
+
* to close.
|
|
150
|
+
*/
|
|
151
|
+
private provisioningEvents;
|
|
152
|
+
/**
|
|
153
|
+
* A deep link into one of the run's panels. The SPA is a single canvas, so the target is the
|
|
154
|
+
* board with the run's view params (see `useRunDeepLink` in `@cat-factory/app`, and slice 4
|
|
155
|
+
* of the global-search initiative, which will generalise the parser.
|
|
156
|
+
*
|
|
157
|
+
* `observability` opens Model activity / Provided context; `test-evidence` opens the tester
|
|
158
|
+
* step's result window, where the screenshots the lifecycle section lists are rendered. Both
|
|
159
|
+
* are values that narrow parser knows: adding a third means teaching it the view first, or
|
|
160
|
+
* the link silently degrades to "the right board, no panel".
|
|
134
161
|
*/
|
|
135
|
-
private
|
|
162
|
+
private deepLink;
|
|
136
163
|
}
|
|
137
164
|
//# sourceMappingURL=PrVerificationReportController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrVerificationReportController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/PrVerificationReportController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,KAAK,EACL,iBAAiB,EACjB,MAAM,EAEN,6BAA6B,EAC7B,qBAAqB,EAErB,cAAc,EACd,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"PrVerificationReportController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/PrVerificationReportController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,KAAK,EACL,iBAAiB,EACjB,MAAM,EAEN,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EAErB,cAAc,EACd,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAuB5B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,kCAAkC;IACjD,eAAe,EAAE,eAAe,CAAA;IAChC,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,SAAS,CAAC,EAAE,6BAA6B,CAAA;IACzC,+EAA+E;IAC/E,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAA;IACzD;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAA;IACnE;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,8BAA8B;IA2B7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IA1BjC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAE1D;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAE9C,YAA6B,IAAI,EAAE,kCAAkC,EAAI;IAEzE;;;OAGG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CnF;IAED,2FAA2F;IAC3F,OAAO,CAAC,QAAQ;IAUhB;;;;OAIG;YACW,iBAAiB;IAO/B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,WAAW;IA8BzB,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAE9D,OAAO,CAAC,YAAY;YAUN,YAAY;IAY1B;;;;;;;;;;;;;;OAcG;YACW,kBAAkB;IAiChC;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ;CAmBjB"}
|
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import { DEFAULT_WORKSPACE_SETTINGS } from '@cat-factory/kernel';
|
|
1
|
+
import { DEFAULT_WORKSPACE_SETTINGS, describeError } from '@cat-factory/kernel';
|
|
2
2
|
import { readServiceSpec } from '@cat-factory/agents';
|
|
3
|
+
import { DEPLOYER_AGENT_KIND } from '@cat-factory/integrations';
|
|
3
4
|
import { composePrVerificationReport, renderPrVerificationReport } from './prReport.logic.js';
|
|
4
5
|
import { isTesterKind } from './ci.logic.js';
|
|
6
|
+
/**
|
|
7
|
+
* How many of the run's environment provisioning rows the lifecycle timeline reads. A run stands
|
|
8
|
+
* up one environment per involved service frame and retries a failing provision, so the realistic
|
|
9
|
+
* count is single digits; the bound exists so a pathological retry loop (or a long stack recipe,
|
|
10
|
+
* which logs a row per STEP) cannot make the report's own read unbounded.
|
|
11
|
+
*
|
|
12
|
+
* A read that comes back FULL is reported as truncated rather than folded. The fold follows
|
|
13
|
+
* environment ids to decide whether everything the run stood up was reclaimed, and rows arrive
|
|
14
|
+
* newest first, so a partial history silently loses the OLDEST bring-ups: an environment whose
|
|
15
|
+
* provision row fell off the end reads as one that never existed, and therefore as one that never
|
|
16
|
+
* needed reclaiming. That is a confident wrong answer where "the history is too long to date" is
|
|
17
|
+
* an honest one.
|
|
18
|
+
*/
|
|
19
|
+
const PROVISIONING_EVENT_LIMIT = 200;
|
|
5
20
|
export class PrVerificationReportController {
|
|
6
21
|
deps;
|
|
7
22
|
/**
|
|
@@ -58,8 +73,12 @@ export class PrVerificationReportController {
|
|
|
58
73
|
issues: await this.linkedIssues(workspaceId, instance.blockId),
|
|
59
74
|
repo: target.repo,
|
|
60
75
|
provider: target.provider,
|
|
61
|
-
runUrl: this.
|
|
76
|
+
runUrl: this.deepLink(workspaceId, instance, 'observability'),
|
|
62
77
|
spec: await this.serviceSpec(workspaceId, instance, block.pullRequest?.branch),
|
|
78
|
+
environments: {
|
|
79
|
+
provisioning: await this.provisioningEvents(workspaceId, instance),
|
|
80
|
+
evidenceUrl: this.deepLink(workspaceId, instance, 'test-evidence'),
|
|
81
|
+
},
|
|
63
82
|
now: this.deps.clock.now(),
|
|
64
83
|
}));
|
|
65
84
|
// `generatedAt` changes on every compose, so compare the section with it masked out —
|
|
@@ -74,7 +93,7 @@ export class PrVerificationReportController {
|
|
|
74
93
|
// A PR-report write is bookkeeping. A provider outage, a revoked token, or a PR someone
|
|
75
94
|
// closed underneath the run must never turn a green run red.
|
|
76
95
|
this.deps.logger?.warn('Failed to publish the PR verification report', {
|
|
77
|
-
err: error,
|
|
96
|
+
err: describeError(error),
|
|
78
97
|
executionId: instance.id,
|
|
79
98
|
blockId: instance.blockId,
|
|
80
99
|
workspaceId,
|
|
@@ -182,12 +201,63 @@ export class PrVerificationReportController {
|
|
|
182
201
|
}));
|
|
183
202
|
}
|
|
184
203
|
/**
|
|
185
|
-
* The
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
204
|
+
* The run's rows in the provisioning event log, which DATE the environment lifecycle, or the
|
|
205
|
+
* REASON there are none. Each of the three ways this comes back empty is its own answer,
|
|
206
|
+
* because each is a different thing to fix and only one of them is a statement about how the
|
|
207
|
+
* deployment is configured: an unwired log, a read that failed, and a truncated read all
|
|
208
|
+
* produce the same empty timeline (absent is not zero, and neither is unreadable).
|
|
209
|
+
*
|
|
210
|
+
* GATED on the run actually having a deployer step, for the same reason the `spec/` read is
|
|
211
|
+
* gated on a tester report: with no deployer the section's answer is already determined, so
|
|
212
|
+
* the ~15 settlements of an ordinary build-and-merge run make no query at all. Deliberately
|
|
213
|
+
* NOT memoised, unlike the spec: the teardown row is appended at the very END of the
|
|
214
|
+
* lifecycle (often after the run itself has settled), so a memo taken on the deploying step
|
|
215
|
+
* would pin the section to "still live" forever, which is the exact hole this section exists
|
|
216
|
+
* to close.
|
|
217
|
+
*/
|
|
218
|
+
async provisioningEvents(workspaceId, instance) {
|
|
219
|
+
const repo = this.deps.provisioningLogRepository;
|
|
220
|
+
if (!repo)
|
|
221
|
+
return { status: 'unwired' };
|
|
222
|
+
if (!instance.steps.some((s) => s.agentKind === DEPLOYER_AGENT_KIND)) {
|
|
223
|
+
return { status: 'not_provisioned' };
|
|
224
|
+
}
|
|
225
|
+
try {
|
|
226
|
+
const events = await repo.list(workspaceId, {
|
|
227
|
+
subsystem: 'environment',
|
|
228
|
+
executionId: instance.id,
|
|
229
|
+
limit: PROVISIONING_EVENT_LIMIT,
|
|
230
|
+
});
|
|
231
|
+
// A full page is indistinguishable from a page that had more behind it, so it is reported
|
|
232
|
+
// as incomplete rather than folded into a verdict (see PROVISIONING_EVENT_LIMIT).
|
|
233
|
+
if (events.length >= PROVISIONING_EVENT_LIMIT)
|
|
234
|
+
return { status: 'truncated' };
|
|
235
|
+
return { status: 'read', events };
|
|
236
|
+
}
|
|
237
|
+
catch (error) {
|
|
238
|
+
// Best-effort like every other read here: a transport blip reports the timeline as
|
|
239
|
+
// unreadable on this publish and is re-attempted on the next one, never a fabricated
|
|
240
|
+
// "torn down". Reported rather than dropped, because a permanently broken telemetry
|
|
241
|
+
// binding would otherwise show only as a section that never dates anything.
|
|
242
|
+
this.deps.logger?.warn('Failed to read the provisioning log for the PR report', {
|
|
243
|
+
err: describeError(error),
|
|
244
|
+
executionId: instance.id,
|
|
245
|
+
workspaceId,
|
|
246
|
+
});
|
|
247
|
+
return { status: 'unreadable' };
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* A deep link into one of the run's panels. The SPA is a single canvas, so the target is the
|
|
252
|
+
* board with the run's view params (see `useRunDeepLink` in `@cat-factory/app`, and slice 4
|
|
253
|
+
* of the global-search initiative, which will generalise the parser.
|
|
254
|
+
*
|
|
255
|
+
* `observability` opens Model activity / Provided context; `test-evidence` opens the tester
|
|
256
|
+
* step's result window, where the screenshots the lifecycle section lists are rendered. Both
|
|
257
|
+
* are values that narrow parser knows: adding a third means teaching it the view first, or
|
|
258
|
+
* the link silently degrades to "the right board, no panel".
|
|
189
259
|
*/
|
|
190
|
-
|
|
260
|
+
deepLink(workspaceId, instance, view) {
|
|
191
261
|
const base = this.deps.appBaseUrl?.trim();
|
|
192
262
|
if (!base)
|
|
193
263
|
return null;
|
|
@@ -197,7 +267,7 @@ export class PrVerificationReportController {
|
|
|
197
267
|
ws: workspaceId,
|
|
198
268
|
block: instance.blockId,
|
|
199
269
|
run: instance.id,
|
|
200
|
-
view
|
|
270
|
+
view,
|
|
201
271
|
})
|
|
202
272
|
.map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
|
|
203
273
|
.join('&');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrVerificationReportController.js","sourceRoot":"","sources":["../../../src/modules/execution/PrVerificationReportController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PrVerificationReportController.js","sourceRoot":"","sources":["../../../src/modules/execution/PrVerificationReportController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ExecutionInstance, PrReportTimelineGap, PrVerificationReport, ProvisioningLogRecord } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* The provisioning-log fields the lifecycle timeline reads. Deliberately a narrow structural
|
|
4
|
+
* subset of {@link ProvisioningLogRecord}: this module is pure, and the caller has already
|
|
5
|
+
* scoped the query to the run's `environment` rows.
|
|
6
|
+
*
|
|
7
|
+
* `targetId` is the ENVIRONMENT id the attempt acted on, and carrying it is what makes the
|
|
8
|
+
* teardown leg accountable rather than a tally (see the header). It is null on the rows that
|
|
9
|
+
* name no single environment: a provision that failed before a record existed, and a stack
|
|
10
|
+
* recipe's per-STEP rows, neither of which may be read as an environment coming up.
|
|
11
|
+
*/
|
|
12
|
+
export type ProvisioningLifecycleEvent = Pick<ProvisioningLogRecord, 'operation' | 'outcome' | 'createdAt' | 'targetId'>;
|
|
13
|
+
/**
|
|
14
|
+
* The run's rows in the provisioning event log, or the reason there are none to fold. A
|
|
15
|
+
* DISCRIMINATED result rather than a nullable list, because the four ways a timeline comes back
|
|
16
|
+
* empty are four different facts and only one of them is a statement about how the deployment is
|
|
17
|
+
* configured (see {@link PrReportTimelineGap}).
|
|
18
|
+
*/
|
|
19
|
+
export type ProvisioningLifecycleRead = {
|
|
20
|
+
status: 'read';
|
|
21
|
+
events: readonly ProvisioningLifecycleEvent[];
|
|
22
|
+
} | {
|
|
23
|
+
status: PrReportTimelineGap;
|
|
24
|
+
};
|
|
25
|
+
/** The resolved inputs the section needs beyond the run itself. */
|
|
26
|
+
export interface PrReportEnvironmentInputs {
|
|
27
|
+
/** The run's ENVIRONMENT rows from the provisioning event log, or why there are none. */
|
|
28
|
+
provisioning: ProvisioningLifecycleRead;
|
|
29
|
+
/**
|
|
30
|
+
* Deep link into the run's captured evidence in the app, or null when the deployment
|
|
31
|
+
* configured no public app URL (the report never emits a link to nowhere).
|
|
32
|
+
*/
|
|
33
|
+
evidenceUrl: string | null;
|
|
34
|
+
}
|
|
35
|
+
/** Cap a list, recording what was dropped in the report's own `truncations` log. */
|
|
36
|
+
type Capper = <T>(items: readonly T[], label: string) => T[];
|
|
37
|
+
/**
|
|
38
|
+
* Compose the test-environment lifecycle section. Reads the deployer step's per-frame outcomes,
|
|
39
|
+
* the run's provisioning-log rows and the tester's report, all already resolved by the caller,
|
|
40
|
+
* so nothing here re-probes a provider.
|
|
41
|
+
*/
|
|
42
|
+
export declare function composeEnvironments(instance: ExecutionInstance, inputs: PrReportEnvironmentInputs, cap: Capper): PrVerificationReport['environments'];
|
|
43
|
+
/**
|
|
44
|
+
* Render the section: the computed proof first (it is what a reviewer acts on), then the
|
|
45
|
+
* per-frame outcomes, the dated timeline, the evidence and the teardown verdict.
|
|
46
|
+
*/
|
|
47
|
+
export declare function renderEnvironments(envs: PrVerificationReport['environments']): string[];
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=prReport.environments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prReport.environments.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/prReport.environments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAMjB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AA2C5B;;;;;;;;;GASG;AACH,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,qBAAqB,EACrB,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CACnD,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GACjC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAA;CAAE,GACjE;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAA;AAEnC,mEAAmE;AACnE,MAAM,WAAW,yBAAyB;IACxC,yFAAyF;IACzF,YAAY,EAAE,yBAAyB,CAAA;IACvC;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,oFAAoF;AACpF,KAAK,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE,CAAA;AAkV5D;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,yBAAyB,EACjC,GAAG,EAAE,MAAM,GACV,oBAAoB,CAAC,cAAc,CAAC,CAwCtC;AA+ED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,MAAM,EAAE,CAuBvF"}
|