@wirecat/whatsapp-cli 0.4.0 → 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.
Files changed (135) hide show
  1. package/README.md +9 -3
  2. package/dist/adapter/adapter.d.ts +4 -2
  3. package/dist/adapter/adapter.d.ts.map +1 -1
  4. package/dist/adapter/adapter.js +20 -406
  5. package/dist/adapter/adapter.js.map +1 -1
  6. package/dist/adapter/channels.d.ts.map +1 -1
  7. package/dist/adapter/channels.js.map +1 -1
  8. package/dist/adapter/comments.d.ts +5 -0
  9. package/dist/adapter/comments.d.ts.map +1 -0
  10. package/dist/adapter/comments.js +14 -0
  11. package/dist/adapter/comments.js.map +1 -0
  12. package/dist/adapter/discovery.d.ts +5 -0
  13. package/dist/adapter/discovery.d.ts.map +1 -0
  14. package/dist/adapter/discovery.js +28 -0
  15. package/dist/adapter/discovery.js.map +1 -0
  16. package/dist/adapter/errors.d.ts +1 -1
  17. package/dist/adapter/errors.d.ts.map +1 -1
  18. package/dist/adapter/errors.js +4 -2
  19. package/dist/adapter/errors.js.map +1 -1
  20. package/dist/adapter/groups.d.ts.map +1 -1
  21. package/dist/adapter/groups.js +1 -1
  22. package/dist/adapter/groups.js.map +1 -1
  23. package/dist/adapter/listen.d.ts +11 -0
  24. package/dist/adapter/listen.d.ts.map +1 -0
  25. package/dist/adapter/listen.js +264 -0
  26. package/dist/adapter/listen.js.map +1 -0
  27. package/dist/adapter/map.d.ts +1 -1
  28. package/dist/adapter/map.d.ts.map +1 -1
  29. package/dist/adapter/map.js +13 -22
  30. package/dist/adapter/map.js.map +1 -1
  31. package/dist/adapter/polls.d.ts +2 -1
  32. package/dist/adapter/polls.d.ts.map +1 -1
  33. package/dist/adapter/polls.js +14 -3
  34. package/dist/adapter/polls.js.map +1 -1
  35. package/dist/adapter/privacy.d.ts.map +1 -1
  36. package/dist/adapter/privacy.js +26 -11
  37. package/dist/adapter/privacy.js.map +1 -1
  38. package/dist/adapter/sends.d.ts +14 -0
  39. package/dist/adapter/sends.d.ts.map +1 -0
  40. package/dist/adapter/sends.js +156 -0
  41. package/dist/adapter/sends.js.map +1 -0
  42. package/dist/adapter/settings.js +4 -1
  43. package/dist/adapter/settings.js.map +1 -1
  44. package/dist/app.d.ts +8 -0
  45. package/dist/app.d.ts.map +1 -1
  46. package/dist/app.js +20 -1
  47. package/dist/app.js.map +1 -1
  48. package/dist/bot/adapter.d.ts +18 -0
  49. package/dist/bot/adapter.d.ts.map +1 -0
  50. package/dist/bot/adapter.js +74 -0
  51. package/dist/bot/adapter.js.map +1 -0
  52. package/dist/bot/generated/definitions.d.ts +3 -0
  53. package/dist/bot/generated/definitions.d.ts.map +1 -0
  54. package/dist/bot/generated/definitions.js +9254 -0
  55. package/dist/bot/generated/definitions.js.map +1 -0
  56. package/dist/bot/generated/manifest.d.ts +3 -0
  57. package/dist/bot/generated/manifest.d.ts.map +1 -0
  58. package/dist/bot/generated/manifest.js +2614 -0
  59. package/dist/bot/generated/manifest.js.map +1 -0
  60. package/dist/bot/generated/schemas.d.ts +803 -0
  61. package/dist/bot/generated/schemas.d.ts.map +1 -0
  62. package/dist/bot/generated/schemas.js +3052 -0
  63. package/dist/bot/generated/schemas.js.map +1 -0
  64. package/dist/bot/generated/types.d.ts +3439 -0
  65. package/dist/bot/generated/types.d.ts.map +1 -0
  66. package/dist/bot/generated/types.js +5 -0
  67. package/dist/bot/generated/types.js.map +1 -0
  68. package/dist/bot/graph.d.ts +53 -0
  69. package/dist/bot/graph.d.ts.map +1 -0
  70. package/dist/bot/graph.js +141 -0
  71. package/dist/bot/graph.js.map +1 -0
  72. package/dist/bot/messaging.d.ts +30 -0
  73. package/dist/bot/messaging.d.ts.map +1 -0
  74. package/dist/bot/messaging.js +124 -0
  75. package/dist/bot/messaging.js.map +1 -0
  76. package/dist/bot/mime.d.ts +3 -0
  77. package/dist/bot/mime.d.ts.map +1 -0
  78. package/dist/bot/mime.js +20 -0
  79. package/dist/bot/mime.js.map +1 -0
  80. package/dist/bot/webhook.d.ts +13 -0
  81. package/dist/bot/webhook.d.ts.map +1 -0
  82. package/dist/bot/webhook.js +148 -0
  83. package/dist/bot/webhook.js.map +1 -0
  84. package/dist/commands/bot-templates.d.ts +9 -0
  85. package/dist/commands/bot-templates.d.ts.map +1 -0
  86. package/dist/commands/bot-templates.js +141 -0
  87. package/dist/commands/bot-templates.js.map +1 -0
  88. package/dist/commands/bot.d.ts +14 -0
  89. package/dist/commands/bot.d.ts.map +1 -0
  90. package/dist/commands/bot.js +208 -0
  91. package/dist/commands/bot.js.map +1 -0
  92. package/dist/commands/session.d.ts +0 -44
  93. package/dist/commands/session.d.ts.map +1 -1
  94. package/dist/commands/session.js +15 -141
  95. package/dist/commands/session.js.map +1 -1
  96. package/dist/commands/setup.d.ts.map +1 -1
  97. package/dist/commands/setup.js +9 -8
  98. package/dist/commands/setup.js.map +1 -1
  99. package/dist/commands/update.d.ts +2 -1
  100. package/dist/commands/update.d.ts.map +1 -1
  101. package/dist/commands/update.js.map +1 -1
  102. package/dist/diagnose.d.ts +6 -41
  103. package/dist/diagnose.d.ts.map +1 -1
  104. package/dist/diagnose.js.map +1 -1
  105. package/dist/engine/channels.d.ts +1 -0
  106. package/dist/engine/channels.d.ts.map +1 -1
  107. package/dist/engine/contract.d.ts +32 -2
  108. package/dist/engine/contract.d.ts.map +1 -1
  109. package/dist/engine/contract.js +9 -1
  110. package/dist/engine/contract.js.map +1 -1
  111. package/dist/engine/discovery.d.ts +34 -0
  112. package/dist/engine/discovery.d.ts.map +1 -0
  113. package/dist/engine/discovery.js +22 -0
  114. package/dist/engine/discovery.js.map +1 -0
  115. package/dist/engine/events.d.ts +1 -1
  116. package/dist/engine/events.d.ts.map +1 -1
  117. package/dist/engine/events.js.map +1 -1
  118. package/dist/engine/go-engine.d.ts.map +1 -1
  119. package/dist/engine/go-engine.js +4 -0
  120. package/dist/engine/go-engine.js.map +1 -1
  121. package/dist/messenger.d.ts +4 -1
  122. package/dist/messenger.d.ts.map +1 -1
  123. package/dist/messenger.js +8 -10
  124. package/dist/messenger.js.map +1 -1
  125. package/dist/program.d.ts.map +1 -1
  126. package/dist/program.js +8 -2
  127. package/dist/program.js.map +1 -1
  128. package/dist/session.d.ts +56 -0
  129. package/dist/session.d.ts.map +1 -0
  130. package/dist/session.js +136 -0
  131. package/dist/session.js.map +1 -0
  132. package/dist/version.d.ts +1 -1
  133. package/dist/version.js +1 -1
  134. package/package.json +16 -11
  135. package/skills/whatsapp-cli/SKILL.md +16 -13
