@company-semantics/contracts 21.3.0 → 22.1.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": "21.3.0",
3
+ "version": "22.1.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED — do not edit. Run pnpm generate:spec-hash to regenerate.
2
- export const SPEC_HASH = '16094a4fcda0' as const;
3
- export const SPEC_HASH_FULL = '16094a4fcda0647e96289cdc0e104eab13d9539c043207cdda1ad8c8bf5a4dcb' as const;
2
+ export const SPEC_HASH = '151972b62216' as const;
3
+ export const SPEC_HASH_FULL = '151972b622165a687006fbe1047eb84210072a2c2be50fd1c7651312e5266e1f' as const;
@@ -2959,6 +2959,23 @@ export interface paths {
2959
2959
  patch?: never;
2960
2960
  trace?: never;
2961
2961
  };
2962
+ "/api/factory/kpis": {
2963
+ parameters: {
2964
+ query?: never;
2965
+ header?: never;
2966
+ path?: never;
2967
+ cookie?: never;
2968
+ };
2969
+ /** Read the factory KPI rollup (navigability over traversal_cost events) */
2970
+ get: operations["factoryKpis"];
2971
+ put?: never;
2972
+ post?: never;
2973
+ delete?: never;
2974
+ options?: never;
2975
+ head?: never;
2976
+ patch?: never;
2977
+ trace?: never;
2978
+ };
2962
2979
  "/api/internal-admin/impersonate/start": {
2963
2980
  parameters: {
2964
2981
  query?: never;
@@ -3805,6 +3822,19 @@ export interface components {
3805
3822
  homeUnitId?: string;
3806
3823
  /** @enum {string} */
3807
3824
  homeUnitRole?: "member" | "unit_owner";
3825
+ stagedPlacement?: {
3826
+ title?: string;
3827
+ /** Format: uuid */
3828
+ managerUserId?: string;
3829
+ /** Format: uuid */
3830
+ homeUnitId?: string;
3831
+ /** @enum {string} */
3832
+ homeUnitRole?: "member" | "unit_owner";
3833
+ /** @default [] */
3834
+ unitOwnerOf: string[];
3835
+ /** @default [] */
3836
+ contributesTo: string[];
3837
+ };
3808
3838
  };
3809
3839
  InviteListResponse: {
3810
3840
  id: string;
@@ -5392,6 +5422,95 @@ export interface components {
5392
5422
  } | null;
5393
5423
  receivedAt: string | null;
5394
5424
  };
5425
+ SoftwareFactoryKpis: {
5426
+ generatedFrom: {
5427
+ events: number;
5428
+ sessions: number;
5429
+ };
5430
+ navigability: {
5431
+ overall: {
5432
+ p95Reads: number;
5433
+ p50Reads: number;
5434
+ p95ContextTokens: number;
5435
+ p50ContextTokens: number;
5436
+ reachedEditRate: number;
5437
+ searchEscapeRate: number;
5438
+ medianReadsAfterFirstEdit: number;
5439
+ p95ReadsAfterFirstEdit: number;
5440
+ navMapUsageBySource: {
5441
+ [key: string]: number;
5442
+ };
5443
+ };
5444
+ mapRoi: {
5445
+ withMap: {
5446
+ p95Reads: number;
5447
+ p95ContextTokens: number;
5448
+ n: number;
5449
+ };
5450
+ withoutMap: {
5451
+ p95Reads: number;
5452
+ p95ContextTokens: number;
5453
+ n: number;
5454
+ };
5455
+ };
5456
+ entropyLeaders: {
5457
+ prdId: string;
5458
+ p95Reads: number;
5459
+ p95ContextTokens: number;
5460
+ medianReadsAfterFirstEdit: number;
5461
+ }[];
5462
+ bySource: ({
5463
+ source: string;
5464
+ } & {
5465
+ p95Reads?: number;
5466
+ p50Reads?: number;
5467
+ p95ContextTokens?: number;
5468
+ p50ContextTokens?: number;
5469
+ reachedEditRate?: number;
5470
+ searchEscapeRate?: number;
5471
+ medianReadsAfterFirstEdit?: number;
5472
+ p95ReadsAfterFirstEdit?: number;
5473
+ navMapUsageBySource?: {
5474
+ [key: string]: number;
5475
+ };
5476
+ })[];
5477
+ trend: {
5478
+ recent: {
5479
+ p95Reads?: number;
5480
+ p50Reads?: number;
5481
+ p95ContextTokens?: number;
5482
+ p50ContextTokens?: number;
5483
+ reachedEditRate?: number;
5484
+ searchEscapeRate?: number;
5485
+ medianReadsAfterFirstEdit?: number;
5486
+ p95ReadsAfterFirstEdit?: number;
5487
+ navMapUsageBySource?: {
5488
+ [key: string]: number;
5489
+ };
5490
+ };
5491
+ prior: {
5492
+ p95Reads?: number;
5493
+ p50Reads?: number;
5494
+ p95ContextTokens?: number;
5495
+ p50ContextTokens?: number;
5496
+ reachedEditRate?: number;
5497
+ searchEscapeRate?: number;
5498
+ medianReadsAfterFirstEdit?: number;
5499
+ p95ReadsAfterFirstEdit?: number;
5500
+ navMapUsageBySource?: {
5501
+ [key: string]: number;
5502
+ };
5503
+ };
5504
+ deltaP95Reads: number | null;
5505
+ };
5506
+ };
5507
+ throughput: {
5508
+ [key: string]: unknown;
5509
+ } | null;
5510
+ quality: {
5511
+ [key: string]: unknown;
5512
+ } | null;
5513
+ };
5395
5514
  ImpersonationSessionResponse: {
5396
5515
  session: {
5397
5516
  impersonationSessionId: string;
@@ -10386,6 +10505,40 @@ export interface operations {
10386
10505
  };
10387
10506
  };
10388
10507
  };
10508
+ factoryKpis: {
10509
+ parameters: {
10510
+ query?: never;
10511
+ header?: never;
10512
+ path?: never;
10513
+ cookie?: never;
10514
+ };
10515
+ requestBody?: never;
10516
+ responses: {
10517
+ /** @description Factory KPI rollup (navigability populated; throughput/quality null) */
10518
+ 200: {
10519
+ headers: {
10520
+ [name: string]: unknown;
10521
+ };
10522
+ content: {
10523
+ "application/json": components["schemas"]["SoftwareFactoryKpis"];
10524
+ };
10525
+ };
10526
+ /** @description Not authenticated */
10527
+ 401: {
10528
+ headers: {
10529
+ [name: string]: unknown;
10530
+ };
10531
+ content?: never;
10532
+ };
10533
+ /** @description Not an internal admin */
10534
+ 403: {
10535
+ headers: {
10536
+ [name: string]: unknown;
10537
+ };
10538
+ content?: never;
10539
+ };
10540
+ };
10541
+ };
10389
10542
  startImpersonation: {
10390
10543
  parameters: {
10391
10544
  query?: never;
@@ -84,7 +84,7 @@ TypeScript types and functions for user identity and display name resolution.
84
84
 
85
85
  **Internal domains:**
86
86
 
87
- _None._
87
+ - `org`
88
88
 
89
89
  **External packages:**
90
90
 
@@ -12,6 +12,7 @@
12
12
  * ADR-BE-120). Tree traversal must never consult either.
13
13
  */
14
14
  import { z } from "zod";
15
+ import { AuthorityMutabilitySchema } from "../org/schemas";
15
16
 
16
17
  // ---------------------------------------------------------------------------
17
18
  // Reporting Relationship Type
@@ -34,6 +35,14 @@ export type ReportingRelationshipType = z.infer<
34
35
  export const PeopleOrgChartOwnedUnitSchema = z.object({
35
36
  id: z.string().uuid(),
36
37
  name: z.string(),
38
+ // Whether this local structural ownership is DERIVED from reporting topology
39
+ // (the senior person homed in a unit with no manager inside it — ADR-BE-267/
40
+ // 294/329) or an explicit grant (`user_managed`). The chart marks a derived
41
+ // owner with the distinct ✧ marker (not the held-key glyph). A derived owner
42
+ // can't be revoked in place — only relinquished. Display + affordance gating
43
+ // only; never an authorization input. Mirrors `WorkspaceMemberUnitDesignation
44
+ // Entry.mutability`.
45
+ mutability: AuthorityMutabilitySchema,
37
46
  });
38
47
 
39
48
  export type PeopleOrgChartOwnedUnit = z.infer<