@agent-native/core 0.43.0 → 0.44.1
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/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +71 -10
- package/dist/chat-threads/store.js.map +1 -1
- package/dist/cli/pr-visual-recap-workflow.d.ts +1 -1
- package/dist/cli/pr-visual-recap-workflow.d.ts.map +1 -1
- package/dist/cli/pr-visual-recap-workflow.js +1 -1
- package/dist/cli/pr-visual-recap-workflow.js.map +1 -1
- package/dist/cli/recap.d.ts +23 -0
- package/dist/cli/recap.d.ts.map +1 -1
- package/dist/cli/recap.js +177 -13
- package/dist/cli/recap.js.map +1 -1
- package/dist/cli/skills.d.ts +3 -3
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +67 -20
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +76 -18
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/blocks/index.d.ts +0 -2
- package/dist/client/blocks/index.d.ts.map +1 -1
- package/dist/client/blocks/index.js +0 -2
- package/dist/client/blocks/index.js.map +1 -1
- package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/AnnotatedCodeBlock.js +22 -9
- package/dist/client/blocks/library/AnnotatedCodeBlock.js.map +1 -1
- package/dist/client/blocks/library/ApiEndpointBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/ApiEndpointBlock.js +113 -13
- package/dist/client/blocks/library/ApiEndpointBlock.js.map +1 -1
- package/dist/client/blocks/library/DiffBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/DiffBlock.js +63 -35
- package/dist/client/blocks/library/DiffBlock.js.map +1 -1
- package/dist/client/blocks/library/FileTreeBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/FileTreeBlock.js +4 -0
- package/dist/client/blocks/library/FileTreeBlock.js.map +1 -1
- package/dist/client/blocks/library/JsonExplorerBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/JsonExplorerBlock.js +1 -1
- package/dist/client/blocks/library/JsonExplorerBlock.js.map +1 -1
- package/dist/client/blocks/library/MermaidBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/MermaidBlock.js +22 -3
- package/dist/client/blocks/library/MermaidBlock.js.map +1 -1
- package/dist/client/blocks/library/annotation-rail.d.ts +85 -19
- package/dist/client/blocks/library/annotation-rail.d.ts.map +1 -1
- package/dist/client/blocks/library/annotation-rail.js +149 -27
- package/dist/client/blocks/library/annotation-rail.js.map +1 -1
- package/dist/client/blocks/library/code-tabs.js +1 -1
- package/dist/client/blocks/library/code-tabs.js.map +1 -1
- package/dist/client/blocks/library/diagram.d.ts +17 -0
- package/dist/client/blocks/library/diagram.d.ts.map +1 -1
- package/dist/client/blocks/library/diagram.js +47 -2
- package/dist/client/blocks/library/diagram.js.map +1 -1
- package/dist/client/blocks/library/server-specs.d.ts.map +1 -1
- package/dist/client/blocks/library/server-specs.js +0 -10
- package/dist/client/blocks/library/server-specs.js.map +1 -1
- package/dist/client/blocks/library/specs.d.ts.map +1 -1
- package/dist/client/blocks/library/specs.js +0 -2
- package/dist/client/blocks/library/specs.js.map +1 -1
- package/dist/client/blocks/library/wireframe.config.d.ts.map +1 -1
- package/dist/client/blocks/library/wireframe.config.js +19 -2
- package/dist/client/blocks/library/wireframe.config.js.map +1 -1
- package/dist/client/blocks/mdx.d.ts.map +1 -1
- package/dist/client/blocks/mdx.js +11 -0
- package/dist/client/blocks/mdx.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +13 -8
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/pasted-text.d.ts +25 -0
- package/dist/client/composer/pasted-text.d.ts.map +1 -1
- package/dist/client/composer/pasted-text.js +86 -4
- package/dist/client/composer/pasted-text.js.map +1 -1
- package/dist/client/rich-markdown-editor/DragHandle.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/DragHandle.js +35 -72
- package/dist/client/rich-markdown-editor/DragHandle.js.map +1 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.js +1 -1
- package/dist/client/rich-markdown-editor/RegistryBlockNode.js.map +1 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts +9 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.js +3 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.js.map +1 -1
- package/dist/client/rich-markdown-editor/extensions.d.ts +13 -1
- package/dist/client/rich-markdown-editor/extensions.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/extensions.js +4 -2
- package/dist/client/rich-markdown-editor/extensions.js.map +1 -1
- package/dist/client/rich-markdown-editor/useCollabReconcile.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/useCollabReconcile.js +11 -1
- package/dist/client/rich-markdown-editor/useCollabReconcile.js.map +1 -1
- package/dist/db/migrations.d.ts +10 -0
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +32 -0
- package/dist/db/migrations.js.map +1 -1
- package/dist/server/og-fonts-data.d.ts +3 -0
- package/dist/server/og-fonts-data.d.ts.map +1 -0
- package/dist/server/og-fonts-data.js +9 -0
- package/dist/server/og-fonts-data.js.map +1 -0
- package/dist/server/og-fonts.d.ts +10 -0
- package/dist/server/og-fonts.d.ts.map +1 -0
- package/dist/server/og-fonts.js +58 -0
- package/dist/server/og-fonts.js.map +1 -0
- package/dist/server/poll.d.ts.map +1 -1
- package/dist/server/poll.js +30 -14
- package/dist/server/poll.js.map +1 -1
- package/dist/server/social-og-image.d.ts.map +1 -1
- package/dist/server/social-og-image.js +16 -5
- package/dist/server/social-og-image.js.map +1 -1
- package/dist/styles/blocks.css +121 -2
- package/dist/templates/default/.agents/skills/storing-data/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/performance/SKILL.md +141 -0
- package/dist/templates/workspace-core/.agents/skills/storing-data/SKILL.md +2 -0
- package/dist/usage/store.d.ts +12 -0
- package/dist/usage/store.d.ts.map +1 -1
- package/dist/usage/store.js +35 -5
- package/dist/usage/store.js.map +1 -1
- package/package.json +1 -1
- package/src/templates/default/.agents/skills/storing-data/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/performance/SKILL.md +141 -0
- package/src/templates/workspace-core/.agents/skills/storing-data/SKILL.md +2 -0
- package/dist/client/blocks/library/decision.config.d.ts +0 -37
- package/dist/client/blocks/library/decision.config.d.ts.map +0 -1
- package/dist/client/blocks/library/decision.config.js +0 -32
- package/dist/client/blocks/library/decision.config.js.map +0 -1
- package/dist/client/blocks/library/decision.d.ts +0 -19
- package/dist/client/blocks/library/decision.d.ts.map +0 -1
- package/dist/client/blocks/library/decision.js +0 -119
- package/dist/client/blocks/library/decision.js.map +0 -1
package/dist/cli/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAKL,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAC;AAWxB,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/skills.js
CHANGED
|
@@ -375,16 +375,35 @@ padding and line-height to read cleanly in the rendered Plan view.
|
|
|
375
375
|
positioning, or fixed child widths that can collide when the renderer switches
|
|
376
376
|
between light/dark, sketch/clean, or different zoom levels.
|
|
377
377
|
|
|
378
|
-
**Do not wrap intentionally single-line labels.** For tab rails,
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
\`white-space: nowrap
|
|
382
|
-
|
|
383
|
-
of producing ugly vertical text. Use
|
|
384
|
-
for overflow.
|
|
378
|
+
**Do not wrap intentionally single-line labels.** For toolbars, tab rails,
|
|
379
|
+
breadcrumbs, chip/filter rows, branch and file names, file chips, and code
|
|
380
|
+
filenames — any deliberately single-line row — do not let long text wrap. Put
|
|
381
|
+
\`white-space: nowrap\` on the row (and \`overflow: hidden; text-overflow: ellipsis\`
|
|
382
|
+
on the individual labels that can grow), so the wireframe demonstrates the actual
|
|
383
|
+
layout behavior instead of producing ugly stacked or vertical text. Use
|
|
384
|
+
horizontally scrollable or clipped rails for overflow.
|
|
385
385
|
|
|
386
386
|
**Fill the frame; keep labels short.** Each artboard is a fixed-size surface — compose enough realistic HTML to fill it top to bottom with even vertical rhythm; never leave a large empty band. On desktop/app-shell sidebars, let the nav stack flex to fill (\`flex:1\`) and add any persistent bottom action/status after it so the rail reads complete in taller frames. On mobile especially, flow real rows down the whole screen (status bar, header, then list/detail content) rather than a header floating above a gap. Keep every label short enough to sit on one line within its column — shorten the copy rather than relying on the frame to absorb it (long labels wrap or clip).
|
|
387
387
|
|
|
388
|
+
**Persistent chrome bars span the full frame width.** Top bars, app headers,
|
|
389
|
+
toolbars, and bottom tab/nav bars are full-width chrome, not centered content.
|
|
390
|
+
Lay each one out as a single flex row that fills the frame
|
|
391
|
+
(\`style="display:flex;align-items:center;width:100%"\`) and push trailing actions
|
|
392
|
+
to the right edge with a flex spacer (\`<div style="flex:1"></div>\`) between the
|
|
393
|
+
leading group and the trailing group — never center a bar inside a narrow,
|
|
394
|
+
centered block, and never let it collapse to the width of its contents. In a
|
|
395
|
+
Before/After pair the bar stays full-width in BOTH states even when one state has
|
|
396
|
+
fewer controls; the spacer absorbs the difference so the remaining controls hold
|
|
397
|
+
their edge alignment instead of sliding to the center.
|
|
398
|
+
|
|
399
|
+
**Pin bottom bars to the bottom of the frame.** For mobile tab bars, footers, and
|
|
400
|
+
any persistent bottom action row, make the frame itself a flex column at
|
|
401
|
+
\`height:100%\` (\`style="display:flex;flex-direction:column;height:100%"\`), give the
|
|
402
|
+
scrolling body \`flex:1\` so it absorbs the slack, and place the bar as the LAST
|
|
403
|
+
child of the frame (or set \`margin-top:auto\` on it). The bar then sits flush at
|
|
404
|
+
the bottom of the surface instead of floating directly under the content with an
|
|
405
|
+
empty band beneath it.
|
|
406
|
+
|
|
388
407
|
**Before / after must be comparable.** When showing a state change, preserve the
|
|
389
408
|
unchanged controls in both states so the reviewer can see exactly what moved or
|
|
390
409
|
appeared; do not show an added control as a generic box floating elsewhere in
|
|
@@ -583,7 +602,7 @@ only for tiny previews or genuinely linear step flows. Repeat a wireframe in the
|
|
|
583
602
|
for a genuinely new detail view or comparison. Skip the visual surface entirely
|
|
584
603
|
for non-visual work and write a clean rich document. For a simple binary UI
|
|
585
604
|
visual choice, show the two directions in the canvas only; do not repeat the
|
|
586
|
-
same options as body wireframes
|
|
605
|
+
same options as body wireframes or prose. Put the actual
|
|
587
606
|
choice in the bottom "Open Questions" form.
|
|
588
607
|
|
|
589
608
|
**Use the right block, and make it carry substance.** For the authoritative,
|
|
@@ -606,14 +625,14 @@ so you never emit a block the editor cannot render or round-trip:
|
|
|
606
625
|
the exact code is unknown, show the smallest plausible planned shape or a
|
|
607
626
|
commented stub naming what to fill in. (\`code-tabs\` and \`implementation-map\`
|
|
608
627
|
are legacy: their renderers stay for old plans, but do not author new ones.)
|
|
609
|
-
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
\`
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
628
|
+
- For a decision: if the reviewer must still pick between a genuinely-open
|
|
629
|
+
either/or, put it in the bottom Open Questions \`question-form\` as a \`single\`
|
|
630
|
+
question — one option per real alternative, each with a short detail and
|
|
631
|
+
\`recommended: true\` on the one you would choose; do not also restate the same
|
|
632
|
+
choice elsewhere. If you have already committed to an approach, state it as
|
|
633
|
+
settled prose or a \`callout\` with \`tone="decision"\`, optionally with a
|
|
634
|
+
\`columns\` block for a side-by-side comparison of the options you weighed — not
|
|
635
|
+
as a confusing mid-document form for a question you have already answered.
|
|
617
636
|
- \`columns\` for side-by-side before/after or current/target comparisons where
|
|
618
637
|
each side needs real nested blocks; label the columns clearly and avoid
|
|
619
638
|
stacking comparison blocks vertically when parallel reading is the point.
|
|
@@ -655,8 +674,7 @@ reviewer can answer with a custom option — never add an explicit "Other" optio
|
|
|
655
674
|
yourself; set \`allowOther: false\` only when a free-text answer makes no sense.
|
|
656
675
|
Keep non-answerable assumptions or risks as concise \`callout\` blocks in
|
|
657
676
|
the relevant section. Never bury a questions/decisions wall inside the plan
|
|
658
|
-
narrative, and never ask the same question
|
|
659
|
-
\`question-form\`.
|
|
677
|
+
narrative, and never ask the same question twice.
|
|
660
678
|
|
|
661
679
|
**\`custom-html\` is a bounded escape hatch only** — a single complete fragment
|
|
662
680
|
inside a block, never \`html\`/\`head\`/\`body\`/\`script\` tags, never a generic
|
|
@@ -685,8 +703,9 @@ correct desktop footprint, theme, and one subtle whole-frame wobble. Plain-text
|
|
|
685
703
|
designer notes sit spaced off the frame, pointing only at the controls that need
|
|
686
704
|
explanation. Below it, a Claude/Codex-grade document: objective and
|
|
687
705
|
done-criteria, a few \`code\` blocks (grouped in a vertical \`tabs\` block when
|
|
688
|
-
more than one) showing the real shape of the load-bearing files, a \`
|
|
689
|
-
|
|
706
|
+
more than one) showing the real shape of the load-bearing files, a \`callout\`
|
|
707
|
+
with \`tone="decision"\` stating the chosen approach with a \`columns\` block
|
|
708
|
+
weighing the two real options behind it,
|
|
690
709
|
and a validation step — none of it repeating the canvas. If the task also
|
|
691
710
|
changes a multi-step completion flow, the same top area includes a Prototype tab
|
|
692
711
|
whose screens use the same labels and states as the canvas artboards, with
|
|
@@ -1508,6 +1527,26 @@ Only add prose blocks when they tell the reviewer something specific about the
|
|
|
1508
1527
|
change that the structured blocks do not: the objective, a real compatibility
|
|
1509
1528
|
risk, an important decision visible in the diff, or a grounded review note.
|
|
1510
1529
|
|
|
1530
|
+
## Recaps Must Be Substantial
|
|
1531
|
+
|
|
1532
|
+
Lean is not the same as thin. A recap is not a single wireframe plus one
|
|
1533
|
+
sentence — that under-serves the reviewer as much as boilerplate prose over-serves
|
|
1534
|
+
them. Alongside the visual/structural headline (wireframes, \`data-model\`,
|
|
1535
|
+
\`api-endpoint\`, \`diagram\`), a substantial recap also carries the implementation
|
|
1536
|
+
evidence:
|
|
1537
|
+
|
|
1538
|
+
- A \`file-tree\` of the changed files with each entry's \`change\` flag, so the
|
|
1539
|
+
reviewer sees the footprint of the work at a glance.
|
|
1540
|
+
- The split \`diff\` of the KEY changed files, grouped under a \`## Key changes\`
|
|
1541
|
+
\`rich-text\` heading in a single vertical \`tabs\` block (file labels as the left
|
|
1542
|
+
rail), with a one-line \`summary\` and a few \`annotations\` on each — so the
|
|
1543
|
+
reviewer can drop from the high-altitude shape straight into the load-bearing
|
|
1544
|
+
code.
|
|
1545
|
+
|
|
1546
|
+
Skip the diff appendix only for a genuinely tiny change that reviews faster as
|
|
1547
|
+
plain diff (see "When To Use"); for any change worth recapping, the file-tree and
|
|
1548
|
+
key-change diffs belong in the plan.
|
|
1549
|
+
|
|
1511
1550
|
## UI Impact Needs Wireframes
|
|
1512
1551
|
|
|
1513
1552
|
When the diff changes rendered UI, layout, density, visual state, interaction
|
|
@@ -1622,6 +1661,14 @@ the actual diff:
|
|
|
1622
1661
|
removed endpoints with \`deprecated: true\` and explain in prose.
|
|
1623
1662
|
Keep multiple API endpoints in the normal single-column document flow unless
|
|
1624
1663
|
they are an explicit before/after contract comparison.
|
|
1664
|
+
Author each request/response example as a SINGLE valid JSON value — one
|
|
1665
|
+
top-level object or array, parseable on its own — so it renders in the
|
|
1666
|
+
collapsible JSON explorer. Do not put \`//\` or \`/* */\` comments, prose,
|
|
1667
|
+
trailing commas, or two or more concatenated top-level objects inside one
|
|
1668
|
+
example; a non-parseable body falls back to flat text and loses the explorer.
|
|
1669
|
+
When an endpoint has several distinct message shapes (for example separate
|
|
1670
|
+
websocket frame types, or a success body versus an error body), give each its
|
|
1671
|
+
OWN example with its own label rather than cramming them into one body.
|
|
1625
1672
|
- **Compatibility-sensitive change** → short \`rich-text\` notes beside the
|
|
1626
1673
|
relevant \`data-model\` / \`api-endpoint\` block. Name the changed field,
|
|
1627
1674
|
endpoint, or behavior and mark whether it is breaking, risky, or non-breaking;
|