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.
- package/dist/usebeeline.mjs +19 -18
- package/package.json +1 -1
package/dist/usebeeline.mjs
CHANGED
|
@@ -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": "
|
|
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"
|
|
19008
|
-
|
|
19009
|
-
|
|
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
|
|
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;
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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(" ")
|