ekwo-os 0.10.0 → 0.11.1
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/README.md +20 -7
- package/dist/assets/expected-objects.json +401 -4
- package/dist/assets/migrations/20261005090000_a_guard_a_key_walks_past.sql +270 -0
- package/dist/assets/migrations/20261005160858_a_line_says_when_it_is_declared.sql +130 -0
- package/dist/assets/migrations/20261005160859_the_declared_day_of_lines_already_written.sql +58 -0
- package/dist/assets/migrations/20261005160900_a_period_is_read_through_its_index.sql +914 -0
- package/dist/assets/migrations/20261007041207_a_key_writes_as_its_issuer.sql +782 -0
- package/dist/assets/migrations/20261007060225_a_shared_instance_keeps_its_tenants_apart.sql +940 -0
- package/dist/assets/migrations/20261007113412_a_tenant_measures_nothing_of_another.sql +2199 -0
- package/dist/assets/migrations/20261007160000_a_person_joins_a_company_of_their_own_accord.sql +63 -0
- package/dist/assets/migrations/20261007180000_schema_version_0_11_0.sql +47 -0
- package/dist/assets/migrations/20261007190000_an_export_fits_a_key_request.sql +574 -0
- package/dist/assets/migrations/20261007200000_schema_version_0_11_1.sql +38 -0
- package/dist/assets/modules/budgets/supabase/migrations/20261007113413_budgets_rows_name_their_own_company.sql +29 -0
- package/dist/assets/modules/corporate-tax/supabase/migrations/20261007041208_a_key_writes_as_its_issuer.sql +294 -0
- package/dist/assets/modules/corporate-tax/supabase/migrations/20261007113415_tax_rows_name_their_own_company.sql +29 -0
- package/dist/assets/modules/fixed-assets/supabase/migrations/20261007113414_assets_rows_name_their_own_company.sql +29 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +27 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/company.d.ts +3 -1
- package/dist/commands/company.d.ts.map +1 -1
- package/dist/commands/company.js +56 -1
- package/dist/commands/company.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +35 -12
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +7 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/grants.d.ts.map +1 -1
- package/dist/grants.js +15 -0
- package/dist/grants.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/invitation.d.ts +21 -0
- package/dist/invitation.d.ts.map +1 -0
- package/dist/invitation.js +27 -0
- package/dist/invitation.js.map +1 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +3 -1
- package/dist/output.js.map +1 -1
- package/dist/pack/compile.d.ts +0 -2
- package/dist/pack/compile.d.ts.map +1 -1
- package/dist/pack/compile.js +0 -2
- package/dist/pack/compile.js.map +1 -1
- package/dist/pack/read.d.ts +0 -2
- package/dist/pack/read.d.ts.map +1 -1
- package/dist/pack/read.js.map +1 -1
- package/dist/schema.d.ts +1 -1
- package/dist/schema.js +1 -1
- package/package.json +3 -3
- package/schema/output.1.json +46 -2
package/README.md
CHANGED
|
@@ -305,13 +305,13 @@ instead if the account already exists, and no key is needed.
|
|
|
305
305
|
|---|---|
|
|
306
306
|
| `ekwo init` | The whole installation, interactive or not: the socle's migrations, the reference seeds, then the modules', as `ekwo migrate` applies them. `--no-company` stops before the first company: see [several countries](#several-countries-in-one-installation-init---no-company). |
|
|
307
307
|
| `ekwo migrate` | Applies the migrations this release adds, after showing the gap — the socle's, then the modules'. Re-applies the reference seeds, which are idempotent. `--no-modules` leaves the modules alone. |
|
|
308
|
-
| `ekwo status` | Schema version installed against available, pending migrations, the instance, its administrators, the country packs it holds and, per company, the pack version it copied. Exits 1 when something is pending. |
|
|
308
|
+
| `ekwo status` | Schema version installed against available, pending migrations, the instance, its administrators, the country packs it holds and, per company, the pack version it copied. On an installation that is not registered, a short invitation to [register](#registering-with-ekwo). Exits 1 when something is pending. |
|
|
309
309
|
| `ekwo doctor` | Every object this release defines and every privilege it grants, against what the database holds; row level security on every table, a policy on every protected table, no pending migration, no membership pointing at a deleted user, every company with a bank account, statements that tie to their lines, posted entries that balance. Exits 1 on a problem, 0 on warnings. |
|
|
310
|
-
| `ekwo register` | Opt in to security advisories and release notes. Also the retry when the announcement did not go through. |
|
|
310
|
+
| `ekwo register` | Opt in to security advisories and release notes. Optional: everything works the same without it. Also the retry when the announcement did not go through. |
|
|
311
311
|
| `ekwo unregister` | Opt back out. Clears the address and the date on the instance row. |
|
|
312
312
|
| `ekwo demo` | Loads the sample company. Fictional data, explicit request only. |
|
|
313
313
|
| `ekwo module` | What is installed beside the socle, applies a module's migrations and its country seeds, and turns one on or off for a company. |
|
|
314
|
-
| `ekwo company` | `new` creates a company in its own country, through `create_company()`, and `list` shows the companies held here. One company leaves an installation with its books — `export` writes an archive anybody can read, as a member under row level security — and arrives in another one alive: `import` takes it in whole or not at all. |
|
|
314
|
+
| `ekwo company` | `new` creates a company in its own country, through `create_company()`, and `list` shows the companies held here. `show` reads the company in use as the person signed in — its financial years, lock dates, journals and accounts by role — the same document as the MCP tool `get_company`. One company leaves an installation with its books — `export` writes an archive anybody can read, as a member under row level security — and arrives in another one alive: `import` takes it in whole or not at all. |
|
|
315
315
|
| `ekwo pack` | Compiles a country pack into its seed, and refuses a seed that is no longer the output of its pack. Runs in a checkout of the repository only. |
|
|
316
316
|
| `ekwo login` | Signs in to an instance as yourself and keeps the session, in your own configuration directory. See [acting as a person](#acting-as-a-person-login-use-whoami). |
|
|
317
317
|
| `ekwo logout` | Ends that session, here and on the instance. |
|
|
@@ -962,6 +962,7 @@ Every command takes `--json`; see [what a command answers](#what-a-command-answe
|
|
|
962
962
|
| `EKWO_PROFILE` | `--profile` |
|
|
963
963
|
| `EKWO_CONFIG_DIR` | Where profiles and sessions are kept. |
|
|
964
964
|
| `EKWO_REGISTRY_URL` | `--registry-url`. Default `https://api.ekwo.ai/v1/registrations`. |
|
|
965
|
+
| `EKWO_NO_REGISTER_INVITE` | Set to `1` to hide the invitation to register that `ekwo init` and `ekwo status` show on an installation that is not registered. The MCP server reads it too. |
|
|
965
966
|
| `NO_COLOR` | Plain output. |
|
|
966
967
|
|
|
967
968
|
See [`.env.example`](../../.env.example) at the root of the repository.
|
|
@@ -990,12 +991,24 @@ database the same way.
|
|
|
990
991
|
|
|
991
992
|
## Registering with Ekwo
|
|
992
993
|
|
|
993
|
-
At the end of `ekwo init
|
|
994
|
+
At the end of `ekwo init`, in a terminal, you are asked:
|
|
994
995
|
|
|
995
|
-
> Register this installation with Ekwo
|
|
996
|
-
> release notes?
|
|
996
|
+
> Register this installation with Ekwo, for security advisories that concern
|
|
997
|
+
> your version and release notes? Everything works the same without it.
|
|
997
998
|
|
|
998
|
-
The default answer is no, and no is supported forever.
|
|
999
|
+
The default answer is no, and no is supported forever.
|
|
1000
|
+
|
|
1001
|
+
Where nobody is asked — `--yes`, `--json`, a script — the end of `ekwo init`
|
|
1002
|
+
shows a short invitation instead, after everything else, and `ekwo status`
|
|
1003
|
+
shows the same one on an installation that is not registered: what registering
|
|
1004
|
+
gives, the six fields it sends and the one command,
|
|
1005
|
+
`npx -y ekwo-os@latest register --email <your address>`. Under `--json` it is
|
|
1006
|
+
the field `registration` of the document, `{ "registered": false,
|
|
1007
|
+
"invitation": { … } }`, and the standard output stays one document. It never
|
|
1008
|
+
waits for an answer, it disappears once the installation is registered, and
|
|
1009
|
+
`EKWO_NO_REGISTER_INVITE=1` hides it. The MCP server gives its agent one line
|
|
1010
|
+
to relay to the person, once, on the same terms; see
|
|
1011
|
+
[`docs/agents.md`](../../docs/agents.md#registering-the-installation). Community works
|
|
999
1012
|
unregistered: nothing in the schema and nothing in this CLI reads
|
|
1000
1013
|
`contact_email` or `registered_at` to decide what you may do, and `edition`
|
|
1001
1014
|
gates no feature.
|