@geoly-ai/social-hub-authz 0.0.3 → 0.0.4

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/dist/index.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  export type Role = "internal" | "senior" | "supervisor" | "manager" | "client" | "admin";
2
- export type Resource = "brand" | "campaign" | "socialAccount" | "task" | "publishingPlan" | "contentDraft" | "report" | "dashboardSummary" | "opReport" | "postSnapshot" | "postSnapshotStats" | "postSnapshotRefresh" | "postSnapshotImport" | "apiKey" | "cliAuthorization" | "cliTokenDuration" | "auditLog" | "compliance" | "subredditIntelligence" | "member" | "systemMember" | "systemBrand" | "systemCampaign" | "invite" | "systemSetting" | "permissionMatrix" | "agentTeam" | "notificationChannel" | "browserEnvironment" | "brandMember" | "campaignAccount";
2
+ export type Resource = "brand" | "campaign" | "socialAccount" | "task" | "publishingPlan" | "contentDraft" | "report" | "dashboardSummary" | "opReport" | "postSnapshot" | "postSnapshotStats" | "postSnapshotRefresh" | "postSnapshotImport" | "redditMetricsSnapshot" | "apiKey" | "cliAuthorization" | "cliTokenDuration" | "auditLog" | "compliance" | "subredditIntelligence" | "subredditPool" | "member" | "systemMember" | "systemBrand" | "systemPersona" | "systemSubredditBlocklist" | "subredditIntelRuns" | "systemCampaign" | "invite" | "systemSetting" | "permissionMatrix" | "agentTeam" | "notificationChannel" | "browserEnvironment" | "brandMember" | "campaignAccount" | "scrape";
3
3
  export type Action = "list" | "read" | "create" | "update" | "delete" | "retry" | "cancel" | "export";
4
4
  export type PermissionMatrix = Record<Role, Record<Resource, Record<Action, boolean>>>;
5
5
  export declare const ROLE_VALUES: Role[];
6
6
  export declare const RESOURCE_VALUES: Resource[];
7
7
  export declare const ACTION_VALUES: Action[];
8
+ /** @deprecated Superseded by the field visibility registry/matrix below. */
8
9
  export type FieldMaskMode = "omit" | "null" | "redact" | "aggregateOnly";
