@resolveio/server-lib 22.3.27 → 22.3.28
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/methods/ai-terminal.d.ts
CHANGED
|
@@ -35,6 +35,20 @@ type AiCodexRunInput = {
|
|
|
35
35
|
runBudgetMs?: number;
|
|
36
36
|
mongo_max_time_ms?: number;
|
|
37
37
|
mongoMaxTimeMs?: number;
|
|
38
|
+
qa_repair_enabled?: boolean;
|
|
39
|
+
qaRepairEnabled?: boolean;
|
|
40
|
+
qa_evidence_required?: boolean;
|
|
41
|
+
qaEvidenceRequired?: boolean;
|
|
42
|
+
qa_distinct_screenshot_required?: boolean;
|
|
43
|
+
qaDistinctScreenshotRequired?: boolean;
|
|
44
|
+
qa_fail_fast_compile?: boolean;
|
|
45
|
+
qaFailFastCompile?: boolean;
|
|
46
|
+
qa_live_data_required?: boolean;
|
|
47
|
+
qaLiveDataRequired?: boolean;
|
|
48
|
+
qa_self_repair_max_waves?: number;
|
|
49
|
+
qaSelfRepairMaxWaves?: number;
|
|
50
|
+
qa_policy_instructions?: string[];
|
|
51
|
+
qaPolicyInstructions?: string[];
|
|
38
52
|
system_prompt?: string;
|
|
39
53
|
systemPrompt?: string;
|
|
40
54
|
user_prompt_template?: string;
|
package/methods/ai-terminal.js
CHANGED
|
@@ -183,6 +183,7 @@ var codex_client_1 = require("../services/codex-client");
|
|
|
183
183
|
var openai_usage_ledger_manager_1 = require("../managers/openai-usage-ledger.manager");
|
|
184
184
|
var assistant_core_heuristics_1 = require("../ai/assistant-core-heuristics");
|
|
185
185
|
var resolveio_platform_intelligence_memory_1 = require("../ai/resolveio-platform-intelligence-memory");
|
|
186
|
+
var ai_qa_policy_1 = require("../util/ai-qa-policy");
|
|
186
187
|
var DEFAULT_MAX_FILE_MB = 50;
|
|
187
188
|
var DEFAULT_MAX_TOTAL_MB = 100;
|
|
188
189
|
var DEFAULT_MAX_ATTACHMENT_CHARS = 12000;
|
|
@@ -19528,6 +19529,71 @@ function buildAssistantPlannerPrompt(params) {
|
|
|
19528
19529
|
var userPrompt = applyTemplate(AI_ASSISTANT_PLANNER_USER_PROMPT_TEMPLATE, templateData);
|
|
19529
19530
|
return "System:\n".concat(AI_ASSISTANT_PLANNER_SYSTEM_PROMPT, "\n\nUser:\n").concat(userPrompt).trim();
|
|
19530
19531
|
}
|
|
19532
|
+
function hasAssistantRunnerQaConfig(config) {
|
|
19533
|
+
if (!config || typeof config !== 'object') {
|
|
19534
|
+
return false;
|
|
19535
|
+
}
|
|
19536
|
+
return [
|
|
19537
|
+
'qa_repair_enabled',
|
|
19538
|
+
'qaRepairEnabled',
|
|
19539
|
+
'qa_evidence_required',
|
|
19540
|
+
'qaEvidenceRequired',
|
|
19541
|
+
'qa_distinct_screenshot_required',
|
|
19542
|
+
'qaDistinctScreenshotRequired',
|
|
19543
|
+
'qa_fail_fast_compile',
|
|
19544
|
+
'qaFailFastCompile',
|
|
19545
|
+
'qa_live_data_required',
|
|
19546
|
+
'qaLiveDataRequired',
|
|
19547
|
+
'qa_self_repair_max_waves',
|
|
19548
|
+
'qaSelfRepairMaxWaves',
|
|
19549
|
+
'qa_policy_instructions',
|
|
19550
|
+
'qaPolicyInstructions'
|
|
19551
|
+
].some(function (key) { return config[key] !== undefined; });
|
|
19552
|
+
}
|
|
19553
|
+
function shouldIncludeAssistantRunnerContract(input) {
|
|
19554
|
+
var config = (input === null || input === void 0 ? void 0 : input.config) || {};
|
|
19555
|
+
if (hasAssistantRunnerQaConfig(config)) {
|
|
19556
|
+
return true;
|
|
19557
|
+
}
|
|
19558
|
+
if (normalizeOptionalString(input === null || input === void 0 ? void 0 : input.id_app)) {
|
|
19559
|
+
return true;
|
|
19560
|
+
}
|
|
19561
|
+
var message = normalizeOptionalString(input === null || input === void 0 ? void 0 : input.message).toLowerCase();
|
|
19562
|
+
return /\b(fix|change|update|build|implement|bug|qa|test|screenshot|click|page|screen|button|route|data|publication|method)\b/.test(message);
|
|
19563
|
+
}
|
|
19564
|
+
function normalizeAssistantQaPolicyInstructions(config) {
|
|
19565
|
+
var raw = Array.isArray(config === null || config === void 0 ? void 0 : config.qa_policy_instructions)
|
|
19566
|
+
? config.qa_policy_instructions
|
|
19567
|
+
: (Array.isArray(config === null || config === void 0 ? void 0 : config.qaPolicyInstructions) ? config.qaPolicyInstructions : []);
|
|
19568
|
+
return raw
|
|
19569
|
+
.map(function (entry) { return normalizeOptionalString(entry); })
|
|
19570
|
+
.filter(Boolean)
|
|
19571
|
+
.slice(0, 8);
|
|
19572
|
+
}
|
|
19573
|
+
function buildAssistantRunnerContractLines(input) {
|
|
19574
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
19575
|
+
if (!shouldIncludeAssistantRunnerContract(input)) {
|
|
19576
|
+
return [];
|
|
19577
|
+
}
|
|
19578
|
+
var config = (input === null || input === void 0 ? void 0 : input.config) || {};
|
|
19579
|
+
var rules = (0, ai_qa_policy_1.buildResolveIORunnerBasicsRules)({
|
|
19580
|
+
context: 'ai_terminal',
|
|
19581
|
+
includeDevServerRules: true,
|
|
19582
|
+
maxContextBullets: 6,
|
|
19583
|
+
qaRepairEnabled: normalizeOptionalBoolean((_a = config.qa_repair_enabled) !== null && _a !== void 0 ? _a : config.qaRepairEnabled),
|
|
19584
|
+
qaEvidenceRequired: normalizeOptionalBoolean((_b = config.qa_evidence_required) !== null && _b !== void 0 ? _b : config.qaEvidenceRequired),
|
|
19585
|
+
qaDistinctScreenshotRequired: normalizeOptionalBoolean((_c = config.qa_distinct_screenshot_required) !== null && _c !== void 0 ? _c : config.qaDistinctScreenshotRequired),
|
|
19586
|
+
qaFailFastCompile: normalizeOptionalBoolean((_d = config.qa_fail_fast_compile) !== null && _d !== void 0 ? _d : config.qaFailFastCompile),
|
|
19587
|
+
qaLiveDataRequired: normalizeOptionalBoolean((_e = config.qa_live_data_required) !== null && _e !== void 0 ? _e : config.qaLiveDataRequired),
|
|
19588
|
+
qaSelfRepairMaxWaves: normalizeOptionalNumber((_f = config.qa_self_repair_max_waves) !== null && _f !== void 0 ? _f : config.qaSelfRepairMaxWaves),
|
|
19589
|
+
currentRoute: normalizeOptionalString((_g = input === null || input === void 0 ? void 0 : input.context) === null || _g === void 0 ? void 0 : _g.route),
|
|
19590
|
+
currentContextMode: normalizeOptionalString((_h = input === null || input === void 0 ? void 0 : input.context) === null || _h === void 0 ? void 0 : _h.mode),
|
|
19591
|
+
customInstructions: normalizeAssistantQaPolicyInstructions(config)
|
|
19592
|
+
});
|
|
19593
|
+
return __spreadArray([
|
|
19594
|
+
'Shared AI runner/QA contract:'
|
|
19595
|
+
], __read(rules.map(function (rule) { return "- ".concat(rule); })), false);
|
|
19596
|
+
}
|
|
19531
19597
|
function buildAssistantContext(input, userContext) {
|
|
19532
19598
|
var _a, _b, _c, _d, _e, _f;
|
|
19533
19599
|
var lines = [];
|
|
@@ -19554,6 +19620,10 @@ function buildAssistantContext(input, userContext) {
|
|
|
19554
19620
|
if (contextRoute) {
|
|
19555
19621
|
lines.push("Current page route: ".concat(contextRoute));
|
|
19556
19622
|
}
|
|
19623
|
+
var runnerContractLines = buildAssistantRunnerContractLines(input);
|
|
19624
|
+
if (runnerContractLines.length) {
|
|
19625
|
+
lines.push.apply(lines, __spreadArray([], __read(runnerContractLines), false));
|
|
19626
|
+
}
|
|
19557
19627
|
var collectionHints = Array.isArray(userContext === null || userContext === void 0 ? void 0 : userContext.collectionHints)
|
|
19558
19628
|
? userContext === null || userContext === void 0 ? void 0 : userContext.collectionHints.filter(Boolean)
|
|
19559
19629
|
: [];
|
|
@@ -22018,6 +22088,7 @@ function applyTemplate(template, data) {
|
|
|
22018
22088
|
return output;
|
|
22019
22089
|
}
|
|
22020
22090
|
function sanitizeConfig(source) {
|
|
22091
|
+
var _a, _b, _c, _d, _e, _f;
|
|
22021
22092
|
var fallbackModels = Array.isArray(source === null || source === void 0 ? void 0 : source.fallback_models)
|
|
22022
22093
|
? source.fallback_models
|
|
22023
22094
|
: (Array.isArray(source === null || source === void 0 ? void 0 : source.fallbackModels) ? source.fallbackModels : []);
|
|
@@ -22033,7 +22104,19 @@ function sanitizeConfig(source) {
|
|
|
22033
22104
|
user_prompt_template: normalizeOptionalString(source === null || source === void 0 ? void 0 : source.user_prompt_template),
|
|
22034
22105
|
response_format: normalizeOptionalString(source === null || source === void 0 ? void 0 : source.response_format),
|
|
22035
22106
|
temperature: normalizeOptionalNumber(source === null || source === void 0 ? void 0 : source.temperature),
|
|
22036
|
-
max_tokens: normalizeOptionalNumber(source === null || source === void 0 ? void 0 : source.max_tokens)
|
|
22107
|
+
max_tokens: normalizeOptionalNumber(source === null || source === void 0 ? void 0 : source.max_tokens),
|
|
22108
|
+
qa_repair_enabled: normalizeOptionalBoolean((_a = source === null || source === void 0 ? void 0 : source.qa_repair_enabled) !== null && _a !== void 0 ? _a : source === null || source === void 0 ? void 0 : source.qaRepairEnabled),
|
|
22109
|
+
qa_evidence_required: normalizeOptionalBoolean((_b = source === null || source === void 0 ? void 0 : source.qa_evidence_required) !== null && _b !== void 0 ? _b : source === null || source === void 0 ? void 0 : source.qaEvidenceRequired),
|
|
22110
|
+
qa_distinct_screenshot_required: normalizeOptionalBoolean((_c = source === null || source === void 0 ? void 0 : source.qa_distinct_screenshot_required) !== null && _c !== void 0 ? _c : source === null || source === void 0 ? void 0 : source.qaDistinctScreenshotRequired),
|
|
22111
|
+
qa_fail_fast_compile: normalizeOptionalBoolean((_d = source === null || source === void 0 ? void 0 : source.qa_fail_fast_compile) !== null && _d !== void 0 ? _d : source === null || source === void 0 ? void 0 : source.qaFailFastCompile),
|
|
22112
|
+
qa_live_data_required: normalizeOptionalBoolean((_e = source === null || source === void 0 ? void 0 : source.qa_live_data_required) !== null && _e !== void 0 ? _e : source === null || source === void 0 ? void 0 : source.qaLiveDataRequired),
|
|
22113
|
+
qa_self_repair_max_waves: normalizeOptionalNumber((_f = source === null || source === void 0 ? void 0 : source.qa_self_repair_max_waves) !== null && _f !== void 0 ? _f : source === null || source === void 0 ? void 0 : source.qaSelfRepairMaxWaves),
|
|
22114
|
+
qa_policy_instructions: (Array.isArray(source === null || source === void 0 ? void 0 : source.qa_policy_instructions)
|
|
22115
|
+
? source.qa_policy_instructions
|
|
22116
|
+
: (Array.isArray(source === null || source === void 0 ? void 0 : source.qaPolicyInstructions) ? source.qaPolicyInstructions : []))
|
|
22117
|
+
.map(function (entry) { return normalizeOptionalString(entry); })
|
|
22118
|
+
.filter(Boolean)
|
|
22119
|
+
.slice(0, 8)
|
|
22037
22120
|
};
|
|
22038
22121
|
}
|
|
22039
22122
|
function isLikelyObjectId(value) {
|