@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 +9 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.flexharness.d.ts +14 -2
- package/dist_ts/classes.flexharness.js +667 -199
- package/dist_ts/interfaces.d.ts +90 -6
- package/dist_ts/interfaces.js +5 -1
- package/dist_ts/utils.json.d.ts +3 -2
- package/dist_ts/utils.json.js +243 -11
- package/dist_ts_migration/v3_legacyflexharness.js +1 -1
- package/package.json +1 -1
- package/readme.hints.md +3 -2
- package/readme.md +86 -10
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.flexharness.ts +757 -198
- package/ts/classes.stores.ts +3 -3
- package/ts/interfaces.ts +125 -6
- package/ts/utils.json.ts +271 -12
- package/ts_migration/v3_legacyflexharness.ts +1 -1
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.
|
|
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
|
|
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;
|