@series-a/cli 0.2.1 → 0.6.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/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@ All notable changes to this package are documented here. This project follows
4
4
  [Semantic Versioning](https://semver.org/) and uses
5
5
  [Changesets](https://github.com/changesets/changesets) to manage releases.
6
6
 
7
+ ## 0.6.1 — Campaign editing
8
+
9
+ - `campaigns` — added `update`/`edit` (name, description, goal, sequence, sender accounts, daily send limit, launch stage, status). Mirrors the new `update_campaign` MCP tool.
10
+
7
11
  ## 0.2.0 — Write coverage expansion
8
12
 
9
13
  - `inbox` — added `send`, `reply` (dry-run by default, `--confirm` to dispatch, 7,900 char guard), `mark-read` (bulk), `snooze` (`--for`, `--until`, `--clear`).
package/LICENSE CHANGED
@@ -1,6 +1,7 @@
1
- Copyright (c) AdvisorOS / Series A. All rights reserved.
1
+ Copyright (c) AdvisorPro / Series A. All rights reserved.
2
2
 
3
3
  This package is distributed under a proprietary license. Use is permitted only
4
- by AdvisorOS customers and partners against their own workspace API keys. Do not
4
+ by AdvisorPro customers and partners against their own workspace API keys. Do not
5
5
  redistribute, sublicense, or use against workspaces you do not own without
6
6
  written permission.
7
+
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @series-a/cli
2
2
 
3
- A command-line interface to the AdvisorOS platform — drive leads, campaigns, sequences and agents from your terminal. Built on top of the [`/agent-api`](https://github.com/series-a/advisoros/blob/main/docs/agent-api.md) M2M router, so anything the CLI does is auditable and workspace-scoped.
3
+ A command-line interface to the AdvisorPro platform — drive leads, campaigns, sequences and agents from your terminal. Built on top of the [`/agent-api`](https://github.com/series-a/advisoros/blob/main/docs/agent-api.md) M2M router, so anything the CLI does is auditable and workspace-scoped.
4
4
 
5
5
  ---
6
6
 
@@ -24,7 +24,7 @@ Requires **Node.js ≥ 20**.
24
24
 
25
25
  ## 1. Get an API key
26
26
 
27
- 1. Sign in to AdvisorOS.
27
+ 1. Sign in to AdvisorPro.
28
28
  2. Open **Settings → API Keys**.
29
29
  3. Click **New key** → choose **Workspace** scope (recommended).
30
30
  4. Copy the key — you won't see it again.
@@ -73,11 +73,28 @@ advisoros leads list [--status new] [--persona founder] [--search acme] [--limit
73
73
  advisoros leads get <id>
74
74
  advisoros leads set-status <id> <new|engaged|won|lost>
75
75
  advisoros leads import --file leads.csv [--persona founder]
76
+ advisoros leads import-from <source> [--query ...] [--post <url>] [--file <path>] [--audience <name>] [--campaign <id>] [--limit 50] [--no-enrich]
77
+ advisoros leads import-status <jobId>
78
+ advisoros leads update <id> [--name ...] [--title ...] [--company ...] [--email ...] [--linkedin ...] [--persona ...] [--score ...] [--status ...] [--notes ...]
79
+ advisoros leads delete <id>
76
80
  advisoros leads verify <id>
77
81
  ```
78
82
 
79
83
  `leads import` accepts CSV (header row), JSON array, or JSONL. Upserts on `(workspace_id, linkedin_url)`. Bulk requests are auto-chunked at 200/call (server cap: 500/call).
80
84
 
85
+ `leads import-from` runs any of the six import sources in **Get Leads → Import Leads**:
86
+
87
+ | source | required params | what it does |
88
+ |---|---|---|
89
+ | `linkedin_search` | `--query` | keyword / title / company people search via Unipile |
90
+ | `company_search` | `--query` | LinkedIn company search |
91
+ | `post_reactors` | `--post <url>` | everyone who reacted to a LinkedIn post |
92
+ | `paste_profiles` | `--file <path>` | name + LinkedIn URL lines; rest is enriched |
93
+ | `csv` | `--file <path>` | same CSV parser the UI uses |
94
+ | `heyreach` | `--file <path>` `--campaign <id>` | HeyReach campaign CSV, statuses preserved |
95
+
96
+ All sources accept `--audience` to attach leads to a segment (created if missing). LinkedIn-backed sources run at bulk read priority so live campaigns are not starved. Long-running imports return a `job_id`; poll with `advisoros leads import-status <jobId>`.
97
+
81
98
  ### Campaigns
82
99
 
83
100
  ```bash
@@ -96,7 +113,7 @@ advisoros campaigns resume <id>
96
113
 
97
114
  `launch` flips status to `active` — the `enforce_campaign_char_limits` trigger validates every step's copy against LinkedIn limits before allowing the transition.
98
115
 
99
- ### Sequences / Inbox / Content / Agents
116
+ ### Sequences / Inbox / Content / Agents / Meetings / Newsletter / Integrations
100
117
 
101
118
  ```bash
102
119
  advisoros sequences list
@@ -110,11 +127,43 @@ advisoros content publish <id>
110
127
 
111
128
  advisoros agents list
112
129
  advisoros agents run <name> --input '{"foo":"bar"}'
130
+ advisoros agents trigger <name> --input '{"foo":"bar"}'
131
+ advisoros agents history [--agent <name>] [--days 30] [--limit 50]
113
132
  advisoros agents job <jobId>
133
+
134
+ advisoros meetings list [--limit 50]
135
+ advisoros meetings transcripts [--provider fireflies|roam] [--since 2026-01-01] [--limit 50]
136
+ advisoros meetings transcript <transcriptId>
137
+
138
+ advisoros newsletter list
139
+ advisoros newsletter create --subject "Weekly roundup" --body "<html>..." [--preview-text "..."]
140
+ advisoros newsletter edit <id> [--subject ...] [--body ...] [--preview-text ...] [--status draft|scheduled]
141
+ advisoros newsletter delete <id>
142
+
143
+ advisoros integrations status
144
+ advisoros integrations check <platform>
114
145
  ```
115
146
 
116
147
  > **Heads-up:** `inbox send`/`reply` are intentionally **not** in v1. Outbound goes through `campaigns launch` (sender resolution + char limits + per-sender daily budget). For one-off DMs, use the web inbox.
117
148
 
149
+ `meetings transcript` only returns full text once the transcript has been anonymised; otherwise metadata is returned with the body redacted.
150
+
151
+ `integrations status` is read-only and never returns credentials. `integrations check <platform>` runs a live health probe for the requested platform (e.g. `linkedin_tool`).
152
+
153
+ ### Obsidian vault mirror (`kb`) — one-way
154
+
155
+ ```bash
156
+ advisoros kb link ./client-vault --workspace dmw9wj
157
+ advisoros kb status ./client-vault # dry-run preview
158
+ advisoros kb pull ./client-vault # mirror notes + graph entities
159
+ advisoros kb pull ./client-vault --preserve-local
160
+ ```
161
+
162
+ One-way push, AdvisorPro → Obsidian. Markdown notes with frontmatter, `[[wikilinks]]` and an
163
+ `## Entities` block, plus `Entities/<Type>/*.md` for graph nodes. Local edits are overwritten unless
164
+ `--preserve-local` is used (remote copy lands as `<slug>.remote.md`). Nothing is pushed back.
165
+
166
+
118
167
  ## Examples
119
168
 
120
169
  **Spin up a campaign from a fresh CSV:**
@@ -169,7 +218,7 @@ const { campaigns } = await call("campaigns", "list", { status: "active" }, {
169
218
  ```bash
170
219
  cd tools/cli
171
220
  npx changeset # describe the change
172
- npm run version # bump package.json + CHANGELOG.md
221
+ npm run version-packages # bump package.json + CHANGELOG.md
173
222
  git commit -am "chore(cli): release v$(node -p "require('./package.json').version")"
174
223
  git tag "cli-v$(node -p "require('./package.json').version")"
175
224
  git push --follow-tags
@@ -188,3 +237,4 @@ git push --follow-tags
188
237
  ## Full API reference
189
238
 
190
239
  See [`docs/agent-api.md`](../../docs/agent-api.md) for the underlying `/agent-api` envelope.
240
+
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@series-a/cli",
3
- "version": "0.2.1",
4
- "description": "AdvisorOS command-line interface — drive leads, campaigns, sequences and agents from your terminal.",
3
+ "version": "0.6.2",
4
+ "description": "AdvisorPro command-line interface — drive leads, campaigns, sequences and agents from your terminal.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "advisoros": "bin/advisoros.mjs"
@@ -21,7 +21,7 @@
21
21
  "smoke": "node bin/advisoros.mjs --help >/dev/null && node bin/advisoros.mjs --version >/dev/null && node -e \"import('node:fs').then(({readFileSync})=>{const s=readFileSync('bin/advisoros.mjs','utf8');if(!s.startsWith('#!/usr/bin/env node')){console.error('Missing shebang in bin/advisoros.mjs');process.exit(1)}})\"",
22
22
  "prepublishOnly": "npm run smoke",
23
23
  "changeset": "changeset",
24
- "version": "changeset version",
24
+ "version-packages": "changeset version",
25
25
  "release": "npm run smoke && changeset publish --access public"
26
26
  },
27
27
  "dependencies": {
@@ -55,6 +55,6 @@
55
55
  "sequences",
56
56
  "agent-api"
57
57
  ],
58
- "author": "AdvisorOS",
58
+ "author": "AdvisorPro",
59
59
  "license": "UNLICENSED"
60
60
  }
package/src/api.mjs CHANGED
@@ -10,7 +10,7 @@ export class AdvisorOSApiError extends Error {
10
10
  }
11
11
 
12
12
  /**
13
- * Invoke the AdvisorOS /agent-api router.
13
+ * Invoke the AdvisorPro /agent-api router.
14
14
  * Resolves credentials from --profile / env / saved config in that order.
15
15
  */
16
16
  export async function call(resource, action, params = {}, opts = {}) {
@@ -74,3 +74,4 @@ export async function call(resource, action, params = {}, opts = {}) {
74
74
  }
75
75
  return json;
76
76
  }
77
+