@oddkin/ai 0.0.0-stage → 1.0.0-beta.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/LICENSE +21 -0
- package/README.md +108 -2
- package/agent/GUIDE.md +31 -0
- package/agent/kit.json +425 -0
- package/agent/llms.txt +82 -0
- package/agent/references/choosing-components.md +78 -0
- package/agent/references/components/odd-action-approval.md +77 -0
- package/agent/references/components/odd-activity.md +74 -0
- package/agent/references/components/odd-ai-label.md +69 -0
- package/agent/references/components/odd-artifact.md +84 -0
- package/agent/references/components/odd-change-review.md +77 -0
- package/agent/references/components/odd-checkpoint.md +74 -0
- package/agent/references/components/odd-citation.md +72 -0
- package/agent/references/components/odd-context-picker.md +74 -0
- package/agent/references/components/odd-conversation.md +102 -0
- package/agent/references/components/odd-inline-assist.md +80 -0
- package/agent/references/components/odd-message-branch.md +69 -0
- package/agent/references/components/odd-message.md +95 -0
- package/agent/references/components/odd-model-select.md +80 -0
- package/agent/references/components/odd-prompt-input.md +112 -0
- package/agent/references/components/odd-question.md +74 -0
- package/agent/references/components/odd-response-feedback.md +75 -0
- package/agent/references/components/odd-response.md +90 -0
- package/agent/references/components/odd-sources.md +76 -0
- package/agent/references/components/odd-suggestions.md +72 -0
- package/agent/references/components/odd-task-plan.md +69 -0
- package/agent/references/components/odd-tool-call.md +78 -0
- package/agent/references/components/odd-transcript.md +69 -0
- package/agent/references/components/odd-usage-meter.md +67 -0
- package/agent/references/components/odd-voice-input.md +76 -0
- package/agent/references/models/oddkin.ai.approval.md +3 -0
- package/agent/references/models/oddkin.ai.artifact.md +3 -0
- package/agent/references/models/oddkin.ai.checkpoint.md +3 -0
- package/agent/references/models/oddkin.ai.context-item.md +3 -0
- package/agent/references/models/oddkin.ai.conversation.md +3 -0
- package/agent/references/models/oddkin.ai.feedback.md +3 -0
- package/agent/references/models/oddkin.ai.message.md +3 -0
- package/agent/references/models/oddkin.ai.model-option.md +3 -0
- package/agent/references/models/oddkin.ai.plan.md +3 -0
- package/agent/references/models/oddkin.ai.question.md +3 -0
- package/agent/references/models/oddkin.ai.suggestion.md +3 -0
- package/agent/references/models/oddkin.ai.tool-call.md +3 -0
- package/agent/references/models/oddkin.ai.transcript-segment.md +3 -0
- package/agent/references/models/oddkin.ai.usage.md +3 -0
- package/agent/references/recipes/action-approval.md +12 -0
- package/agent/references/recipes/activity.md +9 -0
- package/agent/references/recipes/ai-element.md +9 -0
- package/agent/references/recipes/artifact.md +10 -0
- package/agent/references/recipes/change-review.md +11 -0
- package/agent/references/recipes/checkpoint.md +10 -0
- package/agent/references/recipes/citation.md +9 -0
- package/agent/references/recipes/context-picker.md +12 -0
- package/agent/references/recipes/conversation.md +12 -0
- package/agent/references/recipes/inline-assist.md +11 -0
- package/agent/references/recipes/message.md +12 -0
- package/agent/references/recipes/prompt-input.md +12 -0
- package/agent/references/recipes/question.md +12 -0
- package/agent/references/recipes/response-feedback.md +12 -0
- package/agent/references/recipes/sources.md +10 -0
- package/agent/references/recipes/suggestions.md +9 -0
- package/agent/references/recipes/task-plan.md +15 -0
- package/agent/references/recipes/tool-call.md +11 -0
- package/agent/references/recipes/transcript.md +9 -0
- package/agent/references/recipes/usage-meter.md +9 -0
- package/agent/references/recipes/voice-input.md +9 -0
- package/agent/references/tokens/component.md +13 -0
- package/agent/references/tokens/foundation.md +73 -0
- package/agent/references/tokens/layout.md +12 -0
- package/agent/references/tokens/reference.md +74 -0
- package/agent/references/tokens/semantic.md +91 -0
- package/custom-elements.json +3998 -0
- package/dist/action-approval/action-approval.d.ts +207 -0
- package/dist/action-approval/action-approval.d.ts.map +1 -0
- package/dist/action-approval/action-approval.define.d.ts +3 -0
- package/dist/action-approval/action-approval.define.d.ts.map +1 -0
- package/dist/action-approval/action-approval.define.js +5 -0
- package/dist/action-approval/action-approval.define.js.map +1 -0
- package/dist/action-approval/action-approval.definition.d.ts +3 -0
- package/dist/action-approval/action-approval.definition.d.ts.map +1 -0
- package/dist/action-approval/action-approval.definition.js +14 -0
- package/dist/action-approval/action-approval.definition.js.map +1 -0
- package/dist/action-approval/action-approval.js +172 -0
- package/dist/action-approval/action-approval.js.map +1 -0
- package/dist/action-approval/action-approval.recipe.d.ts +6 -0
- package/dist/action-approval/action-approval.recipe.d.ts.map +1 -0
- package/dist/action-approval/action-approval.recipe.js +16 -0
- package/dist/action-approval/action-approval.recipe.js.map +1 -0
- package/dist/action-approval/action-approval.recipe.styles.d.ts +2 -0
- package/dist/action-approval/action-approval.recipe.styles.d.ts.map +1 -0
- package/dist/action-approval/action-approval.recipe.styles.js +5 -0
- package/dist/action-approval/action-approval.recipe.styles.js.map +1 -0
- package/dist/action-approval/action-approval.styles.d.ts +3 -0
- package/dist/action-approval/action-approval.styles.d.ts.map +1 -0
- package/dist/action-approval/action-approval.styles.js +67 -0
- package/dist/action-approval/action-approval.styles.js.map +1 -0
- package/dist/action-approval/action-approval.template.d.ts +4 -0
- package/dist/action-approval/action-approval.template.d.ts.map +1 -0
- package/dist/action-approval/action-approval.template.js +93 -0
- package/dist/action-approval/action-approval.template.js.map +1 -0
- package/dist/action-approval/index.d.ts +5 -0
- package/dist/action-approval/index.d.ts.map +1 -0
- package/dist/action-approval/index.js +6 -0
- package/dist/action-approval/index.js.map +1 -0
- package/dist/activity/activity.d.ts +178 -0
- package/dist/activity/activity.d.ts.map +1 -0
- package/dist/activity/activity.define.d.ts +3 -0
- package/dist/activity/activity.define.d.ts.map +1 -0
- package/dist/activity/activity.define.js +5 -0
- package/dist/activity/activity.define.js.map +1 -0
- package/dist/activity/activity.definition.d.ts +3 -0
- package/dist/activity/activity.definition.d.ts.map +1 -0
- package/dist/activity/activity.definition.js +12 -0
- package/dist/activity/activity.definition.js.map +1 -0
- package/dist/activity/activity.js +124 -0
- package/dist/activity/activity.js.map +1 -0
- package/dist/activity/activity.recipe.d.ts +3 -0
- package/dist/activity/activity.recipe.d.ts.map +1 -0
- package/dist/activity/activity.recipe.js +8 -0
- package/dist/activity/activity.recipe.js.map +1 -0
- package/dist/activity/activity.recipe.styles.d.ts +2 -0
- package/dist/activity/activity.recipe.styles.d.ts.map +1 -0
- package/dist/activity/activity.recipe.styles.js +5 -0
- package/dist/activity/activity.recipe.styles.js.map +1 -0
- package/dist/activity/activity.styles.d.ts +3 -0
- package/dist/activity/activity.styles.d.ts.map +1 -0
- package/dist/activity/activity.styles.js +37 -0
- package/dist/activity/activity.styles.js.map +1 -0
- package/dist/activity/activity.template.d.ts +4 -0
- package/dist/activity/activity.template.d.ts.map +1 -0
- package/dist/activity/activity.template.js +23 -0
- package/dist/activity/activity.template.js.map +1 -0
- package/dist/activity/index.d.ts +5 -0
- package/dist/activity/index.d.ts.map +1 -0
- package/dist/activity/index.js +6 -0
- package/dist/activity/index.js.map +1 -0
- package/dist/ai-label/ai-label.d.ts +57 -0
- package/dist/ai-label/ai-label.d.ts.map +1 -0
- package/dist/ai-label/ai-label.define.d.ts +3 -0
- package/dist/ai-label/ai-label.define.d.ts.map +1 -0
- package/dist/ai-label/ai-label.define.js +5 -0
- package/dist/ai-label/ai-label.define.js.map +1 -0
- package/dist/ai-label/ai-label.definition.d.ts +3 -0
- package/dist/ai-label/ai-label.definition.d.ts.map +1 -0
- package/dist/ai-label/ai-label.definition.js +12 -0
- package/dist/ai-label/ai-label.definition.js.map +1 -0
- package/dist/ai-label/ai-label.js +41 -0
- package/dist/ai-label/ai-label.js.map +1 -0
- package/dist/ai-label/ai-label.styles.d.ts +2 -0
- package/dist/ai-label/ai-label.styles.d.ts.map +1 -0
- package/dist/ai-label/ai-label.styles.js +40 -0
- package/dist/ai-label/ai-label.styles.js.map +1 -0
- package/dist/ai-label/ai-label.template.d.ts +4 -0
- package/dist/ai-label/ai-label.template.d.ts.map +1 -0
- package/dist/ai-label/ai-label.template.js +32 -0
- package/dist/ai-label/ai-label.template.js.map +1 -0
- package/dist/ai-label/index.d.ts +5 -0
- package/dist/ai-label/index.d.ts.map +1 -0
- package/dist/ai-label/index.js +6 -0
- package/dist/ai-label/index.js.map +1 -0
- package/dist/announce.d.ts +11 -0
- package/dist/announce.d.ts.map +1 -0
- package/dist/announce.js +21 -0
- package/dist/announce.js.map +1 -0
- package/dist/artifact/artifact.d.ts +118 -0
- package/dist/artifact/artifact.d.ts.map +1 -0
- package/dist/artifact/artifact.define.d.ts +3 -0
- package/dist/artifact/artifact.define.d.ts.map +1 -0
- package/dist/artifact/artifact.define.js +5 -0
- package/dist/artifact/artifact.define.js.map +1 -0
- package/dist/artifact/artifact.definition.d.ts +3 -0
- package/dist/artifact/artifact.definition.d.ts.map +1 -0
- package/dist/artifact/artifact.definition.js +12 -0
- package/dist/artifact/artifact.definition.js.map +1 -0
- package/dist/artifact/artifact.js +190 -0
- package/dist/artifact/artifact.js.map +1 -0
- package/dist/artifact/artifact.recipe.d.ts +3 -0
- package/dist/artifact/artifact.recipe.d.ts.map +1 -0
- package/dist/artifact/artifact.recipe.js +11 -0
- package/dist/artifact/artifact.recipe.js.map +1 -0
- package/dist/artifact/artifact.recipe.styles.d.ts +2 -0
- package/dist/artifact/artifact.recipe.styles.d.ts.map +1 -0
- package/dist/artifact/artifact.recipe.styles.js +5 -0
- package/dist/artifact/artifact.recipe.styles.js.map +1 -0
- package/dist/artifact/artifact.styles.d.ts +3 -0
- package/dist/artifact/artifact.styles.d.ts.map +1 -0
- package/dist/artifact/artifact.styles.js +70 -0
- package/dist/artifact/artifact.styles.js.map +1 -0
- package/dist/artifact/artifact.template.d.ts +4 -0
- package/dist/artifact/artifact.template.d.ts.map +1 -0
- package/dist/artifact/artifact.template.js +60 -0
- package/dist/artifact/artifact.template.js.map +1 -0
- package/dist/artifact/index.d.ts +6 -0
- package/dist/artifact/index.d.ts.map +1 -0
- package/dist/artifact/index.js +6 -0
- package/dist/artifact/index.js.map +1 -0
- package/dist/change-review/change-review.d.ts +101 -0
- package/dist/change-review/change-review.d.ts.map +1 -0
- package/dist/change-review/change-review.define.d.ts +3 -0
- package/dist/change-review/change-review.define.d.ts.map +1 -0
- package/dist/change-review/change-review.define.js +5 -0
- package/dist/change-review/change-review.define.js.map +1 -0
- package/dist/change-review/change-review.definition.d.ts +3 -0
- package/dist/change-review/change-review.definition.d.ts.map +1 -0
- package/dist/change-review/change-review.definition.js +14 -0
- package/dist/change-review/change-review.definition.js.map +1 -0
- package/dist/change-review/change-review.js +142 -0
- package/dist/change-review/change-review.js.map +1 -0
- package/dist/change-review/change-review.recipe.d.ts +6 -0
- package/dist/change-review/change-review.recipe.d.ts.map +1 -0
- package/dist/change-review/change-review.recipe.js +15 -0
- package/dist/change-review/change-review.recipe.js.map +1 -0
- package/dist/change-review/change-review.recipe.styles.d.ts +2 -0
- package/dist/change-review/change-review.recipe.styles.d.ts.map +1 -0
- package/dist/change-review/change-review.recipe.styles.js +5 -0
- package/dist/change-review/change-review.recipe.styles.js.map +1 -0
- package/dist/change-review/change-review.styles.d.ts +3 -0
- package/dist/change-review/change-review.styles.d.ts.map +1 -0
- package/dist/change-review/change-review.styles.js +68 -0
- package/dist/change-review/change-review.styles.js.map +1 -0
- package/dist/change-review/change-review.template.d.ts +4 -0
- package/dist/change-review/change-review.template.d.ts.map +1 -0
- package/dist/change-review/change-review.template.js +91 -0
- package/dist/change-review/change-review.template.js.map +1 -0
- package/dist/change-review/index.d.ts +5 -0
- package/dist/change-review/index.d.ts.map +1 -0
- package/dist/change-review/index.js +6 -0
- package/dist/change-review/index.js.map +1 -0
- package/dist/checkpoint/checkpoint.d.ts +162 -0
- package/dist/checkpoint/checkpoint.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.define.d.ts +3 -0
- package/dist/checkpoint/checkpoint.define.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.define.js +5 -0
- package/dist/checkpoint/checkpoint.define.js.map +1 -0
- package/dist/checkpoint/checkpoint.definition.d.ts +3 -0
- package/dist/checkpoint/checkpoint.definition.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.definition.js +14 -0
- package/dist/checkpoint/checkpoint.definition.js.map +1 -0
- package/dist/checkpoint/checkpoint.js +130 -0
- package/dist/checkpoint/checkpoint.js.map +1 -0
- package/dist/checkpoint/checkpoint.recipe.d.ts +3 -0
- package/dist/checkpoint/checkpoint.recipe.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.recipe.js +11 -0
- package/dist/checkpoint/checkpoint.recipe.js.map +1 -0
- package/dist/checkpoint/checkpoint.recipe.styles.d.ts +2 -0
- package/dist/checkpoint/checkpoint.recipe.styles.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.recipe.styles.js +5 -0
- package/dist/checkpoint/checkpoint.recipe.styles.js.map +1 -0
- package/dist/checkpoint/checkpoint.styles.d.ts +3 -0
- package/dist/checkpoint/checkpoint.styles.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.styles.js +39 -0
- package/dist/checkpoint/checkpoint.styles.js.map +1 -0
- package/dist/checkpoint/checkpoint.template.d.ts +4 -0
- package/dist/checkpoint/checkpoint.template.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.template.js +69 -0
- package/dist/checkpoint/checkpoint.template.js.map +1 -0
- package/dist/checkpoint/index.d.ts +5 -0
- package/dist/checkpoint/index.d.ts.map +1 -0
- package/dist/checkpoint/index.js +6 -0
- package/dist/checkpoint/index.js.map +1 -0
- package/dist/citation/citation.d.ts +83 -0
- package/dist/citation/citation.d.ts.map +1 -0
- package/dist/citation/citation.define.d.ts +3 -0
- package/dist/citation/citation.define.d.ts.map +1 -0
- package/dist/citation/citation.define.js +5 -0
- package/dist/citation/citation.define.js.map +1 -0
- package/dist/citation/citation.definition.d.ts +3 -0
- package/dist/citation/citation.definition.d.ts.map +1 -0
- package/dist/citation/citation.definition.js +12 -0
- package/dist/citation/citation.definition.js.map +1 -0
- package/dist/citation/citation.js +87 -0
- package/dist/citation/citation.js.map +1 -0
- package/dist/citation/citation.recipe.d.ts +3 -0
- package/dist/citation/citation.recipe.d.ts.map +1 -0
- package/dist/citation/citation.recipe.js +8 -0
- package/dist/citation/citation.recipe.js.map +1 -0
- package/dist/citation/citation.recipe.styles.d.ts +2 -0
- package/dist/citation/citation.recipe.styles.d.ts.map +1 -0
- package/dist/citation/citation.recipe.styles.js +5 -0
- package/dist/citation/citation.recipe.styles.js.map +1 -0
- package/dist/citation/citation.styles.d.ts +3 -0
- package/dist/citation/citation.styles.d.ts.map +1 -0
- package/dist/citation/citation.styles.js +60 -0
- package/dist/citation/citation.styles.js.map +1 -0
- package/dist/citation/citation.template.d.ts +4 -0
- package/dist/citation/citation.template.d.ts.map +1 -0
- package/dist/citation/citation.template.js +55 -0
- package/dist/citation/citation.template.js.map +1 -0
- package/dist/citation/index.d.ts +6 -0
- package/dist/citation/index.d.ts.map +1 -0
- package/dist/citation/index.js +6 -0
- package/dist/citation/index.js.map +1 -0
- package/dist/context-picker/context-picker.d.ts +124 -0
- package/dist/context-picker/context-picker.d.ts.map +1 -0
- package/dist/context-picker/context-picker.define.d.ts +3 -0
- package/dist/context-picker/context-picker.define.d.ts.map +1 -0
- package/dist/context-picker/context-picker.define.js +5 -0
- package/dist/context-picker/context-picker.define.js.map +1 -0
- package/dist/context-picker/context-picker.definition.d.ts +3 -0
- package/dist/context-picker/context-picker.definition.d.ts.map +1 -0
- package/dist/context-picker/context-picker.definition.js +12 -0
- package/dist/context-picker/context-picker.definition.js.map +1 -0
- package/dist/context-picker/context-picker.js +133 -0
- package/dist/context-picker/context-picker.js.map +1 -0
- package/dist/context-picker/context-picker.recipe.d.ts +6 -0
- package/dist/context-picker/context-picker.recipe.d.ts.map +1 -0
- package/dist/context-picker/context-picker.recipe.js +16 -0
- package/dist/context-picker/context-picker.recipe.js.map +1 -0
- package/dist/context-picker/context-picker.recipe.styles.d.ts +2 -0
- package/dist/context-picker/context-picker.recipe.styles.d.ts.map +1 -0
- package/dist/context-picker/context-picker.recipe.styles.js +5 -0
- package/dist/context-picker/context-picker.recipe.styles.js.map +1 -0
- package/dist/context-picker/context-picker.styles.d.ts +3 -0
- package/dist/context-picker/context-picker.styles.d.ts.map +1 -0
- package/dist/context-picker/context-picker.styles.js +52 -0
- package/dist/context-picker/context-picker.styles.js.map +1 -0
- package/dist/context-picker/context-picker.template.d.ts +4 -0
- package/dist/context-picker/context-picker.template.d.ts.map +1 -0
- package/dist/context-picker/context-picker.template.js +84 -0
- package/dist/context-picker/context-picker.template.js.map +1 -0
- package/dist/context-picker/index.d.ts +5 -0
- package/dist/context-picker/index.d.ts.map +1 -0
- package/dist/context-picker/index.js +6 -0
- package/dist/context-picker/index.js.map +1 -0
- package/dist/contracts/index.d.ts +9 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +7 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/models.d.ts +852 -0
- package/dist/contracts/models.d.ts.map +1 -0
- package/dist/contracts/models.js +337 -0
- package/dist/contracts/models.js.map +1 -0
- package/dist/contracts/normalize.d.ts +48 -0
- package/dist/contracts/normalize.d.ts.map +1 -0
- package/dist/contracts/normalize.js +199 -0
- package/dist/contracts/normalize.js.map +1 -0
- package/dist/contracts/types.d.ts +253 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +2 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/controllers/announcer.d.ts +37 -0
- package/dist/controllers/announcer.d.ts.map +1 -0
- package/dist/controllers/announcer.js +169 -0
- package/dist/controllers/announcer.js.map +1 -0
- package/dist/controllers/composer.d.ts +112 -0
- package/dist/controllers/composer.d.ts.map +1 -0
- package/dist/controllers/composer.js +291 -0
- package/dist/controllers/composer.js.map +1 -0
- package/dist/controllers/conversation.d.ts +106 -0
- package/dist/controllers/conversation.d.ts.map +1 -0
- package/dist/controllers/conversation.js +1159 -0
- package/dist/controllers/conversation.js.map +1 -0
- package/dist/controllers/diff.d.ts +17 -0
- package/dist/controllers/diff.d.ts.map +1 -0
- package/dist/controllers/diff.js +64 -0
- package/dist/controllers/diff.js.map +1 -0
- package/dist/controllers/document.d.ts +86 -0
- package/dist/controllers/document.d.ts.map +1 -0
- package/dist/controllers/document.js +185 -0
- package/dist/controllers/document.js.map +1 -0
- package/dist/controllers/external-store.d.ts +33 -0
- package/dist/controllers/external-store.d.ts.map +1 -0
- package/dist/controllers/external-store.js +68 -0
- package/dist/controllers/external-store.js.map +1 -0
- package/dist/controllers/index.d.ts +22 -0
- package/dist/controllers/index.d.ts.map +1 -0
- package/dist/controllers/index.js +14 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/intents.d.ts +61 -0
- package/dist/controllers/intents.d.ts.map +1 -0
- package/dist/controllers/intents.js +68 -0
- package/dist/controllers/intents.js.map +1 -0
- package/dist/controllers/transitions.d.ts +37 -0
- package/dist/controllers/transitions.d.ts.map +1 -0
- package/dist/controllers/transitions.js +106 -0
- package/dist/controllers/transitions.js.map +1 -0
- package/dist/controllers/voice.d.ts +81 -0
- package/dist/controllers/voice.d.ts.map +1 -0
- package/dist/controllers/voice.js +180 -0
- package/dist/controllers/voice.js.map +1 -0
- package/dist/conversation/conversation.d.ts +128 -0
- package/dist/conversation/conversation.d.ts.map +1 -0
- package/dist/conversation/conversation.define.d.ts +3 -0
- package/dist/conversation/conversation.define.d.ts.map +1 -0
- package/dist/conversation/conversation.define.js +5 -0
- package/dist/conversation/conversation.define.js.map +1 -0
- package/dist/conversation/conversation.definition.d.ts +3 -0
- package/dist/conversation/conversation.definition.d.ts.map +1 -0
- package/dist/conversation/conversation.definition.js +15 -0
- package/dist/conversation/conversation.definition.js.map +1 -0
- package/dist/conversation/conversation.js +327 -0
- package/dist/conversation/conversation.js.map +1 -0
- package/dist/conversation/conversation.recipe.d.ts +6 -0
- package/dist/conversation/conversation.recipe.d.ts.map +1 -0
- package/dist/conversation/conversation.recipe.js +16 -0
- package/dist/conversation/conversation.recipe.js.map +1 -0
- package/dist/conversation/conversation.recipe.styles.d.ts +2 -0
- package/dist/conversation/conversation.recipe.styles.d.ts.map +1 -0
- package/dist/conversation/conversation.recipe.styles.js +5 -0
- package/dist/conversation/conversation.recipe.styles.js.map +1 -0
- package/dist/conversation/conversation.styles.d.ts +3 -0
- package/dist/conversation/conversation.styles.d.ts.map +1 -0
- package/dist/conversation/conversation.styles.js +66 -0
- package/dist/conversation/conversation.styles.js.map +1 -0
- package/dist/conversation/conversation.template.d.ts +8 -0
- package/dist/conversation/conversation.template.d.ts.map +1 -0
- package/dist/conversation/conversation.template.js +107 -0
- package/dist/conversation/conversation.template.js.map +1 -0
- package/dist/conversation/index.d.ts +6 -0
- package/dist/conversation/index.d.ts.map +1 -0
- package/dist/conversation/index.js +6 -0
- package/dist/conversation/index.js.map +1 -0
- package/dist/events.d.ts +198 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +244 -0
- package/dist/events.js.map +1 -0
- package/dist/highlight/index.d.ts +11 -0
- package/dist/highlight/index.d.ts.map +1 -0
- package/dist/highlight/index.js +118 -0
- package/dist/highlight/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/inline-assist/index.d.ts +6 -0
- package/dist/inline-assist/index.d.ts.map +1 -0
- package/dist/inline-assist/index.js +6 -0
- package/dist/inline-assist/index.js.map +1 -0
- package/dist/inline-assist/inline-assist.d.ts +97 -0
- package/dist/inline-assist/inline-assist.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.define.d.ts +3 -0
- package/dist/inline-assist/inline-assist.define.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.define.js +5 -0
- package/dist/inline-assist/inline-assist.define.js.map +1 -0
- package/dist/inline-assist/inline-assist.definition.d.ts +3 -0
- package/dist/inline-assist/inline-assist.definition.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.definition.js +12 -0
- package/dist/inline-assist/inline-assist.definition.js.map +1 -0
- package/dist/inline-assist/inline-assist.js +150 -0
- package/dist/inline-assist/inline-assist.js.map +1 -0
- package/dist/inline-assist/inline-assist.recipe.d.ts +6 -0
- package/dist/inline-assist/inline-assist.recipe.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.recipe.js +15 -0
- package/dist/inline-assist/inline-assist.recipe.js.map +1 -0
- package/dist/inline-assist/inline-assist.recipe.styles.d.ts +2 -0
- package/dist/inline-assist/inline-assist.recipe.styles.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.recipe.styles.js +5 -0
- package/dist/inline-assist/inline-assist.recipe.styles.js.map +1 -0
- package/dist/inline-assist/inline-assist.styles.d.ts +3 -0
- package/dist/inline-assist/inline-assist.styles.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.styles.js +49 -0
- package/dist/inline-assist/inline-assist.styles.js.map +1 -0
- package/dist/inline-assist/inline-assist.template.d.ts +4 -0
- package/dist/inline-assist/inline-assist.template.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.template.js +57 -0
- package/dist/inline-assist/inline-assist.template.js.map +1 -0
- package/dist/internal/ai-element.recipe.d.ts +3 -0
- package/dist/internal/ai-element.recipe.d.ts.map +1 -0
- package/dist/internal/ai-element.recipe.js +8 -0
- package/dist/internal/ai-element.recipe.js.map +1 -0
- package/dist/internal/ai-element.recipe.styles.d.ts +2 -0
- package/dist/internal/ai-element.recipe.styles.d.ts.map +1 -0
- package/dist/internal/ai-element.recipe.styles.js +5 -0
- package/dist/internal/ai-element.recipe.styles.js.map +1 -0
- package/dist/internal/base.styles.d.ts +10 -0
- package/dist/internal/base.styles.d.ts.map +1 -0
- package/dist/internal/base.styles.js +98 -0
- package/dist/internal/base.styles.js.map +1 -0
- package/dist/internal/dev.d.ts +3 -0
- package/dist/internal/dev.d.ts.map +1 -0
- package/dist/internal/dev.js +3 -0
- package/dist/internal/dev.js.map +1 -0
- package/dist/internal/ids.d.ts +3 -0
- package/dist/internal/ids.d.ts.map +1 -0
- package/dist/internal/ids.js +9 -0
- package/dist/internal/ids.js.map +1 -0
- package/dist/internal/strings.d.ts +4 -0
- package/dist/internal/strings.d.ts.map +1 -0
- package/dist/internal/strings.js +7 -0
- package/dist/internal/strings.js.map +1 -0
- package/dist/markdown/index.d.ts +11 -0
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/markdown/index.js +8 -0
- package/dist/markdown/index.js.map +1 -0
- package/dist/markdown/parse.d.ts +75 -0
- package/dist/markdown/parse.d.ts.map +1 -0
- package/dist/markdown/parse.js +525 -0
- package/dist/markdown/parse.js.map +1 -0
- package/dist/markdown/render.d.ts +40 -0
- package/dist/markdown/render.d.ts.map +1 -0
- package/dist/markdown/render.js +383 -0
- package/dist/markdown/render.js.map +1 -0
- package/dist/markdown/url.d.ts +18 -0
- package/dist/markdown/url.d.ts.map +1 -0
- package/dist/markdown/url.js +48 -0
- package/dist/markdown/url.js.map +1 -0
- package/dist/message/index.d.ts +6 -0
- package/dist/message/index.d.ts.map +1 -0
- package/dist/message/index.js +6 -0
- package/dist/message/index.js.map +1 -0
- package/dist/message/message.d.ts +330 -0
- package/dist/message/message.d.ts.map +1 -0
- package/dist/message/message.define.d.ts +3 -0
- package/dist/message/message.define.d.ts.map +1 -0
- package/dist/message/message.define.js +5 -0
- package/dist/message/message.define.js.map +1 -0
- package/dist/message/message.definition.d.ts +3 -0
- package/dist/message/message.definition.d.ts.map +1 -0
- package/dist/message/message.definition.js +32 -0
- package/dist/message/message.definition.js.map +1 -0
- package/dist/message/message.js +193 -0
- package/dist/message/message.js.map +1 -0
- package/dist/message/message.recipe.d.ts +7 -0
- package/dist/message/message.recipe.d.ts.map +1 -0
- package/dist/message/message.recipe.js +17 -0
- package/dist/message/message.recipe.js.map +1 -0
- package/dist/message/message.recipe.styles.d.ts +2 -0
- package/dist/message/message.recipe.styles.d.ts.map +1 -0
- package/dist/message/message.recipe.styles.js +5 -0
- package/dist/message/message.recipe.styles.js.map +1 -0
- package/dist/message/message.styles.d.ts +3 -0
- package/dist/message/message.styles.d.ts.map +1 -0
- package/dist/message/message.styles.js +62 -0
- package/dist/message/message.styles.js.map +1 -0
- package/dist/message/message.template.d.ts +4 -0
- package/dist/message/message.template.d.ts.map +1 -0
- package/dist/message/message.template.js +161 -0
- package/dist/message/message.template.js.map +1 -0
- package/dist/message-branch/index.d.ts +5 -0
- package/dist/message-branch/index.d.ts.map +1 -0
- package/dist/message-branch/index.js +6 -0
- package/dist/message-branch/index.js.map +1 -0
- package/dist/message-branch/message-branch.d.ts +118 -0
- package/dist/message-branch/message-branch.d.ts.map +1 -0
- package/dist/message-branch/message-branch.define.d.ts +3 -0
- package/dist/message-branch/message-branch.define.d.ts.map +1 -0
- package/dist/message-branch/message-branch.define.js +5 -0
- package/dist/message-branch/message-branch.define.js.map +1 -0
- package/dist/message-branch/message-branch.definition.d.ts +3 -0
- package/dist/message-branch/message-branch.definition.d.ts.map +1 -0
- package/dist/message-branch/message-branch.definition.js +12 -0
- package/dist/message-branch/message-branch.definition.js.map +1 -0
- package/dist/message-branch/message-branch.js +54 -0
- package/dist/message-branch/message-branch.js.map +1 -0
- package/dist/message-branch/message-branch.styles.d.ts +2 -0
- package/dist/message-branch/message-branch.styles.d.ts.map +1 -0
- package/dist/message-branch/message-branch.styles.js +13 -0
- package/dist/message-branch/message-branch.styles.js.map +1 -0
- package/dist/message-branch/message-branch.template.d.ts +4 -0
- package/dist/message-branch/message-branch.template.d.ts.map +1 -0
- package/dist/message-branch/message-branch.template.js +45 -0
- package/dist/message-branch/message-branch.template.js.map +1 -0
- package/dist/model-select/index.d.ts +5 -0
- package/dist/model-select/index.d.ts.map +1 -0
- package/dist/model-select/index.js +6 -0
- package/dist/model-select/index.js.map +1 -0
- package/dist/model-select/model-select.d.ts +71 -0
- package/dist/model-select/model-select.d.ts.map +1 -0
- package/dist/model-select/model-select.define.d.ts +3 -0
- package/dist/model-select/model-select.define.d.ts.map +1 -0
- package/dist/model-select/model-select.define.js +5 -0
- package/dist/model-select/model-select.define.js.map +1 -0
- package/dist/model-select/model-select.definition.d.ts +3 -0
- package/dist/model-select/model-select.definition.d.ts.map +1 -0
- package/dist/model-select/model-select.definition.js +13 -0
- package/dist/model-select/model-select.definition.js.map +1 -0
- package/dist/model-select/model-select.js +68 -0
- package/dist/model-select/model-select.js.map +1 -0
- package/dist/model-select/model-select.styles.d.ts +3 -0
- package/dist/model-select/model-select.styles.d.ts.map +1 -0
- package/dist/model-select/model-select.styles.js +14 -0
- package/dist/model-select/model-select.styles.js.map +1 -0
- package/dist/model-select/model-select.template.d.ts +4 -0
- package/dist/model-select/model-select.template.d.ts.map +1 -0
- package/dist/model-select/model-select.template.js +39 -0
- package/dist/model-select/model-select.template.js.map +1 -0
- package/dist/prod/action-approval/action-approval.define.js +3 -0
- package/dist/prod/action-approval/action-approval.definition.js +16 -0
- package/dist/prod/action-approval/action-approval.js +133 -0
- package/dist/prod/action-approval/action-approval.recipe.js +14 -0
- package/dist/prod/action-approval/action-approval.recipe.styles.js +33 -0
- package/dist/prod/action-approval/action-approval.styles.js +68 -0
- package/dist/prod/action-approval/action-approval.template.js +71 -0
- package/dist/prod/action-approval/index.js +11 -0
- package/dist/prod/activity/activity.define.js +3 -0
- package/dist/prod/activity/activity.definition.js +14 -0
- package/dist/prod/activity/activity.js +96 -0
- package/dist/prod/activity/activity.recipe.js +9 -0
- package/dist/prod/activity/activity.recipe.styles.js +15 -0
- package/dist/prod/activity/activity.styles.js +38 -0
- package/dist/prod/activity/activity.template.js +19 -0
- package/dist/prod/activity/index.js +11 -0
- package/dist/prod/ai-label/ai-label.define.js +3 -0
- package/dist/prod/ai-label/ai-label.definition.js +14 -0
- package/dist/prod/ai-label/ai-label.js +29 -0
- package/dist/prod/ai-label/ai-label.styles.js +42 -0
- package/dist/prod/ai-label/ai-label.template.js +30 -0
- package/dist/prod/ai-label/index.js +11 -0
- package/dist/prod/announce.js +15 -0
- package/dist/prod/artifact/artifact.define.js +3 -0
- package/dist/prod/artifact/artifact.definition.js +14 -0
- package/dist/prod/artifact/artifact.js +139 -0
- package/dist/prod/artifact/artifact.recipe.js +12 -0
- package/dist/prod/artifact/artifact.recipe.styles.js +21 -0
- package/dist/prod/artifact/artifact.styles.js +71 -0
- package/dist/prod/artifact/artifact.template.js +58 -0
- package/dist/prod/artifact/index.js +11 -0
- package/dist/prod/change-review/change-review.define.js +3 -0
- package/dist/prod/change-review/change-review.definition.js +16 -0
- package/dist/prod/change-review/change-review.js +110 -0
- package/dist/prod/change-review/change-review.recipe.js +13 -0
- package/dist/prod/change-review/change-review.recipe.styles.js +24 -0
- package/dist/prod/change-review/change-review.styles.js +69 -0
- package/dist/prod/change-review/change-review.template.js +72 -0
- package/dist/prod/change-review/index.js +11 -0
- package/dist/prod/checkpoint/checkpoint.define.js +3 -0
- package/dist/prod/checkpoint/checkpoint.definition.js +16 -0
- package/dist/prod/checkpoint/checkpoint.js +101 -0
- package/dist/prod/checkpoint/checkpoint.recipe.js +12 -0
- package/dist/prod/checkpoint/checkpoint.recipe.styles.js +19 -0
- package/dist/prod/checkpoint/checkpoint.styles.js +40 -0
- package/dist/prod/checkpoint/checkpoint.template.js +49 -0
- package/dist/prod/checkpoint/index.js +11 -0
- package/dist/prod/citation/citation.define.js +3 -0
- package/dist/prod/citation/citation.definition.js +14 -0
- package/dist/prod/citation/citation.js +66 -0
- package/dist/prod/citation/citation.recipe.js +9 -0
- package/dist/prod/citation/citation.recipe.styles.js +13 -0
- package/dist/prod/citation/citation.styles.js +61 -0
- package/dist/prod/citation/citation.template.js +44 -0
- package/dist/prod/citation/index.js +12 -0
- package/dist/prod/context-picker/context-picker.define.js +3 -0
- package/dist/prod/context-picker/context-picker.definition.js +14 -0
- package/dist/prod/context-picker/context-picker.js +106 -0
- package/dist/prod/context-picker/context-picker.recipe.js +14 -0
- package/dist/prod/context-picker/context-picker.recipe.styles.js +35 -0
- package/dist/prod/context-picker/context-picker.styles.js +53 -0
- package/dist/prod/context-picker/context-picker.template.js +81 -0
- package/dist/prod/context-picker/index.js +11 -0
- package/dist/prod/contracts/index.js +35 -0
- package/dist/prod/contracts/models.js +325 -0
- package/dist/prod/contracts/normalize.js +151 -0
- package/dist/prod/contracts/types.js +0 -0
- package/dist/prod/controllers/announcer.js +136 -0
- package/dist/prod/controllers/composer.js +235 -0
- package/dist/prod/controllers/conversation.js +922 -0
- package/dist/prod/controllers/diff.js +41 -0
- package/dist/prod/controllers/document.js +128 -0
- package/dist/prod/controllers/external-store.js +49 -0
- package/dist/prod/controllers/index.js +43 -0
- package/dist/prod/controllers/intents.js +73 -0
- package/dist/prod/controllers/transitions.js +90 -0
- package/dist/prod/controllers/voice.js +134 -0
- package/dist/prod/conversation/conversation.define.js +3 -0
- package/dist/prod/conversation/conversation.definition.js +17 -0
- package/dist/prod/conversation/conversation.js +236 -0
- package/dist/prod/conversation/conversation.recipe.js +14 -0
- package/dist/prod/conversation/conversation.recipe.styles.js +37 -0
- package/dist/prod/conversation/conversation.styles.js +67 -0
- package/dist/prod/conversation/conversation.template.js +91 -0
- package/dist/prod/conversation/index.js +11 -0
- package/dist/prod/events.js +235 -0
- package/dist/prod/highlight/index.js +99 -0
- package/dist/prod/index.js +1 -0
- package/dist/prod/inline-assist/index.js +11 -0
- package/dist/prod/inline-assist/inline-assist.define.js +3 -0
- package/dist/prod/inline-assist/inline-assist.definition.js +14 -0
- package/dist/prod/inline-assist/inline-assist.js +130 -0
- package/dist/prod/inline-assist/inline-assist.recipe.js +13 -0
- package/dist/prod/inline-assist/inline-assist.recipe.styles.js +29 -0
- package/dist/prod/inline-assist/inline-assist.styles.js +50 -0
- package/dist/prod/inline-assist/inline-assist.template.js +46 -0
- package/dist/prod/internal/ai-element.recipe.js +9 -0
- package/dist/prod/internal/ai-element.recipe.styles.js +15 -0
- package/dist/prod/internal/base.styles.js +94 -0
- package/dist/prod/internal/dev.js +4 -0
- package/dist/prod/internal/ids.js +8 -0
- package/dist/prod/internal/strings.js +12 -0
- package/dist/prod/markdown/index.js +13 -0
- package/dist/prod/markdown/parse.js +363 -0
- package/dist/prod/markdown/render.js +273 -0
- package/dist/prod/markdown/url.js +42 -0
- package/dist/prod/message/index.js +11 -0
- package/dist/prod/message/message.define.js +3 -0
- package/dist/prod/message/message.definition.js +34 -0
- package/dist/prod/message/message.js +158 -0
- package/dist/prod/message/message.recipe.js +14 -0
- package/dist/prod/message/message.recipe.styles.js +33 -0
- package/dist/prod/message/message.styles.js +63 -0
- package/dist/prod/message/message.template.js +136 -0
- package/dist/prod/message-branch/index.js +11 -0
- package/dist/prod/message-branch/message-branch.define.js +3 -0
- package/dist/prod/message-branch/message-branch.definition.js +14 -0
- package/dist/prod/message-branch/message-branch.js +41 -0
- package/dist/prod/message-branch/message-branch.styles.js +15 -0
- package/dist/prod/message-branch/message-branch.template.js +45 -0
- package/dist/prod/model-select/index.js +11 -0
- package/dist/prod/model-select/model-select.define.js +3 -0
- package/dist/prod/model-select/model-select.definition.js +15 -0
- package/dist/prod/model-select/model-select.js +46 -0
- package/dist/prod/model-select/model-select.styles.js +15 -0
- package/dist/prod/model-select/model-select.template.js +39 -0
- package/dist/prod/prompt-input/index.js +11 -0
- package/dist/prod/prompt-input/prompt-input.define.js +3 -0
- package/dist/prod/prompt-input/prompt-input.definition.js +16 -0
- package/dist/prod/prompt-input/prompt-input.js +285 -0
- package/dist/prod/prompt-input/prompt-input.recipe.js +14 -0
- package/dist/prod/prompt-input/prompt-input.recipe.styles.js +37 -0
- package/dist/prod/prompt-input/prompt-input.styles.js +93 -0
- package/dist/prod/prompt-input/prompt-input.template.js +104 -0
- package/dist/prod/question/index.js +11 -0
- package/dist/prod/question/question.define.js +3 -0
- package/dist/prod/question/question.definition.js +16 -0
- package/dist/prod/question/question.js +120 -0
- package/dist/prod/question/question.recipe.js +14 -0
- package/dist/prod/question/question.recipe.styles.js +33 -0
- package/dist/prod/question/question.styles.js +50 -0
- package/dist/prod/question/question.template.js +74 -0
- package/dist/prod/response/index.js +11 -0
- package/dist/prod/response/response.define.js +3 -0
- package/dist/prod/response/response.definition.js +16 -0
- package/dist/prod/response/response.js +135 -0
- package/dist/prod/response/response.styles.js +140 -0
- package/dist/prod/response/response.template.js +12 -0
- package/dist/prod/response-feedback/index.js +11 -0
- package/dist/prod/response-feedback/response-feedback.define.js +3 -0
- package/dist/prod/response-feedback/response-feedback.definition.js +16 -0
- package/dist/prod/response-feedback/response-feedback.js +105 -0
- package/dist/prod/response-feedback/response-feedback.recipe.js +14 -0
- package/dist/prod/response-feedback/response-feedback.recipe.styles.js +33 -0
- package/dist/prod/response-feedback/response-feedback.styles.js +43 -0
- package/dist/prod/response-feedback/response-feedback.template.js +57 -0
- package/dist/prod/sources/index.js +11 -0
- package/dist/prod/sources/sources.define.js +3 -0
- package/dist/prod/sources/sources.definition.js +14 -0
- package/dist/prod/sources/sources.js +37 -0
- package/dist/prod/sources/sources.recipe.js +9 -0
- package/dist/prod/sources/sources.recipe.styles.js +19 -0
- package/dist/prod/sources/sources.styles.js +37 -0
- package/dist/prod/sources/sources.template.js +40 -0
- package/dist/prod/stream/index.js +16 -0
- package/dist/prod/stream/simulation.js +198 -0
- package/dist/prod/stream/sse.js +105 -0
- package/dist/prod/stream/ui-message-stream.js +371 -0
- package/dist/prod/suggestions/index.js +11 -0
- package/dist/prod/suggestions/suggestions.define.js +3 -0
- package/dist/prod/suggestions/suggestions.definition.js +14 -0
- package/dist/prod/suggestions/suggestions.js +48 -0
- package/dist/prod/suggestions/suggestions.recipe.js +9 -0
- package/dist/prod/suggestions/suggestions.recipe.styles.js +15 -0
- package/dist/prod/suggestions/suggestions.styles.js +52 -0
- package/dist/prod/suggestions/suggestions.template.js +38 -0
- package/dist/prod/task-plan/index.js +11 -0
- package/dist/prod/task-plan/task-plan.define.js +3 -0
- package/dist/prod/task-plan/task-plan.definition.js +14 -0
- package/dist/prod/task-plan/task-plan.js +63 -0
- package/dist/prod/task-plan/task-plan.recipe.js +17 -0
- package/dist/prod/task-plan/task-plan.recipe.styles.js +55 -0
- package/dist/prod/task-plan/task-plan.styles.js +53 -0
- package/dist/prod/task-plan/task-plan.template.js +58 -0
- package/dist/prod/tool-call/index.js +11 -0
- package/dist/prod/tool-call/tool-call.define.js +3 -0
- package/dist/prod/tool-call/tool-call.definition.js +16 -0
- package/dist/prod/tool-call/tool-call.js +57 -0
- package/dist/prod/tool-call/tool-call.recipe.js +13 -0
- package/dist/prod/tool-call/tool-call.recipe.styles.js +29 -0
- package/dist/prod/tool-call/tool-call.styles.js +55 -0
- package/dist/prod/tool-call/tool-call.template.js +46 -0
- package/dist/prod/transcript/index.js +11 -0
- package/dist/prod/transcript/transcript.define.js +3 -0
- package/dist/prod/transcript/transcript.definition.js +14 -0
- package/dist/prod/transcript/transcript.js +32 -0
- package/dist/prod/transcript/transcript.recipe.js +9 -0
- package/dist/prod/transcript/transcript.recipe.styles.js +13 -0
- package/dist/prod/transcript/transcript.styles.js +30 -0
- package/dist/prod/transcript/transcript.template.js +26 -0
- package/dist/prod/usage-meter/index.js +11 -0
- package/dist/prod/usage-meter/usage-meter.define.js +3 -0
- package/dist/prod/usage-meter/usage-meter.definition.js +14 -0
- package/dist/prod/usage-meter/usage-meter.js +41 -0
- package/dist/prod/usage-meter/usage-meter.recipe.js +9 -0
- package/dist/prod/usage-meter/usage-meter.recipe.styles.js +13 -0
- package/dist/prod/usage-meter/usage-meter.styles.js +37 -0
- package/dist/prod/usage-meter/usage-meter.template.js +27 -0
- package/dist/prod/voice/recorder.js +39 -0
- package/dist/prod/voice/web-speech.js +67 -0
- package/dist/prod/voice-input/index.js +11 -0
- package/dist/prod/voice-input/voice-input.define.js +3 -0
- package/dist/prod/voice-input/voice-input.definition.js +16 -0
- package/dist/prod/voice-input/voice-input.js +92 -0
- package/dist/prod/voice-input/voice-input.recipe.js +9 -0
- package/dist/prod/voice-input/voice-input.recipe.styles.js +13 -0
- package/dist/prod/voice-input/voice-input.styles.js +52 -0
- package/dist/prod/voice-input/voice-input.template.js +47 -0
- package/dist/prompt-input/index.d.ts +5 -0
- package/dist/prompt-input/index.d.ts.map +1 -0
- package/dist/prompt-input/index.js +6 -0
- package/dist/prompt-input/index.js.map +1 -0
- package/dist/prompt-input/prompt-input.d.ts +241 -0
- package/dist/prompt-input/prompt-input.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.define.d.ts +3 -0
- package/dist/prompt-input/prompt-input.define.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.define.js +5 -0
- package/dist/prompt-input/prompt-input.define.js.map +1 -0
- package/dist/prompt-input/prompt-input.definition.d.ts +3 -0
- package/dist/prompt-input/prompt-input.definition.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.definition.js +14 -0
- package/dist/prompt-input/prompt-input.definition.js.map +1 -0
- package/dist/prompt-input/prompt-input.js +358 -0
- package/dist/prompt-input/prompt-input.js.map +1 -0
- package/dist/prompt-input/prompt-input.recipe.d.ts +7 -0
- package/dist/prompt-input/prompt-input.recipe.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.recipe.js +17 -0
- package/dist/prompt-input/prompt-input.recipe.js.map +1 -0
- package/dist/prompt-input/prompt-input.recipe.styles.d.ts +2 -0
- package/dist/prompt-input/prompt-input.recipe.styles.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.recipe.styles.js +5 -0
- package/dist/prompt-input/prompt-input.recipe.styles.js.map +1 -0
- package/dist/prompt-input/prompt-input.styles.d.ts +3 -0
- package/dist/prompt-input/prompt-input.styles.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.styles.js +92 -0
- package/dist/prompt-input/prompt-input.styles.js.map +1 -0
- package/dist/prompt-input/prompt-input.template.d.ts +7 -0
- package/dist/prompt-input/prompt-input.template.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.template.js +131 -0
- package/dist/prompt-input/prompt-input.template.js.map +1 -0
- package/dist/question/index.d.ts +5 -0
- package/dist/question/index.d.ts.map +1 -0
- package/dist/question/index.js +6 -0
- package/dist/question/index.js.map +1 -0
- package/dist/question/question.d.ts +115 -0
- package/dist/question/question.d.ts.map +1 -0
- package/dist/question/question.define.d.ts +3 -0
- package/dist/question/question.define.d.ts.map +1 -0
- package/dist/question/question.define.js +5 -0
- package/dist/question/question.define.js.map +1 -0
- package/dist/question/question.definition.d.ts +3 -0
- package/dist/question/question.definition.d.ts.map +1 -0
- package/dist/question/question.definition.js +14 -0
- package/dist/question/question.definition.js.map +1 -0
- package/dist/question/question.js +162 -0
- package/dist/question/question.js.map +1 -0
- package/dist/question/question.recipe.d.ts +6 -0
- package/dist/question/question.recipe.d.ts.map +1 -0
- package/dist/question/question.recipe.js +16 -0
- package/dist/question/question.recipe.js.map +1 -0
- package/dist/question/question.recipe.styles.d.ts +2 -0
- package/dist/question/question.recipe.styles.d.ts.map +1 -0
- package/dist/question/question.recipe.styles.js +5 -0
- package/dist/question/question.recipe.styles.js.map +1 -0
- package/dist/question/question.styles.d.ts +3 -0
- package/dist/question/question.styles.d.ts.map +1 -0
- package/dist/question/question.styles.js +49 -0
- package/dist/question/question.styles.js.map +1 -0
- package/dist/question/question.template.d.ts +4 -0
- package/dist/question/question.template.d.ts.map +1 -0
- package/dist/question/question.template.js +101 -0
- package/dist/question/question.template.js.map +1 -0
- package/dist/response/index.d.ts +6 -0
- package/dist/response/index.d.ts.map +1 -0
- package/dist/response/index.js +6 -0
- package/dist/response/index.js.map +1 -0
- package/dist/response/response.d.ts +90 -0
- package/dist/response/response.d.ts.map +1 -0
- package/dist/response/response.define.d.ts +3 -0
- package/dist/response/response.define.d.ts.map +1 -0
- package/dist/response/response.define.js +5 -0
- package/dist/response/response.define.js.map +1 -0
- package/dist/response/response.definition.d.ts +3 -0
- package/dist/response/response.definition.d.ts.map +1 -0
- package/dist/response/response.definition.js +14 -0
- package/dist/response/response.definition.js.map +1 -0
- package/dist/response/response.js +188 -0
- package/dist/response/response.js.map +1 -0
- package/dist/response/response.styles.d.ts +3 -0
- package/dist/response/response.styles.d.ts.map +1 -0
- package/dist/response/response.styles.js +139 -0
- package/dist/response/response.styles.js.map +1 -0
- package/dist/response/response.template.d.ts +7 -0
- package/dist/response/response.template.d.ts.map +1 -0
- package/dist/response/response.template.js +24 -0
- package/dist/response/response.template.js.map +1 -0
- package/dist/response-feedback/index.d.ts +5 -0
- package/dist/response-feedback/index.d.ts.map +1 -0
- package/dist/response-feedback/index.js +6 -0
- package/dist/response-feedback/index.js.map +1 -0
- package/dist/response-feedback/response-feedback.d.ts +92 -0
- package/dist/response-feedback/response-feedback.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.define.d.ts +3 -0
- package/dist/response-feedback/response-feedback.define.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.define.js +5 -0
- package/dist/response-feedback/response-feedback.define.js.map +1 -0
- package/dist/response-feedback/response-feedback.definition.d.ts +3 -0
- package/dist/response-feedback/response-feedback.definition.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.definition.js +14 -0
- package/dist/response-feedback/response-feedback.definition.js.map +1 -0
- package/dist/response-feedback/response-feedback.js +129 -0
- package/dist/response-feedback/response-feedback.js.map +1 -0
- package/dist/response-feedback/response-feedback.recipe.d.ts +6 -0
- package/dist/response-feedback/response-feedback.recipe.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.recipe.js +16 -0
- package/dist/response-feedback/response-feedback.recipe.js.map +1 -0
- package/dist/response-feedback/response-feedback.recipe.styles.d.ts +2 -0
- package/dist/response-feedback/response-feedback.recipe.styles.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.recipe.styles.js +5 -0
- package/dist/response-feedback/response-feedback.recipe.styles.js.map +1 -0
- package/dist/response-feedback/response-feedback.styles.d.ts +3 -0
- package/dist/response-feedback/response-feedback.styles.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.styles.js +42 -0
- package/dist/response-feedback/response-feedback.styles.js.map +1 -0
- package/dist/response-feedback/response-feedback.template.d.ts +4 -0
- package/dist/response-feedback/response-feedback.template.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.template.js +70 -0
- package/dist/response-feedback/response-feedback.template.js.map +1 -0
- package/dist/sources/index.d.ts +5 -0
- package/dist/sources/index.d.ts.map +1 -0
- package/dist/sources/index.js +6 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/sources/sources.d.ts +53 -0
- package/dist/sources/sources.d.ts.map +1 -0
- package/dist/sources/sources.define.d.ts +3 -0
- package/dist/sources/sources.define.d.ts.map +1 -0
- package/dist/sources/sources.define.js +5 -0
- package/dist/sources/sources.define.js.map +1 -0
- package/dist/sources/sources.definition.d.ts +3 -0
- package/dist/sources/sources.definition.d.ts.map +1 -0
- package/dist/sources/sources.definition.js +12 -0
- package/dist/sources/sources.definition.js.map +1 -0
- package/dist/sources/sources.js +51 -0
- package/dist/sources/sources.js.map +1 -0
- package/dist/sources/sources.recipe.d.ts +3 -0
- package/dist/sources/sources.recipe.d.ts.map +1 -0
- package/dist/sources/sources.recipe.js +8 -0
- package/dist/sources/sources.recipe.js.map +1 -0
- package/dist/sources/sources.recipe.styles.d.ts +2 -0
- package/dist/sources/sources.recipe.styles.d.ts.map +1 -0
- package/dist/sources/sources.recipe.styles.js +5 -0
- package/dist/sources/sources.recipe.styles.js.map +1 -0
- package/dist/sources/sources.styles.d.ts +3 -0
- package/dist/sources/sources.styles.d.ts.map +1 -0
- package/dist/sources/sources.styles.js +36 -0
- package/dist/sources/sources.styles.js.map +1 -0
- package/dist/sources/sources.template.d.ts +4 -0
- package/dist/sources/sources.template.d.ts.map +1 -0
- package/dist/sources/sources.template.js +43 -0
- package/dist/sources/sources.template.js.map +1 -0
- package/dist/stream/index.d.ts +11 -0
- package/dist/stream/index.d.ts.map +1 -0
- package/dist/stream/index.js +8 -0
- package/dist/stream/index.js.map +1 -0
- package/dist/stream/simulation.d.ts +58 -0
- package/dist/stream/simulation.d.ts.map +1 -0
- package/dist/stream/simulation.js +257 -0
- package/dist/stream/simulation.js.map +1 -0
- package/dist/stream/sse.d.ts +32 -0
- package/dist/stream/sse.d.ts.map +1 -0
- package/dist/stream/sse.js +155 -0
- package/dist/stream/sse.js.map +1 -0
- package/dist/stream/ui-message-stream.d.ts +72 -0
- package/dist/stream/ui-message-stream.d.ts.map +1 -0
- package/dist/stream/ui-message-stream.js +492 -0
- package/dist/stream/ui-message-stream.js.map +1 -0
- package/dist/suggestions/index.d.ts +5 -0
- package/dist/suggestions/index.d.ts.map +1 -0
- package/dist/suggestions/index.js +6 -0
- package/dist/suggestions/index.js.map +1 -0
- package/dist/suggestions/suggestions.d.ts +59 -0
- package/dist/suggestions/suggestions.d.ts.map +1 -0
- package/dist/suggestions/suggestions.define.d.ts +3 -0
- package/dist/suggestions/suggestions.define.d.ts.map +1 -0
- package/dist/suggestions/suggestions.define.js +5 -0
- package/dist/suggestions/suggestions.define.js.map +1 -0
- package/dist/suggestions/suggestions.definition.d.ts +3 -0
- package/dist/suggestions/suggestions.definition.d.ts.map +1 -0
- package/dist/suggestions/suggestions.definition.js +12 -0
- package/dist/suggestions/suggestions.definition.js.map +1 -0
- package/dist/suggestions/suggestions.js +61 -0
- package/dist/suggestions/suggestions.js.map +1 -0
- package/dist/suggestions/suggestions.recipe.d.ts +3 -0
- package/dist/suggestions/suggestions.recipe.d.ts.map +1 -0
- package/dist/suggestions/suggestions.recipe.js +8 -0
- package/dist/suggestions/suggestions.recipe.js.map +1 -0
- package/dist/suggestions/suggestions.recipe.styles.d.ts +2 -0
- package/dist/suggestions/suggestions.recipe.styles.d.ts.map +1 -0
- package/dist/suggestions/suggestions.recipe.styles.js +5 -0
- package/dist/suggestions/suggestions.recipe.styles.js.map +1 -0
- package/dist/suggestions/suggestions.styles.d.ts +3 -0
- package/dist/suggestions/suggestions.styles.d.ts.map +1 -0
- package/dist/suggestions/suggestions.styles.js +51 -0
- package/dist/suggestions/suggestions.styles.js.map +1 -0
- package/dist/suggestions/suggestions.template.d.ts +4 -0
- package/dist/suggestions/suggestions.template.d.ts.map +1 -0
- package/dist/suggestions/suggestions.template.js +40 -0
- package/dist/suggestions/suggestions.template.js.map +1 -0
- package/dist/task-plan/index.d.ts +5 -0
- package/dist/task-plan/index.d.ts.map +1 -0
- package/dist/task-plan/index.js +6 -0
- package/dist/task-plan/index.js.map +1 -0
- package/dist/task-plan/task-plan.d.ts +93 -0
- package/dist/task-plan/task-plan.d.ts.map +1 -0
- package/dist/task-plan/task-plan.define.d.ts +3 -0
- package/dist/task-plan/task-plan.define.d.ts.map +1 -0
- package/dist/task-plan/task-plan.define.js +5 -0
- package/dist/task-plan/task-plan.define.js.map +1 -0
- package/dist/task-plan/task-plan.definition.d.ts +3 -0
- package/dist/task-plan/task-plan.definition.d.ts.map +1 -0
- package/dist/task-plan/task-plan.definition.js +12 -0
- package/dist/task-plan/task-plan.definition.js.map +1 -0
- package/dist/task-plan/task-plan.js +78 -0
- package/dist/task-plan/task-plan.js.map +1 -0
- package/dist/task-plan/task-plan.recipe.d.ts +7 -0
- package/dist/task-plan/task-plan.recipe.d.ts.map +1 -0
- package/dist/task-plan/task-plan.recipe.js +20 -0
- package/dist/task-plan/task-plan.recipe.js.map +1 -0
- package/dist/task-plan/task-plan.recipe.styles.d.ts +2 -0
- package/dist/task-plan/task-plan.recipe.styles.d.ts.map +1 -0
- package/dist/task-plan/task-plan.recipe.styles.js +5 -0
- package/dist/task-plan/task-plan.recipe.styles.js.map +1 -0
- package/dist/task-plan/task-plan.styles.d.ts +3 -0
- package/dist/task-plan/task-plan.styles.d.ts.map +1 -0
- package/dist/task-plan/task-plan.styles.js +52 -0
- package/dist/task-plan/task-plan.styles.js.map +1 -0
- package/dist/task-plan/task-plan.template.d.ts +4 -0
- package/dist/task-plan/task-plan.template.d.ts.map +1 -0
- package/dist/task-plan/task-plan.template.js +63 -0
- package/dist/task-plan/task-plan.template.js.map +1 -0
- package/dist/tool-call/index.d.ts +6 -0
- package/dist/tool-call/index.d.ts.map +1 -0
- package/dist/tool-call/index.js +6 -0
- package/dist/tool-call/index.js.map +1 -0
- package/dist/tool-call/tool-call.d.ts +187 -0
- package/dist/tool-call/tool-call.d.ts.map +1 -0
- package/dist/tool-call/tool-call.define.d.ts +3 -0
- package/dist/tool-call/tool-call.define.d.ts.map +1 -0
- package/dist/tool-call/tool-call.define.js +5 -0
- package/dist/tool-call/tool-call.define.js.map +1 -0
- package/dist/tool-call/tool-call.definition.d.ts +3 -0
- package/dist/tool-call/tool-call.definition.d.ts.map +1 -0
- package/dist/tool-call/tool-call.definition.js +14 -0
- package/dist/tool-call/tool-call.definition.js.map +1 -0
- package/dist/tool-call/tool-call.js +77 -0
- package/dist/tool-call/tool-call.js.map +1 -0
- package/dist/tool-call/tool-call.recipe.d.ts +7 -0
- package/dist/tool-call/tool-call.recipe.d.ts.map +1 -0
- package/dist/tool-call/tool-call.recipe.js +16 -0
- package/dist/tool-call/tool-call.recipe.js.map +1 -0
- package/dist/tool-call/tool-call.recipe.styles.d.ts +2 -0
- package/dist/tool-call/tool-call.recipe.styles.d.ts.map +1 -0
- package/dist/tool-call/tool-call.recipe.styles.js +5 -0
- package/dist/tool-call/tool-call.recipe.styles.js.map +1 -0
- package/dist/tool-call/tool-call.styles.d.ts +3 -0
- package/dist/tool-call/tool-call.styles.d.ts.map +1 -0
- package/dist/tool-call/tool-call.styles.js +54 -0
- package/dist/tool-call/tool-call.styles.js.map +1 -0
- package/dist/tool-call/tool-call.template.d.ts +4 -0
- package/dist/tool-call/tool-call.template.d.ts.map +1 -0
- package/dist/tool-call/tool-call.template.js +54 -0
- package/dist/tool-call/tool-call.template.js.map +1 -0
- package/dist/transcript/index.d.ts +5 -0
- package/dist/transcript/index.d.ts.map +1 -0
- package/dist/transcript/index.js +6 -0
- package/dist/transcript/index.js.map +1 -0
- package/dist/transcript/transcript.d.ts +55 -0
- package/dist/transcript/transcript.d.ts.map +1 -0
- package/dist/transcript/transcript.define.d.ts +3 -0
- package/dist/transcript/transcript.define.d.ts.map +1 -0
- package/dist/transcript/transcript.define.js +5 -0
- package/dist/transcript/transcript.define.js.map +1 -0
- package/dist/transcript/transcript.definition.d.ts +3 -0
- package/dist/transcript/transcript.definition.d.ts.map +1 -0
- package/dist/transcript/transcript.definition.js +12 -0
- package/dist/transcript/transcript.definition.js.map +1 -0
- package/dist/transcript/transcript.js +43 -0
- package/dist/transcript/transcript.js.map +1 -0
- package/dist/transcript/transcript.recipe.d.ts +3 -0
- package/dist/transcript/transcript.recipe.d.ts.map +1 -0
- package/dist/transcript/transcript.recipe.js +8 -0
- package/dist/transcript/transcript.recipe.js.map +1 -0
- package/dist/transcript/transcript.recipe.styles.d.ts +2 -0
- package/dist/transcript/transcript.recipe.styles.d.ts.map +1 -0
- package/dist/transcript/transcript.recipe.styles.js +5 -0
- package/dist/transcript/transcript.recipe.styles.js.map +1 -0
- package/dist/transcript/transcript.styles.d.ts +3 -0
- package/dist/transcript/transcript.styles.d.ts.map +1 -0
- package/dist/transcript/transcript.styles.js +29 -0
- package/dist/transcript/transcript.styles.js.map +1 -0
- package/dist/transcript/transcript.template.d.ts +4 -0
- package/dist/transcript/transcript.template.d.ts.map +1 -0
- package/dist/transcript/transcript.template.js +34 -0
- package/dist/transcript/transcript.template.js.map +1 -0
- package/dist/usage-meter/index.d.ts +5 -0
- package/dist/usage-meter/index.d.ts.map +1 -0
- package/dist/usage-meter/index.js +6 -0
- package/dist/usage-meter/index.js.map +1 -0
- package/dist/usage-meter/usage-meter.d.ts +56 -0
- package/dist/usage-meter/usage-meter.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.define.d.ts +3 -0
- package/dist/usage-meter/usage-meter.define.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.define.js +5 -0
- package/dist/usage-meter/usage-meter.define.js.map +1 -0
- package/dist/usage-meter/usage-meter.definition.d.ts +3 -0
- package/dist/usage-meter/usage-meter.definition.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.definition.js +12 -0
- package/dist/usage-meter/usage-meter.definition.js.map +1 -0
- package/dist/usage-meter/usage-meter.js +56 -0
- package/dist/usage-meter/usage-meter.js.map +1 -0
- package/dist/usage-meter/usage-meter.recipe.d.ts +6 -0
- package/dist/usage-meter/usage-meter.recipe.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.recipe.js +11 -0
- package/dist/usage-meter/usage-meter.recipe.js.map +1 -0
- package/dist/usage-meter/usage-meter.recipe.styles.d.ts +2 -0
- package/dist/usage-meter/usage-meter.recipe.styles.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.recipe.styles.js +5 -0
- package/dist/usage-meter/usage-meter.recipe.styles.js.map +1 -0
- package/dist/usage-meter/usage-meter.styles.d.ts +3 -0
- package/dist/usage-meter/usage-meter.styles.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.styles.js +36 -0
- package/dist/usage-meter/usage-meter.styles.js.map +1 -0
- package/dist/usage-meter/usage-meter.template.d.ts +4 -0
- package/dist/usage-meter/usage-meter.template.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.template.js +31 -0
- package/dist/usage-meter/usage-meter.template.js.map +1 -0
- package/dist/voice/recorder.d.ts +13 -0
- package/dist/voice/recorder.d.ts.map +1 -0
- package/dist/voice/recorder.js +86 -0
- package/dist/voice/recorder.js.map +1 -0
- package/dist/voice/web-speech.d.ts +10 -0
- package/dist/voice/web-speech.d.ts.map +1 -0
- package/dist/voice/web-speech.js +88 -0
- package/dist/voice/web-speech.js.map +1 -0
- package/dist/voice-input/index.d.ts +5 -0
- package/dist/voice-input/index.d.ts.map +1 -0
- package/dist/voice-input/index.js +6 -0
- package/dist/voice-input/index.js.map +1 -0
- package/dist/voice-input/voice-input.d.ts +88 -0
- package/dist/voice-input/voice-input.d.ts.map +1 -0
- package/dist/voice-input/voice-input.define.d.ts +3 -0
- package/dist/voice-input/voice-input.define.d.ts.map +1 -0
- package/dist/voice-input/voice-input.define.js +5 -0
- package/dist/voice-input/voice-input.define.js.map +1 -0
- package/dist/voice-input/voice-input.definition.d.ts +3 -0
- package/dist/voice-input/voice-input.definition.d.ts.map +1 -0
- package/dist/voice-input/voice-input.definition.js +14 -0
- package/dist/voice-input/voice-input.definition.js.map +1 -0
- package/dist/voice-input/voice-input.js +128 -0
- package/dist/voice-input/voice-input.js.map +1 -0
- package/dist/voice-input/voice-input.recipe.d.ts +3 -0
- package/dist/voice-input/voice-input.recipe.d.ts.map +1 -0
- package/dist/voice-input/voice-input.recipe.js +8 -0
- package/dist/voice-input/voice-input.recipe.js.map +1 -0
- package/dist/voice-input/voice-input.recipe.styles.d.ts +2 -0
- package/dist/voice-input/voice-input.recipe.styles.d.ts.map +1 -0
- package/dist/voice-input/voice-input.recipe.styles.js +5 -0
- package/dist/voice-input/voice-input.recipe.styles.js.map +1 -0
- package/dist/voice-input/voice-input.styles.d.ts +3 -0
- package/dist/voice-input/voice-input.styles.d.ts.map +1 -0
- package/dist/voice-input/voice-input.styles.js +51 -0
- package/dist/voice-input/voice-input.styles.js.map +1 -0
- package/dist/voice-input/voice-input.template.d.ts +4 -0
- package/dist/voice-input/voice-input.template.d.ts.map +1 -0
- package/dist/voice-input/voice-input.template.js +51 -0
- package/dist/voice-input/voice-input.template.js.map +1 -0
- package/oddkin.metadata.json +13158 -0
- package/package.json +332 -4
- package/schemas/oddkin.ai.approval.v1.schema.json +117 -0
- package/schemas/oddkin.ai.artifact.v1.schema.json +69 -0
- package/schemas/oddkin.ai.checkpoint.v1.schema.json +75 -0
- package/schemas/oddkin.ai.context-item.v1.schema.json +84 -0
- package/schemas/oddkin.ai.conversation.v1.schema.json +633 -0
- package/schemas/oddkin.ai.feedback.v1.schema.json +62 -0
- package/schemas/oddkin.ai.message.v1.schema.json +339 -0
- package/schemas/oddkin.ai.model-option.v1.schema.json +41 -0
- package/schemas/oddkin.ai.plan.v1.schema.json +98 -0
- package/schemas/oddkin.ai.question.v1.schema.json +140 -0
- package/schemas/oddkin.ai.suggestion.v1.schema.json +26 -0
- package/schemas/oddkin.ai.tool-call.v1.schema.json +87 -0
- package/schemas/oddkin.ai.transcript-segment.v1.schema.json +27 -0
- package/schemas/oddkin.ai.usage.v1.schema.json +55 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { OddkinElement, prop } from '@oddkin/core/element';
|
|
2
|
+
import { signal } from '@oddkin/core/reactive';
|
|
3
|
+
import { can, unavailableReason } from '../contracts/normalize.js';
|
|
4
|
+
import { announceEvent, checkpointRestoreEvent } from '../events.js';
|
|
5
|
+
import { FocusRecovery } from '@oddkin/core/controllers/focus';
|
|
6
|
+
import { format, formatTime, langOf, strings } from '../internal/strings.js';
|
|
7
|
+
export const CHECKPOINT_STRINGS = {
|
|
8
|
+
restores: 'Restoring replaces:',
|
|
9
|
+
restore: 'Restore…',
|
|
10
|
+
confirm: 'Restore this checkpoint',
|
|
11
|
+
cancel: 'Keep current state',
|
|
12
|
+
confirmText: 'Restore to “{label}”? The items listed above are replaced. Work after this point is not kept unless the application saves it.',
|
|
13
|
+
available: 'Available',
|
|
14
|
+
'restore-pending': 'Restoring… Not restored yet.',
|
|
15
|
+
restored: 'Restored. {outcome}',
|
|
16
|
+
'restore-failed': 'Restore failed: {message}',
|
|
17
|
+
unavailable: 'This checkpoint cannot be restored.',
|
|
18
|
+
created: 'Created {time}',
|
|
19
|
+
announceRestored: 'Checkpoint restored: {label}',
|
|
20
|
+
announceFailed: 'Checkpoint restore failed: {label}',
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* A restore point: what it restores, a confirmed restore request, pending work, and the outcome
|
|
24
|
+
* the application confirms. Success is shown only when the record says `restored`.
|
|
25
|
+
*
|
|
26
|
+
* @csspart base - The checkpoint surface.
|
|
27
|
+
* @csspart restores - The list of state the restore replaces.
|
|
28
|
+
* @csspart actions - Restore and confirmation controls.
|
|
29
|
+
* @a11y A labelled group; restore needs an explicit confirmation step; status is text.
|
|
30
|
+
* @keyboard Tab and Enter or Space; focus moves to the confirmation and back to the status when controls disappear.
|
|
31
|
+
* @useFor Restoring agent or editor state to an earlier point.
|
|
32
|
+
* @notFor Undoing a single text edit; use the change review's undo.
|
|
33
|
+
* @customization 1 2
|
|
34
|
+
* @category AI
|
|
35
|
+
*/
|
|
36
|
+
export class OddkinCheckpoint extends OddkinElement.with({
|
|
37
|
+
checkpoint: prop.object({ description: 'The checkpoint record.' }),
|
|
38
|
+
capabilities: prop.object({
|
|
39
|
+
description: '`restoreCheckpoint` enables restoring.',
|
|
40
|
+
}),
|
|
41
|
+
announce: prop.enum(['none', 'important'], {
|
|
42
|
+
default: 'none',
|
|
43
|
+
empty: 'important',
|
|
44
|
+
description: 'Announce outcomes (when no surrounding surface does).',
|
|
45
|
+
}),
|
|
46
|
+
strings: prop.object({
|
|
47
|
+
description: 'Localized string overrides.',
|
|
48
|
+
}),
|
|
49
|
+
}) {
|
|
50
|
+
static events = {
|
|
51
|
+
'odd-checkpoint-restore': checkpointRestoreEvent,
|
|
52
|
+
'odd-announce': announceEvent,
|
|
53
|
+
};
|
|
54
|
+
/** @internal Confirmation step (presentation state). */
|
|
55
|
+
_confirming = signal(false);
|
|
56
|
+
/** @internal Restore requested from this view for this checkpoint id. */
|
|
57
|
+
_requested = signal(undefined);
|
|
58
|
+
/** @internal */
|
|
59
|
+
get _strings() {
|
|
60
|
+
return strings(CHECKPOINT_STRINGS, this.strings);
|
|
61
|
+
}
|
|
62
|
+
/** @internal */
|
|
63
|
+
get _unavailable() {
|
|
64
|
+
const c = this.checkpoint;
|
|
65
|
+
if (!c || c.status === 'unavailable')
|
|
66
|
+
return this._strings.unavailable;
|
|
67
|
+
if (!can(this.capabilities, 'restoreCheckpoint'))
|
|
68
|
+
return unavailableReason(this.capabilities, 'restoreCheckpoint') ?? this._strings.unavailable;
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
/** @internal */
|
|
72
|
+
_created() {
|
|
73
|
+
const time = formatTime(this.checkpoint?.createdAt, langOf(this));
|
|
74
|
+
return time ? format(this._strings.created, { time }) : undefined;
|
|
75
|
+
}
|
|
76
|
+
/** @internal */
|
|
77
|
+
_ask = () => {
|
|
78
|
+
if (this._unavailable === undefined)
|
|
79
|
+
this._confirming.value = true;
|
|
80
|
+
};
|
|
81
|
+
/** @internal */
|
|
82
|
+
_cancel = () => {
|
|
83
|
+
this._confirming.value = false;
|
|
84
|
+
};
|
|
85
|
+
/** @internal */
|
|
86
|
+
_restore = () => {
|
|
87
|
+
const c = this.checkpoint;
|
|
88
|
+
if (!c || this._unavailable !== undefined || this._requested.peek() === c.checkpointId)
|
|
89
|
+
return;
|
|
90
|
+
if (c.status === 'restore-pending')
|
|
91
|
+
return;
|
|
92
|
+
this._confirming.value = false;
|
|
93
|
+
this._requested.value = c.checkpointId;
|
|
94
|
+
this.emit(checkpointRestoreEvent, { checkpointId: c.checkpointId });
|
|
95
|
+
};
|
|
96
|
+
mounted(scope) {
|
|
97
|
+
// While confirming, a vanished control hands focus to the confirmation, else to the status.
|
|
98
|
+
scope.use(new FocusRecovery({
|
|
99
|
+
root: () => this.shadowRoot,
|
|
100
|
+
fallback: () => (this._confirming.peek()
|
|
101
|
+
? this.shadowRoot?.querySelector('[data-confirm]')
|
|
102
|
+
: undefined) ?? this.shadowRoot?.querySelector('.state'),
|
|
103
|
+
}));
|
|
104
|
+
let previous;
|
|
105
|
+
scope.effect(() => {
|
|
106
|
+
const c = this.checkpoint;
|
|
107
|
+
if (!c)
|
|
108
|
+
return;
|
|
109
|
+
if (c.status !== 'restore-pending' && c.status !== 'available')
|
|
110
|
+
this._requested.value = undefined;
|
|
111
|
+
if (c.status === 'available' && previous === 'restore-pending')
|
|
112
|
+
this._requested.value = undefined;
|
|
113
|
+
if (this.announce !== 'none' &&
|
|
114
|
+
previous &&
|
|
115
|
+
previous !== c.status &&
|
|
116
|
+
(c.status === 'restored' || c.status === 'restore-failed')) {
|
|
117
|
+
const t = this._strings;
|
|
118
|
+
this.emit(announceEvent, {
|
|
119
|
+
text: format(c.status === 'restored' ? t.announceRestored : t.announceFailed, {
|
|
120
|
+
label: c.label,
|
|
121
|
+
}),
|
|
122
|
+
priority: 'polite',
|
|
123
|
+
key: `checkpoint:${c.checkpointId}:${c.status}:${Date.now()}`,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
previous = c.status;
|
|
127
|
+
}, { phase: 'post', name: '<odd-checkpoint> status' });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=checkpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.recipe.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.recipe.ts"],"names":[],"mappings":"AAGA,6GAA6G;AAC7G,eAAO,MAAM,gBAAgB,kDAM3B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { defineLayoutRecipe, stack } from '@oddkin/components/layout';
|
|
2
|
+
import { token } from '@oddkin/tokens/refs';
|
|
3
|
+
/** Arrangement of the checkpoint (layout-recipes.md §14): its card and the restore confirmation, stacked. */
|
|
4
|
+
export const checkpointRecipe = defineLayoutRecipe({
|
|
5
|
+
name: 'checkpoint',
|
|
6
|
+
regions: {
|
|
7
|
+
base: stack({ gap: token('space.xs') }),
|
|
8
|
+
confirm: stack({ gap: token('space.xs') }),
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=checkpoint.recipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.recipe.js","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.recipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,6GAA6G;AAC7G,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;IACjD,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE;QACP,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;KAC3C;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.recipe.styles.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.recipe.styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,yCAElC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Generated from ./checkpoint.recipe.ts by packages/ai/test/recipes.test.ts (UPDATE_FIXTURES=1).
|
|
2
|
+
// Do not edit: change the recipe and regenerate.
|
|
3
|
+
import { unsafeCSS } from '@oddkin/core/styles';
|
|
4
|
+
export const checkpointRecipeStyles = unsafeCSS('@layer odd.layout.base {\n .base {\n display: flex;\n flex-direction: column;\n gap: var(--odd-space-xs);\n min-inline-size: 0;\n }\n .confirm {\n display: flex;\n flex-direction: column;\n gap: var(--odd-space-xs);\n min-inline-size: 0;\n }\n}\n');
|
|
5
|
+
//# sourceMappingURL=checkpoint.recipe.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.recipe.styles.js","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.recipe.styles.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,iDAAiD;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAC7C,oRAAoR,CACrR,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.styles.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.styles.ts"],"names":[],"mappings":"AAIA,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,yCAiC5B,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { css } from '@oddkin/core/styles';
|
|
2
|
+
import { token } from '@oddkin/tokens/refs';
|
|
3
|
+
import { checkpointRecipeStyles } from './checkpoint.recipe.styles.js';
|
|
4
|
+
/** The arrangement is the layout recipe in `checkpoint.recipe.ts`. */
|
|
5
|
+
export const checkpointStyles = css `
|
|
6
|
+
${checkpointRecipeStyles}
|
|
7
|
+
.base {
|
|
8
|
+
padding: ${token('space.sm')};
|
|
9
|
+
border: ${token('border.width.default')} solid ${token('color.border.default')};
|
|
10
|
+
border-radius: ${token('radius.md')};
|
|
11
|
+
background: ${token('color.surface.default')};
|
|
12
|
+
}
|
|
13
|
+
p {
|
|
14
|
+
margin: 0;
|
|
15
|
+
}
|
|
16
|
+
.label {
|
|
17
|
+
font-weight: ${token('font.weight.semibold')};
|
|
18
|
+
}
|
|
19
|
+
.restores {
|
|
20
|
+
margin: ${token('space.2xs')} 0 0;
|
|
21
|
+
padding-inline-start: ${token('space.lg')};
|
|
22
|
+
font-size: ${token('font.size.sm')};
|
|
23
|
+
}
|
|
24
|
+
.state {
|
|
25
|
+
font-size: ${token('font.size.sm')};
|
|
26
|
+
}
|
|
27
|
+
.state[data-tone='success'] {
|
|
28
|
+
color: ${token('color.success.foreground')};
|
|
29
|
+
}
|
|
30
|
+
.state[data-tone='danger'] {
|
|
31
|
+
color: ${token('color.danger.foreground')};
|
|
32
|
+
}
|
|
33
|
+
.confirm {
|
|
34
|
+
padding: ${token('space.xs')};
|
|
35
|
+
border-radius: ${token('radius.sm')};
|
|
36
|
+
background: ${token('color.surface.sunken')};
|
|
37
|
+
}
|
|
38
|
+
`;
|
|
39
|
+
//# sourceMappingURL=checkpoint.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.styles.js","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,sEAAsE;AACtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;IAC/B,sBAAsB;;eAEX,KAAK,CAAC,UAAU,CAAC;cAClB,KAAK,CAAC,sBAAsB,CAAC,UAAU,KAAK,CAAC,sBAAsB,CAAC;qBAC7D,KAAK,CAAC,WAAW,CAAC;kBACrB,KAAK,CAAC,uBAAuB,CAAC;;;;;;mBAM7B,KAAK,CAAC,sBAAsB,CAAC;;;cAGlC,KAAK,CAAC,WAAW,CAAC;4BACJ,KAAK,CAAC,UAAU,CAAC;iBAC5B,KAAK,CAAC,cAAc,CAAC;;;iBAGrB,KAAK,CAAC,cAAc,CAAC;;;aAGzB,KAAK,CAAC,0BAA0B,CAAC;;;aAGjC,KAAK,CAAC,yBAAyB,CAAC;;;eAG9B,KAAK,CAAC,UAAU,CAAC;qBACX,KAAK,CAAC,WAAW,CAAC;kBACrB,KAAK,CAAC,sBAAsB,CAAC;;CAE9C,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { OddkinCheckpoint } from './checkpoint.js';
|
|
2
|
+
/** Anatomy: labelled `base` with description, `restores` list, status, and `actions`. */
|
|
3
|
+
export declare const checkpointTemplate: (host: OddkinCheckpoint) => import("@oddkin/core/template").TemplateResult;
|
|
4
|
+
//# sourceMappingURL=checkpoint.template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.template.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.template.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,SAAU,gBAAgB,mDAgExD,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { html } from '@oddkin/core/template';
|
|
2
|
+
import { format } from '../internal/strings.js';
|
|
3
|
+
/** Anatomy: labelled `base` with description, `restores` list, status, and `actions`. */
|
|
4
|
+
export const checkpointTemplate = (host) => {
|
|
5
|
+
const t = host._strings;
|
|
6
|
+
const c = host.checkpoint;
|
|
7
|
+
if (!c)
|
|
8
|
+
return html ``;
|
|
9
|
+
const requested = host._requested.value === c.checkpointId;
|
|
10
|
+
const pending = c.status === 'restore-pending' || (requested && c.status === 'available');
|
|
11
|
+
const confirming = host._confirming.value && !pending;
|
|
12
|
+
const status = pending
|
|
13
|
+
? t['restore-pending']
|
|
14
|
+
: c.status === 'restored'
|
|
15
|
+
? format(t.restored, { outcome: c.outcome ?? '' })
|
|
16
|
+
: c.status === 'restore-failed'
|
|
17
|
+
? format(t['restore-failed'], { message: c.error?.message ?? '' })
|
|
18
|
+
: c.status === 'unavailable'
|
|
19
|
+
? t.unavailable
|
|
20
|
+
: t.available;
|
|
21
|
+
const tone = c.status === 'restored'
|
|
22
|
+
? 'success'
|
|
23
|
+
: c.status === 'restore-failed'
|
|
24
|
+
? 'danger'
|
|
25
|
+
: pending
|
|
26
|
+
? 'active'
|
|
27
|
+
: '';
|
|
28
|
+
const unavailable = host._unavailable;
|
|
29
|
+
const created = host._created();
|
|
30
|
+
return html `<div
|
|
31
|
+
part="base"
|
|
32
|
+
class="base"
|
|
33
|
+
role="group"
|
|
34
|
+
aria-labelledby="label"
|
|
35
|
+
data-status=${c.status}
|
|
36
|
+
>
|
|
37
|
+
<p id="label" class="label">${c.label}</p>
|
|
38
|
+
<p class="muted" ?hidden=${!created}>${created ?? ''}</p>
|
|
39
|
+
<p class="description">${c.description}</p>
|
|
40
|
+
<div ?hidden=${!c.restores.length}>
|
|
41
|
+
<p class="muted">${t.restores}</p>
|
|
42
|
+
<ul part="restores" class="restores">
|
|
43
|
+
${c.restores.map((item) => html `<li>${item}</li>`)}
|
|
44
|
+
</ul>
|
|
45
|
+
</div>
|
|
46
|
+
<p class="state" data-tone=${tone}>${status}</p>
|
|
47
|
+
<div part="actions" class="actions" ?hidden=${confirming || pending}>
|
|
48
|
+
<odd-button
|
|
49
|
+
size="sm"
|
|
50
|
+
?disabled=${unavailable !== undefined || c.status === 'unavailable'}
|
|
51
|
+
@click=${host._ask}
|
|
52
|
+
>${t.restore}</odd-button
|
|
53
|
+
>
|
|
54
|
+
<span class="muted" ?hidden=${!unavailable || c.status === 'unavailable'}
|
|
55
|
+
>${unavailable ?? ''}</span
|
|
56
|
+
>
|
|
57
|
+
</div>
|
|
58
|
+
<div class="confirm" role="group" aria-labelledby="confirm-text" ?hidden=${!confirming}>
|
|
59
|
+
<p id="confirm-text">${format(t.confirmText, { label: c.label })}</p>
|
|
60
|
+
<div class="actions">
|
|
61
|
+
<odd-button data-confirm size="sm" appearance="primary" @click=${host._restore}
|
|
62
|
+
>${t.confirm}</odd-button
|
|
63
|
+
>
|
|
64
|
+
<odd-button size="sm" appearance="ghost" @click=${host._cancel}>${t.cancel}</odd-button>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>`;
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=checkpoint.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.template.js","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,yFAAyF;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAsB,EAAE,EAAE;IAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IACxB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA,EAAE,CAAC;IACtB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,CAAC,YAAY,CAAC;IAC3D,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,iBAAiB,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO;QACpB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU;YACvB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAClD,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,gBAAgB;gBAC7B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;gBAClE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa;oBAC1B,CAAC,CAAC,CAAC,CAAC,WAAW;oBACf,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtB,MAAM,IAAI,GACR,CAAC,CAAC,MAAM,KAAK,UAAU;QACrB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,gBAAgB;YAC7B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,EAAE,CAAC;IACb,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,IAAI,CAAA;;;;;kBAKK,CAAC,CAAC,MAAM;;kCAEQ,CAAC,CAAC,KAAK;+BACV,CAAC,OAAO,IAAI,OAAO,IAAI,EAAE;6BAC3B,CAAC,CAAC,WAAW;mBACvB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;yBACZ,CAAC,CAAC,QAAQ;;UAEzB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA,OAAO,IAAI,OAAO,CAAC;;;iCAGzB,IAAI,IAAI,MAAM;kDACG,UAAU,IAAI,OAAO;;;oBAGnD,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa;iBAC1D,IAAI,CAAC,IAAI;WACf,CAAC,CAAC,OAAO;;oCAEgB,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa;WACnE,WAAW,IAAI,EAAE;;;+EAGmD,CAAC,UAAU;6BAC7D,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;;yEAEG,IAAI,CAAC,QAAQ;aACzE,CAAC,CAAC,OAAO;;0DAEoC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM;;;SAGzE,CAAC;AACV,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { OddkinCheckpoint, CHECKPOINT_STRINGS } from './checkpoint.js';
|
|
2
|
+
export { checkpointTemplate } from './checkpoint.template.js';
|
|
3
|
+
export { checkpointStyles } from './checkpoint.styles.js';
|
|
4
|
+
export { checkpointDefinition } from './checkpoint.definition.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkpoint/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Side-effect free. Register with `@oddkin/ai/define/checkpoint`.
|
|
2
|
+
export { OddkinCheckpoint, CHECKPOINT_STRINGS } from './checkpoint.js';
|
|
3
|
+
export { checkpointTemplate } from './checkpoint.template.js';
|
|
4
|
+
export { checkpointStyles } from './checkpoint.styles.js';
|
|
5
|
+
export { checkpointDefinition } from './checkpoint.definition.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/checkpoint/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { OddkinElement, type ElementEvents, type EventDetail } from '@oddkin/core/element';
|
|
2
|
+
import type { Scope } from '@oddkin/core/scope';
|
|
3
|
+
import type { PartOf } from '../contracts/types.js';
|
|
4
|
+
export type SourceRecord = PartOf<'source'>;
|
|
5
|
+
export declare const CITATION_STRINGS: {
|
|
6
|
+
source: string;
|
|
7
|
+
unresolved: string;
|
|
8
|
+
unavailable: string;
|
|
9
|
+
open: string;
|
|
10
|
+
show: string;
|
|
11
|
+
untitled: string;
|
|
12
|
+
};
|
|
13
|
+
/** Internal: asks the nearest message to reveal a source after an uncancelled `odd-citation-open`. */
|
|
14
|
+
export declare const revealSourceEvent: import("@oddkin/core/element").EventDefinition<{
|
|
15
|
+
readonly sourceId: string;
|
|
16
|
+
}>;
|
|
17
|
+
declare const OddkinCitation_base: import("@oddkin/core/element").WithProps<typeof OddkinElement, {
|
|
18
|
+
readonly sourceId: import("@oddkin/core/element").PropDefinition<string>;
|
|
19
|
+
readonly index: import("@oddkin/core/element").PropDefinition<number>;
|
|
20
|
+
readonly source: import("@oddkin/core/element").PropDefinition<{
|
|
21
|
+
excerpt?: string | undefined;
|
|
22
|
+
id: string;
|
|
23
|
+
kind?: "document" | "file" | "other" | "web" | undefined;
|
|
24
|
+
publisher?: string | undefined;
|
|
25
|
+
sourceId: string;
|
|
26
|
+
title?: string | undefined;
|
|
27
|
+
type: "source";
|
|
28
|
+
url?: string | undefined;
|
|
29
|
+
} | undefined>;
|
|
30
|
+
readonly strings: import("@oddkin/core/element").PropDefinition<Partial<{
|
|
31
|
+
source: string;
|
|
32
|
+
unresolved: string;
|
|
33
|
+
unavailable: string;
|
|
34
|
+
open: string;
|
|
35
|
+
show: string;
|
|
36
|
+
untitled: string;
|
|
37
|
+
}> | undefined>;
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* An inline citation marker with an accessible preview of its source. A missing source record
|
|
41
|
+
* renders as an unresolved reference; nothing is invented.
|
|
42
|
+
*
|
|
43
|
+
* @csspart trigger - The marker button.
|
|
44
|
+
* @csspart preview - The source preview.
|
|
45
|
+
* @a11y The marker is a button named after the source ("Source 2: Title"); `aria-expanded` reflects the preview. The preview is ordinary content after the button, so screen readers and touch users reach it without hover.
|
|
46
|
+
* @keyboard Enter or Space toggles the preview; Escape closes it and returns focus to the marker.
|
|
47
|
+
* @useFor Inline references from generated text to its sources.
|
|
48
|
+
* @notFor Footnotes in authored documents; use links.
|
|
49
|
+
* @customization 1 2
|
|
50
|
+
* @category AI
|
|
51
|
+
*/
|
|
52
|
+
export declare class OddkinCitation extends OddkinCitation_base {
|
|
53
|
+
static shadowRootOptions: ShadowRootInit;
|
|
54
|
+
static events: {
|
|
55
|
+
'odd-citation-open': import("@oddkin/core/element").EventDefinition<{
|
|
56
|
+
readonly sourceId: string;
|
|
57
|
+
readonly resolved: boolean;
|
|
58
|
+
}>;
|
|
59
|
+
'odd-source-reveal': import("@oddkin/core/element").EventDefinition<{
|
|
60
|
+
readonly sourceId: string;
|
|
61
|
+
}>;
|
|
62
|
+
};
|
|
63
|
+
readonly _events?: ElementEvents<typeof OddkinCitation>;
|
|
64
|
+
/** @internal Local presentation state. */
|
|
65
|
+
readonly _open: import("@oddkin/core/reactive").Signal<boolean>;
|
|
66
|
+
/** @internal */
|
|
67
|
+
get _strings(): typeof CITATION_STRINGS;
|
|
68
|
+
/** @internal */
|
|
69
|
+
readonly _toggle: () => void;
|
|
70
|
+
/** @internal */
|
|
71
|
+
readonly _show: () => void;
|
|
72
|
+
protected connected(scope: Scope): void;
|
|
73
|
+
}
|
|
74
|
+
declare global {
|
|
75
|
+
interface HTMLElementTagNameMap {
|
|
76
|
+
'odd-citation': OddkinCitation;
|
|
77
|
+
}
|
|
78
|
+
interface GlobalEventHandlersEventMap {
|
|
79
|
+
'odd-source-reveal': CustomEvent<EventDetail<typeof revealSourceEvent>>;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
export {};
|
|
83
|
+
//# sourceMappingURL=citation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.d.ts","sourceRoot":"","sources":["../../src/citation/citation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE5C,eAAO,MAAM,gBAAgB;IAC3B,MAAM;IACN,UAAU;IACV,WAAW;IAEX,IAAI;IACJ,IAAI;IACJ,QAAQ;CACT,CAAC;AAEF,sGAAsG;AACtG,eAAO,MAAM,iBAAiB;uBAA8B,MAAM;EAMhE,CAAC;;;;;;;;;;;;;;;;;;;;;;;AAEH;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,SAAQ,mBAalC;IACA,OAAgB,iBAAiB,EAAE,cAAc,CAAoB;IACrE,OAAgB,MAAM;QACpB,mBAAmB;;;;QACnB,mBAAmB;+BAtCqC,MAAM;;MAuC9D;IACF,SAAiB,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,cAAc,CAAC,CAAC;IAEhE,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,kDAAiB;IAE/B,gBAAgB;IAChB,IAAI,QAAQ,IAAI,OAAO,gBAAgB,CAEtC;IAED,gBAAgB;IAChB,QAAQ,CAAC,OAAO,QAAO,IAAI,CAEzB;IAEF,gBAAgB;IAChB,QAAQ,CAAC,KAAK,QAAO,IAAI,CAIvB;IAEF,UAAmB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAc/C;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,cAAc,CAAC;KAChC;IACD,UAAU,2BAA2B;QACnC,mBAAmB,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;KACzE;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.define.d.ts","sourceRoot":"","sources":["../../src/citation/citation.define.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.define.js","sourceRoot":"","sources":["../../src/citation/citation.define.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.definition.d.ts","sourceRoot":"","sources":["../../src/citation/citation.definition.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,eAAO,MAAM,kBAAkB,kEAK7B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { compose } from '@oddkin/core/element';
|
|
2
|
+
import { aiBaseStyles } from '../internal/base.styles.js';
|
|
3
|
+
import { OddkinCitation } from './citation.js';
|
|
4
|
+
import { citationStyles } from './citation.styles.js';
|
|
5
|
+
import { citationTemplate } from './citation.template.js';
|
|
6
|
+
export const citationDefinition = compose({
|
|
7
|
+
name: 'odd-citation',
|
|
8
|
+
element: OddkinCitation,
|
|
9
|
+
template: citationTemplate,
|
|
10
|
+
styles: [aiBaseStyles, citationStyles],
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=citation.definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.definition.js","sourceRoot":"","sources":["../../src/citation/citation.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACxC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;CACvC,CAAC,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { OddkinElement, event, prop, } from '@oddkin/core/element';
|
|
2
|
+
import { signal } from '@oddkin/core/reactive';
|
|
3
|
+
import { citationOpenEvent } from '../events.js';
|
|
4
|
+
import { strings } from '../internal/strings.js';
|
|
5
|
+
export const CITATION_STRINGS = {
|
|
6
|
+
source: 'Source {index}: {title}',
|
|
7
|
+
unresolved: 'Unresolved source reference {id}',
|
|
8
|
+
unavailable: 'This source is not available. The response referenced it, but no source record was supplied.',
|
|
9
|
+
open: 'Open source',
|
|
10
|
+
show: 'Show in sources',
|
|
11
|
+
untitled: 'Untitled source',
|
|
12
|
+
};
|
|
13
|
+
/** Internal: asks the nearest message to reveal a source after an uncancelled `odd-citation-open`. */
|
|
14
|
+
export const revealSourceEvent = event('odd-source-reveal', {
|
|
15
|
+
bubbles: true,
|
|
16
|
+
composed: true,
|
|
17
|
+
cancelable: true,
|
|
18
|
+
intent: 'user',
|
|
19
|
+
description: 'Default action of odd-citation-open: the nearest message reveals the source.',
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* An inline citation marker with an accessible preview of its source. A missing source record
|
|
23
|
+
* renders as an unresolved reference; nothing is invented.
|
|
24
|
+
*
|
|
25
|
+
* @csspart trigger - The marker button.
|
|
26
|
+
* @csspart preview - The source preview.
|
|
27
|
+
* @a11y The marker is a button named after the source ("Source 2: Title"); `aria-expanded` reflects the preview. The preview is ordinary content after the button, so screen readers and touch users reach it without hover.
|
|
28
|
+
* @keyboard Enter or Space toggles the preview; Escape closes it and returns focus to the marker.
|
|
29
|
+
* @useFor Inline references from generated text to its sources.
|
|
30
|
+
* @notFor Footnotes in authored documents; use links.
|
|
31
|
+
* @customization 1 2
|
|
32
|
+
* @category AI
|
|
33
|
+
*/
|
|
34
|
+
export class OddkinCitation extends OddkinElement.with({
|
|
35
|
+
sourceId: prop.string({
|
|
36
|
+
default: '',
|
|
37
|
+
attribute: 'source-id',
|
|
38
|
+
description: 'Citation key (`[^key]`).',
|
|
39
|
+
}),
|
|
40
|
+
index: prop.number({ default: 0, description: 'Display number; 0 shows the key.' }),
|
|
41
|
+
source: prop.object({
|
|
42
|
+
description: 'The source record; undefined renders an unresolved reference.',
|
|
43
|
+
}),
|
|
44
|
+
strings: prop.object({
|
|
45
|
+
description: 'Localized string overrides.',
|
|
46
|
+
}),
|
|
47
|
+
}) {
|
|
48
|
+
static shadowRootOptions = { mode: 'open' };
|
|
49
|
+
static events = {
|
|
50
|
+
'odd-citation-open': citationOpenEvent,
|
|
51
|
+
'odd-source-reveal': revealSourceEvent,
|
|
52
|
+
};
|
|
53
|
+
/** @internal Local presentation state. */
|
|
54
|
+
_open = signal(false);
|
|
55
|
+
/** @internal */
|
|
56
|
+
get _strings() {
|
|
57
|
+
return strings(CITATION_STRINGS, this.strings);
|
|
58
|
+
}
|
|
59
|
+
/** @internal */
|
|
60
|
+
_toggle = () => {
|
|
61
|
+
this._open.value = !this._open.value;
|
|
62
|
+
};
|
|
63
|
+
/** @internal */
|
|
64
|
+
_show = () => {
|
|
65
|
+
const resolved = !!this.source;
|
|
66
|
+
if (this.emit(citationOpenEvent, { sourceId: this.sourceId, resolved }) && resolved)
|
|
67
|
+
this.emit(revealSourceEvent, { sourceId: this.sourceId });
|
|
68
|
+
};
|
|
69
|
+
connected(scope) {
|
|
70
|
+
scope.listen(this, 'keydown', (event) => {
|
|
71
|
+
if (event.key === 'Escape' && this._open.value) {
|
|
72
|
+
this._open.value = false;
|
|
73
|
+
this.shadowRoot?.querySelector('[part="trigger"]')?.focus();
|
|
74
|
+
event.stopPropagation();
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
// Close when focus leaves the citation (keyboard and touch alike).
|
|
78
|
+
scope.listen(this, 'focusout', (event) => {
|
|
79
|
+
const next = event.relatedTarget;
|
|
80
|
+
if (next && (this.contains(next) || this.shadowRoot?.contains(next)))
|
|
81
|
+
return;
|
|
82
|
+
if (next)
|
|
83
|
+
this._open.value = false;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=citation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.js","sourceRoot":"","sources":["../../src/citation/citation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,EACL,IAAI,GAGL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAIjD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,yBAAyB;IACjC,UAAU,EAAE,kCAAkC;IAC9C,WAAW,EACT,8FAA8F;IAChG,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,iBAAiB;CAC5B,CAAC;AAEF,sGAAsG;AACtG,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAgC,mBAAmB,EAAE;IACzF,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,8EAA8E;CAC5F,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,cAAe,SAAQ,aAAa,CAAC,IAAI,CAAC;IACrD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,0BAA0B;KACxC,CAAC;IACF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;IACnF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAe;QAChC,WAAW,EAAE,+DAA+D;KAC7E,CAAC;IACF,OAAO,EAAE,IAAI,CAAC,MAAM,CAAmC;QACrD,WAAW,EAAE,6BAA6B;KAC3C,CAAC;CACH,CAAC;IACA,MAAM,CAAU,iBAAiB,GAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrE,MAAM,CAAU,MAAM,GAAG;QACvB,mBAAmB,EAAE,iBAAiB;QACtC,mBAAmB,EAAE,iBAAiB;KACvC,CAAC;IAGF,0CAA0C;IACjC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE/B,gBAAgB;IAChB,IAAI,QAAQ;QACV,OAAO,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB;IACP,OAAO,GAAG,GAAS,EAAE;QAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IACvC,CAAC,CAAC;IAEF,gBAAgB;IACP,KAAK,GAAG,GAAS,EAAE;QAC1B,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,QAAQ;YACjF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEiB,SAAS,CAAC,KAAY;QACvC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,KAAoB,EAAE,EAAE;YACrD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,UAAU,EAAE,aAAa,CAAc,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzE,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,KAAiB,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,KAAK,CAAC,aAA4B,CAAC;YAChD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO;YAC7E,IAAI,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.recipe.d.ts","sourceRoot":"","sources":["../../src/citation/citation.recipe.ts"],"names":[],"mappings":"AAGA,wHAAwH;AACxH,eAAO,MAAM,cAAc,kDAGzB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { defineLayoutRecipe, stack } from '@oddkin/components/layout';
|
|
2
|
+
import { token } from '@oddkin/tokens/refs';
|
|
3
|
+
/** Arrangement of the citation (layout-recipes.md §14): the preview's title, host, excerpt, and actions in a column. */
|
|
4
|
+
export const citationRecipe = defineLayoutRecipe({
|
|
5
|
+
name: 'citation',
|
|
6
|
+
regions: { preview: stack({ gap: token('space.2xs') }) },
|
|
7
|
+
});
|
|
8
|
+
//# sourceMappingURL=citation.recipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.recipe.js","sourceRoot":"","sources":["../../src/citation/citation.recipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,wHAAwH;AACxH,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;IAC/C,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;CACzD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.recipe.styles.d.ts","sourceRoot":"","sources":["../../src/citation/citation.recipe.styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,yCAEhC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Generated from ./citation.recipe.ts by packages/ai/test/recipes.test.ts (UPDATE_FIXTURES=1).
|
|
2
|
+
// Do not edit: change the recipe and regenerate.
|
|
3
|
+
import { unsafeCSS } from '@oddkin/core/styles';
|
|
4
|
+
export const citationRecipeStyles = unsafeCSS('@layer odd.layout.base {\n .preview {\n display: flex;\n flex-direction: column;\n gap: var(--odd-space-2xs);\n min-inline-size: 0;\n }\n}\n');
|
|
5
|
+
//# sourceMappingURL=citation.recipe.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.recipe.styles.js","sourceRoot":"","sources":["../../src/citation/citation.recipe.styles.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,iDAAiD;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAC3C,4JAA4J,CAC7J,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation.styles.d.ts","sourceRoot":"","sources":["../../src/citation/citation.styles.ts"],"names":[],"mappings":"AAIA,oEAAoE;AACpE,eAAO,MAAM,cAAc,yCAsD1B,CAAC"}
|