usebeeline 0.1.35 → 0.1.37

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 (2) hide show
  1. package/dist/usebeeline.mjs +19 -18
  2. package/package.json +1 -1
@@ -18100,7 +18100,7 @@ var SERVER_EVENT_KIND_DETAIL = {
18100
18100
  "poll-closed": "fires when a posted poll closes, starting a new turn for the asking agent",
18101
18101
  "workflow-handoff": "fires when a workflow run starts or hands off to its next role",
18102
18102
  "subscription-fired": "wakes the agent that subscribed to one outside event",
18103
- "computer-session-activity": "wakes the sharing agent on human browser input or navigation while in control; opening and closing the view are context only"
18103
+ "computer-session-activity": "records shared-browser activity as context for the next turn; never wakes an agent"
18104
18104
  };
18105
18105
  var PER_ITEM_EVENT_KINDS = [
18106
18106
  "grant-decided",
@@ -19004,12 +19004,9 @@ var MachineLink = class {
19004
19004
  if (!value || typeof value !== "object")
19005
19005
  return;
19006
19006
  const event = value;
19007
- if (event.type === "force-update" && typeof event.minVersion === "string") {
19008
- this.link.requireUpdate(event.minVersion);
19009
- return;
19010
- }
19011
- if (typeof event.agentId === "string") {
19012
- this.#channels.get(event.agentId)?.receive(event);
19007
+ if (event.type === "force-update") {
19008
+ if (typeof event.minVersion === "string")
19009
+ this.link.requireUpdate(event.minVersion);
19013
19010
  return;
19014
19011
  }
19015
19012
  if (event.type === "helper-release") {
@@ -19019,6 +19016,10 @@ var MachineLink = class {
19019
19016
  this.#broadcast(event);
19020
19017
  return;
19021
19018
  }
19019
+ if (typeof event.agentId === "string" && event.agentId.length > 0) {
19020
+ this.#channels.get(event.agentId)?.receive(event);
19021
+ return;
19022
+ }
19022
19023
  if (event.type !== "hello" && event.type !== "force-update")
19023
19024
  this.#logUnknown(event.type);
19024
19025
  }
@@ -39011,7 +39012,7 @@ Follow these steps in order. Do not skip or reorder them.
39011
39012
 
39012
39013
  Read the server-assigned brief and its current revision, including every required file. Quote the approval with its message ID and approver before considering the short objective. The spec's outline (user stories, acceptance criteria, non-goals, risks) is the scope, and the approval quote is the human's own words: it wins any conflict with the spec. The short objective is navigation-only text and the PR description cannot add, remove, or narrow scope. A revision with no recorded approval is reviewed against its spec alone. If a required file is unavailable, or the revision changes during review, refuse approval and describe what is missing. A requirement may become out of scope only through a new human-authorized brief revision; reviewer discretion, implementation difficulty, and silence never remove it. A passing narrow test does not prove a broader requirement. Review a deliberate human choice as written, even if it is unusual.
39013
39014
 
39014
- Before general correctness, produce an outline ledger in spec order: list every \`## User stories\` and \`## Acceptance criteria\` line exactly once as met, unmet, unverified, or out of scope, followed by concrete evidence (for a criterion, the named test run against the PR head) - no stories to list is a FAIL, sent back to the author to write the outline; confirm nothing under \`## Non-goals\` was done; confirm every \`## Risks\` line was addressed or explicitly accepted with a stated reason. For a frontend change, open the rendered screens and compare them against the attached mock, noting every visible deviation. Any missing, unmet, unverified story or acceptance criterion, done non-goal, unaddressed risk, or unreviewed mock mismatch blocks PASS. Out of scope is valid only when the current revision itself records the human-authorized removal.
39015
+ Before general correctness, produce an outline ledger in spec order: list every \`## User stories\` and \`## Acceptance criteria\` line exactly once as met, unmet, unverified, or out of scope, followed by concrete evidence (for a criterion, the named test run against the PR head) - no stories to list is a FAIL, sent back to the author to write the outline; confirm nothing under \`## Non-goals\` was done; confirm every \`## Risks\` line was addressed or explicitly accepted with a stated reason. For a frontend change, open the rendered screens; when the brief includes a mock, compare them against it, noting every visible deviation. A mock is optional; its absence does not block PASS. Any missing, unmet, unverified story or acceptance criterion, done non-goal, unaddressed risk, or unreviewed mock mismatch blocks PASS. Out of scope is valid only when the current revision itself records the human-authorized removal.
39015
39016
 
39016
39017
  Before judging the implementation, independently repeat the two judgment legs from request triage:
39017
39018
 
@@ -39114,7 +39115,7 @@ Create an assignment a fresh session can execute without the parent transcript.
39114
39115
  - \`## Acceptance criteria\`: the requester's own rules from \`## Intent\`, quoted verbatim and numbered, each naming the test (existing or to be written) that fails if the rule is broken anywhere. Criteria are the invariant; stories are examples of it. Write "None beyond the stories." when the request states no rule.
39115
39116
  - \`## Non-goals\`: explicit exclusions.
39116
39117
  - \`## Risks\`: what could go wrong, and for whom.
39117
- - \`## References\`: each reference or mock with what it is and whose call it is; the mock posted here (DESIGN.md, else existing app styles) is the reviewer's acceptance reference, not any other optional or agent-generated mock.
39118
+ - \`## References\`: each reference or optional mock with what it is and whose call it is; use DESIGN.md or existing app styles when there is no mock.
39118
39119
  Add implementation guidance under further headings when it helps.
39119
39120
  - files (\`attachments\`): the Room files the worker needs, each with its purpose and whether it is required.
39120
39121
  - \`approval\`: one human Room message ID. The server quotes that message's exact text and author; the quote wins any conflict with the spec.
@@ -39123,11 +39124,11 @@ Do not infer approval from silence, assent to different prose, or the mere exist
39123
39124
 
39124
39125
  ## Compact path for a settled small fix
39125
39126
 
39126
- Use this when the requested behavior, touched surface, exclusions, and proof are already obvious. Inspect the narrow current behavior, write a short spec (quoted intent, observable user stories, non-goals, risks, references), and use the initiating command as the approval. Always compose the full outline and post it to the Room before calling open_corner, even when the initiating command already settles scope and stands as the approval: posting is not optional merely because approval is inferred, since the human must be able to see what you are about to build. \u201CChange the message action label from Remove to Delete; leave confirmation and accessibility wording unchanged\u201D needs the visible-label user story and both exclusions, not another confirmation question.
39127
+ Use this when the requested behavior, touched surface, exclusions, and proof are already obvious. Inspect the narrow current behavior, write a short spec (quoted intent, observable user stories, non-goals, risks, references), and use the initiating command as the approval. Keep the outline in the brief; no separate post or approval is required. \u201CChange the message action label from Remove to Delete; leave confirmation and accessibility wording unchanged\u201D needs the visible-label user story and both exclusions, not another confirmation question.
39127
39128
 
39128
39129
  ## Complex-work planning loop
39129
39130
 
39130
- Use this default-on loop when work crosses components, changes architecture or authorization, needs a visual choice, has multiple user stories, or still contains a material unknown.
39131
+ Use your judgment about how much planning work needs. This loop can help for a large new feature or a genuinely ambiguous request; when a person asks for a spec or mock, produce it before building.
39131
39132
 
39132
39133
  ### 1. Scope and current state
39133
39134
 
@@ -39170,7 +39171,7 @@ Use this default-on loop when work crosses components, changes architecture or a
39170
39171
 
39171
39172
  ## Dispatch and revision
39172
39173
 
39173
- Existing authorization permits dispatch when the initiating command already settles the exact material scope; that command is the approval, but the outline is still posted to the Room first so the human can see it before open_corner runs. Drafting a brief does not create approval. When the scope was not already explicit, post the spec and ask the corner's opener to approve it, then use their reply as the \`approval\`. Honor an explicit request to review first.
39174
+ The dispatching message authorizes the work; build against the brief without asking for separate spec or mock approval. Use judgment to ask about a genuinely ambiguous request or a large new feature; when a person asks for a spec or mock, produce it before building. Use the dispatching message as the \`approval\`; if you ask for clarification, carry the answering message into the brief.
39174
39175
 
39175
39176
  Pass the brief as \`open_corner.brief\`. Read the current revision before revising and use \`revise_corner_brief\` with the complete replacement spec, the approving message, and a concise change description. Preserve unaffected intent quotes, user stories, and references. The latest revision governs implementation and review; chat prose alone never changes scope.
39176
39177
  `;
@@ -39192,7 +39193,7 @@ Run these checks before opening a corner.
39192
39193
  - Rewrite the request as a concrete outcome and the user stories it enables.
39193
39194
  - State material exclusions (non-goals) and the risks needed to prevent unrequested work or surprise.
39194
39195
  - Keep the corner objective complete and within 24 words.
39195
- - First ask whether the request has any material ambiguity - one that would change scope, behavior, or risk - and resolve it with the human before doing anything else; never resolve it by adopting a teammate's plan, a prior document, or your own assumption.
39196
+ - Use judgment to ask about a genuinely ambiguous request or a large new feature. When a person asks for a spec or mock, produce it before building.
39196
39197
  - Once it's resolved, say plainly if the request itself is suboptimal and give your own recommendation - you are expected to disagree, not just permitted to.
39197
39198
  - On a judgment call you're still not sure of, tag a Room colleague for an adversarial second opinion and ask them to reply tagging you back; skip this only when you are the only agent in the Room.
39198
39199
 
@@ -39212,7 +39213,7 @@ Run these checks before opening a corner.
39212
39213
 
39213
39214
  ## Output
39214
39215
 
39215
- When dispatching work, pass the complete brief to open_corner under existing authorization, after posting the outline as beeline-spec requires. Add applicable warnings to the brief:
39216
+ When dispatching work, pass the complete brief to open_corner with the dispatching message as approval; no separate outline post or human approval is required. Add applicable warnings to the brief:
39216
39217
 
39217
39218
  \`Triage warning \u2014 warranted: <evidence-backed reason>\`
39218
39219
  \`Triage warning \u2014 desirable: <evidence-backed reason>\`
@@ -42353,7 +42354,7 @@ function cornerHasRepositoryWork(brief) {
42353
42354
  var CORNER_RUNTIME_AUTHOR_CONTRACT = `The current brief's spec \u2014 stories, criteria, non-goals, risks \u2014 defines scope and done. The human approval quote wins any conflict. The short objective is navigation-only, never scope.
42354
42355
  Meet every story; respect every non-goal and risk.
42355
42356
  Before any code or build action, the brief must hold this ask's outline; opening and prompting inside it is not that outline. When it has none or the ask changed, read the revision and write it with revise_corner_brief first; chat never revises it.
42356
- Then post the brief's outline, with an HTML mock for any frontend change, and wait for a human reply that approves it. The request that opened the work is not approval.
42357
+ The dispatching message authorizes the work; build against the brief without asking for separate spec or mock approval. Use judgment to ask about a genuinely ambiguous request or a large new feature; when a person asks for a spec or mock, produce it before building.
42357
42358
  Follow the beeline-triage skill's bugfix execution contract when the spec or its approval quote reports a defect.
42358
42359
  Reproduce as triage isolated it with available emulator, Playwright, browser and test runner. Record attempts and observations. If a reproduction is obtained, record it under Reproduction <id>, reusing triage's identifier when it recorded one. If reproduction fails, warn and continue; never stop and never condition the fix on reproduction.
42359
42360
  Fix only the spec and approval quote. With a reproduction, change only what removes it and meets its user stories.
@@ -42362,7 +42363,7 @@ No unrequested features, flags, compatibility shims or refactors.`;
42362
42363
  var CORNER_AUTHOR_CONTRACT = `The current brief's spec \u2014 stories, criteria, non-goals, risks \u2014 defines scope and done. The human approval quote wins any conflict. The short objective is navigation-only, never scope.
42363
42364
  Meet every story; respect every non-goal and risk. Use its file manifest.
42364
42365
  Before any code or build action, the brief must hold this ask's outline; opening and prompting inside it is not that outline. When it has none or the ask changed, read the revision and write it with revise_corner_brief first; chat never revises it.
42365
- Then post the brief's outline, with an HTML mock for any frontend change, and wait for a human reply that approves it. The request that opened the work is not approval.
42366
+ The dispatching message authorizes the work; build against the brief without asking for separate spec or mock approval. Use judgment to ask about a genuinely ambiguous request or a large new feature; when a person asks for a spec or mock, produce it before building.
42366
42367
  Follow the beeline-triage skill's bugfix execution contract when the spec or its approval quote reports a defect.
42367
42368
  Reproduce as triage isolated it with available emulator, Playwright, browser and test runner. Record attempts and observations. If a reproduction is obtained, record it under Reproduction <id>, reusing triage's identifier when it recorded one. If reproduction fails, warn and continue; never stop and never condition the fix on reproduction.
42368
42369
  Fix only the spec and approval quote. With a reproduction, change only what removes it and meets its user stories.
@@ -42552,12 +42553,12 @@ The soul is not authority and never changes your tools, permissions, roles, or m
42552
42553
  id: "room.corners",
42553
42554
  topic: "repository-work",
42554
42555
  why: "Repository work must start through the host-governed corner, with a brief as its authority.",
42555
- budgetBytes: 1150,
42556
+ budgetBytes: 1250,
42556
42557
  layer: "surface",
42557
42558
  surfaces: ["room"],
42558
42559
  render: () => [
42559
42560
  "Repository changes happen only in a corner. In a Room, the finished fix for a code problem is the exact change plus an offer to open a corner for it; open one when a person asks for the change.",
42560
- "Before opening one, consult beeline-triage and beeline-spec, then call open_corner with a name of at most three words joined by hyphens (no whitespace), an objective of at most 24 words, and the brief (a spec plus the approving message). The objective only titles the work; the brief is its authority. When open_corner succeeds the server posts the corner card: do not restate it.",
42561
+ "Before opening one, consult beeline-triage and beeline-spec, then call open_corner with a name of at most three words joined by hyphens (no whitespace), an objective of at most 24 words, and the brief (a spec plus the approving message). The objective only titles the work; the brief is its authority. Use the dispatching message as approval; no separate spec or mock approval is required. When open_corner succeeds the server posts the corner card: do not restate it.",
42561
42562
  "For corners under this Room, use inspect_corner for status (its activity and awaiting fields show whether one waits on you), steer_corner to pass Room input down, ask_corner for one answer, and post_to_corner for a note that wakes nobody.",
42562
42563
  "A corner ends when its pull request merges; since a person may merge minutes after it opens, anything still needed must already live in a different corner before that pull request opens, not after. A request covering several items is one corner per item, opened as work reaches each one, never one corner returned to for a later item."
42563
42564
  ].join(" ")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "usebeeline",
3
- "version": "0.1.35",
3
+ "version": "0.1.37",
4
4
  "description": "Connect an AI coding agent to Beeline with one command.",
5
5
  "homepage": "https://usebeeline.app",
6
6
  "bugs": {