The document editor applies patches to explicit object-key paths. Implement patching so a missing intermediate object is rejected rather than silently creating a different document structure.
Build the implementation in TypeScript under /app, with /app/run.sh as its entry point. Read one JSON request from standard input and write one JSON result to standard output. Input has an object document and ordered operations with op set/delete and path as a nonempty list of string keys. Traverse existing object intermediates only; lists are not indexed. Set creates or replaces the final key using value; delete requires the final key to exist. Return an independent patched document. Reject invalid roots, paths, missing intermediates, nonexistent deletions or unknown operations.
Reject inputs that violate an explicit validation rule with exit status 2, no standard output, and {"error":"invalid_input"} on standard error. For valid input, exit with status 0. Keep the implementation reusable for new inputs; it must work offline and must not depend on the example data being the only data it receives.
Repair or replace the unfinished /app/run.sh and add source files under /app. Malformed JSON must use the same invalid-input response. Do not read /tests or /oracle from the application.