@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,325 @@
|
|
|
1
|
+
import { defineModel, m } from "@oddkin/core/model";
|
|
2
|
+
const timestamp = () => m.optional(m.string({ description: "ISO 8601 timestamp." })), publicErrorSchema = m.object({
|
|
3
|
+
code: m.string({ minLength: 1, description: "Stable application-defined code." }),
|
|
4
|
+
message: m.string({ description: "User-presentable message, localized by the host." }),
|
|
5
|
+
retryable: m.optional(m.boolean("Whether retrying the same operation may succeed."))
|
|
6
|
+
}, "An error safe to show to users. Diagnostic details stay in host logs."), capabilitySchema = m.object({
|
|
7
|
+
available: m.boolean("Whether the action is supported and allowed now."),
|
|
8
|
+
reason: m.optional(m.string({ description: "Why the action is unavailable, for users." }))
|
|
9
|
+
}), capabilitiesSchema = m.object({
|
|
10
|
+
send: m.optional(capabilitySchema),
|
|
11
|
+
stop: m.optional(capabilitySchema),
|
|
12
|
+
disconnect: m.optional(capabilitySchema),
|
|
13
|
+
reconnect: m.optional(capabilitySchema),
|
|
14
|
+
resume: m.optional(capabilitySchema),
|
|
15
|
+
retry: m.optional(capabilitySchema),
|
|
16
|
+
edit: m.optional(capabilitySchema),
|
|
17
|
+
regenerate: m.optional(capabilitySchema),
|
|
18
|
+
switchBranch: m.optional(capabilitySchema),
|
|
19
|
+
respondToApproval: m.optional(capabilitySchema),
|
|
20
|
+
editApproval: m.optional(capabilitySchema),
|
|
21
|
+
restoreCheckpoint: m.optional(capabilitySchema),
|
|
22
|
+
voice: m.optional(capabilitySchema),
|
|
23
|
+
attachments: m.optional(capabilitySchema),
|
|
24
|
+
history: m.optional(capabilitySchema),
|
|
25
|
+
feedback: m.optional(capabilitySchema)
|
|
26
|
+
}, "Actions the adapter and application actually support. Absent means unavailable."), textBody = {
|
|
27
|
+
id: m.id("Stable part id."),
|
|
28
|
+
text: m.string({ description: "Canonical source text (Markdown for assistant text)." }),
|
|
29
|
+
state: m.optional(m.enum(["streaming", "done"], "Whether more text may arrive."))
|
|
30
|
+
}, partSchema = m.union("type", {
|
|
31
|
+
text: m.object(textBody),
|
|
32
|
+
reasoning: m.object(textBody),
|
|
33
|
+
file: m.object({
|
|
34
|
+
id: m.id(),
|
|
35
|
+
name: m.string({ description: "Untrusted file name; rendered as text." }),
|
|
36
|
+
mediaType: m.string(),
|
|
37
|
+
url: m.optional(m.url("Where the file can be fetched; checked by the URL policy.")),
|
|
38
|
+
size: m.optional(m.number({ integer: !0, minimum: 0, description: "Bytes." }))
|
|
39
|
+
}),
|
|
40
|
+
source: m.object({
|
|
41
|
+
id: m.id(),
|
|
42
|
+
sourceId: m.id("Citation key referenced from text as [^sourceId]."),
|
|
43
|
+
title: m.optional(m.string()),
|
|
44
|
+
url: m.optional(m.url()),
|
|
45
|
+
excerpt: m.optional(m.string()),
|
|
46
|
+
publisher: m.optional(m.string()),
|
|
47
|
+
kind: m.optional(m.enum(["web", "document", "file", "other"]))
|
|
48
|
+
}),
|
|
49
|
+
"tool-call": m.object({
|
|
50
|
+
id: m.id(),
|
|
51
|
+
toolCallId: m.id("Key of the tool call record; its state lives there.")
|
|
52
|
+
}),
|
|
53
|
+
approval: m.object({ id: m.id(), approvalId: m.id("Key of the approval record.") }),
|
|
54
|
+
artifact: m.object({
|
|
55
|
+
id: m.id(),
|
|
56
|
+
artifactId: m.id("Key of the artifact record."),
|
|
57
|
+
revisionId: m.optional(m.id("Revision this message produced."))
|
|
58
|
+
}),
|
|
59
|
+
data: m.object({
|
|
60
|
+
id: m.id(),
|
|
61
|
+
name: m.string({ minLength: 1, description: "Renderer registry key." }),
|
|
62
|
+
data: m.json({ description: "Validated by the registered renderer before use." })
|
|
63
|
+
}),
|
|
64
|
+
unsupported: m.object({
|
|
65
|
+
id: m.id(),
|
|
66
|
+
originalType: m.string({ description: "Type that could not be rendered." })
|
|
67
|
+
})
|
|
68
|
+
}), provenanceSchema = m.object({
|
|
69
|
+
kind: m.enum(["generated", "assisted", "edited", "human"], "How the content was produced."),
|
|
70
|
+
label: m.optional(m.string({ description: "Host-supplied visible label." })),
|
|
71
|
+
model: m.optional(m.string()),
|
|
72
|
+
provider: m.optional(m.string()),
|
|
73
|
+
generatedAt: timestamp(),
|
|
74
|
+
notes: m.optional(m.string({ description: "Host-supplied explanation, shown as is." }))
|
|
75
|
+
}, "Application-supplied origin information. Displayed as supplied, never verified."), MessageModel = defineModel("oddkin.ai.message", {
|
|
76
|
+
version: 1,
|
|
77
|
+
description: "One message. Parts are ordered; ids are stable across updates.",
|
|
78
|
+
schema: m.object({
|
|
79
|
+
id: m.id(),
|
|
80
|
+
role: m.enum(["user", "assistant", "system", "tool"]),
|
|
81
|
+
parentId: m.optional(m.id("Previous message on this branch; siblings are alternatives.")),
|
|
82
|
+
parts: m.array(partSchema),
|
|
83
|
+
attemptId: m.optional(m.id("Attempt that produced an assistant message.")),
|
|
84
|
+
createdAt: timestamp(),
|
|
85
|
+
provenance: m.optional(provenanceSchema)
|
|
86
|
+
})
|
|
87
|
+
}), toolStatus = m.enum([
|
|
88
|
+
"input-streaming",
|
|
89
|
+
"input-available",
|
|
90
|
+
"awaiting-approval",
|
|
91
|
+
"executing",
|
|
92
|
+
"output-available",
|
|
93
|
+
"output-error",
|
|
94
|
+
"denied",
|
|
95
|
+
"cancelled"
|
|
96
|
+
], "Argument generation, approval, and execution are separate states."), ToolCallModel = defineModel("oddkin.ai.tool-call", {
|
|
97
|
+
version: 1,
|
|
98
|
+
schema: m.object({
|
|
99
|
+
toolCallId: m.id(),
|
|
100
|
+
attemptId: m.optional(m.id()),
|
|
101
|
+
toolName: m.string({ minLength: 1 }),
|
|
102
|
+
title: m.optional(m.string({ description: "Human-readable tool name." })),
|
|
103
|
+
purpose: m.optional(m.string({ description: "Why the tool is being used." })),
|
|
104
|
+
status: toolStatus,
|
|
105
|
+
inputText: m.optional(m.string({ description: "Streamed argument text, possibly partial." })),
|
|
106
|
+
input: m.optional(m.json({ description: "Complete arguments." })),
|
|
107
|
+
output: m.optional(m.json({ description: "Result; untrusted." })),
|
|
108
|
+
error: m.optional(publicErrorSchema),
|
|
109
|
+
approvalId: m.optional(m.id()),
|
|
110
|
+
retryable: m.optional(m.boolean("The host can retry this tool call."))
|
|
111
|
+
})
|
|
112
|
+
}), approvalStatusValues = [
|
|
113
|
+
"requested",
|
|
114
|
+
"decision-pending",
|
|
115
|
+
"approved",
|
|
116
|
+
"rejected",
|
|
117
|
+
"expired",
|
|
118
|
+
"superseded",
|
|
119
|
+
"decision-failed"
|
|
120
|
+
], ApprovalModel = defineModel("oddkin.ai.approval", {
|
|
121
|
+
version: 1,
|
|
122
|
+
description: "A request to approve an action. Approval never implies the action succeeded.",
|
|
123
|
+
schema: m.object({
|
|
124
|
+
approvalId: m.id(),
|
|
125
|
+
attemptId: m.optional(m.id()),
|
|
126
|
+
toolCallId: m.optional(m.id()),
|
|
127
|
+
revision: m.number({ integer: !0, minimum: 1, description: "Proposal revision." }),
|
|
128
|
+
title: m.string({ minLength: 1 }),
|
|
129
|
+
summary: m.optional(m.string()),
|
|
130
|
+
target: m.optional(m.string({ description: "What the action affects." })),
|
|
131
|
+
changes: m.optional(m.array(m.object({
|
|
132
|
+
label: m.string(),
|
|
133
|
+
before: m.optional(m.string()),
|
|
134
|
+
after: m.optional(m.string())
|
|
135
|
+
}))),
|
|
136
|
+
risk: m.optional(m.enum(["low", "medium", "high"])),
|
|
137
|
+
status: m.enum(approvalStatusValues),
|
|
138
|
+
decision: m.optional(m.enum(["approve", "reject"])),
|
|
139
|
+
reason: m.optional(m.string()),
|
|
140
|
+
expiresAt: timestamp(),
|
|
141
|
+
error: m.optional(publicErrorSchema)
|
|
142
|
+
})
|
|
143
|
+
}), ArtifactModel = defineModel("oddkin.ai.artifact", {
|
|
144
|
+
version: 1,
|
|
145
|
+
description: "A generated artifact with a stable identity across revisions.",
|
|
146
|
+
schema: m.object({
|
|
147
|
+
artifactId: m.id(),
|
|
148
|
+
title: m.string({ minLength: 1 }),
|
|
149
|
+
kind: m.string({ minLength: 1, description: "markdown, code, text, or a host renderer key." }),
|
|
150
|
+
language: m.optional(m.string()),
|
|
151
|
+
currentRevisionId: m.id(),
|
|
152
|
+
revisions: m.array(m.object({
|
|
153
|
+
revisionId: m.id(),
|
|
154
|
+
number: m.number({ integer: !0, minimum: 1 }),
|
|
155
|
+
createdAt: timestamp(),
|
|
156
|
+
summary: m.optional(m.string()),
|
|
157
|
+
content: m.string({ description: "Canonical source; exported as is." })
|
|
158
|
+
}), { minItems: 1 })
|
|
159
|
+
})
|
|
160
|
+
}), usageEntrySchema = m.object({
|
|
161
|
+
kind: m.enum(["input-tokens", "output-tokens", "context", "quota", "cost", "other"]),
|
|
162
|
+
label: m.string({ minLength: 1 }),
|
|
163
|
+
used: m.optional(m.number({ minimum: 0 })),
|
|
164
|
+
limit: m.optional(m.number({ minimum: 0 })),
|
|
165
|
+
unit: m.optional(m.string({ description: "tokens, requests, \u2026 (cost uses currency)." })),
|
|
166
|
+
currency: m.optional(m.string({ pattern: "^[A-Z]{3}$", description: "ISO 4217." })),
|
|
167
|
+
precision: m.enum(["measured", "estimated", "unknown"], "Supplied by the host; never inferred.")
|
|
168
|
+
}), UsageModel = defineModel("oddkin.ai.usage", {
|
|
169
|
+
version: 1,
|
|
170
|
+
schema: m.array(usageEntrySchema)
|
|
171
|
+
}), CheckpointModel = defineModel("oddkin.ai.checkpoint", {
|
|
172
|
+
version: 1,
|
|
173
|
+
description: "A restore point. Restoration is shown only after the host confirms it.",
|
|
174
|
+
schema: m.object({
|
|
175
|
+
checkpointId: m.id(),
|
|
176
|
+
label: m.string({ minLength: 1 }),
|
|
177
|
+
description: m.string({ description: "Which state is restored." }),
|
|
178
|
+
restores: m.array(m.string(), { description: "Each item of state the restore replaces." }),
|
|
179
|
+
createdAt: timestamp(),
|
|
180
|
+
status: m.enum(["available", "restore-pending", "restored", "restore-failed", "unavailable"]),
|
|
181
|
+
outcome: m.optional(m.string({ description: "Host-confirmed result." })),
|
|
182
|
+
error: m.optional(publicErrorSchema)
|
|
183
|
+
})
|
|
184
|
+
}), stepStatus = m.enum([
|
|
185
|
+
"pending",
|
|
186
|
+
"active",
|
|
187
|
+
"done",
|
|
188
|
+
"failed",
|
|
189
|
+
"blocked",
|
|
190
|
+
"skipped",
|
|
191
|
+
"needs-input"
|
|
192
|
+
]), PlanModel = defineModel("oddkin.ai.plan", {
|
|
193
|
+
version: 1,
|
|
194
|
+
schema: m.object({
|
|
195
|
+
planId: m.id(),
|
|
196
|
+
title: m.optional(m.string()),
|
|
197
|
+
steps: m.array(m.object({
|
|
198
|
+
id: m.id(),
|
|
199
|
+
title: m.string({ minLength: 1 }),
|
|
200
|
+
detail: m.optional(m.string()),
|
|
201
|
+
status: stepStatus,
|
|
202
|
+
blocker: m.optional(m.string({ description: "Why the step cannot continue." })),
|
|
203
|
+
inputRequest: m.optional(m.string({ description: "What the agent needs from the user." })),
|
|
204
|
+
tasks: m.optional(m.array(m.object({
|
|
205
|
+
id: m.id(),
|
|
206
|
+
title: m.string({ minLength: 1 }),
|
|
207
|
+
status: stepStatus,
|
|
208
|
+
detail: m.optional(m.string())
|
|
209
|
+
}), { description: "Work running in parallel within the step." }))
|
|
210
|
+
}))
|
|
211
|
+
})
|
|
212
|
+
}), QuestionModel = defineModel("oddkin.ai.question", {
|
|
213
|
+
version: 1,
|
|
214
|
+
schema: m.object({
|
|
215
|
+
questionId: m.id(),
|
|
216
|
+
revision: m.number({ integer: !0, minimum: 1 }),
|
|
217
|
+
prompt: m.string({ minLength: 1 }),
|
|
218
|
+
kind: m.enum(["choice", "multi-choice", "form", "text"]),
|
|
219
|
+
options: m.optional(m.array(m.object({ id: m.id(), label: m.label(), description: m.optional(m.string()) }))),
|
|
220
|
+
fields: m.optional(m.array(m.object({
|
|
221
|
+
id: m.id(),
|
|
222
|
+
label: m.label(),
|
|
223
|
+
type: m.enum(["text", "number", "select", "boolean"]),
|
|
224
|
+
required: m.optional(m.boolean()),
|
|
225
|
+
options: m.optional(m.array(m.string()))
|
|
226
|
+
}))),
|
|
227
|
+
allowCustom: m.optional(m.boolean("Offer a free-text answer.")),
|
|
228
|
+
status: m.enum(["requested", "submitting", "submitted", "skipped", "expired", "failed"]),
|
|
229
|
+
answer: m.optional(m.json()),
|
|
230
|
+
expiresAt: timestamp(),
|
|
231
|
+
error: m.optional(publicErrorSchema)
|
|
232
|
+
})
|
|
233
|
+
}), ContextItemModel = defineModel("oddkin.ai.context-item", {
|
|
234
|
+
version: 1,
|
|
235
|
+
schema: m.object({
|
|
236
|
+
id: m.id(),
|
|
237
|
+
kind: m.enum(["file", "document", "url", "selection"]),
|
|
238
|
+
label: m.string({ minLength: 1, description: "Untrusted; rendered as text." }),
|
|
239
|
+
detail: m.optional(m.string()),
|
|
240
|
+
status: m.enum([
|
|
241
|
+
"selected",
|
|
242
|
+
"uploading",
|
|
243
|
+
"uploaded",
|
|
244
|
+
"processing",
|
|
245
|
+
"ready",
|
|
246
|
+
"failed",
|
|
247
|
+
"removed"
|
|
248
|
+
]),
|
|
249
|
+
url: m.optional(m.url()),
|
|
250
|
+
preview: m.optional(m.string({ description: "Plain-text excerpt for inspection." })),
|
|
251
|
+
mediaType: m.optional(m.string()),
|
|
252
|
+
size: m.optional(m.number({ integer: !0, minimum: 0 })),
|
|
253
|
+
error: m.optional(publicErrorSchema)
|
|
254
|
+
})
|
|
255
|
+
}), ModelOptionModel = defineModel("oddkin.ai.model-option", {
|
|
256
|
+
version: 1,
|
|
257
|
+
schema: m.object({
|
|
258
|
+
id: m.id(),
|
|
259
|
+
label: m.label(),
|
|
260
|
+
description: m.optional(m.string()),
|
|
261
|
+
provider: m.optional(m.string()),
|
|
262
|
+
capabilities: m.optional(m.array(m.string())),
|
|
263
|
+
available: m.boolean(),
|
|
264
|
+
reason: m.optional(m.string({ description: "Why the model is unavailable." }))
|
|
265
|
+
})
|
|
266
|
+
}), FeedbackModel = defineModel("oddkin.ai.feedback", {
|
|
267
|
+
version: 1,
|
|
268
|
+
schema: m.object({
|
|
269
|
+
messageId: m.id(),
|
|
270
|
+
rating: m.optional(m.enum(["positive", "negative"])),
|
|
271
|
+
reasons: m.optional(m.array(m.string())),
|
|
272
|
+
comment: m.optional(m.string()),
|
|
273
|
+
status: m.enum(["idle", "pending", "submitted", "failed"]),
|
|
274
|
+
error: m.optional(publicErrorSchema)
|
|
275
|
+
})
|
|
276
|
+
}), SuggestionModel = defineModel("oddkin.ai.suggestion", {
|
|
277
|
+
version: 1,
|
|
278
|
+
schema: m.object({
|
|
279
|
+
id: m.id(),
|
|
280
|
+
label: m.label(),
|
|
281
|
+
prompt: m.string({ description: "Text inserted or submitted." })
|
|
282
|
+
})
|
|
283
|
+
}), TranscriptSegmentModel = defineModel("oddkin.ai.transcript-segment", {
|
|
284
|
+
version: 1,
|
|
285
|
+
schema: m.object({
|
|
286
|
+
id: m.id(),
|
|
287
|
+
text: m.string(),
|
|
288
|
+
final: m.boolean("Interim text may still change."),
|
|
289
|
+
speaker: m.optional(m.string())
|
|
290
|
+
})
|
|
291
|
+
}), ConversationSnapshotModel = defineModel("oddkin.ai.conversation", {
|
|
292
|
+
version: 1,
|
|
293
|
+
description: "A persisted conversation as supplied by the host (untrusted until validated).",
|
|
294
|
+
schema: m.object({
|
|
295
|
+
conversationId: m.id(),
|
|
296
|
+
messages: m.array(MessageModel.schema),
|
|
297
|
+
activeLeafId: m.optional(m.id()),
|
|
298
|
+
tools: m.optional(m.array(ToolCallModel.schema)),
|
|
299
|
+
approvals: m.optional(m.array(ApprovalModel.schema)),
|
|
300
|
+
artifacts: m.optional(m.array(ArtifactModel.schema)),
|
|
301
|
+
hasMoreHistory: m.optional(m.boolean())
|
|
302
|
+
})
|
|
303
|
+
});
|
|
304
|
+
export {
|
|
305
|
+
ApprovalModel,
|
|
306
|
+
ArtifactModel,
|
|
307
|
+
CheckpointModel,
|
|
308
|
+
ContextItemModel,
|
|
309
|
+
ConversationSnapshotModel,
|
|
310
|
+
FeedbackModel,
|
|
311
|
+
MessageModel,
|
|
312
|
+
ModelOptionModel,
|
|
313
|
+
PlanModel,
|
|
314
|
+
QuestionModel,
|
|
315
|
+
SuggestionModel,
|
|
316
|
+
ToolCallModel,
|
|
317
|
+
TranscriptSegmentModel,
|
|
318
|
+
UsageModel,
|
|
319
|
+
approvalStatusValues,
|
|
320
|
+
capabilitiesSchema,
|
|
321
|
+
partSchema,
|
|
322
|
+
provenanceSchema,
|
|
323
|
+
publicErrorSchema,
|
|
324
|
+
usageEntrySchema
|
|
325
|
+
};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { ApprovalModel, ArtifactModel, ConversationSnapshotModel, MessageModel, ToolCallModel, partSchema } from "./models.js";
|
|
2
|
+
function pickDeclared(node, value) {
|
|
3
|
+
switch (node.kind) {
|
|
4
|
+
case "optional":
|
|
5
|
+
return value === void 0 ? void 0 : pickDeclared(node.inner, value);
|
|
6
|
+
case "array":
|
|
7
|
+
return value.map((item) => pickDeclared(node.items, item));
|
|
8
|
+
case "object":
|
|
9
|
+
return pickShape(node.shape, value);
|
|
10
|
+
case "union": {
|
|
11
|
+
const record = value, tag = record[node.discriminator], variant = node.variants[tag];
|
|
12
|
+
return variant ? { [node.discriminator]: tag, ...pickShape(variant.shape, record) } : void 0;
|
|
13
|
+
}
|
|
14
|
+
case "recursive":
|
|
15
|
+
return pickDeclared(node.inner, value);
|
|
16
|
+
default:
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function pickShape(shape, value) {
|
|
21
|
+
const out = {};
|
|
22
|
+
for (const [key, child] of Object.entries(shape))
|
|
23
|
+
value[key] !== void 0 && (out[key] = pickDeclared(child, value[key]));
|
|
24
|
+
return out;
|
|
25
|
+
}
|
|
26
|
+
const PART_TYPES = new Set(Object.keys(partSchema.variants));
|
|
27
|
+
function toDiagnostics(items, prefix = "", strip = "") {
|
|
28
|
+
return items.map((d) => ({
|
|
29
|
+
code: d.code,
|
|
30
|
+
path: `${prefix}${strip && d.path.startsWith(strip) ? d.path.slice(strip.length) : d.path}`,
|
|
31
|
+
message: d.message
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
let fallbackIds = 0;
|
|
35
|
+
function normalizePart(raw, path = "") {
|
|
36
|
+
const record = typeof raw == "object" && raw !== null ? raw : {}, type = typeof record.type == "string" ? record.type : "unknown", id = typeof record.id == "string" && record.id ? record.id : `unsupported-${++fallbackIds}`;
|
|
37
|
+
if (!PART_TYPES.has(type) || type === "unsupported")
|
|
38
|
+
return {
|
|
39
|
+
part: { type: "unsupported", id, originalType: type },
|
|
40
|
+
diagnostics: [
|
|
41
|
+
{ code: "ai.part.unsupported", path, message: `Part type "${type}" is not supported.` }
|
|
42
|
+
]
|
|
43
|
+
};
|
|
44
|
+
const variant = partSchema.variants[type], check = MessageModel.validate({ id: "x", role: "assistant", parts: [record] }), errors = check.diagnostics.filter((d) => d.severity === "error");
|
|
45
|
+
if (errors.length)
|
|
46
|
+
return {
|
|
47
|
+
part: { type: "unsupported", id, originalType: type },
|
|
48
|
+
diagnostics: [
|
|
49
|
+
{
|
|
50
|
+
code: "ai.part.invalid",
|
|
51
|
+
path,
|
|
52
|
+
message: `Part "${type}" is invalid and is not rendered.`
|
|
53
|
+
},
|
|
54
|
+
...toDiagnostics(errors, path, "/parts/0")
|
|
55
|
+
]
|
|
56
|
+
};
|
|
57
|
+
const unknown = check.diagnostics.filter((d) => d.severity !== "error");
|
|
58
|
+
return {
|
|
59
|
+
part: { type, ...pickDeclared(variant, record) },
|
|
60
|
+
diagnostics: toDiagnostics(unknown, path, "/parts/0")
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function normalizeMessage(raw, path = "") {
|
|
64
|
+
const record = typeof raw == "object" && raw !== null ? raw : {}, diagnostics = [], parts = Array.isArray(record.parts) ? record.parts.map((part, i) => {
|
|
65
|
+
const result2 = normalizePart(part, `${path}/parts/${i}`);
|
|
66
|
+
return diagnostics.push(...result2.diagnostics), result2.part;
|
|
67
|
+
}) : record.parts, candidate = { ...record, parts }, result = MessageModel.validate(candidate), errors = result.diagnostics.filter((d) => d.severity === "error");
|
|
68
|
+
return diagnostics.push(...toDiagnostics(result.diagnostics.filter((d) => !d.path.includes("/parts/")), path)), errors.length ? { ok: !1, value: void 0, diagnostics } : {
|
|
69
|
+
ok: !0,
|
|
70
|
+
value: pickDeclared(MessageModel.schema, candidate),
|
|
71
|
+
diagnostics
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function normalizeRecord(model, raw, path = "") {
|
|
75
|
+
const result = model.validate(raw), diagnostics = toDiagnostics(result.diagnostics, path);
|
|
76
|
+
return result.ok ? { ok: !0, value: pickDeclared(model.schema, raw), diagnostics } : { ok: !1, value: void 0, diagnostics };
|
|
77
|
+
}
|
|
78
|
+
const normalizeToolCall = (raw, path = "") => normalizeRecord(ToolCallModel, raw, path), normalizeApproval = (raw, path = "") => normalizeRecord(ApprovalModel, raw, path), normalizeArtifact = (raw, path = "") => normalizeRecord(ArtifactModel, raw, path);
|
|
79
|
+
function normalizeSnapshot(raw) {
|
|
80
|
+
const record = typeof raw == "object" && raw !== null ? raw : {}, diagnostics = [];
|
|
81
|
+
let failed = !1;
|
|
82
|
+
const messages = Array.isArray(record.messages) ? record.messages.map((message, i) => {
|
|
83
|
+
const result2 = normalizeMessage(message, `/messages/${i}`);
|
|
84
|
+
return diagnostics.push(...result2.diagnostics), result2.ok || (failed = !0), result2.value ?? message;
|
|
85
|
+
}) : record.messages, candidate = { ...record, messages }, result = ConversationSnapshotModel.validate(candidate);
|
|
86
|
+
return diagnostics.push(...toDiagnostics(result.diagnostics.filter((d) => !d.path.startsWith("/messages/")))), failed || result.diagnostics.some((d) => d.severity === "error") ? { ok: !1, value: void 0, diagnostics } : {
|
|
87
|
+
ok: !0,
|
|
88
|
+
value: pickDeclared(ConversationSnapshotModel.schema, candidate),
|
|
89
|
+
diagnostics
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const CAPABILITY_NAMES = [
|
|
93
|
+
"send",
|
|
94
|
+
"stop",
|
|
95
|
+
"disconnect",
|
|
96
|
+
"reconnect",
|
|
97
|
+
"resume",
|
|
98
|
+
"retry",
|
|
99
|
+
"edit",
|
|
100
|
+
"regenerate",
|
|
101
|
+
"switchBranch",
|
|
102
|
+
"respondToApproval",
|
|
103
|
+
"editApproval",
|
|
104
|
+
"restoreCheckpoint",
|
|
105
|
+
"voice",
|
|
106
|
+
"attachments",
|
|
107
|
+
"history",
|
|
108
|
+
"feedback"
|
|
109
|
+
];
|
|
110
|
+
function can(capabilities, name) {
|
|
111
|
+
return capabilities?.[name]?.available === !0;
|
|
112
|
+
}
|
|
113
|
+
function unavailableReason(capabilities, name) {
|
|
114
|
+
const entry = capabilities?.[name];
|
|
115
|
+
return entry?.available ? void 0 : entry?.reason;
|
|
116
|
+
}
|
|
117
|
+
function intersectCapabilities(supported, granted) {
|
|
118
|
+
const out = {};
|
|
119
|
+
for (const name of CAPABILITY_NAMES) {
|
|
120
|
+
const s = supported[name], g = granted[name];
|
|
121
|
+
if (!s && !g)
|
|
122
|
+
continue;
|
|
123
|
+
const available = !!s?.available && (g ? g.available : !0), reason = s?.available ? g && !g.available ? g.reason : void 0 : s?.reason;
|
|
124
|
+
out[name] = reason === void 0 ? { available } : { available, reason };
|
|
125
|
+
}
|
|
126
|
+
return out;
|
|
127
|
+
}
|
|
128
|
+
function toPublicError(error, fallback) {
|
|
129
|
+
if (typeof error == "object" && error !== null) {
|
|
130
|
+
const record = error;
|
|
131
|
+
if (typeof record.code == "string" && typeof record.message == "string") {
|
|
132
|
+
const retryable = record.retryable;
|
|
133
|
+
return typeof retryable == "boolean" ? { code: record.code, message: record.message, retryable } : { code: record.code, message: record.message };
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return fallback;
|
|
137
|
+
}
|
|
138
|
+
export {
|
|
139
|
+
CAPABILITY_NAMES,
|
|
140
|
+
can,
|
|
141
|
+
intersectCapabilities,
|
|
142
|
+
normalizeApproval,
|
|
143
|
+
normalizeArtifact,
|
|
144
|
+
normalizeMessage,
|
|
145
|
+
normalizePart,
|
|
146
|
+
normalizeSnapshot,
|
|
147
|
+
normalizeToolCall,
|
|
148
|
+
pickDeclared,
|
|
149
|
+
toPublicError,
|
|
150
|
+
unavailableReason
|
|
151
|
+
};
|
|
File without changes
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { format } from "@oddkin/core/i18n";
|
|
2
|
+
const DEFAULT_ANNOUNCEMENTS = {
|
|
3
|
+
sent: "Message sent.",
|
|
4
|
+
responding: "Assistant is responding.",
|
|
5
|
+
completed: "Response complete.",
|
|
6
|
+
stopped: "Response stopped.",
|
|
7
|
+
stopping: "Stopping\u2026",
|
|
8
|
+
stopTooLate: "The response finished before it could be stopped.",
|
|
9
|
+
stopUnknown: "Stop could not be confirmed. The response may still be running.",
|
|
10
|
+
failed: "Response failed: {message}",
|
|
11
|
+
interrupted: "Connection lost. The response may be incomplete.",
|
|
12
|
+
disconnected: "Disconnected from the response.",
|
|
13
|
+
awaitingInput: "The assistant is waiting for your input.",
|
|
14
|
+
approvalRequested: "Approval needed: {title}",
|
|
15
|
+
approvalApproved: "Approved: {title}",
|
|
16
|
+
approvalRejected: "Rejected: {title}",
|
|
17
|
+
approvalExpired: "Approval expired: {title}",
|
|
18
|
+
approvalSuperseded: "The proposal changed: {title}. Review it again.",
|
|
19
|
+
toolFailed: "{tool} failed.",
|
|
20
|
+
historyLoaded: "Earlier messages loaded."
|
|
21
|
+
};
|
|
22
|
+
function describeConversationChange(previous, next, level, strings = DEFAULT_ANNOUNCEMENTS) {
|
|
23
|
+
if (!previous || level === "none" || previous.conversationId !== next.conversationId)
|
|
24
|
+
return [];
|
|
25
|
+
const out = [];
|
|
26
|
+
for (const attempt of Object.values(next.attempts)) {
|
|
27
|
+
const before = previous.attempts[attempt.attemptId], key = (what) => `attempt:${attempt.attemptId}:${what}`;
|
|
28
|
+
if (!before) {
|
|
29
|
+
attempt.relation === "new" && out.push({ text: strings.sent, priority: "polite", key: key("sent"), level: "important" });
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (before.status !== attempt.status)
|
|
33
|
+
switch (attempt.status) {
|
|
34
|
+
case "streaming":
|
|
35
|
+
before.status !== "awaiting-input" && before.status !== "interrupted" && out.push({
|
|
36
|
+
text: strings.responding,
|
|
37
|
+
priority: "polite",
|
|
38
|
+
key: key("streaming"),
|
|
39
|
+
level: "all"
|
|
40
|
+
});
|
|
41
|
+
break;
|
|
42
|
+
case "completed":
|
|
43
|
+
out.push({
|
|
44
|
+
text: strings.completed,
|
|
45
|
+
priority: "polite",
|
|
46
|
+
key: key("completed"),
|
|
47
|
+
level: "important"
|
|
48
|
+
});
|
|
49
|
+
break;
|
|
50
|
+
case "cancelled":
|
|
51
|
+
out.push({
|
|
52
|
+
text: strings.stopped,
|
|
53
|
+
priority: "polite",
|
|
54
|
+
key: key("cancelled"),
|
|
55
|
+
level: "important"
|
|
56
|
+
});
|
|
57
|
+
break;
|
|
58
|
+
case "failed":
|
|
59
|
+
out.push({
|
|
60
|
+
text: format(strings.failed, { message: attempt.error?.message ?? "" }),
|
|
61
|
+
priority: "assertive",
|
|
62
|
+
key: key("failed"),
|
|
63
|
+
level: "important"
|
|
64
|
+
});
|
|
65
|
+
break;
|
|
66
|
+
case "interrupted":
|
|
67
|
+
out.push({
|
|
68
|
+
text: strings.interrupted,
|
|
69
|
+
priority: "polite",
|
|
70
|
+
key: key("interrupted"),
|
|
71
|
+
level: "important"
|
|
72
|
+
});
|
|
73
|
+
break;
|
|
74
|
+
case "awaiting-input":
|
|
75
|
+
out.push({
|
|
76
|
+
text: strings.awaitingInput,
|
|
77
|
+
priority: "polite",
|
|
78
|
+
key: key("awaiting"),
|
|
79
|
+
level: "important"
|
|
80
|
+
});
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
if (before.stop !== attempt.stop) {
|
|
84
|
+
const stop = attempt.stop;
|
|
85
|
+
stop === "requested" && out.push({
|
|
86
|
+
text: strings.stopping,
|
|
87
|
+
priority: "polite",
|
|
88
|
+
key: key("stopping"),
|
|
89
|
+
level: "all"
|
|
90
|
+
}), stop === "too-late" && out.push({
|
|
91
|
+
text: strings.stopTooLate,
|
|
92
|
+
priority: "polite",
|
|
93
|
+
key: key("too-late"),
|
|
94
|
+
level: "important"
|
|
95
|
+
}), (stop === "unknown" || stop === "failed") && out.push({
|
|
96
|
+
text: strings.stopUnknown,
|
|
97
|
+
priority: "polite",
|
|
98
|
+
key: key("stop-unknown"),
|
|
99
|
+
level: "important"
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
before.connection !== attempt.connection && attempt.connection === "disconnected" && out.push({
|
|
103
|
+
text: strings.disconnected,
|
|
104
|
+
priority: "polite",
|
|
105
|
+
key: key("disconnected"),
|
|
106
|
+
level: "important"
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
for (const approval of Object.values(next.approvals)) {
|
|
110
|
+
const before = previous.approvals[approval.approvalId];
|
|
111
|
+
if (before && before.revision === approval.revision && before.status === approval.status)
|
|
112
|
+
continue;
|
|
113
|
+
const key = `approval:${approval.approvalId}:${approval.revision}:${approval.status}`, title = approval.title, text = approval.status === "requested" ? format(before && before.revision !== approval.revision ? strings.approvalSuperseded : strings.approvalRequested, { title }) : approval.status === "approved" ? format(strings.approvalApproved, { title }) : approval.status === "rejected" ? format(strings.approvalRejected, { title }) : approval.status === "expired" ? format(strings.approvalExpired, { title }) : void 0;
|
|
114
|
+
text && out.push({ text, priority: "polite", key, level: "important" });
|
|
115
|
+
}
|
|
116
|
+
for (const tool of Object.values(next.tools)) {
|
|
117
|
+
const before = previous.tools[tool.toolCallId];
|
|
118
|
+
before && before.status !== tool.status && tool.status === "output-error" && out.push({
|
|
119
|
+
text: format(strings.toolFailed, { tool: tool.title ?? tool.toolName }),
|
|
120
|
+
priority: "polite",
|
|
121
|
+
key: `tool:${tool.toolCallId}:error`,
|
|
122
|
+
level: "all"
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
return previous.history === "loading" && next.history !== "loading" && next.history !== "error" && out.push({
|
|
126
|
+
text: strings.historyLoaded,
|
|
127
|
+
priority: "polite",
|
|
128
|
+
key: `history:${next.revision}`,
|
|
129
|
+
level: "all"
|
|
130
|
+
}), out.filter((entry) => level === "all" || entry.level === "important").map(({ text, priority, key }) => ({ text, priority, key }));
|
|
131
|
+
}
|
|
132
|
+
export {
|
|
133
|
+
DEFAULT_ANNOUNCEMENTS,
|
|
134
|
+
describeConversationChange,
|
|
135
|
+
format
|
|
136
|
+
};
|