chore: version packages#61
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
0dab606 to
009faf5
Compare
009faf5 to
39ebbea
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@humanjs/core@0.8.0
Minor Changes
13ca334: Add
human.selectText(target, options?)— highlight text inside an element. The cursor moves to the element (humanized), then the text is selected — the "select this" gesture before copying, replacing, or triggering a highlight menu. Selects the element's whole text by default; pass{ text }to select just that substring, located inside the element whitespace-tolerantly and mapped to exact offsets (first match, falling back to the whole element if not found) — so it's reproduced by the text itself, not brittle coordinates. Inspeed: 'instant'the cursor motion is skipped; the selection is still applied.Mirrored as the
human_selectTextMCP tool (with the optionaltextarg), rendered by the recorder code generators (toPlaywright/toHumanJS), documented in the@humanjs/skillprimitives table, and backed by a new'selectText'KnownActionTypein@humanjs/core.@humanjs/generatorcaptures the gesture too: highlighting an element's whole text records a plainselectText, and highlighting part of it recordsselectText(target, { text })with the exact substring.@humanjs/generator@0.1.0
Minor Changes
39d87f3: Initial release of
@humanjs/generator— a visual recorder that turns a real browsing session into a clean, humanized Playwright test.npx @humanjs/generator <url>opens a real Chromium window and a local (loopback-only) dashboard. As you click, type, scroll, drag, select text, and navigate, each action streams into the dashboard as a step captured with a role-first selector (ARIA role + accessible name → label → text → test id →#id→ CSS → XPath). The dashboard is a full editor:toBeVisible/toHaveText/toHaveURL)process.env.Xinstead of a literal (passwords are always masked)careful/fast/distracted/precise)Export a
@humanjs/playwright/testspec (.spec.ts/.test.ts) or a standalone HumanJS script (.ts). The curated timeline runs through@humanjs/playwright's codegen, so generated specs stay in lockstep with the library. Requires Node ≥ 20 and the Playwright Chromium browser (npx playwright install chromium).Patch Changes
13ca334: Add
human.selectText(target, options?)— highlight text inside an element. The cursor moves to the element (humanized), then the text is selected — the "select this" gesture before copying, replacing, or triggering a highlight menu. Selects the element's whole text by default; pass{ text }to select just that substring, located inside the element whitespace-tolerantly and mapped to exact offsets (first match, falling back to the whole element if not found) — so it's reproduced by the text itself, not brittle coordinates. Inspeed: 'instant'the cursor motion is skipped; the selection is still applied.Mirrored as the
human_selectTextMCP tool (with the optionaltextarg), rendered by the recorder code generators (toPlaywright/toHumanJS), documented in the@humanjs/skillprimitives table, and backed by a new'selectText'KnownActionTypein@humanjs/core.@humanjs/generatorcaptures the gesture too: highlighting an element's whole text records a plainselectText, and highlighting part of it recordsselectText(target, { text })with the exact substring.Updated dependencies [39d87f3]
Updated dependencies [39d87f3]
Updated dependencies [39d87f3]
Updated dependencies [13ca334]
@humanjs/mcp@0.4.0
Minor Changes
13ca334: Add
human.selectText(target, options?)— highlight text inside an element. The cursor moves to the element (humanized), then the text is selected — the "select this" gesture before copying, replacing, or triggering a highlight menu. Selects the element's whole text by default; pass{ text }to select just that substring, located inside the element whitespace-tolerantly and mapped to exact offsets (first match, falling back to the whole element if not found) — so it's reproduced by the text itself, not brittle coordinates. Inspeed: 'instant'the cursor motion is skipped; the selection is still applied.Mirrored as the
human_selectTextMCP tool (with the optionaltextarg), rendered by the recorder code generators (toPlaywright/toHumanJS), documented in the@humanjs/skillprimitives table, and backed by a new'selectText'KnownActionTypein@humanjs/core.@humanjs/generatorcaptures the gesture too: highlighting an element's whole text records a plainselectText, and highlighting part of it recordsselectText(target, { text })with the exact substring.Patch Changes
@humanjs/playwright@0.9.0
Minor Changes
39d87f3:
generatePlaywrightTestnow renders explicitasserttimeline events into@playwright/testassertions:{ kind: 'visible' }→expect(locator).toBeVisible(),{ kind: 'text', value }→toHaveText(value),{ kind: 'url', value }→expect(page).toHaveURL(value). They interleave with actions in recorded order and pullpage+expectinto the test automatically. The standalonegenerateHumanJSscript export ignores them (a replay script has noexpect). This lets tooling that builds aTimeline(notably@humanjs/generator) emit intentional assertions alongside the actions, beyond the ones already derived from reads and captured inputs.39d87f3: Export
generateHumanJSandgeneratePlaywrightTestfrom the package root. They turn aTimeline(the structured action log fromhuman.record()/rec.toTimeline()) directly into a runnable HumanJS script or a@humanjs/playwright/testspec — the same code theRecordingexporters emit, now callable on anyTimelineyou construct or load. This is the codegen entry point@humanjs/generatorbuilds on, and it's useful standalone for tooling that produces timelines without running a live recording.39d87f3:
createHumannow installs the visual cursor overlay (installMouseHelper) by default, so humanized motion is visible in headed runs and recordings without a manual call — exported scripts from@humanjs/generator/Recording.toHumanJS()now show the cursor when you run them.Opt out with
cursor: false— do this forspeed: 'instant'/ CI, where there's no motion to show and the injected cursor would otherwise land in test DOM and screenshots. Pass an options object (cursor: { color, size, … }) to style it. The@humanjs/playwright/testfixture opts out automatically in CI (it already runsinstantthere) and shows the cursor on local runs.The install is scoped to the session's page, idempotent (a manual
installMouseHelperor the MCP server's install on top is a no-op), and skipped on page objects that don't support it (so unit-test mocks are unaffected).13ca334: Add
human.selectText(target, options?)— highlight text inside an element. The cursor moves to the element (humanized), then the text is selected — the "select this" gesture before copying, replacing, or triggering a highlight menu. Selects the element's whole text by default; pass{ text }to select just that substring, located inside the element whitespace-tolerantly and mapped to exact offsets (first match, falling back to the whole element if not found) — so it's reproduced by the text itself, not brittle coordinates. Inspeed: 'instant'the cursor motion is skipped; the selection is still applied.Mirrored as the
human_selectTextMCP tool (with the optionaltextarg), rendered by the recorder code generators (toPlaywright/toHumanJS), documented in the@humanjs/skillprimitives table, and backed by a new'selectText'KnownActionTypein@humanjs/core.@humanjs/generatorcaptures the gesture too: highlighting an element's whole text records a plainselectText, and highlighting part of it recordsselectText(target, { text })with the exact substring.Patch Changes
@humanjs/recorder@0.3.2
Patch Changes
@humanjs/skill@0.2.1
Patch Changes
13ca334: Add
human.selectText(target, options?)— highlight text inside an element. The cursor moves to the element (humanized), then the text is selected — the "select this" gesture before copying, replacing, or triggering a highlight menu. Selects the element's whole text by default; pass{ text }to select just that substring, located inside the element whitespace-tolerantly and mapped to exact offsets (first match, falling back to the whole element if not found) — so it's reproduced by the text itself, not brittle coordinates. Inspeed: 'instant'the cursor motion is skipped; the selection is still applied.Mirrored as the
human_selectTextMCP tool (with the optionaltextarg), rendered by the recorder code generators (toPlaywright/toHumanJS), documented in the@humanjs/skillprimitives table, and backed by a new'selectText'KnownActionTypein@humanjs/core.@humanjs/generatorcaptures the gesture too: highlighting an element's whole text records a plainselectText, and highlighting part of it recordsselectText(target, { text })with the exact substring.@humanjs/web@0.0.6
Patch Changes
@humanjs/examples@0.0.8
Patch Changes