workflowskill 0.1.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/LICENSE +21 -0
- package/README.md +242 -0
- package/dist/cli/index.d.mts +1 -0
- package/dist/cli/index.mjs +187 -0
- package/dist/cli/index.mjs.map +1 -0
- package/dist/gmail-CYBJ6Dxa.mjs +209 -0
- package/dist/gmail-CYBJ6Dxa.mjs.map +1 -0
- package/dist/html-select-BZPYAr6k.mjs +104 -0
- package/dist/html-select-BZPYAr6k.mjs.map +1 -0
- package/dist/http-request-k9bp5joL.mjs +91 -0
- package/dist/http-request-k9bp5joL.mjs.map +1 -0
- package/dist/index.d.mts +637 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +61 -0
- package/dist/index.mjs.map +1 -0
- package/dist/runtime-BY1CFnew.mjs +2003 -0
- package/dist/runtime-BY1CFnew.mjs.map +1 -0
- package/dist/sheets-CGy8JvVz.mjs +177 -0
- package/dist/sheets-CGy8JvVz.mjs.map +1 -0
- package/package.json +75 -0
- package/skill/SKILL.md +725 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { C as parseSkillMd, S as ParseError, T as parseWorkflowYaml, _ as interpolatePrompt, a as dispatch, b as ParseExprError, c as StepExecutionError, d as executeTransform, f as loadConfig, g as validateWorkflowSkill, h as validateWorkflow, i as runWorkflowSkill, l as executeExit, m as AnthropicLLMAdapter, n as buildFailedRunLog, o as executeLLM, p as DevToolAdapter, r as runWorkflow, s as executeTool, t as WorkflowExecutionError, u as executeConditional, v as resolveExpression, w as parseWorkflowFromMd, x as LexError, y as EvalError } from "./runtime-BY1CFnew.mjs";
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
|
|
5
|
+
//#region src/adapters/mock-tool-adapter.ts
|
|
6
|
+
var MockToolAdapter = class {
|
|
7
|
+
tools = /* @__PURE__ */ new Map();
|
|
8
|
+
/** Register a tool handler with optional descriptor metadata. */
|
|
9
|
+
register(toolName, handler, descriptor) {
|
|
10
|
+
this.tools.set(toolName, {
|
|
11
|
+
handler,
|
|
12
|
+
descriptor: {
|
|
13
|
+
name: toolName,
|
|
14
|
+
description: descriptor?.description ?? "",
|
|
15
|
+
...descriptor?.inputSchema && { inputSchema: descriptor.inputSchema },
|
|
16
|
+
...descriptor?.outputSchema && { outputSchema: descriptor.outputSchema }
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
has(toolName) {
|
|
21
|
+
return this.tools.has(toolName);
|
|
22
|
+
}
|
|
23
|
+
/** List all registered tools with their descriptors. */
|
|
24
|
+
list() {
|
|
25
|
+
return [...this.tools.values()].map((t) => t.descriptor);
|
|
26
|
+
}
|
|
27
|
+
async invoke(toolName, args) {
|
|
28
|
+
const entry = this.tools.get(toolName);
|
|
29
|
+
if (!entry) return {
|
|
30
|
+
output: null,
|
|
31
|
+
error: `Tool "${toolName}" not registered`
|
|
32
|
+
};
|
|
33
|
+
return entry.handler(args);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/adapters/mock-llm-adapter.ts
|
|
39
|
+
var MockLLMAdapter = class {
|
|
40
|
+
handler;
|
|
41
|
+
constructor(handler) {
|
|
42
|
+
this.handler = handler ?? (() => ({
|
|
43
|
+
text: "mock response",
|
|
44
|
+
tokens: {
|
|
45
|
+
input: 10,
|
|
46
|
+
output: 5
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
async call(model, prompt, responseFormat) {
|
|
51
|
+
return this.handler(model, prompt, responseFormat);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/skill/index.ts
|
|
57
|
+
const AUTHORING_SKILL = readFileSync(join(import.meta.dirname, "../../skill/SKILL.md"), "utf-8");
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { AUTHORING_SKILL, AnthropicLLMAdapter, DevToolAdapter, EvalError, LexError, MockLLMAdapter, MockToolAdapter, ParseError, ParseExprError, StepExecutionError, WorkflowExecutionError, buildFailedRunLog, dispatch, executeConditional, executeExit, executeLLM, executeTool, executeTransform, interpolatePrompt, loadConfig, parseSkillMd, parseWorkflowFromMd, parseWorkflowYaml, resolveExpression, runWorkflow, runWorkflowSkill, validateWorkflow, validateWorkflowSkill };
|
|
61
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/adapters/mock-tool-adapter.ts","../src/adapters/mock-llm-adapter.ts","../src/skill/index.ts"],"sourcesContent":["// Mock tool adapter for testing.\n// Allows registering per-tool handlers that return configurable results.\n\nimport type { ToolAdapter, ToolDescriptor, ToolResult } from '../types/index.js';\n\n/** Handler function for a registered mock tool. */\nexport type ToolHandler = (args: Record<string, unknown>) => ToolResult | Promise<ToolResult>;\n\nexport class MockToolAdapter implements ToolAdapter {\n private tools = new Map<\n string,\n { handler: ToolHandler; descriptor: ToolDescriptor }\n >();\n\n /** Register a tool handler with optional descriptor metadata. */\n register(\n toolName: string,\n handler: ToolHandler,\n descriptor?: Omit<ToolDescriptor, 'name'>,\n ): void {\n this.tools.set(toolName, {\n handler,\n descriptor: {\n name: toolName,\n description: descriptor?.description ?? '',\n ...(descriptor?.inputSchema && { inputSchema: descriptor.inputSchema }),\n ...(descriptor?.outputSchema && { outputSchema: descriptor.outputSchema }),\n },\n });\n }\n\n has(toolName: string): boolean {\n return this.tools.has(toolName);\n }\n\n /** List all registered tools with their descriptors. */\n list(): ToolDescriptor[] {\n return [...this.tools.values()].map((t) => t.descriptor);\n }\n\n async invoke(toolName: string, args: Record<string, unknown>): Promise<ToolResult> {\n const entry = this.tools.get(toolName);\n if (!entry) {\n return { output: null, error: `Tool \"${toolName}\" not registered` };\n }\n return entry.handler(args);\n }\n}\n","// Mock LLM adapter for testing.\n// Returns configurable responses without making real API calls.\n\nimport type { LLMAdapter, LLMResult } from '../types/index.js';\n\nexport type LLMHandler = (\n model: string | undefined,\n prompt: string,\n responseFormat?: Record<string, unknown>,\n) => LLMResult | Promise<LLMResult>;\n\nexport class MockLLMAdapter implements LLMAdapter {\n private handler: LLMHandler;\n\n constructor(handler?: LLMHandler) {\n this.handler = handler ?? (() => ({\n text: 'mock response',\n tokens: { input: 10, output: 5 },\n }));\n }\n\n async call(\n model: string | undefined,\n prompt: string,\n responseFormat?: Record<string, unknown>,\n ): Promise<LLMResult> {\n return this.handler(model, prompt, responseFormat);\n }\n}\n","import { readFileSync } from 'node:fs';\nimport { join } from 'node:path';\n\nexport const AUTHORING_SKILL = readFileSync(\n join(import.meta.dirname, '../../skill/SKILL.md'),\n 'utf-8',\n);\n"],"mappings":";;;;;AAQA,IAAa,kBAAb,MAAoD;CAClD,AAAQ,wBAAQ,IAAI,KAGjB;;CAGH,SACE,UACA,SACA,YACM;AACN,OAAK,MAAM,IAAI,UAAU;GACvB;GACA,YAAY;IACV,MAAM;IACN,aAAa,YAAY,eAAe;IACxC,GAAI,YAAY,eAAe,EAAE,aAAa,WAAW,aAAa;IACtE,GAAI,YAAY,gBAAgB,EAAE,cAAc,WAAW,cAAc;IAC1E;GACF,CAAC;;CAGJ,IAAI,UAA2B;AAC7B,SAAO,KAAK,MAAM,IAAI,SAAS;;;CAIjC,OAAyB;AACvB,SAAO,CAAC,GAAG,KAAK,MAAM,QAAQ,CAAC,CAAC,KAAK,MAAM,EAAE,WAAW;;CAG1D,MAAM,OAAO,UAAkB,MAAoD;EACjF,MAAM,QAAQ,KAAK,MAAM,IAAI,SAAS;AACtC,MAAI,CAAC,MACH,QAAO;GAAE,QAAQ;GAAM,OAAO,SAAS,SAAS;GAAmB;AAErE,SAAO,MAAM,QAAQ,KAAK;;;;;;AClC9B,IAAa,iBAAb,MAAkD;CAChD,AAAQ;CAER,YAAY,SAAsB;AAChC,OAAK,UAAU,mBAAmB;GAChC,MAAM;GACN,QAAQ;IAAE,OAAO;IAAI,QAAQ;IAAG;GACjC;;CAGH,MAAM,KACJ,OACA,QACA,gBACoB;AACpB,SAAO,KAAK,QAAQ,OAAO,QAAQ,eAAe;;;;;;ACvBtD,MAAa,kBAAkB,aAC7B,KAAK,OAAO,KAAK,SAAS,uBAAuB,EACjD,QACD"}
|