chore: full technical rename planarchy → capakraken

Complete rename of all technical identifiers across the codebase:

Package names (11 packages):
- @planarchy/* → @capakraken/* in all package.json, tsconfig, imports

Import statements: 277 files, 548 occurrences replaced

Database & Docker:
- PostgreSQL user/db: planarchy → capakraken
- Docker volumes: planarchy_pgdata → capakraken_pgdata
- Connection strings updated in docker-compose, .env, CI

CI/CD:
- GitHub Actions workflow: all filter commands updated
- Test database credentials updated

Infrastructure:
- Redis channel: planarchy:sse → capakraken:sse
- Logger service name: planarchy-api → capakraken-api
- Anonymization seed updated
- Start/stop/restart scripts updated

Test data:
- Seed emails: @planarchy.dev → @capakraken.dev
- E2E test credentials: all 11 spec files updated
- Email defaults: @planarchy.app → @capakraken.app
- localStorage keys: planarchy_* → capakraken_*

Documentation: 30+ .md files updated

Verification:
- pnpm install: workspace resolution works
- TypeScript: only pre-existing TS2589 (no new errors)
- Engine: 310/310 tests pass
- Staffing: 37/37 tests pass

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
2026-03-27 13:18:09 +01:00
parent f46b38f457
commit cd78f72f33
303 changed files with 938 additions and 878 deletions
+6 -6
View File
@@ -1,5 +1,5 @@
{
"name": "@planarchy/application",
"name": "@capakraken/application",
"version": "0.1.0",
"private": true,
"type": "module",
@@ -11,15 +11,15 @@
"test:unit": "vitest run"
},
"dependencies": {
"@planarchy/db": "workspace:*",
"@planarchy/engine": "workspace:*",
"@planarchy/shared": "workspace:*",
"@planarchy/staffing": "workspace:*",
"@capakraken/db": "workspace:*",
"@capakraken/engine": "workspace:*",
"@capakraken/shared": "workspace:*",
"@capakraken/staffing": "workspace:*",
"@trpc/server": "^11.0.0",
"xlsx": "^0.18.5"
},
"devDependencies": {
"@planarchy/tsconfig": "workspace:*",
"@capakraken/tsconfig": "workspace:*",
"@types/node": "^22.10.2",
"typescript": "^5.6.3",
"vitest": "^2.1.8"
@@ -1,4 +1,4 @@
import { AllocationStatus } from "@planarchy/shared";
import { AllocationStatus } from "@capakraken/shared";
import { describe, expect, it, vi } from "vitest";
import { updateAllocationEntry } from "../index.js";
@@ -1,4 +1,4 @@
import { AllocationStatus } from "@planarchy/shared";
import { AllocationStatus } from "@capakraken/shared";
import { describe, expect, it, vi } from "vitest";
import {
createAssignment,
@@ -1,5 +1,5 @@
import { describe, expect, it } from "vitest";
import { AllocationStatus, type AllocationWithDetails } from "@planarchy/shared";
import { AllocationStatus, type AllocationWithDetails } from "@capakraken/shared";
import { buildAllocationReadModel } from "../index.js";
function makeAllocation(overrides: Partial<AllocationWithDetails>): AllocationWithDetails {
@@ -1,4 +1,4 @@
import { AllocationStatus } from "@planarchy/shared";
import { AllocationStatus } from "@capakraken/shared";
import { describe, expect, it, vi } from "vitest";
import { countEstimateHandoffPlanningEntries } from "../index.js";
@@ -1,4 +1,4 @@
import { AllocationStatus } from "@planarchy/shared";
import { AllocationStatus } from "@capakraken/shared";
import { describe, expect, it, vi } from "vitest";
import { countPlanningEntries } from "../index.js";
@@ -1,4 +1,4 @@
import { AllocationStatus } from "@planarchy/shared";
import { AllocationStatus } from "@capakraken/shared";
import { describe, expect, it, vi } from "vitest";
import {
createAssignment,
@@ -3,7 +3,7 @@ import {
EstimateExportFormat,
EstimateStatus,
EstimateVersionStatus,
} from "@planarchy/shared";
} from "@capakraken/shared";
import { describe, expect, it, vi } from "vitest";
import {
approveEstimateVersion,
@@ -1,5 +1,5 @@
import { describe, expect, it } from "vitest";
import { AllocationStatus, type AllocationWithDetails } from "@planarchy/shared";
import { AllocationStatus, type AllocationWithDetails } from "@capakraken/shared";
import {
buildSplitAllocationReadModel,
} from "../index.js";
@@ -1,5 +1,5 @@
import type { Prisma, PrismaClient } from "@planarchy/db";
import { AllocationStatus } from "@planarchy/shared";
import type { Prisma, PrismaClient } from "@capakraken/db";
import { AllocationStatus } from "@capakraken/shared";
type DbClient = PrismaClient | Prisma.TransactionClient;
@@ -3,7 +3,7 @@ import type {
AllocationReadModel,
Assignment,
DemandRequirement,
} from "@planarchy/shared";
} from "@capakraken/shared";
function toDemandRequirement<TAllocation extends AllocationLike>(
allocation: TAllocation,
@@ -3,7 +3,7 @@ import type {
AllocationReadModel,
Assignment,
DemandRequirement,
} from "@planarchy/shared";
} from "@capakraken/shared";
type SplitAllocationEntry = AllocationLike;
type SplitProjectSummary = NonNullable<SplitAllocationEntry["project"]>;
type SplitResourceSummary = NonNullable<SplitAllocationEntry["resource"]>;
@@ -1,4 +1,4 @@
import type { Prisma } from "@planarchy/db";
import type { Prisma } from "@capakraken/db";
import type { AssignmentBookingWithFallback } from "./list-assignment-bookings.js";
type ChargeabilityProjectLike = AssignmentBookingWithFallback["project"];
@@ -1,4 +1,4 @@
import type { Prisma, PrismaClient } from "@planarchy/db";
import type { Prisma, PrismaClient } from "@capakraken/db";
import { buildSplitAllocationReadModel } from "./build-split-allocation-read-model.js";
type DbClient =
@@ -1,4 +1,4 @@
import type { Prisma, PrismaClient } from "@planarchy/db";
import type { Prisma, PrismaClient } from "@capakraken/db";
import { buildSplitAllocationReadModel } from "./build-split-allocation-read-model.js";
type DbClient =
@@ -1,10 +1,10 @@
import { calculateAllocation, validateAvailability, checkDuplicateAssignment } from "@planarchy/engine";
import type { PrismaClient, Prisma } from "@planarchy/db";
import { calculateAllocation, validateAvailability, checkDuplicateAssignment } from "@capakraken/engine";
import type { PrismaClient, Prisma } from "@capakraken/db";
import {
type Allocation,
type CreateAssignmentInput,
type WeekdayAvailability,
} from "@planarchy/shared";
} from "@capakraken/shared";
import { TRPCError } from "@trpc/server";
import { listAssignmentBookings } from "./list-assignment-bookings.js";
@@ -1,5 +1,5 @@
import type { PrismaClient, Prisma } from "@planarchy/db";
import { type CreateDemandRequirementInput } from "@planarchy/shared";
import type { PrismaClient, Prisma } from "@capakraken/db";
import { type CreateDemandRequirementInput } from "@capakraken/shared";
import { TRPCError } from "@trpc/server";
type DbClient = PrismaClient | Prisma.TransactionClient;
@@ -1,4 +1,4 @@
import type { Prisma, PrismaClient } from "@planarchy/db";
import type { Prisma, PrismaClient } from "@capakraken/db";
import { TRPCError } from "@trpc/server";
import type { AllocationEntryResolution } from "./load-allocation-entry.js";
import { deleteAssignment } from "./delete-assignment.js";
@@ -1,5 +1,5 @@
import type { Prisma, PrismaClient } from "@planarchy/db";
import { AllocationStatus } from "@planarchy/shared";
import type { Prisma, PrismaClient } from "@capakraken/db";
import { AllocationStatus } from "@capakraken/shared";
type DbClient =
| Pick<PrismaClient, "assignment" | "demandRequirement">
@@ -1,4 +1,4 @@
import type { Prisma, PrismaClient } from "@planarchy/db";
import type { Prisma, PrismaClient } from "@capakraken/db";
type DbClient =
| Pick<PrismaClient, "demandRequirement" | "assignment">
@@ -1,8 +1,8 @@
import type { PrismaClient } from "@planarchy/db";
import type { PrismaClient } from "@capakraken/db";
import {
AllocationStatus,
type FillDemandRequirementInput,
} from "@planarchy/shared";
} from "@capakraken/shared";
import {
createAssignment,
type AssignmentWithRelations,
@@ -1,6 +1,6 @@
import type { PrismaClient } from "@planarchy/db";
import { AllocationStatus, type FillDemandRequirementInput } from "@planarchy/shared";
import { checkDuplicateAssignment } from "@planarchy/engine";
import type { PrismaClient } from "@capakraken/db";
import { AllocationStatus, type FillDemandRequirementInput } from "@capakraken/shared";
import { checkDuplicateAssignment } from "@capakraken/engine";
import { TRPCError } from "@trpc/server";
import { type AssignmentWithRelations } from "./create-assignment.js";
import { fillDemandRequirementWithLegacySync } from "./fill-demand-requirement-with-legacy-sync.js";
@@ -1,5 +1,5 @@
import type { PrismaClient } from "@planarchy/db";
import type { FillOpenDemandByAllocationInput } from "@planarchy/shared";
import type { PrismaClient } from "@capakraken/db";
import type { FillOpenDemandByAllocationInput } from "@capakraken/shared";
import { TRPCError } from "@trpc/server";
import { fillDemandRequirement } from "./fill-demand-requirement.js";
import { loadAllocationEntry } from "./load-allocation-entry.js";
@@ -1,4 +1,4 @@
import type { Prisma, PrismaClient } from "@planarchy/db";
import type { Prisma, PrismaClient } from "@capakraken/db";
type AssignmentBookingsDbClient = Pick<PrismaClient, "assignment">;
@@ -1,5 +1,5 @@
import type { Prisma, PrismaClient } from "@planarchy/db";
import type { AllocationWithDetails } from "@planarchy/shared";
import type { Prisma, PrismaClient } from "@capakraken/db";
import type { AllocationWithDetails } from "@capakraken/shared";
import { TRPCError } from "@trpc/server";
import { buildSplitAllocationReadModel } from "./build-split-allocation-read-model.js";
import {
@@ -1,9 +1,9 @@
import type { PrismaClient, Prisma } from "@planarchy/db";
import type { PrismaClient, Prisma } from "@capakraken/db";
import type {
AllocationWithDetails,
UpdateAssignmentInput,
UpdateDemandRequirementInput,
} from "@planarchy/shared";
} from "@capakraken/shared";
import { TRPCError } from "@trpc/server";
import { findAllocationEntry } from "./load-allocation-entry.js";
import { updateAssignment } from "./update-assignment.js";
@@ -1,5 +1,5 @@
import type { PrismaClient, Prisma } from "@planarchy/db";
import { type UpdateAssignmentInput } from "@planarchy/shared";
import type { PrismaClient, Prisma } from "@capakraken/db";
import { type UpdateAssignmentInput } from "@capakraken/shared";
import { TRPCError } from "@trpc/server";
import {
ASSIGNMENT_RELATIONS_INCLUDE,
@@ -1,5 +1,5 @@
import type { PrismaClient, Prisma } from "@planarchy/db";
import { type UpdateDemandRequirementInput } from "@planarchy/shared";
import type { PrismaClient, Prisma } from "@capakraken/db";
import { type UpdateDemandRequirementInput } from "@capakraken/shared";
import { TRPCError } from "@trpc/server";
import {
DEMAND_REQUIREMENT_RELATIONS_INCLUDE,
@@ -1,4 +1,4 @@
import type { PrismaClient } from "@planarchy/db";
import type { PrismaClient } from "@capakraken/db";
import { calculateInclusiveDays, MILLISECONDS_PER_DAY } from "./shared.js";
export interface BudgetForecastRow {
@@ -1,6 +1,6 @@
import type { PrismaClient } from "@planarchy/db";
import { computeChargeability } from "@planarchy/engine";
import type { WeekdayAvailability } from "@planarchy/shared";
import type { PrismaClient } from "@capakraken/db";
import { computeChargeability } from "@capakraken/engine";
import type { WeekdayAvailability } from "@capakraken/shared";
import {
isChargeabilityActualBooking,
isChargeabilityRelevantProject,
@@ -1,4 +1,4 @@
import type { PrismaClient } from "@planarchy/db";
import type { PrismaClient } from "@capakraken/db";
import { loadDashboardPlanningReadModel } from "./load-dashboard-planning-read-model.js";
import { calculateAllocationHours } from "./shared.js";
@@ -1,5 +1,5 @@
import type { PrismaClient } from "@planarchy/db";
import { AllocationStatus } from "@planarchy/shared";
import type { PrismaClient } from "@capakraken/db";
import { AllocationStatus } from "@capakraken/shared";
import { buildSplitAllocationReadModel } from "../allocation/build-split-allocation-read-model.js";
import { listAssignmentBookings } from "../allocation/list-assignment-bookings.js";
import { calculateInclusiveDays } from "./shared.js";
@@ -1,4 +1,4 @@
import type { PrismaClient } from "@planarchy/db";
import type { PrismaClient } from "@capakraken/db";
import { listAssignmentBookings } from "../allocation/list-assignment-bookings.js";
import { getAverageDailyAvailabilityHours, getMonthBucketKey, getWeekBucketKey } from "./shared.js";
@@ -1,4 +1,4 @@
import type { PrismaClient } from "@planarchy/db";
import type { PrismaClient } from "@capakraken/db";
import { calculateInclusiveDays } from "./shared.js";
export interface ProjectHealthRow {
@@ -1,4 +1,4 @@
import type { PrismaClient } from "@planarchy/db";
import type { PrismaClient } from "@capakraken/db";
export interface SkillGapRow {
skill: string;
@@ -1,4 +1,4 @@
import type { PrismaClient } from "@planarchy/db";
import type { PrismaClient } from "@capakraken/db";
export interface GetDashboardTopValueResourcesInput {
limit: number;
@@ -1,5 +1,5 @@
import type { PrismaClient } from "@planarchy/db";
import { AllocationStatus } from "@planarchy/shared";
import type { PrismaClient } from "@capakraken/db";
import { AllocationStatus } from "@capakraken/shared";
import { buildSplitAllocationReadModel } from "../allocation/build-split-allocation-read-model.js";
export const DASHBOARD_PLANNING_ALLOCATION_INCLUDE = {
@@ -1,4 +1,4 @@
import { ImportBatchStatus, type Prisma } from "@planarchy/db";
import { ImportBatchStatus, type Prisma } from "@capakraken/db";
import { parseDispoChargeabilityWorkbook } from "./parse-chargeability-workbook.js";
import { parseDispoPlanningWorkbook } from "./parse-dispo-matrix.js";
import { parseDispoRosterWorkbook } from "./parse-dispo-roster-workbook.js";
@@ -1,8 +1,8 @@
import type { WeekdayAvailability } from "@planarchy/shared";
import type { WeekdayAvailability } from "@capakraken/shared";
import {
createWeekdayAvailabilityFromFte,
normalizeDispoRoleToken,
} from "@planarchy/shared";
} from "@capakraken/shared";
import type { TxClient, MergedStagedResource } from "./commit-dispo-batch-types.js";
import { deriveRoleTokens } from "./shared.js";
@@ -1,4 +1,4 @@
import type { Prisma, PrismaClient } from "@planarchy/db";
import type { Prisma, PrismaClient } from "@capakraken/db";
export type CommitDbClient = Pick<
PrismaClient,
@@ -2,15 +2,15 @@ import {
DISPO_REQUIRED_ROLE_SEEDS,
DISPO_UTILIZATION_CATEGORIES,
normalizeDispoRoleToken,
} from "@planarchy/shared";
import type { Prisma } from "@planarchy/db";
} from "@capakraken/shared";
import type { Prisma } from "@capakraken/db";
import {
AllocationStatus,
ImportBatchStatus,
ProjectStatus,
StagedRecordStatus,
VacationStatus,
} from "@planarchy/db";
} from "@capakraken/db";
import {
buildBatchSummaryEntry,
buildFallbackAccentureEmail,
@@ -1,8 +1,8 @@
import type { WeekdayAvailability } from "@planarchy/shared";
import type { WeekdayAvailability } from "@capakraken/shared";
import {
DISPO_INTERNAL_PROJECT_BUCKETS,
normalizeDispoRoleToken,
} from "@planarchy/shared";
} from "@capakraken/shared";
import type { TxClient, AggregatedAssignment } from "./commit-dispo-batch-types.js";
import { deriveTbdDispoProjectIdentity } from "./tbd-projects.js";
@@ -1,4 +1,4 @@
import { DispoStagedRecordType } from "@planarchy/db";
import { DispoStagedRecordType } from "@capakraken/db";
import { DISPO_CHARGEABILITY_SHEET, type ParsedChargeabilityResource, type ParsedChargeabilityWorkbook, type ParsedUnresolvedRecord, buildFallbackAccentureEmail, createAvailabilityFromFte, deriveCountryCodeFromMetroCity, deriveDisplayNameFromEnterpriseId, deriveNormalizedChapter, deriveRoleTokens, ensurePercentageValue, mapChargeabilityResourceType, normalizeNullableWorkbookValue, normalizeText, resolveCanonicalEnterpriseIdentity } from "./shared.js";
import { readWorksheetMatrix } from "./read-workbook.js";
@@ -1,10 +1,10 @@
import { DispoStagedRecordType } from "@planarchy/db";
import { DispoStagedRecordType } from "@capakraken/db";
import {
VacationType,
normalizeCanonicalResourceIdentity,
normalizeDispoRoleToken,
normalizeDispoUtilizationToken,
} from "@planarchy/shared";
} from "@capakraken/shared";
import { readWorksheetMatrix, toColumnLetter, type WorksheetCellValue } from "./read-workbook.js";
import {
DISPO_PLANNING_SHEET,
@@ -1,5 +1,5 @@
import { DispoStagedRecordType, ResourceType } from "@planarchy/db";
import { createWeekdayAvailabilityFromFte } from "@planarchy/shared";
import { DispoStagedRecordType, ResourceType } from "@capakraken/db";
import { createWeekdayAvailabilityFromFte } from "@capakraken/shared";
import {
parseResourceRosterMasterWorkbook,
type ParsedResourceRosterLevelAverage,
@@ -1,4 +1,4 @@
import { normalizeCanonicalResourceIdentity } from "@planarchy/shared";
import { normalizeCanonicalResourceIdentity } from "@capakraken/shared";
import { readWorksheetMatrix } from "./read-workbook.js";
import { normalizeNullableWorkbookValue, normalizeText } from "./shared.js";
@@ -1,17 +1,17 @@
import path from "node:path";
import type { Prisma, PrismaClient } from "@planarchy/db";
import type { Prisma, PrismaClient } from "@capakraken/db";
import {
DispoImportSourceKind,
DispoStagedRecordType,
ImportBatchStatus,
ResourceType,
StagedRecordStatus,
} from "@planarchy/db";
} from "@capakraken/db";
import {
createWeekdayAvailabilityFromFte,
normalizeCanonicalResourceIdentity,
normalizeDispoChapterToken,
} from "@planarchy/shared";
} from "@capakraken/shared";
export type DispoImportDbClient = Pick<
PrismaClient,
@@ -1,5 +1,5 @@
import type { Prisma } from "@planarchy/db";
import { DispoImportSourceKind, StagedRecordStatus } from "@planarchy/db";
import type { Prisma } from "@capakraken/db";
import { DispoImportSourceKind, StagedRecordStatus } from "@capakraken/db";
import { parseDispoChargeabilityWorkbook } from "./parse-chargeability-workbook.js";
import { ensureImportBatch, finalizeImportBatchStage, getWorkbookFileName, type DispoChargeabilityImportInput, type DispoImportDbClient } from "./shared.js";
@@ -1,5 +1,5 @@
import type { Prisma } from "@planarchy/db";
import { DispoImportSourceKind, StagedRecordStatus } from "@planarchy/db";
import type { Prisma } from "@capakraken/db";
import { DispoImportSourceKind, StagedRecordStatus } from "@capakraken/db";
import { parseDispoPlanningWorkbook } from "./parse-dispo-matrix.js";
import {
DISPO_PLANNING_SHEET,
@@ -1,6 +1,6 @@
import type { Prisma } from "@planarchy/db";
import { AllocationType, DispoImportSourceKind, OrderType, StagedRecordStatus } from "@planarchy/db";
import { DISPO_INTERNAL_PROJECT_BUCKETS } from "@planarchy/shared";
import type { Prisma } from "@capakraken/db";
import { AllocationType, DispoImportSourceKind, OrderType, StagedRecordStatus } from "@capakraken/db";
import { DISPO_INTERNAL_PROJECT_BUCKETS } from "@capakraken/shared";
import { parseDispoPlanningWorkbook } from "./parse-dispo-matrix.js";
import {
classifyDispoProject,
@@ -1,5 +1,5 @@
import type { Prisma } from "@planarchy/db";
import { DispoImportSourceKind, StagedRecordStatus } from "@planarchy/db";
import type { Prisma } from "@capakraken/db";
import { DispoImportSourceKind, StagedRecordStatus } from "@capakraken/db";
import { parseDispoRosterWorkbook } from "./parse-dispo-roster-workbook.js";
import {
ensureImportBatch,
@@ -1,5 +1,5 @@
import type { Prisma } from "@planarchy/db";
import { DispoImportSourceKind, StagedRecordStatus } from "@planarchy/db";
import type { Prisma } from "@capakraken/db";
import { DispoImportSourceKind, StagedRecordStatus } from "@capakraken/db";
import { parseMandatoryDispoReferenceWorkbook } from "./parse-reference-workbook.js";
import { ensureImportBatch, finalizeImportBatchStage, getWorkbookFileName, type DispoImportDbClient, type DispoReferenceImportInput, toJsonObject } from "./shared.js";
@@ -1,5 +1,5 @@
import { createHash } from "node:crypto";
import { AllocationType, OrderType } from "@planarchy/db";
import { AllocationType, OrderType } from "@capakraken/db";
function extractBracketTokens(token: string): string[] {
return Array.from(
@@ -1,5 +1,5 @@
import type { CommitDbClient } from "./commit-dispo-batch-types.js";
import { StagedRecordStatus } from "@planarchy/db";
import { StagedRecordStatus } from "@capakraken/db";
function asObject(value: unknown): Record<string, unknown> {
return value && typeof value === "object" && !Array.isArray(value)
@@ -1,5 +1,5 @@
import type { Prisma } from "@planarchy/db";
import { EstimateStatus, EstimateVersionStatus } from "@planarchy/shared";
import type { Prisma } from "@capakraken/db";
import { EstimateStatus, EstimateVersionStatus } from "@capakraken/shared";
import {
buildProjectSnapshot,
ESTIMATE_DETAIL_INCLUDE,
@@ -1,5 +1,5 @@
import type { Prisma } from "@planarchy/db";
import { EstimateVersionStatus, type CreateEstimateInput } from "@planarchy/shared";
import type { Prisma } from "@capakraken/db";
import { EstimateVersionStatus, type CreateEstimateInput } from "@capakraken/shared";
import {
buildProjectSnapshot,
ESTIMATE_DETAIL_INCLUDE,
@@ -1,4 +1,4 @@
import { countWorkingDays } from "@planarchy/engine";
import { countWorkingDays } from "@capakraken/engine";
import { countEstimateHandoffPlanningEntries } from "../allocation/count-estimate-handoff-planning-entries.js";
import { createAssignment } from "../allocation/create-assignment.js";
import { createDemandRequirement } from "../allocation/create-demand-requirement.js";
@@ -9,7 +9,7 @@ import {
type EstimatePlanningHandoffAllocationRef,
type EstimatePlanningHandoffResult,
type WeekdayAvailability,
} from "@planarchy/shared";
} from "@capakraken/shared";
import {
ESTIMATE_DETAIL_INCLUDE,
PROJECT_SNAPSHOT_SELECT,
@@ -1,4 +1,4 @@
import type { EstimateListFilters } from "@planarchy/shared";
import type { EstimateListFilters } from "@capakraken/shared";
import type { EstimateDbClient } from "./shared.js";
export async function listEstimates(
@@ -9,8 +9,8 @@ import type {
Project,
ResourceCostSnapshot,
ScopeItem,
} from "@planarchy/db";
import type { Prisma } from "@planarchy/db";
} from "@capakraken/db";
import type { Prisma } from "@capakraken/db";
export const PROJECT_SNAPSHOT_SELECT = {
id: true,
@@ -1,5 +1,5 @@
import type { Prisma } from "@planarchy/db";
import { EstimateVersionStatus, type UpdateEstimateDraftInput } from "@planarchy/shared";
import type { Prisma } from "@capakraken/db";
import { EstimateVersionStatus, type UpdateEstimateDraftInput } from "@capakraken/shared";
import {
buildProjectSnapshot,
ESTIMATE_DETAIL_INCLUDE,
@@ -1,5 +1,5 @@
import type { Prisma } from "@planarchy/db";
import { serializeEstimateExport } from "@planarchy/engine";
import type { Prisma } from "@capakraken/db";
import { serializeEstimateExport } from "@capakraken/engine";
import {
EstimateExportFormat,
EstimateStatus,
@@ -8,7 +8,7 @@ import {
type CreateEstimateExportInput,
type CreateEstimateRevisionInput,
type SubmitEstimateVersionInput,
} from "@planarchy/shared";
} from "@capakraken/shared";
import {
ESTIMATE_DETAIL_INCLUDE,
type EstimateDbClient,
@@ -1,6 +1,6 @@
import type { PrismaClient } from "@planarchy/db";
import { computeValueScore } from "@planarchy/staffing";
import { VALUE_SCORE_WEIGHTS } from "@planarchy/shared";
import type { PrismaClient } from "@capakraken/db";
import { computeValueScore } from "@capakraken/staffing";
import { VALUE_SCORE_WEIGHTS } from "@capakraken/shared";
import { listAssignmentBookings } from "../allocation/list-assignment-bookings.js";
type ResourceValueScoreDbClient = Partial<Pick<PrismaClient, "systemSettings">> &
@@ -85,7 +85,7 @@ export async function recomputeResourceValueScores(
const breakdown = computeValueScore(
{
skills: skills as unknown as import("@planarchy/shared").SkillEntry[],
skills: skills as unknown as import("@capakraken/shared").SkillEntry[],
lcrCents: resource.lcrCents,
chargeabilityTarget: resource.chargeabilityTarget,
currentChargeability,
@@ -99,7 +99,7 @@ export async function recomputeResourceValueScores(
data: {
valueScore: breakdown.total,
valueScoreBreakdown:
breakdown as unknown as import("@planarchy/db").Prisma.InputJsonValue,
breakdown as unknown as import("@capakraken/db").Prisma.InputJsonValue,
valueScoreUpdatedAt: now,
},
});
+1 -1
View File
@@ -1,5 +1,5 @@
{
"extends": "@planarchy/tsconfig/base.json",
"extends": "@capakraken/tsconfig/base.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src"