@beacon-build/sdk 1.41.0 → 1.43.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 CHANGED
@@ -1,5 +1,30 @@
1
1
  # @beacon-build/sdk Changelog
2
2
 
3
+ ## 1.43.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 55e21a8: F430: real recursive Hub-Spoke cascade for nested organizations — Organization.parentId cycle-prevention (app-level + DB trigger backstop), Organization.isolated subtree seal, a real ancestor-chain resolver wired into getVisibleProjects, N-level org-ancestor config cascade (SettingsService), ancestor/descendant hierarchy API + CRUD parentId/isolated, and a tree-view management UI.
8
+
9
+ ### Patch Changes
10
+
11
+ - b1abf24: F437: retire the OPS_API_KEY god-key. honoAuthGuard's static-key synthetic-principal bypass is deleted; honoOpsAuthGuard gains a JWT-with-system-role branch (Argus agent-JWT) ahead of its dual-accept static-key safety net, with allowStaticKey permanently true only on the /v1/agent-token mint boundary. All automation consumers (mcp/agent, Janitor, mcp-core remote-ops clients, project-db/project-logs/beacon-ops MCP adapters, the IDE sidecar) now mint-and-cache an Argus agent-JWT instead of sending the raw OPS_API_KEY as a bearer. honoRequireRole grants a system-role actor the same bypass as vendor/admin, matching ADR-030.
12
+ - e7b92b0: F148: add computePermissions/usePermissions Scoped Permissions API for SDK consumers (root + /react subpath), mirroring apps/platform's F121 usePermissions hook.
13
+ - Updated dependencies [8ce9b76]
14
+ - Updated dependencies [f34a76a]
15
+ - Updated dependencies [fd24b45]
16
+ - Updated dependencies [55e21a8]
17
+ - Updated dependencies [73a5ac2]
18
+ - @beacon-build/core@1.43.0
19
+
20
+ ## 1.42.0
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [6db45fe]
25
+ - Updated dependencies [2c73775]
26
+ - @beacon-build/core@1.42.0
27
+
3
28
  ## 1.41.0
4
29
 
