@workbench-ai/workbench-core 0.0.74 → 0.0.75
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/dist/index.d.ts +3 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +144 -153
- package/dist/sandbox-backends/docker.d.ts.map +1 -1
- package/dist/sandbox-backends/docker.js +35 -0
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -62,16 +62,12 @@ export interface WorkbenchStateImproveOptions {
|
|
|
62
62
|
}
|
|
63
63
|
export interface WorkbenchPreparedCloudEvalRequest {
|
|
64
64
|
versionId: string;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
skillBundleHash: string;
|
|
68
|
-
agent: string;
|
|
69
|
-
agentHash: string;
|
|
65
|
+
skill?: string;
|
|
66
|
+
agent?: string;
|
|
70
67
|
samples: number;
|
|
71
68
|
}
|
|
72
69
|
export interface WorkbenchPreparedCloudImproveRequest extends WorkbenchPreparedCloudEvalRequest {
|
|
73
70
|
budget: number;
|
|
74
|
-
evidenceTraceIds: string[];
|
|
75
71
|
}
|
|
76
72
|
export interface WorkbenchCaseSampleSelection {
|
|
77
73
|
caseId: string;
|
|
@@ -126,7 +122,6 @@ export interface WorkbenchImproveOptions extends WorkbenchCommandOptions {
|
|
|
126
122
|
version?: string;
|
|
127
123
|
skill?: string;
|
|
128
124
|
agent?: string;
|
|
129
|
-
improverAgent?: WorkbenchAgent;
|
|
130
125
|
budget?: number;
|
|
131
126
|
samples?: number;
|
|
132
127
|
parentRunId?: string;
|
|
@@ -280,7 +275,7 @@ export declare function improveWorkbenchProjectState(state: WorkbenchProjectStat
|
|
|
280
275
|
state: WorkbenchProjectState;
|
|
281
276
|
runs: WorkbenchRun[];
|
|
282
277
|
}>;
|
|
283
|
-
export declare function prepareWorkbenchCloudImproveRequest(options?: Pick<WorkbenchImproveOptions, "dir" | "authToken" | "skill" | "agent" | "budget" | "samples"
|
|
278
|
+
export declare function prepareWorkbenchCloudImproveRequest(options?: Pick<WorkbenchImproveOptions, "dir" | "authToken" | "skill" | "agent" | "budget" | "samples">): Promise<WorkbenchPreparedCloudImproveRequest>;
|
|
284
279
|
export declare function listWorkbenchProjectStateEvalCases(state: WorkbenchProjectState): Promise<WorkbenchCaseRecord[]>;
|
|
285
280
|
export declare function listWorkbenchProjectStateEvalRuntimeCases(state: WorkbenchProjectState, evalHash?: string): Promise<WorkbenchEvalCaseRuntime[]>;
|
|
286
281
|
export declare function createWorkbenchSkillEvalRuntimeInput(args: WorkbenchSkillEvalRuntimeInputArgs): WorkbenchExecutionRuntimeInput;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,IAAI,EACJ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EAGjB,mBAAmB,EACnB,mBAAmB,EAEnB,qBAAqB,EAErB,4BAA4B,EAE5B,sBAAsB,EAEtB,6BAA6B,EAI7B,2BAA2B,EAC3B,YAAY,EAEZ,mBAAmB,EACnB,qBAAqB,EAErB,eAAe,EAGf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,4BAA4B,EAE5B,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,cAAc,EAEd,gBAAgB,EAChB,YAAY,EACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAYL,KAAK,iCAAiC,EAMvC,MAAM,kCAAkC,CAAC;AAmB1C,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,8BAA8B,EAC/B,MAAM,8BAA8B,CAAC;AA4CtC,YAAY,EACV,IAAI,EACJ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,EACpB,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,EAC3B,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,8BAA8B,EAC9B,+CAA+C,EAC/C,+BAA+B,GAChC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,sCAAsC,EACtC,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kCAAkC,EAClC,gCAAgC,EAChC,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,yCAAyC,EACzC,gCAAgC,EAChC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oCAAoC,EACpC,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,GACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,2BAA2B,EAC3B,oCAAoC,EACpC,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,6CAA6C,EAC7C,KAAK,gCAAgC,GACtC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACnC,uBAAuB,EACvB,sCAAsC,EACtC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,GACtC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kCAAkC,GACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,EACd,gCAAgC,EAChC,oCAAoC,EACpC,8BAA8B,EAC9B,mCAAmC,EACnC,+BAA+B,EAC/B,kCAAkC,EAClC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,GAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oCAAoC,EACpC,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oCAAqC,SAAQ,iCAAiC;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,UAAU,EAAE,MAAM,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;QACH,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,cAAc,EAAE,OAAO,CAAC;YACxB,aAAa,EAAE,eAAe,GAAG,iBAAiB,CAAC;YACnD,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;YACrD,SAAS,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC;YACzD,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,oBAAoB,CAAC;SAC7B,CAAC,CAAC;KACJ,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,0BAA0B,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3F,4BAA4B,CAAC,EAAE,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,yBAAyB,KACjC,YAAY,CAAC;CACnB;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,8BAA8B,EACpC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CA4B7B;AAmDD,wBAAgB,kDAAkD,CAChE,IAAI,EAAE,IAAI,CAAC,8BAA8B,EAAE,KAAK,GAAG,kBAAkB,GAAG,yBAAyB,GAAG,MAAM,CAAC,GAC1G,0BAA0B,EAAE,CAE9B;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,kBAAkB,GACtB,sBAAsB,CAAC,SAAS,CAAC,GAAG,IAAI,CAE1C;AAED,wBAAgB,yCAAyC,CACvD,IAAI,EAAE,IAAI,CAAC,8BAA8B,EAAE,KAAK,GAAG,kBAAkB,GAAG,yBAAyB,GAAG,MAAM,CAAC,GAC1G,iCAAiC,CAcnC;AAcD,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,sBAAsB,EACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAkC7B;AA6qBD,wBAAsB,sDAAsD,CAC1E,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,sBAAsB,EACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAgC7B;AAorCD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWvE;AAED,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,YAAY,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,0BAA0B,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,6BAA6B,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,qBAAqB,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;CAC7D;AAED,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,kCAAkC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,qBAAqB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,cAAc,CAAC;IACtB,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC7C,WAAW,EAAE,wBAAwB,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qCAAqC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1C,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yCAAyC;IACxD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAmDD,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,eAAe,CAAC,CAkGxG;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,eAAe,CAAC,CAerG;AAED,wBAAsB,uBAAuB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAsFnI;AAgCD,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA6D9G;AAED,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAW9G;AAED,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAwEpG;AAED,wBAAsB,gCAAgC,CACpD,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,KAAK,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAM,GAC5F,OAAO,CAAC,iCAAiC,CAAC,CA8B5C;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC;IAAE,KAAK,EAAE,qBAAqB,CAAC;IAAC,IAAI,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAqCjE;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC;IAAE,KAAK,EAAE,qBAAqB,CAAC;IAAC,IAAI,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAoCjE;AAED,wBAAsB,mCAAmC,CACvD,OAAO,GAAE,IAAI,CAAC,uBAAuB,EAAE,KAAK,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,kBAAkB,CAAM,GAC/H,OAAO,CAAC,oCAAoC,CAAC,CA+C/C;AAED,wBAAsB,kCAAkC,CACtD,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAYhC;AAED,wBAAsB,yCAAyC,CAC7D,KAAK,EAAE,qBAAqB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAWrC;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,kCAAkC,GACvC,8BAA8B,CAwHhC;AAED,wBAAgB,uCAAuC,CACrD,IAAI,EAAE,qCAAqC,GAC1C,8BAA8B,CAgHhC;AAED,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,MAAM,EAAE,CAEV;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,cAAc,EAAE,CAElB;AAED,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,qBAAqB,EAC5B,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,GACA,cAAc,EAAE,CAyBlB;AA+FD,wBAAgB,wCAAwC,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAEvF;AAED,wBAAgB,8CAA8C,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAE5F;AAED,wBAAgB,+CAA+C,CAC7D,SAAS,EAAE,kBAAkB,GAC5B,mBAAmB,GAAG,IAAI,CA2B5B;AA4BD,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE;IACJ,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,yCAAyC,CAkC3C;AAED,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,YAAY,EACjB,YAAY,EAAE,YAAY,GAAG,SAAS,GACrC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAEvC;AAED,wBAAgB,gDAAgD,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAM/G;AAED,MAAM,WAAW,+BAA+B;IAC9C,YAAY,EAAE,qBAAqB,CAAC;IACpC,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAClC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,YAAY,EAAE,4BAA4B,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAsB,qCAAqC,CACzD,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC,+BAA+B,CAAC,CA0D1C;AA8BD,wBAAsB,kCAAkC,CACtD,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC;IACT,GAAG,EAAE,YAAY,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC,CA4FD;AAED,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA8JlH;AAgCD,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAqF1G;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAM,GAC5E,mBAAmB,CAyFrB;AAED,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAejI;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAgB/H;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,OAAO,CAAC,CAqE3G;AA6BD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA2B7H;AAWD,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAW1G;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC/B,GAAG,OAAO,CAAC,cAAc,CAAC,CA4B1B;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA0B5H;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBrI;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAiC9I;AAYD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAY9I;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAY5G;AAED,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiF5G;AAED,wBAAsB,uBAAuB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA8CpH;AAqBD,MAAM,WAAW,2CAA2C;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,qBAAqB,CAAC;IAC7B,YAAY,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC/C,cAAc,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,2BAA2B,CAAC,aAAa,CAAC,CAAC;CAC1D;AAED,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,2CAA2C,GACnD,2BAA2B,CA8D7B;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAEnG;AAED,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAQxG;AAED,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAYxG;AA0BD,wBAAsB,yCAAyC,CAC7D,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CA6BtC;AAED,wBAAsB,iCAAiC,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAoBnI;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,2BAA2B,EACrC,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzC,6BAA6B,GAAG,IAAI,CAsDtC;AA0YD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAiBlF;AAiJD,UAAU,uBAAuB;IAC/B,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,uBAA4B,GACpC,IAAI,CAmEN;AA+FD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,CAOvE;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAS1F;AA6cD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAUpF;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAO1F;AAED,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,GAAG,SAAS,CAKrG;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKlG;AA0DD,wBAAgB,gDAAgD,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExF;AAupDD,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ;AA24CD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,EAAE,qBAAqB,GAC9B,qBAAqB,CAwBvB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,IAAI,EAEJ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EAGjB,mBAAmB,EACnB,mBAAmB,EAEnB,qBAAqB,EAErB,4BAA4B,EAE5B,sBAAsB,EAEtB,6BAA6B,EAI7B,2BAA2B,EAC3B,YAAY,EAEZ,mBAAmB,EACnB,qBAAqB,EAErB,eAAe,EAGf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,4BAA4B,EAE5B,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,cAAc,EAEd,gBAAgB,EAChB,YAAY,EACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAYL,KAAK,iCAAiC,EAMvC,MAAM,kCAAkC,CAAC;AAmB1C,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,8BAA8B,EAC/B,MAAM,8BAA8B,CAAC;AA4CtC,YAAY,EACV,IAAI,EACJ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,EACpB,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,EAC3B,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,8BAA8B,EAC9B,+CAA+C,EAC/C,+BAA+B,GAChC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,sCAAsC,EACtC,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kCAAkC,EAClC,gCAAgC,EAChC,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,yCAAyC,EACzC,gCAAgC,EAChC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oCAAoC,EACpC,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,GACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,2BAA2B,EAC3B,oCAAoC,EACpC,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,6CAA6C,EAC7C,KAAK,gCAAgC,GACtC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACnC,uBAAuB,EACvB,sCAAsC,EACtC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,GACtC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kCAAkC,GACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,EACd,gCAAgC,EAChC,oCAAoC,EACpC,8BAA8B,EAC9B,mCAAmC,EACnC,+BAA+B,EAC/B,kCAAkC,EAClC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,GAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oCAAoC,EACpC,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oCAAqC,SAAQ,iCAAiC;IAC7F,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,UAAU,EAAE,MAAM,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;QACH,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,cAAc,EAAE,OAAO,CAAC;YACxB,aAAa,EAAE,eAAe,GAAG,iBAAiB,CAAC;YACnD,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;YACrD,SAAS,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC;YACzD,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,oBAAoB,CAAC;SAC7B,CAAC,CAAC;KACJ,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,0BAA0B,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3F,4BAA4B,CAAC,EAAE,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,yBAAyB,KACjC,YAAY,CAAC;CACnB;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,8BAA8B,EACpC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CA4B7B;AAmDD,wBAAgB,kDAAkD,CAChE,IAAI,EAAE,IAAI,CAAC,8BAA8B,EAAE,KAAK,GAAG,kBAAkB,GAAG,yBAAyB,GAAG,MAAM,CAAC,GAC1G,0BAA0B,EAAE,CAE9B;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,kBAAkB,GACtB,sBAAsB,CAAC,SAAS,CAAC,GAAG,IAAI,CAE1C;AAED,wBAAgB,yCAAyC,CACvD,IAAI,EAAE,IAAI,CAAC,8BAA8B,EAAE,KAAK,GAAG,kBAAkB,GAAG,yBAAyB,GAAG,MAAM,CAAC,GAC1G,iCAAiC,CAcnC;AAcD,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,sBAAsB,EACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAkC7B;AA6qBD,wBAAsB,sDAAsD,CAC1E,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,sBAAsB,EACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAgC7B;AA2wCD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWvE;AAED,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,YAAY,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,0BAA0B,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,6BAA6B,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,qBAAqB,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;CAC7D;AAED,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,kCAAkC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,qBAAqB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,cAAc,CAAC;IACtB,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC7C,WAAW,EAAE,wBAAwB,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qCAAqC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1C,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yCAAyC;IACxD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAmDD,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,eAAe,CAAC,CAkGxG;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,eAAe,CAAC,CAerG;AAED,wBAAsB,uBAAuB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAsFnI;AA8BD,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA6D9G;AAED,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAS9G;AAED,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAsEpG;AAED,wBAAsB,gCAAgC,CACpD,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,KAAK,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAM,GAC5F,OAAO,CAAC,iCAAiC,CAAC,CAc5C;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC;IAAE,KAAK,EAAE,qBAAqB,CAAC;IAAC,IAAI,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAqCjE;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC;IAAE,KAAK,EAAE,qBAAqB,CAAC;IAAC,IAAI,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAoCjE;AAED,wBAAsB,mCAAmC,CACvD,OAAO,GAAE,IAAI,CAAC,uBAAuB,EAAE,KAAK,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAM,GAC1G,OAAO,CAAC,oCAAoC,CAAC,CAe/C;AAED,wBAAsB,kCAAkC,CACtD,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAYhC;AAED,wBAAsB,yCAAyC,CAC7D,KAAK,EAAE,qBAAqB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAWrC;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,kCAAkC,GACvC,8BAA8B,CAwHhC;AAED,wBAAgB,uCAAuC,CACrD,IAAI,EAAE,qCAAqC,GAC1C,8BAA8B,CAgHhC;AAED,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,MAAM,EAAE,CAEV;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,cAAc,EAAE,CAElB;AAED,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,qBAAqB,EAC5B,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,GACA,cAAc,EAAE,CAyBlB;AAyFD,wBAAgB,wCAAwC,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAEvF;AAED,wBAAgB,8CAA8C,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAE5F;AAED,wBAAgB,+CAA+C,CAC7D,SAAS,EAAE,kBAAkB,GAC5B,mBAAmB,GAAG,IAAI,CA2B5B;AA4BD,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE;IACJ,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,yCAAyC,CAkC3C;AAED,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,YAAY,EACjB,YAAY,EAAE,YAAY,GAAG,SAAS,GACrC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAEvC;AAED,wBAAgB,gDAAgD,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAM/G;AAED,MAAM,WAAW,+BAA+B;IAC9C,YAAY,EAAE,qBAAqB,CAAC;IACpC,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAClC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,YAAY,EAAE,4BAA4B,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAsB,qCAAqC,CACzD,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC,+BAA+B,CAAC,CA0D1C;AAED,wBAAsB,kCAAkC,CACtD,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC;IACT,GAAG,EAAE,YAAY,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC,CA4FD;AAED,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA6JlH;AA4CD,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAmF1G;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAM,GAC5E,mBAAmB,CAyFrB;AAED,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAajI;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAc/H;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,OAAO,CAAC,CAmE3G;AA6BD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAyB7H;AAWD,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAS1G;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC/B,GAAG,OAAO,CAAC,cAAc,CAAC,CA0B1B;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB5H;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBrI;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAgC9I;AAYD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAY9I;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAU5G;AAED,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiF5G;AAED,wBAAsB,uBAAuB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA8CpH;AAaD,MAAM,WAAW,2CAA2C;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,qBAAqB,CAAC;IAC7B,YAAY,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC/C,cAAc,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,2BAA2B,CAAC,aAAa,CAAC,CAAC;CAC1D;AAED,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,2CAA2C,GACnD,2BAA2B,CA8D7B;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAEnG;AAED,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAQxG;AAED,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAYxG;AA0BD,wBAAsB,yCAAyC,CAC7D,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CA6BtC;AAED,wBAAsB,iCAAiC,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAoBnI;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,2BAA2B,EACrC,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzC,6BAA6B,GAAG,IAAI,CAsDtC;AA0YD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAiBlF;AAiJD,UAAU,uBAAuB;IAC/B,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,uBAA4B,GACpC,IAAI,CAmEN;AA+FD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,CAOvE;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAS1F;AA8cD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAUpF;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAO1F;AAED,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,GAAG,SAAS,CAKrG;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKlG;AA0DD,wBAAgB,gDAAgD,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExF;AAwqDD,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ;AA24CD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,EAAE,qBAAqB,GAC9B,qBAAqB,CAwBvB"}
|
package/dist/index.js
CHANGED
|
@@ -938,7 +938,7 @@ function runtimeControlStepTimeoutMs(execution) {
|
|
|
938
938
|
function runtimeControlStepFailureMessage(args) {
|
|
939
939
|
const descriptor = runtimeControlStepDescriptor(args.operation);
|
|
940
940
|
const prefix = `${args.prefix ?? "Runtime-control step"} ${args.label} (${descriptor})`;
|
|
941
|
-
const errorMessage = args.result.error?.message ?
|
|
941
|
+
const errorMessage = args.result.error?.message ? publicRuntimeErrorSummary(args.result.error.message) : undefined;
|
|
942
942
|
const summarizedError = errorMessage ? runtimeControlKnownFailureSummary(errorMessage) : undefined;
|
|
943
943
|
if (summarizedError) {
|
|
944
944
|
return `${prefix} ${summarizedError}`;
|
|
@@ -951,7 +951,7 @@ function runtimeControlStepFailureMessage(args) {
|
|
|
951
951
|
if (summarizedDetail) {
|
|
952
952
|
return `${prefix} ${summarizedDetail}`;
|
|
953
953
|
}
|
|
954
|
-
const detail =
|
|
954
|
+
const detail = publicRuntimeErrorSummary(rawDetail);
|
|
955
955
|
const status = args.result.status ?? "unknown";
|
|
956
956
|
return detail
|
|
957
957
|
? `${prefix} exited with status ${status}: ${detail}`
|
|
@@ -1557,18 +1557,29 @@ async function executeSkillEvalExecutionInCurrentRuntime(args, execution, starte
|
|
|
1557
1557
|
const exitCode = result.status ?? undefined;
|
|
1558
1558
|
const outputFiles = await readFilesUnder(outputDir, "output").catch(() => []);
|
|
1559
1559
|
const commandSucceeded = result.status === 0 && !result.error;
|
|
1560
|
-
const
|
|
1560
|
+
const publicResult = await readPublicSkillEvalResult({
|
|
1561
|
+
filePath: path.join(outputDir, "result.json"),
|
|
1562
|
+
caseId: typeof execution.metadata.caseId === "string" ? execution.metadata.caseId : "current",
|
|
1563
|
+
durationMs: Math.max(0, Date.now() - startedMs),
|
|
1564
|
+
});
|
|
1565
|
+
const adapterResult = !publicResult && commandSucceeded && await exists(workbenchAdapterOperationResultPath(outputDir))
|
|
1561
1566
|
? await readWorkbenchAdapterOperationResult(outputDir, "engine.run")
|
|
1562
1567
|
: null;
|
|
1563
|
-
const succeeded =
|
|
1564
|
-
|
|
1568
|
+
const succeeded = publicResult
|
|
1569
|
+
? publicResult.passed ?? commandSucceeded
|
|
1570
|
+
: commandSucceeded && adapterResult?.ok !== false;
|
|
1571
|
+
const commandError = result.error
|
|
1565
1572
|
? result.error.message
|
|
1566
1573
|
: result.status !== 0
|
|
1567
1574
|
? (stderr || stdout || `Command exited with status ${result.status ?? "unknown"}`).trim()
|
|
1568
1575
|
: adapterResult?.ok === false
|
|
1569
1576
|
? adapterResult.summary ?? "Command engine returned ok false."
|
|
1570
1577
|
: undefined;
|
|
1571
|
-
const
|
|
1578
|
+
const error = publicResult
|
|
1579
|
+
? !succeeded ? publicResult.error ?? commandError : undefined
|
|
1580
|
+
: commandError;
|
|
1581
|
+
const resultPayload = publicResult?.result ??
|
|
1582
|
+
workbenchResultFromAdapterResult(adapterResult) ??
|
|
1572
1583
|
skillEvalResultPayload({
|
|
1573
1584
|
succeeded,
|
|
1574
1585
|
exitCode,
|
|
@@ -1603,6 +1614,76 @@ async function executeSkillEvalExecutionInCurrentRuntime(args, execution, starte
|
|
|
1603
1614
|
},
|
|
1604
1615
|
};
|
|
1605
1616
|
}
|
|
1617
|
+
async function readPublicSkillEvalResult(args) {
|
|
1618
|
+
if (!await exists(args.filePath)) {
|
|
1619
|
+
return null;
|
|
1620
|
+
}
|
|
1621
|
+
const parsed = await readJson(args.filePath);
|
|
1622
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
1623
|
+
throw new WorkbenchUserError("OUTPUT_DIR/result.json must contain a JSON object.");
|
|
1624
|
+
}
|
|
1625
|
+
const record = parsed;
|
|
1626
|
+
const passed = typeof record.ok === "boolean"
|
|
1627
|
+
? record.ok
|
|
1628
|
+
: typeof record.passed === "boolean"
|
|
1629
|
+
? record.passed
|
|
1630
|
+
: typeof record.pass === "boolean"
|
|
1631
|
+
? record.pass
|
|
1632
|
+
: undefined;
|
|
1633
|
+
const score = typeof record.score === "number"
|
|
1634
|
+
? record.score
|
|
1635
|
+
: passed !== undefined
|
|
1636
|
+
? passed ? 1 : 0
|
|
1637
|
+
: undefined;
|
|
1638
|
+
if (score === undefined || !Number.isFinite(score)) {
|
|
1639
|
+
throw new WorkbenchUserError("OUTPUT_DIR/result.json must include a finite numeric score or boolean ok/passed/pass.");
|
|
1640
|
+
}
|
|
1641
|
+
const metrics = publicSkillEvalResultMetrics(record, score);
|
|
1642
|
+
const message = typeof record.message === "string"
|
|
1643
|
+
? record.message
|
|
1644
|
+
: typeof record.summary === "string"
|
|
1645
|
+
? record.summary
|
|
1646
|
+
: undefined;
|
|
1647
|
+
const caseStatus = passed === false ? "error" : "completed";
|
|
1648
|
+
const result = {
|
|
1649
|
+
score,
|
|
1650
|
+
metrics,
|
|
1651
|
+
cases: [{
|
|
1652
|
+
id: args.caseId,
|
|
1653
|
+
status: caseStatus,
|
|
1654
|
+
durationMs: args.durationMs,
|
|
1655
|
+
metrics,
|
|
1656
|
+
...(passed === false
|
|
1657
|
+
? { feedback: { message: message ?? "Test failed." } }
|
|
1658
|
+
: {}),
|
|
1659
|
+
}],
|
|
1660
|
+
...(typeof record.summary === "string"
|
|
1661
|
+
? { summary: record.summary }
|
|
1662
|
+
: message
|
|
1663
|
+
? { summary: message }
|
|
1664
|
+
: {}),
|
|
1665
|
+
feedback: {
|
|
1666
|
+
result: toJson(record),
|
|
1667
|
+
},
|
|
1668
|
+
};
|
|
1669
|
+
return {
|
|
1670
|
+
result,
|
|
1671
|
+
...(passed !== undefined ? { passed } : {}),
|
|
1672
|
+
...(passed === false ? { error: message ?? "Test failed." } : {}),
|
|
1673
|
+
};
|
|
1674
|
+
}
|
|
1675
|
+
function publicSkillEvalResultMetrics(record, score) {
|
|
1676
|
+
const metrics = { score };
|
|
1677
|
+
const source = record.metrics && typeof record.metrics === "object" && !Array.isArray(record.metrics)
|
|
1678
|
+
? record.metrics
|
|
1679
|
+
: {};
|
|
1680
|
+
for (const [key, value] of Object.entries(source)) {
|
|
1681
|
+
if (typeof value === "number" && Number.isFinite(value)) {
|
|
1682
|
+
metrics[key] = value;
|
|
1683
|
+
}
|
|
1684
|
+
}
|
|
1685
|
+
return metrics;
|
|
1686
|
+
}
|
|
1606
1687
|
function workbenchResultFromAdapterResult(result) {
|
|
1607
1688
|
const value = result?.value;
|
|
1608
1689
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
@@ -1900,7 +1981,7 @@ export async function workbenchStatusSnapshot(options = {}) {
|
|
|
1900
1981
|
...(lastRun ? {
|
|
1901
1982
|
lastRunId: lastRun.id,
|
|
1902
1983
|
lastStatus: lastRun.status,
|
|
1903
|
-
...(lastRun.
|
|
1984
|
+
...(lastRun.score !== undefined ? { lastScore: lastRun.score } : {}),
|
|
1904
1985
|
} : {}),
|
|
1905
1986
|
},
|
|
1906
1987
|
remotes,
|
|
@@ -1909,7 +1990,6 @@ export async function workbenchStatusSnapshot(options = {}) {
|
|
|
1909
1990
|
});
|
|
1910
1991
|
}
|
|
1911
1992
|
async function workbenchStatusUnlocked(root, options = {}) {
|
|
1912
|
-
await autoSyncDefaultRemote(root, options);
|
|
1913
1993
|
const [state, agents, skillSources] = await Promise.all([
|
|
1914
1994
|
loadState(root),
|
|
1915
1995
|
readAgents(root),
|
|
@@ -1917,9 +1997,8 @@ async function workbenchStatusUnlocked(root, options = {}) {
|
|
|
1917
1997
|
]);
|
|
1918
1998
|
const version = await reconcileWorkbenchVersion(root, state, "current source");
|
|
1919
1999
|
await saveState(root, state);
|
|
1920
|
-
await autoSyncDefaultRemote(root, options);
|
|
1921
2000
|
const lastRun = state.runs
|
|
1922
|
-
.filter((run) =>
|
|
2001
|
+
.filter((run) => typeof run.score === "number")
|
|
1923
2002
|
.sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0];
|
|
1924
2003
|
return {
|
|
1925
2004
|
root,
|
|
@@ -2003,11 +2082,9 @@ export async function listWorkbenchVersions(options = {}) {
|
|
|
2003
2082
|
const root = resolveRoot(options.dir);
|
|
2004
2083
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
2005
2084
|
await requireInitialized(root);
|
|
2006
|
-
await autoSyncDefaultRemote(root, options);
|
|
2007
2085
|
const state = await loadState(root);
|
|
2008
2086
|
await reconcileWorkbenchVersion(root, state, "current source");
|
|
2009
2087
|
await saveState(root, state);
|
|
2010
|
-
await autoSyncDefaultRemote(root, options);
|
|
2011
2088
|
return [...state.versions].sort(compareVersionIds);
|
|
2012
2089
|
});
|
|
2013
2090
|
}
|
|
@@ -2015,7 +2092,6 @@ export async function evalWorkbenchSkill(options = {}) {
|
|
|
2015
2092
|
const root = resolveRoot(options.dir);
|
|
2016
2093
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
2017
2094
|
await requireInitialized(root);
|
|
2018
|
-
await autoSyncDefaultRemote(root, options);
|
|
2019
2095
|
const state = await loadState(root);
|
|
2020
2096
|
const version = await resolveOrCreateRunVersion(root, state, options.version);
|
|
2021
2097
|
await saveState(root, state);
|
|
@@ -2080,7 +2156,6 @@ export async function evalWorkbenchSkill(options = {}) {
|
|
|
2080
2156
|
}
|
|
2081
2157
|
}
|
|
2082
2158
|
await saveState(root, state);
|
|
2083
|
-
await autoSyncDefaultRemote(root, options);
|
|
2084
2159
|
return runs;
|
|
2085
2160
|
});
|
|
2086
2161
|
}
|
|
@@ -2090,27 +2165,11 @@ export async function prepareWorkbenchCloudEvalRequest(options = {}) {
|
|
|
2090
2165
|
await requireInitialized(root);
|
|
2091
2166
|
const state = await loadState(root);
|
|
2092
2167
|
const version = await resolveOrCreateRunVersion(root, state);
|
|
2093
|
-
const runtime = await createWorkbenchVersionRuntimeSnapshot(version, {
|
|
2094
|
-
skill: options.skill,
|
|
2095
|
-
agent: options.agent,
|
|
2096
|
-
authToken: options.authToken,
|
|
2097
|
-
});
|
|
2098
|
-
const { skillBundle, agent } = exactHostedRuntimeSelection(runtime, "eval");
|
|
2099
|
-
assertSkillEvalAgentSupported(agent);
|
|
2100
|
-
upsertEvalSnapshotObject(state.evals, runtime.evalSnapshot);
|
|
2101
|
-
upsertAgentSnapshots(state.agents, runtime.agents);
|
|
2102
|
-
for (const bundle of runtime.skillBundles) {
|
|
2103
|
-
upsertByHash(state.skillBundles, bundle);
|
|
2104
|
-
}
|
|
2105
|
-
state.skillSources = runtime.skillSources.map(copySkillSource);
|
|
2106
2168
|
await saveState(root, state);
|
|
2107
2169
|
return {
|
|
2108
2170
|
versionId: version.id,
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
skillBundleHash: skillBundle.hash,
|
|
2112
|
-
agent: agent.name,
|
|
2113
|
-
agentHash: hashJson(agent),
|
|
2171
|
+
...(options.skill !== undefined ? { skill: options.skill } : {}),
|
|
2172
|
+
...(options.agent !== undefined ? { agent: options.agent } : {}),
|
|
2114
2173
|
samples: options.samples ?? 1,
|
|
2115
2174
|
};
|
|
2116
2175
|
});
|
|
@@ -2198,45 +2257,13 @@ export async function prepareWorkbenchCloudImproveRequest(options = {}) {
|
|
|
2198
2257
|
await requireInitialized(root);
|
|
2199
2258
|
const state = await loadState(root);
|
|
2200
2259
|
const base = await resolveOrCreateRunVersion(root, state);
|
|
2201
|
-
const runtime = await createWorkbenchVersionRuntimeSnapshot(base, {
|
|
2202
|
-
skill: options.skill,
|
|
2203
|
-
agent: options.agent,
|
|
2204
|
-
authToken: options.authToken,
|
|
2205
|
-
});
|
|
2206
|
-
const { skillBundle, agent } = exactHostedRuntimeSelection(runtime, "improve");
|
|
2207
|
-
if (skillBundle.skillName !== PRIMARY_SKILL_NAME) {
|
|
2208
|
-
throw new WorkbenchUserError("workbench improve can edit only the primary project skill. Vendor or clone another skill before improving it.");
|
|
2209
|
-
}
|
|
2210
|
-
upsertEvalSnapshotObject(state.evals, runtime.evalSnapshot);
|
|
2211
|
-
upsertAgentSnapshots(state.agents, runtime.agents);
|
|
2212
|
-
for (const bundle of runtime.skillBundles) {
|
|
2213
|
-
upsertByHash(state.skillBundles, bundle);
|
|
2214
|
-
}
|
|
2215
|
-
state.skillSources = runtime.skillSources.map(copySkillSource);
|
|
2216
|
-
const selectedEvidenceTraceIds = options.evidenceTraceIds?.length
|
|
2217
|
-
? new Set(options.evidenceTraceIds)
|
|
2218
|
-
: null;
|
|
2219
|
-
const historicalTraces = workbenchImprovementEvidenceTracesForVersion(state, {
|
|
2220
|
-
versionId: base.id,
|
|
2221
|
-
skillName: skillBundle.skillName,
|
|
2222
|
-
evalHash: runtime.evalSnapshot.hash,
|
|
2223
|
-
...(selectedEvidenceTraceIds ? { traceIds: [...selectedEvidenceTraceIds] } : {}),
|
|
2224
|
-
});
|
|
2225
|
-
const improvementEvidence = improvementEvidenceFromTraces(historicalTraces);
|
|
2226
|
-
if (improvementEvidence.length === 0) {
|
|
2227
|
-
throw new WorkbenchUserError("workbench improve needs failed or reviewed eval evidence for the selected skill on this eval. Run `workbench eval` until a failure is recorded, or edit SKILL.md directly.");
|
|
2228
|
-
}
|
|
2229
2260
|
await saveState(root, state);
|
|
2230
2261
|
return {
|
|
2231
2262
|
versionId: base.id,
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
skillBundleHash: skillBundle.hash,
|
|
2235
|
-
agent: agent.name,
|
|
2236
|
-
agentHash: hashJson(agent),
|
|
2263
|
+
...(options.skill !== undefined ? { skill: options.skill } : {}),
|
|
2264
|
+
...(options.agent !== undefined ? { agent: options.agent } : {}),
|
|
2237
2265
|
samples: options.samples ?? 1,
|
|
2238
2266
|
budget: options.budget ?? 1,
|
|
2239
|
-
evidenceTraceIds: historicalTraces.map((trace) => trace.id),
|
|
2240
2267
|
};
|
|
2241
2268
|
});
|
|
2242
2269
|
}
|
|
@@ -2591,12 +2618,6 @@ function traceEvalHashMatches(state, trace, evalHash) {
|
|
|
2591
2618
|
}
|
|
2592
2619
|
function isImprovementEvidenceTrace(trace) {
|
|
2593
2620
|
const result = asRuntimeRecord(trace.result);
|
|
2594
|
-
const request = asRuntimeRecord(trace.request);
|
|
2595
|
-
const execution = asRuntimeRecord(request.execution);
|
|
2596
|
-
const executionMetadata = asRuntimeRecord(execution.metadata);
|
|
2597
|
-
if (request.smoke === true || executionMetadata.smoke === true) {
|
|
2598
|
-
return false;
|
|
2599
|
-
}
|
|
2600
2621
|
const status = typeof result.status === "string" ? result.status : undefined;
|
|
2601
2622
|
const error = textFromJson(result.error);
|
|
2602
2623
|
const feedback = asRuntimeRecord(result.feedback);
|
|
@@ -2617,7 +2638,7 @@ export function workbenchSkillImproveCanUseQueuedAdapter(agent) {
|
|
|
2617
2638
|
return agentImproveAdapterInvocation(agent) !== null;
|
|
2618
2639
|
}
|
|
2619
2640
|
export function workbenchSkillImproveAdapterRequirementMessage(agent) {
|
|
2620
|
-
return `Agent ${agent.name} cannot run improve because it has no skill-improvement adapter.
|
|
2641
|
+
return `Agent ${agent.name} cannot run improve because it has no skill-improvement adapter. Select an improvement-capable agent, for example workbench improve --agents codex after connecting that agent with workbench login codex.`;
|
|
2621
2642
|
}
|
|
2622
2643
|
export function readWorkbenchSkillImprovementPatchFromRemoteJob(remoteJob) {
|
|
2623
2644
|
const output = asRuntimeRecord(remoteJob.output);
|
|
@@ -2771,30 +2792,6 @@ export async function createWorkbenchVersionRuntimeSnapshot(version, options = {
|
|
|
2771
2792
|
};
|
|
2772
2793
|
});
|
|
2773
2794
|
}
|
|
2774
|
-
function exactHostedRuntimeSelection(runtime, command) {
|
|
2775
|
-
if (runtime.skillBundles.length !== 1 || runtime.selectedAgents.length !== 1) {
|
|
2776
|
-
const configuredSkills = [...new Set(runtime.skillBundles.map((bundle) => bundle.skillName))].sort();
|
|
2777
|
-
const configuredAgents = [...new Set(runtime.selectedAgents.map((agent) => agent.name))].sort();
|
|
2778
|
-
throw new WorkbenchCodedError("usage", [
|
|
2779
|
-
`workbench ${command} --cloud requires exactly one skill and one agent.`,
|
|
2780
|
-
`Configured skills: ${configuredSkills.length > 0 ? configuredSkills.join(", ") : "none"}.`,
|
|
2781
|
-
`Configured agents: ${configuredAgents.length > 0 ? configuredAgents.join(", ") : "none"}.`,
|
|
2782
|
-
].join(" "), {
|
|
2783
|
-
remediation: `Run workbench ${command} --cloud --skills ${configuredSkills[0] ?? PRIMARY_SKILL_NAME} --agents ${configuredAgents[0] ?? "default"}.`,
|
|
2784
|
-
subject: { configuredSkills, configuredAgents },
|
|
2785
|
-
exitCode: 2,
|
|
2786
|
-
});
|
|
2787
|
-
}
|
|
2788
|
-
const skillBundle = runtime.skillBundles[0];
|
|
2789
|
-
const agent = runtime.selectedAgents[0];
|
|
2790
|
-
if (!skillBundle) {
|
|
2791
|
-
throw new WorkbenchUserError(`No skill selected for hosted ${command}.`);
|
|
2792
|
-
}
|
|
2793
|
-
if (!agent) {
|
|
2794
|
-
throw new WorkbenchUserError(`No agent selected for hosted ${command}.`);
|
|
2795
|
-
}
|
|
2796
|
-
return { skillBundle, agent };
|
|
2797
|
-
}
|
|
2798
2795
|
export async function executeQueuedWorkbenchSkillEvalJob(input) {
|
|
2799
2796
|
const tempRoot = await fs.mkdtemp(path.join(os.tmpdir(), "workbench-cloud-queued-eval-"));
|
|
2800
2797
|
try {
|
|
@@ -2869,7 +2866,7 @@ export async function executeQueuedWorkbenchSkillEvalJob(input) {
|
|
|
2869
2866
|
finishedAt,
|
|
2870
2867
|
...(result.job.error ? { error: result.job.error } : {}),
|
|
2871
2868
|
};
|
|
2872
|
-
if (
|
|
2869
|
+
if (result.job.score !== undefined) {
|
|
2873
2870
|
run.score = result.job.score;
|
|
2874
2871
|
}
|
|
2875
2872
|
else {
|
|
@@ -2890,7 +2887,6 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2890
2887
|
const root = resolveRoot(options.dir);
|
|
2891
2888
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
2892
2889
|
await requireInitialized(root);
|
|
2893
|
-
await autoSyncDefaultRemote(root, options);
|
|
2894
2890
|
let state = await loadState(root);
|
|
2895
2891
|
const base = await resolveOrCreateRunVersion(root, state, options.version);
|
|
2896
2892
|
await saveState(root, state);
|
|
@@ -2899,17 +2895,23 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2899
2895
|
agent: options.agent,
|
|
2900
2896
|
authToken: options.authToken,
|
|
2901
2897
|
});
|
|
2902
|
-
const externalImprover = options.improverAgent && !options.agent ? options.improverAgent : undefined;
|
|
2903
2898
|
if (runtime.skillBundles.length !== 1 || runtime.selectedAgents.length !== 1) {
|
|
2904
2899
|
const configuredSkills = [...new Set(runtime.skillBundles.map((bundle) => bundle.skillName))].sort();
|
|
2905
2900
|
const configuredAgents = [...new Set(runtime.selectedAgents.map((agent) => agent.name))].sort();
|
|
2901
|
+
const improvementCapableAgents = runtime.selectedAgents
|
|
2902
|
+
.filter(workbenchSkillImproveCanUseQueuedAdapter)
|
|
2903
|
+
.map((agent) => agent.name)
|
|
2904
|
+
.sort();
|
|
2906
2905
|
throw new WorkbenchCodedError("usage", [
|
|
2907
2906
|
"workbench improve requires exactly one skill and one eval agent.",
|
|
2908
2907
|
`Configured skills: ${configuredSkills.length > 0 ? configuredSkills.join(", ") : "none"}.`,
|
|
2909
2908
|
`Configured agents: ${configuredAgents.length > 0 ? configuredAgents.join(", ") : "none"}.`,
|
|
2909
|
+
...(improvementCapableAgents.length > 0
|
|
2910
|
+
? [`Improvement-capable agents: ${improvementCapableAgents.join(", ")}.`]
|
|
2911
|
+
: []),
|
|
2910
2912
|
].join(" "), {
|
|
2911
|
-
remediation:
|
|
2912
|
-
subject: { configuredSkills, configuredAgents },
|
|
2913
|
+
remediation: improveSelectorRemediation(configuredSkills, improvementCapableAgents),
|
|
2914
|
+
subject: { configuredSkills, configuredAgents, improvementCapableAgents },
|
|
2913
2915
|
exitCode: 2,
|
|
2914
2916
|
});
|
|
2915
2917
|
}
|
|
@@ -2928,9 +2930,8 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2928
2930
|
if (!evalAgent) {
|
|
2929
2931
|
throw new WorkbenchUserError("No eval agent selected for improve.");
|
|
2930
2932
|
}
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
upsertAgentSnapshots(state.agents, [externalImprover]);
|
|
2933
|
+
if (!workbenchSkillImproveCanUseQueuedAdapter(evalAgent)) {
|
|
2934
|
+
throw new WorkbenchUserError(workbenchSkillImproveAdapterRequirementMessage(evalAgent));
|
|
2934
2935
|
}
|
|
2935
2936
|
const selectedEvidenceTraceIds = options.evidenceTraceIds?.length
|
|
2936
2937
|
? new Set(options.evidenceTraceIds)
|
|
@@ -2959,7 +2960,7 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2959
2960
|
const improvement = await createSkillImprovementPatch({
|
|
2960
2961
|
root,
|
|
2961
2962
|
state,
|
|
2962
|
-
agent:
|
|
2963
|
+
agent: evalAgent,
|
|
2963
2964
|
base,
|
|
2964
2965
|
evalHash: evalSnapshot.hash,
|
|
2965
2966
|
environmentDockerfile: runtime.environmentDockerfile,
|
|
@@ -2968,7 +2969,7 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2968
2969
|
});
|
|
2969
2970
|
const applied = applyWorkbenchSkillImprovementPatch(state, {
|
|
2970
2971
|
baseVersionId: base.id,
|
|
2971
|
-
agent:
|
|
2972
|
+
agent: evalAgent,
|
|
2972
2973
|
patch: improvement.patch,
|
|
2973
2974
|
createdAt: now(),
|
|
2974
2975
|
});
|
|
@@ -2987,9 +2988,6 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
2987
2988
|
upsertByHash(state.skillBundles, bundle);
|
|
2988
2989
|
}
|
|
2989
2990
|
upsertAgentSnapshots(state.agents, outputRuntime.agents);
|
|
2990
|
-
if (externalImprover) {
|
|
2991
|
-
upsertAgentSnapshots(state.agents, [externalImprover]);
|
|
2992
|
-
}
|
|
2993
2991
|
const run = await executeWorkbenchEvaluationRun({
|
|
2994
2992
|
root,
|
|
2995
2993
|
state,
|
|
@@ -3021,7 +3019,6 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
3021
3019
|
run.outputVersionId = version.id;
|
|
3022
3020
|
if (run.status !== "succeeded") {
|
|
3023
3021
|
await saveState(root, state);
|
|
3024
|
-
await autoSyncDefaultRemote(root, options);
|
|
3025
3022
|
throw new WorkbenchUserError(improveProofEvalFailureMessage(version, run));
|
|
3026
3023
|
}
|
|
3027
3024
|
const promotion = improvementPromotionDecision(run, incumbentRun);
|
|
@@ -3032,7 +3029,6 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
3032
3029
|
switched = true;
|
|
3033
3030
|
}
|
|
3034
3031
|
await saveState(root, state);
|
|
3035
|
-
await autoSyncDefaultRemote(root, options);
|
|
3036
3032
|
return {
|
|
3037
3033
|
run,
|
|
3038
3034
|
version,
|
|
@@ -3045,6 +3041,14 @@ export async function improveWorkbenchSkill(options = {}) {
|
|
|
3045
3041
|
};
|
|
3046
3042
|
});
|
|
3047
3043
|
}
|
|
3044
|
+
function improveSelectorRemediation(configuredSkills, improvementCapableAgents) {
|
|
3045
|
+
const skill = configuredSkills[0] ?? PRIMARY_SKILL_NAME;
|
|
3046
|
+
const agent = improvementCapableAgents[0];
|
|
3047
|
+
if (agent) {
|
|
3048
|
+
return `Run workbench improve --skills ${skill} --agents ${agent}.`;
|
|
3049
|
+
}
|
|
3050
|
+
return `Select one improvement-capable agent, for example workbench improve --skills ${skill} --agents codex after connecting that agent with workbench login codex.`;
|
|
3051
|
+
}
|
|
3048
3052
|
function improveProofEvalFailureMessage(version, run) {
|
|
3049
3053
|
return [
|
|
3050
3054
|
`Improve proof eval failed for ${version.id} in run ${run.id}.`,
|
|
@@ -3069,7 +3073,6 @@ export async function compareWorkbench(options = {}) {
|
|
|
3069
3073
|
const root = resolveRoot(options.dir);
|
|
3070
3074
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
3071
3075
|
await requireInitialized(root);
|
|
3072
|
-
await autoSyncDefaultRemote(root, options);
|
|
3073
3076
|
const state = await loadState(root);
|
|
3074
3077
|
await reconcileWorkbenchVersion(root, state, "current source");
|
|
3075
3078
|
let versions = resolveVersionSelection(state, options.versions ?? "all");
|
|
@@ -3141,7 +3144,6 @@ export async function compareWorkbench(options = {}) {
|
|
|
3141
3144
|
throw new WorkbenchUserError("No selected versions define the requested compare skills or agents.");
|
|
3142
3145
|
}
|
|
3143
3146
|
await saveState(root, state);
|
|
3144
|
-
await autoSyncDefaultRemote(root, options);
|
|
3145
3147
|
const [onlyEvalHash] = [...evalHashes];
|
|
3146
3148
|
return {
|
|
3147
3149
|
...(evalHashes.size === 1 && onlyEvalHash ? { evalHash: onlyEvalHash } : {}),
|
|
@@ -3228,7 +3230,6 @@ export async function switchWorkbenchVersion(versionRef, options = {}) {
|
|
|
3228
3230
|
const root = resolveRoot(options.dir);
|
|
3229
3231
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
3230
3232
|
await requireInitialized(root);
|
|
3231
|
-
await autoSyncDefaultRemote(root, options);
|
|
3232
3233
|
const state = await loadState(root);
|
|
3233
3234
|
await reconcileWorkbenchVersion(root, state, "current source");
|
|
3234
3235
|
const version = resolveVersion(state, versionRef);
|
|
@@ -3236,7 +3237,6 @@ export async function switchWorkbenchVersion(versionRef, options = {}) {
|
|
|
3236
3237
|
state.remotes = await readWorkbenchRemotesFile(root);
|
|
3237
3238
|
state.refs.current = version.id;
|
|
3238
3239
|
await saveState(root, state);
|
|
3239
|
-
await autoSyncDefaultRemote(root, options);
|
|
3240
3240
|
return version;
|
|
3241
3241
|
});
|
|
3242
3242
|
}
|
|
@@ -3244,11 +3244,9 @@ export async function diffWorkbenchVersions(range, options = {}) {
|
|
|
3244
3244
|
const root = resolveRoot(options.dir);
|
|
3245
3245
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
3246
3246
|
await requireInitialized(root);
|
|
3247
|
-
await autoSyncDefaultRemote(root, options);
|
|
3248
3247
|
const state = await loadState(root);
|
|
3249
3248
|
await reconcileWorkbenchVersion(root, state, "current source");
|
|
3250
3249
|
await saveState(root, state);
|
|
3251
|
-
await autoSyncDefaultRemote(root, options);
|
|
3252
3250
|
const [leftRef, rightRef] = range.includes("..")
|
|
3253
3251
|
? range.split("..", 2)
|
|
3254
3252
|
: [state.refs.current ?? "current", range];
|
|
@@ -3261,11 +3259,9 @@ export async function showWorkbenchRef(ref, options = {}) {
|
|
|
3261
3259
|
const root = resolveRoot(options.dir);
|
|
3262
3260
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
3263
3261
|
await requireInitialized(root);
|
|
3264
|
-
await autoSyncDefaultRemote(root, options);
|
|
3265
3262
|
const state = await loadState(root);
|
|
3266
3263
|
await reconcileWorkbenchVersion(root, state, "current source");
|
|
3267
3264
|
await saveState(root, state);
|
|
3268
|
-
await autoSyncDefaultRemote(root, options);
|
|
3269
3265
|
const [objectRef, filePath] = splitObjectPath(ref);
|
|
3270
3266
|
const version = findVersion(state, objectRef);
|
|
3271
3267
|
if (version) {
|
|
@@ -3352,11 +3348,9 @@ export async function filesForWorkbenchRef(ref, options = {}) {
|
|
|
3352
3348
|
const root = resolveRoot(options.dir);
|
|
3353
3349
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
3354
3350
|
await requireInitialized(root);
|
|
3355
|
-
await autoSyncDefaultRemote(root, options);
|
|
3356
3351
|
const state = await loadState(root);
|
|
3357
3352
|
await reconcileWorkbenchVersion(root, state, "current source");
|
|
3358
3353
|
await saveState(root, state);
|
|
3359
|
-
await autoSyncDefaultRemote(root, options);
|
|
3360
3354
|
const version = findVersion(state, ref);
|
|
3361
3355
|
if (version) {
|
|
3362
3356
|
return version.files.map(copyFile);
|
|
@@ -3388,11 +3382,9 @@ export async function listWorkbenchAgents(options = {}) {
|
|
|
3388
3382
|
const root = resolveRoot(options.dir);
|
|
3389
3383
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
3390
3384
|
await requireInitialized(root);
|
|
3391
|
-
await autoSyncDefaultRemote(root, options);
|
|
3392
3385
|
const state = await loadState(root);
|
|
3393
3386
|
await reconcileWorkbenchVersion(root, state, "current source");
|
|
3394
3387
|
await saveState(root, state);
|
|
3395
|
-
await autoSyncDefaultRemote(root, options);
|
|
3396
3388
|
return readAgents(root);
|
|
3397
3389
|
});
|
|
3398
3390
|
}
|
|
@@ -3400,7 +3392,6 @@ export async function addWorkbenchAgent(input) {
|
|
|
3400
3392
|
const root = resolveRoot(input.dir);
|
|
3401
3393
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
3402
3394
|
await requireInitialized(root);
|
|
3403
|
-
await autoSyncDefaultRemote(root, input);
|
|
3404
3395
|
const agents = await readAgents(root);
|
|
3405
3396
|
const agentName = normalizeManifestEntryName(input.name, path.join(".workbench", AGENTS_FILE), "agent");
|
|
3406
3397
|
const adapter = input.adapter.trim();
|
|
@@ -3421,7 +3412,6 @@ export async function addWorkbenchAgent(input) {
|
|
|
3421
3412
|
upsertAgentSnapshots(state.agents, next);
|
|
3422
3413
|
await reconcileWorkbenchVersion(root, state, "agent source");
|
|
3423
3414
|
await saveState(root, state);
|
|
3424
|
-
await autoSyncDefaultRemote(root, input);
|
|
3425
3415
|
return agent;
|
|
3426
3416
|
});
|
|
3427
3417
|
}
|
|
@@ -3429,7 +3419,6 @@ export async function removeWorkbenchAgent(name, options = {}) {
|
|
|
3429
3419
|
const root = resolveRoot(options.dir);
|
|
3430
3420
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
3431
3421
|
await requireInitialized(root);
|
|
3432
|
-
await autoSyncDefaultRemote(root, options);
|
|
3433
3422
|
const agents = await readAgents(root);
|
|
3434
3423
|
const agentName = name.trim();
|
|
3435
3424
|
const next = agents.filter((entry) => entry.name !== agentName);
|
|
@@ -3448,7 +3437,6 @@ export async function removeWorkbenchAgent(name, options = {}) {
|
|
|
3448
3437
|
upsertAgentSnapshots(state.agents, next);
|
|
3449
3438
|
await reconcileWorkbenchVersion(root, state, "agent source");
|
|
3450
3439
|
await saveState(root, state);
|
|
3451
|
-
await autoSyncDefaultRemote(root, options);
|
|
3452
3440
|
return { removed: agentName };
|
|
3453
3441
|
});
|
|
3454
3442
|
}
|
|
@@ -3456,7 +3444,6 @@ export async function setDefaultWorkbenchAgent(name, options = {}) {
|
|
|
3456
3444
|
const root = resolveRoot(options.dir);
|
|
3457
3445
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
3458
3446
|
await requireInitialized(root);
|
|
3459
|
-
await autoSyncDefaultRemote(root, options);
|
|
3460
3447
|
const agents = await readAgents(root);
|
|
3461
3448
|
const selection = name.trim();
|
|
3462
3449
|
if (!selection) {
|
|
@@ -3470,7 +3457,6 @@ export async function setDefaultWorkbenchAgent(name, options = {}) {
|
|
|
3470
3457
|
upsertAgentSnapshots(state.agents, agents);
|
|
3471
3458
|
await reconcileWorkbenchVersion(root, state, "agent source");
|
|
3472
3459
|
await saveState(root, state);
|
|
3473
|
-
await autoSyncDefaultRemote(root, options);
|
|
3474
3460
|
return { defaultAgent: selection };
|
|
3475
3461
|
});
|
|
3476
3462
|
}
|
|
@@ -3504,7 +3490,6 @@ export async function addWorkbenchRemote(name, url, options = {}) {
|
|
|
3504
3490
|
}
|
|
3505
3491
|
state.remotes[remoteName] = remote;
|
|
3506
3492
|
await saveState(root, state);
|
|
3507
|
-
await autoSyncDefaultRemote(root, options);
|
|
3508
3493
|
return { remote, operation };
|
|
3509
3494
|
});
|
|
3510
3495
|
}
|
|
@@ -3534,11 +3519,9 @@ export async function listWorkbenchRemotes(options = {}) {
|
|
|
3534
3519
|
const root = resolveRoot(options.dir);
|
|
3535
3520
|
return withWorkbenchProjectLockIfInitialized(root, async () => {
|
|
3536
3521
|
await requireInitialized(root);
|
|
3537
|
-
await autoSyncDefaultRemote(root, options);
|
|
3538
3522
|
const state = await loadState(root);
|
|
3539
3523
|
await reconcileWorkbenchVersion(root, state, "current source");
|
|
3540
3524
|
await saveState(root, state);
|
|
3541
|
-
await autoSyncDefaultRemote(root, options);
|
|
3542
3525
|
const syncedState = await loadState(root);
|
|
3543
3526
|
return Object.values(syncedState.remotes).sort((left, right) => left.name.localeCompare(right.name));
|
|
3544
3527
|
});
|
|
@@ -3679,13 +3662,6 @@ function assertPublishableRemote(remote) {
|
|
|
3679
3662
|
exitCode: 1,
|
|
3680
3663
|
});
|
|
3681
3664
|
}
|
|
3682
|
-
async function autoSyncDefaultRemote(root, options = {}) {
|
|
3683
|
-
const state = await loadState(root);
|
|
3684
|
-
if (Object.keys(state.remotes).length === 0) {
|
|
3685
|
-
return;
|
|
3686
|
-
}
|
|
3687
|
-
await syncWorkbenchRemote({ dir: root, authToken: options.authToken }).catch(() => undefined);
|
|
3688
|
-
}
|
|
3689
3665
|
export function createWorkbenchInspectionSnapshotFromState(options) {
|
|
3690
3666
|
const state = options.state;
|
|
3691
3667
|
const root = options.root ?? state.root;
|
|
@@ -3708,7 +3684,7 @@ export function createWorkbenchInspectionSnapshotFromState(options) {
|
|
|
3708
3684
|
.map((remote) => ({ ...remote }))
|
|
3709
3685
|
.sort((left, right) => left.name.localeCompare(right.name));
|
|
3710
3686
|
const lastRun = state.runs
|
|
3711
|
-
.filter((run) =>
|
|
3687
|
+
.filter((run) => typeof run.score === "number")
|
|
3712
3688
|
.sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0];
|
|
3713
3689
|
const status = {
|
|
3714
3690
|
root,
|
|
@@ -4741,9 +4717,7 @@ async function executeWorkbenchEvaluationRun(args) {
|
|
|
4741
4717
|
run.finishedAt = finishedAt;
|
|
4742
4718
|
run.status = jobs.every((job) => job.status === "succeeded") ? "succeeded" : "failed";
|
|
4743
4719
|
delete run.score;
|
|
4744
|
-
const scoredJobs =
|
|
4745
|
-
? jobs.filter((job) => job.status === "succeeded" && typeof job.score === "number")
|
|
4746
|
-
: [];
|
|
4720
|
+
const scoredJobs = jobs.filter((job) => typeof job.score === "number");
|
|
4747
4721
|
if (scoredJobs.length > 0) {
|
|
4748
4722
|
run.score = Number((scoredJobs.reduce((sum, job) => sum + (job.score ?? 0), 0) / scoredJobs.length).toFixed(3));
|
|
4749
4723
|
}
|
|
@@ -4827,12 +4801,15 @@ function skillEvalObjectsFromRemoteJob(args) {
|
|
|
4827
4801
|
const output = asRuntimeRecord(args.remoteJob.output);
|
|
4828
4802
|
const status = args.remoteJob.status === "succeeded" ? "succeeded" :
|
|
4829
4803
|
args.remoteJob.status === "cancelled" ? "canceled" : "failed";
|
|
4830
|
-
const
|
|
4831
|
-
|
|
4832
|
-
|
|
4804
|
+
const outputScore = readWorkbenchSkillRunOutputScore(output);
|
|
4805
|
+
const score = outputScore !== undefined
|
|
4806
|
+
? outputScore
|
|
4807
|
+
: status === "succeeded"
|
|
4808
|
+
? 0
|
|
4809
|
+
: undefined;
|
|
4833
4810
|
const usage = readWorkbenchSkillRunOutputUsage(output);
|
|
4834
4811
|
const outputResult = jsonRecord(output.result);
|
|
4835
|
-
if (
|
|
4812
|
+
if (status !== "succeeded" && score === undefined) {
|
|
4836
4813
|
stripResultScores(outputResult);
|
|
4837
4814
|
}
|
|
4838
4815
|
const resultPayload = {
|
|
@@ -4843,7 +4820,7 @@ function skillEvalObjectsFromRemoteJob(args) {
|
|
|
4843
4820
|
...(score !== undefined ? { score } : {}),
|
|
4844
4821
|
...(args.remoteJob.error ? { error: args.remoteJob.error } : {}),
|
|
4845
4822
|
};
|
|
4846
|
-
if (
|
|
4823
|
+
if (status !== "succeeded" && score === undefined) {
|
|
4847
4824
|
stripResultScores(resultPayload);
|
|
4848
4825
|
}
|
|
4849
4826
|
const files = Array.isArray(output.files)
|
|
@@ -4903,7 +4880,7 @@ function skillEvalObjectsFromRemoteJob(args) {
|
|
|
4903
4880
|
caseId: args.runtimeCase.id,
|
|
4904
4881
|
sample: args.sample,
|
|
4905
4882
|
status,
|
|
4906
|
-
...(
|
|
4883
|
+
...(score !== undefined ? { score } : {}),
|
|
4907
4884
|
command: configString(asRuntimeRecord(asRuntimeRecord(jsonRecord(args.remoteJob.input).execution).adapter).with, "command"),
|
|
4908
4885
|
artifactIds: [artifact.id],
|
|
4909
4886
|
traceIds: [trace.id],
|
|
@@ -5414,7 +5391,7 @@ async function executeAdapterBackedSkillImprovementPatch(args) {
|
|
|
5414
5391
|
loadLocalAdapterAuthProfiles: isProviderBackedSkillEvalAgent(args.agent),
|
|
5415
5392
|
});
|
|
5416
5393
|
if (completed.status !== "succeeded") {
|
|
5417
|
-
throw new WorkbenchUserError(`Improve adapter failed: ${completed.error
|
|
5394
|
+
throw new WorkbenchUserError(`Improve adapter failed: ${completed.error ? publicRuntimeErrorSummary(completed.error) : "no patch produced"}`);
|
|
5418
5395
|
}
|
|
5419
5396
|
const patch = readWorkbenchSkillImprovementPatchFromRemoteJob(completed);
|
|
5420
5397
|
if (!patch || patch.fileChanges.length === 0) {
|
|
@@ -5551,6 +5528,20 @@ function traceFileSnippet(trace, filePath) {
|
|
|
5551
5528
|
function singleLine(value) {
|
|
5552
5529
|
return value.replace(/\s+/gu, " ").trim();
|
|
5553
5530
|
}
|
|
5531
|
+
function publicRuntimeErrorSummary(value) {
|
|
5532
|
+
const lines = value
|
|
5533
|
+
.split(/\r?\n/u)
|
|
5534
|
+
.map((line) => line.trim())
|
|
5535
|
+
.filter(Boolean);
|
|
5536
|
+
const errorLine = lines.find((line) => /^[A-Za-z_$][\w.$]*Error:/u.test(line));
|
|
5537
|
+
if (errorLine) {
|
|
5538
|
+
return singleLine(errorLine);
|
|
5539
|
+
}
|
|
5540
|
+
const nonStackLine = lines.find((line) => !/^at\s/u.test(line) &&
|
|
5541
|
+
!/^\(?node:/u.test(line) &&
|
|
5542
|
+
!/:\d+:\d+\)?$/u.test(line));
|
|
5543
|
+
return singleLine(nonStackLine ?? value);
|
|
5544
|
+
}
|
|
5554
5545
|
function truncateText(value, maxLength) {
|
|
5555
5546
|
return value.length > maxLength ? `${value.slice(0, Math.max(0, maxLength - 3))}...` : value;
|
|
5556
5547
|
}
|
|
@@ -6961,7 +6952,7 @@ async function writeObjectPackFiles(root, pack) {
|
|
|
6961
6952
|
}
|
|
6962
6953
|
await writeJsonl(path.join(root, "indexes", "versions.jsonl"), pack.versions);
|
|
6963
6954
|
await writeJsonl(path.join(root, "indexes", "lineage.jsonl"), pack.lineage);
|
|
6964
|
-
await writeJsonl(path.join(root, "indexes", "measurements.jsonl"), pack.runs.filter((run) => run.
|
|
6955
|
+
await writeJsonl(path.join(root, "indexes", "measurements.jsonl"), pack.runs.filter((run) => run.score !== undefined));
|
|
6965
6956
|
await writeJsonl(path.join(root, "indexes", "runs.jsonl"), pack.runs);
|
|
6966
6957
|
await writeJsonl(path.join(root, "indexes", "jobs.jsonl"), pack.jobs);
|
|
6967
6958
|
await writeJsonl(path.join(root, "indexes", "execution-events.jsonl"), pack.executionEvents);
|
|
@@ -7327,7 +7318,7 @@ function comparisonCellRunFields(run, jobs) {
|
|
|
7327
7318
|
return {
|
|
7328
7319
|
runId: run.id,
|
|
7329
7320
|
status: run.status,
|
|
7330
|
-
...(run.
|
|
7321
|
+
...(run.score !== undefined ? { score: run.score } : {}),
|
|
7331
7322
|
...(run.costUsd !== undefined ? { costUsd: run.costUsd } : {}),
|
|
7332
7323
|
...(run.latencyMs !== undefined ? { latencyMs: run.latencyMs } : {}),
|
|
7333
7324
|
...(run.error ? { error: run.error } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/sandbox-backends/docker.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,8BAA8B,EAC/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,yBAAyB,EAE9B,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AA8C7B,wBAAgB,oCAAoC,IACjD,wBAAwB,CAY1B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,yBAAyB,GACnC,YAAY,
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/sandbox-backends/docker.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,8BAA8B,EAC/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,yBAAyB,EAE9B,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AA8C7B,wBAAgB,oCAAoC,IACjD,wBAAwB,CAY1B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,yBAAyB,GACnC,YAAY,CAoDd"}
|
|
@@ -40,6 +40,7 @@ export function createDockerSandboxPlane(args, startedAt, fileStore) {
|
|
|
40
40
|
importNodeModule(nodeBuiltin("util")),
|
|
41
41
|
]);
|
|
42
42
|
const execFileAsync = promisify(execFile);
|
|
43
|
+
await assertDockerSandboxAvailable(execFileAsync);
|
|
43
44
|
const templateImage = await prepareDockerTemplateImage(execution, args, execFileAsync);
|
|
44
45
|
await ensureDockerExecutionImage(templateImage, execFileAsync);
|
|
45
46
|
return {
|
|
@@ -136,6 +137,7 @@ async function prepareDockerSandboxWorkspace(args, request, startedAt) {
|
|
|
136
137
|
importNodeModule(nodeBuiltin("util")),
|
|
137
138
|
]);
|
|
138
139
|
const execFileAsync = promisify(execFile);
|
|
140
|
+
await assertDockerSandboxAvailable(execFileAsync);
|
|
139
141
|
const sandboxUser = dockerSandboxUser();
|
|
140
142
|
const workdir = args.workdir ?? os.tmpdir();
|
|
141
143
|
const sandboxRoot = path.join(workdir, "workbench-docker", request.allocation.sandboxId);
|
|
@@ -171,6 +173,39 @@ async function prepareDockerSandboxWorkspace(args, request, startedAt) {
|
|
|
171
173
|
...(args.progress ? { progressTarget: args.progress } : {}),
|
|
172
174
|
};
|
|
173
175
|
}
|
|
176
|
+
async function assertDockerSandboxAvailable(execFileAsync) {
|
|
177
|
+
try {
|
|
178
|
+
await execFileAsync("docker", ["info", "--format", "{{json .ServerVersion}}"], { maxBuffer: 1024 * 1024 });
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
throw new Error(`Docker sandbox unavailable: Docker must be installed and running before Workbench can execute this eval. ${dockerUnavailableDetail(error)}`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
function dockerUnavailableDetail(error) {
|
|
185
|
+
const record = error && typeof error === "object" ? error : {};
|
|
186
|
+
const code = typeof record.code === "string" ? record.code : "";
|
|
187
|
+
if (code === "ENOENT") {
|
|
188
|
+
return "The docker CLI was not found on PATH.";
|
|
189
|
+
}
|
|
190
|
+
const stderr = bufferLikeToString(record.stderr).trim();
|
|
191
|
+
if (stderr) {
|
|
192
|
+
return stderr.split(/\r?\n/u)[0] ?? stderr;
|
|
193
|
+
}
|
|
194
|
+
const stdout = bufferLikeToString(record.stdout).trim();
|
|
195
|
+
if (stdout) {
|
|
196
|
+
return stdout.split(/\r?\n/u)[0] ?? stdout;
|
|
197
|
+
}
|
|
198
|
+
return error instanceof Error ? error.message : String(error);
|
|
199
|
+
}
|
|
200
|
+
function bufferLikeToString(value) {
|
|
201
|
+
if (typeof value === "string") {
|
|
202
|
+
return value;
|
|
203
|
+
}
|
|
204
|
+
if (Buffer.isBuffer(value)) {
|
|
205
|
+
return value.toString("utf8");
|
|
206
|
+
}
|
|
207
|
+
return "";
|
|
208
|
+
}
|
|
174
209
|
async function runDockerSandboxExecution(args, sandbox, execution) {
|
|
175
210
|
const metadata = asRuntimeRecord(sandbox.metadata);
|
|
176
211
|
const root = readRequiredMetadataString(metadata, "root", DOCKER_SANDBOX_BACKEND);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workbench-ai/workbench-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.75",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/workbench-ai/workbench.git",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"yaml": "^2.8.2",
|
|
25
|
-
"@workbench-ai/workbench-contract": "0.0.
|
|
26
|
-
"@workbench-ai/workbench-protocol": "0.0.
|
|
25
|
+
"@workbench-ai/workbench-contract": "0.0.75",
|
|
26
|
+
"@workbench-ai/workbench-protocol": "0.0.75"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "^24.3.1",
|