Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

This file was deleted.

317 changes: 157 additions & 160 deletions common/config/subspaces/default/pnpm-lock.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion common/config/subspaces/default/repo-state.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush.
{
"pnpmShrinkwrapHash": "7828a1fa8cadd2cfd83906d47b1915fddcb5aac9",
"pnpmShrinkwrapHash": "09068e8d50f8dae26938555320be968d7ed7861d",
"preferredVersionsHash": "029c99bd6e65c5e1f25e2848340509811ff9753c"
}
38 changes: 0 additions & 38 deletions common/reviews/api/rush-daemon-protocol.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,6 @@ export type DaemonJsonValue = string | number | boolean | DaemonJsonNull | reado
readonly [key: string]: DaemonJsonValue;
};

// @beta
export type DaemonPhasedOperationEnabledState = true | 'ignore-dependency-changes';

// @beta
export class DaemonProtocolError extends Error {
constructor(code: DaemonProtocolErrorCode, message: string, options?: IDaemonProtocolErrorOptions);
Expand Down Expand Up @@ -281,41 +278,6 @@ export interface IDaemonOperationStreamClosedPayload {
readonly operationId: string;
}

// @beta
export interface IDaemonPhasedEngineShape {
readonly phaseNames: ReadonlyArray<string>;
readonly pluginNames: ReadonlyArray<string>;
}

// @beta
export interface IDaemonPhasedOperationResult {
readonly errorMessage?: string;
readonly operationId: string;
readonly status: string;
}

// @beta
export interface IDaemonPhasedOperationSelection {
readonly enabledState: DaemonPhasedOperationEnabledState;
readonly operationId: string;
}

// @beta
export interface IDaemonPhasedRequest {
readonly commandName: string;
readonly engineShape: IDaemonPhasedEngineShape;
readonly operationSelection: ReadonlyArray<IDaemonPhasedOperationSelection>;
readonly requestId: string;
}

// @beta
export interface IDaemonPhasedRequestResult {
readonly aborted: boolean;
readonly operationResults: ReadonlyArray<IDaemonPhasedOperationResult>;
readonly requestId: string;
readonly scheduled: boolean;
}

// @beta
export interface IDaemonPingMessage {
// (undocumented)
Expand Down
17 changes: 0 additions & 17 deletions common/reviews/api/rush-daemon.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,7 @@
/// <reference types="node" />

import type { GetInputsSnapshotAsyncFn } from '@microsoft/rush-lib';
import type { IDaemonEventEnvelope } from '@rushstack/rush-daemon-protocol';
import type { IDaemonPaths } from '@rushstack/rush-daemon-transport';
import type { IDaemonPhasedRequest } from '@rushstack/rush-daemon-protocol';
import type { IDaemonPhasedRequestResult } from '@rushstack/rush-daemon-protocol';
import type { IInputsSnapshot } from '@microsoft/rush-lib';
import type { IOperationGraph } from '@microsoft/rush-lib';
import type { Operation } from '@microsoft/rush-lib';
Expand Down Expand Up @@ -61,14 +58,6 @@ export interface IMapWorkspaceInvalidationsOptions {
readonly operationGraph: IOperationGraph;
}

// @beta
export interface IPhasedRequestClient {
readonly abortSignal: AbortSignal;
readonly sessionId: string;
writeEventAsync(event: IDaemonEventEnvelope): Promise<void>;
writeLogChunkAsync(operationId: string, stream: 'stdout' | 'stderr', chunk: Uint8Array): Promise<void>;
}

// @public
export interface IRequestLease {
// (undocumented)
Expand Down Expand Up @@ -228,12 +217,6 @@ export interface IWorkspaceSessionOptions {
// @beta
export type MapWorkspaceInvalidationsToOperationsAsync = (options: IMapWorkspaceInvalidationsOptions) => Promise<Iterable<Operation>>;

// @beta
export class PhasedRequestRouter {
constructor(workspaceSession: IWorkspaceSession);
executeAsync(request: IDaemonPhasedRequest, client: IPhasedRequestClient): Promise<IDaemonPhasedRequestResult>;
}

// @public
export enum RequestExclusivityClass {
// (undocumented)
Expand Down
3 changes: 0 additions & 3 deletions libraries/rush-daemon-protocol/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ The engine-agnostic **wire layer** spoken by every client of the Rush daemon (`r
reference when the reporter package lands) plus namespaced `rushd.*` extension events.
- **Per-subscription verbosity** — a pure filter applied at event serialization so each
client receives its own verbosity subset without mutating shared engine state.
- **Resolved phased-request contracts** — engine-agnostic request, enabled-state selection,
and client-scoped result types for integrations that have already parsed a command and
resolved it against a real warm operation graph.

Part of the Rush 6 / rushd re-architecture:
[microsoft/rushstack#5894](https://github.com/microsoft/rushstack/issues/5894).
Expand Down
83 changes: 0 additions & 83 deletions libraries/rush-daemon-protocol/src/DaemonPhasedRequest.ts

This file was deleted.

8 changes: 0 additions & 8 deletions libraries/rush-daemon-protocol/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,3 @@ export { decodeDaemonEventFrame, encodeDaemonEventFrame, serializeDaemonEventFor
export type { IDaemonActivityPayload, IDaemonOperationRegisteredPayload, IDaemonOperationStatusChangedPayload } from './DaemonOperationPayloads';
export { RUSHD_OPERATION_HEADER, RUSHD_OPERATION_STREAM_CLOSED } from './DaemonRushdExtensions';
export type { IDaemonExtensionEventPayload, IDaemonOperationHeaderPayload, IDaemonOperationStreamClosedPayload } from './DaemonRushdExtensions';
export type {
DaemonPhasedOperationEnabledState,
IDaemonPhasedEngineShape,
IDaemonPhasedOperationResult,
IDaemonPhasedOperationSelection,
IDaemonPhasedRequest,
IDaemonPhasedRequestResult
} from './DaemonPhasedRequest';
13 changes: 0 additions & 13 deletions libraries/rush-daemon/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,3 @@ no paths to classify and therefore remains a full invalidation. The routing laye
workspace session rather than run a stale graph.
The default daemon executable does not construct or route this graph while the command-independent plugin shape and per-iteration runner
lifetime tracked by [rushstack#5895](https://github.com/microsoft/rushstack/issues/5895) remain incomplete.

`PhasedRequestRouter` is the opt-in execution boundary once an integration has supplied that real warm graph. The
integration parses the command and supplies an explicit phase/plugin shape plus operation enabled-state selection;
the router validates both, reconciles retained invalidations, applies the selection with `IOperationGraph.setEnabledStates`,
and runs at most one scheduled iteration. Requests are serialized until shared-build merging is implemented. A
requesting client receives only its enabled dependency closure's WS1 raw chunks and structured events through
backpressured, ordered callbacks, followed by client-scoped operation results. Cancellation or disconnect aborts the
current iteration without closing daemon-owned runners or the graph.

This layer deliberately does not add control-frame admission or reconstruct `PhasedScriptAction` command/plugin
initialization. The typed phased request contract begins after an integration has produced a validated selection for
the exact warm engine shape; full command parsing remains blocked by
[rushstack#5895](https://github.com/microsoft/rushstack/issues/5895).
3 changes: 1 addition & 2 deletions libraries/rush-daemon/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,7 @@
"@microsoft/rush-lib": "workspace:*",
"@rushstack/node-core-library": "workspace:*",
"@rushstack/rush-daemon-protocol": "workspace:*",
"@rushstack/rush-daemon-transport": "workspace:*",
"@rushstack/terminal": "workspace:*"
"@rushstack/rush-daemon-transport": "workspace:*"
},
"devDependencies": {
"@rushstack/heft": "workspace:*",
Expand Down
30 changes: 0 additions & 30 deletions libraries/rush-daemon/src/PhasedRequestClient.ts

This file was deleted.

68 changes: 0 additions & 68 deletions libraries/rush-daemon/src/PhasedRequestEventMultiplexer.ts

This file was deleted.

Loading