@company-semantics/contracts 44.5.0 → 45.0.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": "44.5.0",
3
+ "version": "45.0.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -130,7 +130,7 @@
130
130
  "zod": "^4.4.3"
131
131
  },
132
132
  "devDependencies": {
133
- "@types/node": "^26.1.2",
133
+ "@types/node": "^22.20.1",
134
134
  "amphtml-validator": "^1.0.38",
135
135
  "culori": "^4.0.2",
136
136
  "husky": "^9.1.7",
@@ -150,7 +150,6 @@
150
150
  "minimatch@<10.2.3": ">=10.2.3",
151
151
  "js-yaml@>=4.0.0 <4.3.0": ">=4.3.0 <5.0.0",
152
152
  "js-yaml@>=5.0.0 <5.2.2": ">=5.2.2 <6.0.0",
153
- "rollup@<4.59.0": ">=4.59.0",
154
153
  "picomatch@<4.0.4": ">=4.0.4",
155
154
  "esbuild@<0.28.1": ">=0.28.1",
156
155
  "linkify-it@<5.0.2": ">=5.0.2",
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED — do not edit. Run pnpm generate:spec-hash to regenerate.
2
- export const SPEC_HASH = '9bcb0e0bc2cc' as const;
3
- export const SPEC_HASH_FULL = '9bcb0e0bc2cce27742a97dd5f7ef4cadcff268e8700f40554258301cee4e183e' as const;
2
+ export const SPEC_HASH = 'b10dd357bc4f' as const;
3
+ export const SPEC_HASH_FULL = 'b10dd357bc4fd990f9d6646954b3b1aa38f9dce4dd64ecfe8f5f83eb8f51a568' as const;
@@ -4736,8 +4736,8 @@ export interface components {
4736
4736
  extractionStatus: "pending" | "extracting" | "complete" | "failed";
4737
4737
  errorClass?: string | null;
4738
4738
  errorReason?: string | null;
4739
- createdAt: string;
4740
- updatedAt: string;
4739
+ createdAt?: string;
4740
+ updatedAt?: string;
4741
4741
  };
4742
4742
  UpdateCompanyMdTitleRequest: {
4743
4743
  title: string;
@@ -199,8 +199,16 @@ export const CompanyMdDocResponseSchema = z.object({
199
199
  */
200
200
  errorClass: z.string().nullable().optional(),
201
201
  errorReason: z.string().nullable().optional(),
202
- createdAt: z.string(),
203
- updatedAt: z.string(),
202
+ /**
203
+ * Withheld from non-readers — see `CompanyMdDocRelations` for why, and keep the
204
+ * two in lockstep. Present on every reader path; absent on the
205
+ * `locked_requestable` / `redacted_admin` stubs, where a moving timestamp is
206
+ * the last remaining side channel on a doc whose body, collaborators and
207
+ * structure are already withheld. Absence means "you were not told", not
208
+ * "never modified".
209
+ */
210
+ createdAt: z.string().optional(),
211
+ updatedAt: z.string().optional(),
204
212
  });
205
213
 
206
214
  // ---------------------------------------------------------------------------
@@ -275,8 +275,25 @@ export interface CompanyMdDocRelations {
275
275
  readonly inheritsFrom: string | null;
276
276
  readonly sources: readonly CompanyMdSource[];
277
277
  readonly dependencies: readonly CompanyMdDependency[];
278
- readonly createdAt: string;
279
- readonly updatedAt: string;
278
+ /**
279
+ * WITHHELD FROM NON-READERS, and optional for exactly that reason.
280
+ *
281
+ * A non-reader's doc read is a stub: `content` is `''`, and `sources` /
282
+ * `dependencies` / `members` are empty. These two timestamps were the one
283
+ * thing left on it that still reported activity INSIDE the document — that
284
+ * someone wrote to it, and roughly when. On a doc whose body, collaborators
285
+ * and structure are all withheld, a moving `updatedAt` is a side channel: poll
286
+ * it and you learn how busy a document you cannot open is.
287
+ *
288
+ * So they are absent on the `locked_requestable` / `redacted_admin` branches
289
+ * and present on every reader path. Optional rather than nullable because
290
+ * "withheld" is the absence of an answer, not an answer of `null` — and
291
+ * because an older consumer reading the new API sees a missing field, which is
292
+ * the shape it already tolerates for every other stub-withheld value here.
293
+ * Treat absence as "you were not told", never as "never modified".
294
+ */
295
+ readonly createdAt?: string;
296
+ readonly updatedAt?: string;
280
297
  }
281
298
 
282
299
  export type CompanyMdDoc = CompanyMdDocCore &