ootk 5.1.1 → 6.0.0-rc.3
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/.claude/PROMPT.md +13 -0
- package/.claude/hooks/post-tool-use.ts +33 -0
- package/.claude/hooks/user-prompt-submit.ts +138 -0
- package/.claude/settings.local.json +13 -0
- package/.claude/skill-rules.json +11 -0
- package/.claude/skills/ootk-dev/SKILL.md +16 -0
- package/ADVANCED_FEATURES_GUIDE.md +1025 -0
- package/README.md +18 -0
- package/dist/body/Celestial.d.ts +1 -1
- package/dist/body/Celestial.js +1 -1
- package/dist/body/Celestial.js.map +1 -1
- package/dist/body/Earth.d.ts +3 -3
- package/dist/body/Earth.js +1 -1
- package/dist/body/Earth.js.map +1 -1
- package/dist/body/Moon.d.ts +3 -3
- package/dist/body/Moon.js +7 -7
- package/dist/body/Moon.js.map +1 -1
- package/dist/body/NutationAngles.d.ts +1 -1
- package/dist/body/PrecessionAngles.d.ts +1 -1
- package/dist/body/Sun.d.ts +1 -1
- package/dist/body/Sun.js +2 -2
- package/dist/body/Sun.js.map +1 -1
- package/dist/body/index.d.ts +4 -4
- package/dist/body/index.js +4 -4
- package/dist/body/index.js.map +1 -1
- package/dist/conjunction/ConjunctionAssessment.d.ts +156 -0
- package/dist/conjunction/ConjunctionAssessment.js +281 -0
- package/dist/conjunction/ConjunctionAssessment.js.map +1 -0
- package/dist/conjunction/ConjunctionEvent.d.ts +104 -0
- package/dist/conjunction/ConjunctionEvent.js +156 -0
- package/dist/conjunction/ConjunctionEvent.js.map +1 -0
- package/dist/conjunction/ProbabilityOfCollision.d.ts +102 -0
- package/dist/conjunction/ProbabilityOfCollision.js +240 -0
- package/dist/conjunction/ProbabilityOfCollision.js.map +1 -0
- package/dist/conjunction/index.d.ts +19 -0
- package/dist/conjunction/index.js +20 -0
- package/dist/conjunction/index.js.map +1 -0
- package/dist/coordinate/ClassicalElements.d.ts +6 -6
- package/dist/coordinate/ClassicalElements.js +6 -6
- package/dist/coordinate/ClassicalElements.js.map +1 -1
- package/dist/coordinate/EquinoctialElements.d.ts +4 -4
- package/dist/coordinate/EquinoctialElements.js +3 -3
- package/dist/coordinate/EquinoctialElements.js.map +1 -1
- package/dist/coordinate/FormatTle.d.ts +1 -1
- package/dist/coordinate/FormatTle.js +1 -1
- package/dist/coordinate/FormatTle.js.map +1 -1
- package/dist/coordinate/Geodetic.d.ts +3 -3
- package/dist/coordinate/Geodetic.js +6 -6
- package/dist/coordinate/Geodetic.js.map +1 -1
- package/dist/coordinate/Hill.d.ts +3 -3
- package/dist/coordinate/Hill.js +2 -2
- package/dist/coordinate/Hill.js.map +1 -1
- package/dist/coordinate/ITRF.d.ts +4 -4
- package/dist/coordinate/ITRF.js +4 -4
- package/dist/coordinate/ITRF.js.map +1 -1
- package/dist/coordinate/J2000.d.ts +4 -4
- package/dist/coordinate/J2000.js +4 -4
- package/dist/coordinate/J2000.js.map +1 -1
- package/dist/coordinate/RIC.d.ts +3 -3
- package/dist/coordinate/RIC.js +2 -2
- package/dist/coordinate/RIC.js.map +1 -1
- package/dist/coordinate/RelativeState.d.ts +4 -4
- package/dist/coordinate/RelativeState.js +1 -1
- package/dist/coordinate/RelativeState.js.map +1 -1
- package/dist/coordinate/StateVector.d.ts +1 -1
- package/dist/coordinate/StateVector.js +1 -1
- package/dist/coordinate/StateVector.js.map +1 -1
- package/dist/coordinate/TEME.d.ts +3 -3
- package/dist/coordinate/TEME.js +3 -3
- package/dist/coordinate/TEME.js.map +1 -1
- package/dist/coordinate/Tle.d.ts +4 -4
- package/dist/coordinate/Tle.js +8 -8
- package/dist/coordinate/Tle.js.map +1 -1
- package/dist/coordinate/index.d.ts +12 -12
- package/dist/coordinate/index.js +12 -12
- package/dist/coordinate/index.js.map +1 -1
- package/dist/covariance/CovarianceSample.d.ts +4 -4
- package/dist/covariance/CovarianceSample.js +4 -4
- package/dist/covariance/CovarianceSample.js.map +1 -1
- package/dist/covariance/StateCovariance.d.ts +1 -1
- package/dist/covariance/StateCovariance.js +1 -1
- package/dist/covariance/StateCovariance.js.map +1 -1
- package/dist/covariance/index.d.ts +2 -2
- package/dist/covariance/index.js +2 -2
- package/dist/covariance/index.js.map +1 -1
- package/dist/data/DataHandler.d.ts +3 -3
- package/dist/data/DataHandler.js +4 -4
- package/dist/data/DataHandler.js.map +1 -1
- package/dist/data/values/Egm96Data.js +2 -2
- package/dist/data/values/Egm96Data.js.map +1 -1
- package/dist/data/values/HpAtmosphereData.d.ts +1 -1
- package/dist/data/values/HpAtmosphereData.js +2 -2
- package/dist/data/values/HpAtmosphereData.js.map +1 -1
- package/dist/data/values/HpAtmosphereResult.d.ts +1 -1
- package/dist/data/values/Iau1980Data.js +1 -1
- package/dist/data/values/Iau1980Data.js.map +1 -1
- package/dist/data/values/LeapSecondData.d.ts +1 -1
- package/dist/data/values/LeapSecondData.js +1 -1
- package/dist/data/values/LeapSecondData.js.map +1 -1
- package/dist/data/values/egm96.d.ts +1 -1
- package/dist/data/values/hpAtmosphere.d.ts +1 -1
- package/dist/data/values/iau1980.d.ts +1 -1
- package/dist/enums/index.d.ts +7 -7
- package/dist/enums/index.js +7 -7
- package/dist/enums/index.js.map +1 -1
- package/dist/fetch/horizons-constants.d.ts +43 -0
- package/dist/fetch/horizons-constants.js +50 -0
- package/dist/fetch/horizons-constants.js.map +1 -0
- package/dist/fetch/horizons-interfaces.d.ts +37 -0
- package/dist/fetch/horizons-interfaces.js +2 -0
- package/dist/fetch/horizons-interfaces.js.map +1 -0
- package/dist/fetch/horizons.d.ts +86 -0
- package/dist/fetch/horizons.js +237 -0
- package/dist/fetch/horizons.js.map +1 -0
- package/dist/force/AtmosphericDrag.d.ts +2 -2
- package/dist/force/AtmosphericDrag.js +1 -1
- package/dist/force/AtmosphericDrag.js.map +1 -1
- package/dist/force/EarthGravity.d.ts +2 -2
- package/dist/force/EarthGravity.js +1 -1
- package/dist/force/EarthGravity.js.map +1 -1
- package/dist/force/Force.d.ts +2 -2
- package/dist/force/Force.js +0 -9
- package/dist/force/Force.js.map +1 -1
- package/dist/force/ForceModel.d.ts +2 -2
- package/dist/force/ForceModel.js +6 -6
- package/dist/force/ForceModel.js.map +1 -1
- package/dist/force/Gravity.d.ts +2 -2
- package/dist/force/Gravity.js +1 -1
- package/dist/force/Gravity.js.map +1 -1
- package/dist/force/SolarRadiationPressure.d.ts +2 -2
- package/dist/force/SolarRadiationPressure.js +3 -3
- package/dist/force/SolarRadiationPressure.js.map +1 -1
- package/dist/force/ThirdBodyGravity.d.ts +2 -2
- package/dist/force/ThirdBodyGravity.js +1 -1
- package/dist/force/ThirdBodyGravity.js.map +1 -1
- package/dist/force/Thrust.d.ts +2 -2
- package/dist/force/Thrust.js +1 -1
- package/dist/force/Thrust.js.map +1 -1
- package/dist/force/index.d.ts +1 -1
- package/dist/force/index.js +1 -1
- package/dist/force/index.js.map +1 -1
- package/dist/interfaces/BaseObjectParams.d.ts +1 -1
- package/dist/interfaces/ClassicalElementsParams.d.ts +1 -1
- package/dist/interfaces/EquinoctialElementsParams.d.ts +1 -1
- package/dist/interfaces/GroundPositionParams.d.ts +1 -1
- package/dist/interfaces/RfSensorParams.d.ts +2 -2
- package/dist/interfaces/SatelliteParams.d.ts +2 -2
- package/dist/interfaces/SensorParams.d.ts +2 -2
- package/dist/interfaces/StarObjectParams.d.ts +1 -1
- package/dist/interfaces/TimeVariables.d.ts +1 -1
- package/dist/interfaces/index.d.ts +9 -9
- package/dist/interpolator/ChebyshevCoefficients.d.ts +1 -1
- package/dist/interpolator/ChebyshevCoefficients.js +1 -1
- package/dist/interpolator/ChebyshevCoefficients.js.map +1 -1
- package/dist/interpolator/ChebyshevInterpolator.d.ts +3 -3
- package/dist/interpolator/ChebyshevInterpolator.js +2 -2
- package/dist/interpolator/ChebyshevInterpolator.js.map +1 -1
- package/dist/interpolator/CubicSpline.d.ts +1 -1
- package/dist/interpolator/CubicSplineInterpolator.d.ts +3 -3
- package/dist/interpolator/CubicSplineInterpolator.js +3 -3
- package/dist/interpolator/CubicSplineInterpolator.js.map +1 -1
- package/dist/interpolator/FieldInterpolator.d.ts +2 -2
- package/dist/interpolator/FieldInterpolator.js +1 -11
- package/dist/interpolator/FieldInterpolator.js.map +1 -1
- package/dist/interpolator/Interpolator.d.ts +1 -1
- package/dist/interpolator/Interpolator.js +1 -1
- package/dist/interpolator/Interpolator.js.map +1 -1
- package/dist/interpolator/LagrangeInterpolator.d.ts +2 -2
- package/dist/interpolator/LagrangeInterpolator.js +2 -2
- package/dist/interpolator/LagrangeInterpolator.js.map +1 -1
- package/dist/interpolator/StateInterpolator.d.ts +3 -3
- package/dist/interpolator/StateInterpolator.js +1 -9
- package/dist/interpolator/StateInterpolator.js.map +1 -1
- package/dist/interpolator/VerletBlendInterpolator.d.ts +4 -4
- package/dist/interpolator/VerletBlendInterpolator.js +4 -4
- package/dist/interpolator/VerletBlendInterpolator.js.map +1 -1
- package/dist/main.d.ts +19 -19
- package/dist/main.js +20 -19
- package/dist/main.js.map +1 -1
- package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +2 -2
- package/dist/maneuver/TwoBurnOrbitTransfer.js +2 -2
- package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -1
- package/dist/maneuver/Waypoint.d.ts +4 -4
- package/dist/maneuver/Waypoint.js +6 -6
- package/dist/maneuver/Waypoint.js.map +1 -1
- package/dist/objects/BaseObject.d.ts +2 -2
- package/dist/objects/BaseObject.js +1 -1
- package/dist/objects/BaseObject.js.map +1 -1
- package/dist/objects/DetailedSatellite.d.ts +3 -3
- package/dist/objects/DetailedSatellite.js +3 -3
- package/dist/objects/DetailedSatellite.js.map +1 -1
- package/dist/objects/DetailedSensor.d.ts +4 -4
- package/dist/objects/DetailedSensor.js +1 -1
- package/dist/objects/DetailedSensor.js.map +1 -1
- package/dist/objects/GroundObject.d.ts +3 -3
- package/dist/objects/GroundObject.js +2 -2
- package/dist/objects/GroundObject.js.map +1 -1
- package/dist/objects/LandObject.d.ts +2 -2
- package/dist/objects/LandObject.js +1 -1
- package/dist/objects/LandObject.js.map +1 -1
- package/dist/objects/Marker.d.ts +1 -1
- package/dist/objects/Marker.js +1 -1
- package/dist/objects/Marker.js.map +1 -1
- package/dist/objects/RfSensor.d.ts +2 -2
- package/dist/objects/RfSensor.js +2 -2
- package/dist/objects/RfSensor.js.map +1 -1
- package/dist/objects/Satellite.d.ts +11 -11
- package/dist/objects/Satellite.js +11 -11
- package/dist/objects/Satellite.js.map +1 -1
- package/dist/objects/Sensor.d.ts +5 -5
- package/dist/objects/Sensor.js +4 -4
- package/dist/objects/Sensor.js.map +1 -1
- package/dist/objects/Star.d.ts +2 -2
- package/dist/objects/Star.js +2 -2
- package/dist/objects/Star.js.map +1 -1
- package/dist/objects/index.d.ts +10 -10
- package/dist/objects/index.js +10 -10
- package/dist/objects/index.js.map +1 -1
- package/dist/observation/Observation.d.ts +10 -10
- package/dist/observation/Observation.js +0 -51
- package/dist/observation/Observation.js.map +1 -1
- package/dist/observation/ObservationOptical.d.ts +5 -5
- package/dist/observation/ObservationOptical.js +3 -3
- package/dist/observation/ObservationOptical.js.map +1 -1
- package/dist/observation/ObservationRadar.d.ts +5 -5
- package/dist/observation/ObservationRadar.js +3 -3
- package/dist/observation/ObservationRadar.js.map +1 -1
- package/dist/observation/ObservationUtils.d.ts +1 -1
- package/dist/observation/ObservationUtils.js +1 -1
- package/dist/observation/ObservationUtils.js.map +1 -1
- package/dist/observation/PropagatorPairs.d.ts +1 -1
- package/dist/observation/RAE.d.ts +5 -5
- package/dist/observation/RAE.js +5 -5
- package/dist/observation/RAE.js.map +1 -1
- package/dist/observation/RadecGeocentric.d.ts +5 -5
- package/dist/observation/RadecGeocentric.js +4 -4
- package/dist/observation/RadecGeocentric.js.map +1 -1
- package/dist/observation/RadecTopocentric.d.ts +5 -5
- package/dist/observation/RadecTopocentric.js +8 -6
- package/dist/observation/RadecTopocentric.js.map +1 -1
- package/dist/observation/index.d.ts +4 -4
- package/dist/observation/index.js +4 -4
- package/dist/observation/index.js.map +1 -1
- package/dist/operations/BoxMuller.d.ts +1 -1
- package/dist/operations/BoxMuller.js +1 -1
- package/dist/operations/BoxMuller.js.map +1 -1
- package/dist/operations/EulerAngles.d.ts +1 -1
- package/dist/operations/EulerAngles.js +1 -1
- package/dist/operations/EulerAngles.js.map +1 -1
- package/dist/operations/Matrix.d.ts +1 -1
- package/dist/operations/Matrix.js +1 -1
- package/dist/operations/Matrix.js.map +1 -1
- package/dist/operations/Quaternion.d.ts +1 -1
- package/dist/operations/Quaternion.js +1 -1
- package/dist/operations/Quaternion.js.map +1 -1
- package/dist/operations/RandomGaussianSource.d.ts +1 -1
- package/dist/operations/RandomGaussianSource.js +2 -2
- package/dist/operations/RandomGaussianSource.js.map +1 -1
- package/dist/operations/Vector.d.ts +1 -1
- package/dist/operations/Vector.js +1 -1
- package/dist/operations/Vector.js.map +1 -1
- package/dist/operations/Vector3D.d.ts +4 -3
- package/dist/operations/Vector3D.js +4 -3
- package/dist/operations/Vector3D.js.map +1 -1
- package/dist/operations/index.d.ts +4 -4
- package/dist/operations/index.js +4 -4
- package/dist/operations/index.js.map +1 -1
- package/dist/operations/operations.d.ts +4 -4
- package/dist/operations/operations.js +4 -4
- package/dist/operations/operations.js.map +1 -1
- package/dist/optimize/ChebyshevCompressor.d.ts +2 -2
- package/dist/optimize/ChebyshevCompressor.js +3 -3
- package/dist/optimize/ChebyshevCompressor.js.map +1 -1
- package/dist/optimize/DownhillSimplex.d.ts +1 -1
- package/dist/optimize/DownhillSimplex.js +1 -1
- package/dist/optimize/DownhillSimplex.js.map +1 -1
- package/dist/optimize/GoldenSection.d.ts +1 -1
- package/dist/optimize/PolynomialRegression.d.ts +1 -1
- package/dist/optimize/PolynomialRegression.js +3 -3
- package/dist/optimize/PolynomialRegression.js.map +1 -1
- package/dist/optimize/SimplexEntry.js +1 -1
- package/dist/optimize/SimplexEntry.js.map +1 -1
- package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +4 -4
- package/dist/orbit_determination/BatchLeastSquaresOD.js +7 -7
- package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -1
- package/dist/orbit_determination/BatchLeastSquaresResult.d.ts +2 -2
- package/dist/orbit_determination/GaussIOD.d.ts +98 -0
- package/dist/orbit_determination/GaussIOD.js +294 -0
- package/dist/orbit_determination/GaussIOD.js.map +1 -0
- package/dist/orbit_determination/GibbsIOD.d.ts +1 -1
- package/dist/orbit_determination/GibbsIOD.js +3 -3
- package/dist/orbit_determination/GibbsIOD.js.map +1 -1
- package/dist/orbit_determination/GoodingIOD.d.ts +115 -11
- package/dist/orbit_determination/GoodingIOD.js +368 -124
- package/dist/orbit_determination/GoodingIOD.js.map +1 -1
- package/dist/orbit_determination/HerrickGibbsIOD.d.ts +1 -1
- package/dist/orbit_determination/HerrickGibbsIOD.js +1 -1
- package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -1
- package/dist/orbit_determination/LambertIOD.d.ts +1 -1
- package/dist/orbit_determination/LambertIOD.js +1 -1
- package/dist/orbit_determination/LambertIOD.js.map +1 -1
- package/dist/orbit_determination/ModifiedGoodingIOD.d.ts +7 -6
- package/dist/orbit_determination/ModifiedGoodingIOD.js +24 -14
- package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -1
- package/dist/orbit_determination/index.d.ts +7 -7
- package/dist/orbit_determination/index.js +7 -7
- package/dist/orbit_determination/index.js.map +1 -1
- package/dist/propagator/DormandPrince54Propagator.d.ts +1 -1
- package/dist/propagator/DormandPrince54Propagator.js +1 -1
- package/dist/propagator/DormandPrince54Propagator.js.map +1 -1
- package/dist/propagator/KeplerPropagator.d.ts +5 -5
- package/dist/propagator/KeplerPropagator.js +5 -6
- package/dist/propagator/KeplerPropagator.js.map +1 -1
- package/dist/propagator/Propagator.d.ts +4 -4
- package/dist/propagator/Propagator.js +4 -4
- package/dist/propagator/Propagator.js.map +1 -1
- package/dist/propagator/RkCheckpoint.d.ts +1 -1
- package/dist/propagator/RkResult.d.ts +1 -1
- package/dist/propagator/RungeKutta4Propagator.d.ts +5 -5
- package/dist/propagator/RungeKutta4Propagator.js +4 -4
- package/dist/propagator/RungeKutta4Propagator.js.map +1 -1
- package/dist/propagator/RungeKutta89Propagator.d.ts +1 -1
- package/dist/propagator/RungeKutta89Propagator.js +1 -1
- package/dist/propagator/RungeKutta89Propagator.js.map +1 -1
- package/dist/propagator/RungeKuttaAdaptive.d.ts +5 -5
- package/dist/propagator/RungeKuttaAdaptive.js +52 -9
- package/dist/propagator/RungeKuttaAdaptive.js.map +1 -1
- package/dist/propagator/Sgp4Propagator.d.ts +6 -6
- package/dist/propagator/Sgp4Propagator.js +3 -3
- package/dist/propagator/Sgp4Propagator.js.map +1 -1
- package/dist/propagator/index.d.ts +3 -3
- package/dist/propagator/index.js +3 -3
- package/dist/propagator/index.js.map +1 -1
- package/dist/sgp4/index.d.ts +1 -1
- package/dist/sgp4/index.js +1 -1
- package/dist/sgp4/index.js.map +1 -1
- package/dist/sgp4/sgp4.d.ts +2 -2
- package/dist/sgp4/sgp4.js +4 -4
- package/dist/sgp4/sgp4.js.map +1 -1
- package/dist/smoothing/ExponentialSmoothing.d.ts +1 -1
- package/dist/time/Epoch.d.ts +1 -1
- package/dist/time/Epoch.js +1 -1
- package/dist/time/Epoch.js.map +1 -1
- package/dist/time/EpochGPS.d.ts +2 -2
- package/dist/time/EpochGPS.js +2 -2
- package/dist/time/EpochGPS.js.map +1 -1
- package/dist/time/EpochTAI.d.ts +1 -1
- package/dist/time/EpochTAI.js +1 -1
- package/dist/time/EpochTAI.js.map +1 -1
- package/dist/time/EpochTDB.d.ts +1 -1
- package/dist/time/EpochTDB.js +1 -1
- package/dist/time/EpochTDB.js.map +1 -1
- package/dist/time/EpochTT.d.ts +1 -1
- package/dist/time/EpochTT.js +1 -1
- package/dist/time/EpochTT.js.map +1 -1
- package/dist/time/EpochUTC.d.ts +6 -6
- package/dist/time/EpochUTC.js +8 -8
- package/dist/time/EpochUTC.js.map +1 -1
- package/dist/time/EpochWindow.d.ts +1 -1
- package/dist/time/TimeStamped.d.ts +1 -1
- package/dist/time/index.d.ts +8 -8
- package/dist/time/index.js +8 -8
- package/dist/time/index.js.map +1 -1
- package/dist/transforms/conversions.d.ts +1 -1
- package/dist/transforms/conversions.js +1 -1
- package/dist/transforms/conversions.js.map +1 -1
- package/dist/transforms/index.d.ts +2 -2
- package/dist/transforms/index.js +2 -2
- package/dist/transforms/index.js.map +1 -1
- package/dist/transforms/transforms.d.ts +1 -1
- package/dist/transforms/transforms.js +1 -1
- package/dist/transforms/transforms.js.map +1 -1
- package/dist/types/types.d.ts +8 -3
- package/dist/types/types.js +6 -1
- package/dist/types/types.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -2
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/create-covariance-from-tle.d.ts +1 -1
- package/dist/utils/create-covariance-from-tle.js +1 -1
- package/dist/utils/create-covariance-from-tle.js.map +1 -1
- package/dist/utils/functions.d.ts +4 -4
- package/dist/utils/functions.js +9 -4
- package/dist/utils/functions.js.map +1 -1
- package/dist/utils/index.d.ts +5 -5
- package/dist/utils/index.js +5 -5
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/jacobian.d.ts +2 -2
- package/dist/utils/jacobian.js +1 -1
- package/dist/utils/jacobian.js.map +1 -1
- package/dist/utils/linearDistance.d.ts +1 -1
- package/docs/README.md +132 -0
- package/docs/getting-started.md +792 -0
- package/docs/lambert-satellite-integration-guide.md +766 -0
- package/docs/user-guide.md +1935 -0
- package/jest.config.mjs +28 -0
- package/package.json +4 -4
- package/src/body/Celestial.ts +1 -1
- package/src/body/Earth.ts +3 -3
- package/src/body/Moon.ts +7 -7
- package/src/body/NutationAngles.ts +1 -1
- package/src/body/PrecessionAngles.ts +1 -1
- package/src/body/Sun.ts +3 -3
- package/src/body/index.ts +4 -4
- package/src/conjunction/ConjunctionAssessment.ts +417 -0
- package/src/conjunction/ConjunctionEvent.ts +149 -0
- package/src/conjunction/ProbabilityOfCollision.ts +300 -0
- package/src/conjunction/index.ts +24 -0
- package/src/coordinate/ClassicalElements.ts +9 -9
- package/src/coordinate/EquinoctialElements.ts +6 -6
- package/src/coordinate/FormatTle.ts +1 -1
- package/src/coordinate/Geodetic.ts +7 -7
- package/src/coordinate/Hill.ts +3 -3
- package/src/coordinate/ITRF.ts +5 -5
- package/src/coordinate/J2000.ts +6 -6
- package/src/coordinate/RIC.ts +3 -3
- package/src/coordinate/RelativeState.ts +4 -4
- package/src/coordinate/StateVector.ts +1 -1
- package/src/coordinate/TEME.ts +5 -5
- package/src/coordinate/Tle.ts +8 -8
- package/src/coordinate/index.ts +13 -12
- package/src/covariance/CovarianceSample.ts +5 -5
- package/src/covariance/StateCovariance.ts +1 -1
- package/src/covariance/index.ts +3 -2
- package/src/data/DataHandler.ts +5 -5
- package/src/data/values/Egm96Data.ts +2 -2
- package/src/data/values/HpAtmosphereData.ts +2 -2
- package/src/data/values/HpAtmosphereResult.ts +1 -1
- package/src/data/values/Iau1980Data.ts +1 -1
- package/src/data/values/LeapSecondData.ts +1 -1
- package/src/data/values/egm96.ts +1 -1
- package/src/data/values/hpAtmosphere.ts +1 -1
- package/src/data/values/iau1980.ts +1 -1
- package/src/enums/index.ts +8 -7
- package/src/fetch/horizons-constants.ts +53 -0
- package/src/fetch/horizons-interfaces.ts +38 -0
- package/src/fetch/horizons.ts +300 -0
- package/src/force/AtmosphericDrag.ts +2 -2
- package/src/force/EarthGravity.ts +2 -2
- package/src/force/Force.ts +2 -4
- package/src/force/ForceModel.ts +8 -8
- package/src/force/Gravity.ts +2 -2
- package/src/force/SolarRadiationPressure.ts +3 -3
- package/src/force/ThirdBodyGravity.ts +2 -2
- package/src/force/Thrust.ts +2 -2
- package/src/force/index.ts +2 -1
- package/src/interfaces/BaseObjectParams.ts +1 -1
- package/src/interfaces/ClassicalElementsParams.ts +1 -1
- package/src/interfaces/EquinoctialElementsParams.ts +1 -1
- package/src/interfaces/GroundPositionParams.ts +1 -1
- package/src/interfaces/RfSensorParams.ts +2 -2
- package/src/interfaces/SatelliteParams.ts +2 -2
- package/src/interfaces/SensorParams.ts +3 -3
- package/src/interfaces/StarObjectParams.ts +1 -1
- package/src/interfaces/TimeVariables.ts +1 -1
- package/src/interfaces/index.ts +10 -9
- package/src/interpolator/ChebyshevCoefficients.ts +1 -1
- package/src/interpolator/ChebyshevInterpolator.ts +3 -3
- package/src/interpolator/CubicSpline.ts +1 -1
- package/src/interpolator/CubicSplineInterpolator.ts +3 -3
- package/src/interpolator/FieldInterpolator.ts +2 -4
- package/src/interpolator/Interpolator.ts +1 -1
- package/src/interpolator/LagrangeInterpolator.ts +2 -2
- package/src/interpolator/StateInterpolator.ts +3 -5
- package/src/interpolator/VerletBlendInterpolator.ts +4 -4
- package/src/main.ts +21 -19
- package/src/maneuver/TwoBurnOrbitTransfer.ts +2 -2
- package/src/maneuver/Waypoint.ts +7 -7
- package/src/objects/BaseObject.ts +2 -2
- package/src/objects/DetailedSatellite.ts +3 -3
- package/src/objects/DetailedSensor.ts +4 -4
- package/src/objects/GroundObject.ts +3 -3
- package/src/objects/LandObject.ts +2 -2
- package/src/objects/Marker.ts +1 -1
- package/src/objects/RfSensor.ts +2 -2
- package/src/objects/Satellite.ts +18 -18
- package/src/objects/Sensor.ts +6 -6
- package/src/objects/Star.ts +2 -2
- package/src/objects/index.ts +11 -10
- package/src/observation/Observation.ts +10 -22
- package/src/observation/ObservationOptical.ts +6 -6
- package/src/observation/ObservationRadar.ts +6 -6
- package/src/observation/ObservationUtils.ts +1 -1
- package/src/observation/PropagatorPairs.ts +1 -1
- package/src/observation/RAE.ts +8 -8
- package/src/observation/RadecGeocentric.ts +8 -8
- package/src/observation/RadecTopocentric.ts +12 -9
- package/src/observation/index.ts +4 -4
- package/src/operations/BoxMuller.ts +1 -1
- package/src/operations/EulerAngles.ts +1 -1
- package/src/operations/Matrix.ts +1 -1
- package/src/operations/Quaternion.ts +1 -1
- package/src/operations/RandomGaussianSource.ts +2 -2
- package/src/operations/Vector.ts +1 -1
- package/src/operations/Vector3D.ts +5 -3
- package/src/operations/index.ts +5 -4
- package/src/operations/operations.ts +4 -4
- package/src/optimize/ChebyshevCompressor.ts +4 -4
- package/src/optimize/DownhillSimplex.ts +1 -1
- package/src/optimize/GoldenSection.ts +1 -1
- package/src/optimize/PolynomialRegression.ts +3 -3
- package/src/optimize/SimplexEntry.ts +1 -1
- package/src/orbit_determination/BatchLeastSquaresOD.ts +9 -9
- package/src/orbit_determination/BatchLeastSquaresResult.ts +2 -2
- package/src/orbit_determination/GaussIOD.ts +396 -0
- package/src/orbit_determination/GibbsIOD.ts +3 -3
- package/src/orbit_determination/GoodingIOD.ts +457 -159
- package/src/orbit_determination/HerrickGibbsIOD.ts +1 -1
- package/src/orbit_determination/LambertIOD.ts +1 -1
- package/src/orbit_determination/ModifiedGoodingIOD.ts +32 -21
- package/src/orbit_determination/index.ts +8 -7
- package/src/propagator/DormandPrince54Propagator.ts +1 -1
- package/src/propagator/KeplerPropagator.ts +6 -7
- package/src/propagator/Propagator.ts +5 -5
- package/src/propagator/RkCheckpoint.ts +1 -1
- package/src/propagator/RkResult.ts +1 -1
- package/src/propagator/RungeKutta4Propagator.ts +5 -5
- package/src/propagator/RungeKutta89Propagator.ts +1 -1
- package/src/propagator/RungeKuttaAdaptive.ts +60 -10
- package/src/propagator/Sgp4Propagator.ts +6 -6
- package/src/propagator/index.ts +4 -3
- package/src/sgp4/index.ts +1 -1
- package/src/sgp4/sgp4.ts +5 -5
- package/src/smoothing/ExponentialSmoothing.ts +1 -1
- package/src/time/Epoch.ts +2 -2
- package/src/time/EpochGPS.ts +4 -4
- package/src/time/EpochTAI.ts +1 -1
- package/src/time/EpochTDB.ts +1 -1
- package/src/time/EpochTT.ts +1 -1
- package/src/time/EpochUTC.ts +9 -9
- package/src/time/EpochWindow.ts +1 -1
- package/src/time/TimeStamped.ts +1 -1
- package/src/time/index.ts +9 -8
- package/src/transforms/conversions.ts +1 -1
- package/src/transforms/index.ts +3 -2
- package/src/transforms/transforms.ts +4 -4
- package/src/types/types.ts +8 -3
- package/src/utils/constants.ts +2 -2
- package/src/utils/create-covariance-from-tle.ts +1 -1
- package/src/utils/functions.ts +10 -5
- package/src/utils/index.ts +6 -5
- package/src/utils/jacobian.ts +2 -2
- package/src/utils/linearDistance.ts +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Your role: Staff Engineer for Orbital Object Toolkit (ootk).
|
|
2
|
+
|
|
3
|
+
Task: Refactor the SignalPath class to support multi-branch signal routing.
|
|
4
|
+
|
|
5
|
+
Format:
|
|
6
|
+
|
|
7
|
+
1. Summary of goals
|
|
8
|
+
2. File-by-file change plan
|
|
9
|
+
3. Any new abstractions or interfaces
|
|
10
|
+
4. Risks and mitigations
|
|
11
|
+
5. Ask for confirmation
|
|
12
|
+
|
|
13
|
+
Wait for my approval before editing files.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
|
|
4
|
+
// Post Tool Use Tracker Hook for Claude Code (Node.js version)
|
|
5
|
+
// Tracks tool usage for debugging and optimization
|
|
6
|
+
|
|
7
|
+
// Read input from stdin
|
|
8
|
+
let input = '';
|
|
9
|
+
process.stdin.setEncoding('utf8');
|
|
10
|
+
process.stdin.on('data', (chunk: string) => {
|
|
11
|
+
input += chunk;
|
|
12
|
+
});
|
|
13
|
+
process.stdin.on('end', () => {
|
|
14
|
+
// Parse tool name (basic extraction, works for most cases)
|
|
15
|
+
let toolName: string | null = null;
|
|
16
|
+
try {
|
|
17
|
+
const match = input.match(/"tool_name":"([^"]*)"/);
|
|
18
|
+
if (match) toolName = match[1];
|
|
19
|
+
} catch {
|
|
20
|
+
// Ignore parsing errors
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Log to file (optional - comment out if not needed)
|
|
24
|
+
const logDir = path.join('.claude', 'logs');
|
|
25
|
+
fs.mkdirSync(logDir, { recursive: true });
|
|
26
|
+
const logLine = `${new Date().toISOString().replace('T', ' ').slice(0, 19)} - Tool: ${toolName}\n`;
|
|
27
|
+
fs.appendFileSync(path.join(logDir, 'tool-usage.log'), logLine);
|
|
28
|
+
|
|
29
|
+
// Pass through the input unchanged
|
|
30
|
+
process.stdout.write(input);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
process.stdin.resume();
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Activation Prompt Hook for Claude Code
|
|
3
|
+
* Automatically suggests relevant skills based on user prompts and file context
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as fs from 'node:fs';
|
|
7
|
+
import * as path from 'node:path';
|
|
8
|
+
|
|
9
|
+
interface SkillRule {
|
|
10
|
+
autoActivate?: boolean;
|
|
11
|
+
triggerPatterns?: string[];
|
|
12
|
+
filePatterns?: string[];
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface SkillRules {
|
|
16
|
+
[skillName: string]: SkillRule;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface InputData {
|
|
20
|
+
prompt: string;
|
|
21
|
+
openFiles?: string[];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Read the skill rules configuration
|
|
25
|
+
function loadSkillRules(): SkillRules {
|
|
26
|
+
const rulesPath = path.join(process.cwd(), '.claude', 'skill-rules.json');
|
|
27
|
+
|
|
28
|
+
if (!fs.existsSync(rulesPath)) {
|
|
29
|
+
return {};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
try {
|
|
33
|
+
return JSON.parse(fs.readFileSync(rulesPath, 'utf8')) as SkillRules;
|
|
34
|
+
} catch (error: any) {
|
|
35
|
+
console.error(`Error loading skill-rules.json: ${error.message}`);
|
|
36
|
+
return {};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Check if any trigger patterns match the prompt
|
|
41
|
+
function checkTriggerPatterns(prompt: string, patterns: string[]): boolean {
|
|
42
|
+
if (!patterns || patterns.length === 0) return false;
|
|
43
|
+
|
|
44
|
+
const lowerPrompt = prompt.toLowerCase();
|
|
45
|
+
return patterns.some(pattern => lowerPrompt.includes(pattern.toLowerCase()));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Check if any file patterns match the open files
|
|
49
|
+
function checkFilePatterns(openFiles: string[], patterns: string[]): boolean {
|
|
50
|
+
if (!patterns || patterns.length === 0) return false;
|
|
51
|
+
|
|
52
|
+
return openFiles.some(file =>
|
|
53
|
+
patterns.some(pattern => {
|
|
54
|
+
// Convert glob-like pattern to regex
|
|
55
|
+
const regexPattern = pattern
|
|
56
|
+
.replace(/\*/g, '.*')
|
|
57
|
+
.replace(/\?/g, '.')
|
|
58
|
+
.replace(/\./g, '\\.');
|
|
59
|
+
|
|
60
|
+
const regex = new RegExp(regexPattern, 'i');
|
|
61
|
+
return regex.test(file);
|
|
62
|
+
})
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
interface SuggestedSkill {
|
|
67
|
+
name: string;
|
|
68
|
+
path: string;
|
|
69
|
+
reason: string;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Main hook logic
|
|
73
|
+
function main(): void {
|
|
74
|
+
try {
|
|
75
|
+
// Parse input from Claude Code
|
|
76
|
+
const inputStr = fs.readFileSync(0, 'utf8');
|
|
77
|
+
const input: InputData = JSON.parse(inputStr);
|
|
78
|
+
const { prompt, openFiles = [] } = input;
|
|
79
|
+
|
|
80
|
+
// Load skill rules
|
|
81
|
+
const skillRules = loadSkillRules();
|
|
82
|
+
|
|
83
|
+
// Check each skill for activation
|
|
84
|
+
const suggestedSkills: SuggestedSkill[] = [];
|
|
85
|
+
|
|
86
|
+
for (const [skillName, rules] of Object.entries(skillRules)) {
|
|
87
|
+
if (!rules.autoActivate) continue;
|
|
88
|
+
|
|
89
|
+
const triggerMatch = checkTriggerPatterns(prompt, rules.triggerPatterns || []);
|
|
90
|
+
const fileMatch = checkFilePatterns(openFiles, rules.filePatterns || []);
|
|
91
|
+
|
|
92
|
+
if (triggerMatch || fileMatch) {
|
|
93
|
+
const skillPath = path.join('.claude', 'skills', skillName, 'SKILL.md');
|
|
94
|
+
|
|
95
|
+
if (fs.existsSync(skillPath)) {
|
|
96
|
+
suggestedSkills.push({
|
|
97
|
+
name: skillName,
|
|
98
|
+
path: skillPath,
|
|
99
|
+
reason: triggerMatch ? 'keyword match' : 'file context'
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Output suggestions
|
|
106
|
+
if (suggestedSkills.length > 0) {
|
|
107
|
+
const suggestions = suggestedSkills
|
|
108
|
+
.map(skill => `- ${skill.name} (${skill.reason})`)
|
|
109
|
+
.join('\n');
|
|
110
|
+
|
|
111
|
+
const message = `\n**Suggested Skills:**\n${suggestions}\n\nWould you like me to use any of these skills?`;
|
|
112
|
+
|
|
113
|
+
console.log(
|
|
114
|
+
JSON.stringify({
|
|
115
|
+
prompt: prompt + message,
|
|
116
|
+
openFiles: openFiles
|
|
117
|
+
})
|
|
118
|
+
);
|
|
119
|
+
} else {
|
|
120
|
+
// No suggestions, return original prompt
|
|
121
|
+
console.log(JSON.stringify(input));
|
|
122
|
+
}
|
|
123
|
+
} catch (error: any) {
|
|
124
|
+
// On error, return original input
|
|
125
|
+
console.error(`Hook error: ${error.message}`);
|
|
126
|
+
try {
|
|
127
|
+
const inputStr = fs.readFileSync(0, 'utf8');
|
|
128
|
+
const input: InputData = JSON.parse(inputStr);
|
|
129
|
+
console.log(JSON.stringify(input));
|
|
130
|
+
} catch {
|
|
131
|
+
// If even reading input fails, output empty object
|
|
132
|
+
console.log(JSON.stringify({}));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
main();
|
|
138
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# ootk Developer Guide
|
|
2
|
+
|
|
3
|
+
## General Structure
|
|
4
|
+
|
|
5
|
+
- Use ES6 module syntax (`import`/`export`).
|
|
6
|
+
- Prefer named exports for interfaces, types, and constants.
|
|
7
|
+
- Use PascalCase for class names and interfaces.
|
|
8
|
+
- Use camelCase for variables, properties, and methods.
|
|
9
|
+
- Private methods and properties should END with an underscore (e.g., `this.state_` and `this.update_()`).
|
|
10
|
+
|
|
11
|
+
## Coding Style
|
|
12
|
+
|
|
13
|
+
- Use explicit type annotations everywhere.
|
|
14
|
+
- Use template literals for dynamic HTML and string formatting.
|
|
15
|
+
- Use private/protected methods for internal logic.
|
|
16
|
+
- Use comments to document interfaces, methods, and important logic.
|