@series-a/cli 1.3.0 → 1.3.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 +184 -51
- package/LICENSE +7 -0
- package/README.md +249 -115
- package/SKILLS.md +359 -0
- package/bin/advisoros.mjs +2 -0
- package/package.json +50 -15
- package/src/api.mjs +102 -0
- package/src/commands/auth.mjs +193 -0
- package/src/commands/brand.mjs +439 -0
- package/src/commands/email.mjs +130 -0
- package/src/commands/flow.mjs +175 -0
- package/src/commands/insights.mjs +1813 -0
- package/src/commands/knowledge-sync.mjs +519 -0
- package/src/commands/resources.mjs +2214 -0
- package/src/commands/strategies.mjs +242 -0
- package/src/commands/voice.mjs +212 -0
- package/src/config.mjs +82 -0
- package/src/index.mjs +79 -0
- package/src/ui.mjs +104 -0
- package/bin/setu.mjs +0 -797
- package/lib/api.mjs +0 -84
- package/lib/config.mjs +0 -42
- package/lib/ui.mjs +0 -68
package/CHANGELOG.md
CHANGED
|
@@ -1,67 +1,200 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @series-a/cli
|
|
2
2
|
|
|
3
|
-
All notable changes to
|
|
3
|
+
All notable changes to this package are documented here. This project follows
|
|
4
|
+
[Semantic Versioning](https://semver.org/) and uses
|
|
5
|
+
[Changesets](https://github.com/changesets/changesets) to manage releases.
|
|
6
|
+
|
|
7
|
+
## 0.28.0 — Instantly email campaigns
|
|
8
|
+
|
|
9
|
+
- New `advisoros email` command group (alias `instantly`) drives the workspace's Instantly account through its own connected key — the key never leaves the server.
|
|
10
|
+
- `email status`, `email actions`, and `email call <action> --data '{…}'` for any supported action.
|
|
11
|
+
- `email campaigns list|get|create|update|activate|pause|duplicate|delete|sending-status|analytics|steps` — `steps` shows sent, delivered, opened and replied per email.
|
|
12
|
+
- `email sequence show|set|history|restore|test|branches|branch-pause|branch-resume|branch-delete|variables` — `history` lists every saved version from the app, `restore` puts one back live (the current sequence is saved to history first).
|
|
13
|
+
- `email accounts list|get|pause|resume|mark-fixed|warmup on/off|limit|test` for sending mailboxes.
|
|
14
|
+
- `email leads list|add|import (CSV, max 500)|remove|move|status|merge|lists|list-create|list-delete|blocklist|block|unblock`.
|
|
15
|
+
- `email tags` and `email labels`.
|
|
16
|
+
- Agent API: new `instantly` resource (alias `email`) with snake_case actions plus `status`, `actions`, `sequence_history`, `sequence_restore`.
|
|
17
|
+
- Destructive commands (delete, remove, restore) ask for confirmation; pass `--yes` in scripts.
|
|
18
|
+
- Changes require an Instantly key on the workspace (Integrations → Instantly); without one, commands return a clear "connect Instantly" message.
|
|
19
|
+
|
|
20
|
+
## 0.27.0 — Campaign engine reliability
|
|
21
|
+
|
|
22
|
+
- Campaigns no longer restart from the beginning. Finished runs were being relaunched roughly every minute and began again at step one, so the same people were actioned repeatedly (one lead recorded 875 profile views). Each enrolled lead now keeps one permanent progress record for the lifetime of the campaign.
|
|
23
|
+
- Exactly-once actions: the dispatch ledger key is now stable across relaunches (keyed on the sequence step, not the snapshot version), and profile views/profile fetches are ledgered alongside outbound actions, so an action already performed for a person is never repeated.
|
|
24
|
+
- Relaunch cooldown: a campaign can be auto-relaunched at most once every 15 minutes.
|
|
25
|
+
- Disconnected LinkedIn seats now stop the run instead of retrying silently. The run is held for an hour with `pause_reason: sender_disconnected`, the reason is stamped on the run, and a single `run_blocked` campaign event per day surfaces it in `campaigns events` and in the app.
|
|
26
|
+
- Blank resume markers on pipelined batches are treated as due, so campaigns can no longer sit idle with no next-attempt time.
|
|
27
|
+
- Data repair: duplicate execution checkpoints collapsed to one per campaign lead (39,480 → 2,550 in the affected workspace), with a unique constraint preventing recurrence.
|
|
28
|
+
- Already-connected leads are excluded up front from connection-only sequences at enrolment, instead of being enrolled and skipped later.
|
|
29
|
+
|
|
30
|
+
## 0.26.0 — Intelligence refresh and signal cleanup
|
|
31
|
+
|
|
32
|
+
- `advisoros intelligence refresh` (alias `intel refresh`) re-runs the intelligence collectors for your workspace — News Monitor, Market Research, Competitive Intelligence and Social Listening — then the synthesiser/orchestrator and Content Suggestions, so both the Intelligence page and the Create page repopulate with fresh material. Collectors run in the background; the command returns a job id per collector.
|
|
33
|
+
- `--scope news,market,competition,social,suggestions` limits which collectors run (default: all).
|
|
34
|
+
- `--no-synthesize` / `--no-suggestions` skip the follow-up steps.
|
|
35
|
+
- The synthesiser now resolves the workspace owner automatically, so machine-to-machine refreshes work without a signed-in user.
|
|
36
|
+
- `advisoros intelligence status` reports signal totals, last-24h and last-7d volumes, relevant count, recent content suggestions and the latest collector jobs with their status.
|
|
37
|
+
- `advisoros signals cleanup` clears clutter from the signal stream — modes `duplicates,irrelevant,quarantined,stale,low_score`. It is a dry run reporting counts and sample ids until you pass `--confirm`, and read + relevant signals are preserved unless you pass `--include-read`.
|
|
38
|
+
- Same capabilities through MCP: new tools `refresh_intelligence` and `cleanup_signals` (manifest now 51 tools).
|
|
39
|
+
- SKILLS.md and API docs updated with both workflows.
|
|
40
|
+
|
|
41
|
+
## 0.25.0 — Campaign rename, locale-aware generation, softer signal integrity
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
- `advisoros campaigns rename <id> "New name"` — one-step campaign renaming (shortcut for `campaigns update --name`), matching the new Settings rename in the app.
|
|
45
|
+
- Content generation is locale-aware: drafts, posts, newsletters, video scripts and outreach created through the Agent API now respect the workspace's language and currency settings (independent of each other, resolved at workspace level). Externally quoted figures keep their original currency; workspace-authored figures use the workspace currency.
|
|
46
|
+
- Signal intelligence is less brittle: sources with missing publication dates or thin snippets are flagged and still surfaced instead of being silently quarantined, so `signals list`, agent runs and content grounding see materially more results. Genuine contradictions (URL/publisher/full-text mismatches) remain quarantined.
|
|
47
|
+
- Resume reliability: campaigns resumed from the app can no longer be silently skipped by a stale past end date; the scheduler picks them up and progress is visible in `campaigns events`.
|
|
48
|
+
|
|
49
|
+
## 0.24.0 — Meeting transcripts: fixed retrieval and permission-gated original text
|
|
50
|
+
|
|
51
|
+
- Fixed transcript retrieval returning `text: null` / `redacted: true` for meetings that were already processed. The reader accepted only one internal status while the writer recorded another; both are now accepted, so `meetings transcript <id>` returns the anonymised text as expected.
|
|
52
|
+
- New retrieval modes: `advisoros meetings transcript <id>` returns anonymised text by default, and `--original` (or `--mode original`) returns the original text plus the speaker identities for the meeting.
|
|
53
|
+
- Original access is permission-controlled, scoped to your own workspace and audited (caller, meeting, mode) — transcript text is never written to logs. All existing unrestricted keys already have access; explicitly scoped keys need `meetings:original`, `meetings:*` or `*`.
|
|
54
|
+
- Original text does not wait for anonymisation to finish, and when text cannot be returned you now get an explicit reason instead of a silent empty result.
|
|
55
|
+
- Same modes available through MCP (`list_transcripts` / transcript reads) and the Agent API; README, SKILLS.md and API docs updated.
|
|
4
56
|
|
|
5
|
-
##
|
|
57
|
+
## 0.23.0 — Bulk lead upserts, named profiles, atomic mutations
|
|
6
58
|
|
|
7
|
-
### Added
|
|
8
|
-
- `setu claims` — review dashboard showing pending claim requests, counts by status and unclaimed profiles scored for readiness (with what's still missing)
|
|
9
|
-
- `setu claims show|approve|decline <claim-id>` (`--reason`, `--yes`), plus `setu claims --status approved|rejected|all`
|
|
10
|
-
- MCP tools `setu_claims_dashboard`, `setu_claims_list`, `setu_claim_detail` and `setu_claim_decide`
|
|
11
59
|
|
|
12
|
-
|
|
60
|
+
- `leads bulk_upsert` works at scale again. The database now enforces one lead per LinkedIn URL per workspace, so bulk imports update existing leads in place instead of failing with a Postgres conflict error. Repeated URLs inside a single request are collapsed, and leads without a LinkedIn URL stay separate records.
|
|
61
|
+
- Named workspace profiles: `login -p <name>` stores a profile per workspace, and logging into a new workspace no longer silently re-points your `default` profile — you are warned and can opt in with `--set-default` (or skip the prompt with `--force`).
|
|
62
|
+
- Workspace isolation on agent reads and mutations: `agents show <name>` and every agent mutation now resolve strictly inside the authenticated workspace, so same-named agents in other workspaces can never be returned or changed.
|
|
63
|
+
- Every mutation returns JSON. `voice card --rebuild`, `intel-prompts resync` and watchlist toggles now return the changed record, the workspace id and an explicit success/error status instead of exiting silently.
|
|
64
|
+
- Watchlist operations are atomic and de-duplicated by workspace + normalised name + type; removed items stay removed (suppressions) and are no longer reintroduced by automatic prompt sync, which now only reads active, approved, human-authored knowledge records.
|
|
65
|
+
- `agents pipeline [name]` (alias `inspect`) exposes an agent's configuration, pipeline stages, blocking gates and advisory gates for inspection — defaults to the Content Creator Agent.
|
|
66
|
+
- Content pipeline quality: signals are retrieved workspace-wide (drafts no longer report "0 signals" when teammates persisted them), signal sources are integrity-checked and quarantined when URL, title, publisher, text and summary disagree, publication dates and source authority are required before evidence is accepted, and alignment + evidence + citation checks must all complete before an article is eligible.
|
|
67
|
+
- P0 watchlist topics are treated as highest research priority, not mandatory inclusion — all P0s are searched, only relevant ones are used, and searched/selected/excluded topics are recorded with scores and reasons.
|
|
68
|
+
- Voice benchmarks are built from cleaned document structure (PDF page furniture, headers/footers and hard line wraps removed), so paragraph and heading metrics are realistic, and generation and scoring share the same benchmark and reference set.
|
|
69
|
+
- Image generation failures now surface the real reason (model, input or storage error) in the app instead of a generic non-2xx message.
|
|
13
70
|
|
|
14
|
-
### Added
|
|
15
|
-
- `practice list` and `dentist list` — browse seeded profiles, with `--limit`, `--search` and (for clinicians) `--practice`
|
|
16
|
-
- `setu status <id> --full` and `setu status --dentist` — the complete enriched profile including photos, prices, services and attached clinicians
|
|
17
|
-
- `setu <type> images --upload <file|url>` and `--upload-logo <file|url>` — upload photos straight into Setu storage with your CLI key, no third-party hosting needed
|
|
18
|
-
- `dentist create` now honours `--photo`, `--gallery`, `--phone`, `--website`, `--booking` and `--bio`
|
|
19
|
-
- MCP tool `setu_profile_upload_image`; `setu_profile_status` gained `full`, `list`, `limit`, `search` and `practice_id`; `setu_dentist_create` gained photo/gallery/contact fields
|
|
20
71
|
|
|
21
|
-
##
|
|
72
|
+
## 0.22.3 — Sales Navigator imports from the CLI
|
|
22
73
|
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
- `--
|
|
27
|
-
- MCP `
|
|
74
|
+
- Import Sales Navigator lead lists straight from the CLI: `leads import-from sales_nav_url --url "<search-url>"` or `sales_nav_keywords --query "..."`. These queue as cap-aware background imports that drip-feed inside your LinkedIn read limits instead of blocking live campaigns.
|
|
75
|
+
- Track and control them: `leads import-schedules` (progress, ETA, waiting reason) and `leads import-schedule pause|resume|cancel <id>`. Resuming resets retries and nudges the scheduler immediately.
|
|
76
|
+
- Idempotent: re-running an identical import reuses the active schedule instead of duplicating it; match is per-source (URL for url imports, keywords for keyword imports).
|
|
77
|
+
- Options: `--limit` (1–1000, default 100), `--audience` (segment id or name; created if missing), `--priority normal|high|rush`.
|
|
78
|
+
- Docs updated in README and SKILLS.md; MCP gains `lead_import_schedules` and extended `import_leads`.
|
|
28
79
|
|
|
29
|
-
##
|
|
80
|
+
## 0.22.0 — Admin keys, analytics parity, safety hardening, Obsidian sync
|
|
30
81
|
|
|
31
|
-
|
|
32
|
-
- `
|
|
33
|
-
-
|
|
34
|
-
- `
|
|
35
|
-
- `
|
|
36
|
-
-
|
|
37
|
-
-
|
|
82
|
+
- Admin keys work end-to-end. `login --admin` persists admin scope and reports reachable workspace count, `whoami` shows `scope: admin (cross-workspace)` plus reachable workspaces, and the caller identity is no longer hardcoded — override with `--as-agent <name>` or `ADVISOROS_AGENT_NAME`, persisted per profile.
|
|
83
|
+
- Full analytics, safety and resource parity: `campaigns stats|events|health|leads`, new `analytics`, `safety`, `ctas`, `audiences`, `notifications`, `newsletter`, `video`, `watchlist`, `meetings`, `activity`, `workspaces` groups, and a generic `export` command that writes any list action to CSV.
|
|
84
|
+
- Safety and coverage hardening:
|
|
85
|
+
- `campaigns preflight`, and `campaigns launch|resume` now dry-run by default and require `--confirm`; the API refuses to launch a campaign with no leads, no sequence, no steps or no sender.
|
|
86
|
+
- New `campaigns archive|clone|delete|remove-leads` and `sequences delete|update-step|delete-step`.
|
|
87
|
+
- Every destructive command prompts, and requires `--yes` when scripted; `--dry-run` previews.
|
|
88
|
+
- List actions now return honest `pagination` metadata (total, limit, offset, next_cursor) and allow up to 1000 rows.
|
|
89
|
+
- Not-found reads return 404 and a non-zero exit; unknown resources/actions return 400 with the supported list instead of a 500.
|
|
90
|
+
- Add `advisoros kb link|sync|status|unlink` — two-way sync between a workspace Knowledge Base and a local offline Obsidian vault (Markdown + frontmatter + wikilinks, hash-based conflict detection).
|
|
38
91
|
|
|
39
|
-
## 1.0.0 — first stable release
|
|
40
92
|
|
|
41
|
-
|
|
93
|
+
## 0.21.0 — Automatic voice checks, real citations, grounded drafts
|
|
42
94
|
|
|
43
|
-
|
|
44
|
-
- `
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
- `
|
|
48
|
-
- `practice claim-link <practice-id>` — generate or rotate a claim link
|
|
49
|
-
- `practice delete <id>` / `practice unpublish <id>` — refused for claimed or user-owned profiles
|
|
50
|
-
- `dentist create --practice <id> --name "..."`
|
|
51
|
-
- `status [<practice-id>]`
|
|
95
|
+
- Voice results are always up to date: every draft now runs a voice check automatically the moment it is created or its text is edited, and the fresh score and report are stamped onto the draft. `content show` and release decisions always see the latest voice result — no manual scoring step. Drafts whose voice check cannot finish are held back (`needs_revision`) instead of being left in a hanging "pending" state.
|
|
96
|
+
- `content citations` now writes a real citation record per source used: inline citation markers are inserted into the draft body where each source's findings appear, then persisted and returned with counts. Calling it on a draft with no citations syncs them automatically instead of returning empty.
|
|
97
|
+
- Draft generation is evidence-locked: required source signals must be quoted and attributed with a distinctive finding (topic-only mentions fail), copied source wording is rejected, rhythm is compared against the author's own benchmark, and the pre-release gate now blocks drafts on grounding, citations, framework fidelity, and pending/timed-out voice checks. Publication stays blocked until all checks pass.
|
|
98
|
+
- Restored Agent API actions: `graphics` accepts `refine` again, plus the platform/account listing operations; legacy sequence and campaign action names are accepted as aliases.
|
|
99
|
+
- Fixed `meetings` / `integrations` reads in the Agent API returning 500s (wrong sync-timestamp column).
|
|
52
100
|
|
|
53
|
-
|
|
54
|
-
- Request timeouts, retries with exponential backoff on network errors and 408/425/429/5xx, `Retry-After` support
|
|
55
|
-
- Request IDs and `--verbose` diagnostics
|
|
56
|
-
- Non-zero exit codes on failure; unknown commands fail loudly
|
|
57
|
-
- `--version` and `--help` on every command; `--json` for machine-readable output
|
|
101
|
+
## 0.20.0 — Sequence migration fixes and hour-level waits
|
|
58
102
|
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
103
|
+
- Hour- and minute-level waits from the terminal: `sequences add-step --delay-hours 3` and `--delay-minutes 45` (also on `update-step`), and in `replace-steps` JSON via `delay_hours` / `delay_minutes`. The step table now prints `3h` / `45m` instead of forcing days.
|
|
104
|
+
- `replace-steps` now accepts a flat ordered list (no `parent` links) and treats it as a chain — HeyReach-style exports import directly.
|
|
105
|
+
- Condition children without a `branch_label` default to the `yes` branch instead of failing validation.
|
|
106
|
+
- Short ID prefixes (first characters of an ID) resolve for sequences and campaigns; invalid IDs return a structured 404 "not found" instead of a malformed-UUID 500.
|
|
107
|
+
- `sequences show` works with both short and full IDs; alias actions (`show`, `get`) accepted.
|
|
108
|
+
- `content generate` without `--wait` now returns a queued job id immediately instead of risking a gateway timeout; poll with `agents job-status <id>`. With `--wait` it blocks until the draft is ready. Finished drafts now reliably carry their final voice result and citation metadata.
|
|
109
|
+
- Invite-withdraw and warm-up steps remain API-side only (not yet exposed); auto-withdraw stays off by default.
|
|
62
110
|
|
|
63
|
-
## 0.
|
|
64
|
-
- Retries, logout, CSV validation, delete/unpublish, MCP delete tool
|
|
111
|
+
## 0.15.1 — Engine fixes and reliability patch
|
|
65
112
|
|
|
66
|
-
|
|
67
|
-
-
|
|
113
|
+
- `voice set` / `voice pin-benchmark` no longer fail with a `user_id` null violation — the Agent API now resolves the actor from the API key, workspace member, or owner context automatically.
|
|
114
|
+
- AI-generated invitations are truncated at sentence/word boundaries with `{{token}}` protection — no more messages cut off mid-placeholder or mid-URL.
|
|
115
|
+
- 1st-degree leads no longer stall sequences: the DM step is skipped with a clear `dm_skipped_not_first_degree` audit reason and the lead continues to the next step.
|
|
116
|
+
- Fixed misleading "completed" stats: leads that only had zero-read cached identity lookups are now finalized as `skipped` with an explicit finish reason instead of `completed`.
|
|
117
|
+
- `agent-run` 403s resolved: workspace guard now matches both agent name and type, so scheduled agents fire reliably from CLI-triggered workspaces.
|
|
118
|
+
- Newsletter metrics now fall back to send-time provider handoff for delivered counts when Resend webhooks are absent.
|
|
119
|
+
|
|
120
|
+
## 0.15.0 — Newsletter audiences and sending
|
|
121
|
+
|
|
122
|
+
- `advisoros audiences create|edit|delete|add-leads|remove-leads` — full CRUD for smart audiences (lead segments), not just read + enrol.
|
|
123
|
+
- `advisoros newsletter audience-create|audience-show|audience-edit|audience-delete` — manage mailing audiences; mirrored to Resend automatically when the workspace has it connected, local-only when it does not.
|
|
124
|
+
- `advisoros newsletter contact-add|contacts-import|contact-remove|contact-unsubscribe` — contact management including CSV bulk import.
|
|
125
|
+
- `advisoros newsletter sync-segment <segmentId> <audienceId>` — push a smart audience's leads into a mailing audience.
|
|
126
|
+
- `advisoros newsletter send|test|render|metrics` — send now, schedule, test-send, render HTML, and read delivery totals, open/click/bounce rates and sending health.
|
|
127
|
+
- New Agent API actions on `audiences` and `newsletter`; MCP gains `manage_audience` and `send_newsletter` (44 tools, manifest 0.12.0).
|
|
128
|
+
|
|
129
|
+
## 0.14.0 — Daily reports
|
|
130
|
+
|
|
131
|
+
- `advisoros reports list` — browse persisted daily reports (past and present) per workspace, with status, activity totals and recipient/sent counts.
|
|
132
|
+
- `advisoros reports show <id|YYYY-MM-DD>` — full report detail including stats and the shareable dashboard URL.
|
|
133
|
+
- `advisoros reports generate` — run the daily-report engine on demand; dry-run by default, `--send` emails all workspace members, `--to <email>` sends a single test copy.
|
|
134
|
+
- Backed by the new Agent API `daily_reports` resource (`list` / `get` / `generate`).
|
|
135
|
+
|
|
136
|
+
## 0.13.0 — Full lifecycle + scheduling engine
|
|
137
|
+
|
|
138
|
+
- Campaign lifecycle is complete from the terminal: `campaigns update` (name, goal, sequence, sender accounts, daily send limit — no longer create-time-only), `launch`, `pause`, `resume`, `archive`, `clone`, and `delete` (dry-run preview by default, `--force` to execute, blocked when the campaign has dispatched activity unless forced).
|
|
139
|
+
- Sequence editing: `sequences update-step`, `delete-step`, and `replace-steps` — steps are no longer append-only. Graph validation flags disconnected nodes and cycles before launch.
|
|
140
|
+
- Scheduling engine awareness: calendar/schedule commands report whether a workspace will publish via Taplio (when connected) or the built-in cron scheduler, so automation targets the right engine.
|
|
141
|
+
- Live counts after writes: campaign and sequence mutations re-read the record and return live stats, clearly separated from the stored snapshot which may lag.
|
|
142
|
+
- Clearer errors under load: the API now returns a typed 429 with retry-after guidance instead of empty lists during heavy automation; the CLI surfaces this plainly.
|
|
143
|
+
|
|
144
|
+
## 0.12.0 — Agent audit trail
|
|
145
|
+
|
|
146
|
+
- `advisoros audit list/show/stats` — query the durable per-workspace audit log of every CLI/MCP/Agent API action (actor, surface, action, outcome, duration, correlation ID).
|
|
147
|
+
- CLI requests now send actor/client/version headers so audit records attribute actions to the right user and CLI version.
|
|
148
|
+
- `login` persists the profile email for audit attribution.
|
|
149
|
+
|
|
150
|
+
## 0.11.0 — Video management
|
|
151
|
+
|
|
152
|
+
- `videos` resource group: `list`, `show`, `create`, `generate`, `update`, `publish`, `unpublish`, `refresh`, `delete` against video projects, with workspace scoping and destructive-action confirmation.
|
|
153
|
+
|
|
154
|
+
## 0.10.0 — Calendar & Command Centre write access
|
|
155
|
+
|
|
156
|
+
- Full content calendar read/write/delete/schedule via CLI, with bulk operations and engine-aware scheduling (Taplio when connected, built-in cron otherwise).
|
|
157
|
+
- Command Centre content management: update, approve, schedule, unschedule, and publish-now actions.
|
|
158
|
+
|
|
159
|
+
## 0.9.0 — Tone of Voice
|
|
160
|
+
|
|
161
|
+
- Full Tone of Voice support: workspace configuration, writing-sample references, benchmark pinning, voice cards, scoring/redrafting, and report CRUD.
|
|
162
|
+
|
|
163
|
+
## 0.8.0 — Content Strategy
|
|
164
|
+
|
|
165
|
+
- Full content strategy read/write: create, list, show, update, delete strategies; manage strategy posts; retry/resume generation.
|
|
166
|
+
|
|
167
|
+
## 0.7.0 — Hardening & admin keys
|
|
168
|
+
|
|
169
|
+
- Shared typed errors with machine-readable codes across all commands.
|
|
170
|
+
- Cursor pagination up to 1,000 items per page.
|
|
171
|
+
- Destructive actions require explicit confirmation (`--confirm` / `--force`).
|
|
172
|
+
- `login --admin` for admin API keys, `--as-agent` impersonation flag, and `whoami` scope reporting.
|
|
173
|
+
- Admin keys (`advos_admin_…`) authorize from key scope alone and work across all workspaces.
|
|
174
|
+
|
|
175
|
+
## 0.6.1 — Campaign editing
|
|
176
|
+
|
|
177
|
+
- `campaigns` — added `update`/`edit` (name, description, goal, sequence, sender accounts, daily send limit, launch stage, status). Mirrors the new `update_campaign` MCP tool.
|
|
178
|
+
|
|
179
|
+
## 0.2.0 — Write coverage expansion
|
|
180
|
+
|
|
181
|
+
- `inbox` — added `send`, `reply` (dry-run by default, `--confirm` to dispatch, 7,900 char guard), `mark-read` (bulk), `snooze` (`--for`, `--until`, `--clear`).
|
|
182
|
+
- `sequences` — added `create`, `update`, `add-step` (per-action char limits: invite 200 / DM 8000 / comment 1250), `clone` (with branch remap), `validate`.
|
|
183
|
+
- `content` — full CRUD: `create`, `update`, `delete` alongside existing `list`/`show`/`publish`.
|
|
184
|
+
- `calendar` — new resource group: `list`, `create`, `update`, `delete` against `calendar_posts`.
|
|
185
|
+
- `signals` — new resource group backed by `intelligence_signals`: `list`, `create`, `update`, `delete`.
|
|
186
|
+
- `pipelines` — alias of `opportunities` with `list`, `create`, `update`, `delete`.
|
|
187
|
+
- `agents` — added `create`, `update`, `set-status`, `delete`, `recent-runs`.
|
|
188
|
+
|
|
189
|
+
## 0.1.0 — Initial release
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
- `advisoros login` / `logout` / `whoami` / `profiles` with multi-workspace profile support.
|
|
193
|
+
- `leads` — `list`, `get`, `set-status`, `import` (CSV/JSON/JSONL, auto-chunked), `verify`.
|
|
194
|
+
- `campaigns` — `list`, `show`, `create`, `add-leads`, `launch`, `pause`, `resume`.
|
|
195
|
+
- `sequences` — `list`, `show` (ordered step table).
|
|
196
|
+
- `inbox` — `threads` (read-only).
|
|
197
|
+
- `content` — `list`, `show`, `publish`.
|
|
198
|
+
- `agents` — `list`, `run`, `job`.
|
|
199
|
+
- Global flags: `--json`, `--workspace`, `--profile`, `--api-key`.
|
|
200
|
+
- Programmatic SDK via `@series-a/cli/src/api.mjs`.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Copyright (c) AdvisorPro / Series A. All rights reserved.
|
|
2
|
+
|
|
3
|
+
This package is distributed under a proprietary license. Use is permitted only
|
|
4
|
+
by AdvisorPro customers and partners against their own workspace API keys. Do not
|
|
5
|
+
redistribute, sublicense, or use against workspaces you do not own without
|
|
6
|
+
written permission.
|
|
7
|
+
|