@oneie/mcp 0.9.0 → 0.10.1
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/env.d.ts +7 -1
- package/dist/env.js +43 -5
- package/dist/env.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/serve.js +2 -2
- package/dist/serve.js.map +1 -1
- package/dist/tools/workflow.js +37 -9
- package/dist/tools/workflow.js.map +1 -1
- package/package.json +4 -3
package/dist/env.d.ts
CHANGED
|
@@ -2,4 +2,10 @@ export interface McpEnv {
|
|
|
2
2
|
apiKey: string | undefined;
|
|
3
3
|
baseUrl: string;
|
|
4
4
|
}
|
|
5
|
-
export declare
|
|
5
|
+
export declare const KEY_FILES: string[];
|
|
6
|
+
/**
|
|
7
|
+
* Resolve the key and URL. Called per tool call, not once at startup, so a
|
|
8
|
+
* `one login` run mid-session takes effect on the next call without a restart.
|
|
9
|
+
* Order: ONEIE_API_KEY → ONE_API_KEY → ~/.config/one/key → ~/.config/oneie/key.
|
|
10
|
+
*/
|
|
11
|
+
export declare function readEnv(keyFiles?: string[]): McpEnv;
|
package/dist/env.js
CHANGED
|
@@ -1,9 +1,47 @@
|
|
|
1
|
-
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
// The key ladder is a TWIN of packages/cli/src/lib/paths.ts (KEY_FILE, then
|
|
5
|
+
// LEGACY_KEY_FILE). The CLI writes the key; this server reads it. Change one path,
|
|
6
|
+
// change both — a `one login` that writes where the MCP does not read is a user who
|
|
7
|
+
// signed in and still gets anonymous tools, with no error to say why.
|
|
8
|
+
export const KEY_FILES = [
|
|
9
|
+
join(homedir(), ".config", "one", "key"),
|
|
10
|
+
join(homedir(), ".config", "oneie", "key"),
|
|
11
|
+
];
|
|
12
|
+
// Empty is absent. The plugin's .mcp.json passes `${ONEIE_API_KEY:-}`, so an unset
|
|
13
|
+
// variable arrives as "" — and `??` would stop there and never read the key file.
|
|
14
|
+
function nonEmpty(v) {
|
|
15
|
+
const t = v?.trim();
|
|
16
|
+
return t ? t : undefined;
|
|
17
|
+
}
|
|
18
|
+
function readKeyFile(files) {
|
|
19
|
+
for (const f of files) {
|
|
20
|
+
try {
|
|
21
|
+
const v = nonEmpty(readFileSync(f, "utf8"));
|
|
22
|
+
if (v)
|
|
23
|
+
return v;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
/* absent or unreadable — try the next rung */
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Resolve the key and URL. Called per tool call, not once at startup, so a
|
|
33
|
+
* `one login` run mid-session takes effect on the next call without a restart.
|
|
34
|
+
* Order: ONEIE_API_KEY → ONE_API_KEY → ~/.config/one/key → ~/.config/oneie/key.
|
|
35
|
+
*/
|
|
36
|
+
export function readEnv(keyFiles = KEY_FILES) {
|
|
2
37
|
return {
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
38
|
+
// ONE_* is accepted as a fallback for both (older docs used it).
|
|
39
|
+
apiKey: nonEmpty(process.env.ONEIE_API_KEY) ??
|
|
40
|
+
nonEmpty(process.env.ONE_API_KEY) ??
|
|
41
|
+
readKeyFile(keyFiles),
|
|
42
|
+
baseUrl: nonEmpty(process.env.ONEIE_API_URL) ??
|
|
43
|
+
nonEmpty(process.env.ONE_API_URL) ??
|
|
44
|
+
"https://one.ie",
|
|
7
45
|
};
|
|
8
46
|
}
|
|
9
47
|
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,4EAA4E;AAC5E,mFAAmF;AACnF,oFAAoF;AACpF,sEAAsE;AACtE,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC;CAC3C,CAAC;AAEF,mFAAmF;AACnF,kFAAkF;AAClF,SAAS,QAAQ,CAAC,CAAqB;IACrC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACpB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAAC,KAAe;IAClC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,WAAqB,SAAS;IACpD,OAAO;QACL,iEAAiE;QACjE,MAAM,EACJ,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YACnC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YACjC,WAAW,CAAC,QAAQ,CAAC;QACvB,OAAO,EACL,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YACnC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YACjC,gBAAgB;KACnB,CAAC;AACJ,CAAC"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/serve.js
CHANGED
|
@@ -41,7 +41,6 @@ function withConversationId(schema) {
|
|
|
41
41
|
}
|
|
42
42
|
export function createRouter() {
|
|
43
43
|
const tools = new Map();
|
|
44
|
-
const env = readEnv();
|
|
45
44
|
return {
|
|
46
45
|
tools,
|
|
47
46
|
register(tool) {
|
|
@@ -51,7 +50,8 @@ export function createRouter() {
|
|
|
51
50
|
const tool = tools.get(name);
|
|
52
51
|
if (!tool)
|
|
53
52
|
throw new Error(`unknown tool: ${name}`);
|
|
54
|
-
|
|
53
|
+
// Per call, not per process: a login made mid-session must reach the next call.
|
|
54
|
+
return tool.handler(args ?? {}, readEnv());
|
|
55
55
|
},
|
|
56
56
|
};
|
|
57
57
|
}
|
package/dist/serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,MAA0B,EAAE,IAAY,EAAE,OAAoB,EAAE;IAC7G,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAC/F,IAAI,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACtF,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,oEAAoE;QACpE,yEAAyE;QACzE,kFAAkF;QAClF,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACzG,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,MAAM,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzH,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACvD,CAAC;AAeD,oFAAoF;AACpF,wFAAwF;AACxF,SAAS,kBAAkB,CAAC,MAA+B;IACzD,MAAM,KAAK,GAAI,MAAM,CAAC,UAAsC,IAAI,EAAE,CAAC;IACnE,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE;YACV,GAAG,KAAK;YACR,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8FAA8F;aAC5G;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IACzC,OAAO;QACL,KAAK;QACL,QAAQ,CAAC,IAAI;YACX,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACpD,gFAAgF;YAChF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,MAAiB,EAAE,IAA0C;IACvF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,OAAO,EAAE,EAClE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC;SAC/C,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7C,MAAM,OAAO,GAAI,IAAgC,IAAI,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAuB,CAAC;QACxE,kEAAkE;QAClE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;QACxD,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,cAAc,IAAI,YAAY,EAAE,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAStC,SAAS,gBAAgB,CAAC,EAAU;IAClC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC9C,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACjB,MAAM,IAAI,GAAqB,EAAE,CAAA;IACjC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,GAAG,CAAC;YAAE,SAAQ;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAA4B,CAAA;QAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACtF,CAAC;aAAM,CAAC;YACL,IAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAAiB,EACjB,IAA0C;IAE1C,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAA;IACjC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAE7B,MAAM,CAAC,QAAQ,CAAC;QACd,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;YAC5B,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBAClF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;aACxF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE,CAAC,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kDAAkD;YACtF,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5E,CAAC;KACH,CAAC,CAAA;IAEF,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,QAAQ,CAAC;YACd,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,UAAU,SAAS,EAAE;YAClC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;SACrG,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AACjG,CAAC"}
|
package/dist/tools/workflow.js
CHANGED
|
@@ -12,9 +12,18 @@ export function workflowTools() {
|
|
|
12
12
|
return [
|
|
13
13
|
{
|
|
14
14
|
name: "workflow_list",
|
|
15
|
-
description: "List the workflows (SOPs) in this workspace — id, name, description, step count, status, last run. Prefer running a matching workflow over improvising the steps yourself.",
|
|
16
|
-
inputSchema: {
|
|
17
|
-
|
|
15
|
+
description: "List the workflows (SOPs) in this workspace — id, name, description, step count, status, last run. Prefer running a matching workflow over improvising the steps yourself. templates:true lists the starter catalog instead (e.g. sell-a-tool, sell-an-image) — clone one with workflow_create fromTemplate.",
|
|
16
|
+
inputSchema: {
|
|
17
|
+
type: "object",
|
|
18
|
+
properties: {
|
|
19
|
+
slug: { type: "string", description: "Workspace slug. Omit for your own." },
|
|
20
|
+
templates: { type: "boolean", description: "true = the public starter catalog, not your workflows" },
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
handler: async (args, env) => ask(env, "workflow:list", {
|
|
24
|
+
...(typeof args.slug === "string" ? { slug: args.slug } : {}),
|
|
25
|
+
...(args.templates === true ? { templates: true } : {}),
|
|
26
|
+
}),
|
|
18
27
|
},
|
|
19
28
|
{
|
|
20
29
|
name: "workflow_get",
|
|
@@ -38,15 +47,34 @@ export function workflowTools() {
|
|
|
38
47
|
},
|
|
39
48
|
{
|
|
40
49
|
name: "workflow_run",
|
|
41
|
-
description: "Start a run
|
|
42
|
-
inputSchema: {
|
|
43
|
-
|
|
50
|
+
description: "Start a run. triggerPayload is what the trigger step receives — `$trigger.<field>` in any step's args reads it. Steps execute in order and the path learns which branches work. Use after the operator confirms.",
|
|
51
|
+
inputSchema: {
|
|
52
|
+
type: "object",
|
|
53
|
+
properties: {
|
|
54
|
+
workflowId: { type: "string", description: "id from workflow_list" },
|
|
55
|
+
triggerPayload: { type: "object", description: "what the trigger step receives — `$trigger.<field>` in any step's args reads it. Validated against the trigger's payloadSchema when it declares one" },
|
|
56
|
+
idempotencyKey: { type: "string", description: "optional — a repeat call with the same key returns the first run instead of starting another" },
|
|
57
|
+
slug: { type: "string", description: "optional workspace slug — a scope request the authority walk decides, never a swap for your own" },
|
|
58
|
+
},
|
|
59
|
+
required: ["workflowId"],
|
|
60
|
+
},
|
|
61
|
+
handler: async (args, env) => ask(env, "workflow:run", { workflowId: args.workflowId, triggerPayload: args.triggerPayload, idempotencyKey: args.idempotencyKey, slug: args.slug }),
|
|
44
62
|
},
|
|
45
63
|
{
|
|
46
64
|
name: "workflow_runs",
|
|
47
|
-
description: "List recent runs for a workflow (status, timing). Pass runId to get that run's step-event timeline.",
|
|
48
|
-
inputSchema: {
|
|
49
|
-
|
|
65
|
+
description: "List recent runs for a workflow (status, timing). Pass runId to get that run's step-event timeline, or stepId to get one step's history across runs.",
|
|
66
|
+
inputSchema: {
|
|
67
|
+
type: "object",
|
|
68
|
+
properties: {
|
|
69
|
+
workflowId: { type: "string" },
|
|
70
|
+
runId: { type: "string", description: "optional — return this run's event timeline" },
|
|
71
|
+
limit: { type: "number", description: "runs to return, 1-200" },
|
|
72
|
+
stepId: { type: "string", description: "optional — return this step's history across recent runs (status, latency, payload) as stepEvents" },
|
|
73
|
+
stepLimit: { type: "number", description: "optional — how many stepEvents, 1-100 (default 40)" },
|
|
74
|
+
},
|
|
75
|
+
required: ["workflowId"],
|
|
76
|
+
},
|
|
77
|
+
handler: async (args, env) => ask(env, "workflow:runs", { workflowId: args.workflowId, runId: args.runId, limit: args.limit, stepId: args.stepId, stepLimit: args.stepLimit }),
|
|
50
78
|
},
|
|
51
79
|
{
|
|
52
80
|
name: "workflow_validate",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AAEpD,iFAAiF;AACjF,+EAA+E;AAC/E,2EAA2E;AAC3E,4EAA4E;AAC5E,0DAA0D;AAC1D,MAAM,GAAG,GAAG,CAAC,GAAyC,EAAE,QAAgB,EAAE,IAAa,EAAE,EAAE,CACzF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE;IAC3E,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;CAC/B,CAAC,CAAC;AAEL,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneie/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "ONE substrate MCP server — 12 substrate verbs + 3 discovery tools.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
"dev": "tsc --watch",
|
|
17
17
|
"typecheck": "tsc --noEmit",
|
|
18
18
|
"prepublishOnly": "bun run build",
|
|
19
|
-
"check:tools": "bun run build && node -e \"import('./dist/index.js').then(m=>{const d=m.toolManifestDrift();if(d.missing.length||d.extra.length){console.error('MCP_TOOLS drift — missing:',d.missing,'extra:',d.extra);process.exit(1)}console.log('MCP_TOOLS matches the router')})\""
|
|
19
|
+
"check:tools": "bun run build && node -e \"import('./dist/index.js').then(m=>{const d=m.toolManifestDrift();if(d.missing.length||d.extra.length){console.error('MCP_TOOLS drift — missing:',d.missing,'extra:',d.extra);process.exit(1)}console.log('MCP_TOOLS matches the router')})\"",
|
|
20
|
+
"test": "bun test test/"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@oneie/sdk": "^0.16.
|
|
23
|
+
"@oneie/sdk": "^0.16.1",
|
|
23
24
|
"@oneie/templates": "^0.2.0",
|
|
24
25
|
"@modelcontextprotocol/sdk": "^1.0.0"
|
|
25
26
|
},
|