@company-semantics/contracts 39.0.0 → 39.2.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@company-semantics/contracts",
3
- "version": "39.0.0",
3
+ "version": "39.2.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -143,12 +143,14 @@
143
143
  },
144
144
  "pnpm": {
145
145
  "overrides": {
146
- "picomatch": ">=4.0.4"
146
+ "picomatch": ">=4.0.4",
147
+ "brace-expansion@<5.0.8": ">=5.0.8"
147
148
  }
148
149
  },
149
150
  "lint-staged": {
150
151
  "*.ts": "bash -c 'tsc -b --noEmit'",
151
152
  "*.md": "markdownlint-cli2",
152
153
  "package.json": "node -e \"JSON.parse(require('fs').readFileSync('package.json'))\""
153
- }
154
+ },
155
+ "securityRequirementsVersion": "8320e7a5612c6877c2959c127ffa78e693b9d1e95805340a5e4af11a01c4a669"
154
156
  }
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED — do not edit. Run pnpm generate:spec-hash to regenerate.
2
- export const SPEC_HASH = '35fcb4a5f2ca' as const;
3
- export const SPEC_HASH_FULL = '35fcb4a5f2ca6f167a3b18024de026f143681623fea3442c2587b2ab64c9d34a' as const;
2
+ export const SPEC_HASH = '4669379f3c9c' as const;
3
+ export const SPEC_HASH_FULL = '4669379f3c9c9733dea3f5bf53f2c1c0d1f0e496fddbf874e8d1f1951e805d7c' as const;
@@ -4546,6 +4546,8 @@ export interface components {
4546
4546
  }[];
4547
4547
  canEdit: boolean;
4548
4548
  canUploadContext?: boolean;
4549
+ canManageAcl?: boolean;
4550
+ canChangeVisibility?: boolean;
4549
4551
  inheritsFromId: string | null;
4550
4552
  inheritsFrom: string | null;
4551
4553
  sources: {
@@ -153,6 +153,26 @@ export const CompanyMdDocResponseSchema = z.object({
153
153
  * doc shapes returned outside the single-doc read.
154
154
  */
155
155
  canUploadContext: z.boolean().optional(),
156
+ /**
157
+ * COLLABORATION capability signal (ADR-BE-434): whether the requesting actor
158
+ * holds `CompanyMd.CanShare` (`ACL_MANAGE` — the editor+ effective band OR the
159
+ * `org.manage_content_sharing` admin custody) on this doc — the SAME binding the
160
+ * `/acl` + sharing routes enforce. The app gates the Share affordance on it so a
161
+ * viewer/commenter never opens a dead Share dialog. Signal only; admittance and
162
+ * enforcement are unchanged. Optional for back-compat with doc shapes returned
163
+ * outside the single-doc read.
164
+ */
165
+ canManageAcl: z.boolean().optional(),
166
+ /**
167
+ * GOVERNANCE capability signal (ADR-BE-435): whether the requesting actor holds
168
+ * `CompanyMd.CanChangeVisibility` (owner OR the `org.manage_content_sharing`
169
+ * admin custody) on this doc — the SAME binding the visibility/sharing-policy
170
+ * write enforces. The app renders the Share dialog's general-access +
171
+ * discoverability controls read-only when false, so a non-governing editor
172
+ * cannot change a governance control and 403 on save. Signal only; admittance
173
+ * and enforcement are unchanged. Optional for back-compat.
174
+ */
175
+ canChangeVisibility: z.boolean().optional(),
156
176
  // Stable id of the inherited-from doc — the resolution key (mirrors the
157
177
  // resolved parentId). `inheritsFrom` is presentation only (ADR-BE-315).
158
178
  inheritsFromId: z.string().nullable(),
@@ -238,6 +238,21 @@ export interface ContractsConsumerBaseline {
238
238
  packageJsonPath: string;
239
239
  }
240
240
 
241
+ /**
242
+ * Security-overrides-sync guard baseline configuration.
243
+ * CI injects checkOverridesSync based on this config.
244
+ *
245
+ * Verifies the repo never RESOLVES a package below the ci security-version
246
+ * policy (company-semantics-ci/dependency-policy/security-requirements.ts). The
247
+ * requirement set is central in ci — a repo declares only where its manifest is.
248
+ *
249
+ * @see ADR-CI-122 (policy + resolver + guard) and ADR-CTRL-273 (sync driver)
250
+ */
251
+ export interface SecurityOverridesBaseline {
252
+ /** Path to package.json relative to repo root */
253
+ packageJsonPath: string;
254
+ }
255
+
241
256
  /**
242
257
  * Structural guard baselines.
243
258
  * Product repos provide DATA only; CI orchestrator owns guard implementations.
@@ -264,6 +279,13 @@ export interface StructuralBaselines {
264
279
  * Enforces: consumers never advance ahead of npm.
265
280
  */
266
281
  contractsConsumer?: ContractsConsumerBaseline;
282
+
283
+ /**
284
+ * Security-overrides-sync check configuration.
285
+ * CI injects checkOverridesSync based on this config.
286
+ * Enforces: no package resolves below the ci security-version policy.
287
+ */
288
+ securityOverrides?: SecurityOverridesBaseline;
267
289
  }
268
290
 
269
291
  /**