@oddkin/ai 0.0.0-stage → 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +108 -2
- package/agent/GUIDE.md +31 -0
- package/agent/kit.json +425 -0
- package/agent/llms.txt +82 -0
- package/agent/references/choosing-components.md +78 -0
- package/agent/references/components/odd-action-approval.md +77 -0
- package/agent/references/components/odd-activity.md +74 -0
- package/agent/references/components/odd-ai-label.md +69 -0
- package/agent/references/components/odd-artifact.md +84 -0
- package/agent/references/components/odd-change-review.md +77 -0
- package/agent/references/components/odd-checkpoint.md +74 -0
- package/agent/references/components/odd-citation.md +72 -0
- package/agent/references/components/odd-context-picker.md +74 -0
- package/agent/references/components/odd-conversation.md +102 -0
- package/agent/references/components/odd-inline-assist.md +80 -0
- package/agent/references/components/odd-message-branch.md +69 -0
- package/agent/references/components/odd-message.md +95 -0
- package/agent/references/components/odd-model-select.md +80 -0
- package/agent/references/components/odd-prompt-input.md +112 -0
- package/agent/references/components/odd-question.md +74 -0
- package/agent/references/components/odd-response-feedback.md +75 -0
- package/agent/references/components/odd-response.md +90 -0
- package/agent/references/components/odd-sources.md +76 -0
- package/agent/references/components/odd-suggestions.md +72 -0
- package/agent/references/components/odd-task-plan.md +69 -0
- package/agent/references/components/odd-tool-call.md +78 -0
- package/agent/references/components/odd-transcript.md +69 -0
- package/agent/references/components/odd-usage-meter.md +67 -0
- package/agent/references/components/odd-voice-input.md +76 -0
- package/agent/references/models/oddkin.ai.approval.md +3 -0
- package/agent/references/models/oddkin.ai.artifact.md +3 -0
- package/agent/references/models/oddkin.ai.checkpoint.md +3 -0
- package/agent/references/models/oddkin.ai.context-item.md +3 -0
- package/agent/references/models/oddkin.ai.conversation.md +3 -0
- package/agent/references/models/oddkin.ai.feedback.md +3 -0
- package/agent/references/models/oddkin.ai.message.md +3 -0
- package/agent/references/models/oddkin.ai.model-option.md +3 -0
- package/agent/references/models/oddkin.ai.plan.md +3 -0
- package/agent/references/models/oddkin.ai.question.md +3 -0
- package/agent/references/models/oddkin.ai.suggestion.md +3 -0
- package/agent/references/models/oddkin.ai.tool-call.md +3 -0
- package/agent/references/models/oddkin.ai.transcript-segment.md +3 -0
- package/agent/references/models/oddkin.ai.usage.md +3 -0
- package/agent/references/recipes/action-approval.md +12 -0
- package/agent/references/recipes/activity.md +9 -0
- package/agent/references/recipes/ai-element.md +9 -0
- package/agent/references/recipes/artifact.md +10 -0
- package/agent/references/recipes/change-review.md +11 -0
- package/agent/references/recipes/checkpoint.md +10 -0
- package/agent/references/recipes/citation.md +9 -0
- package/agent/references/recipes/context-picker.md +12 -0
- package/agent/references/recipes/conversation.md +12 -0
- package/agent/references/recipes/inline-assist.md +11 -0
- package/agent/references/recipes/message.md +12 -0
- package/agent/references/recipes/prompt-input.md +12 -0
- package/agent/references/recipes/question.md +12 -0
- package/agent/references/recipes/response-feedback.md +12 -0
- package/agent/references/recipes/sources.md +10 -0
- package/agent/references/recipes/suggestions.md +9 -0
- package/agent/references/recipes/task-plan.md +15 -0
- package/agent/references/recipes/tool-call.md +11 -0
- package/agent/references/recipes/transcript.md +9 -0
- package/agent/references/recipes/usage-meter.md +9 -0
- package/agent/references/recipes/voice-input.md +9 -0
- package/agent/references/tokens/component.md +13 -0
- package/agent/references/tokens/foundation.md +73 -0
- package/agent/references/tokens/layout.md +12 -0
- package/agent/references/tokens/reference.md +74 -0
- package/agent/references/tokens/semantic.md +91 -0
- package/custom-elements.json +3998 -0
- package/dist/action-approval/action-approval.d.ts +207 -0
- package/dist/action-approval/action-approval.d.ts.map +1 -0
- package/dist/action-approval/action-approval.define.d.ts +3 -0
- package/dist/action-approval/action-approval.define.d.ts.map +1 -0
- package/dist/action-approval/action-approval.define.js +5 -0
- package/dist/action-approval/action-approval.define.js.map +1 -0
- package/dist/action-approval/action-approval.definition.d.ts +3 -0
- package/dist/action-approval/action-approval.definition.d.ts.map +1 -0
- package/dist/action-approval/action-approval.definition.js +14 -0
- package/dist/action-approval/action-approval.definition.js.map +1 -0
- package/dist/action-approval/action-approval.js +172 -0
- package/dist/action-approval/action-approval.js.map +1 -0
- package/dist/action-approval/action-approval.recipe.d.ts +6 -0
- package/dist/action-approval/action-approval.recipe.d.ts.map +1 -0
- package/dist/action-approval/action-approval.recipe.js +16 -0
- package/dist/action-approval/action-approval.recipe.js.map +1 -0
- package/dist/action-approval/action-approval.recipe.styles.d.ts +2 -0
- package/dist/action-approval/action-approval.recipe.styles.d.ts.map +1 -0
- package/dist/action-approval/action-approval.recipe.styles.js +5 -0
- package/dist/action-approval/action-approval.recipe.styles.js.map +1 -0
- package/dist/action-approval/action-approval.styles.d.ts +3 -0
- package/dist/action-approval/action-approval.styles.d.ts.map +1 -0
- package/dist/action-approval/action-approval.styles.js +67 -0
- package/dist/action-approval/action-approval.styles.js.map +1 -0
- package/dist/action-approval/action-approval.template.d.ts +4 -0
- package/dist/action-approval/action-approval.template.d.ts.map +1 -0
- package/dist/action-approval/action-approval.template.js +93 -0
- package/dist/action-approval/action-approval.template.js.map +1 -0
- package/dist/action-approval/index.d.ts +5 -0
- package/dist/action-approval/index.d.ts.map +1 -0
- package/dist/action-approval/index.js +6 -0
- package/dist/action-approval/index.js.map +1 -0
- package/dist/activity/activity.d.ts +178 -0
- package/dist/activity/activity.d.ts.map +1 -0
- package/dist/activity/activity.define.d.ts +3 -0
- package/dist/activity/activity.define.d.ts.map +1 -0
- package/dist/activity/activity.define.js +5 -0
- package/dist/activity/activity.define.js.map +1 -0
- package/dist/activity/activity.definition.d.ts +3 -0
- package/dist/activity/activity.definition.d.ts.map +1 -0
- package/dist/activity/activity.definition.js +12 -0
- package/dist/activity/activity.definition.js.map +1 -0
- package/dist/activity/activity.js +124 -0
- package/dist/activity/activity.js.map +1 -0
- package/dist/activity/activity.recipe.d.ts +3 -0
- package/dist/activity/activity.recipe.d.ts.map +1 -0
- package/dist/activity/activity.recipe.js +8 -0
- package/dist/activity/activity.recipe.js.map +1 -0
- package/dist/activity/activity.recipe.styles.d.ts +2 -0
- package/dist/activity/activity.recipe.styles.d.ts.map +1 -0
- package/dist/activity/activity.recipe.styles.js +5 -0
- package/dist/activity/activity.recipe.styles.js.map +1 -0
- package/dist/activity/activity.styles.d.ts +3 -0
- package/dist/activity/activity.styles.d.ts.map +1 -0
- package/dist/activity/activity.styles.js +37 -0
- package/dist/activity/activity.styles.js.map +1 -0
- package/dist/activity/activity.template.d.ts +4 -0
- package/dist/activity/activity.template.d.ts.map +1 -0
- package/dist/activity/activity.template.js +23 -0
- package/dist/activity/activity.template.js.map +1 -0
- package/dist/activity/index.d.ts +5 -0
- package/dist/activity/index.d.ts.map +1 -0
- package/dist/activity/index.js +6 -0
- package/dist/activity/index.js.map +1 -0
- package/dist/ai-label/ai-label.d.ts +57 -0
- package/dist/ai-label/ai-label.d.ts.map +1 -0
- package/dist/ai-label/ai-label.define.d.ts +3 -0
- package/dist/ai-label/ai-label.define.d.ts.map +1 -0
- package/dist/ai-label/ai-label.define.js +5 -0
- package/dist/ai-label/ai-label.define.js.map +1 -0
- package/dist/ai-label/ai-label.definition.d.ts +3 -0
- package/dist/ai-label/ai-label.definition.d.ts.map +1 -0
- package/dist/ai-label/ai-label.definition.js +12 -0
- package/dist/ai-label/ai-label.definition.js.map +1 -0
- package/dist/ai-label/ai-label.js +41 -0
- package/dist/ai-label/ai-label.js.map +1 -0
- package/dist/ai-label/ai-label.styles.d.ts +2 -0
- package/dist/ai-label/ai-label.styles.d.ts.map +1 -0
- package/dist/ai-label/ai-label.styles.js +40 -0
- package/dist/ai-label/ai-label.styles.js.map +1 -0
- package/dist/ai-label/ai-label.template.d.ts +4 -0
- package/dist/ai-label/ai-label.template.d.ts.map +1 -0
- package/dist/ai-label/ai-label.template.js +32 -0
- package/dist/ai-label/ai-label.template.js.map +1 -0
- package/dist/ai-label/index.d.ts +5 -0
- package/dist/ai-label/index.d.ts.map +1 -0
- package/dist/ai-label/index.js +6 -0
- package/dist/ai-label/index.js.map +1 -0
- package/dist/announce.d.ts +11 -0
- package/dist/announce.d.ts.map +1 -0
- package/dist/announce.js +21 -0
- package/dist/announce.js.map +1 -0
- package/dist/artifact/artifact.d.ts +118 -0
- package/dist/artifact/artifact.d.ts.map +1 -0
- package/dist/artifact/artifact.define.d.ts +3 -0
- package/dist/artifact/artifact.define.d.ts.map +1 -0
- package/dist/artifact/artifact.define.js +5 -0
- package/dist/artifact/artifact.define.js.map +1 -0
- package/dist/artifact/artifact.definition.d.ts +3 -0
- package/dist/artifact/artifact.definition.d.ts.map +1 -0
- package/dist/artifact/artifact.definition.js +12 -0
- package/dist/artifact/artifact.definition.js.map +1 -0
- package/dist/artifact/artifact.js +190 -0
- package/dist/artifact/artifact.js.map +1 -0
- package/dist/artifact/artifact.recipe.d.ts +3 -0
- package/dist/artifact/artifact.recipe.d.ts.map +1 -0
- package/dist/artifact/artifact.recipe.js +11 -0
- package/dist/artifact/artifact.recipe.js.map +1 -0
- package/dist/artifact/artifact.recipe.styles.d.ts +2 -0
- package/dist/artifact/artifact.recipe.styles.d.ts.map +1 -0
- package/dist/artifact/artifact.recipe.styles.js +5 -0
- package/dist/artifact/artifact.recipe.styles.js.map +1 -0
- package/dist/artifact/artifact.styles.d.ts +3 -0
- package/dist/artifact/artifact.styles.d.ts.map +1 -0
- package/dist/artifact/artifact.styles.js +70 -0
- package/dist/artifact/artifact.styles.js.map +1 -0
- package/dist/artifact/artifact.template.d.ts +4 -0
- package/dist/artifact/artifact.template.d.ts.map +1 -0
- package/dist/artifact/artifact.template.js +60 -0
- package/dist/artifact/artifact.template.js.map +1 -0
- package/dist/artifact/index.d.ts +6 -0
- package/dist/artifact/index.d.ts.map +1 -0
- package/dist/artifact/index.js +6 -0
- package/dist/artifact/index.js.map +1 -0
- package/dist/change-review/change-review.d.ts +101 -0
- package/dist/change-review/change-review.d.ts.map +1 -0
- package/dist/change-review/change-review.define.d.ts +3 -0
- package/dist/change-review/change-review.define.d.ts.map +1 -0
- package/dist/change-review/change-review.define.js +5 -0
- package/dist/change-review/change-review.define.js.map +1 -0
- package/dist/change-review/change-review.definition.d.ts +3 -0
- package/dist/change-review/change-review.definition.d.ts.map +1 -0
- package/dist/change-review/change-review.definition.js +14 -0
- package/dist/change-review/change-review.definition.js.map +1 -0
- package/dist/change-review/change-review.js +142 -0
- package/dist/change-review/change-review.js.map +1 -0
- package/dist/change-review/change-review.recipe.d.ts +6 -0
- package/dist/change-review/change-review.recipe.d.ts.map +1 -0
- package/dist/change-review/change-review.recipe.js +15 -0
- package/dist/change-review/change-review.recipe.js.map +1 -0
- package/dist/change-review/change-review.recipe.styles.d.ts +2 -0
- package/dist/change-review/change-review.recipe.styles.d.ts.map +1 -0
- package/dist/change-review/change-review.recipe.styles.js +5 -0
- package/dist/change-review/change-review.recipe.styles.js.map +1 -0
- package/dist/change-review/change-review.styles.d.ts +3 -0
- package/dist/change-review/change-review.styles.d.ts.map +1 -0
- package/dist/change-review/change-review.styles.js +68 -0
- package/dist/change-review/change-review.styles.js.map +1 -0
- package/dist/change-review/change-review.template.d.ts +4 -0
- package/dist/change-review/change-review.template.d.ts.map +1 -0
- package/dist/change-review/change-review.template.js +91 -0
- package/dist/change-review/change-review.template.js.map +1 -0
- package/dist/change-review/index.d.ts +5 -0
- package/dist/change-review/index.d.ts.map +1 -0
- package/dist/change-review/index.js +6 -0
- package/dist/change-review/index.js.map +1 -0
- package/dist/checkpoint/checkpoint.d.ts +162 -0
- package/dist/checkpoint/checkpoint.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.define.d.ts +3 -0
- package/dist/checkpoint/checkpoint.define.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.define.js +5 -0
- package/dist/checkpoint/checkpoint.define.js.map +1 -0
- package/dist/checkpoint/checkpoint.definition.d.ts +3 -0
- package/dist/checkpoint/checkpoint.definition.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.definition.js +14 -0
- package/dist/checkpoint/checkpoint.definition.js.map +1 -0
- package/dist/checkpoint/checkpoint.js +130 -0
- package/dist/checkpoint/checkpoint.js.map +1 -0
- package/dist/checkpoint/checkpoint.recipe.d.ts +3 -0
- package/dist/checkpoint/checkpoint.recipe.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.recipe.js +11 -0
- package/dist/checkpoint/checkpoint.recipe.js.map +1 -0
- package/dist/checkpoint/checkpoint.recipe.styles.d.ts +2 -0
- package/dist/checkpoint/checkpoint.recipe.styles.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.recipe.styles.js +5 -0
- package/dist/checkpoint/checkpoint.recipe.styles.js.map +1 -0
- package/dist/checkpoint/checkpoint.styles.d.ts +3 -0
- package/dist/checkpoint/checkpoint.styles.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.styles.js +39 -0
- package/dist/checkpoint/checkpoint.styles.js.map +1 -0
- package/dist/checkpoint/checkpoint.template.d.ts +4 -0
- package/dist/checkpoint/checkpoint.template.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint.template.js +69 -0
- package/dist/checkpoint/checkpoint.template.js.map +1 -0
- package/dist/checkpoint/index.d.ts +5 -0
- package/dist/checkpoint/index.d.ts.map +1 -0
- package/dist/checkpoint/index.js +6 -0
- package/dist/checkpoint/index.js.map +1 -0
- package/dist/citation/citation.d.ts +83 -0
- package/dist/citation/citation.d.ts.map +1 -0
- package/dist/citation/citation.define.d.ts +3 -0
- package/dist/citation/citation.define.d.ts.map +1 -0
- package/dist/citation/citation.define.js +5 -0
- package/dist/citation/citation.define.js.map +1 -0
- package/dist/citation/citation.definition.d.ts +3 -0
- package/dist/citation/citation.definition.d.ts.map +1 -0
- package/dist/citation/citation.definition.js +12 -0
- package/dist/citation/citation.definition.js.map +1 -0
- package/dist/citation/citation.js +87 -0
- package/dist/citation/citation.js.map +1 -0
- package/dist/citation/citation.recipe.d.ts +3 -0
- package/dist/citation/citation.recipe.d.ts.map +1 -0
- package/dist/citation/citation.recipe.js +8 -0
- package/dist/citation/citation.recipe.js.map +1 -0
- package/dist/citation/citation.recipe.styles.d.ts +2 -0
- package/dist/citation/citation.recipe.styles.d.ts.map +1 -0
- package/dist/citation/citation.recipe.styles.js +5 -0
- package/dist/citation/citation.recipe.styles.js.map +1 -0
- package/dist/citation/citation.styles.d.ts +3 -0
- package/dist/citation/citation.styles.d.ts.map +1 -0
- package/dist/citation/citation.styles.js +60 -0
- package/dist/citation/citation.styles.js.map +1 -0
- package/dist/citation/citation.template.d.ts +4 -0
- package/dist/citation/citation.template.d.ts.map +1 -0
- package/dist/citation/citation.template.js +55 -0
- package/dist/citation/citation.template.js.map +1 -0
- package/dist/citation/index.d.ts +6 -0
- package/dist/citation/index.d.ts.map +1 -0
- package/dist/citation/index.js +6 -0
- package/dist/citation/index.js.map +1 -0
- package/dist/context-picker/context-picker.d.ts +124 -0
- package/dist/context-picker/context-picker.d.ts.map +1 -0
- package/dist/context-picker/context-picker.define.d.ts +3 -0
- package/dist/context-picker/context-picker.define.d.ts.map +1 -0
- package/dist/context-picker/context-picker.define.js +5 -0
- package/dist/context-picker/context-picker.define.js.map +1 -0
- package/dist/context-picker/context-picker.definition.d.ts +3 -0
- package/dist/context-picker/context-picker.definition.d.ts.map +1 -0
- package/dist/context-picker/context-picker.definition.js +12 -0
- package/dist/context-picker/context-picker.definition.js.map +1 -0
- package/dist/context-picker/context-picker.js +133 -0
- package/dist/context-picker/context-picker.js.map +1 -0
- package/dist/context-picker/context-picker.recipe.d.ts +6 -0
- package/dist/context-picker/context-picker.recipe.d.ts.map +1 -0
- package/dist/context-picker/context-picker.recipe.js +16 -0
- package/dist/context-picker/context-picker.recipe.js.map +1 -0
- package/dist/context-picker/context-picker.recipe.styles.d.ts +2 -0
- package/dist/context-picker/context-picker.recipe.styles.d.ts.map +1 -0
- package/dist/context-picker/context-picker.recipe.styles.js +5 -0
- package/dist/context-picker/context-picker.recipe.styles.js.map +1 -0
- package/dist/context-picker/context-picker.styles.d.ts +3 -0
- package/dist/context-picker/context-picker.styles.d.ts.map +1 -0
- package/dist/context-picker/context-picker.styles.js +52 -0
- package/dist/context-picker/context-picker.styles.js.map +1 -0
- package/dist/context-picker/context-picker.template.d.ts +4 -0
- package/dist/context-picker/context-picker.template.d.ts.map +1 -0
- package/dist/context-picker/context-picker.template.js +84 -0
- package/dist/context-picker/context-picker.template.js.map +1 -0
- package/dist/context-picker/index.d.ts +5 -0
- package/dist/context-picker/index.d.ts.map +1 -0
- package/dist/context-picker/index.js +6 -0
- package/dist/context-picker/index.js.map +1 -0
- package/dist/contracts/index.d.ts +9 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +7 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/models.d.ts +852 -0
- package/dist/contracts/models.d.ts.map +1 -0
- package/dist/contracts/models.js +337 -0
- package/dist/contracts/models.js.map +1 -0
- package/dist/contracts/normalize.d.ts +48 -0
- package/dist/contracts/normalize.d.ts.map +1 -0
- package/dist/contracts/normalize.js +199 -0
- package/dist/contracts/normalize.js.map +1 -0
- package/dist/contracts/types.d.ts +253 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +2 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/controllers/announcer.d.ts +37 -0
- package/dist/controllers/announcer.d.ts.map +1 -0
- package/dist/controllers/announcer.js +169 -0
- package/dist/controllers/announcer.js.map +1 -0
- package/dist/controllers/composer.d.ts +112 -0
- package/dist/controllers/composer.d.ts.map +1 -0
- package/dist/controllers/composer.js +291 -0
- package/dist/controllers/composer.js.map +1 -0
- package/dist/controllers/conversation.d.ts +106 -0
- package/dist/controllers/conversation.d.ts.map +1 -0
- package/dist/controllers/conversation.js +1159 -0
- package/dist/controllers/conversation.js.map +1 -0
- package/dist/controllers/diff.d.ts +17 -0
- package/dist/controllers/diff.d.ts.map +1 -0
- package/dist/controllers/diff.js +64 -0
- package/dist/controllers/diff.js.map +1 -0
- package/dist/controllers/document.d.ts +86 -0
- package/dist/controllers/document.d.ts.map +1 -0
- package/dist/controllers/document.js +185 -0
- package/dist/controllers/document.js.map +1 -0
- package/dist/controllers/external-store.d.ts +33 -0
- package/dist/controllers/external-store.d.ts.map +1 -0
- package/dist/controllers/external-store.js +68 -0
- package/dist/controllers/external-store.js.map +1 -0
- package/dist/controllers/index.d.ts +22 -0
- package/dist/controllers/index.d.ts.map +1 -0
- package/dist/controllers/index.js +14 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/intents.d.ts +61 -0
- package/dist/controllers/intents.d.ts.map +1 -0
- package/dist/controllers/intents.js +68 -0
- package/dist/controllers/intents.js.map +1 -0
- package/dist/controllers/transitions.d.ts +37 -0
- package/dist/controllers/transitions.d.ts.map +1 -0
- package/dist/controllers/transitions.js +106 -0
- package/dist/controllers/transitions.js.map +1 -0
- package/dist/controllers/voice.d.ts +81 -0
- package/dist/controllers/voice.d.ts.map +1 -0
- package/dist/controllers/voice.js +180 -0
- package/dist/controllers/voice.js.map +1 -0
- package/dist/conversation/conversation.d.ts +128 -0
- package/dist/conversation/conversation.d.ts.map +1 -0
- package/dist/conversation/conversation.define.d.ts +3 -0
- package/dist/conversation/conversation.define.d.ts.map +1 -0
- package/dist/conversation/conversation.define.js +5 -0
- package/dist/conversation/conversation.define.js.map +1 -0
- package/dist/conversation/conversation.definition.d.ts +3 -0
- package/dist/conversation/conversation.definition.d.ts.map +1 -0
- package/dist/conversation/conversation.definition.js +15 -0
- package/dist/conversation/conversation.definition.js.map +1 -0
- package/dist/conversation/conversation.js +327 -0
- package/dist/conversation/conversation.js.map +1 -0
- package/dist/conversation/conversation.recipe.d.ts +6 -0
- package/dist/conversation/conversation.recipe.d.ts.map +1 -0
- package/dist/conversation/conversation.recipe.js +16 -0
- package/dist/conversation/conversation.recipe.js.map +1 -0
- package/dist/conversation/conversation.recipe.styles.d.ts +2 -0
- package/dist/conversation/conversation.recipe.styles.d.ts.map +1 -0
- package/dist/conversation/conversation.recipe.styles.js +5 -0
- package/dist/conversation/conversation.recipe.styles.js.map +1 -0
- package/dist/conversation/conversation.styles.d.ts +3 -0
- package/dist/conversation/conversation.styles.d.ts.map +1 -0
- package/dist/conversation/conversation.styles.js +66 -0
- package/dist/conversation/conversation.styles.js.map +1 -0
- package/dist/conversation/conversation.template.d.ts +8 -0
- package/dist/conversation/conversation.template.d.ts.map +1 -0
- package/dist/conversation/conversation.template.js +107 -0
- package/dist/conversation/conversation.template.js.map +1 -0
- package/dist/conversation/index.d.ts +6 -0
- package/dist/conversation/index.d.ts.map +1 -0
- package/dist/conversation/index.js +6 -0
- package/dist/conversation/index.js.map +1 -0
- package/dist/events.d.ts +198 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +244 -0
- package/dist/events.js.map +1 -0
- package/dist/highlight/index.d.ts +11 -0
- package/dist/highlight/index.d.ts.map +1 -0
- package/dist/highlight/index.js +118 -0
- package/dist/highlight/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/inline-assist/index.d.ts +6 -0
- package/dist/inline-assist/index.d.ts.map +1 -0
- package/dist/inline-assist/index.js +6 -0
- package/dist/inline-assist/index.js.map +1 -0
- package/dist/inline-assist/inline-assist.d.ts +97 -0
- package/dist/inline-assist/inline-assist.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.define.d.ts +3 -0
- package/dist/inline-assist/inline-assist.define.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.define.js +5 -0
- package/dist/inline-assist/inline-assist.define.js.map +1 -0
- package/dist/inline-assist/inline-assist.definition.d.ts +3 -0
- package/dist/inline-assist/inline-assist.definition.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.definition.js +12 -0
- package/dist/inline-assist/inline-assist.definition.js.map +1 -0
- package/dist/inline-assist/inline-assist.js +150 -0
- package/dist/inline-assist/inline-assist.js.map +1 -0
- package/dist/inline-assist/inline-assist.recipe.d.ts +6 -0
- package/dist/inline-assist/inline-assist.recipe.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.recipe.js +15 -0
- package/dist/inline-assist/inline-assist.recipe.js.map +1 -0
- package/dist/inline-assist/inline-assist.recipe.styles.d.ts +2 -0
- package/dist/inline-assist/inline-assist.recipe.styles.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.recipe.styles.js +5 -0
- package/dist/inline-assist/inline-assist.recipe.styles.js.map +1 -0
- package/dist/inline-assist/inline-assist.styles.d.ts +3 -0
- package/dist/inline-assist/inline-assist.styles.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.styles.js +49 -0
- package/dist/inline-assist/inline-assist.styles.js.map +1 -0
- package/dist/inline-assist/inline-assist.template.d.ts +4 -0
- package/dist/inline-assist/inline-assist.template.d.ts.map +1 -0
- package/dist/inline-assist/inline-assist.template.js +57 -0
- package/dist/inline-assist/inline-assist.template.js.map +1 -0
- package/dist/internal/ai-element.recipe.d.ts +3 -0
- package/dist/internal/ai-element.recipe.d.ts.map +1 -0
- package/dist/internal/ai-element.recipe.js +8 -0
- package/dist/internal/ai-element.recipe.js.map +1 -0
- package/dist/internal/ai-element.recipe.styles.d.ts +2 -0
- package/dist/internal/ai-element.recipe.styles.d.ts.map +1 -0
- package/dist/internal/ai-element.recipe.styles.js +5 -0
- package/dist/internal/ai-element.recipe.styles.js.map +1 -0
- package/dist/internal/base.styles.d.ts +10 -0
- package/dist/internal/base.styles.d.ts.map +1 -0
- package/dist/internal/base.styles.js +98 -0
- package/dist/internal/base.styles.js.map +1 -0
- package/dist/internal/dev.d.ts +3 -0
- package/dist/internal/dev.d.ts.map +1 -0
- package/dist/internal/dev.js +3 -0
- package/dist/internal/dev.js.map +1 -0
- package/dist/internal/ids.d.ts +3 -0
- package/dist/internal/ids.d.ts.map +1 -0
- package/dist/internal/ids.js +9 -0
- package/dist/internal/ids.js.map +1 -0
- package/dist/internal/strings.d.ts +4 -0
- package/dist/internal/strings.d.ts.map +1 -0
- package/dist/internal/strings.js +7 -0
- package/dist/internal/strings.js.map +1 -0
- package/dist/markdown/index.d.ts +11 -0
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/markdown/index.js +8 -0
- package/dist/markdown/index.js.map +1 -0
- package/dist/markdown/parse.d.ts +75 -0
- package/dist/markdown/parse.d.ts.map +1 -0
- package/dist/markdown/parse.js +525 -0
- package/dist/markdown/parse.js.map +1 -0
- package/dist/markdown/render.d.ts +40 -0
- package/dist/markdown/render.d.ts.map +1 -0
- package/dist/markdown/render.js +383 -0
- package/dist/markdown/render.js.map +1 -0
- package/dist/markdown/url.d.ts +18 -0
- package/dist/markdown/url.d.ts.map +1 -0
- package/dist/markdown/url.js +48 -0
- package/dist/markdown/url.js.map +1 -0
- package/dist/message/index.d.ts +6 -0
- package/dist/message/index.d.ts.map +1 -0
- package/dist/message/index.js +6 -0
- package/dist/message/index.js.map +1 -0
- package/dist/message/message.d.ts +330 -0
- package/dist/message/message.d.ts.map +1 -0
- package/dist/message/message.define.d.ts +3 -0
- package/dist/message/message.define.d.ts.map +1 -0
- package/dist/message/message.define.js +5 -0
- package/dist/message/message.define.js.map +1 -0
- package/dist/message/message.definition.d.ts +3 -0
- package/dist/message/message.definition.d.ts.map +1 -0
- package/dist/message/message.definition.js +32 -0
- package/dist/message/message.definition.js.map +1 -0
- package/dist/message/message.js +193 -0
- package/dist/message/message.js.map +1 -0
- package/dist/message/message.recipe.d.ts +7 -0
- package/dist/message/message.recipe.d.ts.map +1 -0
- package/dist/message/message.recipe.js +17 -0
- package/dist/message/message.recipe.js.map +1 -0
- package/dist/message/message.recipe.styles.d.ts +2 -0
- package/dist/message/message.recipe.styles.d.ts.map +1 -0
- package/dist/message/message.recipe.styles.js +5 -0
- package/dist/message/message.recipe.styles.js.map +1 -0
- package/dist/message/message.styles.d.ts +3 -0
- package/dist/message/message.styles.d.ts.map +1 -0
- package/dist/message/message.styles.js +62 -0
- package/dist/message/message.styles.js.map +1 -0
- package/dist/message/message.template.d.ts +4 -0
- package/dist/message/message.template.d.ts.map +1 -0
- package/dist/message/message.template.js +161 -0
- package/dist/message/message.template.js.map +1 -0
- package/dist/message-branch/index.d.ts +5 -0
- package/dist/message-branch/index.d.ts.map +1 -0
- package/dist/message-branch/index.js +6 -0
- package/dist/message-branch/index.js.map +1 -0
- package/dist/message-branch/message-branch.d.ts +118 -0
- package/dist/message-branch/message-branch.d.ts.map +1 -0
- package/dist/message-branch/message-branch.define.d.ts +3 -0
- package/dist/message-branch/message-branch.define.d.ts.map +1 -0
- package/dist/message-branch/message-branch.define.js +5 -0
- package/dist/message-branch/message-branch.define.js.map +1 -0
- package/dist/message-branch/message-branch.definition.d.ts +3 -0
- package/dist/message-branch/message-branch.definition.d.ts.map +1 -0
- package/dist/message-branch/message-branch.definition.js +12 -0
- package/dist/message-branch/message-branch.definition.js.map +1 -0
- package/dist/message-branch/message-branch.js +54 -0
- package/dist/message-branch/message-branch.js.map +1 -0
- package/dist/message-branch/message-branch.styles.d.ts +2 -0
- package/dist/message-branch/message-branch.styles.d.ts.map +1 -0
- package/dist/message-branch/message-branch.styles.js +13 -0
- package/dist/message-branch/message-branch.styles.js.map +1 -0
- package/dist/message-branch/message-branch.template.d.ts +4 -0
- package/dist/message-branch/message-branch.template.d.ts.map +1 -0
- package/dist/message-branch/message-branch.template.js +45 -0
- package/dist/message-branch/message-branch.template.js.map +1 -0
- package/dist/model-select/index.d.ts +5 -0
- package/dist/model-select/index.d.ts.map +1 -0
- package/dist/model-select/index.js +6 -0
- package/dist/model-select/index.js.map +1 -0
- package/dist/model-select/model-select.d.ts +71 -0
- package/dist/model-select/model-select.d.ts.map +1 -0
- package/dist/model-select/model-select.define.d.ts +3 -0
- package/dist/model-select/model-select.define.d.ts.map +1 -0
- package/dist/model-select/model-select.define.js +5 -0
- package/dist/model-select/model-select.define.js.map +1 -0
- package/dist/model-select/model-select.definition.d.ts +3 -0
- package/dist/model-select/model-select.definition.d.ts.map +1 -0
- package/dist/model-select/model-select.definition.js +13 -0
- package/dist/model-select/model-select.definition.js.map +1 -0
- package/dist/model-select/model-select.js +68 -0
- package/dist/model-select/model-select.js.map +1 -0
- package/dist/model-select/model-select.styles.d.ts +3 -0
- package/dist/model-select/model-select.styles.d.ts.map +1 -0
- package/dist/model-select/model-select.styles.js +14 -0
- package/dist/model-select/model-select.styles.js.map +1 -0
- package/dist/model-select/model-select.template.d.ts +4 -0
- package/dist/model-select/model-select.template.d.ts.map +1 -0
- package/dist/model-select/model-select.template.js +39 -0
- package/dist/model-select/model-select.template.js.map +1 -0
- package/dist/prod/action-approval/action-approval.define.js +3 -0
- package/dist/prod/action-approval/action-approval.definition.js +16 -0
- package/dist/prod/action-approval/action-approval.js +133 -0
- package/dist/prod/action-approval/action-approval.recipe.js +14 -0
- package/dist/prod/action-approval/action-approval.recipe.styles.js +33 -0
- package/dist/prod/action-approval/action-approval.styles.js +68 -0
- package/dist/prod/action-approval/action-approval.template.js +71 -0
- package/dist/prod/action-approval/index.js +11 -0
- package/dist/prod/activity/activity.define.js +3 -0
- package/dist/prod/activity/activity.definition.js +14 -0
- package/dist/prod/activity/activity.js +96 -0
- package/dist/prod/activity/activity.recipe.js +9 -0
- package/dist/prod/activity/activity.recipe.styles.js +15 -0
- package/dist/prod/activity/activity.styles.js +38 -0
- package/dist/prod/activity/activity.template.js +19 -0
- package/dist/prod/activity/index.js +11 -0
- package/dist/prod/ai-label/ai-label.define.js +3 -0
- package/dist/prod/ai-label/ai-label.definition.js +14 -0
- package/dist/prod/ai-label/ai-label.js +29 -0
- package/dist/prod/ai-label/ai-label.styles.js +42 -0
- package/dist/prod/ai-label/ai-label.template.js +30 -0
- package/dist/prod/ai-label/index.js +11 -0
- package/dist/prod/announce.js +15 -0
- package/dist/prod/artifact/artifact.define.js +3 -0
- package/dist/prod/artifact/artifact.definition.js +14 -0
- package/dist/prod/artifact/artifact.js +139 -0
- package/dist/prod/artifact/artifact.recipe.js +12 -0
- package/dist/prod/artifact/artifact.recipe.styles.js +21 -0
- package/dist/prod/artifact/artifact.styles.js +71 -0
- package/dist/prod/artifact/artifact.template.js +58 -0
- package/dist/prod/artifact/index.js +11 -0
- package/dist/prod/change-review/change-review.define.js +3 -0
- package/dist/prod/change-review/change-review.definition.js +16 -0
- package/dist/prod/change-review/change-review.js +110 -0
- package/dist/prod/change-review/change-review.recipe.js +13 -0
- package/dist/prod/change-review/change-review.recipe.styles.js +24 -0
- package/dist/prod/change-review/change-review.styles.js +69 -0
- package/dist/prod/change-review/change-review.template.js +72 -0
- package/dist/prod/change-review/index.js +11 -0
- package/dist/prod/checkpoint/checkpoint.define.js +3 -0
- package/dist/prod/checkpoint/checkpoint.definition.js +16 -0
- package/dist/prod/checkpoint/checkpoint.js +101 -0
- package/dist/prod/checkpoint/checkpoint.recipe.js +12 -0
- package/dist/prod/checkpoint/checkpoint.recipe.styles.js +19 -0
- package/dist/prod/checkpoint/checkpoint.styles.js +40 -0
- package/dist/prod/checkpoint/checkpoint.template.js +49 -0
- package/dist/prod/checkpoint/index.js +11 -0
- package/dist/prod/citation/citation.define.js +3 -0
- package/dist/prod/citation/citation.definition.js +14 -0
- package/dist/prod/citation/citation.js +66 -0
- package/dist/prod/citation/citation.recipe.js +9 -0
- package/dist/prod/citation/citation.recipe.styles.js +13 -0
- package/dist/prod/citation/citation.styles.js +61 -0
- package/dist/prod/citation/citation.template.js +44 -0
- package/dist/prod/citation/index.js +12 -0
- package/dist/prod/context-picker/context-picker.define.js +3 -0
- package/dist/prod/context-picker/context-picker.definition.js +14 -0
- package/dist/prod/context-picker/context-picker.js +106 -0
- package/dist/prod/context-picker/context-picker.recipe.js +14 -0
- package/dist/prod/context-picker/context-picker.recipe.styles.js +35 -0
- package/dist/prod/context-picker/context-picker.styles.js +53 -0
- package/dist/prod/context-picker/context-picker.template.js +81 -0
- package/dist/prod/context-picker/index.js +11 -0
- package/dist/prod/contracts/index.js +35 -0
- package/dist/prod/contracts/models.js +325 -0
- package/dist/prod/contracts/normalize.js +151 -0
- package/dist/prod/contracts/types.js +0 -0
- package/dist/prod/controllers/announcer.js +136 -0
- package/dist/prod/controllers/composer.js +235 -0
- package/dist/prod/controllers/conversation.js +922 -0
- package/dist/prod/controllers/diff.js +41 -0
- package/dist/prod/controllers/document.js +128 -0
- package/dist/prod/controllers/external-store.js +49 -0
- package/dist/prod/controllers/index.js +43 -0
- package/dist/prod/controllers/intents.js +73 -0
- package/dist/prod/controllers/transitions.js +90 -0
- package/dist/prod/controllers/voice.js +134 -0
- package/dist/prod/conversation/conversation.define.js +3 -0
- package/dist/prod/conversation/conversation.definition.js +17 -0
- package/dist/prod/conversation/conversation.js +236 -0
- package/dist/prod/conversation/conversation.recipe.js +14 -0
- package/dist/prod/conversation/conversation.recipe.styles.js +37 -0
- package/dist/prod/conversation/conversation.styles.js +67 -0
- package/dist/prod/conversation/conversation.template.js +91 -0
- package/dist/prod/conversation/index.js +11 -0
- package/dist/prod/events.js +235 -0
- package/dist/prod/highlight/index.js +99 -0
- package/dist/prod/index.js +1 -0
- package/dist/prod/inline-assist/index.js +11 -0
- package/dist/prod/inline-assist/inline-assist.define.js +3 -0
- package/dist/prod/inline-assist/inline-assist.definition.js +14 -0
- package/dist/prod/inline-assist/inline-assist.js +130 -0
- package/dist/prod/inline-assist/inline-assist.recipe.js +13 -0
- package/dist/prod/inline-assist/inline-assist.recipe.styles.js +29 -0
- package/dist/prod/inline-assist/inline-assist.styles.js +50 -0
- package/dist/prod/inline-assist/inline-assist.template.js +46 -0
- package/dist/prod/internal/ai-element.recipe.js +9 -0
- package/dist/prod/internal/ai-element.recipe.styles.js +15 -0
- package/dist/prod/internal/base.styles.js +94 -0
- package/dist/prod/internal/dev.js +4 -0
- package/dist/prod/internal/ids.js +8 -0
- package/dist/prod/internal/strings.js +12 -0
- package/dist/prod/markdown/index.js +13 -0
- package/dist/prod/markdown/parse.js +363 -0
- package/dist/prod/markdown/render.js +273 -0
- package/dist/prod/markdown/url.js +42 -0
- package/dist/prod/message/index.js +11 -0
- package/dist/prod/message/message.define.js +3 -0
- package/dist/prod/message/message.definition.js +34 -0
- package/dist/prod/message/message.js +158 -0
- package/dist/prod/message/message.recipe.js +14 -0
- package/dist/prod/message/message.recipe.styles.js +33 -0
- package/dist/prod/message/message.styles.js +63 -0
- package/dist/prod/message/message.template.js +136 -0
- package/dist/prod/message-branch/index.js +11 -0
- package/dist/prod/message-branch/message-branch.define.js +3 -0
- package/dist/prod/message-branch/message-branch.definition.js +14 -0
- package/dist/prod/message-branch/message-branch.js +41 -0
- package/dist/prod/message-branch/message-branch.styles.js +15 -0
- package/dist/prod/message-branch/message-branch.template.js +45 -0
- package/dist/prod/model-select/index.js +11 -0
- package/dist/prod/model-select/model-select.define.js +3 -0
- package/dist/prod/model-select/model-select.definition.js +15 -0
- package/dist/prod/model-select/model-select.js +46 -0
- package/dist/prod/model-select/model-select.styles.js +15 -0
- package/dist/prod/model-select/model-select.template.js +39 -0
- package/dist/prod/prompt-input/index.js +11 -0
- package/dist/prod/prompt-input/prompt-input.define.js +3 -0
- package/dist/prod/prompt-input/prompt-input.definition.js +16 -0
- package/dist/prod/prompt-input/prompt-input.js +285 -0
- package/dist/prod/prompt-input/prompt-input.recipe.js +14 -0
- package/dist/prod/prompt-input/prompt-input.recipe.styles.js +37 -0
- package/dist/prod/prompt-input/prompt-input.styles.js +93 -0
- package/dist/prod/prompt-input/prompt-input.template.js +104 -0
- package/dist/prod/question/index.js +11 -0
- package/dist/prod/question/question.define.js +3 -0
- package/dist/prod/question/question.definition.js +16 -0
- package/dist/prod/question/question.js +120 -0
- package/dist/prod/question/question.recipe.js +14 -0
- package/dist/prod/question/question.recipe.styles.js +33 -0
- package/dist/prod/question/question.styles.js +50 -0
- package/dist/prod/question/question.template.js +74 -0
- package/dist/prod/response/index.js +11 -0
- package/dist/prod/response/response.define.js +3 -0
- package/dist/prod/response/response.definition.js +16 -0
- package/dist/prod/response/response.js +135 -0
- package/dist/prod/response/response.styles.js +140 -0
- package/dist/prod/response/response.template.js +12 -0
- package/dist/prod/response-feedback/index.js +11 -0
- package/dist/prod/response-feedback/response-feedback.define.js +3 -0
- package/dist/prod/response-feedback/response-feedback.definition.js +16 -0
- package/dist/prod/response-feedback/response-feedback.js +105 -0
- package/dist/prod/response-feedback/response-feedback.recipe.js +14 -0
- package/dist/prod/response-feedback/response-feedback.recipe.styles.js +33 -0
- package/dist/prod/response-feedback/response-feedback.styles.js +43 -0
- package/dist/prod/response-feedback/response-feedback.template.js +57 -0
- package/dist/prod/sources/index.js +11 -0
- package/dist/prod/sources/sources.define.js +3 -0
- package/dist/prod/sources/sources.definition.js +14 -0
- package/dist/prod/sources/sources.js +37 -0
- package/dist/prod/sources/sources.recipe.js +9 -0
- package/dist/prod/sources/sources.recipe.styles.js +19 -0
- package/dist/prod/sources/sources.styles.js +37 -0
- package/dist/prod/sources/sources.template.js +40 -0
- package/dist/prod/stream/index.js +16 -0
- package/dist/prod/stream/simulation.js +198 -0
- package/dist/prod/stream/sse.js +105 -0
- package/dist/prod/stream/ui-message-stream.js +371 -0
- package/dist/prod/suggestions/index.js +11 -0
- package/dist/prod/suggestions/suggestions.define.js +3 -0
- package/dist/prod/suggestions/suggestions.definition.js +14 -0
- package/dist/prod/suggestions/suggestions.js +48 -0
- package/dist/prod/suggestions/suggestions.recipe.js +9 -0
- package/dist/prod/suggestions/suggestions.recipe.styles.js +15 -0
- package/dist/prod/suggestions/suggestions.styles.js +52 -0
- package/dist/prod/suggestions/suggestions.template.js +38 -0
- package/dist/prod/task-plan/index.js +11 -0
- package/dist/prod/task-plan/task-plan.define.js +3 -0
- package/dist/prod/task-plan/task-plan.definition.js +14 -0
- package/dist/prod/task-plan/task-plan.js +63 -0
- package/dist/prod/task-plan/task-plan.recipe.js +17 -0
- package/dist/prod/task-plan/task-plan.recipe.styles.js +55 -0
- package/dist/prod/task-plan/task-plan.styles.js +53 -0
- package/dist/prod/task-plan/task-plan.template.js +58 -0
- package/dist/prod/tool-call/index.js +11 -0
- package/dist/prod/tool-call/tool-call.define.js +3 -0
- package/dist/prod/tool-call/tool-call.definition.js +16 -0
- package/dist/prod/tool-call/tool-call.js +57 -0
- package/dist/prod/tool-call/tool-call.recipe.js +13 -0
- package/dist/prod/tool-call/tool-call.recipe.styles.js +29 -0
- package/dist/prod/tool-call/tool-call.styles.js +55 -0
- package/dist/prod/tool-call/tool-call.template.js +46 -0
- package/dist/prod/transcript/index.js +11 -0
- package/dist/prod/transcript/transcript.define.js +3 -0
- package/dist/prod/transcript/transcript.definition.js +14 -0
- package/dist/prod/transcript/transcript.js +32 -0
- package/dist/prod/transcript/transcript.recipe.js +9 -0
- package/dist/prod/transcript/transcript.recipe.styles.js +13 -0
- package/dist/prod/transcript/transcript.styles.js +30 -0
- package/dist/prod/transcript/transcript.template.js +26 -0
- package/dist/prod/usage-meter/index.js +11 -0
- package/dist/prod/usage-meter/usage-meter.define.js +3 -0
- package/dist/prod/usage-meter/usage-meter.definition.js +14 -0
- package/dist/prod/usage-meter/usage-meter.js +41 -0
- package/dist/prod/usage-meter/usage-meter.recipe.js +9 -0
- package/dist/prod/usage-meter/usage-meter.recipe.styles.js +13 -0
- package/dist/prod/usage-meter/usage-meter.styles.js +37 -0
- package/dist/prod/usage-meter/usage-meter.template.js +27 -0
- package/dist/prod/voice/recorder.js +39 -0
- package/dist/prod/voice/web-speech.js +67 -0
- package/dist/prod/voice-input/index.js +11 -0
- package/dist/prod/voice-input/voice-input.define.js +3 -0
- package/dist/prod/voice-input/voice-input.definition.js +16 -0
- package/dist/prod/voice-input/voice-input.js +92 -0
- package/dist/prod/voice-input/voice-input.recipe.js +9 -0
- package/dist/prod/voice-input/voice-input.recipe.styles.js +13 -0
- package/dist/prod/voice-input/voice-input.styles.js +52 -0
- package/dist/prod/voice-input/voice-input.template.js +47 -0
- package/dist/prompt-input/index.d.ts +5 -0
- package/dist/prompt-input/index.d.ts.map +1 -0
- package/dist/prompt-input/index.js +6 -0
- package/dist/prompt-input/index.js.map +1 -0
- package/dist/prompt-input/prompt-input.d.ts +241 -0
- package/dist/prompt-input/prompt-input.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.define.d.ts +3 -0
- package/dist/prompt-input/prompt-input.define.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.define.js +5 -0
- package/dist/prompt-input/prompt-input.define.js.map +1 -0
- package/dist/prompt-input/prompt-input.definition.d.ts +3 -0
- package/dist/prompt-input/prompt-input.definition.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.definition.js +14 -0
- package/dist/prompt-input/prompt-input.definition.js.map +1 -0
- package/dist/prompt-input/prompt-input.js +358 -0
- package/dist/prompt-input/prompt-input.js.map +1 -0
- package/dist/prompt-input/prompt-input.recipe.d.ts +7 -0
- package/dist/prompt-input/prompt-input.recipe.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.recipe.js +17 -0
- package/dist/prompt-input/prompt-input.recipe.js.map +1 -0
- package/dist/prompt-input/prompt-input.recipe.styles.d.ts +2 -0
- package/dist/prompt-input/prompt-input.recipe.styles.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.recipe.styles.js +5 -0
- package/dist/prompt-input/prompt-input.recipe.styles.js.map +1 -0
- package/dist/prompt-input/prompt-input.styles.d.ts +3 -0
- package/dist/prompt-input/prompt-input.styles.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.styles.js +92 -0
- package/dist/prompt-input/prompt-input.styles.js.map +1 -0
- package/dist/prompt-input/prompt-input.template.d.ts +7 -0
- package/dist/prompt-input/prompt-input.template.d.ts.map +1 -0
- package/dist/prompt-input/prompt-input.template.js +131 -0
- package/dist/prompt-input/prompt-input.template.js.map +1 -0
- package/dist/question/index.d.ts +5 -0
- package/dist/question/index.d.ts.map +1 -0
- package/dist/question/index.js +6 -0
- package/dist/question/index.js.map +1 -0
- package/dist/question/question.d.ts +115 -0
- package/dist/question/question.d.ts.map +1 -0
- package/dist/question/question.define.d.ts +3 -0
- package/dist/question/question.define.d.ts.map +1 -0
- package/dist/question/question.define.js +5 -0
- package/dist/question/question.define.js.map +1 -0
- package/dist/question/question.definition.d.ts +3 -0
- package/dist/question/question.definition.d.ts.map +1 -0
- package/dist/question/question.definition.js +14 -0
- package/dist/question/question.definition.js.map +1 -0
- package/dist/question/question.js +162 -0
- package/dist/question/question.js.map +1 -0
- package/dist/question/question.recipe.d.ts +6 -0
- package/dist/question/question.recipe.d.ts.map +1 -0
- package/dist/question/question.recipe.js +16 -0
- package/dist/question/question.recipe.js.map +1 -0
- package/dist/question/question.recipe.styles.d.ts +2 -0
- package/dist/question/question.recipe.styles.d.ts.map +1 -0
- package/dist/question/question.recipe.styles.js +5 -0
- package/dist/question/question.recipe.styles.js.map +1 -0
- package/dist/question/question.styles.d.ts +3 -0
- package/dist/question/question.styles.d.ts.map +1 -0
- package/dist/question/question.styles.js +49 -0
- package/dist/question/question.styles.js.map +1 -0
- package/dist/question/question.template.d.ts +4 -0
- package/dist/question/question.template.d.ts.map +1 -0
- package/dist/question/question.template.js +101 -0
- package/dist/question/question.template.js.map +1 -0
- package/dist/response/index.d.ts +6 -0
- package/dist/response/index.d.ts.map +1 -0
- package/dist/response/index.js +6 -0
- package/dist/response/index.js.map +1 -0
- package/dist/response/response.d.ts +90 -0
- package/dist/response/response.d.ts.map +1 -0
- package/dist/response/response.define.d.ts +3 -0
- package/dist/response/response.define.d.ts.map +1 -0
- package/dist/response/response.define.js +5 -0
- package/dist/response/response.define.js.map +1 -0
- package/dist/response/response.definition.d.ts +3 -0
- package/dist/response/response.definition.d.ts.map +1 -0
- package/dist/response/response.definition.js +14 -0
- package/dist/response/response.definition.js.map +1 -0
- package/dist/response/response.js +188 -0
- package/dist/response/response.js.map +1 -0
- package/dist/response/response.styles.d.ts +3 -0
- package/dist/response/response.styles.d.ts.map +1 -0
- package/dist/response/response.styles.js +139 -0
- package/dist/response/response.styles.js.map +1 -0
- package/dist/response/response.template.d.ts +7 -0
- package/dist/response/response.template.d.ts.map +1 -0
- package/dist/response/response.template.js +24 -0
- package/dist/response/response.template.js.map +1 -0
- package/dist/response-feedback/index.d.ts +5 -0
- package/dist/response-feedback/index.d.ts.map +1 -0
- package/dist/response-feedback/index.js +6 -0
- package/dist/response-feedback/index.js.map +1 -0
- package/dist/response-feedback/response-feedback.d.ts +92 -0
- package/dist/response-feedback/response-feedback.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.define.d.ts +3 -0
- package/dist/response-feedback/response-feedback.define.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.define.js +5 -0
- package/dist/response-feedback/response-feedback.define.js.map +1 -0
- package/dist/response-feedback/response-feedback.definition.d.ts +3 -0
- package/dist/response-feedback/response-feedback.definition.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.definition.js +14 -0
- package/dist/response-feedback/response-feedback.definition.js.map +1 -0
- package/dist/response-feedback/response-feedback.js +129 -0
- package/dist/response-feedback/response-feedback.js.map +1 -0
- package/dist/response-feedback/response-feedback.recipe.d.ts +6 -0
- package/dist/response-feedback/response-feedback.recipe.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.recipe.js +16 -0
- package/dist/response-feedback/response-feedback.recipe.js.map +1 -0
- package/dist/response-feedback/response-feedback.recipe.styles.d.ts +2 -0
- package/dist/response-feedback/response-feedback.recipe.styles.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.recipe.styles.js +5 -0
- package/dist/response-feedback/response-feedback.recipe.styles.js.map +1 -0
- package/dist/response-feedback/response-feedback.styles.d.ts +3 -0
- package/dist/response-feedback/response-feedback.styles.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.styles.js +42 -0
- package/dist/response-feedback/response-feedback.styles.js.map +1 -0
- package/dist/response-feedback/response-feedback.template.d.ts +4 -0
- package/dist/response-feedback/response-feedback.template.d.ts.map +1 -0
- package/dist/response-feedback/response-feedback.template.js +70 -0
- package/dist/response-feedback/response-feedback.template.js.map +1 -0
- package/dist/sources/index.d.ts +5 -0
- package/dist/sources/index.d.ts.map +1 -0
- package/dist/sources/index.js +6 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/sources/sources.d.ts +53 -0
- package/dist/sources/sources.d.ts.map +1 -0
- package/dist/sources/sources.define.d.ts +3 -0
- package/dist/sources/sources.define.d.ts.map +1 -0
- package/dist/sources/sources.define.js +5 -0
- package/dist/sources/sources.define.js.map +1 -0
- package/dist/sources/sources.definition.d.ts +3 -0
- package/dist/sources/sources.definition.d.ts.map +1 -0
- package/dist/sources/sources.definition.js +12 -0
- package/dist/sources/sources.definition.js.map +1 -0
- package/dist/sources/sources.js +51 -0
- package/dist/sources/sources.js.map +1 -0
- package/dist/sources/sources.recipe.d.ts +3 -0
- package/dist/sources/sources.recipe.d.ts.map +1 -0
- package/dist/sources/sources.recipe.js +8 -0
- package/dist/sources/sources.recipe.js.map +1 -0
- package/dist/sources/sources.recipe.styles.d.ts +2 -0
- package/dist/sources/sources.recipe.styles.d.ts.map +1 -0
- package/dist/sources/sources.recipe.styles.js +5 -0
- package/dist/sources/sources.recipe.styles.js.map +1 -0
- package/dist/sources/sources.styles.d.ts +3 -0
- package/dist/sources/sources.styles.d.ts.map +1 -0
- package/dist/sources/sources.styles.js +36 -0
- package/dist/sources/sources.styles.js.map +1 -0
- package/dist/sources/sources.template.d.ts +4 -0
- package/dist/sources/sources.template.d.ts.map +1 -0
- package/dist/sources/sources.template.js +43 -0
- package/dist/sources/sources.template.js.map +1 -0
- package/dist/stream/index.d.ts +11 -0
- package/dist/stream/index.d.ts.map +1 -0
- package/dist/stream/index.js +8 -0
- package/dist/stream/index.js.map +1 -0
- package/dist/stream/simulation.d.ts +58 -0
- package/dist/stream/simulation.d.ts.map +1 -0
- package/dist/stream/simulation.js +257 -0
- package/dist/stream/simulation.js.map +1 -0
- package/dist/stream/sse.d.ts +32 -0
- package/dist/stream/sse.d.ts.map +1 -0
- package/dist/stream/sse.js +155 -0
- package/dist/stream/sse.js.map +1 -0
- package/dist/stream/ui-message-stream.d.ts +72 -0
- package/dist/stream/ui-message-stream.d.ts.map +1 -0
- package/dist/stream/ui-message-stream.js +492 -0
- package/dist/stream/ui-message-stream.js.map +1 -0
- package/dist/suggestions/index.d.ts +5 -0
- package/dist/suggestions/index.d.ts.map +1 -0
- package/dist/suggestions/index.js +6 -0
- package/dist/suggestions/index.js.map +1 -0
- package/dist/suggestions/suggestions.d.ts +59 -0
- package/dist/suggestions/suggestions.d.ts.map +1 -0
- package/dist/suggestions/suggestions.define.d.ts +3 -0
- package/dist/suggestions/suggestions.define.d.ts.map +1 -0
- package/dist/suggestions/suggestions.define.js +5 -0
- package/dist/suggestions/suggestions.define.js.map +1 -0
- package/dist/suggestions/suggestions.definition.d.ts +3 -0
- package/dist/suggestions/suggestions.definition.d.ts.map +1 -0
- package/dist/suggestions/suggestions.definition.js +12 -0
- package/dist/suggestions/suggestions.definition.js.map +1 -0
- package/dist/suggestions/suggestions.js +61 -0
- package/dist/suggestions/suggestions.js.map +1 -0
- package/dist/suggestions/suggestions.recipe.d.ts +3 -0
- package/dist/suggestions/suggestions.recipe.d.ts.map +1 -0
- package/dist/suggestions/suggestions.recipe.js +8 -0
- package/dist/suggestions/suggestions.recipe.js.map +1 -0
- package/dist/suggestions/suggestions.recipe.styles.d.ts +2 -0
- package/dist/suggestions/suggestions.recipe.styles.d.ts.map +1 -0
- package/dist/suggestions/suggestions.recipe.styles.js +5 -0
- package/dist/suggestions/suggestions.recipe.styles.js.map +1 -0
- package/dist/suggestions/suggestions.styles.d.ts +3 -0
- package/dist/suggestions/suggestions.styles.d.ts.map +1 -0
- package/dist/suggestions/suggestions.styles.js +51 -0
- package/dist/suggestions/suggestions.styles.js.map +1 -0
- package/dist/suggestions/suggestions.template.d.ts +4 -0
- package/dist/suggestions/suggestions.template.d.ts.map +1 -0
- package/dist/suggestions/suggestions.template.js +40 -0
- package/dist/suggestions/suggestions.template.js.map +1 -0
- package/dist/task-plan/index.d.ts +5 -0
- package/dist/task-plan/index.d.ts.map +1 -0
- package/dist/task-plan/index.js +6 -0
- package/dist/task-plan/index.js.map +1 -0
- package/dist/task-plan/task-plan.d.ts +93 -0
- package/dist/task-plan/task-plan.d.ts.map +1 -0
- package/dist/task-plan/task-plan.define.d.ts +3 -0
- package/dist/task-plan/task-plan.define.d.ts.map +1 -0
- package/dist/task-plan/task-plan.define.js +5 -0
- package/dist/task-plan/task-plan.define.js.map +1 -0
- package/dist/task-plan/task-plan.definition.d.ts +3 -0
- package/dist/task-plan/task-plan.definition.d.ts.map +1 -0
- package/dist/task-plan/task-plan.definition.js +12 -0
- package/dist/task-plan/task-plan.definition.js.map +1 -0
- package/dist/task-plan/task-plan.js +78 -0
- package/dist/task-plan/task-plan.js.map +1 -0
- package/dist/task-plan/task-plan.recipe.d.ts +7 -0
- package/dist/task-plan/task-plan.recipe.d.ts.map +1 -0
- package/dist/task-plan/task-plan.recipe.js +20 -0
- package/dist/task-plan/task-plan.recipe.js.map +1 -0
- package/dist/task-plan/task-plan.recipe.styles.d.ts +2 -0
- package/dist/task-plan/task-plan.recipe.styles.d.ts.map +1 -0
- package/dist/task-plan/task-plan.recipe.styles.js +5 -0
- package/dist/task-plan/task-plan.recipe.styles.js.map +1 -0
- package/dist/task-plan/task-plan.styles.d.ts +3 -0
- package/dist/task-plan/task-plan.styles.d.ts.map +1 -0
- package/dist/task-plan/task-plan.styles.js +52 -0
- package/dist/task-plan/task-plan.styles.js.map +1 -0
- package/dist/task-plan/task-plan.template.d.ts +4 -0
- package/dist/task-plan/task-plan.template.d.ts.map +1 -0
- package/dist/task-plan/task-plan.template.js +63 -0
- package/dist/task-plan/task-plan.template.js.map +1 -0
- package/dist/tool-call/index.d.ts +6 -0
- package/dist/tool-call/index.d.ts.map +1 -0
- package/dist/tool-call/index.js +6 -0
- package/dist/tool-call/index.js.map +1 -0
- package/dist/tool-call/tool-call.d.ts +187 -0
- package/dist/tool-call/tool-call.d.ts.map +1 -0
- package/dist/tool-call/tool-call.define.d.ts +3 -0
- package/dist/tool-call/tool-call.define.d.ts.map +1 -0
- package/dist/tool-call/tool-call.define.js +5 -0
- package/dist/tool-call/tool-call.define.js.map +1 -0
- package/dist/tool-call/tool-call.definition.d.ts +3 -0
- package/dist/tool-call/tool-call.definition.d.ts.map +1 -0
- package/dist/tool-call/tool-call.definition.js +14 -0
- package/dist/tool-call/tool-call.definition.js.map +1 -0
- package/dist/tool-call/tool-call.js +77 -0
- package/dist/tool-call/tool-call.js.map +1 -0
- package/dist/tool-call/tool-call.recipe.d.ts +7 -0
- package/dist/tool-call/tool-call.recipe.d.ts.map +1 -0
- package/dist/tool-call/tool-call.recipe.js +16 -0
- package/dist/tool-call/tool-call.recipe.js.map +1 -0
- package/dist/tool-call/tool-call.recipe.styles.d.ts +2 -0
- package/dist/tool-call/tool-call.recipe.styles.d.ts.map +1 -0
- package/dist/tool-call/tool-call.recipe.styles.js +5 -0
- package/dist/tool-call/tool-call.recipe.styles.js.map +1 -0
- package/dist/tool-call/tool-call.styles.d.ts +3 -0
- package/dist/tool-call/tool-call.styles.d.ts.map +1 -0
- package/dist/tool-call/tool-call.styles.js +54 -0
- package/dist/tool-call/tool-call.styles.js.map +1 -0
- package/dist/tool-call/tool-call.template.d.ts +4 -0
- package/dist/tool-call/tool-call.template.d.ts.map +1 -0
- package/dist/tool-call/tool-call.template.js +54 -0
- package/dist/tool-call/tool-call.template.js.map +1 -0
- package/dist/transcript/index.d.ts +5 -0
- package/dist/transcript/index.d.ts.map +1 -0
- package/dist/transcript/index.js +6 -0
- package/dist/transcript/index.js.map +1 -0
- package/dist/transcript/transcript.d.ts +55 -0
- package/dist/transcript/transcript.d.ts.map +1 -0
- package/dist/transcript/transcript.define.d.ts +3 -0
- package/dist/transcript/transcript.define.d.ts.map +1 -0
- package/dist/transcript/transcript.define.js +5 -0
- package/dist/transcript/transcript.define.js.map +1 -0
- package/dist/transcript/transcript.definition.d.ts +3 -0
- package/dist/transcript/transcript.definition.d.ts.map +1 -0
- package/dist/transcript/transcript.definition.js +12 -0
- package/dist/transcript/transcript.definition.js.map +1 -0
- package/dist/transcript/transcript.js +43 -0
- package/dist/transcript/transcript.js.map +1 -0
- package/dist/transcript/transcript.recipe.d.ts +3 -0
- package/dist/transcript/transcript.recipe.d.ts.map +1 -0
- package/dist/transcript/transcript.recipe.js +8 -0
- package/dist/transcript/transcript.recipe.js.map +1 -0
- package/dist/transcript/transcript.recipe.styles.d.ts +2 -0
- package/dist/transcript/transcript.recipe.styles.d.ts.map +1 -0
- package/dist/transcript/transcript.recipe.styles.js +5 -0
- package/dist/transcript/transcript.recipe.styles.js.map +1 -0
- package/dist/transcript/transcript.styles.d.ts +3 -0
- package/dist/transcript/transcript.styles.d.ts.map +1 -0
- package/dist/transcript/transcript.styles.js +29 -0
- package/dist/transcript/transcript.styles.js.map +1 -0
- package/dist/transcript/transcript.template.d.ts +4 -0
- package/dist/transcript/transcript.template.d.ts.map +1 -0
- package/dist/transcript/transcript.template.js +34 -0
- package/dist/transcript/transcript.template.js.map +1 -0
- package/dist/usage-meter/index.d.ts +5 -0
- package/dist/usage-meter/index.d.ts.map +1 -0
- package/dist/usage-meter/index.js +6 -0
- package/dist/usage-meter/index.js.map +1 -0
- package/dist/usage-meter/usage-meter.d.ts +56 -0
- package/dist/usage-meter/usage-meter.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.define.d.ts +3 -0
- package/dist/usage-meter/usage-meter.define.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.define.js +5 -0
- package/dist/usage-meter/usage-meter.define.js.map +1 -0
- package/dist/usage-meter/usage-meter.definition.d.ts +3 -0
- package/dist/usage-meter/usage-meter.definition.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.definition.js +12 -0
- package/dist/usage-meter/usage-meter.definition.js.map +1 -0
- package/dist/usage-meter/usage-meter.js +56 -0
- package/dist/usage-meter/usage-meter.js.map +1 -0
- package/dist/usage-meter/usage-meter.recipe.d.ts +6 -0
- package/dist/usage-meter/usage-meter.recipe.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.recipe.js +11 -0
- package/dist/usage-meter/usage-meter.recipe.js.map +1 -0
- package/dist/usage-meter/usage-meter.recipe.styles.d.ts +2 -0
- package/dist/usage-meter/usage-meter.recipe.styles.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.recipe.styles.js +5 -0
- package/dist/usage-meter/usage-meter.recipe.styles.js.map +1 -0
- package/dist/usage-meter/usage-meter.styles.d.ts +3 -0
- package/dist/usage-meter/usage-meter.styles.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.styles.js +36 -0
- package/dist/usage-meter/usage-meter.styles.js.map +1 -0
- package/dist/usage-meter/usage-meter.template.d.ts +4 -0
- package/dist/usage-meter/usage-meter.template.d.ts.map +1 -0
- package/dist/usage-meter/usage-meter.template.js +31 -0
- package/dist/usage-meter/usage-meter.template.js.map +1 -0
- package/dist/voice/recorder.d.ts +13 -0
- package/dist/voice/recorder.d.ts.map +1 -0
- package/dist/voice/recorder.js +86 -0
- package/dist/voice/recorder.js.map +1 -0
- package/dist/voice/web-speech.d.ts +10 -0
- package/dist/voice/web-speech.d.ts.map +1 -0
- package/dist/voice/web-speech.js +88 -0
- package/dist/voice/web-speech.js.map +1 -0
- package/dist/voice-input/index.d.ts +5 -0
- package/dist/voice-input/index.d.ts.map +1 -0
- package/dist/voice-input/index.js +6 -0
- package/dist/voice-input/index.js.map +1 -0
- package/dist/voice-input/voice-input.d.ts +88 -0
- package/dist/voice-input/voice-input.d.ts.map +1 -0
- package/dist/voice-input/voice-input.define.d.ts +3 -0
- package/dist/voice-input/voice-input.define.d.ts.map +1 -0
- package/dist/voice-input/voice-input.define.js +5 -0
- package/dist/voice-input/voice-input.define.js.map +1 -0
- package/dist/voice-input/voice-input.definition.d.ts +3 -0
- package/dist/voice-input/voice-input.definition.d.ts.map +1 -0
- package/dist/voice-input/voice-input.definition.js +14 -0
- package/dist/voice-input/voice-input.definition.js.map +1 -0
- package/dist/voice-input/voice-input.js +128 -0
- package/dist/voice-input/voice-input.js.map +1 -0
- package/dist/voice-input/voice-input.recipe.d.ts +3 -0
- package/dist/voice-input/voice-input.recipe.d.ts.map +1 -0
- package/dist/voice-input/voice-input.recipe.js +8 -0
- package/dist/voice-input/voice-input.recipe.js.map +1 -0
- package/dist/voice-input/voice-input.recipe.styles.d.ts +2 -0
- package/dist/voice-input/voice-input.recipe.styles.d.ts.map +1 -0
- package/dist/voice-input/voice-input.recipe.styles.js +5 -0
- package/dist/voice-input/voice-input.recipe.styles.js.map +1 -0
- package/dist/voice-input/voice-input.styles.d.ts +3 -0
- package/dist/voice-input/voice-input.styles.d.ts.map +1 -0
- package/dist/voice-input/voice-input.styles.js +51 -0
- package/dist/voice-input/voice-input.styles.js.map +1 -0
- package/dist/voice-input/voice-input.template.d.ts +4 -0
- package/dist/voice-input/voice-input.template.d.ts.map +1 -0
- package/dist/voice-input/voice-input.template.js +51 -0
- package/dist/voice-input/voice-input.template.js.map +1 -0
- package/oddkin.metadata.json +13158 -0
- package/package.json +332 -4
- package/schemas/oddkin.ai.approval.v1.schema.json +117 -0
- package/schemas/oddkin.ai.artifact.v1.schema.json +69 -0
- package/schemas/oddkin.ai.checkpoint.v1.schema.json +75 -0
- package/schemas/oddkin.ai.context-item.v1.schema.json +84 -0
- package/schemas/oddkin.ai.conversation.v1.schema.json +633 -0
- package/schemas/oddkin.ai.feedback.v1.schema.json +62 -0
- package/schemas/oddkin.ai.message.v1.schema.json +339 -0
- package/schemas/oddkin.ai.model-option.v1.schema.json +41 -0
- package/schemas/oddkin.ai.plan.v1.schema.json +98 -0
- package/schemas/oddkin.ai.question.v1.schema.json +140 -0
- package/schemas/oddkin.ai.suggestion.v1.schema.json +26 -0
- package/schemas/oddkin.ai.tool-call.v1.schema.json +87 -0
- package/schemas/oddkin.ai.transcript-segment.v1.schema.json +27 -0
- package/schemas/oddkin.ai.usage.v1.schema.json +55 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ComposerController` — draft, attachments, and submission state for a prompt composer.
|
|
3
|
+
* Tracks draft revisions so acknowledging an older submission never clears newer input, keeps
|
|
4
|
+
* the draft through failures, and owns only the object URLs it created. DOM-free (File and
|
|
5
|
+
* URL APIs are used only when called). Contract: docs/architecture/ai-interaction.md §8.1.
|
|
6
|
+
*/
|
|
7
|
+
import { signal } from '@oddkin/core/reactive';
|
|
8
|
+
import { createId } from '../internal/ids.js';
|
|
9
|
+
const BUSY = new Set(['uploading', 'processing']);
|
|
10
|
+
export function matchesAccept(file, accept) {
|
|
11
|
+
if (!accept.length)
|
|
12
|
+
return true;
|
|
13
|
+
const name = file.name.toLowerCase();
|
|
14
|
+
const type = file.type.toLowerCase();
|
|
15
|
+
return accept.some((raw) => {
|
|
16
|
+
const pattern = raw.trim().toLowerCase();
|
|
17
|
+
if (!pattern)
|
|
18
|
+
return false;
|
|
19
|
+
if (pattern.startsWith('.'))
|
|
20
|
+
return name.endsWith(pattern);
|
|
21
|
+
if (pattern.endsWith('/*'))
|
|
22
|
+
return type.startsWith(pattern.slice(0, -1));
|
|
23
|
+
return type === pattern;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export class ComposerController {
|
|
27
|
+
#state;
|
|
28
|
+
state;
|
|
29
|
+
#files = new Map();
|
|
30
|
+
#ownedUrls = new Set();
|
|
31
|
+
#options;
|
|
32
|
+
#disposed = false;
|
|
33
|
+
constructor(options = {}) {
|
|
34
|
+
this.#options = options;
|
|
35
|
+
this.#state = signal({ text: '', revision: 0, attachments: [], issues: [] });
|
|
36
|
+
this.state = this.#state;
|
|
37
|
+
}
|
|
38
|
+
getSnapshot() {
|
|
39
|
+
return this.#state.peek();
|
|
40
|
+
}
|
|
41
|
+
configure(options) {
|
|
42
|
+
this.#options = { ...this.#options, ...options };
|
|
43
|
+
}
|
|
44
|
+
/** Replace the draft text (user edit or host restore). Increments the draft revision. */
|
|
45
|
+
setText(text) {
|
|
46
|
+
const now = this.#state.peek();
|
|
47
|
+
if (now.text === text)
|
|
48
|
+
return;
|
|
49
|
+
this.#set({ ...now, text, revision: now.revision + 1 });
|
|
50
|
+
}
|
|
51
|
+
/** Validate and add files. Rejected files are reported in `issues` and never added. */
|
|
52
|
+
addFiles(files) {
|
|
53
|
+
const now = this.#state.peek();
|
|
54
|
+
const issues = [];
|
|
55
|
+
const added = [];
|
|
56
|
+
if (this.#options.attachments === false) {
|
|
57
|
+
for (const file of files)
|
|
58
|
+
issues.push({ code: 'ai.attachment.unavailable', name: file.name });
|
|
59
|
+
this.#set({ ...now, issues });
|
|
60
|
+
return added;
|
|
61
|
+
}
|
|
62
|
+
const max = this.#options.maxFiles ?? Infinity;
|
|
63
|
+
let count = now.attachments.length;
|
|
64
|
+
for (const file of files) {
|
|
65
|
+
if (!matchesAccept(file, this.#options.accept ?? [])) {
|
|
66
|
+
issues.push({
|
|
67
|
+
code: 'ai.attachment.type',
|
|
68
|
+
name: file.name,
|
|
69
|
+
limit: (this.#options.accept ?? []).join(', '),
|
|
70
|
+
});
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (this.#options.maxFileSize !== undefined && file.size > this.#options.maxFileSize) {
|
|
74
|
+
issues.push({
|
|
75
|
+
code: 'ai.attachment.size',
|
|
76
|
+
name: file.name,
|
|
77
|
+
limit: this.#options.maxFileSize,
|
|
78
|
+
});
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (count >= max) {
|
|
82
|
+
issues.push({ code: 'ai.attachment.count', name: file.name, limit: max });
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
count++;
|
|
86
|
+
const id = (this.#options.createId ?? createId)('attachment');
|
|
87
|
+
this.#files.set(id, file);
|
|
88
|
+
const previewUrl = this.#preview(file);
|
|
89
|
+
added.push({
|
|
90
|
+
id,
|
|
91
|
+
name: file.name,
|
|
92
|
+
size: file.size,
|
|
93
|
+
mediaType: file.type || 'application/octet-stream',
|
|
94
|
+
status: 'selected',
|
|
95
|
+
...(previewUrl ? { previewUrl } : {}),
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
this.#set({
|
|
99
|
+
...now,
|
|
100
|
+
attachments: [...now.attachments, ...added],
|
|
101
|
+
revision: added.length ? now.revision + 1 : now.revision,
|
|
102
|
+
issues,
|
|
103
|
+
});
|
|
104
|
+
return added;
|
|
105
|
+
}
|
|
106
|
+
/** The runtime File for an attachment (never part of serializable state). */
|
|
107
|
+
file(id) {
|
|
108
|
+
return this.#files.get(id);
|
|
109
|
+
}
|
|
110
|
+
/** Host-reported upload or processing progress. Ignored for removed attachments. */
|
|
111
|
+
updateAttachment(id, update) {
|
|
112
|
+
const now = this.#state.peek();
|
|
113
|
+
if (!now.attachments.some((a) => a.id === id))
|
|
114
|
+
return;
|
|
115
|
+
this.#set({
|
|
116
|
+
...now,
|
|
117
|
+
attachments: now.attachments.map((a) => a.id === id ? { ...a, ...update } : a),
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
removeAttachment(id) {
|
|
121
|
+
const now = this.#state.peek();
|
|
122
|
+
const attachment = now.attachments.find((a) => a.id === id);
|
|
123
|
+
if (!attachment)
|
|
124
|
+
return;
|
|
125
|
+
this.#release(attachment);
|
|
126
|
+
this.#set({
|
|
127
|
+
...now,
|
|
128
|
+
attachments: now.attachments.filter((a) => a.id !== id),
|
|
129
|
+
revision: now.revision + 1,
|
|
130
|
+
issues: [],
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
clearIssues() {
|
|
134
|
+
const now = this.#state.peek();
|
|
135
|
+
if (now.issues.length)
|
|
136
|
+
this.#set({ ...now, issues: [] });
|
|
137
|
+
}
|
|
138
|
+
/** Why the draft cannot be submitted now, or undefined when it can. */
|
|
139
|
+
blocker() {
|
|
140
|
+
const now = this.#state.peek();
|
|
141
|
+
if (now.submission?.status === 'submitting')
|
|
142
|
+
return 'submitting';
|
|
143
|
+
if (now.attachments.some((a) => BUSY.has(a.status)))
|
|
144
|
+
return 'attachments-busy';
|
|
145
|
+
if (now.attachments.some((a) => a.status === 'failed'))
|
|
146
|
+
return 'attachments-failed';
|
|
147
|
+
if (!now.text.trim() && !now.attachments.length)
|
|
148
|
+
return 'empty';
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Capture the draft as a submission. The draft stays in place (and editable) until the host
|
|
153
|
+
* acknowledges acceptance; a failure leaves it untouched.
|
|
154
|
+
*/
|
|
155
|
+
beginSubmit() {
|
|
156
|
+
if (this.blocker())
|
|
157
|
+
return undefined;
|
|
158
|
+
const now = this.#state.peek();
|
|
159
|
+
const submission = {
|
|
160
|
+
submissionId: (this.#options.createId ?? createId)('submission'),
|
|
161
|
+
revision: now.revision,
|
|
162
|
+
text: now.text,
|
|
163
|
+
attachments: now.attachments,
|
|
164
|
+
};
|
|
165
|
+
this.#set({
|
|
166
|
+
...now,
|
|
167
|
+
submission: {
|
|
168
|
+
submissionId: submission.submissionId,
|
|
169
|
+
revision: now.revision,
|
|
170
|
+
status: 'submitting',
|
|
171
|
+
},
|
|
172
|
+
});
|
|
173
|
+
return submission;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* The host accepted `submissionId`. Clears the submitted text only if the draft was not
|
|
177
|
+
* edited since; attachments added after submission stay. Stale ids are ignored.
|
|
178
|
+
*/
|
|
179
|
+
acknowledge(submissionId) {
|
|
180
|
+
const now = this.#state.peek();
|
|
181
|
+
if (now.submission?.submissionId !== submissionId)
|
|
182
|
+
return false;
|
|
183
|
+
const submittedRevision = now.submission.revision;
|
|
184
|
+
const edited = now.revision !== submittedRevision;
|
|
185
|
+
const submittedIds = this.#submittedIds.get(submissionId);
|
|
186
|
+
const remaining = edited ? now.attachments.filter((a) => !submittedIds?.has(a.id)) : [];
|
|
187
|
+
for (const attachment of now.attachments)
|
|
188
|
+
if (!remaining.includes(attachment))
|
|
189
|
+
this.#release(attachment);
|
|
190
|
+
this.#submittedIds.delete(submissionId);
|
|
191
|
+
this.#set({
|
|
192
|
+
text: edited ? now.text : '',
|
|
193
|
+
revision: now.revision + 1,
|
|
194
|
+
attachments: remaining,
|
|
195
|
+
submission: undefined,
|
|
196
|
+
issues: [],
|
|
197
|
+
});
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
#submittedIds = new Map();
|
|
201
|
+
/** The host rejected `submissionId`. The draft and attachments are preserved. */
|
|
202
|
+
fail(submissionId, error) {
|
|
203
|
+
const now = this.#state.peek();
|
|
204
|
+
if (now.submission?.submissionId !== submissionId)
|
|
205
|
+
return false;
|
|
206
|
+
this.#set({
|
|
207
|
+
...now,
|
|
208
|
+
submission: { submissionId, revision: now.submission.revision, status: 'failed', error },
|
|
209
|
+
});
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
/** Abandon the pending submission locally (e.g. the host cancelled it before acceptance). */
|
|
213
|
+
cancel(submissionId) {
|
|
214
|
+
const now = this.#state.peek();
|
|
215
|
+
if (now.submission?.submissionId !== submissionId)
|
|
216
|
+
return false;
|
|
217
|
+
this.#set({ ...now, submission: undefined });
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
/** Revoke owned preview URLs and drop File references. */
|
|
221
|
+
dispose() {
|
|
222
|
+
if (this.#disposed)
|
|
223
|
+
return;
|
|
224
|
+
this.#disposed = true;
|
|
225
|
+
for (const url of this.#ownedUrls)
|
|
226
|
+
URL.revokeObjectURL(url);
|
|
227
|
+
this.#ownedUrls.clear();
|
|
228
|
+
this.#files.clear();
|
|
229
|
+
}
|
|
230
|
+
/** Number of object URLs this controller currently owns (for leak tests). */
|
|
231
|
+
get ownedUrlCount() {
|
|
232
|
+
return this.#ownedUrls.size;
|
|
233
|
+
}
|
|
234
|
+
/** Revoke owned preview URLs (e.g. while a view is disconnected); the files are kept. */
|
|
235
|
+
releasePreviews() {
|
|
236
|
+
const now = this.#state.peek();
|
|
237
|
+
if (!now.attachments.some((a) => a.previewUrl && this.#ownedUrls.has(a.previewUrl)))
|
|
238
|
+
return;
|
|
239
|
+
this.#set({
|
|
240
|
+
...now,
|
|
241
|
+
attachments: now.attachments.map((a) => {
|
|
242
|
+
if (!a.previewUrl || !this.#ownedUrls.delete(a.previewUrl))
|
|
243
|
+
return a;
|
|
244
|
+
URL.revokeObjectURL(a.previewUrl);
|
|
245
|
+
const { previewUrl: _released, ...rest } = a;
|
|
246
|
+
return rest;
|
|
247
|
+
}),
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
/** Recreate previews released by `releasePreviews`. */
|
|
251
|
+
restorePreviews() {
|
|
252
|
+
if (this.#disposed)
|
|
253
|
+
return;
|
|
254
|
+
const now = this.#state.peek();
|
|
255
|
+
let changed = false;
|
|
256
|
+
const attachments = now.attachments.map((a) => {
|
|
257
|
+
const file = this.#files.get(a.id);
|
|
258
|
+
if (a.previewUrl || !file)
|
|
259
|
+
return a;
|
|
260
|
+
const previewUrl = this.#preview(file);
|
|
261
|
+
if (!previewUrl)
|
|
262
|
+
return a;
|
|
263
|
+
changed = true;
|
|
264
|
+
return { ...a, previewUrl };
|
|
265
|
+
});
|
|
266
|
+
if (changed)
|
|
267
|
+
this.#set({ ...now, attachments });
|
|
268
|
+
}
|
|
269
|
+
#preview(file) {
|
|
270
|
+
if (this.#options.previews === false || !file.type.startsWith('image/'))
|
|
271
|
+
return undefined;
|
|
272
|
+
if (typeof URL === 'undefined' || typeof URL.createObjectURL !== 'function')
|
|
273
|
+
return undefined;
|
|
274
|
+
const url = URL.createObjectURL(file);
|
|
275
|
+
this.#ownedUrls.add(url);
|
|
276
|
+
return url;
|
|
277
|
+
}
|
|
278
|
+
#release(attachment) {
|
|
279
|
+
this.#files.delete(attachment.id);
|
|
280
|
+
// Only URLs this controller created; host-provided URLs are never revoked.
|
|
281
|
+
if (attachment.previewUrl && this.#ownedUrls.delete(attachment.previewUrl))
|
|
282
|
+
URL.revokeObjectURL(attachment.previewUrl);
|
|
283
|
+
}
|
|
284
|
+
#set(next) {
|
|
285
|
+
if (next.submission?.status === 'submitting' &&
|
|
286
|
+
!this.#submittedIds.has(next.submission.submissionId))
|
|
287
|
+
this.#submittedIds.set(next.submission.submissionId, new Set(next.attachments.map((a) => a.id)));
|
|
288
|
+
this.#state.value = next;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=composer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/controllers/composer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { type Readable } from '@oddkin/core/reactive';
|
|
2
|
+
import { type NormalizeDiagnostic, type Normalized } from '../contracts/normalize.js';
|
|
3
|
+
import type { AiEvent, AttemptTarget, Capabilities, ConversationSnapshot, ConversationState, ConversationTransport, EventSink, ExternalSource, FeedbackRecord, MessagePart, PublicError } from '../contracts/types.js';
|
|
4
|
+
export interface ConversationControllerOptions {
|
|
5
|
+
readonly transport: ConversationTransport;
|
|
6
|
+
readonly conversationId?: string;
|
|
7
|
+
/** Application policy; narrows (never widens) what the transport supports. */
|
|
8
|
+
readonly capabilities?: Capabilities;
|
|
9
|
+
readonly createId?: (prefix: string) => string;
|
|
10
|
+
/** Dropped, duplicate, invalid, and stale input. Never shown to users by default. */
|
|
11
|
+
readonly onDiagnostic?: (diagnostic: ControllerDiagnostic) => void;
|
|
12
|
+
}
|
|
13
|
+
export interface ControllerDiagnostic extends NormalizeDiagnostic {
|
|
14
|
+
readonly attemptId?: string | undefined;
|
|
15
|
+
}
|
|
16
|
+
export type ActionResult = {
|
|
17
|
+
readonly ok: true;
|
|
18
|
+
readonly attemptId?: string;
|
|
19
|
+
} | {
|
|
20
|
+
readonly ok: false;
|
|
21
|
+
readonly reason: 'unavailable' | 'stale' | 'duplicate' | 'invalid' | 'rejected' | 'busy';
|
|
22
|
+
readonly error?: PublicError;
|
|
23
|
+
};
|
|
24
|
+
export interface SendInput {
|
|
25
|
+
readonly text: string;
|
|
26
|
+
readonly files?: readonly Extract<MessagePart, {
|
|
27
|
+
type: 'file';
|
|
28
|
+
}>[];
|
|
29
|
+
}
|
|
30
|
+
declare class Sink implements EventSink {
|
|
31
|
+
#private;
|
|
32
|
+
readonly target: AttemptTarget;
|
|
33
|
+
private readonly owner;
|
|
34
|
+
private readonly generation;
|
|
35
|
+
constructor(target: AttemptTarget, owner: ConversationController, generation: number);
|
|
36
|
+
get active(): boolean;
|
|
37
|
+
/** @internal */
|
|
38
|
+
get _generation(): number;
|
|
39
|
+
push(event: AiEvent): void;
|
|
40
|
+
close(): void;
|
|
41
|
+
/** @internal Called when the controller replaces or disconnects this sink. */
|
|
42
|
+
_invalidate(): void;
|
|
43
|
+
}
|
|
44
|
+
export declare class ConversationController implements ExternalSource<ConversationState> {
|
|
45
|
+
#private;
|
|
46
|
+
/** The current immutable snapshot as an Oddkin readable. */
|
|
47
|
+
readonly state: Readable<ConversationState>;
|
|
48
|
+
constructor(options: ConversationControllerOptions);
|
|
49
|
+
getSnapshot(): ConversationState;
|
|
50
|
+
subscribe(listener: () => void): () => void;
|
|
51
|
+
/**
|
|
52
|
+
* Replace the conversation with a validated snapshot. A different conversation id isolates
|
|
53
|
+
* every in-flight stream, stop, and decision of the previous one.
|
|
54
|
+
*/
|
|
55
|
+
load(raw: unknown): Normalized<ConversationSnapshot>;
|
|
56
|
+
/** Start an empty conversation, isolating the previous one. */
|
|
57
|
+
reset(conversationId?: string): void;
|
|
58
|
+
/** Replace the application capability policy (narrowing only). */
|
|
59
|
+
setCapabilities(capabilities: Capabilities | undefined): void;
|
|
60
|
+
/**
|
|
61
|
+
* Send a user message and start a new attempt. Resolves when the backend accepted or rejected
|
|
62
|
+
* the request. A rejected (never accepted) request removes the optimistic messages so the
|
|
63
|
+
* composer's preserved draft stays the single copy of the content.
|
|
64
|
+
*/
|
|
65
|
+
send(input: SendInput): Promise<ActionResult>;
|
|
66
|
+
/** Retry a failed, interrupted, or cancelled attempt as a new linked attempt. */
|
|
67
|
+
retry(attemptId: string): Promise<ActionResult>;
|
|
68
|
+
/** Generate an alternative answer; the previous one stays reachable as a branch. */
|
|
69
|
+
regenerate(messageId: string): Promise<ActionResult>;
|
|
70
|
+
/** Edit a user message: a new sibling branch and a new attempt; the original is preserved. */
|
|
71
|
+
edit(messageId: string, text: string): Promise<ActionResult>;
|
|
72
|
+
/**
|
|
73
|
+
* Request cancellation of the underlying work for one attempt. The attempt stays
|
|
74
|
+
* `stop: requested` until the backend answers; partial output is kept. A response for an
|
|
75
|
+
* older request (or another conversation) is ignored.
|
|
76
|
+
*/
|
|
77
|
+
stop(attemptId?: string | undefined): Promise<ActionResult>;
|
|
78
|
+
/**
|
|
79
|
+
* Close the client stream for an attempt without cancelling the work (unmount, navigation).
|
|
80
|
+
* The attempt keeps its status; `resume()` can reattach when supported.
|
|
81
|
+
*/
|
|
82
|
+
disconnect(attemptId?: string | undefined): ActionResult;
|
|
83
|
+
/** Reattach to an existing attempt. Never starts new work or a new attempt. */
|
|
84
|
+
resume(attemptId?: string | undefined): Promise<ActionResult>;
|
|
85
|
+
/**
|
|
86
|
+
* Submit a decision for one approval revision. Repeated activation, stale revisions, and
|
|
87
|
+
* expired proposals are refused without a request. The approval stays `decision-pending`
|
|
88
|
+
* until the backend acknowledges it; acknowledgment does not mean the action succeeded.
|
|
89
|
+
*/
|
|
90
|
+
decide(approvalId: string, revision: number, decision: 'approve' | 'reject', reason?: string): Promise<ActionResult>;
|
|
91
|
+
/** Show the branch containing `messageId` (following its most recently selected leaf). */
|
|
92
|
+
switchBranch(messageId: string): ActionResult;
|
|
93
|
+
/** Load earlier messages. Prepended messages never move the active branch. */
|
|
94
|
+
loadHistory(): Promise<ActionResult>;
|
|
95
|
+
submitFeedback(feedback: Omit<FeedbackRecord, 'status' | 'error'>): Promise<ActionResult>;
|
|
96
|
+
/** Release client-side work: disconnect open streams (never cancels remote work). */
|
|
97
|
+
dispose(): void;
|
|
98
|
+
/** @internal */
|
|
99
|
+
_accepts(sink: Sink): boolean;
|
|
100
|
+
/** @internal */
|
|
101
|
+
_closed(sink: Sink): void;
|
|
102
|
+
/** @internal */
|
|
103
|
+
_ingest(sink: Sink, event: AiEvent): void;
|
|
104
|
+
}
|
|
105
|
+
export {};
|
|
106
|
+
//# sourceMappingURL=conversation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/controllers/conversation.ts"],"names":[],"mappings":"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"}
|