@futdevpro/fsm-dynamo 1.11.33 → 1.11.35
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/.github/workflows/main.yml +3 -1
- package/build/_collections/utils/string.util.d.ts +12 -23
- package/build/_collections/utils/string.util.d.ts.map +1 -1
- package/build/_collections/utils/string.util.js +6 -25
- package/build/_collections/utils/string.util.js.map +1 -1
- package/build/_modules/open-ai/_models/gpt-call-settings.interface.d.ts.map +1 -1
- package/build/_modules/open-ai/_models/gpt-call-settings.interface.js +1 -1
- package/build/_modules/open-ai/_models/gpt-call-settings.interface.js.map +1 -1
- package/futdevpro-fsm-dynamo-01.11.35.tgz +0 -0
- package/package.json +1 -1
- package/src/_collections/utils/string.util.ts +26 -38
- package/src/_modules/open-ai/_models/gpt-call-settings.interface.ts +1 -1
- package/futdevpro-fsm-dynamo-01.11.33.tgz +0 -0
|
@@ -54,7 +54,7 @@ jobs:
|
|
|
54
54
|
webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }}
|
|
55
55
|
webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
|
|
56
56
|
message: |
|
|
57
|
-
🧱❌ Failed to send Discord start notification! [🔗](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
|
|
57
|
+
🧱❌ Failed to send Discord start notification for ${{ github.repository }}! [🔗](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
|
|
58
58
|
|
|
59
59
|
check_secrets:
|
|
60
60
|
name: Check Required Secrets and Variables
|
|
@@ -287,6 +287,8 @@ jobs:
|
|
|
287
287
|
"overseerUrl": "${{ vars.OVERSEER_URL }}",
|
|
288
288
|
"overseerSecret": "${{ secrets.OVERSEER_SECRET_KEY }}",
|
|
289
289
|
"branchName": "${{ github.ref_name }}",
|
|
290
|
+
"repository": "${{ github.repository }}",
|
|
291
|
+
"runId": "${{ github.run_id }}",
|
|
290
292
|
"linkToAction": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",
|
|
291
293
|
"eventDateTime": "${{ needs.notification0.outputs.start }}",
|
|
292
294
|
"projects": [
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
export interface DyFM_String_BracketSettings {
|
|
2
|
+
opening: string;
|
|
3
|
+
closing: string;
|
|
4
|
+
}
|
|
5
|
+
export interface DyFM_String_BracketDetailedResult {
|
|
6
|
+
content: string;
|
|
7
|
+
level: number;
|
|
8
|
+
brackets: DyFM_String_BracketSettings | null;
|
|
9
|
+
}
|
|
1
10
|
/**
|
|
2
11
|
* String utility class
|
|
3
12
|
*/
|
|
@@ -55,14 +64,7 @@ export declare class DyFM_String {
|
|
|
55
64
|
* // { content: 'and more layers', level: 2, brackets: { opening: '(', closing: ')' } }
|
|
56
65
|
* // ]
|
|
57
66
|
*/
|
|
58
|
-
static nestedBracketSplitDetailed(input: string, openingBracket: string, closingBracket: string, maxDepth?: number, replaceContents?: string):
|
|
59
|
-
content: string;
|
|
60
|
-
level: number;
|
|
61
|
-
brackets: {
|
|
62
|
-
opening: string;
|
|
63
|
-
closing: string;
|
|
64
|
-
} | null;
|
|
65
|
-
}[];
|
|
67
|
+
static nestedBracketSplitDetailed(input: string, openingBracket: string, closingBracket: string, maxDepth?: number, replaceContents?: string): DyFM_String_BracketDetailedResult[];
|
|
66
68
|
/**
|
|
67
69
|
* Splits strings into an array of strings, extracting contents between multiple types of brackets with support for nesting.
|
|
68
70
|
* Returns an array where the first element is the input string with bracket contents replaced,
|
|
@@ -91,10 +93,7 @@ export declare class DyFM_String {
|
|
|
91
93
|
* // 'nested'
|
|
92
94
|
* // ]
|
|
93
95
|
*/
|
|
94
|
-
static multiBracketSplit(input: string, brackets:
|
|
95
|
-
opening: string;
|
|
96
|
-
closing: string;
|
|
97
|
-
}[], maxDepth?: number, replaceContents?: string): string[];
|
|
96
|
+
static multiBracketSplit(input: string, brackets: DyFM_String_BracketSettings[], maxDepth?: number, replaceContents?: string): string[];
|
|
98
97
|
/**
|
|
99
98
|
* Splits strings and returns detailed information about extracted bracket contents.
|
|
100
99
|
* Returns an array where the first element contains the modified string info,
|
|
@@ -123,17 +122,7 @@ export declare class DyFM_String {
|
|
|
123
122
|
* // { content: 'nested', level: 2, brackets: { opening: '(', closing: ')' } }
|
|
124
123
|
* // ]
|
|
125
124
|
*/
|
|
126
|
-
static multiBracketSplitDetailed(input: string, brackets:
|
|
127
|
-
opening: string;
|
|
128
|
-
closing: string;
|
|
129
|
-
}[], maxDepth?: number, replaceContents?: string): {
|
|
130
|
-
content: string;
|
|
131
|
-
level: number;
|
|
132
|
-
brackets: {
|
|
133
|
-
opening: string;
|
|
134
|
-
closing: string;
|
|
135
|
-
} | null;
|
|
136
|
-
}[];
|
|
125
|
+
static multiBracketSplitDetailed(input: string, brackets: DyFM_String_BracketSettings[], maxDepth?: number, replaceContents?: string): DyFM_String_BracketDetailedResult[];
|
|
137
126
|
/**
|
|
138
127
|
* Helper method to extract multiple bracket types from a single string with detailed information
|
|
139
128
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/string.util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"string.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/string.util.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,qBAAa,WAAW;IAEtB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,kBAAkB,CACvB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,MAAW,EACrB,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,EAAE;IAKX;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,0BAA0B,CAC/B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,MAAW,EACrB,eAAe,CAAC,EAAE,MAAM,GACvB,iCAAiC,EAAE;IAKtC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,iBAAiB,CACtB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,2BAA2B,EAAE,EACvC,QAAQ,GAAE,MAAW,EACrB,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,EAAE;IAKX;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,yBAAyB,CAC9B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,2BAA2B,EAAE,EACvC,QAAQ,GAAE,MAAW,EACrB,eAAe,CAAC,EAAE,MAAM,GACvB,iCAAiC,EAAE;IA4EtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yCAAyC;CA2LzD"}
|
|
@@ -133,7 +133,7 @@ class DyFM_String {
|
|
|
133
133
|
}
|
|
134
134
|
const result = [];
|
|
135
135
|
let workingPieces = [
|
|
136
|
-
{ content: input,
|
|
136
|
+
{ content: input, level: 0, brackets: null }
|
|
137
137
|
];
|
|
138
138
|
for (let depth = 0; depth < maxDepth; depth++) {
|
|
139
139
|
const nextWorkingPieces = [];
|
|
@@ -152,7 +152,7 @@ class DyFM_String {
|
|
|
152
152
|
}
|
|
153
153
|
else {
|
|
154
154
|
// On subsequent depths, update the piece in result
|
|
155
|
-
const pieceIndex = result.findIndex(r => r.content === piece.content && r.brackets === piece.
|
|
155
|
+
const pieceIndex = result.findIndex(r => r.content === piece.content && r.brackets === piece.brackets);
|
|
156
156
|
if (pieceIndex !== -1) {
|
|
157
157
|
result[pieceIndex].content = extractedFromPiece.modified;
|
|
158
158
|
}
|
|
@@ -162,14 +162,15 @@ class DyFM_String {
|
|
|
162
162
|
result.push({
|
|
163
163
|
content: extracted.content,
|
|
164
164
|
level: depth + 1,
|
|
165
|
-
brackets: extracted.
|
|
165
|
+
brackets: extracted.brackets
|
|
166
166
|
});
|
|
167
167
|
}
|
|
168
168
|
// Add extracted contents for next iteration
|
|
169
169
|
for (const extracted of extractedFromPiece.extracted) {
|
|
170
170
|
nextWorkingPieces.push({
|
|
171
171
|
content: extracted.content,
|
|
172
|
-
|
|
172
|
+
level: depth + 1,
|
|
173
|
+
brackets: extracted.brackets ?? null
|
|
173
174
|
});
|
|
174
175
|
}
|
|
175
176
|
}
|
|
@@ -197,26 +198,6 @@ class DyFM_String {
|
|
|
197
198
|
// Unified scanning logic. If replaceContents is undefined, we preserve input in modified.
|
|
198
199
|
const preserveOriginal = replaceContents === undefined;
|
|
199
200
|
let modified = preserveOriginal ? input : '';
|
|
200
|
-
// Mode flag: single same-character bracket type (e.g., only quotes) enables better nesting heuristics
|
|
201
|
-
const singleSameCharMode = brackets.length === 1 && brackets[0].opening === brackets[0].closing;
|
|
202
|
-
// Helper to find next non-whitespace character index starting from pos (exclusive)
|
|
203
|
-
const nextNonWs = (pos) => {
|
|
204
|
-
for (let k = pos + 1; k < input.length; k++) {
|
|
205
|
-
const ch = input[k];
|
|
206
|
-
if (!/\s/.test(ch))
|
|
207
|
-
return ch;
|
|
208
|
-
}
|
|
209
|
-
return null;
|
|
210
|
-
};
|
|
211
|
-
// Helper to find previous non-whitespace character before pos (exclusive)
|
|
212
|
-
const prevNonWs = (pos) => {
|
|
213
|
-
for (let k = pos - 1; k >= 0; k--) {
|
|
214
|
-
const ch = input[k];
|
|
215
|
-
if (!/\s/.test(ch))
|
|
216
|
-
return ch;
|
|
217
|
-
}
|
|
218
|
-
return null;
|
|
219
|
-
};
|
|
220
201
|
let i = 0;
|
|
221
202
|
let idSeq = 1;
|
|
222
203
|
const stack = [];
|
|
@@ -231,7 +212,7 @@ class DyFM_String {
|
|
|
231
212
|
const closeTopLevel = (closeIndex, closedItem, closingBracket, closeTokenLength) => {
|
|
232
213
|
// Extract content between the top-level opening and this close position
|
|
233
214
|
const content = input.substring(topLevelStart, closeIndex);
|
|
234
|
-
extracted.push({ content,
|
|
215
|
+
extracted.push({ content, level: 0, brackets: closingBracket });
|
|
235
216
|
if (!preserveOriginal) {
|
|
236
217
|
// Add replacement in place of the removed top-level content
|
|
237
218
|
modified += (replaceContents ?? '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/string.util.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"string.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/string.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gpt-call-settings.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/open-ai/_models/gpt-call-settings.interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,qBAAa,qBAAqB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAM;IAC3B,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAA0B;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"gpt-call-settings.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/open-ai/_models/gpt-call-settings.interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,qBAAa,qBAAqB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAM;IAC3B,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAA0B;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAK;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAQ;IAC1B;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAQ;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAK;IAC9B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAK;gBAO3B,GAAG,CAAC,EAAE,qBAAqB;CAM9B"}
|
|
@@ -16,7 +16,7 @@ class DyFM_GPTCall_Settings {
|
|
|
16
16
|
*
|
|
17
17
|
* Adjust this setting to balance between creativity and consistency.
|
|
18
18
|
*/
|
|
19
|
-
temperature = 0.
|
|
19
|
+
temperature = 0; // 0.2;
|
|
20
20
|
/**
|
|
21
21
|
* Defines the upper limit of tokens (words or parts of words)
|
|
22
22
|
* the model can generate in a single response.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gpt-call-settings.interface.js","sourceRoot":"","sources":["../../../../src/_modules/open-ai/_models/gpt-call-settings.interface.ts"],"names":[],"mappings":";;;AAEA,qEAAgE;AAEhE,MAAa,qBAAqB;IAChC,YAAY,GAAY,EAAE,CAAC;IAC3B,QAAQ,GAA+B,qCAAgB,CAAC,KAAK,CAAC;IAC9D,UAAU,CAAU;IACpB,QAAQ,CAAW;IAEnB;;;;;;;;OAQG;IACH,WAAW,GAAY,
|
|
1
|
+
{"version":3,"file":"gpt-call-settings.interface.js","sourceRoot":"","sources":["../../../../src/_modules/open-ai/_models/gpt-call-settings.interface.ts"],"names":[],"mappings":";;;AAEA,qEAAgE;AAEhE,MAAa,qBAAqB;IAChC,YAAY,GAAY,EAAE,CAAC;IAC3B,QAAQ,GAA+B,qCAAgB,CAAC,KAAK,CAAC;IAC9D,UAAU,CAAU;IACpB,QAAQ,CAAW;IAEnB;;;;;;;;OAQG;IACH,WAAW,GAAY,CAAC,CAAC,CAAA,OAAO;IAChC;;;;;;;;OAQG;IACH,SAAS,GAAY,IAAI,CAAC;IAC1B;;;;;;;OAOG;IACH,IAAI,GAAY,IAAI,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,GAAY,CAAC,CAAC;IAC9B;;;;;;;OAOG;IACH,eAAe,GAAY,CAAC,CAAC;IAE7B;;wBAEoB;IAEpB,YACE,GAA2B;QAE3B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AA/DD,sDA+DC"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/fsm-dynamo",
|
|
3
|
-
"version": "01.11.
|
|
3
|
+
"version": "01.11.35",
|
|
4
4
|
"description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "full-stack-package",
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
export interface DyFM_String_BracketSettings {
|
|
2
|
+
opening: string;
|
|
3
|
+
closing: string;
|
|
4
|
+
}
|
|
1
5
|
|
|
2
|
-
|
|
6
|
+
export interface DyFM_String_BracketDetailedResult {
|
|
7
|
+
content: string;
|
|
8
|
+
level: number;
|
|
9
|
+
brackets: DyFM_String_BracketSettings | null;
|
|
10
|
+
}
|
|
3
11
|
|
|
4
12
|
/**
|
|
5
13
|
* String utility class
|
|
@@ -78,7 +86,7 @@ export class DyFM_String {
|
|
|
78
86
|
closingBracket: string,
|
|
79
87
|
maxDepth: number = 10,
|
|
80
88
|
replaceContents?: string,
|
|
81
|
-
):
|
|
89
|
+
): DyFM_String_BracketDetailedResult[] {
|
|
82
90
|
const brackets = [{ opening: openingBracket, closing: closingBracket }];
|
|
83
91
|
return this.multiBracketSplitDetailed(input, brackets, maxDepth, replaceContents);
|
|
84
92
|
}
|
|
@@ -113,7 +121,7 @@ export class DyFM_String {
|
|
|
113
121
|
*/
|
|
114
122
|
static multiBracketSplit(
|
|
115
123
|
input: string,
|
|
116
|
-
brackets:
|
|
124
|
+
brackets: DyFM_String_BracketSettings[],
|
|
117
125
|
maxDepth: number = 10,
|
|
118
126
|
replaceContents?: string,
|
|
119
127
|
): string[] {
|
|
@@ -151,21 +159,21 @@ export class DyFM_String {
|
|
|
151
159
|
*/
|
|
152
160
|
static multiBracketSplitDetailed(
|
|
153
161
|
input: string,
|
|
154
|
-
brackets:
|
|
162
|
+
brackets: DyFM_String_BracketSettings[],
|
|
155
163
|
maxDepth: number = 10,
|
|
156
164
|
replaceContents?: string,
|
|
157
|
-
):
|
|
165
|
+
): DyFM_String_BracketDetailedResult[] {
|
|
158
166
|
if (brackets.length === 0) {
|
|
159
167
|
return [{ content: input, level: 0, brackets: null }];
|
|
160
168
|
}
|
|
161
169
|
|
|
162
|
-
const result:
|
|
163
|
-
let workingPieces:
|
|
164
|
-
{ content: input,
|
|
170
|
+
const result: DyFM_String_BracketDetailedResult[] = [];
|
|
171
|
+
let workingPieces: DyFM_String_BracketDetailedResult[] = [
|
|
172
|
+
{ content: input, level: 0, brackets: null }
|
|
165
173
|
];
|
|
166
174
|
|
|
167
175
|
for (let depth = 0; depth < maxDepth; depth++) {
|
|
168
|
-
const nextWorkingPieces:
|
|
176
|
+
const nextWorkingPieces: DyFM_String_BracketDetailedResult[] = [];
|
|
169
177
|
let foundAnyBrackets = false;
|
|
170
178
|
|
|
171
179
|
for (const piece of workingPieces) {
|
|
@@ -187,7 +195,7 @@ export class DyFM_String {
|
|
|
187
195
|
});
|
|
188
196
|
} else {
|
|
189
197
|
// On subsequent depths, update the piece in result
|
|
190
|
-
const pieceIndex = result.findIndex(r => r.content === piece.content && r.brackets === piece.
|
|
198
|
+
const pieceIndex = result.findIndex(r => r.content === piece.content && r.brackets === piece.brackets);
|
|
191
199
|
if (pieceIndex !== -1) {
|
|
192
200
|
result[pieceIndex].content = extractedFromPiece.modified;
|
|
193
201
|
}
|
|
@@ -198,7 +206,7 @@ export class DyFM_String {
|
|
|
198
206
|
result.push({
|
|
199
207
|
content: extracted.content,
|
|
200
208
|
level: depth + 1,
|
|
201
|
-
brackets: extracted.
|
|
209
|
+
brackets: extracted.brackets
|
|
202
210
|
});
|
|
203
211
|
}
|
|
204
212
|
|
|
@@ -206,7 +214,8 @@ export class DyFM_String {
|
|
|
206
214
|
for (const extracted of extractedFromPiece.extracted) {
|
|
207
215
|
nextWorkingPieces.push({
|
|
208
216
|
content: extracted.content,
|
|
209
|
-
|
|
217
|
+
level: depth + 1,
|
|
218
|
+
brackets: extracted.brackets ?? null
|
|
210
219
|
});
|
|
211
220
|
}
|
|
212
221
|
} else if (depth === 0) {
|
|
@@ -234,46 +243,25 @@ export class DyFM_String {
|
|
|
234
243
|
*/
|
|
235
244
|
private static extractMultipleBracketsFromStringDetailed(
|
|
236
245
|
input: string,
|
|
237
|
-
brackets:
|
|
246
|
+
brackets: DyFM_String_BracketSettings[],
|
|
238
247
|
replaceContents?: string
|
|
239
248
|
): {
|
|
240
249
|
modified: string;
|
|
241
|
-
extracted:
|
|
250
|
+
extracted: DyFM_String_BracketDetailedResult[]
|
|
242
251
|
} {
|
|
243
|
-
const extracted:
|
|
252
|
+
const extracted: DyFM_String_BracketDetailedResult[] = [];
|
|
244
253
|
|
|
245
254
|
// Unified scanning logic. If replaceContents is undefined, we preserve input in modified.
|
|
246
255
|
const preserveOriginal = replaceContents === undefined;
|
|
247
256
|
let modified = preserveOriginal ? input : '';
|
|
248
257
|
|
|
249
|
-
// Mode flag: single same-character bracket type (e.g., only quotes) enables better nesting heuristics
|
|
250
|
-
const singleSameCharMode = brackets.length === 1 && brackets[0].opening === brackets[0].closing;
|
|
251
|
-
|
|
252
|
-
// Helper to find next non-whitespace character index starting from pos (exclusive)
|
|
253
|
-
const nextNonWs = (pos: number): string | null => {
|
|
254
|
-
for (let k = pos + 1; k < input.length; k++) {
|
|
255
|
-
const ch = input[k];
|
|
256
|
-
if (!/\s/.test(ch)) return ch;
|
|
257
|
-
}
|
|
258
|
-
return null;
|
|
259
|
-
};
|
|
260
|
-
|
|
261
|
-
// Helper to find previous non-whitespace character before pos (exclusive)
|
|
262
|
-
const prevNonWs = (pos: number): string | null => {
|
|
263
|
-
for (let k = pos - 1; k >= 0; k--) {
|
|
264
|
-
const ch = input[k];
|
|
265
|
-
if (!/\s/.test(ch)) return ch;
|
|
266
|
-
}
|
|
267
|
-
return null;
|
|
268
|
-
};
|
|
269
|
-
|
|
270
258
|
// We'll scan once with a combined stack to correctly respect top-level across all types.
|
|
271
259
|
type StackItem = {
|
|
272
260
|
id: number;
|
|
273
261
|
openingIndex: number;
|
|
274
262
|
// We store the originally assumed opening type index (may be reinterpreted on close if multiple closers share same opening)
|
|
275
263
|
type: number;
|
|
276
|
-
bracket:
|
|
264
|
+
bracket: DyFM_String_BracketSettings;
|
|
277
265
|
};
|
|
278
266
|
|
|
279
267
|
let i = 0;
|
|
@@ -293,7 +281,7 @@ export class DyFM_String {
|
|
|
293
281
|
const closeTopLevel = (closeIndex: number, closedItem: StackItem, closingBracket: { opening: string; closing: string }, closeTokenLength: number) => {
|
|
294
282
|
// Extract content between the top-level opening and this close position
|
|
295
283
|
const content = input.substring(topLevelStart, closeIndex);
|
|
296
|
-
extracted.push({ content,
|
|
284
|
+
extracted.push({ content, level: 0, brackets: closingBracket });
|
|
297
285
|
|
|
298
286
|
if (!preserveOriginal) {
|
|
299
287
|
// Add replacement in place of the removed top-level content
|
|
@@ -17,7 +17,7 @@ export class DyFM_GPTCall_Settings {
|
|
|
17
17
|
*
|
|
18
18
|
* Adjust this setting to balance between creativity and consistency.
|
|
19
19
|
*/
|
|
20
|
-
temperature?: number = 0.
|
|
20
|
+
temperature?: number = 0;// 0.2;
|
|
21
21
|
/**
|
|
22
22
|
* Defines the upper limit of tokens (words or parts of words)
|
|
23
23
|
* the model can generate in a single response.
|
|
Binary file
|