@owlmeans/viable-sdk 0.1.18-rc.50 → 0.1.18-rc.52

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.
Files changed (53) hide show
  1. package/README.md +1 -1
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/viable-sdk/SKILL.md +48 -12
  4. package/build/executor/env.d.ts.map +1 -1
  5. package/build/executor/env.js +1 -0
  6. package/build/executor/env.js.map +1 -1
  7. package/build/executor/shell/types.d.ts +1 -0
  8. package/build/executor/shell/types.d.ts.map +1 -1
  9. package/build/executor/shell.d.ts.map +1 -1
  10. package/build/executor/shell.js +4 -1
  11. package/build/executor/shell.js.map +1 -1
  12. package/build/tools/catalogue.d.ts.map +1 -1
  13. package/build/tools/catalogue.js +13 -6
  14. package/build/tools/catalogue.js.map +1 -1
  15. package/build/tools/consts.local.d.ts +7 -0
  16. package/build/tools/consts.local.d.ts.map +1 -1
  17. package/build/tools/consts.local.js +9 -1
  18. package/build/tools/consts.local.js.map +1 -1
  19. package/build/tools/iam/types.d.ts +14 -3
  20. package/build/tools/iam/types.d.ts.map +1 -1
  21. package/build/tools/iam.d.ts.map +1 -1
  22. package/build/tools/iam.js +35 -5
  23. package/build/tools/iam.js.map +1 -1
  24. package/build/tools/refusal.d.ts.map +1 -1
  25. package/build/tools/refusal.js +7 -0
  26. package/build/tools/refusal.js.map +1 -1
  27. package/build/types.d.ts +9 -4
  28. package/build/types.d.ts.map +1 -1
  29. package/package.json +11 -11
  30. package/build/harness/consts.d.ts +0 -10
  31. package/build/harness/consts.d.ts.map +0 -1
  32. package/build/harness/consts.js +0 -37
  33. package/build/harness/consts.js.map +0 -1
  34. package/build/harness/consts.local.d.ts +0 -27
  35. package/build/harness/consts.local.d.ts.map +0 -1
  36. package/build/harness/consts.local.js +0 -34
  37. package/build/harness/consts.local.js.map +0 -1
  38. package/build/harness/helper.d.ts +0 -4
  39. package/build/harness/helper.d.ts.map +0 -1
  40. package/build/harness/helper.js +0 -71
  41. package/build/harness/helper.js.map +0 -1
  42. package/build/harness/index.d.ts +0 -7
  43. package/build/harness/index.d.ts.map +0 -1
  44. package/build/harness/index.js +0 -5
  45. package/build/harness/index.js.map +0 -1
  46. package/build/harness/templates.d.ts +0 -14
  47. package/build/harness/templates.d.ts.map +0 -1
  48. package/build/harness/templates.js +0 -117
  49. package/build/harness/templates.js.map +0 -1
  50. package/build/harness/types.d.ts +0 -35
  51. package/build/harness/types.d.ts.map +0 -1
  52. package/build/harness/types.js +0 -2
  53. package/build/harness/types.js.map +0 -1
package/README.md CHANGED
@@ -111,7 +111,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
111
111
  your project's skill store (`.agents/skills/`):
112
112
 
113
113
  ```sh
114
- npx @owlmeans/agent-skills@^0.1.18-rc.53
114
+ npx @owlmeans/agent-skills@^0.1.18-rc.54
115
115
  ```
116
116
 
117
117
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/viable-sdk",
4
- "version": "0.1.18-rc.50",
5
- "generatedAt": "2026-10-09T13:45:44.332Z",
4
+ "version": "0.1.18-rc.52",
5
+ "generatedAt": "2026-10-16T18:05:18.997Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/viable-sdk
9
9
 
10
10
  **Layer:** Tooling (Node/Bun; not a browser or React package)
11
- **Install:** `"@owlmeans/viable-sdk": "^0.1.18-rc.50"` in `dependencies`
11
+ **Install:** `"@owlmeans/viable-sdk": "^0.1.18-rc.52"` in `dependencies`
12
12
  **Subpaths:** `.` · `./executor` · `./run` · `./tools` · `./task`
