@modelprofile.com/flexharness 14.0.0 → 16.0.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.
Files changed (51) hide show
  1. package/dist_ts/00_commitinfo_data.js +1 -1
  2. package/dist_ts/classes.flexharness.cachewarm.d.ts +2 -2
  3. package/dist_ts/classes.flexharness.cachewarm.js +1 -1
  4. package/dist_ts/classes.flexharness.core.d.ts +8 -1
  5. package/dist_ts/classes.flexharness.core.js +44 -31
  6. package/dist_ts/classes.flexharness.d.ts +5 -4
  7. package/dist_ts/classes.flexharness.js +10 -7
  8. package/dist_ts/classes.flexharness.prompts.d.ts +9 -5
  9. package/dist_ts/classes.flexharness.prompts.js +93 -18
  10. package/dist_ts/classes.flexharness.runs.d.ts +9 -4
  11. package/dist_ts/classes.flexharness.runs.js +70 -18
  12. package/dist_ts/classes.flexharness.sessions.d.ts +4 -5
  13. package/dist_ts/classes.flexharness.sessions.js +45 -12
  14. package/dist_ts/classes.flexharness.subagents.js +1 -1
  15. package/dist_ts/errors.d.ts +9 -0
  16. package/dist_ts/errors.js +14 -1
  17. package/dist_ts/index.d.ts +2 -0
  18. package/dist_ts/index.js +2 -1
  19. package/dist_ts/interfaces.d.ts +119 -11
  20. package/dist_ts/interfaces.flexharness.d.ts +12 -8
  21. package/dist_ts/interfaces.js +1 -1
  22. package/dist_ts/plugins.d.ts +3 -3
  23. package/dist_ts/plugins.js +3 -3
  24. package/dist_ts/utils.harnessoptions.js +6 -3
  25. package/dist_ts/utils.json.js +74 -18
  26. package/dist_ts/utils.sessionmetrics.d.ts +12 -1
  27. package/dist_ts/utils.sessionmetrics.js +18 -1
  28. package/dist_ts/utils.transfer.js +14 -1
  29. package/dist_ts/utils.validation.d.ts +7 -2
  30. package/dist_ts/utils.validation.js +28 -7
  31. package/package.json +3 -3
  32. package/readme.md +75 -6
  33. package/ts/00_commitinfo_data.ts +1 -1
  34. package/ts/classes.flexharness.cachewarm.ts +2 -2
  35. package/ts/classes.flexharness.core.ts +49 -30
  36. package/ts/classes.flexharness.prompts.ts +124 -39
  37. package/ts/classes.flexharness.runs.ts +78 -24
  38. package/ts/classes.flexharness.sessions.ts +54 -9
  39. package/ts/classes.flexharness.subagents.ts +2 -1
  40. package/ts/classes.flexharness.ts +25 -5
  41. package/ts/errors.ts +15 -0
  42. package/ts/index.ts +6 -0
  43. package/ts/interfaces.flexharness.ts +12 -8
  44. package/ts/interfaces.ts +125 -11
  45. package/ts/plugins.ts +13 -0
  46. package/ts/readme.md +75 -6
  47. package/ts/utils.harnessoptions.ts +9 -2
  48. package/ts/utils.json.ts +75 -18
  49. package/ts/utils.sessionmetrics.ts +23 -0
  50. package/ts/utils.transfer.ts +13 -0
  51. package/ts/utils.validation.ts +31 -5
