obolos 1.4.0 → 1.5.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.
- package/CHANGELOG.md +27 -0
- package/README.md +6 -4
- package/dist/cli.js +54 -53
- package/package.json +1 -1
- package/skills/obolos/SKILL.md +29 -11
- package/skills/obolos/references/operations.md +1 -1
package/package.json
CHANGED
package/skills/obolos/SKILL.md
CHANGED
|
@@ -58,7 +58,7 @@ skill together; run it when a command or flag this skill names is missing.
|
|
|
58
58
|
obolos doctor --json # RPC, chain, deployments, whether a key is configured
|
|
59
59
|
obolos login # connect this terminal as one of the user's agent wallets
|
|
60
60
|
obolos login --try # the same on try.obolos.io, when that is where the user's account is
|
|
61
|
-
obolos companies # companies the acting wallet holds a role in
|
|
61
|
+
obolos companies # companies the acting wallet holds a role in, or the agent holds powers at
|
|
62
62
|
obolos use '#3' # select a company by #id or address
|
|
63
63
|
obolos whoami # the agent wallet and its powers, or the key's roles there
|
|
64
64
|
obolos company show
|
|
@@ -113,12 +113,9 @@ stand, so nothing is signed again. `obolos login --key` signs in with the user's
|
|
|
113
113
|
An agent wallet does only what the user gave it on the Passport page, per wallet and company: Read
|
|
114
114
|
opens the company, that wallet's holdings and the documents it can open; Vote casts votes and gives
|
|
115
115
|
proxies; Manage equity runs share classes, shares, grants, vesting, notes, SAFEs and the data room,
|
|
116
|
-
within the roles the wallet holds; Raise creates and runs rounds
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
jurisdiction and entity; its deploy works once. `workflow.company.incorporate.plan_moved` means
|
|
120
|
-
another company was created from that wallet since: deploy nothing and ask the user to give Create a
|
|
121
|
-
company again. Its sends are sponsored and count against the user's daily limit.
|
|
116
|
+
within the roles the wallet holds; Raise creates and runs rounds. Role grants, upgrades and treasury
|
|
117
|
+
withdrawals take the user's own key: `cli.missing_power` with `power: null` says so; pass that on. Its
|
|
118
|
+
sends are sponsored and count against the user's daily limit.
|
|
122
119
|
|
|
123
120
|
An agent buys no credits. `obolos credits topup [--amount <usd>]` opens the company's billing page in
|
|
124
121
|
the user's browser and waits up to 15 minutes for the credits. Off a terminal, add `--no-wait`: it
|
|
@@ -129,12 +126,10 @@ they loaded the credits, then check with `obolos credits show`.
|
|
|
129
126
|
the CLI offers to connect again; otherwise ask the user, then run `obolos login`.
|
|
130
127
|
- **Exit 3, `cli.missing_power`**: `details` names the `power`, the `wallet` and the `company`. Tell
|
|
131
128
|
the user to give it under the agent wallet's Powers on the Passport page; never route around it.
|
|
132
|
-
- **Exit 3, `cli.outside_power`**: the call's values differ from the ones the user approved
|
|
133
|
-
|
|
129
|
+
- **Exit 3, `cli.outside_power`**: the call's values differ from the ones the user approved. Use the
|
|
130
|
+
approved values, or ask the user to give the power again with these.
|
|
134
131
|
- **Exit 3, `cli.approval_stale`**: the approval was removed or used up, or the wallet changed. The user
|
|
135
132
|
gives the powers again on the Passport page.
|
|
136
|
-
- **Exit 3, `cli.split_operation`**: one operation can't carry these calls together; the deploy goes in an
|
|
137
|
-
operation of its own, one company at a time.
|
|
138
133
|
- **Exit 5, `cli.nonce_taken`**: another operation from the wallet went first, and this one never went
|
|
139
134
|
out. Run the command again.
|
|
140
135
|
- **Exit 5, `cli.send_failed` with `details.operation`**: the operation went out, but how it ended
|
|
@@ -147,6 +142,29 @@ they loaded the credits, then check with `obolos credits show`.
|
|
|
147
142
|
`obolos agents check <address>` asks whether a verified person stands behind any agent wallet. It
|
|
148
143
|
never says who.
|
|
149
144
|
|
|
145
|
+
### Making a company with the user
|
|
146
|
+
|
|
147
|
+
An agent doesn't create companies; the user does, in one obolos window the agent opens. When the user
|
|
148
|
+
wants a company:
|
|
149
|
+
|
|
150
|
+
1. Ask for its name with the legal ending (Acme Inc.), a ticker, the jurisdiction (an ISO code such as
|
|
151
|
+
US, GB, CH) and the entity type (c-corp, llc, ...). An unknown one fails with `invalid_jurisdiction`
|
|
152
|
+
or `invalid_entity`, whose details list the choices. A share class name and authorized shares are
|
|
153
|
+
optional: the default is common stock, 10,000,000 authorized. Don't ask about founders or shares yet.
|
|
154
|
+
2. Run `obolos company incorporate --name ... --ticker ... --jurisdiction ... --entity ...`
|
|
155
|
+
(`--class`, `--authorized` when given), nothing else. Tell the user the window shows the company,
|
|
156
|
+
asks whether they want Plus, and creates it once they confirm; its agent then gets every power
|
|
157
|
+
there and this terminal connects to it.
|
|
158
|
+
3. When it returns, this terminal works as the company's agent, at the company. Offer what comes next,
|
|
159
|
+
one at a time: loading credits (`obolos credits topup`), issuing the user's shares to their wallet at
|
|
160
|
+
the company (`obolos whoami` names it) with `obolos shares issue`, vesting, documents for the data
|
|
161
|
+
room the window created (`obolos docs upload`). The legal details of an existing entity (state, file
|
|
162
|
+
number, address) go in the company's Settings in the app. Every send still waits for the user's yes.
|
|
163
|
+
|
|
164
|
+
Off a terminal, add `--no-wait` in step 2: it exits 6 with `cli.awaiting_approval`, `details.link` and
|
|
165
|
+
`details.userCode`. Give the user both, wait for them to say the company is created, then run
|
|
166
|
+
`obolos login --resume`.
|
|
167
|
+
|
|
150
168
|
## Runs and sending
|
|
151
169
|
|
|
152
170
|
A prepared command writes a hash-verified run file (`.obolos/runs/<workflow>-<id>.json`) and prints
|
|
@@ -61,7 +61,7 @@ Choose the remedy from the structured SDK error:
|
|
|
61
61
|
- compliance error: identify the rule and the legitimate state, credential or approval needed.
|
|
62
62
|
- insufficient credits: quote the deficit and prepare a top-up separately. A top-up or preload under
|
|
63
63
|
the ledger's minimum is refused (`below_minimum`, `preload_below_minimum`). As an agent, the user
|
|
64
|
-
loads them: `obolos credits topup` opens their browser
|
|
64
|
+
loads them: `obolos credits topup` opens their browser.
|
|
65
65
|
- `cli.no_agent_here` (exit 6): no agent this terminal is connected as works at the company. Ask the
|
|
66
66
|
user to run the `obolos login --company <company>` it names; the page gives their agent there
|
|
67
67
|
Invest and Read, and the command then goes on as that agent. Never connect it without their word.
|