@wabery/cli 0.3.0 → 0.4.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.
@@ -2,6 +2,10 @@ export declare function createExampleConfig(projectId?: string): {
2
2
  $schema: string;
3
3
  version: string;
4
4
  project_id: string;
5
+ webhook: {
6
+ url: string;
7
+ signing_enabled: boolean;
8
+ };
5
9
  flows: {
6
10
  key: string;
7
11
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config-example.d.ts","sourceRoot":"","sources":["../src/config-example.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAClC,SAAS,SAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DlD"}
1
+ {"version":3,"file":"config-example.d.ts","sourceRoot":"","sources":["../src/config-example.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAClC,SAAS,SAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqElD"}
@@ -3,6 +3,12 @@ export function createExampleConfig(projectId = "project_id_from_wabery_list_pro
3
3
  $schema: "https://api.wabery.com/v1/config/schema",
4
4
  version: "2026-06-18",
5
5
  project_id: projectId,
6
+ webhook: {
7
+ url: "https://yourapp.com/webhooks/wabery",
8
+ signing_enabled: true,
9
+ // Omit to have the server generate one; set your own to keep both sides in sync.
10
+ // secret: "whsec_your_own_secret_from_your_secret_manager",
11
+ },
6
12
  flows: [
7
13
  {
8
14
  key: "lead_intake",
@@ -1 +1 @@
1
- {"version":3,"file":"config-example.js","sourceRoot":"","sources":["../src/config-example.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAClC,SAAS,GAAG,sCAAsC;IAElD,OAAO;QACN,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE;YACN;gBACC,GAAG,EAAE,aAAa;gBAClB,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE,QAAQ;gBACtB,KAAK,EAAE;oBACN,aAAa,EAAE,OAAO;oBACtB,OAAO,EAAE;wBACR;4BACC,EAAE,EAAE,OAAO;4BACX,KAAK,EAAE,aAAa;4BACpB,MAAM,EAAE;gCACP;oCACC,IAAI,EAAE,MAAM;oCACZ,KAAK,EAAE,MAAM;oCACb,IAAI,EAAE,MAAM;oCACZ,QAAQ,EAAE,IAAI;iCACd;gCACD;oCACC,IAAI,EAAE,OAAO;oCACb,KAAK,EAAE,OAAO;oCACd,IAAI,EAAE,MAAM;oCACZ,QAAQ,EAAE,IAAI;iCACd;6BACD;4BACD,OAAO,EAAE;gCACR,KAAK,EAAE,QAAQ;gCACf,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;6BAC5B;yBACD;qBACD;iBACD;aACD;SACD;QACD,WAAW,EAAE;YACZ;gBACC,GAAG,EAAE,cAAc;gBACnB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,eAAe;oBAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;iBAC9B;gBACD,KAAK,EAAE;oBACN,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,EAAE;oBACvD;wBACC,SAAS,EAAE;4BACV,IAAI,EAAE,aAAa;4BACnB,SAAS,EAAE,kCAAkC;4BAC7C,QAAQ,EAAE,MAAM;yBAChB;qBACD;iBACD;gBACD,MAAM,EAAE,IAAI;aACZ;SACD;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config-example.js","sourceRoot":"","sources":["../src/config-example.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAClC,SAAS,GAAG,sCAAsC;IAElD,OAAO;QACN,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE;YACR,GAAG,EAAE,qCAAqC;YAC1C,eAAe,EAAE,IAAI;YACrB,iFAAiF;YACjF,4DAA4D;SAC5D;QACD,KAAK,EAAE;YACN;gBACC,GAAG,EAAE,aAAa;gBAClB,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE,QAAQ;gBACtB,KAAK,EAAE;oBACN,aAAa,EAAE,OAAO;oBACtB,OAAO,EAAE;wBACR;4BACC,EAAE,EAAE,OAAO;4BACX,KAAK,EAAE,aAAa;4BACpB,MAAM,EAAE;gCACP;oCACC,IAAI,EAAE,MAAM;oCACZ,KAAK,EAAE,MAAM;oCACb,IAAI,EAAE,MAAM;oCACZ,QAAQ,EAAE,IAAI;iCACd;gCACD;oCACC,IAAI,EAAE,OAAO;oCACb,KAAK,EAAE,OAAO;oCACd,IAAI,EAAE,MAAM;oCACZ,QAAQ,EAAE,IAAI;iCACd;6BACD;4BACD,OAAO,EAAE;gCACR,KAAK,EAAE,QAAQ;gCACf,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;6BAC5B;yBACD;qBACD;iBACD;aACD;SACD;QACD,WAAW,EAAE;YACZ;gBACC,GAAG,EAAE,cAAc;gBACnB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,eAAe;oBAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;iBAC9B;gBACD,KAAK,EAAE;oBACN,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,EAAE;oBACvD;wBACC,SAAS,EAAE;4BACV,IAAI,EAAE,aAAa;4BACnB,SAAS,EAAE,kCAAkC;4BAC7C,QAAQ,EAAE,MAAM;yBAChB;qBACD;iBACD;gBACD,MAAM,EAAE,IAAI;aACZ;SACD;KACD,CAAC;AACH,CAAC"}
@@ -95,7 +95,7 @@ export async function checkWaberyConnection(client) {
95
95
  checks,
96
96
  next_steps: ok
97
97
  ? [
98
- "Use wabery projects list or wabery_create_project to choose a project.",
98
+ "Use wabery projects list to confirm the project this key is scoped to.",
99
99
  "Use wabery contacts enroll or wabery_enroll_contact to get contact_id and channel_id.",
100
100
  "Use wabery config init/example, then validate, diff, apply, publish, and send.",
101
101
  ]
@@ -1,8 +1,94 @@
1
+ /**
2
+ * A stored, project-scoped credential. API keys belong to exactly one project,
3
+ * so the global store keeps one credential per project the user has logged into.
4
+ */
5
+ export interface WaberyCredential {
6
+ projectId: string;
7
+ projectName?: string;
8
+ organizationId?: string;
9
+ apiKey: string;
10
+ baseUrl?: string;
11
+ }
12
+ interface WaberyStore {
13
+ version: 2;
14
+ credentials: WaberyCredential[];
15
+ }
16
+ /** Legacy (v1) single-key config shape, kept for backward-compatible reads. */
1
17
  export interface WaberyLocalConfig {
2
18
  apiKey?: string;
3
19
  baseUrl?: string;
4
20
  }
21
+ /** Repo-local, secret-free binding committed at the repo root. */
22
+ export interface WaberyRepoConfig {
23
+ project_id?: string;
24
+ base_url?: string;
25
+ }
5
26
  export declare function getConfigPath(): string;
27
+ /**
28
+ * Read the global credential store, migrating the legacy `{ apiKey, baseUrl }`
29
+ * shape into a single credential with an unknown project (projectId === "").
30
+ */
31
+ export declare function readStore(): WaberyStore;
32
+ export declare function readCredentials(): WaberyCredential[];
33
+ export declare function findCredentialByProject(projectId: string): WaberyCredential | undefined;
34
+ /** Upsert a credential by projectId (replacing any existing one). */
35
+ export declare function upsertCredential(cred: WaberyCredential): string;
36
+ /** Remove the credential for a project. Returns true if one was removed. */
37
+ export declare function removeCredential(projectId: string): boolean;
38
+ /** Delete the entire credential store. */
39
+ export declare function clearCredentials(): void;
40
+ /**
41
+ * Walk up from `cwd` looking for a repo-local project binding. Prefers the
42
+ * dedicated `.wabery.json`, then falls back to a `wabery.config.json`'s
43
+ * `project_id` so config-as-code repos auto-detect for free.
44
+ */
45
+ export declare function findRepoProjectId(cwd?: string): {
46
+ projectId: string;
47
+ baseUrl?: string;
48
+ path: string;
49
+ source: string;
50
+ } | undefined;
51
+ /** Path `wabery use` should write to: nearest existing `.wabery.json`, else cwd. */
52
+ export declare function repoConfigWritePath(cwd?: string): string;
53
+ /** Write (or update) the repo-local `.wabery.json`, secret-free. */
54
+ export declare function writeRepoProjectId(path: string, projectId: string): string;
55
+ export interface ResolvedProject {
56
+ projectId?: string;
57
+ baseUrl?: string;
58
+ source: "flag" | "env" | "repo-file" | "none";
59
+ }
60
+ /**
61
+ * Resolve the target project id (which credential to use), in precedence:
62
+ * `--project-id` flag > `WABERY_PROJECT_ID` env > repo-local file (walk up).
63
+ */
64
+ export declare function resolveProjectId(opts: {
65
+ flagValue?: string;
66
+ cwd?: string;
67
+ }): ResolvedProject;
68
+ export interface ResolvedCredential {
69
+ apiKey: string;
70
+ baseUrl?: string;
71
+ projectId?: string;
72
+ source: string;
73
+ }
74
+ /**
75
+ * Resolve the API key + base URL to use, auto-detecting the repo's project.
76
+ *
77
+ * Precedence:
78
+ * 1. explicit `--api-key` flag / `WABERY_API_KEY` env (used directly)
79
+ * 2. otherwise look up the stored credential for the resolved project
80
+ * (`--project-id` > `WABERY_PROJECT_ID` > repo `.wabery.json`)
81
+ * 3. otherwise, if exactly one credential is stored, use it
82
+ *
83
+ * Throws a helpful error when no credential can be resolved.
84
+ */
85
+ export declare function resolveCredential(opts: {
86
+ apiKey?: string;
87
+ baseUrl?: string;
88
+ projectId?: string;
89
+ cwd?: string;
90
+ }): ResolvedCredential;
6
91
  export declare function readLocalConfig(): WaberyLocalConfig;
7
92
  export declare function writeLocalConfig(config: WaberyLocalConfig): string;
93
+ export {};
8
94
  //# sourceMappingURL=local-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-config.d.ts","sourceRoot":"","sources":["../src/local-config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,IAAI,MAAM,CAUtC;AAED,wBAAgB,eAAe,IAAI,iBAAiB,CAYnD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAUlE"}
1
+ {"version":3,"file":"local-config.d.ts","sourceRoot":"","sources":["../src/local-config.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,WAAW;IACpB,OAAO,EAAE,CAAC,CAAC;IACX,WAAW,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAgB,aAAa,IAAI,MAAM,CAUtC;AAUD;;;GAGG;AACH,wBAAgB,SAAS,IAAI,WAAW,CAsCvC;AAcD,wBAAgB,eAAe,IAAI,gBAAgB,EAAE,CAEpD;AAED,wBAAgB,uBAAuB,CACtC,SAAS,EAAE,MAAM,GACf,gBAAgB,GAAG,SAAS,CAG9B;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAO/D;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAM3D;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC;AAmBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,GAAE,MAAsB,GAEzB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrE,SAAS,CAmCX;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAUvE;AAED,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK1E;AAID,MAAM,WAAW,eAAe;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC;CAC9C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,eAAe,CAclB;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,kBAAkB,CAgErB;AAID,wBAAgB,eAAe,IAAI,iBAAiB,CAInD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAOlE"}
@@ -1,6 +1,8 @@
1
- import { chmodSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
1
+ import { chmodSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, } from "node:fs";
2
2
  import { homedir, platform } from "node:os";
3
- import { dirname, join } from "node:path";
3
+ import { dirname, join, parse } from "node:path";
4
+ const REPO_CONFIG_FILENAME = ".wabery.json";
5
+ const PROJECT_CONFIG_FILENAME = "wabery.config.json";
4
6
  export function getConfigPath() {
5
7
  const configured = process.env.WABERY_CONFIG_FILE;
6
8
  if (configured)
@@ -13,31 +15,273 @@ export function getConfigPath() {
13
15
  }
14
16
  return join(homedir(), ".config", "wabery", "config.json");
15
17
  }
16
- export function readLocalConfig() {
18
+ function readRawConfig() {
17
19
  try {
18
- const parsed = JSON.parse(readFileSync(getConfigPath(), "utf8"));
19
- if (!parsed || typeof parsed !== "object")
20
- return {};
21
- const config = parsed;
22
- return {
23
- apiKey: typeof config.apiKey === "string" ? config.apiKey : undefined,
24
- baseUrl: typeof config.baseUrl === "string" ? config.baseUrl : undefined,
25
- };
20
+ return JSON.parse(readFileSync(getConfigPath(), "utf8"));
26
21
  }
27
22
  catch {
28
- return {};
23
+ return null;
29
24
  }
30
25
  }
31
- export function writeLocalConfig(config) {
26
+ /**
27
+ * Read the global credential store, migrating the legacy `{ apiKey, baseUrl }`
28
+ * shape into a single credential with an unknown project (projectId === "").
29
+ */
30
+ export function readStore() {
31
+ const parsed = readRawConfig();
32
+ if (!parsed || typeof parsed !== "object") {
33
+ return { version: 2, credentials: [] };
34
+ }
35
+ const obj = parsed;
36
+ if (Array.isArray(obj.credentials)) {
37
+ const credentials = obj.credentials
38
+ .filter((c) => !!c && typeof c === "object")
39
+ .filter((c) => typeof c.apiKey === "string")
40
+ .map((c) => ({
41
+ projectId: typeof c.projectId === "string" ? c.projectId : "",
42
+ projectName: typeof c.projectName === "string" ? c.projectName : undefined,
43
+ organizationId: typeof c.organizationId === "string" ? c.organizationId : undefined,
44
+ apiKey: c.apiKey,
45
+ baseUrl: typeof c.baseUrl === "string" ? c.baseUrl : undefined,
46
+ }));
47
+ return { version: 2, credentials };
48
+ }
49
+ // Legacy v1 single-key config.
50
+ if (typeof obj.apiKey === "string") {
51
+ return {
52
+ version: 2,
53
+ credentials: [
54
+ {
55
+ projectId: "",
56
+ apiKey: obj.apiKey,
57
+ baseUrl: typeof obj.baseUrl === "string" ? obj.baseUrl : undefined,
58
+ },
59
+ ],
60
+ };
61
+ }
62
+ return { version: 2, credentials: [] };
63
+ }
64
+ function writeStore(store) {
32
65
  const path = getConfigPath();
33
66
  mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
34
- writeFileSync(path, `${JSON.stringify(config, null, 2)}\n`, { mode: 0o600 });
67
+ writeFileSync(path, `${JSON.stringify(store, null, 2)}\n`, { mode: 0o600 });
35
68
  try {
36
69
  chmodSync(path, 0o600);
37
70
  }
38
71
  catch {
39
- // Best effort on platforms/filesystems that do not support POSIX modes.
72
+ // Best effort on platforms/filesystems without POSIX modes.
40
73
  }
41
74
  return path;
42
75
  }
76
+ export function readCredentials() {
77
+ return readStore().credentials;
78
+ }
79
+ export function findCredentialByProject(projectId) {
80
+ if (!projectId)
81
+ return undefined;
82
+ return readStore().credentials.find((c) => c.projectId === projectId);
83
+ }
84
+ /** Upsert a credential by projectId (replacing any existing one). */
85
+ export function upsertCredential(cred) {
86
+ const store = readStore();
87
+ const next = store.credentials.filter((c) => c.projectId !== cred.projectId || c.projectId === "");
88
+ next.push(cred);
89
+ return writeStore({ version: 2, credentials: next });
90
+ }
91
+ /** Remove the credential for a project. Returns true if one was removed. */
92
+ export function removeCredential(projectId) {
93
+ const store = readStore();
94
+ const next = store.credentials.filter((c) => c.projectId !== projectId);
95
+ if (next.length === store.credentials.length)
96
+ return false;
97
+ writeStore({ version: 2, credentials: next });
98
+ return true;
99
+ }
100
+ /** Delete the entire credential store. */
101
+ export function clearCredentials() {
102
+ try {
103
+ rmSync(getConfigPath());
104
+ }
105
+ catch {
106
+ // Already gone.
107
+ }
108
+ }
109
+ // --- Repo-local project binding -------------------------------------------
110
+ function parseRepoConfig(path) {
111
+ try {
112
+ const parsed = JSON.parse(readFileSync(path, "utf8"));
113
+ if (!parsed || typeof parsed !== "object")
114
+ return undefined;
115
+ const obj = parsed;
116
+ return {
117
+ project_id: typeof obj.project_id === "string" ? obj.project_id : undefined,
118
+ base_url: typeof obj.base_url === "string" ? obj.base_url : undefined,
119
+ };
120
+ }
121
+ catch {
122
+ return undefined;
123
+ }
124
+ }
125
+ /**
126
+ * Walk up from `cwd` looking for a repo-local project binding. Prefers the
127
+ * dedicated `.wabery.json`, then falls back to a `wabery.config.json`'s
128
+ * `project_id` so config-as-code repos auto-detect for free.
129
+ */
130
+ export function findRepoProjectId(cwd = process.cwd()) {
131
+ const override = process.env.WABERY_REPO_CONFIG_FILE;
132
+ if (override) {
133
+ const cfg = parseRepoConfig(override);
134
+ if (cfg?.project_id) {
135
+ return {
136
+ projectId: cfg.project_id,
137
+ baseUrl: cfg.base_url,
138
+ path: override,
139
+ source: REPO_CONFIG_FILENAME,
140
+ };
141
+ }
142
+ }
143
+ let dir = cwd;
144
+ const { root } = parse(dir);
145
+ for (;;) {
146
+ for (const name of [REPO_CONFIG_FILENAME, PROJECT_CONFIG_FILENAME]) {
147
+ const candidate = join(dir, name);
148
+ if (existsSync(candidate)) {
149
+ const cfg = parseRepoConfig(candidate);
150
+ if (cfg?.project_id) {
151
+ return {
152
+ projectId: cfg.project_id,
153
+ baseUrl: cfg.base_url,
154
+ path: candidate,
155
+ source: name,
156
+ };
157
+ }
158
+ }
159
+ }
160
+ if (dir === root)
161
+ break;
162
+ dir = dirname(dir);
163
+ }
164
+ return undefined;
165
+ }
166
+ /** Path `wabery use` should write to: nearest existing `.wabery.json`, else cwd. */
167
+ export function repoConfigWritePath(cwd = process.cwd()) {
168
+ let dir = cwd;
169
+ const { root } = parse(dir);
170
+ for (;;) {
171
+ const candidate = join(dir, REPO_CONFIG_FILENAME);
172
+ if (existsSync(candidate))
173
+ return candidate;
174
+ if (dir === root)
175
+ break;
176
+ dir = dirname(dir);
177
+ }
178
+ return join(cwd, REPO_CONFIG_FILENAME);
179
+ }
180
+ /** Write (or update) the repo-local `.wabery.json`, secret-free. */
181
+ export function writeRepoProjectId(path, projectId) {
182
+ const existing = existsSync(path) ? parseRepoConfig(path) : undefined;
183
+ const next = { ...existing, project_id: projectId };
184
+ writeFileSync(path, `${JSON.stringify(next, null, 2)}\n`);
185
+ return path;
186
+ }
187
+ /**
188
+ * Resolve the target project id (which credential to use), in precedence:
189
+ * `--project-id` flag > `WABERY_PROJECT_ID` env > repo-local file (walk up).
190
+ */
191
+ export function resolveProjectId(opts) {
192
+ if (opts.flagValue)
193
+ return { projectId: opts.flagValue, source: "flag" };
194
+ if (process.env.WABERY_PROJECT_ID) {
195
+ return { projectId: process.env.WABERY_PROJECT_ID, source: "env" };
196
+ }
197
+ const repo = findRepoProjectId(opts.cwd);
198
+ if (repo) {
199
+ return {
200
+ projectId: repo.projectId,
201
+ baseUrl: repo.baseUrl,
202
+ source: "repo-file",
203
+ };
204
+ }
205
+ return { source: "none" };
206
+ }
207
+ /**
208
+ * Resolve the API key + base URL to use, auto-detecting the repo's project.
209
+ *
210
+ * Precedence:
211
+ * 1. explicit `--api-key` flag / `WABERY_API_KEY` env (used directly)
212
+ * 2. otherwise look up the stored credential for the resolved project
213
+ * (`--project-id` > `WABERY_PROJECT_ID` > repo `.wabery.json`)
214
+ * 3. otherwise, if exactly one credential is stored, use it
215
+ *
216
+ * Throws a helpful error when no credential can be resolved.
217
+ */
218
+ export function resolveCredential(opts) {
219
+ const envApiKey = process.env.WABERY_API_KEY;
220
+ const project = resolveProjectId({
221
+ flagValue: opts.projectId,
222
+ cwd: opts.cwd,
223
+ });
224
+ // 1. Explicit key wins; pair it with the best base URL we can find.
225
+ const explicitKey = opts.apiKey ?? envApiKey;
226
+ if (explicitKey) {
227
+ const matched = project.projectId
228
+ ? findCredentialByProject(project.projectId)
229
+ : undefined;
230
+ return {
231
+ apiKey: explicitKey,
232
+ baseUrl: opts.baseUrl ??
233
+ process.env.WABERY_BASE_URL ??
234
+ project.baseUrl ??
235
+ matched?.baseUrl,
236
+ projectId: project.projectId,
237
+ source: opts.apiKey ? "flag" : "env",
238
+ };
239
+ }
240
+ // 2. Resolve by project (the key IS the project).
241
+ if (project.projectId) {
242
+ const matched = findCredentialByProject(project.projectId);
243
+ if (!matched) {
244
+ throw new Error(`No stored key for project ${project.projectId} (resolved from ${project.source}). Run \`wabery login\` in this repo, or \`wabery use <project>\` to pick a project you've logged into.`);
245
+ }
246
+ return {
247
+ apiKey: matched.apiKey,
248
+ baseUrl: opts.baseUrl ??
249
+ process.env.WABERY_BASE_URL ??
250
+ project.baseUrl ??
251
+ matched.baseUrl,
252
+ projectId: matched.projectId,
253
+ source: project.source,
254
+ };
255
+ }
256
+ // 3. Fall back to the sole stored credential, if unambiguous.
257
+ const credentials = readCredentials();
258
+ if (credentials.length === 1) {
259
+ const only = credentials[0];
260
+ return {
261
+ apiKey: only.apiKey,
262
+ baseUrl: opts.baseUrl ?? process.env.WABERY_BASE_URL ?? only.baseUrl,
263
+ projectId: only.projectId || undefined,
264
+ source: "sole-credential",
265
+ };
266
+ }
267
+ if (credentials.length === 0) {
268
+ throw new Error("Missing API key. Run `wabery login`, or set WABERY_API_KEY.");
269
+ }
270
+ throw new Error("Multiple projects are configured. Run `wabery use <project>` in this repo, set WABERY_PROJECT_ID, or pass --project-id.");
271
+ }
272
+ // --- Legacy shims (kept for any external callers) --------------------------
273
+ export function readLocalConfig() {
274
+ const creds = readCredentials();
275
+ const first = creds[0];
276
+ return first ? { apiKey: first.apiKey, baseUrl: first.baseUrl } : {};
277
+ }
278
+ export function writeLocalConfig(config) {
279
+ if (!config.apiKey)
280
+ return getConfigPath();
281
+ return upsertCredential({
282
+ projectId: "",
283
+ apiKey: config.apiKey,
284
+ baseUrl: config.baseUrl,
285
+ });
286
+ }
43
287
  //# sourceMappingURL=local-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-config.js","sourceRoot":"","sources":["../src/local-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAO1C,MAAM,UAAU,aAAa;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAClD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,QAAQ,EAAE,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,eAAe;IAC9B,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAY,CAAC;QAC5E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,OAAO;YACN,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACrE,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAyB;IACzD,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC;QACJ,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACR,wEAAwE;IACzE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"local-config.js","sourceRoot":"","sources":["../src/local-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAyDlD,wBAAgB,qBAAqB,CAAC,MAAM,kBAAwB,aA+qBnE;AAED,wBAAsB,YAAY,CAAC,MAAM,kBAAwB,iBAIhE"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAyDlD,wBAAgB,qBAAqB,CAAC,MAAM,kBAAwB,aAkuBnE;AAED,wBAAsB,YAAY,CAAC,MAAM,kBAAwB,iBAIhE"}
@@ -84,7 +84,7 @@ export function createWaberyMcpServer(client = new WaberyApiClient()) {
84
84
  .string()
85
85
  .min(1)
86
86
  .optional()
87
- .describe("Project id from wabery_list_projects or wabery_create_project."),
87
+ .describe("Project id from wabery_list_projects."),
88
88
  },
89
89
  annotations: {
90
90
  readOnlyHint: true,
@@ -175,14 +175,27 @@ export function createWaberyMcpServer(client = new WaberyApiClient()) {
175
175
  openWorldHint: false,
176
176
  },
177
177
  }, async () => jsonResult(await client.get("/projects")));
178
- server.registerTool("wabery_create_project", {
179
- title: "Create Wabery project",
180
- description: "Create a Wabery project for developer-managed WhatsApp flows, automations, and contact enrollment.",
178
+ server.registerTool("wabery_get_project", {
179
+ title: "Get a Wabery project",
180
+ description: "Fetch a single project, including its webhook_secret (revealed only here, never in wabery_list_projects).",
181
+ inputSchema: { project_id: z.string().min(1) },
182
+ annotations: {
183
+ readOnlyHint: true,
184
+ destructiveHint: false,
185
+ idempotentHint: true,
186
+ openWorldHint: false,
187
+ },
188
+ }, async ({ project_id }) => jsonResult(await client.get(`/projects/${encodeURIComponent(project_id)}`)));
189
+ server.registerTool("wabery_update_project", {
190
+ title: "Update a Wabery project",
191
+ description: "Update name, description, or webhook config (url, signing on/off, or a bring-your-own secret) of an existing project.",
181
192
  inputSchema: {
182
- name: z.string().min(1).max(100),
183
- description: z.string().max(500).optional(),
184
- webhook_url: z.string().url().optional(),
185
- webhook_signing_enabled: z.boolean().default(true),
193
+ project_id: z.string().min(1),
194
+ name: z.string().min(1).max(100).optional(),
195
+ description: z.string().max(500).nullable().optional(),
196
+ webhook_url: z.string().url().nullable().optional(),
197
+ webhook_signing_enabled: z.boolean().optional(),
198
+ webhook_secret: z.string().min(16).max(256).optional(),
186
199
  },
187
200
  annotations: {
188
201
  readOnlyHint: false,
@@ -190,11 +203,30 @@ export function createWaberyMcpServer(client = new WaberyApiClient()) {
190
203
  idempotentHint: false,
191
204
  openWorldHint: false,
192
205
  },
193
- }, async (input) => {
194
- const blocked = requireWriteMode("wabery_create_project");
206
+ }, async ({ project_id, ...body }) => {
207
+ const blocked = requireWriteMode("wabery_update_project");
208
+ if (blocked)
209
+ return blocked;
210
+ return jsonResult(await client.patch(`/projects/${encodeURIComponent(project_id)}`, body));
211
+ });
212
+ server.registerTool("wabery_rotate_webhook_secret", {
213
+ title: "Rotate a project's webhook secret",
214
+ description: "Set a new signing secret (server-generated, or a provided one) and return it once. Invalidates the previous secret.",
215
+ inputSchema: {
216
+ project_id: z.string().min(1),
217
+ webhook_secret: z.string().min(16).max(256).optional(),
218
+ },
219
+ annotations: {
220
+ readOnlyHint: false,
221
+ destructiveHint: true,
222
+ idempotentHint: false,
223
+ openWorldHint: false,
224
+ },
225
+ }, async ({ project_id, webhook_secret }) => {
226
+ const blocked = requireWriteMode("wabery_rotate_webhook_secret");
195
227
  if (blocked)
196
228
  return blocked;
197
- return jsonResult(await client.post("/projects", input));
229
+ return jsonResult(await client.post(`/projects/${encodeURIComponent(project_id)}/rotate-webhook-secret`, webhook_secret ? { webhook_secret } : undefined));
198
230
  });
199
231
  server.registerTool("wabery_list_channels", {
200
232
  title: "List Wabery channels",
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}