5
30
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"memories.client.d.ts","sourceRoot":"","sources":["../../../src/clients/admin/memories.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE,qBAAa,mBAAmB;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEvC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQxE,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQnF,IAAI,CACN,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,eAAe,CAAC,EAAE,MAAM,CAAA;KAC3B,GACF,OAAO,CAAC,MAAM,EAAE,CAAC;IAYd,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWjE,WAAW,CACb,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,OAAO,CAAC;IAab,cAAc,CAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5C,OAAO,CAAC,MAAM,EAAE,CAAC;IASpB;;;;;;;;;OASG;IACG,YAAY,CAAC,MAAM,EAAE;QACvB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,kBAAkB,CAAA;QACzB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYrB,0FAA0F;IACpF,QAAQ,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAMjG"}
1
+ {"version":3,"file":"memories.client.d.ts","sourceRoot":"","sources":["../../../src/clients/admin/memories.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE,qBAAa,mBAAmB;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEvC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQxE,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUnF,IAAI,CACN,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,eAAe,CAAC,EAAE,MAAM,CAAA;KAC3B,GACF,OAAO,CAAC,MAAM,EAAE,CAAC;IAcd,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWjE,WAAW,CACb,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,OAAO,CAAC;IAab,cAAc,CAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5C,OAAO,CAAC,MAAM,EAAE,CAAC;IASpB;;;;;;;;;OASG;IACG,YAAY,CAAC,MAAM,EAAE;QACvB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,kBAAkB,CAAA;QACzB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYrB,0FAA0F;IACpF,QAAQ,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAMjG"}
@@ -13,7 +13,9 @@ export class AdminMemoriesClient {
13
13
  async findForSession(context, opts) {
14
14
  const params = new URLSearchParams();
15
15
  params.set('agentId', context.agentId);
16
- params.set('project', context.project);
16
+ // F428: org-scoped agent context has no single project'' matches the pre-F428
17
+ // behavior for a project-less caller (out of F428's scope to redesign).
18
+ params.set('project', context.project ?? '');
17
19
  if (opts?.limit != null)
18
20
  params.set('limit', String(opts.limit));
19
21
  return this.http.get(`/memories/for-session?${params.toString()}`);
@@ -21,7 +23,9 @@ export class AdminMemoriesClient {
21
23
  async list(context, filter) {
22
24
  const params = new URLSearchParams();
23
25
  params.set('agentId', context.agentId);
24
- params.set('project', context.project);
26
+ // F428: org-scoped agent context has no single project'' matches the pre-F428
27
+ // behavior for a project-less caller (out of F428's scope to redesign).
28
+ params.set('project', context.project ?? '');
25
29
  if (filter?.type)
26
30
  params.set('type', filter.type);
27
31
  if (filter?.scope)
@@ -1 +1 @@
1
- {"version":3,"file":"memories.client.js","sourceRoot":"","sources":["../../../src/clients/admin/memories.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memories.client.js","sourceRoot":"","sources":["../../../src/clients/admin/memories.client.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,15 @@ import type { HttpClient } from '../../transport/http-client.js';
3
3
  export interface CreateOrganizationInput {
4
4
  slug: string;
5
5
  name: string;
6
+ /** F430/AC-7: optional parent org — omitted/null creates a root org. */
7
+ parentId?: string | null;
6
8
  }
7
9
  export interface UpdateOrganizationInput {
8
10
  name?: string;
11
+ /** F430/AC-7: reparent (null clears to root). */
12
+ parentId?: string | null;
13
+ /** F430/AC-3/AC-7: toggle the subtree seal. */
14
+ isolated?: boolean;
9
15
  }
10
16
  export interface AddMemberInput {
11
17
  userId: string;
@@ -21,5 +27,7 @@ export declare class AdminOrganizationsClient {
21
27
  delete(slug: string): Promise<void>;
22
28
  addMember(slug: string, input: AddMemberInput): Promise<OrganizationMemberDto>;
23
29
  removeMember(slug: string, userId: string): Promise<void>;
30
+ getAncestors(id: string): Promise<OrganizationDto[]>;
31
+ getDescendants(id: string): Promise<OrganizationDto[]>;
24
32
  }
25
33
  //# sourceMappingURL=organizations.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"organizations.client.d.ts","sourceRoot":"","sources":["../../../src/clients/admin/organizations.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACxB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,uBAAuB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,wBAAwB;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEvC,IAAI,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAI3C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAU7D,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI9E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAO9E,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKlE"}
1
+ {"version":3,"file":"organizations.client.d.ts","sourceRoot":"","sources":["../../../src/clients/admin/organizations.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACxB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,wBAAwB;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEvC,IAAI,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAI3C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAU7D,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI9E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAO9E,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAMpD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAK/D"}
@@ -29,5 +29,12 @@ export class AdminOrganizationsClient {
29
29
  async removeMember(slug, userId) {
30
30
  await this.http.delete(`/organizations/${encodeURIComponent(slug)}/members/${encodeURIComponent(userId)}`);
31
31
  }
32
+ // ── F430/AC-8: hierarchy reads ─────────────────────────────────────────────────────
33
+ async getAncestors(id) {
34
+ return this.http.get(`/organizations/${encodeURIComponent(id)}/ancestors`);
35
+ }
36
+ async getDescendants(id) {
37
+ return this.http.get(`/organizations/${encodeURIComponent(id)}/descendants`);
38
+ }
32
39
  }
33
40
  //# sourceMappingURL=organizations.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"organizations.client.js","sourceRoot":"","sources":["../../../src/clients/admin/organizations.client.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,wBAAwB;IACJ;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,KAAK,CAAC,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA6B,gBAAgB,CAAC,CAAA;IACtE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;QAClB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CACtB,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC/C,CAAA;QACL,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA8B;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,gBAAgB,EAAE,KAAK,CAAC,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAA8B;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAkB,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAChG,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,KAAqB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,UAAU,EACpD,KAAK,CACR,CAAA;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,MAAc;QAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAClB,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,YAAY,kBAAkB,CAAC,MAAM,CAAC,EAAE,CACrF,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"organizations.client.js","sourceRoot":"","sources":["../../../src/clients/admin/organizations.client.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAO,wBAAwB;IACJ;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,KAAK,CAAC,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA6B,gBAAgB,CAAC,CAAA;IACtE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;QAClB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CACtB,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC/C,CAAA;QACL,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA8B;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,gBAAgB,EAAE,KAAK,CAAC,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAA8B;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAkB,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAChG,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,KAAqB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,UAAU,EACpD,KAAK,CACR,CAAA;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,MAAc;QAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAClB,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,YAAY,kBAAkB,CAAC,MAAM,CAAC,EAAE,CACrF,CAAA;IACL,CAAC;IAED,sFAAsF;IAEtF,KAAK,CAAC,YAAY,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,YAAY,CACvD,CAAA;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,cAAc,CACzD,CAAA;IACL,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"memories-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/memories-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,WAAW,EACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,qBAAa,iBAAiB;IACd,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAExC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IASxE,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWnF,IAAI,CACN,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,eAAe,CAAC,EAAE,MAAM,CAAA;KAC3B,GACF,OAAO,CAAC,MAAM,EAAE,CAAC;IAad,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWjE,WAAW,CACb,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,OAAO,CAAC;IAab,cAAc,CAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5C,OAAO,CAAC,MAAM,EAAE,CAAC;CASvB"}
1
+ {"version":3,"file":"memories-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/memories-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,WAAW,EACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,qBAAa,iBAAiB;IACd,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAExC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IASxE,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAanF,IAAI,CACN,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,eAAe,CAAC,EAAE,MAAM,CAAA;KAC3B,GACF,OAAO,CAAC,MAAM,EAAE,CAAC;IAed,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWjE,WAAW,CACb,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,OAAO,CAAC;IAab,cAAc,CAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5C,OAAO,CAAC,MAAM,EAAE,CAAC;CASvB"}
@@ -14,7 +14,9 @@ export class MemoriesOpsClient {
14
14
  async findForSession(context, opts) {
15
15
  const params = new URLSearchParams();
16
16
  params.set('agentId', context.agentId);
17
- params.set('project', context.project);
17
+ // F428: org-scoped agent context has no single project'' matches the pre-F428
18
+ // behavior for a project-less caller (out of F428's scope to redesign).
19
+ params.set('project', context.project ?? '');
18
20
  if (opts?.limit != null)
19
21
  params.set('limit', String(opts.limit));
20
22
  const res = await this.api.get(`/api/v1/memories/for-session?${params.toString()}`);
@@ -23,7 +25,9 @@ export class MemoriesOpsClient {
23
25
  async list(context, filter) {
24
26
  const params = new URLSearchParams();
25
27
  params.set('agentId', context.agentId);
26
- params.set('project', context.project);
28
+ // F428: org-scoped agent context has no single project'' matches the pre-F428
29
+ // behavior for a project-less caller (out of F428's scope to redesign).
30
+ params.set('project', context.project ?? '');
27
31
  if (filter?.type)
28
32
  params.set('type', filter.type);
29
33
  if (filter?.scope)
@@ -1 +1 @@
1
- {"version":3,"file":"memories-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/memories-ops.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memories-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/memories-ops.client.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,11 @@ import { OpsWorkersClient } from '../clients/ops/ops-workers.client.js';
16
16
  export interface OpsSdkConfig {
17
17
  /** Base URL for the beacon API (e.g. 'https://api.beacon.build') */
18
18
  baseUrl: string;
19
- /** OPS_API_KEY */
20
- apiKey: string;
19
+ /** OPS_API_KEY. F437: optional when `jwt` is supplied — at least one is required. */
20
+ apiKey?: string;
21
+ /** F437/AC-8: a minted Argus (or other) agent-JWT — takes precedence over `apiKey`
22
+ * when both are set (C434's `jwt ?? apiKey` rule, same as `OpsApiClient`). */
23
+ jwt?: string;
21
24
  /** Max retry attempts for 5xx/network errors (default: 3) */
22
25
  retries?: number;
23
26
  /** Base delay ms for exponential backoff (default: 100) */
@@ -1 +1 @@
1
- {"version":3,"file":"ops-sdk.d.ts","sourceRoot":"","sources":["../../src/factory/ops-sdk.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAClG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,MAAM,WAAW,YAAY;IACzB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,SAAS,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,oBAAoB,EAAE,6BAA6B,CAAA;IACnD,cAAc,EAAE,uBAAuB,CAAA;IACvC,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,EAAE,EAAE,WAAW,CAAA;IACf,OAAO,EAAE,gBAAgB,CAAA;IACzB,UAAU,EAAE,mBAAmB,CAAA;IAC/B,EAAE,EAAE,WAAW,CAAA;IACf,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,gBAAgB,CAAA;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAqC5D"}
1
+ {"version":3,"file":"ops-sdk.d.ts","sourceRoot":"","sources":["../../src/factory/ops-sdk.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAClG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,MAAM,WAAW,YAAY;IACzB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAA;IACf,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;mFAC+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,SAAS,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,oBAAoB,EAAE,6BAA6B,CAAA;IACnD,cAAc,EAAE,uBAAuB,CAAA;IACvC,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,EAAE,EAAE,WAAW,CAAA;IACf,OAAO,EAAE,gBAAgB,CAAA;IACzB,UAAU,EAAE,mBAAmB,CAAA;IAC/B,EAAE,EAAE,WAAW,CAAA;IACf,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,gBAAgB,CAAA;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAmD5D"}
@@ -24,16 +24,30 @@ import { OpsWorkersClient } from '../clients/ops/ops-workers.client.js';
24
24
  * INV-9: no onUnauthorized hook — Ops keys are rotated via secrets_sync, not interactively.
25
25
  */
26
26
  export function createOpsClient(config) {
27
+ // Copilot review finding on PR #634: with neither credential set, the old code silently
28
+ // built a client whose getAuthToken() returns '' — every sub-client then sends an empty
29
+ // Bearer token and gets a confusing 401 instead of a clear configuration error at the
30
+ // point of misuse. Fail fast here instead (matches the doc comment's "at least one is
31
+ // required" contract).
32
+ if (!config.apiKey?.trim() && !config.jwt?.trim()) {
33
+ throw new Error('createOpsClient: at least one of apiKey or jwt must be provided');
34
+ }
27
35
  const api = new OpsApiClient({
28
36
  baseUrl: config.baseUrl,
29
37
  apiKey: config.apiKey,
38
+ jwt: config.jwt,
30
39
  retries: config.retries,
31
40
  retryBaseMs: config.retryBaseMs,
32
41
  });
42
+ // F437/AC-8: the EFFECTIVE bearer (jwt when present, else apiKey — C434's rule,
43
+ // `OpsApiClient.getAuthToken()`) for the sub-clients below that build their own raw
44
+ // fetch/SSE requests outside `api`'s `executeWithRetry` and so need the token value
45
+ // directly, not just an `OpsApiClient` instance.
46
+ const authToken = api.getAuthToken();
33
47
  const multipart = new MultipartClient({
34
48
  baseUrl: config.baseUrl,
35
49
  basePath: '/api/v1',
36
- getAuthHeader: async () => `Bearer ${config.apiKey}`,
50
+ getAuthHeader: async () => `Bearer ${authToken}`,
37
51
  });
38
52
  return {
39
53
  tasks: new TasksOpsClient(api),
@@ -45,9 +59,9 @@ export function createOpsClient(config) {
45
59
  conversationMessages: new ConversationMessagesOpsClient(api),
46
60
  usageWorkflows: new UsageWorkflowsOpsClient(api),
47
61
  realtime: new RealtimeOpsClient(api),
48
- db: new OpsDbClient(api, config.apiKey),
49
- storage: new OpsStorageClient(api, multipart, config.apiKey),
50
- northflank: new OpsNorthflankClient(api, config.apiKey),
62
+ db: new OpsDbClient(api, authToken),
63
+ storage: new OpsStorageClient(api, multipart, authToken),
64
+ northflank: new OpsNorthflankClient(api, authToken),
51
65
  mq: new OpsMqClient(api),
52
66
  logs: new OpsLogsClient(api),
53
67
  // OpsApiClient uses full /api/v1/* paths and does not unwrap the { data }
@@ -1 +1 @@
1
- {"version":3,"file":"ops-sdk.js","sourceRoot":"","sources":["../../src/factory/ops-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ops-sdk.js","sourceRoot":"","sources":["../../src/factory/ops-sdk.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export { createAgentClient, type AgentSdk, type AgentSdkConfig } from './factory
17
17
  export { createOpsClient, type OpsSdk, type OpsSdkConfig } from './factory/ops-sdk.js';
18
18
  export { createAuthClient, type AuthClient, type LoginResult, type RegisterResult, type RefreshResult, type MeResult, } from './clients/auth.client.js';
19
19
  export { RealtimeSdkClient, type RealtimeSdkClientConfig } from './realtime/realtime.client.js';
20
+ export { computePermissions, type Permissions, type RoleRow } from './permissions.js';
20
21
  export { SdkError, type SdkErrorCode } from './transport/errors.js';
21
22
  export { OpsApiClient, type OpsApiClientConfig } from './transport/ops-api-client.js';
22
23
  export { HttpClient, type HttpClientConfig } from './transport/http-client.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,6 +20,8 @@ export { createOpsClient } from './factory/ops-sdk.js';
20
20
  export { createAuthClient, } from './clients/auth.client.js';
21
21
  // ── Realtime (implemented in F141) ────────────────────────────────────────────
22
22
  export { RealtimeSdkClient } from './realtime/realtime.client.js';
23
+ // ── Permissions (F148) — Scoped Permissions API for SDK consumers ─────────────
24
+ export { computePermissions } from './permissions.js';
23
25
  // ── Errors ────────────────────────────────────────────────────────────────────
24
26
  export { SdkError } from './transport/errors.js';
25
27
  // ── Transport (for advanced consumers) ───────────────────────────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,kFAAkF;AAClF,OAAO,EAAE,iBAAiB,EAAsC,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAsC,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAkC,MAAM,sBAAsB,CAAA;AAEtF,kFAAkF;AAClF,OAAO,EACH,gBAAgB,GAMnB,MAAM,0BAA0B,CAAA;AAEjC,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAgC,MAAM,+BAA+B,CAAA;AAE/F,iFAAiF;AACjF,OAAO,EAAE,QAAQ,EAAqB,MAAM,uBAAuB,CAAA;AAEnE,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAA2B,MAAM,+BAA+B,CAAA;AACrF,OAAO,EAAE,UAAU,EAAyB,MAAM,4BAA4B,CAAA;AAC9E,OAAO,EAAE,eAAe,EAA8B,MAAM,iCAAiC,CAAA;AAC7F,wFAAwF;AACxF,iFAAiF;AACjF,OAAO,EACH,YAAY,GAGf,MAAM,8BAA8B,CAAA;AACrC,uFAAuF;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAkBlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EACH,qBAAqB,GAExB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAElF,iFAAiF;AACjF,OAAO,EACH,YAAY,EACZ,iBAAiB,GAIpB,MAAM,eAAe,CAAA;AAEtB,iFAAiF;AACjF,6DAA6D;AAC7D,2FAA2F;AAC3F,gFAAgF;AAChF,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACtF,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAC5F,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAOnF,8CAA8C;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAiBtE,uBAAuB;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAMnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAMzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,kFAAkF;AAClF,OAAO,EAAE,iBAAiB,EAAsC,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAsC,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAkC,MAAM,sBAAsB,CAAA;AAEtF,kFAAkF;AAClF,OAAO,EACH,gBAAgB,GAMnB,MAAM,0BAA0B,CAAA;AAEjC,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAgC,MAAM,+BAA+B,CAAA;AAE/F,iFAAiF;AACjF,OAAO,EAAE,kBAAkB,EAAkC,MAAM,kBAAkB,CAAA;AAErF,iFAAiF;AACjF,OAAO,EAAE,QAAQ,EAAqB,MAAM,uBAAuB,CAAA;AAEnE,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAA2B,MAAM,+BAA+B,CAAA;AACrF,OAAO,EAAE,UAAU,EAAyB,MAAM,4BAA4B,CAAA;AAC9E,OAAO,EAAE,eAAe,EAA8B,MAAM,iCAAiC,CAAA;AAC7F,wFAAwF;AACxF,iFAAiF;AACjF,OAAO,EACH,YAAY,GAGf,MAAM,8BAA8B,CAAA;AACrC,uFAAuF;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAkBlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EACH,qBAAqB,GAExB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAElF,iFAAiF;AACjF,OAAO,EACH,YAAY,EACZ,iBAAiB,GAIpB,MAAM,eAAe,CAAA;AAEtB,iFAAiF;AACjF,6DAA6D;AAC7D,2FAA2F;AAC3F,gFAAgF;AAChF,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACtF,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAC5F,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAOnF,8CAA8C;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAiBtE,uBAAuB;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAMnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAMzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA"}
@@ -0,0 +1,19 @@
1
+ import type { RoleRow } from '@beacon-build/core/browser';
2
+ export type { RoleRow };
3
+ export interface Permissions {
4
+ /** Global vendor (role 'vendor', no orgId). */
5
+ isVendor: boolean;
6
+ /** Admin of `orgId` (vendor bypass). Omit `orgId` to ask "admin of ANY org". */
7
+ isOrgAdmin: (orgId?: string | null) => boolean;
8
+ /** Member (any role) of `orgId` (vendor bypass). Omit `orgId` to ask "member of ANY org". */
9
+ isOrgMember: (orgId?: string | null) => boolean;
10
+ /** Vendor or admin of at least one org. */
11
+ canManageUsers: boolean;
12
+ }
13
+ /**
14
+ * Pure — computes Permissions from a role list. `roles` is typically
15
+ * `MeResult.roles` from `createAuthClient().me(token)`, or any other
16
+ * RoleRow[]-shaped source (structurally compatible, no conversion needed).
17
+ */
18
+ export declare function computePermissions(roles: RoleRow[]): Permissions;
19
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,YAAY,EAAE,OAAO,EAAE,CAAA;AAEvB,MAAM,WAAW,WAAW;IACxB,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,CAAA;IACjB,gFAAgF;IAChF,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAA;IAC9C,6FAA6F;IAC7F,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAA;IAC/C,2CAA2C;IAC3C,cAAc,EAAE,OAAO,CAAA;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAWhE"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * F148 — Scoped Permissions API for @beacon-build/sdk consumers.
3
+ *
4
+ * Exposes the SAME org-scoped RBAC predicates apps/platform's internal
5
+ * usePermissions() hook (F121/AC-8) already bundles — but at the SDK layer, so
6
+ * a consumer that is NOT apps/platform (its own frontend, a Node script, a
7
+ * server-side render) can compute the same permission gates without a direct
8
+ * @beacon-build/core dependency and without re-implementing the logic.
9
+ *
10
+ * Pure UI/consumer visibility only (F121 INV-2) — this is NOT a security
11
+ * boundary. The real authorization boundary stays server-side
12
+ * (assertVendor/assertOrgAdminOrVendor/assertOrgMembership, CON-5 "Check at
13
+ * API boundary. Never trust the frontend for auth decisions").
14
+ *
15
+ * Deliberately generic/app-agnostic: this does NOT include apps/platform-
16
+ * specific derived gates (e.g. canAccessProjectWorkspace) — a consumer needing
17
+ * an app-specific derived gate composes it from these primitives itself.
18
+ */
19
+ import { isVendor, isOrgAdmin, isOrgMember } from '@beacon-build/core/browser';
20
+ /**
21
+ * Pure — computes Permissions from a role list. `roles` is typically
22
+ * `MeResult.roles` from `createAuthClient().me(token)`, or any other
23
+ * RoleRow[]-shaped source (structurally compatible, no conversion needed).
24
+ */
25
+ export function computePermissions(roles) {
26
+ const vendor = isVendor(roles);
27
+ const adminOrgIds = roles.filter((r) => r.role === 'admin' && r.orgId).map((r) => r.orgId);
28
+ return {
29
+ isVendor: vendor,
30
+ isOrgAdmin: (orgId) => orgId ? isOrgAdmin(roles, orgId) : vendor || adminOrgIds.length > 0,
31
+ isOrgMember: (orgId) => (orgId ? isOrgMember(roles, orgId) : vendor || roles.length > 0),
32
+ canManageUsers: vendor || adminOrgIds.length > 0,
33
+ };
34
+ }
35
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAgB9E;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAgB;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAE1F,OAAO;QACH,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QACvE,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACxF,cAAc,EAAE,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;KACnD,CAAA;AACL,CAAC"}
@@ -2,4 +2,5 @@ export { RealtimeProvider, useRealtimeContext, RealtimeProviderNotFoundError, }
2
2
  export type { RealtimeProviderProps, RealtimeContextValue } from './RealtimeProvider.js';
3
3
  export { useRealtime } from './useRealtime.js';
4
4
  export type { UseRealtimeOptions, UseRealtimeResult } from './useRealtime.js';
5
+ export { usePermissions } from './usePermissions.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,GAChC,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,GAChC,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAI7E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
@@ -4,4 +4,7 @@
4
4
  // Consumers should import directly from @beacon-build/sdk.
5
5
  export { RealtimeProvider, useRealtimeContext, RealtimeProviderNotFoundError, } from './RealtimeProvider.js';
6
6
  export { useRealtime } from './useRealtime.js';
7
+ // F148: Scoped Permissions API — usePermissions() for SDK consumers (no Provider needed,
8
+ // pure/stateless — unlike useRealtime, which needs a live connection's Provider).
9
+ export { usePermissions } from './usePermissions.js';
7
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,wEAAwE;AACxE,2DAA2D;AAE3D,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,GAChC,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,wEAAwE;AACxE,2DAA2D;AAE3D,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,GAChC,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,yFAAyF;AACzF,kFAAkF;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Permissions, RoleRow } from '../permissions.js';
2
+ export declare function usePermissions(roles: RoleRow[]): Permissions;
3
+ //# sourceMappingURL=usePermissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePermissions.d.ts","sourceRoot":"","sources":["../../src/react/usePermissions.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE7D,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAE5D"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * usePermissions — F148
3
+ *
4
+ * Thin React wrapper over computePermissions (../permissions.js). Unlike
5
+ * useRealtime (F141), this needs NO Provider/context — permissions
6
+ * computation is pure/stateless, not a live connection. The caller supplies
7
+ * its own `roles` (e.g. from createAuthClient().me(token) → MeResult.roles,
8
+ * or any other RoleRow[]-shaped source).
9
+ */
10
+ import { useMemo } from 'react';
11
+ import { computePermissions } from '../permissions.js';
12
+ export function usePermissions(roles) {
13
+ return useMemo(() => computePermissions(roles), [roles]);
14
+ }
15
+ //# sourceMappingURL=usePermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePermissions.js","sourceRoot":"","sources":["../../src/react/usePermissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAGtD,MAAM,UAAU,cAAc,CAAC,KAAgB;IAC3C,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AAC5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beacon-build/sdk",
3
- "version": "1.41.0",
3
+ "version": "1.43.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,7 +26,7 @@
26
26
  "@types/react": "^19.2.0",
27
27
  "@types/react-dom": "^19.2.0",
28
28
  "event-source-polyfill": "^1.0.31",
29
- "@beacon-build/core": "1.41.0"
29
+ "@beacon-build/core": "1.43.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@testing-library/react": "^16.3.2",