@easynet/agent-tool 1.0.88 → 1.0.89
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/api/adapters/LangChainToolsHub.d.ts.map +1 -1
- package/dist/api/expose/mcpServer.d.ts.map +1 -1
- package/dist/{chunk-PJDINB7G.cjs → chunk-AK3C5LLW.cjs} +68 -7
- package/dist/chunk-AK3C5LLW.cjs.map +1 -0
- package/dist/{chunk-BBNQ6AWK.js → chunk-GAC3N3KH.js} +66 -6
- package/dist/chunk-GAC3N3KH.js.map +1 -0
- package/dist/core/runtime/PTCRuntime.d.ts.map +1 -1
- package/dist/core/runtime/toolObservation.d.ts +7 -0
- package/dist/core/runtime/toolObservation.d.ts.map +1 -0
- package/dist/core/types/ToolResult.d.ts +9 -0
- package/dist/core/types/ToolResult.d.ts.map +1 -1
- package/dist/index.cjs +11 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -13
- package/dist/index.js.map +1 -1
- package/dist/utils/cli/index.cjs +12 -12
- package/dist/utils/cli/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-BBNQ6AWK.js.map +0 -1
- package/dist/chunk-PJDINB7G.cjs.map +0 -1
|
@@ -1645,6 +1645,7 @@ var PTCRuntime = class {
|
|
|
1645
1645
|
});
|
|
1646
1646
|
}
|
|
1647
1647
|
const validatedOutput = validateOutput(pipeline.spec, pipeline.result, this.validator);
|
|
1648
|
+
const toolFeedback = asToolReturnedFeedback(validatedOutput);
|
|
1648
1649
|
const durationMs = Date.now() - startTime;
|
|
1649
1650
|
const builtEvidence = buildEvidence({
|
|
1650
1651
|
spec: pipeline.spec,
|
|
@@ -1668,6 +1669,7 @@ var PTCRuntime = class {
|
|
|
1668
1669
|
return {
|
|
1669
1670
|
ok: true,
|
|
1670
1671
|
result: validatedOutput,
|
|
1672
|
+
feedback: toolFeedback ?? void 0,
|
|
1671
1673
|
evidence,
|
|
1672
1674
|
raw: this.config.includeRaw !== false ? pipeline.raw : void 0
|
|
1673
1675
|
};
|
|
@@ -1710,6 +1712,25 @@ function asToolReturnedError(result) {
|
|
|
1710
1712
|
}
|
|
1711
1713
|
return { message: msg.trim(), details: r.details };
|
|
1712
1714
|
}
|
|
1715
|
+
function asToolReturnedFeedback(result) {
|
|
1716
|
+
if (result == null || typeof result !== "object" || Array.isArray(result)) return null;
|
|
1717
|
+
const rec = result;
|
|
1718
|
+
const feedbackRaw = rec.feedback;
|
|
1719
|
+
if (!feedbackRaw || typeof feedbackRaw !== "object" || Array.isArray(feedbackRaw)) return null;
|
|
1720
|
+
const feedback = feedbackRaw;
|
|
1721
|
+
const status = typeof feedback.status === "string" ? feedback.status.trim() : "";
|
|
1722
|
+
const allowed = /* @__PURE__ */ new Set(["resolved", "needs_retry", "needs_input", "blocked"]);
|
|
1723
|
+
if (!allowed.has(status)) return null;
|
|
1724
|
+
const message = typeof feedback.message === "string" ? feedback.message.trim() : "";
|
|
1725
|
+
if (!message) return null;
|
|
1726
|
+
return {
|
|
1727
|
+
status,
|
|
1728
|
+
message,
|
|
1729
|
+
hint: typeof feedback.hint === "string" ? feedback.hint : void 0,
|
|
1730
|
+
suggested_intent_patch: feedback.suggested_intent_patch && typeof feedback.suggested_intent_patch === "object" && !Array.isArray(feedback.suggested_intent_patch) ? feedback.suggested_intent_patch : void 0,
|
|
1731
|
+
suggested_tool_args: feedback.suggested_tool_args && typeof feedback.suggested_tool_args === "object" && !Array.isArray(feedback.suggested_tool_args) ? feedback.suggested_tool_args : void 0
|
|
1732
|
+
};
|
|
1733
|
+
}
|
|
1713
1734
|
function buildInputSchemaHint(inputSchema) {
|
|
1714
1735
|
const schema = inputSchema;
|
|
1715
1736
|
const required = schema.required;
|
|
@@ -2198,6 +2219,46 @@ async function createRuntimeFromConfig(options = {}) {
|
|
|
2198
2219
|
return createRuntimeFromConfigSync(options);
|
|
2199
2220
|
}
|
|
2200
2221
|
|
|
2222
|
+
// src/core/runtime/toolObservation.ts
|
|
2223
|
+
var PTC_FEEDBACK_MARKER = "__PTC_FEEDBACK__:";
|
|
2224
|
+
function tryStringify(value) {
|
|
2225
|
+
if (typeof value === "string") return value;
|
|
2226
|
+
try {
|
|
2227
|
+
return JSON.stringify(value);
|
|
2228
|
+
} catch {
|
|
2229
|
+
return String(value);
|
|
2230
|
+
}
|
|
2231
|
+
}
|
|
2232
|
+
function extractObservationText(value) {
|
|
2233
|
+
if (!value || typeof value !== "object") return null;
|
|
2234
|
+
const record = value;
|
|
2235
|
+
const nested = record.result;
|
|
2236
|
+
if (nested && typeof nested === "object" && typeof nested.output === "string") {
|
|
2237
|
+
return nested.output;
|
|
2238
|
+
}
|
|
2239
|
+
if (typeof record.output === "string") return record.output;
|
|
2240
|
+
return null;
|
|
2241
|
+
}
|
|
2242
|
+
function encodeFeedback(feedback, includeFeedbackMarker) {
|
|
2243
|
+
if (!includeFeedbackMarker || !feedback) return "";
|
|
2244
|
+
return `${PTC_FEEDBACK_MARKER}${tryStringify(feedback)}
|
|
2245
|
+
`;
|
|
2246
|
+
}
|
|
2247
|
+
function toToolObservationText(result, opts = {}) {
|
|
2248
|
+
const includeFeedbackMarker = opts.includeFeedbackMarker === true;
|
|
2249
|
+
if (result.ok) {
|
|
2250
|
+
const prefix = encodeFeedback(result.feedback, includeFeedbackMarker);
|
|
2251
|
+
if (typeof result.result === "string") return `${prefix}${result.result}`;
|
|
2252
|
+
const observation = extractObservationText(result.result);
|
|
2253
|
+
if (observation != null) return `${prefix}${observation}`;
|
|
2254
|
+
return `${prefix}${tryStringify(result.result)}`;
|
|
2255
|
+
}
|
|
2256
|
+
const err = result.error;
|
|
2257
|
+
const message = err?.message ?? "Tool failed";
|
|
2258
|
+
const details = err?.details;
|
|
2259
|
+
return tryStringify(details != null ? { error: message, kind: err?.kind, details } : { error: message, kind: err?.kind });
|
|
2260
|
+
}
|
|
2261
|
+
|
|
2201
2262
|
// src/api/expose/mcpServer.ts
|
|
2202
2263
|
var DEFAULT_CTX = {
|
|
2203
2264
|
requestId: `mcp-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,
|
|
@@ -2240,14 +2301,13 @@ async function createMcpServerWithTools(runtime, options) {
|
|
|
2240
2301
|
ctx
|
|
2241
2302
|
);
|
|
2242
2303
|
if (result.ok) {
|
|
2243
|
-
return { content: [{ type: "text", text:
|
|
2304
|
+
return { content: [{ type: "text", text: toToolObservationText(result) }] };
|
|
2244
2305
|
}
|
|
2245
|
-
const err = result.error;
|
|
2246
2306
|
return {
|
|
2247
2307
|
content: [
|
|
2248
2308
|
{
|
|
2249
2309
|
type: "text",
|
|
2250
|
-
text:
|
|
2310
|
+
text: toToolObservationText(result)
|
|
2251
2311
|
}
|
|
2252
2312
|
],
|
|
2253
2313
|
isError: true
|
|
@@ -2713,6 +2773,6 @@ async function createHttpService(runtimeOrConfig, options = {}) {
|
|
|
2713
2773
|
};
|
|
2714
2774
|
}
|
|
2715
2775
|
|
|
2716
|
-
export { createHttpService, createMCPServerStreamableHttp, createRuntimeFromConfig, createRuntimeFromConfigSync, expandToolDescriptorsToRegistryNames, fileDescriptorToPackagePrefix, findAndLoadToolConfig, getDisplayScope, isBarePackageDescriptor, loadAllExtensionsFromToolYamlSync, loadToolConfig, npmDescriptorToPackagePrefixWithVersion, resolveSandboxedPath, resolveToolDescriptor, runMCPServerOverStdio };
|
|
2717
|
-
//# sourceMappingURL=chunk-
|
|
2718
|
-
//# sourceMappingURL=chunk-
|
|
2776
|
+
export { createHttpService, createMCPServerStreamableHttp, createRuntimeFromConfig, createRuntimeFromConfigSync, expandToolDescriptorsToRegistryNames, fileDescriptorToPackagePrefix, findAndLoadToolConfig, getDisplayScope, isBarePackageDescriptor, loadAllExtensionsFromToolYamlSync, loadToolConfig, npmDescriptorToPackagePrefixWithVersion, resolveSandboxedPath, resolveToolDescriptor, runMCPServerOverStdio, toToolObservationText };
|
|
2777
|
+
//# sourceMappingURL=chunk-GAC3N3KH.js.map
|
|
2778
|
+
//# sourceMappingURL=chunk-GAC3N3KH.js.map
|