@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,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parser for Oddkin's streaming Markdown dialect: a CommonMark-inspired subset plus GFM tables
|
|
3
|
+
* and strikethrough, footnote-style citation markers (`[^source-id]`), and literal raw HTML (as
|
|
4
|
+
* text unless a sanitizer is configured). Produces a small AST; never produces HTML strings.
|
|
5
|
+
* Incremental use: `splitBlocks` cuts the source into top-level blocks whose source text is
|
|
6
|
+
* stable once followed by more content, so renderers reuse committed DOM. Presentation repairs
|
|
7
|
+
* for incomplete streaming syntax (`repair: true`) change only the AST, never the source.
|
|
8
|
+
* DOM-free. Dialect: docs/architecture/ai-interaction.md §9.1.
|
|
9
|
+
*/
|
|
10
|
+
export type Inline = {
|
|
11
|
+
readonly type: 'text';
|
|
12
|
+
readonly text: string;
|
|
13
|
+
} | {
|
|
14
|
+
readonly type: 'code';
|
|
15
|
+
readonly text: string;
|
|
16
|
+
} | {
|
|
17
|
+
readonly type: 'em' | 'strong' | 'del';
|
|
18
|
+
readonly children: readonly Inline[];
|
|
19
|
+
} | {
|
|
20
|
+
readonly type: 'link';
|
|
21
|
+
readonly href: string;
|
|
22
|
+
readonly title?: string | undefined;
|
|
23
|
+
readonly children: readonly Inline[];
|
|
24
|
+
} | {
|
|
25
|
+
readonly type: 'image';
|
|
26
|
+
readonly src: string;
|
|
27
|
+
readonly alt: string;
|
|
28
|
+
} | {
|
|
29
|
+
readonly type: 'citation';
|
|
30
|
+
readonly id: string;
|
|
31
|
+
} | {
|
|
32
|
+
readonly type: 'break';
|
|
33
|
+
};
|
|
34
|
+
export type Align = 'left' | 'center' | 'right' | null;
|
|
35
|
+
export type Block = {
|
|
36
|
+
readonly type: 'heading';
|
|
37
|
+
readonly level: 1 | 2 | 3 | 4 | 5 | 6;
|
|
38
|
+
readonly children: readonly Inline[];
|
|
39
|
+
} | {
|
|
40
|
+
readonly type: 'paragraph';
|
|
41
|
+
readonly children: readonly Inline[];
|
|
42
|
+
} | {
|
|
43
|
+
readonly type: 'code';
|
|
44
|
+
readonly lang: string;
|
|
45
|
+
readonly text: string;
|
|
46
|
+
readonly open: boolean;
|
|
47
|
+
} | {
|
|
48
|
+
readonly type: 'quote';
|
|
49
|
+
readonly children: readonly Block[];
|
|
50
|
+
} | {
|
|
51
|
+
readonly type: 'list';
|
|
52
|
+
readonly ordered: boolean;
|
|
53
|
+
readonly start: number;
|
|
54
|
+
readonly items: readonly (readonly Block[])[];
|
|
55
|
+
} | {
|
|
56
|
+
readonly type: 'table';
|
|
57
|
+
readonly align: readonly Align[];
|
|
58
|
+
readonly head: readonly (readonly Inline[])[];
|
|
59
|
+
readonly rows: readonly (readonly (readonly Inline[])[])[];
|
|
60
|
+
} | {
|
|
61
|
+
readonly type: 'rule';
|
|
62
|
+
} | {
|
|
63
|
+
readonly type: 'html';
|
|
64
|
+
readonly raw: string;
|
|
65
|
+
};
|
|
66
|
+
export interface ParseOptions {
|
|
67
|
+
/** Hide dangling delimiters and incomplete link syntax at the end (streaming display only). */
|
|
68
|
+
readonly repair?: boolean;
|
|
69
|
+
}
|
|
70
|
+
/** Top-level block source slices. Every slice but the last is final once more text arrives. */
|
|
71
|
+
export declare function splitBlocks(source: string): string[];
|
|
72
|
+
/** Parse a whole document (or one block slice). */
|
|
73
|
+
export declare function parseBlocks(source: string, options?: ParseOptions): Block[];
|
|
74
|
+
export declare function parseInline(text: string, options?: ParseOptions): Inline[];
|
|
75
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/markdown/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,525 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parser for Oddkin's streaming Markdown dialect: a CommonMark-inspired subset plus GFM tables
|
|
3
|
+
* and strikethrough, footnote-style citation markers (`[^source-id]`), and literal raw HTML (as
|
|
4
|
+
* text unless a sanitizer is configured). Produces a small AST; never produces HTML strings.
|
|
5
|
+
* Incremental use: `splitBlocks` cuts the source into top-level blocks whose source text is
|
|
6
|
+
* stable once followed by more content, so renderers reuse committed DOM. Presentation repairs
|
|
7
|
+
* for incomplete streaming syntax (`repair: true`) change only the AST, never the source.
|
|
8
|
+
* DOM-free. Dialect: docs/architecture/ai-interaction.md §9.1.
|
|
9
|
+
*/
|
|
10
|
+
const FENCE = /^ {0,3}(`{3,}|~{3,})(.*)$/;
|
|
11
|
+
const HEADING = /^ {0,3}(#{1,6})(?:[ \t]+(.*?))?(?:[ \t]+#+)?[ \t]*$/;
|
|
12
|
+
const RULE = /^ {0,3}([-*_])(?:[ \t]*\1){2,}[ \t]*$/;
|
|
13
|
+
const BULLET = /^( {0,3})([-*+])([ \t]+|$)(.*)$/;
|
|
14
|
+
const ORDERED = /^( {0,3})(\d{1,9})([.)])([ \t]+|$)(.*)$/;
|
|
15
|
+
const QUOTE = /^ {0,3}> ?(.*)$/;
|
|
16
|
+
const TABLE_DELIMITER = /^ *\|? *:?-+:? *(?:\| *:?-+:? *)*\|? *$/;
|
|
17
|
+
const HTML_BLOCK = /^ {0,3}<(?:[a-zA-Z][\w-]*|\/[a-zA-Z][\w-]*|!--)/;
|
|
18
|
+
const isBlank = (line) => /^[ \t]*$/.test(line);
|
|
19
|
+
/** Top-level block source slices. Every slice but the last is final once more text arrives. */
|
|
20
|
+
export function splitBlocks(source) {
|
|
21
|
+
const lines = source.split(/\r\n|\r|\n/);
|
|
22
|
+
const blocks = [];
|
|
23
|
+
let current = [];
|
|
24
|
+
let fence;
|
|
25
|
+
let kind;
|
|
26
|
+
const flush = () => {
|
|
27
|
+
if (current.length)
|
|
28
|
+
blocks.push(current.join('\n'));
|
|
29
|
+
current = [];
|
|
30
|
+
kind = undefined;
|
|
31
|
+
};
|
|
32
|
+
for (let i = 0; i < lines.length; i++) {
|
|
33
|
+
const line = lines[i];
|
|
34
|
+
if (fence) {
|
|
35
|
+
current.push(line);
|
|
36
|
+
const close = /^ {0,3}(`{3,}|~{3,})[ \t]*$/.exec(line);
|
|
37
|
+
if (close && close[1]?.[0] === fence[0] && (close[1]?.length ?? 0) >= fence.length) {
|
|
38
|
+
fence = undefined;
|
|
39
|
+
flush();
|
|
40
|
+
}
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
const open = FENCE.exec(line);
|
|
44
|
+
if (open && !(open[1]?.startsWith('`') && open[2]?.includes('`'))) {
|
|
45
|
+
flush();
|
|
46
|
+
fence = open[1];
|
|
47
|
+
current.push(line);
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (isBlank(line)) {
|
|
51
|
+
// A blank line inside a list continues it when the next content is still part of the same
|
|
52
|
+
// list (same marker type, or indented continuation).
|
|
53
|
+
const next = lines.slice(i + 1).find((l) => !isBlank(l));
|
|
54
|
+
const continues = next !== undefined &&
|
|
55
|
+
((kind === 'bullet' && BULLET.test(next)) ||
|
|
56
|
+
(kind === 'ordered' && ORDERED.test(next)) ||
|
|
57
|
+
((kind === 'bullet' || kind === 'ordered') && /^ {2,}\S/.test(next)));
|
|
58
|
+
if (continues) {
|
|
59
|
+
current.push(line);
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
flush();
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (!current.length)
|
|
66
|
+
kind = BULLET.test(line) ? 'bullet' : ORDERED.test(line) ? 'ordered' : 'other';
|
|
67
|
+
else if (HEADING.test(line) || RULE.test(line)) {
|
|
68
|
+
flush();
|
|
69
|
+
blocks.push(line);
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (!current.length && (HEADING.test(line) || RULE.test(line))) {
|
|
73
|
+
blocks.push(line);
|
|
74
|
+
kind = undefined;
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
current.push(line);
|
|
78
|
+
}
|
|
79
|
+
flush();
|
|
80
|
+
return blocks;
|
|
81
|
+
}
|
|
82
|
+
/** Parse a whole document (or one block slice). */
|
|
83
|
+
export function parseBlocks(source, options = {}) {
|
|
84
|
+
return parseLines(source.split(/\r\n|\r|\n/), options);
|
|
85
|
+
}
|
|
86
|
+
function parseLines(lines, options) {
|
|
87
|
+
const blocks = [];
|
|
88
|
+
let i = 0;
|
|
89
|
+
while (i < lines.length) {
|
|
90
|
+
const line = lines[i];
|
|
91
|
+
if (isBlank(line)) {
|
|
92
|
+
i++;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const fence = FENCE.exec(line);
|
|
96
|
+
if (fence && !(fence[1]?.startsWith('`') && fence[2]?.includes('`'))) {
|
|
97
|
+
const marker = fence[1];
|
|
98
|
+
const lang = (fence[2] ?? '').trim().split(/\s+/)[0] ?? '';
|
|
99
|
+
const body = [];
|
|
100
|
+
let open = true;
|
|
101
|
+
i++;
|
|
102
|
+
while (i < lines.length) {
|
|
103
|
+
const close = /^ {0,3}(`{3,}|~{3,})[ \t]*$/.exec(lines[i]);
|
|
104
|
+
if (close && close[1]?.[0] === marker[0] && (close[1]?.length ?? 0) >= marker.length) {
|
|
105
|
+
open = false;
|
|
106
|
+
i++;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
body.push(lines[i]);
|
|
110
|
+
i++;
|
|
111
|
+
}
|
|
112
|
+
blocks.push({ type: 'code', lang, text: body.join('\n'), open });
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
const heading = HEADING.exec(line);
|
|
116
|
+
if (heading) {
|
|
117
|
+
blocks.push({
|
|
118
|
+
type: 'heading',
|
|
119
|
+
level: (heading[1]?.length ?? 1),
|
|
120
|
+
children: parseInline(heading[2] ?? '', options),
|
|
121
|
+
});
|
|
122
|
+
i++;
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
if (RULE.test(line)) {
|
|
126
|
+
blocks.push({ type: 'rule' });
|
|
127
|
+
i++;
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
if (QUOTE.test(line)) {
|
|
131
|
+
const inner = [];
|
|
132
|
+
while (i < lines.length && !isBlank(lines[i])) {
|
|
133
|
+
const match = QUOTE.exec(lines[i]);
|
|
134
|
+
inner.push(match ? (match[1] ?? '') : lines[i]);
|
|
135
|
+
i++;
|
|
136
|
+
}
|
|
137
|
+
blocks.push({ type: 'quote', children: parseLines(inner, options) });
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
if (BULLET.test(line) || ORDERED.test(line)) {
|
|
141
|
+
const [list, next] = parseList(lines, i, options);
|
|
142
|
+
blocks.push(list);
|
|
143
|
+
i = next;
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
if (line.includes('|') &&
|
|
147
|
+
i + 1 < lines.length &&
|
|
148
|
+
TABLE_DELIMITER.test(lines[i + 1]) &&
|
|
149
|
+
lines[i + 1].includes('-')) {
|
|
150
|
+
const head = cells(line);
|
|
151
|
+
const align = cells(lines[i + 1]).map((c) => {
|
|
152
|
+
const left = c.startsWith(':');
|
|
153
|
+
const right = c.endsWith(':');
|
|
154
|
+
return left && right ? 'center' : right ? 'right' : left ? 'left' : null;
|
|
155
|
+
});
|
|
156
|
+
const rows = [];
|
|
157
|
+
i += 2;
|
|
158
|
+
while (i < lines.length &&
|
|
159
|
+
!isBlank(lines[i]) &&
|
|
160
|
+
lines[i].includes('|')) {
|
|
161
|
+
rows.push(cells(lines[i])
|
|
162
|
+
.slice(0, head.length)
|
|
163
|
+
.map((c) => parseInline(c, options)));
|
|
164
|
+
i++;
|
|
165
|
+
}
|
|
166
|
+
blocks.push({ type: 'table', align, head: head.map((c) => parseInline(c, options)), rows });
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
if (HTML_BLOCK.test(line)) {
|
|
170
|
+
const raw = [];
|
|
171
|
+
while (i < lines.length && !isBlank(lines[i]))
|
|
172
|
+
raw.push(lines[i++]);
|
|
173
|
+
blocks.push({ type: 'html', raw: raw.join('\n') });
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
const paragraph = [];
|
|
177
|
+
while (i < lines.length) {
|
|
178
|
+
const l = lines[i];
|
|
179
|
+
if (isBlank(l) ||
|
|
180
|
+
HEADING.test(l) ||
|
|
181
|
+
RULE.test(l) ||
|
|
182
|
+
QUOTE.test(l) ||
|
|
183
|
+
FENCE.test(l) ||
|
|
184
|
+
(paragraph.length && (BULLET.test(l) || ORDERED.test(l))))
|
|
185
|
+
break;
|
|
186
|
+
paragraph.push(l);
|
|
187
|
+
i++;
|
|
188
|
+
}
|
|
189
|
+
blocks.push({ type: 'paragraph', children: parseInline(paragraph.join('\n'), options) });
|
|
190
|
+
}
|
|
191
|
+
return blocks;
|
|
192
|
+
}
|
|
193
|
+
function cells(row) {
|
|
194
|
+
let text = row.trim();
|
|
195
|
+
if (text.startsWith('|'))
|
|
196
|
+
text = text.slice(1);
|
|
197
|
+
if (text.endsWith('|') && !text.endsWith('\\|'))
|
|
198
|
+
text = text.slice(0, -1);
|
|
199
|
+
const out = [];
|
|
200
|
+
let cell = '';
|
|
201
|
+
for (let k = 0; k < text.length; k++) {
|
|
202
|
+
const ch = text[k];
|
|
203
|
+
if (ch === '\\' && text[k + 1] === '|') {
|
|
204
|
+
cell += '|';
|
|
205
|
+
k++;
|
|
206
|
+
}
|
|
207
|
+
else if (ch === '|') {
|
|
208
|
+
out.push(cell.trim());
|
|
209
|
+
cell = '';
|
|
210
|
+
}
|
|
211
|
+
else
|
|
212
|
+
cell += ch;
|
|
213
|
+
}
|
|
214
|
+
out.push(cell.trim());
|
|
215
|
+
return out;
|
|
216
|
+
}
|
|
217
|
+
function parseList(lines, start, options) {
|
|
218
|
+
const first = lines[start];
|
|
219
|
+
const ordered = ORDERED.test(first);
|
|
220
|
+
const firstMatch = ordered ? ORDERED.exec(first) : BULLET.exec(first);
|
|
221
|
+
const indent = (firstMatch?.[1] ?? '').length;
|
|
222
|
+
const startNumber = ordered ? Number(firstMatch?.[2] ?? 1) : 1;
|
|
223
|
+
const items = [];
|
|
224
|
+
let current;
|
|
225
|
+
let contentIndent = 0;
|
|
226
|
+
let i = start;
|
|
227
|
+
for (; i < lines.length; i++) {
|
|
228
|
+
const line = lines[i];
|
|
229
|
+
const match = ordered ? ORDERED.exec(line) : BULLET.exec(line);
|
|
230
|
+
if (match && (match[1] ?? '').length === indent) {
|
|
231
|
+
if (current)
|
|
232
|
+
items.push(parseLines(current, options));
|
|
233
|
+
const marker = ordered ? `${match[2]}${match[3]}` : match[2];
|
|
234
|
+
const gap = ordered ? match[4] : match[3];
|
|
235
|
+
contentIndent = indent + marker.length + Math.max(1, (gap ?? ' ').length);
|
|
236
|
+
current = [(ordered ? match[5] : match[4]) ?? ''];
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
if (isBlank(line)) {
|
|
240
|
+
const next = lines.slice(i + 1).find((l) => !isBlank(l));
|
|
241
|
+
if (next === undefined)
|
|
242
|
+
break;
|
|
243
|
+
const nextMatch = ordered ? ORDERED.exec(next) : BULLET.exec(next);
|
|
244
|
+
const continues = (nextMatch && (nextMatch[1] ?? '').length === indent) ||
|
|
245
|
+
next.search(/\S/) >= Math.min(contentIndent, indent + 2);
|
|
246
|
+
if (!continues)
|
|
247
|
+
break;
|
|
248
|
+
current?.push('');
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
const lead = line.search(/\S/);
|
|
252
|
+
if (lead >= Math.min(contentIndent, indent + 2)) {
|
|
253
|
+
current?.push(line.slice(Math.min(lead, contentIndent)));
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
// A lazy continuation line of the last paragraph.
|
|
257
|
+
if (!BULLET.test(line) &&
|
|
258
|
+
!ORDERED.test(line) &&
|
|
259
|
+
!HEADING.test(line) &&
|
|
260
|
+
!RULE.test(line) &&
|
|
261
|
+
!FENCE.test(line) &&
|
|
262
|
+
!QUOTE.test(line)) {
|
|
263
|
+
current?.push(line);
|
|
264
|
+
continue;
|
|
265
|
+
}
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
if (current)
|
|
269
|
+
items.push(parseLines(current, options));
|
|
270
|
+
return [{ type: 'list', ordered, start: startNumber, items }, i];
|
|
271
|
+
}
|
|
272
|
+
// ---- Inline ----
|
|
273
|
+
const PUNCTUATION = /[!-/:-@[-`{-~]/;
|
|
274
|
+
const AUTOLINK = /^<([a-zA-Z][a-zA-Z0-9+.-]{1,31}:[^\s<>]*)>/;
|
|
275
|
+
const BARE_URL = /^https?:\/\/[^\s<>()]*[^\s<>().,;:!?'"*_~\]]/;
|
|
276
|
+
const CITATION = /^\[\^([A-Za-z0-9][\w.:-]*)\]/;
|
|
277
|
+
export function parseInline(text, options = {}) {
|
|
278
|
+
const out = inline(text, options, true);
|
|
279
|
+
return merge(out);
|
|
280
|
+
}
|
|
281
|
+
function merge(nodes) {
|
|
282
|
+
const out = [];
|
|
283
|
+
for (const node of nodes) {
|
|
284
|
+
const last = out[out.length - 1];
|
|
285
|
+
if (node.type === 'text' && last?.type === 'text')
|
|
286
|
+
out[out.length - 1] = { type: 'text', text: last.text + node.text };
|
|
287
|
+
else if (node.type !== 'text' || node.text)
|
|
288
|
+
out.push(node);
|
|
289
|
+
}
|
|
290
|
+
return out;
|
|
291
|
+
}
|
|
292
|
+
function inline(text, options, atEnd) {
|
|
293
|
+
const out = [];
|
|
294
|
+
let buffer = '';
|
|
295
|
+
const flushText = () => {
|
|
296
|
+
if (buffer)
|
|
297
|
+
out.push({ type: 'text', text: buffer });
|
|
298
|
+
buffer = '';
|
|
299
|
+
};
|
|
300
|
+
let i = 0;
|
|
301
|
+
while (i < text.length) {
|
|
302
|
+
const ch = text[i];
|
|
303
|
+
const rest = text.slice(i);
|
|
304
|
+
if (ch === '\\') {
|
|
305
|
+
const next = text[i + 1];
|
|
306
|
+
if (next === '\n') {
|
|
307
|
+
flushText();
|
|
308
|
+
out.push({ type: 'break' });
|
|
309
|
+
i += 2;
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
312
|
+
if (next !== undefined && PUNCTUATION.test(next)) {
|
|
313
|
+
buffer += next;
|
|
314
|
+
i += 2;
|
|
315
|
+
continue;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
if (ch === '\n') {
|
|
319
|
+
if (buffer.endsWith(' ')) {
|
|
320
|
+
buffer = buffer.replace(/ +$/, '');
|
|
321
|
+
flushText();
|
|
322
|
+
out.push({ type: 'break' });
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
buffer = buffer.replace(/ +$/, '');
|
|
326
|
+
buffer += ' ';
|
|
327
|
+
}
|
|
328
|
+
i++;
|
|
329
|
+
while (text[i] === ' ')
|
|
330
|
+
i++;
|
|
331
|
+
continue;
|
|
332
|
+
}
|
|
333
|
+
if (ch === '`') {
|
|
334
|
+
const run = /^`+/.exec(rest)?.[0];
|
|
335
|
+
const close = text.indexOf(run, i + run.length);
|
|
336
|
+
if (close !== -1 && text[close + run.length] !== '`') {
|
|
337
|
+
flushText();
|
|
338
|
+
let code = text.slice(i + run.length, close).replace(/\n/g, ' ');
|
|
339
|
+
if (code.length > 2 && code.startsWith(' ') && code.endsWith(' '))
|
|
340
|
+
code = code.slice(1, -1);
|
|
341
|
+
out.push({ type: 'code', text: code });
|
|
342
|
+
i = close + run.length;
|
|
343
|
+
continue;
|
|
344
|
+
}
|
|
345
|
+
if (options.repair && atEnd) {
|
|
346
|
+
// Unclosed code span while streaming: show its content as code without the backticks.
|
|
347
|
+
flushText();
|
|
348
|
+
out.push({ type: 'code', text: text.slice(i + run.length) });
|
|
349
|
+
i = text.length;
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
buffer += run;
|
|
353
|
+
i += run.length;
|
|
354
|
+
continue;
|
|
355
|
+
}
|
|
356
|
+
if (ch === '[') {
|
|
357
|
+
const citation = CITATION.exec(rest);
|
|
358
|
+
if (citation) {
|
|
359
|
+
flushText();
|
|
360
|
+
out.push({ type: 'citation', id: citation[1] });
|
|
361
|
+
i += citation[0].length;
|
|
362
|
+
continue;
|
|
363
|
+
}
|
|
364
|
+
const link = matchLink(text, i);
|
|
365
|
+
if (link) {
|
|
366
|
+
flushText();
|
|
367
|
+
out.push({
|
|
368
|
+
type: 'link',
|
|
369
|
+
href: link.href,
|
|
370
|
+
title: link.title,
|
|
371
|
+
children: inline(link.label, options, false),
|
|
372
|
+
});
|
|
373
|
+
i = link.end;
|
|
374
|
+
continue;
|
|
375
|
+
}
|
|
376
|
+
if (options.repair && atEnd) {
|
|
377
|
+
const partial = /^\[([^\]]*)(?:\]\(?[^)\s]*)?$/.exec(rest);
|
|
378
|
+
if (partial) {
|
|
379
|
+
// Incomplete link while streaming: show the label as text, hide the syntax.
|
|
380
|
+
buffer += partial[1] ?? '';
|
|
381
|
+
i = text.length;
|
|
382
|
+
continue;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
if (ch === '!' && text[i + 1] === '[') {
|
|
387
|
+
const link = matchLink(text, i + 1);
|
|
388
|
+
if (link) {
|
|
389
|
+
flushText();
|
|
390
|
+
out.push({ type: 'image', src: link.href, alt: link.label });
|
|
391
|
+
i = link.end;
|
|
392
|
+
continue;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
if (ch === '<') {
|
|
396
|
+
const auto = AUTOLINK.exec(rest);
|
|
397
|
+
if (auto) {
|
|
398
|
+
flushText();
|
|
399
|
+
out.push({
|
|
400
|
+
type: 'link',
|
|
401
|
+
href: auto[1],
|
|
402
|
+
children: [{ type: 'text', text: auto[1] }],
|
|
403
|
+
});
|
|
404
|
+
i += auto[0].length;
|
|
405
|
+
continue;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
if ((ch === 'h' || ch === 'H') && /[\s(]$|^$/.test(text.slice(Math.max(0, i - 1), i))) {
|
|
409
|
+
const url = BARE_URL.exec(rest);
|
|
410
|
+
if (url) {
|
|
411
|
+
flushText();
|
|
412
|
+
out.push({ type: 'link', href: url[0], children: [{ type: 'text', text: url[0] }] });
|
|
413
|
+
i += url[0].length;
|
|
414
|
+
continue;
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
if (ch === '*' || ch === '_' || ch === '~') {
|
|
418
|
+
const run = new RegExp(`^\\${ch}+`).exec(rest)?.[0];
|
|
419
|
+
const size = ch === '~' ? (run.length >= 2 ? 2 : 0) : Math.min(run.length, 2);
|
|
420
|
+
const before = text[i - 1];
|
|
421
|
+
const after = text[i + run.length];
|
|
422
|
+
const canOpen = size > 0 &&
|
|
423
|
+
after !== undefined &&
|
|
424
|
+
!/\s/.test(after) &&
|
|
425
|
+
!(ch === '_' && before !== undefined && /[\p{L}\p{N}]/u.test(before));
|
|
426
|
+
if (canOpen) {
|
|
427
|
+
const marker = ch.repeat(size);
|
|
428
|
+
const close = findClose(text, i + size, marker);
|
|
429
|
+
if (close !== -1) {
|
|
430
|
+
flushText();
|
|
431
|
+
const children = inline(text.slice(i + size, close), options, false);
|
|
432
|
+
out.push({ type: ch === '~' ? 'del' : size === 2 ? 'strong' : 'em', children });
|
|
433
|
+
i = close + size;
|
|
434
|
+
continue;
|
|
435
|
+
}
|
|
436
|
+
if (options.repair &&
|
|
437
|
+
atEnd &&
|
|
438
|
+
/^[*_~]+$/.test(run) &&
|
|
439
|
+
!text.slice(i + run.length).includes(ch)) {
|
|
440
|
+
// Dangling opener while streaming: hide the delimiter until it closes.
|
|
441
|
+
i += run.length;
|
|
442
|
+
continue;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
if (options.repair && atEnd && i + run.length === text.length) {
|
|
446
|
+
i += run.length;
|
|
447
|
+
continue;
|
|
448
|
+
}
|
|
449
|
+
buffer += run;
|
|
450
|
+
i += run.length;
|
|
451
|
+
continue;
|
|
452
|
+
}
|
|
453
|
+
buffer += ch;
|
|
454
|
+
i++;
|
|
455
|
+
}
|
|
456
|
+
flushText();
|
|
457
|
+
return out;
|
|
458
|
+
}
|
|
459
|
+
function findClose(text, from, marker) {
|
|
460
|
+
let k = from;
|
|
461
|
+
while (k < text.length) {
|
|
462
|
+
const ch = text[k];
|
|
463
|
+
if (ch === '\\') {
|
|
464
|
+
k += 2;
|
|
465
|
+
continue;
|
|
466
|
+
}
|
|
467
|
+
if (ch === '`') {
|
|
468
|
+
const run = /^`+/.exec(text.slice(k))?.[0];
|
|
469
|
+
const end = text.indexOf(run, k + run.length);
|
|
470
|
+
if (end !== -1) {
|
|
471
|
+
k = end + run.length;
|
|
472
|
+
continue;
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
if (text.startsWith(marker, k)) {
|
|
476
|
+
const before = text[k - 1];
|
|
477
|
+
const after = text[k + marker.length];
|
|
478
|
+
const runLength = (/^[*_~]+/.exec(text.slice(k))?.[0] ?? '').length;
|
|
479
|
+
if (before !== undefined &&
|
|
480
|
+
!/\s/.test(before) &&
|
|
481
|
+
k > from &&
|
|
482
|
+
!(marker[0] === '_' && after !== undefined && /[\p{L}\p{N}]/u.test(after)) &&
|
|
483
|
+
!(marker.length === 1 && runLength === 2))
|
|
484
|
+
return k;
|
|
485
|
+
k += Math.max(runLength, 1);
|
|
486
|
+
continue;
|
|
487
|
+
}
|
|
488
|
+
k++;
|
|
489
|
+
}
|
|
490
|
+
return -1;
|
|
491
|
+
}
|
|
492
|
+
function matchLink(text, start) {
|
|
493
|
+
let depth = 0;
|
|
494
|
+
let k = start;
|
|
495
|
+
for (; k < text.length; k++) {
|
|
496
|
+
const ch = text[k];
|
|
497
|
+
if (ch === '\\') {
|
|
498
|
+
k++;
|
|
499
|
+
continue;
|
|
500
|
+
}
|
|
501
|
+
if (ch === '[')
|
|
502
|
+
depth++;
|
|
503
|
+
else if (ch === ']') {
|
|
504
|
+
depth--;
|
|
505
|
+
if (depth === 0)
|
|
506
|
+
break;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
if (depth !== 0 || text[k + 1] !== '(')
|
|
510
|
+
return undefined;
|
|
511
|
+
const target = /^\(\s*(<[^>\n]*>|[^\s()]*(?:\([^\s()]*\)[^\s()]*)*)(?:\s+("[^"]*"|'[^']*'))?\s*\)/.exec(text.slice(k + 1));
|
|
512
|
+
if (!target)
|
|
513
|
+
return undefined;
|
|
514
|
+
let href = target[1] ?? '';
|
|
515
|
+
if (href.startsWith('<'))
|
|
516
|
+
href = href.slice(1, -1);
|
|
517
|
+
const title = target[2]?.slice(1, -1);
|
|
518
|
+
return {
|
|
519
|
+
label: text.slice(start + 1, k),
|
|
520
|
+
href,
|
|
521
|
+
...(title !== undefined ? { title } : {}),
|
|
522
|
+
end: k + 1 + target[0].length,
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/markdown/parse.ts"],"names":[],"mappings":"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"}
|