@oddkin/ai 0.0.0-stage → 1.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +108 -2
- package/agent/GUIDE.md +39 -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 +81 -0
- package/agent/references/components/odd-activity.md +78 -0
- package/agent/references/components/odd-ai-label.md +73 -0
- package/agent/references/components/odd-artifact.md +88 -0
- package/agent/references/components/odd-change-review.md +81 -0
- package/agent/references/components/odd-checkpoint.md +78 -0
- package/agent/references/components/odd-citation.md +76 -0
- package/agent/references/components/odd-context-picker.md +78 -0
- package/agent/references/components/odd-conversation.md +106 -0
- package/agent/references/components/odd-inline-assist.md +84 -0
- package/agent/references/components/odd-message-branch.md +73 -0
- package/agent/references/components/odd-message.md +99 -0
- package/agent/references/components/odd-model-select.md +84 -0
- package/agent/references/components/odd-prompt-input.md +116 -0
- package/agent/references/components/odd-question.md +78 -0
- package/agent/references/components/odd-response-feedback.md +79 -0
- package/agent/references/components/odd-response.md +94 -0
- package/agent/references/components/odd-sources.md +80 -0
- package/agent/references/components/odd-suggestions.md +76 -0
- package/agent/references/components/odd-task-plan.md +73 -0
- package/agent/references/components/odd-tool-call.md +82 -0
- package/agent/references/components/odd-transcript.md +73 -0
- package/agent/references/components/odd-usage-meter.md +71 -0
- package/agent/references/components/odd-voice-input.md +80 -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 +65 -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 +47 -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 +1151 -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 +47 -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 +66 -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 +48 -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 +919 -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 +48 -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 +129 -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 +13579 -0
- package/package.json +330 -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,241 @@
|
|
|
1
|
+
import { OddkinElement, type ElementEvents } from '@oddkin/core/element';
|
|
2
|
+
import type { Scope } from '@oddkin/core/scope';
|
|
3
|
+
import type { PublicError } from '../contracts/types.js';
|
|
4
|
+
import { ComposerController, type ComposerIssue, type ComposerState } from '../controllers/composer.js';
|
|
5
|
+
export declare const PROMPT_INPUT_STRINGS: {
|
|
6
|
+
label: string;
|
|
7
|
+
placeholder: string;
|
|
8
|
+
send: string;
|
|
9
|
+
stop: string;
|
|
10
|
+
attach: string;
|
|
11
|
+
remove: string;
|
|
12
|
+
hintSend: string;
|
|
13
|
+
hintNewline: string;
|
|
14
|
+
sending: string;
|
|
15
|
+
failed: string;
|
|
16
|
+
busyAttachments: string;
|
|
17
|
+
failedAttachments: string;
|
|
18
|
+
unavailable: string;
|
|
19
|
+
dropHere: string;
|
|
20
|
+
'ai.attachment.type': string;
|
|
21
|
+
'ai.attachment.size': string;
|
|
22
|
+
'ai.attachment.count': string;
|
|
23
|
+
'ai.attachment.unavailable': string;
|
|
24
|
+
selected: string;
|
|
25
|
+
uploading: string;
|
|
26
|
+
uploaded: string;
|
|
27
|
+
processing: string;
|
|
28
|
+
ready: string;
|
|
29
|
+
failedStatus: string;
|
|
30
|
+
removed: string;
|
|
31
|
+
};
|
|
32
|
+
declare const OddkinPromptInput_base: import("@oddkin/core/element").WithProps<typeof OddkinElement, {
|
|
33
|
+
readonly controller: import("@oddkin/core/element").PropDefinition<ComposerController | undefined>;
|
|
34
|
+
readonly label: import("@oddkin/core/element").PropDefinition<string>;
|
|
35
|
+
readonly placeholder: import("@oddkin/core/element").PropDefinition<string>;
|
|
36
|
+
readonly disabled: import("@oddkin/core/element").PropDefinition<boolean>;
|
|
37
|
+
readonly loading: import("@oddkin/core/element").PropDefinition<boolean>;
|
|
38
|
+
readonly attemptId: import("@oddkin/core/element").PropDefinition<string>;
|
|
39
|
+
readonly capabilities: import("@oddkin/core/element").PropDefinition<{
|
|
40
|
+
attachments?: {
|
|
41
|
+
available: boolean;
|
|
42
|
+
reason?: string | undefined;
|
|
43
|
+
} | undefined;
|
|
44
|
+
disconnect?: {
|
|
45
|
+
available: boolean;
|
|
46
|
+
reason?: string | undefined;
|
|
47
|
+
} | undefined;
|
|
48
|
+
edit?: {
|
|
49
|
+
available: boolean;
|
|
50
|
+
reason?: string | undefined;
|
|
51
|
+
} | undefined;
|
|
52
|
+
editApproval?: {
|
|
53
|
+
available: boolean;
|
|
54
|
+
reason?: string | undefined;
|
|
55
|
+
} | undefined;
|
|
56
|
+
feedback?: {
|
|
57
|
+
available: boolean;
|
|
58
|
+
reason?: string | undefined;
|
|
59
|
+
} | undefined;
|
|
60
|
+
history?: {
|
|
61
|
+
available: boolean;
|
|
62
|
+
reason?: string | undefined;
|
|
63
|
+
} | undefined;
|
|
64
|
+
reconnect?: {
|
|
65
|
+
available: boolean;
|
|
66
|
+
reason?: string | undefined;
|
|
67
|
+
} | undefined;
|
|
68
|
+
regenerate?: {
|
|
69
|
+
available: boolean;
|
|
70
|
+
reason?: string | undefined;
|
|
71
|
+
} | undefined;
|
|
72
|
+
respondToApproval?: {
|
|
73
|
+
available: boolean;
|
|
74
|
+
reason?: string | undefined;
|
|
75
|
+
} | undefined;
|
|
76
|
+
restoreCheckpoint?: {
|
|
77
|
+
available: boolean;
|
|
78
|
+
reason?: string | undefined;
|
|
79
|
+
} | undefined;
|
|
80
|
+
resume?: {
|
|
81
|
+
available: boolean;
|
|
82
|
+
reason?: string | undefined;
|
|
83
|
+
} | undefined;
|
|
84
|
+
retry?: {
|
|
85
|
+
available: boolean;
|
|
86
|
+
reason?: string | undefined;
|
|
87
|
+
} | undefined;
|
|
88
|
+
send?: {
|
|
89
|
+
available: boolean;
|
|
90
|
+
reason?: string | undefined;
|
|
91
|
+
} | undefined;
|
|
92
|
+
stop?: {
|
|
93
|
+
available: boolean;
|
|
94
|
+
reason?: string | undefined;
|
|
95
|
+
} | undefined;
|
|
96
|
+
switchBranch?: {
|
|
97
|
+
available: boolean;
|
|
98
|
+
reason?: string | undefined;
|
|
99
|
+
} | undefined;
|
|
100
|
+
voice?: {
|
|
101
|
+
available: boolean;
|
|
102
|
+
reason?: string | undefined;
|
|
103
|
+
} | undefined;
|
|
104
|
+
} | undefined>;
|
|
105
|
+
readonly accept: import("@oddkin/core/element").PropDefinition<string>;
|
|
106
|
+
readonly maxFileSize: import("@oddkin/core/element").PropDefinition<number>;
|
|
107
|
+
readonly maxFiles: import("@oddkin/core/element").PropDefinition<number>;
|
|
108
|
+
readonly enterBehavior: import("@oddkin/core/element").PropDefinition<"newline" | "send">;
|
|
109
|
+
readonly strings: import("@oddkin/core/element").PropDefinition<Partial<{
|
|
110
|
+
label: string;
|
|
111
|
+
placeholder: string;
|
|
112
|
+
send: string;
|
|
113
|
+
stop: string;
|
|
114
|
+
attach: string;
|
|
115
|
+
remove: string;
|
|
116
|
+
hintSend: string;
|
|
117
|
+
hintNewline: string;
|
|
118
|
+
sending: string;
|
|
119
|
+
failed: string;
|
|
120
|
+
busyAttachments: string;
|
|
121
|
+
failedAttachments: string;
|
|
122
|
+
unavailable: string;
|
|
123
|
+
dropHere: string;
|
|
124
|
+
'ai.attachment.type': string;
|
|
125
|
+
'ai.attachment.size': string;
|
|
126
|
+
'ai.attachment.count': string;
|
|
127
|
+
'ai.attachment.unavailable': string;
|
|
128
|
+
selected: string;
|
|
129
|
+
uploading: string;
|
|
130
|
+
uploaded: string;
|
|
131
|
+
processing: string;
|
|
132
|
+
ready: string;
|
|
133
|
+
failedStatus: string;
|
|
134
|
+
removed: string;
|
|
135
|
+
}> | undefined>;
|
|
136
|
+
}>;
|
|
137
|
+
/**
|
|
138
|
+
* The prompt composer: an expanding text area with attachments (button, paste, and drop),
|
|
139
|
+
* toolbar slots, send and stop, and a draft that survives failures. Submission is a cancelable
|
|
140
|
+
* request; the host acknowledges or fails it by id, and acknowledging an older submission never
|
|
141
|
+
* clears newer edits. IME composition never submits.
|
|
142
|
+
*
|
|
143
|
+
* @slot header - Content above the input (suggestions, context).
|
|
144
|
+
* @slot toolbar-start - Controls before the attach button (model picker, commands).
|
|
145
|
+
* @slot toolbar-end - Controls before the send button (voice input).
|
|
146
|
+
* @csspart form - The native form.
|
|
147
|
+
* @csspart input - The native text area.
|
|
148
|
+
* @csspart attachments - Attachment list.
|
|
149
|
+
* @csspart toolbar - Toolbar row.
|
|
150
|
+
* @csspart status - Submission status and errors.
|
|
151
|
+
* @cssprop --odd-prompt-input-max-height - Maximum height before the text area scrolls.
|
|
152
|
+
* @a11y The text area is labelled (`label`) and described by the keyboard hint, validation issues, and submission status. Send and stop are native buttons; unavailable actions explain why.
|
|
153
|
+
* @keyboard Enter sends and Shift+Enter inserts a line break (or Ctrl/⌘+Enter sends with `enter-behavior="newline"`). Keys during IME composition never send.
|
|
154
|
+
* @useFor The input of a conversation or assistant.
|
|
155
|
+
* @notFor Single-line form fields; use `odd-input`.
|
|
156
|
+
* @limitation Mentions and slash commands are host integrations through the slots and the `input` part; the composer does not parse them.
|
|
157
|
+
* @customization 1 2
|
|
158
|
+
* @category AI
|
|
159
|
+
*/
|
|
160
|
+
export declare class OddkinPromptInput extends OddkinPromptInput_base {
|
|
161
|
+
#private;
|
|
162
|
+
static shadowRootOptions: ShadowRootInit;
|
|
163
|
+
static events: {
|
|
164
|
+
'odd-prompt-submit': import("@oddkin/core/element").EventDefinition<import("../events.js").PromptSubmitDetail>;
|
|
165
|
+
'odd-prompt-stop': import("@oddkin/core/element").EventDefinition<{
|
|
166
|
+
readonly attemptId: string | undefined;
|
|
167
|
+
}>;
|
|
168
|
+
'odd-attachment-add': import("@oddkin/core/element").EventDefinition<{
|
|
169
|
+
readonly attachments: readonly import("../controllers/composer.js").AttachmentState[];
|
|
170
|
+
}>;
|
|
171
|
+
'odd-attachment-remove': import("@oddkin/core/element").EventDefinition<{
|
|
172
|
+
readonly attachmentId: string;
|
|
173
|
+
}>;
|
|
174
|
+
'odd-announce': import("@oddkin/core/element").EventDefinition<import("../events.js").AnnounceDetail>;
|
|
175
|
+
};
|
|
176
|
+
readonly _events?: ElementEvents<typeof OddkinPromptInput>;
|
|
177
|
+
/** @internal Mirror of the composer state for the template. */
|
|
178
|
+
readonly _state: import("@oddkin/core/reactive").Signal<ComposerState>;
|
|
179
|
+
/** @internal A blocked send attempt's explanation. */
|
|
180
|
+
readonly _blocked: import("@oddkin/core/reactive").Signal<string>;
|
|
181
|
+
/** @internal Files are being dragged over. */
|
|
182
|
+
readonly _dragging: import("@oddkin/core/reactive").Signal<boolean>;
|
|
183
|
+
/** @internal */
|
|
184
|
+
get _strings(): typeof PROMPT_INPUT_STRINGS;
|
|
185
|
+
/** The composer in use (host-supplied or owned). */
|
|
186
|
+
get activeController(): ComposerController;
|
|
187
|
+
/** The draft text. Setting it never dispatches events. */
|
|
188
|
+
get value(): string;
|
|
189
|
+
set value(text: string);
|
|
190
|
+
/** The host accepted a submission; clears the submitted draft unless it was edited since. */
|
|
191
|
+
acknowledge(submissionId: string): boolean;
|
|
192
|
+
/** The host rejected a submission; the draft is kept and the error shown. */
|
|
193
|
+
fail(submissionId: string, error: PublicError): boolean;
|
|
194
|
+
/** @internal Why sending is not possible right now (empty string: just empty). */
|
|
195
|
+
_sendBlocker(state: ComposerState): string | undefined;
|
|
196
|
+
/** @internal */
|
|
197
|
+
_attachmentsAvailable(): boolean;
|
|
198
|
+
/** @internal */
|
|
199
|
+
_issue(issue: ComposerIssue): string;
|
|
200
|
+
/** @internal */
|
|
201
|
+
_bytes(size: number): string;
|
|
202
|
+
/** @internal */
|
|
203
|
+
readonly _onInput: (event: Event) => void;
|
|
204
|
+
/** @internal */
|
|
205
|
+
readonly _onCompositionStart: () => void;
|
|
206
|
+
/** @internal */
|
|
207
|
+
readonly _onCompositionEnd: () => void;
|
|
208
|
+
/** @internal */
|
|
209
|
+
readonly _onKeyDown: (event: KeyboardEvent) => void;
|
|
210
|
+
/** @internal */
|
|
211
|
+
readonly _onSubmit: (event: Event) => void;
|
|
212
|
+
/** Request submission of the draft (same as pressing Send). Returns the submission id. */
|
|
213
|
+
submit(): string | undefined;
|
|
214
|
+
/** @internal */
|
|
215
|
+
_submit(): string | undefined;
|
|
216
|
+
/** @internal */
|
|
217
|
+
readonly _stop: () => void;
|
|
218
|
+
/** @internal */
|
|
219
|
+
readonly _pick: () => void;
|
|
220
|
+
/** @internal */
|
|
221
|
+
readonly _onFiles: (event: Event) => void;
|
|
222
|
+
/** @internal */
|
|
223
|
+
readonly _onPaste: (event: ClipboardEvent) => void;
|
|
224
|
+
/** @internal */
|
|
225
|
+
readonly _onDragOver: (event: DragEvent) => void;
|
|
226
|
+
/** @internal */
|
|
227
|
+
readonly _onDragLeave: (event: DragEvent) => void;
|
|
228
|
+
/** @internal */
|
|
229
|
+
readonly _onDrop: (event: DragEvent) => void;
|
|
230
|
+
/** @internal */
|
|
231
|
+
readonly _remove: (event: Event) => void;
|
|
232
|
+
protected connected(scope: Scope): void;
|
|
233
|
+
protected updated(): void;
|
|
234
|
+
}
|
|
235
|
+
declare global {
|
|
236
|
+
interface HTMLElementTagNameMap {
|
|
237
|
+
'odd-prompt-input': OddkinPromptInput;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
export {};
|
|
241
|
+
//# sourceMappingURL=prompt-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-input.d.ts","sourceRoot":"","sources":["../../src/prompt-input/prompt-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAQ,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,4BAA4B,CAAC;AAUpC,eAAO,MAAM,oBAAoB;IAC/B,KAAK;IACL,WAAW;IACX,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,QAAQ;IACR,WAAW;IACX,OAAO;IACP,MAAM;IACN,eAAe;IACf,iBAAiB;IACjB,WAAW;IACX,QAAQ;IACR,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,2BAA2B;IAC3B,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,KAAK;IACL,YAAY;IACZ,OAAO;CACR,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,iBAAkB,SAAQ,sBA+CrC;;IACA,OAAgB,iBAAiB,EAAE,cAAc,CAA0C;IAC3F,OAAgB,MAAM;QACpB,mBAAmB;QACnB,iBAAiB;;;QACjB,oBAAoB;;;QACpB,uBAAuB;;;QACvB,cAAc;MACd;IACF,SAAiB,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAInE,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,wDAAiF;IAChG,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,iDAAc;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,kDAAiB;IAEnC,gBAAgB;IAChB,IAAI,QAAQ,IAAI,OAAO,oBAAoB,CAE1C;IAED,oDAAoD;IACpD,IAAI,gBAAgB,IAAI,kBAAkB,CAEzC;IAED,0DAA0D;IAC1D,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAErB;IAED,6FAA6F;IAC7F,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEzC;IAED,6EAA6E;IAC7E,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAStD;IAED,kFAAkF;IAClF,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAWrD;IAED,gBAAgB;IAChB,qBAAqB,IAAI,OAAO,CAE/B;IAED,gBAAgB;IAChB,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAOnC;IAED,gBAAgB;IAChB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3B;IAED,gBAAgB;IAChB,QAAQ,CAAC,QAAQ,UAAW,KAAK,KAAG,IAAI,CAKtC;IACF,gBAAgB;IAChB,QAAQ,CAAC,mBAAmB,QAAO,IAAI,CAErC;IACF,gBAAgB;IAChB,QAAQ,CAAC,iBAAiB,QAAO,IAAI,CAEnC;IACF,gBAAgB;IAChB,QAAQ,CAAC,UAAU,UAAW,aAAa,KAAG,IAAI,CAUhD;IACF,gBAAgB;IAChB,QAAQ,CAAC,SAAS,UAAW,KAAK,KAAG,IAAI,CAGvC;IAEF,0FAA0F;IAC1F,MAAM,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED,gBAAgB;IAChB,OAAO,IAAI,MAAM,GAAG,SAAS,CA0B5B;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAK,QAAO,IAAI,CAEvB;IACF,gBAAgB;IAChB,QAAQ,CAAC,KAAK,QAAO,IAAI,CAEvB;IACF,gBAAgB;IAChB,QAAQ,CAAC,QAAQ,UAAW,KAAK,KAAG,IAAI,CAItC;IACF,gBAAgB;IAChB,QAAQ,CAAC,QAAQ,UAAW,cAAc,KAAG,IAAI,CAM/C;IACF,gBAAgB;IAChB,QAAQ,CAAC,WAAW,UAAW,SAAS,KAAG,IAAI,CAU7C;IACF,gBAAgB;IAChB,QAAQ,CAAC,YAAY,UAAW,SAAS,KAAG,IAAI,CAG9C;IACF,gBAAgB;IAChB,QAAQ,CAAC,OAAO,UAAW,SAAS,KAAG,IAAI,CAMzC;IACF,gBAAgB;IAChB,QAAQ,CAAC,OAAO,UAAW,KAAK,KAAG,IAAI,CAMrC;IA2BF,UAAmB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAe/C;IAED,UAAmB,OAAO,IAAI,IAAI,CAGjC;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,iBAAiB,CAAC;KACvC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-input.define.d.ts","sourceRoot":"","sources":["../../src/prompt-input/prompt-input.define.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-input.define.js","sourceRoot":"","sources":["../../src/prompt-input/prompt-input.define.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,CAAC,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-input.definition.d.ts","sourceRoot":"","sources":["../../src/prompt-input/prompt-input.definition.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,qBAAqB,qEAMhC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { buttonDefinition } from '@oddkin/components/button';
|
|
2
|
+
import { compose } from '@oddkin/core/element';
|
|
3
|
+
import { aiBaseStyles } from '../internal/base.styles.js';
|
|
4
|
+
import { OddkinPromptInput } from './prompt-input.js';
|
|
5
|
+
import { promptInputStyles } from './prompt-input.styles.js';
|
|
6
|
+
import { promptInputTemplate } from './prompt-input.template.js';
|
|
7
|
+
export const promptInputDefinition = compose({
|
|
8
|
+
name: 'odd-prompt-input',
|
|
9
|
+
element: OddkinPromptInput,
|
|
10
|
+
template: promptInputTemplate,
|
|
11
|
+
styles: [aiBaseStyles, promptInputStyles],
|
|
12
|
+
dependencies: { button: buttonDefinition },
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=prompt-input.definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-input.definition.js","sourceRoot":"","sources":["../../src/prompt-input/prompt-input.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;IAC3C,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,YAAY,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;CAC3C,CAAC,CAAC"}
|
|
@@ -0,0 +1,358 @@
|
|
|
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 { ComposerController, } from '../controllers/composer.js';
|
|
5
|
+
import { announceEvent, attachmentAddEvent, attachmentRemoveEvent, promptStopEvent, promptSubmitEvent, } from '../events.js';
|
|
6
|
+
import { format, formatNumber, langOf, strings } from '../internal/strings.js';
|
|
7
|
+
export const PROMPT_INPUT_STRINGS = {
|
|
8
|
+
label: 'Message',
|
|
9
|
+
placeholder: 'Ask anything',
|
|
10
|
+
send: 'Send',
|
|
11
|
+
stop: 'Stop',
|
|
12
|
+
attach: 'Attach files',
|
|
13
|
+
remove: 'Remove {name}',
|
|
14
|
+
hintSend: 'Enter sends. Shift+Enter adds a line.',
|
|
15
|
+
hintNewline: 'Ctrl+Enter or ⌘+Enter sends. Enter adds a line.',
|
|
16
|
+
sending: 'Sending…',
|
|
17
|
+
failed: '{message} Your message was kept; you can edit it and send again.',
|
|
18
|
+
busyAttachments: 'Wait for attachments to finish uploading.',
|
|
19
|
+
failedAttachments: 'Remove or replace attachments that failed.',
|
|
20
|
+
unavailable: 'Sending is not available.',
|
|
21
|
+
dropHere: 'Drop files to attach them',
|
|
22
|
+
'ai.attachment.type': '{name} is not an accepted file type.',
|
|
23
|
+
'ai.attachment.size': '{name} is larger than {limit}.',
|
|
24
|
+
'ai.attachment.count': 'You can attach up to {limit} files.',
|
|
25
|
+
'ai.attachment.unavailable': 'Attachments are not available.',
|
|
26
|
+
selected: 'Selected',
|
|
27
|
+
uploading: 'Uploading {progress}',
|
|
28
|
+
uploaded: 'Uploaded',
|
|
29
|
+
processing: 'Processing…',
|
|
30
|
+
ready: 'Ready',
|
|
31
|
+
failedStatus: 'Failed',
|
|
32
|
+
removed: 'Removed',
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* The prompt composer: an expanding text area with attachments (button, paste, and drop),
|
|
36
|
+
* toolbar slots, send and stop, and a draft that survives failures. Submission is a cancelable
|
|
37
|
+
* request; the host acknowledges or fails it by id, and acknowledging an older submission never
|
|
38
|
+
* clears newer edits. IME composition never submits.
|
|
39
|
+
*
|
|
40
|
+
* @slot header - Content above the input (suggestions, context).
|
|
41
|
+
* @slot toolbar-start - Controls before the attach button (model picker, commands).
|
|
42
|
+
* @slot toolbar-end - Controls before the send button (voice input).
|
|
43
|
+
* @csspart form - The native form.
|
|
44
|
+
* @csspart input - The native text area.
|
|
45
|
+
* @csspart attachments - Attachment list.
|
|
46
|
+
* @csspart toolbar - Toolbar row.
|
|
47
|
+
* @csspart status - Submission status and errors.
|
|
48
|
+
* @cssprop --odd-prompt-input-max-height - Maximum height before the text area scrolls.
|
|
49
|
+
* @a11y The text area is labelled (`label`) and described by the keyboard hint, validation issues, and submission status. Send and stop are native buttons; unavailable actions explain why.
|
|
50
|
+
* @keyboard Enter sends and Shift+Enter inserts a line break (or Ctrl/⌘+Enter sends with `enter-behavior="newline"`). Keys during IME composition never send.
|
|
51
|
+
* @useFor The input of a conversation or assistant.
|
|
52
|
+
* @notFor Single-line form fields; use `odd-input`.
|
|
53
|
+
* @limitation Mentions and slash commands are host integrations through the slots and the `input` part; the composer does not parse them.
|
|
54
|
+
* @customization 1 2
|
|
55
|
+
* @category AI
|
|
56
|
+
*/
|
|
57
|
+
export class OddkinPromptInput extends OddkinElement.with({
|
|
58
|
+
controller: prop.object({
|
|
59
|
+
description: 'Host-owned composer controller; otherwise the element owns one.',
|
|
60
|
+
}),
|
|
61
|
+
label: prop.string({
|
|
62
|
+
default: '',
|
|
63
|
+
description: 'Accessible label; defaults to the localized "Message".',
|
|
64
|
+
}),
|
|
65
|
+
placeholder: prop.string({
|
|
66
|
+
default: '',
|
|
67
|
+
description: 'Placeholder; never a substitute for the label.',
|
|
68
|
+
}),
|
|
69
|
+
disabled: prop.boolean({ reflect: true, description: 'Prevents editing and sending.' }),
|
|
70
|
+
loading: prop.boolean({
|
|
71
|
+
reflect: true,
|
|
72
|
+
description: 'Work is running; shows Stop instead of Send when stopping is available.',
|
|
73
|
+
}),
|
|
74
|
+
attemptId: prop.string({
|
|
75
|
+
default: '',
|
|
76
|
+
attribute: 'attempt-id',
|
|
77
|
+
description: 'Attempt targeted by Stop.',
|
|
78
|
+
}),
|
|
79
|
+
capabilities: prop.object({
|
|
80
|
+
description: '`send`, `stop`, and `attachments` decide which controls are enabled.',
|
|
81
|
+
}),
|
|
82
|
+
accept: prop.string({
|
|
83
|
+
default: '',
|
|
84
|
+
description: 'Accepted attachment types (comma-separated, as `<input accept>`).',
|
|
85
|
+
}),
|
|
86
|
+
maxFileSize: prop.number({
|
|
87
|
+
default: 0,
|
|
88
|
+
attribute: 'max-file-size',
|
|
89
|
+
description: 'Maximum attachment size in bytes (0: no limit).',
|
|
90
|
+
}),
|
|
91
|
+
maxFiles: prop.number({
|
|
92
|
+
default: 0,
|
|
93
|
+
attribute: 'max-files',
|
|
94
|
+
description: 'Maximum attachments (0: no limit).',
|
|
95
|
+
}),
|
|
96
|
+
enterBehavior: prop.enum(['send', 'newline'], {
|
|
97
|
+
default: 'send',
|
|
98
|
+
attribute: 'enter-behavior',
|
|
99
|
+
description: 'What Enter does.',
|
|
100
|
+
}),
|
|
101
|
+
strings: prop.object({
|
|
102
|
+
description: 'Localized string overrides.',
|
|
103
|
+
}),
|
|
104
|
+
}) {
|
|
105
|
+
static shadowRootOptions = { mode: 'open', delegatesFocus: true };
|
|
106
|
+
static events = {
|
|
107
|
+
'odd-prompt-submit': promptSubmitEvent,
|
|
108
|
+
'odd-prompt-stop': promptStopEvent,
|
|
109
|
+
'odd-attachment-add': attachmentAddEvent,
|
|
110
|
+
'odd-attachment-remove': attachmentRemoveEvent,
|
|
111
|
+
'odd-announce': announceEvent,
|
|
112
|
+
};
|
|
113
|
+
#owned;
|
|
114
|
+
#composing = false;
|
|
115
|
+
/** @internal Mirror of the composer state for the template. */
|
|
116
|
+
_state = signal({ text: '', revision: 0, attachments: [], issues: [] });
|
|
117
|
+
/** @internal A blocked send attempt's explanation. */
|
|
118
|
+
_blocked = signal('');
|
|
119
|
+
/** @internal Files are being dragged over. */
|
|
120
|
+
_dragging = signal(false);
|
|
121
|
+
/** @internal */
|
|
122
|
+
get _strings() {
|
|
123
|
+
return strings(PROMPT_INPUT_STRINGS, this.strings);
|
|
124
|
+
}
|
|
125
|
+
/** The composer in use (host-supplied or owned). */
|
|
126
|
+
get activeController() {
|
|
127
|
+
return this.controller ?? (this.#owned ??= new ComposerController());
|
|
128
|
+
}
|
|
129
|
+
/** The draft text. Setting it never dispatches events. */
|
|
130
|
+
get value() {
|
|
131
|
+
return this.activeController.getSnapshot().text;
|
|
132
|
+
}
|
|
133
|
+
set value(text) {
|
|
134
|
+
this.activeController.setText(String(text ?? ''));
|
|
135
|
+
}
|
|
136
|
+
/** The host accepted a submission; clears the submitted draft unless it was edited since. */
|
|
137
|
+
acknowledge(submissionId) {
|
|
138
|
+
return this.activeController.acknowledge(submissionId);
|
|
139
|
+
}
|
|
140
|
+
/** The host rejected a submission; the draft is kept and the error shown. */
|
|
141
|
+
fail(submissionId, error) {
|
|
142
|
+
const failed = this.activeController.fail(submissionId, error);
|
|
143
|
+
if (failed)
|
|
144
|
+
this.emit(announceEvent, {
|
|
145
|
+
text: error.message,
|
|
146
|
+
priority: 'assertive',
|
|
147
|
+
key: `submit-failed:${submissionId}`,
|
|
148
|
+
});
|
|
149
|
+
return failed;
|
|
150
|
+
}
|
|
151
|
+
/** @internal Why sending is not possible right now (empty string: just empty). */
|
|
152
|
+
_sendBlocker(state) {
|
|
153
|
+
const t = this._strings;
|
|
154
|
+
if (this.disabled)
|
|
155
|
+
return '';
|
|
156
|
+
if (!can(this.capabilities ?? { send: { available: true } }, 'send'))
|
|
157
|
+
return unavailableReason(this.capabilities, 'send') ?? t.unavailable;
|
|
158
|
+
const blocker = this.activeController.blocker();
|
|
159
|
+
if (blocker === 'attachments-busy')
|
|
160
|
+
return t.busyAttachments;
|
|
161
|
+
if (blocker === 'attachments-failed')
|
|
162
|
+
return t.failedAttachments;
|
|
163
|
+
if (blocker || (!state.text.trim() && !state.attachments.length))
|
|
164
|
+
return '';
|
|
165
|
+
if (this.loading)
|
|
166
|
+
return '';
|
|
167
|
+
return undefined;
|
|
168
|
+
}
|
|
169
|
+
/** @internal */
|
|
170
|
+
_attachmentsAvailable() {
|
|
171
|
+
return this.capabilities ? can(this.capabilities, 'attachments') : true;
|
|
172
|
+
}
|
|
173
|
+
/** @internal */
|
|
174
|
+
_issue(issue) {
|
|
175
|
+
const t = this._strings;
|
|
176
|
+
const limit = issue.code === 'ai.attachment.size' && typeof issue.limit === 'number'
|
|
177
|
+
? this._bytes(issue.limit)
|
|
178
|
+
: String(issue.limit ?? '');
|
|
179
|
+
return format(t[issue.code], { name: issue.name, limit });
|
|
180
|
+
}
|
|
181
|
+
/** @internal */
|
|
182
|
+
_bytes(size) {
|
|
183
|
+
const locale = langOf(this);
|
|
184
|
+
if (size < 1024)
|
|
185
|
+
return `${formatNumber(size, locale)} B`;
|
|
186
|
+
if (size < 1024 * 1024)
|
|
187
|
+
return `${formatNumber(Math.round(size / 1024), locale)} KB`;
|
|
188
|
+
return `${formatNumber(Math.round(size / 104857.6) / 10, locale)} MB`;
|
|
189
|
+
}
|
|
190
|
+
/** @internal */
|
|
191
|
+
_onInput = (event) => {
|
|
192
|
+
const area = event.target;
|
|
193
|
+
this.activeController.setText(area.value);
|
|
194
|
+
this._blocked.value = '';
|
|
195
|
+
this.#resize(area);
|
|
196
|
+
};
|
|
197
|
+
/** @internal */
|
|
198
|
+
_onCompositionStart = () => {
|
|
199
|
+
this.#composing = true;
|
|
200
|
+
};
|
|
201
|
+
/** @internal */
|
|
202
|
+
_onCompositionEnd = () => {
|
|
203
|
+
this.#composing = false;
|
|
204
|
+
};
|
|
205
|
+
/** @internal */
|
|
206
|
+
_onKeyDown = (event) => {
|
|
207
|
+
if (event.key !== 'Enter')
|
|
208
|
+
return;
|
|
209
|
+
// IME: the Enter that confirms a composition must not send (keyCode 229 covers Safari).
|
|
210
|
+
if (event.isComposing || this.#composing || event.keyCode === 229)
|
|
211
|
+
return;
|
|
212
|
+
const modifier = event.ctrlKey || event.metaKey;
|
|
213
|
+
const sends = this.enterBehavior === 'send' ? !event.shiftKey && !modifier && !event.altKey : modifier;
|
|
214
|
+
if (!sends)
|
|
215
|
+
return;
|
|
216
|
+
event.preventDefault();
|
|
217
|
+
this._submit();
|
|
218
|
+
};
|
|
219
|
+
/** @internal */
|
|
220
|
+
_onSubmit = (event) => {
|
|
221
|
+
event.preventDefault();
|
|
222
|
+
this._submit();
|
|
223
|
+
};
|
|
224
|
+
/** Request submission of the draft (same as pressing Send). Returns the submission id. */
|
|
225
|
+
submit() {
|
|
226
|
+
return this._submit();
|
|
227
|
+
}
|
|
228
|
+
/** @internal */
|
|
229
|
+
_submit() {
|
|
230
|
+
const controller = this.activeController;
|
|
231
|
+
const blocker = this._sendBlocker(controller.getSnapshot());
|
|
232
|
+
if (blocker !== undefined) {
|
|
233
|
+
this._blocked.value = blocker;
|
|
234
|
+
if (blocker)
|
|
235
|
+
this.emit(announceEvent, {
|
|
236
|
+
text: blocker,
|
|
237
|
+
priority: 'polite',
|
|
238
|
+
key: `blocked:${Date.now()}`,
|
|
239
|
+
});
|
|
240
|
+
return undefined;
|
|
241
|
+
}
|
|
242
|
+
const submission = controller.beginSubmit();
|
|
243
|
+
if (!submission)
|
|
244
|
+
return undefined;
|
|
245
|
+
const accepted = this.emit(promptSubmitEvent, {
|
|
246
|
+
submissionId: submission.submissionId,
|
|
247
|
+
revision: submission.revision,
|
|
248
|
+
text: submission.text,
|
|
249
|
+
attachments: submission.attachments,
|
|
250
|
+
});
|
|
251
|
+
if (!accepted) {
|
|
252
|
+
controller.cancel(submission.submissionId);
|
|
253
|
+
return undefined;
|
|
254
|
+
}
|
|
255
|
+
return submission.submissionId;
|
|
256
|
+
}
|
|
257
|
+
/** @internal */
|
|
258
|
+
_stop = () => {
|
|
259
|
+
this.emit(promptStopEvent, { attemptId: this.attemptId || undefined });
|
|
260
|
+
};
|
|
261
|
+
/** @internal */
|
|
262
|
+
_pick = () => {
|
|
263
|
+
this.shadowRoot?.querySelector('input[type="file"]')?.click();
|
|
264
|
+
};
|
|
265
|
+
/** @internal */
|
|
266
|
+
_onFiles = (event) => {
|
|
267
|
+
const input = event.target;
|
|
268
|
+
this.#add([...(input.files ?? [])]);
|
|
269
|
+
input.value = '';
|
|
270
|
+
};
|
|
271
|
+
/** @internal */
|
|
272
|
+
_onPaste = (event) => {
|
|
273
|
+
const files = [...(event.clipboardData?.files ?? [])];
|
|
274
|
+
if (!files.length)
|
|
275
|
+
return;
|
|
276
|
+
// Pasted text still pastes; pasted files become attachments.
|
|
277
|
+
if (!event.clipboardData?.getData('text'))
|
|
278
|
+
event.preventDefault();
|
|
279
|
+
this.#add(files);
|
|
280
|
+
};
|
|
281
|
+
/** @internal */
|
|
282
|
+
_onDragOver = (event) => {
|
|
283
|
+
if (!event.dataTransfer?.types.includes('Files') ||
|
|
284
|
+
!this._attachmentsAvailable() ||
|
|
285
|
+
this.disabled)
|
|
286
|
+
return;
|
|
287
|
+
event.preventDefault();
|
|
288
|
+
event.dataTransfer.dropEffect = 'copy';
|
|
289
|
+
this._dragging.value = true;
|
|
290
|
+
};
|
|
291
|
+
/** @internal */
|
|
292
|
+
_onDragLeave = (event) => {
|
|
293
|
+
if (!event.relatedTarget || !this.shadowRoot?.contains(event.relatedTarget))
|
|
294
|
+
this._dragging.value = false;
|
|
295
|
+
};
|
|
296
|
+
/** @internal */
|
|
297
|
+
_onDrop = (event) => {
|
|
298
|
+
this._dragging.value = false;
|
|
299
|
+
const files = [...(event.dataTransfer?.files ?? [])];
|
|
300
|
+
if (!files.length)
|
|
301
|
+
return;
|
|
302
|
+
event.preventDefault();
|
|
303
|
+
this.#add(files);
|
|
304
|
+
};
|
|
305
|
+
/** @internal */
|
|
306
|
+
_remove = (event) => {
|
|
307
|
+
const attachmentId = event.currentTarget.dataset['id'];
|
|
308
|
+
if (!attachmentId)
|
|
309
|
+
return;
|
|
310
|
+
this.activeController.removeAttachment(attachmentId);
|
|
311
|
+
this.emit(attachmentRemoveEvent, { attachmentId });
|
|
312
|
+
this.shadowRoot?.querySelector('textarea')?.focus();
|
|
313
|
+
};
|
|
314
|
+
#add(files) {
|
|
315
|
+
if (!files.length || this.disabled)
|
|
316
|
+
return;
|
|
317
|
+
const controller = this.activeController;
|
|
318
|
+
controller.configure({
|
|
319
|
+
accept: this.accept ? this.accept.split(',') : [],
|
|
320
|
+
...(this.maxFileSize > 0 ? { maxFileSize: this.maxFileSize } : {}),
|
|
321
|
+
...(this.maxFiles > 0 ? { maxFiles: this.maxFiles } : {}),
|
|
322
|
+
attachments: this._attachmentsAvailable(),
|
|
323
|
+
});
|
|
324
|
+
const added = controller.addFiles(files);
|
|
325
|
+
if (added.length)
|
|
326
|
+
this.emit(attachmentAddEvent, { attachments: added });
|
|
327
|
+
const issues = controller.getSnapshot().issues;
|
|
328
|
+
if (issues.length)
|
|
329
|
+
this.emit(announceEvent, {
|
|
330
|
+
text: issues.map((i) => this._issue(i)).join(' '),
|
|
331
|
+
priority: 'polite',
|
|
332
|
+
key: `issues:${Date.now()}`,
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
#resize(area) {
|
|
336
|
+
area.style.blockSize = 'auto';
|
|
337
|
+
area.style.blockSize = `${area.scrollHeight}px`;
|
|
338
|
+
}
|
|
339
|
+
connected(scope) {
|
|
340
|
+
scope.effect((run) => {
|
|
341
|
+
const controller = this.activeController;
|
|
342
|
+
controller.restorePreviews();
|
|
343
|
+
const state = controller.state;
|
|
344
|
+
run.effect(() => {
|
|
345
|
+
this._state.value = state.value;
|
|
346
|
+
});
|
|
347
|
+
// Owned previews are view resources: released while disconnected, recreated on reconnect.
|
|
348
|
+
if (controller === this.#owned)
|
|
349
|
+
run.add(() => controller.releasePreviews(), 'composer previews');
|
|
350
|
+
}, { name: '<odd-prompt-input> composer' });
|
|
351
|
+
}
|
|
352
|
+
updated() {
|
|
353
|
+
const area = this.shadowRoot?.querySelector('textarea');
|
|
354
|
+
if (area)
|
|
355
|
+
this.#resize(area);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
//# sourceMappingURL=prompt-input.js.map
|