@@ -1,4 +1,4 @@
1
- import type { IFlexBackgroundExecution, IFlexBeginSessionImportOptions, IFlexCacheWarmInput, IFlexCacheWarmState, IFlexCompactSessionOptions, IFlexCreateProjectTaskInput, IFlexCreateSessionOptions, IFlexDeleteSessionGenerationCohortInput, IFlexDeleteSessionGenerationCohortResult, IFlexEnqueuePromptOptions, IFlexEventArchiveMetadata, IFlexHarnessOptions, IFlexImportedRun, IFlexMessage, IFlexMessagePage, IFlexMessagePageOptions, IFlexPermissionRequest, IFlexProjectGoalResult, IFlexSteerAdmission, IFlexSteerInput, IFlexProjectScratchpadResult, IFlexProjectStateResult, IFlexProjectTaskResult, IFlexProjectTasksResult, IFlexPromptAdmission, IFlexPromptQueueAdmission, IFlexPromptQueueEntry, IFlexPromptResult, IFlexRedoSessionResult, IFlexScheduledPromptAdmission, IFlexSchedulePromptOptions, IFlexSession, IFlexSessionView, IFlexSessionMetrics, IFlexSessionImportHandle, IFlexSessionImportProgress, IFlexSessionReversionInfo, IFlexSlashCommandDescriptor, IFlexSlashCommandExecutionOptions, IFlexUncertainToolExecution, IFlexUndoSessionResult, IFlexUpdateSessionOptions, IFlexUpdateProjectTaskInput, IJsonObject, TFlexBeginSessionImportResult, TFlexHarnessEventListener, TFlexPermissionDecision, TFlexPrompt, TFlexSlashCommandExecutionResult, TFlexToolExecutionReconciliation } from './interfaces.js';
1
+ import type { IFlexBackgroundExecution, IFlexBeginSessionImportOptions, IFlexCacheWarmInput, IFlexCacheWarmState, IFlexCompactSessionOptions, IFlexContinuePromptOptions, IFlexContinuePromptResult, IFlexCreateProjectTaskInput, IFlexCreateSessionOptions, IFlexDeleteSessionGenerationCohortInput, IFlexDeleteSessionGenerationCohortResult, IFlexEnqueuePromptOptions, IFlexEventArchiveMetadata, IFlexHarnessOptions, IFlexImportedRun, IFlexMessage, IFlexMessagePage, IFlexMessagePageOptions, IFlexMessageReadOptions, IFlexPermissionRequest, IFlexProjectGoalResult, IFlexSteerAdmission, IFlexSteerInput, IFlexProjectScratchpadResult, IFlexProjectStateResult, IFlexProjectTaskResult, IFlexProjectTasksResult, IFlexPromptAdmission, IFlexPromptQueueAdmission, IFlexPromptQueueEntry, IFlexPromptResult, IFlexRedoSessionResult, IFlexScheduledPromptAdmission, IFlexSchedulePromptOptions, IFlexSession, IFlexSessionView, IFlexSessionMetrics, IFlexSessionImportHandle, IFlexSessionImportProgress, IFlexSessionReversionInfo, IFlexSlashCommandDescriptor, IFlexSlashCommandExecutionOptions, IFlexUncertainToolExecution, IFlexUndoSessionResult, IFlexUpdateSessionOptions, IFlexUpdateProjectTaskInput, IJsonObject, TFlexBeginSessionImportResult, TFlexHarnessEventListener, TFlexPermissionDecision, TFlexPrompt, TFlexSlashCommandExecutionResult, TFlexToolExecutionReconciliation } from './interfaces.js';
2
2
  export { createFlexResourceToolNamespace, createFlexResourceToolName, } from './utils.flexharness.js';
3
3
  export { FLEX_CACHE_WARM_PROMPT } from './classes.flexharness.cachewarm.js';
