Download Latest Version walkerOS v4.9.0 source code.zip (13.2 MB)
Home / v4.7.2
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-10-06 6.2 kB
walkerOS v4.7.2 source code.tar.gz 2026-10-06 10.6 MB
walkerOS v4.7.2 source code.zip 2026-10-06 12.4 MB
Totals: 3 Items   23.0 MB 0

Changes

An async mapping rule condition is now awaited, in rule order, so a condition that resolves to false no longer matches. A condition that throws is logged and counts as no match. New isThenable helper export.

setDefaultProject (MCP project_manage set_default) now needs a credential instead of just a config file, works with only WALKEROS_TOKEN set, and refuses while WALKEROS_PROJECT_ID names another project. The local MCP server now uses WALKEROS_PROJECT_ID when a call names no project. New export: resolveProjectId().

Importing explorer no longer downloads the Monaco editor. Monaco now loads when the first code editor appears on a page, so pages without an editor stay light. Editors keep their themes, type checking and autocompletion.

Requests to a path or method that is not configured now get a JSON 404 ({ "success": false, "error": "Not found" }) instead of the Express HTML page, which named the framework and echoed the requested path.

The flow-complete.json example stops an opted-out user (user.optout) first: on the web nothing is sent, on the server the event stops before dedup. Piwik PRO now gets the customer segment as custom dimension 1, and the GA4 purchase rule drops its consent, which only repeated the destination consent.

The GTM destination pushes the whole walkerOS event to the dataLayer when no data mapping is configured, with event set to its name. Before, such a push carried only the event name. Pushes with a mapping are unchanged and still carry only the mapped values.

A tool refused for a missing role, scope or feature no longer suggests logging in; that hint now appears only when the login is rejected or missing. Project commands now report error codes such as FORBIDDEN in the machine-readable error line and show upgrade instructions when the app needs a newer CLI.

flow_manage list without a projectId now wraps project and flow names in <user_data>, like the list of one project, and both lists wrap a flow's summary. Settings names stay literal.

ToolClient.credentialSource() can return 'host' for a door the host authenticates per request. There, auth reports the connection as logged in, answers login with "no login needed" and refuses logout. The auth tool no longer changes process.env; the local door clears WALKEROS_TOKEN itself. auth logout answers loggedOut: false when a credential is still there afterwards, such as a session stored by a parallel login.

MCP tool results are always an object: mcpResult answers a list as { items } and a bare value as { value } instead of a bare or spread array, and project_manage list always answers { projects }.

validate_tagging reads actions with the browser source's own parser and knows every trigger it handles, so scroll(50):read, custom and quoted action params no longer warn, and it checks both data-elbaction and data-elbactions on one element. generate_tagging refuses a link with more than one entry.

The MCP server instructions now name exactly which mapping fields apply at a transformer and which do nothing there.

Quoted action parameters that contain a semicolon, like add('x;y'), parse as one parameter again. An apostrophe inside a word, like Men's or l'été, stays part of the value.

The MCP setup-mapping prompt, the MCP instructions, the schema descriptions and the flow-complete example no longer claim that a mapping rule's consent gates events. A rule's consent is not enforced yet; to require consent for a destination, set consent in the destination's config.

An event a source drops because its config.consent is not granted is no longer silent: the push result says dropped: true, a debug log names the source, and observers see a skip with the reason consent.

tagger.link() sets the one link an element carries and throws on a second, different link or an object with several entries. Before, it joined several links into one data-elblink that the browser source could not read, so every link on the element was lost. getTriggerActions and Triggers are now exported.

A code-less transformer now runs its config.mapping (it wins over the step-level mapping), and a flow bundle keeps a code-less transformer whose only mapping or state sits in config. Init warns about every mapping field that does nothing in a transformer, rules in array form included, about a mapping next to code or package, which never runs, and about a step-level mapping that config.mapping overrides; validateFlowStructure reports the same warnings. New exports: getTransformerMapping, getTransformerMappingWarnings.

startFlow now types each step by the package passed as code, so settings, mapping rule settings and env keys autocomplete and an unknown setting is a type error; steps without typed code stay as loose as before. The Storybook addon no longer passes a session setting the browser source never had.

walkeros validate and MCP flow_validate now show the structural warnings of a flow, such as a transformer mapping field that does nothing (TRANSFORMER_MAPPING_NO_OP), as warnings, not errors.

Published Packages

Source: README.md, updated 2026-10-06