@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,35 @@
|
|
|
1
|
+
import { AIGateway } from "@x12i/ai-gateway";
|
|
2
|
+
import { type Logxer } from "@x12i/logxer";
|
|
3
|
+
import { BaseClient } from "./base-client.js";
|
|
4
|
+
import { RunSkillRequest, RunSkillResponse } from "../types.js";
|
|
5
|
+
import type { Catalox } from "@x12i/catalox";
|
|
6
|
+
/**
|
|
7
|
+
* SkillExecutor
|
|
8
|
+
*
|
|
9
|
+
* WHY: This class specializes in the core "execution" phase of a skill.
|
|
10
|
+
* **`skillKey` → Catalox only:** templates are fetched with
|
|
11
|
+
* {@link fetchSkillTemplatesFromCatalox}; the gateway never performs skill-key
|
|
12
|
+
* or content-registry resolution for this path.
|
|
13
|
+
* **Gateway (`ai-gateway`):** receives inline template **text** on `invoke` and owns Rendrix rendering
|
|
14
|
+
* plus gateway-native response parsing.
|
|
15
|
+
*/
|
|
16
|
+
export type SkillExecutorContentOptions = {
|
|
17
|
+
catalox: Catalox;
|
|
18
|
+
cataloxAppId?: string;
|
|
19
|
+
};
|
|
20
|
+
export declare class SkillExecutor extends BaseClient {
|
|
21
|
+
private readonly contentOptions;
|
|
22
|
+
constructor(gateway: AIGateway, logger: Logxer, contentOptions: SkillExecutorContentOptions);
|
|
23
|
+
/**
|
|
24
|
+
* Executes a skill by sending the input to the AI Gateway.
|
|
25
|
+
*
|
|
26
|
+
* WHY: We need a centralized way to handle skill invocation that includes
|
|
27
|
+
* logging, timing, and automatic parsing of the output.
|
|
28
|
+
*
|
|
29
|
+
* @param input The request parameters for the skill.
|
|
30
|
+
* @param onNotFound Optional callback to run diagnostics if the skill content is not found.
|
|
31
|
+
* @returns A promise resolving to the structured skill response.
|
|
32
|
+
*/
|
|
33
|
+
execute<TParsed = any>(skillRequest: RunSkillRequest, onNotFound?: (skillKey: string) => Promise<void>): Promise<RunSkillResponse<TParsed>>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=skill-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-executor.d.ts","sourceRoot":"","sources":["../../src/client/skill-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAsB7C;;;;;;;;;GASG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,qBAAa,aAAc,SAAQ,UAAU;IAIrC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAF/B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,EACG,cAAc,EAAE,2BAA2B;IAOhE;;;;;;;;;OASG;IACG,OAAO,CAAC,OAAO,GAAG,GAAG,EACvB,YAAY,EAAE,eAAe,EAC7B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACjD,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;CA4UxC"}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import { DebugLogAbstract } from "@x12i/logxer";
|
|
2
|
+
import { BaseClient } from "./base-client.js";
|
|
3
|
+
import { parseFlexMd } from "../utils/flex-md-parser.js";
|
|
4
|
+
import { resolveActivityIdFromGatewayMetadata } from "../utils/resolve-activity-id.js";
|
|
5
|
+
import { resolveIdentityFromGatewayResponse } from "../utils/resolve-identity.js";
|
|
6
|
+
import { enrichIdentityWithAiSkillsLlmSnapshot } from "../utils/enrich-activix-identity.js";
|
|
7
|
+
import { resolveGatewayJobAndTaskIds } from "../utils/resolve-gateway-job-task-ids.js";
|
|
8
|
+
import { validateMandatoryActivixInvokeFields } from "../utils/validate-mandatory-activix-invoke-fields.js";
|
|
9
|
+
import { buildSkillGatewayInvokePayload } from "./build-gateway-invoke-request.js";
|
|
10
|
+
import { runtimeObjects } from "../runtime-objects.js";
|
|
11
|
+
import { defaultAiSkillsCataloxContext, fetchSkillTemplatesFromCatalox, } from "../catalox/skill-templates.js";
|
|
12
|
+
import { CataloxSkillNotFoundError, CataloxSkillNotRunnableError } from "../catalox/catalox-skill-errors.js";
|
|
13
|
+
import { includeRawProviderPayload, isTraceExecutionMode } from "../diagnostics/trace-mode.js";
|
|
14
|
+
import { billingSnapshotFromGatewayMetadata, mapGatewayInvokeToTrace, traceToDiagnostics, } from "../diagnostics/map-gateway-trace.js";
|
|
15
|
+
import { enrichParsedForOutputContract } from "../utils/normalize-output-parsed.js";
|
|
16
|
+
import { patchActivixActivityAfterSkill } from "../utils/patch-activix-activity-after-skill.js";
|
|
17
|
+
import { SkillExecutionTraceError } from "../skill-execution-trace-error.js";
|
|
18
|
+
import { effectiveModelConfigFromGatewayMetadata, gatewayExecutionSummaryFromInvokeResponse, } from "../utils/gateway-execution-summary.js";
|
|
19
|
+
import { resolveAiEngineIdForRunSkill } from "../utils/resolve-run-skill-ai-engine.js";
|
|
20
|
+
export class SkillExecutor extends BaseClient {
|
|
21
|
+
contentOptions;
|
|
22
|
+
constructor(gateway, logger, contentOptions) {
|
|
23
|
+
super(gateway, logger);
|
|
24
|
+
this.contentOptions = contentOptions;
|
|
25
|
+
if (!contentOptions?.catalox) {
|
|
26
|
+
throw new Error("[AI-SKILLS] SkillExecutor requires contentOptions.catalox (Catalox is the only template source).");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Executes a skill by sending the input to the AI Gateway.
|
|
31
|
+
*
|
|
32
|
+
* WHY: We need a centralized way to handle skill invocation that includes
|
|
33
|
+
* logging, timing, and automatic parsing of the output.
|
|
34
|
+
*
|
|
35
|
+
* @param input The request parameters for the skill.
|
|
36
|
+
* @param onNotFound Optional callback to run diagnostics if the skill content is not found.
|
|
37
|
+
* @returns A promise resolving to the structured skill response.
|
|
38
|
+
*/
|
|
39
|
+
async execute(skillRequest, onNotFound) {
|
|
40
|
+
const startTime = Date.now();
|
|
41
|
+
const upstreamIdentity = skillRequest.identity;
|
|
42
|
+
const { jobId, taskId, missingJobId, missingTaskId } = resolveGatewayJobAndTaskIds({
|
|
43
|
+
jobId: skillRequest.jobId,
|
|
44
|
+
taskId: skillRequest.taskId,
|
|
45
|
+
identity: upstreamIdentity,
|
|
46
|
+
});
|
|
47
|
+
if (missingJobId) {
|
|
48
|
+
this.logger.warn("[AI-SKILLS] Missing jobId for gateway.invoke (Activix): upstream must supply non-empty `jobId` on the request or `identity.jobId`. Not generating one here.", { skillKey: skillRequest.skillKey, identity: "execute entry", debugKind: DebugLogAbstract.ANOMALY });
|
|
49
|
+
}
|
|
50
|
+
if (missingTaskId) {
|
|
51
|
+
this.logger.warn("[AI-SKILLS] Missing taskId for gateway.invoke (Activix): upstream must supply non-empty `taskId` on the request or `identity.taskId`. Not generating one here.", { skillKey: skillRequest.skillKey, identity: "execute entry", debugKind: DebugLogAbstract.ANOMALY });
|
|
52
|
+
}
|
|
53
|
+
validateMandatoryActivixInvokeFields(skillRequest);
|
|
54
|
+
const aiEngineId = resolveAiEngineIdForRunSkill(skillRequest);
|
|
55
|
+
if (runtimeObjects && jobId.length > 0) {
|
|
56
|
+
runtimeObjects.lastJobId = jobId;
|
|
57
|
+
}
|
|
58
|
+
this.logger.info("[AI-SKILLS] runSkill() entry", {
|
|
59
|
+
skillKey: skillRequest.skillKey,
|
|
60
|
+
aiEngineId,
|
|
61
|
+
jobId,
|
|
62
|
+
taskId,
|
|
63
|
+
agentId: skillRequest.agentId,
|
|
64
|
+
hasKnowledge: !!skillRequest.knowledge,
|
|
65
|
+
hasJobMemory: !!skillRequest.jobMemory,
|
|
66
|
+
hasTaskMemory: !!skillRequest.taskMemory,
|
|
67
|
+
identity: "execute entry",
|
|
68
|
+
debugKind: DebugLogAbstract.INTENT,
|
|
69
|
+
});
|
|
70
|
+
const traceMode = isTraceExecutionMode(skillRequest);
|
|
71
|
+
let response;
|
|
72
|
+
let gatewayRequest;
|
|
73
|
+
let gwStart = 0;
|
|
74
|
+
let gwEnd = 0;
|
|
75
|
+
let aiRequestIdForTrace = "";
|
|
76
|
+
const traceInvokeRequest = {
|
|
77
|
+
actionType: "skill",
|
|
78
|
+
actionRef: skillRequest.skillKey,
|
|
79
|
+
aiEngineId,
|
|
80
|
+
...(skillRequest.modelConfig !== undefined ? { modelConfig: skillRequest.modelConfig } : {}),
|
|
81
|
+
...(skillRequest.timeoutMs !== undefined ? { timeoutMs: skillRequest.timeoutMs } : {}),
|
|
82
|
+
...(skillRequest.smartInput !== undefined ? { smartInput: skillRequest.smartInput } : {}),
|
|
83
|
+
...(skillRequest.smartInputRenderOptions !== undefined
|
|
84
|
+
? { smartInputRenderOptions: skillRequest.smartInputRenderOptions }
|
|
85
|
+
: {}),
|
|
86
|
+
};
|
|
87
|
+
const traceStepId = "skills:gateway";
|
|
88
|
+
try {
|
|
89
|
+
const cxCtx = defaultAiSkillsCataloxContext({
|
|
90
|
+
appId: this.contentOptions.cataloxAppId,
|
|
91
|
+
});
|
|
92
|
+
const { instructionsPayload, promptPayload } = await fetchSkillTemplatesFromCatalox(this.contentOptions.catalox, cxCtx, skillRequest.skillKey, { audit: false });
|
|
93
|
+
this.logger.info("[AI-SKILLS] Invoking ai-gateway", {
|
|
94
|
+
jobId,
|
|
95
|
+
taskId,
|
|
96
|
+
identity: "execute invoke",
|
|
97
|
+
skillKey: skillRequest.skillKey,
|
|
98
|
+
aiEngineId,
|
|
99
|
+
debugKind: DebugLogAbstract.INTENT,
|
|
100
|
+
});
|
|
101
|
+
this.logger.info("[AI-SKILLS] gateway.invoke() with inline Catalox template text", {
|
|
102
|
+
cataloxSkillKey: skillRequest.skillKey,
|
|
103
|
+
instructionsChars: String(instructionsPayload ?? "").length,
|
|
104
|
+
promptChars: String(promptPayload ?? "").length,
|
|
105
|
+
jobId,
|
|
106
|
+
taskId,
|
|
107
|
+
identity: "execute invoke",
|
|
108
|
+
debugKind: DebugLogAbstract.INTENT,
|
|
109
|
+
});
|
|
110
|
+
gatewayRequest = buildSkillGatewayInvokePayload({
|
|
111
|
+
skillRequest,
|
|
112
|
+
jobId,
|
|
113
|
+
taskId,
|
|
114
|
+
instructionsPayload,
|
|
115
|
+
promptPayload,
|
|
116
|
+
});
|
|
117
|
+
aiRequestIdForTrace = gatewayRequest.aiRequestId;
|
|
118
|
+
gwStart = Date.now();
|
|
119
|
+
response = await this.gateway.invoke(gatewayRequest);
|
|
120
|
+
gwEnd = Date.now();
|
|
121
|
+
const isSilentEcho = response.content?.trim() === skillRequest.skillKey ||
|
|
122
|
+
response.rawText?.trim() === skillRequest.skillKey;
|
|
123
|
+
if (isSilentEcho) {
|
|
124
|
+
this.logger.warn("[AI-SKILLS] Response body equals Catalox skillKey string (unexpected echo). Check provider behavior; this SDK sends full template text, not the key, as instructions/prompt.", {
|
|
125
|
+
cataloxSkillKey: skillRequest.skillKey,
|
|
126
|
+
content: response.content,
|
|
127
|
+
debugKind: DebugLogAbstract.ANOMALY,
|
|
128
|
+
});
|
|
129
|
+
if (onNotFound) {
|
|
130
|
+
await onNotFound(skillRequest.skillKey);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch (invokeError) {
|
|
135
|
+
gwEnd = Date.now();
|
|
136
|
+
const isTemplateResolution = invokeError?.name === "TemplateResolutionError" ||
|
|
137
|
+
invokeError?.code === "TEMPLATE_RESOLUTION_ERROR" ||
|
|
138
|
+
invokeError?.code === "TEMPLATE_VARIABLE_MISSING";
|
|
139
|
+
const isNotFoundError = invokeError.message?.includes("not found") ||
|
|
140
|
+
invokeError.message?.includes("content") ||
|
|
141
|
+
invokeError.message?.includes("instruction");
|
|
142
|
+
const isCataloxSkillMiss = invokeError instanceof CataloxSkillNotFoundError ||
|
|
143
|
+
invokeError instanceof CataloxSkillNotRunnableError;
|
|
144
|
+
if (onNotFound && (isNotFoundError || isCataloxSkillMiss) && !isTemplateResolution) {
|
|
145
|
+
await onNotFound(skillRequest.skillKey);
|
|
146
|
+
}
|
|
147
|
+
if (traceMode) {
|
|
148
|
+
const traceStarted = gwStart > 0 ? gwStart : startTime;
|
|
149
|
+
const trace = mapGatewayInvokeToTrace({
|
|
150
|
+
invokeStartedAtMs: traceStarted,
|
|
151
|
+
invokeEndedAtMs: gwEnd,
|
|
152
|
+
gatewayResponse: response ?? null,
|
|
153
|
+
aiRequestId: aiRequestIdForTrace || `skills:pending:${jobId}:${taskId}`,
|
|
154
|
+
maxTokensRequested: skillRequest.modelConfig?.maxTokens,
|
|
155
|
+
invokeRequest: traceInvokeRequest,
|
|
156
|
+
includeRawProviderPayload: includeRawProviderPayload(skillRequest),
|
|
157
|
+
step: { phase: "main", type: "runSkill", stepId: traceStepId },
|
|
158
|
+
invokeError,
|
|
159
|
+
});
|
|
160
|
+
throw new SkillExecutionTraceError(invokeError?.message ?? "Skill execution failed", traceToDiagnostics(trace), { cause: invokeError });
|
|
161
|
+
}
|
|
162
|
+
throw invokeError;
|
|
163
|
+
}
|
|
164
|
+
const invokeTime = Date.now() - startTime;
|
|
165
|
+
const gatewayResponse = response;
|
|
166
|
+
const parsedFromGateway = gatewayResponse.parsedContent ||
|
|
167
|
+
gatewayResponse.parsed ||
|
|
168
|
+
gatewayResponse.content?.parsedOutput ||
|
|
169
|
+
gatewayResponse.content?.parsed;
|
|
170
|
+
const parsed = parsedFromGateway ? JSON.parse(JSON.stringify(parsedFromGateway)) : {};
|
|
171
|
+
this.logger.info("[AI-SKILLS] Gateway response received", {
|
|
172
|
+
jobId,
|
|
173
|
+
taskId,
|
|
174
|
+
latencyMs: invokeTime,
|
|
175
|
+
status: response.metadata?.status,
|
|
176
|
+
hasContent: !!response.content,
|
|
177
|
+
hasParsed: !!parsed && Object.keys(parsed).length > 0,
|
|
178
|
+
instructionVersion: response.metadata?.instructionVersion,
|
|
179
|
+
identity: "execute invoke",
|
|
180
|
+
debugKind: DebugLogAbstract.EVENT,
|
|
181
|
+
});
|
|
182
|
+
let flexMd;
|
|
183
|
+
if (gatewayResponse.flexMd) {
|
|
184
|
+
flexMd = gatewayResponse.flexMd;
|
|
185
|
+
}
|
|
186
|
+
else if (gatewayResponse.content?.flexMd) {
|
|
187
|
+
flexMd = gatewayResponse.content.flexMd;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
if (Object.keys(parsed).length > 0) {
|
|
191
|
+
flexMd = {
|
|
192
|
+
frame: response.metadata?.frame || "unknown",
|
|
193
|
+
payloads: parsed,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
this.logger.warn("[AI-SKILLS] Gateway did not provide parsed response, falling back to manual parsing", {
|
|
198
|
+
jobId,
|
|
199
|
+
taskId,
|
|
200
|
+
debugKind: DebugLogAbstract.ANOMALY,
|
|
201
|
+
});
|
|
202
|
+
const parsedFlexMd = await parseFlexMd(response.content || response.rawText || "");
|
|
203
|
+
flexMd = parsedFlexMd;
|
|
204
|
+
if (!parsedFromGateway) {
|
|
205
|
+
Object.assign(parsed, parsedFlexMd.payloads);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
Object.assign(parsed, enrichParsedForOutputContract({
|
|
210
|
+
parsed,
|
|
211
|
+
flexMdPayloads: flexMd.payloads,
|
|
212
|
+
rawText: response.rawText || response.content || "",
|
|
213
|
+
outputContract: skillRequest.outputContract,
|
|
214
|
+
}));
|
|
215
|
+
this.logger.info("[AI-SKILLS] Using gateway parsed response", {
|
|
216
|
+
jobId,
|
|
217
|
+
taskId,
|
|
218
|
+
frame: flexMd.frame,
|
|
219
|
+
payloadKeys: Object.keys(flexMd.payloads),
|
|
220
|
+
parsedKeys: Object.keys(parsed),
|
|
221
|
+
identity: "execute flexmd",
|
|
222
|
+
debugKind: DebugLogAbstract.EVENT,
|
|
223
|
+
});
|
|
224
|
+
const totalTime = Date.now() - startTime;
|
|
225
|
+
this.logger.info("[AI-SKILLS] runSkill() exit", {
|
|
226
|
+
jobId,
|
|
227
|
+
taskId,
|
|
228
|
+
totalTimeMs: totalTime,
|
|
229
|
+
identity: "execute exit",
|
|
230
|
+
debugKind: DebugLogAbstract.EVENT,
|
|
231
|
+
});
|
|
232
|
+
const md = response.metadata;
|
|
233
|
+
const billing = billingSnapshotFromGatewayMetadata(md);
|
|
234
|
+
const execSummary = gatewayExecutionSummaryFromInvokeResponse(response);
|
|
235
|
+
const effectiveCfg = effectiveModelConfigFromGatewayMetadata(md);
|
|
236
|
+
const resolvedModelUsed = execSummary.modelUsed ?? billing.modelUsed;
|
|
237
|
+
if (execSummary.effectiveMaxTokens !== undefined) {
|
|
238
|
+
billing.usage.maxTokensRequested = execSummary.effectiveMaxTokens;
|
|
239
|
+
}
|
|
240
|
+
else if (skillRequest.modelConfig?.maxTokens !== undefined && billing.usage.maxTokensRequested === undefined) {
|
|
241
|
+
billing.usage.maxTokensRequested = skillRequest.modelConfig.maxTokens;
|
|
242
|
+
}
|
|
243
|
+
const returnValue = {
|
|
244
|
+
skillKey: skillRequest.skillKey,
|
|
245
|
+
rawText: response.rawText || response.content || "",
|
|
246
|
+
flexMd: {
|
|
247
|
+
frame: flexMd.frame,
|
|
248
|
+
payloads: flexMd.payloads,
|
|
249
|
+
},
|
|
250
|
+
parsed: parsed,
|
|
251
|
+
identity: undefined,
|
|
252
|
+
metadata: {
|
|
253
|
+
instructionVersion: response.metadata?.instructionVersion,
|
|
254
|
+
activityId: resolveActivityIdFromGatewayMetadata(response.metadata, { jobId }),
|
|
255
|
+
usage: billing.usage,
|
|
256
|
+
...(billing.costUsd !== undefined ? { costUsd: billing.costUsd } : {}),
|
|
257
|
+
...(billing.costStatus !== undefined ? { costStatus: billing.costStatus } : {}),
|
|
258
|
+
...(resolvedModelUsed !== undefined ? { modelUsed: resolvedModelUsed } : {}),
|
|
259
|
+
...(execSummary.provider !== undefined ? { provider: execSummary.provider } : {}),
|
|
260
|
+
...(execSummary.effectiveMaxTokens !== undefined ? { effectiveMaxTokens: execSummary.effectiveMaxTokens } : {}),
|
|
261
|
+
...(execSummary.region !== undefined ? { region: execSummary.region } : {}),
|
|
262
|
+
...(skillRequest.modelConfig !== undefined ? { requestedModelConfig: skillRequest.modelConfig } : {}),
|
|
263
|
+
...(effectiveCfg !== undefined ? { effectiveModelConfig: effectiveCfg } : {}),
|
|
264
|
+
...(skillRequest.timeoutMs !== undefined ? { invokeExec: { timeoutMs: skillRequest.timeoutMs } } : {}),
|
|
265
|
+
},
|
|
266
|
+
};
|
|
267
|
+
const downstreamIdentity = resolveIdentityFromGatewayResponse(response);
|
|
268
|
+
if (downstreamIdentity) {
|
|
269
|
+
enrichIdentityWithAiSkillsLlmSnapshot(downstreamIdentity, {
|
|
270
|
+
usage: billing.usage,
|
|
271
|
+
...(billing.costUsd !== undefined ? { costUsd: billing.costUsd } : {}),
|
|
272
|
+
...(billing.costStatus !== undefined ? { costStatus: billing.costStatus } : {}),
|
|
273
|
+
...(resolvedModelUsed !== undefined ? { modelUsed: resolvedModelUsed } : {}),
|
|
274
|
+
});
|
|
275
|
+
returnValue.identity = downstreamIdentity;
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
delete returnValue.identity;
|
|
279
|
+
}
|
|
280
|
+
const activityId = returnValue.metadata.activityId;
|
|
281
|
+
if (activityId) {
|
|
282
|
+
await patchActivixActivityAfterSkill({
|
|
283
|
+
gateway: this.gateway,
|
|
284
|
+
logger: this.logger,
|
|
285
|
+
activityId,
|
|
286
|
+
billing: {
|
|
287
|
+
...billing,
|
|
288
|
+
...(resolvedModelUsed !== undefined ? { modelUsed: resolvedModelUsed } : {}),
|
|
289
|
+
},
|
|
290
|
+
parsed: parsed,
|
|
291
|
+
activixContext: {
|
|
292
|
+
...(execSummary.provider !== undefined ? { provider: execSummary.provider } : {}),
|
|
293
|
+
...(execSummary.region !== undefined ? { region: execSummary.region } : {}),
|
|
294
|
+
...(effectiveCfg !== undefined ? { effectiveModelConfig: effectiveCfg } : {}),
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
if (traceMode) {
|
|
299
|
+
const trace = mapGatewayInvokeToTrace({
|
|
300
|
+
invokeStartedAtMs: gwStart,
|
|
301
|
+
invokeEndedAtMs: gwEnd,
|
|
302
|
+
gatewayResponse: response,
|
|
303
|
+
aiRequestId: aiRequestIdForTrace,
|
|
304
|
+
maxTokensRequested: execSummary.effectiveMaxTokens ?? skillRequest.modelConfig?.maxTokens,
|
|
305
|
+
invokeRequest: traceInvokeRequest,
|
|
306
|
+
includeRawProviderPayload: includeRawProviderPayload(skillRequest),
|
|
307
|
+
step: { phase: "main", type: "runSkill", stepId: traceStepId },
|
|
308
|
+
});
|
|
309
|
+
const diag = traceToDiagnostics(trace);
|
|
310
|
+
returnValue.diagnostics = diag;
|
|
311
|
+
returnValue.debugTrace = trace;
|
|
312
|
+
}
|
|
313
|
+
return returnValue;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=skill-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-executor.js","sourceRoot":"","sources":["../../src/client/skill-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseClient } from "./base-client";
|
|
2
|
+
import { SkillExecutor } from "./skill-executor";
|
|
3
|
+
import { RunTaskRequest, RunSkillResponse } from "../types";
|
|
4
|
+
/**
|
|
5
|
+
* TaskExecutor
|
|
6
|
+
*
|
|
7
|
+
* WHY: This class handles the "orchestration" of tasks which can have
|
|
8
|
+
* different execution strategies (ExecutionType). It currently supports
|
|
9
|
+
* 'direct' execution which simply delegates to the SkillExecutor.
|
|
10
|
+
*/
|
|
11
|
+
export declare class TaskExecutor extends BaseClient {
|
|
12
|
+
private skillExecutor;
|
|
13
|
+
constructor(gateway: any, logger: any, skillExecutor: SkillExecutor);
|
|
14
|
+
/**
|
|
15
|
+
* Executes a task based on its execution type.
|
|
16
|
+
*
|
|
17
|
+
* WHY: Centralized entry point for task-based execution.
|
|
18
|
+
*/
|
|
19
|
+
execute<TParsed = any>(taskRequest: RunTaskRequest, onNotFound?: (skillKey: string) => Promise<void>): Promise<RunSkillResponse<TParsed>>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=task-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/client/task-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAiB,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE3E;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,UAAU;IACxC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa;IAKnE;;;;OAIG;IACG,OAAO,CAAC,OAAO,GAAG,GAAG,EACvB,WAAW,EAAE,cAAc,EAC3B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACjD,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;CA6BxC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskExecutor = void 0;
|
|
4
|
+
const base_client_1 = require("./base-client");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
/**
|
|
7
|
+
* TaskExecutor
|
|
8
|
+
*
|
|
9
|
+
* WHY: This class handles the "orchestration" of tasks which can have
|
|
10
|
+
* different execution strategies (ExecutionType). It currently supports
|
|
11
|
+
* 'direct' execution which simply delegates to the SkillExecutor.
|
|
12
|
+
*/
|
|
13
|
+
class TaskExecutor extends base_client_1.BaseClient {
|
|
14
|
+
constructor(gateway, logger, skillExecutor) {
|
|
15
|
+
super(gateway, logger);
|
|
16
|
+
this.skillExecutor = skillExecutor;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Executes a task based on its execution type.
|
|
20
|
+
*
|
|
21
|
+
* WHY: Centralized entry point for task-based execution.
|
|
22
|
+
*/
|
|
23
|
+
async execute(taskRequest, onNotFound) {
|
|
24
|
+
const { executionType, taskMemory, jobMemory, ...rest } = taskRequest;
|
|
25
|
+
this.logger.info("[AI-SKILLS] runTask() entry", {
|
|
26
|
+
skillKey: taskRequest.skillKey,
|
|
27
|
+
executionType,
|
|
28
|
+
jobId: taskRequest.jobId,
|
|
29
|
+
identity: "runTask execute"
|
|
30
|
+
});
|
|
31
|
+
switch (executionType) {
|
|
32
|
+
case types_1.ExecutionType.DIRECT:
|
|
33
|
+
this.logger.info("[AI-SKILLS] Executing direct task (pass-through to skill)", {
|
|
34
|
+
skillKey: taskRequest.skillKey,
|
|
35
|
+
identity: "runTask direct"
|
|
36
|
+
});
|
|
37
|
+
return this.skillExecutor.execute({
|
|
38
|
+
...rest,
|
|
39
|
+
taskMemory,
|
|
40
|
+
jobMemory
|
|
41
|
+
}, onNotFound);
|
|
42
|
+
default:
|
|
43
|
+
const errorMsg = `[AI-SKILLS] Unsupported execution type: ${executionType}`;
|
|
44
|
+
this.logger.error(errorMsg, { identity: "runTask execute" });
|
|
45
|
+
throw new Error(errorMsg);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.TaskExecutor = TaskExecutor;
|
|
50
|
+
//# sourceMappingURL=task-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-executor.js","sourceRoot":"","sources":["../../src/client/task-executor.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAE3C,oCAA2E;AAE3E;;;;;;GAMG;AACH,MAAa,YAAa,SAAQ,wBAAU;IAGxC,YAAY,OAAY,EAAE,MAAW,EAAE,aAA4B;QAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CACT,WAA2B,EAC3B,UAAgD;QAEhD,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;QAEtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;YAC5C,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,aAAa;YACb,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,QAAQ,EAAE,iBAAiB;SAC9B,CAAC,CAAC;QAEH,QAAQ,aAAa,EAAE,CAAC;YACpB,KAAK,qBAAa,CAAC,MAAM;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE;oBAC1E,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,QAAQ,EAAE,gBAAgB;iBAC7B,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAU;oBACvC,GAAG,IAAI;oBACP,UAAU;oBACV,SAAS;iBACZ,EAAE,UAAU,CAAC,CAAC;YAEnB;gBACI,MAAM,QAAQ,GAAG,2CAA2C,aAAa,EAAE,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;CACJ;AA7CD,oCA6CC"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { AIGateway } from "@x12i/ai-gateway";
|
|
2
|
+
import { type Logxer } from "@x12i/logxer";
|
|
3
|
+
import { ExellixSkillsClientOptions, RunSkillRequest, RunSkillResponse } from "./types.js";
|
|
4
|
+
import { type SkillContentPart, type SkillTemplatesPresentation, type SkillTemplatePresentationPatch, type UpdateSkillTemplatesFromPresentationOptions, type UpsertSkillCatalogItemInput, type UpsertSkillCatalogItemOptions, type ExtractedTemplateInputs, type ModifySkillContentResult, type CreateSubSkillInput, type CreateSubSkillResult, type DeleteSubSkillResult } from "./catalox/skill-template-catalog-mutations.js";
|
|
5
|
+
import { SkillExecutor } from "./client/skill-executor.js";
|
|
6
|
+
import { RegistryManager } from "./client/registry-manager.js";
|
|
7
|
+
import type { AnalyzeSkillRequestOptions, AnalyzeSkillRequestResult } from "./analysis/types.js";
|
|
8
|
+
/**
|
|
9
|
+
* ExellixSkillsClient
|
|
10
|
+
*
|
|
11
|
+
* WHY: This is the main entry point for the AI Skills library. It provides
|
|
12
|
+
* a high-level API for running skills while automatically
|
|
13
|
+
* managing environment-based configuration (Env-Ready mode).
|
|
14
|
+
*
|
|
15
|
+
* DESIGN: It acts as an orchestrator, delegating specific tasks to
|
|
16
|
+
* specialized managers (Executor, Registry) to keep the code
|
|
17
|
+
* manageable and clean.
|
|
18
|
+
*
|
|
19
|
+
* **Skill keys (this package + Catalox only):** `skillKey` is normalized and
|
|
20
|
+
* matched to the native `ai-skills` catalog here. **`AIGateway` does not resolve
|
|
21
|
+
* skill keys** and is not used as a skill registry.
|
|
22
|
+
*
|
|
23
|
+
* **Gateway role:** `AIGateway` receives **literal** instruction/prompt **strings**
|
|
24
|
+
* (template text after Catalox load + `ensureGatewayTreatsAsTemplateText`) and
|
|
25
|
+
* handles **template rendering** (tokens, options you pass) and whatever
|
|
26
|
+
* **response parsing** the gateway exposes; this SDK may still merge FlexMD
|
|
27
|
+
* fallbacks when the gateway omits structured payloads.
|
|
28
|
+
*
|
|
29
|
+
* **Templates:** Instruction and prompt bodies are loaded exclusively from the
|
|
30
|
+
* Catalox native catalog `ai-skills` (see `npm run catalox:provision-ai-skills`).
|
|
31
|
+
*/
|
|
32
|
+
export declare class ExellixSkillsClient {
|
|
33
|
+
private gateway;
|
|
34
|
+
private logger;
|
|
35
|
+
private readonly ownsGateway;
|
|
36
|
+
private readonly testMode;
|
|
37
|
+
private isShutdown;
|
|
38
|
+
private shutdownPromise;
|
|
39
|
+
private executor;
|
|
40
|
+
private registry;
|
|
41
|
+
private readonly catalox;
|
|
42
|
+
private readonly cataloxAppId?;
|
|
43
|
+
constructor(options: ExellixSkillsClientOptions);
|
|
44
|
+
private cataloxContext;
|
|
45
|
+
/**
|
|
46
|
+
* Skill templates as presentation markdown (Catalox read). Requires read access to the `ai-skills` catalog.
|
|
47
|
+
*/
|
|
48
|
+
getSkillTemplatesForPresentation(skillKey: string, opts?: {
|
|
49
|
+
includeAudit?: boolean;
|
|
50
|
+
}): Promise<SkillTemplatesPresentation>;
|
|
51
|
+
/**
|
|
52
|
+
* Updates skill template bodies from editor markdown (lossless storage normalization + Catalox upsert).
|
|
53
|
+
* Requires write access (e.g. god-mode or app binding with write).
|
|
54
|
+
*/
|
|
55
|
+
updateSkillTemplatesFromPresentation(skillKey: string, patch: SkillTemplatePresentationPatch, opts?: UpdateSkillTemplatesFromPresentationOptions): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Expected template tokens (`{{name}}`) from raw stored instructions/prompt/audit fields.
|
|
58
|
+
*/
|
|
59
|
+
getSkillTemplateInputs(skillKey: string): Promise<ExtractedTemplateInputs>;
|
|
60
|
+
/**
|
|
61
|
+
* Skill template bodies as `{ role, content }[]` (presentation markdown). Four entries in stable order.
|
|
62
|
+
*/
|
|
63
|
+
getSkillContent(skillKey: string): Promise<SkillContentPart[]>;
|
|
64
|
+
/**
|
|
65
|
+
* Unique `{{token}}` names across instructions, prompt, and audit bodies (presentation strings).
|
|
66
|
+
*/
|
|
67
|
+
getSkillTokens(skillKey: string): Promise<string[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Partial update of template bodies by role. Returns `{ success }` (errors are not thrown).
|
|
70
|
+
*/
|
|
71
|
+
modifySkillContent(skillKey: string, parts: SkillContentPart[], opts?: UpdateSkillTemplatesFromPresentationOptions): Promise<ModifySkillContentResult>;
|
|
72
|
+
/**
|
|
73
|
+
* Duplicate a skill under a new key with optional overrides; sets `parentSkillKey` on the new row.
|
|
74
|
+
*/
|
|
75
|
+
createSubSkill(input: CreateSubSkillInput): Promise<CreateSubSkillResult>;
|
|
76
|
+
/**
|
|
77
|
+
* Remove a sub-skill row only when `parentSkillKey` is set (base catalog skills cannot be deleted here).
|
|
78
|
+
*/
|
|
79
|
+
deleteSubSkill(subSkillKey: string): Promise<DeleteSubSkillResult>;
|
|
80
|
+
private safeCallClose;
|
|
81
|
+
private validateProviderEnv;
|
|
82
|
+
private getEnvDiagnostics;
|
|
83
|
+
runSkill<TParsed = any>(input: RunSkillRequest): Promise<RunSkillResponse<TParsed>>;
|
|
84
|
+
/**
|
|
85
|
+
* Preflight / authoring analysis for a {@link RunSkillRequest}.
|
|
86
|
+
* Simulates the gateway invoke payload and reviews it via FuncX
|
|
87
|
+
* (`ai-skills/analyze-gateway-invoke-request`). **Not chained into {@link runSkill}.**
|
|
88
|
+
*/
|
|
89
|
+
analyzeSkillRequest(input: RunSkillRequest, options?: AnalyzeSkillRequestOptions): Promise<AnalyzeSkillRequestResult>;
|
|
90
|
+
getContentRegistry(): undefined;
|
|
91
|
+
testContentRegistryConnection(): Promise<Awaited<ReturnType<RegistryManager["testConnection"]>>>;
|
|
92
|
+
diagnoseSkillContent(skillKey: string): Promise<Awaited<ReturnType<RegistryManager["diagnose"]>>>;
|
|
93
|
+
listAvailableContent(options?: any): Promise<Awaited<ReturnType<RegistryManager["listAvailable"]>>>;
|
|
94
|
+
listPublishedSkills(options?: {
|
|
95
|
+
limit?: number;
|
|
96
|
+
}): Promise<Awaited<ReturnType<RegistryManager["listPublishedSkills"]>>>;
|
|
97
|
+
/**
|
|
98
|
+
* Lists every skill row in the Catalox `ai-skills` catalog (all statuses). For published-only discovery use {@link listPublishedSkills}.
|
|
99
|
+
*/
|
|
100
|
+
listCatalogSkills(options?: Parameters<RegistryManager["listCatalogSkills"]>[0]): Promise<Awaited<ReturnType<RegistryManager["listCatalogSkills"]>>>;
|
|
101
|
+
/**
|
|
102
|
+
* Creates or updates a catalog row (metadata + optional markdown bodies). Requires Catalox write access.
|
|
103
|
+
*/
|
|
104
|
+
upsertSkillCatalogItem(input: UpsertSkillCatalogItemInput, options?: UpsertSkillCatalogItemOptions): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Soft-deletes a skill: clears bodies and audit fields and sets `planned`. Requires Catalox write access.
|
|
107
|
+
*/
|
|
108
|
+
softDeleteSkillCatalogItem(skillKey: string): Promise<void>;
|
|
109
|
+
runContentRegistryDiagnostics(verbose?: boolean): Promise<Awaited<ReturnType<RegistryManager["runDiagnostics"]>>>;
|
|
110
|
+
getGateway(): AIGateway;
|
|
111
|
+
getLogger(): Logxer;
|
|
112
|
+
getExecutor(): SkillExecutor;
|
|
113
|
+
shutdown(): Promise<void>;
|
|
114
|
+
static diagnoseEnvironment(): string;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAkC,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAWH,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,2CAA2C,EAChD,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC5B,MAAM,+CAA+C,CAAC;AAOvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,KAAK,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGjG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAA8B;IAErD,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;gBAE3B,OAAO,EAAE,0BAA0B;IAsG/C,OAAO,CAAC,cAAc;IAItB;;OAEG;IACG,gCAAgC,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClC,OAAO,CAAC,0BAA0B,CAAC;IAItC;;;OAGG;IACG,oCAAoC,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,8BAA8B,EACrC,IAAI,CAAC,EAAE,2CAA2C,GACnD,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIhF;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIpE;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzD;;OAEG;IACG,kBAAkB,CACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,EAAE,EACzB,IAAI,CAAC,EAAE,2CAA2C,GACnD,OAAO,CAAC,wBAAwB,CAAC;IAIpC;;OAEG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI/E;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAI1D,aAAa;IAc3B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,iBAAiB;IAkDnB,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAMzF;;;;OAIG;IACG,mBAAmB,CACrB,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,0BAA0B,GACrC,OAAO,CAAC,yBAAyB,CAAC;IAQrC,kBAAkB;IAGZ,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAGhG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAGjG,oBAAoB,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAGnG,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAI7H;;OAEG;IACG,iBAAiB,CACnB,OAAO,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9D,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAIrE;;OAEG;IACG,sBAAsB,CACxB,KAAK,EAAE,2BAA2B,EAClC,OAAO,CAAC,EAAE,6BAA6B,GACxC,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAG3D,6BAA6B,CAC/B,OAAO,GAAE,OAAe,GACzB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAIlE,UAAU,IAAI,SAAS;IAIvB,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI,aAAa;IAItB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C/B,MAAM,CAAC,mBAAmB,IAAI,MAAM;CA+CvC"}
|