@myapihq/cli 2.11.0 → 2.11.2

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.
@@ -53,6 +53,17 @@ async function activateSending(flags) {
53
53
  if (!address)
54
54
  error('Missing required arguments.\nUsage: myapi email mailbox activate-sending --address <email>');
55
55
  const res = await sdkEmail.activateSending(config.api_key, address);
56
+ // A repaired account was broken a moment ago: it held a mailbox that reported
57
+ // sending_enabled while the ACCOUNT had no credential behind it, so every send
58
+ // failed with nothing in the mailbox or domain to explain why. Reporting that
59
+ // as an ordinary activation hides the one fact the caller needs — that the
60
+ // thing which was failing is now fixed, and that they should retry.
61
+ if (res.repaired) {
62
+ success(`Sending repaired: ${address} — the account had no sending credential; it does now.`);
63
+ info('No charge was made — the mailbox was paid for at its first activation.');
64
+ info('Sending should work immediately. Retry the send that was failing.');
65
+ return;
66
+ }
56
67
  success(`Sending activated: ${address} (${res.emails_quota_remaining} emails/day quota)`);
57
68
  }
58
69
  async function setForwarding(address, forwardTo, _flags) {
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  name: my-feedback-api
3
- version: 1.0.0
3
+ version: 1.1.0
4
4
  description: >
5
5
  Collect feedback from the people using what you built. A public widget key lets a page submit without a credential; you list, filter and resolve the results. Kind is chosen by the person reporting, not inferred from their wording.
6
6
  triggers: [feedback, bug report, user feedback, feature request, widget, support, complaints, praise]
7
- checksum: sha256-41627c4bdf19a5af131adc0e7bab76816e7be47acdc15601bdcef7cdb47b2e26
7
+ checksum: sha256-544fcdb87744431fe7c3adbda341bf858c6d4177695b811a3d29aa4a311c927b
8
8
  ---
9
9
 
10
10
  # MyFeedbackAPI
@@ -33,12 +33,30 @@ myapi feedback widget create site --origins app.example.com,example.com
33
33
  Revoke with `myapi feedback widget revoke <id>`. Submissions stop immediately;
34
34
  feedback already collected is kept.
35
35
 
36
- **The browser-side submit contract is not documented yet.** The CLI and SDK
37
- cover minting, revoking, listing and resolving; how a page posts with only the
38
- widget key is not published anywhere you can read it, so don't guess the
39
- endpoint. Until it lands, collect through a route you control a funnel form
40
- (`my-funnel-api`) or a webhook (`my-webhook-api`) — and file items with
41
- `myapi feedback create`.
36
+ ### How a page submits with it
37
+
38
+ `POST https://api.myapihq.com/feedback/in/<widget_key>` no auth, no SDK, no
39
+ CLI. This is the browser-side half, and it is the whole point of the widget key.
40
+
41
+ ```js
42
+ await fetch(`https://api.myapihq.com/feedback/in/${WIDGET_KEY}`, {
43
+ method: 'POST',
44
+ headers: { 'Content-Type': 'application/json' },
45
+ body: JSON.stringify({
46
+ kind: 'bug', // required — bug | issue | suggestion
47
+ body: text, // required — ≤8000 chars, refused not truncated
48
+ page_url: location.href, // optional context, all of it
49
+ route: router.currentRoute,
50
+ target_selector: '#checkout button',
51
+ target_region: { x, y, w, h }, // viewport pixels, e.g. a dragged box
52
+ viewport: { w: innerWidth, h: innerHeight },
53
+ }),
54
+ });
55
+ ```
56
+
57
+ Errors are `WIDGET_NOT_FOUND` (revoked reads the same as invented, so keys
58
+ cannot be probed), `ORIGIN_NOT_ALLOWED`, `RATE_LIMITED`, `INVALID_KIND`,
59
+ `BODY_REQUIRED`, `BODY_TOO_LONG`. The key can only write — it reads nothing.
42
60
 
43
61
  ### Kind is a claim, not a guess
44
62
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@myapihq/cli",
3
3
  "license": "Apache-2.0",
4
- "version": "2.11.0",
4
+ "version": "2.11.2",
5
5
  "description": "MyAPI command-line interface",
6
6
  "repository": {
7
7
  "type": "git",
@@ -46,7 +46,7 @@
46
46
  "lint:skills:strict": "node scripts/copy-skills.js && node scripts/lint-skills.js --strict"
47
47
  },
48
48
  "dependencies": {
49
- "@myapihq/sdk": "^2.11.0"
49
+ "@myapihq/sdk": "^2.11.2"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@types/node": "^25.6.0",