@inhuman.tools/env-capability-module-prompt 0.1.0 → 0.3.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/dist/bundle.d.ts +1 -1
- package/dist/bundle.d.ts.map +1 -1
- package/dist/run-isolated.d.ts +1 -1
- package/dist/run-isolated.d.ts.map +1 -1
- package/dist/run-isolated.js +1 -1
- package/dist/run-isolated.js.map +1 -1
- package/dist/run-program.d.ts +2 -2
- package/dist/run-program.d.ts.map +1 -1
- package/dist/run-program.js +8 -10
- package/dist/run-program.js.map +1 -1
- package/package.json +11 -11
- package/src/bundle.ts +1 -1
- package/src/dotprompt.ts +1 -1
- package/src/run-isolated.ts +6 -1
- package/src/run-program.ts +21 -19
- package/dist/capability.d.ts +0 -31
- package/dist/capability.d.ts.map +0 -1
- package/dist/capability.js +0 -262
- package/dist/capability.js.map +0 -1
- package/dist/parse.d.ts +0 -30
- package/dist/parse.d.ts.map +0 -1
- package/dist/parse.js +0 -24
- package/dist/parse.js.map +0 -1
package/dist/bundle.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* A ProgrammaticJob parents an omitted-spec AgentCallJob instead of calling the port.
|
|
4
4
|
*/
|
|
5
5
|
import type { ReasoningEffort } from "@inhuman.tools/env-capability-dotprompt";
|
|
6
|
-
import type { CompletionExpectation, PromptMessageRole } from "@inhuman.tools/harness-model";
|
|
6
|
+
import type { CompletionExpectation, PromptMessageRole } from "@inhuman.tools/harness-model/session";
|
|
7
7
|
/** Session/research intern port. Homed `round` is mutated in place. `responseSchemaJson` is the serialized schema, matching CompleteFields. */
|
|
8
8
|
export type PromptCompleteRequest = {
|
|
9
9
|
readonly connectionId: string;
|
package/dist/bundle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAErG,+IAA+I;AAC/I,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,qBAAqB,KACvB,OAAO,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElG,qBAAa,cAAc;aAEP,KAAK,EAAE,MAAM,GAAG,IAAI;aACpB,eAAe,EAAE,eAAe,GAAG,IAAI;aACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;aAC9C,QAAQ,EAAE,MAAM;IAChC,oFAAoF;aACpE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;aAC/B,QAAQ,EAAE,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE;gBANhD,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,eAAe,EAAE,eAAe,GAAG,IAAI,EACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC9C,QAAQ,EAAE,MAAM;IAChC,oFAAoF;IACpE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EAC/B,QAAQ,EAAE,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE;CAEnE"}
|
package/dist/run-isolated.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { EnvCapability } from "@here.build/arrival";
|
|
|
6
6
|
import { Job } from "@inhuman.tools/plexus-expectations";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
export declare const promptIsolatedCapability: EnvCapability<{
|
|
9
|
-
job: z.
|
|
9
|
+
job: z.ZodInstanceOf<Job<unknown, unknown>>;
|
|
10
10
|
connectionId: z.ZodString;
|
|
11
11
|
model: z.ZodOptional<z.ZodString>;
|
|
12
12
|
/** Session/judge model. `model` is reserved by some exec hosts. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-isolated.d.ts","sourceRoot":"","sources":["../src/run-isolated.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-isolated.d.ts","sourceRoot":"","sources":["../src/run-isolated.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpD,OAAO,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;AAEzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,wBAAwB;;;;IAUjC,mEAAmE;;yBAqCrE,CAAC"}
|
package/dist/run-isolated.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { EnvCapability } from "@here.build/arrival";
|
|
6
6
|
import { arrivalLoaderCapability } from "@here.build/arrival-modules";
|
|
7
7
|
import { dotpromptCapability, ParsedPrompt } from "@inhuman.tools/env-capability-dotprompt";
|
|
8
|
-
import { CompletionExpectation, CompletionJob, ProgrammaticJob, PromptMessage } from "@inhuman.tools/harness-model";
|
|
8
|
+
import { CompletionExpectation, CompletionJob, ProgrammaticJob, PromptMessage, } from "@inhuman.tools/harness-model/session";
|
|
9
9
|
import { Job } from "@inhuman.tools/plexus-expectations";
|
|
10
10
|
import invariant from "tiny-invariant";
|
|
11
11
|
import { z } from "zod";
|
package/dist/run-isolated.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-isolated.js","sourceRoot":"","sources":["../src/run-isolated.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,
|
|
1
|
+
{"version":3,"file":"run-isolated.js","sourceRoot":"","sources":["../src/run-isolated.ts"],"names":[],"mappings":"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"}
|
package/dist/run-program.d.ts
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* AgentCallJob on the ProgrammaticJob and waits for the worker.
|
|
4
4
|
*/
|
|
5
5
|
import { EnvCapability } from "@here.build/arrival";
|
|
6
|
-
import { ProgrammaticJob } from "@inhuman.tools/harness-model";
|
|
6
|
+
import { ProgrammaticJob } from "@inhuman.tools/harness-model/session";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
export declare const promptProgramCapability: EnvCapability<{
|
|
9
|
-
job: z.
|
|
9
|
+
job: z.ZodInstanceOf<ProgrammaticJob>;
|
|
10
10
|
readonly: z.ZodDefault<z.ZodBoolean>;
|
|
11
11
|
}, Record<string, never>>;
|
|
12
12
|
//# sourceMappingURL=run-program.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-program.d.ts","sourceRoot":"","sources":["../src/run-program.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAML,eAAe,EAGhB,MAAM,
|
|
1
|
+
{"version":3,"file":"run-program.d.ts","sourceRoot":"","sources":["../src/run-program.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAML,eAAe,EAGhB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,uBAAuB;;;yBAuDlC,CAAC"}
|
package/dist/run-program.js
CHANGED
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
import { EnvCapability } from "@here.build/arrival";
|
|
6
6
|
import { arrivalLoaderCapability } from "@here.build/arrival-modules";
|
|
7
7
|
import { dotpromptCapability, ParsedPrompt } from "@inhuman.tools/env-capability-dotprompt";
|
|
8
|
-
import { AgentCallJob, claimCrossing, crossingPending, crossingWindow, isReplaying, ProgrammaticJob, PromptMessage, takeCrossing, } from "@inhuman.tools/harness-model";
|
|
9
|
-
import {
|
|
8
|
+
import { AgentCallJob, claimCrossing, crossingPending, crossingWindow, isReplaying, ProgrammaticJob, PromptMessage, takeCrossing, } from "@inhuman.tools/harness-model/session";
|
|
9
|
+
import { when } from "mobx";
|
|
10
10
|
import { z } from "zod";
|
|
11
11
|
import { promptPrelude, renderPrompt } from "./dotprompt.js";
|
|
12
|
+
import invariant from "tiny-invariant";
|
|
12
13
|
const AGENT_ASK = "agent__ask";
|
|
13
14
|
export const promptProgramCapability = EnvCapability.define("ext/prompt/program", {
|
|
14
15
|
deps: [dotpromptCapability, arrivalLoaderCapability],
|
|
@@ -23,7 +24,6 @@ export const promptProgramCapability = EnvCapability.define("ext/prompt/program"
|
|
|
23
24
|
provenance: "source",
|
|
24
25
|
requiresConfig: ["job"],
|
|
25
26
|
}, async function (spec, args) {
|
|
26
|
-
const bundle = renderPrompt(spec, args);
|
|
27
27
|
const job = this.configuration.job;
|
|
28
28
|
const emission = this.runCtx.emission;
|
|
29
29
|
const path = job.trackMatch && emission != null ? claimCrossing(emission, crossingWindow(this)) : "";
|
|
@@ -40,13 +40,13 @@ export const promptProgramCapability = EnvCapability.define("ext/prompt/program"
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
existing = takeCrossing(job, emission, path);
|
|
43
|
-
|
|
44
|
-
throw new Error("replay: no recorded dotprompt/run");
|
|
43
|
+
invariant(existing != null, "replay: no recorded dotprompt/run");
|
|
45
44
|
}
|
|
46
45
|
if (existing != null)
|
|
47
46
|
return await existing;
|
|
48
47
|
}
|
|
49
|
-
const
|
|
48
|
+
const bundle = renderPrompt(spec, args);
|
|
49
|
+
return await job.registerJob(new AgentCallJob({
|
|
50
50
|
toolCallId: `${job.toolCallId}:prompt:${job.children.length + 1}`,
|
|
51
51
|
name: AGENT_ASK,
|
|
52
52
|
argsJson: "{}",
|
|
@@ -58,10 +58,8 @@ export const promptProgramCapability = EnvCapability.define("ext/prompt/program"
|
|
|
58
58
|
tools: bundle.tools ?? [],
|
|
59
59
|
inheritCallerTools: bundle.tools === null,
|
|
60
60
|
reasoningEffort: bundle.reasoningEffort,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
runInAction(() => (minted.track = path));
|
|
64
|
-
return await job.registerJob(minted);
|
|
61
|
+
track: path !== "" ? path : undefined,
|
|
62
|
+
}));
|
|
65
63
|
}),
|
|
66
64
|
}),
|
|
67
65
|
prelude: promptPrelude,
|
package/dist/run-program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-program.js","sourceRoot":"","sources":["../src/run-program.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EACL,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,
|
|
1
|
+
{"version":3,"file":"run-program.js","sourceRoot":"","sources":["../src/run-program.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inhuman.tools/env-capability-module-prompt",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Arrival ext/prompt: (require \"x.prompt\") pretreats to a scheme lambda; a ProgrammaticJob parents an omitted-spec agent ask.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,21 +20,21 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@here.build/arrival": "^0.10.2",
|
|
22
22
|
"@here.build/arrival-modules": "^0.10.0",
|
|
23
|
-
"handlebars": "^4.7.
|
|
23
|
+
"handlebars": "^4.7.10",
|
|
24
24
|
"tiny-invariant": "^1.3.3",
|
|
25
|
-
"zod": "^4.
|
|
26
|
-
"@inhuman.tools/env-capability-dotprompt": "^0.
|
|
27
|
-
"@inhuman.tools/
|
|
28
|
-
"@inhuman.tools/harness-
|
|
29
|
-
"@inhuman.tools/
|
|
25
|
+
"zod": "^4.6.7",
|
|
26
|
+
"@inhuman.tools/env-capability-dotprompt": "^0.2.0",
|
|
27
|
+
"@inhuman.tools/harness-commons": "^0.3.0",
|
|
28
|
+
"@inhuman.tools/harness-model": "^0.3.0",
|
|
29
|
+
"@inhuman.tools/plexus-expectations": "^0.3.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@types/node": "^24.
|
|
32
|
+
"@types/node": "^24.19.2",
|
|
33
33
|
"dedent": "1.7.2",
|
|
34
|
-
"eslint": "
|
|
34
|
+
"eslint": "10.13.0",
|
|
35
35
|
"mobx": "6.16.1",
|
|
36
|
-
"typescript": "6.0.
|
|
37
|
-
"vitest": "
|
|
36
|
+
"typescript": "6.0.3",
|
|
37
|
+
"vitest": "5.0.5",
|
|
38
38
|
"@-internal-/eslint-configs": "0.0.0"
|
|
39
39
|
},
|
|
40
40
|
"license": "MIT",
|
package/src/bundle.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* A ProgrammaticJob parents an omitted-spec AgentCallJob instead of calling the port.
|
|
4
4
|
*/
|
|
5
5
|
import type { ReasoningEffort } from "@inhuman.tools/env-capability-dotprompt";
|
|
6
|
-
import type { CompletionExpectation, PromptMessageRole } from "@inhuman.tools/harness-model";
|
|
6
|
+
import type { CompletionExpectation, PromptMessageRole } from "@inhuman.tools/harness-model/session";
|
|
7
7
|
|
|
8
8
|
/** Session/research intern port. Homed `round` is mutated in place. `responseSchemaJson` is the serialized schema, matching CompleteFields. */
|
|
9
9
|
export type PromptCompleteRequest = {
|
package/src/dotprompt.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { type SchemeValue, toJS } from "@here.build/arrival";
|
|
6
6
|
import { compileTemplate, runCompiledTemplate } from "@here.build/arrival-modules/handlebars";
|
|
7
7
|
import { isPlainRecord, type ParsedPrompt, reasoningEffortSchema } from "@inhuman.tools/env-capability-dotprompt";
|
|
8
|
-
import { type PromptMessageRole } from "@inhuman.tools/harness-model";
|
|
8
|
+
import { type PromptMessageRole } from "@inhuman.tools/harness-model/session";
|
|
9
9
|
import invariant from "tiny-invariant";
|
|
10
10
|
import { z } from "zod";
|
|
11
11
|
|
package/src/run-isolated.ts
CHANGED
|
@@ -5,7 +5,12 @@
|
|
|
5
5
|
import { EnvCapability } from "@here.build/arrival";
|
|
6
6
|
import { arrivalLoaderCapability } from "@here.build/arrival-modules";
|
|
7
7
|
import { dotpromptCapability, ParsedPrompt } from "@inhuman.tools/env-capability-dotprompt";
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
CompletionExpectation,
|
|
10
|
+
CompletionJob,
|
|
11
|
+
ProgrammaticJob,
|
|
12
|
+
PromptMessage,
|
|
13
|
+
} from "@inhuman.tools/harness-model/session";
|
|
9
14
|
import { Job } from "@inhuman.tools/plexus-expectations";
|
|
10
15
|
import invariant from "tiny-invariant";
|
|
11
16
|
import { z } from "zod";
|
package/src/run-program.ts
CHANGED
|
@@ -14,11 +14,12 @@ import {
|
|
|
14
14
|
ProgrammaticJob,
|
|
15
15
|
PromptMessage,
|
|
16
16
|
takeCrossing,
|
|
17
|
-
} from "@inhuman.tools/harness-model";
|
|
18
|
-
import {
|
|
17
|
+
} from "@inhuman.tools/harness-model/session";
|
|
18
|
+
import { when } from "mobx";
|
|
19
19
|
import { z } from "zod";
|
|
20
20
|
|
|
21
21
|
import { promptPrelude, renderPrompt } from "./dotprompt.js";
|
|
22
|
+
import invariant from "tiny-invariant";
|
|
22
23
|
|
|
23
24
|
const AGENT_ASK = "agent__ask";
|
|
24
25
|
|
|
@@ -37,7 +38,6 @@ export const promptProgramCapability = EnvCapability.define("ext/prompt/program"
|
|
|
37
38
|
requiresConfig: ["job"],
|
|
38
39
|
},
|
|
39
40
|
async function (spec, args) {
|
|
40
|
-
const bundle = renderPrompt(spec, args);
|
|
41
41
|
const job = this.configuration.job;
|
|
42
42
|
const emission = this.runCtx.emission;
|
|
43
43
|
const path = job.trackMatch && emission != null ? claimCrossing(emission, crossingWindow(this)) : "";
|
|
@@ -53,25 +53,27 @@ export const promptProgramCapability = EnvCapability.define("ext/prompt/program"
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
existing = takeCrossing(job, emission, path);
|
|
56
|
-
|
|
56
|
+
invariant(existing != null, "replay: no recorded dotprompt/run");
|
|
57
57
|
}
|
|
58
58
|
if (existing != null) return await existing;
|
|
59
59
|
}
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
const bundle = renderPrompt(spec, args);
|
|
61
|
+
return await job.registerJob(
|
|
62
|
+
new AgentCallJob({
|
|
63
|
+
toolCallId: `${job.toolCallId}:prompt:${job.children.length + 1}`,
|
|
64
|
+
name: AGENT_ASK,
|
|
65
|
+
argsJson: "{}",
|
|
66
|
+
voidLegal: false,
|
|
67
|
+
readonly: this.configuration.readonly === true,
|
|
68
|
+
responseSchema: bundle.responseSchema,
|
|
69
|
+
promptMessages: bundle.messages.map(([role, content]) => new PromptMessage({ role, content })),
|
|
70
|
+
faceName: bundle.faceName.trim(),
|
|
71
|
+
tools: bundle.tools ?? [],
|
|
72
|
+
inheritCallerTools: bundle.tools === null,
|
|
73
|
+
reasoningEffort: bundle.reasoningEffort,
|
|
74
|
+
track: path !== "" ? path : undefined,
|
|
75
|
+
}),
|
|
76
|
+
);
|
|
75
77
|
},
|
|
76
78
|
),
|
|
77
79
|
}),
|
package/dist/capability.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `ext/prompt` — `.prompt` require pretreats to a scheme lambda over
|
|
3
|
-
* `dotprompt/run`. The pretreat is the prelude procedure `ext/prompt/resolve`.
|
|
4
|
-
* CALLABLE RULE: never a JS function through `jsToScheme`.
|
|
5
|
-
*
|
|
6
|
-
* A ProgrammaticJob parents an omitted-spec AgentCallJob (AskAgentSpec worker,
|
|
7
|
-
* schema on the Call, ReACT until respond). Any other job keeps an isolated
|
|
8
|
-
* CompletionExpectation (classifier, compact).
|
|
9
|
-
*/
|
|
10
|
-
import { EnvCapability } from "@inhuman.tools/arrival";
|
|
11
|
-
import { Job } from "@inhuman.tools/plexus-expectations";
|
|
12
|
-
import { z } from "zod";
|
|
13
|
-
import { type PromptCompleteRequest } from "./bundle.js";
|
|
14
|
-
export declare const promptCapability: EnvCapability<{
|
|
15
|
-
job: z.ZodOptional<z.ZodCustom<Job, Job>>;
|
|
16
|
-
connectionId: z.ZodOptional<z.ZodString>;
|
|
17
|
-
model: z.ZodOptional<z.ZodString>;
|
|
18
|
-
/** Session/judge model. `model` is reserved by some exec hosts. */
|
|
19
|
-
completionModel: z.ZodOptional<z.ZodString>;
|
|
20
|
-
complete: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodType<PromptCompleteRequest, unknown, z.core.$ZodTypeInternals<PromptCompleteRequest, unknown>>], z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> | null>, z.ZodType<Promise<{
|
|
21
|
-
readonly text: string;
|
|
22
|
-
readonly thought?: string;
|
|
23
|
-
readonly thoughtKind?: string;
|
|
24
|
-
}>, unknown, z.core.$ZodTypeInternals<Promise<{
|
|
25
|
-
readonly text: string;
|
|
26
|
-
readonly thought?: string;
|
|
27
|
-
readonly thoughtKind?: string;
|
|
28
|
-
}>, unknown>>>>;
|
|
29
|
-
readonly: z.ZodOptional<z.ZodBoolean>;
|
|
30
|
-
}, Record<string, never>>;
|
|
31
|
-
//# sourceMappingURL=capability.d.ts.map
|
package/dist/capability.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,aAAa,EAA0B,MAAM,wBAAwB,CAAC;AAc/E,OAAO,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;AAMzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,qBAAqB,EAAkB,MAAM,aAAa,CAAC;AAiBzE,eAAO,MAAM,gBAAgB;;;;IAMzB,mEAAmE;;;uBAK5B,MAAM;2BAAqB,MAAM;+BAAyB,MAAM;;uBAAhE,MAAM;2BAAqB,MAAM;+BAAyB,MAAM;;;yBA8QzG,CAAC"}
|
package/dist/capability.js
DELETED
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `ext/prompt` — `.prompt` require pretreats to a scheme lambda over
|
|
3
|
-
* `dotprompt/run`. The pretreat is the prelude procedure `ext/prompt/resolve`.
|
|
4
|
-
* CALLABLE RULE: never a JS function through `jsToScheme`.
|
|
5
|
-
*
|
|
6
|
-
* A ProgrammaticJob parents an omitted-spec AgentCallJob (AskAgentSpec worker,
|
|
7
|
-
* schema on the Call, ReACT until respond). Any other job keeps an isolated
|
|
8
|
-
* CompletionExpectation (classifier, compact).
|
|
9
|
-
*/
|
|
10
|
-
import { EnvCapability, toJS } from "@inhuman.tools/arrival";
|
|
11
|
-
import { arrivalHandlebarsCapability, compileTemplate, runCompiledTemplate, } from "@inhuman.tools/arrival-modules/handlebars";
|
|
12
|
-
import { AgentCallJob, CompletionExpectation, CompletionJob, ProgrammaticJob, PromptMessage, } from "@inhuman.tools/harness-model";
|
|
13
|
-
import { Job } from "@inhuman.tools/plexus-expectations";
|
|
14
|
-
import { ConnectionMiss } from "@inhuman.tools/plexus-expectations/driver";
|
|
15
|
-
import { picoschema } from "dotprompt";
|
|
16
|
-
import { when } from "mobx";
|
|
17
|
-
import invariant from "tiny-invariant";
|
|
18
|
-
import { parse as parseYaml } from "yaml";
|
|
19
|
-
import { z } from "zod";
|
|
20
|
-
import { RenderedPrompt } from "./bundle.js";
|
|
21
|
-
import { ParsedPrompt, REASONING_EFFORTS } from "./parse.js";
|
|
22
|
-
const isPlainRecord = (v) => v !== null && typeof v === "object" && !Array.isArray(v);
|
|
23
|
-
const reasoningEffort = z.enum(REASONING_EFFORTS, {
|
|
24
|
-
error: ".prompt: reasoningEffort must be none, minimal, low, medium, high, xhigh, or max",
|
|
25
|
-
});
|
|
26
|
-
const promptMeta = z.object({
|
|
27
|
-
model: z.string().optional(),
|
|
28
|
-
reasoningEffort: reasoningEffort.optional(),
|
|
29
|
-
});
|
|
30
|
-
const AGENT_ASK = "agent__ask";
|
|
31
|
-
export const promptCapability = EnvCapability.define("ext/prompt", {
|
|
32
|
-
deps: [arrivalHandlebarsCapability],
|
|
33
|
-
configuration: {
|
|
34
|
-
job: z.instanceof(Job).optional(),
|
|
35
|
-
connectionId: z.string().optional(),
|
|
36
|
-
model: z.string().optional(),
|
|
37
|
-
/** Session/judge model. `model` is reserved by some exec hosts. */
|
|
38
|
-
completionModel: z.string().optional(),
|
|
39
|
-
complete: z
|
|
40
|
-
.function()
|
|
41
|
-
.optional(),
|
|
42
|
-
readonly: z.boolean().optional(),
|
|
43
|
-
},
|
|
44
|
-
symbols: (symbol, sz) => ({
|
|
45
|
-
"dotprompt/parse": symbol.rosetta `dotprompt/parse: parses a .prompt file into a ParsedPrompt`({ input: [sz.string, sz.string], output: [sz.box.pipe(z.instanceof(ParsedPrompt))] }, async function (contents, path) {
|
|
46
|
-
// Every call re-parses. A source cache is the first place to look if prompt require shows up in a profile.
|
|
47
|
-
const fenced = contents.match(/^---\n([\s\S]*?)\n---\n?/);
|
|
48
|
-
const parsedFm = fenced === null ? {} : (parseYaml(fenced[1]) ?? {});
|
|
49
|
-
invariant(isPlainRecord(parsedFm), ".prompt: frontmatter must be a YAML map");
|
|
50
|
-
const body = fenced === null ? contents : contents.slice(fenced[0].length);
|
|
51
|
-
const modelRaw = parsedFm.model ?? null;
|
|
52
|
-
invariant(modelRaw === null || typeof modelRaw === "string", ".prompt: frontmatter `model:` must be a model name string or omitted");
|
|
53
|
-
const model = modelRaw === "" ? null : modelRaw;
|
|
54
|
-
for (const key of ["agent", "mcp", "fallbackModels"]) {
|
|
55
|
-
invariant(!Object.hasOwn(parsedFm, key) || parsedFm[key] == null, () => `.prompt: "${path}" frontmatter \`${key}:\` is not supported`);
|
|
56
|
-
}
|
|
57
|
-
const named = typeof parsedFm.name === "string" ? parsedFm.name.trim() : "";
|
|
58
|
-
const modeRaw = parsedFm.mode;
|
|
59
|
-
const mode = modeRaw ?? "chat";
|
|
60
|
-
invariant(mode === "instruct" || mode === "chat", () => `.prompt: "${path}" frontmatter \`mode:\` must be "instruct" or "chat", got ${JSON.stringify(modeRaw)}`);
|
|
61
|
-
const compiled = await picoschema(parsedFm.output);
|
|
62
|
-
const responseSchemaJson = compiled === null ? null : JSON.stringify(compiled);
|
|
63
|
-
const effortRaw = parsedFm.reasoningEffort;
|
|
64
|
-
const effort = effortRaw == null ? null : reasoningEffort.parse(effortRaw);
|
|
65
|
-
const base = path.replaceAll("\\", "/").split("/").pop() ?? path;
|
|
66
|
-
const stem = base.replace(/\.prompt$/i, "");
|
|
67
|
-
const toolsRaw = parsedFm.tools;
|
|
68
|
-
let tools;
|
|
69
|
-
if (toolsRaw === undefined || toolsRaw === null) {
|
|
70
|
-
tools = null;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
invariant(Array.isArray(toolsRaw), () => `.prompt: "${path}" frontmatter \`tools:\` must be a list of tool names`);
|
|
74
|
-
tools = toolsRaw.map((item, index) => {
|
|
75
|
-
invariant(typeof item === "string" && item.trim() !== "", () => `.prompt: "${path}" tools[${String(index)}] must be a non-empty string`);
|
|
76
|
-
return item.trim();
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
// Role split is over the author source, before call-site interpolation: a rendered hole cannot forge a turn.
|
|
80
|
-
const sections = [];
|
|
81
|
-
const roleMarker = /\{\{\s*role\s+["']([a-zA-Z]+)["']\s*\}\}/g;
|
|
82
|
-
let bodyStart = 0;
|
|
83
|
-
let role = null;
|
|
84
|
-
for (let mark = roleMarker.exec(body); mark !== null; mark = roleMarker.exec(body)) {
|
|
85
|
-
if (role === null) {
|
|
86
|
-
if (body.slice(0, mark.index).trim() !== "") {
|
|
87
|
-
throw new Error(`.prompt: text before the first {{role}} marker — a chat template must open with {{role "system|user|assistant"}}`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
sections.push({ role, source: body.slice(bodyStart, mark.index).trim() });
|
|
92
|
-
}
|
|
93
|
-
const next = mark[1].toLowerCase();
|
|
94
|
-
invariant(next === "system" || next === "user" || next === "assistant", () => `.prompt: unknown role "${mark[1]}" — use system, user, or assistant`);
|
|
95
|
-
role = next;
|
|
96
|
-
bodyStart = roleMarker.lastIndex;
|
|
97
|
-
}
|
|
98
|
-
invariant(role !== null, `.prompt: no {{role "..."}} markers — a chat template needs at least one`);
|
|
99
|
-
sections.push({ role, source: body.slice(bodyStart).trim() });
|
|
100
|
-
return new ParsedPrompt(mode, model, effort, responseSchemaJson, named === "" ? (stem === "" || stem === "anonymous" ? "prompt" : stem) : named, tools, sections);
|
|
101
|
-
}),
|
|
102
|
-
"dotprompt/build-bundle": symbol.rosetta `dotprompt/build-bundle: renders a ParsedPrompt into a RenderedPrompt`({
|
|
103
|
-
input: [sz.box.pipe(z.instanceof(ParsedPrompt))],
|
|
104
|
-
inputRest: sz.dynamic,
|
|
105
|
-
output: [sz.box.pipe(z.instanceof(RenderedPrompt))],
|
|
106
|
-
provenance: "pipe",
|
|
107
|
-
}, function (spec, ...args) {
|
|
108
|
-
let pairs = args;
|
|
109
|
-
let positional;
|
|
110
|
-
if (pairs.length > 0) {
|
|
111
|
-
const head = String(pairs[0]);
|
|
112
|
-
if (!(head.startsWith(":") || head.startsWith("':"))) {
|
|
113
|
-
positional = pairs[0];
|
|
114
|
-
pairs = pairs.slice(1);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
const folded = {};
|
|
118
|
-
if (pairs.length > 0) {
|
|
119
|
-
invariant(pairs.length % 2 === 0, "kwargs: needs an even number of trailing args (alternating :key value pairs)");
|
|
120
|
-
for (let i = 0; i < pairs.length; i += 2) {
|
|
121
|
-
folded[String(pairs[i]).replace(/^'?:/, "")] = toJS(pairs[i + 1]);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
let inputs;
|
|
125
|
-
let meta;
|
|
126
|
-
if (positional !== undefined) {
|
|
127
|
-
const value = toJS(positional);
|
|
128
|
-
if (isPlainRecord(value) && Object.keys(folded).length === 0) {
|
|
129
|
-
const metaRaw = isPlainRecord(value.meta) ? value.meta : {};
|
|
130
|
-
const { meta: _meta, key: _key, ...rest } = value;
|
|
131
|
-
inputs = rest;
|
|
132
|
-
meta = promptMeta.parse(metaRaw);
|
|
133
|
-
}
|
|
134
|
-
else if (folded.evidence === undefined) {
|
|
135
|
-
folded.evidence = value;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
if (inputs === undefined || meta === undefined) {
|
|
139
|
-
const metaRaw = isPlainRecord(folded.meta) ? folded.meta : {};
|
|
140
|
-
const { meta: _metaSlot, key: _keySlot, ...rest } = folded;
|
|
141
|
-
inputs = rest;
|
|
142
|
-
meta = promptMeta.parse(metaRaw);
|
|
143
|
-
}
|
|
144
|
-
const rendered = spec.sections.map((section) => [
|
|
145
|
-
section.role,
|
|
146
|
-
runCompiledTemplate(compileTemplate(section.source), [inputs]),
|
|
147
|
-
]);
|
|
148
|
-
const model = [meta.model, spec.model].find((candidate) => typeof candidate === "string" && candidate !== "") ?? null;
|
|
149
|
-
return new RenderedPrompt(model, meta.reasoningEffort ?? spec.reasoningEffort, spec.responseSchemaJson, spec.faceName, spec.tools, spec.mode === "instruct" ? [["user", rendered.map(([, content]) => content).join("\n\n")]] : rendered);
|
|
150
|
-
}),
|
|
151
|
-
"dotprompt/run": symbol.rosetta `dotprompt/run: on a program, parents an omitted-spec AgentCallJob and waits; otherwise completes in isolation`({
|
|
152
|
-
input: [sz.box.pipe(z.instanceof(RenderedPrompt))],
|
|
153
|
-
output: [sz.dynamic],
|
|
154
|
-
provenance: "source",
|
|
155
|
-
requiresConfig: ["job"],
|
|
156
|
-
}, async function (bundle) {
|
|
157
|
-
const job = this.configuration.job;
|
|
158
|
-
const promptMessages = bundle.messages.map(([role, content]) => new PromptMessage({ role, content }));
|
|
159
|
-
if (job instanceof ProgrammaticJob) {
|
|
160
|
-
const rawId = job.toolCallId.trim();
|
|
161
|
-
const minted = new AgentCallJob({
|
|
162
|
-
toolCallId: `${rawId === "" ? "prompt" : rawId}:prompt:${job.children.length + 1}`,
|
|
163
|
-
name: AGENT_ASK,
|
|
164
|
-
argsJson: "{}",
|
|
165
|
-
voidLegal: false,
|
|
166
|
-
readonly: this.configuration.readonly === true,
|
|
167
|
-
responseSchemaJson: bundle.responseSchemaJson,
|
|
168
|
-
promptMessages,
|
|
169
|
-
faceName: bundle.faceName.trim(),
|
|
170
|
-
tools: bundle.tools ?? [],
|
|
171
|
-
inheritCallerTools: bundle.tools === null,
|
|
172
|
-
reasoningEffort: bundle.reasoningEffort,
|
|
173
|
-
});
|
|
174
|
-
job.registerJob(minted);
|
|
175
|
-
// when() rejects an already-aborted signal (WHEN_ABORTED) before it reads the predicate.
|
|
176
|
-
const signal = this.runCtx.signal;
|
|
177
|
-
if (!(minted.completed || minted.cancelled)) {
|
|
178
|
-
if (signal === undefined)
|
|
179
|
-
await when(() => minted.completed || minted.cancelled);
|
|
180
|
-
else
|
|
181
|
-
await when(() => minted.completed || minted.cancelled, { signal });
|
|
182
|
-
}
|
|
183
|
-
invariant(!minted.cancelled, "dotprompt/run: ask cancelled");
|
|
184
|
-
invariant(minted.outcomeSnap != null, () => minted.outcomeJson ?? "ask failed");
|
|
185
|
-
invariant(minted.outcomeSnap.ok !== false, () => minted.outcomeSnap?.text?.trim() || minted.outcomeSnap?.code || "ask failed");
|
|
186
|
-
if (bundle.responseSchemaJson != null) {
|
|
187
|
-
const raw = "value" in minted.outcomeSnap
|
|
188
|
-
? minted.outcomeSnap.value
|
|
189
|
-
: typeof minted.outcomeSnap.text === "string"
|
|
190
|
-
? JSON.parse(minted.outcomeSnap.text)
|
|
191
|
-
: undefined;
|
|
192
|
-
invariant(raw !== undefined, "dotprompt/run: structured ask returned no value");
|
|
193
|
-
return structuredClone(raw);
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
return minted.outcomeSnap.text ?? minted.outcomeSnap.value ?? "";
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
const connectionId = this.configuration.connectionId;
|
|
200
|
-
invariant(typeof connectionId === "string" && connectionId !== "", "dotprompt/run: connectionId is required");
|
|
201
|
-
// Scheme `apply` runs build-bundle under apply's call context, so the host model is read here.
|
|
202
|
-
const model = [bundle.model, this.configuration.completionModel, this.configuration.model].find((candidate) => typeof candidate === "string" && candidate !== "") ?? null;
|
|
203
|
-
invariant(model != null, "dotprompt/run: model is required");
|
|
204
|
-
const completion = new CompletionExpectation({
|
|
205
|
-
connectionId,
|
|
206
|
-
model,
|
|
207
|
-
responseSchemaJson: bundle.responseSchemaJson,
|
|
208
|
-
completionMode: "isolated",
|
|
209
|
-
promptMessages,
|
|
210
|
-
reasoningEffort: bundle.reasoningEffort,
|
|
211
|
-
});
|
|
212
|
-
const cell = new CompletionJob({ expectation: completion, tail: job });
|
|
213
|
-
job.registerJob(cell);
|
|
214
|
-
const complete = this.configuration.complete;
|
|
215
|
-
const signal = this.runCtx.signal;
|
|
216
|
-
try {
|
|
217
|
-
if (typeof complete === "function") {
|
|
218
|
-
await complete({
|
|
219
|
-
connectionId,
|
|
220
|
-
model,
|
|
221
|
-
promptText: completion.userPrompt,
|
|
222
|
-
responseSchemaJson: bundle.responseSchemaJson ?? undefined,
|
|
223
|
-
signal,
|
|
224
|
-
round: completion,
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
else if (signal !== undefined) {
|
|
228
|
-
await when(() => completion.isDone, { signal });
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
await completion;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
catch (error) {
|
|
235
|
-
// todo move completion processing into other layer (need to think)
|
|
236
|
-
// job should abstract the retries, thus if connection fails, we should not retry
|
|
237
|
-
if (typeof complete === "function" && error instanceof ConnectionMiss) {
|
|
238
|
-
await completion;
|
|
239
|
-
}
|
|
240
|
-
else if (signal?.aborted === true && !completion.isDone) {
|
|
241
|
-
const reason = signal.reason instanceof Error ? signal.reason.message : "classifier aborted";
|
|
242
|
-
if (completion.failReason == null)
|
|
243
|
-
completion.failReason = reason;
|
|
244
|
-
completion.fail("cancel", "terminate", "null");
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
throw error;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
invariant(completion.outcome === "successful", () => completion.failReason == null ? (completion.endDetail ?? "completion failed") : completion.failReason);
|
|
251
|
-
return bundle.responseSchemaJson != null ? JSON.parse(completion.responseText) : completion.responseText;
|
|
252
|
-
}),
|
|
253
|
-
}),
|
|
254
|
-
prelude: `(define (ext/prompt/resolve contents)
|
|
255
|
-
(let ((spec (dotprompt/parse (if (bytevector? contents) (utf8->string contents) contents)
|
|
256
|
-
"anonymous.prompt")))
|
|
257
|
-
(lambda (arg . rest)
|
|
258
|
-
;; todo inline dotprompt/build-bundle in favor of dotprompt/run args
|
|
259
|
-
(dotprompt/run (apply dotprompt/build-bundle spec arg rest)))))
|
|
260
|
-
(require/register-extension ".prompt" ext/prompt/resolve)`,
|
|
261
|
-
});
|
|
262
|
-
//# sourceMappingURL=capability.js.map
|
package/dist/capability.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,aAAa,EAAoB,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,mBAAmB,GACpB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,aAAa,GAEd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAA8B,cAAc,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,YAAY,EAAsB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEjF,MAAM,aAAa,GAAG,CAAC,CAAU,EAAgC,EAAE,CACjE,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE;IAChD,KAAK,EAAE,kFAAkF;CAC1F,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE;IACjE,IAAI,EAAE,CAAC,2BAA2B,CAAC;IACnC,aAAa,EAAE;QACb,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QACjC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,mEAAmE;QACnE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,QAAQ,EAAE,CAAC;aACR,QAAQ,EAGN;aACF,QAAQ,EAAE;QACb,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACjC;IACD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAA,4DAA4D,CAC3F,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EACpF,KAAK,WAAW,QAAQ,EAAE,IAAI;YAC5B,2GAA2G;YAC3G,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,yCAAyC,CAAC,CAAC;YAC9E,MAAM,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;YACxC,SAAS,CACP,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EACjD,sEAAsE,CACvE,CAAC;YACF,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YAChD,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAU,EAAE,CAAC;gBAC9D,SAAS,CACP,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,EACtD,GAAG,EAAE,CAAC,aAAa,IAAI,mBAAmB,GAAG,sBAAsB,CACpE,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,MAAM,CAAC;YAC/B,SAAS,CACP,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM,EACtC,GAAG,EAAE,CAAC,aAAa,IAAI,6DAA6D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAC9G,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,kBAAkB,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC3C,MAAM,MAAM,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;YAChC,IAAI,KAA+B,CAAC;YACpC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAChD,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,SAAS,CACP,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EACvB,GAAG,EAAE,CAAC,aAAa,IAAI,uDAAuD,CAC/E,CAAC;gBACF,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACnC,SAAS,CACP,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAC9C,GAAG,EAAE,CAAC,aAAa,IAAI,WAAW,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAC9E,CAAC;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;YACL,CAAC;YACD,6GAA6G;YAC7G,MAAM,QAAQ,GAAoB,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,2CAA2C,CAAC;YAC/D,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,IAAI,GAA6B,IAAI,CAAC;YAC1C,KAAK,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;wBAC5C,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;gBACpC,SAAS,CACP,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,EAC5D,GAAG,EAAE,CAAC,0BAA0B,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAC5E,CAAC;gBACF,IAAI,GAAG,IAAI,CAAC;gBACZ,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;YACnC,CAAC;YACD,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,yEAAyE,CAAC,CAAC;YACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,YAAY,CACrB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAC9E,KAAK,EACL,QAAQ,CACT,CAAC;QACJ,CAAC,CACF;QACD,wBAAwB,EAAE,MAAM,CAAC,OAAO,CAAA,sEAAsE,CAC5G;YACE,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;YAChD,SAAS,EAAE,EAAE,CAAC,OAAO;YACrB,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;YACnD,UAAU,EAAE,MAAM;SACnB,EACD,UAAU,IAAI,EAAE,GAAG,IAAI;YACrB,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,IAAI,UAAmB,CAAC;YACxB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACrD,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CACP,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EACtB,8EAA8E,CAC/E,CAAC;gBACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAgB,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YACD,IAAI,MAA2C,CAAC;YAChD,IAAI,IAA4C,CAAC;YACjD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAyB,CAAC,CAAC;gBAC9C,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;oBAClD,MAAM,GAAG,IAAI,CAAC;oBACd,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;gBAC3D,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAA+B,EAAE,CAAC;gBAC3E,OAAO,CAAC,IAAI;gBACZ,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;aAC/D,CAAC,CAAC;YACH,MAAM,KAAK,GACT,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAC3B,CAAC,SAAS,EAAuB,EAAE,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,EAAE,CACtF,IAAI,IAAI,CAAC;YACZ,OAAO,IAAI,cAAc,CACvB,KAAK,EACL,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,EAC5C,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CACtG,CAAC;QACJ,CAAC,CACF;QACD,eAAe,EACb,MAAM,CAAC,OAAO,CAAA,+GAA+G,CAC3H;YACE,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;YAClD,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;YACpB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,CAAC,KAAK,CAAC;SACxB,EACD,KAAK,WAAW,MAAM;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAI,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACtG,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;oBAC9B,UAAU,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClF,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI;oBAC9C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,cAAc;oBACd,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAChC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;oBACzB,kBAAkB,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI;oBACzC,eAAe,EAAE,MAAM,CAAC,eAAe;iBACxC,CAAC,CAAC;gBACH,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACxB,yFAAyF;gBACzF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC5C,IAAI,MAAM,KAAK,SAAS;wBAAE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;;wBAC5E,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;gBAC7D,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,YAAY,CAAC,CAAC;gBAChF,SAAS,CACP,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,KAAK,EAC/B,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,IAAI,IAAI,YAAY,CACnF,CAAC;gBACF,IAAI,MAAM,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBACtC,MAAM,GAAG,GACP,OAAO,IAAI,MAAM,CAAC,WAAW;wBAC3B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;wBAC1B,CAAC,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ;4BAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;4BACrC,CAAC,CAAC,SAAS,CAAC;oBAClB,SAAS,CAAC,GAAG,KAAK,SAAS,EAAE,iDAAiD,CAAC,CAAC;oBAChF,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YACrD,SAAS,CAAC,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,EAAE,EAAE,yCAAyC,CAAC,CAAC;YAC9G,+FAA+F;YAC/F,MAAM,KAAK,GACT,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAC/E,CAAC,SAAS,EAAuB,EAAE,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,EAAE,CACtF,IAAI,IAAI,CAAC;YACZ,SAAS,CAAC,KAAK,IAAI,IAAI,EAAE,kCAAkC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,IAAI,qBAAqB,CAAC;gBAC3C,YAAY;gBACZ,KAAK;gBACL,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,cAAc,EAAE,UAAU;gBAC1B,cAAc;gBACd,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACvE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;oBACnC,MAAM,QAAQ,CAAC;wBACb,YAAY;wBACZ,KAAK;wBACL,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,SAAS;wBAC1D,MAAM;wBACN,KAAK,EAAE,UAAU;qBAClB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,CAAC;gBACnB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mEAAmE;gBACnE,sFAAsF;gBACtF,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;oBACtE,MAAM,UAAU,CAAC;gBACnB,CAAC;qBAAM,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;oBAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;oBAC7F,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI;wBAAE,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC;oBAClE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,SAAS,CAAC,UAAU,CAAC,OAAO,KAAK,YAAY,EAAE,GAAG,EAAE,CAClD,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CACtG,CAAC;YACF,OAAO,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;QAC3G,CAAC,CACF;KACJ,CAAC;IACF,OAAO,EAAE;;;;;;0DAM+C;CACzD,CAAC,CAAC"}
|
package/dist/parse.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parsed `.prompt` file. Frontmatter `output:` is lowered to JSON Schema by
|
|
3
|
-
* `picoschema` from the `dotprompt` package and stored as `responseSchema`.
|
|
4
|
-
* JSON text is produced where a job or completion request is written.
|
|
5
|
-
* Own fields remain readable through Arrival's object membrane.
|
|
6
|
-
*/
|
|
7
|
-
import type { PromptMessageRole } from "@inhuman.tools/harness-model";
|
|
8
|
-
export declare const REASONING_EFFORTS: readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
9
|
-
export type ReasoningEffort = (typeof REASONING_EFFORTS)[number];
|
|
10
|
-
export type PromptSection = {
|
|
11
|
-
readonly role: PromptMessageRole;
|
|
12
|
-
readonly source: string;
|
|
13
|
-
};
|
|
14
|
-
export declare class ParsedPrompt {
|
|
15
|
-
readonly mode: "instruct" | "chat";
|
|
16
|
-
readonly model: string | null;
|
|
17
|
-
readonly reasoningEffort: ReasoningEffort | null;
|
|
18
|
-
/** Frontmatter key is `output:`. Null returns text; a schema returns parsed JSON. */
|
|
19
|
-
readonly responseSchema: Record<string, unknown> | null;
|
|
20
|
-
readonly faceName: string;
|
|
21
|
-
/** Null inherits the caller catalog; an empty list is an explicit empty overlay. */
|
|
22
|
-
readonly tools: readonly string[] | null;
|
|
23
|
-
readonly sections: readonly PromptSection[];
|
|
24
|
-
constructor(mode: "instruct" | "chat", model: string | null, reasoningEffort: ReasoningEffort | null,
|
|
25
|
-
/** Frontmatter key is `output:`. Null returns text; a schema returns parsed JSON. */
|
|
26
|
-
responseSchema: Record<string, unknown> | null, faceName: string,
|
|
27
|
-
/** Null inherits the caller catalog; an empty list is an explicit empty overlay. */
|
|
28
|
-
tools: readonly string[] | null, sections: readonly PromptSection[]);
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=parse.d.ts.map
|
package/dist/parse.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,eAAO,MAAM,iBAAiB,uEAAwE,CAAC;AACvG,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,qBAAa,YAAY;aAEL,IAAI,EAAE,UAAU,GAAG,MAAM;aACzB,KAAK,EAAE,MAAM,GAAG,IAAI;aACpB,eAAe,EAAE,eAAe,GAAG,IAAI;IACvD,qFAAqF;aACrE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;aAC9C,QAAQ,EAAE,MAAM;IAChC,oFAAoF;aACpE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;aAC/B,QAAQ,EAAE,SAAS,aAAa,EAAE;gBARlC,IAAI,EAAE,UAAU,GAAG,MAAM,EACzB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,eAAe,EAAE,eAAe,GAAG,IAAI;IACvD,qFAAqF;IACrE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC9C,QAAQ,EAAE,MAAM;IAChC,oFAAoF;IACpE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EAC/B,QAAQ,EAAE,SAAS,aAAa,EAAE;CAErD"}
|
package/dist/parse.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export const REASONING_EFFORTS = ["none", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
2
|
-
export class ParsedPrompt {
|
|
3
|
-
mode;
|
|
4
|
-
model;
|
|
5
|
-
reasoningEffort;
|
|
6
|
-
responseSchema;
|
|
7
|
-
faceName;
|
|
8
|
-
tools;
|
|
9
|
-
sections;
|
|
10
|
-
constructor(mode, model, reasoningEffort,
|
|
11
|
-
/** Frontmatter key is `output:`. Null returns text; a schema returns parsed JSON. */
|
|
12
|
-
responseSchema, faceName,
|
|
13
|
-
/** Null inherits the caller catalog; an empty list is an explicit empty overlay. */
|
|
14
|
-
tools, sections) {
|
|
15
|
-
this.mode = mode;
|
|
16
|
-
this.model = model;
|
|
17
|
-
this.reasoningEffort = reasoningEffort;
|
|
18
|
-
this.responseSchema = responseSchema;
|
|
19
|
-
this.faceName = faceName;
|
|
20
|
-
this.tools = tools;
|
|
21
|
-
this.sections = sections;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=parse.js.map
|
package/dist/parse.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;AAQvG,MAAM,OAAO,YAAY;IAEL;IACA;IACA;IAEA;IACA;IAEA;IACA;IATlB,YACkB,IAAyB,EACzB,KAAoB,EACpB,eAAuC;IACvD,qFAAqF;IACrE,cAA8C,EAC9C,QAAgB;IAChC,oFAAoF;IACpE,KAA+B,EAC/B,QAAkC;QARlC,SAAI,GAAJ,IAAI,CAAqB;QACzB,UAAK,GAAL,KAAK,CAAe;QACpB,oBAAe,GAAf,eAAe,CAAwB;QAEvC,mBAAc,GAAd,cAAc,CAAgC;QAC9C,aAAQ,GAAR,QAAQ,CAAQ;QAEhB,UAAK,GAAL,KAAK,CAA0B;QAC/B,aAAQ,GAAR,QAAQ,CAA0B;IACjD,CAAC;CACL"}
|