13
13
  **Contracts:** `@owlmeans/viable-common` (`./connect`, `./slot`, `./integrity`, and the planning
14
14
  vocabulary — story type and story flow) and `@owlmeans/planning` (the planning protocol tree
@@ -451,17 +451,39 @@ query, a write — a removal included — in its body.
451
451
  resources?, mode? }`**, **`manage_app_organization { action: rename | add-member | update-member |
452
452
  remove-member, entitySlug }`**, **`manage_app_group { action: create | update | delete | add-members |
453
453
  remove-members, entitySlug, group }`**.
454
+ - **Grants restrict as well as grant.** Every subject (person or group) has its OWN blanket value per
455
+ binding: granted, restricted, or absent (inherits). A whole-permission revoke (`blanket`/`all`, or no
456
+ mode without `resources`) RESTRICTS a declared permission — the subject also loses what it inherits
457
+ from a default class, a group or a bundle; `mode: inherit` (revoke-only) takes back only the
458
+ subject's own value, so it holds what it inherits again; a `resources` revoke removes those ids only.
459
+ `iamToolHelper.renderRevoke` words the result by that mode. The tool descriptions and the `mode`
460
+ enum text say the same, and nothing here re-implements the IAM's evaluation.
461
+ - `app_grants` prints what is HELD and what a subject's own restriction withholds (`restricted: true`
462
+ — listed, never held): the head counts them apart (`Grants (N held, M restricted)`), a restricted row
463
+ ends `· restricted`, and `IAM_RESTRICTED_NOTE` closes a listing that has any. Origins print as
464
+ given: `direct`, `default`, `group` (with `through`), `bundle` (a group's own listing: the names its
465
+ bundles select).
466
+ - The platform's staff group (`IAM_MEMBERS_GROUP`, `managed: true`) keeps its members, bundles and
467
+ existence: `manage_app_group` writes to them are refused by the IAM; its PERMISSIONS are the owner's,
468
+ granted and restricted with `manage_app_grant { group }`. `renderGroup` and the `manage_app_group`
469
+ description say exactly that — never "read-only".
454
470
  - **Action-specific fields are checked BEFORE any call** (`iamToolHelper.missing`): an invite needs
455
471
  `email`, an update something to change, a grant exactly ONE subject (a person, or a group with its
456
- organization's `entitySlug` — never both), a group's update `title` or the WHOLE `bundles` list, the
457
- members' moves `profileIds`; **`remove` and `delete` need `confirm: true`**. A refusal is `isError`
458
- with nothing called.
472
+ organization's `entitySlug` — never both), an `assign` no revoke-only mode (`REVOKE_ONLY_GRANT_MODES`:
473
+ `all`, `inherit`), a group's update `title` or the WHOLE `bundles` list, the members' moves
474
+ `profileIds`; **`remove` and `delete` need `confirm: true`**. A refusal is `isError` with nothing
475
+ called. The contract's schema admits every mode on both bodies; the IAM refuses the revoke-only
476
+ ones on a grant.
459
477
  - A listing answered `external: true` prints `IAM_EXTERNAL` (the app's sign-in is managed in a console
460
- of its own), never "nobody". `iam-refused:` (a managed group or definition, the last owner) is phrased
461
- by `refusalHelper`; every tool runs in `answering`. The writes map to their read for the handover
462
- (`STATUS_TOOL_OF`). No staff-synchronization tool.
463
- - Specs: `tests/iam-tools.spec.ts` (hosts, annotations, every refused shape with no call, the calls
464
- made), `remote.spec.ts` (scope placement, the account-base listing).
478
+ of its own), never "nobody". `refusalHelper` phrases `iam:group:managed:` (the staff group: members,
479
+ bundles and existence the platform's, its permissions editable — placed ABOVE `iam-refused:`) and
480
+ `iam-refused:` (a managed definition or member, the last owner, an empty organization); every tool
481
+ runs in `answering`. The writes map to their read for the handover (`STATUS_TOOL_OF`). No
482
+ staff-synchronization tool.
483
+ - Specs: `tests/iam-tools.spec.ts` (hosts, annotations, every refused shape with no call — revoke-only
484
+ modes on assign included —, the calls made, `inherit` and records revokes, held/restricted counts and
485
+ the `bundle` origin, the staff group's line, the staff-group and generic refusals), `remote.spec.ts`
486
+ (scope placement, the account-base listing).
465
487
 
466
488
  ## What the browser streams is read by cursor
467
489
 
@@ -650,8 +672,9 @@ call carries them too.
650
672
 
651
673
  The integrations' refusals each have a sentence in `REFUSALS` as well: `github:not-connected`,
652
674
  `github:not-published`, `oauth:invalid-or-expired-state` (the GitHub authorization),
653
- `viable-domain:taken:` (a custom domain held by another project) and `iam-refused:` (the app's own
654
- sign-in refusing a console change on its terms).
675
+ `viable-domain:taken:` (a custom domain held by another project), `iam:group:managed:` (the staff
676
+ group's members, bundles or existence) and `iam-refused:` (the app's own sign-in refusing a console
677
+ change on its terms).
655
678
 
656
679
  The same refusals also arrive where no class survives, and `REFUSALS` phrases them by marker:
657
680
  `viable-connect:consent-required:` (a stored run error; the URL and deadline parsed from the
@@ -782,7 +805,18 @@ project fault — escapes as an exception. Everything is resolved per call rathe
782
805
  because a re-initialization replaces the tree under a running connector. The integrity verdict is
783
806
  forgotten after every command that changes the tree.
784
807
 
785
- Five rules the local half adds, each learned from a defect:
808
+ Rules for the local executor:
809
+
810
+ - **The local browser environment defaults `APP_UNSECURE` to `true`** so its generated client
811
+ calls the HTTP web proxy. The web `.env` can override this default; root backend secrets never
812
+ enter the browser environment. The platform's local configure uses the web port for both
813
+ `FRONTEND_PORT` and `BACKEND_PORT`, with `/api` proxied to the backend port.
814
+
815
+ - **`Bun` forwards `options.env` into the child process**, alongside `options.subproject` for
816
+ its working directory. The spawn helper merges these values over the inherited environment
817
+ without changing the parent process or the project's configuration files. Runtime probes carry
818
+ their input in these variables; dropping them prevents the runner from producing its report.
819
+ `executor-shell.spec.ts` exercises the public slot-command dispatcher with a real Bun child.
786
820
 
787
821
  - **`makeTargetEnvHelper(dir).backendEnv` reads the root `.env` and `.frontendEnv` the web package's own — the file split IS
788
822
  the leak boundary.** The publisher has an allow-list (`frontendEnvVars`/`frontendSecrets`); here
@@ -886,6 +920,8 @@ reader looking for a database that was never configured.
886
920
 
887
921
  ## Tests
888
922
 
923
+ In the `@owlmeans/viable-sdk` package directory, `bun x tsc -p tests/tsconfig.json --noEmit` checks the SDK sources and all test typings.
924
+
889
925
  `bun test ./tests` — offline: the envelope and its parser, the tool catalogue and its extension seam,
890
926
  the `registerCatalogue` out-of-credits, consent and planning-refusal phrasing and `notify` wiring
891
927
  (`mcp-catalogue.spec.ts`; the consent marker, the bare 428/402 statuses and a consent inside a
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/executor/env.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,eA4CjD,CAAA"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/executor/env.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,eA6CjD,CAAA"}
@@ -37,6 +37,7 @@ export const makeTargetEnvHelper = (dir) => {
37
37
  const frontendEnv = async () => {
38
38
  const values = await projectEnv.readEnvFile(projectEnv.webEnvFile());
39
39
  const env = {
40
+ APP_UNSECURE: 'true',
40
41
  FRONTEND_PORT: `${TARGET_WEB_PORT}`,
41
42
  BACKEND_HOST: 'localhost',
42
43
  BACKEND_PORT: `${TARGET_WEB_PORT}`,
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/executor/env.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EACtE,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAG1D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAmB,EAAE;IAClE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;IAE5C,MAAM,UAAU,GAAG,KAAK,IAAqC,EAAE;QAC7D,+FAA+F;QAC/F,gDAAgD;QAChD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;QAE1D,OAAO;YACL,YAAY,EAAE,GAAG,eAAe,EAAE;YAClC,YAAY,EAAE,WAAW;YACzB,gBAAgB,EAAE,eAAe;YACjC,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,GAAG,eAAe,EAAE;YACnC,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,GAAG,kBAAkB,EAAE;YACpC,6FAA6F;YAC7F,yEAAyE;YACzE,GAAG,MAAM;SACV,CAAA;IACH,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,IAAqC,EAAE;QAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;QAEpE,MAAM,GAAG,GAA2B;YAClC,aAAa,EAAE,GAAG,eAAe,EAAE;YACnC,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,GAAG,eAAe,EAAE;YAClC,gBAAgB,EAAE,eAAe;YACjC,QAAQ,EAAE,GAAG;YACb,GAAG,MAAM;SACV,CAAA;QAED,8FAA8F;QAC9F,+FAA+F;QAC/F,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;aACrC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC/C,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAA;AACpC,CAAC,CAAA"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/executor/env.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EACtE,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAG1D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAmB,EAAE;IAClE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;IAE5C,MAAM,UAAU,GAAG,KAAK,IAAqC,EAAE;QAC7D,+FAA+F;QAC/F,gDAAgD;QAChD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;QAE1D,OAAO;YACL,YAAY,EAAE,GAAG,eAAe,EAAE;YAClC,YAAY,EAAE,WAAW;YACzB,gBAAgB,EAAE,eAAe;YACjC,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,GAAG,eAAe,EAAE;YACnC,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,GAAG,kBAAkB,EAAE;YACpC,6FAA6F;YAC7F,yEAAyE;YACzE,GAAG,MAAM;SACV,CAAA;IACH,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,IAAqC,EAAE;QAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;QAEpE,MAAM,GAAG,GAA2B;YAClC,YAAY,EAAE,MAAM;YACpB,aAAa,EAAE,GAAG,eAAe,EAAE;YACnC,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,GAAG,eAAe,EAAE;YAClC,gBAAgB,EAAE,eAAe;YACjC,QAAQ,EAAE,GAAG;YACb,GAAG,MAAM;SACV,CAAA;QAED,8FAA8F;QAC9F,+FAA+F;QAC/F,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;aACrC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC/C,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAA;AACpC,CAAC,CAAA"}
@@ -10,6 +10,7 @@ import type { BootCheckReport, BootCheckStatus } from '../types.js';
10
10
  export interface LocalShellHelper {
11
11
  bun: (args?: string, options?: {
12
12
  subproject?: SubProject;
13
+ env?: Record<string, string>;
13
14
  }) => Promise<string | null>;
14
15
  /**
15
16
  * Throw the lockfile away and install again.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/executor/shell/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,UAAU,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACrF;;;;;;;;;OASG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACvC,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACzC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACrE,oGAAoG;IACpG,oBAAoB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAClD;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACnC,sFAAsF;IACtF,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC7C;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACpC;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;IACjG,eAAe,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;CAChD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/executor/shell/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,UAAU,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACnH;;;;;;;;;OASG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACvC,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACzC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACrE,oGAAoG;IACpG,oBAAoB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAClD;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACnC,sFAAsF;IACtF,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC7C;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACpC;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;IACjG,eAAe,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;CAChD"}
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/executor/shell.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAwH,MAAM,yBAAyB,CAAA;AAQ1K,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAOxD;;;;;;GAMG;AAEH,qFAAqF;AACrF,eAAO,MAAM,cAAc,WAAY,MAAM,GAAG,IAAI,KAAG,OACG,CAAA;AAqB1D,eAAO,MAAM,sBAAsB,eAAgB,eAAe,eAAe,UAAU,KAAG,gBAqP7F,CAAA"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/executor/shell.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAwH,MAAM,yBAAyB,CAAA;AAQ1K,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAOxD;;;;;;GAMG;AAEH,qFAAqF;AACrF,eAAO,MAAM,cAAc,WAAY,MAAM,GAAG,IAAI,KAAG,OACG,CAAA;AAqB1D,eAAO,MAAM,sBAAsB,eAAgB,eAAe,eAAe,UAAU,KAAG,gBAwP7F,CAAA"}
@@ -122,7 +122,10 @@ export const createLocalShellHelper = (fileHelper, subproject) => {
122
122
  // refresh it for the initial install; this also prevents a stale development cache from
123
123
  // winning over the immutable package body named by the lockfile.
124
124
  const cmd = `bun ${args ?? 'install --force --backend=copyfile'}`;
125
- return await spawnHelper.runCommand(cmd, { cwd: fileHelper.getRootPath(options?.subproject ?? subproject) });
125
+ return await spawnHelper.runCommand(cmd, {
126
+ cwd: fileHelper.getRootPath(options?.subproject ?? subproject),
127
+ env: options?.env,
128
+ });
126
129
  },
127
130
  reinstall: async () => {
128
131
  const refused = await refusal();
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/executor/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/executor/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,CAAC,MAAM,WAAW,CAAA;AAEzB,OAAO,EAAc,uBAAuB,EAAE,qBAAqB,EAAE,uBAAuB,EAAwB,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE1K,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAIlE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD;;;;;;GAMG;AAEH,qFAAqF;AACrF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAqB,EAAW,EAAE,CAC/D,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;AAE1D;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;AAE7C,MAAM,MAAM,GAAG,CAAC,GAAW,EAAgB,EAAE;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAA;IAErC,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAA;IAChC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAEnB,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAA2B,EAAE,UAAuB,EAAoB,EAAE;IAC/G,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAE7C;;;;;;;;;;OAUG;IACH,MAAM,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,SAAS,EAA0B,EAAE;QACnE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEvD,OAAO,MAAM,CAAC,EAAE;YACd,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,GAAG,MAAM,+DAA+D;kBACtE,qBAAqB,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC3D,CAAC,CAAA;IAED;;;;;;;;OAQG;IACH,MAAM,eAAe,GAAG,KAAK,EAC3B,MAAc,EAAE,GAAW,EAAE,GAA4B,EACjC,EAAE;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,MAAM,gBAAgB,GAAG,kBAAkB;kBACjD,8DAA8D,CAAA;QACpE,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO,GAAG,MAAM,IAAI,oBAAoB,EAAE,CAAA;QAC5C,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,CAAA;QAClD,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,OAAO,CAAA;QAEnC,OAAO,MAAM,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACtD,CAAC,CAAA;IAED;;;;;;;;OAQG;IACH,MAAM,cAAc,GAAG,KAAK,IAA4B,EAAE;QACxD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACjD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,sFAAsF;gBACtF,wFAAwF;gBACxF,0FAA0F;gBAC1F,kFAAkF;gBAClF,OAAO,GAAG,KAAK,4BAA4B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAA;YAC/D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,IAA4B,EAAE;QACrD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QAC/B,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACvC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,MAAM,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC5C,CAAC,CAAA;IAED,MAAM,MAAM,GAAqB;QAC/B,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAA0B,EAAE;YACnD,MAAM,OAAO,GAAG,MAAM,OAAO,EAAE,CAAA;YAC/B,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,OAAO,CAAA;YAEnC,2FAA2F;YAC3F,2FAA2F;YAC3F,4FAA4F;YAC5F,wFAAwF;YACxF,iEAAiE;YACjE,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,oCAAoC,EAAE,CAAA;YAEjE,OAAO,MAAM,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE;gBACvC,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,IAAI,UAAU,CAAC;gBAC9D,GAAG,EAAE,OAAO,EAAE,GAAG;aAClB,CAAC,CAAA;QACJ,CAAC;QAED,SAAS,EAAE,KAAK,IAA4B,EAAE;YAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,EAAE,CAAA;YAC/B,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,OAAO,CAAA;YAEnC,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAA;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,0FAA0F;YAC5F,CAAC;YAED,OAAO,MAAM,WAAW,CAAC,UAAU,CAAC,wCAAwC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9F,CAAC;QAED,WAAW,EAAE,KAAK,IAA4B,EAAE;YAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,EAAE,CAAA;YAC/B,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,OAAO,CAAA;YAEnC,OAAO,MAAM,cAAc,EAAE,CAAA;QAC/B,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,kBAA+B,EAA0B,EAAE;YAC1E,MAAM,OAAO,GAAG,MAAM,OAAO,EAAE,CAAA;YAC/B,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,OAAO,CAAA;YAEnC,MAAM,SAAS,GAAG,MAAM,cAAc,EAAE,CAAA;YACxC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,qFAAqF;YACrF,2FAA2F;YAC3F,yFAAyF;YACzF,eAAe;YACf,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,kBAAkB,IAAI,UAAU,CAAC,CAAA;YACpE,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,wBAAwB,GAAG,8EAA8E,CAAA;YAClH,CAAC;YAED,2FAA2F;YAC3F,4FAA4F;YAC5F,uFAAuF;YACvF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;YAE3F,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QAC/E,CAAC;QAED,oBAAoB,EAAE,KAAK,IAA4B,EAAE,CACvD,MAAM,cAAc,EAAE,IAAI,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;QAE3G,KAAK,EAAE,KAAK,IAA4B,EAAE;YACxC,MAAM,SAAS,GAAG,MAAM,cAAc,EAAE,CAAA;YACxC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,MAAM,MAAM,GAAG;gBACb,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,WAAW,EAAE;gBACnB,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;aAChF,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;YAEnD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrD,CAAC;QAED,eAAe,EAAE,KAAK,IAA4B,EAAE,CAClD,MAAM,cAAc,EAAE,IAAI,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAE5E,MAAM,EAAE,KAAK,IAA4B,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;YAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAA;YACrC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;gBACf,OAAO,8BAA8B,aAAa,sCAAsC;sBACpF,4EAA4E,CAAA;YAClF,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;YACjD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,OAAO,mBAAmB,aAAa,yCAAyC,CAAA;YAClF,CAAC;YACD,IAAI,CAAC,MAAM,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,OAAO,2BAA2B,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK;sBACjE,qEAAqE,CAAA;YAC3E,CAAC;YAED,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;QACpD,CAAC;QAED,SAAS,EAAE,KAAK,IAA8B,EAAE;YAC9C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YAEvD,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,MAAM,CAAC;gBAC9E,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;aACzF,CAAA;QACH,CAAC;QAED,SAAS,EAAE,KAAK,EACd,OAAO,GAA4C,EAAE,EACpB,EAAE;YACnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAExB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACnB,2FAA2F;gBAC3F,sCAAsC;gBACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAA;gBACnD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;gBACtD,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;gBAC1D,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;oBACvC,oFAAoF;oBACpF,yEAAyE;oBACzE,OAAO;wBACL,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ;wBAC1B,KAAK,EAAE,uBAAuB,aAAa,2BAA2B;qBACvE,CAAA;gBACH,CAAC;gBAED,OAAO,MAAM,YAAY,CAAC;oBACxB,IAAI,EAAE,qBAAqB;oBAC3B,MAAM,EAAE,uBAAuB;oBAC/B,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE;oBACrB,GAAG,EAAE;wBACH,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE;wBAC/B,YAAY,EAAE,GAAG,qBAAqB,EAAE;wBACxC,eAAe,EAAE,uBAAuB;qBACzC;oBACD,MAAM,EAAE,UAAU,EAAE;oBACpB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;wBAC5B,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,EAAE,IAAI,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;iBACvG,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAA;YAEtC,OAAO,MAAM,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAA;QACnD,CAAC;QAED,eAAe,EAAE,KAAK,IAA8B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;KAC7E,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalogue.d.ts","sourceRoot":"","sources":["../../src/tools/catalogue.ts"],"names":[],"mappings":"AAcA,OAAO,EAAsD,YAAY,EAAE,MAAM,aAAa,CAAA;AAY9F,OAAO,KAAK,EAAY,cAAc,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAA;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAK3D,OAAO,EAAE,YAAY,EAAE,CAAA;AAibvB;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,EAAE,cAAc,EAg2FrC,CAAA;AAED,eAAO,MAAM,qBAAqB,QAAO,eAQxC,CAAA;AAED,eAAO,MAAM,eAAe,iBAA0B,CAAA;AAEtD,kFAAkF;AAClF,eAAO,MAAM,YAAY,SAAU,QAAQ,KAAG,cAAc,EAAwC,CAAA"}
1
+ {"version":3,"file":"catalogue.d.ts","sourceRoot":"","sources":["../../src/tools/catalogue.ts"],"names":[],"mappings":"AAcA,OAAO,EAAsD,YAAY,EAAE,MAAM,aAAa,CAAA;AAY9F,OAAO,KAAK,EAAY,cAAc,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAA;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAK3D,OAAO,EAAE,YAAY,EAAE,CAAA;AAibvB;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,EAAE,cAAc,EAs2FrC,CAAA;AAED,eAAO,MAAM,qBAAqB,QAAO,eAQxC,CAAA;AAED,eAAO,MAAM,eAAe,iBAA0B,CAAA;AAEtD,kFAAkF;AAClF,eAAO,MAAM,YAAY,SAAU,QAAQ,KAAG,cAAc,EAAwC,CAAA"}
@@ -2444,7 +2444,9 @@ export const catalogue = [
2444
2444
  title: 'Who holds which permission in the generated app',
2445
2445
  description: 'The grants of a project\'s generated application — every one, one user\'s (profileId; with'
2446
2446
  + ' entitySlug, only those bound to that organization) or one group\'s (group with its entitySlug) —'
2447
- + ' each with where it comes from: direct, a default, or through a group.',
2447
+ + ' each with where it comes from: direct, a default, through a group, or a group\'s bundle. Also lists'
2448
+ + ' what a subject\'s own restriction withholds from what it would inherit, marked restricted: true —'
2449
+ + ' those are NOT held.',
2448
2450
  input: {
2449
2451
  projectId: z.string().optional(),
2450
2452
  scope: APP_SCOPE_INPUT,
@@ -2474,8 +2476,11 @@ export const catalogue = [
2474
2476
  title: 'Grant or revoke a permission in the generated app',
2475
2477
  description: 'Grant one of the generated application\'s permissions to exactly ONE subject — a user (profileId;'
2476
2478
  + ' entitySlug binds the grant to that organization when the permission is organization-bound) or a'
2477
- + ' group (group key with its entitySlug) — or revoke it. A per-record permission takes resources'
2478
- + ' (record ids) or covers every record; mode names which form when both exist.',
2479
+ + ' group (group key with its entitySlug) — or revoke it. Revoking a whole permission RESTRICTS the'
2480
+ + ' subject: it also loses what it inherits (a default, a group, a bundle) until a revoke with mode:'
2481
+ + ' inherit takes back only its own grant or restriction, so it holds what it inherits again. A'
2482
+ + ' per-record permission takes resources (record ids) or covers every record; mode names which form'
2483
+ + ' when both exist.',
2479
2484
  input: {
2480
2485
  projectId: z.string().optional(),
2481
2486
  scope: APP_SCOPE_INPUT,
@@ -2486,7 +2491,8 @@ export const catalogue = [
2486
2491
  entitySlug: z.string().min(1).max(63).optional(),
2487
2492
  resources: z.array(z.string().min(1).max(128)).max(256).optional().describe('Record ids of a per-record permission.'),
2488
2493
  mode: z.enum(Object.values(IamGrantMode)).optional()
2489
- .describe('blanket (every record) or resources (only those listed).'),
2494
+ .describe('blanket (every record) or resources (only those listed); revoke only: inherit (take back'
2495
+ + ' the subject\'s own grant or restriction) or all (every form, a revoke\'s default).'),
2490
2496
  },
2491
2497
  availability: toolHostHelper.anyHost,
2492
2498
  annotations: DESTRUCTIVE,
@@ -2501,7 +2507,7 @@ export const catalogue = [
2501
2507
  return ok(`Granted: ${iamToolHelper.renderGrant(grant)}`, { projectId: project, grant: grant });
2502
2508
  }
2503
2509
  await deps.api.iam.grants.revoke(project, body);
2504
- return ok(`Revoked ${body.permission}${body.resources != null ? ` (records ${body.resources.join(', ')})` : ''}.`, { projectId: project, revoked: body });
2510
+ return ok(iamToolHelper.renderRevoke(body), { projectId: project, revoked: body });
2505
2511
  }),
2506
2512
  },
2507
2513
  {
@@ -2615,7 +2621,8 @@ export const catalogue = [
2615
2621
  description: 'Change a group of an organization of a project\'s generated application: create it (find-or-create'
2616
2622
  + ' by key), update its title or what it grants (bundles — the WHOLE list, it replaces the group\'s),'
2617
2623
  + ' delete it (the user agreed: confirm: true), or add and remove members by profileIds. The platform\'s'
2618
- + ' own staff group is read-only.',
2624
+ + ' own staff group keeps its members, bundles and existence — those changes are refused; its permissions'
2625
+ + ' are granted and restricted with manage_app_grant (group).',
2619
2626
  input: {
2620
2627
  projectId: z.string().optional(),
2621
2628
  scope: APP_SCOPE_INPUT,