@yanib/reverb-application 0.2.0 → 0.3.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/README.md CHANGED
@@ -5,7 +5,7 @@ Host-neutral Reverb use cases and application ports.
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- pnpm add --save-exact @yanib/reverb-application@0.2.0
8
+ pnpm add --save-exact @yanib/reverb-application@0.3.0
9
9
  ```
10
10
 
11
11
  Import only the documented package root. See the
package/dist/index.d.ts CHANGED
@@ -4,5 +4,6 @@ export * from './create-overlay.js';
4
4
  export * from './index-generation.js';
5
5
  export * from './ports.js';
6
6
  export * from './review.js';
7
+ export * from './source-budget.js';
7
8
  export declare const APPLICATION_PACKAGE_ID = "@yanib/reverb-application";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAE5B,eAAO,MAAM,sBAAsB,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AAEnC,eAAO,MAAM,sBAAsB,8BAA8B,CAAC"}
package/dist/index.js CHANGED
@@ -4,5 +4,6 @@ export * from './create-overlay.js';
4
4
  export * from './index-generation.js';
5
5
  export * from './ports.js';
6
6
  export * from './review.js';
7
+ export * from './source-budget.js';
7
8
  export const APPLICATION_PACKAGE_ID = '@yanib/reverb-application';
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAE5B,MAAM,CAAC,MAAM,sBAAsB,GAAG,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AAEnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,2BAA2B,CAAC"}
package/dist/ports.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AnalysisId, AnalysisResult, ArtifactBatch, BeginGeneration, BlobResult, BoundedDiagnostic, CommitDescriptor, CommitSha, ConfigRevision, ConsumerGenerationSelection, ContractGenerationObservation, ContentHash, CoverageRecord, DiffManifest, EvidenceEdge, FileArtifact, FindingFingerprint, FindingOccurrence, GenerationFailure, GenerationId, GenerationLease, GenerationLeaseId, GenerationSummary, IndexedContractDefinition, IndexedContractReference, Instant, JobId, OverlayEntry, OverlayId, PullRequestOverlay, RegistryRevision, RegistrySnapshot, RepositoryAction, RepositoryDescriptor, RepositoryGeneration, RepositoryStableId, ReviewEvent, ReviewEventId, SuppressionRule, SuppressionStateEvent, PromotionRecord, CorpusManifest, ImpactCase, EvaluationReport, TreeManifest, WorkspaceId } from '@yanib/reverb-domain';
1
+ import type { AnalysisId, AnalysisResult, AdapterGenerationSnapshot, AdapterId, AdapterSemanticPartition, ArtifactBatch, BeginGeneration, BlobResult, BoundedDiagnostic, CommitDescriptor, CommitSha, ConfigRevision, ConsumerGenerationSelection, ContractGenerationObservation, ContentHash, CoverageRecord, DiffManifest, EvidenceEdge, FileArtifact, FindingFingerprint, FindingOccurrence, GenerationFailure, GenerationId, GenerationLease, GenerationLeaseId, GenerationSummary, IndexedContractDefinition, IndexedContractReference, Instant, JobId, OverlayEntry, OverlayId, PullRequestOverlay, RegistryRevision, RegistrySnapshot, RepositoryAction, RepositoryDescriptor, RepositoryGeneration, RepositoryStableId, ReviewEvent, ReviewEventId, SuppressionRule, SuppressionStateEvent, PromotionRecord, CorpusManifest, ImpactCase, EvaluationReport, TreeManifest, WorkspaceId } from '@yanib/reverb-domain';
2
2
  export type PortFailureKind = 'domain' | 'infrastructure' | 'authorization_denied' | 'incomplete_provider_data' | 'cancelled' | 'not_found' | 'conflict';
3
3
  export interface PortFailure {
4
4
  readonly kind: PortFailureKind;
@@ -49,6 +49,16 @@ export interface OverlaySummary {
49
49
  readonly completedAt: Instant;
50
50
  readonly resultHash: ContentHash;
51
51
  }
52
+ export interface DeriveGeneration {
53
+ readonly generationId: GenerationId;
54
+ readonly baseGenerationId: GenerationId;
55
+ readonly overlayId: OverlayId;
56
+ readonly completedAt: Instant;
57
+ readonly coverage: readonly CoverageRecord[];
58
+ readonly diagnostics: readonly BoundedDiagnostic[];
59
+ readonly coverageHash: ContentHash;
60
+ readonly artifactResultHash: ContentHash;
61
+ }
52
62
  export interface GenerationStore {
53
63
  beginGeneration(input: BeginGeneration): Promise<PortResult<GenerationLease>>;
54
64
  putArtifacts(lease: GenerationLease, batch: ArtifactBatch): Promise<PortResult<void>>;
@@ -56,6 +66,7 @@ export interface GenerationStore {
56
66
  failGeneration(lease: GenerationLease, failure: GenerationFailure): Promise<PortResult<void>>;
57
67
  expireLease(lease: GenerationLease, at: Instant): Promise<PortResult<void>>;
58
68
  getGeneration(id: GenerationId): Promise<PortResult<RepositoryGeneration>>;
69
+ deriveGeneration(input: DeriveGeneration): Promise<PortResult<RepositoryGeneration>>;
59
70
  selectGeneration(query: GenerationSelection): Promise<PortResult<GenerationSelectionResult>>;
60
71
  listArtifacts(generationId: GenerationId): Promise<PortResult<readonly FileArtifact[]>>;
61
72
  getGenerationCoverage(generationId: GenerationId): Promise<PortResult<readonly CoverageRecord[]>>;
@@ -67,6 +78,20 @@ export interface GenerationStore {
67
78
  getOverlay(id: OverlayId): Promise<PortResult<PullRequestOverlay>>;
68
79
  listOverlayEntries(id: OverlayId): Promise<PortResult<readonly OverlayEntry[]>>;
69
80
  }
81
+ export interface AdapterSnapshotQuery {
82
+ readonly workspaceId: WorkspaceId;
83
+ readonly repositoryId: RepositoryStableId;
84
+ readonly generationId: GenerationId;
85
+ readonly adapterId: AdapterId;
86
+ }
87
+ export interface AdapterSnapshotStore {
88
+ putAdapterPartition(partition: AdapterSemanticPartition): Promise<PortResult<ContentHash>>;
89
+ getAdapterPartition(workspaceId: WorkspaceId, outputHash: ContentHash): Promise<PortResult<AdapterSemanticPartition | null>>;
90
+ putAdapterSnapshot(snapshot: AdapterGenerationSnapshot): Promise<PortResult<ContentHash>>;
91
+ getAdapterSnapshot(query: AdapterSnapshotQuery): Promise<PortResult<AdapterGenerationSnapshot | null>>;
92
+ getAdapterSnapshotByHash(workspaceId: WorkspaceId, outputHash: ContentHash): Promise<PortResult<AdapterGenerationSnapshot | null>>;
93
+ resolveAdapterPartitions(query: AdapterSnapshotQuery): Promise<PortResult<readonly AdapterSemanticPartition[]>>;
94
+ }
70
95
  export interface CanonicalRecord {
71
96
  readonly schema: string;
72
97
  readonly schemaVersion: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"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"}
package/dist/ports.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ports.js","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAqEA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAQ,KAAY,EAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAoB,EAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"ports.js","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAwEA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAQ,KAAY,EAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAoB,EAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { BlobResult, CommitDescriptor, CommitSha, DiffManifest, FileArtifact, RepositoryDescriptor, RepositoryStableId, TreeManifest } from '@yanib/reverb-domain';
2
+ import { type PortResult, type RepositoryReader } from './ports.js';
3
+ export interface ProviderSourceBudget {
4
+ readonly maximumMetadataCalls: number;
5
+ readonly maximumBlobReads: number;
6
+ readonly maximumBlobBytes: number;
7
+ }
8
+ export interface ProviderSourceUsage {
9
+ readonly resolveRepositoryCalls: number;
10
+ readonly resolveCommitCalls: number;
11
+ readonly listTreeCalls: number;
12
+ readonly compareCalls: number;
13
+ readonly metadataCalls: number;
14
+ readonly blobReads: number;
15
+ readonly blobBytes: number;
16
+ readonly budgetExhaustions: number;
17
+ }
18
+ /**
19
+ * Hard provider-read boundary for a single bounded run. Counters are reserved
20
+ * synchronously before delegate calls, so concurrent callers cannot exceed the
21
+ * configured call counts. Exhaustion never widens the source set.
22
+ */
23
+ export declare class BudgetedRepositoryReader implements RepositoryReader {
24
+ #private;
25
+ private readonly delegate;
26
+ private readonly budget;
27
+ constructor(delegate: RepositoryReader, budget: ProviderSourceBudget);
28
+ usage(): ProviderSourceUsage;
29
+ resolveRepository(id: RepositoryStableId): Promise<PortResult<RepositoryDescriptor>>;
30
+ resolveCommit(id: RepositoryStableId, ref: string): Promise<PortResult<CommitDescriptor>>;
31
+ listTree(id: RepositoryStableId, sha: CommitSha): Promise<PortResult<TreeManifest>>;
32
+ compare(id: RepositoryStableId, base: CommitSha, head: CommitSha): Promise<PortResult<DiffManifest>>;
33
+ readBlob(id: RepositoryStableId, sha: CommitSha, path: FileArtifact['path'], maximumBytes: number): Promise<PortResult<BlobResult>>;
34
+ }
35
+ //# sourceMappingURL=source-budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-budget.d.ts","sourceRoot":"","sources":["../src/source-budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAe,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAqBD;;;;GAIG;AACH,qBAAa,wBAAyB,YAAW,gBAAgB;;IAc7D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,oBAAoB;IAWxC,KAAK,IAAI,mBAAmB;IActB,iBAAiB,CAC5B,EAAE,EAAE,kBAAkB,GACrB,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAK/B,aAAa,CACxB,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAK3B,QAAQ,CAAC,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAKnF,OAAO,CAClB,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAKvB,QAAQ,CACnB,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;CA2BnC"}
@@ -0,0 +1,98 @@
1
+ import { portFailure } from './ports.js';
2
+ function validLimit(value) {
3
+ return Number.isSafeInteger(value) && value >= 0;
4
+ }
5
+ function exhausted(message) {
6
+ return portFailure({
7
+ kind: 'incomplete_provider_data',
8
+ code: 'provider_source_budget_exceeded',
9
+ safeMessage: message,
10
+ retryable: false,
11
+ });
12
+ }
13
+ /**
14
+ * Hard provider-read boundary for a single bounded run. Counters are reserved
15
+ * synchronously before delegate calls, so concurrent callers cannot exceed the
16
+ * configured call counts. Exhaustion never widens the source set.
17
+ */
18
+ export class BudgetedRepositoryReader {
19
+ delegate;
20
+ budget;
21
+ #reservedBlobBytes = 0;
22
+ #usage = {
23
+ resolveRepositoryCalls: 0,
24
+ resolveCommitCalls: 0,
25
+ listTreeCalls: 0,
26
+ compareCalls: 0,
27
+ metadataCalls: 0,
28
+ blobReads: 0,
29
+ blobBytes: 0,
30
+ budgetExhaustions: 0,
31
+ };
32
+ constructor(delegate, budget) {
33
+ this.delegate = delegate;
34
+ this.budget = budget;
35
+ if (!validLimit(budget.maximumMetadataCalls) ||
36
+ !validLimit(budget.maximumBlobReads) ||
37
+ !validLimit(budget.maximumBlobBytes)) {
38
+ throw new RangeError('Provider source budgets must be non-negative safe integers.');
39
+ }
40
+ }
41
+ usage() {
42
+ return { ...this.#usage };
43
+ }
44
+ #reserveMetadata(operation) {
45
+ if (this.#usage.metadataCalls >= this.budget.maximumMetadataCalls) {
46
+ this.#usage.budgetExhaustions += 1;
47
+ return exhausted('Provider metadata-call budget was exhausted.');
48
+ }
49
+ this.#usage.metadataCalls += 1;
50
+ this.#usage[operation] += 1;
51
+ return null;
52
+ }
53
+ async resolveRepository(id) {
54
+ const exhaustedResult = this.#reserveMetadata('resolveRepositoryCalls');
55
+ return exhaustedResult ?? this.delegate.resolveRepository(id);
56
+ }
57
+ async resolveCommit(id, ref) {
58
+ const exhaustedResult = this.#reserveMetadata('resolveCommitCalls');
59
+ return exhaustedResult ?? this.delegate.resolveCommit(id, ref);
60
+ }
61
+ async listTree(id, sha) {
62
+ const exhaustedResult = this.#reserveMetadata('listTreeCalls');
63
+ return exhaustedResult ?? this.delegate.listTree(id, sha);
64
+ }
65
+ async compare(id, base, head) {
66
+ const exhaustedResult = this.#reserveMetadata('compareCalls');
67
+ return exhaustedResult ?? this.delegate.compare(id, base, head);
68
+ }
69
+ async readBlob(id, sha, path, maximumBytes) {
70
+ if (this.#usage.blobReads >= this.budget.maximumBlobReads) {
71
+ this.#usage.budgetExhaustions += 1;
72
+ return exhausted('Provider blob-read budget was exhausted.');
73
+ }
74
+ const remainingBytes = this.budget.maximumBlobBytes - this.#usage.blobBytes - this.#reservedBlobBytes;
75
+ if (remainingBytes <= 0) {
76
+ this.#usage.budgetExhaustions += 1;
77
+ return exhausted('Provider blob-byte budget was exhausted.');
78
+ }
79
+ this.#usage.blobReads += 1;
80
+ const boundedMaximum = Math.min(maximumBytes, remainingBytes);
81
+ this.#reservedBlobBytes += boundedMaximum;
82
+ try {
83
+ const result = await this.delegate.readBlob(id, sha, path, boundedMaximum);
84
+ if (!result.ok)
85
+ return result;
86
+ this.#usage.blobBytes += result.value.bytes.byteLength;
87
+ if (result.value.bytes.byteLength > boundedMaximum) {
88
+ this.#usage.budgetExhaustions += 1;
89
+ return exhausted('Provider returned a blob larger than the bounded request.');
90
+ }
91
+ return result;
92
+ }
93
+ finally {
94
+ this.#reservedBlobBytes -= boundedMaximum;
95
+ }
96
+ }
97
+ }
98
+ //# sourceMappingURL=source-budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-budget.js","sourceRoot":"","sources":["../src/source-budget.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yanib/reverb-application",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Reverb application use cases and host-neutral ports",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -28,7 +28,7 @@
28
28
  }
29
29
  },
30
30
  "dependencies": {
31
- "@yanib/reverb-domain": "0.2.0"
31
+ "@yanib/reverb-domain": "0.3.0"
32
32
  },
33
33
  "publishConfig": {
34
34
  "access": "public",