@exellix/ai-skills 5.8.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/README.md +600 -0
- package/dist/analysis/analyze-skill-request.d.ts +12 -0
- package/dist/analysis/analyze-skill-request.d.ts.map +1 -0
- package/dist/analysis/analyze-skill-request.js +201 -0
- package/dist/analysis/analyze-skill-request.js.map +1 -0
- package/dist/analysis/build-skill-request-analysis-packet.d.ts +14 -0
- package/dist/analysis/build-skill-request-analysis-packet.d.ts.map +1 -0
- package/dist/analysis/build-skill-request-analysis-packet.js +106 -0
- package/dist/analysis/build-skill-request-analysis-packet.js.map +1 -0
- package/dist/analysis/collect-deterministic-findings.d.ts +14 -0
- package/dist/analysis/collect-deterministic-findings.d.ts.map +1 -0
- package/dist/analysis/collect-deterministic-findings.js +221 -0
- package/dist/analysis/collect-deterministic-findings.js.map +1 -0
- package/dist/analysis/constants.d.ts +5 -0
- package/dist/analysis/constants.d.ts.map +1 -0
- package/dist/analysis/constants.js +5 -0
- package/dist/analysis/constants.js.map +1 -0
- package/dist/analysis/format-skill-request-analysis-markdown.d.ts +8 -0
- package/dist/analysis/format-skill-request-analysis-markdown.d.ts.map +1 -0
- package/dist/analysis/format-skill-request-analysis-markdown.js +121 -0
- package/dist/analysis/format-skill-request-analysis-markdown.js.map +1 -0
- package/dist/analysis/path-utils.d.ts +11 -0
- package/dist/analysis/path-utils.d.ts.map +1 -0
- package/dist/analysis/path-utils.js +69 -0
- package/dist/analysis/path-utils.js.map +1 -0
- package/dist/analysis/sanitize-for-packet.d.ts +28 -0
- package/dist/analysis/sanitize-for-packet.d.ts.map +1 -0
- package/dist/analysis/sanitize-for-packet.js +107 -0
- package/dist/analysis/sanitize-for-packet.js.map +1 -0
- package/dist/analysis/types.d.ts +139 -0
- package/dist/analysis/types.d.ts.map +1 -0
- package/dist/analysis/types.js +2 -0
- package/dist/analysis/types.js.map +1 -0
- package/dist/catalog/canonical-skill-key.d.ts +5 -0
- package/dist/catalog/canonical-skill-key.d.ts.map +1 -0
- package/dist/catalog/canonical-skill-key.js +16 -0
- package/dist/catalog/canonical-skill-key.js.map +1 -0
- package/dist/catalog/constants.d.ts +7 -0
- package/dist/catalog/constants.d.ts.map +1 -0
- package/dist/catalog/constants.js +7 -0
- package/dist/catalog/constants.js.map +1 -0
- package/dist/catalog/env.d.ts +4 -0
- package/dist/catalog/env.d.ts.map +1 -0
- package/dist/catalog/env.js +15 -0
- package/dist/catalog/env.js.map +1 -0
- package/dist/catalog/gateway-template.d.ts +6 -0
- package/dist/catalog/gateway-template.d.ts.map +1 -0
- package/dist/catalog/gateway-template.js +15 -0
- package/dist/catalog/gateway-template.js.map +1 -0
- package/dist/catalog/index.d.ts +3 -0
- package/dist/catalog/index.d.ts.map +1 -0
- package/dist/catalog/index.js +3 -0
- package/dist/catalog/index.js.map +1 -0
- package/dist/catalog/seed.d.ts +12 -0
- package/dist/catalog/seed.d.ts.map +1 -0
- package/dist/catalog/seed.js +45 -0
- package/dist/catalog/seed.js.map +1 -0
- package/dist/catalog/skill-catalog.d.ts +28 -0
- package/dist/catalog/skill-catalog.d.ts.map +1 -0
- package/dist/catalog/skill-catalog.js +139 -0
- package/dist/catalog/skill-catalog.js.map +1 -0
- package/dist/catalog/store-factory.d.ts +18 -0
- package/dist/catalog/store-factory.d.ts.map +1 -0
- package/dist/catalog/store-factory.js +36 -0
- package/dist/catalog/store-factory.js.map +1 -0
- package/dist/catalog/types.d.ts +61 -0
- package/dist/catalog/types.d.ts.map +1 -0
- package/dist/catalog/types.js +22 -0
- package/dist/catalog/types.js.map +1 -0
- package/dist/catalox/ai-engines-catalog.d.ts +24 -0
- package/dist/catalox/ai-engines-catalog.d.ts.map +1 -0
- package/dist/catalox/ai-engines-catalog.js +89 -0
- package/dist/catalox/ai-engines-catalog.js.map +1 -0
- package/dist/catalox/ai-skills-catalog.d.ts +32 -0
- package/dist/catalox/ai-skills-catalog.d.ts.map +1 -0
- package/dist/catalox/ai-skills-catalog.js +202 -0
- package/dist/catalox/ai-skills-catalog.js.map +1 -0
- package/dist/catalox/catalox-skill-errors.d.ts +15 -0
- package/dist/catalox/catalox-skill-errors.d.ts.map +1 -0
- package/dist/catalox/catalox-skill-errors.js +29 -0
- package/dist/catalox/catalox-skill-errors.js.map +1 -0
- package/dist/catalox/index.d.ts +10 -0
- package/dist/catalox/index.d.ts.map +1 -0
- package/dist/catalox/index.js +10 -0
- package/dist/catalox/index.js.map +1 -0
- package/dist/catalox/init-firebase-and-catalox.d.ts +8 -0
- package/dist/catalox/init-firebase-and-catalox.d.ts.map +1 -0
- package/dist/catalox/init-firebase-and-catalox.js +48 -0
- package/dist/catalox/init-firebase-and-catalox.js.map +1 -0
- package/dist/catalox/list-ai-skills-catalog.d.ts +24 -0
- package/dist/catalox/list-ai-skills-catalog.d.ts.map +1 -0
- package/dist/catalox/list-ai-skills-catalog.js +38 -0
- package/dist/catalox/list-ai-skills-catalog.js.map +1 -0
- package/dist/catalox/skill-gateway-template-utils.d.ts +11 -0
- package/dist/catalox/skill-gateway-template-utils.d.ts.map +1 -0
- package/dist/catalox/skill-gateway-template-utils.js +31 -0
- package/dist/catalox/skill-gateway-template-utils.js.map +1 -0
- package/dist/catalox/skill-template-catalog-mutations.d.ts +143 -0
- package/dist/catalox/skill-template-catalog-mutations.d.ts.map +1 -0
- package/dist/catalox/skill-template-catalog-mutations.js +470 -0
- package/dist/catalox/skill-template-catalog-mutations.js.map +1 -0
- package/dist/catalox/skill-template-markdown.d.ts +34 -0
- package/dist/catalox/skill-template-markdown.d.ts.map +1 -0
- package/dist/catalox/skill-template-markdown.js +106 -0
- package/dist/catalox/skill-template-markdown.js.map +1 -0
- package/dist/catalox/skill-templates.d.ts +72 -0
- package/dist/catalox/skill-templates.d.ts.map +1 -0
- package/dist/catalox/skill-templates.js +80 -0
- package/dist/catalox/skill-templates.js.map +1 -0
- package/dist/client/audit-manager.d.ts +27 -0
- package/dist/client/audit-manager.d.ts.map +1 -0
- package/dist/client/audit-manager.js +260 -0
- package/dist/client/audit-manager.js.map +1 -0
- package/dist/client/base-client.d.ts +19 -0
- package/dist/client/base-client.d.ts.map +1 -0
- package/dist/client/base-client.js +20 -0
- package/dist/client/base-client.js.map +1 -0
- package/dist/client/build-gateway-invoke-request.d.ts +32 -0
- package/dist/client/build-gateway-invoke-request.d.ts.map +1 -0
- package/dist/client/build-gateway-invoke-request.js +135 -0
- package/dist/client/build-gateway-invoke-request.js.map +1 -0
- package/dist/client/invoke-skill-via-funcx.d.ts +11 -0
- package/dist/client/invoke-skill-via-funcx.d.ts.map +1 -0
- package/dist/client/invoke-skill-via-funcx.js +51 -0
- package/dist/client/invoke-skill-via-funcx.js.map +1 -0
- package/dist/client/registry-manager.d.ts +94 -0
- package/dist/client/registry-manager.d.ts.map +1 -0
- package/dist/client/registry-manager.js +287 -0
- package/dist/client/registry-manager.js.map +1 -0
- package/dist/client/skill-executor.d.ts +35 -0
- package/dist/client/skill-executor.d.ts.map +1 -0
- package/dist/client/skill-executor.js +316 -0
- package/dist/client/skill-executor.js.map +1 -0
- package/dist/client/task-executor.d.ts +21 -0
- package/dist/client/task-executor.d.ts.map +1 -0
- package/dist/client/task-executor.js +50 -0
- package/dist/client/task-executor.js.map +1 -0
- package/dist/client.d.ts +116 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +406 -0
- package/dist/client.js.map +1 -0
- package/dist/diagnostics/gateway-usage.d.ts +3 -0
- package/dist/diagnostics/gateway-usage.d.ts.map +1 -0
- package/dist/diagnostics/gateway-usage.js +26 -0
- package/dist/diagnostics/gateway-usage.js.map +1 -0
- package/dist/diagnostics/map-gateway-trace.d.ts +43 -0
- package/dist/diagnostics/map-gateway-trace.d.ts.map +1 -0
- package/dist/diagnostics/map-gateway-trace.js +243 -0
- package/dist/diagnostics/map-gateway-trace.js.map +1 -0
- package/dist/diagnostics/trace-mode.d.ts +9 -0
- package/dist/diagnostics/trace-mode.d.ts.map +1 -0
- package/dist/diagnostics/trace-mode.js +8 -0
- package/dist/diagnostics/trace-mode.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/metadata.d.ts +7 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +65 -0
- package/dist/metadata.js.map +1 -0
- package/dist/parsers/context-parser.d.ts +2 -0
- package/dist/parsers/context-parser.d.ts.map +1 -0
- package/dist/parsers/context-parser.js +5 -0
- package/dist/parsers/context-parser.js.map +1 -0
- package/dist/parsers/input-parser.d.ts +2 -0
- package/dist/parsers/input-parser.d.ts.map +1 -0
- package/dist/parsers/input-parser.js +5 -0
- package/dist/parsers/input-parser.js.map +1 -0
- package/dist/runtime-objects.d.ts +11 -0
- package/dist/runtime-objects.d.ts.map +1 -0
- package/dist/runtime-objects.js +21 -0
- package/dist/runtime-objects.js.map +1 -0
- package/dist/skill-execution-trace-error.d.ts +20 -0
- package/dist/skill-execution-trace-error.d.ts.map +1 -0
- package/dist/skill-execution-trace-error.js +21 -0
- package/dist/skill-execution-trace-error.js.map +1 -0
- package/dist/types.d.ts +534 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/build-activix-billing-patch.d.ts +24 -0
- package/dist/utils/build-activix-billing-patch.d.ts.map +1 -0
- package/dist/utils/build-activix-billing-patch.js +70 -0
- package/dist/utils/build-activix-billing-patch.js.map +1 -0
- package/dist/utils/enrich-activix-identity.d.ts +30 -0
- package/dist/utils/enrich-activix-identity.d.ts.map +1 -0
- package/dist/utils/enrich-activix-identity.js +34 -0
- package/dist/utils/enrich-activix-identity.js.map +1 -0
- package/dist/utils/exellix-skills-logxer-defaults.d.ts +16 -0
- package/dist/utils/exellix-skills-logxer-defaults.d.ts.map +1 -0
- package/dist/utils/exellix-skills-logxer-defaults.js +37 -0
- package/dist/utils/exellix-skills-logxer-defaults.js.map +1 -0
- package/dist/utils/flex-md-parser.d.ts +23 -0
- package/dist/utils/flex-md-parser.d.ts.map +1 -0
- package/dist/utils/flex-md-parser.js +98 -0
- package/dist/utils/flex-md-parser.js.map +1 -0
- package/dist/utils/gateway-execution-summary.d.ts +18 -0
- package/dist/utils/gateway-execution-summary.d.ts.map +1 -0
- package/dist/utils/gateway-execution-summary.js +42 -0
- package/dist/utils/gateway-execution-summary.js.map +1 -0
- package/dist/utils/gateway-invoke-rejection.d.ts +9 -0
- package/dist/utils/gateway-invoke-rejection.d.ts.map +1 -0
- package/dist/utils/gateway-invoke-rejection.js +28 -0
- package/dist/utils/gateway-invoke-rejection.js.map +1 -0
- package/dist/utils/normalize-billing-metadata.d.ts +17 -0
- package/dist/utils/normalize-billing-metadata.d.ts.map +1 -0
- package/dist/utils/normalize-billing-metadata.js +75 -0
- package/dist/utils/normalize-billing-metadata.js.map +1 -0
- package/dist/utils/normalize-output-parsed.d.ts +25 -0
- package/dist/utils/normalize-output-parsed.d.ts.map +1 -0
- package/dist/utils/normalize-output-parsed.js +128 -0
- package/dist/utils/normalize-output-parsed.js.map +1 -0
- package/dist/utils/patch-activix-activity-after-skill.d.ts +19 -0
- package/dist/utils/patch-activix-activity-after-skill.d.ts.map +1 -0
- package/dist/utils/patch-activix-activity-after-skill.js +81 -0
- package/dist/utils/patch-activix-activity-after-skill.js.map +1 -0
- package/dist/utils/rendrix-render-skill-templates.d.ts +14 -0
- package/dist/utils/rendrix-render-skill-templates.d.ts.map +1 -0
- package/dist/utils/rendrix-render-skill-templates.js +25 -0
- package/dist/utils/rendrix-render-skill-templates.js.map +1 -0
- package/dist/utils/resolve-activity-id.d.ts +9 -0
- package/dist/utils/resolve-activity-id.d.ts.map +1 -0
- package/dist/utils/resolve-activity-id.js +27 -0
- package/dist/utils/resolve-activity-id.js.map +1 -0
- package/dist/utils/resolve-gateway-job-task-ids.d.ts +19 -0
- package/dist/utils/resolve-gateway-job-task-ids.d.ts.map +1 -0
- package/dist/utils/resolve-gateway-job-task-ids.js +21 -0
- package/dist/utils/resolve-gateway-job-task-ids.js.map +1 -0
- package/dist/utils/resolve-identity.d.ts +12 -0
- package/dist/utils/resolve-identity.d.ts.map +1 -0
- package/dist/utils/resolve-identity.js +36 -0
- package/dist/utils/resolve-identity.js.map +1 -0
- package/dist/utils/resolve-run-skill-ai-engine.d.ts +8 -0
- package/dist/utils/resolve-run-skill-ai-engine.d.ts.map +1 -0
- package/dist/utils/resolve-run-skill-ai-engine.js +20 -0
- package/dist/utils/resolve-run-skill-ai-engine.js.map +1 -0
- package/dist/utils/run-skill-request.d.ts +11 -0
- package/dist/utils/run-skill-request.d.ts.map +1 -0
- package/dist/utils/run-skill-request.js +44 -0
- package/dist/utils/run-skill-request.js.map +1 -0
- package/dist/utils/validate-mandatory-activix-invoke-fields.d.ts +7 -0
- package/dist/utils/validate-mandatory-activix-invoke-fields.d.ts.map +1 -0
- package/dist/utils/validate-mandatory-activix-invoke-fields.js +16 -0
- package/dist/utils/validate-mandatory-activix-invoke-fields.js.map +1 -0
- package/dist/utils/validate-session-id.d.ts +6 -0
- package/dist/utils/validate-session-id.d.ts.map +1 -0
- package/dist/utils/validate-session-id.js +18 -0
- package/dist/utils/validate-session-id.js.map +1 -0
- package/erc-manifest.json +11 -0
- package/package.json +76 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
function severityEmoji(severity) {
|
|
2
|
+
if (severity === "error")
|
|
3
|
+
return "Error";
|
|
4
|
+
if (severity === "warning")
|
|
5
|
+
return "Warning";
|
|
6
|
+
return "Info";
|
|
7
|
+
}
|
|
8
|
+
export function formatSkillRequestAnalysisMarkdown(args) {
|
|
9
|
+
const { functionId, skillKey, report, deterministicFindings = [] } = args;
|
|
10
|
+
const lines = [];
|
|
11
|
+
lines.push("# Skill request analysis");
|
|
12
|
+
lines.push("");
|
|
13
|
+
lines.push("## Summary");
|
|
14
|
+
lines.push(`- **Verdict:** ${report.verdict}`);
|
|
15
|
+
lines.push(`- **Confidence:** ${typeof report.confidence === "number" ? report.confidence.toFixed(2) : "n/a"}`);
|
|
16
|
+
lines.push(`- **Function:** \`${functionId}\` (skillKey: \`${skillKey}\`)`);
|
|
17
|
+
lines.push(`- **Recommendation:** ${recommendationForVerdict(report.verdict)}`);
|
|
18
|
+
lines.push("");
|
|
19
|
+
lines.push("## Request overview");
|
|
20
|
+
lines.push(report.inputAssessment.summary || "_No summary._");
|
|
21
|
+
lines.push("");
|
|
22
|
+
lines.push("## Input & working memory");
|
|
23
|
+
lines.push(`- Plausible: **${report.inputAssessment.plausible ? "yes" : "no"}**`);
|
|
24
|
+
if (report.inputAssessment.issues.length > 0) {
|
|
25
|
+
for (const issue of report.inputAssessment.issues) {
|
|
26
|
+
lines.push(`- (${severityEmoji(issue.severity)}) ${issue.message}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
lines.push("- No input issues reported.");
|
|
31
|
+
}
|
|
32
|
+
lines.push("");
|
|
33
|
+
lines.push("## Smart Input");
|
|
34
|
+
lines.push(`- Configured: **${report.smartInputAssessment.configured ? "yes" : "no"}**`);
|
|
35
|
+
lines.push(`- Paths OK: **${report.smartInputAssessment.pathsOk ? "yes" : "no"}**`);
|
|
36
|
+
if (report.smartInputAssessment.renderedPreview) {
|
|
37
|
+
lines.push("");
|
|
38
|
+
lines.push("```");
|
|
39
|
+
lines.push(report.smartInputAssessment.renderedPreview.slice(0, 2000));
|
|
40
|
+
lines.push("```");
|
|
41
|
+
}
|
|
42
|
+
lines.push("");
|
|
43
|
+
lines.push("## Templates");
|
|
44
|
+
if (report.templateAssessment.unresolvedTokens?.length) {
|
|
45
|
+
lines.push(`- Unresolved tokens: ${report.templateAssessment.unresolvedTokens.join(", ")}`);
|
|
46
|
+
}
|
|
47
|
+
if (report.templateAssessment.renderAnomalies?.length) {
|
|
48
|
+
for (const a of report.templateAssessment.renderAnomalies) {
|
|
49
|
+
lines.push(`- ${a}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (!report.templateAssessment.unresolvedTokens?.length &&
|
|
53
|
+
!report.templateAssessment.renderAnomalies?.length) {
|
|
54
|
+
lines.push("- No template anomalies listed.");
|
|
55
|
+
}
|
|
56
|
+
lines.push("");
|
|
57
|
+
lines.push("## Config");
|
|
58
|
+
if (report.configAssessment.modelConfigNotes) {
|
|
59
|
+
lines.push(`- Model: ${report.configAssessment.modelConfigNotes}`);
|
|
60
|
+
}
|
|
61
|
+
if (report.configAssessment.timeoutNotes) {
|
|
62
|
+
lines.push(`- Timeout: ${report.configAssessment.timeoutNotes}`);
|
|
63
|
+
}
|
|
64
|
+
lines.push("");
|
|
65
|
+
lines.push("## Expected response");
|
|
66
|
+
if (report.expectedResponse.flexMdFrame) {
|
|
67
|
+
lines.push(`- FlexMD frame: \`${report.expectedResponse.flexMdFrame}\``);
|
|
68
|
+
}
|
|
69
|
+
const parsedKeys = Object.keys(report.expectedResponse.parsedShape ?? {});
|
|
70
|
+
if (parsedKeys.length > 0) {
|
|
71
|
+
lines.push("- **parsed** keys:");
|
|
72
|
+
for (const key of parsedKeys) {
|
|
73
|
+
const entry = report.expectedResponse.parsedShape[key];
|
|
74
|
+
lines.push(` - \`${key}\` (${entry.type}, required=${entry.required}, source=${entry.source})`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (report.expectedResponse.metadataExpectations?.length) {
|
|
78
|
+
lines.push("- **metadata** expectations:");
|
|
79
|
+
for (const m of report.expectedResponse.metadataExpectations) {
|
|
80
|
+
lines.push(` - \`${m.field}\` (required=${m.required})${m.notes ? `: ${m.notes}` : ""}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
lines.push("");
|
|
84
|
+
const allFindings = mergeFindingsForTable(deterministicFindings, report.findings);
|
|
85
|
+
lines.push("## Findings");
|
|
86
|
+
lines.push("| Severity | Category | Message |");
|
|
87
|
+
lines.push("|----------|----------|---------|");
|
|
88
|
+
for (const f of allFindings) {
|
|
89
|
+
const msg = f.message.replace(/\|/g, "\\|");
|
|
90
|
+
lines.push(`| ${f.severity} | ${f.category} | ${msg} |`);
|
|
91
|
+
}
|
|
92
|
+
lines.push("");
|
|
93
|
+
lines.push("## Next steps");
|
|
94
|
+
const blockers = allFindings.filter((f) => f.severity === "error");
|
|
95
|
+
if (blockers.length === 0) {
|
|
96
|
+
lines.push(report.verdict === "ok" ? "1. Proceed with `runSkill` when ready." : "1. Review warnings before invoke.");
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
blockers.forEach((f, i) => {
|
|
100
|
+
lines.push(`${i + 1}. Fix **${f.id}**: ${f.suggestion ?? f.message}`);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
lines.push("");
|
|
104
|
+
return lines.join("\n");
|
|
105
|
+
}
|
|
106
|
+
function recommendationForVerdict(verdict) {
|
|
107
|
+
if (verdict === "ok")
|
|
108
|
+
return "Proceed with runSkill when ready.";
|
|
109
|
+
if (verdict === "warnings")
|
|
110
|
+
return "Review warnings; invoke may still succeed.";
|
|
111
|
+
return "Fix errors before invoking ai-gateway.";
|
|
112
|
+
}
|
|
113
|
+
function mergeFindingsForTable(a, b) {
|
|
114
|
+
const byId = new Map();
|
|
115
|
+
for (const f of [...a, ...b]) {
|
|
116
|
+
byId.set(f.id + (f.path ?? ""), f);
|
|
117
|
+
}
|
|
118
|
+
const order = { error: 0, warning: 1, info: 2 };
|
|
119
|
+
return [...byId.values()].sort((x, y) => order[x.severity] - order[y.severity]);
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=format-skill-request-analysis-markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-skill-request-analysis-markdown.js","sourceRoot":"","sources":["../../src/analysis/format-skill-request-analysis-markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Resolves a dot-path against a nested object (e.g. `executionMemory.jobVariables.tone`). */
|
|
2
|
+
export declare function resolveDotPath(root: unknown, path: string): {
|
|
3
|
+
found: boolean;
|
|
4
|
+
value: unknown;
|
|
5
|
+
};
|
|
6
|
+
export declare function isEmptyResolvedValue(value: unknown): boolean;
|
|
7
|
+
/** Extracts `{{token}}` paths from template text (excludes smartInput shorthand). */
|
|
8
|
+
export declare function extractTemplateTokenInventory(...texts: string[]): string[];
|
|
9
|
+
export declare function extractFlexMdFrameHint(...texts: string[]): string | undefined;
|
|
10
|
+
export declare function findUnresolvedMustacheTokens(rendered: string, allowSmartInput?: boolean): string[];
|
|
11
|
+
//# sourceMappingURL=path-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-utils.d.ts","sourceRoot":"","sources":["../../src/analysis/path-utils.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAgB9F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM5D;AAED,qFAAqF;AACrF,wBAAgB,6BAA6B,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAa1E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAM7E;AAID,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,UAAQ,GAAG,MAAM,EAAE,CAShG"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/** Resolves a dot-path against a nested object (e.g. `executionMemory.jobVariables.tone`). */
|
|
2
|
+
export function resolveDotPath(root, path) {
|
|
3
|
+
const segments = path
|
|
4
|
+
.split(".")
|
|
5
|
+
.map((s) => s.trim())
|
|
6
|
+
.filter(Boolean);
|
|
7
|
+
if (segments.length === 0) {
|
|
8
|
+
return { found: false, value: undefined };
|
|
9
|
+
}
|
|
10
|
+
let cur = root;
|
|
11
|
+
for (const seg of segments) {
|
|
12
|
+
if (cur === null || cur === undefined || typeof cur !== "object" || Array.isArray(cur)) {
|
|
13
|
+
return { found: false, value: undefined };
|
|
14
|
+
}
|
|
15
|
+
cur = cur[seg];
|
|
16
|
+
}
|
|
17
|
+
return { found: true, value: cur };
|
|
18
|
+
}
|
|
19
|
+
export function isEmptyResolvedValue(value) {
|
|
20
|
+
if (value === undefined || value === null)
|
|
21
|
+
return true;
|
|
22
|
+
if (typeof value === "string")
|
|
23
|
+
return value.trim().length === 0;
|
|
24
|
+
if (Array.isArray(value))
|
|
25
|
+
return value.length === 0;
|
|
26
|
+
if (typeof value === "object")
|
|
27
|
+
return Object.keys(value).length === 0;
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
/** Extracts `{{token}}` paths from template text (excludes smartInput shorthand). */
|
|
31
|
+
export function extractTemplateTokenInventory(...texts) {
|
|
32
|
+
const tokens = new Set();
|
|
33
|
+
const re = /\{\{\s*([^}|#][^}]*?)\s*\}\}/g;
|
|
34
|
+
for (const text of texts) {
|
|
35
|
+
if (!text)
|
|
36
|
+
continue;
|
|
37
|
+
for (const match of text.matchAll(re)) {
|
|
38
|
+
const inner = (match[1] ?? "").trim();
|
|
39
|
+
if (!inner || inner === "smartInput")
|
|
40
|
+
continue;
|
|
41
|
+
const root = inner.split(/[|#]/)[0]?.trim().split(".")[0]?.trim();
|
|
42
|
+
if (root)
|
|
43
|
+
tokens.add(inner.split(/[|#]/)[0]?.trim() ?? inner);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return [...tokens].sort();
|
|
47
|
+
}
|
|
48
|
+
export function extractFlexMdFrameHint(...texts) {
|
|
49
|
+
for (const text of texts) {
|
|
50
|
+
const m = text?.match(/\[\[frame:\s*([^\]]+)\]\]/);
|
|
51
|
+
if (m?.[1])
|
|
52
|
+
return m[1].trim();
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const UNRESOLVED_MUSTACHE = /\{\{\s*[^}]+\s*\}\}/g;
|
|
57
|
+
export function findUnresolvedMustacheTokens(rendered, allowSmartInput = false) {
|
|
58
|
+
if (!rendered)
|
|
59
|
+
return [];
|
|
60
|
+
const hits = new Set();
|
|
61
|
+
for (const match of rendered.matchAll(UNRESOLVED_MUSTACHE)) {
|
|
62
|
+
const token = match[0];
|
|
63
|
+
if (allowSmartInput && /\{\{\s*smartInput\s*\}\}/.test(token))
|
|
64
|
+
continue;
|
|
65
|
+
hits.add(token);
|
|
66
|
+
}
|
|
67
|
+
return [...hits];
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=path-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../../src/analysis/path-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { RunSkillRequest } from "../types.js";
|
|
2
|
+
import type { SkillGatewayInvokePayload } from "../client/build-gateway-invoke-request.js";
|
|
3
|
+
export declare function sanitizeGatewayPayloadForPacket(payload: SkillGatewayInvokePayload, maxTemplateChars: number): Record<string, unknown>;
|
|
4
|
+
export declare function sanitizeRunSkillRequestForPacket(skillRequest: RunSkillRequest): Record<string, unknown>;
|
|
5
|
+
export declare function sanitizeTemplatesForPacket(raw: {
|
|
6
|
+
instructions: string;
|
|
7
|
+
prompt: string;
|
|
8
|
+
}, rendered: {
|
|
9
|
+
instructions: string;
|
|
10
|
+
prompt: string;
|
|
11
|
+
}, maxChars: number): AnalyzeGatewayInvokeTemplatesPacket;
|
|
12
|
+
type AnalyzeGatewayInvokeTemplatesPacket = {
|
|
13
|
+
raw?: {
|
|
14
|
+
instructions?: string;
|
|
15
|
+
prompt?: string;
|
|
16
|
+
instructionsTruncated?: boolean;
|
|
17
|
+
promptTruncated?: boolean;
|
|
18
|
+
};
|
|
19
|
+
rendered?: {
|
|
20
|
+
instructions?: string;
|
|
21
|
+
prompt?: string;
|
|
22
|
+
instructionsTruncated?: boolean;
|
|
23
|
+
promptTruncated?: boolean;
|
|
24
|
+
};
|
|
25
|
+
catalogStatus?: string;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=sanitize-for-packet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-for-packet.d.ts","sourceRoot":"","sources":["../../src/analysis/sanitize-for-packet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AA4B3F,wBAAgB,+BAA+B,CAC3C,OAAO,EAAE,yBAAyB,EAClC,gBAAgB,EAAE,MAAM,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB;AAED,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BvG;AAED,wBAAgB,0BAA0B,CACtC,GAAG,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC7C,QAAQ,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAClD,QAAQ,EAAE,MAAM,GACjB,mCAAmC,CAoBrC;AAED,KAAK,mCAAmC,GAAG;IACvC,GAAG,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7G,QAAQ,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAClH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
function truncateString(s, maxChars) {
|
|
2
|
+
if (s.length <= maxChars)
|
|
3
|
+
return { text: s, truncated: false };
|
|
4
|
+
return { text: s.slice(0, maxChars), truncated: true };
|
|
5
|
+
}
|
|
6
|
+
function summarizeRecord(value, maxKeys = 24) {
|
|
7
|
+
if (!value || typeof value !== "object")
|
|
8
|
+
return undefined;
|
|
9
|
+
const keys = Object.keys(value);
|
|
10
|
+
if (keys.length === 0)
|
|
11
|
+
return {};
|
|
12
|
+
const out = { __keyCount: keys.length };
|
|
13
|
+
for (const k of keys.slice(0, maxKeys)) {
|
|
14
|
+
const v = value[k];
|
|
15
|
+
if (v === null || v === undefined)
|
|
16
|
+
out[k] = v;
|
|
17
|
+
else if (typeof v === "string")
|
|
18
|
+
out[k] = v.length > 200 ? `${v.slice(0, 200)}…` : v;
|
|
19
|
+
else if (typeof v === "object" && !Array.isArray(v)) {
|
|
20
|
+
out[k] = { __nestedKeys: Object.keys(v).length };
|
|
21
|
+
}
|
|
22
|
+
else if (Array.isArray(v))
|
|
23
|
+
out[k] = { __arrayLength: v.length };
|
|
24
|
+
else
|
|
25
|
+
out[k] = v;
|
|
26
|
+
}
|
|
27
|
+
if (keys.length > maxKeys)
|
|
28
|
+
out.__truncatedKeys = keys.length - maxKeys;
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
export function sanitizeGatewayPayloadForPacket(payload, maxTemplateChars) {
|
|
32
|
+
const copy = { ...payload };
|
|
33
|
+
if (typeof copy.instructions === "string") {
|
|
34
|
+
const t = truncateString(copy.instructions, maxTemplateChars);
|
|
35
|
+
copy.instructions = t.text;
|
|
36
|
+
if (t.truncated)
|
|
37
|
+
copy.instructionsTruncated = true;
|
|
38
|
+
}
|
|
39
|
+
if (typeof copy.prompt === "string") {
|
|
40
|
+
const t = truncateString(copy.prompt, maxTemplateChars);
|
|
41
|
+
copy.prompt = t.text;
|
|
42
|
+
if (t.truncated)
|
|
43
|
+
copy.promptTruncated = true;
|
|
44
|
+
}
|
|
45
|
+
if (copy.workingMemory && typeof copy.workingMemory === "object") {
|
|
46
|
+
copy.workingMemory = summarizeRecord(copy.workingMemory, 40);
|
|
47
|
+
}
|
|
48
|
+
if (typeof copy.context === "string" && copy.context.length > maxTemplateChars) {
|
|
49
|
+
const t = truncateString(copy.context, maxTemplateChars);
|
|
50
|
+
copy.context = t.text;
|
|
51
|
+
if (t.truncated)
|
|
52
|
+
copy.contextTruncated = true;
|
|
53
|
+
}
|
|
54
|
+
return copy;
|
|
55
|
+
}
|
|
56
|
+
export function sanitizeRunSkillRequestForPacket(skillRequest) {
|
|
57
|
+
const functionId = skillRequest.skillKey;
|
|
58
|
+
return {
|
|
59
|
+
functionId,
|
|
60
|
+
input: skillRequest.input,
|
|
61
|
+
agentId: skillRequest.agentId,
|
|
62
|
+
jobTypeId: skillRequest.jobTypeId,
|
|
63
|
+
taskTypeId: skillRequest.taskTypeId,
|
|
64
|
+
jobId: skillRequest.jobId,
|
|
65
|
+
taskId: skillRequest.taskId,
|
|
66
|
+
sessionId: skillRequest.sessionId,
|
|
67
|
+
variables: summarizeRecord(skillRequest.variables),
|
|
68
|
+
executionMemory: summarizeRecord(skillRequest.executionMemory),
|
|
69
|
+
context: typeof skillRequest.context === "string"
|
|
70
|
+
? skillRequest.context.length > 2000
|
|
71
|
+
? `${skillRequest.context.slice(0, 2000)}…`
|
|
72
|
+
: skillRequest.context
|
|
73
|
+
: summarizeRecord(skillRequest.context),
|
|
74
|
+
knowledge: summarizeRecord(skillRequest.knowledge),
|
|
75
|
+
jobMemory: skillRequest.jobMemory ? { __present: true, __type: typeof skillRequest.jobMemory } : undefined,
|
|
76
|
+
taskMemory: skillRequest.taskMemory ? { __present: true, __type: typeof skillRequest.taskMemory } : undefined,
|
|
77
|
+
modelConfig: skillRequest.modelConfig,
|
|
78
|
+
smartInput: skillRequest.smartInput,
|
|
79
|
+
smartInputRenderOptions: skillRequest.smartInputRenderOptions,
|
|
80
|
+
templateRenderOptions: skillRequest.templateRenderOptions,
|
|
81
|
+
outputContract: skillRequest.outputContract,
|
|
82
|
+
timeoutMs: skillRequest.timeoutMs,
|
|
83
|
+
aiEngineId: skillRequest.aiEngineId,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export function sanitizeTemplatesForPacket(raw, rendered, maxChars) {
|
|
87
|
+
const trunc = (s) => truncateString(s, maxChars);
|
|
88
|
+
const insR = trunc(raw.instructions);
|
|
89
|
+
const prR = trunc(raw.prompt);
|
|
90
|
+
const insD = trunc(rendered.instructions);
|
|
91
|
+
const prD = trunc(rendered.prompt);
|
|
92
|
+
return {
|
|
93
|
+
raw: {
|
|
94
|
+
instructions: insR.text,
|
|
95
|
+
...(insR.truncated ? { instructionsTruncated: true } : {}),
|
|
96
|
+
prompt: prR.text,
|
|
97
|
+
...(prR.truncated ? { promptTruncated: true } : {}),
|
|
98
|
+
},
|
|
99
|
+
rendered: {
|
|
100
|
+
instructions: insD.text,
|
|
101
|
+
...(insD.truncated ? { instructionsTruncated: true } : {}),
|
|
102
|
+
prompt: prD.text,
|
|
103
|
+
...(prD.truncated ? { promptTruncated: true } : {}),
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=sanitize-for-packet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-for-packet.js","sourceRoot":"","sources":["../../src/analysis/sanitize-for-packet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import type { SkillGatewayInvokePayload } from "../client/build-gateway-invoke-request.js";
|
|
2
|
+
import type { OutputContract } from "../utils/normalize-output-parsed.js";
|
|
3
|
+
export type SkillRequestAnalysisSeverity = "error" | "warning" | "info";
|
|
4
|
+
export type SkillRequestAnalysisCategory = "activix" | "session" | "workingMemory" | "smartInput" | "template" | "outputContract" | "modelConfig" | "executionMemory" | "catalog" | "prediction";
|
|
5
|
+
export interface SkillRequestAnalysisFinding {
|
|
6
|
+
id: string;
|
|
7
|
+
severity: SkillRequestAnalysisSeverity;
|
|
8
|
+
category: SkillRequestAnalysisCategory;
|
|
9
|
+
path?: string;
|
|
10
|
+
message: string;
|
|
11
|
+
suggestion?: string;
|
|
12
|
+
evidence?: string;
|
|
13
|
+
}
|
|
14
|
+
export type SkillRequestAnalysisVerdict = "ok" | "warnings" | "errors";
|
|
15
|
+
export interface SkillRequestAnalysisParsedShapeEntry {
|
|
16
|
+
type: "string" | "object" | "array" | "unknown";
|
|
17
|
+
required: boolean;
|
|
18
|
+
source: "outputContract" | "template" | "flexMd" | "inferred";
|
|
19
|
+
description?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface SkillRequestAnalysisReport {
|
|
22
|
+
verdict: SkillRequestAnalysisVerdict;
|
|
23
|
+
confidence: number;
|
|
24
|
+
inputAssessment: {
|
|
25
|
+
plausible: boolean;
|
|
26
|
+
summary: string;
|
|
27
|
+
issues: SkillRequestAnalysisFinding[];
|
|
28
|
+
};
|
|
29
|
+
smartInputAssessment: {
|
|
30
|
+
configured: boolean;
|
|
31
|
+
pathsOk: boolean;
|
|
32
|
+
issues: SkillRequestAnalysisFinding[];
|
|
33
|
+
renderedPreview?: string;
|
|
34
|
+
};
|
|
35
|
+
templateAssessment: {
|
|
36
|
+
issues: SkillRequestAnalysisFinding[];
|
|
37
|
+
unresolvedTokens?: string[];
|
|
38
|
+
renderAnomalies?: string[];
|
|
39
|
+
};
|
|
40
|
+
configAssessment: {
|
|
41
|
+
issues: SkillRequestAnalysisFinding[];
|
|
42
|
+
modelConfigNotes?: string;
|
|
43
|
+
timeoutNotes?: string;
|
|
44
|
+
};
|
|
45
|
+
expectedResponse: {
|
|
46
|
+
flexMdFrame?: string;
|
|
47
|
+
flexMdPayloads?: Array<{
|
|
48
|
+
name: string;
|
|
49
|
+
required: boolean;
|
|
50
|
+
description?: string;
|
|
51
|
+
}>;
|
|
52
|
+
parsedShape: Record<string, SkillRequestAnalysisParsedShapeEntry>;
|
|
53
|
+
metadataExpectations: Array<{
|
|
54
|
+
field: string;
|
|
55
|
+
required: boolean;
|
|
56
|
+
notes?: string;
|
|
57
|
+
}>;
|
|
58
|
+
runSkillResponseShape: {
|
|
59
|
+
fields: Array<"rawText" | "flexMd" | "parsed" | "metadata" | "identity" | "diagnostics">;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
findings: SkillRequestAnalysisFinding[];
|
|
63
|
+
}
|
|
64
|
+
export interface AnalyzeSkillRequestOptions {
|
|
65
|
+
/** FuncX mode profile; default `strong`. */
|
|
66
|
+
funcxMode?: "weak" | "normal" | "strong" | "ultra";
|
|
67
|
+
/** Skip Catalox fetch (caller supplies template bodies). */
|
|
68
|
+
templateOverride?: {
|
|
69
|
+
instructions: string;
|
|
70
|
+
prompt: string;
|
|
71
|
+
};
|
|
72
|
+
/** Max chars per template field in the FuncX packet; default 12000. */
|
|
73
|
+
maxTemplateCharsInPacket?: number;
|
|
74
|
+
/** Throw when SDK deterministic findings include `severity: "error"`. */
|
|
75
|
+
strictDeterministic?: boolean;
|
|
76
|
+
/** Skip FuncX LLM; return report built from deterministic findings only. */
|
|
77
|
+
deterministicOnly?: boolean;
|
|
78
|
+
/** When false, FuncX returns parsed JSON without Ajv throw (default true). */
|
|
79
|
+
funcxValidateOutput?: boolean;
|
|
80
|
+
cataloxAppId?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Test-only override for `@x12i/funcx/functions` `run()`.
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
funcxRunOverride?: (functionId: string, packet: AnalyzeGatewayInvokeRequestPacket, options: {
|
|
86
|
+
mode?: string;
|
|
87
|
+
validateOutput?: boolean;
|
|
88
|
+
[key: string]: unknown;
|
|
89
|
+
}) => Promise<unknown>;
|
|
90
|
+
}
|
|
91
|
+
export interface AnalyzeSkillRequestResult {
|
|
92
|
+
functionId: string;
|
|
93
|
+
skillKey: string;
|
|
94
|
+
verdict: SkillRequestAnalysisVerdict;
|
|
95
|
+
confidence?: number;
|
|
96
|
+
report: SkillRequestAnalysisReport;
|
|
97
|
+
markdownReport: string;
|
|
98
|
+
deterministicFindings: SkillRequestAnalysisFinding[];
|
|
99
|
+
gatewayPayload?: SkillGatewayInvokePayload;
|
|
100
|
+
}
|
|
101
|
+
/** Packet sent to FuncX `ai-skills/analyze-gateway-invoke-request`. */
|
|
102
|
+
export interface AnalyzeGatewayInvokeRequestPacket {
|
|
103
|
+
functionId: string;
|
|
104
|
+
aiRequestId?: string;
|
|
105
|
+
jobId?: string;
|
|
106
|
+
taskId?: string;
|
|
107
|
+
agentId?: string;
|
|
108
|
+
jobTypeId?: string;
|
|
109
|
+
taskTypeId?: string;
|
|
110
|
+
gatewayPayload: Record<string, unknown>;
|
|
111
|
+
runSkillRequest?: Record<string, unknown>;
|
|
112
|
+
templates?: {
|
|
113
|
+
raw?: {
|
|
114
|
+
instructions?: string;
|
|
115
|
+
prompt?: string;
|
|
116
|
+
};
|
|
117
|
+
rendered?: {
|
|
118
|
+
instructions?: string;
|
|
119
|
+
prompt?: string;
|
|
120
|
+
};
|
|
121
|
+
catalogStatus?: string;
|
|
122
|
+
};
|
|
123
|
+
outputContract?: OutputContract;
|
|
124
|
+
resolvedOutputFields?: string[];
|
|
125
|
+
deterministicFindings?: SkillRequestAnalysisFinding[];
|
|
126
|
+
flexMdFrameHint?: string;
|
|
127
|
+
templateTokenInventory?: string[];
|
|
128
|
+
}
|
|
129
|
+
export interface BuildSkillRequestAnalysisPacketResult {
|
|
130
|
+
packet: AnalyzeGatewayInvokeRequestPacket;
|
|
131
|
+
deterministicFindings: SkillRequestAnalysisFinding[];
|
|
132
|
+
gatewayPayload: SkillGatewayInvokePayload;
|
|
133
|
+
instructionsRaw: string;
|
|
134
|
+
promptRaw: string;
|
|
135
|
+
instructionsRendered: string;
|
|
136
|
+
promptRendered: string;
|
|
137
|
+
catalogStatus?: string;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/analysis/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/analysis/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonical-skill-key.d.ts","sourceRoot":"","sources":["../../src/catalog/canonical-skill-key.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS1D"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize caller `skillKey` to canonical DB form `skills/<id>` (no `.instructions` / `.prompt` suffix).
|
|
3
|
+
*/
|
|
4
|
+
export function canonicalSkillKey(skillKey) {
|
|
5
|
+
let s = skillKey.trim().replace(/\\/g, "/");
|
|
6
|
+
if (s.startsWith("./"))
|
|
7
|
+
s = s.slice(2);
|
|
8
|
+
if (s.startsWith("/"))
|
|
9
|
+
s = s.slice(1);
|
|
10
|
+
s = s.replace(/\.(instructions|prompt)(\.md)?$/i, "");
|
|
11
|
+
if (!s.startsWith("skills/")) {
|
|
12
|
+
s = `skills/${s}`;
|
|
13
|
+
}
|
|
14
|
+
return s;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=canonical-skill-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonical-skill-key.js","sourceRoot":"","sources":["../../src/catalog/canonical-skill-key.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAC9C,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Default Mongo database name for the AI skill meta catalog (override with `XILLIX_META_DB`). */
|
|
2
|
+
export declare const DEFAULT_XILLIX_META_DB = "xillix";
|
|
3
|
+
/** Default database for live catalog tests (override with `XILLIX_META_DB_TEST`). */
|
|
4
|
+
export declare const DEFAULT_XILLIX_META_DB_TEST = "xillix-tests";
|
|
5
|
+
/** Primary collection for skill catalog documents. */
|
|
6
|
+
export declare const AI_SKILL_CATALOG_COLLECTION = "ai_skill_catalog";
|
|
7
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/catalog/constants.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAE/C,qFAAqF;AACrF,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AAE1D,sDAAsD;AACtD,eAAO,MAAM,2BAA2B,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Default Mongo database name for the AI skill meta catalog (override with `XILLIX_META_DB`). */
|
|
2
|
+
export const DEFAULT_XILLIX_META_DB = "xillix";
|
|
3
|
+
/** Default database for live catalog tests (override with `XILLIX_META_DB_TEST`). */
|
|
4
|
+
export const DEFAULT_XILLIX_META_DB_TEST = "xillix-tests";
|
|
5
|
+
/** Primary collection for skill catalog documents. */
|
|
6
|
+
export const AI_SKILL_CATALOG_COLLECTION = "ai_skill_catalog";
|
|
7
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/catalog/constants.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAE/C,qFAAqF;AACrF,MAAM,CAAC,MAAM,2BAA2B,GAAG,cAAc,CAAC;AAE1D,sDAAsD;AACtD,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/catalog/env.ts"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAGhD;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CAGnD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DEFAULT_XILLIX_META_DB, DEFAULT_XILLIX_META_DB_TEST } from "./constants.js";
|
|
2
|
+
export function getXillixMetaDbName() {
|
|
3
|
+
const v = process.env.XILLIX_META_DB?.trim();
|
|
4
|
+
return v && v.length > 0 ? v : DEFAULT_XILLIX_META_DB;
|
|
5
|
+
}
|
|
6
|
+
export function getXillixTestMetaDbName() {
|
|
7
|
+
const v = process.env.XILLIX_META_DB_TEST?.trim();
|
|
8
|
+
return v && v.length > 0 ? v : DEFAULT_XILLIX_META_DB_TEST;
|
|
9
|
+
}
|
|
10
|
+
export function isXillixHardDeleteAllowed() {
|
|
11
|
+
if (process.env.NODE_ENV === "production")
|
|
12
|
+
return false;
|
|
13
|
+
return process.env.XILLIX_ALLOW_HARD_DELETE === "true" || process.env.XILLIX_ALLOW_HARD_DELETE === "1";
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/catalog/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAErF,MAAM,UAAU,mBAAmB;IAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,uBAAuB;IACnC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,yBAAyB;IACrC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IACxD,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC;AAC3G,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* nx-content / ai-gateway treat strings with **no whitespace** as registry keys.
|
|
3
|
+
* Ensure DB-sourced templates are always parsed as literal template text.
|
|
4
|
+
*/
|
|
5
|
+
export declare function ensureGatewayTreatsAsTemplateText(text: string): string;
|
|
6
|
+
//# sourceMappingURL=gateway-template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-template.d.ts","sourceRoot":"","sources":["../../src/catalog/gateway-template.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMtE"}
|