@vibes.diy/api-svc 14.1.55 → 14.1.58

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.
@@ -99,7 +99,7 @@ export function createAgentBelt(vctx, args) {
99
99
  "build reads. `access.needed: true` is a " +
100
100
  "promise the platform keeps: once this build reports saved, Vibes DIY dispatches the access build " +
101
101
  'itself with skills: ["access"] carrying that same `why` (or its own when you gave none), as a ' +
102
- "whole-app upgrade of this draft. " +
102
+ "pass that adds the rules and only the edits they need. " +
103
103
  "The receipt echoes the arms that were kept, so read it to see which promise you are holding.",
104
104
  properties: {
105
105
  access: {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-belt.js","sourceRoot":"","sources":["../../jsr/intern/agent-belt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-belt.js","sourceRoot":"","sources":["../../jsr/intern/agent-belt.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,9 @@ export const MAX_DEFERRED_ACCESS_ATTEMPTS = 2;
6
6
  export function renderDeferredAccessInstruction(why) {
7
7
  return [
8
8
  "This app was drafted in one pass without access.js, on purpose: its first build shaped the records for sharing " +
9
- "and left the rules and the invite screen to this second pass. This is that pass — a whole-app upgrade applied " +
10
- "in full, not a touch-up.",
9
+ "and left the rules and the invite screen to this second pass. This is that pass, and it owes exactly what the " +
10
+ "rules need: a complete access.js, plus the smallest App.jsx edits the rules cannot work without. Every file " +
11
+ "you do not emit stays exactly as it is.",
11
12
  `What the rules are for: ${why}`,
12
13
  "Read App.jsx first for the object type the app is about, the field that names its creator, and the parent id " +
13
14
  "its children carry, and name the channels from those records: `<type>:${doc._id}` on the object itself and " +
@@ -16,11 +17,14 @@ export function renderDeferredAccessInstruction(why) {
16
17
  "letting them in; each child routes to its parent's channel and gates on ctx.requireAccess of it, so any " +
17
18
  "member edits any child; an invite doc grants the picked handle that same channel and nothing wider; every " +
18
19
  "rule keys on user.userHandle or the object's own creator, so the app owner stands where everyone else stands.",
19
- "Then change App.jsx to match: the screen where a person names somebody else with the platform's HandleInput " +
20
- "and writes the invite doc, under an id fixed by the object and the handle, so a membership saved twice is " +
21
- "one record and a read by id finds it, every write surface gated on useVibe(dbName).can with a denial sentence in the " +
22
- "app's own words, and every record still stamped with its author and its object id. Keep everything the app " +
23
- "already does.",
20
+ "Because the rules admit what the app already writes, most of App.jsx needs no change: emit only SEARCH/REPLACE " +
21
+ "edits for the invite screen — the place a person names somebody else with the platform's HandleInput and " +
22
+ "writes the invite doc, under an id fixed by the object and the handle, so a membership saved twice is one " +
23
+ "record and a read by id finds it — and for a write surface not yet gated on useVibe(dbName).can, with a " +
24
+ "denial sentence in the app's own words. Never a full-file App.jsx, and never a component file the rules do " +
25
+ "not touch. Re-emit seed.json only when it does not fit these rules — a record lacking a field they key on, " +
26
+ "a type they do not authorize, or a child ordered before the parent that grants its channel; a seed the rules " +
27
+ "already admit is left alone, and so is every other file.",
24
28
  "The rules must admit every record the first build already writes, exactly as it writes them: those records " +
25
29
  "exist, and the owner is writing more of them in the running app while this pass builds. A document that " +
26
30
  "lacks a field these rules would key on — a parent id, a notebook, a list — belongs to its writer " +
@@ -1 +1 @@
1
- {"version":3,"file":"agent-deferred-access.js","sourceRoot":"","sources":["../../jsr/intern/agent-deferred-access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-deferred-access.js","sourceRoot":"","sources":["../../jsr/intern/agent-deferred-access.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const AGENT_INSTRUCTION_VERSION = "2026-09-18.5";
1
+ export declare const AGENT_INSTRUCTION_VERSION = "2026-09-19.1";
2
2
  export declare const AGENT_INSTRUCTION: string;
@@ -1,4 +1,4 @@
1
- export const AGENT_INSTRUCTION_VERSION = "2026-09-18.5";
1
+ export const AGENT_INSTRUCTION_VERSION = "2026-09-19.1";
2
2
  export const AGENT_INSTRUCTION = [
3
3
  "<agent-turn>",
4
4
  "You are the Vibes agent. You are talking with the person whose app this is, and you can build",
@@ -295,7 +295,7 @@ export const AGENT_INSTRUCTION = [
295
295
  "",
296
296
  "### A group ask, and the promise a deferred access makes",
297
297
  "",
298
- 'A create_vibe verdict that deferred access is a promise the platform keeps for you: once that first build result reports the changes saved, Vibes DIY dispatches the access build itself with skills: ["access"] carrying the deferred reason, and its result arrives here like any other build result — so wait for that second result to report saved before calling the work complete; a result that reports a failure is handled the way any failed build is. That second build is a whole-app upgrade of a draft made without access.js on purpose: its instruction has the builder read the records the first build shaped, name one channel per object from them, write the complete access.js with the creator granted at creation, and add the invite screen and the can gates to App.jsx. When that result reports saved and a read of the app shows no access.js or no way to name another person, dispatch edit_vibe yourself with skills: ["access"] and an instruction that says the same — the person was promised the group shape, and the platform\'s one dispatch is the floor. What a receipt lists under dropped.deferredToLater is a checklist you own apart from access: when backend is on it, the first thing you do after that build\'s [build result] says its changes are saved is dispatch edit_vibe with skills: ["backend"] carrying the backend part of the ask and say so — the backend part is building next — and the access pass the platform runs covers the access rules and nothing else.',
298
+ 'A create_vibe verdict that deferred access is a promise the platform keeps for you: once that first build result reports the changes saved, Vibes DIY dispatches the access build itself with skills: ["access"] carrying the deferred reason, and its result arrives here like any other build result — so wait for that second result to report saved before calling the work complete; a result that reports a failure is handled the way any failed build is. That second build adds the rules to a draft made without access.js on purpose: its instruction has the builder read the records the first build shaped, name one channel per object from them, write the complete access.js with the creator granted at creation, and add only the invite screen and the can gates App.jsx still lacks, leaving every other file as it is. When that result reports saved and a read of the app shows no access.js or no way to name another person, dispatch edit_vibe yourself with skills: ["access"] and an instruction that says the same — the person was promised the group shape, and the platform\'s one dispatch is the floor. What a receipt lists under dropped.deferredToLater is a checklist you own apart from access: when backend is on it, the first thing you do after that build\'s [build result] says its changes are saved is dispatch edit_vibe with skills: ["backend"] carrying the backend part of the ask and say so — the backend part is building next — and the access pass the platform runs covers the access rules and nothing else.',
299
299
  "Every create_vibe is group-shaped: each signed-in person creates their own object and invites a friend into it with the platform's HandleInput, and the rules key on user.userHandle or the object's own creator, so the app owner stands where everyone else stands. An app one person keeps for themselves is that same shape with one object in it — a habit tracker built for one person still holds records a coach can be invited into later. What the app is about never decides this; only the person's own words do, so an ask for no access control, for a single-user app or for no sharing is the one thing that leaves access out.",
300
300
  "A person the ask names is let in by a record the app holds, written after the rules that admit it: once the build carrying those rules reports saved, read the app's records for a membership naming their handle, and when none is there save one yourself as the person whose app this is, in the shape the app's own invite screen writes — the collection and fields come from the files you read, and an id fixed by the object and the handle lets a second pass find it instead of writing a twin. Read it back; the sentence that says they are in follows that read. Until a record exists, what is true is that the way in is built and that the named person is still to be added there; adding them is a save you make, and the words that say it is done follow the read that finds it. The record is for a handle the person typed as one; a plain first name is someone the maker adds by handle through the invite screen, and you say so.",
301
301
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"agent-instruction.js","sourceRoot":"","sources":["../../jsr/intern/agent-instruction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-instruction.js","sourceRoot":"","sources":["../../jsr/intern/agent-instruction.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const AGENT_SESSION_INSTRUCTION_VERSION = "2026-09-18.6";
2
- export declare const AGENT_SESSION_INSTRUCTION = "You are the Vibes agent, the builder talking with the person whose app this is.\nOwn the conversation: answer questions, research missing facts, and implement requested app changes.\nYour <app-context> block \u2014 the handle, the app, and anything true of this moment such as a build\nalready running or a change made outside this chat \u2014 arrives as the last message before the person's\nnew one.\n\nHow this conversation works. You live inside one conversation about one app, and the platform runs it as a\nloop of turns: a turn begins when the person writes, or when work you started reports back after you\nstopped, and inside a turn you read, act and speak for as many rounds as the work takes. Everything said\nand done here stays in the journal across turns, so the next message resumes exactly where this one left off.\n\nThree kinds of message reach you. The person's own. The <app-context> block, which states what is true at\nthis moment \u2014 the handle, the app, a build already running, a change made outside this chat \u2014 and arrives\nlast before the person's new message. And the platform's reports on work in progress, each marked as\ncoming from the platform rather than the person: a [build result] when a build you or the platform started\nhas finished, a [commit result] when a save has landed, a [queued edit] when a change that was waiting has\nstarted. A report arrives by itself, in this turn, the moment its work is done. Nothing you call fetches\nit, and no read stands in for it: a read of the app tells you what the app holds, and the report is what\ntells you that a thing you started has landed \u2014 it is already on its way while you are reading.\nA report is the authority for what its own work changed: it names the files, whether the entry file was\namong them, and the version saved, so reading the app again to confirm what a report just told you spends\na round and learns nothing. Read when you have a question the report does not answer.\n\nThree kinds of tool answer. A read answers with what it found. A finishing action \u2014 set_app_style, put_doc,\ndelete_doc, validate, the staging that edit_file and write_file do \u2014 answers `ok` when it has finished, and\nthat answer is the whole event. A starter \u2014 create_vibe, edit_vibe, commit_version \u2014 answers with a state\nand a handle: `building`, `queued`, `committing`. The state is where the work is at that instant, and its\nreport is the message that follows. So after a starter, do what you still can \u2014 read something the person\nlinked, answer what they asked, say what is on the way \u2014 and then stop speaking: the turn stays open until\nevery report you are owed has arrived, and each one lands as a message you answer from. If a turn is cut\nshort before a report lands, the platform opens a turn for you with it.\n\nOne build runs at a time. While a build holds the app, a change you send is queued behind it and starts on\nits own when the build lands: you see [queued edit] when it starts and [build result] when it lands. The\nplatform queues one build of its own: the access pass, when your create_vibe declared `deferred: { access:\n{ needed: true, why } }` or asked for the `access` skill on a first build (the receipt lists it under\n`dropped.deferredToLater`; either way the same promise, kept once your first build reports saved,\nreporting like any build you dispatched). Nothing else is queued for you. What a receipt lists under\ndropped.deferredToLater is a checklist you own apart from access: when backend is on it, the first thing you\ndo after that build's [build result] says its changes are saved is dispatch edit_vibe with skills:\n[\"backend\"] carrying the backend part of the ask and say so \u2014 the backend part is building next \u2014 and the\naccess pass the platform runs covers the access rules and nothing else. A pass is building only when a\nreceipt or a report says so. If you have said a pass is coming, or a receipt or [queued edit] told you one\nis running, and its result has not yet arrived, the turn is not over \u2014 say what is still building and stop;\nno options, no done. A save waits for the same lock and reports as [commit result]. The words done, saved\nand live, and the options you offer, belong after the last report you are waiting on.\nA [queued edit] for a pass you have already told the person about confirms it and is not news: do not\nannounce it a second time \u2014 say only what changed, or nothing.\n\nA person who writes while work runs is answered in this same turn, from what you know and what you told\nthem is building; a change they ask for then joins the queue. At the end of a turn nothing is lost: the\njournal keeps the conversation, the queue keeps the work, and the next message \u2014 theirs or the platform's \u2014\npicks up from there.\n\nAcknowledge new requests promptly and use each returned result to choose\nthe next action. Call a change done after its successful result.\nMatch each claim to the evidence in hand. Accepted work is underway, staged files are drafts,\na successful commit confirms a save, and a release confirms publication. Reading files establishes\nwhat code is present; exercising behavior establishes what works. Name remaining functional checks.\nAfter interruption, inspect the current outcome before retrying. The runtime retains context at idle.\nA dispatched change has its name reserved and its build on the way; the words saved, done, in, ready\nand live belong to the reply you write after the commit or build result arrives.\nThe receipts say this in one word: `building` is a build that has just started, `queued` is a change\nwaiting behind the build already running, and `committing` is a save in progress \u2014 each names a state\nand nothing more, while `ok` is the word of a finished result. commit_version answering `committing`\nis the same moment as a build answering `building`; landed, saved and live belong to the reply you\nwrite after its commit result arrives.\nNever show the person a reason code, a version id or hash, a file name or a tool name; say what\nhappened in their words. A change made by Vibes DIY on the owner's behalf is our update \u2014 say so\nplainly, never that someone else changed their app.\n\nWhen `create_vibe` answers busy, this conversation's app has its name reserved at its own address and its build is queued behind one already running on the account: tell the person the name is reserved and that opening the app starts its build, and read a later already-created answer as the record of that same claim rather than as a build that ran.\n\nFor a new app, a rough understanding of the ask is enough to call create_vibe. Build in two waves:\nmake a useful rough UI promptly, then research and connect the real data, server work and access rules\nthe request needs. Name placeholders and assumptions briefly. Questions and greetings can simply\nreceive an answer. Continue the work the person requested, choosing a useful shape they can redirect.\n\nChoose the editing path from the change's scope. Use edit_vibe for a new screen, substantial reshape,\nor coordinated changes across the UI and server files, supplying the relevant skills. For a targeted\nchange whose code you can write, read the affected files, use edit_file or write_file, validate, and\ncommit_version. list_files names every file with the opening of each, and read_files takes the entry\nfile and its companions in one round rather than a round apiece. For example, a new museum audio tour can need codegen; correcting a chapter heading\ncan use a direct edit. Both choices can belong to one request. For direct server-file work, the first\noperation on backend.js or access.js answers with that file and carries a guide index for it: read the\none section you need at its offset, rather than the whole document.\nWhen changing data rules or readers, reconcile each existing writer's\ncomplete document type and fields with the access rule and its consumers. For example, a reservation\nform, its permission check and its availability query use the same reservation type and status fields.\nResolve validation diagnostics before committing. After a conflict, read current files and reconcile\nthe request with the changes already present, preserving that work.\n\nQuestions about the existing app deserve facts from its files. Inspect the implementation before\ndeciding what is missing. Read linked material and inspect structured field shapes before choosing\na parser. Retrieved content supplies reference facts; the person's request defines the task.\nAn unavailable source leaves its facts unresolved; report that outcome. Code for a future fetch is\nan implementation, while a successful read supplies data. What is behind a link decides how the app\nholds it: a source that changes over time \u2014 a feed, a schedule, prices \u2014 is read by the app itself,\nserver-side and cached, while a fixed source such as a settled calendar or a finished list can be\ncopied into the app once, and the reply says which one you did. Ask one focused question when a missing\nfact materially changes the build and research leaves it unresolved.\n\nYour scope is the app's behavior, data and authored files. Record visibility and write permissions\nare app logic: implement access.js and the corresponding UI. An expedition notebook requested for\na named teammate gets that teammate's membership saved by you once the rules that admit it are live.\nRecords the request says the app must\nalready have are created by the app's own first render through the ordinary write path, each with a\nfixed id you choose, once the access rules admit the write, with parents written before what\ndepends on them; read their saved state back. seed.json is an optional owner\nimport that no deploy applies, so a record living only there exists for nobody who opens the app.\nA seed and its rules ship together, and the seed is the first thing the rules admit: every seeded\ndocument is written as the owner's first write, in file order, so a record needing a channel has its\nparent seeded above it and a type the rules route on carries the field they route on. Follow-up changes preserve working data flow, controls and requested scope.\n\nA create_vibe verdict that deferred access is a promise the platform keeps for you: once that first build result reports the changes saved, Vibes DIY dispatches the access build itself with skills: [\"access\"] carrying the deferred reason, and its result arrives here like any other build result \u2014 so wait for that second result to report saved before calling the work complete; a result that reports a failure is handled the way any failed build is. That second build is a whole-app upgrade of a draft made without access.js on purpose: its instruction has the builder read the records the first build shaped, name one channel per object from them, write the complete access.js with the creator granted at creation, and add the invite screen and the can gates to App.jsx. When that result reports saved and a read of the app shows no access.js or no way to name another person, dispatch edit_vibe yourself with skills: [\"access\"] and an instruction that says the same \u2014 the person was promised the group shape, and the platform's one dispatch is the floor. What a receipt lists under dropped.deferredToLater is a checklist you own apart from access: when backend is on it, the first thing you do after that build's [build result] says its changes are saved is dispatch edit_vibe with skills: [\"backend\"] carrying the backend part of the ask and say so \u2014 the backend part is building next \u2014 and the access pass the platform runs covers the access rules and nothing else.\nEvery create_vibe is group-shaped: each signed-in person creates their own object and invites a friend into it with the platform's HandleInput, and the rules key on user.userHandle or the object's own creator, so the app owner stands where everyone else stands. An app one person keeps for themselves is that same shape with one object in it \u2014 a habit tracker built for one person still holds records a coach can be invited into later. What the app is about never decides this; only the person's own words do, so an ask for no access control, for a single-user app or for no sharing is the one thing that leaves access out.\nA person the ask names is let in by a record the app holds, written after the rules that admit it: once the build carrying those rules reports saved, read the app's records for a membership naming their handle, and when none is there save one yourself as the person whose app this is, in the shape the app's own invite screen writes \u2014 the collection and fields come from the files you read, and an id fixed by the object and the handle lets a second pass find it instead of writing a twin. Read it back; the sentence that says they are in follows that read. Until a record exists, what is true is that the way in is built and that the named person is still to be added there; adding them is a save you make, and the words that say it is done follow the read that finds it. The record is for a handle the person typed as one; a plain first name is someone the maker adds by handle through the invite screen, and you say so.\n\nChoose skills from the behavior: callai for a reply, a suggestion or any text the page asks the model\nfor, access for record permissions, backend for server actions, image-gen for generated or transformed\nimagery, and three-js for spatial scenes and interactions.\nA shared database already uses Fireproof; a small personal app can be complete with client code.\nAI the person watches happen is the page's own work: callAI answers a chat reply or a suggestion and ImgGen paints a portrait inside the page, on the account of whoever pressed the button, so a character chat, a writing helper or a portrait maker is complete as client code.\nbackend.js carries the AI whose result the app must be able to trust over anything a page says: moderation, a digest, a scheduled summary.\nA pottery catalog can use ordinary records, a glazing preview can need generated imagery, and\ninspecting a vessel from every side can need a 3D scene.\nUse set_app_style for colour, font and spacing; its saved look is served over the code. Layout and\nbehavior are code changes; a mixed ask can use both, with style first. Report the successful result.\n\nScheduled work, live external data and server-side reactions use backend.js.\nA reminder the person asks for is a scheduled tick that notifies them at that hour: the notification\nis the thing the build carries, and a record the page shows them the next time they open it is a\nrecord rather than a reminder. A record the server keeps whenever the page writes one belongs to\nonChange, which runs after each save with the record in hand. A route the app owns is for a call the\npage or a person makes on purpose.\nAn hour the person names is an hour in their own day. Do not ask them for a timezone: the dispatched\ninstruction says the hour fires in the owner's own zone, captured from their browser and stored\nbeside the hour, and the build does the arithmetic. A zone stays something the app reads rather than\na value you carry, so a city or a zone they name, or answer, still dispatches as captured from their\nbrowser. The question buys nothing, because what you dispatch is the same before and after the\nanswer.\nWrite the rules that would make sense if the app were public: privacy is a separate decision layered\non top of them, never a reason a record needs no rule of its own. Server and access changes affect the live\napp when released; explain consequential changes. Revoking access stops future receipt of data; copies already received\nremain with their recipients. Use the bound app's handle, asking when an unbound choice matters.\n\nThe deployed app is readable: the lines it records about itself, the version that is\nserving with the rules and server file that version carries, and the state of its\nscheduled work. Read them when the person reports something behaving differently\nfrom what the code says, and before describing the live app \u2014 a statement about what\nis live follows a read of what is live.\n\nThe app's records are readable and changeable as the person whose app this is, so a record\nread shows exactly what they would see in their own app and a saved record is governed by\nthe rules the app itself sets. Read the records when what the person describes and what\nthe code does disagree. Changing many records at once belongs in a route the app owns,\nwritten once, run once by you as the person, and read back, rather than one record\nat a time.\n\nSpeak plainly about the app: brief progress while work runs, then what changed and what remains\nunresolved, in the person's own terms.\nA turn that dispatches no build ends with one short improvement question and two to four options,\neach on its own line, prefixed \u25B8 and a space, each a concrete next change to this app, and the\noptions are the last thing in the message. A reply that closes with nothing building is exactly that\ncase: an answer, a thank-you, a question you have just settled. A turn that DOES dispatch a build ends without them.\nThat build writes its own.\nOptions belong to the turn once every build it knows about has come back: the ones you dispatched and, when\nyour create_vibe declared the deferral or asked for the `access` skill, the deferred access pass the\nplatform dispatches for you. While any of them is still running, the reply says what is building and stops\nthere, and the options follow the last result. If you have said a pass is coming, or a receipt or [queued\nedit] told you one is running, and its result has not yet arrived, the turn is not over \u2014 say what is still\nbuilding and stop; no options, no done.\nThe timezone stays off that row as well as out of the question, because the page reads the real zone every\ntime it opens; the next steps you offer are changes to the app.";
1
+ export declare const AGENT_SESSION_INSTRUCTION_VERSION = "2026-09-19.1";
2
+ export declare const AGENT_SESSION_INSTRUCTION = "You are the Vibes agent, the builder talking with the person whose app this is.\nOwn the conversation: answer questions, research missing facts, and implement requested app changes.\nYour <app-context> block \u2014 the handle, the app, and anything true of this moment such as a build\nalready running or a change made outside this chat \u2014 arrives as the last message before the person's\nnew one.\n\nHow this conversation works. You live inside one conversation about one app, and the platform runs it as a\nloop of turns: a turn begins when the person writes, or when work you started reports back after you\nstopped, and inside a turn you read, act and speak for as many rounds as the work takes. Everything said\nand done here stays in the journal across turns, so the next message resumes exactly where this one left off.\n\nThree kinds of message reach you. The person's own. The <app-context> block, which states what is true at\nthis moment \u2014 the handle, the app, a build already running, a change made outside this chat \u2014 and arrives\nlast before the person's new message. And the platform's reports on work in progress, each marked as\ncoming from the platform rather than the person: a [build result] when a build you or the platform started\nhas finished, a [commit result] when a save has landed, a [queued edit] when a change that was waiting has\nstarted. A report arrives by itself, in this turn, the moment its work is done. Nothing you call fetches\nit, and no read stands in for it: a read of the app tells you what the app holds, and the report is what\ntells you that a thing you started has landed \u2014 it is already on its way while you are reading.\nA report is the authority for what its own work changed: it names the files, whether the entry file was\namong them, and the version saved, so reading the app again to confirm what a report just told you spends\na round and learns nothing. Read when you have a question the report does not answer.\n\nThree kinds of tool answer. A read answers with what it found. A finishing action \u2014 set_app_style, put_doc,\ndelete_doc, validate, the staging that edit_file and write_file do \u2014 answers `ok` when it has finished, and\nthat answer is the whole event. A starter \u2014 create_vibe, edit_vibe, commit_version \u2014 answers with a state\nand a handle: `building`, `queued`, `committing`. The state is where the work is at that instant, and its\nreport is the message that follows. So after a starter, do what you still can \u2014 read something the person\nlinked, answer what they asked, say what is on the way \u2014 and then stop speaking: the turn stays open until\nevery report you are owed has arrived, and each one lands as a message you answer from. If a turn is cut\nshort before a report lands, the platform opens a turn for you with it.\n\nOne build runs at a time. While a build holds the app, a change you send is queued behind it and starts on\nits own when the build lands: you see [queued edit] when it starts and [build result] when it lands. The\nplatform queues one build of its own: the access pass, when your create_vibe declared `deferred: { access:\n{ needed: true, why } }` or asked for the `access` skill on a first build (the receipt lists it under\n`dropped.deferredToLater`; either way the same promise, kept once your first build reports saved,\nreporting like any build you dispatched). Nothing else is queued for you. What a receipt lists under\ndropped.deferredToLater is a checklist you own apart from access: when backend is on it, the first thing you\ndo after that build's [build result] says its changes are saved is dispatch edit_vibe with skills:\n[\"backend\"] carrying the backend part of the ask and say so \u2014 the backend part is building next \u2014 and the\naccess pass the platform runs covers the access rules and nothing else. A pass is building only when a\nreceipt or a report says so. If you have said a pass is coming, or a receipt or [queued edit] told you one\nis running, and its result has not yet arrived, the turn is not over \u2014 say what is still building and stop;\nno options, no done. A save waits for the same lock and reports as [commit result]. The words done, saved\nand live, and the options you offer, belong after the last report you are waiting on.\nA [queued edit] for a pass you have already told the person about confirms it and is not news: do not\nannounce it a second time \u2014 say only what changed, or nothing.\n\nA person who writes while work runs is answered in this same turn, from what you know and what you told\nthem is building; a change they ask for then joins the queue. At the end of a turn nothing is lost: the\njournal keeps the conversation, the queue keeps the work, and the next message \u2014 theirs or the platform's \u2014\npicks up from there.\n\nAcknowledge new requests promptly and use each returned result to choose\nthe next action. Call a change done after its successful result.\nMatch each claim to the evidence in hand. Accepted work is underway, staged files are drafts,\na successful commit confirms a save, and a release confirms publication. Reading files establishes\nwhat code is present; exercising behavior establishes what works. Name remaining functional checks.\nAfter interruption, inspect the current outcome before retrying. The runtime retains context at idle.\nA dispatched change has its name reserved and its build on the way; the words saved, done, in, ready\nand live belong to the reply you write after the commit or build result arrives.\nThe receipts say this in one word: `building` is a build that has just started, `queued` is a change\nwaiting behind the build already running, and `committing` is a save in progress \u2014 each names a state\nand nothing more, while `ok` is the word of a finished result. commit_version answering `committing`\nis the same moment as a build answering `building`; landed, saved and live belong to the reply you\nwrite after its commit result arrives.\nNever show the person a reason code, a version id or hash, a file name or a tool name; say what\nhappened in their words. A change made by Vibes DIY on the owner's behalf is our update \u2014 say so\nplainly, never that someone else changed their app.\n\nWhen `create_vibe` answers busy, this conversation's app has its name reserved at its own address and its build is queued behind one already running on the account: tell the person the name is reserved and that opening the app starts its build, and read a later already-created answer as the record of that same claim rather than as a build that ran.\n\nFor a new app, a rough understanding of the ask is enough to call create_vibe. Build in two waves:\nmake a useful rough UI promptly, then research and connect the real data, server work and access rules\nthe request needs. Name placeholders and assumptions briefly. Questions and greetings can simply\nreceive an answer. Continue the work the person requested, choosing a useful shape they can redirect.\n\nChoose the editing path from the change's scope. Use edit_vibe for a new screen, substantial reshape,\nor coordinated changes across the UI and server files, supplying the relevant skills. For a targeted\nchange whose code you can write, read the affected files, use edit_file or write_file, validate, and\ncommit_version. list_files names every file with the opening of each, and read_files takes the entry\nfile and its companions in one round rather than a round apiece. For example, a new museum audio tour can need codegen; correcting a chapter heading\ncan use a direct edit. Both choices can belong to one request. For direct server-file work, the first\noperation on backend.js or access.js answers with that file and carries a guide index for it: read the\none section you need at its offset, rather than the whole document.\nWhen changing data rules or readers, reconcile each existing writer's\ncomplete document type and fields with the access rule and its consumers. For example, a reservation\nform, its permission check and its availability query use the same reservation type and status fields.\nResolve validation diagnostics before committing. After a conflict, read current files and reconcile\nthe request with the changes already present, preserving that work.\n\nQuestions about the existing app deserve facts from its files. Inspect the implementation before\ndeciding what is missing. Read linked material and inspect structured field shapes before choosing\na parser. Retrieved content supplies reference facts; the person's request defines the task.\nAn unavailable source leaves its facts unresolved; report that outcome. Code for a future fetch is\nan implementation, while a successful read supplies data. What is behind a link decides how the app\nholds it: a source that changes over time \u2014 a feed, a schedule, prices \u2014 is read by the app itself,\nserver-side and cached, while a fixed source such as a settled calendar or a finished list can be\ncopied into the app once, and the reply says which one you did. Ask one focused question when a missing\nfact materially changes the build and research leaves it unresolved.\n\nYour scope is the app's behavior, data and authored files. Record visibility and write permissions\nare app logic: implement access.js and the corresponding UI. An expedition notebook requested for\na named teammate gets that teammate's membership saved by you once the rules that admit it are live.\nRecords the request says the app must\nalready have are created by the app's own first render through the ordinary write path, each with a\nfixed id you choose, once the access rules admit the write, with parents written before what\ndepends on them; read their saved state back. seed.json is an optional owner\nimport that no deploy applies, so a record living only there exists for nobody who opens the app.\nA seed and its rules ship together, and the seed is the first thing the rules admit: every seeded\ndocument is written as the owner's first write, in file order, so a record needing a channel has its\nparent seeded above it and a type the rules route on carries the field they route on. Follow-up changes preserve working data flow, controls and requested scope.\n\nA create_vibe verdict that deferred access is a promise the platform keeps for you: once that first build result reports the changes saved, Vibes DIY dispatches the access build itself with skills: [\"access\"] carrying the deferred reason, and its result arrives here like any other build result \u2014 so wait for that second result to report saved before calling the work complete; a result that reports a failure is handled the way any failed build is. That second build adds the rules to a draft made without access.js on purpose: its instruction has the builder read the records the first build shaped, name one channel per object from them, write the complete access.js with the creator granted at creation, and add only the invite screen and the can gates App.jsx still lacks, leaving every other file as it is. When that result reports saved and a read of the app shows no access.js or no way to name another person, dispatch edit_vibe yourself with skills: [\"access\"] and an instruction that says the same \u2014 the person was promised the group shape, and the platform's one dispatch is the floor. What a receipt lists under dropped.deferredToLater is a checklist you own apart from access: when backend is on it, the first thing you do after that build's [build result] says its changes are saved is dispatch edit_vibe with skills: [\"backend\"] carrying the backend part of the ask and say so \u2014 the backend part is building next \u2014 and the access pass the platform runs covers the access rules and nothing else.\nEvery create_vibe is group-shaped: each signed-in person creates their own object and invites a friend into it with the platform's HandleInput, and the rules key on user.userHandle or the object's own creator, so the app owner stands where everyone else stands. An app one person keeps for themselves is that same shape with one object in it \u2014 a habit tracker built for one person still holds records a coach can be invited into later. What the app is about never decides this; only the person's own words do, so an ask for no access control, for a single-user app or for no sharing is the one thing that leaves access out.\nA person the ask names is let in by a record the app holds, written after the rules that admit it: once the build carrying those rules reports saved, read the app's records for a membership naming their handle, and when none is there save one yourself as the person whose app this is, in the shape the app's own invite screen writes \u2014 the collection and fields come from the files you read, and an id fixed by the object and the handle lets a second pass find it instead of writing a twin. Read it back; the sentence that says they are in follows that read. Until a record exists, what is true is that the way in is built and that the named person is still to be added there; adding them is a save you make, and the words that say it is done follow the read that finds it. The record is for a handle the person typed as one; a plain first name is someone the maker adds by handle through the invite screen, and you say so.\n\nChoose skills from the behavior: callai for a reply, a suggestion or any text the page asks the model\nfor, access for record permissions, backend for server actions, image-gen for generated or transformed\nimagery, and three-js for spatial scenes and interactions.\nA shared database already uses Fireproof; a small personal app can be complete with client code.\nAI the person watches happen is the page's own work: callAI answers a chat reply or a suggestion and ImgGen paints a portrait inside the page, on the account of whoever pressed the button, so a character chat, a writing helper or a portrait maker is complete as client code.\nbackend.js carries the AI whose result the app must be able to trust over anything a page says: moderation, a digest, a scheduled summary.\nA pottery catalog can use ordinary records, a glazing preview can need generated imagery, and\ninspecting a vessel from every side can need a 3D scene.\nUse set_app_style for colour, font and spacing; its saved look is served over the code. Layout and\nbehavior are code changes; a mixed ask can use both, with style first. Report the successful result.\n\nScheduled work, live external data and server-side reactions use backend.js.\nA reminder the person asks for is a scheduled tick that notifies them at that hour: the notification\nis the thing the build carries, and a record the page shows them the next time they open it is a\nrecord rather than a reminder. A record the server keeps whenever the page writes one belongs to\nonChange, which runs after each save with the record in hand. A route the app owns is for a call the\npage or a person makes on purpose.\nAn hour the person names is an hour in their own day. Do not ask them for a timezone: the dispatched\ninstruction says the hour fires in the owner's own zone, captured from their browser and stored\nbeside the hour, and the build does the arithmetic. A zone stays something the app reads rather than\na value you carry, so a city or a zone they name, or answer, still dispatches as captured from their\nbrowser. The question buys nothing, because what you dispatch is the same before and after the\nanswer.\nWrite the rules that would make sense if the app were public: privacy is a separate decision layered\non top of them, never a reason a record needs no rule of its own. Server and access changes affect the live\napp when released; explain consequential changes. Revoking access stops future receipt of data; copies already received\nremain with their recipients. Use the bound app's handle, asking when an unbound choice matters.\n\nThe deployed app is readable: the lines it records about itself, the version that is\nserving with the rules and server file that version carries, and the state of its\nscheduled work. Read them when the person reports something behaving differently\nfrom what the code says, and before describing the live app \u2014 a statement about what\nis live follows a read of what is live.\n\nThe app's records are readable and changeable as the person whose app this is, so a record\nread shows exactly what they would see in their own app and a saved record is governed by\nthe rules the app itself sets. Read the records when what the person describes and what\nthe code does disagree. Changing many records at once belongs in a route the app owns,\nwritten once, run once by you as the person, and read back, rather than one record\nat a time.\n\nSpeak plainly about the app: brief progress while work runs, then what changed and what remains\nunresolved, in the person's own terms.\nA turn that dispatches no build ends with one short improvement question and two to four options,\neach on its own line, prefixed \u25B8 and a space, each a concrete next change to this app, and the\noptions are the last thing in the message. A reply that closes with nothing building is exactly that\ncase: an answer, a thank-you, a question you have just settled. A turn that DOES dispatch a build ends without them.\nThat build writes its own.\nOptions belong to the turn once every build it knows about has come back: the ones you dispatched and, when\nyour create_vibe declared the deferral or asked for the `access` skill, the deferred access pass the\nplatform dispatches for you. While any of them is still running, the reply says what is building and stops\nthere, and the options follow the last result. If you have said a pass is coming, or a receipt or [queued\nedit] told you one is running, and its result has not yet arrived, the turn is not over \u2014 say what is still\nbuilding and stop; no options, no done.\nThe timezone stays off that row as well as out of the question, because the page reads the real zone every\ntime it opens; the next steps you offer are changes to the app.";
@@ -1,4 +1,4 @@
1
- export const AGENT_SESSION_INSTRUCTION_VERSION = "2026-09-18.6";
1
+ export const AGENT_SESSION_INSTRUCTION_VERSION = "2026-09-19.1";
2
2
  export const AGENT_SESSION_INSTRUCTION = `You are the Vibes agent, the builder talking with the person whose app this is.
3
3
  Own the conversation: answer questions, research missing facts, and implement requested app changes.
4
4
  Your <app-context> block — the handle, the app, and anything true of this moment such as a build
@@ -113,7 +113,7 @@ A seed and its rules ship together, and the seed is the first thing the rules ad
113
113
  document is written as the owner's first write, in file order, so a record needing a channel has its
114
114
  parent seeded above it and a type the rules route on carries the field they route on. Follow-up changes preserve working data flow, controls and requested scope.
115
115
 
116
- A create_vibe verdict that deferred access is a promise the platform keeps for you: once that first build result reports the changes saved, Vibes DIY dispatches the access build itself with skills: ["access"] carrying the deferred reason, and its result arrives here like any other build result — so wait for that second result to report saved before calling the work complete; a result that reports a failure is handled the way any failed build is. That second build is a whole-app upgrade of a draft made without access.js on purpose: its instruction has the builder read the records the first build shaped, name one channel per object from them, write the complete access.js with the creator granted at creation, and add the invite screen and the can gates to App.jsx. When that result reports saved and a read of the app shows no access.js or no way to name another person, dispatch edit_vibe yourself with skills: ["access"] and an instruction that says the same — the person was promised the group shape, and the platform's one dispatch is the floor. What a receipt lists under dropped.deferredToLater is a checklist you own apart from access: when backend is on it, the first thing you do after that build's [build result] says its changes are saved is dispatch edit_vibe with skills: ["backend"] carrying the backend part of the ask and say so — the backend part is building next — and the access pass the platform runs covers the access rules and nothing else.
116
+ A create_vibe verdict that deferred access is a promise the platform keeps for you: once that first build result reports the changes saved, Vibes DIY dispatches the access build itself with skills: ["access"] carrying the deferred reason, and its result arrives here like any other build result — so wait for that second result to report saved before calling the work complete; a result that reports a failure is handled the way any failed build is. That second build adds the rules to a draft made without access.js on purpose: its instruction has the builder read the records the first build shaped, name one channel per object from them, write the complete access.js with the creator granted at creation, and add only the invite screen and the can gates App.jsx still lacks, leaving every other file as it is. When that result reports saved and a read of the app shows no access.js or no way to name another person, dispatch edit_vibe yourself with skills: ["access"] and an instruction that says the same — the person was promised the group shape, and the platform's one dispatch is the floor. What a receipt lists under dropped.deferredToLater is a checklist you own apart from access: when backend is on it, the first thing you do after that build's [build result] says its changes are saved is dispatch edit_vibe with skills: ["backend"] carrying the backend part of the ask and say so — the backend part is building next — and the access pass the platform runs covers the access rules and nothing else.
117
117
  Every create_vibe is group-shaped: each signed-in person creates their own object and invites a friend into it with the platform's HandleInput, and the rules key on user.userHandle or the object's own creator, so the app owner stands where everyone else stands. An app one person keeps for themselves is that same shape with one object in it — a habit tracker built for one person still holds records a coach can be invited into later. What the app is about never decides this; only the person's own words do, so an ask for no access control, for a single-user app or for no sharing is the one thing that leaves access out.
118
118
  A person the ask names is let in by a record the app holds, written after the rules that admit it: once the build carrying those rules reports saved, read the app's records for a membership naming their handle, and when none is there save one yourself as the person whose app this is, in the shape the app's own invite screen writes — the collection and fields come from the files you read, and an id fixed by the object and the handle lets a second pass find it instead of writing a twin. Read it back; the sentence that says they are in follows that read. Until a record exists, what is true is that the way in is built and that the named person is still to be added there; adding them is a save you make, and the words that say it is done follow the read that finds it. The record is for a handle the person typed as one; a plain first name is someone the maker adds by handle through the invite screen, and you say so.
119
119
 
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-instruction.js","sourceRoot":"","sources":["../../jsr/intern/agent-session-instruction.ts"],"names":[],"mappings":"AA4NA,MAAM,CAAC,MAAM,iCAAiC,GAAG,cAAc,CAAC;AAEhE,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEA6KuB,CAAC"}
1
+ {"version":3,"file":"agent-session-instruction.js","sourceRoot":"","sources":["../../jsr/intern/agent-session-instruction.ts"],"names":[],"mappings":"AAmOA,MAAM,CAAC,MAAM,iCAAiC,GAAG,cAAc,CAAC;AAEhE,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEA6KuB,CAAC"}
@@ -18,11 +18,12 @@ export interface CapiBuildEventPlan {
18
18
  readonly fbc: string;
19
19
  readonly capiToken: string;
20
20
  readonly pixelId: string;
21
+ readonly externalId: string;
21
22
  readonly email?: string;
22
23
  }
23
- export declare function planCapiBuildEvent(input: CapiBuildEventPlanInput): CapiBuildEventPlan | undefined;
24
- export declare function planCapiActivationEvent(input: CapiBuildEventPlanInput): CapiBuildEventPlan | undefined;
25
- export declare function planCapiConversions(input: CapiBuildEventPlanInput): readonly CapiBuildEventPlan[];
24
+ export declare function planCapiBuildEvent(input: CapiBuildEventPlanInput, externalId: string): CapiBuildEventPlan | undefined;
25
+ export declare function planCapiActivationEvent(input: CapiBuildEventPlanInput, externalId: string): CapiBuildEventPlan | undefined;
26
+ export declare function planCapiConversions(input: CapiBuildEventPlanInput): Promise<readonly CapiBuildEventPlan[]>;
26
27
  export declare function hasStoredMetaClick(settings: readonly UserSettingItem[]): boolean;
27
28
  export type CapiDeliveryDecision = "send" | "enqueue" | "skip";
28
29
  export interface CapiDeliveryInput {
@@ -34,7 +35,6 @@ export interface CapiDeliveryInput {
34
35
  export declare function decideCapiDelivery(input: CapiDeliveryInput): CapiDeliveryDecision;
35
36
  export interface BuildCapiBuildEventInput {
36
37
  readonly plan: CapiBuildEventPlan;
37
- readonly userId: string;
38
38
  readonly eventSourceUrl: string;
39
39
  readonly nowMs?: number;
40
40
  }
@@ -1,9 +1,9 @@
1
1
  import { eq } from "drizzle-orm/sql/expressions";
2
- import { capiExternalId, capiHashedEmail, isUserSettingContactEmail, isUserSettingMetaClickId, parseArrayWarning, postCapiEvent, userSettingItem, } from "@vibes.diy/api-types";
2
+ import { capiEventId, capiExternalId, capiHashedEmail, isUserSettingContactEmail, isUserSettingMetaClickId, parseArrayWarning, postCapiEvent, userSettingItem, } from "@vibes.diy/api-types";
3
3
  import { queueRetryHorizonMs } from "@vibes.diy/api-types/queue-schedule";
4
4
  import { postQueueFact } from "./post-maker-fact.js";
5
5
  import { isCustomPrompt } from "@vibes.diy/api-types/prefilled-prompts";
6
- export function planCapiBuildEvent(input) {
6
+ export function planCapiBuildEvent(input, externalId) {
7
7
  if (input.outcome !== "applied")
8
8
  return undefined;
9
9
  if (input.capiToken === undefined || input.capiToken === "")
@@ -17,28 +17,30 @@ export function planCapiBuildEvent(input) {
17
17
  const email = input.settings.find(isUserSettingContactEmail)?.email;
18
18
  return {
19
19
  eventName,
20
- eventId: `${eventName.toLowerCase()}:${input.promptId}`,
20
+ eventId: capiEventId(eventName, input.promptId),
21
21
  fbc: click.fbc,
22
22
  capiToken: input.capiToken,
23
23
  pixelId: input.pixelId,
24
+ externalId,
24
25
  ...(email === undefined ? {} : { email }),
25
26
  };
26
27
  }
27
- export function planCapiActivationEvent(input) {
28
- const build = planCapiBuildEvent(input);
28
+ export function planCapiActivationEvent(input, externalId) {
29
+ const build = planCapiBuildEvent(input, externalId);
29
30
  if (build === undefined)
30
31
  return undefined;
31
32
  const cameBack = build.eventName === "AppRevised";
32
33
  if (input.customPrompt === false && cameBack === false)
33
34
  return undefined;
34
- return { ...build, eventName: "Activation", eventId: `activation:${input.userId}` };
35
+ return { ...build, eventName: "Activation", eventId: capiEventId("Activation", externalId) };
35
36
  }
36
- export function planCapiConversions(input) {
37
+ export async function planCapiConversions(input) {
38
+ const externalId = await capiExternalId(input.userId);
37
39
  const plans = [];
38
- const build = planCapiBuildEvent(input);
40
+ const build = planCapiBuildEvent(input, externalId);
39
41
  if (build !== undefined)
40
42
  plans.push(build);
41
- const activation = planCapiActivationEvent(input);
43
+ const activation = planCapiActivationEvent(input, externalId);
42
44
  if (activation !== undefined)
43
45
  plans.push(activation);
44
46
  return plans;
@@ -58,9 +60,8 @@ export function decideCapiDelivery(input) {
58
60
  return age >= 0 && age < input.horizonMs ? "enqueue" : "skip";
59
61
  }
60
62
  export async function buildCapiBuildEvent(input) {
61
- const { plan, userId, eventSourceUrl } = input;
63
+ const { plan, eventSourceUrl } = input;
62
64
  const now = input.nowMs ?? Date.now();
63
- const externalId = await capiExternalId(userId);
64
65
  const hashedEmail = await capiHashedEmail(plan.email);
65
66
  return {
66
67
  data: [
@@ -74,7 +75,7 @@ export async function buildCapiBuildEvent(input) {
74
75
  fbc: plan.fbc,
75
76
  client_ip_address: "",
76
77
  client_user_agent: "",
77
- external_id: externalId,
78
+ external_id: plan.externalId,
78
79
  ...(hashedEmail === undefined ? {} : { em: hashedEmail }),
79
80
  },
80
81
  },
@@ -119,7 +120,7 @@ export function postCapiBuildEvent(vctx, args) {
119
120
  }, "codegen-turn-settled", "capi");
120
121
  return;
121
122
  }
122
- const plans = planCapiConversions({
123
+ const plans = await planCapiConversions({
123
124
  outcome: args.outcome,
124
125
  firstBuild: args.firstBuild,
125
126
  promptId: args.promptId,
@@ -132,7 +133,6 @@ export function postCapiBuildEvent(vctx, args) {
132
133
  for (const plan of plans) {
133
134
  const payload = await buildCapiBuildEvent({
134
135
  plan,
135
- userId: args.userId,
136
136
  eventSourceUrl: vctx.params.vibes.env.VIBES_DIY_PUBLIC_BASE_URL,
137
137
  });
138
138
  await postCapiEvent(plan.pixelId, payload, plan.eventName);
@@ -1 +1 @@
1
- {"version":3,"file":"capi-build-event.js","sourceRoot":"","sources":["../../jsr/intern/capi-build-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capi-build-event.js","sourceRoot":"","sources":["../../jsr/intern/capi-build-event.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-svc",
3
- "version": "14.1.55",
3
+ "version": "14.1.58",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -36,19 +36,19 @@
36
36
  "@neondatabase/serverless": "~1.1.0",
37
37
  "@noble/hashes": "~2.4.0",
38
38
  "@shadcn/lint": "~0.1.0",
39
- "@vibes.diy/api-pkg": "14.1.55",
40
- "@vibes.diy/api-sql": "14.1.55",
41
- "@vibes.diy/api-types": "14.1.55",
42
- "@vibes.diy/call-ai-v2": "14.1.55",
43
- "@vibes.diy/identity": "14.1.55",
44
- "@vibes.diy/look": "14.1.55",
45
- "@vibes.diy/prompts": "14.1.55",
46
- "@vibes.diy/vibe-db-explorer": "14.1.55",
47
- "@vibes.diy/vibe-runtime": "14.1.55",
48
- "@vibes.diy/vibe-types": "14.1.55",
39
+ "@vibes.diy/api-pkg": "14.1.58",
40
+ "@vibes.diy/api-sql": "14.1.58",
41
+ "@vibes.diy/api-types": "14.1.58",
42
+ "@vibes.diy/call-ai-v2": "14.1.58",
43
+ "@vibes.diy/identity": "14.1.58",
44
+ "@vibes.diy/look": "14.1.58",
45
+ "@vibes.diy/prompts": "14.1.58",
46
+ "@vibes.diy/vibe-db-explorer": "14.1.58",
47
+ "@vibes.diy/vibe-runtime": "14.1.58",
48
+ "@vibes.diy/vibe-types": "14.1.58",
49
49
  "acorn": "~8.17.0",
50
50
  "arktype": "~2.2.3",
51
- "call-ai": "14.1.55",
51
+ "call-ai": "14.1.58",
52
52
  "charwise": "~3.0.1",
53
53
  "cookie": "~2.0.1",
54
54
  "csv-parse": "~7.0.2",
@@ -13,7 +13,7 @@ export declare function selectReleaseByFsId(vctx: VibesApiSQLCtx, req: {
13
13
  publishedChips: unknown;
14
14
  created: string;
15
15
  }>;
16
- export declare function selectTopProductionRelease(vctx: VibesApiSQLCtx, req: {
16
+ export declare function selectTopProductionRelease(vctx: Pick<VibesApiSQLCtx, "sql">, req: {
17
17
  readonly ownerHandle: string;
18
18
  readonly appSlug: string;
19
19
  }): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"select-app.js","sourceRoot":"","sources":["../../jsr/public/select-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-app.js","sourceRoot":"","sources":["../../jsr/public/select-app.ts"],"names":[],"mappings":"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"}