@modelprofile.com/flexharness 3.3.0 → 3.5.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,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-08-13 - 3.5.0
4
+
5
+ ### Features
6
+
7
+ - add first-class foreground subagent sessions (harness)
8
+ - Expose bounded configured subagents through a reserved permission-gated `task` tool with durable child sessions and later-run resume by `taskId`.
9
+ - Project child session and model metadata through cumulative `part.updated` events while preserving the terminal tool result.
10
+ - Validate persisted parent, origin, agent, depth, and tombstone relationships without changing the existing snapshot schema version.
11
+ - Cancel and delete complete session subtrees child-first with retryable cleanup ownership, exact alias contexts, and deadlock-safe namespace fencing.
12
+
13
+ ## 2026-08-13 - 3.4.0
14
+
15
+ ### Features
16
+
17
+ - provide exact invocation context to session compactors (harness)
18
+ - Add resolved scope, storage namespace, and session identity to the existing compactor options.
19
+ - Keep storage-key aliases isolated across manual, retention, context-overflow, scheduled-cancellation, lifecycle, restoration, and autonomous job-event compaction.
20
+ - Emit one terminal part event for each callback-backed streamed text part before run completion.
21
+ - Document the projected inputs and no-event compaction case, with shared-storage regression coverage.
22
+
3
23
  ## 2026-08-11 - 3.3.0
4
24
 
5
25
  ### Features
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@modelprofile.com/flexharness',
6
- version: '3.3.0',
6
+ version: '3.5.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=
@@ -10,17 +10,24 @@ export declare class FlexHarness<TScope = unknown> {
10
10
  private readonly callbackLimits;
11
11
  private readonly promptQueueLimits;
12
12
  private readonly externalErrorProjector?;
13
+ private readonly subagents;
14
+ private readonly maxSubagentDepth;
15
+ private readonly maxSubagentCallsPerRun;
13
16
  private readonly stateLoads;
14
17
  private readonly scopeAdmissions;
15
18
  private readonly scopeRetirements;
16
19
  private readonly storageDrains;
20
+ private readonly storageCompactorLifecycleControllers;
17
21
  private orphanedResourceQueue;
18
22
  private readonly listeners;
19
23
  private readonly trustedInternalErrors;
20
24
  private readonly orphanedStoredSessions;
21
25
  private readonly orphanedExecutionContexts;
22
26
  private readonly orphanedProviderReleases;
27
+ private readonly orphanedTombstoneCleanups;
23
28
  private readonly pendingPromptAdmissionOwners;
29
+ private readonly compactorInvocationContext;
30
+ private readonly deferredCompactorContexts;
24
31
  private sequence;
25
32
  private promptQueueSequence;
26
33
  private pendingPromptAdmissions;
@@ -78,6 +85,12 @@ export declare class FlexHarness<TScope = unknown> {
78
85
  private executeRun;
79
86
  private finishFailedRun;
80
87
  private prepareGeneration;
88
+ private createSubagentTool;
89
+ private executeSubagentTask;
90
+ private acquireSubagentSession;
91
+ private createSubagentSessionId;
92
+ private updateSubagentToolPart;
93
+ private abortExactRun;
81
94
  private createReservation;
82
95
  private buildTerminal;
83
96
  private promoteCompletedTerminal;
@@ -129,15 +142,26 @@ export declare class FlexHarness<TScope = unknown> {
129
142
  private createScopeSnapshot;
130
143
  private createProjectionSnapshot;
131
144
  private cleanupSessionDomains;
145
+ private collectSessionSubtree;
146
+ private tombstoneGroup;
147
+ private descendantTombstoneRoots;
148
+ private orderTombstoneRootsChildFirst;
132
149
  private finishTombstoneCleanup;
133
150
  private finishTombstoneCleanupInternal;
134
151
  private fenceNamespace;
152
+ private deferNamespaceDrain;
153
+ private sessionsAreDependencyRelated;
154
+ private isSessionAncestor;
155
+ private sessionAncestryDepth;
156
+ private sessionParentSessionId;
157
+ private sessionMetadata;
135
158
  private closeStoredSession;
136
159
  private abortStoredSession;
137
160
  private storedSessionCleanupCompleted;
138
161
  private releasePartialProviderSession;
139
162
  private retainPartialProviderSession;
140
163
  private hasOrphanedSessionResources;
164
+ private retainOrphanedTombstoneCleanup;
141
165
  private closeOrphanedResources;
142
166
  private closeOrphanedResourcesInternal;
143
167
  private orphanedResourceStorageKeys;
@@ -146,11 +170,17 @@ export declare class FlexHarness<TScope = unknown> {
146
170
  private drainStorageInternal;
147
171
  private disposeInternal;
148
172
  private appendUnexpectedErrors;
173
+ private abortCompactorLifecycle;
149
174
  private resolveState;
150
175
  private getScopeAdmission;
151
176
  private pruneScopeAdmission;
152
177
  private createScopeRetirementError;
153
178
  private assertStateAcceptingWork;
179
+ private createCompactorContext;
180
+ private withCompactorContext;
181
+ private createRunCompactorContext;
182
+ private effectiveRunCompactorContext;
183
+ private withRunCompactorContext;
154
184
  private requireSession;
155
185
  private requireMutableSession;
156
186
  private requireMessage;