pomerado 0.1.2 → 0.2.1-canary.10

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.
Files changed (84) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/LICENSE +21 -661
  3. package/README.md +133 -188
  4. package/dist/typescript/authoring/auth/SKILL.md +40 -167
  5. package/dist/typescript/authoring/caller-input/SKILL.md +10 -69
  6. package/dist/typescript/authoring/core/SKILL.md +45 -333
  7. package/dist/typescript/authoring/forms/SKILL.md +7 -78
  8. package/dist/typescript/authoring/pagination/SKILL.md +17 -22
  9. package/dist/typescript/authoring/workspace/AGENTS.md +60 -298
  10. package/dist/typescript/authoring/workspace/README.md +2 -10
  11. package/dist/typescript/authoring/writes/SKILL.md +12 -140
  12. package/dist/typescript/src/destinations/autofill-fill.d.ts +3 -1
  13. package/dist/typescript/src/destinations/autofill-fill.js +66 -17
  14. package/dist/typescript/src/destinations/autofill-locate-code.js +10 -4
  15. package/dist/typescript/src/destinations/autofill-page-code.d.ts +4 -2
  16. package/dist/typescript/src/destinations/autofill-page-code.js +18 -7
  17. package/dist/typescript/src/destinations/autofill-refusal.d.ts +43 -0
  18. package/dist/typescript/src/destinations/autofill-refusal.js +41 -0
  19. package/dist/typescript/src/destinations/autofill-step.d.ts +20 -3
  20. package/dist/typescript/src/destinations/autofill-step.js +3 -1
  21. package/dist/typescript/src/destinations/credential-keyboard.d.ts +8 -3
  22. package/dist/typescript/src/destinations/credential-keyboard.js +46 -15
  23. package/dist/typescript/src/destinations/page-controls.d.ts +71 -0
  24. package/dist/typescript/src/destinations/page-controls.js +163 -0
  25. package/dist/typescript/src/execution/local-operation-stage.js +31 -10
  26. package/dist/typescript/src/execution/local-workspace.js +37 -16
  27. package/dist/typescript/src/execution/playwright-execute.d.ts +1 -1
  28. package/dist/typescript/src/execution/playwright-execute.js +2 -1
  29. package/dist/typescript/src/execution/sign-in-diagnostics.d.ts +29 -21
  30. package/dist/typescript/src/guardian/execution-policy.js +2 -2
  31. package/dist/typescript/src/guardian/openai-input.d.ts +8 -2
  32. package/dist/typescript/src/guardian/openai-input.js +29 -1
  33. package/dist/typescript/src/guardian/openai.d.ts +9 -5
  34. package/dist/typescript/src/guardian/openai.js +148 -44
  35. package/dist/typescript/src/guardian/review-layout.d.ts +66 -0
  36. package/dist/typescript/src/guardian/review-layout.js +292 -0
  37. package/dist/typescript/src/guardian/review.d.ts +99 -3
  38. package/dist/typescript/src/guardian/review.js +214 -100
  39. package/dist/typescript/src/guardian/session.d.ts +14 -1
  40. package/dist/typescript/src/guardian/session.js +35 -6
  41. package/dist/typescript/src/mint/contracts.d.ts +40 -12
  42. package/dist/typescript/src/mint/harness.js +112 -13
  43. package/dist/typescript/src/mint/idle-compaction.d.ts +41 -0
  44. package/dist/typescript/src/mint/idle-compaction.js +99 -0
  45. package/dist/typescript/src/mint/openai.js +46 -9
  46. package/dist/typescript/src/mint/sign-in-failure.d.ts +16 -1
  47. package/dist/typescript/src/mint/sign-in-failure.js +77 -1
  48. package/dist/typescript/src/mint/skills.d.ts +4 -0
  49. package/dist/typescript/src/mint/skills.js +60 -61
  50. package/dist/typescript/src/mint/workspace.js +5 -4
  51. package/dist/typescript/src/models/model-usage.d.ts +10 -0
  52. package/dist/typescript/src/models/model-usage.js +15 -0
  53. package/dist/typescript/src/models/reasoning-settings.d.ts +4 -0
  54. package/dist/typescript/src/models/reasoning-settings.js +10 -0
  55. package/dist/typescript/src/runtime/input-request.d.ts +1 -0
  56. package/dist/typescript/src/runtime/input-request.js +2 -1
  57. package/dist/typescript/src/runtime/provider-metadata.d.ts +7 -6
  58. package/dist/typescript/src/runtime/script-input.d.ts +2 -2
  59. package/dist/typescript/src/runtime/script-input.js +13 -3
  60. package/dist/typescript/src/standalone/after-submit.d.ts +101 -0
  61. package/dist/typescript/src/standalone/after-submit.js +29 -0
  62. package/dist/typescript/src/standalone/authentication.d.ts +4 -1
  63. package/dist/typescript/src/standalone/authentication.js +13 -1
  64. package/dist/typescript/src/standalone/cli.js +20 -10
  65. package/dist/typescript/src/standalone/contracts.d.ts +5 -0
  66. package/dist/typescript/src/standalone/mcp-cli.js +15 -3
  67. package/dist/typescript/src/standalone/mcp-jobs.d.ts +4 -2
  68. package/dist/typescript/src/standalone/mcp-jobs.js +8 -6
  69. package/dist/typescript/src/standalone/mcp-package.js +73 -24
  70. package/dist/typescript/src/standalone/mcp-server.js +14 -14
  71. package/dist/typescript/src/standalone/mint-execution.js +2 -2
  72. package/dist/typescript/src/standalone/mint-host.js +1 -1
  73. package/dist/typescript/src/standalone/mint-state.d.ts +98 -1
  74. package/dist/typescript/src/standalone/mint-state.js +3 -0
  75. package/dist/typescript/src/standalone/pomerado.js +1 -4
  76. package/dist/typescript/src/standalone/request-context.d.ts +21 -1
  77. package/dist/typescript/src/standalone/request-context.js +38 -8
  78. package/dist/typescript/src/standalone/run-operation.d.ts +5 -2
  79. package/dist/typescript/src/standalone/run-operation.js +10 -7
  80. package/dist/typescript/tests/browser/autofill-host-page.d.ts +2 -1
  81. package/dist/typescript/tests/browser/autofill-host-page.js +4 -1
  82. package/dist/typescript/tests/browser/shop-fixture.d.ts +4 -0
  83. package/dist/typescript/tests/browser/shop-fixture.js +24 -2
  84. package/package.json +6 -5
