vv-ai-prompt-format 3.0.4 → 3.0.6
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/src/checkJsonToolSpec.d.ts +30 -0
- package/dist/src/checkJsonToolSpec.d.ts.map +1 -0
- package/dist/src/checkJsonToolSpec.js +57 -0
- package/dist/src/checkJsonToolSpec.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/promptConvFromString.d.ts +0 -35
- package/dist/src/promptConvFromString.d.ts.map +1 -1
- package/dist/src/promptConvFromString.js +79 -90
- package/dist/src/promptConvFromString.js.map +1 -1
- package/dist/src/promptConvToString.js +15 -0
- package/dist/src/promptConvToString.js.map +1 -1
- package/dist/test/index.test.js +318 -1
- package/dist/test/index.test.js.map +1 -1
- package/package.json +1 -1
- package/readme.md +116 -0
- package/readme.rus.md +116 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates a tool spec string when it is expected to be a JSON Schema.
|
|
3
|
+
*
|
|
4
|
+
* @param raw - Tool spec string to validate
|
|
5
|
+
* @returns `undefined` if spec is valid, error message string if invalid
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* This function:
|
|
9
|
+
* - Returns `undefined` for empty or missing input
|
|
10
|
+
* - Parses the string to verify it's valid JSON
|
|
11
|
+
* - Validates the schema structure using AJV
|
|
12
|
+
* - Requires the root type to be "object" (tool parameters are always an object)
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const result1 = CheckJsonToolSpec('{"type":"object","properties":{"query":{"type":"string"}}}')
|
|
17
|
+
* // Returns: undefined (valid)
|
|
18
|
+
*
|
|
19
|
+
* const result2 = CheckJsonToolSpec('{"type":"string"}')
|
|
20
|
+
* // Returns: error message (root type must be "object")
|
|
21
|
+
*
|
|
22
|
+
* const result3 = CheckJsonToolSpec('invalid json')
|
|
23
|
+
* // Returns: error message (invalid JSON)
|
|
24
|
+
*
|
|
25
|
+
* const result4 = CheckJsonToolSpec(undefined)
|
|
26
|
+
* // Returns: undefined (empty input)
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function CheckJsonToolSpec(raw: string | undefined): string | undefined;
|
|
30
|
+
//# sourceMappingURL=checkJsonToolSpec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkJsonToolSpec.d.ts","sourceRoot":"","sources":["../../src/checkJsonToolSpec.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CA4B7E"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Ajv } from 'ajv';
|
|
2
|
+
/**
|
|
3
|
+
* Validates a tool spec string when it is expected to be a JSON Schema.
|
|
4
|
+
*
|
|
5
|
+
* @param raw - Tool spec string to validate
|
|
6
|
+
* @returns `undefined` if spec is valid, error message string if invalid
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* This function:
|
|
10
|
+
* - Returns `undefined` for empty or missing input
|
|
11
|
+
* - Parses the string to verify it's valid JSON
|
|
12
|
+
* - Validates the schema structure using AJV
|
|
13
|
+
* - Requires the root type to be "object" (tool parameters are always an object)
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const result1 = CheckJsonToolSpec('{"type":"object","properties":{"query":{"type":"string"}}}')
|
|
18
|
+
* // Returns: undefined (valid)
|
|
19
|
+
*
|
|
20
|
+
* const result2 = CheckJsonToolSpec('{"type":"string"}')
|
|
21
|
+
* // Returns: error message (root type must be "object")
|
|
22
|
+
*
|
|
23
|
+
* const result3 = CheckJsonToolSpec('invalid json')
|
|
24
|
+
* // Returns: error message (invalid JSON)
|
|
25
|
+
*
|
|
26
|
+
* const result4 = CheckJsonToolSpec(undefined)
|
|
27
|
+
* // Returns: undefined (empty input)
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export function CheckJsonToolSpec(raw) {
|
|
31
|
+
if (!raw || raw.trim() === '') {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
let json;
|
|
35
|
+
try {
|
|
36
|
+
json = JSON.parse(raw);
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
return `${err}`;
|
|
40
|
+
}
|
|
41
|
+
if (typeof json !== 'object' || json === null || Array.isArray(json)) {
|
|
42
|
+
return 'tool spec must be a JSON object';
|
|
43
|
+
}
|
|
44
|
+
const root = json;
|
|
45
|
+
if (root['type'] !== 'object') {
|
|
46
|
+
return 'tool spec root type must be "object"';
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
const ajv = new Ajv({ strict: false, allErrors: true });
|
|
50
|
+
ajv.compile(json);
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
return `${err}`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=checkJsonToolSpec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkJsonToolSpec.js","sourceRoot":"","sources":["../../src/checkJsonToolSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAuB;IACxD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAA;IACjB,CAAC;IAED,IAAI,IAAa,CAAA;IACjB,IAAI,CAAC;QACJ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,GAAG,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,iCAAiC,CAAA;IACzC,CAAC;IAED,MAAM,IAAI,GAAG,IAA+B,CAAA;IAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,sCAAsC,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACjB,OAAO,SAAS,CAAA;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,GAAG,GAAG,EAAE,CAAA;IAChB,CAAC;AACF,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
export { TPromptOptions, TPromptOptionsOpenAi, TPromptOptionsOllama, TPromptOptionsLlamaCpp, SPromptOptions, SPromptOptionsJson, defVal, defValJson, } from './promptOptions/index.js';
|
|
2
2
|
export { CheckJsonSchema } from './checkJsonSchema.js';
|
|
3
|
+
export { CheckJsonToolSpec } from './checkJsonToolSpec.js';
|
|
3
4
|
export { PromptOptionsParse } from './promptOptionsParse.js';
|
|
4
5
|
export { PromptConvFromString } from './promptConvFromString.js';
|
|
5
6
|
export { PromptConvToString } from './promptConvToString.js';
|
|
6
7
|
export { ToPromptOptionsOpenAi, ToPromptOptionsOllama, ToPromptOptionsLlamaCpp } from './toPromptOptions.js';
|
|
7
8
|
export { ConvertJsonSchemaToGbnf } from './convertJsonSchemaToGbnf.js';
|
|
9
|
+
export type TPromptTool = {
|
|
10
|
+
name: string;
|
|
11
|
+
spec?: string;
|
|
12
|
+
lang?: string;
|
|
13
|
+
code?: string;
|
|
14
|
+
};
|
|
8
15
|
export type TPrompt = {
|
|
9
16
|
system?: string;
|
|
10
17
|
user: string;
|
|
@@ -16,6 +23,7 @@ export type TPrompt = {
|
|
|
16
23
|
model?: string;
|
|
17
24
|
gpulayer?: number;
|
|
18
25
|
};
|
|
26
|
+
tool?: TPromptTool[];
|
|
19
27
|
};
|
|
20
28
|
import { TPromptOptions } from './promptOptions/index.js';
|
|
21
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,UAAU,GACV,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC5G,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,MAAM,MAAM,OAAO,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,UAAU,GACV,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC5G,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,IAAI,CAAC,EAAE,WAAW,EAAE,CAAA;CACpB,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { SPromptOptions, SPromptOptionsJson, defVal, defValJson, } from './promptOptions/index.js';
|
|
2
2
|
export { CheckJsonSchema } from './checkJsonSchema.js';
|
|
3
|
+
export { CheckJsonToolSpec } from './checkJsonToolSpec.js';
|
|
3
4
|
export { PromptOptionsParse } from './promptOptionsParse.js';
|
|
4
5
|
export { PromptConvFromString } from './promptConvFromString.js';
|
|
5
6
|
export { PromptConvToString } from './promptConvToString.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,UAAU,GACV,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC5G,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,UAAU,GACV,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC5G,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA"}
|
|
@@ -1,38 +1,3 @@
|
|
|
1
1
|
import { TPrompt } from './index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Loads and parses prompts from a text string with structured sections.
|
|
4
|
-
*
|
|
5
|
-
* @param raw - Raw text string containing prompts in the format with $$begin/$$end markers
|
|
6
|
-
* @param use - Schema type for options validation: 'core' for standard AI models, 'json' for structured JSON output (default: 'core')
|
|
7
|
-
* @returns Array of parsed TPrompt objects
|
|
8
|
-
*
|
|
9
|
-
* @remarks
|
|
10
|
-
* Text format supports the following sections:
|
|
11
|
-
* - `$$begin` / `$$end` - Marks prompt boundaries
|
|
12
|
-
* - `$$system` - System message (optional)
|
|
13
|
-
* - `$$user` - User message (required)
|
|
14
|
-
* - `$$options` - Model parameters in key=value format (optional)
|
|
15
|
-
* - `$$llm` - LLM configuration with url and model (optional)
|
|
16
|
-
* - `$$jsonresponse` - JSON Schema for structured response output (optional)
|
|
17
|
-
* - `$$segment=name` - Named content segments (optional)
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* const text = `$$begin
|
|
22
|
-
* $$options
|
|
23
|
-
* temperature=0.7
|
|
24
|
-
* maxTokens=2048
|
|
25
|
-
* $$system
|
|
26
|
-
* You are a helpful assistant
|
|
27
|
-
* $$user
|
|
28
|
-
* Hello, world!
|
|
29
|
-
* $$jsonresponse
|
|
30
|
-
* {"type": "object", "properties": {}}
|
|
31
|
-
* $$end`
|
|
32
|
-
*
|
|
33
|
-
* const prompts = PromptConvFromString(text)
|
|
34
|
-
* // Returns: [{ system: '...', user: '...', options: {...}, jsonresponse: '...' }]
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
2
|
export declare function PromptConvFromString(raw: string, use?: 'core' | 'json'): TPrompt[];
|
|
38
3
|
//# sourceMappingURL=promptConvFromString.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptConvFromString.d.ts","sourceRoot":"","sources":["../../src/promptConvFromString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpC
|
|
1
|
+
{"version":3,"file":"promptConvFromString.d.ts","sourceRoot":"","sources":["../../src/promptConvFromString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpC,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,GAAG,MAAe,GAAG,OAAO,EAAE,CAE1F"}
|
|
@@ -1,39 +1,4 @@
|
|
|
1
1
|
import { PromptOptionsParse } from './promptOptionsParse.js';
|
|
2
|
-
/**
|
|
3
|
-
* Loads and parses prompts from a text string with structured sections.
|
|
4
|
-
*
|
|
5
|
-
* @param raw - Raw text string containing prompts in the format with $$begin/$$end markers
|
|
6
|
-
* @param use - Schema type for options validation: 'core' for standard AI models, 'json' for structured JSON output (default: 'core')
|
|
7
|
-
* @returns Array of parsed TPrompt objects
|
|
8
|
-
*
|
|
9
|
-
* @remarks
|
|
10
|
-
* Text format supports the following sections:
|
|
11
|
-
* - `$$begin` / `$$end` - Marks prompt boundaries
|
|
12
|
-
* - `$$system` - System message (optional)
|
|
13
|
-
* - `$$user` - User message (required)
|
|
14
|
-
* - `$$options` - Model parameters in key=value format (optional)
|
|
15
|
-
* - `$$llm` - LLM configuration with url and model (optional)
|
|
16
|
-
* - `$$jsonresponse` - JSON Schema for structured response output (optional)
|
|
17
|
-
* - `$$segment=name` - Named content segments (optional)
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* const text = `$$begin
|
|
22
|
-
* $$options
|
|
23
|
-
* temperature=0.7
|
|
24
|
-
* maxTokens=2048
|
|
25
|
-
* $$system
|
|
26
|
-
* You are a helpful assistant
|
|
27
|
-
* $$user
|
|
28
|
-
* Hello, world!
|
|
29
|
-
* $$jsonresponse
|
|
30
|
-
* {"type": "object", "properties": {}}
|
|
31
|
-
* $$end`
|
|
32
|
-
*
|
|
33
|
-
* const prompts = PromptConvFromString(text)
|
|
34
|
-
* // Returns: [{ system: '...', user: '...', options: {...}, jsonresponse: '...' }]
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
2
|
export function PromptConvFromString(raw, use = 'core') {
|
|
38
3
|
return parse(raw, use);
|
|
39
4
|
}
|
|
@@ -44,97 +9,115 @@ function parse(content, use) {
|
|
|
44
9
|
let currentPrompt = null;
|
|
45
10
|
let currentSection = null;
|
|
46
11
|
let currentSegmentName = null;
|
|
12
|
+
let currentToolcodeLang = null;
|
|
13
|
+
let currentToolcodeName = null;
|
|
47
14
|
let sectionContent = [];
|
|
15
|
+
let pendingToolCodes = [];
|
|
16
|
+
function flushSection() {
|
|
17
|
+
if (!currentSection || !currentPrompt)
|
|
18
|
+
return;
|
|
19
|
+
if (currentSection === 'toolcode') {
|
|
20
|
+
if (currentToolcodeLang && currentToolcodeName && sectionContent.length > 0) {
|
|
21
|
+
pendingToolCodes.push({
|
|
22
|
+
name: currentToolcodeName,
|
|
23
|
+
lang: currentToolcodeLang,
|
|
24
|
+
code: sectionContent.join('\n').trim()
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else if (sectionContent.length > 0) {
|
|
29
|
+
finishSection(currentPrompt, currentSection, sectionContent, use, currentSegmentName);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function finalizeBlock() {
|
|
33
|
+
flushSection();
|
|
34
|
+
if (currentPrompt && currentPrompt.user) {
|
|
35
|
+
if (pendingToolCodes.length > 0 && currentPrompt.tool) {
|
|
36
|
+
for (const tc of pendingToolCodes) {
|
|
37
|
+
const tool = currentPrompt.tool.find(t => t.name === tc.name && t.spec !== undefined);
|
|
38
|
+
if (tool) {
|
|
39
|
+
tool.lang = tc.lang;
|
|
40
|
+
tool.code = tc.code;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
prompts.push(currentPrompt);
|
|
45
|
+
}
|
|
46
|
+
pendingToolCodes = [];
|
|
47
|
+
}
|
|
48
|
+
function resetSection(section) {
|
|
49
|
+
flushSection();
|
|
50
|
+
currentSection = section;
|
|
51
|
+
currentSegmentName = null;
|
|
52
|
+
currentToolcodeLang = null;
|
|
53
|
+
currentToolcodeName = null;
|
|
54
|
+
sectionContent = [];
|
|
55
|
+
}
|
|
48
56
|
for (let i = 0; i < lines.length; i++) {
|
|
49
57
|
const line = lines[i];
|
|
50
58
|
const trimmed = line.trim();
|
|
51
59
|
if (trimmed === '$$begin') {
|
|
52
60
|
if (inBlock && currentPrompt) {
|
|
53
|
-
|
|
54
|
-
finishSection(currentPrompt, currentSection, sectionContent, use, currentSegmentName);
|
|
55
|
-
}
|
|
56
|
-
if (currentPrompt.user) {
|
|
57
|
-
prompts.push(currentPrompt);
|
|
58
|
-
}
|
|
61
|
+
finalizeBlock();
|
|
59
62
|
}
|
|
60
63
|
inBlock = true;
|
|
61
64
|
currentPrompt = {};
|
|
62
65
|
currentSection = null;
|
|
63
66
|
currentSegmentName = null;
|
|
67
|
+
currentToolcodeLang = null;
|
|
68
|
+
currentToolcodeName = null;
|
|
64
69
|
sectionContent = [];
|
|
65
70
|
continue;
|
|
66
71
|
}
|
|
67
72
|
if (trimmed === '$$end') {
|
|
68
73
|
if (inBlock && currentPrompt) {
|
|
69
|
-
|
|
70
|
-
finishSection(currentPrompt, currentSection, sectionContent, use, currentSegmentName);
|
|
71
|
-
}
|
|
72
|
-
if (currentPrompt.user) {
|
|
73
|
-
prompts.push(currentPrompt);
|
|
74
|
-
}
|
|
74
|
+
finalizeBlock();
|
|
75
75
|
}
|
|
76
76
|
inBlock = false;
|
|
77
77
|
currentPrompt = null;
|
|
78
78
|
currentSection = null;
|
|
79
79
|
currentSegmentName = null;
|
|
80
|
+
currentToolcodeLang = null;
|
|
81
|
+
currentToolcodeName = null;
|
|
80
82
|
sectionContent = [];
|
|
81
83
|
continue;
|
|
82
84
|
}
|
|
83
|
-
if (!inBlock || !currentPrompt)
|
|
85
|
+
if (!inBlock || !currentPrompt)
|
|
84
86
|
continue;
|
|
85
|
-
}
|
|
86
87
|
if (trimmed === '$$system') {
|
|
87
|
-
|
|
88
|
-
finishSection(currentPrompt, currentSection, sectionContent, use, currentSegmentName);
|
|
89
|
-
}
|
|
90
|
-
currentSection = 'system';
|
|
91
|
-
currentSegmentName = null;
|
|
92
|
-
sectionContent = [];
|
|
88
|
+
resetSection('system');
|
|
93
89
|
continue;
|
|
94
90
|
}
|
|
95
91
|
if (trimmed === '$$user') {
|
|
96
|
-
|
|
97
|
-
finishSection(currentPrompt, currentSection, sectionContent, use, currentSegmentName);
|
|
98
|
-
}
|
|
99
|
-
currentSection = 'user';
|
|
100
|
-
currentSegmentName = null;
|
|
101
|
-
sectionContent = [];
|
|
92
|
+
resetSection('user');
|
|
102
93
|
continue;
|
|
103
94
|
}
|
|
104
95
|
if (trimmed === '$$options') {
|
|
105
|
-
|
|
106
|
-
finishSection(currentPrompt, currentSection, sectionContent, use, currentSegmentName);
|
|
107
|
-
}
|
|
108
|
-
currentSection = 'options';
|
|
109
|
-
currentSegmentName = null;
|
|
110
|
-
sectionContent = [];
|
|
96
|
+
resetSection('options');
|
|
111
97
|
continue;
|
|
112
98
|
}
|
|
113
99
|
if (trimmed === '$$llm') {
|
|
114
|
-
|
|
115
|
-
finishSection(currentPrompt, currentSection, sectionContent, use, currentSegmentName);
|
|
116
|
-
}
|
|
117
|
-
currentSection = 'llm';
|
|
118
|
-
currentSegmentName = null;
|
|
119
|
-
sectionContent = [];
|
|
100
|
+
resetSection('llm');
|
|
120
101
|
continue;
|
|
121
102
|
}
|
|
122
103
|
if (trimmed === '$$jsonresponse') {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
sectionContent = [];
|
|
104
|
+
resetSection('jsonresponse');
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (trimmed === '$$tool') {
|
|
108
|
+
resetSection('tool');
|
|
129
109
|
continue;
|
|
130
110
|
}
|
|
131
111
|
if (trimmed.startsWith('$$segment=')) {
|
|
132
|
-
|
|
133
|
-
finishSection(currentPrompt, currentSection, sectionContent, use, currentSegmentName);
|
|
134
|
-
}
|
|
135
|
-
currentSection = 'segment';
|
|
112
|
+
resetSection('segment');
|
|
136
113
|
currentSegmentName = trimmed.substring('$$segment='.length).trim();
|
|
137
|
-
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
const toolcodeMatch = trimmed.match(/^\$\$tool=([^=]+)=(.+)$/);
|
|
117
|
+
if (toolcodeMatch) {
|
|
118
|
+
resetSection('toolcode');
|
|
119
|
+
currentToolcodeLang = toolcodeMatch[1];
|
|
120
|
+
currentToolcodeName = toolcodeMatch[2];
|
|
138
121
|
continue;
|
|
139
122
|
}
|
|
140
123
|
if (currentSection) {
|
|
@@ -142,12 +125,7 @@ function parse(content, use) {
|
|
|
142
125
|
}
|
|
143
126
|
}
|
|
144
127
|
if (inBlock && currentPrompt) {
|
|
145
|
-
|
|
146
|
-
finishSection(currentPrompt, currentSection, sectionContent, use, currentSegmentName);
|
|
147
|
-
}
|
|
148
|
-
if (currentPrompt.user) {
|
|
149
|
-
prompts.push(currentPrompt);
|
|
150
|
-
}
|
|
128
|
+
finalizeBlock();
|
|
151
129
|
}
|
|
152
130
|
return prompts;
|
|
153
131
|
}
|
|
@@ -187,6 +165,17 @@ function finishSection(prompt, section, lines, use, segmentName) {
|
|
|
187
165
|
else if (section === 'jsonresponse') {
|
|
188
166
|
prompt.jsonresponse = content;
|
|
189
167
|
}
|
|
168
|
+
else if (section === 'tool') {
|
|
169
|
+
try {
|
|
170
|
+
const parsed = JSON.parse(content);
|
|
171
|
+
if (Array.isArray(parsed)) {
|
|
172
|
+
prompt.tool = parsed;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
catch (_a) {
|
|
176
|
+
// ignore invalid JSON
|
|
177
|
+
}
|
|
178
|
+
}
|
|
190
179
|
}
|
|
191
180
|
function parseOptionsToObject(content) {
|
|
192
181
|
const options = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptConvFromString.js","sourceRoot":"","sources":["../../src/promptConvFromString.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D
|
|
1
|
+
{"version":3,"file":"promptConvFromString.js","sourceRoot":"","sources":["../../src/promptConvFromString.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,6 +77,21 @@ function serialize(prompts) {
|
|
|
77
77
|
result.push(value);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
+
if (prompt.tool && prompt.tool.length > 0) {
|
|
81
|
+
result.push('$$tool');
|
|
82
|
+
result.push(JSON.stringify(prompt.tool.map(t => {
|
|
83
|
+
const entry = { name: t.name };
|
|
84
|
+
if (t.spec !== undefined)
|
|
85
|
+
entry.spec = t.spec;
|
|
86
|
+
return entry;
|
|
87
|
+
})));
|
|
88
|
+
for (const tool of prompt.tool) {
|
|
89
|
+
if (tool.lang && tool.code !== undefined) {
|
|
90
|
+
result.push(`$$tool=${tool.lang}=${tool.name}`);
|
|
91
|
+
result.push(tool.code);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
80
95
|
result.push('$$end');
|
|
81
96
|
}
|
|
82
97
|
return result.join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptConvToString.js","sourceRoot":"","sources":["../../src/promptConvToString.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"promptConvToString.js","sourceRoot":"","sources":["../../src/promptConvToString.ts"],"names":[],"mappings":"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"}
|