@reticlehq/server 3.4.0 → 3.6.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/README.md +1 -1
- package/SKILL.md +16 -8
- package/dist/chromium-launch-options.d.ts +3 -1
- package/dist/chromium-launch-options.js +2 -1
- package/dist/command/cli/adhoc-verdict.d.ts +1 -0
- package/dist/command/cli/adhoc-verdict.js +6 -3
- package/dist/command/cli/answers/open-note.d.ts +2 -0
- package/dist/command/cli/answers/open-note.js +22 -0
- package/dist/command/cli/auth/cloud-session.d.ts +4 -4
- package/dist/command/cli/auth/device-flow.d.ts +2 -2
- package/dist/command/cli/cli-flow-commands.js +4 -8
- package/dist/command/cli/cli-parse.d.ts +1 -1
- package/dist/command/cli/cli-parse.js +13 -11
- package/dist/command/cli/cli-verify.d.ts +1 -1
- package/dist/command/cli/cli-verify.js +35 -25
- package/dist/command/cli/cloud-cli.js +110 -12
- package/dist/command/cli/cloud-login.d.ts +9 -1
- package/dist/command/cli/cloud-login.js +43 -8
- package/dist/command/cli/demo/demo-page.js +11 -3
- package/dist/command/cli/doctor/browser/chromium-hint.d.ts +46 -0
- package/dist/command/cli/doctor/browser/chromium-hint.js +99 -1
- package/dist/command/cli/drive/drive-attach.d.ts +27 -2
- package/dist/command/cli/drive/drive-attach.js +71 -4
- package/dist/command/cli/drive/drive-command.d.ts +2 -1
- package/dist/command/cli/drive/drive-command.js +13 -7
- package/dist/command/cli/lifecycle/daemon-lifecycle.js +4 -1
- package/dist/command/cli/ports/port-holder.d.ts +10 -0
- package/dist/command/cli/ports/port-holder.js +24 -0
- package/dist/command/cli/setup-mcp-cli.js +15 -5
- package/dist/command/cli/tutorial.d.ts +2 -2
- package/dist/command/cli/tutorial.js +6 -9
- package/dist/command/cli.d.ts +6 -0
- package/dist/command/cli.js +45 -23
- package/dist/command/daemon/binding/daemon-status-probe.d.ts +2 -0
- package/dist/command/daemon/binding/daemon-status-probe.js +1 -0
- package/dist/command/daemon/daemon-resolve.d.ts +14 -0
- package/dist/command/daemon/daemon-resolve.js +33 -2
- package/dist/command/setup/agent-writer.d.ts +1 -1
- package/dist/command/setup/agent-writer.js +3 -2
- package/dist/command/setup/bringup/connect-lease.d.ts +1 -0
- package/dist/command/setup/bringup/connect-lease.js +1 -0
- package/dist/command/setup/bringup/dev-server-wait.d.ts +10 -0
- package/dist/command/setup/bringup/dev-server-wait.js +20 -1
- package/dist/command/setup/init/init-port.d.ts +4 -0
- package/dist/command/setup/init/init-port.js +10 -0
- package/dist/command/setup/init/init-runtime.d.ts +10 -0
- package/dist/command/setup/init/init-runtime.js +71 -9
- package/dist/command/setup/node-effects.js +8 -2
- package/dist/command/setup/remaining-steps.js +2 -1
- package/dist/command/setup/run-setup.d.ts +7 -0
- package/dist/command/setup/run-setup.js +38 -25
- package/dist/command/setup/setup-command.d.ts +2 -1
- package/dist/command/setup/setup-command.js +2 -0
- package/dist/command/setup/setup-mcp.d.ts +2 -0
- package/dist/command/setup/setup-mcp.js +14 -5
- package/dist/command/version/peer-announce.d.ts +6 -2
- package/dist/command/version/peer-announce.js +8 -6
- package/dist/command/version/version-nudge.d.ts +17 -3
- package/dist/command/version/version-nudge.js +25 -4
- package/dist/command/version/version-skew.js +11 -2
- package/dist/features/crawl/crawl-tools.js +4 -0
- package/dist/features/crawl/crawl.d.ts +6 -0
- package/dist/features/crawl/crawl.js +9 -1
- package/dist/features/exhaust/ledger.d.ts +7 -0
- package/dist/features/exhaust/ledger.js +35 -9
- package/dist/features/harness/app-findings.d.ts +2 -0
- package/dist/features/harness/app-findings.js +52 -0
- package/dist/features/harness/drive-report.d.ts +27 -1
- package/dist/features/harness/drive-report.js +162 -11
- package/dist/features/harness/drivers.d.ts +10 -14
- package/dist/features/harness/drivers.js +10 -14
- package/dist/features/harness/fill-values.d.ts +3 -69
- package/dist/features/harness/fill-values.js +3 -133
- package/dist/features/harness/goals.d.ts +21 -0
- package/dist/features/harness/goals.js +77 -0
- package/dist/features/harness/harness.d.ts +21 -0
- package/dist/features/harness/harness.js +69 -2
- package/dist/features/harness/platform/drive-target.d.ts +30 -0
- package/dist/features/harness/platform/drive-target.js +81 -0
- package/dist/features/harness/platform/local-apps.d.ts +94 -0
- package/dist/features/harness/platform/local-apps.js +204 -0
- package/dist/features/harness/platform/remote-drive.d.ts +180 -0
- package/dist/features/harness/platform/remote-drive.js +365 -0
- package/dist/features/harness/platform/script.d.ts +48 -0
- package/dist/features/harness/platform/script.js +128 -0
- package/dist/features/harness/platform/server-driver.d.ts +41 -0
- package/dist/features/harness/platform/server-driver.js +179 -0
- package/dist/features/harness/platform-config.d.ts +7 -0
- package/dist/features/harness/platform-config.js +14 -2
- package/dist/features/harness/script/app-controls.d.ts +5 -0
- package/dist/features/harness/script/app-controls.js +40 -0
- package/dist/features/harness/script/lane-ids.d.ts +14 -0
- package/dist/features/harness/script/lane-ids.js +16 -0
- package/dist/features/harness/script/script-run.d.ts +41 -0
- package/dist/features/harness/script/script-run.js +299 -0
- package/dist/features/license/license.d.ts +2 -2
- package/dist/features/visual/visual-tools.d.ts +10 -1
- package/dist/features/visual/visual-tools.js +40 -3
- package/dist/hooks/driven-by.d.ts +4 -0
- package/dist/hooks/driven-by.js +16 -0
- package/dist/hooks/hook-commands.js +15 -4
- package/dist/hooks/tool-log.d.ts +9 -0
- package/dist/hooks/tool-log.js +29 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +91 -89
- package/dist/judgement/capsule/capsule-store.d.ts +4 -4
- package/dist/judgement/runs/artifact/build-verification-run.js +6 -0
- package/dist/judgement/runs/artifact/replay-mapping.d.ts +1 -1
- package/dist/judgement/runs/artifact/replay-mapping.js +16 -6
- package/dist/judgement/runs/artifact/run-store.d.ts +1 -1
- package/dist/judgement/runs/artifact/run-store.js +26 -1
- package/dist/judgement/runs/drive-run.d.ts +22 -0
- package/dist/judgement/runs/drive-run.js +99 -1
- package/dist/judgement/runs/repair-prompt.js +1 -1
- package/dist/judgement/runs/reticle-runner.js +8 -1
- package/dist/judgement/runs/verification-sync.d.ts +3 -2
- package/dist/judgement/runs/verification-sync.js +4 -3
- package/dist/language/flows/change/gate.d.ts +10 -0
- package/dist/language/flows/change/gate.js +22 -0
- package/dist/language/flows/decision.js +34 -0
- package/dist/language/flows/flow-anchor.d.ts +54 -8
- package/dist/language/flows/flow-anchor.js +88 -3
- package/dist/language/flows/flow-cross-step.d.ts +15 -0
- package/dist/language/flows/flow-cross-step.js +21 -0
- package/dist/language/flows/flow-learning.js +8 -11
- package/dist/language/flows/flow-mutate-tools.js +5 -3
- package/dist/language/flows/flow-replay-run.d.ts +23 -9
- package/dist/language/flows/flow-replay-run.js +101 -94
- package/dist/language/flows/flow-replay.d.ts +23 -1
- package/dist/language/flows/flow-replay.js +92 -19
- package/dist/language/flows/flow-scope.js +5 -1
- package/dist/language/flows/flow-step-runners.d.ts +20 -2
- package/dist/language/flows/flow-step-runners.js +236 -42
- package/dist/language/flows/flow-store-for-session.d.ts +2 -2
- package/dist/language/flows/flow-store-for-session.js +2 -2
- package/dist/language/flows/flow-tools.js +58 -34
- package/dist/language/flows/flows.js +5 -2
- package/dist/language/flows/heal-run.js +6 -4
- package/dist/language/flows/recording/flake.d.ts +2 -2
- package/dist/language/flows/recording/tape/recordings.d.ts +30 -4
- package/dist/language/flows/recording/tape/recordings.js +40 -8
- package/dist/language/flows/replay-from-hud.d.ts +20 -0
- package/dist/language/flows/replay-from-hud.js +51 -0
- package/dist/language/flows/replay.d.ts +9 -5
- package/dist/language/flows/replay.js +27 -9
- package/dist/language/flows/suite/suite-flakes.js +2 -0
- package/dist/language/flows/suite-selection.d.ts +2 -15
- package/dist/language/flows/suite-selection.js +4 -3
- package/dist/language/flows/verify-change-tools.js +8 -4
- package/dist/launch-chromium.d.ts +27 -5
- package/dist/launch-chromium.js +38 -8
- package/dist/memory/cloud/cloud-config.d.ts +12 -0
- package/dist/memory/cloud/cloud-config.js +15 -0
- package/dist/memory/cloud/cloud-sync.d.ts +17 -14
- package/dist/memory/cloud/cloud-sync.js +12 -1
- package/dist/memory/cloud/harness-config.d.ts +26 -1
- package/dist/memory/cloud/harness-config.js +99 -4
- package/dist/memory/cloud/hud-notices-source.d.ts +21 -0
- package/dist/memory/cloud/hud-notices-source.js +128 -0
- package/dist/memory/cloud/memory-scope.d.ts +144 -0
- package/dist/memory/cloud/memory-scope.js +205 -0
- package/dist/memory/cloud/sync-cycle.d.ts +21 -3
- package/dist/memory/cloud/sync-cycle.js +45 -5
- package/dist/memory/cloud/sync-daemon.js +7 -5
- package/dist/memory/cloud/sync-disk.d.ts +1 -1
- package/dist/memory/cloud/sync-disk.js +5 -8
- package/dist/memory/impact/account-watch.d.ts +19 -0
- package/dist/memory/impact/account-watch.js +34 -0
- package/dist/memory/impact/impact-recorder.d.ts +8 -0
- package/dist/memory/impact/impact-recorder.js +12 -2
- package/dist/memory/impact/impact-store.d.ts +16 -0
- package/dist/memory/impact/impact-store.js +142 -26
- package/dist/memory/intent/intent-shard.d.ts +2 -2
- package/dist/memory/intent/intent-tools.js +88 -5
- package/dist/memory/journal/envelope.d.ts +16 -16
- package/dist/memory/journal/journal-query.d.ts +14 -0
- package/dist/memory/journal/journal-query.js +15 -0
- package/dist/memory/journal/journal-recorder.js +7 -1
- package/dist/memory/journal/on-disk/retention.d.ts +3 -0
- package/dist/memory/journal/on-disk/retention.js +5 -0
- package/dist/memory/journal/on-disk/startup-maintenance.js +3 -1
- package/dist/memory/journal/on-disk/workspace-tiers.js +7 -4
- package/dist/memory/journal/session-end.js +6 -4
- package/dist/memory/project/artifact-root-resolver.d.ts +36 -1
- package/dist/memory/project/artifact-root-resolver.js +134 -26
- package/dist/memory/project/artifact-root.d.ts +42 -5
- package/dist/memory/project/artifact-root.js +87 -8
- package/dist/memory/project/dir/reticle-dir.d.ts +4 -2
- package/dist/memory/project/dir/reticle-dir.js +3 -1
- package/dist/memory/project/project-tools.js +22 -3
- package/dist/memory/project/session-root.d.ts +24 -1
- package/dist/memory/project/session-root.js +41 -5
- package/dist/memory/project/sync-status.d.ts +39 -0
- package/dist/memory/project/sync-status.js +90 -0
- package/dist/memory/recall/memory-tools.js +2 -0
- package/dist/memory/recall/project-memory.d.ts +19 -0
- package/dist/memory/recall/project-memory.js +45 -6
- package/dist/portal/bridge/bridge.d.ts +7 -4
- package/dist/portal/bridge/bridge.js +25 -3
- package/dist/portal/bridge/pairing-token.d.ts +9 -0
- package/dist/portal/bridge/pairing-token.js +17 -0
- package/dist/portal/input/real-input.d.ts +81 -10
- package/dist/portal/input/real-input.js +207 -22
- package/dist/portal/input/viewport-tools.js +19 -9
- package/dist/portal/pool/browser-pool.d.ts +22 -9
- package/dist/portal/pool/browser-pool.js +70 -35
- package/dist/portal/pool/playwright-launcher.d.ts +13 -0
- package/dist/portal/pool/playwright-launcher.js +17 -1
- package/dist/portal/pool/pool-contract.d.ts +7 -4
- package/dist/portal/session/command-payload.d.ts +8 -0
- package/dist/portal/session/command-payload.js +19 -0
- package/dist/portal/session/dev-server/dev-command.d.ts +12 -0
- package/dist/portal/session/dev-server/dev-command.js +61 -12
- package/dist/portal/session/facts/departure-note.d.ts +22 -0
- package/dist/portal/session/facts/departure-note.js +47 -0
- package/dist/portal/session/facts/session-replaced.d.ts +5 -0
- package/dist/portal/session/facts/session-replaced.js +5 -0
- package/dist/portal/session/first-run-wiring.d.ts +42 -0
- package/dist/portal/session/first-run-wiring.js +132 -0
- package/dist/portal/session/human/notes-ledger.d.ts +20 -0
- package/dist/portal/session/human/notes-ledger.js +55 -0
- package/dist/portal/session/human/review-store.d.ts +12 -0
- package/dist/portal/session/human/review-store.js +18 -10
- package/dist/portal/session/live-control-tools.d.ts +0 -13
- package/dist/portal/session/live-control-tools.js +28 -3
- package/dist/portal/session/no-session-diagnosis.d.ts +7 -0
- package/dist/portal/session/no-session-diagnosis.js +15 -0
- package/dist/portal/session/no-session-next-action.d.ts +11 -0
- package/dist/portal/session/no-session-next-action.js +31 -5
- package/dist/portal/session/no-session-watch.d.ts +14 -1
- package/dist/portal/session/no-session-watch.js +63 -10
- package/dist/portal/session/presence/session-mirror.js +3 -0
- package/dist/portal/session/serving-directory.d.ts +27 -0
- package/dist/portal/session/serving-directory.js +45 -0
- package/dist/portal/session/session-health.d.ts +7 -0
- package/dist/portal/session/session-health.js +6 -0
- package/dist/portal/session/session-info.d.ts +8 -1
- package/dist/portal/session/session-info.js +6 -0
- package/dist/portal/session/session-manager.d.ts +21 -0
- package/dist/portal/session/session-manager.js +44 -8
- package/dist/portal/session/session-reaper.js +4 -1
- package/dist/portal/session/session-successor.d.ts +5 -0
- package/dist/portal/session/session-tools.js +26 -3
- package/dist/portal/session/session.d.ts +12 -10
- package/dist/portal/session/session.js +30 -31
- package/dist/start-options.d.ts +6 -0
- package/dist/status-payload.d.ts +10 -0
- package/dist/status-payload.js +23 -0
- package/dist/surface/http-server.d.ts +1 -1
- package/dist/surface/http-server.js +15 -4
- package/dist/surface/mcp/mcp-proxy.d.ts +5 -0
- package/dist/surface/mcp/mcp-proxy.js +36 -5
- package/dist/surface/mcp/mcp.d.ts +11 -6
- package/dist/surface/mcp/mcp.js +28 -14
- package/dist/surface/mcp/proxy/proxy-log.js +3 -5
- package/dist/surface/mcp/server-instructions.d.ts +4 -2
- package/dist/surface/mcp/server-instructions.js +14 -4
- package/dist/surface/mcp/shared-params.js +2 -2
- package/dist/surface/tools/act/navigation/navigate-arrival.d.ts +8 -0
- package/dist/surface/tools/act/navigation/navigate-arrival.js +56 -2
- package/dist/surface/tools/act/settle-in-flight.js +25 -3
- package/dist/surface/tools/act-sequence-tool.js +2 -2
- package/dist/surface/tools/act-tools.js +25 -9
- package/dist/surface/tools/assert/assert-verdict.d.ts +1 -1
- package/dist/surface/tools/assert/assert-verdict.js +17 -2
- package/dist/surface/tools/browser-tools.js +8 -1
- package/dist/surface/tools/chat-drives.d.ts +26 -0
- package/dist/surface/tools/chat-drives.js +165 -0
- package/dist/surface/tools/dynamic-tools.js +29 -2
- package/dist/surface/tools/empty-session-list.d.ts +41 -0
- package/dist/surface/tools/empty-session-list.js +80 -0
- package/dist/surface/tools/error-recovery.d.ts +6 -0
- package/dist/surface/tools/error-recovery.js +38 -6
- package/dist/surface/tools/explore-tools.d.ts +10 -1
- package/dist/surface/tools/explore-tools.js +82 -13
- package/dist/surface/tools/feedback-tools.js +14 -0
- package/dist/surface/tools/harness-explore.d.ts +96 -14
- package/dist/surface/tools/harness-explore.js +227 -202
- package/dist/surface/tools/harness-plan.d.ts +12 -0
- package/dist/surface/tools/harness-plan.js +31 -0
- package/dist/surface/tools/harness-script.d.ts +8 -0
- package/dist/surface/tools/harness-script.js +342 -0
- package/dist/surface/tools/harness-toolset.d.ts +14 -1
- package/dist/surface/tools/harness-toolset.js +77 -6
- package/dist/surface/tools/invoke-tool.js +64 -9
- package/dist/surface/tools/lease-seed.d.ts +29 -0
- package/dist/surface/tools/lease-seed.js +123 -0
- package/dist/surface/tools/lease-tools.d.ts +3 -23
- package/dist/surface/tools/lease-tools.js +30 -131
- package/dist/surface/tools/live-call-text.js +2 -2
- package/dist/surface/tools/next-step.d.ts +19 -0
- package/dist/surface/tools/next-step.js +159 -0
- package/dist/surface/tools/observe-tools.js +2 -4
- package/dist/surface/tools/platform-moment.d.ts +12 -0
- package/dist/surface/tools/platform-moment.js +168 -0
- package/dist/surface/tools/query-hint-schema.d.ts +7 -0
- package/dist/surface/tools/query-hint-schema.js +10 -0
- package/dist/surface/tools/read-tools.js +8 -2
- package/dist/surface/tools/real-input-attempt.js +96 -13
- package/dist/surface/tools/tool-kit.d.ts +25 -1
- package/dist/surface/tools/tool-kit.js +4 -6
- package/dist/surface/tools/tools.js +20 -48
- package/dist/telemetry/argument-shape.js +1 -1
- package/dist/telemetry/hud-metrics.d.ts +2 -0
- package/dist/telemetry/hud-metrics.js +17 -0
- package/dist/telemetry/onboarding-firsts.d.ts +2 -2
- package/dist/telemetry/onboarding-firsts.js +2 -2
- package/dist/telemetry/telemetry.d.ts +12 -0
- package/dist/telemetry/telemetry.js +43 -14
- package/dist/telemetry/verification-of.js +1 -0
- package/dist/wire-journal.js +4 -1
- package/docs/README.md +1 -1
- package/docs/actions.mdx +1 -2
- package/docs/agent-cheatsheet.md +1 -1
- package/docs/autodrive.md +29 -25
- package/docs/cli/cloud.mdx +6 -4
- package/docs/cli/doctor.mdx +6 -0
- package/docs/cli/drive.mdx +8 -2
- package/docs/cli/init.mdx +11 -13
- package/docs/cli/status.mdx +5 -1
- package/docs/cli/version.mdx +3 -3
- package/docs/cli.mdx +14 -8
- package/docs/desktop.mdx +5 -1
- package/docs/environment.mdx +3 -7
- package/docs/getting-started.md +14 -2
- package/docs/human-control.md +1 -2
- package/docs/index.mdx +4 -3
- package/docs/install-agentic.mdx +1 -1
- package/docs/install-manual.mdx +2 -2
- package/docs/packages/next.mdx +3 -0
- package/docs/packages/tauri.mdx +2 -2
- package/docs/packages/vite-plugin.mdx +24 -1
- package/docs/packages.mdx +1 -1
- package/docs/quickstart.mdx +23 -11
- package/docs/telemetry.md +1 -1
- package/docs/tools/act.mdx +1 -1
- package/docs/tools/session-and-feedback.mdx +9 -9
- package/docs/usage.md +5 -3
- package/docs/what-is-recorded.md +13 -3
- package/docs/what-is-reticle.mdx +3 -1
- package/package.json +8 -12
- package/dist/features/harness/driver.d.ts +0 -50
- package/dist/features/harness/driver.js +0 -236
- package/dist/features/harness/jev-driver.d.ts +0 -188
- package/dist/features/harness/jev-driver.js +0 -678
- package/dist/features/harness/openai-driver.d.ts +0 -46
- package/dist/features/harness/openai-driver.js +0 -194
- package/dist/memory/project/dir/fill-value-store.d.ts +0 -32
- package/dist/memory/project/dir/fill-value-store.js +0 -88
- package/docs/local-registry.md +0 -143
|
@@ -7,13 +7,17 @@
|
|
|
7
7
|
* nothing grades) but the flows that now exist on disk, because every future run replays those
|
|
8
8
|
* deterministically with no model in the loop at all.
|
|
9
9
|
*/
|
|
10
|
+
import { type FlowFile } from '@reticlehq/core';
|
|
10
11
|
import type { ToolDeps } from './tool-kit.js';
|
|
11
12
|
import { type HarnessPlan } from './harness-plan.js';
|
|
12
13
|
import { type ConfigFetch } from '../../features/harness/platform-config.js';
|
|
13
|
-
import { type HarnessResult, type ModelDriver, type ToolOutcome } from '../../features/harness/harness.js';
|
|
14
|
+
import { type HarnessResult, type HarnessToolset, type ModelDriver, type ToolOutcome } from '../../features/harness/harness.js';
|
|
15
|
+
import { type GoalCheck } from '../../features/harness/goals.js';
|
|
14
16
|
export interface ExploreOptions {
|
|
15
17
|
/** Who to be, or what to accomplish. Appended to the standing instruction. */
|
|
16
18
|
focus?: string;
|
|
19
|
+
/** Texts the drive must leave on the page. Default: whatever `focus` quoted. See goals.ts. */
|
|
20
|
+
goals?: readonly string[];
|
|
17
21
|
/** Pinned tab, when the app has more than one connected. */
|
|
18
22
|
sessionId?: string;
|
|
19
23
|
/** Hard ceiling on model turns. Bounds cost, not value — the drive is usable however it ends. */
|
|
@@ -51,6 +55,8 @@ export interface ExploreResult {
|
|
|
51
55
|
plan: HarnessPlan;
|
|
52
56
|
/** Flows that exist now and did not before — the part of a drive that is worth paying for twice. */
|
|
53
57
|
savedFlows: readonly string[];
|
|
58
|
+
/** Of the saved and rewritten flows, the ones with no step that checks anything. */
|
|
59
|
+
unverifiedFlows: readonly string[];
|
|
54
60
|
/**
|
|
55
61
|
* Flows that already existed and were written again by this drive.
|
|
56
62
|
*
|
|
@@ -64,6 +70,10 @@ export interface ExploreResult {
|
|
|
64
70
|
* journeys under the same names — so this is the ordinary case, not the corner one.
|
|
65
71
|
*/
|
|
66
72
|
rewroteFlows: readonly string[];
|
|
73
|
+
/** One verdict per goal, checked by the harness after the drive rather than taken on its word. */
|
|
74
|
+
goals: readonly GoalCheck[];
|
|
75
|
+
/** The persona plan and how each persona ended, when the platform proposed the personas. */
|
|
76
|
+
planLines?: readonly string[];
|
|
67
77
|
/**
|
|
68
78
|
* Which driver actually drove.
|
|
69
79
|
*
|
|
@@ -73,6 +83,8 @@ export interface ExploreResult {
|
|
|
73
83
|
* comparison. `custom` is an injected driver, which is neither of ours to name.
|
|
74
84
|
*/
|
|
75
85
|
driverName: string;
|
|
86
|
+
/** The run this drive syncs as (`harness-<id>`), so a caller can find it on the platform. */
|
|
87
|
+
runIds?: readonly string[];
|
|
76
88
|
}
|
|
77
89
|
/**
|
|
78
90
|
* Why the harness is unavailable, phrased as the way to make it available.
|
|
@@ -82,10 +94,6 @@ export interface ExploreResult {
|
|
|
82
94
|
* print it, and two copies of this sentence would drift.
|
|
83
95
|
*/
|
|
84
96
|
export declare const MSG_NO_HARNESS_KEY: string;
|
|
85
|
-
/** Asked for Jev specifically and it is not configured. Distinct from having no model at all. */
|
|
86
|
-
export declare const MSG_NO_JEV_KEY: string;
|
|
87
|
-
/** Asked for OpenAI specifically and it is not configured. Never substituted, same as Jev. */
|
|
88
|
-
export declare const MSG_NO_OPENAI_KEY: string;
|
|
89
97
|
/**
|
|
90
98
|
* The environment, plus the credential this machine already has.
|
|
91
99
|
*
|
|
@@ -106,7 +114,10 @@ export declare const MSG_NO_OPENAI_KEY: string;
|
|
|
106
114
|
* the tool surface reach into `memory/cloud` — a reach the directory guard refused, correctly.
|
|
107
115
|
*/
|
|
108
116
|
export declare function withLinkedCredential(deps: ToolDeps, env: Record<string, string | undefined>): Promise<Record<string, string | undefined>>;
|
|
109
|
-
/**
|
|
117
|
+
/**
|
|
118
|
+
* Can this machine reach the Harness? Only through the platform: a linked project or a platform
|
|
119
|
+
* key. Whether the workspace is entitled is the platform's answer, asked when the drive starts.
|
|
120
|
+
*/
|
|
110
121
|
export declare function harnessAvailable(env: Record<string, string | undefined>): boolean;
|
|
111
122
|
/**
|
|
112
123
|
* Read the step ceiling out of the environment.
|
|
@@ -125,6 +136,29 @@ export declare function maxStepsFromEnv(env: Record<string, string | undefined>)
|
|
|
125
136
|
* record and did not — and this product does not get to make that mistake about its own work.
|
|
126
137
|
*/
|
|
127
138
|
export declare function exploreApp(deps: ToolDeps, env: Record<string, string | undefined>, options?: ExploreOptions): Promise<ExploreResult>;
|
|
139
|
+
/** A line in the HUD's Agent Log for the person watching; nobody watching is not an error. */
|
|
140
|
+
export declare function narrator(deps: ToolDeps, options: ExploreOptions): (text: string) => void;
|
|
141
|
+
/** What this project's memory says must hold, in its own words. Nothing recorded is none. */
|
|
142
|
+
export declare function productRules(deps: ToolDeps, sessionId?: string): Promise<string[]>;
|
|
143
|
+
/** `deps` whose flow store is the session's own project, where the drive's saves land. */
|
|
144
|
+
export declare function withProjectFlows(deps: ToolDeps, sessionId?: string): ToolDeps;
|
|
145
|
+
/**
|
|
146
|
+
* Write the persona onto every flow the drive saved or rewrote without an intent.
|
|
147
|
+
*
|
|
148
|
+
* Whichever driver saved it, and in whatever words: the cheap driver's own teardown saved its flow
|
|
149
|
+
* with no intent at all, so a replay could never say which journey it was meant to prove. A flow
|
|
150
|
+
* that already carries an intent keeps it. Best effort: a flow that cannot be read or rewritten is
|
|
151
|
+
* still a saved flow.
|
|
152
|
+
*/
|
|
153
|
+
export declare function recordPersona(deps: ToolDeps, names: readonly string[], persona: string): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* The saved flows with no step that asserts a consequence.
|
|
156
|
+
*
|
|
157
|
+
* Such a flow replays as "verified nothing": it clicks through the journey and would pass with the
|
|
158
|
+
* feature broken. Named so the drive's report does not count it as evidence. A flow that cannot be
|
|
159
|
+
* read is left out rather than guessed at.
|
|
160
|
+
*/
|
|
161
|
+
export declare function flowsThatCheckNothing(deps: ToolDeps, names: readonly string[]): Promise<readonly string[]>;
|
|
128
162
|
/**
|
|
129
163
|
* What a drive actually left behind, split into flows that are NEW and flows it wrote over.
|
|
130
164
|
*
|
|
@@ -161,18 +195,66 @@ export declare const MSG_HARNESS_DISABLED: string;
|
|
|
161
195
|
/**
|
|
162
196
|
* The other reason a drive can be refused, and it is NOT the same reason.
|
|
163
197
|
*
|
|
164
|
-
* A drive through the platform spends Reticle's model budget
|
|
165
|
-
*
|
|
166
|
-
* message says which of the two it is and what to do, because "the harness is off" told to a person
|
|
167
|
-
* who never turned anything off is a support ticket rather than an answer.
|
|
198
|
+
* A drive through the platform spends Reticle's model budget, bounded by the workspace's monthly
|
|
199
|
+
* Harness credits. The platform answers this only when something other than the switch stops it.
|
|
168
200
|
*/
|
|
169
201
|
export declare const MSG_HARNESS_UNCLAIMED: string;
|
|
202
|
+
/** The platform could not be asked, and the drive would spend Reticle's budget without its yes. */
|
|
203
|
+
export declare const MSG_HARNESS_UNCONFIRMED: string;
|
|
204
|
+
/**
|
|
205
|
+
* The reason this drive must not start, or `undefined` to go ahead.
|
|
206
|
+
*
|
|
207
|
+
* A drive on somebody's OWN model key never waits on the platform beyond the off switch: their key,
|
|
208
|
+
* their spend. A drive through the platform proxy bills Reticle, and that one needs a confirmed yes
|
|
209
|
+
* — enabled, entitled, and a model ready. It used to fail open: `fetchPlatformConfig` answers
|
|
210
|
+
* `undefined` on a network error, a non-2xx, a body that does not parse, or a two-second timeout,
|
|
211
|
+
* and all four read as "carry on", so a slow second on a settings endpoint let an unentitled
|
|
212
|
+
* workspace drive on Reticle's budget. Now the same silence refuses with a message that says to
|
|
213
|
+
* retry or bring a key. Fields an older platform omits still default to yes inside
|
|
214
|
+
* `fetchPlatformConfig`; only an answer that never arrived is a no.
|
|
215
|
+
*/
|
|
216
|
+
export declare function refusedByPlatform(env: Record<string, string | undefined>, options: ExploreOptions): Promise<string | undefined>;
|
|
217
|
+
/**
|
|
218
|
+
* Close and save whatever recording the drive left open.
|
|
219
|
+
*
|
|
220
|
+
* The driver reserves turns for its own teardown, which covers the ordinary ending. It does NOT
|
|
221
|
+
* cover a drive that broke, or one whose model went quiet, or one cut off by a budget the caller
|
|
222
|
+
* shortened — and in every one of those the app really was driven and the record of it is thrown
|
|
223
|
+
* away. Measured before this existed: a 24-step journey through a real dashboard, saved nothing.
|
|
224
|
+
*
|
|
225
|
+
* Failures are swallowed on purpose. This is a last chance, not a checkpoint: if the recording was
|
|
226
|
+
* already closed the stop is refused and there is nothing to do, and a drive must not fail at the
|
|
227
|
+
* finish line because the thing it was trying to rescue did not need rescuing.
|
|
228
|
+
*/
|
|
170
229
|
/**
|
|
171
|
-
*
|
|
230
|
+
* What a banked recording says it was for: the persona the caller named, when there was one.
|
|
172
231
|
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
232
|
+
* It used to be "Autonomous drive of X, banked after the run ended" whatever the caller asked for,
|
|
233
|
+
* so a replay could never say which journey the flow was meant to prove.
|
|
175
234
|
*/
|
|
176
|
-
export declare function
|
|
235
|
+
export declare function bankedIntent(persona: string | undefined, open: string): string;
|
|
236
|
+
export declare function bankOpenRecording(toolset: HarnessToolset, drive: HarnessResult, persona: string | undefined): Promise<void>;
|
|
177
237
|
/** The recording started and never stopped, if there is one. Exported because it is the decision. */
|
|
178
238
|
export declare function openRecordingName(toolCalls: readonly ToolOutcome[]): string | undefined;
|
|
239
|
+
/**
|
|
240
|
+
* Read the project's own record of what it does and what is proved about it.
|
|
241
|
+
*
|
|
242
|
+
* No browser, no model, no source. A failure here is "nothing is recorded yet", which is the
|
|
243
|
+
* ordinary state of a new project and not a reason to refuse to drive — so it answers an empty
|
|
244
|
+
* plan rather than throwing.
|
|
245
|
+
*/
|
|
246
|
+
export declare function readFlows(deps: ToolDeps): Promise<FlowFile[]>;
|
|
247
|
+
export declare function readPlan(deps: ToolDeps, sessionId?: string): Promise<HarnessPlan>;
|
|
248
|
+
export declare function pinned(options: ExploreOptions): {
|
|
249
|
+
sessionId?: string;
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* The driver: the platform's Harness, which decides every step on its side while this machine
|
|
253
|
+
* executes. There is no other: the decisions, the models and the planning run only on the platform.
|
|
254
|
+
*/
|
|
255
|
+
export declare function buildDriver(env: Record<string, string | undefined>, maxSteps: number, plan: HarnessPlan, requested?: string, persona?: string,
|
|
256
|
+
/** A goal driven with no persona: it names the drive's flows as a persona would. */
|
|
257
|
+
journey?: string): {
|
|
258
|
+
driver: ModelDriver;
|
|
259
|
+
name: string;
|
|
260
|
+
};
|