4
4
  export declare class FlexHarness<TScope = unknown> {
@@ -46,15 +46,16 @@ export declare class FlexHarness<TScope = unknown> {
46
46
  * with the instance's event sequence they include. It waits until no queued projection or scope
47
47
  * write and no change that emits events for the session is in progress.
48
48
  */
49
- getSessionView(scopeId: string, sessionId: string): Promise<IFlexSessionView>;
50
- getMessages(scopeId: string, sessionId: string): Promise<IFlexMessage[]>;
49
+ getSessionView(scopeId: string, sessionId: string, options?: IFlexMessageReadOptions): Promise<IFlexSessionView>;
50
+ getMessages(scopeId: string, sessionId: string, options?: IFlexMessageReadOptions): Promise<IFlexMessage[]>;
51
51
  listMessagePage(scopeId: string, sessionId: string, options?: IFlexMessagePageOptions): Promise<IFlexMessagePage>;
52
- getMessage(scopeId: string, sessionId: string, messageId: string): Promise<IFlexMessage>;
52
+ getMessage(scopeId: string, sessionId: string, messageId: string, options?: IFlexMessageReadOptions): Promise<IFlexMessage>;
53
53
  listSlashCommands(scopeId: string, sessionId: string): Promise<IFlexSlashCommandDescriptor[]>;
54
54
  executeSlashCommand(scopeId: string, sessionId: string, untouchedInput: string, options?: IFlexSlashCommandExecutionOptions): Promise<TFlexSlashCommandExecutionResult>;
55
55
  /** Resolves the exact session configuration before looking up custom commands. */
56
56
  executeSessionSlashCommand(scopeId: string, sessionId: string, untouchedInput: string, options?: IFlexSlashCommandExecutionOptions): Promise<TFlexSlashCommandExecutionResult>;
57
57
  prompt(scopeId: string, sessionId: string, prompt: TFlexPrompt, options?: IFlexEnqueuePromptOptions): Promise<IFlexPromptResult>;
58
+ continuePrompt(scopeId: string, sessionId: string, options?: IFlexContinuePromptOptions): Promise<IFlexPromptQueueAdmission<IFlexContinuePromptResult>>;
58
59
  startPrompt(scopeId: string, sessionId: string, prompt: TFlexPrompt, options?: IFlexEnqueuePromptOptions): Promise<IFlexPromptAdmission>;
59
60
  enqueuePrompt(scopeId: string, sessionId: string, prompt: TFlexPrompt, options?: IFlexEnqueuePromptOptions): Promise<IFlexPromptQueueAdmission>;
60
61
  schedulePrompt(scopeId: string, sessionId: string, scheduleKey: string, prompt: TFlexPrompt, options?: IFlexSchedulePromptOptions): Promise<IFlexScheduledPromptAdmission>;
@@ -98,17 +98,17 @@ export class FlexHarness {
98
98
  * with the instance's event sequence they include. It waits until no queued projection or scope
99
99
  * write and no change that emits events for the session is in progress.
100
100
  */
101
- getSessionView(scopeId, sessionId) {
102
- return this.core.sessions.getSessionView(scopeId, sessionId);
101
+ getSessionView(scopeId, sessionId, options) {
102
+ return this.core.sessions.getSessionView(scopeId, sessionId, options);
103
103
  }
104
- getMessages(scopeId, sessionId) {
105
- return this.core.sessions.getMessages(scopeId, sessionId);
104
+ getMessages(scopeId, sessionId, options) {
105
+ return this.core.sessions.getMessages(scopeId, sessionId, options);
106
106
  }
107
107
  listMessagePage(scopeId, sessionId, options) {
108
108
  return this.core.sessions.listMessagePage(scopeId, sessionId, options);
109
109
  }
110
- getMessage(scopeId, sessionId, messageId) {
111
- return this.core.sessions.getMessage(scopeId, sessionId, messageId);
110
+ getMessage(scopeId, sessionId, messageId, options) {
111
+ return this.core.sessions.getMessage(scopeId, sessionId, messageId, options);
112
112
  }
113
113
  listSlashCommands(scopeId, sessionId) {
114
114
  return this.core.commands.listSlashCommands(scopeId, sessionId);
@@ -123,6 +123,9 @@ export class FlexHarness {
123
123
  prompt(scopeId, sessionId, prompt, options) {
124
124
  return this.core.prompts.prompt(scopeId, sessionId, prompt, options);
125
125
  }
126
+ continuePrompt(scopeId, sessionId, options = {}) {
127
+ return this.core.prompts.continuePrompt(scopeId, sessionId, options);
128
+ }
126
129
  startPrompt(scopeId, sessionId, prompt, options) {
127
130
  return this.core.prompts.startPrompt(scopeId, sessionId, prompt, options);
128
131
  }
@@ -221,4 +224,4 @@ export class FlexHarness {
221
224
  return this.core.lifecycle.dispose();
222
225
  }
223
226
  }
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5mbGV4aGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMuZmxleGhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0RBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLDBCQUEwQixHQUMzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTVFLE1BQU0sT0FBTyxXQUFXO0lBQ0wsSUFBSSxDQUEwQjtJQUUvQyxZQUFZLE9BQW9DO1FBQzlDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxlQUFlLENBQVMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFlBQVksQ0FBQyxPQUFlO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxhQUFhLENBQ2xCLE9BQWUsRUFDZixPQUFtQztRQUVuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxrQkFBa0IsQ0FDdkIsT0FBZSxFQUNmLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCx1R0FBdUc7SUFDaEcsa0JBQWtCLENBQ3ZCLE1BQWdDLEVBQ2hDLElBQWlDO1FBRWpDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFD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
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5mbGV4aGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMuZmxleGhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdURBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLDBCQUEwQixHQUMzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTVFLE1BQU0sT0FBTyxXQUFXO0lBQ0wsSUFBSSxDQUEwQjtJQUUvQyxZQUFZLE9BQW9DO1FBQzlDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxlQUFlLENBQVMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFlBQVksQ0FBQyxPQUFlO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxhQUFhLENBQ2xCLE9BQWUsRUFDZixPQUFtQztRQUVuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxrQkFBa0IsQ0FDdkIsT0FBZSxFQUNmLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCx1R0FBdUc7SUFDaEcsa0JBQWtCLENBQ3ZCLE1BQWdDLEVBQ2hDLElBQWlDO1FBRWpDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFD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
@@ -1,5 +1,5 @@
1
1
  import { FlexHarnessAbortError } from './errors.js';
2
- import type { IFlexAgentContextInvocation, IFlexEnqueuePromptOptions, IFlexSteerAdmission, IFlexSteerInput, IFlexPromptAdmission, IFlexPromptQueueAdmission, IFlexPromptQueueEntry, IFlexPromptOptions, IFlexPromptResult, IFlexScheduledPromptAdmission, IFlexSchedulePromptOptions, TFlexPrompt } from './interfaces.js';
2
+ import type { IFlexAgentContextInvocation, IFlexContinuePromptOptions, IFlexContinuePromptResult, IFlexEnqueuePromptOptions, IFlexSteerAdmission, IFlexSteerInput, IFlexPromptAdmission, IFlexPromptQueueAdmission, IFlexPromptQueueEntry, IFlexPromptOptions, IFlexPromptResult, IFlexScheduledPromptAdmission, IFlexSchedulePromptOptions, TFlexPrompt } from './interfaces.js';
3
3
  import { type INormalizedFlexPrompt } from './utils.prompt.js';
4
4
  import type { IStoredSessionState, IStorageState, IActiveRun, IDelegatedRunAdmissionSeed, IQueuedPrompt, IPendingPromptAdmission, IAdmittedSteer } from './interfaces.flexharness.js';
5
5
  import type { FlexHarnessCore } from './classes.flexharness.core.js';
@@ -11,9 +11,11 @@ export declare class FlexHarnessPromptQueue<TScope> {
11
11
  pendingPromptAdmissions: number;
12
12
  pendingPromptAdmissionBytes: number;
13
13
  constructor(core: FlexHarnessCore<TScope>);
14
- promptAdmissionByteSize(prompt: TFlexPrompt, options: IFlexPromptOptions, scheduleKey?: string, debounceMs?: number): number;
14
+ promptAdmissionByteSize(prompt: TFlexPrompt | undefined, options: IFlexPromptOptions, scheduleKey?: string, debounceMs?: number): number;
15
15
  isSessionRuntimeIdle(state: IStorageState, stored: IStoredSessionState): boolean;
16
16
  prompt(scopeId: string, sessionId: string, prompt: TFlexPrompt, options?: IFlexEnqueuePromptOptions): Promise<IFlexPromptResult>;
17
+ continuePrompt(scopeId: string, sessionId: string, options?: IFlexContinuePromptOptions): Promise<IFlexPromptQueueAdmission<IFlexContinuePromptResult>>;
18
+ private validateScheduleDebounce;
17
19
  startPrompt(scopeId: string, sessionId: string, prompt: TFlexPrompt, options?: IFlexEnqueuePromptOptions): Promise<IFlexPromptAdmission>;
18
20
  enqueuePrompt(scopeId: string, sessionId: string, prompt: TFlexPrompt, options?: IFlexEnqueuePromptOptions): Promise<IFlexPromptQueueAdmission>;
19
21
  /** Validates the options of a prompt and the steers that join its run, in their given order. */
@@ -26,15 +28,17 @@ export declare class FlexHarnessPromptQueue<TScope> {
26
28
  steerPrompt(scopeId: string, sessionId: string, queueId: string, steer: IFlexSteerInput): Promise<IFlexSteerAdmission>;
27
29
  /** The shared synchronous admission point; neither entrypoint starts or resumes a run. */
28
30
  admitRunSteer(run: IActiveRun, steer: IFlexSteerInput, prompt: INormalizedFlexPrompt, byteSize: number): IFlexSteerAdmission;
29
- enqueuePromptInternal(scopeId: string, sessionId: string, prompt: TFlexPrompt, options: IFlexPromptOptions, scheduleKey?: string, debounceMs?: number, delegationSeed?: IDelegatedRunAdmissionSeed, admissionSignal?: AbortSignal, slashCommandAdmission?: boolean, cacheWarm?: boolean, steers?: readonly IAdmittedSteer[]): Promise<{
30
- admission: IFlexPromptQueueAdmission;
31
- started: Promise<IFlexPromptAdmission>;
31
+ enqueuePromptInternal<TPrompt extends TFlexPrompt | undefined>(scopeId: string, sessionId: string, prompt: TPrompt, options: IFlexPromptOptions, scheduleKey?: string, debounceMs?: number, delegationSeed?: IDelegatedRunAdmissionSeed, admissionSignal?: AbortSignal, slashCommandAdmission?: boolean, cacheWarm?: boolean, steers?: readonly IAdmittedSteer[]): Promise<{
32
+ admission: IFlexPromptQueueAdmission<TPrompt extends undefined ? IFlexContinuePromptResult : IFlexPromptResult>;
33
+ started: Promise<IFlexPromptAdmission<TPrompt extends undefined ? IFlexContinuePromptResult : IFlexPromptResult>>;
32
34
  queued?: IQueuedPrompt;
33
35
  }>;
34
36
  private reservePendingPromptAdmission;
35
37
  private schedulePromptQueueDrain;
36
38
  private drainPromptQueue;
37
39
  private assertPromptPromotion;
40
+ /** Check the actual model context at the FIFO boundary, before any durable run claim. */
41
+ private assertContinuableContext;
38
42
  private promoteQueuedPrompt;
39
43
  private projectPromptQueueEntry;
40
44
  private promptQueueEntry;