This commit is contained in:
Your Name
2026-04-08 20:44:56 +00:00
parent f726de12e5
commit 9287159ccc
22 changed files with 106 additions and 41 deletions
@@ -1,4 +1,9 @@
import { ProcessorRegistry } from './registry.js';
/**
* @license
* Copyright 2026 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import type { ProcessorRegistry } from './registry.js';
import { EmergencyTruncationProcessor, type EmergencyTruncationProcessorOptions } from '../processors/emergencyTruncationProcessor.js';
import { BlobDegradationProcessor } from '../processors/blobDegradationProcessor.js';
import { HistorySquashingProcessor, type HistorySquashingProcessorOptions } from '../processors/historySquashingProcessor.js';
+8 -3
View File
@@ -1,3 +1,8 @@
/**
* @license
* Copyright 2026 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import type { InboxMessage, InboxSnapshot } from '../pipeline.js';
export class LiveInbox {
@@ -12,7 +17,7 @@ export class LiveInbox {
});
}
getMessages(): ReadonlyArray<InboxMessage> {
getMessages(): readonly InboxMessage[] {
return [...this.messages];
}
@@ -22,10 +27,10 @@ export class LiveInbox {
}
export class InboxSnapshotImpl implements InboxSnapshot {
private messages: ReadonlyArray<InboxMessage>;
private messages: readonly InboxMessage[];
private consumedIds = new Set<string>();
constructor(messages: ReadonlyArray<InboxMessage>) {
constructor(messages: readonly InboxMessage[]) {
this.messages = messages;
}
@@ -58,7 +58,7 @@ export class PipelineOrchestrator {
const instance = factory.create(
this.env,
procDef.options || {},
) as ContextProcessor;
);
this.instantiatedProcessors.set(procDef.processorId, instance);
}
}
@@ -153,10 +153,10 @@ export class PipelineOrchestrator {
}
applyProcessorDiff(
ship: ReadonlyArray<ConcreteNode>,
targets: ReadonlyArray<ConcreteNode>,
returnedNodes: ReadonlyArray<ConcreteNode>,
): ReadonlyArray<ConcreteNode> {
ship: readonly ConcreteNode[],
targets: readonly ConcreteNode[],
returnedNodes: readonly ConcreteNode[],
): readonly ConcreteNode[] {
const mutableShip = [...ship];
const targetSet = new Set(targets.map((n) => n.id));
const returnedMap = new Map(returnedNodes.map((n) => [n.id, n]));
@@ -204,10 +204,10 @@ export class PipelineOrchestrator {
async executeTriggerSync(
trigger: PipelineTrigger,
ship: ReadonlyArray<ConcreteNode>,
ship: readonly ConcreteNode[],
triggerTargets: ReadonlySet<string>,
state: ContextAccountingState,
): Promise<ReadonlyArray<ConcreteNode>> {
): Promise<readonly ConcreteNode[]> {
let currentShip = ship;
const pipelines = this.config.pipelines.filter((p) =>
p.triggers.includes(trigger),
@@ -262,7 +262,7 @@ export class PipelineOrchestrator {
private async executePipelineAsync(
pipeline: PipelineDef,
ship: ReadonlyArray<ConcreteNode>,
ship: readonly ConcreteNode[],
triggerTargets: Set<string>,
state: ContextAccountingState,
) {
@@ -1,3 +1,8 @@
/**
* @license
* Copyright 2026 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import type { SidecarConfig } from './types.js';
export const testTruncateProfile: SidecarConfig = {