@modelprofile.com/flexharness 3.7.0 → 3.8.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/changelog.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-08-14 - 3.8.0
4
+
5
+ ### Features
6
+
7
+ - add workspace-required turn reversion (harness)
8
+ - Add a versioned provider contract for revertible, no-change, and nonrevertible workspace outcomes with bounded affected-workspace metadata.
9
+ - Add workspace-required history grouping, nonrevertible barriers, and public reversion information while preserving the existing transcript-optional policy.
10
+ - Upgrade projection persistence to schema version 3 with version 1 and 2 loading, durable cleanup ownership, and crash-safe apply and deletion recovery.
11
+
3
12
  ## 2026-08-13 - 3.7.0
4
13
 
5
14
  ### Features
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@modelprofile.com/flexharness',
6
- version: '3.7.0',
6
+ version: '3.8.0',
7
7
  description: 'Provider-neutral model-session runtime with durable history, permissions, typed events, and pluggable local or remote tool execution.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSwrQkFBK0I7SUFDckMsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHVJQUF1STtDQUNySixDQUFBIn0=
@@ -1,4 +1,4 @@
1
- import type { IFlexBackgroundExecution, IFlexCreateSessionOptions, IFlexEventArchiveMetadata, IFlexHarnessOptions, IFlexMessage, IFlexMessagePage, IFlexMessagePageOptions, IFlexPermissionRequest, IFlexPromptAdmission, IFlexPromptQueueAdmission, IFlexPromptQueueEntry, IFlexPromptOptions, IFlexPromptResult, IFlexRedoSessionResult, IFlexScheduledPromptAdmission, IFlexSchedulePromptOptions, IFlexSession, IFlexSlashCommandDescriptor, IFlexSlashCommandExecutionOptions, IFlexUncertainToolExecution, IFlexUndoSessionResult, IFlexUpdateSessionOptions, IJsonObject, TFlexHarnessEventListener, TFlexPermissionDecision, TFlexPrompt, TFlexSlashCommandExecutionResult, TFlexToolExecutionReconciliation } from './interfaces.js';
1
+ import type { IFlexBackgroundExecution, IFlexCreateSessionOptions, IFlexEventArchiveMetadata, IFlexHarnessOptions, IFlexMessage, IFlexMessagePage, IFlexMessagePageOptions, IFlexPermissionRequest, IFlexPromptAdmission, IFlexPromptQueueAdmission, IFlexPromptQueueEntry, IFlexPromptOptions, IFlexPromptResult, IFlexRedoSessionResult, IFlexScheduledPromptAdmission, IFlexSchedulePromptOptions, IFlexSession, IFlexSessionReversionInfo, IFlexSlashCommandDescriptor, IFlexSlashCommandExecutionOptions, IFlexUncertainToolExecution, IFlexUndoSessionResult, IFlexUpdateSessionOptions, IJsonObject, TFlexHarnessEventListener, TFlexPermissionDecision, TFlexPrompt, TFlexSlashCommandExecutionResult, TFlexToolExecutionReconciliation } from './interfaces.js';
2
2
  export declare function createFlexResourceToolNamespace(resourceId: string, attachmentRevision: number): string;
3
3
  export declare function createFlexResourceToolName(namespace: string, toolName: string): string;
4
4
  export declare class FlexHarness<TScope = unknown> {
@@ -14,6 +14,7 @@ export declare class FlexHarness<TScope = unknown> {
14
14
  private readonly promptQueueLimits;
15
15
  private readonly reversionLimits;
16
16
  private readonly turnReversionProvider;
17
+ private readonly reversionPolicy;
17
18
  private readonly externalErrorProjector?;
18
19
  private readonly subagents;
19
20
  private readonly slashCommands;
@@ -37,6 +38,7 @@ export declare class FlexHarness<TScope = unknown> {
37
38
  private readonly activeSlashCommandListings;
38
39
  private readonly compactorInvocationContext;
39
40
  private readonly slashCommandInvocationContext;
41
+ private readonly slashCommandActivityContext;
40
42
  private readonly deferredCompactorContexts;
41
43
  private sequence;
42
44
  private promptQueueSequence;
@@ -48,6 +50,7 @@ export declare class FlexHarness<TScope = unknown> {
48
50
  listSessions(scopeId: string): Promise<IFlexSession[]>;
49
51
  createSession(scopeId: string, options?: IFlexCreateSessionOptions): Promise<IFlexSession>;
50
52
  getSession(scopeId: string, sessionId: string): Promise<IFlexSession>;
53
+ getSessionReversionInfo(scopeId: string, sessionId: string): Promise<IFlexSessionReversionInfo>;
51
54
  updateSession(scopeId: string, sessionId: string, options: IFlexUpdateSessionOptions): Promise<IFlexSession>;
52
55
  deleteSession(scopeId: string, sessionId: string): Promise<void>;
53
56
  private deleteSessionInternal;
@@ -89,6 +92,7 @@ export declare class FlexHarness<TScope = unknown> {
89
92
  undoSession(scopeId: string, sessionId: string, signal?: AbortSignal): Promise<IFlexUndoSessionResult>;
90
93
  redoSession(scopeId: string, sessionId: string, signal?: AbortSignal): Promise<IFlexRedoSessionResult>;
91
94
  private reversionUnit;
95
+ private reversionGroups;
92
96
  private requireReversionIdle;
93
97
  private reversionUnavailableReason;
94
98
  private awaitReversionOperation;
@@ -131,16 +135,21 @@ export declare class FlexHarness<TScope = unknown> {
131
135
  private createReservation;
132
136
  private buildTerminal;
133
137
  private reversionId;
138
+ private reversionProviderProtocolVersion;
134
139
  private reversionCaptureContext;
135
140
  private withReversionMaintenanceSignal;
136
141
  private inspectReversionCapture;
137
142
  private finalizeReversionCapture;
138
- private resolveReversionCaptureReference;
143
+ private resolveReversionCaptureOutcome;
139
144
  private normalizeReversionReference;
145
+ private normalizeReversionOutcome;
146
+ private normalizeAffectedWorkspaces;
140
147
  private prepareRunReversion;
141
148
  private finalizeRunReversion;
149
+ private applyFinalizedReversionOutcome;
142
150
  private hiddenReversionSegments;
143
151
  private enqueueReversionRelease;
152
+ private enqueueReversionReleaseReference;
144
153
  private pruneReversionState;
145
154
  private commitRevertedBranch;
146
155
  private commitRevertedBranchState;
@@ -198,6 +207,7 @@ export declare class FlexHarness<TScope = unknown> {
198
207
  private mutatePermissions;
199
208
  private createScopeSnapshot;
200
209
  private createProjectionSnapshot;
210
+ private upgradeProjectionSnapshot;
201
211
  private reconcileProjectionFromStore;
202
212
  private cleanupSessionDomains;
203
213
  private collectSessionSubtree;
@@ -236,6 +246,8 @@ export declare class FlexHarness<TScope = unknown> {
236
246
  private getScopeAdmission;
237
247
  private pruneScopeAdmission;
238
248
  private createScopeRetirementError;
249
+ private ambientSlashCommandOwner;
250
+ private assertNoAmbientSlashCommandTeardown;
239
251
  private assertStateAcceptingWork;
240
252
  private createCompactorContext;
241
253
  private withCompactorContext;