@company-semantics/contracts 44.2.0 → 44.4.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.2.0",
3
+ "version": "44.4.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -80,8 +80,8 @@
80
80
  },
81
81
  "scripts": {
82
82
  "build": "tsc -b --noEmit",
83
- "typecheck": "tsc -b --noEmit",
84
- "typecheck:ci": "tsc -p scripts/ci/tsconfig.json",
83
+ "typecheck": "NODE_OPTIONS='--max-old-space-size=4096' tsc -b --noEmit",
84
+ "typecheck:ci": "NODE_OPTIONS='--max-old-space-size=4096' tsc -p scripts/ci/tsconfig.json",
85
85
  "lint:md": "markdownlint-cli2 '**/*.md' '#node_modules' '#.ralph/worktrees' '#.claude/worktrees'",
86
86
  "format": "prettier --write src/",
87
87
  "format:check": "prettier --check src/",
@@ -99,11 +99,11 @@
99
99
  "guard:quick": "GUARD_DEPENDENCY_ROOT=../ tsx ../company-semantics-ci/run-guards.ts --config scripts/ci/guard-entries.ts --quick",
100
100
  "ci:local": "pnpm typecheck && pnpm lint:md && pnpm guard:test && GUARD_DEPENDENCY_ROOT=../ pnpm guard",
101
101
  "guard": "GUARD_DEPENDENCY_ROOT=../ tsx ../company-semantics-ci/run-guards.ts --config scripts/ci/guard-entries.ts",
102
- "guard:test": "vitest run scripts/ci/__tests__",
102
+ "guard:test": "NODE_OPTIONS='--max-old-space-size=4096' vitest run scripts/ci/__tests__",
103
103
  "release": "npx tsx scripts/release.ts",
104
104
  "prepublishOnly": "echo 'ERROR: Publishing is CI-only via tag push. Use pnpm release instead.' && exit 1",
105
- "test": "bash scripts/vitest-run.sh run",
106
- "test:run": "bash scripts/vitest-run.sh run",
105
+ "test": "NODE_OPTIONS='--max-old-space-size=4096' bash scripts/vitest-run.sh run",
106
+ "test:run": "NODE_OPTIONS='--max-old-space-size=4096' bash scripts/vitest-run.sh run",
107
107
  "color": "tsx scripts/color.ts",
108
108
  "generate:spec-hash": "tsx scripts/generate-spec-hash.ts",
109
109
  "generate:spec-hash:check": "tsx scripts/generate-spec-hash.ts --check",
@@ -114,6 +114,7 @@
114
114
  "generate:openapi-routes:check": "tsx scripts/generate-openapi-routes.ts --check",
115
115
  "generate:api-types:check": "openapi-typescript openapi/backend.yaml -o /tmp/cs-api-types-check.ts && diff -q src/api/generated.ts /tmp/cs-api-types-check.ts",
116
116
  "generate:current": "tsx ../company-semantics-ci/scripts/generate-current.ts",
117
+ "adr:new": "tsx ../company-semantics-control/scripts/adr/adr-new-cli.ts",
117
118
  "repo-map": "tsx ../company-semantics-ci/scripts/generate-repo-map.ts --roots src --name company-semantics-contracts --write",
118
119
  "repo-map:check": "tsx ../company-semantics-ci/scripts/generate-repo-map.ts --roots src --name company-semantics-contracts --check",
119
120
  "readme-api": "tsx ../company-semantics-ci/scripts/generate-readme-api.ts --roots src --write --jsdoc",
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED — do not edit. Run pnpm generate:spec-hash to regenerate.
2
- export const SPEC_HASH = 'c4ce5a8f3e9b' as const;
3
- export const SPEC_HASH_FULL = 'c4ce5a8f3e9b221190fe57672f0f485d50f763f2480162cbfdedb59140ef7450' as const;
2
+ export const SPEC_HASH = '9bcb0e0bc2cc' as const;
3
+ export const SPEC_HASH_FULL = '9bcb0e0bc2cce27742a97dd5f7ef4cadcff268e8700f40554258301cee4e183e' as const;
@@ -2879,6 +2879,23 @@ export interface paths {
2879
2879
  patch?: never;
2880
2880
  trace?: never;
2881
2881
  };
2882
+ "/api/me/md": {
2883
+ parameters: {
2884
+ query?: never;
2885
+ header?: never;
2886
+ path?: never;
2887
+ cookie?: never;
2888
+ };
2889
+ /** Get (and lazily materialize) my personal doc */
2890
+ get: operations["getMyMd"];
2891
+ put?: never;
2892
+ post?: never;
2893
+ delete?: never;
2894
+ options?: never;
2895
+ head?: never;
2896
+ patch?: never;
2897
+ trace?: never;
2898
+ };
2882
2899
  "/api/me/action-items": {
2883
2900
  parameters: {
2884
2901
  query?: never;
@@ -5550,7 +5567,7 @@ export interface components {
5550
5567
  WorkItemDetailResponse: {
5551
5568
  id: string;
5552
5569
  /** @enum {string} */
5553
- kind: "meeting" | "comm" | "doc";
5570
+ kind: "meeting" | "comm" | "doc" | "personal";
5554
5571
  title: string;
5555
5572
  content: string;
5556
5573
  contentRedacted?: boolean;
@@ -9634,7 +9651,9 @@ export interface operations {
9634
9651
  };
9635
9652
  listOrgUnitOwners: {
9636
9653
  parameters: {
9637
- query?: never;
9654
+ query?: {
9655
+ explain?: "true" | "false";
9656
+ };
9638
9657
  header?: never;
9639
9658
  path: {
9640
9659
  unitId: string;
@@ -10205,7 +10224,9 @@ export interface operations {
10205
10224
  };
10206
10225
  importOrgChart: {
10207
10226
  parameters: {
10208
- query?: never;
10227
+ query?: {
10228
+ dryRun?: "true" | "false";
10229
+ };
10209
10230
  header?: never;
10210
10231
  path?: never;
10211
10232
  cookie?: never;
@@ -10401,7 +10422,12 @@ export interface operations {
10401
10422
  };
10402
10423
  listDriveFiles: {
10403
10424
  parameters: {
10404
- query?: never;
10425
+ query?: {
10426
+ q?: string;
10427
+ pageSize?: number;
10428
+ pageToken?: string;
10429
+ mimeTypes?: string;
10430
+ };
10405
10431
  header?: never;
10406
10432
  path?: never;
10407
10433
  cookie?: never;
@@ -10421,7 +10447,10 @@ export interface operations {
10421
10447
  };
10422
10448
  listRecentDriveFiles: {
10423
10449
  parameters: {
10424
- query?: never;
10450
+ query?: {
10451
+ pageSize?: number;
10452
+ pageToken?: string;
10453
+ };
10425
10454
  header?: never;
10426
10455
  path?: never;
10427
10456
  cookie?: never;
@@ -10441,7 +10470,9 @@ export interface operations {
10441
10470
  };
10442
10471
  getDriveFileContent: {
10443
10472
  parameters: {
10444
- query?: never;
10473
+ query: {
10474
+ mimeType: string;
10475
+ };
10445
10476
  header?: never;
10446
10477
  path: {
10447
10478
  fileId: string;
@@ -10738,7 +10769,15 @@ export interface operations {
10738
10769
  };
10739
10770
  listMyWorkItems: {
10740
10771
  parameters: {
10741
- query?: never;
10772
+ query: {
10773
+ cursor?: string;
10774
+ limit?: number;
10775
+ kind: "meeting" | "comm" | "doc";
10776
+ period?: "current_month" | "last_30_days" | "last_7_days" | "yesterday";
10777
+ anchor?: string;
10778
+ before?: number;
10779
+ after?: number;
10780
+ };
10742
10781
  header?: never;
10743
10782
  path?: never;
10744
10783
  cookie?: never;
@@ -10756,7 +10795,9 @@ export interface operations {
10756
10795
  };
10757
10796
  getMyWorkItemCounts: {
10758
10797
  parameters: {
10759
- query?: never;
10798
+ query?: {
10799
+ period?: "current_month" | "last_30_days" | "last_7_days" | "yesterday";
10800
+ };
10760
10801
  header?: never;
10761
10802
  path?: never;
10762
10803
  cookie?: never;
@@ -10774,7 +10815,9 @@ export interface operations {
10774
10815
  };
10775
10816
  getWorkspaceWorkItemCounts: {
10776
10817
  parameters: {
10777
- query?: never;
10818
+ query?: {
10819
+ period?: "current_month" | "last_30_days" | "last_7_days" | "yesterday";
10820
+ };
10778
10821
  header?: never;
10779
10822
  path?: never;
10780
10823
  cookie?: never;
@@ -10885,6 +10928,26 @@ export interface operations {
10885
10928
  };
10886
10929
  };
10887
10930
  };
10931
+ getMyMd: {
10932
+ parameters: {
10933
+ query?: never;
10934
+ header?: never;
10935
+ path?: never;
10936
+ cookie?: never;
10937
+ };
10938
+ requestBody?: never;
10939
+ responses: {
10940
+ /** @description The caller-owned personal doc (kind personal), created on first access with an empty body */
10941
+ 200: {
10942
+ headers: {
10943
+ [name: string]: unknown;
10944
+ };
10945
+ content: {
10946
+ "application/json": components["schemas"]["WorkItemDetailResponse"];
10947
+ };
10948
+ };
10949
+ };
10950
+ };
10888
10951
  listMyActionItems: {
10889
10952
  parameters: {
10890
10953
  query?: never;
@@ -11746,7 +11809,11 @@ export interface operations {
11746
11809
  };
11747
11810
  factoryKpis: {
11748
11811
  parameters: {
11749
- query?: never;
11812
+ query?: {
11813
+ since?: string;
11814
+ source?: "ralph" | "interactive";
11815
+ limit?: number;
11816
+ };
11750
11817
  header?: never;
11751
11818
  path?: never;
11752
11819
  cookie?: never;
@@ -217,7 +217,9 @@ export const CompanyMdDocResponseSchema = z.object({
217
217
  */
218
218
  export const WorkItemDetailResponseSchema = z.object({
219
219
  id: z.string(),
220
- kind: z.enum(["meeting", "comm", "doc"]),
220
+ // `personal` is the /me/md page (ADR-BE-487): a per-(org, user) singleton
221
+ // riding the work_items substrate, served by getMyMd and this detail route.
222
+ kind: z.enum(["meeting", "comm", "doc", "personal"]),
221
223
  title: z.string(),
222
224
  content: z.string(),
223
225
  /**
@@ -79,6 +79,7 @@ export const openApiRoutes = {
79
79
  '/api/me/feed': ['GET'],
80
80
  '/api/me/feed/read': ['POST'],
81
81
  '/api/me/feed/read-all': ['POST'],
82
+ '/api/me/md': ['GET'],
82
83
  '/api/me/meetings/recordings/start': ['POST'],
83
84
  '/api/me/meetings/recordings/{id}': ['DELETE'],
84
85
  '/api/me/meetings/recordings/{id}/complete': ['POST'],
@@ -113,9 +113,12 @@ export const AclListResponseSchema = z.object({
113
113
  * Who knows this entity EXISTS — a SIBLING of `visibility`, not a modifier
114
114
  * on it (ADR-CONTRACTS-093).
115
115
  *
116
- * ABSENT => this entity type has no discoverability axis (work_item,
117
- * meeting_recording). Deliberately not defaulted: `org|owners` has no honest
118
- * cross-entity value, unlike `general_access_role`'s `viewer`.
116
+ * ABSENT => the share dialog has no discoverability control for this
117
+ * entity: meeting_recording (no axis at all) and company_md (the policy is
118
+ * DERIVED server-side — 'org' for structural docs, ADR-BE-482 never
119
+ * share-governed). PRESENT only for work_item, the one stored,
120
+ * share-governed axis (ADR-BE-486). Deliberately not defaulted: `org|owners`
121
+ * has no honest cross-entity value, unlike `general_access_role`'s `viewer`.
119
122
  *
120
123
  * The policy's domain is NON-READERS only. When `visibility` is `org` every
121
124
  * member is a reader, so the stored value affects no one — it is not erased,