openclaw-ynabro 2.2.7 → 2.2.9

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 CHANGED
@@ -16,8 +16,15 @@ OpenClaw plugin that registers [ynabro](https://www.npmjs.com/package/ynabro) to
16
16
  openclaw plugins install openclaw-ynabro
17
17
  ```
18
18
 
19
+ After installation, restart the OpenClaw gateway to load the plugin:
20
+
21
+ ```bash
22
+ openclaw gateway restart
23
+ ```
24
+
19
25
  ## Available Tools
20
26
 
27
+ - `ynabro_onboarding_status`
21
28
  - `ynabro_setup`
22
29
  - `ynabro_save_default_plan`
23
30
  - `ynabro_get_pending_transactions`
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
- configSchema: import("openclaw/plugin-sdk/plugin-entry").OpenClawPluginConfigSchema;
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;AA0DA,wBAwQG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;;;oBAoGxD,iBAAiB,KAAK,IAAI;;;;;;;;;AAiG5C,wBAyQG"}
package/dist/index.js CHANGED
@@ -1,5 +1,116 @@
1
1
  import { Type } from "@sinclair/typebox";
2
- import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
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 pluginConfigSchema() {
36
+ const ALLOWED_KEYS = new Set(["token", "defaultPlanId"]);
37
+ return {
38
+ safeParse(value) {
39
+ if (value === undefined)
40
+ return { success: true, data: undefined };
41
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
42
+ return { success: false, error: "expected config object" };
43
+ }
44
+ const obj = value;
45
+ for (const key of Object.keys(obj)) {
46
+ if (!ALLOWED_KEYS.has(key)) {
47
+ return {
48
+ success: false,
49
+ error: `unknown config key: ${key}`,
50
+ };
51
+ }
52
+ }
53
+ const { token, defaultPlanId } = obj;
54
+ if (token !== undefined &&
55
+ typeof token !== "string" &&
56
+ (typeof token !== "object" || Array.isArray(token) || token === null)) {
57
+ return {
58
+ success: false,
59
+ error: "token must be a string or SecretRef object",
60
+ };
61
+ }
62
+ if (defaultPlanId !== undefined && typeof defaultPlanId !== "string") {
63
+ return {
64
+ success: false,
65
+ error: "defaultPlanId must be a string",
66
+ };
67
+ }
68
+ return { success: true, data: obj };
69
+ },
70
+ jsonSchema: {
71
+ type: "object",
72
+ additionalProperties: false,
73
+ properties: {
74
+ token: {
75
+ type: ["string", "object"],
76
+ description: "YNAB Personal Access Token. May be a plaintext string or a SecretRef object { source, provider, id } configured via `openclaw secrets configure` or `openclaw config set ... --ref-source ...`.",
77
+ },
78
+ defaultPlanId: {
79
+ type: "string",
80
+ description: "Default YNAB plan ID selected during onboarding",
81
+ },
82
+ },
83
+ },
84
+ };
85
+ }
86
+ function definePluginEntry({ id, name, description, kind, configSchema, reload, nodeHostCommands, securityAuditCollectors, register, }) {
87
+ const resolvedSchemaSource = configSchema ?? emptyPluginConfigSchema;
88
+ let resolved;
89
+ let resolvedOnce = false;
90
+ const getConfigSchema = () => {
91
+ if (!resolvedOnce) {
92
+ resolved =
93
+ typeof resolvedSchemaSource === "function"
94
+ ? resolvedSchemaSource()
95
+ : resolvedSchemaSource;
96
+ resolvedOnce = true;
97
+ }
98
+ return resolved;
99
+ };
100
+ return {
101
+ id,
102
+ name,
103
+ description,
104
+ ...(kind ? { kind } : {}),
105
+ ...(reload ? { reload } : {}),
106
+ ...(nodeHostCommands ? { nodeHostCommands } : {}),
107
+ ...(securityAuditCollectors ? { securityAuditCollectors } : {}),
108
+ get configSchema() {
109
+ return getConfigSchema();
110
+ },
111
+ register,
112
+ };
113
+ }
3
114
  import { approveTransaction, checkOnboardingStatus, getPendingTransactions, getPlanInfo, getRecentTransactions, getSkillState, setupYnab, updateSkillState, YnabroClient, } from "ynabro";
4
115
  function params(raw) {
5
116
  return raw;
@@ -38,6 +149,7 @@ export default definePluginEntry({
38
149
  id: "openclaw-ynabro",
39
150
  name: "YNABro",
40
151
  description: "YNAB budget management tools for OpenClaw agents",
152
+ configSchema: pluginConfigSchema(),
41
153
  register(api) {
42
154
  let cachedPlanId;
43
155
  const openClawAdapter = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAIzC,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,2EAA2E;AAC3E,mEAAmE;AACnE,yEAAyE;AACzE,yEAAyE;AACzE,EAAE;AACF,6EAA6E;AAC7E,yCAAyC;AACzC,EAAE;AACF,6DAA6D;AAC7D,sEAAsE;AACtE,SAAS,uBAAuB;IAC9B,OAAO;QACL,SAAS,CAAC,KAAc;YACtB,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACnE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC7D,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;YAC3D,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACxC,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAiB;YACvB,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE,EAAE;SACf;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IACzD,OAAO;QACL,SAAS,CAAC,KAAc;YACtB,IAAI,KAAK,KAAK,SAAS;gBACrB,OAAO,EAAE,OAAO,EAAE,IAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChE,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YACtE,CAAC;YACD,MAAM,GAAG,GAAG,KAAgC,CAAC;YAC7C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,OAAO;wBACL,OAAO,EAAE,KAAc;wBACvB,KAAK,EAAE,uBAAuB,GAAG,EAAE;qBACpC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC;YACrC,IACE,KAAK,KAAK,SAAS;gBACnB,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,EACrE,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,KAAc;oBACvB,KAAK,EAAE,4CAA4C;iBACpD,CAAC;YACJ,CAAC;YACD,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACrE,OAAO;oBACL,OAAO,EAAE,KAAc;oBACvB,KAAK,EAAE,gCAAgC;iBACxC,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAa,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC/C,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAiB;YACvB,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAyB;oBAClD,WAAW,EACT,iMAAiM;iBACpM;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAiB;oBACvB,WAAW,EAAE,iDAAiD;iBAC/D;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAcD,SAAS,iBAAiB,CAAC,EACzB,EAAE,EACF,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,GACuB;IAC/B,MAAM,oBAAoB,GAAG,YAAY,IAAI,uBAAuB,CAAC;IACrE,IAAI,QAAiB,CAAC;IACtB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,QAAQ;gBACN,OAAO,oBAAoB,KAAK,UAAU;oBACxC,CAAC,CAAE,oBAAsC,EAAE;oBAC3C,CAAC,CAAC,oBAAoB,CAAC;YAC3B,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,OAAO;QACL,EAAE;QACF,IAAI;QACJ,WAAW;QACX,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,IAAI,YAAY;YACd,OAAO,eAAe,EAAE,CAAC;QAC3B,CAAC;QACD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,YAAY,GACb,MAAM,QAAQ,CAAC;AAEhB,SAAS,MAAM,CAAC,GAAY;IAC1B,OAAO,GAA8B,CAAC;AACxC,CAAC;AAED,SAAS,EAAE,CAAC,IAAY;IACtB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IAChC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC;QACzB,WAAW,EAAE,sCAAsC;KACpD,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,+CAA+C;KAC7D,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;QACrB,WAAW,EAAE,mCAAmC;KACjD,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IACzC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;QACrB,WAAW,EAAE,mCAAmC;KACjD,CAAC;IACF,OAAO,EAAE,IAAI,CAAC,MAAM,CAClB,EAAE,EACF;QACE,oBAAoB,EAAE,IAAI;QAC1B,WAAW,EACT,qFAAqF;KACxF,CACF;CACF,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC;IAC/B,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,kDAAkD;IAC/D,YAAY,EAAE,kBAAkB,EAAE;IAClC,QAAQ,CAAC,GAAG;QACV,IAAI,YAAgC,CAAC;QAErC,MAAM,eAAe,GAAwB;YAC3C,KAAK,CAAC,gBAAgB;gBACpB,IAAI,YAAY,KAAK,SAAS;oBAAE,OAAO,YAAY,CAAC;gBACpD,OAAQ,GAAG,CAAC,YAAuD;oBACjE,EAAE,aAAa,CAAC;YACpB,CAAC;YACD,KAAK,CAAC,gBAAgB,CAAC,MAAc;gBACnC,YAAY,GAAG,MAAM,CAAC;gBACtB,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;oBACxC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;oBAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;wBAChB,wCAAwC;wBACxC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;4BAClB,KAA+B,CAAC,OAAO,GAAG;gCACzC,OAAO,EAAE,EAAE;6BACD,CAAC;wBACf,CAAC;wBACD,gFAAgF;wBAChF,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;4BAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCAC3B,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;4BAC7B,CAAC;4BACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;4BAChE,MAAM,cAAc,GACjB,QAAQ,CAAC,MAA8C,IAAI,EAAE,CAAC;4BACjE,cAAc,CAAC,aAAa,GAAG,MAAM,CAAC;4BACtC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG;gCACzC,GAAG,QAAQ;gCACX,MAAM,EAAE,cAAc;6BACvB,CAAC;wBACJ,CAAC;oBACH,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,QAAQ;gBACZ,OAAO,CAAC,CAAE,GAAG,CAAC,YAA+C,EAAE,KAAK,CAAC;YACvE,CAAC;SACF,CAAC;QAEF,SAAS,SAAS;YAChB,MAAM,KAAK,GAAI,GAAG,CAAC,YAA+C,EAAE,KAAK,CAAC;YAC1E,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,6BAA6B;oBAC3B,2EAA2E,CAC9E,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,UAAU,gBAAgB;YAC7B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,GAAG,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,+HAA+H;YACjI,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,OAAO;gBACX,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,CAAC;gBAC5D,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,YAAY;YACnB,WAAW,EACT,sEAAsE;gBACtE,oFAAoF;YACtF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,OAAO;gBACX,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,EAAE,CACP,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAClE,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,CACP,IAAI,CAAC,SAAS,CAAC;oBACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBACtD,CAAC,CACH,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,iEAAiE;gBACjE,gEAAgE;YAClE,UAAU,EAAE,qBAAqB;YACjC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG;gBACpB,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;oBAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACtC,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAgB,EAAE,eAAe,CAAC,CAAC;oBACpE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;oBACzD,OAAO,EAAE,CACP,IAAI,CAAC,SAAS,CAAC;wBACb,OAAO,EAAE,wBAAwB,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE;wBAC1D,aAAa,EAAE,CAAC,CAAC,MAAM;qBACxB,CAAC,CACH,CAAC;gBACJ,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,CAAC;oBAC5D,OAAO,EAAE,CACP,IAAI,CAAC,SAAS,CAAC;wBACb,KAAK,EAAE,qBAAqB;wBAC5B,GAAG,MAAM;qBACV,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,iCAAiC;YACvC,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,yDAAyD;YACtE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,OAAO;gBACX,IAAI,CAAC;oBACH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACzC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAC5B,gBAAgB,EAAE;qBACnB,CAAC,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC5D,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,CAAC;oBAC5D,OAAO,EAAE,CACP,IAAI,CAAC,SAAS,CAAC;wBACb,KAAK,EAAE,qBAAqB;wBAC5B,GAAG,MAAM;qBACV,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,gCAAgC;YACtC,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,oCAAoC;YACjD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,OAAO;gBACX,IAAI,CAAC;oBACH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACzC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAC5B,gBAAgB,EAAE;qBACnB,CAAC,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC3D,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,CAAC;oBAC5D,OAAO,EAAE,CACP,IAAI,CAAC,SAAS,CAAC;wBACb,KAAK,EAAE,qBAAqB;wBAC5B,GAAG,MAAM;qBACV,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,4BAA4B;YAClC,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,gCAAgC;YAC7C,UAAU,EAAE,aAAa;YACzB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG;gBACpB,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACzC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAC5B,gBAAgB,EAAE;qBACnB,CAAC,CAAC;oBACH,MAAM,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,aAAuB,CAAC,CAAC;oBACpE,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/C,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,CAAC;oBAC5D,OAAO,EAAE,CACP,IAAI,CAAC,SAAS,CAAC;wBACb,KAAK,EAAE,qBAAqB;wBAC5B,GAAG,MAAM;qBACV,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,oCAAoC;YACjD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,OAAO;gBACX,IAAI,CAAC;oBACH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACzC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAC5B,gBAAgB,EAAE;qBACnB,CAAC,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACjD,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,CAAC;oBAC5D,OAAO,EAAE,CACP,IAAI,CAAC,SAAS,CAAC;wBACb,KAAK,EAAE,qBAAqB;wBAC5B,GAAG,MAAM;qBACV,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,mFAAmF;YACrF,UAAU,EAAE,gBAAgB;YAC5B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG;gBACpB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,SAAmB,CAAC,CAAC;gBAC1D,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EACT,0EAA0E;YAC5E,UAAU,EAAE,sBAAsB;YAClC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG;gBACpB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,CAAC,CAAC,SAAmB,EACrB,CAAC,CAAC,OAAiB,CACpB,CAAC;gBACF,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-ynabro",
3
- "version": "2.2.7",
3
+ "version": "2.2.9",
4
4
  "description": "OpenClaw plugin that registers YNABro tools for YNAB integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -30,7 +30,7 @@
30
30
  ],
31
31
  "compat": {
32
32
  "pluginApi": ">=2026.3.24-beta.2",
33
- "minGatewayVersion": "2026.3.24-beta.2"
33
+ "minGatewayVersion": ">=2026.3.24-beta.2"
34
34
  },
35
35
  "build": {
36
36
  "openclawVersion": "2026.3.24-beta.2",
@@ -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,146 @@
1
1
  import { Type } from "@sinclair/typebox";
2
- import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
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
+ function pluginConfigSchema() {
39
+ const ALLOWED_KEYS = new Set(["token", "defaultPlanId"]);
40
+ return {
41
+ safeParse(value: unknown) {
42
+ if (value === undefined)
43
+ return { success: true as const, data: undefined };
44
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
45
+ return { success: false as const, error: "expected config object" };
46
+ }
47
+ const obj = value as Record<string, unknown>;
48
+ for (const key of Object.keys(obj)) {
49
+ if (!ALLOWED_KEYS.has(key)) {
50
+ return {
51
+ success: false as const,
52
+ error: `unknown config key: ${key}`,
53
+ };
54
+ }
55
+ }
56
+ const { token, defaultPlanId } = obj;
57
+ if (
58
+ token !== undefined &&
59
+ typeof token !== "string" &&
60
+ (typeof token !== "object" || Array.isArray(token) || token === null)
61
+ ) {
62
+ return {
63
+ success: false as const,
64
+ error: "token must be a string or SecretRef object",
65
+ };
66
+ }
67
+ if (defaultPlanId !== undefined && typeof defaultPlanId !== "string") {
68
+ return {
69
+ success: false as const,
70
+ error: "defaultPlanId must be a string",
71
+ };
72
+ }
73
+ return { success: true as const, data: obj };
74
+ },
75
+ jsonSchema: {
76
+ type: "object" as const,
77
+ additionalProperties: false,
78
+ properties: {
79
+ token: {
80
+ type: ["string", "object"] as ["string", "object"],
81
+ description:
82
+ "YNAB Personal Access Token. May be a plaintext string or a SecretRef object { source, provider, id } configured via `openclaw secrets configure` or `openclaw config set ... --ref-source ...`.",
83
+ },
84
+ defaultPlanId: {
85
+ type: "string" as const,
86
+ description: "Default YNAB plan ID selected during onboarding",
87
+ },
88
+ },
89
+ },
90
+ };
91
+ }
92
+
93
+ type InlineDefinePluginEntryOptions = {
94
+ id: string;
95
+ name: string;
96
+ description: string;
97
+ kind?: unknown;
98
+ configSchema?: unknown;
99
+ reload?: unknown;
100
+ nodeHostCommands?: unknown;
101
+ securityAuditCollectors?: unknown;
102
+ register: (api: OpenClawPluginApi) => void;
103
+ };
104
+
105
+ function definePluginEntry({
106
+ id,
107
+ name,
108
+ description,
109
+ kind,
110
+ configSchema,
111
+ reload,
112
+ nodeHostCommands,
113
+ securityAuditCollectors,
114
+ register,
115
+ }: InlineDefinePluginEntryOptions) {
116
+ const resolvedSchemaSource = configSchema ?? emptyPluginConfigSchema;
117
+ let resolved: unknown;
118
+ let resolvedOnce = false;
119
+ const getConfigSchema = () => {
120
+ if (!resolvedOnce) {
121
+ resolved =
122
+ typeof resolvedSchemaSource === "function"
123
+ ? (resolvedSchemaSource as () => unknown)()
124
+ : resolvedSchemaSource;
125
+ resolvedOnce = true;
126
+ }
127
+ return resolved;
128
+ };
129
+ return {
130
+ id,
131
+ name,
132
+ description,
133
+ ...(kind ? { kind } : {}),
134
+ ...(reload ? { reload } : {}),
135
+ ...(nodeHostCommands ? { nodeHostCommands } : {}),
136
+ ...(securityAuditCollectors ? { securityAuditCollectors } : {}),
137
+ get configSchema() {
138
+ return getConfigSchema();
139
+ },
140
+ register,
141
+ };
142
+ }
143
+
4
144
  import {
5
145
  approveTransaction,
6
146
  checkOnboardingStatus,
@@ -60,6 +200,7 @@ export default definePluginEntry({
60
200
  id: "openclaw-ynabro",
61
201
  name: "YNABro",
62
202
  description: "YNAB budget management tools for OpenClaw agents",
203
+ configSchema: pluginConfigSchema(),
63
204
  register(api) {
64
205
  let cachedPlanId: string | undefined;
65
206