@modelprofile.com/flexharness 5.0.0 → 5.2.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,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-08-26 - 5.2.0
4
+
5
+ ### Features
6
+
7
+ - add generation-fenced session cohort deletion (session-generation)
8
+ - Add deleteSessionGenerationCohort with strict root and authorized cohort validation.
9
+ - Allow createSession callers to provide a validated sessionGenerationId while preserving harness-assigned sequences.
10
+ - Propagate session generation metadata through model resolver contexts, permission requests, and emitted events.
11
+
12
+ ## 2026-08-26 - 5.1.0
13
+
14
+ ### Features
15
+
16
+ - expose session generation in host-operation callback contexts (harness)
17
+ - Add sessionGenerationId and sessionGenerationSequence to tool-provider, resource-resolver, slash-command handler, and turn-reversion contexts.
18
+ - Propagate session generation through reversion recovery and deleted-session tombstone cleanup.
19
+ - Document generation-aware callback contexts and add coverage for providers, slash commands, and reversion cleanup.
20
+
3
21
  ## 2026-08-21 - 5.0.0
4
22
 
5
23
  ### Breaking Changes
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@modelprofile.com/flexharness',
6
- version: '5.0.0',
6
+ version: '5.2.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, IFlexCreateProjectTaskInput, IFlexCreateSessionOptions, IFlexEventArchiveMetadata, IFlexHarnessOptions, IFlexMessage, IFlexMessagePage, IFlexMessagePageOptions, IFlexPermissionRequest, IFlexProjectGoalResult, IFlexProjectScratchpadResult, IFlexProjectStateResult, IFlexProjectTaskResult, IFlexProjectTasksResult, IFlexPromptAdmission, IFlexPromptQueueAdmission, IFlexPromptQueueEntry, IFlexPromptOptions, IFlexPromptResult, IFlexRedoSessionResult, IFlexScheduledPromptAdmission, IFlexSchedulePromptOptions, IFlexSession, IFlexSessionReversionInfo, IFlexSlashCommandDescriptor, IFlexSlashCommandExecutionOptions, IFlexUncertainToolExecution, IFlexUndoSessionResult, IFlexUpdateSessionOptions, IFlexUpdateProjectTaskInput, IJsonObject, TFlexHarnessEventListener, TFlexPermissionDecision, TFlexPrompt, TFlexSlashCommandExecutionResult, TFlexToolExecutionReconciliation } from './interfaces.js';
1
+ import type { IFlexBackgroundExecution, IFlexCreateProjectTaskInput, IFlexCreateSessionOptions, IFlexDeleteSessionGenerationCohortInput, IFlexDeleteSessionGenerationCohortResult, IFlexEventArchiveMetadata, IFlexHarnessOptions, IFlexMessage, IFlexMessagePage, IFlexMessagePageOptions, IFlexPermissionRequest, IFlexProjectGoalResult, IFlexProjectScratchpadResult, IFlexProjectStateResult, IFlexProjectTaskResult, IFlexProjectTasksResult, IFlexPromptAdmission, IFlexPromptQueueAdmission, IFlexPromptQueueEntry, IFlexPromptOptions, IFlexPromptResult, IFlexRedoSessionResult, IFlexScheduledPromptAdmission, IFlexSchedulePromptOptions, IFlexSession, IFlexSessionReversionInfo, IFlexSlashCommandDescriptor, IFlexSlashCommandExecutionOptions, IFlexUncertainToolExecution, IFlexUndoSessionResult, IFlexUpdateSessionOptions, IFlexUpdateProjectTaskInput, 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> {
@@ -67,8 +67,15 @@ export declare class FlexHarness<TScope = unknown> {
67
67
  setProjectScratchpad(scopeId: string, sessionId: string, content: string): Promise<IFlexProjectScratchpadResult>;
68
68
  appendProjectScratchpad(scopeId: string, sessionId: string, content: string): Promise<IFlexProjectScratchpadResult>;
69
69
  clearProjectScratchpad(scopeId: string, sessionId: string): Promise<IFlexProjectScratchpadResult>;
70
+ deleteSessionGenerationCohort(scopeId: string, input: IFlexDeleteSessionGenerationCohortInput): Promise<IFlexDeleteSessionGenerationCohortResult>;
70
71
  deleteSession(scopeId: string, sessionId: string): Promise<void>;
72
+ private startSessionDeletion;
73
+ private startReservedSessionDeletion;
74
+ private registerSessionDeletion;
75
+ private assertAuthorizedSessionGenerationCohort;
76
+ private reserveLiveSessionDeletion;
71
77
  private deleteSessionInternal;
78
+ private finishReservedSessionDeletion;
72
79
  getMessages(scopeId: string, sessionId: string): Promise<IFlexMessage[]>;
73
80
  listMessagePage(scopeId: string, sessionId: string, options?: IFlexMessagePageOptions): Promise<IFlexMessagePage>;
74
81
  getMessage(scopeId: string, sessionId: string, messageId: string): Promise<IFlexMessage>;
@@ -254,7 +261,9 @@ export declare class FlexHarness<TScope = unknown> {
254
261
  private loadSessionRuntime;
255
262
  private repairLoadedSession;
256
263
  private repairTerminal;
264
+ private withScopeMutationOwnership;
257
265
  private mutateScope;
266
+ private mutateScopeOwned;
258
267
  private mutateProjection;
259
268
  private mutatePermissions;
260
269
  private createScopeSnapshot;
@@ -265,6 +274,7 @@ export declare class FlexHarness<TScope = unknown> {
265
274
  private tombstoneProjectManagementSession;
266
275
  private collectSessionSubtree;
267
276
  private tombstoneGroup;
277
+ private tombstonesForRoots;
268
278
  private descendantTombstoneRoots;
269
279
  private orderTombstoneRootsChildFirst;
270
280
  private finishTombstoneCleanup;