@with-logic/elwood 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +172 -0
- package/LICENSE +21 -0
- package/README.md +304 -0
- package/dist/bridge/limits.d.ts +13 -0
- package/dist/bridge/limits.d.ts.map +1 -0
- package/dist/bridge/limits.js +13 -0
- package/dist/bridge/limits.js.map +1 -0
- package/dist/bridge/parse.d.ts +21 -0
- package/dist/bridge/parse.d.ts.map +1 -0
- package/dist/bridge/parse.js +45 -0
- package/dist/bridge/parse.js.map +1 -0
- package/dist/bridge/script.d.ts +6 -0
- package/dist/bridge/script.d.ts.map +1 -0
- package/dist/bridge/script.js +76 -0
- package/dist/bridge/script.js.map +1 -0
- package/dist/bridge/server.d.ts +26 -0
- package/dist/bridge/server.d.ts.map +1 -0
- package/dist/bridge/server.js +149 -0
- package/dist/bridge/server.js.map +1 -0
- package/dist/bridge/types.d.ts +10 -0
- package/dist/bridge/types.d.ts.map +1 -0
- package/dist/bridge/types.js +6 -0
- package/dist/bridge/types.js.map +1 -0
- package/dist/claude/attach-images.d.ts +17 -0
- package/dist/claude/attach-images.d.ts.map +1 -0
- package/dist/claude/attach-images.js +42 -0
- package/dist/claude/attach-images.js.map +1 -0
- package/dist/claude/command.d.ts +11 -0
- package/dist/claude/command.d.ts.map +1 -0
- package/dist/claude/command.js +34 -0
- package/dist/claude/command.js.map +1 -0
- package/dist/claude/handler-types.d.ts +23 -0
- package/dist/claude/handler-types.d.ts.map +1 -0
- package/dist/claude/handler-types.js +6 -0
- package/dist/claude/handler-types.js.map +1 -0
- package/dist/claude/hook-dispatch.d.ts +9 -0
- package/dist/claude/hook-dispatch.d.ts.map +1 -0
- package/dist/claude/hook-dispatch.js +12 -0
- package/dist/claude/hook-dispatch.js.map +1 -0
- package/dist/claude/hook-events-extra.d.ts +81 -0
- package/dist/claude/hook-events-extra.d.ts.map +1 -0
- package/dist/claude/hook-events-extra.js +6 -0
- package/dist/claude/hook-events-extra.js.map +1 -0
- package/dist/claude/hook-events.d.ts +101 -0
- package/dist/claude/hook-events.d.ts.map +1 -0
- package/dist/claude/hook-events.js +6 -0
- package/dist/claude/hook-events.js.map +1 -0
- package/dist/claude/hook-names.d.ts +24 -0
- package/dist/claude/hook-names.d.ts.map +1 -0
- package/dist/claude/hook-names.js +45 -0
- package/dist/claude/hook-names.js.map +1 -0
- package/dist/claude/hooks/dispatch.d.ts +9 -0
- package/dist/claude/hooks/dispatch.d.ts.map +1 -0
- package/dist/claude/hooks/dispatch.js +12 -0
- package/dist/claude/hooks/dispatch.js.map +1 -0
- package/dist/claude/hooks/events-extra.d.ts +81 -0
- package/dist/claude/hooks/events-extra.d.ts.map +1 -0
- package/dist/claude/hooks/events-extra.js +6 -0
- package/dist/claude/hooks/events-extra.js.map +1 -0
- package/dist/claude/hooks/events.d.ts +101 -0
- package/dist/claude/hooks/events.d.ts.map +1 -0
- package/dist/claude/hooks/events.js +6 -0
- package/dist/claude/hooks/events.js.map +1 -0
- package/dist/claude/hooks/index.d.ts +78 -0
- package/dist/claude/hooks/index.d.ts.map +1 -0
- package/dist/claude/hooks/index.js +6 -0
- package/dist/claude/hooks/index.js.map +1 -0
- package/dist/claude/hooks/names.d.ts +24 -0
- package/dist/claude/hooks/names.d.ts.map +1 -0
- package/dist/claude/hooks/names.js +45 -0
- package/dist/claude/hooks/names.js.map +1 -0
- package/dist/claude/hooks/tool-events.d.ts +10 -0
- package/dist/claude/hooks/tool-events.d.ts.map +1 -0
- package/dist/claude/hooks/tool-events.js +18 -0
- package/dist/claude/hooks/tool-events.js.map +1 -0
- package/dist/claude/hooks/tool-types.d.ts +158 -0
- package/dist/claude/hooks/tool-types.d.ts.map +1 -0
- package/dist/claude/hooks/tool-types.js +6 -0
- package/dist/claude/hooks/tool-types.js.map +1 -0
- package/dist/claude/hooks.d.ts +78 -0
- package/dist/claude/hooks.d.ts.map +1 -0
- package/dist/claude/hooks.js +6 -0
- package/dist/claude/hooks.js.map +1 -0
- package/dist/claude/list-models.d.ts +14 -0
- package/dist/claude/list-models.d.ts.map +1 -0
- package/dist/claude/list-models.js +31 -0
- package/dist/claude/list-models.js.map +1 -0
- package/dist/claude/login/abort.d.ts +39 -0
- package/dist/claude/login/abort.d.ts.map +1 -0
- package/dist/claude/login/abort.js +81 -0
- package/dist/claude/login/abort.js.map +1 -0
- package/dist/claude/login/driver.d.ts +27 -0
- package/dist/claude/login/driver.d.ts.map +1 -0
- package/dist/claude/login/driver.js +30 -0
- package/dist/claude/login/driver.js.map +1 -0
- package/dist/claude/login/expiry-screen.d.ts +24 -0
- package/dist/claude/login/expiry-screen.d.ts.map +1 -0
- package/dist/claude/login/expiry-screen.js +31 -0
- package/dist/claude/login/expiry-screen.js.map +1 -0
- package/dist/claude/login/screens.d.ts +26 -0
- package/dist/claude/login/screens.d.ts.map +1 -0
- package/dist/claude/login/screens.js +33 -0
- package/dist/claude/login/screens.js.map +1 -0
- package/dist/claude/login/session-login.d.ts +24 -0
- package/dist/claude/login/session-login.d.ts.map +1 -0
- package/dist/claude/login/session-login.js +97 -0
- package/dist/claude/login/session-login.js.map +1 -0
- package/dist/claude/login/stages.d.ts +22 -0
- package/dist/claude/login/stages.d.ts.map +1 -0
- package/dist/claude/login/stages.js +144 -0
- package/dist/claude/login/stages.js.map +1 -0
- package/dist/claude/login/types.d.ts +38 -0
- package/dist/claude/login/types.d.ts.map +1 -0
- package/dist/claude/login/types.js +5 -0
- package/dist/claude/login/types.js.map +1 -0
- package/dist/claude/login/validate.d.ts +15 -0
- package/dist/claude/login/validate.d.ts.map +1 -0
- package/dist/claude/login/validate.js +43 -0
- package/dist/claude/login/validate.js.map +1 -0
- package/dist/claude/login-expired.d.ts +31 -0
- package/dist/claude/login-expired.d.ts.map +1 -0
- package/dist/claude/login-expired.js +61 -0
- package/dist/claude/login-expired.js.map +1 -0
- package/dist/claude/model-picker.d.ts +7 -0
- package/dist/claude/model-picker.d.ts.map +1 -0
- package/dist/claude/model-picker.js +43 -0
- package/dist/claude/model-picker.js.map +1 -0
- package/dist/claude/model-switch-confirmation.d.ts +16 -0
- package/dist/claude/model-switch-confirmation.d.ts.map +1 -0
- package/dist/claude/model-switch-confirmation.js +63 -0
- package/dist/claude/model-switch-confirmation.js.map +1 -0
- package/dist/claude/normalize.d.ts +7 -0
- package/dist/claude/normalize.d.ts.map +1 -0
- package/dist/claude/normalize.js +63 -0
- package/dist/claude/normalize.js.map +1 -0
- package/dist/claude/permissions.d.ts +26 -0
- package/dist/claude/permissions.d.ts.map +1 -0
- package/dist/claude/permissions.js +6 -0
- package/dist/claude/permissions.js.map +1 -0
- package/dist/claude/preflight.d.ts +17 -0
- package/dist/claude/preflight.d.ts.map +1 -0
- package/dist/claude/preflight.js +82 -0
- package/dist/claude/preflight.js.map +1 -0
- package/dist/claude/resize-restore.d.ts +13 -0
- package/dist/claude/resize-restore.d.ts.map +1 -0
- package/dist/claude/resize-restore.js +29 -0
- package/dist/claude/resize-restore.js.map +1 -0
- package/dist/claude/screen-table.d.ts +28 -0
- package/dist/claude/screen-table.d.ts.map +1 -0
- package/dist/claude/screen-table.js +55 -0
- package/dist/claude/screen-table.js.map +1 -0
- package/dist/claude/serialize.d.ts +8 -0
- package/dist/claude/serialize.d.ts.map +1 -0
- package/dist/claude/serialize.js +45 -0
- package/dist/claude/serialize.js.map +1 -0
- package/dist/claude/session/bridge.d.ts +11 -0
- package/dist/claude/session/bridge.d.ts.map +1 -0
- package/dist/claude/session/bridge.js +18 -0
- package/dist/claude/session/bridge.js.map +1 -0
- package/dist/claude/session/build.d.ts +15 -0
- package/dist/claude/session/build.d.ts.map +1 -0
- package/dist/claude/session/build.js +147 -0
- package/dist/claude/session/build.js.map +1 -0
- package/dist/claude/session/hook-handler.d.ts +34 -0
- package/dist/claude/session/hook-handler.d.ts.map +1 -0
- package/dist/claude/session/hook-handler.js +42 -0
- package/dist/claude/session/hook-handler.js.map +1 -0
- package/dist/claude/session/index.d.ts +18 -0
- package/dist/claude/session/index.d.ts.map +1 -0
- package/dist/claude/session/index.js +58 -0
- package/dist/claude/session/index.js.map +1 -0
- package/dist/claude/session/instance.d.ts +42 -0
- package/dist/claude/session/instance.d.ts.map +1 -0
- package/dist/claude/session/instance.js +146 -0
- package/dist/claude/session/instance.js.map +1 -0
- package/dist/claude/session/interface.d.ts +49 -0
- package/dist/claude/session/interface.d.ts.map +1 -0
- package/dist/claude/session/interface.js +10 -0
- package/dist/claude/session/interface.js.map +1 -0
- package/dist/claude/session/resume.d.ts +8 -0
- package/dist/claude/session/resume.d.ts.map +1 -0
- package/dist/claude/session/resume.js +47 -0
- package/dist/claude/session/resume.js.map +1 -0
- package/dist/claude/session/runtime.d.ts +43 -0
- package/dist/claude/session/runtime.d.ts.map +1 -0
- package/dist/claude/session/runtime.js +105 -0
- package/dist/claude/session/runtime.js.map +1 -0
- package/dist/claude/session/start-or-resume.d.ts +12 -0
- package/dist/claude/session/start-or-resume.d.ts.map +1 -0
- package/dist/claude/session/start-or-resume.js +32 -0
- package/dist/claude/session/start-or-resume.js.map +1 -0
- package/dist/claude/session/transcript.d.ts +62 -0
- package/dist/claude/session/transcript.d.ts.map +1 -0
- package/dist/claude/session/transcript.js +88 -0
- package/dist/claude/session/transcript.js.map +1 -0
- package/dist/claude/session-bridge.d.ts +11 -0
- package/dist/claude/session-bridge.d.ts.map +1 -0
- package/dist/claude/session-bridge.js +18 -0
- package/dist/claude/session-bridge.js.map +1 -0
- package/dist/claude/session-build.d.ts +15 -0
- package/dist/claude/session-build.d.ts.map +1 -0
- package/dist/claude/session-build.js +147 -0
- package/dist/claude/session-build.js.map +1 -0
- package/dist/claude/session-hook-handler.d.ts +34 -0
- package/dist/claude/session-hook-handler.d.ts.map +1 -0
- package/dist/claude/session-hook-handler.js +42 -0
- package/dist/claude/session-hook-handler.js.map +1 -0
- package/dist/claude/session-instance.d.ts +42 -0
- package/dist/claude/session-instance.d.ts.map +1 -0
- package/dist/claude/session-instance.js +146 -0
- package/dist/claude/session-instance.js.map +1 -0
- package/dist/claude/session-interface.d.ts +49 -0
- package/dist/claude/session-interface.d.ts.map +1 -0
- package/dist/claude/session-interface.js +10 -0
- package/dist/claude/session-interface.js.map +1 -0
- package/dist/claude/session-resume.d.ts +8 -0
- package/dist/claude/session-resume.d.ts.map +1 -0
- package/dist/claude/session-resume.js +47 -0
- package/dist/claude/session-resume.js.map +1 -0
- package/dist/claude/session-runtime.d.ts +43 -0
- package/dist/claude/session-runtime.d.ts.map +1 -0
- package/dist/claude/session-runtime.js +105 -0
- package/dist/claude/session-runtime.js.map +1 -0
- package/dist/claude/session-transcript.d.ts +62 -0
- package/dist/claude/session-transcript.d.ts.map +1 -0
- package/dist/claude/session-transcript.js +88 -0
- package/dist/claude/session-transcript.js.map +1 -0
- package/dist/claude/session.d.ts +18 -0
- package/dist/claude/session.d.ts.map +1 -0
- package/dist/claude/session.js +58 -0
- package/dist/claude/session.js.map +1 -0
- package/dist/claude/settings.d.ts +14 -0
- package/dist/claude/settings.d.ts.map +1 -0
- package/dist/claude/settings.js +34 -0
- package/dist/claude/settings.js.map +1 -0
- package/dist/claude/simple.d.ts +28 -0
- package/dist/claude/simple.d.ts.map +1 -0
- package/dist/claude/simple.js +45 -0
- package/dist/claude/simple.js.map +1 -0
- package/dist/claude/start-or-resume.d.ts +12 -0
- package/dist/claude/start-or-resume.d.ts.map +1 -0
- package/dist/claude/start-or-resume.js +32 -0
- package/dist/claude/start-or-resume.js.map +1 -0
- package/dist/claude/startup-prompts.d.ts +16 -0
- package/dist/claude/startup-prompts.d.ts.map +1 -0
- package/dist/claude/startup-prompts.js +46 -0
- package/dist/claude/startup-prompts.js.map +1 -0
- package/dist/claude/startup-size.d.ts +8 -0
- package/dist/claude/startup-size.d.ts.map +1 -0
- package/dist/claude/startup-size.js +8 -0
- package/dist/claude/startup-size.js.map +1 -0
- package/dist/claude/tool-hook-events.d.ts +10 -0
- package/dist/claude/tool-hook-events.d.ts.map +1 -0
- package/dist/claude/tool-hook-events.js +18 -0
- package/dist/claude/tool-hook-events.js.map +1 -0
- package/dist/claude/tool-types.d.ts +158 -0
- package/dist/claude/tool-types.d.ts.map +1 -0
- package/dist/claude/tool-types.js +6 -0
- package/dist/claude/tool-types.js.map +1 -0
- package/dist/claude/transcript/baseline.d.ts +33 -0
- package/dist/claude/transcript/baseline.d.ts.map +1 -0
- package/dist/claude/transcript/baseline.js +108 -0
- package/dist/claude/transcript/baseline.js.map +1 -0
- package/dist/claude/transcript/cursor-io.d.ts +15 -0
- package/dist/claude/transcript/cursor-io.d.ts.map +1 -0
- package/dist/claude/transcript/cursor-io.js +44 -0
- package/dist/claude/transcript/cursor-io.js.map +1 -0
- package/dist/claude/transcript/cursor.d.ts +24 -0
- package/dist/claude/transcript/cursor.d.ts.map +1 -0
- package/dist/claude/transcript/cursor.js +43 -0
- package/dist/claude/transcript/cursor.js.map +1 -0
- package/dist/claude/transcript/drain-context.d.ts +22 -0
- package/dist/claude/transcript/drain-context.d.ts.map +1 -0
- package/dist/claude/transcript/drain-context.js +18 -0
- package/dist/claude/transcript/drain-context.js.map +1 -0
- package/dist/claude/transcript/drain.d.ts +33 -0
- package/dist/claude/transcript/drain.d.ts.map +1 -0
- package/dist/claude/transcript/drain.js +56 -0
- package/dist/claude/transcript/drain.js.map +1 -0
- package/dist/claude/transcript/drops.d.ts +9 -0
- package/dist/claude/transcript/drops.d.ts.map +1 -0
- package/dist/claude/transcript/drops.js +9 -0
- package/dist/claude/transcript/drops.js.map +1 -0
- package/dist/claude/transcript/emit.d.ts +26 -0
- package/dist/claude/transcript/emit.d.ts.map +1 -0
- package/dist/claude/transcript/emit.js +57 -0
- package/dist/claude/transcript/emit.js.map +1 -0
- package/dist/claude/transcript/fs-guard.d.ts +24 -0
- package/dist/claude/transcript/fs-guard.d.ts.map +1 -0
- package/dist/claude/transcript/fs-guard.js +48 -0
- package/dist/claude/transcript/fs-guard.js.map +1 -0
- package/dist/claude/transcript/index.d.ts +38 -0
- package/dist/claude/transcript/index.d.ts.map +1 -0
- package/dist/claude/transcript/index.js +191 -0
- package/dist/claude/transcript/index.js.map +1 -0
- package/dist/claude/transcript/summary.d.ts +40 -0
- package/dist/claude/transcript/summary.d.ts.map +1 -0
- package/dist/claude/transcript/summary.js +90 -0
- package/dist/claude/transcript/summary.js.map +1 -0
- package/dist/claude/transcript/warnings.d.ts +31 -0
- package/dist/claude/transcript/warnings.d.ts.map +1 -0
- package/dist/claude/transcript/warnings.js +53 -0
- package/dist/claude/transcript/warnings.js.map +1 -0
- package/dist/claude/transcript/watcher-config.d.ts +22 -0
- package/dist/claude/transcript/watcher-config.d.ts.map +1 -0
- package/dist/claude/transcript/watcher-config.js +7 -0
- package/dist/claude/transcript/watcher-config.js.map +1 -0
- package/dist/claude/validate/input.d.ts +8 -0
- package/dist/claude/validate/input.d.ts.map +1 -0
- package/dist/claude/validate/input.js +137 -0
- package/dist/claude/validate/input.js.map +1 -0
- package/dist/claude/validate/permission-update.d.ts +10 -0
- package/dist/claude/validate/permission-update.d.ts.map +1 -0
- package/dist/claude/validate/permission-update.js +72 -0
- package/dist/claude/validate/permission-update.js.map +1 -0
- package/dist/claude/validate/result.d.ts +7 -0
- package/dist/claude/validate/result.d.ts.map +1 -0
- package/dist/claude/validate/result.js +118 -0
- package/dist/claude/validate/result.js.map +1 -0
- package/dist/claude/validate/shapes.d.ts +22 -0
- package/dist/claude/validate/shapes.d.ts.map +1 -0
- package/dist/claude/validate/shapes.js +15 -0
- package/dist/claude/validate/shapes.js.map +1 -0
- package/dist/claude/validate/tool-update.d.ts +15 -0
- package/dist/claude/validate/tool-update.d.ts.map +1 -0
- package/dist/claude/validate/tool-update.js +122 -0
- package/dist/claude/validate/tool-update.js.map +1 -0
- package/dist/claude/validate-input.d.ts +8 -0
- package/dist/claude/validate-input.d.ts.map +1 -0
- package/dist/claude/validate-input.js +137 -0
- package/dist/claude/validate-input.js.map +1 -0
- package/dist/claude/validate-permission-update.d.ts +10 -0
- package/dist/claude/validate-permission-update.d.ts.map +1 -0
- package/dist/claude/validate-permission-update.js +72 -0
- package/dist/claude/validate-permission-update.js.map +1 -0
- package/dist/claude/validate-result.d.ts +7 -0
- package/dist/claude/validate-result.d.ts.map +1 -0
- package/dist/claude/validate-result.js +118 -0
- package/dist/claude/validate-result.js.map +1 -0
- package/dist/claude/validate-shapes.d.ts +22 -0
- package/dist/claude/validate-shapes.d.ts.map +1 -0
- package/dist/claude/validate-shapes.js +15 -0
- package/dist/claude/validate-shapes.js.map +1 -0
- package/dist/claude/validate-tool-update.d.ts +15 -0
- package/dist/claude/validate-tool-update.d.ts.map +1 -0
- package/dist/claude/validate-tool-update.js +122 -0
- package/dist/claude/validate-tool-update.js.map +1 -0
- package/dist/cli/agent-detect.d.ts +44 -0
- package/dist/cli/agent-detect.d.ts.map +1 -0
- package/dist/cli/agent-detect.js +66 -0
- package/dist/cli/agent-detect.js.map +1 -0
- package/dist/cli/arg-errors.d.ts +6 -0
- package/dist/cli/arg-errors.d.ts.map +1 -0
- package/dist/cli/arg-errors.js +44 -0
- package/dist/cli/arg-errors.js.map +1 -0
- package/dist/cli/arg-options.d.ts +26 -0
- package/dist/cli/arg-options.d.ts.map +1 -0
- package/dist/cli/arg-options.js +50 -0
- package/dist/cli/arg-options.js.map +1 -0
- package/dist/cli/args/errors.d.ts +6 -0
- package/dist/cli/args/errors.d.ts.map +1 -0
- package/dist/cli/args/errors.js +44 -0
- package/dist/cli/args/errors.js.map +1 -0
- package/dist/cli/args/index.d.ts +7 -0
- package/dist/cli/args/index.d.ts.map +1 -0
- package/dist/cli/args/index.js +70 -0
- package/dist/cli/args/index.js.map +1 -0
- package/dist/cli/args/options.d.ts +26 -0
- package/dist/cli/args/options.d.ts.map +1 -0
- package/dist/cli/args/options.js +50 -0
- package/dist/cli/args/options.js.map +1 -0
- package/dist/cli/args.d.ts +7 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +70 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/config/codec.d.ts +12 -0
- package/dist/cli/config/codec.d.ts.map +1 -0
- package/dist/cli/config/codec.js +196 -0
- package/dist/cli/config/codec.js.map +1 -0
- package/dist/cli/config/commands.d.ts +15 -0
- package/dist/cli/config/commands.d.ts.map +1 -0
- package/dist/cli/config/commands.js +56 -0
- package/dist/cli/config/commands.js.map +1 -0
- package/dist/cli/config/effective.d.ts +21 -0
- package/dist/cli/config/effective.d.ts.map +1 -0
- package/dist/cli/config/effective.js +70 -0
- package/dist/cli/config/effective.js.map +1 -0
- package/dist/cli/config/keys.d.ts +7 -0
- package/dist/cli/config/keys.d.ts.map +1 -0
- package/dist/cli/config/keys.js +23 -0
- package/dist/cli/config/keys.js.map +1 -0
- package/dist/cli/config/paths.d.ts +13 -0
- package/dist/cli/config/paths.d.ts.map +1 -0
- package/dist/cli/config/paths.js +33 -0
- package/dist/cli/config/paths.js.map +1 -0
- package/dist/cli/config/store.d.ts +16 -0
- package/dist/cli/config/store.d.ts.map +1 -0
- package/dist/cli/config/store.js +97 -0
- package/dist/cli/config/store.js.map +1 -0
- package/dist/cli/duration.d.ts +6 -0
- package/dist/cli/duration.d.ts.map +1 -0
- package/dist/cli/duration.js +20 -0
- package/dist/cli/duration.js.map +1 -0
- package/dist/cli/entry.d.ts +27 -0
- package/dist/cli/entry.d.ts.map +1 -0
- package/dist/cli/entry.js +57 -0
- package/dist/cli/entry.js.map +1 -0
- package/dist/cli/head/display.d.ts +30 -0
- package/dist/cli/head/display.d.ts.map +1 -0
- package/dist/cli/head/display.js +108 -0
- package/dist/cli/head/display.js.map +1 -0
- package/dist/cli/head/process.d.ts +4 -0
- package/dist/cli/head/process.d.ts.map +1 -0
- package/dist/cli/head/process.js +94 -0
- package/dist/cli/head/process.js.map +1 -0
- package/dist/cli/head/types.d.ts +19 -0
- package/dist/cli/head/types.d.ts.map +1 -0
- package/dist/cli/head/types.js +3 -0
- package/dist/cli/head/types.js.map +1 -0
- package/dist/cli/help.d.ts +7 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +82 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/input.d.ts +8 -0
- package/dist/cli/input.d.ts.map +1 -0
- package/dist/cli/input.js +37 -0
- package/dist/cli/input.js.map +1 -0
- package/dist/cli/lifecycle/index.d.ts +61 -0
- package/dist/cli/lifecycle/index.d.ts.map +1 -0
- package/dist/cli/lifecycle/index.js +152 -0
- package/dist/cli/lifecycle/index.js.map +1 -0
- package/dist/cli/lifecycle/outcome.d.ts +13 -0
- package/dist/cli/lifecycle/outcome.d.ts.map +1 -0
- package/dist/cli/lifecycle/outcome.js +20 -0
- package/dist/cli/lifecycle/outcome.js.map +1 -0
- package/dist/cli/lifecycle-outcome.d.ts +13 -0
- package/dist/cli/lifecycle-outcome.d.ts.map +1 -0
- package/dist/cli/lifecycle-outcome.js +20 -0
- package/dist/cli/lifecycle-outcome.js.map +1 -0
- package/dist/cli/lifecycle.d.ts +61 -0
- package/dist/cli/lifecycle.d.ts.map +1 -0
- package/dist/cli/lifecycle.js +152 -0
- package/dist/cli/lifecycle.js.map +1 -0
- package/dist/cli/main.d.ts +33 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +139 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/output/json.d.ts +8 -0
- package/dist/cli/output/json.d.ts.map +1 -0
- package/dist/cli/output/json.js +8 -0
- package/dist/cli/output/json.js.map +1 -0
- package/dist/cli/output/jsonl.d.ts +18 -0
- package/dist/cli/output/jsonl.d.ts.map +1 -0
- package/dist/cli/output/jsonl.js +32 -0
- package/dist/cli/output/jsonl.js.map +1 -0
- package/dist/cli/output/records.d.ts +13 -0
- package/dist/cli/output/records.d.ts.map +1 -0
- package/dist/cli/output/records.js +40 -0
- package/dist/cli/output/records.js.map +1 -0
- package/dist/cli/output/sanitize.d.ts +9 -0
- package/dist/cli/output/sanitize.d.ts.map +1 -0
- package/dist/cli/output/sanitize.js +28 -0
- package/dist/cli/output/sanitize.js.map +1 -0
- package/dist/cli/output/text.d.ts +15 -0
- package/dist/cli/output/text.d.ts.map +1 -0
- package/dist/cli/output/text.js +29 -0
- package/dist/cli/output/text.js.map +1 -0
- package/dist/cli/output/types.d.ts +74 -0
- package/dist/cli/output/types.d.ts.map +1 -0
- package/dist/cli/output/types.js +6 -0
- package/dist/cli/output/types.js.map +1 -0
- package/dist/cli/request/agent-detect.d.ts +44 -0
- package/dist/cli/request/agent-detect.d.ts.map +1 -0
- package/dist/cli/request/agent-detect.js +66 -0
- package/dist/cli/request/agent-detect.js.map +1 -0
- package/dist/cli/request/finalize.d.ts +10 -0
- package/dist/cli/request/finalize.d.ts.map +1 -0
- package/dist/cli/request/finalize.js +135 -0
- package/dist/cli/request/finalize.js.map +1 -0
- package/dist/cli/request/index.d.ts +12 -0
- package/dist/cli/request/index.d.ts.map +1 -0
- package/dist/cli/request/index.js +103 -0
- package/dist/cli/request/index.js.map +1 -0
- package/dist/cli/request/layers.d.ts +30 -0
- package/dist/cli/request/layers.d.ts.map +1 -0
- package/dist/cli/request/layers.js +44 -0
- package/dist/cli/request/layers.js.map +1 -0
- package/dist/cli/request/resolution-types.d.ts +35 -0
- package/dist/cli/request/resolution-types.d.ts.map +1 -0
- package/dist/cli/request/resolution-types.js +6 -0
- package/dist/cli/request/resolution-types.js.map +1 -0
- package/dist/cli/request/settings.d.ts +34 -0
- package/dist/cli/request/settings.d.ts.map +1 -0
- package/dist/cli/request/settings.js +66 -0
- package/dist/cli/request/settings.js.map +1 -0
- package/dist/cli/request/sources.d.ts +13 -0
- package/dist/cli/request/sources.d.ts.map +1 -0
- package/dist/cli/request/sources.js +23 -0
- package/dist/cli/request/sources.js.map +1 -0
- package/dist/cli/request/validation.d.ts +18 -0
- package/dist/cli/request/validation.d.ts.map +1 -0
- package/dist/cli/request/validation.js +84 -0
- package/dist/cli/request/validation.js.map +1 -0
- package/dist/cli/request/values.d.ts +33 -0
- package/dist/cli/request/values.d.ts.map +1 -0
- package/dist/cli/request/values.js +73 -0
- package/dist/cli/request/values.js.map +1 -0
- package/dist/cli/request-finalize.d.ts +10 -0
- package/dist/cli/request-finalize.d.ts.map +1 -0
- package/dist/cli/request-finalize.js +135 -0
- package/dist/cli/request-finalize.js.map +1 -0
- package/dist/cli/request-layers.d.ts +30 -0
- package/dist/cli/request-layers.d.ts.map +1 -0
- package/dist/cli/request-layers.js +44 -0
- package/dist/cli/request-layers.js.map +1 -0
- package/dist/cli/request-settings.d.ts +34 -0
- package/dist/cli/request-settings.d.ts.map +1 -0
- package/dist/cli/request-settings.js +66 -0
- package/dist/cli/request-settings.js.map +1 -0
- package/dist/cli/request-sources.d.ts +13 -0
- package/dist/cli/request-sources.d.ts.map +1 -0
- package/dist/cli/request-sources.js +23 -0
- package/dist/cli/request-sources.js.map +1 -0
- package/dist/cli/request-validation.d.ts +18 -0
- package/dist/cli/request-validation.d.ts.map +1 -0
- package/dist/cli/request-validation.js +84 -0
- package/dist/cli/request-validation.js.map +1 -0
- package/dist/cli/request-values.d.ts +33 -0
- package/dist/cli/request-values.d.ts.map +1 -0
- package/dist/cli/request-values.js +73 -0
- package/dist/cli/request-values.js.map +1 -0
- package/dist/cli/request.d.ts +12 -0
- package/dist/cli/request.d.ts.map +1 -0
- package/dist/cli/request.js +103 -0
- package/dist/cli/request.js.map +1 -0
- package/dist/cli/resolution-types.d.ts +35 -0
- package/dist/cli/resolution-types.d.ts.map +1 -0
- package/dist/cli/resolution-types.js +6 -0
- package/dist/cli/resolution-types.js.map +1 -0
- package/dist/cli/run/index.d.ts +20 -0
- package/dist/cli/run/index.d.ts.map +1 -0
- package/dist/cli/run/index.js +126 -0
- package/dist/cli/run/index.js.map +1 -0
- package/dist/cli/run/output-lines.d.ts +14 -0
- package/dist/cli/run/output-lines.d.ts.map +1 -0
- package/dist/cli/run/output-lines.js +42 -0
- package/dist/cli/run/output-lines.js.map +1 -0
- package/dist/cli/run/output.d.ts +48 -0
- package/dist/cli/run/output.d.ts.map +1 -0
- package/dist/cli/run/output.js +150 -0
- package/dist/cli/run/output.js.map +1 -0
- package/dist/cli/run-output-lines.d.ts +14 -0
- package/dist/cli/run-output-lines.d.ts.map +1 -0
- package/dist/cli/run-output-lines.js +42 -0
- package/dist/cli/run-output-lines.js.map +1 -0
- package/dist/cli/run-output.d.ts +48 -0
- package/dist/cli/run-output.d.ts.map +1 -0
- package/dist/cli/run-output.js +150 -0
- package/dist/cli/run-output.js.map +1 -0
- package/dist/cli/run.d.ts +20 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +126 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/session/index.d.ts +68 -0
- package/dist/cli/session/index.d.ts.map +1 -0
- package/dist/cli/session/index.js +124 -0
- package/dist/cli/session/index.js.map +1 -0
- package/dist/cli/session/launch.d.ts +23 -0
- package/dist/cli/session/launch.d.ts.map +1 -0
- package/dist/cli/session/launch.js +57 -0
- package/dist/cli/session/launch.js.map +1 -0
- package/dist/cli/session-launch.d.ts +23 -0
- package/dist/cli/session-launch.d.ts.map +1 -0
- package/dist/cli/session-launch.js +57 -0
- package/dist/cli/session-launch.js.map +1 -0
- package/dist/cli/session.d.ts +68 -0
- package/dist/cli/session.d.ts.map +1 -0
- package/dist/cli/session.js +124 -0
- package/dist/cli/session.js.map +1 -0
- package/dist/cli/stream.d.ts +25 -0
- package/dist/cli/stream.d.ts.map +1 -0
- package/dist/cli/stream.js +92 -0
- package/dist/cli/stream.js.map +1 -0
- package/dist/cli/types.d.ts +148 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +30 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/update-attention.d.ts +32 -0
- package/dist/cli/update-attention.d.ts.map +1 -0
- package/dist/cli/update-attention.js +60 -0
- package/dist/cli/update-attention.js.map +1 -0
- package/dist/cli/validation-error.d.ts +11 -0
- package/dist/cli/validation-error.d.ts.map +1 -0
- package/dist/cli/validation-error.js +13 -0
- package/dist/cli/validation-error.js.map +1 -0
- package/dist/cli/version.d.ts +7 -0
- package/dist/cli/version.d.ts.map +1 -0
- package/dist/cli/version.js +11 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/codex/attach-images.d.ts +20 -0
- package/dist/codex/attach-images.d.ts.map +1 -0
- package/dist/codex/attach-images.js +66 -0
- package/dist/codex/attach-images.js.map +1 -0
- package/dist/codex/clipboard-lock.d.ts +15 -0
- package/dist/codex/clipboard-lock.d.ts.map +1 -0
- package/dist/codex/clipboard-lock.js +16 -0
- package/dist/codex/clipboard-lock.js.map +1 -0
- package/dist/codex/clipboard.d.ts +32 -0
- package/dist/codex/clipboard.d.ts.map +1 -0
- package/dist/codex/clipboard.js +92 -0
- package/dist/codex/clipboard.js.map +1 -0
- package/dist/codex/command.d.ts +9 -0
- package/dist/codex/command.d.ts.map +1 -0
- package/dist/codex/command.js +72 -0
- package/dist/codex/command.js.map +1 -0
- package/dist/codex/config/lock.d.ts +21 -0
- package/dist/codex/config/lock.d.ts.map +1 -0
- package/dist/codex/config/lock.js +22 -0
- package/dist/codex/config/lock.js.map +1 -0
- package/dist/codex/config/restore.d.ts +33 -0
- package/dist/codex/config/restore.d.ts.map +1 -0
- package/dist/codex/config/restore.js +90 -0
- package/dist/codex/config/restore.js.map +1 -0
- package/dist/codex/config/transaction.d.ts +26 -0
- package/dist/codex/config/transaction.d.ts.map +1 -0
- package/dist/codex/config/transaction.js +47 -0
- package/dist/codex/config/transaction.js.map +1 -0
- package/dist/codex/config-lock.d.ts +21 -0
- package/dist/codex/config-lock.d.ts.map +1 -0
- package/dist/codex/config-lock.js +22 -0
- package/dist/codex/config-lock.js.map +1 -0
- package/dist/codex/config-restore.d.ts +33 -0
- package/dist/codex/config-restore.d.ts.map +1 -0
- package/dist/codex/config-restore.js +90 -0
- package/dist/codex/config-restore.js.map +1 -0
- package/dist/codex/config-transaction.d.ts +26 -0
- package/dist/codex/config-transaction.d.ts.map +1 -0
- package/dist/codex/config-transaction.js +47 -0
- package/dist/codex/config-transaction.js.map +1 -0
- package/dist/codex/hook-dispatch.d.ts +9 -0
- package/dist/codex/hook-dispatch.d.ts.map +1 -0
- package/dist/codex/hook-dispatch.js +14 -0
- package/dist/codex/hook-dispatch.js.map +1 -0
- package/dist/codex/hook-names.d.ts +19 -0
- package/dist/codex/hook-names.d.ts.map +1 -0
- package/dist/codex/hook-names.js +17 -0
- package/dist/codex/hook-names.js.map +1 -0
- package/dist/codex/hooks/dispatch.d.ts +9 -0
- package/dist/codex/hooks/dispatch.d.ts.map +1 -0
- package/dist/codex/hooks/dispatch.js +14 -0
- package/dist/codex/hooks/dispatch.js.map +1 -0
- package/dist/codex/hooks/index.d.ts +99 -0
- package/dist/codex/hooks/index.d.ts.map +1 -0
- package/dist/codex/hooks/index.js +6 -0
- package/dist/codex/hooks/index.js.map +1 -0
- package/dist/codex/hooks/names.d.ts +19 -0
- package/dist/codex/hooks/names.d.ts.map +1 -0
- package/dist/codex/hooks/names.js +17 -0
- package/dist/codex/hooks/names.js.map +1 -0
- package/dist/codex/hooks/serialize.d.ts +8 -0
- package/dist/codex/hooks/serialize.d.ts.map +1 -0
- package/dist/codex/hooks/serialize.js +48 -0
- package/dist/codex/hooks/serialize.js.map +1 -0
- package/dist/codex/hooks/validate-result.d.ts +7 -0
- package/dist/codex/hooks/validate-result.d.ts.map +1 -0
- package/dist/codex/hooks/validate-result.js +84 -0
- package/dist/codex/hooks/validate-result.js.map +1 -0
- package/dist/codex/hooks/validate.d.ts +11 -0
- package/dist/codex/hooks/validate.d.ts.map +1 -0
- package/dist/codex/hooks/validate.js +88 -0
- package/dist/codex/hooks/validate.js.map +1 -0
- package/dist/codex/hooks.d.ts +99 -0
- package/dist/codex/hooks.d.ts.map +1 -0
- package/dist/codex/hooks.js +6 -0
- package/dist/codex/hooks.js.map +1 -0
- package/dist/codex/images/attach.d.ts +20 -0
- package/dist/codex/images/attach.d.ts.map +1 -0
- package/dist/codex/images/attach.js +66 -0
- package/dist/codex/images/attach.js.map +1 -0
- package/dist/codex/images/clipboard-lock.d.ts +15 -0
- package/dist/codex/images/clipboard-lock.d.ts.map +1 -0
- package/dist/codex/images/clipboard-lock.js +16 -0
- package/dist/codex/images/clipboard-lock.js.map +1 -0
- package/dist/codex/images/clipboard.d.ts +32 -0
- package/dist/codex/images/clipboard.d.ts.map +1 -0
- package/dist/codex/images/clipboard.js +92 -0
- package/dist/codex/images/clipboard.js.map +1 -0
- package/dist/codex/initial-ready.d.ts +19 -0
- package/dist/codex/initial-ready.d.ts.map +1 -0
- package/dist/codex/initial-ready.js +19 -0
- package/dist/codex/initial-ready.js.map +1 -0
- package/dist/codex/list-models.d.ts +16 -0
- package/dist/codex/list-models.d.ts.map +1 -0
- package/dist/codex/list-models.js +35 -0
- package/dist/codex/list-models.js.map +1 -0
- package/dist/codex/model-picker.d.ts +7 -0
- package/dist/codex/model-picker.d.ts.map +1 -0
- package/dist/codex/model-picker.js +22 -0
- package/dist/codex/model-picker.js.map +1 -0
- package/dist/codex/preflight.d.ts +17 -0
- package/dist/codex/preflight.d.ts.map +1 -0
- package/dist/codex/preflight.js +94 -0
- package/dist/codex/preflight.js.map +1 -0
- package/dist/codex/pty.d.ts +9 -0
- package/dist/codex/pty.d.ts.map +1 -0
- package/dist/codex/pty.js +26 -0
- package/dist/codex/pty.js.map +1 -0
- package/dist/codex/screen-table.d.ts +16 -0
- package/dist/codex/screen-table.d.ts.map +1 -0
- package/dist/codex/screen-table.js +68 -0
- package/dist/codex/screen-table.js.map +1 -0
- package/dist/codex/serialize.d.ts +8 -0
- package/dist/codex/serialize.d.ts.map +1 -0
- package/dist/codex/serialize.js +48 -0
- package/dist/codex/serialize.js.map +1 -0
- package/dist/codex/session/bridge.d.ts +14 -0
- package/dist/codex/session/bridge.d.ts.map +1 -0
- package/dist/codex/session/bridge.js +20 -0
- package/dist/codex/session/bridge.js.map +1 -0
- package/dist/codex/session/build.d.ts +15 -0
- package/dist/codex/session/build.d.ts.map +1 -0
- package/dist/codex/session/build.js +144 -0
- package/dist/codex/session/build.js.map +1 -0
- package/dist/codex/session/cleanup.d.ts +12 -0
- package/dist/codex/session/cleanup.d.ts.map +1 -0
- package/dist/codex/session/cleanup.js +15 -0
- package/dist/codex/session/cleanup.js.map +1 -0
- package/dist/codex/session/hooks.d.ts +13 -0
- package/dist/codex/session/hooks.d.ts.map +1 -0
- package/dist/codex/session/hooks.js +54 -0
- package/dist/codex/session/hooks.js.map +1 -0
- package/dist/codex/session/index.d.ts +16 -0
- package/dist/codex/session/index.d.ts.map +1 -0
- package/dist/codex/session/index.js +61 -0
- package/dist/codex/session/index.js.map +1 -0
- package/dist/codex/session/instance.d.ts +50 -0
- package/dist/codex/session/instance.d.ts.map +1 -0
- package/dist/codex/session/instance.js +117 -0
- package/dist/codex/session/instance.js.map +1 -0
- package/dist/codex/session/resume.d.ts +7 -0
- package/dist/codex/session/resume.d.ts.map +1 -0
- package/dist/codex/session/resume.js +44 -0
- package/dist/codex/session/resume.js.map +1 -0
- package/dist/codex/session/runtime.d.ts +7 -0
- package/dist/codex/session/runtime.d.ts.map +1 -0
- package/dist/codex/session/runtime.js +10 -0
- package/dist/codex/session/runtime.js.map +1 -0
- package/dist/codex/session/start-or-resume.d.ts +12 -0
- package/dist/codex/session/start-or-resume.d.ts.map +1 -0
- package/dist/codex/session/start-or-resume.js +31 -0
- package/dist/codex/session/start-or-resume.js.map +1 -0
- package/dist/codex/session/transcript.d.ts +30 -0
- package/dist/codex/session/transcript.d.ts.map +1 -0
- package/dist/codex/session/transcript.js +53 -0
- package/dist/codex/session/transcript.js.map +1 -0
- package/dist/codex/session/types.d.ts +87 -0
- package/dist/codex/session/types.d.ts.map +1 -0
- package/dist/codex/session/types.js +6 -0
- package/dist/codex/session/types.js.map +1 -0
- package/dist/codex/session/warnings.d.ts +27 -0
- package/dist/codex/session/warnings.d.ts.map +1 -0
- package/dist/codex/session/warnings.js +54 -0
- package/dist/codex/session/warnings.js.map +1 -0
- package/dist/codex/session-bridge.d.ts +14 -0
- package/dist/codex/session-bridge.d.ts.map +1 -0
- package/dist/codex/session-bridge.js +20 -0
- package/dist/codex/session-bridge.js.map +1 -0
- package/dist/codex/session-build.d.ts +15 -0
- package/dist/codex/session-build.d.ts.map +1 -0
- package/dist/codex/session-build.js +144 -0
- package/dist/codex/session-build.js.map +1 -0
- package/dist/codex/session-cleanup.d.ts +12 -0
- package/dist/codex/session-cleanup.d.ts.map +1 -0
- package/dist/codex/session-cleanup.js +15 -0
- package/dist/codex/session-cleanup.js.map +1 -0
- package/dist/codex/session-hooks.d.ts +13 -0
- package/dist/codex/session-hooks.d.ts.map +1 -0
- package/dist/codex/session-hooks.js +54 -0
- package/dist/codex/session-hooks.js.map +1 -0
- package/dist/codex/session-instance.d.ts +50 -0
- package/dist/codex/session-instance.d.ts.map +1 -0
- package/dist/codex/session-instance.js +117 -0
- package/dist/codex/session-instance.js.map +1 -0
- package/dist/codex/session-resume.d.ts +7 -0
- package/dist/codex/session-resume.d.ts.map +1 -0
- package/dist/codex/session-resume.js +44 -0
- package/dist/codex/session-resume.js.map +1 -0
- package/dist/codex/session-runtime.d.ts +7 -0
- package/dist/codex/session-runtime.d.ts.map +1 -0
- package/dist/codex/session-runtime.js +10 -0
- package/dist/codex/session-runtime.js.map +1 -0
- package/dist/codex/session-transcript.d.ts +30 -0
- package/dist/codex/session-transcript.d.ts.map +1 -0
- package/dist/codex/session-transcript.js +53 -0
- package/dist/codex/session-transcript.js.map +1 -0
- package/dist/codex/session-types.d.ts +87 -0
- package/dist/codex/session-types.d.ts.map +1 -0
- package/dist/codex/session-types.js +6 -0
- package/dist/codex/session-types.js.map +1 -0
- package/dist/codex/session-warnings.d.ts +27 -0
- package/dist/codex/session-warnings.d.ts.map +1 -0
- package/dist/codex/session-warnings.js +54 -0
- package/dist/codex/session-warnings.js.map +1 -0
- package/dist/codex/session.d.ts +16 -0
- package/dist/codex/session.d.ts.map +1 -0
- package/dist/codex/session.js +61 -0
- package/dist/codex/session.js.map +1 -0
- package/dist/codex/simple.d.ts +25 -0
- package/dist/codex/simple.d.ts.map +1 -0
- package/dist/codex/simple.js +37 -0
- package/dist/codex/simple.js.map +1 -0
- package/dist/codex/start-or-resume.d.ts +12 -0
- package/dist/codex/start-or-resume.d.ts.map +1 -0
- package/dist/codex/start-or-resume.js +31 -0
- package/dist/codex/start-or-resume.js.map +1 -0
- package/dist/codex/startup-prompts.d.ts +32 -0
- package/dist/codex/startup-prompts.d.ts.map +1 -0
- package/dist/codex/startup-prompts.js +136 -0
- package/dist/codex/startup-prompts.js.map +1 -0
- package/dist/codex/tool-types.d.ts +21 -0
- package/dist/codex/tool-types.d.ts.map +1 -0
- package/dist/codex/tool-types.js +6 -0
- package/dist/codex/tool-types.js.map +1 -0
- package/dist/codex/transcript/cursor-io.d.ts +7 -0
- package/dist/codex/transcript/cursor-io.d.ts.map +1 -0
- package/dist/codex/transcript/cursor-io.js +7 -0
- package/dist/codex/transcript/cursor-io.js.map +1 -0
- package/dist/codex/transcript/cursor.d.ts +8 -0
- package/dist/codex/transcript/cursor.d.ts.map +1 -0
- package/dist/codex/transcript/cursor.js +8 -0
- package/dist/codex/transcript/cursor.js.map +1 -0
- package/dist/codex/transcript/drain.d.ts +30 -0
- package/dist/codex/transcript/drain.d.ts.map +1 -0
- package/dist/codex/transcript/drain.js +48 -0
- package/dist/codex/transcript/drain.js.map +1 -0
- package/dist/codex/transcript/drops.d.ts +9 -0
- package/dist/codex/transcript/drops.d.ts.map +1 -0
- package/dist/codex/transcript/drops.js +9 -0
- package/dist/codex/transcript/drops.js.map +1 -0
- package/dist/codex/transcript/emit.d.ts +22 -0
- package/dist/codex/transcript/emit.d.ts.map +1 -0
- package/dist/codex/transcript/emit.js +57 -0
- package/dist/codex/transcript/emit.js.map +1 -0
- package/dist/codex/transcript/fs-guard.d.ts +16 -0
- package/dist/codex/transcript/fs-guard.d.ts.map +1 -0
- package/dist/codex/transcript/fs-guard.js +27 -0
- package/dist/codex/transcript/fs-guard.js.map +1 -0
- package/dist/codex/transcript/index.d.ts +12 -0
- package/dist/codex/transcript/index.d.ts.map +1 -0
- package/dist/codex/transcript/index.js +10 -0
- package/dist/codex/transcript/index.js.map +1 -0
- package/dist/codex/transcript/summary.d.ts +10 -0
- package/dist/codex/transcript/summary.d.ts.map +1 -0
- package/dist/codex/transcript/summary.js +176 -0
- package/dist/codex/transcript/summary.js.map +1 -0
- package/dist/codex/transcript/types.d.ts +65 -0
- package/dist/codex/transcript/types.d.ts.map +1 -0
- package/dist/codex/transcript/types.js +7 -0
- package/dist/codex/transcript/types.js.map +1 -0
- package/dist/codex/transcript/warnings.d.ts +25 -0
- package/dist/codex/transcript/warnings.d.ts.map +1 -0
- package/dist/codex/transcript/warnings.js +43 -0
- package/dist/codex/transcript/warnings.js.map +1 -0
- package/dist/codex/transcript/watcher-config.d.ts +22 -0
- package/dist/codex/transcript/watcher-config.d.ts.map +1 -0
- package/dist/codex/transcript/watcher-config.js +7 -0
- package/dist/codex/transcript/watcher-config.js.map +1 -0
- package/dist/codex/transcript/watcher.d.ts +34 -0
- package/dist/codex/transcript/watcher.d.ts.map +1 -0
- package/dist/codex/transcript/watcher.js +134 -0
- package/dist/codex/transcript/watcher.js.map +1 -0
- package/dist/codex/transcript.d.ts +12 -0
- package/dist/codex/transcript.d.ts.map +1 -0
- package/dist/codex/transcript.js +10 -0
- package/dist/codex/transcript.js.map +1 -0
- package/dist/codex/update-prompt.d.ts +23 -0
- package/dist/codex/update-prompt.d.ts.map +1 -0
- package/dist/codex/update-prompt.js +78 -0
- package/dist/codex/update-prompt.js.map +1 -0
- package/dist/codex/validate-result.d.ts +7 -0
- package/dist/codex/validate-result.d.ts.map +1 -0
- package/dist/codex/validate-result.js +84 -0
- package/dist/codex/validate-result.js.map +1 -0
- package/dist/codex/validate.d.ts +11 -0
- package/dist/codex/validate.d.ts.map +1 -0
- package/dist/codex/validate.js +88 -0
- package/dist/codex/validate.js.map +1 -0
- package/dist/core/activity/index.d.ts +51 -0
- package/dist/core/activity/index.d.ts.map +1 -0
- package/dist/core/activity/index.js +81 -0
- package/dist/core/activity/index.js.map +1 -0
- package/dist/core/activity/lifecycle.d.ts +21 -0
- package/dist/core/activity/lifecycle.d.ts.map +1 -0
- package/dist/core/activity/lifecycle.js +45 -0
- package/dist/core/activity/lifecycle.js.map +1 -0
- package/dist/core/activity/meta.d.ts +13 -0
- package/dist/core/activity/meta.d.ts.map +1 -0
- package/dist/core/activity/meta.js +67 -0
- package/dist/core/activity/meta.js.map +1 -0
- package/dist/core/activity/transcript.d.ts +19 -0
- package/dist/core/activity/transcript.d.ts.map +1 -0
- package/dist/core/activity/transcript.js +60 -0
- package/dist/core/activity/transcript.js.map +1 -0
- package/dist/core/activity-lifecycle.d.ts +21 -0
- package/dist/core/activity-lifecycle.d.ts.map +1 -0
- package/dist/core/activity-lifecycle.js +45 -0
- package/dist/core/activity-lifecycle.js.map +1 -0
- package/dist/core/activity-meta.d.ts +13 -0
- package/dist/core/activity-meta.d.ts.map +1 -0
- package/dist/core/activity-meta.js +67 -0
- package/dist/core/activity-meta.js.map +1 -0
- package/dist/core/activity-transcript.d.ts +19 -0
- package/dist/core/activity-transcript.d.ts.map +1 -0
- package/dist/core/activity-transcript.js +60 -0
- package/dist/core/activity-transcript.js.map +1 -0
- package/dist/core/activity.d.ts +51 -0
- package/dist/core/activity.d.ts.map +1 -0
- package/dist/core/activity.js +81 -0
- package/dist/core/activity.js.map +1 -0
- package/dist/core/agent-session.d.ts +50 -0
- package/dist/core/agent-session.d.ts.map +1 -0
- package/dist/core/agent-session.js +6 -0
- package/dist/core/agent-session.js.map +1 -0
- package/dist/core/async-mutex.d.ts +13 -0
- package/dist/core/async-mutex.d.ts.map +1 -0
- package/dist/core/async-mutex.js +18 -0
- package/dist/core/async-mutex.js.map +1 -0
- package/dist/core/attention.d.ts +19 -0
- package/dist/core/attention.d.ts.map +1 -0
- package/dist/core/attention.js +31 -0
- package/dist/core/attention.js.map +1 -0
- package/dist/core/compact.d.ts +17 -0
- package/dist/core/compact.d.ts.map +1 -0
- package/dist/core/compact.js +69 -0
- package/dist/core/compact.js.map +1 -0
- package/dist/core/contained.d.ts +7 -0
- package/dist/core/contained.d.ts.map +1 -0
- package/dist/core/contained.js +14 -0
- package/dist/core/contained.js.map +1 -0
- package/dist/core/control-queue/index.d.ts +21 -0
- package/dist/core/control-queue/index.d.ts.map +1 -0
- package/dist/core/control-queue/index.js +98 -0
- package/dist/core/control-queue/index.js.map +1 -0
- package/dist/core/control-queue/state.d.ts +29 -0
- package/dist/core/control-queue/state.d.ts.map +1 -0
- package/dist/core/control-queue/state.js +95 -0
- package/dist/core/control-queue/state.js.map +1 -0
- package/dist/core/control-queue/traits.d.ts +54 -0
- package/dist/core/control-queue/traits.d.ts.map +1 -0
- package/dist/core/control-queue/traits.js +118 -0
- package/dist/core/control-queue/traits.js.map +1 -0
- package/dist/core/control-queue/types.d.ts +45 -0
- package/dist/core/control-queue/types.d.ts.map +1 -0
- package/dist/core/control-queue/types.js +7 -0
- package/dist/core/control-queue/types.js.map +1 -0
- package/dist/core/control-queue-state.d.ts +29 -0
- package/dist/core/control-queue-state.d.ts.map +1 -0
- package/dist/core/control-queue-state.js +95 -0
- package/dist/core/control-queue-state.js.map +1 -0
- package/dist/core/control-queue-traits.d.ts +54 -0
- package/dist/core/control-queue-traits.d.ts.map +1 -0
- package/dist/core/control-queue-traits.js +118 -0
- package/dist/core/control-queue-traits.js.map +1 -0
- package/dist/core/control-queue-types.d.ts +45 -0
- package/dist/core/control-queue-types.d.ts.map +1 -0
- package/dist/core/control-queue-types.js +7 -0
- package/dist/core/control-queue-types.js.map +1 -0
- package/dist/core/control-queue.d.ts +21 -0
- package/dist/core/control-queue.d.ts.map +1 -0
- package/dist/core/control-queue.js +98 -0
- package/dist/core/control-queue.js.map +1 -0
- package/dist/core/defaults.d.ts +7 -0
- package/dist/core/defaults.d.ts.map +1 -0
- package/dist/core/defaults.js +6 -0
- package/dist/core/defaults.js.map +1 -0
- package/dist/core/delay.d.ts +7 -0
- package/dist/core/delay.d.ts.map +1 -0
- package/dist/core/delay.js +9 -0
- package/dist/core/delay.js.map +1 -0
- package/dist/core/errors.d.ts +39 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +65 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/hook-dispatch.d.ts +36 -0
- package/dist/core/hook-dispatch.d.ts.map +1 -0
- package/dist/core/hook-dispatch.js +51 -0
- package/dist/core/hook-dispatch.js.map +1 -0
- package/dist/core/hook-result.d.ts +8 -0
- package/dist/core/hook-result.d.ts.map +1 -0
- package/dist/core/hook-result.js +40 -0
- package/dist/core/hook-result.js.map +1 -0
- package/dist/core/hook-timeout.d.ts +25 -0
- package/dist/core/hook-timeout.d.ts.map +1 -0
- package/dist/core/hook-timeout.js +26 -0
- package/dist/core/hook-timeout.js.map +1 -0
- package/dist/core/images/chip-wait.d.ts +43 -0
- package/dist/core/images/chip-wait.d.ts.map +1 -0
- package/dist/core/images/chip-wait.js +80 -0
- package/dist/core/images/chip-wait.js.map +1 -0
- package/dist/core/images/index.d.ts +9 -0
- package/dist/core/images/index.d.ts.map +1 -0
- package/dist/core/images/index.js +8 -0
- package/dist/core/images/index.js.map +1 -0
- package/dist/core/images/materialize.d.ts +22 -0
- package/dist/core/images/materialize.d.ts.map +1 -0
- package/dist/core/images/materialize.js +49 -0
- package/dist/core/images/materialize.js.map +1 -0
- package/dist/core/images/resolve.d.ts +45 -0
- package/dist/core/images/resolve.d.ts.map +1 -0
- package/dist/core/images/resolve.js +137 -0
- package/dist/core/images/resolve.js.map +1 -0
- package/dist/core/images/types.d.ts +39 -0
- package/dist/core/images/types.d.ts.map +1 -0
- package/dist/core/images/types.js +26 -0
- package/dist/core/images/types.js.map +1 -0
- package/dist/core/input/abort.d.ts +10 -0
- package/dist/core/input/abort.d.ts.map +1 -0
- package/dist/core/input/abort.js +44 -0
- package/dist/core/input/abort.js.map +1 -0
- package/dist/core/input/index.d.ts +37 -0
- package/dist/core/input/index.d.ts.map +1 -0
- package/dist/core/input/index.js +154 -0
- package/dist/core/input/index.js.map +1 -0
- package/dist/core/interrupt.d.ts +29 -0
- package/dist/core/interrupt.d.ts.map +1 -0
- package/dist/core/interrupt.js +57 -0
- package/dist/core/interrupt.js.map +1 -0
- package/dist/core/list-models.d.ts +44 -0
- package/dist/core/list-models.d.ts.map +1 -0
- package/dist/core/list-models.js +73 -0
- package/dist/core/list-models.js.map +1 -0
- package/dist/core/loops/constants.d.ts +13 -0
- package/dist/core/loops/constants.d.ts.map +1 -0
- package/dist/core/loops/constants.js +13 -0
- package/dist/core/loops/constants.js.map +1 -0
- package/dist/core/loops/jitter.d.ts +6 -0
- package/dist/core/loops/jitter.d.ts.map +1 -0
- package/dist/core/loops/jitter.js +20 -0
- package/dist/core/loops/jitter.js.map +1 -0
- package/dist/core/loops/loop-controls.d.ts +8 -0
- package/dist/core/loops/loop-controls.d.ts.map +1 -0
- package/dist/core/loops/loop-controls.js +3 -0
- package/dist/core/loops/loop-controls.js.map +1 -0
- package/dist/core/loops/parser.d.ts +7 -0
- package/dist/core/loops/parser.d.ts.map +1 -0
- package/dist/core/loops/parser.js +37 -0
- package/dist/core/loops/parser.js.map +1 -0
- package/dist/core/loops/scheduler-delivery.d.ts +42 -0
- package/dist/core/loops/scheduler-delivery.d.ts.map +1 -0
- package/dist/core/loops/scheduler-delivery.js +112 -0
- package/dist/core/loops/scheduler-delivery.js.map +1 -0
- package/dist/core/loops/scheduler-state.d.ts +63 -0
- package/dist/core/loops/scheduler-state.d.ts.map +1 -0
- package/dist/core/loops/scheduler-state.js +102 -0
- package/dist/core/loops/scheduler-state.js.map +1 -0
- package/dist/core/loops/scheduler.d.ts +27 -0
- package/dist/core/loops/scheduler.d.ts.map +1 -0
- package/dist/core/loops/scheduler.js +189 -0
- package/dist/core/loops/scheduler.js.map +1 -0
- package/dist/core/loops/timers.d.ts +25 -0
- package/dist/core/loops/timers.d.ts.map +1 -0
- package/dist/core/loops/timers.js +47 -0
- package/dist/core/loops/timers.js.map +1 -0
- package/dist/core/loops/timing.d.ts +27 -0
- package/dist/core/loops/timing.d.ts.map +1 -0
- package/dist/core/loops/timing.js +68 -0
- package/dist/core/loops/timing.js.map +1 -0
- package/dist/core/loops/types.d.ts +57 -0
- package/dist/core/loops/types.d.ts.map +1 -0
- package/dist/core/loops/types.js +6 -0
- package/dist/core/loops/types.js.map +1 -0
- package/dist/core/loops/validate.d.ts +9 -0
- package/dist/core/loops/validate.d.ts.map +1 -0
- package/dist/core/loops/validate.js +46 -0
- package/dist/core/loops/validate.js.map +1 -0
- package/dist/core/model-picker.d.ts +22 -0
- package/dist/core/model-picker.d.ts.map +1 -0
- package/dist/core/model-picker.js +58 -0
- package/dist/core/model-picker.js.map +1 -0
- package/dist/core/model-rows.d.ts +21 -0
- package/dist/core/model-rows.d.ts.map +1 -0
- package/dist/core/model-rows.js +57 -0
- package/dist/core/model-rows.js.map +1 -0
- package/dist/core/models/list.d.ts +44 -0
- package/dist/core/models/list.d.ts.map +1 -0
- package/dist/core/models/list.js +73 -0
- package/dist/core/models/list.js.map +1 -0
- package/dist/core/models/picker.d.ts +22 -0
- package/dist/core/models/picker.d.ts.map +1 -0
- package/dist/core/models/picker.js +58 -0
- package/dist/core/models/picker.js.map +1 -0
- package/dist/core/models/probe-state.d.ts +21 -0
- package/dist/core/models/probe-state.d.ts.map +1 -0
- package/dist/core/models/probe-state.js +39 -0
- package/dist/core/models/probe-state.js.map +1 -0
- package/dist/core/models/rows.d.ts +21 -0
- package/dist/core/models/rows.d.ts.map +1 -0
- package/dist/core/models/rows.js +57 -0
- package/dist/core/models/rows.js.map +1 -0
- package/dist/core/models/tui-screen.d.ts +21 -0
- package/dist/core/models/tui-screen.d.ts.map +1 -0
- package/dist/core/models/tui-screen.js +56 -0
- package/dist/core/models/tui-screen.js.map +1 -0
- package/dist/core/module-require.d.ts +8 -0
- package/dist/core/module-require.d.ts.map +1 -0
- package/dist/core/module-require.js +14 -0
- package/dist/core/module-require.js.map +1 -0
- package/dist/core/persona.d.ts +10 -0
- package/dist/core/persona.d.ts.map +1 -0
- package/dist/core/persona.js +18 -0
- package/dist/core/persona.js.map +1 -0
- package/dist/core/predicates.d.ts +16 -0
- package/dist/core/predicates.d.ts.map +1 -0
- package/dist/core/predicates.js +32 -0
- package/dist/core/predicates.js.map +1 -0
- package/dist/core/private-output-secrets.d.ts +9 -0
- package/dist/core/private-output-secrets.d.ts.map +1 -0
- package/dist/core/private-output-secrets.js +14 -0
- package/dist/core/private-output-secrets.js.map +1 -0
- package/dist/core/probe-state.d.ts +21 -0
- package/dist/core/probe-state.d.ts.map +1 -0
- package/dist/core/probe-state.js +39 -0
- package/dist/core/probe-state.js.map +1 -0
- package/dist/core/reasoning-effort.d.ts +40 -0
- package/dist/core/reasoning-effort.d.ts.map +1 -0
- package/dist/core/reasoning-effort.js +44 -0
- package/dist/core/reasoning-effort.js.map +1 -0
- package/dist/core/rendered-observers.d.ts +29 -0
- package/dist/core/rendered-observers.d.ts.map +1 -0
- package/dist/core/rendered-observers.js +29 -0
- package/dist/core/rendered-observers.js.map +1 -0
- package/dist/core/screen-facts.d.ts +61 -0
- package/dist/core/screen-facts.d.ts.map +1 -0
- package/dist/core/screen-facts.js +36 -0
- package/dist/core/screen-facts.js.map +1 -0
- package/dist/core/serialize.d.ts +9 -0
- package/dist/core/serialize.d.ts.map +1 -0
- package/dist/core/serialize.js +20 -0
- package/dist/core/serialize.js.map +1 -0
- package/dist/core/session-input-abort.d.ts +10 -0
- package/dist/core/session-input-abort.d.ts.map +1 -0
- package/dist/core/session-input-abort.js +44 -0
- package/dist/core/session-input-abort.js.map +1 -0
- package/dist/core/session-input.d.ts +37 -0
- package/dist/core/session-input.d.ts.map +1 -0
- package/dist/core/session-input.js +154 -0
- package/dist/core/session-input.js.map +1 -0
- package/dist/core/session-wait.d.ts +30 -0
- package/dist/core/session-wait.d.ts.map +1 -0
- package/dist/core/session-wait.js +110 -0
- package/dist/core/session-wait.js.map +1 -0
- package/dist/core/session-warnings.d.ts +20 -0
- package/dist/core/session-warnings.d.ts.map +1 -0
- package/dist/core/session-warnings.js +32 -0
- package/dist/core/session-warnings.js.map +1 -0
- package/dist/core/simple/completeness-oracle.d.ts +31 -0
- package/dist/core/simple/completeness-oracle.d.ts.map +1 -0
- package/dist/core/simple/completeness-oracle.js +51 -0
- package/dist/core/simple/completeness-oracle.js.map +1 -0
- package/dist/core/simple/events.d.ts +34 -0
- package/dist/core/simple/events.d.ts.map +1 -0
- package/dist/core/simple/events.js +56 -0
- package/dist/core/simple/events.js.map +1 -0
- package/dist/core/simple/loop-controls.d.ts +7 -0
- package/dist/core/simple/loop-controls.d.ts.map +1 -0
- package/dist/core/simple/loop-controls.js +7 -0
- package/dist/core/simple/loop-controls.js.map +1 -0
- package/dist/core/simple/resolve-paths.d.ts +23 -0
- package/dist/core/simple/resolve-paths.d.ts.map +1 -0
- package/dist/core/simple/resolve-paths.js +22 -0
- package/dist/core/simple/resolve-paths.js.map +1 -0
- package/dist/core/simple/session.d.ts +78 -0
- package/dist/core/simple/session.d.ts.map +1 -0
- package/dist/core/simple/session.js +155 -0
- package/dist/core/simple/session.js.map +1 -0
- package/dist/core/simple/subscriptions.d.ts +32 -0
- package/dist/core/simple/subscriptions.d.ts.map +1 -0
- package/dist/core/simple/subscriptions.js +63 -0
- package/dist/core/simple/subscriptions.js.map +1 -0
- package/dist/core/simple/turn-acceptance.d.ts +27 -0
- package/dist/core/simple/turn-acceptance.d.ts.map +1 -0
- package/dist/core/simple/turn-acceptance.js +71 -0
- package/dist/core/simple/turn-acceptance.js.map +1 -0
- package/dist/core/simple/turn-boundary.d.ts +42 -0
- package/dist/core/simple/turn-boundary.d.ts.map +1 -0
- package/dist/core/simple/turn-boundary.js +72 -0
- package/dist/core/simple/turn-boundary.js.map +1 -0
- package/dist/core/simple/turn-gate.d.ts +59 -0
- package/dist/core/simple/turn-gate.d.ts.map +1 -0
- package/dist/core/simple/turn-gate.js +194 -0
- package/dist/core/simple/turn-gate.js.map +1 -0
- package/dist/core/simple/turn-queue.d.ts +23 -0
- package/dist/core/simple/turn-queue.d.ts.map +1 -0
- package/dist/core/simple/turn-queue.js +43 -0
- package/dist/core/simple/turn-queue.js.map +1 -0
- package/dist/core/simple/turn-types.d.ts +128 -0
- package/dist/core/simple/turn-types.d.ts.map +1 -0
- package/dist/core/simple/turn-types.js +15 -0
- package/dist/core/simple/turn-types.js.map +1 -0
- package/dist/core/simple/turn.d.ts +37 -0
- package/dist/core/simple/turn.d.ts.map +1 -0
- package/dist/core/simple/turn.js +173 -0
- package/dist/core/simple/turn.js.map +1 -0
- package/dist/core/start-or-resume.d.ts +10 -0
- package/dist/core/start-or-resume.d.ts.map +1 -0
- package/dist/core/start-or-resume.js +24 -0
- package/dist/core/start-or-resume.js.map +1 -0
- package/dist/core/startup/automation.d.ts +54 -0
- package/dist/core/startup/automation.d.ts.map +1 -0
- package/dist/core/startup/automation.js +40 -0
- package/dist/core/startup/automation.js.map +1 -0
- package/dist/core/startup/frame.d.ts +39 -0
- package/dist/core/startup/frame.d.ts.map +1 -0
- package/dist/core/startup/frame.js +60 -0
- package/dist/core/startup/frame.js.map +1 -0
- package/dist/core/startup/write.d.ts +47 -0
- package/dist/core/startup/write.d.ts.map +1 -0
- package/dist/core/startup/write.js +73 -0
- package/dist/core/startup/write.js.map +1 -0
- package/dist/core/startup-automation.d.ts +54 -0
- package/dist/core/startup-automation.d.ts.map +1 -0
- package/dist/core/startup-automation.js +40 -0
- package/dist/core/startup-automation.js.map +1 -0
- package/dist/core/startup-frame.d.ts +39 -0
- package/dist/core/startup-frame.d.ts.map +1 -0
- package/dist/core/startup-frame.js +60 -0
- package/dist/core/startup-frame.js.map +1 -0
- package/dist/core/startup-write.d.ts +47 -0
- package/dist/core/startup-write.d.ts.map +1 -0
- package/dist/core/startup-write.js +73 -0
- package/dist/core/startup-write.js.map +1 -0
- package/dist/core/status-categories.d.ts +21 -0
- package/dist/core/status-categories.d.ts.map +1 -0
- package/dist/core/status-categories.js +20 -0
- package/dist/core/status-categories.js.map +1 -0
- package/dist/core/terminal-options.d.ts +39 -0
- package/dist/core/terminal-options.d.ts.map +1 -0
- package/dist/core/terminal-options.js +114 -0
- package/dist/core/terminal-options.js.map +1 -0
- package/dist/core/terminal-replay.d.ts +32 -0
- package/dist/core/terminal-replay.d.ts.map +1 -0
- package/dist/core/terminal-replay.js +69 -0
- package/dist/core/terminal-replay.js.map +1 -0
- package/dist/core/transcript/cursor-io.d.ts +21 -0
- package/dist/core/transcript/cursor-io.d.ts.map +1 -0
- package/dist/core/transcript/cursor-io.js +60 -0
- package/dist/core/transcript/cursor-io.js.map +1 -0
- package/dist/core/transcript/cursor.d.ts +49 -0
- package/dist/core/transcript/cursor.d.ts.map +1 -0
- package/dist/core/transcript/cursor.js +100 -0
- package/dist/core/transcript/cursor.js.map +1 -0
- package/dist/core/transcript/drops.d.ts +63 -0
- package/dist/core/transcript/drops.d.ts.map +1 -0
- package/dist/core/transcript/drops.js +86 -0
- package/dist/core/transcript/drops.js.map +1 -0
- package/dist/core/transcript/warning-router.d.ts +28 -0
- package/dist/core/transcript/warning-router.d.ts.map +1 -0
- package/dist/core/transcript/warning-router.js +37 -0
- package/dist/core/transcript/warning-router.js.map +1 -0
- package/dist/core/transcript/warnings.d.ts +14 -0
- package/dist/core/transcript/warnings.d.ts.map +1 -0
- package/dist/core/transcript/warnings.js +41 -0
- package/dist/core/transcript/warnings.js.map +1 -0
- package/dist/core/trust/blocking.d.ts +22 -0
- package/dist/core/trust/blocking.d.ts.map +1 -0
- package/dist/core/trust/blocking.js +38 -0
- package/dist/core/trust/blocking.js.map +1 -0
- package/dist/core/trust/prompts.d.ts +135 -0
- package/dist/core/trust/prompts.d.ts.map +1 -0
- package/dist/core/trust/prompts.js +108 -0
- package/dist/core/trust/prompts.js.map +1 -0
- package/dist/core/trust/responder.d.ts +48 -0
- package/dist/core/trust/responder.d.ts.map +1 -0
- package/dist/core/trust/responder.js +119 -0
- package/dist/core/trust/responder.js.map +1 -0
- package/dist/core/trust-blocking.d.ts +22 -0
- package/dist/core/trust-blocking.d.ts.map +1 -0
- package/dist/core/trust-blocking.js +38 -0
- package/dist/core/trust-blocking.js.map +1 -0
- package/dist/core/trust-prompts.d.ts +135 -0
- package/dist/core/trust-prompts.d.ts.map +1 -0
- package/dist/core/trust-prompts.js +108 -0
- package/dist/core/trust-prompts.js.map +1 -0
- package/dist/core/trust-responder.d.ts +48 -0
- package/dist/core/trust-responder.d.ts.map +1 -0
- package/dist/core/trust-responder.js +119 -0
- package/dist/core/trust-responder.js.map +1 -0
- package/dist/core/tui-screen.d.ts +21 -0
- package/dist/core/tui-screen.d.ts.map +1 -0
- package/dist/core/tui-screen.js +56 -0
- package/dist/core/tui-screen.js.map +1 -0
- package/dist/core/turn-state.d.ts +41 -0
- package/dist/core/turn-state.d.ts.map +1 -0
- package/dist/core/turn-state.js +109 -0
- package/dist/core/turn-state.js.map +1 -0
- package/dist/core/types.d.ts +109 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +6 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/update-warning.d.ts +25 -0
- package/dist/core/update-warning.d.ts.map +1 -0
- package/dist/core/update-warning.js +33 -0
- package/dist/core/update-warning.js.map +1 -0
- package/dist/core/utf8.d.ts +11 -0
- package/dist/core/utf8.d.ts.map +1 -0
- package/dist/core/utf8.js +27 -0
- package/dist/core/utf8.js.map +1 -0
- package/dist/core/versions.d.ts +11 -0
- package/dist/core/versions.d.ts.map +1 -0
- package/dist/core/versions.js +26 -0
- package/dist/core/versions.js.map +1 -0
- package/dist/core/warning-lifecycle.d.ts +23 -0
- package/dist/core/warning-lifecycle.d.ts.map +1 -0
- package/dist/core/warning-lifecycle.js +6 -0
- package/dist/core/warning-lifecycle.js.map +1 -0
- package/dist/core/warning-reasons.d.ts +62 -0
- package/dist/core/warning-reasons.d.ts.map +1 -0
- package/dist/core/warning-reasons.js +121 -0
- package/dist/core/warning-reasons.js.map +1 -0
- package/dist/core/warnings/index.d.ts +145 -0
- package/dist/core/warnings/index.d.ts.map +1 -0
- package/dist/core/warnings/index.js +12 -0
- package/dist/core/warnings/index.js.map +1 -0
- package/dist/core/warnings/lifecycle.d.ts +23 -0
- package/dist/core/warnings/lifecycle.d.ts.map +1 -0
- package/dist/core/warnings/lifecycle.js +6 -0
- package/dist/core/warnings/lifecycle.js.map +1 -0
- package/dist/core/warnings/reasons.d.ts +62 -0
- package/dist/core/warnings/reasons.d.ts.map +1 -0
- package/dist/core/warnings/reasons.js +121 -0
- package/dist/core/warnings/reasons.js.map +1 -0
- package/dist/core/warnings/session.d.ts +20 -0
- package/dist/core/warnings/session.d.ts.map +1 -0
- package/dist/core/warnings/session.js +32 -0
- package/dist/core/warnings/session.js.map +1 -0
- package/dist/core/warnings/update.d.ts +25 -0
- package/dist/core/warnings/update.d.ts.map +1 -0
- package/dist/core/warnings/update.js +33 -0
- package/dist/core/warnings/update.js.map +1 -0
- package/dist/core/warnings.d.ts +145 -0
- package/dist/core/warnings.d.ts.map +1 -0
- package/dist/core/warnings.js +12 -0
- package/dist/core/warnings.js.map +1 -0
- package/dist/events/emitter.d.ts +19 -0
- package/dist/events/emitter.d.ts.map +1 -0
- package/dist/events/emitter.js +85 -0
- package/dist/events/emitter.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/pty/node.d.ts +17 -0
- package/dist/pty/node.d.ts.map +1 -0
- package/dist/pty/node.js +79 -0
- package/dist/pty/node.js.map +1 -0
- package/dist/pty/types.d.ts +26 -0
- package/dist/pty/types.d.ts.map +1 -0
- package/dist/pty/types.js +6 -0
- package/dist/pty/types.js.map +1 -0
- package/dist/runtime/cleanup-latch.d.ts +27 -0
- package/dist/runtime/cleanup-latch.d.ts.map +1 -0
- package/dist/runtime/cleanup-latch.js +43 -0
- package/dist/runtime/cleanup-latch.js.map +1 -0
- package/dist/runtime/hook-command.d.ts +11 -0
- package/dist/runtime/hook-command.d.ts.map +1 -0
- package/dist/runtime/hook-command.js +14 -0
- package/dist/runtime/hook-command.js.map +1 -0
- package/dist/runtime/initial-ready-advance.d.ts +22 -0
- package/dist/runtime/initial-ready-advance.d.ts.map +1 -0
- package/dist/runtime/initial-ready-advance.js +39 -0
- package/dist/runtime/initial-ready-advance.js.map +1 -0
- package/dist/runtime/initial-ready-fallback.d.ts +12 -0
- package/dist/runtime/initial-ready-fallback.d.ts.map +1 -0
- package/dist/runtime/initial-ready-fallback.js +20 -0
- package/dist/runtime/initial-ready-fallback.js.map +1 -0
- package/dist/runtime/initial-ready.d.ts +49 -0
- package/dist/runtime/initial-ready.d.ts.map +1 -0
- package/dist/runtime/initial-ready.js +81 -0
- package/dist/runtime/initial-ready.js.map +1 -0
- package/dist/runtime/loop-restore.d.ts +10 -0
- package/dist/runtime/loop-restore.d.ts.map +1 -0
- package/dist/runtime/loop-restore.js +26 -0
- package/dist/runtime/loop-restore.js.map +1 -0
- package/dist/runtime/probe.d.ts +11 -0
- package/dist/runtime/probe.d.ts.map +1 -0
- package/dist/runtime/probe.js +120 -0
- package/dist/runtime/probe.js.map +1 -0
- package/dist/runtime/readiness/advance.d.ts +22 -0
- package/dist/runtime/readiness/advance.d.ts.map +1 -0
- package/dist/runtime/readiness/advance.js +39 -0
- package/dist/runtime/readiness/advance.js.map +1 -0
- package/dist/runtime/readiness/initial-ready.d.ts +49 -0
- package/dist/runtime/readiness/initial-ready.d.ts.map +1 -0
- package/dist/runtime/readiness/initial-ready.js +81 -0
- package/dist/runtime/readiness/initial-ready.js.map +1 -0
- package/dist/runtime/reap-tree.d.ts +62 -0
- package/dist/runtime/reap-tree.d.ts.map +1 -0
- package/dist/runtime/reap-tree.js +108 -0
- package/dist/runtime/reap-tree.js.map +1 -0
- package/dist/runtime/seams.d.ts +28 -0
- package/dist/runtime/seams.d.ts.map +1 -0
- package/dist/runtime/seams.js +34 -0
- package/dist/runtime/seams.js.map +1 -0
- package/dist/runtime/session/base.d.ts +48 -0
- package/dist/runtime/session/base.d.ts.map +1 -0
- package/dist/runtime/session/base.js +76 -0
- package/dist/runtime/session/base.js.map +1 -0
- package/dist/runtime/session/commands.d.ts +43 -0
- package/dist/runtime/session/commands.d.ts.map +1 -0
- package/dist/runtime/session/commands.js +52 -0
- package/dist/runtime/session/commands.js.map +1 -0
- package/dist/runtime/session/exit.d.ts +16 -0
- package/dist/runtime/session/exit.d.ts.map +1 -0
- package/dist/runtime/session/exit.js +32 -0
- package/dist/runtime/session/exit.js.map +1 -0
- package/dist/runtime/session/image-attach.d.ts +45 -0
- package/dist/runtime/session/image-attach.d.ts.map +1 -0
- package/dist/runtime/session/image-attach.js +82 -0
- package/dist/runtime/session/image-attach.js.map +1 -0
- package/dist/runtime/session/lifecycle.d.ts +58 -0
- package/dist/runtime/session/lifecycle.d.ts.map +1 -0
- package/dist/runtime/session/lifecycle.js +161 -0
- package/dist/runtime/session/lifecycle.js.map +1 -0
- package/dist/runtime/session/loops.d.ts +32 -0
- package/dist/runtime/session/loops.d.ts.map +1 -0
- package/dist/runtime/session/loops.js +62 -0
- package/dist/runtime/session/loops.js.map +1 -0
- package/dist/runtime/session/readiness.d.ts +18 -0
- package/dist/runtime/session/readiness.d.ts.map +1 -0
- package/dist/runtime/session/readiness.js +22 -0
- package/dist/runtime/session/readiness.js.map +1 -0
- package/dist/runtime/session/reap.d.ts +28 -0
- package/dist/runtime/session/reap.d.ts.map +1 -0
- package/dist/runtime/session/reap.js +51 -0
- package/dist/runtime/session/reap.js.map +1 -0
- package/dist/runtime/session/resize.d.ts +20 -0
- package/dist/runtime/session/resize.d.ts.map +1 -0
- package/dist/runtime/session/resize.js +26 -0
- package/dist/runtime/session/resize.js.map +1 -0
- package/dist/runtime/session/shutdown-binding.d.ts +30 -0
- package/dist/runtime/session/shutdown-binding.d.ts.map +1 -0
- package/dist/runtime/session/shutdown-binding.js +37 -0
- package/dist/runtime/session/shutdown-binding.js.map +1 -0
- package/dist/runtime/session/shutdown.d.ts +60 -0
- package/dist/runtime/session/shutdown.d.ts.map +1 -0
- package/dist/runtime/session/shutdown.js +140 -0
- package/dist/runtime/session/shutdown.js.map +1 -0
- package/dist/runtime/session/status-wiring.d.ts +38 -0
- package/dist/runtime/session/status-wiring.d.ts.map +1 -0
- package/dist/runtime/session/status-wiring.js +41 -0
- package/dist/runtime/session/status-wiring.js.map +1 -0
- package/dist/runtime/session/status.d.ts +7 -0
- package/dist/runtime/session/status.d.ts.map +1 -0
- package/dist/runtime/session/status.js +22 -0
- package/dist/runtime/session/status.js.map +1 -0
- package/dist/runtime/session-base-types.d.ts +36 -0
- package/dist/runtime/session-base-types.d.ts.map +1 -0
- package/dist/runtime/session-base-types.js +14 -0
- package/dist/runtime/session-base-types.js.map +1 -0
- package/dist/runtime/session-base.d.ts +48 -0
- package/dist/runtime/session-base.d.ts.map +1 -0
- package/dist/runtime/session-base.js +76 -0
- package/dist/runtime/session-base.js.map +1 -0
- package/dist/runtime/session-commands.d.ts +43 -0
- package/dist/runtime/session-commands.d.ts.map +1 -0
- package/dist/runtime/session-commands.js +52 -0
- package/dist/runtime/session-commands.js.map +1 -0
- package/dist/runtime/session-exit.d.ts +16 -0
- package/dist/runtime/session-exit.d.ts.map +1 -0
- package/dist/runtime/session-exit.js +32 -0
- package/dist/runtime/session-exit.js.map +1 -0
- package/dist/runtime/session-image-attach.d.ts +45 -0
- package/dist/runtime/session-image-attach.d.ts.map +1 -0
- package/dist/runtime/session-image-attach.js +82 -0
- package/dist/runtime/session-image-attach.js.map +1 -0
- package/dist/runtime/session-lifecycle.d.ts +61 -0
- package/dist/runtime/session-lifecycle.d.ts.map +1 -0
- package/dist/runtime/session-lifecycle.js +164 -0
- package/dist/runtime/session-lifecycle.js.map +1 -0
- package/dist/runtime/session-loops.d.ts +32 -0
- package/dist/runtime/session-loops.d.ts.map +1 -0
- package/dist/runtime/session-loops.js +62 -0
- package/dist/runtime/session-loops.js.map +1 -0
- package/dist/runtime/session-readiness.d.ts +18 -0
- package/dist/runtime/session-readiness.d.ts.map +1 -0
- package/dist/runtime/session-readiness.js +22 -0
- package/dist/runtime/session-readiness.js.map +1 -0
- package/dist/runtime/session-reap.d.ts +28 -0
- package/dist/runtime/session-reap.d.ts.map +1 -0
- package/dist/runtime/session-reap.js +51 -0
- package/dist/runtime/session-reap.js.map +1 -0
- package/dist/runtime/session-resize.d.ts +20 -0
- package/dist/runtime/session-resize.d.ts.map +1 -0
- package/dist/runtime/session-resize.js +26 -0
- package/dist/runtime/session-resize.js.map +1 -0
- package/dist/runtime/session-shutdown-binding.d.ts +30 -0
- package/dist/runtime/session-shutdown-binding.d.ts.map +1 -0
- package/dist/runtime/session-shutdown-binding.js +37 -0
- package/dist/runtime/session-shutdown-binding.js.map +1 -0
- package/dist/runtime/session-shutdown.d.ts +60 -0
- package/dist/runtime/session-shutdown.d.ts.map +1 -0
- package/dist/runtime/session-shutdown.js +140 -0
- package/dist/runtime/session-shutdown.js.map +1 -0
- package/dist/runtime/session-status-wiring.d.ts +38 -0
- package/dist/runtime/session-status-wiring.d.ts.map +1 -0
- package/dist/runtime/session-status-wiring.js +41 -0
- package/dist/runtime/session-status-wiring.js.map +1 -0
- package/dist/runtime/session-status.d.ts +7 -0
- package/dist/runtime/session-status.d.ts.map +1 -0
- package/dist/runtime/session-status.js +22 -0
- package/dist/runtime/session-status.js.map +1 -0
- package/dist/runtime/shell.d.ts +21 -0
- package/dist/runtime/shell.d.ts.map +1 -0
- package/dist/runtime/shell.js +30 -0
- package/dist/runtime/shell.js.map +1 -0
- package/dist/runtime/shutdown/cleanup-latch.d.ts +27 -0
- package/dist/runtime/shutdown/cleanup-latch.d.ts.map +1 -0
- package/dist/runtime/shutdown/cleanup-latch.js +43 -0
- package/dist/runtime/shutdown/cleanup-latch.js.map +1 -0
- package/dist/runtime/shutdown/coordinator.d.ts +57 -0
- package/dist/runtime/shutdown/coordinator.d.ts.map +1 -0
- package/dist/runtime/shutdown/coordinator.js +77 -0
- package/dist/runtime/shutdown/coordinator.js.map +1 -0
- package/dist/runtime/shutdown/reap-tree.d.ts +62 -0
- package/dist/runtime/shutdown/reap-tree.d.ts.map +1 -0
- package/dist/runtime/shutdown/reap-tree.js +108 -0
- package/dist/runtime/shutdown/reap-tree.js.map +1 -0
- package/dist/runtime/shutdown/teardown.d.ts +15 -0
- package/dist/runtime/shutdown/teardown.d.ts.map +1 -0
- package/dist/runtime/shutdown/teardown.js +40 -0
- package/dist/runtime/shutdown/teardown.js.map +1 -0
- package/dist/runtime/shutdown/terminate.d.ts +22 -0
- package/dist/runtime/shutdown/terminate.d.ts.map +1 -0
- package/dist/runtime/shutdown/terminate.js +129 -0
- package/dist/runtime/shutdown/terminate.js.map +1 -0
- package/dist/runtime/shutdown-coordinator.d.ts +57 -0
- package/dist/runtime/shutdown-coordinator.d.ts.map +1 -0
- package/dist/runtime/shutdown-coordinator.js +77 -0
- package/dist/runtime/shutdown-coordinator.js.map +1 -0
- package/dist/runtime/startup/buffer.d.ts +33 -0
- package/dist/runtime/startup/buffer.d.ts.map +1 -0
- package/dist/runtime/startup/buffer.js +53 -0
- package/dist/runtime/startup/buffer.js.map +1 -0
- package/dist/runtime/startup/cleanup.d.ts +43 -0
- package/dist/runtime/startup/cleanup.d.ts.map +1 -0
- package/dist/runtime/startup/cleanup.js +89 -0
- package/dist/runtime/startup/cleanup.js.map +1 -0
- package/dist/runtime/startup/index.d.ts +17 -0
- package/dist/runtime/startup/index.d.ts.map +1 -0
- package/dist/runtime/startup/index.js +47 -0
- package/dist/runtime/startup/index.js.map +1 -0
- package/dist/runtime/startup-buffer.d.ts +33 -0
- package/dist/runtime/startup-buffer.d.ts.map +1 -0
- package/dist/runtime/startup-buffer.js +53 -0
- package/dist/runtime/startup-buffer.js.map +1 -0
- package/dist/runtime/startup-cleanup.d.ts +43 -0
- package/dist/runtime/startup-cleanup.d.ts.map +1 -0
- package/dist/runtime/startup-cleanup.js +89 -0
- package/dist/runtime/startup-cleanup.js.map +1 -0
- package/dist/runtime/startup.d.ts +17 -0
- package/dist/runtime/startup.d.ts.map +1 -0
- package/dist/runtime/startup.js +47 -0
- package/dist/runtime/startup.js.map +1 -0
- package/dist/runtime/status-emit.d.ts +14 -0
- package/dist/runtime/status-emit.d.ts.map +1 -0
- package/dist/runtime/status-emit.js +15 -0
- package/dist/runtime/status-emit.js.map +1 -0
- package/dist/runtime/status-evidence.d.ts +35 -0
- package/dist/runtime/status-evidence.d.ts.map +1 -0
- package/dist/runtime/status-evidence.js +143 -0
- package/dist/runtime/status-evidence.js.map +1 -0
- package/dist/runtime/teardown.d.ts +15 -0
- package/dist/runtime/teardown.d.ts.map +1 -0
- package/dist/runtime/teardown.js +40 -0
- package/dist/runtime/teardown.js.map +1 -0
- package/dist/runtime/terminate.d.ts +22 -0
- package/dist/runtime/terminate.d.ts.map +1 -0
- package/dist/runtime/terminate.js +129 -0
- package/dist/runtime/terminate.js.map +1 -0
- package/dist/runtime/update/lock.d.ts +19 -0
- package/dist/runtime/update/lock.d.ts.map +1 -0
- package/dist/runtime/update/lock.js +184 -0
- package/dist/runtime/update/lock.js.map +1 -0
- package/dist/runtime/update/once.d.ts +40 -0
- package/dist/runtime/update/once.d.ts.map +1 -0
- package/dist/runtime/update/once.js +88 -0
- package/dist/runtime/update/once.js.map +1 -0
- package/dist/runtime/update-lock.d.ts +19 -0
- package/dist/runtime/update-lock.d.ts.map +1 -0
- package/dist/runtime/update-lock.js +183 -0
- package/dist/runtime/update-lock.js.map +1 -0
- package/dist/runtime/update-once.d.ts +40 -0
- package/dist/runtime/update-once.d.ts.map +1 -0
- package/dist/runtime/update-once.js +88 -0
- package/dist/runtime/update-once.js.map +1 -0
- package/dist/state/files.d.ts +20 -0
- package/dist/state/files.d.ts.map +1 -0
- package/dist/state/files.js +78 -0
- package/dist/state/files.js.map +1 -0
- package/dist/state/launch-posture.d.ts +31 -0
- package/dist/state/launch-posture.d.ts.map +1 -0
- package/dist/state/launch-posture.js +41 -0
- package/dist/state/launch-posture.js.map +1 -0
- package/dist/state/loop-store.d.ts +13 -0
- package/dist/state/loop-store.d.ts.map +1 -0
- package/dist/state/loop-store.js +54 -0
- package/dist/state/loop-store.js.map +1 -0
- package/dist/state/private-read.d.ts +20 -0
- package/dist/state/private-read.d.ts.map +1 -0
- package/dist/state/private-read.js +57 -0
- package/dist/state/private-read.js.map +1 -0
- package/dist/state/private-session.d.ts +18 -0
- package/dist/state/private-session.d.ts.map +1 -0
- package/dist/state/private-session.js +98 -0
- package/dist/state/private-session.js.map +1 -0
- package/dist/state/runtime-paths.d.ts +40 -0
- package/dist/state/runtime-paths.d.ts.map +1 -0
- package/dist/state/runtime-paths.js +39 -0
- package/dist/state/runtime-paths.js.map +1 -0
- package/dist/state/socket-home.d.ts +68 -0
- package/dist/state/socket-home.d.ts.map +1 -0
- package/dist/state/socket-home.js +99 -0
- package/dist/state/socket-home.js.map +1 -0
- package/dist/state/store.d.ts +47 -0
- package/dist/state/store.d.ts.map +1 -0
- package/dist/state/store.js +103 -0
- package/dist/state/store.js.map +1 -0
- package/dist/state/validate-loops.d.ts +9 -0
- package/dist/state/validate-loops.d.ts.map +1 -0
- package/dist/state/validate-loops.js +81 -0
- package/dist/state/validate-loops.js.map +1 -0
- package/dist/state/validate-posture.d.ts +15 -0
- package/dist/state/validate-posture.d.ts.map +1 -0
- package/dist/state/validate-posture.js +69 -0
- package/dist/state/validate-posture.js.map +1 -0
- package/dist/state/validate-predicates.d.ts +8 -0
- package/dist/state/validate-predicates.d.ts.map +1 -0
- package/dist/state/validate-predicates.js +8 -0
- package/dist/state/validate-predicates.js.map +1 -0
- package/dist/state/validate.d.ts +16 -0
- package/dist/state/validate.d.ts.map +1 -0
- package/dist/state/validate.js +55 -0
- package/dist/state/validate.js.map +1 -0
- package/dist/terminal/headless.d.ts +30 -0
- package/dist/terminal/headless.d.ts.map +1 -0
- package/dist/terminal/headless.js +132 -0
- package/dist/terminal/headless.js.map +1 -0
- package/docs/api.md +184 -0
- package/docs/cli-behavior.md +416 -0
- package/docs/cli-output.md +124 -0
- package/docs/cli.md +171 -0
- package/docs/design-notes.md +74 -0
- package/docs/embedding.md +82 -0
- package/docs/images.md +67 -0
- package/docs/lifecycle.md +45 -0
- package/docs/login-recovery.md +86 -0
- package/docs/loops.md +58 -0
- package/package.json +83 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One ergonomic turn: submit a prompt and drive the agent turn to its REAL boundary,
|
|
3
|
+
* feeding a gate the consumer reads (PRD §5.8, C-API-48/49/50).
|
|
4
|
+
*
|
|
5
|
+
* The turn boundary is a COMPLETENESS ORACLE, not a timer. A turn's assistant text is
|
|
6
|
+
* transcript-sourced (C-CLAUDE-15) and the transcript is written ASYNCHRONOUSLY, arriving
|
|
7
|
+
* shortly AFTER the `ready` status. The turn-boundary `Stop` hook carries
|
|
8
|
+
* `last_assistant_message` — the final assistant text of the just-completed turn — used
|
|
9
|
+
* ONLY as a completeness signal (never displayed — it can be ghost text): the turn ends
|
|
10
|
+
* once the transcript-collected assistant text CONTAINS it. With no such signal (a
|
|
11
|
+
* pure-tool turn, or an empty/`null` `last_assistant_message`) the turn ends after a
|
|
12
|
+
* bounded quiet window with no new content.
|
|
13
|
+
*
|
|
14
|
+
* The runner is decoupled from its consumer. `completion` always resolves when the consumer
|
|
15
|
+
* settles; its error travels through `events`. The serializer instead holds `boundary`, which
|
|
16
|
+
* resolves on a successful oracle/quiet settle or terminal status. After consumer failure it
|
|
17
|
+
* waits for real `ready`/terminal evidence plus transcript drain, so abandoned streams cannot
|
|
18
|
+
* release their slot while the agent is still producing.
|
|
19
|
+
*
|
|
20
|
+
* Timeouts: a turn may run for HOURS (a test suite, a PR poll), so there is NO whole-turn
|
|
21
|
+
* timeout by default; callers may pass an opt-in `timeoutMs`, armed only AFTER submission (a
|
|
22
|
+
* turn begins on submission — the timer must never reject a caller for a prompt still queued
|
|
23
|
+
* behind readiness that then submits anyway). The tight cap is `catchUpMs` (default 10s),
|
|
24
|
+
* armed only ONCE `ready` fires — the flush should be near-instant, so a longer stall rejects
|
|
25
|
+
* with `wait_timeout`. A terminal status ends the turn at once.
|
|
26
|
+
*/
|
|
27
|
+
import { elwoodError, toError } from "../errors.js";
|
|
28
|
+
import { terminalStatuses } from "../status-categories.js";
|
|
29
|
+
import { toTurnEvent } from "./events.js";
|
|
30
|
+
import { TurnAcceptance } from "./turn-acceptance.js";
|
|
31
|
+
import { TurnBoundary } from "./turn-boundary.js";
|
|
32
|
+
import { TurnGate } from "./turn-gate.js";
|
|
33
|
+
import { defaultAcceptanceSignal, defaultBoundarySignal, } from "./turn-types.js";
|
|
34
|
+
export { defaultAcceptanceSignal, defaultBoundarySignal } from "./turn-types.js";
|
|
35
|
+
/** Quiet window (ms) after `ready` for a no-oracle turn to settle once content stops. */
|
|
36
|
+
const FALLBACK_QUIET_MS = 2_000;
|
|
37
|
+
/** Cap (ms) on the POST-`ready` transcript catch-up: a stalled flush bails, not hangs. */
|
|
38
|
+
const CATCH_UP_MS = 10_000;
|
|
39
|
+
/**
|
|
40
|
+
* Start a turn: attach listeners, submit the prompt, and drive the gate to the turn's real
|
|
41
|
+
* boundary. Returns the consumer `events` generator, an always-resolving `completion` signal,
|
|
42
|
+
* and the `boundary` promise the serializer holds its slot on (so the next turn never starts
|
|
43
|
+
* before the AGENT settles — see `RunningTurn` and the file docstring).
|
|
44
|
+
*/
|
|
45
|
+
export function runTurn(session, prompt, options = {}) {
|
|
46
|
+
const catchUpMs = options.catchUpMs ?? CATCH_UP_MS;
|
|
47
|
+
const gate = new TurnGate(options.fallbackQuietMs ?? FALLBACK_QUIET_MS, catchUpMs, options.maxPendingEvents, options.maxPendingBytes);
|
|
48
|
+
const sendOptions = options.images === undefined ? undefined : { images: options.images };
|
|
49
|
+
const send = () => session.sendMessage(prompt, sendOptions);
|
|
50
|
+
const acceptance = new TurnAcceptance(options.fallbackQuietMs ?? FALLBACK_QUIET_MS, {
|
|
51
|
+
replay: send,
|
|
52
|
+
acceptReady: () => gate.observeReady(),
|
|
53
|
+
fail: (error) => gate.fail(toError(error)),
|
|
54
|
+
});
|
|
55
|
+
// Bound to the first content event that CARRIES a `turnId` (Codex tags; Claude never does);
|
|
56
|
+
// untagged events always belong to this turn, a differently tagged one is a prior turn's.
|
|
57
|
+
let turnId;
|
|
58
|
+
// The turn only ENDS on a settle once it has demonstrably STARTED — a `running` status or
|
|
59
|
+
// the first content event — so the idle `ready` the session sits at when the prompt is
|
|
60
|
+
// submitted does not end the turn before any work runs. This (with the serializer holding
|
|
61
|
+
// the prior turn to its real boundary before this one starts) is why no explicit
|
|
62
|
+
// "is this my submission" gate is needed: there are no prior-turn events left to mis-collect.
|
|
63
|
+
let started = false;
|
|
64
|
+
let sawReady = false; // a `ready` after the turn started was observed (agent turn is idle/done)
|
|
65
|
+
let consumerSettled = false;
|
|
66
|
+
// Listeners are removed only once BOTH the consumer has settled AND the real boundary is
|
|
67
|
+
// reached: the boundary observer must outlive a consumer failure (a timed-out turn whose agent
|
|
68
|
+
// is still running), and the consumer view must outlive an early boundary (buffered drain).
|
|
69
|
+
const maybeCleanup = () => {
|
|
70
|
+
if (!(consumerSettled && boundary.isReached))
|
|
71
|
+
return;
|
|
72
|
+
gate.dispose();
|
|
73
|
+
offActivity();
|
|
74
|
+
offHook();
|
|
75
|
+
offStatus();
|
|
76
|
+
};
|
|
77
|
+
const boundary = new TurnBoundary(maybeCleanup, options.drainMs);
|
|
78
|
+
// The gate's SUCCESSFUL settle means the transcript drained — the real boundary. Its rejection
|
|
79
|
+
// (a consumer failure) does NOT reach it here; a post-failure `ready`/terminal does.
|
|
80
|
+
gate.done().then(() => boundary.reach(), () => undefined);
|
|
81
|
+
const offActivity = session.on("activity", (event) => {
|
|
82
|
+
const simple = toTurnEvent(event);
|
|
83
|
+
if (simple || (event.kind === "user_message" && event.text === prompt))
|
|
84
|
+
acceptance.accept();
|
|
85
|
+
if (simple) {
|
|
86
|
+
started = true;
|
|
87
|
+
turnId ??= event.turnId; // bind on the FIRST tagged event, not merely the first event
|
|
88
|
+
}
|
|
89
|
+
if (simple && (event.turnId === undefined || event.turnId === turnId)) {
|
|
90
|
+
// Queue the event FIRST, then feed the oracle: observeText can end() the turn, and
|
|
91
|
+
// push() drops events once ended — so the text that COMPLETES the turn is enqueued
|
|
92
|
+
// before the completion check runs.
|
|
93
|
+
gate.push(simple);
|
|
94
|
+
if (simple.type === "text")
|
|
95
|
+
gate.observeText(simple.text);
|
|
96
|
+
}
|
|
97
|
+
if (boundary.draining)
|
|
98
|
+
boundary.armDrain(); // trailing post-failure flush re-arms the drain
|
|
99
|
+
});
|
|
100
|
+
const readBoundarySignal = options.readBoundarySignal ?? defaultBoundarySignal;
|
|
101
|
+
const offHook = session.on("hook", (event) => {
|
|
102
|
+
// The adapter NORMALIZES its raw hook into the completeness signal (the expected final
|
|
103
|
+
// assistant text of a turn-BOUNDARY hook; `undefined` for any other hook, which the gate
|
|
104
|
+
// ignores so a late `Notification` cannot wipe an installed oracle). The core reads only
|
|
105
|
+
// that — never raw hook fields. Used as a completeness ORACLE only (never displayed —
|
|
106
|
+
// respects C-CLAUDE-15).
|
|
107
|
+
if (defaultAcceptanceSignal(event, prompt))
|
|
108
|
+
acceptance.accept();
|
|
109
|
+
gate.expectText(readBoundarySignal(event));
|
|
110
|
+
});
|
|
111
|
+
const offStatus = session.on("status", ({ status }) => {
|
|
112
|
+
if (status === "running") {
|
|
113
|
+
started = true;
|
|
114
|
+
acceptance.running();
|
|
115
|
+
}
|
|
116
|
+
if (terminalStatuses.has(status)) {
|
|
117
|
+
acceptance.dispose();
|
|
118
|
+
gate.end();
|
|
119
|
+
return boundary.reach(); // agent is gone — the real boundary, regardless of consumer state
|
|
120
|
+
}
|
|
121
|
+
if (status === "ready" && started) {
|
|
122
|
+
sawReady = true;
|
|
123
|
+
if (acceptance.ready())
|
|
124
|
+
gate.observeReady();
|
|
125
|
+
boundary.armDrain(); // failure path: agent reached ready → drain then release the slot
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
// Drive the consumer lifecycle EAGERLY and independently of iteration: submit, then wait for
|
|
129
|
+
// the gate to settle. Always resolves — the turn error reaches the consumer via `events`.
|
|
130
|
+
const completion = (async () => {
|
|
131
|
+
let timer;
|
|
132
|
+
try {
|
|
133
|
+
// A turn BEGINS on submission (PRD §5.8), so the opt-in ceiling is armed only AFTER
|
|
134
|
+
// `sendMessage` resolves — never rejecting a prompt still queued behind readiness.
|
|
135
|
+
await send(); // listeners attached — no early event lost
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
// The SUBMISSION failed → no agent turn is in flight and no status transition is coming:
|
|
139
|
+
// fail the consumer with the typed error AND reach the boundary at once (else the
|
|
140
|
+
// serializer waits forever). A terminal-status race is a benign idempotent no-op; otherwise
|
|
141
|
+
// a submit-on-a-dead-session `session_not_running` propagates to the consumer (C-API-25).
|
|
142
|
+
gate.fail(toError(error));
|
|
143
|
+
boundary.reach();
|
|
144
|
+
consumerSettled = true;
|
|
145
|
+
maybeCleanup();
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (options.timeoutMs !== undefined) {
|
|
149
|
+
timer = setTimeout(() => gate.fail(elwoodError("wait_timeout", "turn timed out")), options.timeoutMs);
|
|
150
|
+
timer.unref?.(); // a pending ceiling must not keep the host alive by itself
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
await gate.done(); // resolves on genuine settle (→ boundary); rejects on consumer failure
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
// Consumer failure after submission: the agent turn ran and may not be done, so the boundary
|
|
157
|
+
// waits for a real `ready`/terminal (not a quiet window). If `ready` was ALREADY seen (a
|
|
158
|
+
// catch-up failure — agent idle, transcript stalled), arm the drain now; no `ready` re-fires.
|
|
159
|
+
boundary.markConsumerFailed();
|
|
160
|
+
if (sawReady)
|
|
161
|
+
boundary.armDrain();
|
|
162
|
+
}
|
|
163
|
+
finally {
|
|
164
|
+
if (timer)
|
|
165
|
+
clearTimeout(timer);
|
|
166
|
+
acceptance.dispose();
|
|
167
|
+
consumerSettled = true;
|
|
168
|
+
maybeCleanup();
|
|
169
|
+
}
|
|
170
|
+
})();
|
|
171
|
+
return { events: gate.drain(), completion, boundary: boundary.promise };
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=turn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn.js","sourceRoot":"","sources":["../../../src/core/simple/turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAItB,MAAM,iBAAiB,CAAC;AAYzB,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,yFAAyF;AACzF,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,0FAA0F;AAC1F,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CACrB,OAAoB,EACpB,MAAc,EACd,UAA6B,EAAE;IAE/B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,WAAW,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,QAAQ,CACvB,OAAO,CAAC,eAAe,IAAI,iBAAiB,EAC5C,SAAS,EACT,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,eAAe,CACxB,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1F,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,IAAI,iBAAiB,EAAE;QAClF,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;QACtC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KAC3C,CAAC,CAAC;IACH,4FAA4F;IAC5F,0FAA0F;IAC1F,IAAI,MAA0B,CAAC;IAC/B,0FAA0F;IAC1F,uFAAuF;IACvF,0FAA0F;IAC1F,iFAAiF;IACjF,8FAA8F;IAC9F,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,0EAA0E;IAChG,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,yFAAyF;IACzF,+FAA+F;IAC/F,4FAA4F;IAC5F,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC;IACd,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,+FAA+F;IAC/F,qFAAqF;IACrF,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CACd,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EACtB,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;YAAE,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5F,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,6DAA6D;QACxF,CAAC;QACD,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;YACtE,mFAAmF;YACnF,mFAAmF;YACnF,oCAAoC;YACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;gBAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ;YAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,gDAAgD;IAC9F,CAAC,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,qBAAqB,CAAC;IAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3C,uFAAuF;QACvF,yFAAyF;QACzF,yFAAyF;QACzF,sFAAsF;QACtF,yBAAyB;QACzB,IAAI,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC;YAAE,UAAU,CAAC,MAAM,EAAE,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC;YACf,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,kEAAkE;QAC7F,CAAC;QACD,IAAI,MAAM,KAAK,OAAO,IAAI,OAAO,EAAE,CAAC;YAClC,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,UAAU,CAAC,KAAK,EAAE;gBAAE,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,kEAAkE;QACzF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6FAA6F;IAC7F,0FAA0F;IAC1F,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE;QAC7B,IAAI,KAAgD,CAAC;QACrD,IAAI,CAAC;YACH,oFAAoF;YACpF,mFAAmF;YACnF,MAAM,IAAI,EAAE,CAAC,CAAC,2CAA2C;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yFAAyF;YACzF,kFAAkF;YAClF,4FAA4F;YAC5F,0FAA0F;YAC1F,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1B,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,eAAe,GAAG,IAAI,CAAC;YACvB,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,EAC9D,OAAO,CAAC,SAAS,CAClB,CAAC;YACF,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,2DAA2D;QAC9E,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,uEAAuE;QAC5F,CAAC;QAAC,MAAM,CAAC;YACP,6FAA6F;YAC7F,yFAAyF;YACzF,8FAA8F;YAC9F,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC9B,IAAI,QAAQ;gBAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,eAAe,GAAG,IAAI,CAAC;YACvB,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared try-resume-else-start policy for adapter entry points.
|
|
3
|
+
* Implements PRD §5.2, §5.6, and C-API-26.
|
|
4
|
+
*/
|
|
5
|
+
export type StartOrResumeResult<S> = {
|
|
6
|
+
readonly session: S;
|
|
7
|
+
readonly resumed: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function startOrResume<S>(elwoodSessionId: string | undefined, resume: (elwoodSessionId: string) => Promise<S>, start: () => Promise<S>): Promise<StartOrResumeResult<S>>;
|
|
10
|
+
//# sourceMappingURL=start-or-resume.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-or-resume.d.ts","sourceRoot":"","sources":["../../src/core/start-or-resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;IACnC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AASF,wBAAsB,aAAa,CAAC,CAAC,EACnC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAC/C,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CASjC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared try-resume-else-start policy for adapter entry points.
|
|
3
|
+
* Implements PRD §5.2, §5.6, and C-API-26.
|
|
4
|
+
*/
|
|
5
|
+
import { ElwoodError } from "./errors.js";
|
|
6
|
+
/** Error names that mean "no resumable session exists" rather than failure. */
|
|
7
|
+
const fallbackCodes = new Set([
|
|
8
|
+
"state_not_found",
|
|
9
|
+
"resume_unavailable",
|
|
10
|
+
"adapter_mismatch",
|
|
11
|
+
]);
|
|
12
|
+
export async function startOrResume(elwoodSessionId, resume, start) {
|
|
13
|
+
if (elwoodSessionId !== undefined) {
|
|
14
|
+
try {
|
|
15
|
+
return { session: await resume(elwoodSessionId), resumed: true };
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
if (!(error instanceof ElwoodError && fallbackCodes.has(error.code)))
|
|
19
|
+
throw error;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return { session: await start(), resumed: false };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=start-or-resume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-or-resume.js","sourceRoot":"","sources":["../../src/core/start-or-resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAwB,MAAM,aAAa,CAAC;AAOhE,+EAA+E;AAC/E,MAAM,aAAa,GAAiC,IAAI,GAAG,CAAC;IAC1D,iBAAiB;IACjB,oBAAoB;IACpB,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,eAAmC,EACnC,MAA+C,EAC/C,KAAuB;IAEvB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAAE,MAAM,KAAK,CAAC;QACpF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emits activity for automated startup prompt responses.
|
|
3
|
+
* Implements PRD §5.4 and C-API-18.
|
|
4
|
+
*/
|
|
5
|
+
import type { ElwoodActivityEvent, ElwoodAgentKind } from "../activity/index.ts";
|
|
6
|
+
import type { TrustPromptIdFor } from "../trust/prompts.ts";
|
|
7
|
+
export type { TrustPromptIdFor } from "../trust/prompts.ts";
|
|
8
|
+
/**
|
|
9
|
+
* The single source of truth for the non-trust startup-prompt labels, keyed by
|
|
10
|
+
* owning agent: the browser-tools onboarding decline is Claude-only (C-CLAUDE-11)
|
|
11
|
+
* and the skip-update prompt is Codex-only (C-CODEX-12). Every non-trust union
|
|
12
|
+
* and the runtime label set below are DERIVED from this table, so they cannot
|
|
13
|
+
* drift from each other or from the §5.4 label contract. Adding an agent's label
|
|
14
|
+
* here automatically extends both the type and the validator.
|
|
15
|
+
*/
|
|
16
|
+
declare const nonTrustStartupLabels: {
|
|
17
|
+
readonly claude: readonly ["browser_tools"];
|
|
18
|
+
readonly codex: readonly ["update"];
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The non-trust startup-prompt labels for one agent, derived from the table so
|
|
22
|
+
* each impossible pairing (Claude + `update`, Codex + `browser_tools`) stays
|
|
23
|
+
* unrepresentable, matching the §5.4 label table exactly.
|
|
24
|
+
*/
|
|
25
|
+
type NonTrustStartupLabel<A extends ElwoodAgentKind> = (typeof nonTrustStartupLabels)[A][number];
|
|
26
|
+
/**
|
|
27
|
+
* Every startup-prompt label for one agent: its own allowlisted trust ids plus
|
|
28
|
+
* its own non-trust prompts. Matches the PRD's exact per-agent label contract
|
|
29
|
+
* (§5.4) so a second implementation and this type can never drift.
|
|
30
|
+
*/
|
|
31
|
+
export type StartupPromptLabelFor<A extends ElwoodAgentKind> = TrustPromptIdFor<A> | NonTrustStartupLabel<A>;
|
|
32
|
+
/**
|
|
33
|
+
* The outcome of handling a startup prompt for agent `A`, discriminated so the
|
|
34
|
+
* two states cannot be confused: an `answered` prompt ALWAYS carries the `input`
|
|
35
|
+
* sent and is labeled with any of the agent's startup labels, while an
|
|
36
|
+
* `option_pending` prompt (recognized allowlisted trust prompt whose affirmative
|
|
37
|
+
* option has not rendered yet — a TRANSIENT render delay, C-CLAUDE-14) NEVER
|
|
38
|
+
* carries an input and is limited to the agent's TRUST ids (a non-trust prompt
|
|
39
|
+
* like `browser_tools`/`update` is never "recognized but option-pending"). Both
|
|
40
|
+
* correlate the label to `A`, so an off-agent or impossible label does not compile.
|
|
41
|
+
*/
|
|
42
|
+
export type StartupPromptOutcome<A extends ElwoodAgentKind = ElwoodAgentKind> = {
|
|
43
|
+
readonly kind: "answered";
|
|
44
|
+
readonly prompt: StartupPromptLabelFor<A>;
|
|
45
|
+
readonly input: string;
|
|
46
|
+
} | {
|
|
47
|
+
readonly kind: "option_pending";
|
|
48
|
+
readonly prompt: TrustPromptIdFor<A>;
|
|
49
|
+
};
|
|
50
|
+
export type StartupActivityEmitter = {
|
|
51
|
+
emit(event: "activity", payload: ElwoodActivityEvent): void;
|
|
52
|
+
};
|
|
53
|
+
export declare function emitStartupPromptActivity<A extends ElwoodAgentKind>(emitter: StartupActivityEmitter, agent: A, elwoodSessionId: string, automation: StartupPromptOutcome<A>): void;
|
|
54
|
+
//# sourceMappingURL=automation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../../src/core/startup/automation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;;;GAOG;AACH,QAAA,MAAM,qBAAqB;;;CAGoC,CAAC;AAEhE;;;;GAIG;AACH,KAAK,oBAAoB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjG;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,eAAe,IACvD,gBAAgB,CAAC,CAAC,CAAC,GACnB,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAE5B;;;;;;;;;GASG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IACxE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChG;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAE9E,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC7D,CAAC;AA2BF,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,eAAe,EACjE,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,CAAC,EACR,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAClC,IAAI,CAEN"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emits activity for automated startup prompt responses.
|
|
3
|
+
* Implements PRD §5.4 and C-API-18.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The single source of truth for the non-trust startup-prompt labels, keyed by
|
|
7
|
+
* owning agent: the browser-tools onboarding decline is Claude-only (C-CLAUDE-11)
|
|
8
|
+
* and the skip-update prompt is Codex-only (C-CODEX-12). Every non-trust union
|
|
9
|
+
* and the runtime label set below are DERIVED from this table, so they cannot
|
|
10
|
+
* drift from each other or from the §5.4 label contract. Adding an agent's label
|
|
11
|
+
* here automatically extends both the type and the validator.
|
|
12
|
+
*/
|
|
13
|
+
const nonTrustStartupLabels = {
|
|
14
|
+
claude: ["browser_tools"],
|
|
15
|
+
codex: ["update"],
|
|
16
|
+
};
|
|
17
|
+
function activityFromStartupPrompt(agent, elwoodSessionId, automation) {
|
|
18
|
+
if (automation.kind === "option_pending") {
|
|
19
|
+
return {
|
|
20
|
+
elwoodSessionId,
|
|
21
|
+
agent,
|
|
22
|
+
source: "terminal",
|
|
23
|
+
kind: "attention",
|
|
24
|
+
label: automation.prompt,
|
|
25
|
+
text: `Recognized ${agent} ${automation.prompt} prompt; affirmative option not rendered yet, awaiting a later frame.`,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
elwoodSessionId,
|
|
30
|
+
agent,
|
|
31
|
+
source: "terminal",
|
|
32
|
+
kind: "startup_prompt",
|
|
33
|
+
label: automation.prompt,
|
|
34
|
+
text: `Detected ${agent} ${automation.prompt} prompt; sent ${automation.input}.`,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function emitStartupPromptActivity(emitter, agent, elwoodSessionId, automation) {
|
|
38
|
+
emitter.emit("activity", activityFromStartupPrompt(agent, elwoodSessionId, automation));
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=automation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automation.js","sourceRoot":"","sources":["../../../src/core/startup/automation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;;;;;GAOG;AACH,MAAM,qBAAqB,GAAG;IAC5B,MAAM,EAAE,CAAC,eAAe,CAAC;IACzB,KAAK,EAAE,CAAC,QAAQ,CAAC;CAC4C,CAAC;AAoChE,SAAS,yBAAyB,CAChC,KAAQ,EACR,eAAuB,EACvB,UAAmC;IAEnC,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO;YACL,eAAe;YACf,KAAK;YACL,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,UAAU,CAAC,MAAM;YACxB,IAAI,EAAE,cAAc,KAAK,IAAI,UAAU,CAAC,MAAM,uEAAuE;SACtH,CAAC;IACJ,CAAC;IACD,OAAO;QACL,eAAe;QACf,KAAK;QACL,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,UAAU,CAAC,MAAM;QACxB,IAAI,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,MAAM,iBAAiB,UAAU,CAAC,KAAK,GAAG;KACjF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAA+B,EAC/B,KAAQ,EACR,eAAuB,EACvB,UAAmC;IAEnC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,yBAAyB,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;AAC1F,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared startup-frame helpers keeping telemetry off the critical frame path.
|
|
3
|
+
* Implements PRD §5.7/§9.1 (C-API-14, C-API-37): a warning is TELEMETRY and must
|
|
4
|
+
* never control session progress. On the hot terminal-frame callback a throwing
|
|
5
|
+
* `warning`/`activity` listener must not skip the rest of the frame (readiness
|
|
6
|
+
* detection, prompt automation, login/attention detection, `terminal:data`), and the
|
|
7
|
+
* preflight/version warning must reach a caller that subscribes in the same turn it
|
|
8
|
+
* receives the session — so it is delivered on a deferred macrotask AFTER start
|
|
9
|
+
* resolves, not on an early startup frame a caller cannot yet observe.
|
|
10
|
+
*/
|
|
11
|
+
import type { ElwoodWarningEvent } from "../types.ts";
|
|
12
|
+
/** A session's live warning sink (emits a batch as `warning` + `activity`). */
|
|
13
|
+
export type FrameWarningSink = {
|
|
14
|
+
readonly emitWarnings: (warnings: readonly ElwoodWarningEvent[]) => void;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Delivers `warnings` through `sink` but CONTAINS a throwing listener so frame
|
|
18
|
+
* processing continues. Warnings are live-only: a contained throw drops the warning
|
|
19
|
+
* (it is not retried), exactly as a human's terminal does not re-show a flashed banner.
|
|
20
|
+
*/
|
|
21
|
+
export declare function deliverFrameWarnings(sink: FrameWarningSink | undefined, warnings: readonly ElwoodWarningEvent[]): void;
|
|
22
|
+
/**
|
|
23
|
+
* A buffer-then-live warning sink for the STARTUP region. Warnings emitted BEFORE the
|
|
24
|
+
* caller can subscribe (during the pre-return startup gate — MCP/transcript/preflight
|
|
25
|
+
* diagnostics) are BUFFERED, then flushed on a deferred macrotask AFTER start resolves,
|
|
26
|
+
* so a caller attaching a `warning` listener in the same turn it receives the session
|
|
27
|
+
* still observes them (C-API-14) — WITHOUT restoring general late-subscriber replay.
|
|
28
|
+
* Once opened, delivery is live pass-through. Every observed startup warning is
|
|
29
|
+
* delivered: PRD §5.7/C-API-14 defines no overflow exception, and the buffer drains one
|
|
30
|
+
* macrotask after start resolves, so it is inherently short-lived (the finite set of
|
|
31
|
+
* startup diagnostics), not an unbounded queue — a silent cap could drop the guaranteed
|
|
32
|
+
* `version_unparseable` warning. A macrotask (not a microtask) is required: a microtask
|
|
33
|
+
* runs before the caller's post-`await` continuation, so it would fire into no listener.
|
|
34
|
+
*/
|
|
35
|
+
export declare function createStartupWarningGate(sink: FrameWarningSink): {
|
|
36
|
+
readonly emitWarnings: (warnings: readonly ElwoodWarningEvent[]) => void;
|
|
37
|
+
readonly openAfterReturn: () => void;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../src/core/startup/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,KAAK,IAAI,CAAC;CAC1E,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAClC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GACtC,IAAI,CAQN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IAChE,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,KAAK,IAAI,CAAC;IACzE,QAAQ,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC;CACtC,CAiBA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared startup-frame helpers keeping telemetry off the critical frame path.
|
|
3
|
+
* Implements PRD §5.7/§9.1 (C-API-14, C-API-37): a warning is TELEMETRY and must
|
|
4
|
+
* never control session progress. On the hot terminal-frame callback a throwing
|
|
5
|
+
* `warning`/`activity` listener must not skip the rest of the frame (readiness
|
|
6
|
+
* detection, prompt automation, login/attention detection, `terminal:data`), and the
|
|
7
|
+
* preflight/version warning must reach a caller that subscribes in the same turn it
|
|
8
|
+
* receives the session — so it is delivered on a deferred macrotask AFTER start
|
|
9
|
+
* resolves, not on an early startup frame a caller cannot yet observe.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Delivers `warnings` through `sink` but CONTAINS a throwing listener so frame
|
|
13
|
+
* processing continues. Warnings are live-only: a contained throw drops the warning
|
|
14
|
+
* (it is not retried), exactly as a human's terminal does not re-show a flashed banner.
|
|
15
|
+
*/
|
|
16
|
+
export function deliverFrameWarnings(sink, warnings) {
|
|
17
|
+
if (!sink || warnings.length === 0)
|
|
18
|
+
return;
|
|
19
|
+
try {
|
|
20
|
+
sink.emitWarnings(warnings);
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
// Telemetry must not wedge the frame: a throwing listener is contained here so
|
|
24
|
+
// readiness, prompt automation, login detection, and terminal:data still run.
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A buffer-then-live warning sink for the STARTUP region. Warnings emitted BEFORE the
|
|
29
|
+
* caller can subscribe (during the pre-return startup gate — MCP/transcript/preflight
|
|
30
|
+
* diagnostics) are BUFFERED, then flushed on a deferred macrotask AFTER start resolves,
|
|
31
|
+
* so a caller attaching a `warning` listener in the same turn it receives the session
|
|
32
|
+
* still observes them (C-API-14) — WITHOUT restoring general late-subscriber replay.
|
|
33
|
+
* Once opened, delivery is live pass-through. Every observed startup warning is
|
|
34
|
+
* delivered: PRD §5.7/C-API-14 defines no overflow exception, and the buffer drains one
|
|
35
|
+
* macrotask after start resolves, so it is inherently short-lived (the finite set of
|
|
36
|
+
* startup diagnostics), not an unbounded queue — a silent cap could drop the guaranteed
|
|
37
|
+
* `version_unparseable` warning. A macrotask (not a microtask) is required: a microtask
|
|
38
|
+
* runs before the caller's post-`await` continuation, so it would fire into no listener.
|
|
39
|
+
*/
|
|
40
|
+
export function createStartupWarningGate(sink) {
|
|
41
|
+
let open = false;
|
|
42
|
+
const buffered = [];
|
|
43
|
+
return {
|
|
44
|
+
emitWarnings: (warnings) => {
|
|
45
|
+
if (open)
|
|
46
|
+
return deliverFrameWarnings(sink, warnings);
|
|
47
|
+
buffered.push(...warnings);
|
|
48
|
+
},
|
|
49
|
+
openAfterReturn: () => {
|
|
50
|
+
const timer = setTimeout(() => {
|
|
51
|
+
open = true; // subsequent startup-frame warnings deliver live from here on
|
|
52
|
+
const batch = buffered.splice(0);
|
|
53
|
+
if (batch.length > 0)
|
|
54
|
+
deliverFrameWarnings(sink, batch);
|
|
55
|
+
}, 0);
|
|
56
|
+
timer.unref?.();
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../../../src/core/startup/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAkC,EAClC,QAAuC;IAEvC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC3C,IAAI,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,+EAA+E;QAC/E,8EAA8E;IAChF,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAsB;IAI7D,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,OAAO;QACL,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;YACzB,IAAI,IAAI;gBAAE,OAAO,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtD,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,eAAe,EAAE,GAAG,EAAE;YACpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,GAAG,IAAI,CAAC,CAAC,8DAA8D;gBAC3E,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Completion-aware settlement for automated startup-prompt PTY writes.
|
|
3
|
+
* Implements PRD §5.1, §5.4, and §5.7: a startup prompt is marked answered (its
|
|
4
|
+
* `startup_prompt` activity emitted) ONLY after its `sendInput` write actually
|
|
5
|
+
* fulfills. A rejected write leaves the prompt retryable and surfaces a bounded,
|
|
6
|
+
* content-free `startup_prompt_write_failed` warning instead of false telemetry
|
|
7
|
+
* (C-CLAUDE-16, C-CODEX-17).
|
|
8
|
+
*/
|
|
9
|
+
import type { ElwoodAgentKind } from "../activity/index.ts";
|
|
10
|
+
import type { ElwoodWarningEvent } from "../warnings/index.ts";
|
|
11
|
+
import type { TrustPromptIdFor } from "./automation.ts";
|
|
12
|
+
import { type StartupActivityEmitter, type StartupPromptLabelFor } from "./automation.ts";
|
|
13
|
+
/**
|
|
14
|
+
* A settled startup-prompt automation, discriminated by `outcome.kind` so the
|
|
15
|
+
* invalid pairings are unrepresentable: an `answered` outcome ALWAYS carries the
|
|
16
|
+
* write-completion `settled` promise (resolves on write success, rejects — after
|
|
17
|
+
* the responder un-settles the prompt — on a rejected write), and an
|
|
18
|
+
* `option_pending` outcome (no write happened) NEVER carries one. This makes a
|
|
19
|
+
* false success ("answered" with no write to await) and a silently lost warning
|
|
20
|
+
* (write present on a non-answered outcome) impossible to construct (§5.4, §5.7).
|
|
21
|
+
*/
|
|
22
|
+
export type SettledStartupOutcome<A extends ElwoodAgentKind> = {
|
|
23
|
+
readonly outcome: {
|
|
24
|
+
readonly kind: "answered";
|
|
25
|
+
readonly prompt: StartupPromptLabelFor<A>;
|
|
26
|
+
readonly input: string;
|
|
27
|
+
};
|
|
28
|
+
readonly settled: Promise<void>;
|
|
29
|
+
} | {
|
|
30
|
+
readonly outcome: {
|
|
31
|
+
readonly kind: "option_pending";
|
|
32
|
+
readonly prompt: TrustPromptIdFor<A>;
|
|
33
|
+
};
|
|
34
|
+
readonly settled?: undefined;
|
|
35
|
+
};
|
|
36
|
+
/** Where a rejected startup-prompt write is reported. */
|
|
37
|
+
export type StartupWarningSink = {
|
|
38
|
+
emitWarnings(warnings: readonly ElwoodWarningEvent[]): void;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Emit each settled automation's activity at the RIGHT time: an `option_pending`
|
|
42
|
+
* or write-less outcome emits immediately; a write-backed `answered` outcome emits
|
|
43
|
+
* its `startup_prompt` activity only once the write resolves, and on rejection
|
|
44
|
+
* emits a bounded warning instead — never a false "answered" activity.
|
|
45
|
+
*/
|
|
46
|
+
export declare function emitSettledStartupOutcomes<A extends ElwoodAgentKind>(emitter: StartupActivityEmitter, agent: A, elwoodSessionId: string, settledOutcomes: readonly SettledStartupOutcome<NoInfer<A>>[], warnings: StartupWarningSink | undefined): void;
|
|
47
|
+
//# sourceMappingURL=write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../src/core/startup/write.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAA4B,MAAM,sBAAsB,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAE3B,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,eAAe,IACvD;IACE,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,GACD;IACE,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEN,yDAAyD;AACzD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,eAAe,EAClE,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,CAAC,EACR,eAAe,EAAE,MAAM,EAIvB,eAAe,EAAE,SAAS,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAC7D,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GACvC,IAAI,CAgCN"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Completion-aware settlement for automated startup-prompt PTY writes.
|
|
3
|
+
* Implements PRD §5.1, §5.4, and §5.7: a startup prompt is marked answered (its
|
|
4
|
+
* `startup_prompt` activity emitted) ONLY after its `sendInput` write actually
|
|
5
|
+
* fulfills. A rejected write leaves the prompt retryable and surfaces a bounded,
|
|
6
|
+
* content-free `startup_prompt_write_failed` warning instead of false telemetry
|
|
7
|
+
* (C-CLAUDE-16, C-CODEX-17).
|
|
8
|
+
*/
|
|
9
|
+
import { emitStartupPromptActivity, } from "./automation.js";
|
|
10
|
+
/**
|
|
11
|
+
* Emit each settled automation's activity at the RIGHT time: an `option_pending`
|
|
12
|
+
* or write-less outcome emits immediately; a write-backed `answered` outcome emits
|
|
13
|
+
* its `startup_prompt` activity only once the write resolves, and on rejection
|
|
14
|
+
* emits a bounded warning instead — never a false "answered" activity.
|
|
15
|
+
*/
|
|
16
|
+
export function emitSettledStartupOutcomes(emitter, agent, elwoodSessionId,
|
|
17
|
+
// `NoInfer` blocks inference of `A` from the outcomes, so `A` is pinned by the
|
|
18
|
+
// `agent` argument alone. Passing Codex outcomes with `agent: "claude"` no
|
|
19
|
+
// longer widens `A` to the union and cannot construct a cross-agent warning.
|
|
20
|
+
settledOutcomes, warnings) {
|
|
21
|
+
for (const settledOutcome of settledOutcomes) {
|
|
22
|
+
if (settledOutcome.settled === undefined) {
|
|
23
|
+
// An `option_pending` outcome: no write happened, so there is nothing to
|
|
24
|
+
// await — emit its attention activity immediately. The discriminated union
|
|
25
|
+
// guarantees this branch is only ever `option_pending`. CONTAIN a throwing
|
|
26
|
+
// activity listener exactly as the promise-backed branch does: this runs on the
|
|
27
|
+
// hot startup frame, so an escaping throw would skip the rest of the frame
|
|
28
|
+
// (readiness/blocking observation, `terminal:data`) and could let an already-armed
|
|
29
|
+
// readiness deadline drain queued input into an unlatched dialog (C-API-28).
|
|
30
|
+
try {
|
|
31
|
+
emitStartupPromptActivity(emitter, agent, elwoodSessionId, settledOutcome.outcome);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// Telemetry must not wedge the frame; the activity is dropped (live-only).
|
|
35
|
+
}
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
// An `answered` outcome always carries the write-completion promise: its
|
|
39
|
+
// activity is emitted only once the write fulfills, and a rejected write
|
|
40
|
+
// surfaces a bounded warning instead of a false "answered" activity.
|
|
41
|
+
const { outcome, settled } = settledOutcome;
|
|
42
|
+
// A terminal `.catch` OWNS the derived promise: both continuations call public
|
|
43
|
+
// event paths that can throw (activity emission rethrows listener failures;
|
|
44
|
+
// warning recording can fail), and a floated rejection would be an unhandled
|
|
45
|
+
// rejection that can terminate the host during startup. Swallow it here.
|
|
46
|
+
settled
|
|
47
|
+
.then(() => emitStartupPromptActivity(emitter, agent, elwoodSessionId, outcome), () => warnings?.emitWarnings([writeFailedWarning(agent, elwoodSessionId, outcome)]))
|
|
48
|
+
.catch(() => undefined);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// `agent` and `outcome` are always the SAME concrete `A` here — the caller
|
|
52
|
+
// (`emitSettledStartupOutcomes`) already pins `A` via NoInfer, so this internal
|
|
53
|
+
// helper needs no extra guard and its correlation is enforced by construction.
|
|
54
|
+
function writeFailedWarning(agent, elwoodSessionId, outcome) {
|
|
55
|
+
// `outcome.prompt` is already the agent-correlated label, so no cast discards
|
|
56
|
+
// the correlation: an off-agent (label, agent) pairing cannot be constructed.
|
|
57
|
+
const label = outcome.prompt;
|
|
58
|
+
const warning = {
|
|
59
|
+
elwoodSessionId,
|
|
60
|
+
agent,
|
|
61
|
+
source: "terminal",
|
|
62
|
+
code: "startup_prompt_write_failed",
|
|
63
|
+
severity: "warning",
|
|
64
|
+
message: `Startup prompt ${label} could not be answered: PTY write was rejected; leaving it retryable.`,
|
|
65
|
+
label,
|
|
66
|
+
raw: `startup_prompt_write_failed label=${label}`,
|
|
67
|
+
};
|
|
68
|
+
// A concrete `StartupPromptWriteFailed<"claude"|"codex">` IS an ElwoodWarningEvent
|
|
69
|
+
// member; the widening bridges TS's generic-union assignability gap only (the
|
|
70
|
+
// agent/label correlation above is already enforced at construction).
|
|
71
|
+
return warning;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../src/core/startup/write.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EACL,yBAAyB,GAI1B,MAAM,iBAAiB,CAAC;AA8BzB;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA+B,EAC/B,KAAQ,EACR,eAAuB;AACvB,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,eAA6D,EAC7D,QAAwC;IAExC,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,cAAc,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACzC,yEAAyE;YACzE,2EAA2E;YAC3E,2EAA2E;YAC3E,gFAAgF;YAChF,2EAA2E;YAC3E,mFAAmF;YACnF,6EAA6E;YAC7E,IAAI,CAAC;gBACH,yBAAyB,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC;gBACP,2EAA2E;YAC7E,CAAC;YACD,SAAS;QACX,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;QAC5C,+EAA+E;QAC/E,4EAA4E;QAC5E,6EAA6E;QAC7E,yEAAyE;QACzE,OAAO;aACJ,IAAI,CACH,GAAG,EAAE,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EACzE,GAAG,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CACpF;aACA,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,gFAAgF;AAChF,+EAA+E;AAC/E,SAAS,kBAAkB,CACzB,KAAQ,EACR,eAAuB,EACvB,OAAgC;IAEhC,8EAA8E;IAC9E,8EAA8E;IAC9E,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,MAAM,OAAO,GAAgC;QAC3C,eAAe;QACf,KAAK;QACL,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,6BAA6B;QACnC,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,kBAAkB,KAAK,uEAAuE;QACvG,KAAK;QACL,GAAG,EAAE,qCAAqC,KAAK,EAAE;KAClD,CAAC;IACF,mFAAmF;IACnF,8EAA8E;IAC9E,sEAAsE;IACtE,OAAO,OAA6B,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emits activity for automated startup prompt responses.
|
|
3
|
+
* Implements PRD §5.4 and C-API-18.
|
|
4
|
+
*/
|
|
5
|
+
import type { ElwoodActivityEvent, ElwoodAgentKind } from "./activity.ts";
|
|
6
|
+
import type { TrustPromptIdFor } from "./trust-prompts.ts";
|
|
7
|
+
export type { TrustPromptIdFor } from "./trust-prompts.ts";
|
|
8
|
+
/**
|
|
9
|
+
* The single source of truth for the non-trust startup-prompt labels, keyed by
|
|
10
|
+
* owning agent: the browser-tools onboarding decline is Claude-only (C-CLAUDE-11)
|
|
11
|
+
* and the skip-update prompt is Codex-only (C-CODEX-12). Every non-trust union
|
|
12
|
+
* and the runtime label set below are DERIVED from this table, so they cannot
|
|
13
|
+
* drift from each other or from the §5.4 label contract. Adding an agent's label
|
|
14
|
+
* here automatically extends both the type and the validator.
|
|
15
|
+
*/
|
|
16
|
+
declare const nonTrustStartupLabels: {
|
|
17
|
+
readonly claude: readonly ["browser_tools"];
|
|
18
|
+
readonly codex: readonly ["update"];
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The non-trust startup-prompt labels for one agent, derived from the table so
|
|
22
|
+
* each impossible pairing (Claude + `update`, Codex + `browser_tools`) stays
|
|
23
|
+
* unrepresentable, matching the §5.4 label table exactly.
|
|
24
|
+
*/
|
|
25
|
+
type NonTrustStartupLabel<A extends ElwoodAgentKind> = (typeof nonTrustStartupLabels)[A][number];
|
|
26
|
+
/**
|
|
27
|
+
* Every startup-prompt label for one agent: its own allowlisted trust ids plus
|
|
28
|
+
* its own non-trust prompts. Matches the PRD's exact per-agent label contract
|
|
29
|
+
* (§5.4) so a second implementation and this type can never drift.
|
|
30
|
+
*/
|
|
31
|
+
export type StartupPromptLabelFor<A extends ElwoodAgentKind> = TrustPromptIdFor<A> | NonTrustStartupLabel<A>;
|
|
32
|
+
/**
|
|
33
|
+
* The outcome of handling a startup prompt for agent `A`, discriminated so the
|
|
34
|
+
* two states cannot be confused: an `answered` prompt ALWAYS carries the `input`
|
|
35
|
+
* sent and is labeled with any of the agent's startup labels, while an
|
|
36
|
+
* `option_pending` prompt (recognized allowlisted trust prompt whose affirmative
|
|
37
|
+
* option has not rendered yet — a TRANSIENT render delay, C-CLAUDE-14) NEVER
|
|
38
|
+
* carries an input and is limited to the agent's TRUST ids (a non-trust prompt
|
|
39
|
+
* like `browser_tools`/`update` is never "recognized but option-pending"). Both
|
|
40
|
+
* correlate the label to `A`, so an off-agent or impossible label does not compile.
|
|
41
|
+
*/
|
|
42
|
+
export type StartupPromptOutcome<A extends ElwoodAgentKind = ElwoodAgentKind> = {
|
|
43
|
+
readonly kind: "answered";
|
|
44
|
+
readonly prompt: StartupPromptLabelFor<A>;
|
|
45
|
+
readonly input: string;
|
|
46
|
+
} | {
|
|
47
|
+
readonly kind: "option_pending";
|
|
48
|
+
readonly prompt: TrustPromptIdFor<A>;
|
|
49
|
+
};
|
|
50
|
+
export type StartupActivityEmitter = {
|
|
51
|
+
emit(event: "activity", payload: ElwoodActivityEvent): void;
|
|
52
|
+
};
|
|
53
|
+
export declare function emitStartupPromptActivity<A extends ElwoodAgentKind>(emitter: StartupActivityEmitter, agent: A, elwoodSessionId: string, automation: StartupPromptOutcome<A>): void;
|
|
54
|
+
//# sourceMappingURL=startup-automation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-automation.d.ts","sourceRoot":"","sources":["../../src/core/startup-automation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;GAOG;AACH,QAAA,MAAM,qBAAqB;;;CAGoC,CAAC;AAEhE;;;;GAIG;AACH,KAAK,oBAAoB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjG;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,eAAe,IACvD,gBAAgB,CAAC,CAAC,CAAC,GACnB,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAE5B;;;;;;;;;GASG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IACxE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChG;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAE9E,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC7D,CAAC;AA2BF,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,eAAe,EACjE,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,CAAC,EACR,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAClC,IAAI,CAEN"}
|