このMCPでできること
Provides deterministic engineering calculators for RF and LoRa systems, electronics, batteries, solar and power systems, cooling, and related measurements.
ツール
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['attenuation_db'], 'properties': {'z0_ohm': {'type': 'number', 'default': 50, 'description': 'Characteristic impedance in ohms (default 50)', 'exclusiveMinimum': 0}, 'attenuation_db': {'type': 'number', 'description': 'Desired attenuation in decibels (positive value)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['r1_ohm', 'r2_ohm', 'r3_ohm', 'topology'], 'properties': {'r1_ohm': {'type': 'number', 'description': 'Shunt resistor R1 (input side) in ohms'}, 'r2_ohm': {'type': 'number', 'description': 'Series resistor R2 (middle) in ohms'}, 'r3_ohm': {'type': 'number', 'description': 'Shunt resistor R3 (output side) in ohms'}, 'topology': {'type': 'string', 'description': 'Attenuator topology identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['attenuation_db'], 'properties': {'z0_ohm': {'type': 'number', 'default': 50, 'description': 'Characteristic impedance in ohms (default 50)', 'exclusiveMinimum': 0}, 'attenuation_db': {'type': 'number', 'description': 'Desired attenuation in decibels (positive value)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['r1_ohm', 'r2_ohm', 'r3_ohm', 'topology'], 'properties': {'r1_ohm': {'type': 'number', 'description': 'Series resistor R1 (input side) in ohms'}, 'r2_ohm': {'type': 'number', 'description': 'Shunt resistor R2 (middle) in ohms'}, 'r3_ohm': {'type': 'number', 'description': 'Series resistor R3 (output side) in ohms'}, 'topology': {'type': 'string', 'description': 'Attenuator topology identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['daily_kwh', 'battery_kwh'], 'properties': {'dod': {'type': 'number', 'default': 0.8, 'maximum': 1, 'minimum': 0, 'description': 'Depth of discharge (0-1), default 0.8 for lithium'}, 'daily_kwh': {'type': 'number', 'description': 'Daily energy consumption in kilowatt-hours (kWh)', 'exclusiveMinimum': 0}, 'battery_kwh': {'type': 'number', 'description': 'Total installed battery capacity in kWh', 'exclusiveMinimum': 0}, 'min_soc_pct': {'type': 'number', 'default': 20, 'maximum': 100, 'minimum': 0, 'description': 'Minimum state of charge percentage, default 20%'}, 'round_trip_efficiency': {'type': 'number', 'default': 0.9, 'maximum': 1, 'minimum': 0, 'description': 'Battery round-trip efficiency (0-1), default 0.90 for lithium, use 0.80 for lead-acid'}, 'avg_solar_contribution_pct': {'type': 'number', 'default': 0, 'maximum': 100, 'minimum': 0, 'description': 'Average solar contribution during autonomy period (0-100%), default 0 for worst-case'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['usable_kwh', 'autonomy_days', 'autonomy_hours', 'daily_deficit_kwh', 'battery_cycles_per_year'], 'properties': {'usable_kwh': {'type': 'number', 'description': 'Usable battery capacity after DoD and efficiency losses (kWh)'}, 'autonomy_days': {'type': 'number', 'description': 'Number of days the battery can sustain loads'}, 'autonomy_hours': {'type': 'number', 'description': 'Number of hours the battery can sustain loads'}, 'daily_deficit_kwh': {'type': 'number', 'description': 'Effective daily energy need after solar contribution (kWh)'}, 'battery_cycles_per_year': {'type': 'number', 'description': 'Estimated full discharge cycles per year (365 / autonomy_days)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['capacity_mah', 'charge_current_ma'], 'properties': {'voltage_v': {'type': 'number', 'default': 3.7, 'description': 'Nominal battery voltage for energy calculation (V), default 3.7 for Li-ion', 'exclusiveMinimum': 0}, 'efficiency': {'type': 'number', 'default': 0.85, 'maximum': 1, 'minimum': 0, 'description': 'Charger efficiency factor (0-1), default 0.85'}, 'capacity_mah': {'type': 'number', 'description': 'Total battery capacity in milliamp-hours (mAh)', 'exclusiveMinimum': 0}, 'initial_soc_pct': {'type': 'number', 'default': 0, 'maximum': 100, 'minimum': 0, 'description': 'Initial state of charge as percentage (0-100), default 0 (empty)'}, 'charge_current_ma': {'type': 'number', 'description': 'Charge current in milliamps (mA)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['charge_time_hours', 'charge_time_minutes', 'energy_required_wh', 'c_rate'], 'properties': {'c_rate': {'type': 'number', 'description': 'C-rate of the charge (charge_current / capacity)'}, 'charge_time_hours': {'type': 'number', 'description': 'Estimated charge time in hours'}, 'energy_required_wh': {'type': 'number', 'description': 'Energy required to charge at nominal voltage (Wh)'}, 'charge_time_minutes': {'type': 'number', 'description': 'Estimated charge time in minutes'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['capacity_mah', 'current_draw_ma'], 'properties': {'voltage': {'type': 'number', 'default': 3.7, 'description': 'Nominal battery voltage (V), default 3.7 for Li-ion', 'exclusiveMinimum': 0}, 'efficiency': {'type': 'number', 'default': 0.85, 'maximum': 1, 'minimum': 0, 'description': 'Discharge efficiency factor (0-1), accounts for conversion losses and derating, default 0.85'}, 'capacity_mah': {'type': 'number', 'description': 'Battery capacity in milliamp-hours (mAh)', 'exclusiveMinimum': 0}, 'current_draw_ma': {'type': 'number', 'description': 'Average current draw in milliamps (mA)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['runtime_hours', 'runtime_days', 'energy_wh', 'effective_capacity_mah'], 'properties': {'energy_wh': {'type': 'number', 'description': 'Total battery energy in watt-hours (capacity_mah * voltage / 1000)'}, 'runtime_days': {'type': 'number', 'description': 'Estimated runtime in days'}, 'runtime_hours': {'type': 'number', 'description': 'Estimated runtime in hours'}, 'effective_capacity_mah': {'type': 'number', 'description': 'Effective usable capacity after efficiency derating (mAh)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['weight', 'height'], 'properties': {'unit': {'enum': ['metric', 'imperial'], 'type': 'string', 'default': 'metric', 'description': "Unit system. 'metric' = kg and cm. 'imperial' = lbs and inches. Defaults to 'metric'."}, 'height': {'type': 'number', 'description': "Height. Units determined by the 'unit' parameter.", 'exclusiveMinimum': 0}, 'weight': {'type': 'number', 'description': "Body weight. Units determined by the 'unit' parameter.", 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bmi', 'category', 'healthy_weight_range_low', 'healthy_weight_range_high', 'weight_unit'], 'properties': {'bmi': {'type': 'number', 'description': 'Body Mass Index value rounded to 1 decimal.'}, 'category': {'type': 'string', 'description': 'WHO BMI classification: Underweight, Normal weight, Overweight, Obese Class I/II/III.'}, 'weight_unit': {'type': 'string', 'description': 'Unit of the weight values in this response (kg or lbs).'}, 'healthy_weight_range_low': {'type': 'number', 'description': 'Low end of healthy weight range (BMI 18.5) in the input unit system.'}, 'healthy_weight_range_high': {'type': 'number', 'description': 'High end of healthy weight range (BMI 24.9) in the input unit system.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['resistance_ohm', 'capacitance_f', 'v_supply'], 'properties': {'v_supply': {'type': 'number', 'description': 'Supply voltage in volts. The voltage the capacitor charges toward.', 'exclusiveMinimum': 0}, 'v_target': {'type': 'number', 'description': 'Target voltage to reach in volts (optional). When provided, calculates time to reach this voltage. Must be between v_initial and v_supply.'}, 'v_initial': {'type': 'number', 'default': 0, 'description': 'Initial capacitor voltage in volts (default 0 for fully discharged).'}, 'capacitance_f': {'type': 'number', 'description': 'Capacitance in farads (C). Use scientific notation, e.g. 1e-6 for 1 µF.', 'exclusiveMinimum': 0}, 'resistance_ohm': {'type': 'number', 'description': 'Series resistance in ohms (R). Controls charge/discharge rate.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tau_s', 'tau_ms', 'time_to_63pct_ms', 'time_to_86pct_ms', 'time_to_95pct_ms', 'time_to_99pct_ms', 'time_to_target_ms', 'v_at_1tau', 'v_at_2tau', 'v_at_5tau', 'energy_joules', 'energy_mj', 'peak_current_ma'], 'properties': {'tau_s': {'type': 'number', 'description': 'RC time constant (Ï\x84 = RÃ\x97C) in seconds.'}, 'tau_ms': {'type': 'number', 'description': 'RC time constant in milliseconds.'}, 'energy_mj': {'type': 'number', 'description': 'Energy stored at full charge in millijoules.'}, 'v_at_1tau': {'type': 'number', 'description': 'Capacitor voltage after 1Ï\x84 in volts.'}, 'v_at_2tau': {'type': 'number', 'description': 'Capacitor voltage after 2Ï\x84 in volts.'}, 'v_at_5tau': {'type': 'number', 'description': 'Capacitor voltage after 5Ï\x84 in volts.'}, 'energy_joules': {'type': 'number', 'description': 'Energy stored at full charge: E = ½CV² in joules.'}, 'peak_current_ma': {'type': 'number', 'description': 'Peak charging current at t=0 in milliamps: Ipeak = (Vsupply â\x88\x92 Vinitial) / R.'}, 'time_to_63pct_ms': {'type': 'number', 'description': 'Time to reach 63.2% of (Vsupply â\x88\x92 Vinitial) in milliseconds (1Ï\x84).'}, 'time_to_86pct_ms': {'type': 'number', 'description': 'Time to reach 86.5% of (Vsupply â\x88\x92 Vinitial) in milliseconds (2Ï\x84).'}, 'time_to_95pct_ms': {'type': 'number', 'description': 'Time to reach 95.0% of (Vsupply â\x88\x92 Vinitial) in milliseconds (3Ï\x84).'}, 'time_to_99pct_ms': {'type': 'number', 'description': 'Time to reach 99.3% of (Vsupply â\x88\x92 Vinitial) in milliseconds (5Ï\x84).'}, 'time_to_target_ms': {'type': ['number', 'null'], 'description': 'Time to reach v_target in milliseconds (null if v_target not specified).'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['nodes', 'airtime_ms'], 'properties': {'nodes': {'type': 'integer', 'minimum': 1, 'description': 'Number of active nodes in the mesh network.'}, 'airtime_ms': {'type': 'number', 'minimum': 0, 'description': 'Time-on-air per packet in milliseconds. Obtain from lora_airtime tool.'}, 'max_duty_cycle_pct': {'type': 'number', 'default': 10, 'maximum': 100, 'minimum': 0, 'description': 'Maximum acceptable channel utilization percentage. Default 10% is a common Meshtastic guideline.'}, 'messages_per_hour_per_node': {'type': 'number', 'default': 2, 'minimum': 0, 'description': 'Average messages transmitted per hour per node. Includes position beacons and user messages.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['utilization_pct', 'max_nodes_at_limit', 'headroom_pct', 'packets_per_hour'], 'properties': {'headroom_pct': {'type': 'number', 'description': 'Remaining headroom before hitting the duty cycle limit (can be negative if over limit).'}, 'utilization_pct': {'type': 'number', 'description': 'Current channel utilization as a percentage of total airtime.'}, 'packets_per_hour': {'type': 'number', 'description': 'Total packets per hour across all nodes.'}, 'max_nodes_at_limit': {'type': 'integer', 'description': 'Maximum number of nodes before exceeding the duty cycle limit.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'radius': {'type': 'number', 'description': 'The radius of the circle (takes precedence over diameter)', 'exclusiveMinimum': 0}, 'diameter': {'type': 'number', 'description': 'The diameter of the circle', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['circumference', 'area', 'diameter', 'radius'], 'properties': {'area': {'type': 'number', 'description': 'Area of the circle (A = Ï\x80r²)'}, 'radius': {'type': 'number', 'description': 'Radius of the circle'}, 'diameter': {'type': 'number', 'description': 'Diameter of the circle'}, 'circumference': {'type': 'number', 'description': 'Circumference of the circle (C = 2Ï\x80r)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['principal', 'annual_rate_pct', 'years'], 'properties': {'years': {'type': 'number', 'maximum': 100, 'description': 'Investment duration in years. Max 100.', 'exclusiveMinimum': 0}, 'principal': {'type': 'number', 'description': 'Initial investment or deposit amount (any currency unit).', 'exclusiveMinimum': 0}, 'annual_rate_pct': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Annual interest rate as a percentage (e.g., 5.5 for 5.5%).'}, 'compounds_per_year': {'type': 'integer', 'default': 12, 'maximum': 365, 'description': 'How often interest compounds per year. Allowed: 1 (annually), 2 (semi-annually), 4 (quarterly), 12 (monthly), 52 (weekly), 365 (daily). Defaults to 12.', 'exclusiveMinimum': 0}, 'monthly_contribution': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Optional recurring monthly contribution added at each month. Defaults to 0.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['future_value', 'total_interest', 'total_contributions', 'effective_annual_rate_pct', 'schedule'], 'properties': {'schedule': {'type': 'array', 'items': {'type': 'object', 'required': ['year', 'start_balance', 'interest_earned', 'contributions', 'end_balance'], 'properties': {'year': {'type': 'number', 'description': 'Year number (1-based).'}, 'end_balance': {'type': 'number', 'description': 'Balance at the end of the year.'}, 'contributions': {'type': 'number', 'description': 'Total contributions added during this year.'}, 'start_balance': {'type': 'number', 'description': 'Balance at the start of the year.'}, 'interest_earned': {'type': 'number', 'description': 'Interest earned during this year.'}}, 'additionalProperties': False}, 'description': 'Year-by-year growth schedule.'}, 'future_value': {'type': 'number', 'description': 'Final balance after all compounding and contributions.'}, 'total_interest': {'type': 'number', 'description': 'Total interest earned over the full period.'}, 'total_contributions': {'type': 'number', 'description': 'Total of all contributions (principal + recurring).'}, 'effective_annual_rate_pct': {'type': 'number', 'description': 'Effective annual rate accounting for compounding frequency (APY).'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sample_mean', 'sample_size', 'standard_deviation'], 'properties': {'sample_mean': {'type': 'number', 'description': 'The observed sample mean (x-bar) around which the confidence interval is centered.'}, 'sample_size': {'type': 'integer', 'description': 'The number of observations in the sample (n). Must be a positive integer.', 'exclusiveMinimum': 0}, 'population_size': {'type': 'integer', 'description': 'Total population size for finite population correction (FPC). Omit for infinite population assumption.', 'exclusiveMinimum': 0}, 'confidence_level': {'type': 'number', 'default': 0.95, 'description': 'Confidence level as a decimal between 0 and 1 (e.g. 0.95 for 95%). Default is 0.95.', 'exclusiveMaximum': 1, 'exclusiveMinimum': 0}, 'standard_deviation': {'type': 'number', 'description': 'The standard deviation of the sample or population. Must be a positive number.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['lower_bound', 'upper_bound', 'margin_of_error', 'z_score', 'standard_error', 'confidence_level'], 'properties': {'z_score': {'type': 'number', 'description': 'Critical z-value used for the given confidence level.'}, 'lower_bound': {'type': 'number', 'description': 'Lower bound of the confidence interval.'}, 'upper_bound': {'type': 'number', 'description': 'Upper bound of the confidence interval.'}, 'standard_error': {'type': 'number', 'description': 'Standard error of the mean, optionally adjusted with finite population correction.'}, 'margin_of_error': {'type': 'number', 'description': 'Half-width of the confidence interval (z_score * standard_error).'}, 'confidence_level': {'type': 'number', 'description': 'The confidence level used (echoed back).'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total_watts'], 'properties': {'insulation': {'enum': ['poor', 'average', 'good', 'excellent'], 'type': 'string', 'default': 'average', 'description': 'Wall/ceiling insulation quality: poor (uninsulated garage), average (standard drywall), good (insulated interior), excellent (server room with vapor barrier)'}, 'total_watts': {'type': 'number', 'description': 'Total power consumption in watts â\x80\x94 all power becomes heat', 'exclusiveMinimum': 0}, 'sun_exposure': {'enum': ['none', 'partial', 'full'], 'type': 'string', 'default': 'partial', 'description': 'Solar heat gain: none (interior/basement room), partial (one exterior wall with window), full (multiple sun-facing windows)'}, 'room_width_ft': {'type': 'number', 'default': 10, 'description': 'Room width in feet', 'exclusiveMinimum': 0}, 'target_temp_f': {'type': 'number', 'default': 72, 'description': 'Desired room temperature in degrees Fahrenheit'}, 'ambient_temp_f': {'type': 'number', 'default': 75, 'description': 'Ambient temperature outside the room in degrees Fahrenheit'}, 'room_height_ft': {'type': 'number', 'default': 8, 'description': 'Room ceiling height in feet', 'exclusiveMinimum': 0}, 'room_length_ft': {'type': 'number', 'default': 10, 'description': 'Room length in feet', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['equipment_btu', 'envelope_btu', 'total_btu', 'ac_tons', 'mini_split_btu_recommended', 'exhaust_cfm_needed', 'will_overheat'], 'properties': {'ac_tons': {'type': 'number', 'description': 'Cooling capacity needed in tons of refrigeration (1 ton = 12,000 BTU/hr)'}, 'total_btu': {'type': 'number', 'description': 'Total cooling load in BTU/hr (equipment + envelope + sun)'}, 'envelope_btu': {'type': 'number', 'description': 'Heat gain/loss through walls based on room size, insulation, and delta-T'}, 'equipment_btu': {'type': 'number', 'description': 'Heat generated by equipment in BTU/hr (watts * 3.412)'}, 'will_overheat': {'type': 'boolean', 'description': 'True if total heat load is positive and no cooling is provided'}, 'exhaust_cfm_needed': {'type': 'number', 'description': 'Exhaust fan airflow needed in cubic feet per minute if using ventilation instead of AC'}, 'mini_split_btu_recommended': {'type': 'number', 'description': 'Recommended mini-split size rounded up to nearest 6,000 BTU increment'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['start_date', 'end_date'], 'properties': {'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "End date in YYYY-MM-DD format (e.g., '2024-12-31')."}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Start date in YYYY-MM-DD format (e.g., '2024-01-15')."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['days', 'weeks', 'months', 'years', 'business_days', 'is_future'], 'properties': {'days': {'type': 'number', 'description': 'Total number of days between the two dates (absolute value).'}, 'weeks': {'type': 'number', 'description': 'Number of complete weeks.'}, 'years': {'type': 'number', 'description': 'Approximate number of years (days / 365.25).'}, 'months': {'type': 'number', 'description': 'Approximate number of months (days / 30.44).'}, 'is_future': {'type': 'boolean', 'description': 'True if end_date is after start_date.'}, 'business_days': {'type': 'number', 'description': 'Number of weekdays (Monday-Friday) between the dates.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['dbm'], 'properties': {'dbm': {'type': 'number', 'description': 'Power level in dBm (decibels relative to 1 milliwatt)'}, 'impedance_ohm': {'type': 'number', 'default': 50, 'description': 'Load impedance in ohms for Vrms calculation (default 50)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mw', 'watts', 'vrms', 'dbw'], 'properties': {'mw': {'type': 'number', 'description': 'Power in milliwatts'}, 'dbw': {'type': 'number', 'description': 'Power in dBW (decibels relative to 1 watt)'}, 'vrms': {'type': 'number', 'description': 'RMS voltage across the load impedance in volts'}, 'watts': {'type': 'number', 'description': 'Power in watts'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['freq_mhz'], 'properties': {'type': {'enum': ['half_wave', 'quarter_wave'], 'type': 'string', 'default': 'half_wave', 'description': 'Antenna type: half_wave dipole or quarter_wave monopole'}, 'freq_mhz': {'type': 'number', 'description': 'Operating frequency in megahertz (MHz)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['length_m', 'length_ft', 'length_in', 'wavelength_m'], 'properties': {'length_m': {'type': 'number', 'description': 'Element length in metres'}, 'length_ft': {'type': 'number', 'description': 'Element length in feet'}, 'length_in': {'type': 'number', 'description': 'Element length in inches'}, 'wavelength_m': {'type': 'number', 'description': 'Full wavelength in metres'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['airtime_ms'], 'properties': {'region': {'enum': ['EU868', 'US915', 'AS923', 'AU915'], 'type': 'string', 'default': 'EU868', 'description': 'LoRa regulatory region. EU868: 1% duty cycle (ETSI). US915: no duty cycle but 400 ms dwell time (FCC). AS923: 1% duty cycle (varies by country). AU915: no duty cycle limit.'}, 'airtime_ms': {'type': 'number', 'description': 'Packet time-on-air in milliseconds. Obtain from the lora_airtime tool.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['max_messages_per_hour', 'min_interval_s', 'duty_cycle_pct', 'dwell_time_limited', 'effective_data_rate_bps'], 'properties': {'duty_cycle_pct': {'type': 'number', 'description': 'Applicable duty cycle limit as a percentage. 100 means no duty cycle restriction.'}, 'min_interval_s': {'type': 'number', 'description': 'Minimum interval between transmissions in seconds to comply with duty cycle regulation.'}, 'dwell_time_limited': {'type': 'boolean', 'description': 'True if the region enforces a per-transmission dwell time limit (e.g., US915 400 ms).'}, 'max_messages_per_hour': {'type': 'integer', 'description': 'Maximum messages per hour allowed under the regional duty cycle constraint.'}, 'effective_data_rate_bps': {'type': 'number', 'description': 'Effective throughput in bits per second considering duty cycle. For duty-cycle-limited regions, this reflects actual achievable throughput.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tx_power_dbm', 'antenna_gain_dbi'], 'properties': {'region': {'enum': ['FCC_US', 'ETSI_EU', 'ACMA_AU', 'IC_CA', 'JP', 'custom'], 'type': 'string', 'default': 'FCC_US', 'description': 'Regulatory region for EIRP limit lookup. FCC_US: 36 dBm, ETSI_EU: ~16 dBm, ACMA_AU: 30 dBm, IC_CA: 36 dBm, JP: 13 dBm.'}, 'tx_power_dbm': {'type': 'number', 'description': 'Conducted transmit power at the radio output in dBm. Typical LoRa: 14-22 dBm.'}, 'cable_loss_db': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Coaxial cable and connector loss in dB. Set 0 for devices with integrated antennas.'}, 'antenna_gain_dbi': {'type': 'number', 'description': 'Antenna gain in dBi. Stock Meshtastic antennas: 2-3 dBi. External: 6-10+ dBi.'}, 'custom_limit_dbm': {'type': 'number', 'description': "Custom EIRP limit in dBm. Only used when region is 'custom'."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['eirp_dbm', 'eirp_watts', 'limit_dbm', 'limit_watts', 'margin_db', 'compliant', 'region_name', 'warning'], 'properties': {'warning': {'type': 'string', 'description': 'Warning message if non-compliant, or empty string if compliant.'}, 'eirp_dbm': {'type': 'number', 'description': 'Calculated EIRP in dBm: tx_power + antenna_gain - cable_loss.'}, 'compliant': {'type': 'boolean', 'description': 'True if EIRP is at or below the regional limit.'}, 'limit_dbm': {'type': 'number', 'description': 'Regional EIRP limit in dBm.'}, 'margin_db': {'type': 'number', 'description': 'Margin below the limit in dB. Positive = compliant, negative = over limit.'}, 'eirp_watts': {'type': 'number', 'description': 'Calculated EIRP converted to watts.'}, 'limit_watts': {'type': 'number', 'description': 'Regional EIRP limit converted to watts.'}, 'region_name': {'type': 'string', 'description': 'Human-readable region name.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['base', 'exponent'], 'properties': {'base': {'type': 'number', 'description': 'The base number'}, 'exponent': {'type': 'number', 'description': 'The exponent (power) to raise the base to'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['result', 'scientific_notation'], 'properties': {'result': {'type': 'number', 'description': 'The computed value of base^exponent'}, 'scientific_notation': {'type': 'string', 'description': 'Result in scientific notation for very large/small values'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['freq_mhz', 'dist_km'], 'properties': {'dist_km': {'type': 'number', 'description': 'Total link distance in kilometres', 'exclusiveMinimum': 0}, 'freq_mhz': {'type': 'number', 'description': 'Operating frequency in megahertz (MHz)', 'exclusiveMinimum': 0}, 'zone_number': {'type': 'integer', 'default': 1, 'maximum': 5, 'minimum': 1, 'description': 'Fresnel zone number (1-5, default 1)'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['radius_m', 'radius_ft', 'clearance_60pct_m', 'wavelength_m'], 'properties': {'radius_m': {'type': 'number', 'description': 'Fresnel zone radius at midpoint in metres'}, 'radius_ft': {'type': 'number', 'description': 'Fresnel zone radius at midpoint in feet'}, 'wavelength_m': {'type': 'number', 'description': 'RF wavelength in metres'}, 'clearance_60pct_m': {'type': 'number', 'description': '60% Fresnel zone clearance (practical minimum) in metres'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['freq_mhz', 'dist_km'], 'properties': {'dist_km': {'type': 'number', 'description': 'Distance between transmitter and receiver in kilometres', 'exclusiveMinimum': 0}, 'freq_mhz': {'type': 'number', 'description': 'Carrier frequency in megahertz (MHz)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fspl_db', 'wavelength_m'], 'properties': {'fspl_db': {'type': 'number', 'description': 'Free-space path loss in decibels (dB)'}, 'wavelength_m': {'type': 'number', 'description': 'RF wavelength in metres'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['solar_system_cost_usd', 'solar_daily_kwh_produced', 'daily_kwh_needed'], 'properties': {'battery_kwh': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Battery storage capacity in kWh (0 means no battery, generator needed at night), default 0'}, 'daily_kwh_needed': {'type': 'number', 'description': 'Total daily energy requirement in kWh', 'exclusiveMinimum': 0}, 'years_to_compare': {'type': 'integer', 'default': 10, 'maximum': 30, 'minimum': 1, 'description': 'Number of years to compare, default 10'}, 'solar_system_cost_usd': {'type': 'number', 'description': 'Total solar+battery system cost in USD', 'exclusiveMinimum': 0}, 'generator_hours_per_day': {'type': 'number', 'default': 8, 'maximum': 24, 'minimum': 0, 'description': 'Generator runtime hours per day, default 8'}, 'solar_daily_kwh_produced': {'type': 'number', 'description': 'Daily solar energy production in kWh', 'exclusiveMinimum': 0}, 'generator_consumption_gph': {'type': 'number', 'default': 1, 'description': 'Generator fuel consumption in gallons per hour at load, default 1.0', 'exclusiveMinimum': 0}, 'generator_fuel_cost_per_gallon': {'type': 'number', 'default': 3.5, 'description': 'Fuel cost per gallon in USD, default $3.50', 'exclusiveMinimum': 0}, 'generator_maintenance_per_1000hrs': {'type': 'number', 'default': 200, 'minimum': 0, 'description': 'Generator maintenance cost per 1000 running hours in USD, default $200'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['generator_yearly_cost_usd', 'generator_total_cost_usd', 'solar_yearly_cost_usd', 'solar_total_cost_usd', 'savings_usd', 'savings_pct', 'breakeven_year', 'solar_coverage_pct', 'generator_hours_saved_per_year'], 'properties': {'savings_pct': {'type': 'number', 'description': 'Percentage savings of solar vs generator'}, 'savings_usd': {'type': 'number', 'description': 'Total savings of solar over generator in USD (negative means generator is cheaper)'}, 'breakeven_year': {'type': 'number', 'description': 'Year when solar cumulative cost becomes cheaper than generator (0 if never)'}, 'solar_coverage_pct': {'type': 'number', 'description': 'Percentage of daily energy needs covered by solar+battery'}, 'solar_total_cost_usd': {'type': 'number', 'description': 'Total solar cost over comparison period in USD'}, 'solar_yearly_cost_usd': {'type': 'number', 'description': 'Annualized solar system cost (amortized + maintenance) in USD'}, 'generator_total_cost_usd': {'type': 'number', 'description': 'Total generator cost over comparison period in USD'}, 'generator_yearly_cost_usd': {'type': 'number', 'description': 'Annual generator cost (fuel + maintenance) in USD'}, 'generator_hours_saved_per_year': {'type': 'number', 'description': 'Generator hours eliminated per year by solar'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['base_length_m', 'base_width_m', 'base_height_m', 'fin_count', 'fin_height_m', 'fin_thickness_m', 'airflow_velocity_ms', 'heat_load_w'], 'properties': {'fin_count': {'type': 'integer', 'maximum': 100, 'minimum': 2, 'description': 'Number of fins'}, 'heat_load_w': {'type': 'number', 'description': 'Total heat load applied to base in watts', 'exclusiveMinimum': 0}, 'base_width_m': {'type': 'number', 'maximum': 0.5, 'description': 'Heatsink base width in metres', 'exclusiveMinimum': 0}, 'fin_height_m': {'type': 'number', 'maximum': 0.2, 'description': 'Fin height in metres', 'exclusiveMinimum': 0}, 'mesh_density': {'enum': ['coarse', 'medium', 'fine'], 'type': 'string', 'default': 'medium', 'description': 'Mesh density'}, 'base_height_m': {'type': 'number', 'maximum': 0.05, 'description': 'Base plate thickness in metres', 'exclusiveMinimum': 0}, 'base_length_m': {'type': 'number', 'maximum': 0.5, 'description': 'Heatsink base length in metres', 'exclusiveMinimum': 0}, 'ambient_temp_c': {'type': 'number', 'default': 25, 'description': 'Ambient air temperature in Celsius'}, 'fin_thickness_m': {'type': 'number', 'maximum': 0.01, 'description': 'Fin thickness in metres', 'exclusiveMinimum': 0}, 'airflow_velocity_ms': {'type': 'number', 'maximum': 20, 'description': 'Incoming airflow velocity in m/s', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['thermal_resistance_cw', 'pressure_drop_pa', 'max_base_temp_c', 'avg_base_temp_c', 'fin_tip_temp_c', 'optimal_fin_spacing_m', 'fin_efficiency', 'mesh_cells', 'runtime_ms', 'warnings'], 'properties': {'warnings': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Solver warnings'}, 'mesh_cells': {'type': 'number', 'description': 'Mesh cell count'}, 'runtime_ms': {'type': 'number', 'description': 'Simulation time in ms'}, 'fin_efficiency': {'type': 'number', 'description': 'Fin efficiency (0-1)'}, 'fin_tip_temp_c': {'type': 'number', 'description': 'Average fin tip temperature (°C)'}, 'avg_base_temp_c': {'type': 'number', 'description': 'Average base temperature (°C)'}, 'max_base_temp_c': {'type': 'number', 'description': 'Maximum base temperature (°C)'}, 'pressure_drop_pa': {'type': 'number', 'description': 'Pressure drop across the heatsink (Pa)'}, 'optimal_fin_spacing_m': {'type': 'number', 'description': 'Suggested optimal fin spacing for this airflow (m)'}, 'thermal_resistance_cw': {'type': 'number', 'description': 'Thermal resistance from base to air (°C/W)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'value': {'type': 'string', 'description': 'The number to convert. Prefix with 0x for hex (0xFF), 0b for binary (0b1010), 0o for octal (0o17). Plain numbers are treated as decimal. Supports negative values with leading minus.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['decimal', 'hex', 'hex_upper', 'binary', 'octal', 'bits', 'bytes', 'ascii', 'signed_8', 'signed_16', 'signed_32'], 'properties': {'hex': {'type': 'string', 'description': "Hexadecimal string with 0x prefix (e.g. '0xFF')."}, 'bits': {'type': 'number', 'description': 'Minimum number of bits needed to represent this value (unsigned).'}, 'ascii': {'type': ['string', 'null'], 'description': 'ASCII character if the value is a printable character (32-126), null otherwise.'}, 'bytes': {'type': 'number', 'description': 'Minimum number of bytes needed (ceil(bits/8)).'}, 'octal': {'type': 'string', 'description': "Octal string with 0o prefix (e.g. '0o377')."}, 'binary': {'type': 'string', 'description': "Binary string with 0b prefix (e.g. '0b11111111')."}, 'decimal': {'type': 'number', 'description': 'Decimal (base-10) value.'}, 'signed_8': {'type': ['number', 'null'], 'description': 'Signed 8-bit interpretation (-128 to 127), null if out of range.'}, 'hex_upper': {'type': 'string', 'description': "Hexadecimal with uppercase letters (e.g. '0xFF')."}, 'signed_16': {'type': ['number', 'null'], 'description': 'Signed 16-bit interpretation (-32768 to 32767), null if out of range.'}, 'signed_32': {'type': ['number', 'null'], 'description': 'Signed 32-bit interpretation, null if out of range.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['source_ohm', 'load_ohm', 'freq_mhz'], 'properties': {'freq_mhz': {'type': 'number', 'description': 'Design frequency in megahertz for component value calculation.', 'exclusiveMinimum': 0}, 'load_ohm': {'type': 'number', 'description': 'Load impedance in ohms (real, resistive). Must differ from source impedance.', 'exclusiveMinimum': 0}, 'source_ohm': {'type': 'number', 'description': 'Source impedance in ohms (real, resistive). Must differ from load impedance.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['q_factor', 'topology', 'shunt_component', 'series_component'], 'properties': {'q_factor': {'type': 'number', 'description': 'Network Q factor = sqrt(Rh/Rl - 1), where Rh is the higher impedance.'}, 'topology': {'type': 'string', 'description': 'Description of the L-network arrangement (which side gets shunt vs series element).'}, 'shunt_component': {'type': 'object', 'required': ['type', 'reactance_ohm'], 'properties': {'type': {'enum': ['inductor', 'capacitor'], 'type': 'string', 'description': 'Component type: inductor or capacitor.'}, 'value_f': {'type': 'number', 'description': 'Capacitance value in farads, present when type is capacitor.'}, 'value_h': {'type': 'number', 'description': 'Inductance value in henries, present when type is inductor.'}, 'reactance_ohm': {'type': 'number', 'description': 'Reactance magnitude in ohms at the design frequency.'}}, 'description': 'The shunt (parallel) component of the L-network.', 'additionalProperties': False}, 'series_component': {'type': 'object', 'required': ['type', 'reactance_ohm'], 'properties': {'type': {'$ref': '#/properties/shunt_component/properties/type'}, 'value_f': {'$ref': '#/properties/shunt_component/properties/value_f'}, 'value_h': {'$ref': '#/properties/shunt_component/properties/value_h'}, 'reactance_ohm': {'$ref': '#/properties/shunt_component/properties/reactance_ohm'}}, 'description': 'The series component of the L-network.', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['continuous_watts'], 'properties': {'efficiency': {'type': 'number', 'default': 0.9, 'maximum': 1, 'minimum': 0.5, 'description': 'Inverter efficiency (0.5-1.0). Good pure-sine inverters are 0.90-0.95. Modified-sine are 0.85-0.90. Budget units may be lower.'}, 'surge_watts': {'type': 'number', 'description': 'Peak surge/starting load in watts. Motors and compressors draw 3-7x rated watts on startup. If omitted, estimated as 3x the largest single load or 2x continuous, whichever is greater.', 'exclusiveMinimum': 0}, 'derating_pct': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 0, 'description': 'Derating percentage for temperature, altitude, and safety margin. NEC recommends 20% (80% continuous rating). Range 0-50%.'}, 'power_factor': {'type': 'number', 'default': 0.8, 'maximum': 1, 'minimum': 0.5, 'description': 'Power factor (0.5-1.0). Resistive loads (heaters, lights) are ~1.0. Motor loads (fridge, AC, pump) are 0.6-0.8. Mixed loads typically 0.8.'}, 'system_voltage': {'enum': ['12', '24', '48'], 'type': 'string', 'default': '48', 'description': 'DC system voltage. 12V for small/mobile, 24V for medium, 48V for large residential/commercial. Higher voltage = lower current = thinner cables.'}, 'continuous_watts': {'type': 'number', 'description': 'Total continuous load in watts. Sum of all appliances that may run simultaneously. Chain from solar_load_audit.peak_watts.', 'exclusiveMinimum': 0}, 'largest_load_watts': {'type': 'number', 'description': 'Wattage of the single largest appliance. Used to estimate surge if surge_watts is not provided. Chain from solar_load_audit.largest_load_watts.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['required_continuous_va', 'required_surge_va', 'derated_continuous_va', 'recommended_size_watts', 'dc_current_continuous_a', 'dc_current_surge_a', 'battery_cable_note', 'surge_margin_pct', 'efficiency_loss_watts'], 'properties': {'surge_margin_pct': {'type': 'number', 'description': 'How much surge headroom the recommended inverter provides above the estimated surge requirement.'}, 'required_surge_va': {'type': 'number', 'description': 'Required surge/peak VA capacity for motor starting loads.'}, 'battery_cable_note': {'type': 'string', 'description': 'Guidance on DC cable sizing based on the continuous current draw.'}, 'dc_current_surge_a': {'type': 'number', 'description': 'Peak DC input current during surge. Sizes the DC fuse and battery cable.'}, 'derated_continuous_va': {'type': 'number', 'description': 'Continuous VA after applying derating factor. The inverter must be rated at or above this value.'}, 'efficiency_loss_watts': {'type': 'number', 'description': 'Power lost to inverter inefficiency at continuous load, in watts.'}, 'recommended_size_watts': {'type': 'number', 'description': 'Nearest standard inverter size (watts) that meets the derated requirement.'}, 'required_continuous_va': {'type': 'number', 'description': 'Required continuous VA rating accounting for power factor: continuous_watts / power_factor.'}, 'dc_current_continuous_a': {'type': 'number', 'description': 'Continuous DC input current draw at system voltage: VA / (voltage * efficiency). Sizes the DC wiring and fuses.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['inductance_h', 'capacitance_f'], 'properties': {'inductance_h': {'type': 'number', 'description': 'Inductance in henries (H). The inductive element of the LC circuit.', 'exclusiveMinimum': 0}, 'capacitance_f': {'type': 'number', 'description': 'Capacitance in farads (F). The capacitive element of the LC circuit.', 'exclusiveMinimum': 0}, 'resistance_ohm': {'type': 'number', 'description': 'Optional series resistance in ohms for Q factor and bandwidth calculation. Omit for ideal LC analysis.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['resonant_freq_hz', 'resonant_freq_mhz', 'angular_freq_rad', 'impedance_at_resonance_ohm', 'q_factor', 'bandwidth_hz'], 'properties': {'q_factor': {'type': ['number', 'null'], 'description': 'Quality factor Q = (1/R)*sqrt(L/C). Null if no resistance provided.'}, 'bandwidth_hz': {'type': ['number', 'null'], 'description': '3 dB bandwidth in hertz (f0/Q). Null if no resistance provided.'}, 'angular_freq_rad': {'type': 'number', 'description': 'Angular resonant frequency in radians per second (omega_0 = 2*pi*f0).'}, 'resonant_freq_hz': {'type': 'number', 'description': 'Resonant frequency in hertz.'}, 'resonant_freq_mhz': {'type': 'number', 'description': 'Resonant frequency in megahertz for convenience.'}, 'impedance_at_resonance_ohm': {'type': ['number', 'null'], 'description': 'Impedance at resonance in ohms. Equals the series resistance R if provided; null if ideal (no R).'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['supply_voltage_v'], 'properties': {'led_count': {'type': 'integer', 'default': 1, 'description': 'Number of LEDs in series. Defaults to 1.', 'exclusiveMinimum': 0}, 'led_forward_v': {'type': 'number', 'default': 2, 'description': 'LED forward voltage in volts (V). Defaults to 2.0V (typical red LED).', 'exclusiveMinimum': 0}, 'led_current_ma': {'type': 'number', 'default': 20, 'description': 'Desired LED current in milliamps (mA). Defaults to 20mA.', 'exclusiveMinimum': 0}, 'supply_voltage_v': {'type': 'number', 'description': 'Supply voltage in volts (V). Must be positive.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['resistance_ohm', 'nearest_e24_ohm', 'power_dissipation_mw', 'actual_current_ma', 'voltage_across_resistor_v'], 'properties': {'resistance_ohm': {'type': 'number', 'description': 'Exact calculated resistance in ohms.'}, 'nearest_e24_ohm': {'type': 'number', 'description': 'Nearest standard E24 series resistor value in ohms.'}, 'actual_current_ma': {'type': 'number', 'description': 'Actual LED current in milliamps (mA) when using the nearest E24 resistor.'}, 'power_dissipation_mw': {'type': 'number', 'description': 'Power dissipated by the resistor in milliwatts (mW), using the E24 value.'}, 'voltage_across_resistor_v': {'type': 'number', 'description': 'Voltage drop across the current-limiting resistor in volts.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tx_dbm', 'freq_mhz', 'dist_km'], 'properties': {'tx_dbm': {'type': 'number', 'description': 'Transmitter output power in dBm'}, 'dist_km': {'type': 'number', 'description': 'Link distance in kilometres', 'exclusiveMinimum': 0}, 'freq_mhz': {'type': 'number', 'description': 'Carrier frequency in megahertz (MHz)', 'exclusiveMinimum': 0}, 'rx_gain_dbi': {'type': 'number', 'default': 2.15, 'description': 'Receive antenna gain in dBi (default 2.15 for a half-wave dipole)'}, 'tx_gain_dbi': {'type': 'number', 'default': 2.15, 'description': 'Transmit antenna gain in dBi (default 2.15 for a half-wave dipole)'}, 'rx_sensitivity_dbm': {'type': 'number', 'description': 'Receiver sensitivity in dBm; when provided, link margin is calculated'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fspl_db', 'eirp_dbm', 'rx_power_dbm', 'margin_db', 'wavelength_m'], 'properties': {'fspl_db': {'type': 'number', 'description': 'Free-space path loss in dB'}, 'eirp_dbm': {'type': 'number', 'description': 'Effective isotropic radiated power in dBm'}, 'margin_db': {'type': ['number', 'null'], 'description': 'Link margin in dB (null when sensitivity is not provided)'}, 'rx_power_dbm': {'type': 'number', 'description': 'Received signal power in dBm'}, 'wavelength_m': {'type': 'number', 'description': 'RF wavelength in metres'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['principal', 'annual_rate_pct', 'term_months'], 'properties': {'principal': {'type': 'number', 'description': 'Loan principal amount in dollars (or any currency unit).', 'exclusiveMinimum': 0}, 'term_months': {'type': 'integer', 'maximum': 600, 'description': 'Loan term in months. Max 600 (50 years). Common values: 360 (30yr), 180 (15yr), 60 (5yr auto).', 'exclusiveMinimum': 0}, 'extra_payment': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Optional fixed extra monthly payment toward principal. Defaults to 0.'}, 'annual_rate_pct': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Annual interest rate as a percentage (e.g., 6.5 for 6.5%).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['monthly_payment', 'total_payments', 'total_interest', 'total_extra_paid', 'payoff_months', 'interest_saved', 'schedule'], 'properties': {'schedule': {'type': 'array', 'items': {'type': 'object', 'required': ['month', 'payment', 'principal_paid', 'interest_paid', 'extra_paid', 'remaining_balance'], 'properties': {'month': {'type': 'number', 'description': 'Payment number (1-based).'}, 'payment': {'type': 'number', 'description': 'Total payment this month.'}, 'extra_paid': {'type': 'number', 'description': 'Extra payment applied this month.'}, 'interest_paid': {'type': 'number', 'description': 'Portion of payment applied to interest.'}, 'principal_paid': {'type': 'number', 'description': 'Portion of payment applied to principal.'}, 'remaining_balance': {'type': 'number', 'description': 'Outstanding balance after this payment.'}}, 'additionalProperties': False}, 'description': 'Month-by-month amortization schedule.'}, 'payoff_months': {'type': 'number', 'description': 'Actual number of months to pay off (may be less than term with extra payments).'}, 'interest_saved': {'type': 'number', 'description': 'Interest saved by extra payments vs. full term. 0 if no extra payments.'}, 'total_interest': {'type': 'number', 'description': 'Total interest paid over the life of the loan.'}, 'total_payments': {'type': 'number', 'description': 'Sum of all payments over the life of the loan.'}, 'monthly_payment': {'type': 'number', 'description': 'Fixed monthly payment (excluding extra payments).'}, 'total_extra_paid': {'type': 'number', 'description': 'Total extra payments made.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'base': {'type': 'number', 'default': 10, 'description': 'The logarithm base (default 10). Must be positive and not equal to 1', 'exclusiveMinimum': 0}, 'value': {'type': 'number', 'description': 'The positive number to compute the logarithm of', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['result', 'natural_log', 'log10', 'log2'], 'properties': {'log2': {'type': 'number', 'description': 'Binary logarithm (base 2) of the value'}, 'log10': {'type': 'number', 'description': 'Common logarithm (base 10) of the value'}, 'result': {'type': 'number', 'description': 'Logarithm of the value in the specified base: log_base(value)'}, 'natural_log': {'type': 'number', 'description': 'Natural logarithm (ln) of the value'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['payload_bytes'], 'properties': {'cr': {'type': 'integer', 'default': 5, 'maximum': 8, 'minimum': 5, 'description': 'LoRa coding rate denominator (5-8). Represents 4/5 through 4/8 FEC ratio.'}, 'sf': {'type': 'integer', 'default': 10, 'maximum': 12, 'minimum': 7, 'description': 'LoRa spreading factor (7-12). Higher SF = longer range but slower data rate.'}, 'crc': {'type': 'boolean', 'default': True, 'description': 'Whether CRC is appended to payload. Recommended true for reliability.'}, 'bw_khz': {'enum': [125, 250, 500], 'type': 'number', 'default': 125, 'description': 'LoRa channel bandwidth in kHz. Common values: 125, 250, or 500.'}, 'payload_bytes': {'type': 'integer', 'maximum': 255, 'minimum': 0, 'description': 'Application payload size in bytes (0-255).'}, 'explicit_header': {'type': 'boolean', 'default': True, 'description': 'Whether to use explicit header mode. True for LoRaWAN; false for implicit header.'}, 'preamble_symbols': {'type': 'integer', 'default': 8, 'maximum': 65535, 'minimum': 6, 'description': 'Number of preamble symbols. LoRaWAN uses 8; raw LoRa may vary.'}, 'low_data_rate_optimize': {'type': 'boolean', 'description': 'Enable low data rate optimization. Auto-calculated if omitted: enabled for SF >= 11 at BW 125 kHz.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['airtime_ms', 'symbol_time_ms', 'preamble_time_ms', 'payload_symbols', 'data_rate_bps', 'duty_cycle_1pct_interval_s'], 'properties': {'airtime_ms': {'type': 'number', 'description': 'Total packet time-on-air in milliseconds.'}, 'data_rate_bps': {'type': 'number', 'description': 'Effective data rate in bits per second.'}, 'symbol_time_ms': {'type': 'number', 'description': 'Duration of a single LoRa symbol in milliseconds.'}, 'payload_symbols': {'type': 'integer', 'description': 'Number of symbols used for the payload + header portion.'}, 'preamble_time_ms': {'type': 'number', 'description': 'Preamble duration in milliseconds (includes 4.25 sync symbols).'}, 'duty_cycle_1pct_interval_s': {'type': 'number', 'description': 'Minimum interval between transmissions in seconds to respect 1% duty cycle regulation.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['target_range_km'], 'properties': {'region': {'enum': ['US915', 'EU868', 'AU915', 'AS923'], 'type': 'string', 'default': 'US915', 'description': 'Regulatory region. Determines max TX power and duty cycle limit.'}, 'terrain': {'enum': ['open', 'suburban', 'urban', 'dense_urban', 'indoor'], 'type': 'string', 'default': 'suburban', 'description': 'Terrain type for path loss model. open: line-of-sight, suburban: light buildings, urban: moderate buildings, dense_urban: city center, indoor: inside buildings.'}, 'priority': {'enum': ['range', 'speed', 'battery', 'balanced'], 'type': 'string', 'default': 'balanced', 'description': 'Optimization priority. range: maximize distance (high SF, low BW). speed: minimize airtime (low SF, high BW). battery: minimize power draw. balanced: best trade-off across all factors.'}, 'target_range_km': {'type': 'number', 'description': 'Desired communication range in kilometers.', 'exclusiveMinimum': 0}, 'antenna_gain_dbi': {'type': 'number', 'default': 2.15, 'description': 'Antenna gain in dBi. 2.15 = half-wave dipole reference.'}, 'max_payload_bytes': {'type': 'integer', 'default': 200, 'maximum': 255, 'minimum': 1, 'description': 'Maximum payload size in bytes for airtime calculation.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['recommended_sf', 'recommended_bw_khz', 'recommended_tx_dbm', 'estimated_range_km', 'airtime_ms', 'messages_per_hour_limit', 'estimated_battery_hours', 'data_rate_bps'], 'properties': {'airtime_ms': {'type': 'number', 'description': 'Packet airtime in milliseconds for the given payload.'}, 'data_rate_bps': {'type': 'number', 'description': 'Effective data rate in bits per second.'}, 'recommended_sf': {'type': 'integer', 'description': 'Recommended spreading factor (7-12).'}, 'estimated_range_km': {'type': 'number', 'description': 'Estimated achievable range in km with the recommended parameters.'}, 'recommended_bw_khz': {'type': 'number', 'description': 'Recommended bandwidth in kHz (125, 250, or 500).'}, 'recommended_tx_dbm': {'type': 'number', 'description': 'Recommended transmit power in dBm.'}, 'estimated_battery_hours': {'type': 'number', 'description': 'Estimated battery life in hours with a 3000 mAh reference battery.'}, 'messages_per_hour_limit': {'type': 'integer', 'description': 'Maximum messages per hour under regional duty cycle constraint.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'tx_dbm': {'type': 'number', 'default': 20, 'description': 'Transmit power in dBm. Typical LoRa: 14-30 dBm depending on region and module.'}, 'terrain': {'enum': ['open', 'suburban', 'urban', 'dense_urban', 'indoor'], 'type': 'string', 'default': 'suburban', 'description': 'Terrain type for path loss correction. open: line-of-sight, suburban: light buildings, urban: moderate buildings, dense_urban: city center, indoor: inside buildings.'}, 'freq_mhz': {'type': 'number', 'default': 915, 'description': 'Carrier frequency in MHz. Common: 868 (EU), 915 (US/AU), 433 (Asia).'}, 'rx_gain_dbi': {'type': 'number', 'default': 2.15, 'description': 'Receive antenna gain in dBi. 2.15 dBi = half-wave dipole.'}, 'tx_gain_dbi': {'type': 'number', 'default': 2.15, 'description': 'Transmit antenna gain in dBi. 2.15 dBi = half-wave dipole.'}, 'rx_sensitivity_dbm': {'type': 'number', 'default': -130, 'description': 'Receiver sensitivity in dBm. Typical LoRa SF10/BW125: -130 dBm. Varies by SF and bandwidth.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['max_range_km', 'margin_at_1km_db', 'effective_path_loss_db'], 'properties': {'max_range_km': {'type': 'number', 'description': 'Estimated maximum range in kilometers accounting for terrain correction.'}, 'margin_at_1km_db': {'type': 'number', 'description': 'Link margin at 1 km distance in dB. Positive means signal above sensitivity.'}, 'effective_path_loss_db': {'type': 'number', 'description': 'Maximum allowable path loss in dB (link budget minus terrain correction).'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sf': {'type': 'integer', 'default': 10, 'maximum': 12, 'minimum': 7, 'description': 'LoRa spreading factor (7-12). Higher SF = better sensitivity but slower data rate.'}, 'bw_khz': {'enum': [125, 250, 500], 'type': 'number', 'default': 125, 'description': 'LoRa channel bandwidth in kHz. Lower bandwidth = better sensitivity.'}, 'noise_figure_db': {'type': 'number', 'default': 6, 'description': 'Receiver noise figure in dB. Typical LoRa radio NF is 6 dB (SX1276).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sensitivity_dbm', 'noise_floor_dbm', 'required_snr_db', 'thermal_noise_dbm'], 'properties': {'noise_floor_dbm': {'type': 'number', 'description': 'Receiver noise floor in dBm, computed from thermal noise, bandwidth, and noise figure.'}, 'required_snr_db': {'type': 'number', 'description': 'Minimum SNR required for LoRa demodulation at the given spreading factor.'}, 'sensitivity_dbm': {'type': 'number', 'description': 'Receiver sensitivity in dBm. The minimum signal power for successful demodulation.'}, 'thermal_noise_dbm': {'type': 'number', 'description': 'Thermal noise power density at room temperature: -174 dBm/Hz.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['capacity_mah', 'voltage_v'], 'properties': {'voltage_v': {'type': 'number', 'description': 'Nominal battery voltage (V)', 'exclusiveMinimum': 0}, 'capacity_mah': {'type': 'number', 'description': 'Battery capacity in milliamp-hours (mAh)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['wh', 'kwh', 'joules', 'mah', 'voltage_v'], 'properties': {'wh': {'type': 'number', 'description': 'Energy in watt-hours'}, 'kwh': {'type': 'number', 'description': 'Energy in kilowatt-hours'}, 'mah': {'type': 'number', 'description': 'Input capacity echoed back (mAh)'}, 'joules': {'type': 'number', 'description': 'Energy in joules'}, 'voltage_v': {'type': 'number', 'description': 'Input voltage echoed back (V)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'role': {'enum': ['client', 'router', 'repeater', 'client_muted'], 'type': 'string', 'default': 'client', 'description': 'Meshtastic node role. client: sleeps between events. router: always listening. repeater: always listening, no display/BLE. client_muted: aggressive sleep.'}, 'device': {'enum': ['heltec_v3', 'rak_wisblock', 'tbeam', 'tbeam_supreme', 'station_g2', 'custom'], 'type': 'string', 'default': 'heltec_v3', 'description': 'Meshtastic hardware device. Selects power consumption profile for sleep, RX, TX, GPS, and BLE.'}, 'battery_mah': {'type': 'number', 'default': 3000, 'description': 'Battery capacity in milliamp-hours. Common: 1100 (18650 min), 3000 (typical), 6000 (large).', 'exclusiveMinimum': 0}, 'gps_enabled': {'type': 'boolean', 'default': False, 'description': 'Whether GPS is enabled. Significantly increases power draw on devices with built-in GPS.'}, 'channel_preset': {'enum': ['long_fast', 'long_moderate', 'long_slow', 'very_long_slow', 'medium_fast', 'medium_slow', 'short_fast', 'short_slow'], 'type': 'string', 'default': 'long_fast', 'description': 'Meshtastic channel preset. Affects TX airtime per message and thus power consumption.'}, 'battery_voltage': {'type': 'number', 'default': 3.7, 'description': 'Nominal battery voltage. 3.7V for single-cell LiPo/Li-ion, 7.4V for 2S packs.', 'exclusiveMinimum': 0}, 'bluetooth_enabled': {'type': 'boolean', 'default': True, 'description': 'Whether Bluetooth is enabled for phone connection.'}, 'messages_per_hour': {'type': 'number', 'default': 2, 'minimum': 0, 'description': 'Expected messages sent and received per hour. Includes both TX and RX message events.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['avg_current_ma', 'runtime_hours', 'runtime_days', 'daily_wh', 'tx_time_pct', 'rx_time_pct', 'sleep_time_pct'], 'properties': {'daily_wh': {'type': 'number', 'description': 'Estimated daily energy consumption in watt-hours.'}, 'rx_time_pct': {'type': 'number', 'description': 'Percentage of time spent in receive mode (radio listening).'}, 'tx_time_pct': {'type': 'number', 'description': 'Percentage of time spent transmitting.'}, 'runtime_days': {'type': 'number', 'description': 'Estimated battery runtime in days.'}, 'runtime_hours': {'type': 'number', 'description': 'Estimated battery runtime in hours.'}, 'avg_current_ma': {'type': 'number', 'description': 'Estimated average current draw in milliamps.'}, 'sleep_time_pct': {'type': 'number', 'description': 'Percentage of time spent in sleep/low-power mode.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'cr': {'type': 'integer', 'maximum': 8, 'minimum': 5, 'description': "Custom coding rate denominator (5-8). Only used when channel_preset is 'custom'."}, 'sf': {'type': 'integer', 'maximum': 12, 'minimum': 7, 'description': "Custom spreading factor (7-12). Only used when channel_preset is 'custom'."}, 'bw_khz': {'type': 'number', 'description': "Custom bandwidth in kHz. Only used when channel_preset is 'custom'."}, 'device': {'enum': ['heltec_v3', 'rak_wisblock', 'tbeam', 'tbeam_supreme', 'station_g2', 'custom'], 'type': 'string', 'default': 'heltec_v3', 'description': "Meshtastic hardware device. Selects default TX power, antenna gain, and noise figure. Use 'custom' to override all radio parameters manually."}, 'terrain': {'enum': ['open', 'suburban', 'urban', 'dense_urban', 'indoor'], 'type': 'string', 'default': 'suburban', 'description': 'Terrain type for path loss correction. open: line-of-sight, suburban: light buildings, urban: moderate buildings, dense_urban: city center, indoor: inside buildings.'}, 'tx_power_dbm': {'type': 'number', 'description': 'Override device default transmit power in dBm.'}, 'channel_preset': {'enum': ['long_fast', 'long_moderate', 'long_slow', 'very_long_slow', 'medium_fast', 'medium_slow', 'short_fast', 'short_slow', 'custom'], 'type': 'string', 'default': 'long_fast', 'description': 'Meshtastic firmware channel preset. Selects spreading factor, bandwidth, and coding rate. long_fast is the default; very_long_slow maximizes range at the cost of throughput.'}, 'antenna_gain_dbi': {'type': 'number', 'description': 'Override device default antenna gain in dBi. Useful for aftermarket antennas.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['max_range_km', 'rx_sensitivity_dbm', 'link_budget_db', 'device_name', 'channel_name', 'effective_sf', 'effective_bw_khz', 'tx_power_dbm', 'antenna_gain_dbi'], 'properties': {'device_name': {'type': 'string', 'description': 'Human-readable device name.'}, 'channel_name': {'type': 'string', 'description': 'Human-readable channel preset name.'}, 'effective_sf': {'type': 'number', 'description': 'Spreading factor used for the calculation.'}, 'max_range_km': {'type': 'number', 'description': 'Estimated maximum range in km accounting for terrain correction.'}, 'tx_power_dbm': {'type': 'number', 'description': 'Transmit power in dBm used for the calculation.'}, 'link_budget_db': {'type': 'number', 'description': 'Total link budget in dB before terrain correction.'}, 'antenna_gain_dbi': {'type': 'number', 'description': 'Antenna gain in dBi used for the calculation.'}, 'effective_bw_khz': {'type': 'number', 'description': 'Bandwidth in kHz used for the calculation.'}, 'rx_sensitivity_dbm': {'type': 'number', 'description': 'Receiver sensitivity in dBm for the selected channel preset.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['height_mm'], 'properties': {'er': {'type': 'number', 'default': 4.6, 'description': 'Substrate relative dielectric constant (default 4.6 for FR-4)', 'exclusiveMinimum': 0}, 'z0_ohm': {'type': 'number', 'default': 50, 'description': 'Target characteristic impedance in ohms (default 50)', 'exclusiveMinimum': 0}, 'freq_mhz': {'type': 'number', 'description': 'Optional frequency in MHz for effective wavelength calculation', 'exclusiveMinimum': 0}, 'copper_oz': {'type': 'number', 'default': 1, 'description': 'Copper weight in oz/ft2 (1 oz = 0.035 mm thickness)', 'exclusiveMinimum': 0}, 'height_mm': {'type': 'number', 'description': 'Substrate height (dielectric thickness) in millimetres', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['width_mm', 'er_eff', 'wavelength_eff_mm'], 'properties': {'er_eff': {'type': 'number', 'description': 'Effective dielectric constant of the microstrip'}, 'width_mm': {'type': 'number', 'description': 'Required trace width in millimetres'}, 'wavelength_eff_mm': {'type': ['number', 'null'], 'description': 'Effective wavelength in millimetres at the given frequency (null if freq not provided)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['link_speed_gbps'], 'properties': {'link_speed_gbps': {'type': 'number', 'description': 'Network link speed in gigabits per second (e.g. 1, 2.5, 5, 10, 25, 40, 100)', 'exclusiveMinimum': 0}, 'concurrent_streams': {'type': 'integer', 'default': 1, 'description': 'Number of concurrent data streams / transfers', 'exclusiveMinimum': 0}, 'protocol_overhead_pct': {'type': 'number', 'default': 3, 'maximum': 50, 'minimum': 0, 'description': 'TCP/IP protocol overhead as a percentage (typically 3-5% for TCP, ~1% for UDP)'}, 'stream_bandwidth_mbps': {'type': 'number', 'default': 100, 'description': 'Bandwidth required per stream in megabits per second', 'exclusiveMinimum': 0}, 'storage_throughput_mbps': {'type': 'number', 'description': 'Maximum storage read/write throughput in megabits per second. If provided, checks whether storage is the bottleneck', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['effective_bandwidth_mbps', 'required_bandwidth_mbps', 'utilization_pct', 'headroom_mbps', 'saturated', 'bottleneck', 'time_to_transfer_1tb_hours', 'recommended_link_speed_gbps'], 'properties': {'saturated': {'type': 'boolean', 'description': 'True if utilization exceeds 80% â\x80\x94 link is effectively saturated'}, 'bottleneck': {'type': 'string', 'description': "Identified bottleneck: 'storage', 'network', or 'none'"}, 'headroom_mbps': {'type': 'number', 'description': 'Remaining bandwidth after all streams (negative means oversubscribed)'}, 'utilization_pct': {'type': 'number', 'description': 'Percentage of effective bandwidth used by all streams'}, 'required_bandwidth_mbps': {'type': 'number', 'description': 'Total bandwidth required by all streams in Mbps'}, 'effective_bandwidth_mbps': {'type': 'number', 'description': 'Usable bandwidth after protocol overhead in Mbps'}, 'time_to_transfer_1tb_hours': {'type': 'number', 'description': 'Time to transfer 1 TB over the effective bandwidth, in hours'}, 'recommended_link_speed_gbps': {'type': ['number', 'null'], 'description': 'Suggested next link speed upgrade if saturated, null if current link is sufficient'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['stages'], 'properties': {'stages': {'type': 'array', 'items': {'type': 'object', 'required': ['nf_db', 'gain_db'], 'properties': {'nf_db': {'type': 'number', 'description': 'Noise figure of the stage in dB'}, 'gain_db': {'type': 'number', 'description': 'Gain of the stage in dB'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Ordered array of receiver chain stages, each with nf_db and gain_db'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total_nf_db', 'total_gain_db', 'noise_temp_k'], 'properties': {'total_nf_db': {'type': 'number', 'description': 'Total cascaded noise figure in dB'}, 'noise_temp_k': {'type': 'number', 'description': 'Equivalent noise temperature in kelvin (T0 = 290 K)'}, 'total_gain_db': {'type': 'number', 'description': 'Total gain of the chain in dB'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'power_w': {'type': 'number', 'description': 'Power in watts (W). Provide exactly 2 of the 4 parameters.', 'exclusiveMinimum': 0}, 'current_a': {'type': 'number', 'description': 'Current in amps (A). Provide exactly 2 of the 4 parameters.', 'exclusiveMinimum': 0}, 'voltage_v': {'type': 'number', 'description': 'Voltage in volts (V). Provide exactly 2 of the 4 parameters.', 'exclusiveMinimum': 0}, 'resistance_ohm': {'type': 'number', 'description': 'Resistance in ohms. Provide exactly 2 of the 4 parameters.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['voltage_v', 'current_a', 'resistance_ohm', 'power_w'], 'properties': {'power_w': {'type': 'number', 'description': 'Power in watts (W).'}, 'current_a': {'type': 'number', 'description': 'Current in amps (A).'}, 'voltage_v': {'type': 'number', 'description': 'Voltage in volts (V).'}, 'resistance_ohm': {'type': 'number', 'description': 'Resistance in ohms.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['topology', 'rf_ohm', 'ri_ohm'], 'properties': {'vin_v': {'type': 'number', 'description': 'Input voltage in volts (optional). When provided, computes actual output voltage. For differential topology, this is V1 (non-inverting input).'}, 'rf_ohm': {'type': 'number', 'description': 'Feedback resistor Rf in ohms. Sets gain magnitude in all topologies.', 'exclusiveMinimum': 0}, 'ri_ohm': {'type': 'number', 'description': 'Input/gain resistor in ohms. For inverting: input resistor Ri. For non-inverting: ground resistor Rg. For differential: input resistor on both channels.', 'exclusiveMinimum': 0}, 'vin2_v': {'type': 'number', 'description': 'Second input voltage in volts (differential topology only). This is V2 (inverting input).'}, 'topology': {'enum': ['inverting', 'non_inverting', 'differential'], 'type': 'string', 'description': "Op-amp circuit topology. 'inverting' uses Rf/Ri feedback with input to inverting terminal. 'non_inverting' applies input to non-inverting terminal with Rf/Rg feedback. 'differential' amplifies the voltage difference between two inputs."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['topology', 'gain', 'gain_abs', 'gain_db', 'vout_v', 'input_impedance_ohm', 'rf_ohm', 'ri_ohm', 'phase_inversion'], 'properties': {'gain': {'type': 'number', 'description': 'Voltage gain (Av). Negative for inverting topology.'}, 'rf_ohm': {'type': 'number', 'description': 'Feedback resistor value used in ohms.'}, 'ri_ohm': {'type': 'number', 'description': 'Input/gain resistor value used in ohms.'}, 'vout_v': {'type': ['number', 'null'], 'description': 'Output voltage in volts (null if no input voltage provided).'}, 'gain_db': {'type': 'number', 'description': 'Gain in decibels: 20 * log10(|Av|).'}, 'gain_abs': {'type': 'number', 'description': 'Absolute value of voltage gain.'}, 'topology': {'type': 'string', 'description': 'Op-amp topology used.'}, 'phase_inversion': {'type': 'boolean', 'description': 'True if the output is phase-inverted relative to the input.'}, 'input_impedance_ohm': {'type': 'number', 'description': 'Input impedance in ohms. Inverting: Ri. Non-inverting: very high (returned as 1e12). Differential: Ri.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['netlist'], 'properties': {'board': {'type': 'object', 'required': ['w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}}, 'description': 'Optional board size in mm; auto-sized if omitted', 'additionalProperties': False}, 'gerber': {'type': 'boolean', 'default': False, 'description': 'Also return Gerber RS-274X + Excellon drill files'}, 'netlist': {'type': 'string', 'minLength': 5, 'description': 'SPICE netlist (same format as spice_simulate). Components + nets are extracted; .model/.tran/etc. ignored.'}, 'gnd_pour': {'type': 'boolean', 'default': False, 'description': 'Treat GND as a bottom-layer pour (unions all GND pads for ERC)'}, 'placement': {'type': 'array', 'items': {'type': 'object', 'required': ['ref', 'x', 'y'], 'properties': {'x': {'type': 'number', 'description': 'X position of component center in mm'}, 'y': {'type': 'number', 'description': 'Y position in mm'}, 'ref': {'type': 'string', 'description': "Component reference (e.g. 'Q1')"}, 'rot': {'type': 'number', 'description': 'Rotation in degrees (0/90/180/270)'}}, 'additionalProperties': False}, 'description': 'Optional manual placement; omit for connectivity-aware auto-placement (best of N seeds).'}, 'clearance_mm': {'type': 'number', 'default': 0.2, 'description': 'Minimum copper clearance in mm'}, 'trace_width_mm': {'type': 'number', 'default': 0.25, 'description': 'Routing trace width in mm'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['manufacturable', 'warnings'], 'properties': {'drc': {}, 'erc': {}, 'nets': {}, 'board': {}, 'gerber': {}, 'routing': {}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'components': {}, 'layers_svg': {}, 'manufacturable': {'type': 'boolean'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['board_length_m', 'board_width_m', 'components'], 'properties': {'components': {'type': 'array', 'items': {'type': 'object', 'required': ['x_m', 'y_m', 'footprint', 'tdp_w'], 'properties': {'x_m': {'type': 'number', 'minimum': 0, 'description': 'X position on board in metres'}, 'y_m': {'type': 'number', 'minimum': 0, 'description': 'Y position on board in metres'}, 'label': {'type': 'string', 'description': "Component label (e.g. 'U1', 'CPU')"}, 'tdp_w': {'type': 'number', 'description': 'Thermal design power in watts', 'exclusiveMinimum': 0}, 'footprint': {'type': 'string', 'description': 'Package footprint (e.g. QFP-48, BGA-256, SOT-23, TO-220)'}, 'max_junction_temp_c': {'type': 'number', 'description': 'Maximum junction temperature (°C) for violation checking'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Components on the board'}, 'mesh_density': {'enum': ['coarse', 'medium', 'fine'], 'type': 'string', 'default': 'medium', 'description': 'Mesh density'}, 'board_width_m': {'type': 'number', 'maximum': 0.5, 'description': 'Board width in metres', 'exclusiveMinimum': 0}, 'ambient_temp_c': {'type': 'number', 'default': 25, 'description': 'Ambient temperature in Celsius'}, 'board_length_m': {'type': 'number', 'maximum': 0.5, 'description': 'Board length in metres', 'exclusiveMinimum': 0}, 'board_thickness_m': {'type': 'number', 'default': 0.0016, 'description': 'Board thickness in metres (default 1.6mm FR4)', 'exclusiveMinimum': 0}, 'airflow_velocity_ms': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Airflow velocity in m/s (0 = natural convection)'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['max_board_temp_c', 'avg_board_temp_c', 'component_temps', 'total_heat_w', 'violations', 'mesh_cells', 'runtime_ms', 'warnings'], 'properties': {'warnings': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Solver warnings'}, 'mesh_cells': {'type': 'number', 'description': 'Mesh cell count'}, 'runtime_ms': {'type': 'number', 'description': 'Simulation time in ms'}, 'violations': {'type': 'number', 'description': 'Number of components exceeding thermal limits'}, 'total_heat_w': {'type': 'number', 'description': 'Total heat dissipation (W)'}, 'component_temps': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'junction_temp_c', 'case_temp_c', 'violation'], 'properties': {'label': {'type': 'string', 'description': 'Component label'}, 'violation': {'type': 'boolean', 'description': 'True if junction temp exceeds max_junction_temp_c'}, 'case_temp_c': {'type': 'number', 'description': 'Case/surface temperature (°C)'}, 'junction_temp_c': {'type': 'number', 'description': 'Estimated junction temperature (°C)'}}, 'additionalProperties': False}, 'description': 'Per-component thermal results'}, 'avg_board_temp_c': {'type': 'number', 'description': 'Average board temperature (°C)'}, 'max_board_temp_c': {'type': 'number', 'description': 'Maximum board surface temperature (°C)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'temp_rise_c': {'type': 'number', 'default': 10, 'description': 'Allowable temperature rise above ambient in degrees Celsius. IPC-2221 standard uses 10, 20, or 30 C.', 'exclusiveMinimum': 0}, 'target_current_a': {'type': 'number', 'description': 'Optional target current in amperes. When provided, calculates how many parallel vias are needed to carry this current safely.', 'exclusiveMinimum': 0}, 'drill_diameter_mm': {'type': 'number', 'default': 0.3, 'description': 'Via drill hole diameter in millimeters. Common values: 0.2 (microvia), 0.3 (standard), 0.4, 0.6, 0.8, 1.0.', 'exclusiveMinimum': 0}, 'board_thickness_mm': {'type': 'number', 'default': 1.6, 'description': 'Total PCB board thickness in millimeters. Standard 2-layer is 1.6 mm. Common values: 0.8, 1.0, 1.6, 2.0, 2.4.', 'exclusiveMinimum': 0}, 'plating_thickness_um': {'type': 'number', 'default': 25, 'description': 'Copper plating thickness on the via barrel wall in micrometers. Standard is 25 um (IPC Class 2). Heavy plating is 50 um (IPC Class 3).', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['max_current_a', 'cross_section_mil2', 'cross_section_mm2', 'resistance_mohm', 'voltage_drop_mv', 'power_dissipation_mw', 'vias_needed'], 'properties': {'vias_needed': {'type': ['number', 'null'], 'description': 'Number of parallel vias needed for the target current. Null if no target_current_a was provided.'}, 'max_current_a': {'type': 'number', 'description': 'Maximum current capacity of a single via at the specified temperature rise, in amperes.'}, 'resistance_mohm': {'type': 'number', 'description': 'DC resistance of the via barrel in milliohms, calculated from copper resistivity and barrel length.'}, 'voltage_drop_mv': {'type': 'number', 'description': 'Voltage drop across the via at maximum rated current in millivolts.'}, 'cross_section_mm2': {'type': 'number', 'description': 'Copper cross-sectional area of the via barrel annulus in square millimeters.'}, 'cross_section_mil2': {'type': 'number', 'description': 'Copper cross-sectional area of the via barrel annulus in square mils.'}, 'power_dissipation_mw': {'type': 'number', 'description': 'Power dissipated in the via at maximum rated current in milliwatts.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value', 'total'], 'properties': {'total': {'type': 'number', 'description': 'The whole or denominator value (must not be zero)'}, 'value': {'type': 'number', 'description': 'The part or numerator value'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['percentage', 'decimal', 'fraction_simplified'], 'properties': {'decimal': {'type': 'number', 'description': 'The decimal form (e.g. 0.75)'}, 'percentage': {'type': 'number', 'description': 'The percentage value (e.g. 75 for 75%)'}, 'fraction_simplified': {'type': 'string', 'description': "Simplified fraction as a string (e.g. '3/4')"}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['old_value', 'new_value'], 'properties': {'new_value': {'type': 'number', 'description': 'The new or ending value'}, 'old_value': {'type': 'number', 'description': 'The original or starting value'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['change', 'percentage_change', 'is_increase', 'absolute_change'], 'properties': {'change': {'type': 'number', 'description': 'The signed difference (new_value - old_value)'}, 'is_increase': {'type': 'boolean', 'description': 'True if new_value > old_value, false otherwise'}, 'absolute_change': {'type': 'number', 'description': 'Absolute value of the change'}, 'percentage_change': {'type': 'number', 'description': 'Percentage change from old to new value'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['devices'], 'properties': {'pue': {'type': 'number', 'default': 1.2, 'minimum': 1, 'description': 'Power Usage Effectiveness â\x80\x94 ratio of total facility power to IT equipment power. 1.0 means no cooling overhead, 1.2 is typical for a home server closet, 1.5+ for poorly ventilated spaces'}, 'devices': {'type': 'array', 'items': {'type': 'object', 'required': ['watts'], 'properties': {'name': {'type': 'string', 'description': "Optional label for the device (e.g. 'Dell R730')"}, 'watts': {'type': 'number', 'description': 'Power draw of the device in watts', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'List of devices with their wattage'}, 'hours_per_day': {'type': 'number', 'default': 24, 'maximum': 24, 'minimum': 0, 'description': 'Hours per day the devices are running'}, 'kwh_rate_cents': {'type': 'number', 'default': 12, 'description': 'Electricity cost in cents per kilowatt-hour', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total_watts', 'total_with_pue_watts', 'daily_kwh', 'monthly_kwh', 'yearly_kwh', 'monthly_cost_usd', 'yearly_cost_usd', 'amps_at_120v', 'amps_at_240v', 'breaker_15a_pct'], 'properties': {'daily_kwh': {'type': 'number', 'description': 'Daily energy consumption in kilowatt-hours'}, 'yearly_kwh': {'type': 'number', 'description': 'Yearly energy consumption in kilowatt-hours (365.25 day average)'}, 'monthly_kwh': {'type': 'number', 'description': 'Monthly energy consumption in kilowatt-hours (30.44 day average)'}, 'total_watts': {'type': 'number', 'description': 'Sum of all device wattages before PUE adjustment'}, 'amps_at_120v': {'type': 'number', 'description': 'Current draw at 120V (typical North American outlet)'}, 'amps_at_240v': {'type': 'number', 'description': 'Current draw at 240V (typical European / high-power outlet)'}, 'breaker_15a_pct': {'type': 'number', 'description': 'Percentage of a 15A / 120V circuit used. NEC requires continuous loads stay under 80% (12A)'}, 'yearly_cost_usd': {'type': 'number', 'description': 'Estimated yearly electricity cost in USD'}, 'monthly_cost_usd': {'type': 'number', 'description': 'Estimated monthly electricity cost in USD'}, 'total_with_pue_watts': {'type': 'number', 'description': 'Total power draw including cooling overhead (watts * PUE)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['supply_current_ma', 'supply_voltage_v'], 'properties': {'num_ics': {'type': 'integer', 'default': 1, 'description': 'Number of identical ICs sharing this supply rail. Scales the total current demand.', 'exclusiveMinimum': 0}, 'esr_mohm': {'type': 'number', 'default': 10, 'minimum': 0, 'description': 'Equivalent series resistance (ESR) of the ceramic bypass capacitor in milliohms. Typical MLCC: 5-20 mohm.'}, 'max_ripple_mv': {'type': 'number', 'default': 50, 'description': 'Maximum allowable supply ripple in millivolts (mV). Typical: 50 mV for digital, 10 mV for analog/RF.', 'exclusiveMinimum': 0}, 'supply_voltage_v': {'type': 'number', 'description': 'Supply voltage in volts (V). Common values: 1.8, 2.5, 3.3, 5.0, 12.0.', 'exclusiveMinimum': 0}, 'supply_current_ma': {'type': 'number', 'description': 'IC supply current draw in milliamps (mA). Use the maximum or typical from the datasheet.', 'exclusiveMinimum': 0}, 'switching_freq_mhz': {'type': 'number', 'default': 1, 'description': 'Primary switching or clock frequency of the IC in MHz. Determines the target impedance frequency range.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['target_impedance_ohm', 'ceramic_cap_uf', 'ceramic_cap_value', 'bulk_cap_uf', 'bulk_cap_value', 'self_resonant_freq_mhz', 'total_current_ma', 'ripple_at_esr_mv', 'bypass_adequate'], 'properties': {'bulk_cap_uf': {'type': 'number', 'description': 'Recommended bulk capacitor value in microfarads (uF). Placed near the voltage regulator for low-frequency decoupling.'}, 'bulk_cap_value': {'type': 'string', 'description': "Nearest standard bulk capacitor value with unit (e.g. '10 uF', '47 uF')."}, 'ceramic_cap_uf': {'type': 'number', 'description': 'Recommended ceramic bypass capacitor value in microfarads (uF). Placed closest to IC pins.'}, 'bypass_adequate': {'type': 'boolean', 'description': 'Whether the ESR-induced ripple is within the specified max_ripple_mv limit.'}, 'ripple_at_esr_mv': {'type': 'number', 'description': 'Estimated ripple voltage due to ESR at the switching frequency: V = I_peak * ESR.'}, 'total_current_ma': {'type': 'number', 'description': 'Total supply current for all ICs on this rail.'}, 'ceramic_cap_value': {'type': 'string', 'description': "Nearest standard E12 capacitor value with unit (e.g. '100 nF', '1 uF')."}, 'target_impedance_ohm': {'type': 'number', 'description': 'Target supply impedance at the switching frequency: Z_target = V_ripple / I_total. The decoupling network must keep PDN impedance below this value.'}, 'self_resonant_freq_mhz': {'type': 'number', 'description': 'Self-resonant frequency of the recommended ceramic capacitor assuming 0.5 nH lead inductance. Above this frequency, the capacitor becomes inductive.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['test_statistic'], 'properties': {'test_type': {'enum': ['one_tail_left', 'one_tail_right', 'two_tail'], 'type': 'string', 'default': 'two_tail', 'description': 'Tail type: one_tail_left (p from left), one_tail_right (p from right), or two_tail (both tails combined).'}, 'test_statistic': {'type': 'number', 'description': 'The z-score or t-statistic from your hypothesis test. Positive values indicate the observed value is above the null hypothesis mean.'}, 'degrees_of_freedom': {'type': 'integer', 'description': 'Degrees of freedom for the t-distribution. Omit to use the standard normal (z) distribution.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['p_value', 'significant_at_01', 'significant_at_05', 'significant_at_10', 'test_type'], 'properties': {'p_value': {'type': 'number', 'description': 'The computed p-value representing the probability of observing a result at least as extreme as the test statistic under the null hypothesis.'}, 'test_type': {'enum': ['one_tail_left', 'one_tail_right', 'two_tail'], 'type': 'string', 'description': 'The tail type used for this calculation.'}, 'significant_at_01': {'type': 'boolean', 'description': 'Whether the result is statistically significant at the 0.01 (1%) level.'}, 'significant_at_05': {'type': 'boolean', 'description': 'Whether the result is statistically significant at the 0.05 (5%) level.'}, 'significant_at_10': {'type': 'boolean', 'description': 'Whether the result is statistically significant at the 0.10 (10%) level.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'a': {'type': 'number', 'description': 'Length of side a (leg)', 'exclusiveMinimum': 0}, 'b': {'type': 'number', 'description': 'Length of side b (leg)', 'exclusiveMinimum': 0}, 'c': {'type': 'number', 'description': 'Length of side c (hypotenuse)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['a', 'b', 'c', 'area', 'perimeter', 'is_right_triangle'], 'properties': {'a': {'type': 'number', 'description': 'Length of side a'}, 'b': {'type': 'number', 'description': 'Length of side b'}, 'c': {'type': 'number', 'description': 'Length of side c (hypotenuse)'}, 'area': {'type': 'number', 'description': 'Area of the right triangle (0.5 * a * b)'}, 'perimeter': {'type': 'number', 'description': 'Perimeter of the triangle (a + b + c)'}, 'is_right_triangle': {'type': 'boolean', 'description': 'Always true when computed from two sides'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['devices'], 'properties': {'devices': {'type': 'array', 'items': {'type': 'object', 'required': ['height_u'], 'properties': {'name': {'type': 'string', 'description': "Optional label for the device (e.g. 'Dell R730', 'Patch Panel')"}, 'watts': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Power draw of the device in watts'}, 'height_u': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Height of the device in rack units (U)'}, 'weight_lbs': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Weight of the device in pounds'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'List of devices to place in the rack'}, 'rack_units': {'type': 'integer', 'default': 42, 'minimum': 1, 'description': 'Total rack height in rack units (standard is 42U)'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['used_u', 'free_u', 'utilization_pct', 'total_weight_lbs', 'total_weight_kg', 'total_watts', 'recommended_pdu_count', 'overhead_u', 'effective_free_u'], 'properties': {'free_u': {'type': 'number', 'description': 'Remaining empty rack units'}, 'used_u': {'type': 'number', 'description': 'Total rack units consumed by devices'}, 'overhead_u': {'type': 'number', 'description': 'Estimated cable management overhead in rack units (2U per 10U of gear)'}, 'total_watts': {'type': 'number', 'description': 'Total power draw of all devices in watts'}, 'total_weight_kg': {'type': 'number', 'description': 'Total weight of all devices in kilograms'}, 'utilization_pct': {'type': 'number', 'description': 'Percentage of rack space used by devices'}, 'effective_free_u': {'type': 'number', 'description': 'Free rack units after subtracting cable management overhead'}, 'total_weight_lbs': {'type': 'number', 'description': 'Total weight of all devices in pounds'}, 'recommended_pdu_count': {'type': 'number', 'description': 'Recommended number of PDUs (each PDU = 80% of 20A/120V = 1920W)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['disk_count'], 'properties': {'read_pct': {'type': 'number', 'default': 70, 'maximum': 100, 'minimum': 0, 'description': 'Percentage of workload that is reads (0-100). Typical: 70 for mixed, 90 for read-heavy, 30 for write-heavy'}, 'disk_iops': {'type': 'number', 'default': 150, 'description': 'IOPS per individual disk. Typical values: HDD ~150, SATA SSD ~50000, NVMe SSD ~100000', 'exclusiveMinimum': 0}, 'raid_type': {'enum': ['stripe', 'mirror', 'raidz1', 'raidz2', 'raidz3'], 'type': 'string', 'default': 'raidz1', 'description': 'RAID level: stripe (no redundancy, write penalty 1), mirror (write penalty 2), raidz1 (write penalty 2), raidz2 (write penalty 3), raidz3 (write penalty 4)'}, 'disk_count': {'type': 'integer', 'minimum': 1, 'description': 'Total number of physical disks in the array'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['read_iops', 'write_iops', 'blended_iops', 'write_penalty', 'estimated_latency_ms'], 'properties': {'read_iops': {'type': 'number', 'description': 'Maximum read IOPS: disk_count * disk_iops'}, 'write_iops': {'type': 'number', 'description': 'Maximum write IOPS: disk_count * disk_iops / write_penalty'}, 'blended_iops': {'type': 'number', 'description': 'Effective IOPS for the given read/write mix: (read_pct * read_iops + write_pct * write_iops) / 100'}, 'write_penalty': {'type': 'number', 'description': 'Write amplification factor for the chosen RAID level'}, 'estimated_latency_ms': {'type': 'number', 'description': 'Rough per-disk latency estimate in milliseconds: 1000 / (blended_iops / disk_count)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['resistance_ohm', 'capacitance_f'], 'properties': {'filter_type': {'enum': ['lowpass', 'highpass'], 'type': 'string', 'default': 'lowpass', 'description': "Filter topology: 'lowpass' (R then C to ground) or 'highpass' (C then R to ground)."}, 'capacitance_f': {'type': 'number', 'description': 'Capacitance in farads (C). The capacitive element of the RC filter.', 'exclusiveMinimum': 0}, 'resistance_ohm': {'type': 'number', 'description': 'Resistance in ohms (R). The resistive element of the RC filter.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cutoff_freq_hz', 'cutoff_freq_khz', 'time_constant_s', 'time_constant_ms', 'impedance_at_cutoff_ohm', 'phase_at_cutoff_deg'], 'properties': {'cutoff_freq_hz': {'type': 'number', 'description': 'Cutoff frequency (-3 dB point) in hertz.'}, 'cutoff_freq_khz': {'type': 'number', 'description': 'Cutoff frequency in kilohertz for convenience.'}, 'time_constant_s': {'type': 'number', 'description': 'RC time constant (tau) in seconds.'}, 'time_constant_ms': {'type': 'number', 'description': 'RC time constant in milliseconds.'}, 'phase_at_cutoff_deg': {'type': 'number', 'description': 'Phase shift at the cutoff frequency in degrees. -45 for lowpass, +45 for highpass.'}, 'impedance_at_cutoff_ohm': {'type': 'number', 'description': 'Total impedance magnitude at the cutoff frequency in ohms. Equals R * sqrt(2) for a first-order RC filter.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bands'], 'properties': {'bands': {'type': 'array', 'items': {'enum': ['black', 'brown', 'red', 'orange', 'yellow', 'green', 'blue', 'violet', 'grey', 'white', 'gold', 'silver', 'none'], 'type': 'string'}, 'description': 'Array of 4 or 5 color band names from left to right. 4-band: [digit1, digit2, multiplier, tolerance]. 5-band: [digit1, digit2, digit3, multiplier, tolerance].'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['resistance_ohm', 'resistance_formatted', 'tolerance_pct', 'min_ohm', 'max_ohm', 'band_count'], 'properties': {'max_ohm': {'type': 'number', 'description': 'Maximum resistance within tolerance.'}, 'min_ohm': {'type': 'number', 'description': 'Minimum resistance within tolerance.'}, 'band_count': {'type': 'number', 'description': 'Number of bands (4 or 5).'}, 'tolerance_pct': {'type': 'number', 'description': 'Tolerance in percent.'}, 'resistance_ohm': {'type': 'number', 'description': 'Resistance value in ohms.'}, 'resistance_formatted': {'type': 'string', 'description': "Human-readable resistance string, e.g. '4.7kΩ'."}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['amount'], 'properties': {'amount': {'type': 'number', 'description': 'The salary or wage amount to convert.', 'exclusiveMinimum': 0}, 'from_type': {'enum': ['annual', 'monthly', 'weekly', 'hourly'], 'type': 'string', 'default': 'annual', 'description': "The pay period of the input amount. Defaults to 'annual'."}, 'hours_per_week': {'type': 'number', 'default': 40, 'description': 'Hours worked per week. Defaults to 40 for a standard full-time schedule.', 'exclusiveMinimum': 0}, 'weeks_per_year': {'type': 'number', 'default': 52, 'description': 'Working weeks per year. Defaults to 52. Use 50 to account for 2 weeks unpaid vacation.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hourly', 'daily', 'weekly', 'biweekly', 'monthly', 'annual'], 'properties': {'daily': {'type': 'number', 'description': 'Daily earnings assuming an 8-hour workday.'}, 'annual': {'type': 'number', 'description': 'Annual salary.'}, 'hourly': {'type': 'number', 'description': 'Hourly wage.'}, 'weekly': {'type': 'number', 'description': 'Weekly earnings.'}, 'monthly': {'type': 'number', 'description': 'Monthly earnings (annual / 12).'}, 'biweekly': {'type': 'number', 'description': 'Biweekly (every two weeks) earnings.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['price'], 'properties': {'price': {'type': 'number', 'description': 'Unit price of the item in dollars (or any currency). Must be positive.', 'exclusiveMinimum': 0}, 'quantity': {'type': 'integer', 'default': 1, 'description': 'Number of items to purchase. Defaults to 1.', 'exclusiveMinimum': 0}, 'tax_rate_pct': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Sales tax rate as a percentage (e.g. 8.875 for 8.875%). Defaults to 0 â\x80\x94 enter your local rate.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subtotal', 'tax_amount', 'total', 'effective_rate_pct'], 'properties': {'total': {'type': 'number', 'description': 'Subtotal plus tax amount.'}, 'subtotal': {'type': 'number', 'description': 'Price times quantity before tax.'}, 'tax_amount': {'type': 'number', 'description': 'Total tax amount, rounded to two decimal places.'}, 'effective_rate_pct': {'type': 'number', 'description': 'The tax rate applied, echoed back for confirmation.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'value': {'type': 'number', 'description': 'The number to convert to scientific notation'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['coefficient', 'exponent', 'notation_string', 'engineering_notation'], 'properties': {'exponent': {'type': 'number', 'description': 'The power-of-10 exponent'}, 'coefficient': {'type': 'number', 'description': 'The coefficient (mantissa) between 1 and 10'}, 'notation_string': {'type': 'string', 'description': "Formatted scientific notation with Unicode superscripts (e.g. '3.14 Ã\x97 10²')"}, 'engineering_notation': {'type': 'string', 'description': 'Engineering notation with exponent divisible by 3'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['number_str'], 'properties': {'number_str': {'type': 'string', 'description': "The number as a string to preserve trailing zeros (e.g. '1.200')"}, 'round_to_n': {'type': 'integer', 'description': 'Optionally round the number to this many significant figures', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sig_figs_count', 'rounded_to_n', 'scientific_notation'], 'properties': {'rounded_to_n': {'type': ['string', 'null'], 'description': 'The number rounded to N significant figures (null if N not provided)'}, 'sig_figs_count': {'type': 'number', 'description': 'Number of significant figures in the input'}, 'scientific_notation': {'type': 'string', 'description': 'The number expressed in scientific notation'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['x1', 'y1', 'x2', 'y2'], 'properties': {'x1': {'type': 'number', 'description': 'X-coordinate of the first point'}, 'x2': {'type': 'number', 'description': 'X-coordinate of the second point'}, 'y1': {'type': 'number', 'description': 'Y-coordinate of the first point'}, 'y2': {'type': 'number', 'description': 'Y-coordinate of the second point'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slope', 'y_intercept', 'equation', 'angle_degrees', 'distance', 'is_vertical', 'is_horizontal'], 'properties': {'slope': {'type': ['number', 'null'], 'description': 'Slope of the line (null for vertical lines)'}, 'distance': {'type': 'number', 'description': 'Euclidean distance between the two points'}, 'equation': {'type': 'string', 'description': "Line equation in slope-intercept form or 'x = c' for vertical"}, 'is_vertical': {'type': 'boolean', 'description': 'True if the line is vertical (undefined slope)'}, 'y_intercept': {'type': ['number', 'null'], 'description': 'Y-intercept of the line (null for vertical lines)'}, 'angle_degrees': {'type': 'number', 'description': 'Angle of the line relative to the positive x-axis in degrees'}, 'is_horizontal': {'type': 'boolean', 'description': 'True if the line is horizontal (slope = 0)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rx_power_dbm'], 'properties': {'sf': {'type': 'integer', 'default': 10, 'maximum': 12, 'minimum': 7, 'description': 'LoRa spreading factor (7-12). Higher SF tolerates lower SNR.'}, 'bw_khz': {'enum': [125, 250, 500], 'type': 'number', 'default': 125, 'description': 'LoRa channel bandwidth in kHz. Affects noise floor.'}, 'rx_power_dbm': {'type': 'number', 'description': 'Received signal power in dBm (e.g., -110). Typically from a link budget calculation or field measurement.'}, 'noise_figure_db': {'type': 'number', 'default': 6, 'description': 'Receiver noise figure in dB. Typical LoRa radio NF is 6 dB (SX1276).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['margin_db', 'noise_floor_dbm', 'required_snr_db', 'link_ok'], 'properties': {'link_ok': {'type': 'boolean', 'description': 'True if margin_db > 0 (signal exceeds demodulation threshold).'}, 'margin_db': {'type': 'number', 'description': 'SNR margin above demodulation threshold in dB. Positive = link OK, negative = link failure.'}, 'noise_floor_dbm': {'type': 'number', 'description': 'Receiver noise floor in dBm, computed from bandwidth and noise figure.'}, 'required_snr_db': {'type': 'number', 'description': 'Minimum SNR required for successful LoRa demodulation at the given SF.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['appliances'], 'properties': {'appliances': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'watts', 'hours_per_day'], 'properties': {'name': {'type': 'string', 'description': "Appliance name (e.g. 'Refrigerator', 'LED Light')"}, 'watts': {'type': 'number', 'description': 'Power consumption in watts (W)', 'exclusiveMinimum': 0}, 'quantity': {'type': 'integer', 'default': 1, 'description': 'Number of identical units, default 1', 'exclusiveMinimum': 0}, 'hours_per_day': {'type': 'number', 'maximum': 24, 'minimum': 0, 'description': 'Average hours of use per day'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'List of appliances with wattage, hours per day, and quantity'}, 'safety_margin_pct': {'type': 'number', 'default': 20, 'minimum': 0, 'description': 'Safety margin percentage to account for surge/inrush current, default 20%'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total_daily_wh', 'total_daily_kwh', 'with_margin_kwh', 'peak_watts', 'recommended_inverter_va', 'appliance_count', 'largest_load_watts'], 'properties': {'peak_watts': {'type': 'number', 'description': 'Peak simultaneous wattage if all appliances run at once (W)'}, 'total_daily_wh': {'type': 'number', 'description': 'Total daily energy consumption in watt-hours (Wh)'}, 'appliance_count': {'type': 'integer', 'description': 'Total number of appliance entries'}, 'total_daily_kwh': {'type': 'number', 'description': 'Total daily energy consumption in kilowatt-hours (kWh)'}, 'with_margin_kwh': {'type': 'number', 'description': 'Daily kWh including safety margin'}, 'largest_load_watts': {'type': 'number', 'description': 'Wattage of the single largest appliance (W)'}, 'recommended_inverter_va': {'type': 'number', 'description': 'Recommended inverter size in VA (peak watts * 1.25 per NEC)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['system_cost_usd', 'system_size_kw', 'annual_production_kwh'], 'properties': {'system_size_kw': {'type': 'number', 'description': 'System size in kilowatts (kW)', 'exclusiveMinimum': 0}, 'federal_itc_pct': {'type': 'number', 'default': 30, 'maximum': 100, 'minimum': 0, 'description': 'Federal Investment Tax Credit percentage, default 30% (US ITC)'}, 'system_cost_usd': {'type': 'number', 'description': 'Total installed system cost in USD', 'exclusiveMinimum': 0}, 'state_rebate_usd': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'State or local rebate amount in USD, default 0'}, 'annual_production_kwh': {'type': 'number', 'description': 'Estimated annual energy production in kWh (from PVWatts or system_size_kw * peak_sun_hours * 365 * 0.80)', 'exclusiveMinimum': 0}, 'system_lifetime_years': {'type': 'integer', 'default': 25, 'maximum': 50, 'minimum': 1, 'description': 'System lifetime in years, default 25'}, 'annual_degradation_pct': {'type': 'number', 'default': 0.5, 'maximum': 5, 'minimum': 0, 'description': 'Annual panel degradation rate, default 0.5% per year'}, 'annual_maintenance_usd': {'type': 'number', 'default': 100, 'minimum': 0, 'description': 'Annual maintenance cost in USD, default $100'}, 'electricity_rate_cents': {'type': 'number', 'default': 15, 'description': 'Current electricity rate in cents per kWh, default 15', 'exclusiveMinimum': 0}, 'annual_rate_increase_pct': {'type': 'number', 'default': 3, 'minimum': 0, 'description': 'Annual utility rate increase percentage, default 3%'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['net_cost_usd', 'payback_years', 'total_savings_usd', 'roi_pct', 'lcoe_cents_per_kwh', 'year_1_savings_usd', 'year_25_savings_usd', 'lifetime_production_kwh'], 'properties': {'roi_pct': {'type': 'number', 'description': 'Return on investment percentage over system lifetime'}, 'net_cost_usd': {'type': 'number', 'description': 'Net system cost after federal ITC and state rebates (USD)'}, 'payback_years': {'type': 'number', 'description': 'Number of years to recoup net cost from savings'}, 'total_savings_usd': {'type': 'number', 'description': 'Total cumulative savings over system lifetime (USD)'}, 'lcoe_cents_per_kwh': {'type': 'number', 'description': 'Levelized cost of energy in cents per kWh'}, 'year_1_savings_usd': {'type': 'number', 'description': 'First year net savings (USD)'}, 'year_25_savings_usd': {'type': 'number', 'description': 'Final year net savings (USD), or last year if lifetime < 25'}, 'lifetime_production_kwh': {'type': 'number', 'description': 'Total energy produced over system lifetime (kWh)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['daily_kwh'], 'properties': {'dod': {'type': 'number', 'default': 0.8, 'maximum': 1, 'minimum': 0, 'description': 'Battery depth of discharge (0-1), default 0.8 for LiFePO4'}, 'daily_kwh': {'type': 'number', 'description': 'Daily energy consumption in kilowatt-hours (kWh)', 'exclusiveMinimum': 0}, 'panel_watts': {'type': 'number', 'default': 400, 'description': 'Rated wattage per solar panel (W)', 'exclusiveMinimum': 0}, 'peak_sun_hours': {'type': 'number', 'default': 5, 'description': 'Average peak sun hours per day for your location (hours)', 'exclusiveMinimum': 0}, 'system_voltage': {'enum': [12, 24, 48], 'type': 'number', 'default': 48, 'description': 'Battery bank system voltage: 12, 24, or 48 V'}, 'system_efficiency': {'type': 'number', 'default': 0.85, 'maximum': 1, 'minimum': 0, 'description': 'Overall system efficiency (0-1), accounts for inverter, wiring, and controller losses'}, 'battery_autonomy_days': {'type': 'number', 'default': 2, 'description': 'Number of days the battery bank should sustain load without solar input', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['panels_needed', 'total_panel_watts', 'battery_kwh', 'battery_ah', 'charge_controller_amps', 'daily_solar_kwh'], 'properties': {'battery_ah': {'type': 'number', 'description': 'Required battery bank capacity in amp-hours at system voltage'}, 'battery_kwh': {'type': 'number', 'description': 'Required battery bank capacity in kWh (before DoD)'}, 'panels_needed': {'type': 'integer', 'description': 'Number of solar panels required (rounded up)'}, 'daily_solar_kwh': {'type': 'number', 'description': 'Daily solar energy needed after accounting for system losses (kWh)'}, 'total_panel_watts': {'type': 'number', 'description': 'Total installed panel wattage (W)'}, 'charge_controller_amps': {'type': 'number', 'description': 'Minimum charge controller current rating in amps (with 25% margin)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['netlist'], 'properties': {'certify': {'type': 'boolean', 'description': 'If true, attach an a-posteriori existence certificate for the DC operating point (Newtonâ\x80\x93Kantorovich: proves a true solution exists within a computed radius, or refuses). Adds ~one extra back-solve.'}, 'netlist': {'type': 'string', 'minLength': 10, 'description': 'SPICE netlist (ngspice-compatible). Must include at least one analysis command (.ac, .dc, .tran, .op) and end with .end'}, 'options': {'type': 'object', 'description': 'Additional ngspice .options (e.g. { reltol: 0.001 })', 'additionalProperties': {'type': ['string', 'number', 'boolean']}}, 'analysis': {'enum': ['ac', 'dc', 'tran', 'op'], 'type': 'string', 'description': 'Override analysis type (auto-detected from netlist if omitted)'}, 'tolerances': {'type': 'object', 'description': 'Component-tolerance box, e.g. {"R1":0.05,"V1":0.02} (fractional). With output_node, returns a certified min/max interval for that node over all component variations. R/V/I elements only.', 'additionalProperties': {'type': 'number'}}, 'output_node': {'type': 'string', 'description': 'Node whose voltage is certified over the tolerance box (required with tolerances).'}, 'temperature_c': {'type': 'number', 'default': 27, 'description': 'Simulation temperature in Celsius'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['vectors', 'nodes', 'analysis_type', 'runtime_ms', 'warnings', 'component_count'], 'properties': {'nodes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of circuit node names'}, 'fourier': {'description': 'Present when the netlist has .four cards: Fourier harmonics + THD per node'}, 'vectors': {'type': 'object', 'description': 'Named voltage/current vectors keyed by node name', 'additionalProperties': {'type': 'array', 'items': {'type': 'number'}}}, 'measures': {'description': 'Present when the netlist has .measure cards: {name: value}'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Any ngspice warnings generated during simulation'}, 'runtime_ms': {'type': 'number', 'description': 'Simulation wall-clock time in milliseconds'}, 'certificate': {'description': 'Present when certify=true: {certified, rho, eta, h, ...} existence certificate for the DC operating point'}, 'analysis_type': {'type': 'string', 'description': 'Analysis type that was performed'}, 'component_count': {'type': 'number', 'description': 'Number of components in the netlist'}, 'tolerance_certificate': {'description': 'Present when tolerances+output_node given: {certified, interval, nominal, ...} certified output range over the component-tolerance box'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['template', 'params'], 'properties': {'params': {'type': 'object', 'description': 'Template-specific parameters (e.g. r_ohms, c_farads, v_source)', 'additionalProperties': {'type': 'number'}}, 'analysis': {'enum': ['ac', 'dc', 'tran'], 'type': 'string', 'default': 'ac', 'description': 'SPICE analysis type to include in netlist'}, 'template': {'enum': ['low_pass_rc', 'voltage_divider', 'common_emitter', 'rc_highpass', 'rlc_bandpass', 'opamp_inverting', 'diode_rectifier', 'wien_bridge'], 'type': 'string', 'description': 'Circuit template name'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['netlist', 'template_name', 'component_count', 'analysis_type'], 'properties': {'netlist': {'type': 'string', 'description': 'Complete SPICE netlist ready for simulation'}, 'analysis_type': {'type': 'string', 'description': 'Analysis type included in the netlist'}, 'template_name': {'type': 'string', 'description': 'Template used'}, 'component_count': {'type': 'number', 'description': 'Number of components in the generated circuit'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['area_sqft', 'area_sqm', 'area_acres', 'perimeter_ft', 'perimeter_m'], 'properties': {'area_sqm': {'type': 'number', 'description': 'Area in square meters (sqft * 0.092903).'}, 'area_sqft': {'type': 'number', 'description': 'Area in square feet.'}, 'area_acres': {'type': 'number', 'description': 'Area in acres (sqft / 43560).'}, 'perimeter_m': {'type': 'number', 'description': 'Perimeter in meters.'}, 'perimeter_ft': {'type': 'number', 'description': 'Perimeter in feet.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'value': {'type': 'number', 'minimum': 0, 'description': 'The non-negative number to compute the square root of'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['result', 'is_perfect_square', 'simplified_radical'], 'properties': {'result': {'type': 'number', 'description': 'The square root of the input value'}, 'is_perfect_square': {'type': 'boolean', 'description': 'True if the input is a perfect square integer'}, 'simplified_radical': {'type': 'string', 'description': "Simplified radical form (e.g. '2â\x88\x9a3' for â\x88\x9a12)"}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['panel_voc', 'panel_vmp', 'panel_isc', 'panel_imp', 'mppt_vmax', 'mppt_vmin', 'mppt_imax'], 'properties': {'mppt_imax': {'type': 'number', 'description': 'Maximum MPPT input current in amps', 'exclusiveMinimum': 0}, 'mppt_vmax': {'type': 'number', 'description': 'Maximum MPPT input voltage in volts', 'exclusiveMinimum': 0}, 'mppt_vmin': {'type': 'number', 'description': 'Minimum MPPT start/operating voltage in volts', 'exclusiveMinimum': 0}, 'panel_imp': {'type': 'number', 'description': 'Panel maximum power current (Imp) at STC in amps', 'exclusiveMinimum': 0}, 'panel_isc': {'type': 'number', 'description': 'Panel short circuit current (Isc) at STC in amps', 'exclusiveMinimum': 0}, 'panel_vmp': {'type': 'number', 'description': 'Panel maximum power voltage (Vmp) at STC in volts', 'exclusiveMinimum': 0}, 'panel_voc': {'type': 'number', 'description': 'Panel open circuit voltage (Voc) at STC in volts', 'exclusiveMinimum': 0}, 'temp_max_c': {'type': 'number', 'default': 60, 'description': 'Maximum expected cell temperature in Celsius, default 60'}, 'temp_min_c': {'type': 'number', 'default': -10, 'description': 'Minimum expected site temperature in Celsius, default -10'}, 'temp_coeff_voc_pct_per_c': {'type': 'number', 'default': -0.3, 'description': 'Voc temperature coefficient in %/C (negative for silicon), default -0.30'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['max_panels_per_string', 'min_panels_per_string', 'recommended_panels_per_string', 'max_parallel_strings', 'total_panels', 'array_watts', 'voc_cold_per_string', 'vmp_hot_per_string', 'isc_total'], 'properties': {'isc_total': {'type': 'number', 'description': 'Total short circuit current from all parallel strings (A)'}, 'array_watts': {'type': 'number', 'description': 'Total array power at maximum power point (W)'}, 'total_panels': {'type': 'integer', 'description': 'Total panels in the array (strings * panels per string)'}, 'vmp_hot_per_string': {'type': 'number', 'description': 'String Vmp at maximum temperature (V)'}, 'voc_cold_per_string': {'type': 'number', 'description': 'String Voc at minimum temperature (V)'}, 'max_parallel_strings': {'type': 'integer', 'description': 'Maximum parallel strings (limited by MPPT Imax)'}, 'max_panels_per_string': {'type': 'integer', 'description': 'Maximum panels per string (limited by Voc at cold temp)'}, 'min_panels_per_string': {'type': 'integer', 'description': 'Minimum panels per string (to meet MPPT Vmin at hot temp)'}, 'recommended_panels_per_string': {'type': 'integer', 'description': 'Recommended panels per string (uses max for best output)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cidr'], 'properties': {'cidr': {'type': 'string', 'pattern': '^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\/\\d{1,2}$', 'description': 'IPv4 address in CIDR notation, e.g. 192.168.1.0/24'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['network_address', 'broadcast_address', 'subnet_mask', 'wildcard_mask', 'first_usable', 'last_usable', 'total_hosts', 'usable_hosts', 'prefix_length', 'ip_class'], 'properties': {'ip_class': {'type': 'string', 'description': 'Classful IP address class: A, B, C, D (multicast), or E (reserved)'}, 'last_usable': {'type': 'string', 'description': 'Last usable host address in the subnet'}, 'subnet_mask': {'type': 'string', 'description': 'Subnet mask in dotted decimal notation, e.g. 255.255.255.0'}, 'total_hosts': {'type': 'number', 'description': 'Total number of addresses in the subnet including network and broadcast'}, 'first_usable': {'type': 'string', 'description': 'First usable host address in the subnet'}, 'usable_hosts': {'type': 'number', 'description': 'Number of usable host addresses (excluding network and broadcast)'}, 'prefix_length': {'type': 'number', 'description': 'CIDR prefix length, e.g. 24'}, 'wildcard_mask': {'type': 'string', 'description': 'Wildcard (inverse) mask, e.g. 0.0.0.255'}, 'network_address': {'type': 'string', 'description': 'Network address of the subnet'}, 'broadcast_address': {'type': 'string', 'description': 'Broadcast address of the subnet'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bandwidth_mbps', 'rtt_ms'], 'properties': {'rtt_ms': {'type': 'number', 'description': 'Round-trip time (latency) in milliseconds', 'exclusiveMinimum': 0}, 'mss_bytes': {'type': 'number', 'default': 1460, 'description': 'Maximum Segment Size in bytes (typically 1460 for Ethernet)', 'exclusiveMinimum': 0}, 'bandwidth_mbps': {'type': 'number', 'description': 'Available link bandwidth in megabits per second', 'exclusiveMinimum': 0}, 'window_size_kb': {'type': 'number', 'default': 64, 'description': 'TCP receive window size in kilobytes', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bdp_bytes', 'bdp_kb', 'max_throughput_mbps', 'window_sufficient', 'recommended_window_kb', 'utilization_pct'], 'properties': {'bdp_kb': {'type': 'number', 'description': 'Bandwidth-Delay Product in kilobytes'}, 'bdp_bytes': {'type': 'number', 'description': 'Bandwidth-Delay Product in bytes: maximum data in flight'}, 'utilization_pct': {'type': 'number', 'description': 'Percentage of available bandwidth that can actually be used'}, 'window_sufficient': {'type': 'boolean', 'description': 'Whether the current window size is large enough to fill the pipe'}, 'max_throughput_mbps': {'type': 'number', 'description': 'Maximum achievable TCP throughput in megabits per second given the window size'}, 'recommended_window_kb': {'type': 'number', 'description': 'Minimum window size in kilobytes needed to fully utilize the link'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['correct', 'total'], 'properties': {'total': {'type': 'integer', 'description': 'Total number of questions on the test. Must be a positive integer.', 'exclusiveMinimum': 0}, 'correct': {'type': 'integer', 'minimum': 0, 'description': 'Number of questions answered correctly. Must be a non-negative integer.'}, 'grading_scale': {'enum': ['us', 'uk', 'percentage_only'], 'type': 'string', 'default': 'us', 'description': "Grading scale to use. 'us' for A-F letter grades, 'uk' for First/2:1/2:2/Third/Fail, 'percentage_only' for just the percentage."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['percentage', 'letter_grade', 'points_missed', 'gpa_points'], 'properties': {'gpa_points': {'type': ['number', 'null'], 'description': 'GPA points on a 4.0 scale (US only). A=4.0, B=3.0, C=2.0, D=1.0, F=0. Null for UK and percentage_only.'}, 'percentage': {'type': 'number', 'description': 'Score as a percentage (0-100).'}, 'letter_grade': {'type': ['string', 'null'], 'description': 'Letter grade based on the selected grading scale. Null if percentage_only.'}, 'points_missed': {'type': 'number', 'description': 'Number of questions answered incorrectly (total - correct).'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['length_m', 'width_m', 'height_m', 'heat_sources', 'flow_type'], 'properties': {'width_m': {'type': 'number', 'maximum': 2, 'description': 'Enclosure width (Y) in metres', 'exclusiveMinimum': 0}, 'height_m': {'type': 'number', 'maximum': 2, 'description': 'Enclosure height (Z) in metres', 'exclusiveMinimum': 0}, 'length_m': {'type': 'number', 'maximum': 2, 'description': 'Enclosure length (X) in metres', 'exclusiveMinimum': 0}, 'flow_type': {'enum': ['natural_convection', 'forced'], 'type': 'string', 'description': 'Airflow type'}, 'heat_sources': {'type': 'array', 'items': {'type': 'object', 'required': ['x_m', 'y_m', 'z_m', 'watts'], 'properties': {'x_m': {'type': 'number', 'minimum': 0, 'description': 'X position in metres from enclosure origin'}, 'y_m': {'type': 'number', 'minimum': 0, 'description': 'Y position in metres'}, 'z_m': {'type': 'number', 'minimum': 0, 'description': 'Z position in metres'}, 'label': {'type': 'string', 'description': "Optional label (e.g. 'CPU', 'PSU')"}, 'watts': {'type': 'number', 'description': 'Heat dissipation in watts', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Heat sources inside the enclosure'}, 'mesh_density': {'enum': ['coarse', 'medium', 'fine'], 'type': 'string', 'default': 'medium', 'description': 'Mesh density â\x80\x94 coarse (~50K cells), medium (~200K), fine (~500K)'}, 'ambient_temp_c': {'type': 'number', 'default': 25, 'description': 'Ambient air temperature in Celsius'}, 'inlet_position': {'enum': ['front_bottom', 'front_center', 'side_bottom'], 'type': 'string', 'default': 'front_bottom', 'description': 'Inlet location'}, 'outlet_position': {'enum': ['rear_top', 'rear_center', 'top_rear'], 'type': 'string', 'default': 'rear_top', 'description': 'Outlet location'}, 'inlet_velocity_ms': {'type': 'number', 'description': 'Inlet air velocity in m/s (required for forced flow)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['max_temp_c', 'min_temp_c', 'avg_temp_c', 'hotspot_location', 'max_velocity_ms', 'avg_velocity_ms', 'thermal_resistance_cw', 'total_heat_w', 'mesh_cells', 'solver', 'iterations', 'runtime_ms', 'warnings'], 'properties': {'solver': {'type': 'string', 'description': 'OpenFOAM solver used'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Any solver warnings'}, 'avg_temp_c': {'type': 'number', 'description': 'Volume-averaged temperature (°C)'}, 'iterations': {'type': 'number', 'description': 'Number of solver iterations to convergence'}, 'max_temp_c': {'type': 'number', 'description': 'Maximum temperature in the enclosure (°C)'}, 'mesh_cells': {'type': 'number', 'description': 'Number of mesh cells used'}, 'min_temp_c': {'type': 'number', 'description': 'Minimum temperature (°C)'}, 'runtime_ms': {'type': 'number', 'description': 'Simulation wall-clock time in milliseconds'}, 'total_heat_w': {'type': 'number', 'description': 'Total heat load (W)'}, 'avg_velocity_ms': {'type': 'number', 'description': 'Average airflow velocity (m/s)'}, 'max_velocity_ms': {'type': 'number', 'description': 'Peak airflow velocity (m/s)'}, 'hotspot_location': {'type': 'object', 'required': ['x_m', 'y_m', 'z_m'], 'properties': {'x_m': {'type': 'number', 'description': 'X coordinate of hotspot in metres'}, 'y_m': {'type': 'number', 'description': 'Y coordinate of hotspot in metres'}, 'z_m': {'type': 'number', 'description': 'Z coordinate of hotspot in metres'}}, 'description': 'Location of the temperature maximum', 'additionalProperties': False}, 'thermal_resistance_cw': {'type': 'number', 'description': 'Overall thermal resistance (°C/W)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'r1_ohm', 'c_farad'], 'properties': {'mode': {'enum': ['astable', 'monostable'], 'type': 'string', 'description': "Operating mode. 'astable' produces a continuous square wave. 'monostable' produces a single timed pulse."}, 'r1_ohm': {'type': 'number', 'description': 'Resistance R1 in ohms. In astable mode this is the charge-path resistor between Vcc and the discharge pin. In monostable mode this is the timing resistor.', 'exclusiveMinimum': 0}, 'r2_ohm': {'type': 'number', 'description': 'Resistance R2 in ohms (astable mode only). Charge/discharge resistor between the discharge and threshold pins. Required for astable mode.', 'exclusiveMinimum': 0}, 'c_farad': {'type': 'number', 'description': 'Timing capacitor in farads. Typical values range from 1 pF to 1000 µF. Use scientific notation, e.g. 1e-6 for 1 µF.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'frequency_hz', 'period_s', 'duty_cycle_pct', 'time_high_s', 'time_low_s', 'r1_ohm', 'r2_ohm', 'c_farad', 'c_display'], 'properties': {'mode': {'type': 'string', 'description': 'Operating mode used for calculation.'}, 'r1_ohm': {'type': 'number', 'description': 'R1 value used in ohms.'}, 'r2_ohm': {'type': ['number', 'null'], 'description': 'R2 value used in ohms (null for monostable).'}, 'c_farad': {'type': 'number', 'description': 'Capacitor value used in farads.'}, 'period_s': {'type': ['number', 'null'], 'description': 'Total period in seconds (astable only, null for monostable).'}, 'c_display': {'type': 'string', 'description': "Human-readable capacitor value string (e.g. '100 nF', '4.7 µF')."}, 'time_low_s': {'type': ['number', 'null'], 'description': 'Output LOW duration in seconds (astable only, null for monostable).'}, 'time_high_s': {'type': 'number', 'description': 'Output HIGH duration in seconds. In astable this is the charge time; in monostable this is the pulse width.'}, 'frequency_hz': {'type': ['number', 'null'], 'description': 'Output frequency in Hz (astable only, null for monostable).'}, 'duty_cycle_pct': {'type': ['number', 'null'], 'description': 'Duty cycle as a percentage (astable only, null for monostable). Always > 50% for standard 555.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'value': {'type': 'string', 'description': "A timestamp to convert. Accepts Unix epoch (seconds or milliseconds), ISO 8601 string (e.g. '2024-01-15T10:30:00Z'), or 'now' for the current time."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['unix_seconds', 'unix_milliseconds', 'iso_8601', 'iso_date', 'iso_time', 'day_of_week', 'relative', 'is_past'], 'properties': {'is_past': {'type': 'boolean', 'description': 'True if the timestamp is in the past.'}, 'iso_8601': {'type': 'string', 'description': "ISO 8601 formatted string in UTC (e.g. '2024-01-15T10:30:00.000Z')."}, 'iso_date': {'type': 'string', 'description': 'Date portion only (YYYY-MM-DD).'}, 'iso_time': {'type': 'string', 'description': 'Time portion only (HH:MM:SS).'}, 'relative': {'type': 'string', 'description': "Human-readable relative time (e.g. '2 hours ago', 'in 3 days')."}, 'day_of_week': {'type': 'string', 'description': "Day of the week (e.g. 'Monday')."}, 'unix_seconds': {'type': 'number', 'description': 'Unix timestamp in seconds since epoch (Jan 1 1970 00:00:00 UTC).'}, 'unix_milliseconds': {'type': 'number', 'description': 'Unix timestamp in milliseconds since epoch.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bill_amount'], 'properties': {'split': {'type': 'integer', 'default': 1, 'maximum': 100, 'description': 'Number of people splitting the bill. Defaults to 1 (no split).', 'exclusiveMinimum': 0}, 'tip_pct': {'type': 'number', 'default': 18, 'maximum': 100, 'minimum': 0, 'description': 'Tip percentage. Common values: 15 (standard), 18 (good), 20 (great), 25 (excellent). Defaults to 18%.'}, 'round_up': {'type': 'boolean', 'default': False, 'description': 'Round the total up to the nearest whole number. Defaults to false.'}, 'bill_amount': {'type': 'number', 'description': 'Total bill amount before tip (any currency).', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tip_amount', 'total', 'per_person_tip', 'per_person_total', 'effective_tip_pct'], 'properties': {'total': {'type': 'number', 'description': 'Bill plus tip.'}, 'tip_amount': {'type': 'number', 'description': 'Tip amount.'}, 'per_person_tip': {'type': 'number', 'description': "Each person's share of the tip."}, 'per_person_total': {'type': 'number', 'description': "Each person's total including their share of the bill and tip."}, 'effective_tip_pct': {'type': 'number', 'description': 'Actual tip percentage after rounding (if round_up is true, may differ from input).'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['current_amps'], 'properties': {'layer': {'enum': ['external', 'internal'], 'type': 'string', 'default': 'external', 'description': 'PCB layer type. External layers dissipate heat better (k=0.048); internal layers use k=0.024.'}, 'copper_oz': {'type': 'number', 'default': 1, 'description': 'Copper weight in ounces per square foot. 1 oz/ft^2 = 1.37 mil (34.8 um) thickness. Common values: 0.5, 1, 2.', 'exclusiveMinimum': 0}, 'temp_rise_c': {'type': 'number', 'default': 10, 'description': 'Allowable temperature rise above ambient in degrees Celsius. IPC-2221 standard uses 10, 20, or 30 C.', 'exclusiveMinimum': 0}, 'current_amps': {'type': 'number', 'description': 'Required current capacity in amperes (A).', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['width_mil', 'width_mm', 'area_mil2', 'resistance_per_cm_mohm'], 'properties': {'width_mm': {'type': 'number', 'description': 'Required trace width in millimeters.'}, 'area_mil2': {'type': 'number', 'description': 'Required cross-sectional area in square mils.'}, 'width_mil': {'type': 'number', 'description': 'Required trace width in mils (thousandths of an inch).'}, 'resistance_per_cm_mohm': {'type': 'number', 'description': 'Approximate DC resistance per centimeter of trace in milliohms, using copper resistivity.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value', 'from', 'to'], 'properties': {'to': {'type': 'string', 'description': "Target unit abbreviation (e.g., 'mi', 'kg', 'c', 'bar', 'btu'). Case-insensitive."}, 'from': {'type': 'string', 'description': "Source unit abbreviation (e.g., 'km', 'lb', 'f', 'psi', 'kwh'). Case-insensitive."}, 'value': {'type': 'number', 'description': 'The numeric value to convert.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['result', 'from_unit', 'to_unit', 'category', 'formula'], 'properties': {'result': {'type': 'number', 'description': 'The converted value.'}, 'formula': {'type': 'string', 'description': 'Human-readable conversion formula applied.'}, 'to_unit': {'type': 'string', 'description': 'Normalized target unit abbreviation.'}, 'category': {'type': 'string', 'description': 'Unit category (length, mass, volume, area, speed, pressure, energy, data, time, temperature).'}, 'from_unit': {'type': 'string', 'description': 'Normalized source unit abbreviation.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['va_rating', 'watt_rating', 'load_watts'], 'properties': {'va_rating': {'type': 'number', 'description': 'UPS VA (volt-ampere) rating', 'exclusiveMinimum': 0}, 'battery_ah': {'type': 'number', 'default': 9, 'description': 'Capacity per battery in amp-hours (Ah)', 'exclusiveMinimum': 0}, 'efficiency': {'type': 'number', 'default': 0.9, 'maximum': 1, 'minimum': 0, 'description': 'Inverter/conversion efficiency (0-1), default 0.9'}, 'load_watts': {'type': 'number', 'description': 'Connected load in watts', 'exclusiveMinimum': 0}, 'watt_rating': {'type': 'number', 'description': 'UPS real power (watt) rating', 'exclusiveMinimum': 0}, 'battery_count': {'type': 'integer', 'default': 1, 'description': 'Number of batteries in the UPS', 'exclusiveMinimum': 0}, 'battery_voltage': {'type': 'number', 'default': 12, 'description': 'Voltage per battery (V)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['runtime_minutes', 'runtime_hours', 'load_pct', 'battery_wh', 'effective_wh', 'pf', 'overloaded'], 'properties': {'pf': {'type': 'number', 'description': 'Power factor (watt_rating / va_rating)'}, 'load_pct': {'type': 'number', 'description': 'Load as percentage of UPS watt capacity'}, 'battery_wh': {'type': 'number', 'description': 'Total battery energy in watt-hours (before efficiency)'}, 'overloaded': {'type': 'boolean', 'description': 'True if load exceeds UPS watt rating'}, 'effective_wh': {'type': 'number', 'description': 'Usable battery energy after efficiency losses (Wh)'}, 'runtime_hours': {'type': 'number', 'description': 'Estimated backup runtime in hours'}, 'runtime_minutes': {'type': 'number', 'description': 'Estimated backup runtime in minutes'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['vin', 'r1_ohm', 'r2_ohm'], 'properties': {'vin': {'type': 'number', 'description': 'Input voltage in volts (V). Must be positive.', 'exclusiveMinimum': 0}, 'r1_ohm': {'type': 'number', 'description': 'Upper resistor value in ohms (R1), connected between Vin and Vout node.', 'exclusiveMinimum': 0}, 'r2_ohm': {'type': 'number', 'description': 'Lower resistor value in ohms (R2), connected between Vout node and ground.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['vout', 'current_ma', 'power_r1_mw', 'power_r2_mw', 'ratio', 'total_power_mw'], 'properties': {'vout': {'type': 'number', 'description': 'Output voltage in volts at the R1-R2 junction.'}, 'ratio': {'type': 'number', 'description': 'Voltage division ratio R2/(R1+R2), dimensionless 0-1.'}, 'current_ma': {'type': 'number', 'description': 'Current through the divider in milliamps (mA).'}, 'power_r1_mw': {'type': 'number', 'description': 'Power dissipated by R1 in milliwatts (mW).'}, 'power_r2_mw': {'type': 'number', 'description': 'Power dissipated by R2 in milliwatts (mW).'}, 'total_power_mw': {'type': 'number', 'description': 'Total power dissipated by the divider in milliwatts (mW).'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['current_amps', 'wire_length_m', 'wire_gauge_awg', 'voltage_v'], 'properties': {'conductor': {'enum': ['copper', 'aluminum'], 'type': 'string', 'default': 'copper', 'description': 'Conductor material: copper or aluminum'}, 'voltage_v': {'type': 'number', 'description': 'System voltage (V)', 'exclusiveMinimum': 0}, 'current_amps': {'type': 'number', 'description': 'Load current in amperes (A)', 'exclusiveMinimum': 0}, 'wire_length_m': {'type': 'number', 'description': 'One-way wire length in meters', 'exclusiveMinimum': 0}, 'wire_gauge_awg': {'type': 'number', 'description': 'Wire gauge in AWG (e.g. 14, 12, 10; use negative for large gauges: -3 = 4/0)'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['voltage_drop_v', 'voltage_drop_pct', 'voltage_at_load_v', 'resistance_ohm', 'power_loss_w', 'compliant'], 'properties': {'compliant': {'type': 'boolean', 'description': 'True if voltage drop is within NEC limits (<=3% branch, <=5% feeder)'}, 'power_loss_w': {'type': 'number', 'description': 'Power dissipated as heat in the conductor (W)'}, 'resistance_ohm': {'type': 'number', 'description': 'Total round-trip conductor resistance (ohm)'}, 'voltage_drop_v': {'type': 'number', 'description': 'Voltage drop across the conductor run (V)'}, 'voltage_drop_pct': {'type': 'number', 'description': 'Voltage drop as a percentage of system voltage'}, 'voltage_at_load_v': {'type': 'number', 'description': 'Voltage at the load end (V)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'vswr': {'type': 'number', 'minimum': 1, 'description': 'Voltage standing wave ratio (>= 1.0, where 1.0 is perfect match)'}, 'return_loss_db': {'type': 'number', 'minimum': 0, 'description': 'Return loss in decibels (positive value, higher is better match)'}, 'reflection_coefficient': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Reflection coefficient magnitude (gamma), 0 to 1'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['vswr', 'return_loss_db', 'reflection_coefficient', 'mismatch_loss_db', 'power_reflected_pct', 'power_transmitted_pct'], 'properties': {'vswr': {'type': 'number', 'description': 'Voltage standing wave ratio'}, 'return_loss_db': {'type': 'number', 'description': 'Return loss in decibels (positive)'}, 'mismatch_loss_db': {'type': 'number', 'description': 'Mismatch loss in decibels'}, 'power_reflected_pct': {'type': 'number', 'description': 'Percentage of power reflected back toward source'}, 'power_transmitted_pct': {'type': 'number', 'description': 'Percentage of power delivered to load'}, 'reflection_coefficient': {'type': 'number', 'description': 'Reflection coefficient magnitude (gamma)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['watts', 'voltage_v'], 'properties': {'watts': {'type': 'number', 'description': 'Power in watts (W)', 'exclusiveMinimum': 0}, 'voltage_v': {'type': 'number', 'description': 'Voltage in volts (V)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['amps', 'milliamps', 'voltage_v', 'watts', 'implied_resistance_ohm'], 'properties': {'amps': {'type': 'number', 'description': 'Current in amperes (A)'}, 'watts': {'type': 'number', 'description': 'Input power echoed back (W)'}, 'milliamps': {'type': 'number', 'description': 'Current in milliamperes (mA)'}, 'voltage_v': {'type': 'number', 'description': 'Input voltage echoed back (V)'}, 'implied_resistance_ohm': {'type': 'number', 'description': 'Implied load resistance in ohms assuming resistive load (V/I)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'freq_mhz': {'type': 'number', 'description': 'Frequency in megahertz (MHz)', 'exclusiveMinimum': 0}, 'wavelength_m': {'type': 'number', 'description': 'Wavelength in metres', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['freq_mhz', 'freq_ghz', 'wavelength_m', 'wavelength_cm', 'wavelength_mm', 'wavelength_ft'], 'properties': {'freq_ghz': {'type': 'number', 'description': 'Frequency in gigahertz (GHz)'}, 'freq_mhz': {'type': 'number', 'description': 'Frequency in megahertz (MHz)'}, 'wavelength_m': {'type': 'number', 'description': 'Wavelength in metres'}, 'wavelength_cm': {'type': 'number', 'description': 'Wavelength in centimetres'}, 'wavelength_ft': {'type': 'number', 'description': 'Wavelength in feet'}, 'wavelength_mm': {'type': 'number', 'description': 'Wavelength in millimetres'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['current_amps'], 'properties': {'conductor': {'enum': ['copper', 'aluminum'], 'type': 'string', 'default': 'copper', 'description': 'Conductor material. Copper has higher ampacity; aluminum is lighter and cheaper for large feeders.'}, 'insulation': {'enum': ['60', '75', '90'], 'type': 'string', 'default': '75', 'description': 'Insulation temperature rating in °C. 60=TW/UF-B, 75=THW/THWN/XHHW (most common), 90=THHN/THWN-2.'}, 'current_amps': {'type': 'number', 'description': 'Required circuit current in amperes. Use 125% of continuous load per NEC 210.20(A).', 'exclusiveMinimum': 0}, 'ambient_temp_c': {'type': 'number', 'default': 30, 'description': 'Ambient temperature in °C. NEC base is 30°C. Higher temps require derating. Typical: 30 (indoor), 40 (attic/hot), 45+ (rooftop conduit).'}, 'continuous_load': {'type': 'boolean', 'default': True, 'description': 'Whether the load operates continuously (3+ hours). NEC requires 125% sizing for continuous loads. Set false for intermittent loads.'}, 'conductors_in_raceway': {'type': 'integer', 'default': 3, 'description': 'Number of current-carrying conductors in a single raceway or cable. More than 3 requires derating per NEC 310.15(C)(2).', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['minimum_awg', 'minimum_awg_label', 'base_ampacity_a', 'derated_ampacity_a', 'required_ampacity_a', 'ambient_correction', 'conductor_count_correction', 'insulation_label', 'all_gauges'], 'properties': {'all_gauges': {'type': 'array', 'items': {'type': 'object', 'required': ['awg', 'awg_label', 'base_ampacity_a', 'derated_ampacity_a', 'sufficient'], 'properties': {'awg': {'type': 'number', 'description': 'AWG gauge number'}, 'awg_label': {'type': 'string', 'description': 'Human-readable AWG label'}, 'sufficient': {'type': 'boolean', 'description': 'Whether this gauge meets the requirement'}, 'base_ampacity_a': {'type': 'number', 'description': 'NEC 310.16 base ampacity'}, 'derated_ampacity_a': {'type': 'number', 'description': 'Ampacity after derating'}}, 'additionalProperties': False}, 'description': 'All available gauges with their ampacities for comparison.'}, 'minimum_awg': {'type': 'number', 'description': 'Minimum AWG wire gauge that meets the derated ampacity requirement.'}, 'base_ampacity_a': {'type': 'number', 'description': 'Base ampacity from NEC 310.16 before any derating, in amperes.'}, 'insulation_label': {'type': 'string', 'description': 'Insulation rating description.'}, 'minimum_awg_label': {'type': 'string', 'description': "Human-readable AWG label (e.g. '4/0', '12', '2')."}, 'ambient_correction': {'type': 'number', 'description': 'Ambient temperature correction factor applied (1.0 at 30°C).'}, 'derated_ampacity_a': {'type': 'number', 'description': 'Final ampacity after applying ambient temperature and conductor count correction factors, in amperes.'}, 'required_ampacity_a': {'type': 'number', 'description': 'Ampacity required to carry the load (includes 125% factor if continuous).'}, 'conductor_count_correction': {'type': 'number', 'description': 'Conductor count correction factor (1.0 for 3 or fewer).'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['current_amps', 'voltage', 'distance_m'], 'properties': {'voltage': {'type': 'number', 'description': 'System voltage (V)', 'exclusiveMinimum': 0}, 'conductor': {'enum': ['copper', 'aluminum'], 'type': 'string', 'default': 'copper', 'description': 'Conductor material: copper or aluminum'}, 'distance_m': {'type': 'number', 'description': 'One-way conductor distance in meters', 'exclusiveMinimum': 0}, 'current_amps': {'type': 'number', 'description': 'Load current in amperes (A)', 'exclusiveMinimum': 0}, 'max_drop_pct': {'type': 'number', 'default': 3, 'description': 'Maximum allowable voltage drop as percentage (default 3%)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['recommended_awg', 'recommended_awg_label', 'actual_drop_pct', 'actual_drop_v', 'resistance_per_m', 'wire_area_mm2', 'insufficient'], 'properties': {'insufficient': {'type': 'boolean', 'description': 'True if even the largest AWG (4/0) cannot meet the voltage drop target'}, 'actual_drop_v': {'type': 'number', 'description': 'Actual voltage drop in volts'}, 'wire_area_mm2': {'type': 'number', 'description': 'Cross-sectional area of recommended gauge in mm^2'}, 'actual_drop_pct': {'type': 'number', 'description': 'Actual voltage drop percentage with recommended gauge'}, 'recommended_awg': {'type': 'number', 'description': 'Recommended AWG gauge number (smaller number = thicker wire)'}, 'resistance_per_m': {'type': 'number', 'description': 'Resistance per meter of the recommended gauge (ohm/m)'}, 'recommended_awg_label': {'type': 'string', 'description': "Human-readable AWG label (e.g. '10' or '0000 (4/0)')"}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'ipv6': {'type': 'boolean', 'default': False, 'description': 'Whether the outer (transport) IP header uses IPv6 (40 bytes) instead of IPv4 (20 bytes)'}, 'over_pppoe': {'type': 'boolean', 'default': False, 'description': 'Whether the link uses PPPoE encapsulation (adds 8 bytes of overhead)'}, 'interface_mtu': {'type': 'integer', 'default': 1500, 'description': 'MTU of the underlying physical or virtual network interface in bytes', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['wireguard_mtu', 'overhead_bytes', 'breakdown'], 'properties': {'breakdown': {'type': 'object', 'required': ['wireguard_header', 'ip_header', 'udp_header', 'pppoe_header'], 'properties': {'ip_header': {'type': 'number', 'description': 'Outer IP header size: 20 bytes for IPv4, 40 bytes for IPv6'}, 'udp_header': {'type': 'number', 'description': 'UDP header overhead in bytes (always 8)'}, 'pppoe_header': {'type': 'number', 'description': 'PPPoE encapsulation overhead in bytes (0 or 8)'}, 'wireguard_header': {'type': 'number', 'description': 'WireGuard protocol header overhead in bytes (always 32)'}}, 'description': 'Itemized breakdown of each overhead component in bytes', 'additionalProperties': False}, 'wireguard_mtu': {'type': 'number', 'description': 'Optimal MTU to set on the WireGuard tunnel interface in bytes'}, 'overhead_bytes': {'type': 'number', 'description': 'Total encapsulation overhead in bytes subtracted from interface MTU'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['disk_count', 'disk_size_tb'], 'properties': {'raid_type': {'enum': ['stripe', 'mirror', 'raidz1', 'raidz2', 'raidz3'], 'type': 'string', 'default': 'raidz1', 'description': 'ZFS RAID level: stripe (no redundancy), mirror (2-way), raidz1/2/3 (single/double/triple parity)'}, 'disk_count': {'type': 'integer', 'minimum': 1, 'description': 'Total number of physical disks in the pool'}, 'disk_size_tb': {'type': 'number', 'description': 'Size of each individual disk in terabytes', 'exclusiveMinimum': 0}, 'record_size_kb': {'type': 'number', 'default': 128, 'description': 'ZFS record size in kilobytes, affects compression and performance', 'exclusiveMinimum': 0}, 'metadata_overhead_pct': {'type': 'number', 'default': 3.2, 'maximum': 100, 'minimum': 0, 'description': 'Percentage of raw capacity consumed by ZFS metadata, checksums, and internal structures'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['raw_tb', 'usable_tb', 'parity_disks', 'data_disks', 'efficiency_pct'], 'properties': {'raw_tb': {'type': 'number', 'description': 'Total raw capacity across all disks in terabytes'}, 'usable_tb': {'type': 'number', 'description': 'Usable capacity after parity and metadata overhead in terabytes'}, 'data_disks': {'type': 'number', 'description': 'Number of disks (or disk-equivalents) available for data storage'}, 'parity_disks': {'type': 'number', 'description': 'Number of disks (or disk-equivalents) consumed by parity/mirroring'}, 'efficiency_pct': {'type': 'number', 'description': 'Storage efficiency as a percentage of raw capacity'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pool_size_tb'], 'properties': {'workload': {'enum': ['general', 'nas', 'database', 'virtualization'], 'type': 'string', 'default': 'general', 'description': 'Primary workload type: general (mixed), nas (sequential reads/writes), database (random IO), virtualization (mixed random)'}, 'pool_size_tb': {'type': 'number', 'description': 'Total usable pool size in terabytes', 'exclusiveMinimum': 0}, 'dedup_enabled': {'type': 'boolean', 'default': False, 'description': 'Whether ZFS deduplication is enabled (significantly increases RAM requirements)'}, 'l2arc_size_gb': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Size of L2ARC (read cache SSD) in gigabytes; requires additional RAM for index'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['min_ram_gb', 'recommended_ram_gb', 'arc_target_gb', 'dedup_table_gb', 'notes'], 'properties': {'notes': {'type': 'string', 'description': 'Human-readable sizing rationale and recommendations'}, 'min_ram_gb': {'type': 'number', 'description': 'Minimum recommended RAM in gigabytes for stable operation'}, 'arc_target_gb': {'type': 'number', 'description': 'Target ARC (Adaptive Replacement Cache) size in gigabytes'}, 'dedup_table_gb': {'type': 'number', 'description': 'Estimated dedup table (DDT) RAM requirement in gigabytes'}, 'recommended_ram_gb': {'type': 'number', 'description': 'Recommended RAM in gigabytes for optimal performance (2x minimum)'}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
Opensensemap
Finds and aggregates readings from community-operated openSenseMap environmental sensors, including temperature, humidity, air qu…
RoboSelect360 - Humanoid Robot Intelligence
Provides market, specification, bill-of-materials, supply-chain, dependency, and risk intelligence for humanoid robots across mec…
device-house
Designs electronic devices and produces bills of materials, schematics, PCB layouts, firmware templates, manufacturing files, and…
Depureco Industrial Vacuum Explorer
Searches and configures industrial vacuum equipment by application, sector, certification, power, capacity, filtration, and techn…
oeradio-mcp
Provides amateur-radio band and callsign information plus calculators for antennas, power, wavelength, cable loss, SWR, EIRP, and…
eurorack
Provides citation-anchored Eurorack module specifications, compatibility information, manuals, synthesis concepts, patch techniqu…
sheetsdata-mcp
Searches electronic components and datasheets, extracts specifications and images, compares parts, finds alternatives, and checks…
RoboParts 机器人零部件兼容性
Searches a database of humanoid-robot components, compares specifications, checks protocol, electrical, mechanical, and software …