@myapihq/cli 2.4.0 → 2.4.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.
- package/dist/commands/crm/companies.js +1 -5
- package/dist/commands/crm/contacts.js +1 -6
- package/dist/commands/domain-validation.test.d.ts +1 -0
- package/dist/commands/domain-validation.test.js +36 -0
- package/dist/commands/domain.d.ts +14 -0
- package/dist/commands/domain.js +20 -1
- package/dist/commands/funnel-validation.test.d.ts +1 -0
- package/dist/commands/funnel-validation.test.js +86 -0
- package/dist/commands/funnel.d.ts +12 -0
- package/dist/commands/funnel.js +59 -15
- package/dist/commands/login-validation.test.js +24 -2
- package/dist/commands/login.d.ts +6 -0
- package/dist/commands/login.js +48 -17
- package/dist/commands/payments.js +12 -2
- package/dist/commands/setup.d.ts +1 -0
- package/dist/commands/setup.js +53 -4
- package/dist/commands/skill-checksum.test.d.ts +1 -0
- package/dist/commands/skill-checksum.test.js +48 -0
- package/dist/config-envkey.test.d.ts +1 -0
- package/dist/config-envkey.test.js +145 -0
- package/dist/config.js +41 -5
- package/dist/errors.js +11 -0
- package/dist/index.js +6 -1
- package/dist/sdk-transport.test.d.ts +1 -0
- package/dist/sdk-transport.test.js +138 -0
- package/dist/sdk-version.test.d.ts +1 -0
- package/dist/sdk-version.test.js +24 -0
- package/dist/skills/my-api-hq/SKILL.md +1 -1
- package/dist/skills/my-api-hq/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-audience-api/README.md +40 -0
- package/dist/skills/my-audience-api/SKILL.md +139 -0
- package/dist/skills/my-audience-api/claude/.claude-plugin/plugin.json +7 -0
- package/dist/skills/my-audience-api/openapi/.gitkeep +0 -0
- package/dist/skills/my-auth-api/SKILL.md +1 -1
- package/dist/skills/my-auth-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-company-api/README.md +35 -0
- package/dist/skills/my-company-api/SKILL.md +110 -0
- package/dist/skills/my-company-api/claude/.claude-plugin/plugin.json +7 -0
- package/dist/skills/my-company-api/openapi/.gitkeep +0 -0
- package/dist/skills/my-container-api/README.md +34 -0
- package/dist/skills/my-container-api/SKILL.md +77 -0
- package/dist/skills/my-container-api/claude/.claude-plugin/plugin.json +7 -0
- package/dist/skills/my-container-api/openapi/.gitkeep +0 -0
- package/dist/skills/my-crm-api/SKILL.md +3 -3
- package/dist/skills/my-crm-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-database-api/SKILL.md +1 -1
- package/dist/skills/my-database-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-domain-api/SKILL.md +1 -1
- package/dist/skills/my-domain-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-email-api/SKILL.md +1 -1
- package/dist/skills/my-email-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-email-verify-api/SKILL.md +1 -1
- package/dist/skills/my-email-verify-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-function-api/SKILL.md +104 -0
- package/dist/skills/my-function-api/claude/.claude-plugin/plugin.json +7 -0
- package/dist/skills/my-funnel-api/SKILL.md +2 -2
- package/dist/skills/my-funnel-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-git-api/SKILL.md +1 -1
- package/dist/skills/my-git-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-image-api/SKILL.md +1 -1
- package/dist/skills/my-image-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-llm-api/SKILL.md +6 -11
- package/dist/skills/my-llm-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-payments-api/SKILL.md +85 -0
- package/dist/skills/my-payments-api/claude/.claude-plugin/plugin.json +7 -0
- package/dist/skills/my-people-api/README.md +35 -0
- package/dist/skills/my-people-api/SKILL.md +107 -0
- package/dist/skills/my-people-api/claude/.claude-plugin/plugin.json +7 -0
- package/dist/skills/my-people-api/openapi/.gitkeep +0 -0
- package/dist/skills/my-pixel-api/README.md +38 -0
- package/dist/skills/my-pixel-api/SKILL.md +90 -0
- package/dist/skills/my-pixel-api/claude/.claude-plugin/plugin.json +7 -0
- package/dist/skills/my-pixel-api/openapi/.gitkeep +0 -0
- package/dist/skills/my-queue-api/README.md +34 -0
- package/dist/skills/my-queue-api/SKILL.md +78 -0
- package/dist/skills/my-queue-api/claude/.claude-plugin/plugin.json +7 -0
- package/dist/skills/my-queue-api/openapi/.gitkeep +0 -0
- package/dist/skills/my-storage-api/SKILL.md +1 -1
- package/dist/skills/my-storage-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-task-api/README.md +36 -0
- package/dist/skills/my-task-api/SKILL.md +74 -0
- package/dist/skills/my-task-api/claude/.claude-plugin/plugin.json +7 -0
- package/dist/skills/my-task-api/openapi/.gitkeep +0 -0
- package/dist/skills/my-url-to/README.md +32 -0
- package/dist/skills/my-url-to/SKILL.md +55 -0
- package/dist/skills/my-url-to/claude/.claude-plugin/plugin.json +7 -0
- package/dist/skills/my-url-to/openapi/.gitkeep +0 -0
- package/dist/skills/my-webhook-api/SKILL.md +1 -1
- package/dist/skills/my-webhook-api/claude/.claude-plugin/plugin.json +1 -0
- package/dist/skills/my-workflow-api/SKILL.md +1 -1
- package/dist/skills/my-workflow-api/claude/.claude-plugin/plugin.json +1 -0
- package/package.json +8 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
# my-queue-api
|
|
3
|
+
|
|
4
|
+
A durable job queue. Enqueue work and have it delivered to your HTTP consumer with retry/backoff, a concurrency cap, and a dependency DAG — no broker to run.
|
|
5
|
+
|
|
6
|
+
## What it does
|
|
7
|
+
|
|
8
|
+
- Named queues, each bound to an HTTP `consumer_url`
|
|
9
|
+
- Jobs retried with backoff up to `max_attempts`, then dead-lettered
|
|
10
|
+
- `max_concurrency` cap on in-flight jobs
|
|
11
|
+
- Idempotent enqueue via `dedup_key`
|
|
12
|
+
- Delayed jobs (`delay_seconds`) and a dependency DAG (`depends_on`)
|
|
13
|
+
|
|
14
|
+
## Quickstart
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
myapi queue create thumbnails --consumer-url https://your-handler.example.com
|
|
18
|
+
myapi queue enqueue thumbnails --payload '{"asset_id":"a_123"}' --dedup-key a_123
|
|
19
|
+
myapi queue jobs thumbnails
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Authentication
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
export MYAPI_KEY=mak_...
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Requires `api_key` + `org_id` from **myapihq**.
|
|
29
|
+
|
|
30
|
+
## Documentation
|
|
31
|
+
|
|
32
|
+
Full command reference and the queue/workflow/task decision guide: see `SKILL.md`.
|
|
33
|
+
|
|
34
|
+
Run `myapi queue --help` for inline reference.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: my-queue-api
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: >
|
|
5
|
+
Durable job queue — enqueue work and have it retried against your HTTP consumer, with concurrency caps and a dependency DAG.
|
|
6
|
+
triggers: [queue, job queue, background job, enqueue, retry, async work, dead letter, delayed job, concurrency]
|
|
7
|
+
checksum: sha256-528a48bc9adcde7c48ad7208db7796ec37032f6df31bf5a2ca1f2bf63f643fe9
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# MyQueueAPI
|
|
11
|
+
|
|
12
|
+
A queue is a named, durable pipeline of jobs. Each queue has an HTTP `consumer_url`; every job is POSTed there, and a 2xx response succeeds the job. Failed jobs retry with backoff up to `max_attempts`, then dead-letter.
|
|
13
|
+
|
|
14
|
+
## Capabilities
|
|
15
|
+
<!-- llm:start -->
|
|
16
|
+
`queue` is the **durable async machine work** layer. Use it when work must run reliably, eventually — not inline with the request that triggered it.
|
|
17
|
+
|
|
18
|
+
A queue is created with:
|
|
19
|
+
|
|
20
|
+
| Field | Meaning |
|
|
21
|
+
|---|---|
|
|
22
|
+
| `consumer_url` | HTTP(S) endpoint each job payload is POSTed to. A 2xx succeeds the job. |
|
|
23
|
+
| `max_attempts` | Retries before a job dead-letters (default 5). |
|
|
24
|
+
| `max_concurrency` | Max jobs dispatched at once (default 5). |
|
|
25
|
+
|
|
26
|
+
A job carries an arbitrary JSON `payload` (≤256 KB). Jobs support:
|
|
27
|
+
|
|
28
|
+
- `dedup_key` — idempotency: a repeated key returns the existing job.
|
|
29
|
+
- `delay_seconds` — hold the job before it becomes eligible.
|
|
30
|
+
- `depends_on` — job ids this job waits on. Immutable — a DAG by construction. A job with unsucceeded `depends_on` starts blocked.
|
|
31
|
+
|
|
32
|
+
**queue vs workflow vs task** — see `docs/orchestration-decision-guide.md`. Short version: `workflow` reacts to inbound webhooks inline; `queue` runs durable retried machine work; `task` is for work that needs an agent/human decision.
|
|
33
|
+
<!-- llm:end -->
|
|
34
|
+
|
|
35
|
+
## Commands
|
|
36
|
+
<!-- generated:start -->
|
|
37
|
+
| Command | What it does |
|
|
38
|
+
|---|---|
|
|
39
|
+
| `myapi queue create <name> --consumer-url <url> [--max-attempts <n>] [--max-concurrency <n>]` | Create a queue |
|
|
40
|
+
| `myapi queue list` | List queues in your org |
|
|
41
|
+
| `myapi queue get <name>` | Show a queue's retry/concurrency policy |
|
|
42
|
+
| `myapi queue enqueue <name> --payload <json> [--dedup-key <k>] [--delay <s>] [--depends-on <id,id>]` | Enqueue a job |
|
|
43
|
+
| `myapi queue jobs <name> [--status <s>] [--limit <n>]` | List a queue's jobs |
|
|
44
|
+
| `myapi queue job <job_id>` | Show a single job's status |
|
|
45
|
+
<!-- generated:end -->
|
|
46
|
+
|
|
47
|
+
## Examples
|
|
48
|
+
<!-- llm:start -->
|
|
49
|
+
```bash
|
|
50
|
+
# 1. Create a queue whose jobs POST to your handler
|
|
51
|
+
myapi queue create thumbnails \
|
|
52
|
+
--consumer-url https://fn.myapi.com/<org>/<fn_id> \
|
|
53
|
+
--max-attempts 5 --max-concurrency 10
|
|
54
|
+
|
|
55
|
+
# 2. Enqueue work — idempotent on --dedup-key
|
|
56
|
+
myapi queue enqueue thumbnails \
|
|
57
|
+
--payload '{"asset_id":"a_123","size":256}' \
|
|
58
|
+
--dedup-key a_123-256
|
|
59
|
+
|
|
60
|
+
# 3. A job that waits on others (DAG)
|
|
61
|
+
J1=$(myapi queue enqueue build --payload '{"step":1}' --json | jq -r .id)
|
|
62
|
+
myapi queue enqueue build --payload '{"step":2}' --depends-on $J1
|
|
63
|
+
|
|
64
|
+
# 4. Inspect
|
|
65
|
+
myapi queue jobs thumbnails --status dead
|
|
66
|
+
myapi queue job <job_id>
|
|
67
|
+
```
|
|
68
|
+
<!-- llm:end -->
|
|
69
|
+
|
|
70
|
+
## Notes
|
|
71
|
+
|
|
72
|
+
- A 2xx from the `consumer_url` succeeds the job; anything else counts as a failed attempt.
|
|
73
|
+
- After `max_attempts` a job goes to `status: dead` (the dead-letter state) — it is not retried further.
|
|
74
|
+
- Job status values: `pending`, `blocked`, `running`, `succeeded`, `dead`.
|
|
75
|
+
- `depends_on` is immutable: the DAG is declared at enqueue time.
|
|
76
|
+
- `payload` is capped at 256 KB.
|
|
77
|
+
|
|
78
|
+
Run `myapi queue --help` for the full flag reference.
|
|
File without changes
|
|
@@ -4,7 +4,7 @@ version: 1.0.0
|
|
|
4
4
|
description: >
|
|
5
5
|
Edge-hosted asset storage. Upload local files (.png/.jpg/.gif/.webp) directly, or have the server fetch from a public URL. Each asset gets a stable public CDN URL.
|
|
6
6
|
triggers: [storage, upload, ingest, asset, cdn, image hosting, file upload, get-url, download, public url]
|
|
7
|
-
checksum: sha256-
|
|
7
|
+
checksum: sha256-80f78e83d086ec5e312abbb2fc7c85a2c9a87043a94b7e4fccc13902d5455df1
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# MyStorageAPI
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
# my-task-api
|
|
3
|
+
|
|
4
|
+
An agent-task queue. File units of work, rank them by score, claim one under a lease, then resolve or fail it — the substrate for an autonomous agent loop.
|
|
5
|
+
|
|
6
|
+
## What it does
|
|
7
|
+
|
|
8
|
+
- File tasks with a short triage `description` and a full Markdown `body` tier
|
|
9
|
+
- Ranked `list` — the agent-loop hot path, with a backlog signal
|
|
10
|
+
- Lease-based `claim` / `extend` — crash-safe, auto-reverts on expiry
|
|
11
|
+
- Terminal `resolve` / `fail` / `cancel`, with dependency cascade
|
|
12
|
+
- `depends_on` DAG, `dedup_key` idempotency, `assignee` magic-link email
|
|
13
|
+
- `resolve_on` — auto-resolve when a matching platform event fires
|
|
14
|
+
|
|
15
|
+
## Quickstart
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
myapi task create "Review the vendor contract" --body @notes.md --importance high
|
|
19
|
+
myapi task list
|
|
20
|
+
myapi task get <id> --body
|
|
21
|
+
myapi task claim <id> && myapi task resolve <id>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Authentication
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
export MYAPI_KEY=mak_...
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Requires `api_key` + `org_id` from **myapihq**.
|
|
31
|
+
|
|
32
|
+
## Documentation
|
|
33
|
+
|
|
34
|
+
Full command reference, the agent loop, and the workflow/queue/task decision guide: see `SKILL.md`.
|
|
35
|
+
|
|
36
|
+
Run `myapi task --help` for inline reference.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: my-task-api
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: >
|
|
5
|
+
Agent-task queue — file units of work, rank them, claim under a lease, then resolve, fail, or cancel. The agent-loop hot path.
|
|
6
|
+
triggers: [task, task queue, agent loop, work queue, claim task, resolve task, lease, backlog, to-do, assignee]
|
|
7
|
+
checksum: sha256-ead9513eafbdd4d384a3cb297facf934f786f7067028c75cc08ef2ba1ac61cf7
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# MyTaskAPI
|
|
11
|
+
|
|
12
|
+
A task is a unit of work that needs an agent or human to act on it. Tasks are ranked by score; a worker claims one under a time-limited lease, does the work, then resolves or fails it. This is distinct from `my-workflow-api` (event→action automation) and `my-queue-api` (durable machine jobs).
|
|
13
|
+
|
|
14
|
+
## Capabilities
|
|
15
|
+
<!-- llm:start -->
|
|
16
|
+
`task` is the **"this needs a decision"** layer — the agent-loop hot path.
|
|
17
|
+
|
|
18
|
+
The loop is: **`list` → `get <id> --body` → `claim` → `resolve`/`fail`**.
|
|
19
|
+
|
|
20
|
+
- `list` returns the top open tasks ranked by score, projected to `{id, description, score}`, plus a backlog signal — `Showing N of M open task(s)`. It is deliberately small; do not expect the full task.
|
|
21
|
+
- `get <id>` returns the full task object. It does **not** fetch the Markdown body.
|
|
22
|
+
- `get <id> --body` additionally fetches the **body tier** — the full Markdown context. Read it once, when you commit to a task.
|
|
23
|
+
- `claim <id>` takes an atomic lease (default 10 min). Lease expiry auto-reverts the task to open, so a crashed worker never strands a task. Heartbeat long work with `extend`.
|
|
24
|
+
- `resolve <id>` is terminal and unblocks dependents. `fail <id> --reason` is terminal and does not auto-retry. `cancel <id>` is terminal, distinct from fail.
|
|
25
|
+
|
|
26
|
+
Task fields at creation: `description` (~100-token triage key), `body` (full Markdown), `importance`, `due`, `assignee` (emails them a magic link), `tags`, `depends_on` (immutable DAG — a task with unresolved deps starts blocked), `dedup_key` (idempotent), `resolve_on` (an event matcher — a matching platform event auto-resolves the task), `source`.
|
|
27
|
+
|
|
28
|
+
**task vs workflow vs queue** — see `docs/orchestration-decision-guide.md`.
|
|
29
|
+
<!-- llm:end -->
|
|
30
|
+
|
|
31
|
+
## Commands
|
|
32
|
+
<!-- generated:start -->
|
|
33
|
+
| Command | What it does |
|
|
34
|
+
|---|---|
|
|
35
|
+
| `myapi task create "<description>" [--body <md\|@file>] [--importance <i>] [--due <rfc3339>] [--assignee <email>] [--tag <t,t>] [--depends-on <id,id>] [--resolve-on <event[:field=value]>]` | File a task |
|
|
36
|
+
| `myapi task list [--status <s>] [--tag <t>] [--importance <i>] [--limit <n>]` | Top open tasks, ranked |
|
|
37
|
+
| `myapi task get <id> [--body]` | Show a task; `--body` also fetches the body tier |
|
|
38
|
+
| `myapi task claim <id> [--lease <s>] [--worker <name>]` | Take an atomic lease |
|
|
39
|
+
| `myapi task extend <id> [--lease <s>]` | Heartbeat a live claim |
|
|
40
|
+
| `myapi task resolve <id>` | Resolve a task (terminal) |
|
|
41
|
+
| `myapi task fail <id> --reason "<why>"` | Fail a task (terminal) |
|
|
42
|
+
| `myapi task cancel <id>` | Cancel a task (terminal) |
|
|
43
|
+
<!-- generated:end -->
|
|
44
|
+
|
|
45
|
+
## Examples
|
|
46
|
+
<!-- llm:start -->
|
|
47
|
+
```bash
|
|
48
|
+
# File a task with full Markdown context from a file
|
|
49
|
+
myapi task create "Review the Q3 vendor contract" \
|
|
50
|
+
--body @contract-notes.md --importance high --due 2026-06-01
|
|
51
|
+
|
|
52
|
+
# The agent loop
|
|
53
|
+
myapi task list # ranked; pick the top id
|
|
54
|
+
myapi task get <id> --body # read the body, once, on commit
|
|
55
|
+
myapi task claim <id> --worker agent-7 # lease it
|
|
56
|
+
# ... do the work, heartbeat if long ...
|
|
57
|
+
myapi task extend <id>
|
|
58
|
+
myapi task resolve <id> # or: myapi task fail <id> --reason "blocked on legal"
|
|
59
|
+
|
|
60
|
+
# Event-driven: auto-resolve when a matching platform event fires
|
|
61
|
+
myapi task create "Ship once payment clears" \
|
|
62
|
+
--resolve-on payment.succeeded:order_id=o_42
|
|
63
|
+
```
|
|
64
|
+
<!-- llm:end -->
|
|
65
|
+
|
|
66
|
+
## Notes
|
|
67
|
+
|
|
68
|
+
- `list` is the hot path — it returns a small ranked projection plus `total_open`, not full tasks.
|
|
69
|
+
- The body tier is fetched only with `get --body`. Read it once, on commit, to keep the loop token-cheap.
|
|
70
|
+
- A claim is a lease: it expires (default 10 min) and auto-reverts the task to open. Heartbeat with `extend`.
|
|
71
|
+
- `resolve` unblocks dependents; `fail` cascades to dependents that can never proceed.
|
|
72
|
+
- `resolve_on` matches platform events. Today few event kinds are emitted in production — verify the kind exists before relying on it.
|
|
73
|
+
|
|
74
|
+
Run `myapi task --help` for the full flag reference.
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# my-url-to
|
|
2
|
+
|
|
3
|
+
Stateful URL shortening and routing via myurlto.com. Shorten long URLs, track link activity, and give users compact shareable links.
|
|
4
|
+
|
|
5
|
+
## What it does
|
|
6
|
+
|
|
7
|
+
- Shorten any URL to a `myurlto.com` link
|
|
8
|
+
- Track clicks and link activity
|
|
9
|
+
- Manage and list links by organization
|
|
10
|
+
|
|
11
|
+
## Quickstart
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Shorten a URL
|
|
15
|
+
curl -sS -X POST https://myurlto.com/url/shorten \
|
|
16
|
+
-H "Authorization: Bearer $MYAPI_KEY" \
|
|
17
|
+
-H "Content-Type: application/json" \
|
|
18
|
+
-d '{"org_id": "<org_id>", "url": "https://example.com/very/long/path"}'
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Authentication
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Authorization: Bearer <api_key>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Requires `org_id` from `my-api-hq`.
|
|
28
|
+
|
|
29
|
+
## Links
|
|
30
|
+
|
|
31
|
+
- [Full skill documentation (SKILL.md)](./SKILL.md)
|
|
32
|
+
- [MyUrlTo](https://myurlto.com)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: my-url-to
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: >
|
|
5
|
+
Stateful URL shortening service. Generate compact `myurlto.com` redirect links to long URLs. Often invoked implicitly by other backend services for outbound links.
|
|
6
|
+
triggers: [shorten url, short link, url shortener, myurlto, redirect, short_code]
|
|
7
|
+
checksum: sha256-2b83a7774da020adc3e61e411ff63b7ced7d9f160d22eb0a9291b701ad0fcf73
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# MyURLToAPI
|
|
11
|
+
|
|
12
|
+
URL shortening: compact redirect URLs under `myurlto.com`.
|
|
13
|
+
|
|
14
|
+
## Capabilities
|
|
15
|
+
<!-- llm:start -->
|
|
16
|
+
Generates a short redirect URL for any long target. The short link 302-redirects to the original. Stateful — short codes are stable until explicitly deleted server-side.
|
|
17
|
+
|
|
18
|
+
Note: agents don't always need to call this explicitly. Internal MyAPI services (e.g. payment checkout flows) automatically shorten certain links before returning them. Only call `myapi url shorten` when a user or workflow specifically asks for a short link, or when generating a URL that will be displayed to users in a constrained surface (SMS, QR codes, etc.).
|
|
19
|
+
<!-- llm:end -->
|
|
20
|
+
|
|
21
|
+
## Commands
|
|
22
|
+
<!-- generated:start -->
|
|
23
|
+
| Command | What it does |
|
|
24
|
+
|---|---|
|
|
25
|
+
| `myapi url shorten <url>` | Generate a short redirect URL for a long target |
|
|
26
|
+
|
|
27
|
+
The redirect itself is public:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
GET /{domain}/{code}
|
|
31
|
+
→ 302 Location: <original URL>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
No auth required to follow the redirect. Errors: `404` for unknown code or code longer than 16 chars.
|
|
35
|
+
<!-- generated:end -->
|
|
36
|
+
|
|
37
|
+
## Examples
|
|
38
|
+
<!-- llm:start -->
|
|
39
|
+
```bash
|
|
40
|
+
# Shorten
|
|
41
|
+
myapi url shorten "https://example.com/very/long/path?parameters=true"
|
|
42
|
+
# → { "short_code": "8f2a1b9c", "short_url": "https://myurlto.com/example.com/8f2a1b9c" }
|
|
43
|
+
|
|
44
|
+
# Use the short URL anywhere (resolves at the apex — NOT api.myurlto.com)
|
|
45
|
+
curl -L "https://myurlto.com/example.com/8f2a1b9c"
|
|
46
|
+
```
|
|
47
|
+
<!-- llm:end -->
|
|
48
|
+
|
|
49
|
+
## Notes
|
|
50
|
+
|
|
51
|
+
- The domain segment of the short URL is extracted from the target URL's root domain.
|
|
52
|
+
- Short codes are stable — once minted, they don't change.
|
|
53
|
+
- Required: a non-empty `url`. `400` if missing.
|
|
54
|
+
|
|
55
|
+
Run `myapi url --help` for flag reference.
|
|
File without changes
|
|
@@ -4,7 +4,7 @@ version: 1.0.0
|
|
|
4
4
|
description: >
|
|
5
5
|
Inbound webhook endpoints for non-funnel sources — Stripe, GitHub, custom services. Funnel forms use the my-funnel-api proxy.
|
|
6
6
|
triggers: [webhook, inbound, receiver, stripe events, github webhook, slack notification, delivery, payload, event ingest]
|
|
7
|
-
checksum: sha256-
|
|
7
|
+
checksum: sha256-13680a0decdbb5b49d9d80b52203eb68a43450f94477936252b54dfd2b3845bc
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# MyWebhookAPI
|
|
@@ -4,7 +4,7 @@ version: 1.0.0
|
|
|
4
4
|
description: >
|
|
5
5
|
Run actions when a webhook fires. Trigger emails, Slack notifications, or HTTP calls in response to inbound webhook deliveries — without writing a backend.
|
|
6
6
|
triggers: [workflow, automation, on webhook, send email on, slack notification, payload templating, drip, trigger, run]
|
|
7
|
-
checksum: sha256-
|
|
7
|
+
checksum: sha256-eddc70a8542c3cdfd01866f241ea283164e71fbe748426a13358d1c7ef635cb1
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# MyWorkflowAPI
|
package/package.json
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@myapihq/cli",
|
|
3
3
|
"license": "Apache-2.0",
|
|
4
|
-
"version": "2.4.
|
|
4
|
+
"version": "2.4.2",
|
|
5
5
|
"description": "MyAPI command-line interface",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/myapihq/myapi.git",
|
|
9
|
+
"directory": "packages/cli"
|
|
10
|
+
},
|
|
6
11
|
"type": "module",
|
|
7
12
|
"files": [
|
|
8
13
|
"dist"
|
|
@@ -28,11 +33,12 @@
|
|
|
28
33
|
"update-schema": "node scripts/update-schema.js",
|
|
29
34
|
"lint:changelog": "node ../../scripts/lint-changelog.js",
|
|
30
35
|
"lint:help-order": "node scripts/lint-help-order.js",
|
|
36
|
+
"lint:exposes": "node scripts/lint-exposes.js",
|
|
31
37
|
"lint:skills": "node scripts/copy-skills.js && node scripts/lint-skills.js",
|
|
32
38
|
"lint:skills:strict": "node scripts/copy-skills.js && node scripts/lint-skills.js --strict"
|
|
33
39
|
},
|
|
34
40
|
"dependencies": {
|
|
35
|
-
"@myapihq/sdk": "^2.4.
|
|
41
|
+
"@myapihq/sdk": "^2.4.2"
|
|
36
42
|
},
|
|
37
43
|
"devDependencies": {
|
|
38
44
|
"@types/node": "^25.6.0",
|