{"id":"local-interval-resolve","version":"1.0.0","description":"Resolve a zoned local start/end pair to exact millisecond instants under explicit gap and overlap policies.","supported_operations":["resolve local interval to instants","apply DST gap policy to interval","apply overlap policy to local endpoints","convert New York local interval to epoch milliseconds","resolve ambiguous local start and end","resolve US Eastern interval"],"unsupported_operations":["discover host time zone","resolve zones outside the pinned subset","apply current civil law"],"semantics":["RFC 9557 local times are resolved using explicit ambiguity and gap policies against the pinned IANA snapshot.","The returned interval preserves endpoint ordering; each endpoint records the selected UTC offset and resolution.","Alias US/Eastern is reported canonically as America/New_York.","America/New_York and US/Eastern are supported only for local years 1970 through 2037.","Caller rules are versioned by the required caller_rule_version."],"limits":{"max_input_bytes":4096,"max_local_chars":23},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["start_local","end_local","zone","ambiguity_policy","gap_policy","caller_rule_version"],"properties":{"start_local":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?$"},"end_local":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?$"},"zone":{"type":"string","minLength":1,"maxLength":64},"ambiguity_policy":{"type":"string","enum":["earlier","later","reject"]},"gap_policy":{"type":"string","enum":["shift_forward","shift_backward","reject"]},"caller_rule_version":{"type":"string","minLength":1,"maxLength":64}}},"output_schema":{"type":"object","additionalProperties":false,"required":["standard_version","data_version","caller_rule_version","canonical_zone","start","end"],"properties":{"standard_version":{"type":"string"},"data_version":{"type":"string"},"caller_rule_version":{"type":"string"},"canonical_zone":{"type":"string"},"start":{"type":"object","additionalProperties":false,"required":["instant_ms","offset_seconds","resolution"],"properties":{"instant_ms":{"type":"string"},"offset_seconds":{"type":"integer"},"resolution":{"type":"string"}}},"end":{"type":"object","additionalProperties":false,"required":["instant_ms","offset_seconds","resolution"],"properties":{"instant_ms":{"type":"string"},"offset_seconds":{"type":"integer"},"resolution":{"type":"string"}}}}},"examples":[{"input":{"start_local":"2025-01-15T10:00:00","end_local":"2025-01-15T11:00:00","zone":"UTC","ambiguity_policy":"earlier","gap_policy":"reject","caller_rule_version":"rules-1"},"output":{"standard_version":"RFC9557/RFC3339/ISO8601-1:2019","data_version":"iana-tzdb-2025b-subset-nyc","caller_rule_version":"rules-1","canonical_zone":"UTC","start":{"instant_ms":"1736935200000","offset_seconds":0,"resolution":"exact"},"end":{"instant_ms":"1736938800000","offset_seconds":0,"resolution":"exact"}}},{"input":{"start_local":"2025-11-02T01:30:00","end_local":"2025-11-02T02:30:00","zone":"US/Eastern","ambiguity_policy":"later","gap_policy":"shift_forward","caller_rule_version":"rules-2"},"output":{"standard_version":"RFC9557/RFC3339/ISO8601-1:2019","data_version":"iana-tzdb-2025b-subset-nyc","caller_rule_version":"rules-2","canonical_zone":"America/New_York","start":{"instant_ms":"1762065000000","offset_seconds":-18000,"resolution":"overlap_later"},"end":{"instant_ms":"1762068600000","offset_seconds":-18000,"resolution":"exact"}}}],"execute_url":"/v1/tools/local-interval-resolve/versions/1.0.0/execute"}