@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,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recognizer for Claude's re-authentication-required screens (PRD §5.3,
|
|
3
|
+
* C-CLAUDE-17/18). The Claude CLI shows these when a login lapses or is revoked
|
|
4
|
+
* and the session can no longer act until the human re-runs `/login`. Owned by the
|
|
5
|
+
* Claude login area (not generic startup infra) because it is Claude-specific and
|
|
6
|
+
* version-coupled to that CLI's wording (v2.1.x).
|
|
7
|
+
*
|
|
8
|
+
* Recognized as INDEPENDENT linear searches (no unbounded backtracking, since
|
|
9
|
+
* this runs on every rendered frame): a lapsed-or-absent-login phrase AND a
|
|
10
|
+
* `/login` recovery directive both present, or the self-contained
|
|
11
|
+
* "run /login to sign in" directive on its own. Anchoring on the directive stops
|
|
12
|
+
* an unrelated mention of "login" from tripping it.
|
|
13
|
+
*
|
|
14
|
+
* The lapsed-login phrase covers a session that expired/was revoked mid-run
|
|
15
|
+
* (`Login expired`, `Session expired`, `OAuth token revoked`) as well as an
|
|
16
|
+
* outright signed-out session (`Not logged in`, which Claude renders when auth is
|
|
17
|
+
* dropped entirely). All four are the same recovery for the caller — re-run
|
|
18
|
+
* `/login` — so they map to one banner. The startup path already flags the
|
|
19
|
+
* single-line `not logged in` form; recognizing it here closes the MID-SESSION gap
|
|
20
|
+
* (a ready session that logs out and shows "Not logged in · Run /login").
|
|
21
|
+
*/
|
|
22
|
+
/** Whether the text shows a Claude re-authentication-required banner. */
|
|
23
|
+
export declare function isClaudeReauthRequiredText(text: string): boolean;
|
|
24
|
+
//# sourceMappingURL=expiry-screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expiry-screen.d.ts","sourceRoot":"","sources":["../../../src/claude/login/expiry-screen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,yEAAyE;AACzE,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGhE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recognizer for Claude's re-authentication-required screens (PRD §5.3,
|
|
3
|
+
* C-CLAUDE-17/18). The Claude CLI shows these when a login lapses or is revoked
|
|
4
|
+
* and the session can no longer act until the human re-runs `/login`. Owned by the
|
|
5
|
+
* Claude login area (not generic startup infra) because it is Claude-specific and
|
|
6
|
+
* version-coupled to that CLI's wording (v2.1.x).
|
|
7
|
+
*
|
|
8
|
+
* Recognized as INDEPENDENT linear searches (no unbounded backtracking, since
|
|
9
|
+
* this runs on every rendered frame): a lapsed-or-absent-login phrase AND a
|
|
10
|
+
* `/login` recovery directive both present, or the self-contained
|
|
11
|
+
* "run /login to sign in" directive on its own. Anchoring on the directive stops
|
|
12
|
+
* an unrelated mention of "login" from tripping it.
|
|
13
|
+
*
|
|
14
|
+
* The lapsed-login phrase covers a session that expired/was revoked mid-run
|
|
15
|
+
* (`Login expired`, `Session expired`, `OAuth token revoked`) as well as an
|
|
16
|
+
* outright signed-out session (`Not logged in`, which Claude renders when auth is
|
|
17
|
+
* dropped entirely). All four are the same recovery for the caller — re-run
|
|
18
|
+
* `/login` — so they map to one banner. The startup path already flags the
|
|
19
|
+
* single-line `not logged in` form; recognizing it here closes the MID-SESSION gap
|
|
20
|
+
* (a ready session that logs out and shows "Not logged in · Run /login").
|
|
21
|
+
*/
|
|
22
|
+
const lapsedLoginPhrase = /(?:(?:login|session|oauth token)\s+(?:expired|revoked)|not\s+logged\s+in)/i;
|
|
23
|
+
const runLoginDirective = /(?:run|please run)\s+\/login/i;
|
|
24
|
+
const runLoginToSignIn = /(?:run|please run)\s+\/login\s+to\s+sign in/i;
|
|
25
|
+
/** Whether the text shows a Claude re-authentication-required banner. */
|
|
26
|
+
export function isClaudeReauthRequiredText(text) {
|
|
27
|
+
if (runLoginToSignIn.test(text))
|
|
28
|
+
return true;
|
|
29
|
+
return lapsedLoginPhrase.test(text) && runLoginDirective.test(text);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=expiry-screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expiry-screen.js","sourceRoot":"","sources":["../../../src/claude/login/expiry-screen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,iBAAiB,GACrB,4EAA4E,CAAC;AAC/E,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAC1D,MAAM,gBAAgB,GAAG,8CAA8C,CAAC;AAExE,yEAAyE;AACzE,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Screen matchers for Claude's interactive `/login` flow (PRD §5.3, C-API-43).
|
|
3
|
+
* Each regex recognizes one stage of the real CLI flow so the driver can detect
|
|
4
|
+
* which screen is showing and react. Matched on the rendered snapshot text; the
|
|
5
|
+
* literal strings mirror the CLI's own wording (v2.1.x).
|
|
6
|
+
*/
|
|
7
|
+
/** The "Select login method" list that `/login` shows before authorizing. */
|
|
8
|
+
export declare const methodPickerVisible: RegExp;
|
|
9
|
+
/** The screen that offers/opens the browser authorization URL. */
|
|
10
|
+
export declare const authUrlVisible: RegExp;
|
|
11
|
+
/** The manual authorization-code entry prompt (default account flow). */
|
|
12
|
+
export declare const pasteCodePrompt: RegExp;
|
|
13
|
+
/** A successful login. */
|
|
14
|
+
export declare const loginSucceeded: RegExp;
|
|
15
|
+
/** An explicit login failure or a rejected/invalid authorization code. */
|
|
16
|
+
export declare const loginFailed: RegExp;
|
|
17
|
+
/** Extract the first authorization URL on screen, or undefined when none is shown yet. */
|
|
18
|
+
export declare function extractAuthUrl(text: string): string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* The ACTIVE region of the screen: the last few non-blank lines, where the CLI's
|
|
21
|
+
* current prompt/banner lives. Sensitive stage matching (code prompt, success,
|
|
22
|
+
* failure) is scoped to this tail so unrelated model/repository output scrolled
|
|
23
|
+
* into the viewport cannot spoof a login stage or trigger code disclosure.
|
|
24
|
+
*/
|
|
25
|
+
export declare function activeRegion(text: string): string;
|
|
26
|
+
//# sourceMappingURL=screens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screens.d.ts","sourceRoot":"","sources":["../../../src/claude/login/screens.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,QAAyB,CAAC;AAE1D,kEAAkE;AAClE,eAAO,MAAM,cAAc,QAC2F,CAAC;AAEvH,yEAAyE;AACzE,eAAO,MAAM,eAAe,QAAqB,CAAC;AAElD,0BAA0B;AAC1B,eAAO,MAAM,cAAc,QAAmC,CAAC;AAE/D,0EAA0E;AAC1E,eAAO,MAAM,WAAW,QACyE,CAAC;AAMlG,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Screen matchers for Claude's interactive `/login` flow (PRD §5.3, C-API-43).
|
|
3
|
+
* Each regex recognizes one stage of the real CLI flow so the driver can detect
|
|
4
|
+
* which screen is showing and react. Matched on the rendered snapshot text; the
|
|
5
|
+
* literal strings mirror the CLI's own wording (v2.1.x).
|
|
6
|
+
*/
|
|
7
|
+
/** The "Select login method" list that `/login` shows before authorizing. */
|
|
8
|
+
export const methodPickerVisible = /select login method/i;
|
|
9
|
+
/** The screen that offers/opens the browser authorization URL. */
|
|
10
|
+
export const authUrlVisible = /authenticate your account at|browser didn'?t open|opening browser to authorize|if the browser didn'?t open, visit/i;
|
|
11
|
+
/** The manual authorization-code entry prompt (default account flow). */
|
|
12
|
+
export const pasteCodePrompt = /paste code here/i;
|
|
13
|
+
/** A successful login. */
|
|
14
|
+
export const loginSucceeded = /login successful|logged in as/i;
|
|
15
|
+
/** An explicit login failure or a rejected/invalid authorization code. */
|
|
16
|
+
export const loginFailed = /login failed|oauth (?:login failed|error)|invalid code|failed to exchange authorization code/i;
|
|
17
|
+
/** A `claude.ai`/console OAuth authorize URL, captured from the screen if present. */
|
|
18
|
+
const authUrlCapture = /(https?:\/\/[^\s'"]*(?:claude\.com|claude\.ai|anthropic\.com)\/oauth[^\s'"]*)/i;
|
|
19
|
+
/** Extract the first authorization URL on screen, or undefined when none is shown yet. */
|
|
20
|
+
export function extractAuthUrl(text) {
|
|
21
|
+
return authUrlCapture.exec(text)?.[1];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The ACTIVE region of the screen: the last few non-blank lines, where the CLI's
|
|
25
|
+
* current prompt/banner lives. Sensitive stage matching (code prompt, success,
|
|
26
|
+
* failure) is scoped to this tail so unrelated model/repository output scrolled
|
|
27
|
+
* into the viewport cannot spoof a login stage or trigger code disclosure.
|
|
28
|
+
*/
|
|
29
|
+
export function activeRegion(text) {
|
|
30
|
+
const lines = text.split("\n").filter((line) => line.trim() !== "");
|
|
31
|
+
return lines.slice(-6).join("\n");
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=screens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screens.js","sourceRoot":"","sources":["../../../src/claude/login/screens.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAE1D,kEAAkE;AAClE,MAAM,CAAC,MAAM,cAAc,GACzB,oHAAoH,CAAC;AAEvH,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAElD,0BAA0B;AAC1B,MAAM,CAAC,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAE/D,0EAA0E;AAC1E,MAAM,CAAC,MAAM,WAAW,GACtB,+FAA+F,CAAC;AAElG,sFAAsF;AACtF,MAAM,cAAc,GAClB,gFAAgF,CAAC;AAEnF,0FAA0F;AAC1F,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wires a ClaudeSessionApi's primitives into the `/login` driver (PRD §5.3,
|
|
3
|
+
* C-API-43). Runs the flow as an EXCLUSIVE control-queue task: a fresh-`ready`
|
|
4
|
+
* watch is armed up front so `awaitUsable` resolves only on a post-start `ready`
|
|
5
|
+
* transition (renewed usability, not a stale banner), `/login` and all interactive
|
|
6
|
+
* keystrokes are written directly (the lease already owns the queue), and the task
|
|
7
|
+
* aborts when the session closes. Kept out of the session file for the size cap.
|
|
8
|
+
*/
|
|
9
|
+
import type { ControlQueue } from "../../core/control-queue/index.ts";
|
|
10
|
+
import type { ScreenTerminal } from "../../core/models/tui-screen.ts";
|
|
11
|
+
import { type ClaudeLoginOptions } from "./types.ts";
|
|
12
|
+
export type LoginSessionDeps = {
|
|
13
|
+
readonly controlQueue: ControlQueue;
|
|
14
|
+
readonly terminal: ScreenTerminal;
|
|
15
|
+
/** Whether a blocking dialog is on screen (login writes hold while true). */
|
|
16
|
+
readonly blocked: () => boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Subscribe to `ready` transitions. Returns an unsubscribe. Fires on a fresh
|
|
19
|
+
* transition, so `awaitUsable` observes the session become usable AFTER auth.
|
|
20
|
+
*/
|
|
21
|
+
readonly onReady: (handler: () => void) => () => void;
|
|
22
|
+
};
|
|
23
|
+
export declare function runSessionLogin(deps: LoginSessionDeps, options: ClaudeLoginOptions): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=session-login.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-login.d.ts","sourceRoot":"","sources":["../../../src/claude/login/session-login.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAStE,OAAO,EAAE,KAAK,kBAAkB,EAAyB,MAAM,YAAY,CAAC;AAI5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CACvD,CAAC;AAEF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wires a ClaudeSessionApi's primitives into the `/login` driver (PRD §5.3,
|
|
3
|
+
* C-API-43). Runs the flow as an EXCLUSIVE control-queue task: a fresh-`ready`
|
|
4
|
+
* watch is armed up front so `awaitUsable` resolves only on a post-start `ready`
|
|
5
|
+
* transition (renewed usability, not a stale banner), `/login` and all interactive
|
|
6
|
+
* keystrokes are written directly (the lease already owns the queue), and the task
|
|
7
|
+
* aborts when the session closes. Kept out of the session file for the size cap.
|
|
8
|
+
*/
|
|
9
|
+
import { commandEnterDelayMs } from "../../core/input/index.js";
|
|
10
|
+
import { abortableDelay, abortError, deadlineSignal, holdWhileBlocked, raceSettle, } from "./abort.js";
|
|
11
|
+
import { driveLogin } from "./driver.js";
|
|
12
|
+
import { defaultLoginTimeoutMs } from "./types.js";
|
|
13
|
+
const escapeKey = "\u001b";
|
|
14
|
+
export function runSessionLogin(deps, options) {
|
|
15
|
+
// Start the OVERALL deadline NOW — before the queue dispatches the exclusive
|
|
16
|
+
// task — so `timeoutMs` bounds the whole call including any time spent WAITING
|
|
17
|
+
// behind other queued operations, honoring the `login_timeout after timeoutMs`
|
|
18
|
+
// contract regardless of queue depth.
|
|
19
|
+
const timeoutMs = options.timeoutMs ?? defaultLoginTimeoutMs;
|
|
20
|
+
const controller = new AbortController();
|
|
21
|
+
const deadline = deadlineSignal(timeoutMs, controller.signal);
|
|
22
|
+
return deps.controlQueue
|
|
23
|
+
.runExclusive("login", async (queueClose) => {
|
|
24
|
+
// Compose the pre-started deadline with the queue's close signal so the flow
|
|
25
|
+
// settles on the FIRST of timeout, session close, success, or failure.
|
|
26
|
+
queueClose.addEventListener("abort", () => controller.abort(), { once: true });
|
|
27
|
+
const readies = watchReadyCount(deps, deadline.signal);
|
|
28
|
+
try {
|
|
29
|
+
await driveLogin({
|
|
30
|
+
terminal: deps.terminal,
|
|
31
|
+
blocked: deps.blocked,
|
|
32
|
+
submit: (command) => submitLoginCommand(deps, command, deadline.signal),
|
|
33
|
+
awaitUsable: () => raceSettle(readies.waitForNext(), deadline.signal),
|
|
34
|
+
}, options, deadline.signal);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// Best-effort: cancel the still-open login UI before releasing the lease,
|
|
38
|
+
// so a failed/timed-out attempt leaves no dialog for the next queued op to
|
|
39
|
+
// write into. Never masks the original error.
|
|
40
|
+
try {
|
|
41
|
+
await deps.terminal.sendInput(escapeKey);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// A closed terminal makes the cancel a no-op; the original error stands.
|
|
45
|
+
}
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
readies.stop();
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
// Drop this login if its deadline fires while it is STILL QUEUED behind other
|
|
53
|
+
// work, so the timeout bounds queue-wait too.
|
|
54
|
+
{ signal: deadline.signal, error: () => abortError(deadline.signal) })
|
|
55
|
+
.finally(() => deadline.cancel());
|
|
56
|
+
}
|
|
57
|
+
// Track a monotonic count of `ready` transitions since login started, and let a
|
|
58
|
+
// caller wait for the NEXT ready strictly after the count it captures — so a ready
|
|
59
|
+
// observed before success is never mistaken for post-auth usability.
|
|
60
|
+
function watchReadyCount(deps, signal) {
|
|
61
|
+
let count = 0;
|
|
62
|
+
const waiters = new Set();
|
|
63
|
+
const off = deps.onReady(() => {
|
|
64
|
+
count += 1;
|
|
65
|
+
for (const w of waiters)
|
|
66
|
+
w();
|
|
67
|
+
waiters.clear();
|
|
68
|
+
});
|
|
69
|
+
const stop = () => {
|
|
70
|
+
off();
|
|
71
|
+
signal.removeEventListener("abort", stop);
|
|
72
|
+
};
|
|
73
|
+
signal.addEventListener("abort", stop, { once: true });
|
|
74
|
+
return {
|
|
75
|
+
stop,
|
|
76
|
+
// Resolve on the NEXT ready strictly after this call (post-success). A ready
|
|
77
|
+
// that already fired earlier in the flow does not satisfy it.
|
|
78
|
+
waitForNext: () => {
|
|
79
|
+
const baseline = count;
|
|
80
|
+
return new Promise((resolve) => {
|
|
81
|
+
const check = () => (count > baseline ? resolve() : waiters.add(check));
|
|
82
|
+
check();
|
|
83
|
+
});
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
// Write `/login` directly (the exclusive lease already owns the queue): hold while
|
|
88
|
+
// a dialog blocks, then the command text, a settle delay, then a single Enter —
|
|
89
|
+
// mirroring command mode. Every step races the signal so a mid-submission
|
|
90
|
+
// close/timeout settles promptly instead of writing into a dead terminal.
|
|
91
|
+
async function submitLoginCommand(deps, command, signal) {
|
|
92
|
+
await holdWhileBlocked(deps.blocked, signal);
|
|
93
|
+
await raceSettle(Promise.resolve(deps.terminal.sendInput(command)), signal);
|
|
94
|
+
await abortableDelay(commandEnterDelayMs, signal);
|
|
95
|
+
await raceSettle(Promise.resolve(deps.terminal.sendInput("\r")), signal);
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=session-login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-login.js","sourceRoot":"","sources":["../../../src/claude/login/session-login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Individual stages of the `/login` flow (PRD §5.3, C-API-43): method selection,
|
|
3
|
+
* URL reporting, and the poll-to-outcome that feeds a validated authorization
|
|
4
|
+
* code. Each stage polls the rendered screen and aborts on the driver's combined
|
|
5
|
+
* deadline/lifecycle signal. Untrusted inputs (the scraped URL, the human code)
|
|
6
|
+
* are validated before they are reported or written.
|
|
7
|
+
*/
|
|
8
|
+
import type { LoginIo } from "./driver.ts";
|
|
9
|
+
import type { ClaudeLoginOptions } from "./types.ts";
|
|
10
|
+
/** If the "Select login method" list renders, move to the chosen row and Enter. */
|
|
11
|
+
export declare function selectMethodIfShown(io: LoginIo, options: ClaudeLoginOptions, signal: AbortSignal): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Poll to a success/failure outcome: report the authorization URL once a VALID one
|
|
14
|
+
* appears, and feed a validated code once the code prompt shows AFTER authorizing.
|
|
15
|
+
* Markers are scoped to the screen's ACTIVE region and required NEW to this attempt
|
|
16
|
+
* (stale/off-region text can't drive the flow). Critically, the AUTHORIZING stage
|
|
17
|
+
* requires a valid extracted URL — https on an approved Anthropic host — not merely
|
|
18
|
+
* the phrase "Authenticate…", so arbitrary model/repo output that echoes the phrase
|
|
19
|
+
* plus "Paste code here" cannot reach the code stage and disclose the code.
|
|
20
|
+
*/
|
|
21
|
+
export declare function awaitLoginOutcome(io: LoginIo, options: ClaudeLoginOptions, baseline: string, signal: AbortSignal): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=stages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../../src/claude/login/stages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAU3C,OAAO,KAAK,EAAqB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAwBxE,mFAAmF;AACnF,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAyBf"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Individual stages of the `/login` flow (PRD §5.3, C-API-43): method selection,
|
|
3
|
+
* URL reporting, and the poll-to-outcome that feeds a validated authorization
|
|
4
|
+
* code. Each stage polls the rendered screen and aborts on the driver's combined
|
|
5
|
+
* deadline/lifecycle signal. Untrusted inputs (the scraped URL, the human code)
|
|
6
|
+
* are validated before they are reported or written.
|
|
7
|
+
*/
|
|
8
|
+
import { elwoodError } from "../../core/errors.js";
|
|
9
|
+
import { abortError, holdWhileBlocked, pollDelay, raceSettle } from "./abort.js";
|
|
10
|
+
import { activeRegion, authUrlVisible, extractAuthUrl, loginFailed, loginSucceeded, methodPickerVisible, pasteCodePrompt, } from "./screens.js";
|
|
11
|
+
import { isSafeAuthCode, safeAuthUrl } from "./validate.js";
|
|
12
|
+
// Zero-based row each method occupies in the CLI's "Select login method" list — an
|
|
13
|
+
// implementation detail of driving the picker, so it lives here (not public types).
|
|
14
|
+
const loginMethodRow = {
|
|
15
|
+
claudeai: 0,
|
|
16
|
+
console: 1,
|
|
17
|
+
third_party: 2,
|
|
18
|
+
};
|
|
19
|
+
const cursorDown = "\u001b[B";
|
|
20
|
+
const enter = "\r";
|
|
21
|
+
/** True once the flow has clearly moved past the method picker (or ended). */
|
|
22
|
+
function pastPicker(text) {
|
|
23
|
+
return (authUrlVisible.test(text) ||
|
|
24
|
+
pasteCodePrompt.test(text) ||
|
|
25
|
+
loginSucceeded.test(text) ||
|
|
26
|
+
loginFailed.test(text));
|
|
27
|
+
}
|
|
28
|
+
/** If the "Select login method" list renders, move to the chosen row and Enter. */
|
|
29
|
+
export async function selectMethodIfShown(io, options, signal) {
|
|
30
|
+
const shown = await pollUntil(io.terminal, signal, (t) => methodPickerVisible.test(t) || pastPicker(t));
|
|
31
|
+
if (!methodPickerVisible.test(shown))
|
|
32
|
+
return;
|
|
33
|
+
const rows = loginMethodRow[options.method ?? "claudeai"];
|
|
34
|
+
for (let i = 0; i < rows; i += 1)
|
|
35
|
+
await write(io, cursorDown, signal);
|
|
36
|
+
await write(io, enter, signal);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Poll to a success/failure outcome: report the authorization URL once a VALID one
|
|
40
|
+
* appears, and feed a validated code once the code prompt shows AFTER authorizing.
|
|
41
|
+
* Markers are scoped to the screen's ACTIVE region and required NEW to this attempt
|
|
42
|
+
* (stale/off-region text can't drive the flow). Critically, the AUTHORIZING stage
|
|
43
|
+
* requires a valid extracted URL — https on an approved Anthropic host — not merely
|
|
44
|
+
* the phrase "Authenticate…", so arbitrary model/repo output that echoes the phrase
|
|
45
|
+
* plus "Paste code here" cannot reach the code stage and disclose the code.
|
|
46
|
+
*/
|
|
47
|
+
export async function awaitLoginOutcome(io, options, baseline, signal) {
|
|
48
|
+
const terminal = io.terminal;
|
|
49
|
+
const succeeded = freshInRegion(loginSucceeded, baseline);
|
|
50
|
+
const failed = freshInRegion(loginFailed, baseline);
|
|
51
|
+
const codePrompt = freshInRegion(pasteCodePrompt, baseline);
|
|
52
|
+
let authorizing = false;
|
|
53
|
+
let codeSent = false;
|
|
54
|
+
for (;;) {
|
|
55
|
+
const text = terminal.snapshot().text;
|
|
56
|
+
const url = freshAuthUrl(text, baseline);
|
|
57
|
+
if (url && !authorizing) {
|
|
58
|
+
authorizing = true;
|
|
59
|
+
reportUrl(options, url);
|
|
60
|
+
}
|
|
61
|
+
if (succeeded(text))
|
|
62
|
+
return;
|
|
63
|
+
if (failed(text))
|
|
64
|
+
throw elwoodError("login_failed", "Claude /login reported a failure.");
|
|
65
|
+
if (authorizing && !codeSent && codePrompt(text)) {
|
|
66
|
+
codeSent = true;
|
|
67
|
+
// Re-check the prompt is STILL the current active screen right before writing
|
|
68
|
+
// the secret: `provideCode` is async, so the prompt may have vanished while
|
|
69
|
+
// the human fetched the code — the code must never land in a different screen.
|
|
70
|
+
await submitCode(io, options, () => codePrompt(io.terminal.snapshot().text), signal);
|
|
71
|
+
}
|
|
72
|
+
await pollDelay(signal);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Report the (validated) URL to the untrusted `onAuthUrl` callback; a throw becomes
|
|
76
|
+
// a bounded typed error rather than escaping raw out of the login transaction.
|
|
77
|
+
function reportUrl(options, url) {
|
|
78
|
+
if (!options.onAuthUrl)
|
|
79
|
+
return;
|
|
80
|
+
try {
|
|
81
|
+
options.onAuthUrl(url);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
throw elwoodError("login_failed", "The /login onAuthUrl callback failed.", {
|
|
85
|
+
cause: error instanceof Error ? error.message : String(error),
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// True once a valid, NEW authorization URL is on screen (an approved-host https
|
|
90
|
+
// claude.ai OAuth URL absent from the pre-login baseline) — the trustworthy signal
|
|
91
|
+
// that the real CLI has entered its browser-authorize stage.
|
|
92
|
+
function freshAuthUrl(text, baseline) {
|
|
93
|
+
const url = safeAuthUrl(extractAuthUrl(text) ?? "");
|
|
94
|
+
return url !== undefined && url !== safeAuthUrl(extractAuthUrl(baseline) ?? "") ? url : undefined;
|
|
95
|
+
}
|
|
96
|
+
// A predicate matching only when the marker is in the current ACTIVE region AND
|
|
97
|
+
// was absent from the pre-login baseline's active region — so neither stale nor
|
|
98
|
+
// off-region on-screen text can drive the flow.
|
|
99
|
+
function freshInRegion(marker, baseline) {
|
|
100
|
+
const wasPresent = marker.test(activeRegion(baseline));
|
|
101
|
+
return (text) => marker.test(activeRegion(text)) && !wasPresent;
|
|
102
|
+
}
|
|
103
|
+
/** Ask the caller for the code, validate it, re-check the prompt, then submit it. */
|
|
104
|
+
async function submitCode(io, options, stillPrompted, signal) {
|
|
105
|
+
let code;
|
|
106
|
+
try {
|
|
107
|
+
code = await raceSettle(Promise.resolve(options.provideCode()), signal);
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
if (signal.aborted)
|
|
111
|
+
throw abortError(signal);
|
|
112
|
+
throw elwoodError("login_failed", "The /login code callback failed.", {
|
|
113
|
+
cause: error instanceof Error ? error.message : String(error),
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
if (!isSafeAuthCode(code)) {
|
|
117
|
+
throw elwoodError("login_failed", "The /login authorization code was empty, oversized, or contained control characters.");
|
|
118
|
+
}
|
|
119
|
+
// The paste-code prompt must STILL be the current active screen: if it vanished
|
|
120
|
+
// while `provideCode` was pending, writing the secret now would land it in a
|
|
121
|
+
// different screen (e.g. the composer), so fail instead of disclosing it.
|
|
122
|
+
if (!stillPrompted()) {
|
|
123
|
+
throw elwoodError("login_failed", "The /login code prompt was gone before the code could be entered.");
|
|
124
|
+
}
|
|
125
|
+
await write(io, code, signal);
|
|
126
|
+
await write(io, enter, signal);
|
|
127
|
+
}
|
|
128
|
+
/** Poll `snapshot().text` until `test` holds; aborts on the combined signal. */
|
|
129
|
+
async function pollUntil(terminal, signal, test) {
|
|
130
|
+
for (;;) {
|
|
131
|
+
const text = terminal.snapshot().text;
|
|
132
|
+
if (test(text))
|
|
133
|
+
return text;
|
|
134
|
+
await pollDelay(signal);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Write a login keystroke: hold while a blocking dialog is on screen (dialog
|
|
138
|
+
// safety — a keystroke there would confirm its option), then write, racing the
|
|
139
|
+
// deadline/lifecycle signal throughout.
|
|
140
|
+
async function write(io, data, signal) {
|
|
141
|
+
await holdWhileBlocked(io.blocked, signal);
|
|
142
|
+
await raceSettle(Promise.resolve(io.terminal.sendInput(data)), signal);
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=stages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/claude/login/stages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public option types for the Claude `/login` recovery flow (PRD §5.3, C-API-43).
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Which entry to select from Claude's "Select login method" list. The literals
|
|
6
|
+
* map to the CLI's menu rows (labels as rendered by claude v2.1.x):
|
|
7
|
+
* - `claudeai` → "Claude account with subscription" (Pro/Max/Team/Enterprise).
|
|
8
|
+
* - `console` → "Anthropic Console account" (API usage billing).
|
|
9
|
+
* - `third_party` → "3rd-party platform" (Amazon Bedrock / Microsoft Foundry /
|
|
10
|
+
* Vertex AI). Selecting it only picks that menu row; the subsequent platform
|
|
11
|
+
* configuration is outside Elwood's scope.
|
|
12
|
+
*/
|
|
13
|
+
export type ClaudeLoginMethod = "claudeai" | "console" | "third_party";
|
|
14
|
+
export type ClaudeLoginOptions = {
|
|
15
|
+
/**
|
|
16
|
+
* Which method to select if the "Select login method" list renders. Defaults
|
|
17
|
+
* to `claudeai` (the Claude subscription account). If the list never renders
|
|
18
|
+
* (the CLI went straight to authorizing), the selection is skipped.
|
|
19
|
+
*/
|
|
20
|
+
readonly method?: ClaudeLoginMethod;
|
|
21
|
+
/**
|
|
22
|
+
* Called with the browser authorization URL once it is scraped off screen, so
|
|
23
|
+
* the caller can open/show it. Optional — the URL is best-effort and a flow
|
|
24
|
+
* that never prints one simply never invokes this.
|
|
25
|
+
*/
|
|
26
|
+
readonly onAuthUrl?: (url: string) => void;
|
|
27
|
+
/**
|
|
28
|
+
* REQUIRED for the default account flow: called when the CLI reaches its
|
|
29
|
+
* "paste code here" prompt. The returned authorization code (from the browser
|
|
30
|
+
* success page) is submitted to the terminal. A flow that self-completes
|
|
31
|
+
* without a code prompt never calls this.
|
|
32
|
+
*/
|
|
33
|
+
readonly provideCode: () => string | Promise<string>;
|
|
34
|
+
/** Bounds the whole flow; defaults to 300000 ms. */
|
|
35
|
+
readonly timeoutMs?: number;
|
|
36
|
+
};
|
|
37
|
+
export declare const defaultLoginTimeoutMs = 300000;
|
|
38
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/claude/login/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,oDAAoD;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/claude/login/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqCH,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input validation for the `/login` flow (PRD §5.3, C-API-43): a human-supplied
|
|
3
|
+
* authorization code and a scraped browser URL are both untrusted, so each is
|
|
4
|
+
* validated before it is written to the PTY or handed to a caller callback. A code
|
|
5
|
+
* that could inject terminal controls, or a URL on an unapproved host, is rejected.
|
|
6
|
+
*/
|
|
7
|
+
/** A human authorization code is safe to submit as terminal input. */
|
|
8
|
+
export declare function isSafeAuthCode(code: string): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Parse a scraped authorization URL and return it ONLY when it is an `https:` URL
|
|
11
|
+
* on an exactly-approved host with no embedded credentials; otherwise undefined,
|
|
12
|
+
* so a spoofed `https://evilclaude.com/oauth/...` is never handed to the caller.
|
|
13
|
+
*/
|
|
14
|
+
export declare function safeAuthUrl(raw: string): string | undefined;
|
|
15
|
+
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/claude/login/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU3D"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input validation for the `/login` flow (PRD §5.3, C-API-43): a human-supplied
|
|
3
|
+
* authorization code and a scraped browser URL are both untrusted, so each is
|
|
4
|
+
* validated before it is written to the PTY or handed to a caller callback. A code
|
|
5
|
+
* that could inject terminal controls, or a URL on an unapproved host, is rejected.
|
|
6
|
+
*/
|
|
7
|
+
const MAX_CODE_LENGTH = 512;
|
|
8
|
+
// Bracketed-paste sentinels, CR/LF, Escape, all C0/C1 controls, and Unicode line
|
|
9
|
+
// separators — any of which could end code entry and turn following bytes into
|
|
10
|
+
// live keystrokes. A valid authorization code is a single line of printable text.
|
|
11
|
+
// biome-ignore lint/suspicious/noControlCharactersInRegex: rejecting control input is the point.
|
|
12
|
+
const unsafeCodeChar = /[\u0000-\u001f\u007f-\u009f\u2028\u2029]/;
|
|
13
|
+
/** Approved OAuth hosts the scraped login URL may point at (exact host match). */
|
|
14
|
+
const approvedAuthHosts = new Set([
|
|
15
|
+
"claude.ai",
|
|
16
|
+
"claude.com",
|
|
17
|
+
"platform.claude.com",
|
|
18
|
+
"console.anthropic.com",
|
|
19
|
+
]);
|
|
20
|
+
/** A human authorization code is safe to submit as terminal input. */
|
|
21
|
+
export function isSafeAuthCode(code) {
|
|
22
|
+
return code.length > 0 && code.length <= MAX_CODE_LENGTH && !unsafeCodeChar.test(code);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse a scraped authorization URL and return it ONLY when it is an `https:` URL
|
|
26
|
+
* on an exactly-approved host with no embedded credentials; otherwise undefined,
|
|
27
|
+
* so a spoofed `https://evilclaude.com/oauth/...` is never handed to the caller.
|
|
28
|
+
*/
|
|
29
|
+
export function safeAuthUrl(raw) {
|
|
30
|
+
let url;
|
|
31
|
+
try {
|
|
32
|
+
url = new URL(raw);
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
if (url.protocol !== "https:")
|
|
38
|
+
return undefined;
|
|
39
|
+
if (url.username !== "" || url.password !== "")
|
|
40
|
+
return undefined;
|
|
41
|
+
return approvedAuthHosts.has(url.hostname) ? url.toString() : undefined;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/claude/login/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,iGAAiG;AACjG,MAAM,cAAc,GAAG,0CAA0C,CAAC;AAElE,kFAAkF;AAClF,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IACrD,WAAW;IACX,YAAY;IACZ,qBAAqB;IACrB,uBAAuB;CACxB,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,eAAe,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACjE,OAAO,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mid-session Claude login-expiry detection (PRD §5.3, §5.7, C-CLAUDE-18).
|
|
3
|
+
* When a lapsed/revoked-login banner appears on a session that has ALREADY
|
|
4
|
+
* reached readiness — login expiring during use — Elwood surfaces a bounded,
|
|
5
|
+
* content-free `login_expired` warning and leaves the session alive so the caller
|
|
6
|
+
* can recover in place via `session.login()`, tear down, or re-auth out of band.
|
|
7
|
+
* The startup-time form of the same banner is handled fatally in runtime/startup/index.ts.
|
|
8
|
+
*/
|
|
9
|
+
import type { ElwoodWarningEvent } from "../core/types.ts";
|
|
10
|
+
export declare const LOGIN_RECOVERY_COMMAND: "/login";
|
|
11
|
+
export declare const LOGIN_EXPIRED_MESSAGE = "Claude's login expired mid-session; it cannot act until re-authenticated. Run /login (or session.login()) to recover.";
|
|
12
|
+
/**
|
|
13
|
+
* Edge-detects the login-expired banner so the warning fires ONCE per occurrence.
|
|
14
|
+
* Two-phase peek/commit: `peek` reports whether this frame is a fresh raised edge
|
|
15
|
+
* WITHOUT mutating state, and `commit` advances to "present". The caller commits
|
|
16
|
+
* BEFORE the live fan-out (warnings are live-only and fire exactly once — committing
|
|
17
|
+
* after a throwing listener would re-fire the same incident to listeners that already
|
|
18
|
+
* received it). A frame with no banner clears the flag immediately, so a banner that
|
|
19
|
+
* clears and reappears is a genuinely new edge that warns again.
|
|
20
|
+
*/
|
|
21
|
+
export declare class LoginExpiredWatcher {
|
|
22
|
+
private present;
|
|
23
|
+
/** Whether this frame is a fresh raised edge (banner appears while absent). */
|
|
24
|
+
peek(screenText: string): boolean;
|
|
25
|
+
/** Advance to "present"; the caller commits BEFORE its live fan-out (see above). */
|
|
26
|
+
commit(): void;
|
|
27
|
+
/** Single-shot observe (peek + commit) for callers that emit unconditionally. */
|
|
28
|
+
observe(screenText: string): boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare function loginExpiredWarning(elwoodSessionId: string): ElwoodWarningEvent;
|
|
31
|
+
//# sourceMappingURL=login-expired.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login-expired.d.ts","sourceRoot":"","sources":["../../src/claude/login-expired.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,eAAO,MAAM,sBAAsB,EAAG,QAAiB,CAAC;AAKxD,eAAO,MAAM,qBAAqB,0HACuF,CAAC;AAG1H;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAS;IAExB,+EAA+E;IAC/E,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAUjC,oFAAoF;IACpF,MAAM,IAAI,IAAI;IAId,iFAAiF;IACjF,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;CAKrC;AAED,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,kBAAkB,CAW/E"}
|