@lostgradient/cinder 0.8.0 → 0.11.0
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/CHANGELOG.md +25 -0
- package/README.md +2 -2
- package/components.json +140 -18
- package/dist/components/_internal/command-list-context.d.ts +3 -3
- package/dist/components/_internal/create-command-list-state.svelte.d.ts +11 -11
- package/dist/components/access-gate/index.js +435 -218
- package/dist/components/approval-card/approval-card-actions.svelte.d.ts +16 -0
- package/dist/components/approval-card/approval-card-state.d.ts +65 -0
- package/dist/components/approval-card/approval-card.css +269 -92
- package/dist/components/approval-card/approval-card.schema.js +10 -31
- package/dist/components/approval-card/approval-card.svelte.d.ts +3 -3
- package/dist/components/approval-card/approval-card.types.d.ts +14 -28
- package/dist/components/approval-card/index.d.ts +1 -1
- package/dist/components/approval-card/index.js +4268 -2884
- package/dist/components/card/card.css +5 -0
- package/dist/components/card/card.schema.js +2 -2
- package/dist/components/card/card.types.d.ts +2 -2
- package/dist/components/card/index.js +2 -1
- package/dist/components/chat/builders.d.ts +17 -8
- package/dist/components/chat/chat.schema.js +44 -2
- package/dist/components/chat/chat.svelte.d.ts +4 -2
- package/dist/components/chat/chat.types.d.ts +34 -3
- package/dist/components/chat/container/chat.svelte.d.ts +4 -2
- package/dist/components/chat/conversation-model.d.ts +1 -1
- package/dist/components/chat/index.d.ts +4 -4
- package/dist/components/chat/index.js +2767 -6278
- package/dist/components/chat/input/chat-attachment-serialization.d.ts +9 -0
- package/dist/components/chat/input/chat-input.svelte.d.ts +22 -1
- package/dist/components/chat/input/index.d.ts +1 -0
- package/dist/components/chat/utilities/conversation.d.ts +6 -6
- package/dist/components/chat-composer-popover/chat-composer-popover-filter.d.ts +11 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.css +7 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.css.d.ts +1 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.schema.d.ts +3 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.schema.js +150 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.svelte.d.ts +46 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.types.d.ts +77 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.variables.d.ts +2 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.variables.js +61 -0
- package/dist/components/chat-composer-popover/index.d.ts +6 -0
- package/dist/components/chat-composer-popover/index.js +3285 -0
- package/dist/components/chat-conversation-header/index.js +577 -4537
- package/dist/components/chat-conversation-list/index.js +24 -3984
- package/dist/components/code-block/code-block.schema.js +5 -1
- package/dist/components/code-block/code-block.types.d.ts +6 -0
- package/dist/components/code-block/index.js +4 -4
- package/dist/components/command-item/index.js +7 -6
- package/dist/components/command-menu/command-menu.schema.js +5 -1
- package/dist/components/command-menu/command-menu.types.d.ts +2 -0
- package/dist/components/command-menu/index.js +48 -19
- package/dist/components/command-palette/index.js +40 -14
- package/dist/components/connection-indicator/connection-indicator.css +136 -0
- package/dist/components/connection-indicator/connection-indicator.css.d.ts +1 -0
- package/dist/components/connection-indicator/connection-indicator.schema.d.ts +3 -0
- package/dist/components/connection-indicator/connection-indicator.schema.js +89 -0
- package/dist/components/connection-indicator/connection-indicator.svelte.d.ts +21 -0
- package/dist/components/connection-indicator/connection-indicator.types.d.ts +46 -0
- package/dist/components/connection-indicator/connection-indicator.variables.d.ts +2 -0
- package/dist/components/connection-indicator/connection-indicator.variables.js +61 -0
- package/dist/components/connection-indicator/index.d.ts +5 -0
- package/dist/components/connection-indicator/index.js +409 -0
- package/dist/components/container/container.schema.js +4 -4
- package/dist/components/event-stream-viewer/index.js +44 -44
- package/dist/components/experimental/json-viewer/index.js +44 -44
- package/dist/components/invocation-rule-builder/index.d.ts +1 -1
- package/dist/components/invocation-rule-builder/index.js +305 -150
- package/dist/components/invocation-rule-builder/invocation-rule-builder.css +28 -0
- package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.js +89 -5
- package/dist/components/invocation-rule-builder/invocation-rule-builder.svelte.d.ts +2 -1
- package/dist/components/invocation-rule-builder/invocation-rule-builder.types.d.ts +114 -16
- package/dist/components/json-schema-editor/index.js +5 -2
- package/dist/components/json-viewer/index.js +44 -44
- package/dist/components/json-viewer/json-viewer.css +10 -6
- package/dist/components/payload-inspector/index.d.ts +1 -1
- package/dist/components/payload-inspector/index.js +306 -1422
- package/dist/components/payload-inspector/payload-inspector.css +15 -75
- package/dist/components/payload-inspector/payload-inspector.schema.js +5 -41
- package/dist/components/payload-inspector/payload-inspector.svelte.d.ts +5 -5
- package/dist/components/payload-inspector/payload-inspector.types.d.ts +10 -56
- package/dist/components/run-step-timeline/index.d.ts +1 -1
- package/dist/components/run-step-timeline/index.js +992 -559
- package/dist/components/run-step-timeline/run-step-branch-disclosure.svelte.d.ts +17 -0
- package/dist/components/run-step-timeline/run-step-timeline.css +124 -0
- package/dist/components/run-step-timeline/run-step-timeline.schema.js +873 -350
- package/dist/components/run-step-timeline/run-step-timeline.svelte.d.ts +1 -15
- package/dist/components/run-step-timeline/run-step-timeline.types.d.ts +182 -5
- package/dist/components/run-step-timeline/run-step-timeline.utilities.d.ts +52 -0
- package/dist/components/schedule-builder/index.d.ts +5 -0
- package/dist/components/schedule-builder/index.js +3176 -0
- package/dist/components/schedule-builder/schedule-builder.css +121 -0
- package/dist/components/schedule-builder/schedule-builder.css.d.ts +1 -0
- package/dist/components/schedule-builder/schedule-builder.schema.d.ts +3 -0
- package/dist/components/schedule-builder/schedule-builder.schema.js +141 -0
- package/dist/components/schedule-builder/schedule-builder.svelte.d.ts +22 -0
- package/dist/components/schedule-builder/schedule-builder.types.d.ts +130 -0
- package/dist/components/schedule-builder/schedule-builder.utilities.d.ts +78 -0
- package/dist/components/schedule-builder/schedule-builder.variables.d.ts +2 -0
- package/dist/components/schedule-builder/schedule-builder.variables.js +61 -0
- package/dist/components/tab/index.js +5 -2
- package/dist/components/tab/tab.schema.js +7 -3
- package/dist/components/tab/tab.svelte.d.ts +2 -1
- package/dist/components/tab/tab.types.d.ts +8 -2
- package/dist/components/tabs/index.js +5 -2
- package/dist/components/tag-input/index.js +22 -4
- package/dist/components/tag-input/tag-input.schema.js +5 -1
- package/dist/components/tag-input/tag-input.types.d.ts +4 -0
- package/dist/components/team-section/index.js +2 -1
- package/dist/components/testimonial-section/index.js +2 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.js +28577 -30168
- package/dist/server/components/access-gate/index.js +3 -1
- package/dist/server/components/accordion/index.js +2 -2
- package/dist/server/components/alert-dialog/index.js +2 -2
- package/dist/server/components/approval-card/index.js +15 -19
- package/dist/server/components/autocomplete/index.js +7 -7
- package/dist/server/components/avatar-group/index.js +5 -5
- package/dist/server/components/button-group/index.js +3 -5
- package/dist/server/components/card/index.js +2 -2
- package/dist/server/components/chat/index.js +15 -12
- package/dist/server/components/chat-composer-popover/index.js +26 -0
- package/dist/server/components/chat-conversation-header/index.js +10 -11
- package/dist/server/components/chat-conversation-list/index.js +4 -5
- package/dist/server/components/checkbox/index.js +3 -3
- package/dist/server/components/choice-grid/index.js +2 -2
- package/dist/server/components/code-block/index.js +2 -2
- package/dist/server/components/color-field/index.js +3 -3
- package/dist/server/components/combobox/index.js +6 -6
- package/dist/server/components/command-item/index.js +5 -3
- package/dist/server/components/command-menu/index.js +6 -4
- package/dist/server/components/command-palette/index.js +2 -2
- package/dist/server/components/confirm-dialog/index.js +2 -2
- package/dist/server/components/connection-indicator/index.js +16 -0
- package/dist/server/components/context-menu/index.js +5 -5
- package/dist/server/components/data-table/index.js +5 -5
- package/dist/server/components/date-picker/index.js +6 -6
- package/dist/server/components/date-range-field/index.js +7 -7
- package/dist/server/components/description-list/index.js +3 -5
- package/dist/server/components/diff-viewer/index.js +9 -8
- package/dist/server/components/drawer/index.js +3 -3
- package/dist/server/components/dropdown/index.js +4 -4
- package/dist/server/components/event-stream-viewer/index.js +2 -2
- package/dist/server/components/experimental/json-viewer/index.js +2 -2
- package/dist/server/components/faceted-filter-bar/index.js +1 -1
- package/dist/server/components/hover-card/index.js +1 -1
- package/dist/server/components/input/index.js +3 -3
- package/dist/server/components/invocation-rule-builder/index.js +1 -1
- package/dist/server/components/json-schema-editor/index.js +24 -23
- package/dist/server/components/json-viewer/index.js +2 -2
- package/dist/server/components/markdown-editor/index.js +13 -13
- package/dist/server/components/modal/index.js +1 -1
- package/dist/server/components/multi-select/index.js +1 -1
- package/dist/server/components/newsletter-section/index.js +3 -3
- package/dist/server/components/payload-inspector/index.js +4 -16
- package/dist/server/components/popover/index.js +5 -5
- package/dist/server/components/review-editor/index.js +27 -26
- package/dist/server/components/run-step-timeline/index.js +2 -2
- package/dist/server/components/schedule-builder/index.js +30 -0
- package/dist/server/components/schema-form/index.js +4 -4
- package/dist/server/components/secret-value-field/index.js +3 -5
- package/dist/server/components/segment/index.js +3 -3
- package/dist/server/components/segmented-control/index.js +4 -4
- package/dist/server/components/selection-popover/index.js +4 -4
- package/dist/server/components/sheet/index.js +2 -2
- package/dist/server/components/side-navigation/index.js +2 -2
- package/dist/server/components/sidebar/index.js +3 -3
- package/dist/server/components/tab/index.js +2 -2
- package/dist/server/components/table/index.js +3 -3
- package/dist/server/components/tabs/index.js +4 -4
- package/dist/server/components/tag-input/index.js +3 -3
- package/dist/server/components/team-section/index.js +8 -8
- package/dist/server/components/testimonial-section/index.js +2 -2
- package/dist/server/components/time-field/index.js +5 -3
- package/dist/server/components/toggle/index.js +2 -2
- package/dist/server/components/tooltip/index.js +1 -1
- package/dist/server/index.js +235 -211
- package/dist/server/{index.server-20y4mdhm.js → index.server-0chhpkg7.js} +40 -14
- package/dist/server/index.server-0sx92swg.js +9 -0
- package/dist/server/{index.server-ecm1vs3g.js → index.server-1nq7z1qw.js} +1 -1
- package/dist/server/{index.server-s9khh4ry.js → index.server-2bbwajb2.js} +3 -5
- package/dist/server/index.server-2hqrv7ca.js +9 -0
- package/dist/server/{index.server-69epaape.js → index.server-2qj6s2mh.js} +1 -1
- package/dist/server/{index.server-gxf0d1p5.js → index.server-2s5h1d05.js} +2 -2
- package/dist/server/{index.server-qfa2rxzx.js → index.server-2zdbz3rj.js} +3 -5
- package/dist/server/{index.server-pt8b65mt.js → index.server-38aywdk1.js} +1 -1
- package/dist/server/{index.server-0jhra85x.js → index.server-3w72dxz7.js} +4 -4
- package/dist/server/{index.server-rermas0k.js → index.server-47v2fhp4.js} +4 -4
- package/dist/server/{index.server-v4zabrsx.js → index.server-4x4hgvqe.js} +434 -26
- package/dist/server/{index.server-9j5sym59.js → index.server-4x91gzy1.js} +2 -2
- package/dist/server/{index.server-q48q15g7.js → index.server-4y2jtvv1.js} +4 -2
- package/dist/server/{index.server-j3ddzcaa.js → index.server-5gzyqv78.js} +6 -6
- package/dist/server/index.server-67qgdypc.js +9 -0
- package/dist/server/index.server-6hnfzc7f.js +263 -0
- package/dist/server/{index.server-9jete4xx.js → index.server-6sh11ap6.js} +4 -4
- package/dist/server/{index.server-4ztq565m.js → index.server-85p4ydph.js} +1 -1
- package/dist/server/{index.server-4nk7gy0q.js → index.server-894t97kv.js} +1 -1
- package/dist/server/{index.server-1vscnped.js → index.server-8dt36sdm.js} +2 -1
- package/dist/server/{index.server-bfsbp9dz.js → index.server-8xvc73zh.js} +4 -4
- package/dist/server/{index.server-cvnw3hw9.js → index.server-9kz37z89.js} +1 -1
- package/dist/server/{index.server-kc1k02tk.js → index.server-9ykk1kbg.js} +1 -1
- package/dist/server/{index.server-g789yep6.js → index.server-aqethy0w.js} +2 -2
- package/dist/server/index.server-be9bpqeh.js +93 -0
- package/dist/server/{index.server-wc9aggfz.js → index.server-bmxbsk4y.js} +7 -7
- package/dist/server/{index.server-f3z7tpxr.js → index.server-c42b462p.js} +2 -4
- package/dist/server/{index.server-7vyzen5x.js → index.server-c5qv3p61.js} +171 -63
- package/dist/server/index.server-cch0eed5.js +144 -0
- package/dist/server/{index.server-q89dz8h1.js → index.server-d3pqthtp.js} +4 -3
- package/dist/server/{index.server-jk4rx4aa.js → index.server-dmmvwy6p.js} +1 -1
- package/dist/server/{index.server-hcfnae5y.js → index.server-dwwqssey.js} +4 -4
- package/dist/server/{index.server-e8x1hgw6.js → index.server-dz1r9xw5.js} +4 -4
- package/dist/server/{index.server-wm7mk5kw.js → index.server-ez5hp0ya.js} +1 -1
- package/dist/server/{index.server-wc8dbm5e.js → index.server-g95bk8rc.js} +4 -2
- package/dist/server/index.server-gkazv439.js +576 -0
- package/dist/server/index.server-gmh5ar16.js +2 -0
- package/dist/server/{index.server-dp9j2kkr.js → index.server-h0cvwvhy.js} +1 -1
- package/dist/server/{index.server-cbtg8rq5.js → index.server-h89zk5ev.js} +8 -8
- package/dist/server/{index.server-pacrqvyz.js → index.server-h90pjrez.js} +1 -1
- package/dist/server/{index.server-p8d04em5.js → index.server-hcsd5gdb.js} +6 -2
- package/dist/server/{index.server-n39drzes.js → index.server-hpeavvnq.js} +1 -1
- package/dist/server/{index.server-1p3patnj.js → index.server-hx91ng7z.js} +1 -1
- package/dist/server/{index.server-mehav5vs.js → index.server-jdcq5zza.js} +7 -7
- package/dist/server/{index.server-jync915v.js → index.server-jfrssta6.js} +25 -25
- package/dist/server/{index.server-jtj3r53y.js → index.server-jgb8yh5k.js} +1 -1
- package/dist/server/{index.server-ejyf7e48.js → index.server-jj76374p.js} +1 -1
- package/dist/server/{index.server-w1g5q9j9.js → index.server-jtgw9d23.js} +4 -2
- package/dist/server/{index.server-hd8gpehd.js → index.server-jxseyx33.js} +1 -1
- package/dist/server/{index.server-kg2sepsr.js → index.server-krqvnt6p.js} +14 -15
- package/dist/server/{index.server-0e1m3agz.js → index.server-ks49bprh.js} +1 -1
- package/dist/server/{index.server-f0hma3jp.js → index.server-kt0ncrqs.js} +1 -1
- package/dist/server/index.server-m0ezemav.js +170 -0
- package/dist/server/index.server-m191rm44.js +79 -0
- package/dist/server/{index.server-z721a5gp.js → index.server-n82rcv0m.js} +4 -4
- package/dist/server/{index.server-rhhmdxtz.js → index.server-np3c7kx0.js} +4 -4
- package/dist/server/{index.server-hpcs7tmh.js → index.server-p56xxef1.js} +1 -1
- package/dist/server/{index.server-w83kmcrx.js → index.server-pag862vz.js} +10 -10
- package/dist/server/index.server-qbkxz7r2.js +750 -0
- package/dist/server/{index.server-sh2rxejg.js → index.server-qke3ekjt.js} +1 -1
- package/dist/server/{index.server-73x2d3j3.js → index.server-rbpvcrr3.js} +1 -1
- package/dist/server/{index.server-8cxs4kya.js → index.server-rga8sc7j.js} +41 -44
- package/dist/server/{index.server-e3fnv1g6.js → index.server-sedjxt36.js} +5 -5
- package/dist/server/{index.server-pen9pxt6.js → index.server-sf3nk3j2.js} +2 -2
- package/dist/server/{index.server-f23vtaw4.js → index.server-tcay903b.js} +8 -7
- package/dist/server/{index.server-7fp0epev.js → index.server-veastatv.js} +4 -4
- package/dist/server/{index.server-jeqg2d22.js → index.server-xeqtpv61.js} +1 -1
- package/dist/server/{index.server-9s4na701.js → index.server-xjnge1yw.js} +4 -4
- package/dist/server/index.server-xtjjmsyq.js +315 -0
- package/dist/server/{index.server-hhxjaeen.js → index.server-xz99aed4.js} +4 -4
- package/dist/server/{index.server-vne4rzfa.js → index.server-y4n8vc08.js} +1 -1
- package/dist/server/{index.server-5d01cn4f.js → index.server-y83kqayt.js} +4 -4
- package/dist/server/{index.server-1nh09ck7.js → index.server-yhzydqxe.js} +5 -5
- package/dist/server/index.server-z38bxms8.js +734 -0
- package/dist/server/{index.server-atjc1qcq.js → index.server-z7hxtqs1.js} +1 -1
- package/dist/server/{index.server-w6k62afr.js → index.server-ze1ymmbw.js} +2 -2
- package/dist/server/{index.server-914v805w.js → index.server-zgd1g8mk.js} +1 -1
- package/dist/server/{index.server-aeexcxdp.js → index.server-zh3r8vfd.js} +1 -1
- package/dist/server/{index.server-10jb2jzm.js → index.server-zsjf8enc.js} +4 -4
- package/package.json +102 -5
- package/src/components/_internal/command-list-context.ts +3 -3
- package/src/components/_internal/create-command-list-state.svelte.ts +39 -13
- package/src/components/approval-card/approval-card-actions.svelte +168 -0
- package/src/components/approval-card/approval-card-state.ts +152 -1
- package/src/components/approval-card/approval-card.css +269 -92
- package/src/components/approval-card/approval-card.examples.json +3 -3
- package/src/components/approval-card/approval-card.schema.json +9 -30
- package/src/components/approval-card/approval-card.schema.ts +13 -31
- package/src/components/approval-card/approval-card.svelte +176 -470
- package/src/components/approval-card/approval-card.types.ts +15 -28
- package/src/components/approval-card/index.ts +1 -0
- package/src/components/card/card.css +5 -0
- package/src/components/card/card.schema.json +1 -1
- package/src/components/card/card.schema.ts +1 -1
- package/src/components/card/card.svelte +1 -0
- package/src/components/card/card.types.ts +2 -2
- package/src/components/chat/builders.ts +445 -14
- package/src/components/chat/chat.schema.json +36 -1
- package/src/components/chat/chat.schema.ts +44 -1
- package/src/components/chat/chat.svelte +12 -0
- package/src/components/chat/chat.types.ts +35 -3
- package/src/components/chat/container/chat.svelte +73 -3
- package/src/components/chat/conversation-model.ts +1 -0
- package/src/components/chat/index.ts +16 -3
- package/src/components/chat/input/chat-attachment-serialization.ts +63 -0
- package/src/components/chat/input/chat-input.svelte +22 -5
- package/src/components/chat/input/index.ts +5 -0
- package/src/components/chat/utilities/conversation.ts +33 -15
- package/src/components/chat-composer-popover/chat-composer-popover-filter.ts +68 -0
- package/src/components/chat-composer-popover/chat-composer-popover.css +7 -0
- package/src/components/chat-composer-popover/chat-composer-popover.examples.json +13 -0
- package/src/components/chat-composer-popover/chat-composer-popover.schema.json +90 -0
- package/src/components/chat-composer-popover/chat-composer-popover.schema.ts +95 -0
- package/src/components/chat-composer-popover/chat-composer-popover.svelte +234 -0
- package/src/components/chat-composer-popover/chat-composer-popover.types.ts +88 -0
- package/src/components/chat-composer-popover/chat-composer-popover.variables.json +1 -0
- package/src/components/chat-composer-popover/chat-composer-popover.variables.ts +3 -0
- package/src/components/chat-composer-popover/index.ts +19 -0
- package/src/components/code-block/code-block.schema.json +4 -0
- package/src/components/code-block/code-block.schema.ts +5 -0
- package/src/components/code-block/code-block.svelte +3 -3
- package/src/components/code-block/code-block.types.ts +6 -0
- package/src/components/command-item/command-item.svelte +7 -6
- package/src/components/command-menu/command-menu.schema.json +4 -0
- package/src/components/command-menu/command-menu.schema.ts +4 -0
- package/src/components/command-menu/command-menu.svelte +16 -5
- package/src/components/command-menu/command-menu.types.ts +2 -0
- package/src/components/connection-indicator/connection-indicator.css +136 -0
- package/src/components/connection-indicator/connection-indicator.examples.json +31 -0
- package/src/components/connection-indicator/connection-indicator.schema.json +29 -0
- package/src/components/connection-indicator/connection-indicator.schema.ts +36 -0
- package/src/components/connection-indicator/connection-indicator.svelte +63 -0
- package/src/components/connection-indicator/connection-indicator.types.ts +58 -0
- package/src/components/connection-indicator/connection-indicator.variables.json +1 -0
- package/src/components/connection-indicator/connection-indicator.variables.ts +3 -0
- package/src/components/connection-indicator/index.ts +10 -0
- package/src/components/container/container.schema.json +3 -3
- package/src/components/container/container.schema.ts +3 -3
- package/src/components/invocation-rule-builder/index.ts +4 -0
- package/src/components/invocation-rule-builder/invocation-rule-builder.css +28 -0
- package/src/components/invocation-rule-builder/invocation-rule-builder.examples.json +6 -0
- package/src/components/invocation-rule-builder/invocation-rule-builder.schema.json +76 -3
- package/src/components/invocation-rule-builder/invocation-rule-builder.schema.ts +83 -3
- package/src/components/invocation-rule-builder/invocation-rule-builder.svelte +326 -113
- package/src/components/invocation-rule-builder/invocation-rule-builder.types.ts +157 -43
- package/src/components/json-viewer/_json-viewer-node.svelte +15 -1
- package/src/components/json-viewer/json-viewer.css +10 -6
- package/src/components/payload-inspector/index.ts +0 -2
- package/src/components/payload-inspector/payload-inspector.css +15 -75
- package/src/components/payload-inspector/payload-inspector.examples.json +5 -5
- package/src/components/payload-inspector/payload-inspector.schema.json +3 -31
- package/src/components/payload-inspector/payload-inspector.schema.ts +3 -36
- package/src/components/payload-inspector/payload-inspector.svelte +46 -239
- package/src/components/payload-inspector/payload-inspector.types.ts +10 -58
- package/src/components/run-step-timeline/index.ts +8 -0
- package/src/components/run-step-timeline/run-step-branch-disclosure.svelte +16 -0
- package/src/components/run-step-timeline/run-step-timeline.css +124 -0
- package/src/components/run-step-timeline/run-step-timeline.examples.json +18 -0
- package/src/components/run-step-timeline/run-step-timeline.schema.json +872 -349
- package/src/components/run-step-timeline/run-step-timeline.schema.ts +931 -349
- package/src/components/run-step-timeline/run-step-timeline.svelte +387 -268
- package/src/components/run-step-timeline/run-step-timeline.types.ts +192 -5
- package/src/components/run-step-timeline/run-step-timeline.utilities.ts +242 -0
- package/src/components/schedule-builder/index.ts +14 -0
- package/src/components/schedule-builder/schedule-builder.css +121 -0
- package/src/components/schedule-builder/schedule-builder.examples.json +31 -0
- package/src/components/schedule-builder/schedule-builder.schema.json +78 -0
- package/src/components/schedule-builder/schedule-builder.schema.ts +86 -0
- package/src/components/schedule-builder/schedule-builder.svelte +629 -0
- package/src/components/schedule-builder/schedule-builder.types.ts +137 -0
- package/src/components/schedule-builder/schedule-builder.utilities.ts +344 -0
- package/src/components/schedule-builder/schedule-builder.variables.json +1 -0
- package/src/components/schedule-builder/schedule-builder.variables.ts +3 -0
- package/src/components/tab/tab.schema.json +6 -2
- package/src/components/tab/tab.schema.ts +8 -2
- package/src/components/tab/tab.svelte +9 -5
- package/src/components/tab/tab.types.ts +8 -2
- package/src/components/tag-input/tag-input.schema.json +4 -0
- package/src/components/tag-input/tag-input.schema.ts +4 -0
- package/src/components/tag-input/tag-input.svelte +20 -3
- package/src/components/tag-input/tag-input.types.ts +4 -0
- package/src/index.ts +41 -5
- package/src/styles/components.css +3 -0
- package/dist/server/index-49we2xfs.js +0 -344
- package/dist/server/index-8fhvxk30.js +0 -265
- package/dist/server/index-x2ysg8ds.js +0 -388
- package/dist/server/index.server-20j0jh30.js +0 -9
- package/dist/server/index.server-dc35kh7d.js +0 -1835
- package/dist/server/index.server-kd4b0342.js +0 -607
- package/dist/server/index.server-n5cdmsz4.js +0 -30
- package/dist/server/index.server-pxg74pyp.js +0 -393
- package/dist/server/index.server-rjap4k7y.js +0 -1389
- package/dist/server/index.server-vt6sn9y4.js +0 -447
- package/dist/server/index.server-w63n618v.js +0 -9
- package/dist/server/index.server-y2pa1k46.js +0 -9
|
@@ -5,21 +5,17 @@
|
|
|
5
5
|
* between `src/` and generated `dist/`. */
|
|
6
6
|
@import '../badge/badge.css';
|
|
7
7
|
@import '../button/button.css';
|
|
8
|
-
@import '../button-group/button-group.css';
|
|
9
8
|
@import '../card/card.css';
|
|
10
9
|
@import '../code-block/code-block.css';
|
|
10
|
+
@import '../collapsible/collapsible.css';
|
|
11
11
|
@import '../copy-button/copy-button.css';
|
|
12
|
-
@import '../description-list/description-list.css';
|
|
13
12
|
@import '../json-viewer/json-viewer.css';
|
|
14
13
|
@import '../payload-inspector/payload-inspector.css';
|
|
15
|
-
@import '../secret-value-field/secret-value-field.css';
|
|
16
14
|
@import '../status-dot/status-dot.css';
|
|
17
|
-
@import '../
|
|
15
|
+
@import '../tooltip/tooltip.css';
|
|
18
16
|
|
|
19
17
|
@layer cinder.components {
|
|
20
18
|
.cinder-approval-card {
|
|
21
|
-
container-type: inline-size;
|
|
22
|
-
container-name: cinder-approval-card;
|
|
23
19
|
display: block;
|
|
24
20
|
}
|
|
25
21
|
|
|
@@ -27,35 +23,37 @@
|
|
|
27
23
|
overflow: hidden;
|
|
28
24
|
}
|
|
29
25
|
|
|
26
|
+
/* ----------------------------------------
|
|
27
|
+
* Header
|
|
28
|
+
* ---------------------------------------- */
|
|
29
|
+
|
|
30
30
|
.cinder-approval-card__header {
|
|
31
31
|
display: flex;
|
|
32
|
+
flex-wrap: wrap;
|
|
32
33
|
align-items: flex-start;
|
|
33
34
|
justify-content: space-between;
|
|
34
|
-
gap: var(--cinder-space-4);
|
|
35
|
+
gap: var(--cinder-space-2) var(--cinder-space-4);
|
|
35
36
|
padding: var(--cinder-space-4);
|
|
36
|
-
border-block-end: 1px solid var(--cinder-border-muted);
|
|
37
37
|
background: var(--cinder-surface-inset);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
.cinder-approval-card[data-cinder-risk='high'] .cinder-approval-card__header {
|
|
41
|
+
background: var(--cinder-color-danger-bg);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* Title and badges stay on one row whenever they both fit — `flex-wrap`
|
|
45
|
+
reacts to the actual rendered width of this title (which varies with the
|
|
46
|
+
tool name) instead of guessing a fixed container breakpoint. Below
|
|
47
|
+
`min-inline-size`, the title wraps its own text first; badges only drop
|
|
48
|
+
to their own row once nothing more can give. On that solo-item row,
|
|
49
|
+
`justify-content: space-between` on the header collapses to flex-start,
|
|
50
|
+
so no separate narrow-container override is needed. */
|
|
40
51
|
.cinder-approval-card__title-group {
|
|
41
52
|
display: flex;
|
|
42
53
|
flex-direction: column;
|
|
54
|
+
flex: 1 1 14rem;
|
|
43
55
|
gap: var(--cinder-space-1);
|
|
44
|
-
min-inline-size:
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.cinder-approval-card__eyebrow,
|
|
48
|
-
.cinder-approval-card__description,
|
|
49
|
-
.cinder-approval-card__muted {
|
|
50
|
-
margin: 0;
|
|
51
|
-
color: var(--cinder-text-muted);
|
|
52
|
-
font-size: var(--cinder-text-sm);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.cinder-approval-card__eyebrow {
|
|
56
|
-
font-size: var(--cinder-text-xs);
|
|
57
|
-
font-weight: var(--cinder-font-semibold);
|
|
58
|
-
text-transform: uppercase;
|
|
56
|
+
min-inline-size: 10rem;
|
|
59
57
|
}
|
|
60
58
|
|
|
61
59
|
.cinder-approval-card__title {
|
|
@@ -66,23 +64,63 @@
|
|
|
66
64
|
line-height: var(--cinder-leading-tight);
|
|
67
65
|
}
|
|
68
66
|
|
|
69
|
-
.cinder-approval-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
.cinder-approval-card__title-tool {
|
|
68
|
+
font-family: var(--cinder-font-mono);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.cinder-approval-card__badges {
|
|
72
72
|
display: flex;
|
|
73
|
+
flex: 0 1 auto;
|
|
73
74
|
align-items: center;
|
|
74
75
|
flex-wrap: wrap;
|
|
76
|
+
justify-content: flex-end;
|
|
75
77
|
gap: var(--cinder-space-2);
|
|
76
78
|
}
|
|
77
79
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
/* StatusDot and Badge each define their own type scale per size step, and
|
|
81
|
+
those scales don't line up 1:1 (StatusDot's "sm" label text is larger
|
|
82
|
+
than Badge's "sm" text). Force every status/risk/expiry indicator in this
|
|
83
|
+
row to the same font-size so the row reads as one cohesive unit. */
|
|
84
|
+
.cinder-approval-card__badges .cinder-status-dot[data-cinder-size='sm'],
|
|
85
|
+
.cinder-approval-card__badges .cinder-badge[data-cinder-size='sm'] {
|
|
86
|
+
font-size: var(--cinder-text-xs);
|
|
80
87
|
}
|
|
81
88
|
|
|
89
|
+
.cinder-approval-card__risk-icon {
|
|
90
|
+
display: inline-flex;
|
|
91
|
+
align-items: center;
|
|
92
|
+
border-radius: var(--cinder-radius-sm);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.cinder-approval-card__risk-icon[data-cinder-risk='low'] {
|
|
96
|
+
color: var(--cinder-success);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.cinder-approval-card__risk-icon[data-cinder-risk='medium'] {
|
|
100
|
+
color: var(--cinder-warning);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.cinder-approval-card__risk-icon[data-cinder-risk='high'] {
|
|
104
|
+
color: var(--cinder-danger);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.cinder-approval-card__risk-icon:focus-visible {
|
|
108
|
+
/* cinder-focus-ring-owner: parent — the trigger self-owns its box-shadow
|
|
109
|
+
ring; the outline is intentionally suppressed. */
|
|
110
|
+
outline: none;
|
|
111
|
+
box-shadow:
|
|
112
|
+
0 0 0 var(--cinder-ring-offset, 1px) var(--cinder-ring-offset-color),
|
|
113
|
+
0 0 0 calc(var(--cinder-ring-offset, 1px) + var(--cinder-ring-width)) var(--cinder-ring-color);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* ----------------------------------------
|
|
117
|
+
* Body sections
|
|
118
|
+
* ---------------------------------------- */
|
|
119
|
+
|
|
82
120
|
.cinder-approval-card__body {
|
|
83
121
|
display: flex;
|
|
84
122
|
flex-direction: column;
|
|
85
|
-
gap: var(--cinder-space-
|
|
123
|
+
gap: var(--cinder-space-3);
|
|
86
124
|
padding: var(--cinder-space-4);
|
|
87
125
|
}
|
|
88
126
|
|
|
@@ -92,57 +130,33 @@
|
|
|
92
130
|
gap: var(--cinder-space-2);
|
|
93
131
|
}
|
|
94
132
|
|
|
95
|
-
.cinder-approval-card__section-
|
|
96
|
-
|
|
133
|
+
.cinder-approval-card__section-heading {
|
|
134
|
+
display: flex;
|
|
135
|
+
align-items: center;
|
|
136
|
+
flex-wrap: wrap;
|
|
137
|
+
gap: var(--cinder-space-2);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.cinder-approval-card__section-title {
|
|
97
141
|
margin: 0;
|
|
98
142
|
color: var(--cinder-text);
|
|
99
143
|
font-size: var(--cinder-text-sm);
|
|
100
144
|
font-weight: var(--cinder-font-semibold);
|
|
101
145
|
}
|
|
102
146
|
|
|
103
|
-
.cinder-approval-
|
|
104
|
-
font-size: var(--cinder-text-xs);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.cinder-approval-card__metadata {
|
|
108
|
-
display: grid;
|
|
109
|
-
grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
|
|
110
|
-
gap: var(--cinder-space-2);
|
|
147
|
+
.cinder-approval-card__muted {
|
|
111
148
|
margin: 0;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.cinder-approval-card__metadata--compact {
|
|
115
|
-
grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
.cinder-approval-card__metadata-item {
|
|
119
|
-
min-inline-size: 0;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
.cinder-approval-card__metadata-item dt {
|
|
123
149
|
color: var(--cinder-text-muted);
|
|
124
|
-
font-size: var(--cinder-text-
|
|
125
|
-
font-weight: var(--cinder-font-medium);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.cinder-approval-card__metadata-item dd {
|
|
129
|
-
margin: 0;
|
|
130
|
-
overflow-wrap: anywhere;
|
|
131
|
-
color: var(--cinder-text);
|
|
132
|
-
font-family: var(--cinder-font-mono);
|
|
133
|
-
font-size: var(--cinder-text-xs);
|
|
150
|
+
font-size: var(--cinder-text-sm);
|
|
134
151
|
}
|
|
135
152
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
gap: var(--cinder-space-2);
|
|
140
|
-
}
|
|
153
|
+
/* ----------------------------------------
|
|
154
|
+
* Files touched
|
|
155
|
+
* ---------------------------------------- */
|
|
141
156
|
|
|
142
157
|
.cinder-approval-card__file-list {
|
|
143
158
|
display: flex;
|
|
144
159
|
flex-direction: column;
|
|
145
|
-
gap: var(--cinder-space-1);
|
|
146
160
|
max-block-size: 14rem;
|
|
147
161
|
overflow-y: auto;
|
|
148
162
|
margin: 0;
|
|
@@ -150,49 +164,76 @@
|
|
|
150
164
|
list-style: none;
|
|
151
165
|
}
|
|
152
166
|
|
|
153
|
-
.cinder-approval-card__file
|
|
167
|
+
.cinder-approval-card__file {
|
|
168
|
+
display: flex;
|
|
169
|
+
align-items: center;
|
|
170
|
+
justify-content: space-between;
|
|
171
|
+
gap: var(--cinder-space-2);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.cinder-approval-card__file-path {
|
|
154
175
|
overflow-wrap: anywhere;
|
|
155
|
-
border: 1px solid var(--cinder-border-muted);
|
|
156
|
-
border-radius: var(--cinder-radius-sm);
|
|
157
|
-
padding: var(--cinder-space-1) var(--cinder-space-2);
|
|
158
|
-
background: var(--cinder-surface-inset);
|
|
159
176
|
color: var(--cinder-text);
|
|
160
177
|
font-family: var(--cinder-font-mono);
|
|
161
178
|
font-size: var(--cinder-text-xs);
|
|
162
179
|
}
|
|
163
180
|
|
|
181
|
+
.cinder-approval-card__file .cinder-approval-card__file-copy {
|
|
182
|
+
flex: 0 0 auto;
|
|
183
|
+
padding: var(--cinder-space-1);
|
|
184
|
+
border: none;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/* ----------------------------------------
|
|
188
|
+
* Environment names
|
|
189
|
+
* ---------------------------------------- */
|
|
190
|
+
|
|
164
191
|
.cinder-approval-card__environment-list {
|
|
165
|
-
display:
|
|
166
|
-
|
|
192
|
+
display: flex;
|
|
193
|
+
flex-wrap: wrap;
|
|
167
194
|
gap: var(--cinder-space-2);
|
|
195
|
+
margin: 0;
|
|
196
|
+
padding: 0;
|
|
197
|
+
list-style: none;
|
|
168
198
|
}
|
|
169
199
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
200
|
+
/* ----------------------------------------
|
|
201
|
+
* Resolution controls and actions
|
|
202
|
+
* ---------------------------------------- */
|
|
173
203
|
|
|
174
|
-
.cinder-approval-
|
|
204
|
+
.cinder-approval-card__actions {
|
|
175
205
|
display: flex;
|
|
176
206
|
flex-direction: column;
|
|
177
|
-
gap: var(--cinder-space-
|
|
207
|
+
gap: var(--cinder-space-3);
|
|
178
208
|
}
|
|
179
209
|
|
|
180
|
-
.cinder-approval-
|
|
210
|
+
.cinder-approval-card__resolution-controls {
|
|
181
211
|
display: flex;
|
|
182
212
|
flex-direction: column;
|
|
183
213
|
gap: var(--cinder-space-2);
|
|
184
|
-
border: 1px solid var(--cinder-border-muted);
|
|
185
|
-
border-radius: var(--cinder-radius-md);
|
|
186
|
-
padding: var(--cinder-space-3);
|
|
187
|
-
background: var(--cinder-surface-inset);
|
|
188
214
|
}
|
|
189
215
|
|
|
190
|
-
.cinder-approval-
|
|
216
|
+
.cinder-approval-card__control-label {
|
|
191
217
|
color: var(--cinder-text);
|
|
192
218
|
font-size: var(--cinder-text-sm);
|
|
193
219
|
font-weight: var(--cinder-font-semibold);
|
|
194
220
|
}
|
|
195
221
|
|
|
222
|
+
.cinder-approval-card__action-row {
|
|
223
|
+
display: flex;
|
|
224
|
+
align-items: center;
|
|
225
|
+
flex-wrap: wrap;
|
|
226
|
+
gap: var(--cinder-space-3);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.cinder-approval-card__action-buttons {
|
|
230
|
+
display: flex;
|
|
231
|
+
align-items: center;
|
|
232
|
+
flex-wrap: wrap;
|
|
233
|
+
gap: var(--cinder-space-2);
|
|
234
|
+
margin-inline-start: auto;
|
|
235
|
+
}
|
|
236
|
+
|
|
196
237
|
.cinder-approval-card__textarea {
|
|
197
238
|
min-block-size: 10rem;
|
|
198
239
|
resize: vertical;
|
|
@@ -206,7 +247,7 @@
|
|
|
206
247
|
}
|
|
207
248
|
|
|
208
249
|
.cinder-approval-card__textarea--reason {
|
|
209
|
-
min-block-size: 5rem;
|
|
250
|
+
min-block-size: 3.5rem;
|
|
210
251
|
font-family: var(--cinder-font-sans);
|
|
211
252
|
}
|
|
212
253
|
|
|
@@ -233,12 +274,33 @@
|
|
|
233
274
|
box-shadow: var(--_cinder-focus-ring-shadow);
|
|
234
275
|
}
|
|
235
276
|
|
|
277
|
+
.cinder-approval-card__editor {
|
|
278
|
+
display: flex;
|
|
279
|
+
flex-direction: column;
|
|
280
|
+
gap: var(--cinder-space-2);
|
|
281
|
+
border: 1px solid var(--cinder-border-muted);
|
|
282
|
+
border-radius: var(--cinder-radius-md);
|
|
283
|
+
padding: var(--cinder-space-3);
|
|
284
|
+
background: var(--cinder-surface-inset);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.cinder-approval-card__editor-actions {
|
|
288
|
+
display: flex;
|
|
289
|
+
align-items: center;
|
|
290
|
+
flex-wrap: wrap;
|
|
291
|
+
gap: var(--cinder-space-2);
|
|
292
|
+
}
|
|
293
|
+
|
|
236
294
|
.cinder-approval-card__error {
|
|
237
295
|
margin: 0;
|
|
238
296
|
color: var(--cinder-danger);
|
|
239
297
|
font-size: var(--cinder-text-sm);
|
|
240
298
|
}
|
|
241
299
|
|
|
300
|
+
/* ----------------------------------------
|
|
301
|
+
* Read-only summary for terminal states
|
|
302
|
+
* ---------------------------------------- */
|
|
303
|
+
|
|
242
304
|
.cinder-approval-card__readonly-summary {
|
|
243
305
|
margin: 0;
|
|
244
306
|
border: 1px solid var(--cinder-border-muted);
|
|
@@ -249,17 +311,132 @@
|
|
|
249
311
|
font-size: var(--cinder-text-sm);
|
|
250
312
|
}
|
|
251
313
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
314
|
+
.cinder-approval-card__readonly-summary[data-cinder-state='approved'],
|
|
315
|
+
.cinder-approval-card__readonly-summary[data-cinder-state='approved_with_edits'] {
|
|
316
|
+
border-color: var(--cinder-color-success-border);
|
|
317
|
+
background: var(--cinder-color-success-bg);
|
|
318
|
+
color: var(--cinder-color-success-fg);
|
|
319
|
+
}
|
|
256
320
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
321
|
+
.cinder-approval-card__readonly-summary[data-cinder-state='denied'] {
|
|
322
|
+
border-color: var(--cinder-color-danger-border);
|
|
323
|
+
background: var(--cinder-color-danger-bg);
|
|
324
|
+
color: var(--cinder-color-danger-fg);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/* ----------------------------------------
|
|
328
|
+
* Details disclosure (sandbox, environment, request metadata)
|
|
329
|
+
* ---------------------------------------- */
|
|
330
|
+
|
|
331
|
+
.cinder-approval-card__details {
|
|
332
|
+
border: 1px solid var(--cinder-border);
|
|
333
|
+
border-radius: var(--cinder-radius-md);
|
|
334
|
+
background: var(--cinder-surface);
|
|
335
|
+
overflow: hidden;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.cinder-approval-card__details .cinder-collapsible__trigger {
|
|
339
|
+
border-radius: 0;
|
|
340
|
+
padding: var(--cinder-space-2) var(--cinder-space-3);
|
|
341
|
+
background: var(--cinder-surface-raised);
|
|
342
|
+
font-size: var(--cinder-text-sm);
|
|
343
|
+
color: var(--cinder-text-muted);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.cinder-approval-card__details[data-cinder-expanded] .cinder-collapsible__trigger {
|
|
347
|
+
border-block-end: 1px solid var(--cinder-border);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
.cinder-approval-card__details .cinder-collapsible__panel-inner {
|
|
351
|
+
padding: var(--cinder-space-3);
|
|
352
|
+
font-size: var(--cinder-text-sm);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
.cinder-approval-card__details-content {
|
|
356
|
+
display: flex;
|
|
357
|
+
flex-direction: column;
|
|
358
|
+
gap: var(--cinder-space-3);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.cinder-approval-card__details-group {
|
|
362
|
+
display: flex;
|
|
363
|
+
flex-direction: column;
|
|
364
|
+
gap: var(--cinder-space-1);
|
|
260
365
|
}
|
|
261
366
|
|
|
367
|
+
.cinder-approval-card__details-label {
|
|
368
|
+
display: flex;
|
|
369
|
+
align-items: baseline;
|
|
370
|
+
flex-wrap: wrap;
|
|
371
|
+
gap: var(--cinder-space-2);
|
|
372
|
+
margin: 0;
|
|
373
|
+
color: var(--cinder-text);
|
|
374
|
+
font-size: var(--cinder-text-xs);
|
|
375
|
+
font-weight: var(--cinder-font-semibold);
|
|
376
|
+
text-transform: uppercase;
|
|
377
|
+
letter-spacing: 0.04em;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.cinder-approval-card__details-label .cinder-approval-card__muted {
|
|
381
|
+
font-size: var(--cinder-text-xs);
|
|
382
|
+
font-weight: var(--cinder-font-normal);
|
|
383
|
+
text-transform: none;
|
|
384
|
+
letter-spacing: normal;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.cinder-approval-card__metadata {
|
|
388
|
+
display: grid;
|
|
389
|
+
grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
|
|
390
|
+
gap: var(--cinder-space-3);
|
|
391
|
+
margin: 0;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.cinder-approval-card__metadata--compact {
|
|
395
|
+
gap: var(--cinder-space-2);
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
.cinder-approval-card__metadata-item {
|
|
399
|
+
min-inline-size: 0;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.cinder-approval-card__metadata-item dt {
|
|
403
|
+
color: var(--cinder-text-muted);
|
|
404
|
+
font-size: var(--cinder-text-xs);
|
|
405
|
+
font-weight: var(--cinder-font-medium);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
.cinder-approval-card__metadata-item dd {
|
|
409
|
+
display: flex;
|
|
410
|
+
flex-direction: column;
|
|
411
|
+
gap: var(--cinder-space-1);
|
|
412
|
+
margin: 0;
|
|
413
|
+
overflow-wrap: anywhere;
|
|
414
|
+
color: var(--cinder-text);
|
|
415
|
+
font-family: var(--cinder-font-mono);
|
|
416
|
+
font-size: var(--cinder-text-xs);
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.cinder-approval-card__metadata-help {
|
|
420
|
+
color: var(--cinder-text-muted);
|
|
421
|
+
font-family: var(--cinder-font-sans);
|
|
422
|
+
font-size: var(--cinder-text-xs);
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
/* ----------------------------------------
|
|
426
|
+
* Forced colors
|
|
427
|
+
* ---------------------------------------- */
|
|
428
|
+
|
|
262
429
|
@media (forced-colors: active) {
|
|
430
|
+
.cinder-approval-card__risk-icon {
|
|
431
|
+
color: CanvasText;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.cinder-approval-card__risk-icon:focus-visible {
|
|
435
|
+
outline: 2px solid CanvasText;
|
|
436
|
+
outline-offset: 2px;
|
|
437
|
+
box-shadow: none;
|
|
438
|
+
}
|
|
439
|
+
|
|
263
440
|
.cinder-approval-card__textarea:focus-visible,
|
|
264
441
|
.cinder-approval-card__remember-control input:focus-visible {
|
|
265
442
|
outline: var(--cinder-ring-width) solid ButtonText;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
{
|
|
7
7
|
"id": "basic",
|
|
8
8
|
"title": "Command approval",
|
|
9
|
-
"description": "A pending command approval with sandbox
|
|
9
|
+
"description": "A pending command approval with sandbox context, arguments, environment names, and editable arguments.",
|
|
10
10
|
"code": "<script lang=\"ts\">\n import { ApprovalCard } from '@lostgradient/cinder/approval-card';\n\n const expiresAt = new Date(Date.now() + 30 * 60 * 1000).toISOString();\n</script>\n\n<ApprovalCard\n tool={{ name: 'deploy-cloud', risk: 'medium' }}\n sandbox={{\n provider: 'codex',\n name: 'workspace-write',\n workingDir: '/workspace/project',\n }}\n operation={{\n kind: 'command',\n command: 'bun run --filter=@lostgradient/cinder validate',\n filesTouched: ['packages/components/src/components/approval-card/approval-card.svelte'],\n argsPreview: {\n package: '@lostgradient/cinder',\n dryRun: false,\n },\n }}\n env={['DATABASE_URL', 'OPENAI_API_KEY']}\n snapshotId=\"snapshot-01JZ8\"\n policyVersion=\"policy-2026-06\"\n idempotencyKey=\"approval-command-01\"\n {expiresAt}\n state=\"pending\"\n editableArgs={true}\n onresolve={() => undefined}\n/>\n"
|
|
11
11
|
},
|
|
12
12
|
{
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
{
|
|
19
19
|
"id": "patch",
|
|
20
20
|
"title": "Patch approval",
|
|
21
|
-
"description": "A high-risk patch approval that previews touched files,
|
|
22
|
-
"code": "<script lang=\"ts\">\n import { ApprovalCard } from '@lostgradient/cinder/approval-card';\n</script>\n\n<ApprovalCard\n tool={{ name: 'apply_patch', risk: 'high' }}\n sandbox={{\n provider: 'codex',\n name: 'workspace-write',\n workingDir: '/workspace/project',\n }}\n operation={{\n kind: 'patch',\n filesTouched: [\n 'packages/components/src/components/run-step-timeline/run-step-timeline.svelte',\n 'packages/components/src/components/run-step-timeline/run-step-timeline.types.ts',\n ],\n argsPreview: {\n strip: 0,\n files: 2,\n },\n diff: `--- a/run-step-timeline.types.ts\n+++ b/run-step-timeline.types.ts\n+@@\n+ export type RunStepStatus =\n+ | 'running'\n++ | 'waiting_approval'\n+ | 'succeeded';`,\n }}\n env={['CINDER_RELEASE_TOKEN']}\n snapshotId=\"snapshot-patch-01\"\n policyVersion=\"policy-2026-06\"\n idempotencyKey=\"approval-patch-01\"\n state=\"pending\"\n
|
|
21
|
+
"description": "A high-risk patch approval that previews the proposed diff, touched files, and arguments.",
|
|
22
|
+
"code": "<script lang=\"ts\">\n import { ApprovalCard } from '@lostgradient/cinder/approval-card';\n</script>\n\n<ApprovalCard\n tool={{ name: 'apply_patch', risk: 'high' }}\n sandbox={{\n provider: 'codex',\n name: 'workspace-write',\n workingDir: '/workspace/project',\n }}\n operation={{\n kind: 'patch',\n filesTouched: [\n 'packages/components/src/components/run-step-timeline/run-step-timeline.svelte',\n 'packages/components/src/components/run-step-timeline/run-step-timeline.types.ts',\n ],\n argsPreview: {\n strip: 0,\n files: 2,\n },\n diff: `--- a/run-step-timeline.types.ts\n+++ b/run-step-timeline.types.ts\n+@@\n+ export type RunStepStatus =\n+ | 'running'\n++ | 'waiting_approval'\n+ | 'succeeded';`,\n }}\n env={['CINDER_RELEASE_TOKEN']}\n snapshotId=\"snapshot-patch-01\"\n policyVersion=\"policy-2026-06\"\n idempotencyKey=\"approval-patch-01\"\n state=\"pending\"\n onresolve={() => undefined}\n/>\n"
|
|
23
23
|
}
|
|
24
24
|
]
|
|
25
25
|
}
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"items": {
|
|
57
57
|
"type": "string"
|
|
58
58
|
},
|
|
59
|
-
"description": "File paths that the operation may read or write."
|
|
59
|
+
"description": "File paths that the operation may read or write. Duplicate paths are collapsed for display."
|
|
60
60
|
},
|
|
61
61
|
"argsPreview": {
|
|
62
62
|
"description": "JSON-like argument preview shown to the approver."
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"items": {
|
|
78
78
|
"type": "string"
|
|
79
79
|
},
|
|
80
|
-
"description": "File paths that the operation may read or write. File-write approvals require at least one path.",
|
|
80
|
+
"description": "File paths that the operation may read or write. File-write approvals require at least one path. Duplicate paths are collapsed for display.",
|
|
81
81
|
"minItems": 1
|
|
82
82
|
},
|
|
83
83
|
"argsPreview": {
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"items": {
|
|
100
100
|
"type": "string"
|
|
101
101
|
},
|
|
102
|
-
"description": "File paths that the operation may read or write."
|
|
102
|
+
"description": "File paths that the operation may read or write. Duplicate paths are collapsed for display."
|
|
103
103
|
},
|
|
104
104
|
"argsPreview": {
|
|
105
105
|
"description": "JSON-like argument preview shown to the approver."
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
"items": {
|
|
125
125
|
"type": "string"
|
|
126
126
|
},
|
|
127
|
-
"description": "File paths that the operation may read or write."
|
|
127
|
+
"description": "File paths that the operation may read or write. Duplicate paths are collapsed for display."
|
|
128
128
|
},
|
|
129
129
|
"argsPreview": {
|
|
130
130
|
"description": "JSON-like argument preview shown to the approver."
|
|
@@ -167,6 +167,10 @@
|
|
|
167
167
|
"type": "boolean",
|
|
168
168
|
"description": "Whether approving with edited JSON arguments is available. Default `false`."
|
|
169
169
|
},
|
|
170
|
+
"headingLevel": {
|
|
171
|
+
"enum": [2, 3, 4, 5, 6],
|
|
172
|
+
"description": "Heading level for the card title; section headings render one level deeper. Default `3`."
|
|
173
|
+
},
|
|
170
174
|
"class": {
|
|
171
175
|
"type": "string",
|
|
172
176
|
"description": "Additional CSS classes applied to the root element."
|
|
@@ -176,35 +180,10 @@
|
|
|
176
180
|
"required": ["idempotencyKey", "operation", "policyVersion", "state", "tool"],
|
|
177
181
|
"metadata": {
|
|
178
182
|
"unsupportedProps": [
|
|
179
|
-
{
|
|
180
|
-
"name": "onapprove",
|
|
181
|
-
"reason": "function-or-snippet",
|
|
182
|
-
"description": "Called when the approver accepts the operation as presented."
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
"name": "onapprovewithedits",
|
|
186
|
-
"reason": "function-or-snippet",
|
|
187
|
-
"description": "Called with parsed JSON arguments when the approver accepts edited arguments."
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
"name": "oncancel",
|
|
191
|
-
"reason": "function-or-snippet",
|
|
192
|
-
"description": "Called when the approver cancels the approval prompt."
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
"name": "ondeny",
|
|
196
|
-
"reason": "function-or-snippet",
|
|
197
|
-
"description": "Called when the approver denies the operation."
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
"name": "onremember",
|
|
201
|
-
"reason": "function-or-snippet",
|
|
202
|
-
"description": "Called when the approver asks the host application to remember the decision."
|
|
203
|
-
},
|
|
204
183
|
{
|
|
205
184
|
"name": "onresolve",
|
|
206
185
|
"reason": "function-or-snippet",
|
|
207
|
-
"description": "Called for approve, approve-with-edits, deny, and
|
|
186
|
+
"description": "Called for approve, approve-with-edits, deny, and dismiss with the complete resolution payload."
|
|
208
187
|
}
|
|
209
188
|
]
|
|
210
189
|
}
|
|
@@ -58,7 +58,8 @@ const schema = {
|
|
|
58
58
|
items: {
|
|
59
59
|
type: 'string',
|
|
60
60
|
},
|
|
61
|
-
description:
|
|
61
|
+
description:
|
|
62
|
+
'File paths that the operation may read or write. Duplicate paths are collapsed for display.',
|
|
62
63
|
},
|
|
63
64
|
argsPreview: {
|
|
64
65
|
description: 'JSON-like argument preview shown to the approver.',
|
|
@@ -80,7 +81,7 @@ const schema = {
|
|
|
80
81
|
type: 'string',
|
|
81
82
|
},
|
|
82
83
|
description:
|
|
83
|
-
'File paths that the operation may read or write. File-write approvals require at least one path.',
|
|
84
|
+
'File paths that the operation may read or write. File-write approvals require at least one path. Duplicate paths are collapsed for display.',
|
|
84
85
|
minItems: 1,
|
|
85
86
|
},
|
|
86
87
|
argsPreview: {
|
|
@@ -102,7 +103,8 @@ const schema = {
|
|
|
102
103
|
items: {
|
|
103
104
|
type: 'string',
|
|
104
105
|
},
|
|
105
|
-
description:
|
|
106
|
+
description:
|
|
107
|
+
'File paths that the operation may read or write. Duplicate paths are collapsed for display.',
|
|
106
108
|
},
|
|
107
109
|
argsPreview: {
|
|
108
110
|
description: 'JSON-like argument preview shown to the approver.',
|
|
@@ -127,7 +129,8 @@ const schema = {
|
|
|
127
129
|
items: {
|
|
128
130
|
type: 'string',
|
|
129
131
|
},
|
|
130
|
-
description:
|
|
132
|
+
description:
|
|
133
|
+
'File paths that the operation may read or write. Duplicate paths are collapsed for display.',
|
|
131
134
|
},
|
|
132
135
|
argsPreview: {
|
|
133
136
|
description: 'JSON-like argument preview shown to the approver.',
|
|
@@ -171,6 +174,11 @@ const schema = {
|
|
|
171
174
|
type: 'boolean',
|
|
172
175
|
description: 'Whether approving with edited JSON arguments is available. Default `false`.',
|
|
173
176
|
},
|
|
177
|
+
headingLevel: {
|
|
178
|
+
enum: [2, 3, 4, 5, 6],
|
|
179
|
+
description:
|
|
180
|
+
'Heading level for the card title; section headings render one level deeper. Default `3`.',
|
|
181
|
+
},
|
|
174
182
|
class: {
|
|
175
183
|
type: 'string',
|
|
176
184
|
description: 'Additional CSS classes applied to the root element.',
|
|
@@ -180,37 +188,11 @@ const schema = {
|
|
|
180
188
|
required: ['idempotencyKey', 'operation', 'policyVersion', 'state', 'tool'],
|
|
181
189
|
metadata: {
|
|
182
190
|
unsupportedProps: [
|
|
183
|
-
{
|
|
184
|
-
name: 'onapprove',
|
|
185
|
-
reason: 'function-or-snippet',
|
|
186
|
-
description: 'Called when the approver accepts the operation as presented.',
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
name: 'onapprovewithedits',
|
|
190
|
-
reason: 'function-or-snippet',
|
|
191
|
-
description:
|
|
192
|
-
'Called with parsed JSON arguments when the approver accepts edited arguments.',
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
name: 'oncancel',
|
|
196
|
-
reason: 'function-or-snippet',
|
|
197
|
-
description: 'Called when the approver cancels the approval prompt.',
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
name: 'ondeny',
|
|
201
|
-
reason: 'function-or-snippet',
|
|
202
|
-
description: 'Called when the approver denies the operation.',
|
|
203
|
-
},
|
|
204
|
-
{
|
|
205
|
-
name: 'onremember',
|
|
206
|
-
reason: 'function-or-snippet',
|
|
207
|
-
description: 'Called when the approver asks the host application to remember the decision.',
|
|
208
|
-
},
|
|
209
191
|
{
|
|
210
192
|
name: 'onresolve',
|
|
211
193
|
reason: 'function-or-snippet',
|
|
212
194
|
description:
|
|
213
|
-
'Called for approve, approve-with-edits, deny, and
|
|
195
|
+
'Called for approve, approve-with-edits, deny, and dismiss with the complete resolution payload.',
|
|
214
196
|
},
|
|
215
197
|
],
|
|
216
198
|
},
|