@modelprofile.com/flexharness 3.6.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 +18 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.flexharness.d.ts +71 -1
- package/dist_ts/classes.flexharness.js +2374 -138
- package/dist_ts/classes.stores.js +1 -1
- package/dist_ts/errors.d.ts +8 -0
- package/dist_ts/errors.js +17 -1
- package/dist_ts/index.d.ts +1 -0
- package/dist_ts/index.js +2 -1
- package/dist_ts/interfaces.d.ts +272 -5
- package/dist_ts/interfaces.js +18 -2
- package/dist_ts/plugins.d.ts +2 -2
- package/dist_ts/plugins.js +3 -3
- package/dist_ts/utils.json.d.ts +5 -2
- package/dist_ts/utils.json.js +485 -10
- package/dist_ts/utils.slashcommands.d.ts +7 -0
- package/dist_ts/utils.slashcommands.js +164 -0
- package/dist_ts_migration/v3_legacyflexharness.js +6 -2
- package/package.json +1 -1
- package/readme.hints.md +4 -0
- package/readme.md +190 -3
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.flexharness.ts +3210 -190
- package/ts/classes.stores.ts +9 -8
- package/ts/errors.ts +25 -0
- package/ts/index.ts +4 -0
- package/ts/interfaces.ts +378 -5
- package/ts/plugins.ts +2 -0
- package/ts/utils.json.ts +543 -12
- package/ts/utils.slashcommands.ts +178 -0
- package/ts_migration/v3_legacyflexharness.ts +10 -5
package/dist_ts/interfaces.d.ts
CHANGED
|
@@ -129,6 +129,78 @@ export interface IFlexPromptOptions {
|
|
|
129
129
|
system?: string;
|
|
130
130
|
maxSteps?: number;
|
|
131
131
|
}
|
|
132
|
+
export interface IFlexSlashCommandInvocation {
|
|
133
|
+
input: string;
|
|
134
|
+
name: string;
|
|
135
|
+
rawArguments: string;
|
|
136
|
+
arguments: string[];
|
|
137
|
+
}
|
|
138
|
+
export interface IFlexSlashCommandNotCommandResult {
|
|
139
|
+
type: 'not-command';
|
|
140
|
+
}
|
|
141
|
+
export interface IFlexSlashCommandMalformedResult {
|
|
142
|
+
type: 'malformed';
|
|
143
|
+
reason: string;
|
|
144
|
+
}
|
|
145
|
+
export interface IFlexParsedSlashCommand extends IFlexSlashCommandInvocation {
|
|
146
|
+
type: 'parsed';
|
|
147
|
+
}
|
|
148
|
+
export type TFlexSlashCommandParseResult = IFlexSlashCommandNotCommandResult | IFlexSlashCommandMalformedResult | IFlexParsedSlashCommand;
|
|
149
|
+
export type TFlexSlashCommandKind = 'builtin' | 'template' | 'handler';
|
|
150
|
+
export type TFlexSlashCommandWorkspaceReversion = 'supported' | 'unsupported' | 'not-applicable';
|
|
151
|
+
export interface IFlexSlashCommandDescriptor {
|
|
152
|
+
name: string;
|
|
153
|
+
description: string;
|
|
154
|
+
kind: TFlexSlashCommandKind;
|
|
155
|
+
hints: string[];
|
|
156
|
+
available: boolean;
|
|
157
|
+
unavailableReason?: string;
|
|
158
|
+
workspaceReversion: TFlexSlashCommandWorkspaceReversion;
|
|
159
|
+
}
|
|
160
|
+
export interface IFlexSlashCommandHandlerContext<TScope> {
|
|
161
|
+
readonly scopeId: string;
|
|
162
|
+
readonly scope: TScope;
|
|
163
|
+
readonly storageKey: string;
|
|
164
|
+
readonly sessionId: string;
|
|
165
|
+
readonly rawArguments: string;
|
|
166
|
+
readonly arguments: readonly string[];
|
|
167
|
+
readonly signal: AbortSignal;
|
|
168
|
+
}
|
|
169
|
+
export type TFlexSlashCommandHandler<TScope> = (context: IFlexSlashCommandHandlerContext<TScope>) => TJsonValue | void | Promise<TJsonValue | void>;
|
|
170
|
+
export interface IFlexSlashCommandTemplateRegistration {
|
|
171
|
+
name: string;
|
|
172
|
+
description?: string;
|
|
173
|
+
template: string;
|
|
174
|
+
handler?: never;
|
|
175
|
+
}
|
|
176
|
+
export interface IFlexSlashCommandHandlerRegistration<TScope> {
|
|
177
|
+
name: string;
|
|
178
|
+
description?: string;
|
|
179
|
+
handler: TFlexSlashCommandHandler<TScope>;
|
|
180
|
+
template?: never;
|
|
181
|
+
}
|
|
182
|
+
export type TFlexSlashCommandRegistration<TScope> = IFlexSlashCommandTemplateRegistration | IFlexSlashCommandHandlerRegistration<TScope>;
|
|
183
|
+
export interface IFlexSlashCommandExecutionOptions extends IFlexPromptOptions {
|
|
184
|
+
signal?: AbortSignal;
|
|
185
|
+
}
|
|
186
|
+
export interface IFlexSlashCommandUnknownResult extends IFlexSlashCommandInvocation {
|
|
187
|
+
type: 'unknown';
|
|
188
|
+
}
|
|
189
|
+
export interface IFlexSlashCommandOperationResult {
|
|
190
|
+
type: 'operation';
|
|
191
|
+
name: string;
|
|
192
|
+
}
|
|
193
|
+
export interface IFlexSlashCommandHandlerResult {
|
|
194
|
+
type: 'handler-result';
|
|
195
|
+
name: string;
|
|
196
|
+
result: TJsonValue;
|
|
197
|
+
}
|
|
198
|
+
export interface IFlexSlashCommandPromptAdmissionResult {
|
|
199
|
+
type: 'prompt-admission';
|
|
200
|
+
name: string;
|
|
201
|
+
admission: IFlexPromptAdmission;
|
|
202
|
+
}
|
|
203
|
+
export type TFlexSlashCommandExecutionResult = IFlexSlashCommandNotCommandResult | IFlexSlashCommandMalformedResult | IFlexSlashCommandUnknownResult | IFlexSlashCommandOperationResult | IFlexSlashCommandHandlerResult | IFlexSlashCommandPromptAdmissionResult;
|
|
132
204
|
export type TFlexPromptQueueStatus = 'queued' | 'starting' | 'scheduled' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
133
205
|
export interface IFlexPromptQueueEntry {
|
|
134
206
|
queueId: string;
|
|
@@ -274,12 +346,90 @@ export interface IFlexTerminalProjection {
|
|
|
274
346
|
finishReason?: string;
|
|
275
347
|
steps?: number;
|
|
276
348
|
}
|
|
277
|
-
export interface
|
|
349
|
+
export interface IFlexProjectionSnapshotV1 {
|
|
278
350
|
schemaVersion: 1;
|
|
279
351
|
revision: number;
|
|
280
352
|
messages: IFlexMessage[];
|
|
281
353
|
stagedTerminals: IFlexTerminalProjection[];
|
|
282
354
|
}
|
|
355
|
+
export type TFlexReversionSegmentStatus = 'capturing' | 'completed' | 'failed' | 'cancelled';
|
|
356
|
+
export type TFlexReversionProtocolVersion = 1 | 2;
|
|
357
|
+
export type TFlexReversionProvenance = 'transcript' | 'workspace';
|
|
358
|
+
export type TFlexReversionDisposition = 'pending' | 'revertible' | 'no-change' | 'nonrevertible';
|
|
359
|
+
export interface IFlexAffectedWorkspace {
|
|
360
|
+
readonly id: string;
|
|
361
|
+
readonly label: string;
|
|
362
|
+
}
|
|
363
|
+
interface IFlexReversionSegmentV2 {
|
|
364
|
+
runId: string;
|
|
365
|
+
userMessageId: string;
|
|
366
|
+
status: TFlexReversionSegmentStatus;
|
|
367
|
+
contextAvailable: boolean;
|
|
368
|
+
eventIds: string[];
|
|
369
|
+
workspaceCaptured: boolean;
|
|
370
|
+
captureId?: string;
|
|
371
|
+
workspaceReference?: TJsonValue;
|
|
372
|
+
}
|
|
373
|
+
export interface IFlexReversionSegment extends IFlexReversionSegmentV2 {
|
|
374
|
+
protocolVersion: TFlexReversionProtocolVersion;
|
|
375
|
+
provenance: TFlexReversionProvenance;
|
|
376
|
+
disposition?: TFlexReversionDisposition;
|
|
377
|
+
affectedWorkspaces?: IFlexAffectedWorkspace[];
|
|
378
|
+
reasonCode?: string;
|
|
379
|
+
}
|
|
380
|
+
interface IFlexPendingCaptureReversionV2 {
|
|
381
|
+
kind: 'capture';
|
|
382
|
+
runId: string;
|
|
383
|
+
captureId: string;
|
|
384
|
+
state: 'preparing' | 'prepared' | 'finalizing';
|
|
385
|
+
}
|
|
386
|
+
export interface IFlexPendingCaptureReversion extends IFlexPendingCaptureReversionV2 {
|
|
387
|
+
protocolVersion: TFlexReversionProtocolVersion;
|
|
388
|
+
}
|
|
389
|
+
export interface IFlexPendingApplyReversion {
|
|
390
|
+
kind: 'apply';
|
|
391
|
+
operationId: string;
|
|
392
|
+
direction: 'undo' | 'redo';
|
|
393
|
+
fromCursor: number;
|
|
394
|
+
toCursor: number;
|
|
395
|
+
segmentRunIds: string[];
|
|
396
|
+
appliedRunIds: string[];
|
|
397
|
+
}
|
|
398
|
+
type TFlexPendingReversionV2 = IFlexPendingCaptureReversionV2 | IFlexPendingApplyReversion;
|
|
399
|
+
export type TFlexPendingReversion = IFlexPendingCaptureReversion | IFlexPendingApplyReversion;
|
|
400
|
+
interface IFlexPendingReversionReleaseV2 {
|
|
401
|
+
runId: string;
|
|
402
|
+
captureId: string;
|
|
403
|
+
reference: TJsonValue;
|
|
404
|
+
}
|
|
405
|
+
export interface IFlexPendingReversionRelease extends IFlexPendingReversionReleaseV2 {
|
|
406
|
+
protocolVersion: TFlexReversionProtocolVersion;
|
|
407
|
+
}
|
|
408
|
+
export interface IFlexProjectionSnapshotV2 {
|
|
409
|
+
schemaVersion: 2;
|
|
410
|
+
revision: number;
|
|
411
|
+
messages: IFlexMessage[];
|
|
412
|
+
stagedTerminals: IFlexTerminalProjection[];
|
|
413
|
+
reversionSegments: IFlexReversionSegmentV2[];
|
|
414
|
+
revertCursor: number;
|
|
415
|
+
excludedRunIds: string[];
|
|
416
|
+
pendingReversion?: TFlexPendingReversionV2;
|
|
417
|
+
pendingReversionReleases: IFlexPendingReversionReleaseV2[];
|
|
418
|
+
}
|
|
419
|
+
export interface IFlexProjectionSnapshotV3 {
|
|
420
|
+
schemaVersion: 3;
|
|
421
|
+
revision: number;
|
|
422
|
+
messages: IFlexMessage[];
|
|
423
|
+
stagedTerminals: IFlexTerminalProjection[];
|
|
424
|
+
reversionSegments: IFlexReversionSegment[];
|
|
425
|
+
revertCursor: number;
|
|
426
|
+
excludedRunIds: string[];
|
|
427
|
+
pendingReversion?: TFlexPendingReversion;
|
|
428
|
+
pendingReversionReleases: IFlexPendingReversionRelease[];
|
|
429
|
+
}
|
|
430
|
+
export type IFlexProjectionSnapshot = IFlexProjectionSnapshotV1 | IFlexProjectionSnapshotV2 | IFlexProjectionSnapshotV3;
|
|
431
|
+
export type TFlexProjectionSnapshot = IFlexProjectionSnapshot;
|
|
432
|
+
export type IFlexProjectionSnapshotCurrent = IFlexProjectionSnapshotV3;
|
|
283
433
|
export interface IFlexPermissionSnapshot {
|
|
284
434
|
schemaVersion: 1;
|
|
285
435
|
revision: number;
|
|
@@ -290,8 +440,8 @@ export interface IFlexScopeStore {
|
|
|
290
440
|
save(storageKey: string, snapshot: IFlexScopeSnapshot, expectedRevision: number): Promise<void>;
|
|
291
441
|
}
|
|
292
442
|
export interface IFlexProjectionStore {
|
|
293
|
-
load(storageKey: string, sessionId: string): Promise<
|
|
294
|
-
save(storageKey: string, sessionId: string, snapshot:
|
|
443
|
+
load(storageKey: string, sessionId: string): Promise<TFlexProjectionSnapshot | undefined>;
|
|
444
|
+
save(storageKey: string, sessionId: string, snapshot: IFlexProjectionSnapshotCurrent, expectedRevision: number): Promise<void>;
|
|
295
445
|
deleteSession(storageKey: string, sessionId: string): Promise<void>;
|
|
296
446
|
}
|
|
297
447
|
export interface IFlexPermissionStore {
|
|
@@ -332,7 +482,114 @@ export interface IFlexPromptQueueLimits {
|
|
|
332
482
|
maxPendingAdmissionBytes?: number;
|
|
333
483
|
maxTerminalEntriesPerSession?: number;
|
|
334
484
|
}
|
|
335
|
-
export
|
|
485
|
+
export interface IFlexReversionLimits {
|
|
486
|
+
maxCompletedTurns?: number;
|
|
487
|
+
maxSegments?: number;
|
|
488
|
+
maxExcludedRunIds?: number;
|
|
489
|
+
maxPendingReversionReleases?: number;
|
|
490
|
+
}
|
|
491
|
+
export declare const FLEX_REVERSION_DEFAULT_LIMITS: Readonly<{
|
|
492
|
+
maxCompletedTurns: 100;
|
|
493
|
+
maxSegments: 300;
|
|
494
|
+
maxExcludedRunIds: 1000;
|
|
495
|
+
maxPendingReversionReleases: 1000;
|
|
496
|
+
}>;
|
|
497
|
+
export declare const FLEX_REVERSION_MAXIMUM_LIMITS: Readonly<{
|
|
498
|
+
maxCompletedTurns: 1000;
|
|
499
|
+
maxSegments: 3000;
|
|
500
|
+
maxExcludedRunIds: 10000;
|
|
501
|
+
maxPendingReversionReleases: 10000;
|
|
502
|
+
}>;
|
|
503
|
+
export declare const FLEX_REVERSION_REFERENCE_MAX_BYTES: number;
|
|
504
|
+
export declare const FLEX_REVERSION_MAX_AFFECTED_WORKSPACES = 64;
|
|
505
|
+
export declare const FLEX_REVERSION_WORKSPACE_ID_MAX_BYTES = 512;
|
|
506
|
+
export declare const FLEX_REVERSION_WORKSPACE_LABEL_MAX_BYTES = 2048;
|
|
507
|
+
export declare const FLEX_REVERSION_REASON_CODE_MAX_BYTES = 128;
|
|
508
|
+
export interface IFlexTurnReversionBaseContext<TScope> {
|
|
509
|
+
readonly scopeId: string;
|
|
510
|
+
readonly scope: TScope;
|
|
511
|
+
readonly storageKey: string;
|
|
512
|
+
readonly sessionId: string;
|
|
513
|
+
readonly runId: string;
|
|
514
|
+
readonly captureId: string;
|
|
515
|
+
readonly signal: AbortSignal;
|
|
516
|
+
}
|
|
517
|
+
export interface IFlexTurnReversionCaptureInspection {
|
|
518
|
+
status: 'missing' | 'prepared' | 'finalized' | 'unknown';
|
|
519
|
+
reference?: TJsonValue;
|
|
520
|
+
}
|
|
521
|
+
export interface IFlexTurnReversionApplyContext<TScope> extends IFlexTurnReversionBaseContext<TScope> {
|
|
522
|
+
readonly reference: TJsonValue;
|
|
523
|
+
readonly operationId: string;
|
|
524
|
+
readonly direction: 'undo' | 'redo';
|
|
525
|
+
}
|
|
526
|
+
export interface IFlexTurnReversionApplyInspection {
|
|
527
|
+
status: 'not-applied' | 'applied' | 'unknown';
|
|
528
|
+
}
|
|
529
|
+
export interface IFlexTurnReversionReleaseContext<TScope> extends IFlexTurnReversionBaseContext<TScope> {
|
|
530
|
+
readonly reference: TJsonValue;
|
|
531
|
+
}
|
|
532
|
+
export interface IFlexTurnReversionProvider<TScope> {
|
|
533
|
+
prepare(context: IFlexTurnReversionBaseContext<TScope>): Promise<void> | void;
|
|
534
|
+
inspectCapture(context: IFlexTurnReversionBaseContext<TScope>): Promise<IFlexTurnReversionCaptureInspection> | IFlexTurnReversionCaptureInspection;
|
|
535
|
+
finalize(context: IFlexTurnReversionBaseContext<TScope>): Promise<TJsonValue> | TJsonValue;
|
|
536
|
+
apply(context: IFlexTurnReversionApplyContext<TScope>): Promise<void> | void;
|
|
537
|
+
inspectApply(context: IFlexTurnReversionApplyContext<TScope>): Promise<IFlexTurnReversionApplyInspection> | IFlexTurnReversionApplyInspection;
|
|
538
|
+
release(context: IFlexTurnReversionReleaseContext<TScope>): Promise<void> | void;
|
|
539
|
+
}
|
|
540
|
+
export interface IFlexTurnReversionRevertibleOutcome {
|
|
541
|
+
readonly disposition: 'revertible';
|
|
542
|
+
readonly reference: TJsonValue;
|
|
543
|
+
readonly affectedWorkspaces: readonly IFlexAffectedWorkspace[];
|
|
544
|
+
}
|
|
545
|
+
export interface IFlexTurnReversionNoChangeOutcome {
|
|
546
|
+
readonly disposition: 'no-change';
|
|
547
|
+
readonly reference: TJsonValue;
|
|
548
|
+
readonly affectedWorkspaces?: readonly [];
|
|
549
|
+
}
|
|
550
|
+
export interface IFlexTurnReversionNonrevertibleOutcome {
|
|
551
|
+
readonly disposition: 'nonrevertible';
|
|
552
|
+
readonly reference: TJsonValue;
|
|
553
|
+
readonly reasonCode: string;
|
|
554
|
+
readonly affectedWorkspaces?: readonly IFlexAffectedWorkspace[];
|
|
555
|
+
}
|
|
556
|
+
export type TFlexTurnReversionFinalizedOutcome = IFlexTurnReversionRevertibleOutcome | IFlexTurnReversionNoChangeOutcome | IFlexTurnReversionNonrevertibleOutcome;
|
|
557
|
+
export type TFlexTurnReversionCaptureInspectionV2 = {
|
|
558
|
+
readonly status: 'missing' | 'prepared' | 'unknown';
|
|
559
|
+
} | {
|
|
560
|
+
readonly status: 'finalized';
|
|
561
|
+
readonly outcome: TFlexTurnReversionFinalizedOutcome;
|
|
562
|
+
};
|
|
563
|
+
export interface IFlexTurnReversionProviderV2<TScope> {
|
|
564
|
+
readonly protocolVersion: 2;
|
|
565
|
+
prepare(context: IFlexTurnReversionBaseContext<TScope>): Promise<void> | void;
|
|
566
|
+
inspectCapture(context: IFlexTurnReversionBaseContext<TScope>): Promise<TFlexTurnReversionCaptureInspectionV2> | TFlexTurnReversionCaptureInspectionV2;
|
|
567
|
+
finalize(context: IFlexTurnReversionBaseContext<TScope>): Promise<TFlexTurnReversionFinalizedOutcome> | TFlexTurnReversionFinalizedOutcome;
|
|
568
|
+
apply(context: IFlexTurnReversionApplyContext<TScope>): Promise<void> | void;
|
|
569
|
+
inspectApply(context: IFlexTurnReversionApplyContext<TScope>): Promise<IFlexTurnReversionApplyInspection> | IFlexTurnReversionApplyInspection;
|
|
570
|
+
release(context: IFlexTurnReversionReleaseContext<TScope>): Promise<void> | void;
|
|
571
|
+
}
|
|
572
|
+
export type TFlexReversionPolicy = 'transcript-optional' | 'workspace-required';
|
|
573
|
+
export type TFlexSessionReversionGroupKind = 'candidate' | 'barrier' | 'no-change';
|
|
574
|
+
export interface IFlexSessionReversionGroup {
|
|
575
|
+
readonly runId: string;
|
|
576
|
+
readonly kind: TFlexSessionReversionGroupKind;
|
|
577
|
+
readonly visibility: 'visible' | 'hidden';
|
|
578
|
+
readonly affectedWorkspaces: readonly IFlexAffectedWorkspace[];
|
|
579
|
+
readonly affectedWorkspacesTruncated: boolean;
|
|
580
|
+
}
|
|
581
|
+
export interface IFlexSessionReversionInfo {
|
|
582
|
+
readonly undoAvailable: boolean;
|
|
583
|
+
readonly redoAvailable: boolean;
|
|
584
|
+
readonly groups: readonly IFlexSessionReversionGroup[];
|
|
585
|
+
}
|
|
586
|
+
export interface IFlexUndoSessionResult {
|
|
587
|
+
revertedRunId: string;
|
|
588
|
+
}
|
|
589
|
+
export interface IFlexRedoSessionResult {
|
|
590
|
+
restoredRunId: string;
|
|
591
|
+
}
|
|
592
|
+
export type TFlexExternalErrorSource = 'modelResolver' | 'toolProvider' | 'toolExecution' | 'toolCallback' | 'toolCleanup' | 'agentSession' | 'persistence' | 'slashCommand' | 'turnReversion';
|
|
336
593
|
export interface IFlexExternalErrorContext {
|
|
337
594
|
source: TFlexExternalErrorSource;
|
|
338
595
|
scopeId: string;
|
|
@@ -391,8 +648,12 @@ export interface IFlexHarnessOptions<TScope> {
|
|
|
391
648
|
toolOutputLimits?: IFlexJsonLimits;
|
|
392
649
|
callbackLimits?: IFlexCallbackLimits;
|
|
393
650
|
promptQueueLimits?: IFlexPromptQueueLimits;
|
|
651
|
+
reversionLimits?: IFlexReversionLimits;
|
|
652
|
+
turnReversionProvider?: IFlexTurnReversionProvider<TScope> | IFlexTurnReversionProviderV2<TScope>;
|
|
653
|
+
reversionPolicy?: TFlexReversionPolicy;
|
|
394
654
|
externalErrorProjector?: TFlexExternalErrorProjector;
|
|
395
655
|
subagents?: IFlexSubagentDefinition[];
|
|
656
|
+
slashCommands?: readonly TFlexSlashCommandRegistration<TScope>[];
|
|
396
657
|
maxSubagentDepth?: number;
|
|
397
658
|
maxSubagentCallsPerRun?: number;
|
|
398
659
|
}
|
|
@@ -494,10 +755,16 @@ export interface IFlexPromptQueueEvent extends IFlexEventBase {
|
|
|
494
755
|
readonly runId?: string;
|
|
495
756
|
readonly entry: IFlexPromptQueueEntry;
|
|
496
757
|
}
|
|
758
|
+
export interface IFlexSessionHistoryChangedEvent extends IFlexEventBase {
|
|
759
|
+
readonly type: 'session.history.changed';
|
|
760
|
+
readonly direction: 'undo' | 'redo' | 'branch';
|
|
761
|
+
readonly runId?: string;
|
|
762
|
+
}
|
|
497
763
|
export interface IFlexErrorInfo {
|
|
498
764
|
name: string;
|
|
499
765
|
message: string;
|
|
500
766
|
code?: string;
|
|
501
767
|
}
|
|
502
|
-
export type TFlexHarnessEvent = IFlexSessionCreatedEvent | IFlexSessionUpdatedEvent | IFlexSessionDeletedEvent | IFlexRunStartedEvent | IFlexMessageChangedEvent | IFlexPartChangedEvent | IFlexPermissionRequestedEvent | IFlexPermissionResolvedEvent | IFlexRunFinishedEvent | IFlexPromptQueueEvent;
|
|
768
|
+
export type TFlexHarnessEvent = IFlexSessionCreatedEvent | IFlexSessionUpdatedEvent | IFlexSessionDeletedEvent | IFlexRunStartedEvent | IFlexMessageChangedEvent | IFlexPartChangedEvent | IFlexPermissionRequestedEvent | IFlexPermissionResolvedEvent | IFlexRunFinishedEvent | IFlexPromptQueueEvent | IFlexSessionHistoryChangedEvent;
|
|
503
769
|
export type TFlexHarnessEventListener = (event: TFlexHarnessEvent) => void;
|
|
770
|
+
export {};
|
package/dist_ts/interfaces.js
CHANGED
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
1
|
+
export const FLEX_REVERSION_DEFAULT_LIMITS = Object.freeze({
|
|
2
|
+
maxCompletedTurns: 100,
|
|
3
|
+
maxSegments: 300,
|
|
4
|
+
maxExcludedRunIds: 1000,
|
|
5
|
+
maxPendingReversionReleases: 1000,
|
|
6
|
+
});
|
|
7
|
+
export const FLEX_REVERSION_MAXIMUM_LIMITS = Object.freeze({
|
|
8
|
+
maxCompletedTurns: 1000,
|
|
9
|
+
maxSegments: 3000,
|
|
10
|
+
maxExcludedRunIds: 10_000,
|
|
11
|
+
maxPendingReversionReleases: 10_000,
|
|
12
|
+
});
|
|
13
|
+
export const FLEX_REVERSION_REFERENCE_MAX_BYTES = 256 * 1024;
|
|
14
|
+
export const FLEX_REVERSION_MAX_AFFECTED_WORKSPACES = 64;
|
|
15
|
+
export const FLEX_REVERSION_WORKSPACE_ID_MAX_BYTES = 512;
|
|
16
|
+
export const FLEX_REVERSION_WORKSPACE_LABEL_MAX_BYTES = 2048;
|
|
17
|
+
export const FLEX_REVERSION_REASON_CODE_MAX_BYTES = 128;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeW9CQSxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3pELGlCQUFpQixFQUFFLEdBQUc7SUFDdEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QiwyQkFBMkIsRUFBRSxJQUFJO0NBQ2xDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDekQsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixpQkFBaUIsRUFBRSxNQUFNO0lBQ3pCLDJCQUEyQixFQUFFLE1BQU07Q0FDcEMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxFQUFFLENBQUM7QUFDekQsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsR0FBRyxDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFHLElBQUksQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxHQUFHLENBQUMifQ==
|
package/dist_ts/plugins.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ import * as crypto from 'node:crypto';
|
|
|
3
3
|
import * as fs from 'node:fs/promises';
|
|
4
4
|
import * as path from 'node:path';
|
|
5
5
|
export { AsyncLocalStorage, crypto, fs, path };
|
|
6
|
-
import { AgentEventStoreConflictError, AgentSession, buildModelMessages, ToolJobStoreConflictError, createAgentEvent, getAgentGenerationTransactions, modelMessagesToAgentEvents, tool, validateAgentEventArchiveV2, validateAgentEventSnapshotV2, z } from '@push.rocks/smartagent';
|
|
7
|
-
export { AgentEventStoreConflictError, AgentSession, buildModelMessages, ToolJobStoreConflictError, createAgentEvent, getAgentGenerationTransactions, modelMessagesToAgentEvents, tool, validateAgentEventArchiveV2, validateAgentEventSnapshotV2, z, };
|
|
6
|
+
import { AgentEventStoreConflictError, AgentSession, buildModelMessages, ToolJobStoreConflictError, createAgentEvent, filterModelVisibleAgentEvents, getAgentGenerationTransactions, modelMessagesToAgentEvents, tool, validateAgentEventArchiveV2, validateAgentEventSnapshotV2, z } from '@push.rocks/smartagent';
|
|
7
|
+
export { AgentEventStoreConflictError, AgentSession, buildModelMessages, ToolJobStoreConflictError, createAgentEvent, filterModelVisibleAgentEvents, getAgentGenerationTransactions, modelMessagesToAgentEvents, tool, validateAgentEventArchiveV2, validateAgentEventSnapshotV2, z, };
|
|
8
8
|
export type { IAgentEventArchiveV2, IAgentContextCompactionOptions, IAgentEventSnapshotV2, IAgentEventStoreV2, IAgentGenerateResult, IAgentGenerationHandle, IAgentGenerationLease, IAgentRunResult, IAgentSession, IAgentSessionOptions, IAgentRuntimeEventPayload, IGenerationBegunEvent, IGenerationExecutionCompletedEvent, IGenerationExecutionStartedEvent, IGenerationOutcomeEvent, IToolExecutionContext, IToolExecutionIntentEvent, IToolJobSnapshot, IToolJobState, IToolJobStore, TAgentContextBuilder, TAgentContextCompactor, TAgentEvent, TAgentGenerationOutcome, TAgentToolCallFinishEvent, TAgentToolExecutionReconciliationOptions, } from '@push.rocks/smartagent';
|
package/dist_ts/plugins.js
CHANGED
|
@@ -5,6 +5,6 @@ import * as fs from 'node:fs/promises';
|
|
|
5
5
|
import * as path from 'node:path';
|
|
6
6
|
export { AsyncLocalStorage, crypto, fs, path };
|
|
7
7
|
// @push.rocks scope
|
|
8
|
-
import { AgentEventStoreConflictError, AgentSession, buildModelMessages, ToolJobStoreConflictError, createAgentEvent, getAgentGenerationTransactions, modelMessagesToAgentEvents, tool, validateAgentEventArchiveV2, validateAgentEventSnapshotV2, z, } from '@push.rocks/smartagent';
|
|
9
|
-
export { AgentEventStoreConflictError, AgentSession, buildModelMessages, ToolJobStoreConflictError, createAgentEvent, getAgentGenerationTransactions, modelMessagesToAgentEvents, tool, validateAgentEventArchiveV2, validateAgentEventSnapshotV2, z, };
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
import { AgentEventStoreConflictError, AgentSession, buildModelMessages, ToolJobStoreConflictError, createAgentEvent, filterModelVisibleAgentEvents, getAgentGenerationTransactions, modelMessagesToAgentEvents, tool, validateAgentEventArchiveV2, validateAgentEventSnapshotV2, z, } from '@push.rocks/smartagent';
|
|
9
|
+
export { AgentEventStoreConflictError, AgentSession, buildModelMessages, ToolJobStoreConflictError, createAgentEvent, filterModelVisibleAgentEvents, getAgentGenerationTransactions, modelMessagesToAgentEvents, tool, validateAgentEventArchiveV2, validateAgentEventSnapshotV2, z, };
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3BsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkMsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUM7QUFFbEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFFL0Msb0JBQW9CO0FBQ3BCLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsWUFBWSxFQUNaLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLElBQUksRUFDSiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLENBQUMsR0FDRixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsWUFBWSxFQUNaLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsMEJBQTBCLEVBQzFCLElBQUksRUFDSiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLENBQUMsR0FDRixDQUFDIn0=
|
package/dist_ts/utils.json.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import type { IFlexJsonLimits, IFlexPermissionSnapshot,
|
|
1
|
+
import type { IFlexJsonLimits, IFlexPermissionSnapshot, IFlexProjectionSnapshotV1, IFlexProjectionSnapshotV2, IFlexProjectionSnapshotV3, IFlexScopeSnapshot, TFlexAgentModelMessage, TJsonValue } from './interfaces.js';
|
|
2
2
|
export declare function resolveJsonLimits(limits?: IFlexJsonLimits): Required<IFlexJsonLimits>;
|
|
3
3
|
export declare function normalizeJsonValue(value: unknown, limits?: IFlexJsonLimits): TJsonValue;
|
|
4
4
|
export declare function assertJsonSerializable(value: unknown, path?: string): void;
|
|
5
5
|
export declare function assertFlexScopeSnapshot(value: unknown): asserts value is IFlexScopeSnapshot;
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function assertFlexProjectionSnapshotV1(value: unknown): asserts value is IFlexProjectionSnapshotV1;
|
|
7
|
+
export declare function assertFlexProjectionSnapshotV2(value: unknown): asserts value is IFlexProjectionSnapshotV2;
|
|
8
|
+
export declare function assertFlexProjectionSnapshotV3(value: unknown): asserts value is IFlexProjectionSnapshotV3;
|
|
9
|
+
export declare function assertFlexProjectionSnapshot(value: unknown): asserts value is IFlexProjectionSnapshotV1 | IFlexProjectionSnapshotV2 | IFlexProjectionSnapshotV3;
|
|
7
10
|
export declare function assertFlexPermissionSnapshot(value: unknown): asserts value is IFlexPermissionSnapshot;
|
|
8
11
|
export declare function cloneSerializable<T>(value: T): T;
|
|
9
12
|
export declare function deepFreeze<T>(value: T): T;
|