package/CHANGELOG.md ADDED
@@ -0,0 +1,66 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ - Runs of a built integration, through `run` or a served integration MCP, no longer call Guardian and need no model key. Guardian still reviews minting. A run no longer checks its `intent`, `effect` or `authenticationOrigins`.
6
+ - Integrations generated by earlier versions still have README text that asks for `OPENAI_API_KEY`. They no longer need it.
7
+ - `pomerado run` no longer requires `--intent`, and it ignores `--intent` and `--effect`.
8
+ - A failed run that has no more specific message now reads "Operation failed. Check the local browser and integration configuration." Minting keeps its message.
9
+ - Every merge to `main` publishes a canary, `X.Y.Z-canary.N`, under the `canary` dist-tag: `npm install pomerado@canary`. `latest` moves to the canary that Pomerado's hosted service promotes to production, so `npm install pomerado` gets the build production runs. The range it saves, such as `^0.2.1-canary.57`, also matches later canaries, so install with `--save-exact` or keep a lockfile. See [Releasing](docs/RELEASING.md).
10
+ - A host sign-in step fills a form whose submit is disabled, `aria-disabled` or in a disabled fieldset until the fields hold input. The host waits up to 5 seconds for the page to enable the submit, then clicks it, and never clicks it while it is disabled. It reads whether the submit is disabled the way Playwright's click does, which page scripts can't change. An `aria-disabled` wrapper keeps a submit waiting only when the submit itself has an ARIA role, as Playwright judges it. A page that changes the form's controls three times during the wait is refused. A submit in an `inert` region is still refused before anything is typed.
11
+ - Guardian's review of a host sign-in step shows the origin of the frame the step's controls are in, as the browser reports it, and no longer requires the submit to be enabled. The auth skill likewise lets the minter record a submit the page has not enabled yet.
12
+
13
+ ### Breaking changes
14
+
15
+ - In `pomerado/core/destinations/autofill-step`, `AutofillInspection.screen` adds a required `origin`, which `inspectAutofillStep` sets. A filled `AutofillStepReport`'s `submit` adds `"stayed_disabled"`: the fields were filled, but the submit stayed disabled through the wait, so the host never clicked it.
16
+ - Migrate by setting `origin` on any inspection you build yourself, and by handling `"stayed_disabled"` in any exhaustive check on `submit`.
17
+
18
+ ### Fixes
19
+
20
+ - A local edit the minter can't apply now says the edit was not applied and why. That covers a patch that doesn't match, a file that already exists or is missing, and a file past the size or file-count limit. The file is unchanged, and no new folder is left behind. These edits no longer report "Workspace edit outcome unknown".
21
+ - The minter's `read_source` now reads local workspace files. Through 0.2.0 every local read failed as unavailable, because the local workspace refused the one extra byte the minter asks for to detect an oversized file. A file past 8 MiB is still refused.
22
+ - Local runs stage authored source a level below the SDK, as the workspace guide describes. The documented `../../runtime/index.js` import from `src/` and the skill references' imports now load. Integrations saved with `../runtime/index.js` still run unchanged.
23
+
24
+ ## 0.2.0
25
+
26
+ This release changes how a host embeds the minting core's authoring and which MCP entry a generated integration writes. Other standalone use through `pomerado`, `pomerado/mcp` and the CLI needs no change.
27
+
28
+ License: MIT from 0.2.0 (was AGPL-3.0-only through 0.1.2). No CLA.
29
+
30
+ ### Breaking changes
31
+
32
+ - Authoring files carry standalone text with named sections, `<!-- pomerado:section ID -->`. Each ID starts with its file's key: the skill name in `<skill>/SKILL.md`, `agents.` in `workspace/AGENTS.md` and `guide.` in `workspace/README.md`. A section's standalone text, if it has any, is its default.
33
+ - `loadAuthoringSkills` and `loadWorkspaceGuide` from `pomerado/core/mint/skills` default to `"standalone"`, which renders each section's standalone text. `"hosted"` no longer renders host text from the package. It loads a directory the host composed first and refuses any section left in it.
34
+ - Migrate by copying `getAuthoringDirectory()`, replacing every section with your own text, and loading the copy with an explicit `"hosted"`.
35
+ - The skill catalog lists only the skills the package ships: `core`, `auth`, `pagination`, `forms`, `writes` and `caller-input`. The `testing`, `recovery`, `captcha`, `browser-recovery`, `http-mcp` and `publication` entries are gone. The workspace guide installs only `README.md` beside `AGENTS.md`, without the four `reference/` sections. `writes` has one description in both modes.
36
+ - Migrate by loading your own skills and reference sections beside the package's, in the order your model should see them.
37
+ - In `pomerado/core/runtime/provider-metadata`, `ProxySwitchSummary` is now `BrowserRecoverySummary` and `RetainedProxyError` is now `RetainedNetworkError`. Their shapes and values are unchanged.
38
+ - Migrate by renaming the imports, or by declaring your own type of the same shape.
39
+ - `MintEntryNavigation`'s replaced-browser `reason` is open: `"sign_in"`, `"recovery"` or a reason the host defines and explains in `instruction`.
40
+ - Migrate by giving any exhaustive check on `reason` a default branch.
41
+ - The optional `captcha_state` and `request_browser_recovery` tools get generic descriptions. `MintDependencies.hostToolDescriptions` takes a host's own.
42
+ - Migrate by passing the descriptions your host relied on.
43
+ - A generated integration writes `mcp.json`, a standard `mcpServers` entry with no key, in place of `codex-mcp.toml`. Its README lists the add command for Claude Code, Codex and Gemini CLI.
44
+ - `configPath` from `prepareIntegration()`, and `integration.configPath` in a finished `mint` job's output, now point to that JSON file instead of the TOML.
45
+ - Authored source may no longer use these top-level names, compared case-insensitively: `mcp.json`, `.mcp.json`, `.vscode`, `.cursor`, `.codex`, `.gemini` and `.claude`. `deployment.json`, `mcp.mjs`, `readme.md` and `codex-mcp.toml` stay reserved.
46
+ - Migrate by adding the integration with the command in its README, or by copying the entry in `mcp.json` into your client. Read `configPath` as JSON. Integrations minted earlier keep their TOML and still run.
47
+ - `MintFailure` adds the reason `definition_login_reference`. A host may refuse publication with it when a tool's definition quotes the build's account reference, and the agent is told which part to rewrite.
48
+ - Migrate by giving any exhaustive check on `reason` a default branch.
49
+
50
+ ### Other changes
51
+
52
+ - Seven headings that rendered empty in standalone mode now have standalone text, in `core/SKILL.md`, `auth/SKILL.md` and `workspace/AGENTS.md`.
53
+ - Section markers are checked strictly in both modes: an unterminated, unspaced, duplicated or foreign section, a stray end marker, a section inside a code fence and any other `pomerado:`, in any case, all fail the load.
54
+ - The `pomerado-mcp` bin starts when run through npx or a global install. Earlier versions exited without starting the server.
55
+ - The shared core skill suggests typed output: numbers for prices, amounts and counts with the currency or unit in its own field, ISO 8601 for dates and times, minutes for durations and one field per fact. These are suggestions, not checks.
56
+ - Guardian's question review allows a question about which sign-in method or account to use, or how to reach the sign-in, when the choices it names match what the page shows. The shared workspace guide says asking it is expected. Guardian also no longer rewords any question only because `allowedEffects` is empty.
57
+ - `ScriptQuestionDeclarations` refuses the whole record when any question id is invalid, instead of dropping that entry. A question id starts with a lowercase letter and uses only lowercase letters, digits and underscores, up to 64 characters.
58
+ - `MintDependencies.redactCallerText` lets a host remove private values, such as the build's account reference, from what the agent writes for its caller: a request's notice, prompts and option labels, and a blocked explanation. The agent's own transcript is unchanged.
59
+ - `MintDependencies.priorAttemptMayHaveChanged` tells the agent of a restarted write build that an earlier attempt may have changed the website, so it reads back before any write. A `not_opened` entry navigation may carry `reason: "prior_effect"` when the host skipped it for that reason.
60
+
61
+ ## 0.1.2
62
+
63
+ - Guardian's upstream policy, adapted from OpenAI Codex, carries its Apache-2.0 notice, and the package ships `third-party/codex/LICENSE` and `third-party/codex/NOTICE`. Guardian drops the notice before the policy reaches the model.
64
+ - Failure-detail comments no longer name a hosted service's internal paths.
65
+ - `FailureSubCause` adds `browser_page_call_failed`, for a page command the browser answered with a failure, such as a script error or a timeout.
66
+ - This is the first release published with npm provenance.