@company-semantics/contracts 7.1.1 → 8.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": "7.1.1",
3
+ "version": "8.1.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -113,14 +113,14 @@
113
113
  "zod": "^4.4.3"
114
114
  },
115
115
  "devDependencies": {
116
- "@types/node": "^22.19.19",
116
+ "@types/node": "^25.9.1",
117
117
  "husky": "^9.1.7",
118
- "lint-staged": "^17.0.5",
118
+ "lint-staged": "^17.0.7",
119
119
  "markdownlint-cli2": "^0.22.1",
120
120
  "openapi-typescript": "^7.13.0",
121
- "tsx": "^4.22.3",
121
+ "tsx": "^4.22.4",
122
122
  "typescript": "^5",
123
- "vitest": "^4.1.6",
123
+ "vitest": "^4.1.8",
124
124
  "yaml": "^2.9.0"
125
125
  },
126
126
  "pnpm": {
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED — do not edit. Run pnpm generate:spec-hash to regenerate.
2
- export const SPEC_HASH = '937aecbfe6e6' as const;
3
- export const SPEC_HASH_FULL = '937aecbfe6e6533edabb1b83d66be83f63100e519ecf9e4531af3e8a627e122a' as const;
2
+ export const SPEC_HASH = 'c2756928db05' as const;
3
+ export const SPEC_HASH_FULL = 'c2756928db052a2f0841560ee34d43709ac6ceceaa62326e30f6391d48e30cdd' as const;
@@ -38,6 +38,23 @@ export interface paths {
38
38
  patch?: never;
39
39
  trace?: never;
40
40
  };
41
+ "/auth/cloudflare": {
42
+ parameters: {
43
+ query?: never;
44
+ header?: never;
45
+ path?: never;
46
+ cookie?: never;
47
+ };
48
+ get?: never;
49
+ put?: never;
50
+ /** Mint a session from a verified Cloudflare Access JWT (ADR-BE-228) */
51
+ post: operations["cloudflareAccessLogin"];
52
+ delete?: never;
53
+ options?: never;
54
+ head?: never;
55
+ patch?: never;
56
+ trace?: never;
57
+ };
41
58
  "/auth/logout": {
42
59
  parameters: {
43
60
  query?: never;
@@ -2679,6 +2696,23 @@ export interface paths {
2679
2696
  patch?: never;
2680
2697
  trace?: never;
2681
2698
  };
2699
+ "/api/factory/floor": {
2700
+ parameters: {
2701
+ query?: never;
2702
+ header?: never;
2703
+ path?: never;
2704
+ cookie?: never;
2705
+ };
2706
+ /** Read the factory floor (stations, heartbeats, recent events) */
2707
+ get: operations["factoryFloor"];
2708
+ put?: never;
2709
+ post?: never;
2710
+ delete?: never;
2711
+ options?: never;
2712
+ head?: never;
2713
+ patch?: never;
2714
+ trace?: never;
2715
+ };
2682
2716
  "/api/internal-admin/impersonate/start": {
2683
2717
  parameters: {
2684
2718
  query?: never;
@@ -2777,6 +2811,12 @@ export interface components {
2777
2811
  code: string;
2778
2812
  inviteToken?: string;
2779
2813
  };
2814
+ CfAccessLoginResponse: {
2815
+ /** @constant */
2816
+ success: true;
2817
+ /** @constant */
2818
+ ok: true;
2819
+ };
2780
2820
  LogoutResponse: {
2781
2821
  /** @constant */
2782
2822
  success: true;
@@ -3119,6 +3159,7 @@ export interface components {
3119
3159
  id: string;
3120
3160
  name: string;
3121
3161
  email: string;
3162
+ avatarUrl?: string | null;
3122
3163
  jobTitle: string | null;
3123
3164
  role: ("ceo" | "leader" | "delegate" | "admin") | null;
3124
3165
  roleNames: string[];
@@ -3313,6 +3354,7 @@ export interface components {
3313
3354
  id: string;
3314
3355
  name: string;
3315
3356
  email: string;
3357
+ avatarUrl?: string | null;
3316
3358
  jobTitle: string | null;
3317
3359
  role: ("ceo" | "leader" | "delegate" | "admin") | null;
3318
3360
  roleNames: string[];
@@ -3650,10 +3692,6 @@ export interface components {
3650
3692
  requiredScope?: string;
3651
3693
  };
3652
3694
  };
3653
- orgUnit?: {
3654
- /** @enum {string} */
3655
- manage: "allowed" | "blocked";
3656
- };
3657
3695
  actions?: {
3658
3696
  members: {
3659
3697
  invite: {
@@ -3679,6 +3717,13 @@ export interface components {
3679
3717
  requiredScope?: string;
3680
3718
  };
3681
3719
  };
3720
+ orgUnit: {
3721
+ manage: {
3722
+ /** @enum {string} */
3723
+ state: "allowed" | "blocked";
3724
+ requiredScope?: string;
3725
+ };
3726
+ };
3682
3727
  };
3683
3728
  };
3684
3729
  CompanyMdListResponse: {
@@ -4754,6 +4799,30 @@ export interface components {
4754
4799
  source: "explicit" | "ownership" | "visibility" | "inheritance" | "migration";
4755
4800
  }[];
4756
4801
  };
4802
+ FloorResponse: {
4803
+ stations: {
4804
+ id: string;
4805
+ name: string;
4806
+ type: string;
4807
+ capabilities: string[];
4808
+ lastSeen: string | null;
4809
+ heartbeat: {
4810
+ status: string;
4811
+ lastFingerprintAt: string | null;
4812
+ summary: {
4813
+ [key: string]: unknown;
4814
+ };
4815
+ } | null;
4816
+ recentEvents: {
4817
+ id: string;
4818
+ eventType: string;
4819
+ payload: {
4820
+ [key: string]: unknown;
4821
+ };
4822
+ eventTimestamp: string;
4823
+ }[];
4824
+ }[];
4825
+ };
4757
4826
  ImpersonationSessionResponse: {
4758
4827
  session: {
4759
4828
  impersonationSessionId: string;
@@ -4849,6 +4918,26 @@ export interface operations {
4849
4918
  };
4850
4919
  };
4851
4920
  };
4921
+ cloudflareAccessLogin: {
4922
+ parameters: {
4923
+ query?: never;
4924
+ header?: never;
4925
+ path?: never;
4926
+ cookie?: never;
4927
+ };
4928
+ requestBody?: never;
4929
+ responses: {
4930
+ /** @description Session created from Cloudflare Access identity; cookie set */
4931
+ 200: {
4932
+ headers: {
4933
+ [name: string]: unknown;
4934
+ };
4935
+ content: {
4936
+ "application/json": components["schemas"]["CfAccessLoginResponse"];
4937
+ };
4938
+ };
4939
+ };
4940
+ };
4852
4941
  logout: {
4853
4942
  parameters: {
4854
4943
  query?: never;
@@ -9244,6 +9333,40 @@ export interface operations {
9244
9333
  };
9245
9334
  };
9246
9335
  };
9336
+ factoryFloor: {
9337
+ parameters: {
9338
+ query?: never;
9339
+ header?: never;
9340
+ path?: never;
9341
+ cookie?: never;
9342
+ };
9343
+ requestBody?: never;
9344
+ responses: {
9345
+ /** @description Factory floor snapshot */
9346
+ 200: {
9347
+ headers: {
9348
+ [name: string]: unknown;
9349
+ };
9350
+ content: {
9351
+ "application/json": components["schemas"]["FloorResponse"];
9352
+ };
9353
+ };
9354
+ /** @description Not authenticated */
9355
+ 401: {
9356
+ headers: {
9357
+ [name: string]: unknown;
9358
+ };
9359
+ content?: never;
9360
+ };
9361
+ /** @description Not an internal admin */
9362
+ 403: {
9363
+ headers: {
9364
+ [name: string]: unknown;
9365
+ };
9366
+ content?: never;
9367
+ };
9368
+ };
9369
+ };
9247
9370
  startImpersonation: {
9248
9371
  parameters: {
9249
9372
  query?: never;