@sundaeswap/sprinkles 0.6.1 → 0.7.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/dist/cjs/Sprinkle/__tests__/action-integration.test.js +590 -0
- package/dist/cjs/Sprinkle/__tests__/action-integration.test.js.map +1 -0
- package/dist/cjs/Sprinkle/__tests__/action-registry.test.js +193 -0
- package/dist/cjs/Sprinkle/__tests__/action-registry.test.js.map +1 -0
- package/dist/cjs/Sprinkle/__tests__/action-runner.test.js +304 -0
- package/dist/cjs/Sprinkle/__tests__/action-runner.test.js.map +1 -0
- package/dist/cjs/Sprinkle/__tests__/builtin-actions.test.js +1110 -0
- package/dist/cjs/Sprinkle/__tests__/builtin-actions.test.js.map +1 -0
- package/dist/cjs/Sprinkle/__tests__/cli-adapter.test.js +722 -0
- package/dist/cjs/Sprinkle/__tests__/cli-adapter.test.js.map +1 -0
- package/dist/cjs/Sprinkle/__tests__/mcp-adapter.test.js +713 -0
- package/dist/cjs/Sprinkle/__tests__/mcp-adapter.test.js.map +1 -0
- package/dist/cjs/Sprinkle/__tests__/tui-helpers.test.js +334 -0
- package/dist/cjs/Sprinkle/__tests__/tui-helpers.test.js.map +1 -0
- package/dist/cjs/Sprinkle/__tests__/wallet-transaction-actions.test.js +749 -0
- package/dist/cjs/Sprinkle/__tests__/wallet-transaction-actions.test.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/builtin/blaze-helper.js +61 -0
- package/dist/cjs/Sprinkle/actions/builtin/blaze-helper.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/builtin/index.js +117 -0
- package/dist/cjs/Sprinkle/actions/builtin/index.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/builtin/profile-actions.js +202 -0
- package/dist/cjs/Sprinkle/actions/builtin/profile-actions.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/builtin/settings-actions.js +87 -0
- package/dist/cjs/Sprinkle/actions/builtin/settings-actions.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/builtin/transaction-actions.js +345 -0
- package/dist/cjs/Sprinkle/actions/builtin/transaction-actions.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/builtin/wallet-actions.js +212 -0
- package/dist/cjs/Sprinkle/actions/builtin/wallet-actions.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/cli-adapter.js +372 -0
- package/dist/cjs/Sprinkle/actions/cli-adapter.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/index.js +127 -0
- package/dist/cjs/Sprinkle/actions/index.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/mcp-adapter.js +415 -0
- package/dist/cjs/Sprinkle/actions/mcp-adapter.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/registry.js +92 -0
- package/dist/cjs/Sprinkle/actions/registry.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/runner.js +190 -0
- package/dist/cjs/Sprinkle/actions/runner.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/tui-helpers.js +96 -0
- package/dist/cjs/Sprinkle/actions/tui-helpers.js.map +1 -0
- package/dist/cjs/Sprinkle/actions/types.js +68 -0
- package/dist/cjs/Sprinkle/actions/types.js.map +1 -0
- package/dist/cjs/Sprinkle/index.js +412 -1
- package/dist/cjs/Sprinkle/index.js.map +1 -1
- package/dist/cjs/Sprinkle/prompts.js +12 -7
- package/dist/cjs/Sprinkle/prompts.js.map +1 -1
- package/dist/cjs/Sprinkle/type-guards.js +7 -1
- package/dist/cjs/Sprinkle/type-guards.js.map +1 -1
- package/dist/esm/Sprinkle/__tests__/action-integration.test.js +588 -0
- package/dist/esm/Sprinkle/__tests__/action-integration.test.js.map +1 -0
- package/dist/esm/Sprinkle/__tests__/action-registry.test.js +192 -0
- package/dist/esm/Sprinkle/__tests__/action-registry.test.js.map +1 -0
- package/dist/esm/Sprinkle/__tests__/action-runner.test.js +302 -0
- package/dist/esm/Sprinkle/__tests__/action-runner.test.js.map +1 -0
- package/dist/esm/Sprinkle/__tests__/builtin-actions.test.js +1107 -0
- package/dist/esm/Sprinkle/__tests__/builtin-actions.test.js.map +1 -0
- package/dist/esm/Sprinkle/__tests__/cli-adapter.test.js +720 -0
- package/dist/esm/Sprinkle/__tests__/cli-adapter.test.js.map +1 -0
- package/dist/esm/Sprinkle/__tests__/mcp-adapter.test.js +712 -0
- package/dist/esm/Sprinkle/__tests__/mcp-adapter.test.js.map +1 -0
- package/dist/esm/Sprinkle/__tests__/tui-helpers.test.js +332 -0
- package/dist/esm/Sprinkle/__tests__/tui-helpers.test.js.map +1 -0
- package/dist/esm/Sprinkle/__tests__/wallet-transaction-actions.test.js +747 -0
- package/dist/esm/Sprinkle/__tests__/wallet-transaction-actions.test.js.map +1 -0
- package/dist/esm/Sprinkle/actions/builtin/blaze-helper.js +55 -0
- package/dist/esm/Sprinkle/actions/builtin/blaze-helper.js.map +1 -0
- package/dist/esm/Sprinkle/actions/builtin/index.js +32 -0
- package/dist/esm/Sprinkle/actions/builtin/index.js.map +1 -0
- package/dist/esm/Sprinkle/actions/builtin/profile-actions.js +197 -0
- package/dist/esm/Sprinkle/actions/builtin/profile-actions.js.map +1 -0
- package/dist/esm/Sprinkle/actions/builtin/settings-actions.js +81 -0
- package/dist/esm/Sprinkle/actions/builtin/settings-actions.js.map +1 -0
- package/dist/esm/Sprinkle/actions/builtin/transaction-actions.js +340 -0
- package/dist/esm/Sprinkle/actions/builtin/transaction-actions.js.map +1 -0
- package/dist/esm/Sprinkle/actions/builtin/wallet-actions.js +207 -0
- package/dist/esm/Sprinkle/actions/builtin/wallet-actions.js.map +1 -0
- package/dist/esm/Sprinkle/actions/cli-adapter.js +361 -0
- package/dist/esm/Sprinkle/actions/cli-adapter.js.map +1 -0
- package/dist/esm/Sprinkle/actions/index.js +12 -0
- package/dist/esm/Sprinkle/actions/index.js.map +1 -0
- package/dist/esm/Sprinkle/actions/mcp-adapter.js +407 -0
- package/dist/esm/Sprinkle/actions/mcp-adapter.js.map +1 -0
- package/dist/esm/Sprinkle/actions/registry.js +85 -0
- package/dist/esm/Sprinkle/actions/registry.js.map +1 -0
- package/dist/esm/Sprinkle/actions/runner.js +182 -0
- package/dist/esm/Sprinkle/actions/runner.js.map +1 -0
- package/dist/esm/Sprinkle/actions/tui-helpers.js +91 -0
- package/dist/esm/Sprinkle/actions/tui-helpers.js.map +1 -0
- package/dist/esm/Sprinkle/actions/types.js +61 -0
- package/dist/esm/Sprinkle/actions/types.js.map +1 -0
- package/dist/esm/Sprinkle/index.js +260 -1
- package/dist/esm/Sprinkle/index.js.map +1 -1
- package/dist/esm/Sprinkle/prompts.js +12 -7
- package/dist/esm/Sprinkle/prompts.js.map +1 -1
- package/dist/esm/Sprinkle/type-guards.js +3 -0
- package/dist/esm/Sprinkle/type-guards.js.map +1 -1
- package/dist/types/Sprinkle/actions/builtin/blaze-helper.d.ts +39 -0
- package/dist/types/Sprinkle/actions/builtin/blaze-helper.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/builtin/index.d.ts +26 -0
- package/dist/types/Sprinkle/actions/builtin/index.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/builtin/profile-actions.d.ts +55 -0
- package/dist/types/Sprinkle/actions/builtin/profile-actions.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/builtin/settings-actions.d.ts +32 -0
- package/dist/types/Sprinkle/actions/builtin/settings-actions.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/builtin/transaction-actions.d.ts +70 -0
- package/dist/types/Sprinkle/actions/builtin/transaction-actions.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/builtin/wallet-actions.d.ts +50 -0
- package/dist/types/Sprinkle/actions/builtin/wallet-actions.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/cli-adapter.d.ts +104 -0
- package/dist/types/Sprinkle/actions/cli-adapter.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/index.d.ts +12 -0
- package/dist/types/Sprinkle/actions/index.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/mcp-adapter.d.ts +92 -0
- package/dist/types/Sprinkle/actions/mcp-adapter.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/registry.d.ts +42 -0
- package/dist/types/Sprinkle/actions/registry.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/runner.d.ts +45 -0
- package/dist/types/Sprinkle/actions/runner.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/tui-helpers.d.ts +53 -0
- package/dist/types/Sprinkle/actions/tui-helpers.d.ts.map +1 -0
- package/dist/types/Sprinkle/actions/types.d.ts +76 -0
- package/dist/types/Sprinkle/actions/types.d.ts.map +1 -0
- package/dist/types/Sprinkle/index.d.ts +81 -1
- package/dist/types/Sprinkle/index.d.ts.map +1 -1
- package/dist/types/Sprinkle/prompts.d.ts.map +1 -1
- package/dist/types/Sprinkle/type-guards.d.ts +4 -1
- package/dist/types/Sprinkle/type-guards.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +9 -2
- package/src/Sprinkle/__tests__/action-integration.test.ts +558 -0
- package/src/Sprinkle/__tests__/action-registry.test.ts +187 -0
- package/src/Sprinkle/__tests__/action-runner.test.ts +324 -0
- package/src/Sprinkle/__tests__/builtin-actions.test.ts +1022 -0
- package/src/Sprinkle/__tests__/cli-adapter.test.ts +715 -0
- package/src/Sprinkle/__tests__/mcp-adapter.test.ts +718 -0
- package/src/Sprinkle/__tests__/tui-helpers.test.ts +325 -0
- package/src/Sprinkle/__tests__/wallet-transaction-actions.test.ts +695 -0
- package/src/Sprinkle/actions/builtin/blaze-helper.ts +89 -0
- package/src/Sprinkle/actions/builtin/index.ts +86 -0
- package/src/Sprinkle/actions/builtin/profile-actions.ts +229 -0
- package/src/Sprinkle/actions/builtin/settings-actions.ts +99 -0
- package/src/Sprinkle/actions/builtin/transaction-actions.ts +381 -0
- package/src/Sprinkle/actions/builtin/wallet-actions.ts +233 -0
- package/src/Sprinkle/actions/cli-adapter.ts +430 -0
- package/src/Sprinkle/actions/index.ts +32 -0
- package/src/Sprinkle/actions/mcp-adapter.ts +463 -0
- package/src/Sprinkle/actions/registry.ts +97 -0
- package/src/Sprinkle/actions/runner.ts +200 -0
- package/src/Sprinkle/actions/tui-helpers.ts +114 -0
- package/src/Sprinkle/actions/types.ts +91 -0
- package/src/Sprinkle/index.ts +351 -0
- package/src/Sprinkle/prompts.ts +118 -72
- package/src/Sprinkle/type-guards.ts +9 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Barrel export for the actions subsystem.
|
|
3
|
+
*/
|
|
4
|
+
export type { IAction, IActionContext, IActionResult, IActionSuccess, IActionFailure, AnyAction } from "./types.js";
|
|
5
|
+
export { ActionError } from "./types.js";
|
|
6
|
+
export { ActionRegistry } from "./registry.js";
|
|
7
|
+
export { executeAction, detectMode, parseCliArgs } from "./runner.js";
|
|
8
|
+
export { camelToKebab, kebabToCamel, coerceValue, parseArgvWithSchema, generateActionHelp, generateAppHelp, runCli, } from "./cli-adapter.js";
|
|
9
|
+
export { typeboxToJsonSchema, coerceMcpInput, getMcpSdk, createMcpServer, runMcp, } from "./mcp-adapter.js";
|
|
10
|
+
export { getBuiltinActions } from "./builtin/index.js";
|
|
11
|
+
export { promptAndExecute } from "./tui-helpers.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Sprinkle/actions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACpH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,MAAM,GACP,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,SAAS,EACT,eAAe,EACf,MAAM,GACP,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP adapter for Sprinkles actions.
|
|
3
|
+
*
|
|
4
|
+
* Provides:
|
|
5
|
+
* - TypeBox to JSON Schema conversion (typeboxToJsonSchema)
|
|
6
|
+
* - BigInt string coercion for MCP input (coerceMcpInput)
|
|
7
|
+
* - Lazy MCP SDK import with graceful error (getMcpSdk)
|
|
8
|
+
* - MCP server creation from registered actions (createMcpServer)
|
|
9
|
+
* - MCP orchestrator that starts a stdio server (runMcp)
|
|
10
|
+
*/
|
|
11
|
+
import type { TSchema } from "@sinclair/typebox";
|
|
12
|
+
import type { Sprinkle } from "../index.js";
|
|
13
|
+
/**
|
|
14
|
+
* Convert a TypeBox schema to a plain JSON Schema object.
|
|
15
|
+
*
|
|
16
|
+
* Strips TypeBox-internal symbols and properties (Kind, OptionalKind, $id)
|
|
17
|
+
* and maps TypeBox-specific types to their JSON Schema equivalents:
|
|
18
|
+
* - BigInt -> { type: "string", pattern: "^-?[0-9]+$" } (JSON has no BigInt)
|
|
19
|
+
* - Sensitive string fields -> add writeOnly: true
|
|
20
|
+
* - Optional -> recurse on inner schema (Optional does not change Kind)
|
|
21
|
+
* - Union -> { anyOf: [...] }
|
|
22
|
+
* - Literal -> { type, const }
|
|
23
|
+
* - Null -> { type: "null" }
|
|
24
|
+
* - Unknown/unsupported -> {} (accepts anything)
|
|
25
|
+
*/
|
|
26
|
+
export declare function typeboxToJsonSchema(schema: TSchema): Record<string, unknown>;
|
|
27
|
+
/**
|
|
28
|
+
* Coerce MCP JSON input values to the types expected by a TypeBox schema.
|
|
29
|
+
*
|
|
30
|
+
* MCP transmits all values as JSON, which has no BigInt type. When the schema
|
|
31
|
+
* expects a BigInt, the value arrives as a numeric string (e.g. "12345678").
|
|
32
|
+
* This function recursively walks the schema and input, converting BigInt
|
|
33
|
+
* string values to actual BigInt where needed.
|
|
34
|
+
*
|
|
35
|
+
* For all other types the value is passed through unchanged.
|
|
36
|
+
*/
|
|
37
|
+
export declare function coerceMcpInput(input: unknown, schema: TSchema): unknown;
|
|
38
|
+
/**
|
|
39
|
+
* MCP SDK module shape (the parts we use from @modelcontextprotocol/sdk).
|
|
40
|
+
* Typed loosely to avoid a hard dependency at compile time.
|
|
41
|
+
*/
|
|
42
|
+
interface IMcpSdkModule {
|
|
43
|
+
McpServer: new (opts: {
|
|
44
|
+
name: string;
|
|
45
|
+
version: string;
|
|
46
|
+
}) => any;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Lazily import the MCP SDK server module.
|
|
50
|
+
*
|
|
51
|
+
* Throws a clear, actionable error if the SDK is not installed, rather than
|
|
52
|
+
* a cryptic "Cannot find module" Node error.
|
|
53
|
+
*/
|
|
54
|
+
export declare function getMcpSdk(): Promise<IMcpSdkModule>;
|
|
55
|
+
/**
|
|
56
|
+
* Create an MCP server and register all actions from a Sprinkle instance as
|
|
57
|
+
* MCP tools.
|
|
58
|
+
*
|
|
59
|
+
* Each action becomes a tool with:
|
|
60
|
+
* - name: action.name
|
|
61
|
+
* - description: action.description
|
|
62
|
+
* - input schema: typeboxToJsonSchema(action.inputSchema)
|
|
63
|
+
* - handler: coerces input, executes action, returns JSON result
|
|
64
|
+
*
|
|
65
|
+
* The Sprinkle instance must already be initialized with a profile before
|
|
66
|
+
* this function is called.
|
|
67
|
+
*
|
|
68
|
+
* @param sprinkle - Fully-initialized Sprinkle instance
|
|
69
|
+
* @param serverName - Name to use for the MCP server
|
|
70
|
+
* @returns The configured McpServer instance (not yet connected)
|
|
71
|
+
*/
|
|
72
|
+
export declare function createMcpServer<S extends TSchema>(sprinkle: Sprinkle<S>, serverName: string): Promise<any>;
|
|
73
|
+
/**
|
|
74
|
+
* Start an MCP server on stdio transport.
|
|
75
|
+
*
|
|
76
|
+
* This function:
|
|
77
|
+
* 1. Creates the MCP server and registers all actions as tools
|
|
78
|
+
* 2. Creates a StdioServerTransport
|
|
79
|
+
* 3. Connects the server to the transport
|
|
80
|
+
*
|
|
81
|
+
* IMPORTANT: All logging in this function goes to stderr. stdout is reserved
|
|
82
|
+
* for the MCP protocol messages.
|
|
83
|
+
*
|
|
84
|
+
* The Sprinkle instance must already be initialized with a profile. Profile
|
|
85
|
+
* initialization is the responsibility of the caller (Sprinkle.Run()).
|
|
86
|
+
*
|
|
87
|
+
* @param sprinkle - Fully-initialized Sprinkle instance
|
|
88
|
+
* @param serverName - Name to use for the MCP server
|
|
89
|
+
*/
|
|
90
|
+
export declare function runMcp<S extends TSchema>(sprinkle: Sprinkle<S>, serverName: string): Promise<void>;
|
|
91
|
+
export {};
|
|
92
|
+
//# sourceMappingURL=mcp-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-adapter.d.ts","sourceRoot":"","sources":["../../../../src/Sprinkle/actions/mcp-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAoBjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAiC5C;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2H5E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CA4DvE;AAMD;;;GAGG;AACH,UAAU,aAAa;IAErB,SAAS,EAAE,KAAK,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC;CACjE;AAOD;;;;;GAKG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,CAUxD;AAqBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CAAC,CAAC,SAAS,OAAO,EACrD,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,UAAU,EAAE,MAAM,GAEjB,OAAO,CAAC,GAAG,CAAC,CAgEd;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,MAAM,CAAC,CAAC,SAAS,OAAO,EAC5C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action registry for storing and retrieving registered actions.
|
|
3
|
+
*/
|
|
4
|
+
import type { TSchema } from "@sinclair/typebox";
|
|
5
|
+
import type { AnyAction } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Registry for managing actions registered on a Sprinkle app.
|
|
8
|
+
* Enforces name uniqueness and schema validation at registration time.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ActionRegistry<S extends TSchema> {
|
|
11
|
+
private actions;
|
|
12
|
+
/**
|
|
13
|
+
* Register an action with the registry.
|
|
14
|
+
*
|
|
15
|
+
* Validates:
|
|
16
|
+
* - Name is kebab-case (lowercase letters, digits, hyphens)
|
|
17
|
+
* - Name is unique within this registry
|
|
18
|
+
* - inputSchema and outputSchema are present
|
|
19
|
+
*
|
|
20
|
+
* @throws Error if validation fails
|
|
21
|
+
*/
|
|
22
|
+
register(action: AnyAction<S>): void;
|
|
23
|
+
/**
|
|
24
|
+
* Retrieve an action by name.
|
|
25
|
+
* @returns The action, or undefined if not registered
|
|
26
|
+
*/
|
|
27
|
+
get(name: string): AnyAction<S> | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Check if an action with the given name is registered.
|
|
30
|
+
*/
|
|
31
|
+
has(name: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* List all registered actions.
|
|
34
|
+
*/
|
|
35
|
+
list(): AnyAction<S>[];
|
|
36
|
+
/**
|
|
37
|
+
* Group all registered actions by their category.
|
|
38
|
+
* Actions without a category are placed under "default".
|
|
39
|
+
*/
|
|
40
|
+
listByCategory(): Map<string, AnyAction<S>[]>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/Sprinkle/actions/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO;IAC3C,OAAO,CAAC,OAAO,CAAwC;IAEvD;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IA4BpC;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;IAI3C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;IAItB;;;OAGG;IACH,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;CAe9C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action runner utilities: input validation, execution, mode detection, and CLI arg parsing.
|
|
3
|
+
*/
|
|
4
|
+
import type { TSchema } from "@sinclair/typebox";
|
|
5
|
+
import type { IAction, IActionContext, IActionResult } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Execute an action with raw (unvalidated) input.
|
|
8
|
+
*
|
|
9
|
+
* - Validates rawInput against action.inputSchema using Value.Check
|
|
10
|
+
* - Applies defaults and transforms via Value.Decode
|
|
11
|
+
* - Calls action.execute with decoded input
|
|
12
|
+
* - Wraps all errors in ActionError for consistent error handling
|
|
13
|
+
*
|
|
14
|
+
* @returns A discriminated IActionResult -- never throws
|
|
15
|
+
*/
|
|
16
|
+
export declare function executeAction<TInput, TOutput, S extends TSchema>(action: IAction<TInput, TOutput, S>, rawInput: unknown, context: IActionContext<S>): Promise<IActionResult<TOutput>>;
|
|
17
|
+
/**
|
|
18
|
+
* Detect the intended run mode from process argv.
|
|
19
|
+
*
|
|
20
|
+
* - No args or --interactive: "tui"
|
|
21
|
+
* - --mcp: "mcp"
|
|
22
|
+
* - --help or -h (with no positional arg): "help"
|
|
23
|
+
* - First positional arg (not starting with --): "cli"
|
|
24
|
+
* - Default fallback: "tui"
|
|
25
|
+
*/
|
|
26
|
+
export declare function detectMode(argv: string[]): "tui" | "cli" | "mcp" | "help";
|
|
27
|
+
/**
|
|
28
|
+
* Parse CLI argv into an action name and key-value argument record.
|
|
29
|
+
*
|
|
30
|
+
* Expects:
|
|
31
|
+
* - First positional arg as the action name
|
|
32
|
+
* - Subsequent --flag value or --flag=value pairs as arguments
|
|
33
|
+
* - --no-flag for boolean negation
|
|
34
|
+
* - Values starting with { or [ are parsed as JSON
|
|
35
|
+
*
|
|
36
|
+
* Note: This is a preliminary implementation. Complex nested inputs
|
|
37
|
+
* should be provided as JSON strings (e.g. --input '{"key":"value"}').
|
|
38
|
+
*
|
|
39
|
+
* @throws Error if no action name is found in argv
|
|
40
|
+
*/
|
|
41
|
+
export declare function parseCliArgs(argv: string[]): {
|
|
42
|
+
actionName: string;
|
|
43
|
+
args: Record<string, unknown>;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../src/Sprinkle/actions/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzE;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,SAAS,OAAO,EACpE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EACnC,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CA+CjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EAAE,GACb,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAehC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EAAE,GACb;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAmEvD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TUI helper utilities for integrating the action system with interactive prompts.
|
|
3
|
+
*
|
|
4
|
+
* Provides:
|
|
5
|
+
* - promptAndExecute: gather input via FillInStruct then run executeAction
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Functions in this module require a fully initialized Sprinkle instance with
|
|
9
|
+
* terminal access. They are intended for TUI mode only; in CLI or MCP mode use
|
|
10
|
+
* executeAction directly.
|
|
11
|
+
*/
|
|
12
|
+
import type { TSchema } from "@sinclair/typebox";
|
|
13
|
+
import type { IAction, IActionResult } from "./types.js";
|
|
14
|
+
import type { Sprinkle } from "../index.js";
|
|
15
|
+
/**
|
|
16
|
+
* Interactively gather input for an action using FillInStruct, then execute
|
|
17
|
+
* the action and return the result.
|
|
18
|
+
*
|
|
19
|
+
* The function:
|
|
20
|
+
* 1. Calls `sprinkle.FillInStruct(action.inputSchema, defaults)` to collect
|
|
21
|
+
* input from the user via TUI prompts.
|
|
22
|
+
* 2. Builds an `IActionContext` from the sprinkle instance.
|
|
23
|
+
* 3. Calls `executeAction(action, input, context)` and returns the result.
|
|
24
|
+
*
|
|
25
|
+
* If the user cancels the prompt (`UserCancelledError` is thrown), the function
|
|
26
|
+
* returns an `IActionFailure` with code `USER_CANCELLED` rather than throwing.
|
|
27
|
+
*
|
|
28
|
+
* Two separate schema type parameters are used:
|
|
29
|
+
* - `S` is the concrete settings schema of the `Sprinkle` instance.
|
|
30
|
+
* - `SA` is the settings schema the action was typed against (often `TSchema`).
|
|
31
|
+
*
|
|
32
|
+
* This allows a `Sprinkle<TObject<...>>` to be passed alongside an action
|
|
33
|
+
* typed with the base `TSchema` constraint (the same pattern used by all
|
|
34
|
+
* built-in actions), while still preserving full type safety for TInput/TOutput.
|
|
35
|
+
*
|
|
36
|
+
* @param sprinkle - An initialized Sprinkle instance (TUI mode).
|
|
37
|
+
* @param action - The action to prompt for and execute.
|
|
38
|
+
* @param defaults - Optional partial defaults pre-filled in the prompt.
|
|
39
|
+
* @returns An `IActionResult` discriminated union (never throws).
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* const result = await promptAndExecute(sprinkle, greetAction);
|
|
44
|
+
* if (result.success) {
|
|
45
|
+
* console.log(result.data.greeting);
|
|
46
|
+
* } else {
|
|
47
|
+
* if (result.error.code === "USER_CANCELLED") return; // user backed out
|
|
48
|
+
* console.error(result.error.message);
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function promptAndExecute<TInput, TOutput, S extends TSchema, SA extends TSchema>(sprinkle: Sprinkle<S>, action: IAction<TInput, TOutput, SA>, defaults?: Partial<TInput>): Promise<IActionResult<TOutput>>;
|
|
53
|
+
//# sourceMappingURL=tui-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-helpers.d.ts","sourceRoot":"","sources":["../../../../src/Sprinkle/actions/tui-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAkB,aAAa,EAAE,MAAM,YAAY,CAAC;AAIzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EACN,OAAO,EACP,CAAC,SAAS,OAAO,EACjB,EAAE,SAAS,OAAO,EAElB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,EAIpC,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAyCjC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core action types for the action-centric architecture.
|
|
3
|
+
* Actions are pure functions that receive validated typed input
|
|
4
|
+
* and return typed output, with no interactive prompts.
|
|
5
|
+
*/
|
|
6
|
+
import type { TSchema, Static } from "@sinclair/typebox";
|
|
7
|
+
import type { Sprinkle } from "../index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Utility type to extract the static type from a TypeBox schema.
|
|
10
|
+
*/
|
|
11
|
+
type TExact<T> = T extends TSchema ? Static<T> : T;
|
|
12
|
+
/**
|
|
13
|
+
* Context passed to action execute functions.
|
|
14
|
+
* Provides access to the Sprinkle instance and typed settings shorthand.
|
|
15
|
+
*/
|
|
16
|
+
export interface IActionContext<S extends TSchema> {
|
|
17
|
+
/** The full Sprinkle instance (settings, wallet, provider helpers) */
|
|
18
|
+
sprinkle: Sprinkle<S>;
|
|
19
|
+
/** Typed shorthand for sprinkle.settings */
|
|
20
|
+
settings: TExact<S>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Successful action result.
|
|
24
|
+
*/
|
|
25
|
+
export interface IActionSuccess<T> {
|
|
26
|
+
success: true;
|
|
27
|
+
data: T;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Failed action result.
|
|
31
|
+
*/
|
|
32
|
+
export interface IActionFailure {
|
|
33
|
+
success: false;
|
|
34
|
+
error: ActionError;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Discriminated union result type for actions.
|
|
38
|
+
*/
|
|
39
|
+
export type IActionResult<T> = IActionSuccess<T> | IActionFailure;
|
|
40
|
+
/**
|
|
41
|
+
* Structured error type for action failures.
|
|
42
|
+
* Carries a machine-readable code and optional details.
|
|
43
|
+
*/
|
|
44
|
+
export declare class ActionError extends Error {
|
|
45
|
+
code: string;
|
|
46
|
+
details: unknown;
|
|
47
|
+
constructor(message: string, code: string, details?: unknown);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* A typed action with input/output schemas and an execute function.
|
|
51
|
+
*
|
|
52
|
+
* @template TInput - The static input type (derived from inputSchema)
|
|
53
|
+
* @template TOutput - The static output type (derived from outputSchema)
|
|
54
|
+
* @template S - The Sprinkle settings schema type
|
|
55
|
+
*/
|
|
56
|
+
export interface IAction<TInput, TOutput, S extends TSchema> {
|
|
57
|
+
/** Unique kebab-case identifier for this action */
|
|
58
|
+
name: string;
|
|
59
|
+
/** Human-readable description of what this action does */
|
|
60
|
+
description: string;
|
|
61
|
+
/** Optional grouping category for display/help */
|
|
62
|
+
category?: string;
|
|
63
|
+
/** TypeBox schema for validating and decoding input */
|
|
64
|
+
inputSchema: TSchema;
|
|
65
|
+
/** TypeBox schema describing the output shape */
|
|
66
|
+
outputSchema: TSchema;
|
|
67
|
+
/** Pure execution function -- no interactive prompts allowed */
|
|
68
|
+
execute: (input: TInput, context: IActionContext<S>) => Promise<TOutput>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Convenience alias for an action with any input/output types.
|
|
72
|
+
* Used for registry storage where exact types are not required.
|
|
73
|
+
*/
|
|
74
|
+
export type AnyAction<S extends TSchema> = IAction<any, any, S>;
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/Sprinkle/actions/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,OAAO;IAC/C,sEAAsE;IACtE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;CACT;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;AAElE;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;gBAEL,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAM7D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,SAAS,OAAO;IACzD,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,YAAY,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E;AAED;;;GAGG;AAEH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -8,9 +8,13 @@ export { UserCancelledError } from "./types.js";
|
|
|
8
8
|
import type { TExact, ISprinkleOptions, IProfileMeta, ICurrentProfile, IProfileEntry, TxDialogResult, TxDialogOptions } from "./types.js";
|
|
9
9
|
export { NetworkSchema, MultisigScriptModule, MultisigScript, ProviderSettingsSchema, WalletSettingsSchema, } from "./schemas.js";
|
|
10
10
|
export type { TMultisigScript } from "./schemas.js";
|
|
11
|
-
export { isOptional, isImport, isArray, isBigInt, isLiteral, isObject, isRef, isString, isThis, isTuple, isUnion, isSensitive, isNull, isNullable, unwrapNullable, hasDefault, getDefault, } from "./type-guards.js";
|
|
11
|
+
export { isOptional, isImport, isArray, isBigInt, isBoolean, isInteger, isLiteral, isNumber, isObject, isRef, isString, isThis, isTuple, isUnion, isSensitive, isNull, isNullable, unwrapNullable, hasDefault, getDefault, } from "./type-guards.js";
|
|
12
12
|
import { NetworkSchema, ProviderSettingsSchema, WalletSettingsSchema } from "./schemas.js";
|
|
13
13
|
export { GetProvider, GetWallet, GetBlaze } from "./wallet.js";
|
|
14
|
+
import { ActionRegistry } from "./actions/index.js";
|
|
15
|
+
import type { AnyAction, IActionResult } from "./actions/index.js";
|
|
16
|
+
export type { IAction, IActionContext, IActionResult, IActionSuccess, IActionFailure, AnyAction } from "./actions/index.js";
|
|
17
|
+
export { ActionRegistry, ActionError, executeAction, detectMode, parseCliArgs, generateActionHelp, camelToKebab, kebabToCamel, coerceValue, parseArgvWithSchema, generateAppHelp, runCli, typeboxToJsonSchema, coerceMcpInput, getMcpSdk, createMcpServer, runMcp, getBuiltinActions, promptAndExecute, } from "./actions/index.js";
|
|
14
18
|
export interface IMenuAction<S extends TSchema> {
|
|
15
19
|
title: string;
|
|
16
20
|
action: (sprinkle: Sprinkle<S>) => Promise<Sprinkle<S> | void>;
|
|
@@ -29,6 +33,7 @@ export declare class Sprinkle<S extends TSchema> {
|
|
|
29
33
|
options: ISprinkleOptions;
|
|
30
34
|
profileId: string;
|
|
31
35
|
profileMeta: IProfileMeta;
|
|
36
|
+
actionRegistry: ActionRegistry<S>;
|
|
32
37
|
constructor(type: S, storagePath: string, options?: ISprinkleOptions);
|
|
33
38
|
get currentProfile(): ICurrentProfile | null;
|
|
34
39
|
static sanitizeProfileId(name: string): string;
|
|
@@ -76,6 +81,27 @@ export declare class Sprinkle<S extends TSchema> {
|
|
|
76
81
|
private decryptSettings;
|
|
77
82
|
saveSettings(): void;
|
|
78
83
|
getDisplaySettings(): TExact<S>;
|
|
84
|
+
/**
|
|
85
|
+
* Look up a profile entry by its ID without loading it.
|
|
86
|
+
* Returns undefined if no profile with the given ID exists.
|
|
87
|
+
*/
|
|
88
|
+
getProfileById(id: string): IProfileEntry | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Create a new profile file without interactive prompts.
|
|
91
|
+
* Does NOT switch the active profile.
|
|
92
|
+
*
|
|
93
|
+
* @throws ActionError with code DUPLICATE_PROFILE if a profile with the same name already exists.
|
|
94
|
+
* @returns The created IProfileEntry
|
|
95
|
+
*/
|
|
96
|
+
createProfileNonInteractive(name: string, description?: string, initialSettings?: Partial<TExact<S>>): Promise<IProfileEntry>;
|
|
97
|
+
/**
|
|
98
|
+
* Delete a profile file by ID.
|
|
99
|
+
*
|
|
100
|
+
* @throws ActionError with code PROFILE_NOT_FOUND if no profile with the given ID exists.
|
|
101
|
+
* @throws ActionError with code CANNOT_DELETE_ONLY_PROFILE if this is the only profile.
|
|
102
|
+
* @throws ActionError with code CANNOT_DELETE_ACTIVE_PROFILE if this is the currently active profile.
|
|
103
|
+
*/
|
|
104
|
+
deleteProfileById(id: string): void;
|
|
79
105
|
TxDialog<P extends Provider, W extends Wallet>(blaze: Blaze<P, W>, tx: Core.Transaction, opts?: TxDialogOptions): Promise<TxDialogResult>;
|
|
80
106
|
/**
|
|
81
107
|
* Edit an existing struct value using a menu-based interface.
|
|
@@ -89,5 +115,59 @@ export declare class Sprinkle<S extends TSchema> {
|
|
|
89
115
|
_fillInStruct<U extends TSchema>(type: U, path: string[], defs: Record<string, TSchema>, def?: TExact<U>): Promise<TExact<U>>;
|
|
90
116
|
resolveType<T extends TSchema>(type: T, path: string[], defs: Record<string, TSchema>): T;
|
|
91
117
|
static ExtractMessage(type: TSchema, def: string): string;
|
|
118
|
+
/**
|
|
119
|
+
* Register an action on this Sprinkle instance.
|
|
120
|
+
* Delegates to the internal ActionRegistry with name and schema validation.
|
|
121
|
+
*/
|
|
122
|
+
registerAction(action: AnyAction<S>): void;
|
|
123
|
+
/**
|
|
124
|
+
* Retrieve a registered action by name.
|
|
125
|
+
* @returns The action, or undefined if not registered
|
|
126
|
+
*/
|
|
127
|
+
getAction(name: string): AnyAction<S> | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* List all registered actions.
|
|
130
|
+
*/
|
|
131
|
+
listActions(): AnyAction<S>[];
|
|
132
|
+
/**
|
|
133
|
+
* List all registered actions grouped by category.
|
|
134
|
+
* Uncategorized actions are grouped under "default".
|
|
135
|
+
*/
|
|
136
|
+
listActionsByCategory(): Map<string, AnyAction<S>[]>;
|
|
137
|
+
/**
|
|
138
|
+
* Execute a registered action by name with raw (unvalidated) input.
|
|
139
|
+
* Input is validated against the action's inputSchema before execution.
|
|
140
|
+
*
|
|
141
|
+
* @throws Error if the action name is not registered
|
|
142
|
+
*/
|
|
143
|
+
runAction(name: string, input: unknown): Promise<IActionResult<unknown>>;
|
|
144
|
+
/**
|
|
145
|
+
* Non-interactive profile initialization for CLI/MCP modes.
|
|
146
|
+
* Resolves a profile without any user prompts.
|
|
147
|
+
*
|
|
148
|
+
* Resolution order:
|
|
149
|
+
* 1. If profileName provided, load that profile directly
|
|
150
|
+
* 2. If exactly one profile exists, auto-select it
|
|
151
|
+
* 3. If multiple profiles exist and no name given, throw with available names
|
|
152
|
+
* 4. If no profiles exist, throw instructing user to run in interactive mode
|
|
153
|
+
*/
|
|
154
|
+
private initNonInteractive;
|
|
155
|
+
/**
|
|
156
|
+
* Static entry point that detects mode and runs accordingly.
|
|
157
|
+
*
|
|
158
|
+
* Modes:
|
|
159
|
+
* - "tui" -- Interactive TUI menu (requires menu option)
|
|
160
|
+
* - "cli" -- CLI action execution (parses argv for action name and args)
|
|
161
|
+
* - "mcp" -- MCP protocol mode (not yet implemented)
|
|
162
|
+
* - "help" -- Print available actions and exit
|
|
163
|
+
*/
|
|
164
|
+
static run<S extends TSchema>(opts: {
|
|
165
|
+
type: S;
|
|
166
|
+
storagePath: string;
|
|
167
|
+
menu?: IMenu<S>;
|
|
168
|
+
actions?: AnyAction<S>[];
|
|
169
|
+
options?: ISprinkleOptions;
|
|
170
|
+
argv?: string[];
|
|
171
|
+
}): Promise<void>;
|
|
92
172
|
}
|
|
93
173
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Sprinkle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,KAAK,EACL,IAAI,EAEJ,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,mBAAmB,CAAC;AAIrE,cAAc,mBAAmB,CAAC;AAGlC,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EACV,MAAM,EAEN,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Sprinkle/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/Sprinkle/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAYL,SAAS,EAET,KAAK,KAAK,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQlD,QAAA,MAAM,WAAW;;;;;yBAGI,MAAM;4BACH,MAAM;;;;CAI7B,CAAC;AASF,UAAU,YAAY,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAED,UAAU,YAAY,CAAC,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/Sprinkle/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
* Type guard utilities for TypeBox schema types.
|
|
3
3
|
* These are internal helpers used by FillInStruct, encryption, and other modules.
|
|
4
4
|
*/
|
|
5
|
-
import { type TBigInt, type TLiteral, type TNull, type TObject, type TSchema, type TString, type TTuple, type TUnion, type TArray, type TThis, type TRef, type TImport, type TOptional, type Static } from "@sinclair/typebox";
|
|
5
|
+
import { type TBigInt, type TBoolean, type TInteger, type TLiteral, type TNull, type TNumber, type TObject, type TSchema, type TString, type TTuple, type TUnion, type TArray, type TThis, type TRef, type TImport, type TOptional, type Static } from "@sinclair/typebox";
|
|
6
6
|
export declare const isOptional: <T extends TSchema>(t: T) => t is TOptional<T>;
|
|
7
7
|
export declare const isImport: (t: TSchema) => t is TImport;
|
|
8
8
|
export declare const isArray: (t: TSchema) => t is TArray;
|
|
9
9
|
export declare const isBigInt: (t: TSchema) => t is TBigInt;
|
|
10
|
+
export declare const isBoolean: (t: TSchema) => t is TBoolean;
|
|
11
|
+
export declare const isInteger: (t: TSchema) => t is TInteger;
|
|
12
|
+
export declare const isNumber: (t: TSchema) => t is TNumber;
|
|
10
13
|
export declare const isLiteral: (t: TSchema) => t is TLiteral;
|
|
11
14
|
export declare const isObject: (t: TSchema) => t is TObject;
|
|
12
15
|
export declare const isRef: (t: TSchema) => t is TRef;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../../src/Sprinkle/type-guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,KAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CACrC,CAAC;AAEjC,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAA+B,CAAC;AAE3E,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA6B,CAAC;AAExE,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAA+B,CAAC;AAE3E,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,QAAiC,CAAC;AAE9E,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAA+B,CAAC;AAE3E,eAAO,MAAM,KAAK,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAyB,CAAC;AAElE,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAA+B,CAAC;AAE3E,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KAA2B,CAAC;AAErE,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA6B,CAAC;AAExE,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA6B,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,OACJ,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KAA2B,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,OAIvC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,OAO3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,OAAyB,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,KAAG,MAAM,CAAC,CAAC,CAAC,GAAG,SAC7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../../src/Sprinkle/type-guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,KAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CACrC,CAAC;AAEjC,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAA+B,CAAC;AAE3E,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA6B,CAAC;AAExE,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAA+B,CAAC;AAE3E,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,QAAiC,CAAC;AAE9E,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,QAAiC,CAAC;AAE9E,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAA+B,CAAC;AAE3E,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,QAAiC,CAAC;AAE9E,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAA+B,CAAC;AAE3E,eAAO,MAAM,KAAK,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAyB,CAAC;AAElE,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAA+B,CAAC;AAE3E,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KAA2B,CAAC;AAErE,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA6B,CAAC;AAExE,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA6B,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,OACJ,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KAA2B,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,OAIvC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,OAO3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,OAAyB,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,KAAG,MAAM,CAAC,CAAC,CAAC,GAAG,SAC7B,CAAC"}
|