snipara-companion 2.1.0 → 2.1.1
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.d.ts +8 -60
- package/dist/index.js +102 -20
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { ProjectIntelligenceEngineeringLeadPlanSummary } from '@snipara/project-intelligence-contracts';
|
|
3
|
+
|
|
2
4
|
declare function resolveQueryFromToolInput(toolInput?: string, tool?: string): string | null;
|
|
3
5
|
|
|
4
6
|
declare function extractFilesFromToolInput(toolInput?: string): string[];
|
|
@@ -2151,65 +2153,11 @@ declare function buildAgentReadinessAuditReport(options?: BuildAgentReadinessAud
|
|
|
2151
2153
|
declare function formatAgentReadinessAuditReport(report: AgentReadinessAuditReport): string;
|
|
2152
2154
|
declare function agentReadinessAuditCommand(options: AgentReadinessAuditCommandOptions): Promise<void>;
|
|
2153
2155
|
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
id: string;
|
|
2160
|
-
kind: "memory" | "project_decision" | "shadow_signal" | "context_graph" | "outcome_signal" | "retrieval_event" | "workflow" | "repository" | "manual";
|
|
2161
|
-
label: string;
|
|
2162
|
-
sourceRef?: string | null;
|
|
2163
|
-
strength?: number | null;
|
|
2164
|
-
reviewStatus?: string | null;
|
|
2165
|
-
authorityStatus?: string | null;
|
|
2166
|
-
freshness?: string | null;
|
|
2167
|
-
}
|
|
2168
|
-
interface EngineeringLeadWorkerContract {
|
|
2169
|
-
writeScope: string[];
|
|
2170
|
-
contextRefs: EngineeringLeadEvidenceRef[];
|
|
2171
|
-
acceptanceCriteria: string[];
|
|
2172
|
-
proofRequired: string[];
|
|
2173
|
-
approvalRequired: boolean;
|
|
2174
|
-
fallback: "main_agent";
|
|
2175
|
-
}
|
|
2176
|
-
interface EngineeringLeadWorkerRecommendation {
|
|
2177
|
-
id: string;
|
|
2178
|
-
role: EngineeringLeadWorkerRole;
|
|
2179
|
-
label: string;
|
|
2180
|
-
status: EngineeringLeadStatus;
|
|
2181
|
-
routingMode: EngineeringLeadRoutingMode;
|
|
2182
|
-
workPackageId: string | null;
|
|
2183
|
-
workPackageTitle: string | null;
|
|
2184
|
-
owner: string | null;
|
|
2185
|
-
rationale: string;
|
|
2186
|
-
contract: EngineeringLeadWorkerContract;
|
|
2187
|
-
proofGates: string[];
|
|
2188
|
-
brainUpdateCandidates: string[];
|
|
2189
|
-
evidence: EngineeringLeadEvidenceRef[];
|
|
2190
|
-
reasonCodes: string[];
|
|
2191
|
-
}
|
|
2192
|
-
interface EngineeringLeadPlanSummary {
|
|
2193
|
-
version: "project-intelligence-engineering-lead-plan-v0";
|
|
2194
|
-
posture: EngineeringLeadPosture;
|
|
2195
|
-
status: EngineeringLeadStatus;
|
|
2196
|
-
score: number;
|
|
2197
|
-
headline: string;
|
|
2198
|
-
operatingMode: "advisory_fail_closed";
|
|
2199
|
-
nextAction: string;
|
|
2200
|
-
workersSpawned: 0;
|
|
2201
|
-
failClosedFallback: "main_agent";
|
|
2202
|
-
workerRecommendations: EngineeringLeadWorkerRecommendation[];
|
|
2203
|
-
proofGates: string[];
|
|
2204
|
-
brainUpdateActions: string[];
|
|
2205
|
-
metrics: Array<{
|
|
2206
|
-
label: string;
|
|
2207
|
-
value: string | number;
|
|
2208
|
-
}>;
|
|
2209
|
-
evidence: EngineeringLeadEvidenceRef[];
|
|
2210
|
-
caveats: string[];
|
|
2211
|
-
reasonCodes: string[];
|
|
2212
|
-
}
|
|
2156
|
+
declare const ENGINEERING_LEAD_STATUSES: readonly ["healthy", "watch", "risk", "unknown"];
|
|
2157
|
+
declare const ENGINEERING_LEAD_POSTURES: readonly ["lead_ready", "lead_watch", "lead_blocked", "lead_cold_start"];
|
|
2158
|
+
declare const ENGINEERING_LEAD_WORKER_ROLES: readonly ["main_agent", "coding_worker", "test_worker", "reviewer", "documentation_worker", "human_approver"];
|
|
2159
|
+
declare const ENGINEERING_LEAD_ROUTING_MODES: readonly ["hold", "main_agent_execute", "explicit_handoff_ready", "needs_contract"];
|
|
2160
|
+
type EngineeringLeadPlanSummary = ProjectIntelligenceEngineeringLeadPlanSummary;
|
|
2213
2161
|
interface CompanionEngineeringLeadPlanReport {
|
|
2214
2162
|
version: "snipara.companion_engineering_lead_plan.v1";
|
|
2215
2163
|
generatedAt: string;
|
|
@@ -3557,4 +3505,4 @@ declare function buildOrchestratorHandoff(options: OrchestratorHandoffOptions):
|
|
|
3557
3505
|
declare function buildAdaptiveWorkRoutingRecommendation(options: AdaptiveWorkRoutingOptions): AdaptiveWorkRoutingRecommendation;
|
|
3558
3506
|
declare function writeOrchestratorHandoff(options: OrchestratorHandoffOptions): WrittenOrchestratorHandoff;
|
|
3559
3507
|
|
|
3560
|
-
export { AUTOMATION_MANIFEST_RELATIVE_PATH, AutomationInstallConflictError, AutomationUnsupportedHookBundleError, COLLABORATION_STATE_RELATIVE_PATH, ORCHESTRATOR_HANDOFF_RELATIVE_PATH, TEAM_SYNC_STATE_RELATIVE_PATH, WORKFLOW_PLANS_RELATIVE_DIR, WORKFLOW_STATE_RELATIVE_PATH, agentReadinessAuditCommand, archiveInactiveTeamSyncWork, attachLocalContextPackReceipts, autoArchiveTeamSyncState, buildAdaptiveWorkRoutingRecommendation, buildAgentReadinessAuditReport, buildAgenticHandoffMarkdown, buildAgenticTimeline, buildAgenticWorkStatus, buildAutomationInstallPlan, buildCanonicalEvent, buildCodeHooksInstallPlan, buildCodePromotionResult, buildCodeStatusResult, buildCodeSyncResult, buildCollaborationActor, buildCollaborationGuardActionCards, buildCollaborationHooksInstallPlan, buildCompanionEngineeringLeadPlanReport, buildContextPackStats, buildEvalCaseArtifact, buildGeneratedWorkflowPlanDocument, buildHostedCodeOverlayUploadPayload, buildHostedGuardPayload, buildJournalCheckpointEntry, buildLocalCallersResult, buildLocalCodeOverlay, buildLocalContextPackReceipt, buildLocalContextPackReceipts, buildLocalImpactResult, buildLocalImportsResult, buildLocalNeighborsResult, buildLocalShortestPathResult, buildMemoryAudit, buildOnboardFolderManifest, buildOrchestratorHandoff, buildProjectIntelligenceBrief, buildProjectIntelligenceRun, buildProjectJudgmentCard, buildSessionBootstrapQuality, buildSyncDocumentsDryRun, buildTeamSyncHandoffRecord, buildTeamSyncStartWorkRecord, buildTeamSyncSummary, buildToolCallPayload, buildToolResultPayload, buildVerificationPlan, buildWorkflowImpactGate, buildWorkflowPhaseCommitSummary, buildWorkflowPlanScaffold, categoryFromGuardTag, classifyToolResult, cleanContextPacks, collaborationIdeStatusCommand, collectAgentReadinessLocalSignals, collectSyncDocuments, collectSyncDocumentsInput, compactHostedGuardResources, completeTeamSyncStateFromEvidence, completeTeamSyncWorkFromEvidence, contextPackCleanCommand, contextPackPackCommand, contextPackRetrieveCommand, contextPackStatsCommand, createClient, createEmptyCollaborationState, createEmptyTeamSyncState, createLocalQueryCache, deriveLocalCollaborationResourcesFromFiles, detectReleaseSurfacesFromFiles, detectRuntimeEnvironment, evalExportCommand, evalRunCommand, evaluateProjectPolicyGates, extractCommandFromToolInput, extractFilesFromToolInput, formatAgentReadinessAuditReport, formatCompanionEngineeringLeadPlanReport, formatOrchestratorRecommendationReason, formatPolicyGateDecision, formatProjectJudgmentCard, formatStuckGuardDecision, getAutomationManifestPath, getAutomationStatus, getCollaborationStatePath, getConfigPath, getContextPackStoragePaths, getLocalCodeOverlayCachePath, getLocalCodePromotionStatePath, getOrchestratorRecommendation, getPlanStepDisplayTitle, getStagedFiles, getStuckGuardInjection, getTeamSyncStatePath, ingestReferences, installAutomationBundle, leadPlanCommand, listProjectsForApiKey, loadAutomationManifest, loadCollaborationState, loadConfig, loadTeamSyncState, memoryAuditCommand, memoryCleanCandidatesCommand, memoryCompactCommand, memoryHealthCommand, memoryLocalCommand, normalizeCollaborationFiles, normalizeGuardTag, normalizeWorkflowPlanInput, packContext, parseCollaborationResources, projectIntelligenceBriefCommand, projectIntelligenceRunCommand, readLocalCodeOverlayCache, readLocalCodePromotionState, referencesIngestCommand, referencesScanCommand, resolveContextPackRecord, resolveFullWorkflowTokenBudget, resolveQueryFromToolInput, retrieveContextPack, runMemoryGuardCheck, saveCollaborationState, saveConfig, saveTeamSyncState, scanReferences, shouldSuggestOrchestratorForWorkflow, shouldSuggestRuntimeForWorkflow, summarizeLocalCodeOverlay, teamSyncSweepCommand, validatePlanResult, verifyCommand, writeLocalCodeOverlayCache, writeLocalCodePromotionState, writeOrchestratorHandoff };
|
|
3508
|
+
export { AUTOMATION_MANIFEST_RELATIVE_PATH, AutomationInstallConflictError, AutomationUnsupportedHookBundleError, COLLABORATION_STATE_RELATIVE_PATH, ENGINEERING_LEAD_POSTURES, ENGINEERING_LEAD_ROUTING_MODES, ENGINEERING_LEAD_STATUSES, ENGINEERING_LEAD_WORKER_ROLES, ORCHESTRATOR_HANDOFF_RELATIVE_PATH, TEAM_SYNC_STATE_RELATIVE_PATH, WORKFLOW_PLANS_RELATIVE_DIR, WORKFLOW_STATE_RELATIVE_PATH, agentReadinessAuditCommand, archiveInactiveTeamSyncWork, attachLocalContextPackReceipts, autoArchiveTeamSyncState, buildAdaptiveWorkRoutingRecommendation, buildAgentReadinessAuditReport, buildAgenticHandoffMarkdown, buildAgenticTimeline, buildAgenticWorkStatus, buildAutomationInstallPlan, buildCanonicalEvent, buildCodeHooksInstallPlan, buildCodePromotionResult, buildCodeStatusResult, buildCodeSyncResult, buildCollaborationActor, buildCollaborationGuardActionCards, buildCollaborationHooksInstallPlan, buildCompanionEngineeringLeadPlanReport, buildContextPackStats, buildEvalCaseArtifact, buildGeneratedWorkflowPlanDocument, buildHostedCodeOverlayUploadPayload, buildHostedGuardPayload, buildJournalCheckpointEntry, buildLocalCallersResult, buildLocalCodeOverlay, buildLocalContextPackReceipt, buildLocalContextPackReceipts, buildLocalImpactResult, buildLocalImportsResult, buildLocalNeighborsResult, buildLocalShortestPathResult, buildMemoryAudit, buildOnboardFolderManifest, buildOrchestratorHandoff, buildProjectIntelligenceBrief, buildProjectIntelligenceRun, buildProjectJudgmentCard, buildSessionBootstrapQuality, buildSyncDocumentsDryRun, buildTeamSyncHandoffRecord, buildTeamSyncStartWorkRecord, buildTeamSyncSummary, buildToolCallPayload, buildToolResultPayload, buildVerificationPlan, buildWorkflowImpactGate, buildWorkflowPhaseCommitSummary, buildWorkflowPlanScaffold, categoryFromGuardTag, classifyToolResult, cleanContextPacks, collaborationIdeStatusCommand, collectAgentReadinessLocalSignals, collectSyncDocuments, collectSyncDocumentsInput, compactHostedGuardResources, completeTeamSyncStateFromEvidence, completeTeamSyncWorkFromEvidence, contextPackCleanCommand, contextPackPackCommand, contextPackRetrieveCommand, contextPackStatsCommand, createClient, createEmptyCollaborationState, createEmptyTeamSyncState, createLocalQueryCache, deriveLocalCollaborationResourcesFromFiles, detectReleaseSurfacesFromFiles, detectRuntimeEnvironment, evalExportCommand, evalRunCommand, evaluateProjectPolicyGates, extractCommandFromToolInput, extractFilesFromToolInput, formatAgentReadinessAuditReport, formatCompanionEngineeringLeadPlanReport, formatOrchestratorRecommendationReason, formatPolicyGateDecision, formatProjectJudgmentCard, formatStuckGuardDecision, getAutomationManifestPath, getAutomationStatus, getCollaborationStatePath, getConfigPath, getContextPackStoragePaths, getLocalCodeOverlayCachePath, getLocalCodePromotionStatePath, getOrchestratorRecommendation, getPlanStepDisplayTitle, getStagedFiles, getStuckGuardInjection, getTeamSyncStatePath, ingestReferences, installAutomationBundle, leadPlanCommand, listProjectsForApiKey, loadAutomationManifest, loadCollaborationState, loadConfig, loadTeamSyncState, memoryAuditCommand, memoryCleanCandidatesCommand, memoryCompactCommand, memoryHealthCommand, memoryLocalCommand, normalizeCollaborationFiles, normalizeGuardTag, normalizeWorkflowPlanInput, packContext, parseCollaborationResources, projectIntelligenceBriefCommand, projectIntelligenceRunCommand, readLocalCodeOverlayCache, readLocalCodePromotionState, referencesIngestCommand, referencesScanCommand, resolveContextPackRecord, resolveFullWorkflowTokenBudget, resolveQueryFromToolInput, retrieveContextPack, runMemoryGuardCheck, saveCollaborationState, saveConfig, saveTeamSyncState, scanReferences, shouldSuggestOrchestratorForWorkflow, shouldSuggestRuntimeForWorkflow, summarizeLocalCodeOverlay, teamSyncSweepCommand, validatePlanResult, verifyCommand, writeLocalCodeOverlayCache, writeLocalCodePromotionState, writeOrchestratorHandoff };
|
package/dist/index.js
CHANGED
|
@@ -35,6 +35,10 @@ __export(index_exports, {
|
|
|
35
35
|
AutomationInstallConflictError: () => AutomationInstallConflictError,
|
|
36
36
|
AutomationUnsupportedHookBundleError: () => AutomationUnsupportedHookBundleError,
|
|
37
37
|
COLLABORATION_STATE_RELATIVE_PATH: () => COLLABORATION_STATE_RELATIVE_PATH,
|
|
38
|
+
ENGINEERING_LEAD_POSTURES: () => ENGINEERING_LEAD_POSTURES,
|
|
39
|
+
ENGINEERING_LEAD_ROUTING_MODES: () => ENGINEERING_LEAD_ROUTING_MODES,
|
|
40
|
+
ENGINEERING_LEAD_STATUSES: () => ENGINEERING_LEAD_STATUSES,
|
|
41
|
+
ENGINEERING_LEAD_WORKER_ROLES: () => ENGINEERING_LEAD_WORKER_ROLES,
|
|
38
42
|
ORCHESTRATOR_HANDOFF_RELATIVE_PATH: () => ORCHESTRATOR_HANDOFF_RELATIVE_PATH,
|
|
39
43
|
TEAM_SYNC_STATE_RELATIVE_PATH: () => TEAM_SYNC_STATE_RELATIVE_PATH,
|
|
40
44
|
WORKFLOW_PLANS_RELATIVE_DIR: () => WORKFLOW_PLANS_RELATIVE_DIR,
|
|
@@ -10451,6 +10455,36 @@ async function agentReadinessAuditCommand(options) {
|
|
|
10451
10455
|
// src/commands/lead-plan.ts
|
|
10452
10456
|
var fs16 = __toESM(require("fs"));
|
|
10453
10457
|
var path15 = __toESM(require("path"));
|
|
10458
|
+
|
|
10459
|
+
// ../project-intelligence-contracts/src/index.ts
|
|
10460
|
+
var PROJECT_HEALTH_COCKPIT_STATUSES = ["healthy", "watch", "risk", "unknown"];
|
|
10461
|
+
var PROJECT_INTELLIGENCE_ENGINEERING_LEAD_PLAN_VERSION = "project-intelligence-engineering-lead-plan-v0";
|
|
10462
|
+
var PROJECT_INTELLIGENCE_ENGINEERING_LEAD_POSTURES = [
|
|
10463
|
+
"lead_ready",
|
|
10464
|
+
"lead_watch",
|
|
10465
|
+
"lead_blocked",
|
|
10466
|
+
"lead_cold_start"
|
|
10467
|
+
];
|
|
10468
|
+
var PROJECT_INTELLIGENCE_ENGINEERING_LEAD_WORKER_ROLES = [
|
|
10469
|
+
"main_agent",
|
|
10470
|
+
"coding_worker",
|
|
10471
|
+
"test_worker",
|
|
10472
|
+
"reviewer",
|
|
10473
|
+
"documentation_worker",
|
|
10474
|
+
"human_approver"
|
|
10475
|
+
];
|
|
10476
|
+
var PROJECT_INTELLIGENCE_ENGINEERING_LEAD_ROUTING_MODES = [
|
|
10477
|
+
"hold",
|
|
10478
|
+
"main_agent_execute",
|
|
10479
|
+
"explicit_handoff_ready",
|
|
10480
|
+
"needs_contract"
|
|
10481
|
+
];
|
|
10482
|
+
|
|
10483
|
+
// src/commands/lead-plan.ts
|
|
10484
|
+
var ENGINEERING_LEAD_STATUSES = PROJECT_HEALTH_COCKPIT_STATUSES;
|
|
10485
|
+
var ENGINEERING_LEAD_POSTURES = PROJECT_INTELLIGENCE_ENGINEERING_LEAD_POSTURES;
|
|
10486
|
+
var ENGINEERING_LEAD_WORKER_ROLES = PROJECT_INTELLIGENCE_ENGINEERING_LEAD_WORKER_ROLES;
|
|
10487
|
+
var ENGINEERING_LEAD_ROUTING_MODES = PROJECT_INTELLIGENCE_ENGINEERING_LEAD_ROUTING_MODES;
|
|
10454
10488
|
var TARGET_LABELS = {
|
|
10455
10489
|
codex: "Codex",
|
|
10456
10490
|
"claude-code": "Claude Code",
|
|
@@ -10504,17 +10538,17 @@ function numberValue2(value, fallback) {
|
|
|
10504
10538
|
function booleanValue(value, fallback) {
|
|
10505
10539
|
return typeof value === "boolean" ? value : fallback;
|
|
10506
10540
|
}
|
|
10507
|
-
function
|
|
10508
|
-
|
|
10509
|
-
}
|
|
10510
|
-
|
|
10511
|
-
return
|
|
10512
|
-
|
|
10513
|
-
|
|
10514
|
-
|
|
10541
|
+
function cockpitEnumValue(field, values, value, fallback) {
|
|
10542
|
+
if (typeof value === "string" && values.includes(value)) {
|
|
10543
|
+
return { value, droppedReasonCode: null };
|
|
10544
|
+
}
|
|
10545
|
+
return {
|
|
10546
|
+
value: fallback,
|
|
10547
|
+
droppedReasonCode: typeof value === "string" && value.trim() ? `companion_dropped_unknown_${field}` : null
|
|
10548
|
+
};
|
|
10515
10549
|
}
|
|
10516
|
-
function
|
|
10517
|
-
return value
|
|
10550
|
+
function compactReasonCodes(values) {
|
|
10551
|
+
return values.filter((value) => Boolean(value));
|
|
10518
10552
|
}
|
|
10519
10553
|
function slug(value, fallback) {
|
|
10520
10554
|
const normalized = value.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 48);
|
|
@@ -10737,7 +10771,7 @@ function buildLocalEngineeringLeadPlan(input) {
|
|
|
10737
10771
|
]
|
|
10738
10772
|
};
|
|
10739
10773
|
return {
|
|
10740
|
-
version:
|
|
10774
|
+
version: PROJECT_INTELLIGENCE_ENGINEERING_LEAD_PLAN_VERSION,
|
|
10741
10775
|
posture,
|
|
10742
10776
|
status,
|
|
10743
10777
|
score,
|
|
@@ -10774,12 +10808,30 @@ function buildLocalEngineeringLeadPlan(input) {
|
|
|
10774
10808
|
}
|
|
10775
10809
|
function normalizeWorkerRecommendation(value, index) {
|
|
10776
10810
|
const contract = isRecord5(value.contract) ? value.contract : {};
|
|
10811
|
+
const role = cockpitEnumValue(
|
|
10812
|
+
"worker_role",
|
|
10813
|
+
ENGINEERING_LEAD_WORKER_ROLES,
|
|
10814
|
+
value.role,
|
|
10815
|
+
"main_agent"
|
|
10816
|
+
);
|
|
10817
|
+
const status = cockpitEnumValue(
|
|
10818
|
+
"worker_status",
|
|
10819
|
+
ENGINEERING_LEAD_STATUSES,
|
|
10820
|
+
value.status,
|
|
10821
|
+
"unknown"
|
|
10822
|
+
);
|
|
10823
|
+
const routingMode = cockpitEnumValue(
|
|
10824
|
+
"routing_mode",
|
|
10825
|
+
ENGINEERING_LEAD_ROUTING_MODES,
|
|
10826
|
+
value.routingMode,
|
|
10827
|
+
"hold"
|
|
10828
|
+
);
|
|
10777
10829
|
return {
|
|
10778
10830
|
id: stringValue3(value.id) ?? `worker:${index + 1}`,
|
|
10779
|
-
role:
|
|
10780
|
-
label: stringValue3(value.label) ?? workerLabel(
|
|
10781
|
-
status:
|
|
10782
|
-
routingMode:
|
|
10831
|
+
role: role.value,
|
|
10832
|
+
label: stringValue3(value.label) ?? workerLabel(role.value),
|
|
10833
|
+
status: status.value,
|
|
10834
|
+
routingMode: routingMode.value,
|
|
10783
10835
|
workPackageId: stringValue3(value.workPackageId) ?? null,
|
|
10784
10836
|
workPackageTitle: stringValue3(value.workPackageTitle) ?? null,
|
|
10785
10837
|
owner: stringValue3(value.owner) ?? null,
|
|
@@ -10795,7 +10847,16 @@ function normalizeWorkerRecommendation(value, index) {
|
|
|
10795
10847
|
proofGates: stringList(value.proofGates),
|
|
10796
10848
|
brainUpdateCandidates: stringList(value.brainUpdateCandidates),
|
|
10797
10849
|
evidence: normalizeEvidence(value.evidence),
|
|
10798
|
-
reasonCodes:
|
|
10850
|
+
reasonCodes: [
|
|
10851
|
+
.../* @__PURE__ */ new Set([
|
|
10852
|
+
...stringList(value.reasonCodes),
|
|
10853
|
+
...compactReasonCodes([
|
|
10854
|
+
role.droppedReasonCode,
|
|
10855
|
+
status.droppedReasonCode,
|
|
10856
|
+
routingMode.droppedReasonCode
|
|
10857
|
+
])
|
|
10858
|
+
])
|
|
10859
|
+
]
|
|
10799
10860
|
};
|
|
10800
10861
|
}
|
|
10801
10862
|
function normalizeCockpitPlan(cockpit) {
|
|
@@ -10804,10 +10865,25 @@ function normalizeCockpitPlan(cockpit) {
|
|
|
10804
10865
|
const workerRecommendations = recordList2(rawPlan.workerRecommendations).map(
|
|
10805
10866
|
normalizeWorkerRecommendation
|
|
10806
10867
|
);
|
|
10868
|
+
const posture = cockpitEnumValue(
|
|
10869
|
+
"posture",
|
|
10870
|
+
ENGINEERING_LEAD_POSTURES,
|
|
10871
|
+
rawPlan.posture,
|
|
10872
|
+
"lead_cold_start"
|
|
10873
|
+
);
|
|
10874
|
+
const status = cockpitEnumValue(
|
|
10875
|
+
"status",
|
|
10876
|
+
ENGINEERING_LEAD_STATUSES,
|
|
10877
|
+
rawPlan.status,
|
|
10878
|
+
statusForScore(score)
|
|
10879
|
+
);
|
|
10880
|
+
const workerDroppedReasonCodes = workerRecommendations.flatMap(
|
|
10881
|
+
(worker) => worker.reasonCodes.filter((code2) => code2.startsWith("companion_dropped_unknown_"))
|
|
10882
|
+
);
|
|
10807
10883
|
return {
|
|
10808
|
-
version:
|
|
10809
|
-
posture:
|
|
10810
|
-
status:
|
|
10884
|
+
version: PROJECT_INTELLIGENCE_ENGINEERING_LEAD_PLAN_VERSION,
|
|
10885
|
+
posture: posture.value,
|
|
10886
|
+
status: status.value,
|
|
10811
10887
|
score,
|
|
10812
10888
|
headline: stringValue3(rawPlan.headline) ?? "Imported Project Health Engineering Lead Plan.",
|
|
10813
10889
|
operatingMode: "advisory_fail_closed",
|
|
@@ -10832,7 +10908,9 @@ function normalizeCockpitPlan(cockpit) {
|
|
|
10832
10908
|
reasonCodes: [
|
|
10833
10909
|
.../* @__PURE__ */ new Set([
|
|
10834
10910
|
"companion_imported_project_health_lead_plan",
|
|
10835
|
-
...
|
|
10911
|
+
...compactReasonCodes([posture.droppedReasonCode, status.droppedReasonCode]),
|
|
10912
|
+
...stringList(rawPlan.reasonCodes),
|
|
10913
|
+
...workerDroppedReasonCodes
|
|
10836
10914
|
])
|
|
10837
10915
|
]
|
|
10838
10916
|
};
|
|
@@ -24805,6 +24883,10 @@ if (require.main === module) {
|
|
|
24805
24883
|
AutomationInstallConflictError,
|
|
24806
24884
|
AutomationUnsupportedHookBundleError,
|
|
24807
24885
|
COLLABORATION_STATE_RELATIVE_PATH,
|
|
24886
|
+
ENGINEERING_LEAD_POSTURES,
|
|
24887
|
+
ENGINEERING_LEAD_ROUTING_MODES,
|
|
24888
|
+
ENGINEERING_LEAD_STATUSES,
|
|
24889
|
+
ENGINEERING_LEAD_WORKER_ROLES,
|
|
24808
24890
|
ORCHESTRATOR_HANDOFF_RELATIVE_PATH,
|
|
24809
24891
|
TEAM_SYNC_STATE_RELATIVE_PATH,
|
|
24810
24892
|
WORKFLOW_PLANS_RELATIVE_DIR,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "snipara-companion",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "Local-first CLI that asks your repo what breaks before an AI coding agent edits it.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"conf": "^12.0.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
+
"@snipara/project-intelligence-contracts": "workspace:*",
|
|
60
61
|
"@eslint/js": "^9.39.3",
|
|
61
62
|
"@types/node": "^20.19.31",
|
|
62
63
|
"@typescript-eslint/eslint-plugin": "^8.56.0",
|