package/dist/app.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { settingsFor } from "@wirecat/cli-core/cli";
2
+ import * as v from "valibot";
2
3
  import { REASONS } from "./reasons.js";
3
4
  import { VERSION } from "./version.js";
4
5
  export const WA = {
@@ -11,6 +12,24 @@ export const WA = {
11
12
  locale: "en-GB",
12
13
  errors: { reasons: REASONS },
13
14
  };
14
- export const CONFIG = settingsFor(WA);
15
+ /** The Graph API version the generated commands were built from; a newer one is a setting away. */
16
+ export const GRAPH_VERSION = "v23.0";
17
+ const metaId = v.pipe(v.string("has to be Meta's id, in quotes"), v.regex(/^\d+$/, "has to be digits only"));
18
+ export const CONFIG = settingsFor(WA, {
19
+ profile: {
20
+ phone_number_id: v.optional(metaId),
21
+ waba_id: v.optional(metaId),
22
+ graph_version: v.optional(v.pipe(v.string(), v.regex(/^v\d+\.\d+$/, "has to be a Graph version like v23.0"))),
23
+ },
24
+ resolve: ({ fromLayers }) => {
25
+ const phone = fromLayers("phone_number_id", undefined);
26
+ const waba = fromLayers("waba_id", undefined);
27
+ const version = fromLayers("graph_version", GRAPH_VERSION);
28
+ return {
29
+ values: { phoneNumberId: phone.value, wabaId: waba.value, graphVersion: version.value },
30
+ sources: { phone_number_id: phone.from, waba_id: waba.from, graph_version: version.from },
31
+ };
32
+ },
33
+ });
15
34
  export const { resolveSettings } = CONFIG;
16
35
  //# sourceMappingURL=app.js.map
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,+FAA+F;IAC5G,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,wDAAwD;IAChE,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAkB,WAAW,CAAC,EAAE,CAAC,CAAA;AACpD,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,EAAE,GAAgB;IAC7B,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,+FAA+F;IAC5G,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,wDAAwD;IAChE,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;CAC7B,CAAA;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAA;AASpC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAA;AAE5G,MAAM,CAAC,MAAM,MAAM,GAAkB,WAAW,CAAc,EAAE,EAAE;IAChE,OAAO,EAAE;QACP,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,sCAAsC,CAAC,CAAC,CAAC;KAC9G;IACD,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAqB,iBAAiB,EAAE,SAAS,CAAC,CAAA;QAC1E,MAAM,IAAI,GAAG,UAAU,CAAqB,SAAS,EAAE,SAAS,CAAC,CAAA;QACjE,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;QAC1D,OAAO;YACL,MAAM,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE;YACvF,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE;SAC1F,CAAA;IACH,CAAC;CACF,CAAC,CAAA;AACF,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { BotAdapter, BotChatRef } from "@wirecat/cli-core/cli";
2
+ import type { GraphTransport } from "./graph.js";
3
+ import { type WebhookSecrets } from "./webhook.js";
4
+ export interface BotIds {
5
+ phoneNumberId: string | undefined;
6
+ wabaId: string | undefined;
7
+ }
8
+ /** The setting a command needs, or a refusal that says how to set it. */
9
+ export declare const required: (value: string | undefined, setting: "phone_number_id" | "waba_id", profile: string) => string;
10
+ export interface AdapterSeams {
11
+ secrets: () => WebhookSecrets;
12
+ /** Keeps the verify token `bot webhooks set --secret-stdin` was given, so the receiver can answer Meta with it. */
13
+ keepVerifyToken: (token: string) => void;
14
+ lastInbound?: (chat: BotChatRef) => Promise<Date | undefined>;
15
+ }
16
+ /** A Cloud API business number as cli-core's bot port sees it. */
17
+ export declare const whatsappBotAdapter: (graph: GraphTransport, ids: BotIds, profile: string, seams: AdapterSeams) => BotAdapter;
18
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/bot/adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAc,MAAM,uBAAuB,CAAA;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,cAAc,CAAA;AAEjE,MAAM,WAAW,MAAM;IACrB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED,yEAAyE;AACzE,eAAO,MAAM,QAAQ,UACZ,MAAM,GAAG,SAAS,WAChB,iBAAiB,GAAG,SAAS,WAC7B,MAAM,KACd,MAMF,CAAA;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,cAAc,CAAA;IAC7B,mHAAmH;IACnH,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;CAC9D;AAED,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,UACtB,cAAc,OAChB,MAAM,WACF,MAAM,SACR,YAAY,KAClB,UA0EF,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { CliError } from "@wirecat/cli-base";
2
+ import { sendMessage } from "./messaging.js";
3
+ import { webhookIntake } from "./webhook.js";
4
+ /** The setting a command needs, or a refusal that says how to set it. */
5
+ export const required = (value, setting, profile) => {
6
+ if (value)
7
+ return value;
8
+ throw new CliError("configuration_error", `the bot profile has no ${setting} — set it with \`wa ${profile} config set --bot ${setting} <id>\`, from the app's WhatsApp → API setup page`);
9
+ };
10
+ /** A Cloud API business number as cli-core's bot port sees it. */
11
+ export const whatsappBotAdapter = (graph, ids, profile, seams) => {
12
+ const phoneNumberId = () => required(ids.phoneNumberId, "phone_number_id", profile);
13
+ const configure = (configuration) => graph.call({
14
+ path: `/${phoneNumberId()}`,
15
+ method: "POST",
16
+ json: JSON.stringify({ webhook_configuration: configuration }),
17
+ reads: false,
18
+ operation: "updatePhoneNumber",
19
+ });
20
+ const intake = webhookIntake({
21
+ get appSecret() {
22
+ return seams.secrets().appSecret;
23
+ },
24
+ get verifyToken() {
25
+ return seams.secrets().verifyToken;
26
+ },
27
+ });
28
+ return {
29
+ ...intake,
30
+ me: async () => {
31
+ const number = (await graph.call({
32
+ path: `/${phoneNumberId()}`,
33
+ method: "GET",
34
+ query: { fields: "id,display_phone_number,verified_name" },
35
+ reads: true,
36
+ operation: "getPhoneNumber",
37
+ }));
38
+ return {
39
+ id: number.id ?? phoneNumberId(),
40
+ name: number.verified_name ?? null,
41
+ username: null,
42
+ phone: number.display_phone_number ?? null,
43
+ };
44
+ },
45
+ send: (chat, text, options) => sendMessage({ graph, phoneNumberId: phoneNumberId(), ...(seams.lastInbound ? { lastInbound: seams.lastInbound } : {}) }, chat, text, options),
46
+ // The number's own override only: the app's callback is set in the App Dashboard and holds template and account events.
47
+ webhooks: async () => {
48
+ const answer = (await graph.call({
49
+ path: `/${phoneNumberId()}`,
50
+ method: "GET",
51
+ query: { fields: "webhook_configuration" },
52
+ reads: true,
53
+ operation: "getPhoneNumber",
54
+ }));
55
+ const url = answer.webhook_configuration?.phone_number;
56
+ return url ? [{ url, types: null }] : [];
57
+ },
58
+ setWebhook: async (url, { types, secret }) => {
59
+ if (types?.length)
60
+ throw new CliError("validation_error", "WhatsApp sends every subscribed field; pick fields in the App Dashboard, not with --types");
61
+ const token = secret ?? seams.secrets().verifyToken;
62
+ if (!token)
63
+ throw new CliError("configuration_error", `no verify token — give one with --secret-stdin, or keep it with \`wa ${profile} bot auth set --secret verify-token\``);
64
+ await configure({ override_callback_uri: url, verify_token: token });
65
+ if (secret)
66
+ seams.keepVerifyToken(secret);
67
+ },
68
+ deleteWebhook: async () => {
69
+ await configure({ override_callback_uri: "" });
70
+ },
71
+ close: async () => { },
72
+ };
73
+ };
74
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/bot/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SchemaNode } from "@wirecat/cli-base/codegen";
2
+ export declare const definitions: Readonly<Record<string, SchemaNode>>;
3
+ //# sourceMappingURL=definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/bot/generated/definitions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAE3D,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAolS5D,CAAA"}