perttool 0.2.0 → 0.4.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/CHANGELOG.md +81 -1
- package/README.md +121 -28
- package/dist/analysis/temporal-deadline.d.ts +59 -0
- package/dist/analysis/temporal-deadline.d.ts.map +1 -0
- package/dist/analysis/temporal-deadline.js +387 -0
- package/dist/analysis/temporal-deadline.js.map +1 -0
- package/dist/analysis/temporal-precedence.d.ts +45 -0
- package/dist/analysis/temporal-precedence.d.ts.map +1 -0
- package/dist/analysis/temporal-precedence.js +123 -0
- package/dist/analysis/temporal-precedence.js.map +1 -0
- package/dist/analysis/temporal-resource.d.ts +66 -0
- package/dist/analysis/temporal-resource.d.ts.map +1 -0
- package/dist/analysis/temporal-resource.js +292 -0
- package/dist/analysis/temporal-resource.js.map +1 -0
- package/dist/application/check.d.ts +16 -0
- package/dist/application/check.d.ts.map +1 -1
- package/dist/application/check.js +51 -0
- package/dist/application/check.js.map +1 -1
- package/dist/application/contract4.d.ts +17 -0
- package/dist/application/contract4.d.ts.map +1 -0
- package/dist/application/contract4.js +27 -0
- package/dist/application/contract4.js.map +1 -0
- package/dist/application/contract5-governance.d.ts +8 -0
- package/dist/application/contract5-governance.d.ts.map +1 -0
- package/dist/application/contract5-governance.js +12 -0
- package/dist/application/contract5-governance.js.map +1 -0
- package/dist/application/init.d.ts +3 -11
- package/dist/application/init.d.ts.map +1 -1
- package/dist/application/init.js +16 -129
- package/dist/application/init.js.map +1 -1
- package/dist/application/mutate.d.ts +19 -0
- package/dist/application/mutate.d.ts.map +1 -1
- package/dist/application/mutate.js +34 -16
- package/dist/application/mutate.js.map +1 -1
- package/dist/application/next.d.ts +2 -0
- package/dist/application/next.d.ts.map +1 -1
- package/dist/application/next.js +7 -1
- package/dist/application/next.js.map +1 -1
- package/dist/application/project.d.ts +4 -22
- package/dist/application/project.d.ts.map +1 -1
- package/dist/application/project.js +3 -51
- package/dist/application/project.js.map +1 -1
- package/dist/application/target-check.d.ts +34 -0
- package/dist/application/target-check.d.ts.map +1 -0
- package/dist/application/target-check.js +90 -0
- package/dist/application/target-check.js.map +1 -0
- package/dist/application/target-governance-init.d.ts +36 -0
- package/dist/application/target-governance-init.d.ts.map +1 -0
- package/dist/application/target-governance-init.js +185 -0
- package/dist/application/target-governance-init.js.map +1 -0
- package/dist/application/target-governance-mutation.d.ts +20 -0
- package/dist/application/target-governance-mutation.d.ts.map +1 -0
- package/dist/application/target-governance-mutation.js +175 -0
- package/dist/application/target-governance-mutation.js.map +1 -0
- package/dist/application/target-governance-project.d.ts +34 -0
- package/dist/application/target-governance-project.d.ts.map +1 -0
- package/dist/application/target-governance-project.js +80 -0
- package/dist/application/target-governance-project.js.map +1 -0
- package/dist/application/target-governance-projection.d.ts +18 -0
- package/dist/application/target-governance-projection.d.ts.map +1 -0
- package/dist/application/target-governance-projection.js +248 -0
- package/dist/application/target-governance-projection.js.map +1 -0
- package/dist/application/target-governance-write.d.ts +17 -0
- package/dist/application/target-governance-write.d.ts.map +1 -0
- package/dist/application/target-governance-write.js +55 -0
- package/dist/application/target-governance-write.js.map +1 -0
- package/dist/application/target-grammar-boundary.d.ts +22 -0
- package/dist/application/target-grammar-boundary.d.ts.map +1 -0
- package/dist/application/target-grammar-boundary.js +91 -0
- package/dist/application/target-grammar-boundary.js.map +1 -0
- package/dist/application/target-mutate.d.ts +10 -0
- package/dist/application/target-mutate.d.ts.map +1 -0
- package/dist/application/target-mutate.js +81 -0
- package/dist/application/target-mutate.js.map +1 -0
- package/dist/application/target-project.d.ts +28 -0
- package/dist/application/target-project.d.ts.map +1 -0
- package/dist/application/target-project.js +60 -0
- package/dist/application/target-project.js.map +1 -0
- package/dist/application/target-temporal-analysis.d.ts +140 -0
- package/dist/application/target-temporal-analysis.d.ts.map +1 -0
- package/dist/application/target-temporal-analysis.js +414 -0
- package/dist/application/target-temporal-analysis.js.map +1 -0
- package/dist/application/target-temporal-input.d.ts +86 -0
- package/dist/application/target-temporal-input.d.ts.map +1 -0
- package/dist/application/target-temporal-input.js +240 -0
- package/dist/application/target-temporal-input.js.map +1 -0
- package/dist/application/target-unit-migration-candidate.d.ts +60 -0
- package/dist/application/target-unit-migration-candidate.d.ts.map +1 -0
- package/dist/application/target-unit-migration-candidate.js +294 -0
- package/dist/application/target-unit-migration-candidate.js.map +1 -0
- package/dist/application/target-unit-migration-request.d.ts +35 -0
- package/dist/application/target-unit-migration-request.d.ts.map +1 -0
- package/dist/application/target-unit-migration-request.js +70 -0
- package/dist/application/target-unit-migration-request.js.map +1 -0
- package/dist/application/target-unit-migration-result.d.ts +66 -0
- package/dist/application/target-unit-migration-result.d.ts.map +1 -0
- package/dist/application/target-unit-migration-result.js +86 -0
- package/dist/application/target-unit-migration-result.js.map +1 -0
- package/dist/application/unit-migration.d.ts +16 -0
- package/dist/application/unit-migration.d.ts.map +1 -0
- package/dist/application/unit-migration.js +11 -0
- package/dist/application/unit-migration.js.map +1 -0
- package/dist/cli.js +383 -132
- package/dist/cli.js.map +1 -1
- package/dist/command/discovery.d.ts +3 -3
- package/dist/command/discovery.d.ts.map +1 -1
- package/dist/command/discovery.js +149 -22
- package/dist/command/discovery.js.map +1 -1
- package/dist/command/registry.d.ts +8 -2
- package/dist/command/registry.d.ts.map +1 -1
- package/dist/command/registry.js +14 -1
- package/dist/command/registry.js.map +1 -1
- package/dist/command/target-governance-discovery.d.ts +31 -0
- package/dist/command/target-governance-discovery.d.ts.map +1 -0
- package/dist/command/target-governance-discovery.js +390 -0
- package/dist/command/target-governance-discovery.js.map +1 -0
- package/dist/command/target-governance-usage.d.ts +22 -0
- package/dist/command/target-governance-usage.d.ts.map +1 -0
- package/dist/command/target-governance-usage.js +116 -0
- package/dist/command/target-governance-usage.js.map +1 -0
- package/dist/command/usage.d.ts +2 -0
- package/dist/command/usage.d.ts.map +1 -1
- package/dist/command/usage.js +44 -26
- package/dist/command/usage.js.map +1 -1
- package/dist/conversion/mermaid-import.d.ts.map +1 -1
- package/dist/conversion/mermaid-import.js +3 -2
- package/dist/conversion/mermaid-import.js.map +1 -1
- package/dist/conversion/mermaid.d.ts.map +1 -1
- package/dist/conversion/mermaid.js +27 -0
- package/dist/conversion/mermaid.js.map +1 -1
- package/dist/formatter/source-formatter.d.ts +12 -0
- package/dist/formatter/source-formatter.d.ts.map +1 -1
- package/dist/formatter/source-formatter.js +59 -6
- package/dist/formatter/source-formatter.js.map +1 -1
- package/dist/formatter/target-source-formatter.d.ts +9 -0
- package/dist/formatter/target-source-formatter.d.ts.map +1 -0
- package/dist/formatter/target-source-formatter.js +52 -0
- package/dist/formatter/target-source-formatter.js.map +1 -0
- package/dist/governance/authority.d.ts +21 -0
- package/dist/governance/authority.d.ts.map +1 -0
- package/dist/governance/authority.js +206 -0
- package/dist/governance/authority.js.map +1 -0
- package/dist/governance/guidance.d.ts +2 -0
- package/dist/governance/guidance.d.ts.map +1 -0
- package/dist/governance/guidance.js +2 -0
- package/dist/governance/guidance.js.map +1 -0
- package/dist/governance/source.d.ts +37 -0
- package/dist/governance/source.d.ts.map +1 -0
- package/dist/governance/source.js +103 -0
- package/dist/governance/source.js.map +1 -0
- package/dist/governance/types.d.ts +41 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/governance/types.js +2 -0
- package/dist/governance/types.js.map +1 -0
- package/dist/help/guide.d.ts +8 -5
- package/dist/help/guide.d.ts.map +1 -1
- package/dist/help/guide.js +1 -1
- package/dist/help/guide.js.map +1 -1
- package/dist/help/registry.d.ts.map +1 -1
- package/dist/help/registry.js +124 -13
- package/dist/help/registry.js.map +1 -1
- package/dist/help/target-governance-guide.d.ts +10 -0
- package/dist/help/target-governance-guide.d.ts.map +1 -0
- package/dist/help/target-governance-guide.js +57 -0
- package/dist/help/target-governance-guide.js.map +1 -0
- package/dist/index.d.ts +25 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/io/safe-write.d.ts +11 -0
- package/dist/io/safe-write.d.ts.map +1 -1
- package/dist/io/safe-write.js +40 -10
- package/dist/io/safe-write.js.map +1 -1
- package/dist/io/target-safe-write.d.ts +10 -0
- package/dist/io/target-safe-write.d.ts.map +1 -0
- package/dist/io/target-safe-write.js +51 -0
- package/dist/io/target-safe-write.js.map +1 -0
- package/dist/migration/conversion.d.ts +40 -0
- package/dist/migration/conversion.d.ts.map +1 -0
- package/dist/migration/conversion.js +106 -0
- package/dist/migration/conversion.js.map +1 -0
- package/dist/migration/grammar-boundary.d.ts +20 -0
- package/dist/migration/grammar-boundary.d.ts.map +1 -0
- package/dist/migration/grammar-boundary.js +95 -0
- package/dist/migration/grammar-boundary.js.map +1 -0
- package/dist/migration/request.d.ts +79 -0
- package/dist/migration/request.d.ts.map +1 -0
- package/dist/migration/request.js +308 -0
- package/dist/migration/request.js.map +1 -0
- package/dist/model/calendar-arithmetic.d.ts +46 -0
- package/dist/model/calendar-arithmetic.d.ts.map +1 -0
- package/dist/model/calendar-arithmetic.js +236 -0
- package/dist/model/calendar-arithmetic.js.map +1 -0
- package/dist/model/calendar.d.ts +22 -0
- package/dist/model/calendar.d.ts.map +1 -0
- package/dist/model/calendar.js +83 -0
- package/dist/model/calendar.js.map +1 -0
- package/dist/model/declaration-fields.d.ts +22 -0
- package/dist/model/declaration-fields.d.ts.map +1 -0
- package/dist/model/declaration-fields.js +72 -0
- package/dist/model/declaration-fields.js.map +1 -0
- package/dist/model/exact-duration-source.d.ts +10 -0
- package/dist/model/exact-duration-source.d.ts.map +1 -0
- package/dist/model/exact-duration-source.js +69 -0
- package/dist/model/exact-duration-source.js.map +1 -0
- package/dist/model/rational.d.ts +2 -2
- package/dist/model/rational.d.ts.map +1 -1
- package/dist/model/rational.js +3 -1
- package/dist/model/rational.js.map +1 -1
- package/dist/model/syntax.d.ts +9 -2
- package/dist/model/syntax.d.ts.map +1 -1
- package/dist/model/syntax.js +20 -4
- package/dist/model/syntax.js.map +1 -1
- package/dist/model/target-calendar.d.ts +25 -0
- package/dist/model/target-calendar.d.ts.map +1 -0
- package/dist/model/target-calendar.js +56 -0
- package/dist/model/target-calendar.js.map +1 -0
- package/dist/mutation/advance.d.ts +11 -0
- package/dist/mutation/advance.d.ts.map +1 -1
- package/dist/mutation/advance.js +37 -7
- package/dist/mutation/advance.js.map +1 -1
- package/dist/mutation/milestone.d.ts +10 -1
- package/dist/mutation/milestone.d.ts.map +1 -1
- package/dist/mutation/milestone.js +77 -21
- package/dist/mutation/milestone.js.map +1 -1
- package/dist/mutation/project.d.ts +11 -1
- package/dist/mutation/project.d.ts.map +1 -1
- package/dist/mutation/project.js +117 -11
- package/dist/mutation/project.js.map +1 -1
- package/dist/mutation/target-types.d.ts +59 -0
- package/dist/mutation/target-types.d.ts.map +1 -0
- package/dist/mutation/target-types.js +2 -0
- package/dist/mutation/target-types.js.map +1 -0
- package/dist/mutation/task.d.ts +12 -1
- package/dist/mutation/task.d.ts.map +1 -1
- package/dist/mutation/task.js +108 -49
- package/dist/mutation/task.js.map +1 -1
- package/dist/mutation/types.d.ts +16 -3
- package/dist/mutation/types.d.ts.map +1 -1
- package/dist/parser/document-parser.d.ts +21 -0
- package/dist/parser/document-parser.d.ts.map +1 -1
- package/dist/parser/document-parser.js +197 -38
- package/dist/parser/document-parser.js.map +1 -1
- package/dist/recommendation/override-types.d.ts +2 -2
- package/dist/recommendation/override.d.ts +2 -2
- package/dist/recommendation/override.d.ts.map +1 -1
- package/dist/recommendation/override.js +49 -12
- package/dist/recommendation/override.js.map +1 -1
- package/dist/semantic/target-validator.d.ts +46 -0
- package/dist/semantic/target-validator.d.ts.map +1 -0
- package/dist/semantic/target-validator.js +130 -0
- package/dist/semantic/target-validator.js.map +1 -0
- package/dist/semantic/validator.d.ts +3 -0
- package/dist/semantic/validator.d.ts.map +1 -1
- package/dist/semantic/validator.js +78 -5
- package/dist/semantic/validator.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
export { checkDocument } from "./application/check.js";
|
|
2
|
-
export { analyzeDocument } from "./application/
|
|
2
|
+
export { analyzeDocument, selectNextTasks, } from "./application/contract4.js";
|
|
3
3
|
export { getAgentHelp } from "./application/agent-help.js";
|
|
4
4
|
export { getProjectMetadata } from "./application/project.js";
|
|
5
5
|
export { planProjectInit, projectInitResultToJson, renderProjectInitResult, serializeProjectInitResult, withProjectInitOutput, } from "./application/init.js";
|
|
6
6
|
export { planFormat } from "./application/format.js";
|
|
7
|
-
export { selectNextTasks } from "./application/next.js";
|
|
8
7
|
export { recommendationAnalysisToJson } from "./recommendation/json.js";
|
|
9
8
|
export { canonicalOverrideArtifact, humanOverrideDecisionToJson, overrideValidationResultToJson, validateOverride, } from "./recommendation/override.js";
|
|
10
|
-
export { planMutation } from "./application/
|
|
11
|
-
export {
|
|
9
|
+
export { planAdvance, planBatchMutation, planMutation, } from "./application/contract5-governance.js";
|
|
10
|
+
export { planUnitMigration, withUnitMigrationWrite, } from "./application/unit-migration.js";
|
|
12
11
|
export { exportMermaid } from "./conversion/mermaid.js";
|
|
13
12
|
export { importMermaid } from "./conversion/mermaid-import.js";
|
|
14
13
|
export { buildResidualGraph, computeEffectiveReached } from "./analysis/graph.js";
|
|
15
14
|
export { analyzePrecedence } from "./analysis/precedence.js";
|
|
16
15
|
export { analyzeResources } from "./analysis/resource.js";
|
|
17
16
|
export { getHelp } from "./help/registry.js";
|
|
18
|
-
export {
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export { getGuide,
|
|
22
|
-
export type { CommandExample, CommandHandler, CommandOutputDescriptor, ExitStatusDescriptor, OperandDescriptor,
|
|
23
|
-
export type { CommandHelpQuery,
|
|
24
|
-
export type { CommandHelpTarget,
|
|
25
|
-
export type {
|
|
17
|
+
export { commandOptionSets, getAgentHelpCommandHelp, } from "./command/registry.js";
|
|
18
|
+
export { TARGET_GOVERNANCE_COMMAND_REGISTRY as COMMAND_REGISTRY, getTargetGovernanceCommandDiscovery as getCommandDiscovery, renderTargetGovernanceCommandHelpResult as renderCommandHelpResult, serializeTargetGovernanceCommandHelpResult as serializeCommandHelpResult, targetGovernanceCommandDescriptorToJson as commandDescriptorToJson, targetGovernanceCommandHelpResultToJson as commandHelpResultToJson, targetGovernanceCommandRegistryToJson as commandRegistryToJson, } from "./command/target-governance-discovery.js";
|
|
19
|
+
export { renderTargetGovernanceCommandUsageError as renderCommandUsageError, serializeTargetGovernanceCommandUsageError as serializeCommandUsageError, targetGovernanceCommandUsageErrorToJson as commandUsageErrorToJson, validateTargetGovernanceCommandInvocation as validateCommandInvocation, } from "./command/target-governance-usage.js";
|
|
20
|
+
export { getTargetGovernanceGuide as getGuide, renderTargetGovernanceGuideResult as renderGuideResult, serializeTargetGovernanceGuideResult as serializeGuideResult, targetGovernanceGuideResultToJson as guideResultToJson, } from "./help/target-governance-guide.js";
|
|
21
|
+
export type { CommandExample, CommandHandler, CommandOutputDescriptor, ExitStatusDescriptor, OperandDescriptor, SharedOptionGroup, } from "./command/registry.js";
|
|
22
|
+
export type { CommandHelpQuery, CommandResourceSummary, } from "./command/discovery.js";
|
|
23
|
+
export type { CommandHelpTarget, CommandOptionOccurrence, CommandUsageError, CommandUsageErrorKind, CommandUsageSuggestion, CommandUsageSuggestionKind, } from "./command/usage.js";
|
|
24
|
+
export type { TargetGovernanceCommandDescriptor as CommandDescriptor, TargetGovernanceCommandDescriptor as ProjectedCommandDescriptor, TargetGovernanceCommandHelpResult as CommandHelpResult, TargetGovernanceOptionDescriptor as OptionDescriptor, } from "./command/target-governance-discovery.js";
|
|
25
|
+
export type { TargetGovernanceCommandInvocationValidation as CommandInvocationValidation, TargetGovernanceInvalidCommandInvocation as InvalidCommandInvocation, TargetGovernanceValidCommandInvocation as ValidCommandInvocation, } from "./command/target-governance-usage.js";
|
|
26
|
+
export type { TargetGovernanceGuideResult as GuideResult, } from "./help/target-governance-guide.js";
|
|
26
27
|
export { getAgentGuidance, getBundledAgentGuidance, } from "./guidance/query.js";
|
|
27
28
|
export { agentGuidanceResultToJson, serializeAgentGuidanceResult, } from "./guidance/projection.js";
|
|
28
29
|
export { agentGuidanceExitCode, renderAgentGuidanceText, } from "./guidance/text.js";
|
|
@@ -36,7 +37,8 @@ export * from "./model/rational.js";
|
|
|
36
37
|
export * from "./model/units.js";
|
|
37
38
|
export { parseDocument } from "./parser/document-parser.js";
|
|
38
39
|
export { validateDocument } from "./semantic/validator.js";
|
|
39
|
-
export
|
|
40
|
+
export { GOVERNANCE_DIRECT_EDIT_WARNING } from "./governance/guidance.js";
|
|
41
|
+
export type { CheckOptions, CheckResult, CheckSummary, MilestoneDeadlineInput, TaskTemporalConstraint, TemporalInputs, } from "./application/check.js";
|
|
40
42
|
export type { ProjectMetadata, ProjectMetadataDurationUnit, ProjectMetadataResult, } from "./application/project.js";
|
|
41
43
|
export type { ProjectInitDurationUnit, ProjectInitRequest, ProjectInitResult, ProjectInitWrite, } from "./application/init.js";
|
|
42
44
|
export { AGENT_GUIDANCE_DIRECTIVES, AGENT_GUIDANCE_ORIGINS, AGENT_GUIDANCE_PROVIDER_IDS, AGENT_GUIDANCE_RISK_KINDS, AGENT_GUIDANCE_SCOPE_IDS, AGENT_GUIDANCE_SUPPORT_STATUSES, AGENT_GUIDANCE_SURFACE_IDS, } from "./guidance/types.js";
|
|
@@ -44,8 +46,9 @@ export type { AgentGuidanceAlias, AgentGuidanceArtifact, AgentGuidanceArtifactPr
|
|
|
44
46
|
export type { ConversionLoss, ConversionLossReport, MermaidAnalysisMode, MermaidExportOptions, MermaidExportResult, MermaidProfile, } from "./conversion/mermaid.js";
|
|
45
47
|
export type { GeneratedId, MermaidImportOptions, MermaidImportResult, } from "./conversion/mermaid-import.js";
|
|
46
48
|
export type { FormatPreviewOptions, FormatPreviewResult, } from "./application/format.js";
|
|
47
|
-
export type { AnalysisMode,
|
|
48
|
-
export type { ExplanationNode, NextGroups, NextOptions,
|
|
49
|
+
export type { AnalysisMode, AnalyzeOptions, } from "./application/analyze.js";
|
|
50
|
+
export type { ExplanationNode, NextGroups, NextOptions, NextResultV3, NextTask, ResourceRejection, TaskClassification, UnsatisfiedEdgeExplanation, } from "./application/next.js";
|
|
51
|
+
export type { AnalysisResultV3 as AnalysisResult, AnalysisResultV3, NextResultV4 as NextResult, NextResultV4, } from "./application/contract4.js";
|
|
49
52
|
export type { RecommendationAnalysis, RecommendationComparison, RecommendationComparisonScope, RecommendationDecisionPhase, RecommendationDecisionRole, RecommendationDecisionStep, RecommendationDescription, RecommendationDescriptionParameter, RecommendationEntityKind, RecommendationEntityReference, RecommendationExplanationStatus, RecommendationExplanationTaskDecision, RecommendationExpression, RecommendationExpressionTerm, RecommendationFact, RecommendationProvenance, RecommendationProvenanceKind, RecommendationReasonCode, RecommendationReasonEffect, RecommendationReasonOccurrence, RecommendationRelation, RecommendationResultDecision, RecommendationScalarValue, RecommendationUnit, RecommendationValue, } from "./recommendation/explanation-types.js";
|
|
50
53
|
export type { RecommendationCriticalClass, RecommendationDistance, RecommendationRankingRuleId, RecommendationTier, } from "./recommendation/types.js";
|
|
51
54
|
export type { HumanOverrideDecision, HumanOverrideReasonCode, OverrideActor, OverrideDecisionSource, OverrideEvidenceKind, OverrideEvidenceReference, OverrideFeasibility, OverrideReason, OverrideRequest, OverrideResourceWitness, OverrideSelection, OverrideTaskDecision, OverrideTriggerCode, OverrideValidationResult, } from "./recommendation/override-types.js";
|
|
@@ -57,8 +60,13 @@ export type { DocumentNode, DeclarationNode, FieldNode, TriviaNode, VelocityValu
|
|
|
57
60
|
export type { ParseOptions } from "./parser/document-parser.js";
|
|
58
61
|
export type { FormatOptions, FormatResult, } from "./formatter/source-formatter.js";
|
|
59
62
|
export type { TextEdit } from "./mutation/text-edits.js";
|
|
60
|
-
export type { AdvanceDetails,
|
|
63
|
+
export type { AdvanceDetails, AdvanceRetainedEdge, AdvanceRetentionReason, } from "./mutation/advance.js";
|
|
64
|
+
export type { AdvanceResultV2 as AdvanceResult, AdvanceResultV2, MutationResultV2 as MutationResult, MutationResultV2, } from "./application/contract5-governance.js";
|
|
61
65
|
export type { DocumentContent } from "./io/document-file.js";
|
|
62
66
|
export type { CreateArtifactOptions, CreateDocumentOptions, DocumentWriteResult, ReplaceDocumentOptions, SafeWriteConflictReason, SafeWriteVerificationReason, } from "./io/safe-write.js";
|
|
63
|
-
export type { AddGateMutation, AddMilestoneMutation, AddResourceMutation, AddTaskMutation, AtomicMutation, BatchMutation, FinishTaskMutation, GateDefinition, GateFieldSet, GateMutation, MilestoneClearableField, MilestoneDefinition, MilestoneFieldSet, MilestoneMutation, MilestoneMutationState, Mutation, MutationOptions,
|
|
67
|
+
export type { AddGateMutation, AddMilestoneMutation, AddResourceMutation, AddTaskMutation, AtomicMutation, BatchMutation, FinishTaskMutation, GateDefinition, GateFieldSet, GateMutation, MilestoneClearableField, MilestoneDefinition, MilestoneFieldSet, MilestoneMutation, MilestoneMutationState, Mutation, MutationOptions, RemoveMilestoneMutation, RemoveGateMutation, RemoveResourceMutation, RemoveTaskMutation, ProjectClearableField, ProjectDurationUnit, ProjectFieldSet, ProjectMutation, ResourceClearableField, ResourceDefinition, ResourceFieldSet, ResourceMutation, SetMilestoneMutation, SetGateMutation, SetProjectMutation, SetResourceMutation, SetTaskMutation, TaskClearableField, TaskDefinition, TaskEstimateInput, TaskFieldSet, TaskMutation, TaskMutationStatus, TaskRequirementInput, } from "./mutation/types.js";
|
|
68
|
+
export type { GovernanceDecisionV1, GovernanceDenialCause, GovernancePersistenceIntent, GovernanceRequest, GovernanceRequestInput, GovernanceScope, GovernanceScopeDecision, } from "./governance/types.js";
|
|
69
|
+
export type { DeclaredGovernance, EffectiveGovernance, GovernanceMetadata, GovernanceSourceSnapshot, PrincipalId, } from "./governance/source.js";
|
|
70
|
+
export type { UnitMigrationConvertedField, UnitMigrationEffectiveVelocity, UnitMigrationExactValue, UnitMigrationOptions, UnitMigrationResult, UnitMigrationWrite, } from "./application/unit-migration.js";
|
|
71
|
+
export type { UnitMigrationCause, UnitMigrationDiagnosticCode, UnitMigrationRequest, UnitMigrationUnavailableCause, } from "./migration/request.js";
|
|
64
72
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
export { checkDocument } from "./application/check.js";
|
|
2
|
-
export { analyzeDocument } from "./application/
|
|
2
|
+
export { analyzeDocument, selectNextTasks, } from "./application/contract4.js";
|
|
3
3
|
export { getAgentHelp } from "./application/agent-help.js";
|
|
4
4
|
export { getProjectMetadata } from "./application/project.js";
|
|
5
5
|
export { planProjectInit, projectInitResultToJson, renderProjectInitResult, serializeProjectInitResult, withProjectInitOutput, } from "./application/init.js";
|
|
6
6
|
export { planFormat } from "./application/format.js";
|
|
7
|
-
export { selectNextTasks } from "./application/next.js";
|
|
8
7
|
export { recommendationAnalysisToJson } from "./recommendation/json.js";
|
|
9
8
|
export { canonicalOverrideArtifact, humanOverrideDecisionToJson, overrideValidationResultToJson, validateOverride, } from "./recommendation/override.js";
|
|
10
|
-
export { planMutation } from "./application/
|
|
11
|
-
export {
|
|
9
|
+
export { planAdvance, planBatchMutation, planMutation, } from "./application/contract5-governance.js";
|
|
10
|
+
export { planUnitMigration, withUnitMigrationWrite, } from "./application/unit-migration.js";
|
|
12
11
|
export { exportMermaid } from "./conversion/mermaid.js";
|
|
13
12
|
export { importMermaid } from "./conversion/mermaid-import.js";
|
|
14
13
|
export { buildResidualGraph, computeEffectiveReached } from "./analysis/graph.js";
|
|
15
14
|
export { analyzePrecedence } from "./analysis/precedence.js";
|
|
16
15
|
export { analyzeResources } from "./analysis/resource.js";
|
|
17
16
|
export { getHelp } from "./help/registry.js";
|
|
18
|
-
export {
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export { getGuide,
|
|
17
|
+
export { commandOptionSets, getAgentHelpCommandHelp, } from "./command/registry.js";
|
|
18
|
+
export { TARGET_GOVERNANCE_COMMAND_REGISTRY as COMMAND_REGISTRY, getTargetGovernanceCommandDiscovery as getCommandDiscovery, renderTargetGovernanceCommandHelpResult as renderCommandHelpResult, serializeTargetGovernanceCommandHelpResult as serializeCommandHelpResult, targetGovernanceCommandDescriptorToJson as commandDescriptorToJson, targetGovernanceCommandHelpResultToJson as commandHelpResultToJson, targetGovernanceCommandRegistryToJson as commandRegistryToJson, } from "./command/target-governance-discovery.js";
|
|
19
|
+
export { renderTargetGovernanceCommandUsageError as renderCommandUsageError, serializeTargetGovernanceCommandUsageError as serializeCommandUsageError, targetGovernanceCommandUsageErrorToJson as commandUsageErrorToJson, validateTargetGovernanceCommandInvocation as validateCommandInvocation, } from "./command/target-governance-usage.js";
|
|
20
|
+
export { getTargetGovernanceGuide as getGuide, renderTargetGovernanceGuideResult as renderGuideResult, serializeTargetGovernanceGuideResult as serializeGuideResult, targetGovernanceGuideResultToJson as guideResultToJson, } from "./help/target-governance-guide.js";
|
|
22
21
|
export { getAgentGuidance, getBundledAgentGuidance, } from "./guidance/query.js";
|
|
23
22
|
export { agentGuidanceResultToJson, serializeAgentGuidanceResult, } from "./guidance/projection.js";
|
|
24
23
|
export { agentGuidanceExitCode, renderAgentGuidanceText, } from "./guidance/text.js";
|
|
@@ -32,5 +31,6 @@ export * from "./model/rational.js";
|
|
|
32
31
|
export * from "./model/units.js";
|
|
33
32
|
export { parseDocument } from "./parser/document-parser.js";
|
|
34
33
|
export { validateDocument } from "./semantic/validator.js";
|
|
34
|
+
export { GOVERNANCE_DIRECT_EDIT_WARNING } from "./governance/guidance.js";
|
|
35
35
|
export { AGENT_GUIDANCE_DIRECTIVES, AGENT_GUIDANCE_ORIGINS, AGENT_GUIDANCE_PROVIDER_IDS, AGENT_GUIDANCE_RISK_KINDS, AGENT_GUIDANCE_SCOPE_IDS, AGENT_GUIDANCE_SUPPORT_STATUSES, AGENT_GUIDANCE_SURFACE_IDS, } from "./guidance/types.js";
|
|
36
36
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/io/safe-write.d.ts
CHANGED
|
@@ -17,6 +17,9 @@ export interface ReplaceDocumentOptions {
|
|
|
17
17
|
export interface CreateDocumentOptions {
|
|
18
18
|
readonly mode?: number;
|
|
19
19
|
}
|
|
20
|
+
export interface CreateDocumentFromSourceOptions extends CreateDocumentOptions {
|
|
21
|
+
readonly initialDigest: string;
|
|
22
|
+
}
|
|
20
23
|
export interface CreateArtifactOptions {
|
|
21
24
|
readonly mode?: number;
|
|
22
25
|
}
|
|
@@ -27,7 +30,15 @@ export interface DocumentWriteResult {
|
|
|
27
30
|
readonly bytesWritten: number;
|
|
28
31
|
readonly written: boolean;
|
|
29
32
|
}
|
|
33
|
+
export interface DocumentCandidateValidation {
|
|
34
|
+
readonly ok: boolean;
|
|
35
|
+
readonly diagnostics: readonly Diagnostic[];
|
|
36
|
+
}
|
|
37
|
+
export type DocumentCandidateValidator = (text: string) => DocumentCandidateValidation;
|
|
38
|
+
export declare function replaceValidatedDocumentFile(target: string, candidateText: string, options: ReplaceDocumentOptions, validator: DocumentCandidateValidator): Promise<DocumentWriteResult>;
|
|
30
39
|
export declare function replaceDocumentFile(target: string, candidateText: string, options: ReplaceDocumentOptions): Promise<DocumentWriteResult>;
|
|
40
|
+
export declare function createValidatedDocumentFile(target: string, candidateText: string, validator: DocumentCandidateValidator, options?: CreateDocumentOptions): Promise<DocumentWriteResult>;
|
|
41
|
+
export declare function createValidatedDocumentFileFromSource(source: string, target: string, candidateText: string, validator: DocumentCandidateValidator, options: CreateDocumentFromSourceOptions): Promise<DocumentWriteResult>;
|
|
31
42
|
export declare function createDocumentFile(target: string, candidateText: string, options?: CreateDocumentOptions): Promise<DocumentWriteResult>;
|
|
32
43
|
export declare function createArtifactFile(target: string, artifact: string, options?: CreateArtifactOptions): Promise<DocumentWriteResult>;
|
|
33
44
|
//# sourceMappingURL=safe-write.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-write.d.ts","sourceRoot":"","sources":["../../src/io/safe-write.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAM1D,MAAM,MAAM,uBAAuB,GAC/B,0BAA0B,GAC1B,gBAAgB,GAChB,SAAS,GACT,kBAAkB,GAClB,eAAe,CAAC;AAEpB,qBAAa,sBAAuB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,MAAM,EAAE,uBAAuB;IAD1C,YACW,MAAM,EAAE,uBAAuB,EACxC,OAAO,EAAE,MAAM,EAIhB;CACF;AAED,MAAM,MAAM,2BAA2B,GACnC,mBAAmB,GACnB,4BAA4B,GAC5B,oBAAoB,CAAC;AAEzB,qBAAa,0BAA2B,SAAQ,KAAK;IAEjD,QAAQ,CAAC,MAAM,EAAE,2BAA2B;IAE5C,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE;IAH7C,YACW,MAAM,EAAE,2BAA2B,EAC5C,OAAO,EAAE,MAAM,EACN,WAAW,GAAE,SAAS,UAAU,EAAO,EAIjD;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,KAAK,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"safe-write.d.ts","sourceRoot":"","sources":["../../src/io/safe-write.ts"],"names":[],"mappings":"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"}
|
package/dist/io/safe-write.js
CHANGED
|
@@ -74,8 +74,17 @@ async function currentWritableSource(path) {
|
|
|
74
74
|
throw error;
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
function
|
|
78
|
-
const
|
|
77
|
+
async function assertCurrentSource(path, initialDigest) {
|
|
78
|
+
const current = await currentWritableSource(path);
|
|
79
|
+
if (current.digest !== initialDigest) {
|
|
80
|
+
throw new SafeWriteConflictError("source_changed", `document changed after the initial read: ${path}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function validateActiveCandidate(text) {
|
|
84
|
+
return checkDocument(text);
|
|
85
|
+
}
|
|
86
|
+
function validateCandidate(candidateText, validator) {
|
|
87
|
+
const checked = validator(candidateText);
|
|
79
88
|
if (!checked.ok) {
|
|
80
89
|
throw new SafeWriteVerificationError("invalid_candidate", "safe-write candidate failed document validation", checked.diagnostics);
|
|
81
90
|
}
|
|
@@ -138,12 +147,12 @@ async function syncParentDirectory(target) {
|
|
|
138
147
|
await handle.close();
|
|
139
148
|
}
|
|
140
149
|
}
|
|
141
|
-
async function verifyWrittenDocument(target, candidateDigest) {
|
|
150
|
+
async function verifyWrittenDocument(target, candidateDigest, validator) {
|
|
142
151
|
const written = await readDocumentFile(target);
|
|
143
152
|
if (written.digest !== candidateDigest) {
|
|
144
153
|
throw new SafeWriteVerificationError("post_write_digest_mismatch", `written document digest does not match candidate: ${target}`);
|
|
145
154
|
}
|
|
146
|
-
const checked =
|
|
155
|
+
const checked = validator(written.text);
|
|
147
156
|
if (!checked.ok) {
|
|
148
157
|
throw new SafeWriteVerificationError("post_write_invalid", `written document failed revalidation: ${target}`, checked.diagnostics);
|
|
149
158
|
}
|
|
@@ -154,8 +163,8 @@ async function verifyWrittenArtifact(target, candidateDigest) {
|
|
|
154
163
|
throw new SafeWriteVerificationError("post_write_digest_mismatch", `written artifact digest does not match candidate: ${target}`);
|
|
155
164
|
}
|
|
156
165
|
}
|
|
157
|
-
export async function
|
|
158
|
-
const candidateBytes = validateCandidate(candidateText);
|
|
166
|
+
export async function replaceValidatedDocumentFile(target, candidateText, options, validator) {
|
|
167
|
+
const candidateBytes = validateCandidate(candidateText, validator);
|
|
159
168
|
const candidateDigest = digestDocumentBytes(candidateBytes);
|
|
160
169
|
if (options.expectedDigest !== undefined &&
|
|
161
170
|
options.expectedDigest !== options.initialDigest) {
|
|
@@ -184,7 +193,7 @@ export async function replaceDocumentFile(target, candidateText, options) {
|
|
|
184
193
|
await rename(temporaryPath, target);
|
|
185
194
|
renamed = true;
|
|
186
195
|
await syncParentDirectory(target);
|
|
187
|
-
await verifyWrittenDocument(target, candidateDigest);
|
|
196
|
+
await verifyWrittenDocument(target, candidateDigest, validator);
|
|
188
197
|
}
|
|
189
198
|
finally {
|
|
190
199
|
if (!renamed)
|
|
@@ -198,6 +207,9 @@ export async function replaceDocumentFile(target, candidateText, options) {
|
|
|
198
207
|
written: true,
|
|
199
208
|
};
|
|
200
209
|
}
|
|
210
|
+
export async function replaceDocumentFile(target, candidateText, options) {
|
|
211
|
+
return replaceValidatedDocumentFile(target, candidateText, options, validateActiveCandidate);
|
|
212
|
+
}
|
|
201
213
|
async function assertTargetAbsent(target) {
|
|
202
214
|
try {
|
|
203
215
|
const targetStat = await lstat(target);
|
|
@@ -209,13 +221,19 @@ async function assertTargetAbsent(target) {
|
|
|
209
221
|
throw error;
|
|
210
222
|
}
|
|
211
223
|
}
|
|
212
|
-
|
|
213
|
-
const candidateBytes = validateCandidate(candidateText);
|
|
224
|
+
async function createValidatedDocumentFileInternal(target, candidateText, validator, options, source) {
|
|
225
|
+
const candidateBytes = validateCandidate(candidateText, validator);
|
|
214
226
|
const candidateDigest = digestDocumentBytes(candidateBytes);
|
|
227
|
+
if (source !== undefined) {
|
|
228
|
+
await assertCurrentSource(source.path, source.initialDigest);
|
|
229
|
+
}
|
|
215
230
|
await assertTargetAbsent(target);
|
|
216
231
|
const temporaryPath = await writeAndSyncTemporary(target, candidateBytes, options.mode ?? (0o666 & ~process.umask()));
|
|
217
232
|
let linked = false;
|
|
218
233
|
try {
|
|
234
|
+
if (source !== undefined) {
|
|
235
|
+
await assertCurrentSource(source.path, source.initialDigest);
|
|
236
|
+
}
|
|
219
237
|
await assertTargetAbsent(target);
|
|
220
238
|
try {
|
|
221
239
|
await link(temporaryPath, target);
|
|
@@ -228,7 +246,7 @@ export async function createDocumentFile(target, candidateText, options = {}) {
|
|
|
228
246
|
throw error;
|
|
229
247
|
}
|
|
230
248
|
await syncParentDirectory(target);
|
|
231
|
-
await verifyWrittenDocument(target, candidateDigest);
|
|
249
|
+
await verifyWrittenDocument(target, candidateDigest, validator);
|
|
232
250
|
}
|
|
233
251
|
finally {
|
|
234
252
|
await unlink(temporaryPath).catch(() => undefined);
|
|
@@ -243,6 +261,18 @@ export async function createDocumentFile(target, candidateText, options = {}) {
|
|
|
243
261
|
written: true,
|
|
244
262
|
};
|
|
245
263
|
}
|
|
264
|
+
export async function createValidatedDocumentFile(target, candidateText, validator, options = {}) {
|
|
265
|
+
return createValidatedDocumentFileInternal(target, candidateText, validator, options, undefined);
|
|
266
|
+
}
|
|
267
|
+
export async function createValidatedDocumentFileFromSource(source, target, candidateText, validator, options) {
|
|
268
|
+
return createValidatedDocumentFileInternal(target, candidateText, validator, options, {
|
|
269
|
+
path: source,
|
|
270
|
+
initialDigest: options.initialDigest,
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
export async function createDocumentFile(target, candidateText, options = {}) {
|
|
274
|
+
return createValidatedDocumentFile(target, candidateText, validateActiveCandidate, options);
|
|
275
|
+
}
|
|
246
276
|
export async function createArtifactFile(target, artifact, options = {}) {
|
|
247
277
|
const candidateBytes = Buffer.from(artifact, "utf8");
|
|
248
278
|
const candidateDigest = digestDocumentBytes(candidateBytes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-write.js","sourceRoot":"","sources":["../../src/io/safe-write.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"safe-write.js","sourceRoot":"","sources":["../../src/io/safe-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TargetGrammar4Capability, TargetGrammar3Capability, TargetGrammar2Capability } from "../parser/document-parser.js";
|
|
2
|
+
import { type CreateDocumentOptions, type CreateDocumentFromSourceOptions, type DocumentWriteResult, type ReplaceDocumentOptions } from "./safe-write.js";
|
|
3
|
+
export declare function replaceTargetDocumentFile(target: string, candidateText: string, capability: TargetGrammar2Capability, options: ReplaceDocumentOptions): Promise<DocumentWriteResult>;
|
|
4
|
+
export declare function createTargetDocumentFile(target: string, candidateText: string, capability: TargetGrammar2Capability, options?: CreateDocumentOptions): Promise<DocumentWriteResult>;
|
|
5
|
+
export declare function replaceTargetGrammar3DocumentFile(target: string, candidateText: string, capability: TargetGrammar3Capability, options: ReplaceDocumentOptions): Promise<DocumentWriteResult>;
|
|
6
|
+
export declare function createTargetGrammar3DocumentFile(target: string, candidateText: string, capability: TargetGrammar3Capability, options?: CreateDocumentOptions): Promise<DocumentWriteResult>;
|
|
7
|
+
export declare function replaceTargetGrammar4DocumentFile(target: string, candidateText: string, capability: TargetGrammar4Capability, options: ReplaceDocumentOptions): Promise<DocumentWriteResult>;
|
|
8
|
+
export declare function createTargetGrammar4DocumentFile(target: string, candidateText: string, capability: TargetGrammar4Capability, options?: CreateDocumentOptions): Promise<DocumentWriteResult>;
|
|
9
|
+
export declare function createTargetGrammar4DocumentFileFromSource(source: string, target: string, candidateText: string, capability: TargetGrammar4Capability, options: CreateDocumentFromSourceOptions): Promise<DocumentWriteResult>;
|
|
10
|
+
//# sourceMappingURL=target-safe-write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-safe-write.d.ts","sourceRoot":"","sources":["../../src/io/target-safe-write.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EAEpC,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;AAsCzB,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,0CAA0C,CAC9D,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,wBAAwB,EACpC,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,mBAAmB,CAAC,CAQ9B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { validateTargetGrammar4Document, validateTargetGrammar3Document, validateTargetDocument, } from "../semantic/target-validator.js";
|
|
2
|
+
import { createValidatedDocumentFile, createValidatedDocumentFileFromSource, replaceValidatedDocumentFile, } from "./safe-write.js";
|
|
3
|
+
function targetValidator(capability) {
|
|
4
|
+
return (text) => {
|
|
5
|
+
const checked = validateTargetDocument(text, capability);
|
|
6
|
+
return {
|
|
7
|
+
ok: checked.ok,
|
|
8
|
+
diagnostics: checked.diagnostics,
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
function targetGrammar3Validator(capability) {
|
|
13
|
+
return (text) => {
|
|
14
|
+
const checked = validateTargetGrammar3Document(text, capability);
|
|
15
|
+
return {
|
|
16
|
+
ok: checked.ok,
|
|
17
|
+
diagnostics: checked.diagnostics,
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function targetGrammar4Validator(capability) {
|
|
22
|
+
return (text) => {
|
|
23
|
+
const checked = validateTargetGrammar4Document(text, capability);
|
|
24
|
+
return {
|
|
25
|
+
ok: checked.ok,
|
|
26
|
+
diagnostics: checked.diagnostics,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export async function replaceTargetDocumentFile(target, candidateText, capability, options) {
|
|
31
|
+
return replaceValidatedDocumentFile(target, candidateText, options, targetValidator(capability));
|
|
32
|
+
}
|
|
33
|
+
export async function createTargetDocumentFile(target, candidateText, capability, options = {}) {
|
|
34
|
+
return createValidatedDocumentFile(target, candidateText, targetValidator(capability), options);
|
|
35
|
+
}
|
|
36
|
+
export async function replaceTargetGrammar3DocumentFile(target, candidateText, capability, options) {
|
|
37
|
+
return replaceValidatedDocumentFile(target, candidateText, options, targetGrammar3Validator(capability));
|
|
38
|
+
}
|
|
39
|
+
export async function createTargetGrammar3DocumentFile(target, candidateText, capability, options = {}) {
|
|
40
|
+
return createValidatedDocumentFile(target, candidateText, targetGrammar3Validator(capability), options);
|
|
41
|
+
}
|
|
42
|
+
export async function replaceTargetGrammar4DocumentFile(target, candidateText, capability, options) {
|
|
43
|
+
return replaceValidatedDocumentFile(target, candidateText, options, targetGrammar4Validator(capability));
|
|
44
|
+
}
|
|
45
|
+
export async function createTargetGrammar4DocumentFile(target, candidateText, capability, options = {}) {
|
|
46
|
+
return createValidatedDocumentFile(target, candidateText, targetGrammar4Validator(capability), options);
|
|
47
|
+
}
|
|
48
|
+
export async function createTargetGrammar4DocumentFileFromSource(source, target, candidateText, capability, options) {
|
|
49
|
+
return createValidatedDocumentFileFromSource(source, target, candidateText, targetGrammar4Validator(capability), options);
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=target-safe-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-safe-write.js","sourceRoot":"","sources":["../../src/io/target-safe-write.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,2BAA2B,EAC3B,qCAAqC,EACrC,4BAA4B,GAM7B,MAAM,iBAAiB,CAAC;AAEzB,SAAS,eAAe,CACtB,UAAoC;IAEpC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzD,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAoC;IAEpC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,OAAO,GAAG,8BAA8B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAoC;IAEpC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,OAAO,GAAG,8BAA8B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAA+B;IAE/B,OAAO,4BAA4B,CACjC,MAAM,EACN,aAAa,EACb,OAAO,EACP,eAAe,CAAC,UAAU,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAAO,GAA0B,EAAE;IAEnC,OAAO,2BAA2B,CAChC,MAAM,EACN,aAAa,EACb,eAAe,CAAC,UAAU,CAAC,EAC3B,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAA+B;IAE/B,OAAO,4BAA4B,CACjC,MAAM,EACN,aAAa,EACb,OAAO,EACP,uBAAuB,CAAC,UAAU,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAAO,GAA0B,EAAE;IAEnC,OAAO,2BAA2B,CAChC,MAAM,EACN,aAAa,EACb,uBAAuB,CAAC,UAAU,CAAC,EACnC,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAA+B;IAE/B,OAAO,4BAA4B,CACjC,MAAM,EACN,aAAa,EACb,OAAO,EACP,uBAAuB,CAAC,UAAU,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAAO,GAA0B,EAAE;IAEnC,OAAO,2BAA2B,CAChC,MAAM,EACN,aAAa,EACb,uBAAuB,CAAC,UAAU,CAAC,EACnC,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0CAA0C,CAC9D,MAAc,EACd,MAAc,EACd,aAAqB,EACrB,UAAoC,EACpC,OAAwC;IAExC,OAAO,qCAAqC,CAC1C,MAAM,EACN,MAAM,EACN,aAAa,EACb,uBAAuB,CAAC,UAAU,CAAC,EACnC,OAAO,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type ExactDurationSourceToken } from "../model/exact-duration-source.js";
|
|
2
|
+
import type { Rational } from "../model/rational.js";
|
|
3
|
+
import type { DurationUnit } from "../model/units.js";
|
|
4
|
+
import { type MigrationGrammarDisposition, type MigrationGrammarVersion, type MigrationQualification, type MigrationReversibility, type MigrationVelocityDisposition } from "./grammar-boundary.js";
|
|
5
|
+
import type { ExactMigrationVelocity, UnitMigrationDurationField } from "./request.js";
|
|
6
|
+
export interface ExactUnitMigrationValue extends Rational {
|
|
7
|
+
readonly unit: DurationUnit;
|
|
8
|
+
}
|
|
9
|
+
export interface ExactUnitMigrationConvertedField {
|
|
10
|
+
readonly entityKind: "project" | "task";
|
|
11
|
+
readonly entityId: string;
|
|
12
|
+
readonly fieldPath: string;
|
|
13
|
+
readonly original: ExactUnitMigrationValue;
|
|
14
|
+
readonly converted: ExactUnitMigrationValue;
|
|
15
|
+
readonly canonicalToken: string;
|
|
16
|
+
readonly tokenClassification: ExactDurationSourceToken["classification"];
|
|
17
|
+
}
|
|
18
|
+
export interface ExactUnitMigrationConversionInput {
|
|
19
|
+
readonly ok: true;
|
|
20
|
+
readonly sourceGrammarVersion: MigrationGrammarVersion;
|
|
21
|
+
readonly sourceUnit: DurationUnit;
|
|
22
|
+
readonly targetUnit: DurationUnit;
|
|
23
|
+
readonly changed: boolean;
|
|
24
|
+
readonly effectiveVelocity: ExactMigrationVelocity | null;
|
|
25
|
+
readonly velocityDisposition: MigrationVelocityDisposition | null;
|
|
26
|
+
readonly durationInventory: readonly UnitMigrationDurationField[];
|
|
27
|
+
}
|
|
28
|
+
export interface ExactUnitMigrationConversion {
|
|
29
|
+
readonly sourceGrammarVersion: MigrationGrammarVersion;
|
|
30
|
+
readonly targetGrammarVersion: MigrationGrammarVersion;
|
|
31
|
+
readonly grammarDisposition: MigrationGrammarDisposition;
|
|
32
|
+
readonly sourceUnit: DurationUnit;
|
|
33
|
+
readonly targetUnit: DurationUnit;
|
|
34
|
+
readonly changed: boolean;
|
|
35
|
+
readonly convertedFields: readonly ExactUnitMigrationConvertedField[];
|
|
36
|
+
readonly reversibility: MigrationReversibility;
|
|
37
|
+
readonly qualifications: readonly MigrationQualification[];
|
|
38
|
+
}
|
|
39
|
+
export declare function convertPreparedUnitMigrationRequest(input: ExactUnitMigrationConversionInput): ExactUnitMigrationConversion;
|
|
40
|
+
//# sourceMappingURL=conversion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../src/migration/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EAClC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,uBAAwB,SAAQ,QAAQ;IACvD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,mBAAmB,EAAE,4BAA4B,GAAG,IAAI,CAAC;IAClE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,0BAA0B,EAAE,CAAC;CACnE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACvD,QAAQ,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,SAAS,gCAAgC,EAAE,CAAC;IACtE,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,SAAS,sBAAsB,EAAE,CAAC;CAC5D;AAuGD,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,iCAAiC,GACvC,4BAA4B,CA6C9B"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { serializeExactDurationSource, } from "../model/exact-duration-source.js";
|
|
2
|
+
import { divide, multiply, rational } from "../model/rational.js";
|
|
3
|
+
import { selectExactDurationGrammarBoundary, } from "./grammar-boundary.js";
|
|
4
|
+
function exactValue(value, unit) {
|
|
5
|
+
const normalized = rational(value.numerator, value.denominator);
|
|
6
|
+
return Object.freeze({
|
|
7
|
+
numerator: normalized.numerator,
|
|
8
|
+
denominator: normalized.denominator,
|
|
9
|
+
unit,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function exactPositive(value, name) {
|
|
13
|
+
const normalized = rational(value.numerator, value.denominator);
|
|
14
|
+
if (normalized.numerator <= 0n) {
|
|
15
|
+
throw new Error(`${name} must be positive`);
|
|
16
|
+
}
|
|
17
|
+
return normalized;
|
|
18
|
+
}
|
|
19
|
+
function targetPerSource(input) {
|
|
20
|
+
if (!input.changed) {
|
|
21
|
+
if (input.sourceUnit !== input.targetUnit) {
|
|
22
|
+
throw new Error("unchanged migration must retain the source unit");
|
|
23
|
+
}
|
|
24
|
+
if (input.effectiveVelocity !== null ||
|
|
25
|
+
input.velocityDisposition !== null) {
|
|
26
|
+
throw new Error("unchanged migration must not select a velocity");
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
const velocity = input.effectiveVelocity;
|
|
31
|
+
if (velocity === null || input.velocityDisposition === null) {
|
|
32
|
+
throw new Error("changing migration requires an effective velocity");
|
|
33
|
+
}
|
|
34
|
+
const points = exactPositive(velocity.points, "velocity points");
|
|
35
|
+
const period = exactPositive(velocity.period, "velocity period");
|
|
36
|
+
if (input.sourceUnit === "point") {
|
|
37
|
+
if (input.targetUnit === "point" ||
|
|
38
|
+
velocity.periodUnit !== input.targetUnit) {
|
|
39
|
+
throw new Error("Point migration target must match the velocity period unit");
|
|
40
|
+
}
|
|
41
|
+
return divide(period, points);
|
|
42
|
+
}
|
|
43
|
+
if (input.targetUnit !== "point" ||
|
|
44
|
+
velocity.periodUnit !== input.sourceUnit) {
|
|
45
|
+
throw new Error("time migration source must match the velocity period unit");
|
|
46
|
+
}
|
|
47
|
+
return divide(points, period);
|
|
48
|
+
}
|
|
49
|
+
function convertField(field, sourceUnit, targetUnit, factor) {
|
|
50
|
+
if (field.sourceUnit !== sourceUnit) {
|
|
51
|
+
throw new Error(`migration inventory field ${field.fieldPath} has the wrong source unit`);
|
|
52
|
+
}
|
|
53
|
+
const original = exactValue(field.sourceValue, sourceUnit);
|
|
54
|
+
if (original.numerator < 0n) {
|
|
55
|
+
throw new Error(`migration inventory field ${field.fieldPath} must not be negative`);
|
|
56
|
+
}
|
|
57
|
+
const converted = exactValue(multiply(original, factor), targetUnit);
|
|
58
|
+
const serialized = serializeExactDurationSource(converted, targetUnit);
|
|
59
|
+
const token = Object.freeze({ ...serialized });
|
|
60
|
+
return {
|
|
61
|
+
record: Object.freeze({
|
|
62
|
+
entityKind: field.entityKind,
|
|
63
|
+
entityId: field.entityId,
|
|
64
|
+
fieldPath: field.fieldPath,
|
|
65
|
+
original,
|
|
66
|
+
converted,
|
|
67
|
+
canonicalToken: token.token,
|
|
68
|
+
tokenClassification: token.classification,
|
|
69
|
+
}),
|
|
70
|
+
token,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export function convertPreparedUnitMigrationRequest(input) {
|
|
74
|
+
if (input.ok !== true) {
|
|
75
|
+
throw new TypeError("exact unit conversion requires a successful prepared request");
|
|
76
|
+
}
|
|
77
|
+
if (!Array.isArray(input.durationInventory)) {
|
|
78
|
+
throw new TypeError("durationInventory must be an array");
|
|
79
|
+
}
|
|
80
|
+
const factor = targetPerSource(input);
|
|
81
|
+
const convertedFields = [];
|
|
82
|
+
const generatedTokens = [];
|
|
83
|
+
if (factor !== null) {
|
|
84
|
+
for (const field of input.durationInventory) {
|
|
85
|
+
const converted = convertField(field, input.sourceUnit, input.targetUnit, factor);
|
|
86
|
+
convertedFields.push(converted.record);
|
|
87
|
+
generatedTokens.push(converted.token);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const grammar = selectExactDurationGrammarBoundary(input.sourceGrammarVersion, generatedTokens, {
|
|
91
|
+
migrationChanged: input.changed,
|
|
92
|
+
velocityDisposition: input.velocityDisposition,
|
|
93
|
+
});
|
|
94
|
+
return Object.freeze({
|
|
95
|
+
sourceGrammarVersion: grammar.sourceGrammarVersion,
|
|
96
|
+
targetGrammarVersion: grammar.targetGrammarVersion,
|
|
97
|
+
grammarDisposition: grammar.grammarDisposition,
|
|
98
|
+
sourceUnit: input.sourceUnit,
|
|
99
|
+
targetUnit: input.targetUnit,
|
|
100
|
+
changed: input.changed,
|
|
101
|
+
convertedFields: Object.freeze(convertedFields),
|
|
102
|
+
reversibility: grammar.reversibility,
|
|
103
|
+
qualifications: grammar.qualifications,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=conversion.js.map
|