10
+ /** @deprecated Superseded by the field visibility registry/matrix below. */
9
11
  export type FieldPolicy = {
10
12
  resource: "postSnapshot" | "socialAccount" | "opReport";
11
13
  field: string;
@@ -13,6 +15,37 @@ export type FieldPolicy = {
13
15
  editable: boolean;
14
16
  mask?: FieldMaskMode;
15
17
  };
18
+ export declare const FIELD_VISIBILITY_RESOURCES: readonly ["postSnapshot", "postSnapshotStats", "browserEnvironment", "browserEnvironmentTelemetryEvent", "socialAccount", "opReport", "subredditHotPost"];
19
+ export type FieldVisibilityResource = (typeof FIELD_VISIBILITY_RESOURCES)[number];
20
+ /** "omit" deletes the field from the response; "empty" replaces it with [] to keep array contracts. */
21
+ export type FieldVisibilityMask = "omit" | "empty";
22
+ export type FieldVisibilityRegistryEntry = {
23
+ resource: FieldVisibilityResource;
24
+ /** Dotted paths address nested objects (e.g. "telemetry.baselineIp"). */
25
+ field: string;
26
+ mask: FieldVisibilityMask;
27
+ defaultReadable: Record<Role, boolean>;
28
+ };
29
+ /**
30
+ * Governable sensitive fields. Only fields registered here can be toggled in
31
+ * the field visibility matrix; absolute secrets (credentialsRef, password/key
32
+ * hashes, ...) must never be registered — they stay hard-sanitized at the
33
+ * source and the matrix cannot expose them.
34
+ */
35
+ export declare const FIELD_VISIBILITY_REGISTRY: FieldVisibilityRegistryEntry[];
36
+ /**
37
+ * Structural/debug telemetry-event fields always hidden from client sessions
38
+ * regardless of matrix overrides (the configurable entries above only cover
39
+ * the semantically sensitive ones).
40
+ */
41
+ export declare const TELEMETRY_EVENT_HARD_HIDDEN_FOR_CLIENT: string[];
42
+ /** role → "resource.field" → readable */
43
+ export type FieldVisibilityMatrix = Record<Role, Record<string, boolean>>;
44
+ export declare function fieldVisibilityKey(resource: string, field: string): string;
45
+ export declare function isRegisteredField(resource: string, field: string): boolean;
46
+ export declare function buildFieldVisibilityMatrix(): FieldVisibilityMatrix;
47
+ /** Flat `resource.field` readability flags shipped to the web app alongside permissionAllowance. */
48
+ export declare function fieldAllowanceFromMatrix(matrix: FieldVisibilityMatrix, role: Role): Record<string, boolean>;
16
49
  export type ResolvedAccessContext = {
17
50
  role: Role;
18
51
  teamIds: string[];
@@ -38,6 +71,13 @@ export declare function assertTeamPathForContext(ctx: {
38
71
  role?: Role;
39
72
  visibleTeamIds?: string[];
40
73
  }, pathTeamId: string): void;
74
+ /** Enforce account-level visibility for session/cli_token callers (admin bypass). */
75
+ export declare function assertAccountVisibleForContext(input: {
76
+ role?: Role;
77
+ kind: "api_key" | "session" | "cli_token";
78
+ visibleAccountIds?: string[];
79
+ accountId: string;
80
+ }): void;
41
81
  export declare function assertCanPerformAction(input: {
42
82
  role: Role;
43
83
  resource: Resource;
@@ -108,9 +148,4 @@ export declare function resolveAccessContext(input: {
108
148
  visibleCampaignIds?: string[] | null;
109
149
  visibleAccountIds?: string[];
110
150
  }): ResolvedAccessContext;
111
- export declare function getFieldPolicy(input: {
112
- role: Role;
113
- resource: FieldPolicy["resource"];
114
- field: string;
115
- }): FieldPolicy | null;
116
151
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -21,15 +21,20 @@ export const RESOURCE_VALUES = [
21
21
  "postSnapshotStats",
22
22
  "postSnapshotRefresh",
23
23
  "postSnapshotImport",
24
+ "redditMetricsSnapshot",
24
25
  "apiKey",
25
26
  "cliAuthorization",
26
27
  "cliTokenDuration",
27
28
  "auditLog",
28
29
  "compliance",
29
30
  "subredditIntelligence",
31
+ "subredditPool",
30
32
  "member",
31
33
  "systemMember",
32
34
  "systemBrand",
35
+ "systemPersona",
36
+ "systemSubredditBlocklist",
37
+ "subredditIntelRuns",
33
38
  "systemCampaign",
34
39
  "invite",
35
40
  "systemSetting",
@@ -39,6 +44,7 @@ export const RESOURCE_VALUES = [
39
44
  "browserEnvironment",
40
45
  "brandMember",
41
46
  "campaignAccount",
47
+ "scrape",
42
48
  ];
43
49
  export const ACTION_VALUES = [
44
50
  "list",
@@ -68,45 +74,189 @@ const clientReadableResources = new Set([
68
74
  "postSnapshot",
69
75
  "postSnapshotStats",
70
76
  ]);
71
- const POST_SNAPSHOT_ACCOUNT_TYPE_POLICY_BY_ROLE = {
72
- admin: {
73
- resource: "postSnapshot",
74
- field: "accountType",
75
- readable: true,
76
- editable: true,
77
- },
78
- manager: {
79
- resource: "postSnapshot",
80
- field: "accountType",
81
- readable: true,
82
- editable: true,
83
- },
84
- supervisor: {
85
- resource: "postSnapshot",
86
- field: "accountType",
87
- readable: true,
88
- editable: true,
89
- },
90
- senior: {
77
+ export const FIELD_VISIBILITY_RESOURCES = [
78
+ "postSnapshot",
79
+ "postSnapshotStats",
80
+ "browserEnvironment",
81
+ "browserEnvironmentTelemetryEvent",
82
+ "socialAccount",
83
+ "opReport",
84
+ "subredditHotPost",
85
+ ];
86
+ const readableExceptClient = () => Object.fromEntries(ROLE_VALUES.map((r) => [r, r !== "client"]));
87
+ const readableForAll = () => Object.fromEntries(ROLE_VALUES.map((r) => [r, true]));
88
+ /**
89
+ * Governable sensitive fields. Only fields registered here can be toggled in
90
+ * the field visibility matrix; absolute secrets (credentialsRef, password/key
91
+ * hashes, ...) must never be registered — they stay hard-sanitized at the
92
+ * source and the matrix cannot expose them.
93
+ */
94
+ export const FIELD_VISIBILITY_REGISTRY = [
95
+ ...[
96
+ "accountType",
97
+ "rawPayload",
98
+ "socialAccountId",
99
+ "feishuRecordId",
100
+ "feishuAutoNumber",
101
+ "feishuSerial",
102
+ "feishuNote",
103
+ ].map((field) => ({
91
104
  resource: "postSnapshot",
92
- field: "accountType",
93
- readable: true,
94
- editable: true,
95
- },
96
- internal: {
105
+ field,
106
+ mask: "omit",
107
+ defaultReadable: readableExceptClient(),
108
+ })),
109
+ ...["byAccountType", "byPostTypeAccountType"].map((field) => ({
110
+ resource: "postSnapshotStats",
111
+ field,
112
+ mask: "empty",
113
+ defaultReadable: readableExceptClient(),
114
+ })),
115
+ ...["observedIp", "observedCity", "baselineIp"].map((field) => ({
116
+ resource: "browserEnvironmentTelemetryEvent",
117
+ field,
118
+ mask: "omit",
119
+ defaultReadable: readableExceptClient(),
120
+ })),
121
+ ...[
122
+ "telemetry.baselineIp",
123
+ "telemetry.lastIp",
124
+ "telemetry.baselineFingerprint",
125
+ ].map((field) => ({
126
+ resource: "browserEnvironment",
127
+ field,
128
+ mask: "omit",
129
+ defaultReadable: readableExceptClient(),
130
+ })),
131
+ // ── Batch 2 ──────────────────────────────────────────────────────────
132
+ // Defaults preserve current behaviour: readable for every role unless the
133
+ // field was already hidden before registration.
134
+ ...[
135
+ "author",
136
+ "source",
137
+ "brandRaw",
138
+ "campaignRaw",
139
+ "brandNote",
140
+ "negativeFeedback",
141
+ "repostType",
142
+ "brandId",
143
+ "campaignId",
144
+ "calendarEntryId",
145
+ "viewCount",
146
+ "upvoteRatio",
147
+ "body",
148
+ "opsStatus",
149
+ "draftStatus",
150
+ "postType",
151
+ "containsBrandKeyword",
152
+ "publishDoc",
153
+ "firstRepostLink",
154
+ "secondRepostLink",
155
+ "capturedAt",
156
+ "sourceUpdatedAt",
157
+ "teamId",
158
+ "teamName",
159
+ "teamSlug",
160
+ ].map((field) => ({
97
161
  resource: "postSnapshot",
98
- field: "accountType",
99
- readable: true,
100
- editable: true,
101
- },
102
- client: {
162
+ field,
163
+ mask: "omit",
164
+ defaultReadable: readableForAll(),
165
+ })),
166
+ ...["primaryProducts", "relatedPosts"].map((field) => ({
103
167
  resource: "postSnapshot",
104
- field: "accountType",
105
- readable: false,
106
- editable: false,
168
+ field,
169
+ mask: "empty",
170
+ defaultReadable: readableForAll(),
171
+ })),
172
+ // socialAccount: credentialsRef/hasCredentials stay hard-sanitized and are
173
+ // never registered; handle/platform/status are core identity columns.
174
+ ...[
175
+ "profileUrl",
176
+ "externalId",
177
+ "externalRef",
178
+ "personaId",
179
+ "karma",
180
+ "accountAgeDays",
181
+ "workflowStage",
182
+ "metricsSource",
183
+ "metricsUpdatedAt",
184
+ "feishuRecordId",
185
+ "feishuBrandRaw",
186
+ // jsonb object — "empty" ([]) would break its shape, so omit.
187
+ "feishuRawPayload",
188
+ "postingSummary",
189
+ "oauthExpiresAt",
190
+ ].map((field) => ({
191
+ resource: "socialAccount",
192
+ field,
107
193
  mask: "omit",
194
+ defaultReadable: readableForAll(),
195
+ })),
196
+ {
197
+ resource: "socialAccount",
198
+ field: "primaryProducts",
199
+ mask: "empty",
200
+ defaultReadable: readableForAll(),
108
201
  },
109
- };
202
+ ...["source", "traceId"].map((field) => ({
203
+ resource: "opReport",
204
+ field,
205
+ mask: "omit",
206
+ defaultReadable: readableForAll(),
207
+ })),
208
+ // Hot post account-dimension fields are hidden from clients today (they
209
+ // were gated by socialAccount permissions), so keep client=false.
210
+ ...[
211
+ "authorHandle",
212
+ "accountType",
213
+ "authorAccountType",
214
+ "actorType",
215
+ "accountTypeLabel",
216
+ "authorAccountTypeLabel",
217
+ ].map((field) => ({
218
+ resource: "subredditHotPost",
219
+ field,
220
+ mask: "omit",
221
+ defaultReadable: readableExceptClient(),
222
+ })),
223
+ ];
224
+ /**
225
+ * Structural/debug telemetry-event fields always hidden from client sessions
226
+ * regardless of matrix overrides (the configurable entries above only cover
227
+ * the semantically sensitive ones).
228
+ */
229
+ export const TELEMETRY_EVENT_HARD_HIDDEN_FOR_CLIENT = [
230
+ "teamId",
231
+ "browserEnvironmentId",
232
+ "socialAccountId",
233
+ "source",
234
+ "externalRef",
235
+ "payload",
236
+ "createdAt",
237
+ ];
238
+ export function fieldVisibilityKey(resource, field) {
239
+ return `${resource}.${field}`;
240
+ }
241
+ export function isRegisteredField(resource, field) {
242
+ return FIELD_VISIBILITY_REGISTRY.some((entry) => entry.resource === resource && entry.field === field);
243
+ }
244
+ export function buildFieldVisibilityMatrix() {
245
+ const out = {};
246
+ for (const role of ROLE_VALUES) {
247
+ const flags = {};
248
+ for (const entry of FIELD_VISIBILITY_REGISTRY) {
249
+ flags[fieldVisibilityKey(entry.resource, entry.field)] =
250
+ entry.defaultReadable[role];
251
+ }
252
+ out[role] = flags;
253
+ }
254
+ return out;
255
+ }
256
+ /** Flat `resource.field` readability flags shipped to the web app alongside permissionAllowance. */
257
+ export function fieldAllowanceFromMatrix(matrix, role) {
258
+ return { ...(matrix[role] ?? {}) };
259
+ }
110
260
  /**
111
261
  * ApiKey 绑定的 team 必须与 URL 路径中的 :teamId 一致(主规格多租户)。
112
262
  */
@@ -116,7 +266,12 @@ export function assertTeamAccess(apiKeyTeamId, pathTeamId) {
116
266
  }
117
267
  }
118
268
  export function assertAnyTeamAccess(input) {
119
- if (input.role === "admin")
269
+ // Teams organize social accounts, not people: every session role can
270
+ // address any team path. Data boundaries live at the account/brand/
271
+ // campaign visibility and field-masking layers (and api_key callers stay
272
+ // pinned to their bound team via assertTeamAccess). Role-less contexts
273
+ // keep the explicit team checks as a defensive fallback.
274
+ if (input.role)
120
275
  return;
121
276
  if (input.primaryTeamId === input.pathTeamId)
122
277
  return;
@@ -137,6 +292,19 @@ export function assertTeamPathForContext(ctx, pathTeamId) {
137
292
  pathTeamId,
138
293
  });
139
294
  }
295
+ /** Enforce account-level visibility for session/cli_token callers (admin bypass). */
296
+ export function assertAccountVisibleForContext(input) {
297
+ if (input.role === "admin")
298
+ return;
299
+ if (input.kind === "api_key")
300
+ return;
301
+ const visible = input.visibleAccountIds ?? [];
302
+ if (input.role === "client") {
303
+ if (!visible.includes(input.accountId)) {
304
+ throw forbidden("Account not in visible scope");
305
+ }
306
+ }
307
+ }
140
308
  export function assertCanPerformAction(input) {
141
309
  if (!canPerformAction(input)) {
142
310
  throw forbidden(`Role ${input.role} cannot ${input.action} ${input.resource}`);
@@ -219,6 +387,20 @@ export function canPerformAction(input) {
219
387
  action: input.action,
220
388
  });
221
389
  }
390
+ if (input.resource === "systemPersona") {
391
+ return canPerformAction({
392
+ role: input.role,
393
+ resource: "brand",
394
+ action: input.action,
395
+ });
396
+ }
397
+ if (input.resource === "systemSubredditBlocklist") {
398
+ return canPerformAction({
399
+ role: input.role,
400
+ resource: "compliance",
401
+ action: input.action,
402
+ });
403
+ }
222
404
  if (input.resource === "systemCampaign") {
223
405
  return canPerformAction({
224
406
  role: input.role,
@@ -272,6 +454,28 @@ export function canPerformAction(input) {
272
454
  action: input.action,
273
455
  });
274
456
  }
457
+ if (input.resource === "scrape") {
458
+ // 自托管抓取能力:运维/合规向,client 无权;沿用 compliance 的角色梯度。
459
+ return canPerformAction({
460
+ role: input.role,
461
+ resource: "compliance",
462
+ action: input.action,
463
+ });
464
+ }
465
+ if (input.resource === "subredditPool") {
466
+ if (input.role === "client")
467
+ return false;
468
+ if (input.role === "manager")
469
+ return true;
470
+ if (input.role === "supervisor") {
471
+ return (readActions.has(input.action) ||
472
+ operationalWriteActions.has(input.action));
473
+ }
474
+ if (input.role === "senior" || input.role === "internal") {
475
+ return readActions.has(input.action);
476
+ }
477
+ return false;
478
+ }
275
479
  if (input.resource === "compliance") {
276
480
  if (input.role === "client")
277
481
  return false;
@@ -305,6 +509,8 @@ export function canPerformAction(input) {
305
509
  }
306
510
  return false;
307
511
  }
512
+ // cliTokenDuration: non-admin default deny; matrix overrides grant granular options:
513
+ // read=long (90d), export=custom, create=never, update=legacy all non-short.
308
514
  if (input.resource === "cliTokenDuration") {
309
515
  return false;
310
516
  }
@@ -370,15 +576,27 @@ export const NAV_SECTION_REGISTRY = [
370
576
  { id: "accounts", gate: { resource: "socialAccount", action: "list" } },
371
577
  { id: "graph", gate: { resource: "socialAccount", action: "list" } },
372
578
  { id: "brands", gate: { resource: "systemBrand", action: "list" } },
579
+ { id: "personas", gate: { resource: "systemPersona", action: "list" } },
373
580
  { id: "calendar", gate: { resource: "publishingPlan", action: "list" } },
374
581
  { id: "drafts", gate: { resource: "contentDraft", action: "list" } },
375
582
  { id: "plans", gate: { resource: "publishingPlan", action: "list" } },
376
583
  { id: "tasks", gate: { resource: "task", action: "list" } },
377
- { id: "intelligence", gate: { resource: "subredditIntelligence", action: "read" } },
378
- { id: "intelligenceTasks", gate: { resource: "subredditIntelligence", action: "read" } },
584
+ {
585
+ id: "intelligence",
586
+ gate: { resource: "subredditIntelligence", action: "read" },
587
+ },
588
+ {
589
+ id: "intelligenceTasks",
590
+ gate: { resource: "subredditIntelRuns", action: "read" },
591
+ },
592
+ { id: "subredditPools", gate: { resource: "subredditPool", action: "read" } },
379
593
  { id: "events", gate: { resource: "task", action: "list" } },
380
594
  { id: "reports", gate: { resource: "opReport", action: "list" } },
381
595
  { id: "postPerformance", gate: { resource: "postSnapshot", action: "list" } },
596
+ {
597
+ id: "redditMetrics",
598
+ gate: { resource: "redditMetricsSnapshot", action: "list" },
599
+ },
382
600
  { id: "riskCenter", gate: { resource: "compliance", action: "list" } },
383
601
  { id: "apiKeys", gate: { resource: "apiKey", action: "list" } },
384
602
  { id: "users", gate: { resource: "systemMember", action: "list" } },
@@ -442,8 +660,12 @@ export function permissionAllowanceFromMatrix(matrix, role) {
442
660
  }
443
661
  export function resolveAccessContext(input) {
444
662
  const teamIds = Array.from(new Set([input.primaryTeamId, ...(input.visibleTeamIds ?? [])]));
445
- const brandIds = Array.from(new Set(input.visibleBrandIds ?? []));
446
- const accountIds = Array.from(new Set(input.visibleAccountIds ?? []));
663
+ const brandIds = input.role === "client"
664
+ ? Array.from(new Set(input.visibleBrandIds ?? []))
665
+ : [];
666
+ const accountIds = input.role === "client"
667
+ ? Array.from(new Set(input.visibleAccountIds ?? []))
668
+ : [];
447
669
  const campaignIds = input.visibleCampaignIds && input.visibleCampaignIds.length > 0
448
670
  ? Array.from(new Set(input.visibleCampaignIds))
449
671
  : [];
@@ -457,10 +679,4 @@ export function resolveAccessContext(input) {
457
679
  hasAllCampaignAccess,
458
680
  };
459
681
  }
460
- export function getFieldPolicy(input) {
461
- if (input.resource === "postSnapshot" && input.field === "accountType") {
462
- return POST_SNAPSHOT_ACCOUNT_TYPE_POLICY_BY_ROLE[input.role];
463
- }
464
- return null;
465
- }
466
682
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,300 +1,165 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { ACTION_VALUES, NAV_SECTION_MATRIX_GATES, NAV_SECTION_REGISTRY, NAV_SELF_SERVICE_SECTIONS, RESOURCE_VALUES, ROLE_VALUES, assertCanPerformAction, assertResolvedAction, assertTeamAccess, assertTeamPathForContext, buildPermissionMatrix, canPerformAction, canPerformResolvedAction, filterCampaignsByVisibility, getFieldPolicy, hasScope, navigationAllowanceFromMatrix, permissionAllowanceFromMatrix, permissionKey, resolveAccessContext, } from "./index.js";
3
- describe("assertTeamAccess", () => {
4
- it("allows same team", () => {
5
- expect(() => assertTeamAccess("t1", "t1")).not.toThrow();
6
- });
7
- it("rejects cross-team", () => {
8
- expect(() => assertTeamAccess("t1", "t2")).toThrow();
9
- });
10
- });
11
- describe("canPerformAction", () => {
12
- it("allows admin to read audit logs", () => {
13
- expect(canPerformAction({ role: "admin", resource: "auditLog", action: "read" })).toBe(true);
14
- });
15
- it("allows manager to manage API keys", () => {
16
- expect(canPerformAction({
17
- role: "manager",
18
- resource: "apiKey",
19
- action: "create",
20
- })).toBe(true);
21
- });
22
- it("allows admin and manager to approve CLI device auth", () => {
23
- expect(canPerformAction({
2
+ import { FIELD_VISIBILITY_REGISTRY, NAV_SECTION_REGISTRY, RESOURCE_VALUES, ROLE_VALUES, assertAccountVisibleForContext, assertAnyTeamAccess, buildFieldVisibilityMatrix, canPerformAction, fieldAllowanceFromMatrix, fieldVisibilityKey, isRegisteredField, } from "./index.js";
3
+ describe("assertAccountVisibleForContext", () => {
4
+ it("allows admin bypass", () => {
5
+ expect(() => assertAccountVisibleForContext({
24
6
  role: "admin",
25
- resource: "cliAuthorization",
26
- action: "create",
27
- })).toBe(true);
28
- expect(canPerformAction({
29
- role: "manager",
30
- resource: "cliAuthorization",
31
- action: "create",
32
- })).toBe(true);
33
- expect(canPerformAction({
34
- role: "supervisor",
35
- resource: "cliAuthorization",
36
- action: "create",
37
- })).toBe(false);
38
- });
39
- it("allows only admin to choose non-short CLI token duration", () => {
40
- expect(canPerformAction({
41
- role: "admin",
42
- resource: "cliTokenDuration",
43
- action: "update",
44
- })).toBe(true);
45
- expect(canPerformAction({
46
- role: "manager",
47
- resource: "cliTokenDuration",
48
- action: "update",
49
- })).toBe(false);
50
- });
51
- it("rejects client writes to publishing plans", () => {
52
- expect(canPerformAction({
53
- role: "client",
54
- resource: "publishingPlan",
55
- action: "update",
56
- })).toBe(false);
57
- });
58
- it("rejects client compliance reads", () => {
59
- expect(canPerformAction({
60
- role: "client",
61
- resource: "compliance",
62
- action: "list",
63
- })).toBe(false);
64
- });
65
- it("rejects client reads for internal operations resources", () => {
66
- expect(canPerformAction({ role: "client", resource: "task", action: "list" })).toBe(false);
67
- expect(canPerformAction({
68
- role: "client",
69
- resource: "contentDraft",
70
- action: "list",
71
- })).toBe(false);
72
- expect(canPerformAction({
73
- role: "client",
74
- resource: "publishingPlan",
75
- action: "list",
76
- })).toBe(false);
77
- });
78
- it("allows supervisor compliance create", () => {
79
- expect(canPerformAction({
80
- role: "supervisor",
81
- resource: "compliance",
82
- action: "create",
83
- })).toBe(true);
84
- });
85
- });
86
- describe("assertCanPerformAction", () => {
87
- it("throws for disallowed action", () => {
88
- expect(() => assertCanPerformAction({
7
+ kind: "session",
8
+ visibleAccountIds: [],
9
+ accountId: "acc-1",
10
+ })).not.toThrow();
11
+ });
12
+ it("allows api key without account scope", () => {
13
+ expect(() => assertAccountVisibleForContext({
14
+ kind: "api_key",
15
+ visibleAccountIds: [],
16
+ accountId: "acc-1",
17
+ })).not.toThrow();
18
+ });
19
+ it("rejects client when account is not visible", () => {
20
+ expect(() => assertAccountVisibleForContext({
89
21
  role: "client",
90
- resource: "campaign",
91
- action: "create",
22
+ kind: "session",
23
+ visibleAccountIds: ["acc-2"],
24
+ accountId: "acc-1",
92
25
  })).toThrow();
93
26
  });
94
- });
95
- describe("canPerformResolvedAction", () => {
96
- it("uses resolved matrix values instead of default role rules", () => {
97
- const matrix = buildPermissionMatrix();
98
- matrix.manager.apiKey.list = false;
99
- expect(canPerformAction({ role: "manager", resource: "apiKey", action: "list" })).toBe(true);
100
- expect(canPerformResolvedAction({
101
- matrix,
102
- role: "manager",
103
- resource: "apiKey",
104
- action: "list",
105
- })).toBe(false);
106
- });
107
- it("throws when resolved matrix denies an action", () => {
108
- const matrix = buildPermissionMatrix();
109
- matrix.manager.report.create = false;
110
- expect(() => assertResolvedAction({
111
- matrix,
27
+ it("allows manager to access any team path", () => {
28
+ expect(() => assertAnyTeamAccess({
112
29
  role: "manager",
113
- resource: "report",
114
- action: "create",
115
- })).toThrow();
116
- });
117
- });
118
- describe("filterCampaignsByVisibility", () => {
119
- it("filters campaigns by provided ids", () => {
120
- const rows = [
121
- { id: "c1", name: "A" },
122
- { id: "c2", name: "B" },
123
- ];
124
- expect(filterCampaignsByVisibility(rows, ["c2"])).toEqual([
125
- { id: "c2", name: "B" },
126
- ]);
127
- });
128
- it("returns all campaigns when visibility is null/undefined", () => {
129
- const rows = [
130
- { id: "c1", name: "A" },
131
- { id: "c2", name: "B" },
132
- ];
133
- expect(filterCampaignsByVisibility(rows, null)).toEqual(rows);
134
- expect(filterCampaignsByVisibility(rows, undefined)).toEqual(rows);
135
- });
136
- it("returns empty list when visible ids is empty array", () => {
137
- const rows = [
138
- { id: "c1", name: "A" },
139
- { id: "c2", name: "B" },
140
- ];
141
- expect(filterCampaignsByVisibility(rows, [])).toEqual([]);
142
- });
143
- });
144
- describe("hasScope", () => {
145
- it("accepts exact scopes", () => {
146
- expect(hasScope(["events:write"], "events:write")).toBe(true);
30
+ primaryTeamId: "t1",
31
+ visibleTeamIds: ["t1"],
32
+ pathTeamId: "t2",
33
+ })).not.toThrow();
147
34
  });
148
- it("accepts wildcard scopes", () => {
149
- expect(hasScope(["events:*"], "events:write")).toBe(true);
35
+ it("allows client to access any team path (scoped by accounts, not teams)", () => {
36
+ expect(() => assertAnyTeamAccess({
37
+ role: "client",
38
+ primaryTeamId: "t1",
39
+ visibleTeamIds: ["t1"],
40
+ pathTeamId: "t2",
41
+ })).not.toThrow();
150
42
  });
151
- it("rejects missing scopes", () => {
152
- expect(hasScope(["events:read"], "events:write")).toBe(false);
43
+ it("allows internal roles to access any team path", () => {
44
+ expect(() => assertAnyTeamAccess({
45
+ role: "internal",
46
+ primaryTeamId: "t1",
47
+ visibleTeamIds: ["t1"],
48
+ pathTeamId: "t2",
49
+ })).not.toThrow();
153
50
  });
154
- });
155
- describe("assertTeamPathForContext", () => {
156
- it("allows session primary team", () => {
157
- expect(() => assertTeamPathForContext({
158
- kind: "session",
159
- teamId: "t1",
160
- role: "manager",
161
- visibleTeamIds: ["t2"],
162
- }, "t1")).not.toThrow();
51
+ it("keeps the explicit team check for role-less contexts", () => {
52
+ expect(() => assertAnyTeamAccess({
53
+ primaryTeamId: "t1",
54
+ visibleTeamIds: ["t1"],
55
+ pathTeamId: "t2",
56
+ })).toThrow();
163
57
  });
164
- it("allows session when path team is in visibleTeamIds", () => {
165
- expect(() => assertTeamPathForContext({
166
- kind: "session",
167
- teamId: "t1",
58
+ it("allows internal roles regardless of visibleAccountIds", () => {
59
+ expect(() => assertAccountVisibleForContext({
168
60
  role: "senior",
169
- visibleTeamIds: ["t1", "t2"],
170
- }, "t2")).not.toThrow();
171
- });
172
- it("rejects session path outside visible teams", () => {
173
- expect(() => assertTeamPathForContext({
174
61
  kind: "session",
175
- teamId: "t1",
176
- role: "senior",
177
- visibleTeamIds: ["t1"],
178
- }, "t2")).toThrow();
179
- });
180
- it("requires api key team to match path", () => {
181
- expect(() => assertTeamPathForContext({ kind: "api_key", teamId: "t1" }, "t1")).not.toThrow();
182
- expect(() => assertTeamPathForContext({ kind: "api_key", teamId: "t1" }, "t2")).toThrow();
183
- });
184
- it("does not allow admin api key to cross teams", () => {
185
- expect(() => assertTeamPathForContext({ kind: "api_key", teamId: "t1", role: "admin" }, "t2")).toThrow();
62
+ visibleAccountIds: ["acc-2"],
63
+ accountId: "acc-1",
64
+ })).not.toThrow();
186
65
  });
187
66
  });
188
- describe("navigationAllowanceFromMatrix", () => {
189
- it("derives section flags from resolved matrix", () => {
190
- const matrix = buildPermissionMatrix();
191
- matrix.manager.opReport.list = false;
192
- const nav = navigationAllowanceFromMatrix(matrix, "manager");
193
- expect(nav.reports).toBe(false);
194
- expect(nav.brands).toBe(true);
195
- });
196
- it("gates brands nav with systemBrand:list", () => {
197
- const matrix = buildPermissionMatrix();
198
- matrix.manager.systemBrand.list = false;
199
- matrix.manager.brand.list = true;
200
- const nav = navigationAllowanceFromMatrix(matrix, "manager");
201
- expect(nav.brands).toBe(false);
67
+ describe("field visibility registry", () => {
68
+ it("builds defaults matching each entry's defaultReadable", () => {
69
+ const matrix = buildFieldVisibilityMatrix();
70
+ for (const entry of FIELD_VISIBILITY_REGISTRY) {
71
+ const key = fieldVisibilityKey(entry.resource, entry.field);
72
+ for (const role of ROLE_VALUES) {
73
+ expect(matrix[role][key]).toBe(entry.defaultReadable[role]);
74
+ }
75
+ // Staff roles can always see registered fields by default.
76
+ expect(matrix.manager[key]).toBe(true);
77
+ expect(matrix.admin[key]).toBe(true);
78
+ }
202
79
  });
203
- it("uses resolved read gate for intelligence visibility", () => {
204
- const matrix = buildPermissionMatrix();
205
- matrix.client.subredditIntelligence.read = true;
206
- matrix.client.subredditIntelligence.list = false;
207
- const allowed = navigationAllowanceFromMatrix(matrix, "client");
208
- expect(allowed.intelligence).toBe(true);
209
- matrix.client.subredditIntelligence.read = false;
210
- const denied = navigationAllowanceFromMatrix(matrix, "client");
211
- expect(denied.intelligence).toBe(false);
80
+ it("keeps legacy client redactions and batch-2 zero-regression defaults", () => {
81
+ const matrix = buildFieldVisibilityMatrix();
82
+ // Batch 1 mirrored the old hardcoded sanitizers: hidden from client.
83
+ expect(matrix.client["postSnapshot.accountType"]).toBe(false);
84
+ expect(matrix.client["postSnapshot.rawPayload"]).toBe(false);
85
+ // Hot post account dimension was gated away from clients before too.
86
+ expect(matrix.client["subredditHotPost.accountType"]).toBe(false);
87
+ // Batch 2 additions default to visible for everyone (no behaviour change).
88
+ expect(matrix.client["postSnapshot.author"]).toBe(true);
89
+ expect(matrix.client["postSnapshot.teamName"]).toBe(true);
90
+ expect(matrix.client["socialAccount.karma"]).toBe(true);
91
+ expect(matrix.client["opReport.source"]).toBe(true);
92
+ });
93
+ it("emits one allowance flag per registered field for every role", () => {
94
+ const matrix = buildFieldVisibilityMatrix();
95
+ for (const role of ROLE_VALUES) {
96
+ const allowance = fieldAllowanceFromMatrix(matrix, role);
97
+ expect(Object.keys(allowance).sort()).toEqual(FIELD_VISIBILITY_REGISTRY.map((e) => fieldVisibilityKey(e.resource, e.field)).sort());
98
+ }
212
99
  });
213
- });
214
- describe("permissionAllowanceFromMatrix", () => {
215
- it("exposes flat resource.action keys", () => {
216
- const matrix = buildPermissionMatrix();
217
- matrix.manager.socialAccount.list = false;
218
- const allowance = permissionAllowanceFromMatrix(matrix, "manager");
219
- expect(allowance[permissionKey("socialAccount", "list")]).toBe(false);
220
- expect(allowance[permissionKey("subredditIntelligence", "read")]).toBe(true);
100
+ it("never registers hard-sanitized secrets", () => {
101
+ expect(isRegisteredField("postSnapshot", "accountType")).toBe(true);
102
+ expect(isRegisteredField("socialAccount", "credentialsRef")).toBe(false);
103
+ expect(isRegisteredField("user", "passwordHash")).toBe(false);
221
104
  });
222
105
  });
223
- describe("navigation registry invariants", () => {
224
- it("keeps non self-service sections gated or role-restricted", () => {
225
- const weaklyDefined = NAV_SECTION_REGISTRY.filter((entry) => entry.selfService !== true && !entry.gate && !entry.roles);
226
- expect(weaklyDefined).toEqual([]);
227
- });
228
- it("ensures each gated section exists in matrix gates", () => {
229
- const gatedIds = NAV_SECTION_REGISTRY.filter((entry) => entry.gate).map((entry) => entry.id);
230
- for (const id of gatedIds) {
231
- expect(NAV_SECTION_MATRIX_GATES[id]).toBeDefined();
232
- }
233
- });
234
- it("allows manager to read systemSetting for refresh schedule", () => {
235
- const matrix = buildPermissionMatrix();
236
- expect(matrix.manager.systemSetting?.read).toBe(true);
237
- expect(matrix.manager.systemSetting?.update).toBe(false);
106
+ describe("redditMetricsSnapshot dedicated permission resource", () => {
107
+ it("is a registered resource and surfaces in the permission matrix", () => {
108
+ expect(RESOURCE_VALUES).toContain("redditMetricsSnapshot");
238
109
  });
239
- it("gates systemSettings via systemSetting.list in matrix", () => {
240
- expect(NAV_SECTION_MATRIX_GATES.systemSettings).toEqual({
241
- resource: "systemSetting",
242
- action: "list",
243
- });
244
- const matrix = buildPermissionMatrix();
245
- expect(canPerformResolvedAction({
246
- matrix,
247
- role: "admin",
248
- resource: "systemSetting",
249
- action: "list",
250
- })).toBe(true);
251
- expect(canPerformResolvedAction({
252
- matrix,
110
+ it("denies client by default but allows the other roles to list", () => {
111
+ expect(canPerformAction({
253
112
  role: "client",
254
- resource: "systemSetting",
113
+ resource: "redditMetricsSnapshot",
255
114
  action: "list",
256
115
  })).toBe(false);
116
+ for (const role of ROLE_VALUES.filter((r) => r !== "client")) {
117
+ expect(canPerformAction({
118
+ role,
119
+ resource: "redditMetricsSnapshot",
120
+ action: "list",
121
+ })).toBe(true);
122
+ }
257
123
  });
258
- it("keeps self-service section list stable", () => {
259
- expect(NAV_SELF_SERVICE_SECTIONS).toEqual(["profile"]);
260
- });
261
- });
262
- describe("buildPermissionMatrix", () => {
263
- it("builds matrix for all roles/resources/actions", () => {
264
- const matrix = buildPermissionMatrix();
265
- expect(Object.keys(matrix)).toHaveLength(ROLE_VALUES.length);
266
- expect(Object.keys(matrix.admin)).toHaveLength(RESOURCE_VALUES.length);
267
- expect(Object.keys(matrix.admin.brand)).toHaveLength(ACTION_VALUES.length);
268
- expect(matrix.admin.auditLog.read).toBe(true);
269
- expect(matrix.client.apiKey.list).toBe(false);
270
- expect(matrix.client.compliance.list).toBe(false);
271
- expect(matrix.manager.compliance.update).toBe(true);
272
- expect(matrix.admin.cliAuthorization.create).toBe(true);
273
- expect(matrix.manager.cliAuthorization.create).toBe(true);
274
- expect(matrix.admin.cliTokenDuration.update).toBe(true);
275
- expect(matrix.manager.cliTokenDuration.update).toBe(false);
124
+ it("gates the redditMetrics nav section on the dedicated resource", () => {
125
+ const entry = NAV_SECTION_REGISTRY.find((e) => e.id === "redditMetrics");
126
+ expect(entry?.gate).toEqual({
127
+ resource: "redditMetricsSnapshot",
128
+ action: "list",
129
+ });
276
130
  });
277
131
  });
278
- describe("field policy", () => {
279
- it("denies client accountType read on post snapshots", () => {
280
- const policy = getFieldPolicy({
281
- role: "client",
282
- resource: "postSnapshot",
283
- field: "accountType",
132
+ describe("情报任务 / 板块情报 — independent permission resources", () => {
133
+ it("retires the legacy systemSubredditIntelligence resource", () => {
134
+ expect(RESOURCE_VALUES).not.toContain("systemSubredditIntelligence");
135
+ expect(RESOURCE_VALUES).toContain("subredditIntelligence");
136
+ expect(RESOURCE_VALUES).toContain("subredditIntelRuns");
137
+ });
138
+ it("gates 板块情报(intelligence) and 情报任务(intelligenceTasks) on separate rows", () => {
139
+ const board = NAV_SECTION_REGISTRY.find((e) => e.id === "intelligence");
140
+ const tasks = NAV_SECTION_REGISTRY.find((e) => e.id === "intelligenceTasks");
141
+ expect(board?.gate).toEqual({
142
+ resource: "subredditIntelligence",
143
+ action: "read",
144
+ });
145
+ expect(tasks?.gate).toEqual({
146
+ resource: "subredditIntelRuns",
147
+ action: "read",
284
148
  });
285
- expect(policy?.readable).toBe(false);
286
- expect(policy?.mask).toBe("omit");
287
149
  });
288
- });
289
- describe("resolveAccessContext", () => {
290
- it("treats client empty campaign list as restricted", () => {
291
- const resolved = resolveAccessContext({
150
+ it("denies client by default but allows staff roles to read intel runs", () => {
151
+ expect(canPerformAction({
292
152
  role: "client",
293
- primaryTeamId: "t1",
294
- visibleCampaignIds: null,
295
- });
296
- expect(resolved.campaignIds).toEqual([]);
297
- expect(resolved.hasAllCampaignAccess).toBe(false);
153
+ resource: "subredditIntelRuns",
154
+ action: "read",
155
+ })).toBe(false);
156
+ for (const role of ROLE_VALUES.filter((r) => r !== "client")) {
157
+ expect(canPerformAction({
158
+ role,
159
+ resource: "subredditIntelRuns",
160
+ action: "read",
161
+ })).toBe(true);
162
+ }
298
163
  });
299
164
  });
300
165
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geoly-ai/social-hub-authz",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "type": "module",
5
5
  "description": "Runtime permission checks for Social Ops Hub",
6
6
  "repository": {
@@ -23,7 +23,7 @@
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
- "@geoly-ai/social-hub-core": "0.0.3"
26
+ "@geoly-ai/social-hub-core": "0.0.4"
27
27
  },
28
28
  "devDependencies": {
29
29
  "typescript": "^5.7.2",