obolos 1.6.0 → 1.7.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 +26 -0
- package/dist/cli.js +51 -51
- package/package.json +1 -1
- package/skills/obolos/SKILL.md +16 -6
- package/skills/obolos/references/workflows.md +2 -1
package/package.json
CHANGED
package/skills/obolos/SKILL.md
CHANGED
|
@@ -113,14 +113,20 @@ 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
|
|
116
|
+
within the roles the wallet holds; Raise creates and runs rounds, and sets up the investor policy a
|
|
117
|
+
round opens on: `obolos compliance policy create --preset <id> --class <class>` (`obolos compliance
|
|
118
|
+
presets` lists them) and `obolos compliance rule attach`. It adds rules, never removes or loosens
|
|
119
|
+
them; that is the user's, in the app. Role grants, upgrades and treasury
|
|
117
120
|
withdrawals are the user's to do in the app: `cli.missing_power` with `power: null` says so; pass that
|
|
118
121
|
on, and never ask the user for a key. Its sends are sponsored and count against the user's daily limit.
|
|
119
122
|
|
|
120
123
|
An agent buys no credits. `obolos credits topup [--amount <usd>]` opens the company's billing page in
|
|
121
124
|
the user's browser and waits up to 15 minutes for the credits. Off a terminal, add `--no-wait`: it
|
|
122
125
|
exits 6 with `cli.awaiting_credits` and `details.link`. Give the user the link, wait for them to say
|
|
123
|
-
they loaded the credits, then check with `obolos credits show`.
|
|
126
|
+
they loaded the credits, then check with `obolos credits show`. Without `--amount` the page fills in what
|
|
127
|
+
the company owes plus $1,000. A command the agent's powers send that the company is short of credits for exits 6 with
|
|
128
|
+
`cli.awaiting_credits` and `details.creditsShort`: its link fills in the shortfall plus $1,000. Give the user
|
|
129
|
+
the link, and once they loaded the credits run the same command again.
|
|
124
130
|
|
|
125
131
|
An agent activates no module either: activation is permanent and spends credits. `obolos company
|
|
126
132
|
module activate <name>` checks the module can be activated, opens it on the company's Modules page in
|
|
@@ -128,7 +134,8 @@ the user's browser and waits up to 15 minutes for it to be active. Off a termina
|
|
|
128
134
|
exits 6 with `cli.awaiting_module` and `details.link`. Give the user the link, wait for them to say
|
|
129
135
|
they activated it, then check with `obolos company modules`, whose `cost` is in credits. A company
|
|
130
136
|
short of credits gets the same link (`creditsShort: true`): the activation there offers Add credits, so
|
|
131
|
-
tell the user they add credits first, and don't send them to `credits topup`.
|
|
137
|
+
tell the user they add credits first, and don't send them to `credits topup`. Powers given before the
|
|
138
|
+
activation don't reach the new module: tell the user to give them again on the Passport page.
|
|
132
139
|
|
|
133
140
|
- **Exit 3, `cli.session_ended`**: the session ended (disconnected, or past its 3 days). On a terminal
|
|
134
141
|
the CLI offers to connect again; otherwise ask the user, then run `obolos login`.
|
|
@@ -136,7 +143,8 @@ tell the user they add credits first, and don't send them to `credits topup`.
|
|
|
136
143
|
the user to give it under the agent wallet's Powers on the Passport page; never route around it.
|
|
137
144
|
- **Exit 3, `cli.outside_power`**: the call's values differ from the ones the user approved. Use the
|
|
138
145
|
approved values, or ask the user to give the power again with these.
|
|
139
|
-
- **Exit 3, `cli.approval_stale`**: the approval was removed or used up,
|
|
146
|
+
- **Exit 3, `cli.approval_stale`**: the approval was removed or used up, the wallet changed, or the power
|
|
147
|
+
(`details.power`) was given before it reached this call, as when a module was activated after. The user
|
|
140
148
|
gives the powers again on the Passport page.
|
|
141
149
|
- **Exit 5, `cli.nonce_taken`**: another operation from the wallet went first, and this one never went
|
|
142
150
|
out. Run the command again.
|
|
@@ -152,8 +160,10 @@ never says who.
|
|
|
152
160
|
|
|
153
161
|
### Making a company with the user
|
|
154
162
|
|
|
155
|
-
An agent doesn't create companies; the user does, in one obolos window the agent opens.
|
|
156
|
-
|
|
163
|
+
An agent doesn't create companies; the user does, in one obolos window the agent opens. Never run
|
|
164
|
+
`obolos login` first, even when the user asks to connect: `login` only connects an agent wallet that
|
|
165
|
+
already exists, while incorporating connects this terminal to the new company's agent. For testnet
|
|
166
|
+
(try.obolos.io), add `--try` to `obolos company incorporate`. When the user wants a company:
|
|
157
167
|
|
|
158
168
|
1. Ask for its name with the legal ending (Acme Inc.), a ticker, the jurisdiction (an ISO code such as
|
|
159
169
|
US, GB, CH) and the entity type (c-corp, llc, ...). An unknown one fails with `invalid_jurisdiction`
|
|
@@ -183,7 +183,8 @@ obolos fundraise publish <round>
|
|
|
183
183
|
|
|
184
184
|
Confirm the round is one `obolos company show` lists under `jurisdiction.instruments`. One with
|
|
185
185
|
`active: false` needs each module in its `activate` list activated first (`obolos company module
|
|
186
|
-
activate <module>`); every round runs on `fundraise`.
|
|
186
|
+
activate <module>`); every round runs on `fundraise`. A round opens on an investor policy with rules; a
|
|
187
|
+
company with none needs one first (`obolos compliance policy create --preset <id> --class <class>`).
|
|
187
188
|
Prepare round creation, document references, whitelist changes and reservations in their natural
|
|
188
189
|
stages; counterparty-signed reservations and encrypted investor inputs are not manager batches.
|
|
189
190
|
|