You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
select interface components by identity and verify the requested fletching/leather product, using the real Make-10/5/single layouts
require attributable effects for chop/burn/talk/generic interactions instead of idle ticks or unrelated world changes
report exact requested/actual quantities for shop and bank operations; partial fills are unsuccessful and machine-readable
validate quantities before serialization, bound shop packet work/deadlines, and refresh item identity before every mutation
support noted withdrawals by observing bank-stack decrease and expose current output items when identifiable
add HP aliases/skill typo diagnostics, runtime SDK config validation, clearer inventory/equipment quantities, and a shared action phase/reason contract
Adversarial review fixes
A separate review pass found and this branch fixes: non-finite/huge quantity hangs, stale non-stackable sell slots, accidental Make-10 leather selection, noted-withdraw timeouts, stale bank/inventory object selectors, and incomplete/misrouted leather products.
This is intentionally independent of #45 so both reviews could run simultaneously. It conflicts with #45 only in sdk/actions.ts, sdk/index.ts, and sdk/types.ts.
When reconciling, preserve #45's observation IDs/revision fields, death/HP state, target-specific attack evidence, action-timeout propagation, expiring door state, and browser FIFO behavior. Keep this PR's ActionResultBase, quantity/result types, selector/config/skill additions, and porcelain action bodies. For message checks, object baselines use isMessageAfterBaseline; numeric baselines use #45's helpers.isMessageAfter. Merge/regenerate #43 after both action PRs.
Audited this branch and landed the parts that fix real defects, rebased onto current main. This branch is based on da5340f43, two merges behind — merging it would revert CI, the generated API docs, and the chat-history/observationId work, and it fails tsc on its own base.
Carried over to #48: the interface-option 1-based/0-based click bug in fletchLogs/craftLeather, unbounded quantity expansion in the shop actions, the stale sell slot, partial fills reported as success, chopTree's despawn false-positive, and withdrawItem's slot-diff item identification.
Left out, with reasoning in the #48 description: the phase/reason retype across every result interface, the duplicate message-baseline helpers (main already has helpers.getMessageTick()/isMessageAfter() with observationId support), crafting-products.ts' unverified position tables, and the interactLoc/interactNpc/talkTo evidence rewrite — that last one is a genuine improvement but needs in-game validation, so it's worth a follow-up PR of its own.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adversarial review fixes
A separate review pass found and this branch fixes: non-finite/huge quantity hangs, stale non-stackable sell slots, accidental Make-10 leather selection, noted-withdraw timeouts, stale bank/inventory object selectors, and incomplete/misrouted leather products.
Validation
git diff --checkpassesMerge guidance
This is intentionally independent of #45 so both reviews could run simultaneously. It conflicts with #45 only in
sdk/actions.ts,sdk/index.ts, andsdk/types.ts.When reconciling, preserve #45's observation IDs/revision fields, death/HP state, target-specific attack evidence, action-timeout propagation, expiring door state, and browser FIFO behavior. Keep this PR's
ActionResultBase, quantity/result types, selector/config/skill additions, and porcelain action bodies. For message checks, object baselines useisMessageAfterBaseline; numeric baselines use #45'shelpers.isMessageAfter. Merge/regenerate #43 after both action PRs.