@modelprofile.com/flexharness 9.9.1 → 9.10.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.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@modelprofile.com/flexharness',
6
- version: '9.9.1',
6
+ version: '9.10.0',
7
7
  description: 'The FlexHarness toolbox source repository and shared dependency catalog.'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSwrQkFBK0I7SUFDckMsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLDBFQUEwRTtDQUN4RixDQUFBIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSwrQkFBK0I7SUFDckMsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLDBFQUEwRTtDQUN4RixDQUFBIn0=
@@ -1,4 +1,4 @@
1
- import type { IFlexBackgroundExecution, IFlexBeginSessionImportOptions, IFlexCompactSessionOptions, IFlexCreateProjectTaskInput, IFlexCreateSessionOptions, IFlexDeleteSessionGenerationCohortInput, IFlexDeleteSessionGenerationCohortResult, IFlexEventArchiveMetadata, IFlexHarnessOptions, IFlexImportedRun, IFlexMessage, IFlexMessagePage, IFlexMessagePageOptions, IFlexPermissionRequest, IFlexProjectGoalResult, IFlexProjectScratchpadResult, IFlexProjectStateResult, IFlexProjectTaskResult, IFlexProjectTasksResult, IFlexPromptAdmission, IFlexPromptQueueAdmission, IFlexPromptQueueEntry, IFlexPromptOptions, IFlexPromptResult, IFlexRedoSessionResult, IFlexScheduledPromptAdmission, IFlexSchedulePromptOptions, IFlexSession, IFlexSessionImportHandle, IFlexSessionImportProgress, IFlexSessionReversionInfo, IFlexSlashCommandDescriptor, IFlexSlashCommandExecutionOptions, IFlexUncertainToolExecution, IFlexUndoSessionResult, IFlexUpdateSessionOptions, IFlexUpdateProjectTaskInput, IJsonObject, TFlexBeginSessionImportResult, TFlexHarnessEventListener, TFlexPermissionDecision, TFlexPrompt, TFlexSlashCommandExecutionResult, TFlexToolExecutionReconciliation } from './interfaces.js';
1
+ import type { IFlexBackgroundExecution, IFlexBeginSessionImportOptions, IFlexCompactSessionOptions, IFlexCreateProjectTaskInput, IFlexCreateSessionOptions, IFlexDeleteSessionGenerationCohortInput, IFlexDeleteSessionGenerationCohortResult, IFlexEventArchiveMetadata, IFlexHarnessOptions, IFlexImportedRun, IFlexMessage, IFlexMessagePage, IFlexMessagePageOptions, IFlexPermissionRequest, IFlexProjectGoalResult, IFlexSteerAdmission, IFlexSteerInput, IFlexProjectScratchpadResult, IFlexProjectStateResult, IFlexProjectTaskResult, IFlexProjectTasksResult, IFlexPromptAdmission, IFlexPromptQueueAdmission, IFlexPromptQueueEntry, IFlexPromptOptions, IFlexPromptResult, IFlexRedoSessionResult, IFlexScheduledPromptAdmission, IFlexSchedulePromptOptions, IFlexSession, IFlexSessionImportHandle, IFlexSessionImportProgress, IFlexSessionReversionInfo, IFlexSlashCommandDescriptor, IFlexSlashCommandExecutionOptions, IFlexUncertainToolExecution, IFlexUndoSessionResult, IFlexUpdateSessionOptions, IFlexUpdateProjectTaskInput, IJsonObject, TFlexBeginSessionImportResult, 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> {
@@ -127,6 +127,16 @@ export declare class FlexHarness<TScope = unknown> {
127
127
  listPromptQueueEntries(scopeId: string, sessionId: string): Promise<IFlexPromptQueueEntry[]>;
128
128
  cancelPrompt(scopeId: string, sessionId: string, queueId: string): Promise<boolean>;
129
129
  cancelScheduledPrompt(scopeId: string, sessionId: string, scheduleKey: string): Promise<boolean>;
130
+ /**
131
+ * Steers the running run of the prompt `queueId`: the run takes `steer.prompt` in as a user
132
+ * message at its next step boundary, after the tool results of its current model step are
133
+ * recorded and before its next model call. A running tool call or permission wait is not
134
+ * interrupted. A steer the run has not taken in when it ends is reported in its
135
+ * `unappliedSteerIds`; a steer for a prompt that has no running run, or whose run is ending,
136
+ * is refused with `FlexHarnessSteerRejectedError` reason `not-running` and belongs to the
137
+ * next turn.
138
+ */
139
+ steerPrompt(scopeId: string, sessionId: string, queueId: string, steer: IFlexSteerInput): Promise<IFlexSteerAdmission>;
130
140
  abort(scopeId: string, sessionId: string): Promise<boolean>;
131
141
  listPendingPermissions(scopeId: string, sessionId?: string): Promise<IFlexPermissionRequest[]>;
132
142
  respondToPermission(scopeId: string, sessionId: string, permissionId: string, decision: TFlexPermissionDecision): Promise<void>;
@@ -225,6 +235,21 @@ export declare class FlexHarness<TScope = unknown> {
225
235
  private updateSubagentToolPart;
226
236
  private abortExactRun;
227
237
  private createReservation;
238
+ private userMessageParts;
239
+ /**
240
+ * Ends steering intake once the run's generation has settled and fixes what became of its
241
+ * steers. A run that stays in the model context reports the steers its generation did not
242
+ * record; a run that does not, because it failed, was stopped before any model output or its
243
+ * outcome could not be established, reports every steer it accepted, since the model context
244
+ * of later turns holds none of them. The bytes of the steers not taken in are released.
245
+ */
246
+ private closeRunSteering;
247
+ /**
248
+ * Projects a steer the run's generation took in as a user message of the run. The assistant
249
+ * message that answered before it is completed and the run answers on in a new one; a steer
250
+ * taken in before the run answered anything is placed before its still empty assistant message.
251
+ */
252
+ private applyRunSteer;
228
253
  private buildTerminal;
229
254
  private reversionId;
230
255
  private reversionProviderProtocolVersion;
@@ -252,6 +277,12 @@ export declare class FlexHarness<TScope = unknown> {
252
277
  private promoteCompletedTerminal;
253
278
  private publishFailedTerminal;
254
279
  private replaceStagedTerminal;
280
+ /**
281
+ * Puts a run's terminal messages in place of their projected versions: its prompt, and its last
282
+ * assistant message. The steers a run took in, and the assistant messages it completed before
283
+ * them, stay where they are. A terminal message that is not projected yet is added: the prompt
284
+ * before the run's other messages, the assistant message after them.
285
+ */
255
286
  private replaceVisibleRun;
256
287
  private emitTerminalProjection;
257
288
  private emitFinalRunEvent;