openclaw-ynabro 2.2.7 → 2.2.8
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/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +86 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import type { OpenClawPluginApi } from "openclaw/plugin-sdk/plugin-entry";
|
|
1
2
|
declare const _default: {
|
|
3
|
+
configSchema: unknown;
|
|
4
|
+
register: (api: OpenClawPluginApi) => void;
|
|
5
|
+
securityAuditCollectors?: {} | undefined;
|
|
6
|
+
nodeHostCommands?: {} | undefined;
|
|
7
|
+
reload?: {} | undefined;
|
|
8
|
+
kind?: {} | undefined;
|
|
2
9
|
id: string;
|
|
3
10
|
name: string;
|
|
4
11
|
description: string;
|
|
5
|
-
|
|
6
|
-
register: NonNullable<import("openclaw/plugin-sdk/plugin-entry").OpenClawPluginDefinition["register"]>;
|
|
7
|
-
} & Pick<import("openclaw/plugin-sdk/plugin-entry").OpenClawPluginDefinition, "kind" | "reload" | "nodeHostCommands" | "securityAuditCollectors">;
|
|
12
|
+
};
|
|
8
13
|
export default _default;
|
|
9
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;;;oBA6CxD,iBAAiB,KAAK,IAAI;;;;;;;;;AAiG5C,wBAwQG"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,65 @@
|
|
|
1
1
|
import { Type } from "@sinclair/typebox";
|
|
2
|
-
|
|
2
|
+
// Inlined `definePluginEntry` and `emptyPluginConfigSchema` from openclaw's
|
|
3
|
+
// plugin SDK. We avoid the runtime `import { ... } from "openclaw/..."` because
|
|
4
|
+
// `openclaw plugins install` has an undocumented post-install "Repaired stale
|
|
5
|
+
// openclaw peer dependency" step that deletes `openclaw` from the plugin's
|
|
6
|
+
// `node_modules` regardless of whether the plugin declares it as a
|
|
7
|
+
// `dependency`. The resulting `Cannot find package 'openclaw'` ESM error
|
|
8
|
+
// surfaces only as silent `toolNames: []` in `openclaw plugins inspect`.
|
|
9
|
+
//
|
|
10
|
+
// Type-only imports (`import type ...`) are erased at compile time and leave
|
|
11
|
+
// no runtime trace, so they remain safe.
|
|
12
|
+
//
|
|
13
|
+
// Source: openclaw 2026.4.x `plugin-sdk/plugin-entry.js` and
|
|
14
|
+
// `config-schema.js`. Behaviour mirrors the upstream helpers exactly.
|
|
15
|
+
function emptyPluginConfigSchema() {
|
|
16
|
+
return {
|
|
17
|
+
safeParse(value) {
|
|
18
|
+
if (value === undefined)
|
|
19
|
+
return { success: true, data: undefined };
|
|
20
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
21
|
+
return { success: false, error: "expected config object" };
|
|
22
|
+
}
|
|
23
|
+
if (Object.keys(value).length > 0) {
|
|
24
|
+
return { success: false, error: "config must be empty" };
|
|
25
|
+
}
|
|
26
|
+
return { success: true, data: value };
|
|
27
|
+
},
|
|
28
|
+
jsonSchema: {
|
|
29
|
+
type: "object",
|
|
30
|
+
additionalProperties: false,
|
|
31
|
+
properties: {},
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function definePluginEntry({ id, name, description, kind, configSchema, reload, nodeHostCommands, securityAuditCollectors, register, }) {
|
|
36
|
+
const resolvedSchemaSource = configSchema ?? emptyPluginConfigSchema;
|
|
37
|
+
let resolved;
|
|
38
|
+
let resolvedOnce = false;
|
|
39
|
+
const getConfigSchema = () => {
|
|
40
|
+
if (!resolvedOnce) {
|
|
41
|
+
resolved =
|
|
42
|
+
typeof resolvedSchemaSource === "function"
|
|
43
|
+
? resolvedSchemaSource()
|
|
44
|
+
: resolvedSchemaSource;
|
|
45
|
+
resolvedOnce = true;
|
|
46
|
+
}
|
|
47
|
+
return resolved;
|
|
48
|
+
};
|
|
49
|
+
return {
|
|
50
|
+
id,
|
|
51
|
+
name,
|
|
52
|
+
description,
|
|
53
|
+
...(kind ? { kind } : {}),
|
|
54
|
+
...(reload ? { reload } : {}),
|
|
55
|
+
...(nodeHostCommands ? { nodeHostCommands } : {}),
|
|
56
|
+
...(securityAuditCollectors ? { securityAuditCollectors } : {}),
|
|
57
|
+
get configSchema() {
|
|
58
|
+
return getConfigSchema();
|
|
59
|
+
},
|
|
60
|
+
register,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
3
63
|
import { approveTransaction, checkOnboardingStatus, getPendingTransactions, getPlanInfo, getRecentTransactions, getSkillState, setupYnab, updateSkillState, YnabroClient, } from "ynabro";
|
|
4
64
|
function params(raw) {
|
|
5
65
|
return raw;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openclaw-ynabro",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.8",
|
|
4
4
|
"description": "OpenClaw plugin that registers YNABro tools for YNAB integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@sinclair/typebox": "^0.34.49",
|
|
42
|
-
"openclaw": "^2026.4.24",
|
|
43
42
|
"ynabro": "^2.2.0"
|
|
44
43
|
},
|
|
45
44
|
"devDependencies": {
|
|
46
45
|
"@types/node": "^25.8.0",
|
|
46
|
+
"openclaw": "^2026.4.24",
|
|
47
47
|
"typescript": "^6.0.3"
|
|
48
48
|
},
|
|
49
49
|
"scripts": {
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,91 @@
|
|
|
1
1
|
import { Type } from "@sinclair/typebox";
|
|
2
|
-
import {
|
|
2
|
+
import type { OpenClawPluginApi } from "openclaw/plugin-sdk/plugin-entry";
|
|
3
3
|
import type { YnabroConfigAdapter } from "ynabro";
|
|
4
|
+
|
|
5
|
+
// Inlined `definePluginEntry` and `emptyPluginConfigSchema` from openclaw's
|
|
6
|
+
// plugin SDK. We avoid the runtime `import { ... } from "openclaw/..."` because
|
|
7
|
+
// `openclaw plugins install` has an undocumented post-install "Repaired stale
|
|
8
|
+
// openclaw peer dependency" step that deletes `openclaw` from the plugin's
|
|
9
|
+
// `node_modules` regardless of whether the plugin declares it as a
|
|
10
|
+
// `dependency`. The resulting `Cannot find package 'openclaw'` ESM error
|
|
11
|
+
// surfaces only as silent `toolNames: []` in `openclaw plugins inspect`.
|
|
12
|
+
//
|
|
13
|
+
// Type-only imports (`import type ...`) are erased at compile time and leave
|
|
14
|
+
// no runtime trace, so they remain safe.
|
|
15
|
+
//
|
|
16
|
+
// Source: openclaw 2026.4.x `plugin-sdk/plugin-entry.js` and
|
|
17
|
+
// `config-schema.js`. Behaviour mirrors the upstream helpers exactly.
|
|
18
|
+
function emptyPluginConfigSchema() {
|
|
19
|
+
return {
|
|
20
|
+
safeParse(value: unknown) {
|
|
21
|
+
if (value === undefined) return { success: true, data: undefined };
|
|
22
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
23
|
+
return { success: false, error: "expected config object" };
|
|
24
|
+
}
|
|
25
|
+
if (Object.keys(value as object).length > 0) {
|
|
26
|
+
return { success: false, error: "config must be empty" };
|
|
27
|
+
}
|
|
28
|
+
return { success: true, data: value };
|
|
29
|
+
},
|
|
30
|
+
jsonSchema: {
|
|
31
|
+
type: "object" as const,
|
|
32
|
+
additionalProperties: false,
|
|
33
|
+
properties: {},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
type InlineDefinePluginEntryOptions = {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
description: string;
|
|
42
|
+
kind?: unknown;
|
|
43
|
+
configSchema?: unknown;
|
|
44
|
+
reload?: unknown;
|
|
45
|
+
nodeHostCommands?: unknown;
|
|
46
|
+
securityAuditCollectors?: unknown;
|
|
47
|
+
register: (api: OpenClawPluginApi) => void;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
function definePluginEntry({
|
|
51
|
+
id,
|
|
52
|
+
name,
|
|
53
|
+
description,
|
|
54
|
+
kind,
|
|
55
|
+
configSchema,
|
|
56
|
+
reload,
|
|
57
|
+
nodeHostCommands,
|
|
58
|
+
securityAuditCollectors,
|
|
59
|
+
register,
|
|
60
|
+
}: InlineDefinePluginEntryOptions) {
|
|
61
|
+
const resolvedSchemaSource = configSchema ?? emptyPluginConfigSchema;
|
|
62
|
+
let resolved: unknown;
|
|
63
|
+
let resolvedOnce = false;
|
|
64
|
+
const getConfigSchema = () => {
|
|
65
|
+
if (!resolvedOnce) {
|
|
66
|
+
resolved =
|
|
67
|
+
typeof resolvedSchemaSource === "function"
|
|
68
|
+
? (resolvedSchemaSource as () => unknown)()
|
|
69
|
+
: resolvedSchemaSource;
|
|
70
|
+
resolvedOnce = true;
|
|
71
|
+
}
|
|
72
|
+
return resolved;
|
|
73
|
+
};
|
|
74
|
+
return {
|
|
75
|
+
id,
|
|
76
|
+
name,
|
|
77
|
+
description,
|
|
78
|
+
...(kind ? { kind } : {}),
|
|
79
|
+
...(reload ? { reload } : {}),
|
|
80
|
+
...(nodeHostCommands ? { nodeHostCommands } : {}),
|
|
81
|
+
...(securityAuditCollectors ? { securityAuditCollectors } : {}),
|
|
82
|
+
get configSchema() {
|
|
83
|
+
return getConfigSchema();
|
|
84
|
+
},
|
|
85
|
+
register,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
|
|
4
89
|
import {
|
|
5
90
|
approveTransaction,
|
|
6
91
|
checkOnboardingStatus,
|