@company-semantics/contracts 54.0.0 → 56.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": "54.0.0",
3
+ "version": "56.0.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 = '691f7bd81d0c' as const;
3
- export const SPEC_HASH_FULL = '691f7bd81d0c34aebd47c457a170dd48443a3f9eb007312fa97af00d9a4ccf30' as const;
2
+ export const SPEC_HASH = '6eb28e0d82f9' as const;
3
+ export const SPEC_HASH_FULL = '6eb28e0d82f9d1d88e4fc954ece5377c85ddd6da30b6171c4d2aa75f347c09ed' as const;
@@ -4982,6 +4982,7 @@ export interface components {
4982
4982
  type: "company" | "department" | "team" | "cross_team" | "doc" | "goal" | "source" | "map" | "context_bank";
4983
4983
  canEdit: boolean;
4984
4984
  memberCount: number;
4985
+ openRoleCount: number;
4985
4986
  description?: string;
4986
4987
  orderKey?: string;
4987
4988
  /** @enum {string} */
@@ -58,6 +58,12 @@ const CompanyMdTreeNodeSchema = z.object({
58
58
  ]),
59
59
  canEdit: z.boolean(),
60
60
  memberCount: z.number().int(),
61
+ /**
62
+ * Active open roles (`open` + `hiring`) on this node's owning unit — the
63
+ * companion to `memberCount` in the "(N + M open)" split. DIRECT per-unit,
64
+ * not a subtree rollup, matching this projection's `memberCount` scope.
65
+ */
66
+ openRoleCount: z.number().int().min(0),
61
67
  description: z.string().optional(),
62
68
  /** Fractional-index key for ordered entity wrappers (unit/context). */
63
69
  orderKey: z.string().optional(),
@@ -54,6 +54,20 @@ export const HrConnectionStatusSchema = z
54
54
  "including when `credentialState` is 'unusable', so a dead " +
55
55
  "integration can still be disconnected. Null only when 'absent'.",
56
56
  }),
57
+ subdomain: z
58
+ .string()
59
+ .nullable()
60
+ .meta({
61
+ description:
62
+ "Customer tenant subdomain on the HR provider (e.g. the BambooHR " +
63
+ "company subdomain) that this connection points at. Present " +
64
+ "whenever a connection row exists, INCLUDING when " +
65
+ "`credentialState` is 'unusable', so a reconnect can prefill the " +
66
+ "tenant the org already synced instead of asking the user to " +
67
+ "retype it from memory — a one-character miss there is rejected " +
68
+ 'as "organization not found", which reads like the HR org ' +
69
+ "vanished rather than like a typo. Null only when 'absent'.",
70
+ }),
57
71
  employeeCount: z.number().int().nonnegative().nullable().meta({
58
72
  description:
59
73
  "Employees mirrored from the HR provider; null when never synced.",
@@ -168,6 +168,14 @@ export interface CompanyMdTreeNode extends CompanyMdNodeIdentity {
168
168
  readonly type: CompanyMdNodeType;
169
169
  readonly canEdit: boolean;
170
170
  readonly memberCount: number;
171
+ /**
172
+ * Active open roles (`open` + `hiring`) on this node's owning unit, the
173
+ * companion to `memberCount` in the "(N + M open)" people-count split.
174
+ * Unlike `OrgUnitTreeNode.openRoleCount` this is a DIRECT per-unit count,
175
+ * not a subtree rollup — it is paired with this projection's `memberCount`,
176
+ * which is itself direct, so the two halves of one badge share a scope.
177
+ */
178
+ readonly openRoleCount: number;
171
179
  readonly description?: string;
172
180
  /**
173
181
  * Fractional-index key for stable ordering. Present on ordered entity