@kb-labs/devlink-contracts 2.119.0-canary.e120bc0ee → 2.119.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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schema.ts","../src/flags.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { z } from 'zod';\n\n// ─── Mode ────────────────────────────────────────────────────────────────────\n\nexport const DevlinkModeSchema = z.enum(['local', 'npm', 'auto']);\nexport type DevlinkMode = z.infer<typeof DevlinkModeSchema>;\n\n// ─── Package Map ──────────────────────────────────────────────────────────────\n\nexport const PackageEntrySchema = z.object({\n /** npm package name e.g. @kb-labs/core-platform */\n name: z.string(),\n /** Relative path for link: resolution e.g. ../kb-labs-core/packages/core-platform */\n linkPath: z.string(),\n /** npm version e.g. ^1.0.0 */\n npmVersion: z.string(),\n /** Source monorepo dir name e.g. kb-labs-core */\n monorepo: z.string(),\n /** Whether package.json has \"private\": true (stays as link: in npm mode) */\n private: z.boolean().optional(),\n});\nexport type PackageEntry = z.infer<typeof PackageEntrySchema>;\n\nexport const PackageMapSchema = z.record(z.string(), PackageEntrySchema);\nexport type PackageMap = z.infer<typeof PackageMapSchema>;\n\n// ─── Plan ─────────────────────────────────────────────────────────────────────\n\nexport const DevlinkPlanItemSchema = z.object({\n /** Absolute path to the package.json file to modify */\n packageJsonPath: z.string(),\n /** Relative path to packageJsonPath from repo root (for display) */\n packageJsonRel: z.string(),\n /** Owner monorepo e.g. kb-labs-cli */\n monorepo: z.string(),\n /** The dependency package being changed e.g. @kb-labs/core-platform */\n depName: z.string(),\n /** Current value in package.json */\n from: z.string(),\n /** New value to write */\n to: z.string(),\n /** Section: dependencies | devDependencies | peerDependencies */\n section: z.enum(['dependencies', 'devDependencies', 'peerDependencies']),\n});\nexport type DevlinkPlanItem = z.infer<typeof DevlinkPlanItemSchema>;\n\nexport const DevlinkPlanSchema = z.object({\n mode: DevlinkModeSchema,\n items: z.array(DevlinkPlanItemSchema),\n timestamp: z.string(),\n /** Filtered to specific repos if --repos flag was used */\n scopedRepos: z.array(z.string()).optional(),\n});\nexport type DevlinkPlan = z.infer<typeof DevlinkPlanSchema>;\n\n// ─── State ────────────────────────────────────────────────────────────────────\n\nexport const DevlinkStateSchema = z.object({\n currentMode: DevlinkModeSchema.nullable(),\n lastApplied: z.string().nullable(),\n frozenAt: z.string().nullable(),\n});\nexport type DevlinkState = z.infer<typeof DevlinkStateSchema>;\n\n// ─── Backup ───────────────────────────────────────────────────────────────────\n\nexport const DevlinkBackupSchema = z.object({\n id: z.string(),\n timestamp: z.string(),\n description: z.string(),\n /** List of package.json paths that were backed up */\n files: z.array(z.string()),\n /** Mode that was active before backup was created */\n modeAtBackup: DevlinkModeSchema.nullable(),\n});\nexport type DevlinkBackup = z.infer<typeof DevlinkBackupSchema>;\n\n// ─── Diagnostics ─────────────────────────────────────────────────────────────\n\nexport const DiagnosticIssueSchema = z.object({\n type: z.enum(['broken-link', 'cross-repo-workspace', 'stale-lockfile', 'stale-workspace-yaml']),\n severity: z.enum(['error', 'warning']),\n file: z.string(),\n dep: z.string().optional(),\n message: z.string(),\n fix: z.string(),\n});\nexport type DiagnosticIssue = z.infer<typeof DiagnosticIssueSchema>;\n\n// ─── Status ───────────────────────────────────────────────────────────────────\n\nexport const DependencyModeSchema = z.enum(['local', 'npm', 'workspace', 'mixed', 'unknown']);\nexport type DependencyMode = z.infer<typeof DependencyModeSchema>;\n\nexport const DevlinkStatusSchema = z.object({\n currentMode: DevlinkModeSchema.nullable(),\n lastApplied: z.string().nullable(),\n linkCount: z.number(),\n npmCount: z.number(),\n workspaceCount: z.number(),\n discrepancies: z.array(z.object({\n packageJsonPath: z.string(),\n depName: z.string(),\n value: z.string(),\n expected: z.string(),\n })),\n});\nexport type DevlinkStatus = z.infer<typeof DevlinkStatusSchema>;\n","/**\n * Flag definitions for DevLink CLI commands.\n * Defined once here, reused in both manifest.ts and command handlers.\n */\n\nexport const switchFlags = {\n mode: {\n type: 'string' as const,\n description: 'Linking mode: local (link:), npm (^version), auto',\n choices: ['local', 'npm', 'auto'] as string[],\n alias: 'm',\n demandOption: true,\n },\n 'dry-run': {\n type: 'boolean' as const,\n description: 'Preview changes without applying them',\n default: false,\n alias: 'd',\n },\n repos: {\n type: 'string' as const,\n description: 'Comma-separated list of repos to scope (e.g. kb-labs-cli,kb-labs-core)',\n alias: 'r',\n },\n yes: {\n type: 'boolean' as const,\n description: 'Skip confirmation prompt',\n default: false,\n alias: 'y',\n },\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n ttl: {\n type: 'number' as const,\n description: 'npm registry cache TTL in hours (default: 24)',\n default: 24,\n },\n};\n\nexport const statusFlags = {\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n verbose: {\n type: 'boolean' as const,\n description: 'Show all dependencies, not just cross-repo',\n default: false,\n alias: 'v',\n },\n};\n\nexport const planFlags = {\n mode: {\n type: 'string' as const,\n description: 'Target mode to plan for (defaults to opposite of current)',\n choices: ['local', 'npm', 'auto'] as string[],\n alias: 'm',\n },\n repos: {\n type: 'string' as const,\n description: 'Comma-separated list of repos to scope',\n alias: 'r',\n },\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n ttl: {\n type: 'number' as const,\n description: 'npm registry cache TTL in hours (default: 24)',\n default: 24,\n },\n};\n\nexport const freezeFlags = {\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n};\n\nexport const undoFlags = {\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n};\n\nexport const backupsFlags = {\n restore: {\n type: 'string' as const,\n description: 'Restore a specific backup by ID',\n alias: 'r',\n },\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n};\n\nexport type SwitchFlags = typeof switchFlags;\nexport type StatusFlags = typeof statusFlags;\nexport type PlanFlags = typeof planFlags;\nexport type FreezeFlags = typeof freezeFlags;\nexport type UndoFlags = typeof undoFlags;\nexport type BackupsFlags = typeof backupsFlags;\n","export * from './schema.js';\nexport * from './flags.js';\n\n/** Cache namespace prefix for devlink — used in manifest and npm checker */\nexport const DEVLINK_CACHE_PREFIX = 'devlink:' as const;\n"]}
1
+ {"version":3,"sources":["../../home/runner/work/kb-labs/kb-labs/plugins/devlink/contracts/src/schema.ts","../../home/runner/work/kb-labs/kb-labs/plugins/devlink/contracts/src/flags.ts","../../home/runner/work/kb-labs/kb-labs/plugins/devlink/contracts/src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { z } from 'zod';\n\n// ─── Mode ────────────────────────────────────────────────────────────────────\n\nexport const DevlinkModeSchema = z.enum(['local', 'npm', 'auto']);\nexport type DevlinkMode = z.infer<typeof DevlinkModeSchema>;\n\n// ─── Package Map ──────────────────────────────────────────────────────────────\n\nexport const PackageEntrySchema = z.object({\n /** npm package name e.g. @kb-labs/core-platform */\n name: z.string(),\n /** Relative path for link: resolution e.g. ../kb-labs-core/packages/core-platform */\n linkPath: z.string(),\n /** npm version e.g. ^1.0.0 */\n npmVersion: z.string(),\n /** Source monorepo dir name e.g. kb-labs-core */\n monorepo: z.string(),\n /** Whether package.json has \"private\": true (stays as link: in npm mode) */\n private: z.boolean().optional(),\n});\nexport type PackageEntry = z.infer<typeof PackageEntrySchema>;\n\nexport const PackageMapSchema = z.record(z.string(), PackageEntrySchema);\nexport type PackageMap = z.infer<typeof PackageMapSchema>;\n\n// ─── Plan ─────────────────────────────────────────────────────────────────────\n\nexport const DevlinkPlanItemSchema = z.object({\n /** Absolute path to the package.json file to modify */\n packageJsonPath: z.string(),\n /** Relative path to packageJsonPath from repo root (for display) */\n packageJsonRel: z.string(),\n /** Owner monorepo e.g. kb-labs-cli */\n monorepo: z.string(),\n /** The dependency package being changed e.g. @kb-labs/core-platform */\n depName: z.string(),\n /** Current value in package.json */\n from: z.string(),\n /** New value to write */\n to: z.string(),\n /** Section: dependencies | devDependencies | peerDependencies */\n section: z.enum(['dependencies', 'devDependencies', 'peerDependencies']),\n});\nexport type DevlinkPlanItem = z.infer<typeof DevlinkPlanItemSchema>;\n\nexport const DevlinkPlanSchema = z.object({\n mode: DevlinkModeSchema,\n items: z.array(DevlinkPlanItemSchema),\n timestamp: z.string(),\n /** Filtered to specific repos if --repos flag was used */\n scopedRepos: z.array(z.string()).optional(),\n});\nexport type DevlinkPlan = z.infer<typeof DevlinkPlanSchema>;\n\n// ─── State ────────────────────────────────────────────────────────────────────\n\nexport const DevlinkStateSchema = z.object({\n currentMode: DevlinkModeSchema.nullable(),\n lastApplied: z.string().nullable(),\n frozenAt: z.string().nullable(),\n});\nexport type DevlinkState = z.infer<typeof DevlinkStateSchema>;\n\n// ─── Backup ───────────────────────────────────────────────────────────────────\n\nexport const DevlinkBackupSchema = z.object({\n id: z.string(),\n timestamp: z.string(),\n description: z.string(),\n /** List of package.json paths that were backed up */\n files: z.array(z.string()),\n /** Mode that was active before backup was created */\n modeAtBackup: DevlinkModeSchema.nullable(),\n});\nexport type DevlinkBackup = z.infer<typeof DevlinkBackupSchema>;\n\n// ─── Diagnostics ─────────────────────────────────────────────────────────────\n\nexport const DiagnosticIssueSchema = z.object({\n type: z.enum(['broken-link', 'cross-repo-workspace', 'stale-lockfile', 'stale-workspace-yaml']),\n severity: z.enum(['error', 'warning']),\n file: z.string(),\n dep: z.string().optional(),\n message: z.string(),\n fix: z.string(),\n});\nexport type DiagnosticIssue = z.infer<typeof DiagnosticIssueSchema>;\n\n// ─── Status ───────────────────────────────────────────────────────────────────\n\nexport const DependencyModeSchema = z.enum(['local', 'npm', 'workspace', 'mixed', 'unknown']);\nexport type DependencyMode = z.infer<typeof DependencyModeSchema>;\n\nexport const DevlinkStatusSchema = z.object({\n currentMode: DevlinkModeSchema.nullable(),\n lastApplied: z.string().nullable(),\n linkCount: z.number(),\n npmCount: z.number(),\n workspaceCount: z.number(),\n discrepancies: z.array(z.object({\n packageJsonPath: z.string(),\n depName: z.string(),\n value: z.string(),\n expected: z.string(),\n })),\n});\nexport type DevlinkStatus = z.infer<typeof DevlinkStatusSchema>;\n","/**\n * Flag definitions for DevLink CLI commands.\n * Defined once here, reused in both manifest.ts and command handlers.\n */\n\nexport const switchFlags = {\n mode: {\n type: 'string' as const,\n description: 'Linking mode: local (link:), npm (^version), auto',\n choices: ['local', 'npm', 'auto'] as string[],\n alias: 'm',\n demandOption: true,\n },\n 'dry-run': {\n type: 'boolean' as const,\n description: 'Preview changes without applying them',\n default: false,\n alias: 'd',\n },\n repos: {\n type: 'string' as const,\n description: 'Comma-separated list of repos to scope (e.g. kb-labs-cli,kb-labs-core)',\n alias: 'r',\n },\n yes: {\n type: 'boolean' as const,\n description: 'Skip confirmation prompt',\n default: false,\n alias: 'y',\n },\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n ttl: {\n type: 'number' as const,\n description: 'npm registry cache TTL in hours (default: 24)',\n default: 24,\n },\n};\n\nexport const statusFlags = {\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n verbose: {\n type: 'boolean' as const,\n description: 'Show all dependencies, not just cross-repo',\n default: false,\n alias: 'v',\n },\n};\n\nexport const planFlags = {\n mode: {\n type: 'string' as const,\n description: 'Target mode to plan for (defaults to opposite of current)',\n choices: ['local', 'npm', 'auto'] as string[],\n alias: 'm',\n },\n repos: {\n type: 'string' as const,\n description: 'Comma-separated list of repos to scope',\n alias: 'r',\n },\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n ttl: {\n type: 'number' as const,\n description: 'npm registry cache TTL in hours (default: 24)',\n default: 24,\n },\n};\n\nexport const freezeFlags = {\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n};\n\nexport const undoFlags = {\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n};\n\nexport const backupsFlags = {\n restore: {\n type: 'string' as const,\n description: 'Restore a specific backup by ID',\n alias: 'r',\n },\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n};\n\nexport type SwitchFlags = typeof switchFlags;\nexport type StatusFlags = typeof statusFlags;\nexport type PlanFlags = typeof planFlags;\nexport type FreezeFlags = typeof freezeFlags;\nexport type UndoFlags = typeof undoFlags;\nexport type BackupsFlags = typeof backupsFlags;\n","export * from './schema.js';\nexport * from './flags.js';\n\n/** Cache namespace prefix for devlink — used in manifest and npm checker */\nexport const DEVLINK_CACHE_PREFIX = 'devlink:' as const;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schema.ts"],"names":[],"mappings":"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","file":"schema.js","sourcesContent":["import { z } from 'zod';\n\n// ─── Mode ────────────────────────────────────────────────────────────────────\n\nexport const DevlinkModeSchema = z.enum(['local', 'npm', 'auto']);\nexport type DevlinkMode = z.infer<typeof DevlinkModeSchema>;\n\n// ─── Package Map ──────────────────────────────────────────────────────────────\n\nexport const PackageEntrySchema = z.object({\n /** npm package name e.g. @kb-labs/core-platform */\n name: z.string(),\n /** Relative path for link: resolution e.g. ../kb-labs-core/packages/core-platform */\n linkPath: z.string(),\n /** npm version e.g. ^1.0.0 */\n npmVersion: z.string(),\n /** Source monorepo dir name e.g. kb-labs-core */\n monorepo: z.string(),\n /** Whether package.json has \"private\": true (stays as link: in npm mode) */\n private: z.boolean().optional(),\n});\nexport type PackageEntry = z.infer<typeof PackageEntrySchema>;\n\nexport const PackageMapSchema = z.record(z.string(), PackageEntrySchema);\nexport type PackageMap = z.infer<typeof PackageMapSchema>;\n\n// ─── Plan ─────────────────────────────────────────────────────────────────────\n\nexport const DevlinkPlanItemSchema = z.object({\n /** Absolute path to the package.json file to modify */\n packageJsonPath: z.string(),\n /** Relative path to packageJsonPath from repo root (for display) */\n packageJsonRel: z.string(),\n /** Owner monorepo e.g. kb-labs-cli */\n monorepo: z.string(),\n /** The dependency package being changed e.g. @kb-labs/core-platform */\n depName: z.string(),\n /** Current value in package.json */\n from: z.string(),\n /** New value to write */\n to: z.string(),\n /** Section: dependencies | devDependencies | peerDependencies */\n section: z.enum(['dependencies', 'devDependencies', 'peerDependencies']),\n});\nexport type DevlinkPlanItem = z.infer<typeof DevlinkPlanItemSchema>;\n\nexport const DevlinkPlanSchema = z.object({\n mode: DevlinkModeSchema,\n items: z.array(DevlinkPlanItemSchema),\n timestamp: z.string(),\n /** Filtered to specific repos if --repos flag was used */\n scopedRepos: z.array(z.string()).optional(),\n});\nexport type DevlinkPlan = z.infer<typeof DevlinkPlanSchema>;\n\n// ─── State ────────────────────────────────────────────────────────────────────\n\nexport const DevlinkStateSchema = z.object({\n currentMode: DevlinkModeSchema.nullable(),\n lastApplied: z.string().nullable(),\n frozenAt: z.string().nullable(),\n});\nexport type DevlinkState = z.infer<typeof DevlinkStateSchema>;\n\n// ─── Backup ───────────────────────────────────────────────────────────────────\n\nexport const DevlinkBackupSchema = z.object({\n id: z.string(),\n timestamp: z.string(),\n description: z.string(),\n /** List of package.json paths that were backed up */\n files: z.array(z.string()),\n /** Mode that was active before backup was created */\n modeAtBackup: DevlinkModeSchema.nullable(),\n});\nexport type DevlinkBackup = z.infer<typeof DevlinkBackupSchema>;\n\n// ─── Diagnostics ─────────────────────────────────────────────────────────────\n\nexport const DiagnosticIssueSchema = z.object({\n type: z.enum(['broken-link', 'cross-repo-workspace', 'stale-lockfile', 'stale-workspace-yaml']),\n severity: z.enum(['error', 'warning']),\n file: z.string(),\n dep: z.string().optional(),\n message: z.string(),\n fix: z.string(),\n});\nexport type DiagnosticIssue = z.infer<typeof DiagnosticIssueSchema>;\n\n// ─── Status ───────────────────────────────────────────────────────────────────\n\nexport const DependencyModeSchema = z.enum(['local', 'npm', 'workspace', 'mixed', 'unknown']);\nexport type DependencyMode = z.infer<typeof DependencyModeSchema>;\n\nexport const DevlinkStatusSchema = z.object({\n currentMode: DevlinkModeSchema.nullable(),\n lastApplied: z.string().nullable(),\n linkCount: z.number(),\n npmCount: z.number(),\n workspaceCount: z.number(),\n discrepancies: z.array(z.object({\n packageJsonPath: z.string(),\n depName: z.string(),\n value: z.string(),\n expected: z.string(),\n })),\n});\nexport type DevlinkStatus = z.infer<typeof DevlinkStatusSchema>;\n"]}
1
+ {"version":3,"sources":["../../home/runner/work/kb-labs/kb-labs/plugins/devlink/contracts/src/schema.ts"],"names":[],"mappings":"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","file":"schema.js","sourcesContent":["import { z } from 'zod';\n\n// ─── Mode ────────────────────────────────────────────────────────────────────\n\nexport const DevlinkModeSchema = z.enum(['local', 'npm', 'auto']);\nexport type DevlinkMode = z.infer<typeof DevlinkModeSchema>;\n\n// ─── Package Map ──────────────────────────────────────────────────────────────\n\nexport const PackageEntrySchema = z.object({\n /** npm package name e.g. @kb-labs/core-platform */\n name: z.string(),\n /** Relative path for link: resolution e.g. ../kb-labs-core/packages/core-platform */\n linkPath: z.string(),\n /** npm version e.g. ^1.0.0 */\n npmVersion: z.string(),\n /** Source monorepo dir name e.g. kb-labs-core */\n monorepo: z.string(),\n /** Whether package.json has \"private\": true (stays as link: in npm mode) */\n private: z.boolean().optional(),\n});\nexport type PackageEntry = z.infer<typeof PackageEntrySchema>;\n\nexport const PackageMapSchema = z.record(z.string(), PackageEntrySchema);\nexport type PackageMap = z.infer<typeof PackageMapSchema>;\n\n// ─── Plan ─────────────────────────────────────────────────────────────────────\n\nexport const DevlinkPlanItemSchema = z.object({\n /** Absolute path to the package.json file to modify */\n packageJsonPath: z.string(),\n /** Relative path to packageJsonPath from repo root (for display) */\n packageJsonRel: z.string(),\n /** Owner monorepo e.g. kb-labs-cli */\n monorepo: z.string(),\n /** The dependency package being changed e.g. @kb-labs/core-platform */\n depName: z.string(),\n /** Current value in package.json */\n from: z.string(),\n /** New value to write */\n to: z.string(),\n /** Section: dependencies | devDependencies | peerDependencies */\n section: z.enum(['dependencies', 'devDependencies', 'peerDependencies']),\n});\nexport type DevlinkPlanItem = z.infer<typeof DevlinkPlanItemSchema>;\n\nexport const DevlinkPlanSchema = z.object({\n mode: DevlinkModeSchema,\n items: z.array(DevlinkPlanItemSchema),\n timestamp: z.string(),\n /** Filtered to specific repos if --repos flag was used */\n scopedRepos: z.array(z.string()).optional(),\n});\nexport type DevlinkPlan = z.infer<typeof DevlinkPlanSchema>;\n\n// ─── State ────────────────────────────────────────────────────────────────────\n\nexport const DevlinkStateSchema = z.object({\n currentMode: DevlinkModeSchema.nullable(),\n lastApplied: z.string().nullable(),\n frozenAt: z.string().nullable(),\n});\nexport type DevlinkState = z.infer<typeof DevlinkStateSchema>;\n\n// ─── Backup ───────────────────────────────────────────────────────────────────\n\nexport const DevlinkBackupSchema = z.object({\n id: z.string(),\n timestamp: z.string(),\n description: z.string(),\n /** List of package.json paths that were backed up */\n files: z.array(z.string()),\n /** Mode that was active before backup was created */\n modeAtBackup: DevlinkModeSchema.nullable(),\n});\nexport type DevlinkBackup = z.infer<typeof DevlinkBackupSchema>;\n\n// ─── Diagnostics ─────────────────────────────────────────────────────────────\n\nexport const DiagnosticIssueSchema = z.object({\n type: z.enum(['broken-link', 'cross-repo-workspace', 'stale-lockfile', 'stale-workspace-yaml']),\n severity: z.enum(['error', 'warning']),\n file: z.string(),\n dep: z.string().optional(),\n message: z.string(),\n fix: z.string(),\n});\nexport type DiagnosticIssue = z.infer<typeof DiagnosticIssueSchema>;\n\n// ─── Status ───────────────────────────────────────────────────────────────────\n\nexport const DependencyModeSchema = z.enum(['local', 'npm', 'workspace', 'mixed', 'unknown']);\nexport type DependencyMode = z.infer<typeof DependencyModeSchema>;\n\nexport const DevlinkStatusSchema = z.object({\n currentMode: DevlinkModeSchema.nullable(),\n lastApplied: z.string().nullable(),\n linkCount: z.number(),\n npmCount: z.number(),\n workspaceCount: z.number(),\n discrepancies: z.array(z.object({\n packageJsonPath: z.string(),\n depName: z.string(),\n value: z.string(),\n expected: z.string(),\n })),\n});\nexport type DevlinkStatus = z.infer<typeof DevlinkStatusSchema>;\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kb-labs/devlink-contracts",
3
3
  "description": "Contracts package for DevLink plugin — types, Zod schemas, flags.",
4
- "version": "2.119.0-canary.e120bc0ee",
4
+ "version": "2.119.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -30,10 +30,10 @@
30
30
  "tsup": "^8.5.0",
31
31
  "typescript": "^5.6.3",
32
32
  "vitest": "^3.2.6",
33
- "@kb-labs/devkit": "2.119.0-canary.e120bc0ee"
33
+ "@kb-labs/devkit": "2.119.0"
34
34
  },
35
35
  "engines": {
36
- "node": ">=22.0.0",
36
+ "node": ">=24.0.0",
37
37
  "pnpm": ">=9.0.0"
38
38
  },
39
39
  "sideEffects": false,