@project-ava-supernova/core 0.2.71
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/dist/agent/agent.d.ts +623 -0
- package/dist/agent/agent.d.ts.map +1 -0
- package/dist/agent/agent.js +3558 -0
- package/dist/agent/agent.js.map +1 -0
- package/dist/agent/claims-auditor.d.ts +54 -0
- package/dist/agent/claims-auditor.d.ts.map +1 -0
- package/dist/agent/claims-auditor.js +125 -0
- package/dist/agent/claims-auditor.js.map +1 -0
- package/dist/agent/context-continuity.d.ts +125 -0
- package/dist/agent/context-continuity.d.ts.map +1 -0
- package/dist/agent/context-continuity.js +231 -0
- package/dist/agent/context-continuity.js.map +1 -0
- package/dist/agent/conversation.d.ts +26 -0
- package/dist/agent/conversation.d.ts.map +1 -0
- package/dist/agent/conversation.js +86 -0
- package/dist/agent/conversation.js.map +1 -0
- package/dist/agent/design-reinjection.d.ts +93 -0
- package/dist/agent/design-reinjection.d.ts.map +1 -0
- package/dist/agent/design-reinjection.js +235 -0
- package/dist/agent/design-reinjection.js.map +1 -0
- package/dist/agent/error-loop-detector.d.ts +59 -0
- package/dist/agent/error-loop-detector.d.ts.map +1 -0
- package/dist/agent/error-loop-detector.js +124 -0
- package/dist/agent/error-loop-detector.js.map +1 -0
- package/dist/agent/fresh-eyes.d.ts +52 -0
- package/dist/agent/fresh-eyes.d.ts.map +1 -0
- package/dist/agent/fresh-eyes.js +118 -0
- package/dist/agent/fresh-eyes.js.map +1 -0
- package/dist/agent/intent-classifier.d.ts +51 -0
- package/dist/agent/intent-classifier.d.ts.map +1 -0
- package/dist/agent/intent-classifier.js +125 -0
- package/dist/agent/intent-classifier.js.map +1 -0
- package/dist/agent/post-edit-verify.d.ts +79 -0
- package/dist/agent/post-edit-verify.d.ts.map +1 -0
- package/dist/agent/post-edit-verify.js +143 -0
- package/dist/agent/post-edit-verify.js.map +1 -0
- package/dist/agent/recover-written-calls.d.ts +90 -0
- package/dist/agent/recover-written-calls.d.ts.map +1 -0
- package/dist/agent/recover-written-calls.js +257 -0
- package/dist/agent/recover-written-calls.js.map +1 -0
- package/dist/agent/social-craft.d.ts +76 -0
- package/dist/agent/social-craft.d.ts.map +1 -0
- package/dist/agent/social-craft.js +210 -0
- package/dist/agent/social-craft.js.map +1 -0
- package/dist/agent/stop-command.d.ts +23 -0
- package/dist/agent/stop-command.d.ts.map +1 -0
- package/dist/agent/stop-command.js +59 -0
- package/dist/agent/stop-command.js.map +1 -0
- package/dist/agent/system-prompt.d.ts +125 -0
- package/dist/agent/system-prompt.d.ts.map +1 -0
- package/dist/agent/system-prompt.js +1334 -0
- package/dist/agent/system-prompt.js.map +1 -0
- package/dist/agent/task-classifier.d.ts +50 -0
- package/dist/agent/task-classifier.d.ts.map +1 -0
- package/dist/agent/task-classifier.js +187 -0
- package/dist/agent/task-classifier.js.map +1 -0
- package/dist/agent/text-tool-parser.d.ts +34 -0
- package/dist/agent/text-tool-parser.d.ts.map +1 -0
- package/dist/agent/text-tool-parser.js +96 -0
- package/dist/agent/text-tool-parser.js.map +1 -0
- package/dist/agent/vision-bridge.d.ts +29 -0
- package/dist/agent/vision-bridge.d.ts.map +1 -0
- package/dist/agent/vision-bridge.js +143 -0
- package/dist/agent/vision-bridge.js.map +1 -0
- package/dist/audit/cost.d.ts +18 -0
- package/dist/audit/cost.d.ts.map +1 -0
- package/dist/audit/cost.js +170 -0
- package/dist/audit/cost.js.map +1 -0
- package/dist/audit/export.d.ts +30 -0
- package/dist/audit/export.d.ts.map +1 -0
- package/dist/audit/export.js +155 -0
- package/dist/audit/export.js.map +1 -0
- package/dist/audit/index.d.ts +11 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +9 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/audit/integrity.d.ts +7 -0
- package/dist/audit/integrity.d.ts.map +1 -0
- package/dist/audit/integrity.js +78 -0
- package/dist/audit/integrity.js.map +1 -0
- package/dist/audit/logger.d.ts +18 -0
- package/dist/audit/logger.d.ts.map +1 -0
- package/dist/audit/logger.js +113 -0
- package/dist/audit/logger.js.map +1 -0
- package/dist/audit/patterns.d.ts +34 -0
- package/dist/audit/patterns.d.ts.map +1 -0
- package/dist/audit/patterns.js +104 -0
- package/dist/audit/patterns.js.map +1 -0
- package/dist/audit/security.d.ts +8 -0
- package/dist/audit/security.d.ts.map +1 -0
- package/dist/audit/security.js +56 -0
- package/dist/audit/security.js.map +1 -0
- package/dist/audit/summary.d.ts +22 -0
- package/dist/audit/summary.d.ts.map +1 -0
- package/dist/audit/summary.js +51 -0
- package/dist/audit/summary.js.map +1 -0
- package/dist/audit/types.d.ts +104 -0
- package/dist/audit/types.d.ts.map +1 -0
- package/dist/audit/types.js +11 -0
- package/dist/audit/types.js.map +1 -0
- package/dist/auto/aurora-router.d.ts +71 -0
- package/dist/auto/aurora-router.d.ts.map +1 -0
- package/dist/auto/aurora-router.js +138 -0
- package/dist/auto/aurora-router.js.map +1 -0
- package/dist/auto/auto-coordinator.d.ts +232 -0
- package/dist/auto/auto-coordinator.d.ts.map +1 -0
- package/dist/auto/auto-coordinator.js +1260 -0
- package/dist/auto/auto-coordinator.js.map +1 -0
- package/dist/auto/brief-generator.d.ts +10 -0
- package/dist/auto/brief-generator.d.ts.map +1 -0
- package/dist/auto/brief-generator.js +67 -0
- package/dist/auto/brief-generator.js.map +1 -0
- package/dist/auto/changes-summary.d.ts +19 -0
- package/dist/auto/changes-summary.d.ts.map +1 -0
- package/dist/auto/changes-summary.js +45 -0
- package/dist/auto/changes-summary.js.map +1 -0
- package/dist/auto/context-tracker.d.ts +27 -0
- package/dist/auto/context-tracker.d.ts.map +1 -0
- package/dist/auto/context-tracker.js +56 -0
- package/dist/auto/context-tracker.js.map +1 -0
- package/dist/auto/coordinator-model.d.ts +31 -0
- package/dist/auto/coordinator-model.d.ts.map +1 -0
- package/dist/auto/coordinator-model.js +68 -0
- package/dist/auto/coordinator-model.js.map +1 -0
- package/dist/auto/index.d.ts +12 -0
- package/dist/auto/index.d.ts.map +1 -0
- package/dist/auto/index.js +11 -0
- package/dist/auto/index.js.map +1 -0
- package/dist/auto/intent-gate.d.ts +85 -0
- package/dist/auto/intent-gate.d.ts.map +1 -0
- package/dist/auto/intent-gate.js +247 -0
- package/dist/auto/intent-gate.js.map +1 -0
- package/dist/auto/longxiang-router.d.ts +123 -0
- package/dist/auto/longxiang-router.d.ts.map +1 -0
- package/dist/auto/longxiang-router.js +184 -0
- package/dist/auto/longxiang-router.js.map +1 -0
- package/dist/auto/model-router.d.ts +42 -0
- package/dist/auto/model-router.d.ts.map +1 -0
- package/dist/auto/model-router.js +208 -0
- package/dist/auto/model-router.js.map +1 -0
- package/dist/auto/routing-modes.d.ts +33 -0
- package/dist/auto/routing-modes.d.ts.map +1 -0
- package/dist/auto/routing-modes.js +34 -0
- package/dist/auto/routing-modes.js.map +1 -0
- package/dist/auto/supernova-router.d.ts +50 -0
- package/dist/auto/supernova-router.d.ts.map +1 -0
- package/dist/auto/supernova-router.js +116 -0
- package/dist/auto/supernova-router.js.map +1 -0
- package/dist/auto/task-classifier.d.ts +10 -0
- package/dist/auto/task-classifier.d.ts.map +1 -0
- package/dist/auto/task-classifier.js +116 -0
- package/dist/auto/task-classifier.js.map +1 -0
- package/dist/auto/task-executor.d.ts +86 -0
- package/dist/auto/task-executor.d.ts.map +1 -0
- package/dist/auto/task-executor.js +271 -0
- package/dist/auto/task-executor.js.map +1 -0
- package/dist/auto/types.d.ts +57 -0
- package/dist/auto/types.d.ts.map +1 -0
- package/dist/auto/types.js +2 -0
- package/dist/auto/types.js.map +1 -0
- package/dist/awareness/tick-engine.d.ts +73 -0
- package/dist/awareness/tick-engine.d.ts.map +1 -0
- package/dist/awareness/tick-engine.js +156 -0
- package/dist/awareness/tick-engine.js.map +1 -0
- package/dist/billing/credits.d.ts +213 -0
- package/dist/billing/credits.d.ts.map +1 -0
- package/dist/billing/credits.js +535 -0
- package/dist/billing/credits.js.map +1 -0
- package/dist/billing/meter.d.ts +43 -0
- package/dist/billing/meter.d.ts.map +1 -0
- package/dist/billing/meter.js +67 -0
- package/dist/billing/meter.js.map +1 -0
- package/dist/billing/plans.d.ts +34 -0
- package/dist/billing/plans.d.ts.map +1 -0
- package/dist/billing/plans.js +108 -0
- package/dist/billing/plans.js.map +1 -0
- package/dist/briefing/briefing-engine.d.ts +51 -0
- package/dist/briefing/briefing-engine.d.ts.map +1 -0
- package/dist/briefing/briefing-engine.js +289 -0
- package/dist/briefing/briefing-engine.js.map +1 -0
- package/dist/briefing/index.d.ts +3 -0
- package/dist/briefing/index.d.ts.map +1 -0
- package/dist/briefing/index.js +2 -0
- package/dist/briefing/index.js.map +1 -0
- package/dist/briefing/types.d.ts +49 -0
- package/dist/briefing/types.d.ts.map +1 -0
- package/dist/briefing/types.js +8 -0
- package/dist/briefing/types.js.map +1 -0
- package/dist/checkpoint/checkpoint-manager.d.ts +33 -0
- package/dist/checkpoint/checkpoint-manager.d.ts.map +1 -0
- package/dist/checkpoint/checkpoint-manager.js +144 -0
- package/dist/checkpoint/checkpoint-manager.js.map +1 -0
- package/dist/config/config.d.ts +10 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +169 -0
- package/dist/config/config.js.map +1 -0
- package/dist/config/personality.d.ts +32 -0
- package/dist/config/personality.d.ts.map +1 -0
- package/dist/config/personality.js +96 -0
- package/dist/config/personality.js.map +1 -0
- package/dist/config/project-config.d.ts +17 -0
- package/dist/config/project-config.d.ts.map +1 -0
- package/dist/config/project-config.js +38 -0
- package/dist/config/project-config.js.map +1 -0
- package/dist/config/project.d.ts +155 -0
- package/dist/config/project.d.ts.map +1 -0
- package/dist/config/project.js +746 -0
- package/dist/config/project.js.map +1 -0
- package/dist/config/schema.d.ts +61 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +11 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/core/constants.d.ts +13 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +15 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/dates.d.ts +35 -0
- package/dist/core/dates.d.ts.map +1 -0
- package/dist/core/dates.js +45 -0
- package/dist/core/dates.js.map +1 -0
- package/dist/core/errors.d.ts +27 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +172 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/file-lock.d.ts +22 -0
- package/dist/core/file-lock.d.ts.map +1 -0
- package/dist/core/file-lock.js +120 -0
- package/dist/core/file-lock.js.map +1 -0
- package/dist/core/logger.d.ts +9 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +32 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/types.d.ts +157 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +13 -0
- package/dist/core/types.js.map +1 -0
- package/dist/creative/index.d.ts +50 -0
- package/dist/creative/index.d.ts.map +1 -0
- package/dist/creative/index.js +178 -0
- package/dist/creative/index.js.map +1 -0
- package/dist/dataset/capture.d.ts +15 -0
- package/dist/dataset/capture.d.ts.map +1 -0
- package/dist/dataset/capture.js +203 -0
- package/dist/dataset/capture.js.map +1 -0
- package/dist/dataset/config.d.ts +33 -0
- package/dist/dataset/config.d.ts.map +1 -0
- package/dist/dataset/config.js +60 -0
- package/dist/dataset/config.js.map +1 -0
- package/dist/dataset/consumer.d.ts +33 -0
- package/dist/dataset/consumer.d.ts.map +1 -0
- package/dist/dataset/consumer.js +97 -0
- package/dist/dataset/consumer.js.map +1 -0
- package/dist/dataset/emitter.d.ts +153 -0
- package/dist/dataset/emitter.d.ts.map +1 -0
- package/dist/dataset/emitter.js +157 -0
- package/dist/dataset/emitter.js.map +1 -0
- package/dist/dataset/events.d.ts +360 -0
- package/dist/dataset/events.d.ts.map +1 -0
- package/dist/dataset/events.js +30 -0
- package/dist/dataset/events.js.map +1 -0
- package/dist/dataset/generation-emit.d.ts +72 -0
- package/dist/dataset/generation-emit.d.ts.map +1 -0
- package/dist/dataset/generation-emit.js +94 -0
- package/dist/dataset/generation-emit.js.map +1 -0
- package/dist/dataset/redactor.d.ts +22 -0
- package/dist/dataset/redactor.d.ts.map +1 -0
- package/dist/dataset/redactor.js +68 -0
- package/dist/dataset/redactor.js.map +1 -0
- package/dist/dataset/routing.d.ts +17 -0
- package/dist/dataset/routing.d.ts.map +1 -0
- package/dist/dataset/routing.js +77 -0
- package/dist/dataset/routing.js.map +1 -0
- package/dist/dataset/summarizers.d.ts +47 -0
- package/dist/dataset/summarizers.d.ts.map +1 -0
- package/dist/dataset/summarizers.js +98 -0
- package/dist/dataset/summarizers.js.map +1 -0
- package/dist/dataset/verification.d.ts +29 -0
- package/dist/dataset/verification.d.ts.map +1 -0
- package/dist/dataset/verification.js +70 -0
- package/dist/dataset/verification.js.map +1 -0
- package/dist/desktop/budget.d.ts +66 -0
- package/dist/desktop/budget.d.ts.map +1 -0
- package/dist/desktop/budget.js +159 -0
- package/dist/desktop/budget.js.map +1 -0
- package/dist/desktop/capability.d.ts +28 -0
- package/dist/desktop/capability.d.ts.map +1 -0
- package/dist/desktop/capability.js +39 -0
- package/dist/desktop/capability.js.map +1 -0
- package/dist/desktop/conductor.d.ts +104 -0
- package/dist/desktop/conductor.d.ts.map +1 -0
- package/dist/desktop/conductor.js +876 -0
- package/dist/desktop/conductor.js.map +1 -0
- package/dist/desktop/fork-points.d.ts +56 -0
- package/dist/desktop/fork-points.d.ts.map +1 -0
- package/dist/desktop/fork-points.js +138 -0
- package/dist/desktop/fork-points.js.map +1 -0
- package/dist/desktop/index.d.ts +22 -0
- package/dist/desktop/index.d.ts.map +1 -0
- package/dist/desktop/index.js +21 -0
- package/dist/desktop/index.js.map +1 -0
- package/dist/desktop/perception.d.ts +24 -0
- package/dist/desktop/perception.d.ts.map +1 -0
- package/dist/desktop/perception.js +106 -0
- package/dist/desktop/perception.js.map +1 -0
- package/dist/desktop/personas.d.ts +30 -0
- package/dist/desktop/personas.d.ts.map +1 -0
- package/dist/desktop/personas.js +206 -0
- package/dist/desktop/personas.js.map +1 -0
- package/dist/desktop/safety.d.ts +86 -0
- package/dist/desktop/safety.d.ts.map +1 -0
- package/dist/desktop/safety.js +272 -0
- package/dist/desktop/safety.js.map +1 -0
- package/dist/desktop/screen-key.d.ts +54 -0
- package/dist/desktop/screen-key.d.ts.map +1 -0
- package/dist/desktop/screen-key.js +187 -0
- package/dist/desktop/screen-key.js.map +1 -0
- package/dist/desktop/types.d.ts +141 -0
- package/dist/desktop/types.d.ts.map +1 -0
- package/dist/desktop/types.js +8 -0
- package/dist/desktop/types.js.map +1 -0
- package/dist/docs/adapter.d.ts +71 -0
- package/dist/docs/adapter.d.ts.map +1 -0
- package/dist/docs/adapter.js +75 -0
- package/dist/docs/adapter.js.map +1 -0
- package/dist/docs/content/concepts.d.ts +3 -0
- package/dist/docs/content/concepts.d.ts.map +1 -0
- package/dist/docs/content/concepts.js +304 -0
- package/dist/docs/content/concepts.js.map +1 -0
- package/dist/docs/content/features.d.ts +3 -0
- package/dist/docs/content/features.d.ts.map +1 -0
- package/dist/docs/content/features.js +275 -0
- package/dist/docs/content/features.js.map +1 -0
- package/dist/docs/content/index.d.ts +3 -0
- package/dist/docs/content/index.d.ts.map +1 -0
- package/dist/docs/content/index.js +15 -0
- package/dist/docs/content/index.js.map +1 -0
- package/dist/docs/content/reference.d.ts +3 -0
- package/dist/docs/content/reference.d.ts.map +1 -0
- package/dist/docs/content/reference.js +220 -0
- package/dist/docs/content/reference.js.map +1 -0
- package/dist/docs/content/start.d.ts +3 -0
- package/dist/docs/content/start.d.ts.map +1 -0
- package/dist/docs/content/start.js +203 -0
- package/dist/docs/content/start.js.map +1 -0
- package/dist/docs/content/troubleshooting.d.ts +3 -0
- package/dist/docs/content/troubleshooting.d.ts.map +1 -0
- package/dist/docs/content/troubleshooting.js +98 -0
- package/dist/docs/content/troubleshooting.js.map +1 -0
- package/dist/docs/corpus.d.ts +7 -0
- package/dist/docs/corpus.d.ts.map +1 -0
- package/dist/docs/corpus.js +18 -0
- package/dist/docs/corpus.js.map +1 -0
- package/dist/docs/data/capabilities.d.ts +24 -0
- package/dist/docs/data/capabilities.d.ts.map +1 -0
- package/dist/docs/data/capabilities.js +63 -0
- package/dist/docs/data/capabilities.js.map +1 -0
- package/dist/docs/data/modes.d.ts +11 -0
- package/dist/docs/data/modes.d.ts.map +1 -0
- package/dist/docs/data/modes.js +60 -0
- package/dist/docs/data/modes.js.map +1 -0
- package/dist/docs/data/permissions.d.ts +12 -0
- package/dist/docs/data/permissions.d.ts.map +1 -0
- package/dist/docs/data/permissions.js +62 -0
- package/dist/docs/data/permissions.js.map +1 -0
- package/dist/docs/data/personas.d.ts +13 -0
- package/dist/docs/data/personas.d.ts.map +1 -0
- package/dist/docs/data/personas.js +42 -0
- package/dist/docs/data/personas.js.map +1 -0
- package/dist/docs/data/providers.d.ts +21 -0
- package/dist/docs/data/providers.d.ts.map +1 -0
- package/dist/docs/data/providers.js +210 -0
- package/dist/docs/data/providers.js.map +1 -0
- package/dist/docs/data/shortcuts.d.ts +9 -0
- package/dist/docs/data/shortcuts.d.ts.map +1 -0
- package/dist/docs/data/shortcuts.js +18 -0
- package/dist/docs/data/shortcuts.js.map +1 -0
- package/dist/docs/data/tasks.d.ts +17 -0
- package/dist/docs/data/tasks.d.ts.map +1 -0
- package/dist/docs/data/tasks.js +64 -0
- package/dist/docs/data/tasks.js.map +1 -0
- package/dist/docs/data/tools.d.ts +12 -0
- package/dist/docs/data/tools.d.ts.map +1 -0
- package/dist/docs/data/tools.js +100 -0
- package/dist/docs/data/tools.js.map +1 -0
- package/dist/docs/filter.d.ts +35 -0
- package/dist/docs/filter.d.ts.map +1 -0
- package/dist/docs/filter.js +68 -0
- package/dist/docs/filter.js.map +1 -0
- package/dist/docs/i18n/translations.d.ts +2 -0
- package/dist/docs/i18n/translations.d.ts.map +1 -0
- package/dist/docs/i18n/translations.js +4 -0
- package/dist/docs/i18n/translations.js.map +1 -0
- package/dist/docs/i18n.d.ts +15 -0
- package/dist/docs/i18n.d.ts.map +1 -0
- package/dist/docs/i18n.js +88 -0
- package/dist/docs/i18n.js.map +1 -0
- package/dist/docs/index.d.ts +16 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +15 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/docs/product-knowledge.d.ts +45 -0
- package/dist/docs/product-knowledge.d.ts.map +1 -0
- package/dist/docs/product-knowledge.js +147 -0
- package/dist/docs/product-knowledge.js.map +1 -0
- package/dist/docs/types.d.ts +138 -0
- package/dist/docs/types.d.ts.map +1 -0
- package/dist/docs/types.js +14 -0
- package/dist/docs/types.js.map +1 -0
- package/dist/events/event-detector.d.ts +39 -0
- package/dist/events/event-detector.d.ts.map +1 -0
- package/dist/events/event-detector.js +223 -0
- package/dist/events/event-detector.js.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +2 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +35 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +8 -0
- package/dist/events/types.js.map +1 -0
- package/dist/exercises/index.d.ts +249 -0
- package/dist/exercises/index.d.ts.map +1 -0
- package/dist/exercises/index.js +181 -0
- package/dist/exercises/index.js.map +1 -0
- package/dist/health/aisles.d.ts +33 -0
- package/dist/health/aisles.d.ts.map +1 -0
- package/dist/health/aisles.js +417 -0
- package/dist/health/aisles.js.map +1 -0
- package/dist/health/cooking.d.ts +13 -0
- package/dist/health/cooking.d.ts.map +1 -0
- package/dist/health/cooking.js +19 -0
- package/dist/health/cooking.js.map +1 -0
- package/dist/health/duplicate.d.ts +47 -0
- package/dist/health/duplicate.d.ts.map +1 -0
- package/dist/health/duplicate.js +136 -0
- package/dist/health/duplicate.js.map +1 -0
- package/dist/health/index.d.ts +7 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +10 -0
- package/dist/health/index.js.map +1 -0
- package/dist/health/node-store.d.ts +30 -0
- package/dist/health/node-store.d.ts.map +1 -0
- package/dist/health/node-store.js +250 -0
- package/dist/health/node-store.js.map +1 -0
- package/dist/health/prep.d.ts +86 -0
- package/dist/health/prep.d.ts.map +1 -0
- package/dist/health/prep.js +152 -0
- package/dist/health/prep.js.map +1 -0
- package/dist/health/profile-fields.d.ts +46 -0
- package/dist/health/profile-fields.d.ts.map +1 -0
- package/dist/health/profile-fields.js +194 -0
- package/dist/health/profile-fields.js.map +1 -0
- package/dist/health/session-store.d.ts +30 -0
- package/dist/health/session-store.d.ts.map +1 -0
- package/dist/health/session-store.js +20 -0
- package/dist/health/session-store.js.map +1 -0
- package/dist/health/session-summary.d.ts +10 -0
- package/dist/health/session-summary.d.ts.map +1 -0
- package/dist/health/session-summary.js +106 -0
- package/dist/health/session-summary.js.map +1 -0
- package/dist/health/session-types.d.ts +74 -0
- package/dist/health/session-types.d.ts.map +1 -0
- package/dist/health/session-types.js +53 -0
- package/dist/health/session-types.js.map +1 -0
- package/dist/health/shopping-list.d.ts +226 -0
- package/dist/health/shopping-list.d.ts.map +1 -0
- package/dist/health/shopping-list.js +432 -0
- package/dist/health/shopping-list.js.map +1 -0
- package/dist/health/starters.d.ts +155 -0
- package/dist/health/starters.d.ts.map +1 -0
- package/dist/health/starters.js +270 -0
- package/dist/health/starters.js.map +1 -0
- package/dist/health/store.d.ts +59 -0
- package/dist/health/store.d.ts.map +1 -0
- package/dist/health/store.js +17 -0
- package/dist/health/store.js.map +1 -0
- package/dist/health/types.d.ts +213 -0
- package/dist/health/types.d.ts.map +1 -0
- package/dist/health/types.js +11 -0
- package/dist/health/types.js.map +1 -0
- package/dist/history/conversation-title.d.ts +67 -0
- package/dist/history/conversation-title.d.ts.map +1 -0
- package/dist/history/conversation-title.js +184 -0
- package/dist/history/conversation-title.js.map +1 -0
- package/dist/history/history-manager.d.ts +50 -0
- package/dist/history/history-manager.d.ts.map +1 -0
- package/dist/history/history-manager.js +168 -0
- package/dist/history/history-manager.js.map +1 -0
- package/dist/history/storage.d.ts +41 -0
- package/dist/history/storage.d.ts.map +1 -0
- package/dist/history/storage.js +133 -0
- package/dist/history/storage.js.map +1 -0
- package/dist/i18n/index.d.ts +41 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +188 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/keep-english.d.ts +12 -0
- package/dist/i18n/keep-english.d.ts.map +1 -0
- package/dist/i18n/keep-english.js +351 -0
- package/dist/i18n/keep-english.js.map +1 -0
- package/dist/i18n/locales/ar.d.ts +4 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -0
- package/dist/i18n/locales/ar.js +4143 -0
- package/dist/i18n/locales/ar.js.map +1 -0
- package/dist/i18n/locales/de.d.ts +4 -0
- package/dist/i18n/locales/de.d.ts.map +1 -0
- package/dist/i18n/locales/de.js +4133 -0
- package/dist/i18n/locales/de.js.map +1 -0
- package/dist/i18n/locales/en.d.ts +4068 -0
- package/dist/i18n/locales/en.d.ts.map +1 -0
- package/dist/i18n/locales/en.js +4347 -0
- package/dist/i18n/locales/en.js.map +1 -0
- package/dist/i18n/locales/es.d.ts +4 -0
- package/dist/i18n/locales/es.d.ts.map +1 -0
- package/dist/i18n/locales/es.js +4128 -0
- package/dist/i18n/locales/es.js.map +1 -0
- package/dist/i18n/locales/fr.d.ts +4 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -0
- package/dist/i18n/locales/fr.js +4140 -0
- package/dist/i18n/locales/fr.js.map +1 -0
- package/dist/i18n/locales/hi.d.ts +4 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -0
- package/dist/i18n/locales/hi.js +4143 -0
- package/dist/i18n/locales/hi.js.map +1 -0
- package/dist/i18n/locales/id.d.ts +4 -0
- package/dist/i18n/locales/id.d.ts.map +1 -0
- package/dist/i18n/locales/id.js +4142 -0
- package/dist/i18n/locales/id.js.map +1 -0
- package/dist/i18n/locales/it.d.ts +4 -0
- package/dist/i18n/locales/it.d.ts.map +1 -0
- package/dist/i18n/locales/it.js +4143 -0
- package/dist/i18n/locales/it.js.map +1 -0
- package/dist/i18n/locales/ja.d.ts +4 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -0
- package/dist/i18n/locales/ja.js +4144 -0
- package/dist/i18n/locales/ja.js.map +1 -0
- package/dist/i18n/locales/ko.d.ts +4 -0
- package/dist/i18n/locales/ko.d.ts.map +1 -0
- package/dist/i18n/locales/ko.js +4143 -0
- package/dist/i18n/locales/ko.js.map +1 -0
- package/dist/i18n/locales/nl.d.ts +4 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -0
- package/dist/i18n/locales/nl.js +4143 -0
- package/dist/i18n/locales/nl.js.map +1 -0
- package/dist/i18n/locales/pl.d.ts +4 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -0
- package/dist/i18n/locales/pl.js +4133 -0
- package/dist/i18n/locales/pl.js.map +1 -0
- package/dist/i18n/locales/pt.d.ts +4 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -0
- package/dist/i18n/locales/pt.js +4141 -0
- package/dist/i18n/locales/pt.js.map +1 -0
- package/dist/i18n/locales/ru.d.ts +4 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -0
- package/dist/i18n/locales/ru.js +4143 -0
- package/dist/i18n/locales/ru.js.map +1 -0
- package/dist/i18n/locales/th.d.ts +4 -0
- package/dist/i18n/locales/th.d.ts.map +1 -0
- package/dist/i18n/locales/th.js +4143 -0
- package/dist/i18n/locales/th.js.map +1 -0
- package/dist/i18n/locales/tr.d.ts +4 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -0
- package/dist/i18n/locales/tr.js +4143 -0
- package/dist/i18n/locales/tr.js.map +1 -0
- package/dist/i18n/locales/uk.d.ts +4 -0
- package/dist/i18n/locales/uk.d.ts.map +1 -0
- package/dist/i18n/locales/uk.js +4133 -0
- package/dist/i18n/locales/uk.js.map +1 -0
- package/dist/i18n/locales/vi.d.ts +4 -0
- package/dist/i18n/locales/vi.d.ts.map +1 -0
- package/dist/i18n/locales/vi.js +4143 -0
- package/dist/i18n/locales/vi.js.map +1 -0
- package/dist/i18n/locales/zh-CN.d.ts +4 -0
- package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
- package/dist/i18n/locales/zh-CN.js +4133 -0
- package/dist/i18n/locales/zh-CN.js.map +1 -0
- package/dist/i18n/locales/zh-TW.d.ts +4 -0
- package/dist/i18n/locales/zh-TW.d.ts.map +1 -0
- package/dist/i18n/locales/zh-TW.js +4143 -0
- package/dist/i18n/locales/zh-TW.js.map +1 -0
- package/dist/i18n/types.d.ts +5 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +46 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/index.d.ts +142 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +159 -0
- package/dist/index.js.map +1 -0
- package/dist/indexer/project-indexer.d.ts +66 -0
- package/dist/indexer/project-indexer.d.ts.map +1 -0
- package/dist/indexer/project-indexer.js +574 -0
- package/dist/indexer/project-indexer.js.map +1 -0
- package/dist/indexer/symbol-indexer.d.ts +56 -0
- package/dist/indexer/symbol-indexer.d.ts.map +1 -0
- package/dist/indexer/symbol-indexer.js +579 -0
- package/dist/indexer/symbol-indexer.js.map +1 -0
- package/dist/journal/journal-manager.d.ts +143 -0
- package/dist/journal/journal-manager.d.ts.map +1 -0
- package/dist/journal/journal-manager.js +472 -0
- package/dist/journal/journal-manager.js.map +1 -0
- package/dist/journal/platform-sync.d.ts +17 -0
- package/dist/journal/platform-sync.d.ts.map +1 -0
- package/dist/journal/platform-sync.js +21 -0
- package/dist/journal/platform-sync.js.map +1 -0
- package/dist/journal/types.d.ts +78 -0
- package/dist/journal/types.d.ts.map +1 -0
- package/dist/journal/types.js +74 -0
- package/dist/journal/types.js.map +1 -0
- package/dist/knowledge/index.d.ts +2 -0
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +2 -0
- package/dist/knowledge/index.js.map +1 -0
- package/dist/learning/index.d.ts +6 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +9 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/learner-context.d.ts +11 -0
- package/dist/learning/learner-context.d.ts.map +1 -0
- package/dist/learning/learner-context.js +57 -0
- package/dist/learning/learner-context.js.map +1 -0
- package/dist/learning/library-fork.d.ts +33 -0
- package/dist/learning/library-fork.d.ts.map +1 -0
- package/dist/learning/library-fork.js +92 -0
- package/dist/learning/library-fork.js.map +1 -0
- package/dist/learning/progression-export.d.ts +4 -0
- package/dist/learning/progression-export.d.ts.map +1 -0
- package/dist/learning/progression-export.js +21 -0
- package/dist/learning/progression-export.js.map +1 -0
- package/dist/learning/progression-markdown.d.ts +14 -0
- package/dist/learning/progression-markdown.d.ts.map +1 -0
- package/dist/learning/progression-markdown.js +73 -0
- package/dist/learning/progression-markdown.js.map +1 -0
- package/dist/learning/progression.d.ts +65 -0
- package/dist/learning/progression.d.ts.map +1 -0
- package/dist/learning/progression.js +186 -0
- package/dist/learning/progression.js.map +1 -0
- package/dist/memory/ambient-capture.d.ts +26 -0
- package/dist/memory/ambient-capture.d.ts.map +1 -0
- package/dist/memory/ambient-capture.js +174 -0
- package/dist/memory/ambient-capture.js.map +1 -0
- package/dist/memory/auto-extract.d.ts +54 -0
- package/dist/memory/auto-extract.d.ts.map +1 -0
- package/dist/memory/auto-extract.js +499 -0
- package/dist/memory/auto-extract.js.map +1 -0
- package/dist/memory/config.d.ts +47 -0
- package/dist/memory/config.d.ts.map +1 -0
- package/dist/memory/config.js +52 -0
- package/dist/memory/config.js.map +1 -0
- package/dist/memory/consolidation.d.ts +60 -0
- package/dist/memory/consolidation.d.ts.map +1 -0
- package/dist/memory/consolidation.js +311 -0
- package/dist/memory/consolidation.js.map +1 -0
- package/dist/memory/embedding-service.d.ts +50 -0
- package/dist/memory/embedding-service.d.ts.map +1 -0
- package/dist/memory/embedding-service.js +86 -0
- package/dist/memory/embedding-service.js.map +1 -0
- package/dist/memory/embedding-store.d.ts +31 -0
- package/dist/memory/embedding-store.d.ts.map +1 -0
- package/dist/memory/embedding-store.js +109 -0
- package/dist/memory/embedding-store.js.map +1 -0
- package/dist/memory/graph-engine.d.ts +145 -0
- package/dist/memory/graph-engine.d.ts.map +1 -0
- package/dist/memory/graph-engine.js +628 -0
- package/dist/memory/graph-engine.js.map +1 -0
- package/dist/memory/insights.d.ts +39 -0
- package/dist/memory/insights.d.ts.map +1 -0
- package/dist/memory/insights.js +138 -0
- package/dist/memory/insights.js.map +1 -0
- package/dist/memory/memory-agent.d.ts +93 -0
- package/dist/memory/memory-agent.d.ts.map +1 -0
- package/dist/memory/memory-agent.js +475 -0
- package/dist/memory/memory-agent.js.map +1 -0
- package/dist/memory/memory-manager.d.ts +232 -0
- package/dist/memory/memory-manager.d.ts.map +1 -0
- package/dist/memory/memory-manager.js +1633 -0
- package/dist/memory/memory-manager.js.map +1 -0
- package/dist/memory/migration-v3.d.ts +22 -0
- package/dist/memory/migration-v3.d.ts.map +1 -0
- package/dist/memory/migration-v3.js +193 -0
- package/dist/memory/migration-v3.js.map +1 -0
- package/dist/memory/mode-recall.d.ts +20 -0
- package/dist/memory/mode-recall.d.ts.map +1 -0
- package/dist/memory/mode-recall.js +104 -0
- package/dist/memory/mode-recall.js.map +1 -0
- package/dist/memory/patterns.d.ts +92 -0
- package/dist/memory/patterns.d.ts.map +1 -0
- package/dist/memory/patterns.js +389 -0
- package/dist/memory/patterns.js.map +1 -0
- package/dist/memory/platform-sync.d.ts +54 -0
- package/dist/memory/platform-sync.d.ts.map +1 -0
- package/dist/memory/platform-sync.js +176 -0
- package/dist/memory/platform-sync.js.map +1 -0
- package/dist/memory/procedural.d.ts +47 -0
- package/dist/memory/procedural.d.ts.map +1 -0
- package/dist/memory/procedural.js +182 -0
- package/dist/memory/procedural.js.map +1 -0
- package/dist/memory/project-brain.d.ts +27 -0
- package/dist/memory/project-brain.d.ts.map +1 -0
- package/dist/memory/project-brain.js +158 -0
- package/dist/memory/project-brain.js.map +1 -0
- package/dist/memory/self-improvement.d.ts +45 -0
- package/dist/memory/self-improvement.d.ts.map +1 -0
- package/dist/memory/self-improvement.js +178 -0
- package/dist/memory/self-improvement.js.map +1 -0
- package/dist/memory/tfidf.d.ts +71 -0
- package/dist/memory/tfidf.d.ts.map +1 -0
- package/dist/memory/tfidf.js +223 -0
- package/dist/memory/tfidf.js.map +1 -0
- package/dist/memory/training-export.d.ts +51 -0
- package/dist/memory/training-export.d.ts.map +1 -0
- package/dist/memory/training-export.js +122 -0
- package/dist/memory/training-export.js.map +1 -0
- package/dist/memory/types.d.ts +380 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +99 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/news/index.d.ts +163 -0
- package/dist/news/index.d.ts.map +1 -0
- package/dist/news/index.js +184 -0
- package/dist/news/index.js.map +1 -0
- package/dist/papers/arxiv-client.d.ts +21 -0
- package/dist/papers/arxiv-client.d.ts.map +1 -0
- package/dist/papers/arxiv-client.js +130 -0
- package/dist/papers/arxiv-client.js.map +1 -0
- package/dist/papers/crossref-client.d.ts +3 -0
- package/dist/papers/crossref-client.d.ts.map +1 -0
- package/dist/papers/crossref-client.js +96 -0
- package/dist/papers/crossref-client.js.map +1 -0
- package/dist/papers/discipline.d.ts +19 -0
- package/dist/papers/discipline.d.ts.map +1 -0
- package/dist/papers/discipline.js +96 -0
- package/dist/papers/discipline.js.map +1 -0
- package/dist/papers/index.d.ts +10 -0
- package/dist/papers/index.d.ts.map +1 -0
- package/dist/papers/index.js +7 -0
- package/dist/papers/index.js.map +1 -0
- package/dist/papers/openalex-client.d.ts +13 -0
- package/dist/papers/openalex-client.d.ts.map +1 -0
- package/dist/papers/openalex-client.js +206 -0
- package/dist/papers/openalex-client.js.map +1 -0
- package/dist/papers/paper-fetcher.d.ts +37 -0
- package/dist/papers/paper-fetcher.d.ts.map +1 -0
- package/dist/papers/paper-fetcher.js +75 -0
- package/dist/papers/paper-fetcher.js.map +1 -0
- package/dist/papers/types.d.ts +80 -0
- package/dist/papers/types.d.ts.map +1 -0
- package/dist/papers/types.js +25 -0
- package/dist/papers/types.js.map +1 -0
- package/dist/personas/conductor.d.ts +184 -0
- package/dist/personas/conductor.d.ts.map +1 -0
- package/dist/personas/conductor.js +871 -0
- package/dist/personas/conductor.js.map +1 -0
- package/dist/personas/definitions.d.ts +48 -0
- package/dist/personas/definitions.d.ts.map +1 -0
- package/dist/personas/definitions.js +828 -0
- package/dist/personas/definitions.js.map +1 -0
- package/dist/personas/index.d.ts +4 -0
- package/dist/personas/index.d.ts.map +1 -0
- package/dist/personas/index.js +3 -0
- package/dist/personas/index.js.map +1 -0
- package/dist/personas/types.d.ts +148 -0
- package/dist/personas/types.d.ts.map +1 -0
- package/dist/personas/types.js +5 -0
- package/dist/personas/types.js.map +1 -0
- package/dist/personas/verification-matrix.d.ts +44 -0
- package/dist/personas/verification-matrix.d.ts.map +1 -0
- package/dist/personas/verification-matrix.js +232 -0
- package/dist/personas/verification-matrix.js.map +1 -0
- package/dist/portability/bundle.d.ts +80 -0
- package/dist/portability/bundle.d.ts.map +1 -0
- package/dist/portability/bundle.js +155 -0
- package/dist/portability/bundle.js.map +1 -0
- package/dist/portability/crypto.d.ts +42 -0
- package/dist/portability/crypto.d.ts.map +1 -0
- package/dist/portability/crypto.js +89 -0
- package/dist/portability/crypto.js.map +1 -0
- package/dist/portability/data-types.d.ts +54 -0
- package/dist/portability/data-types.d.ts.map +1 -0
- package/dist/portability/data-types.js +281 -0
- package/dist/portability/data-types.js.map +1 -0
- package/dist/portability/index.d.ts +35 -0
- package/dist/portability/index.d.ts.map +1 -0
- package/dist/portability/index.js +41 -0
- package/dist/portability/index.js.map +1 -0
- package/dist/providers/base-provider.d.ts +65 -0
- package/dist/providers/base-provider.d.ts.map +1 -0
- package/dist/providers/base-provider.js +305 -0
- package/dist/providers/base-provider.js.map +1 -0
- package/dist/providers/catalog.d.ts +25 -0
- package/dist/providers/catalog.d.ts.map +1 -0
- package/dist/providers/catalog.js +53 -0
- package/dist/providers/catalog.js.map +1 -0
- package/dist/providers/deepseek/index.d.ts +9 -0
- package/dist/providers/deepseek/index.d.ts.map +1 -0
- package/dist/providers/deepseek/index.js +19 -0
- package/dist/providers/deepseek/index.js.map +1 -0
- package/dist/providers/deepseek/models.d.ts +3 -0
- package/dist/providers/deepseek/models.d.ts.map +1 -0
- package/dist/providers/deepseek/models.js +56 -0
- package/dist/providers/deepseek/models.js.map +1 -0
- package/dist/providers/generic/index.d.ts +25 -0
- package/dist/providers/generic/index.d.ts.map +1 -0
- package/dist/providers/generic/index.js +51 -0
- package/dist/providers/generic/index.js.map +1 -0
- package/dist/providers/generic/models.d.ts +3 -0
- package/dist/providers/generic/models.d.ts.map +1 -0
- package/dist/providers/generic/models.js +13 -0
- package/dist/providers/generic/models.js.map +1 -0
- package/dist/providers/health-tracker.d.ts +44 -0
- package/dist/providers/health-tracker.d.ts.map +1 -0
- package/dist/providers/health-tracker.js +110 -0
- package/dist/providers/health-tracker.js.map +1 -0
- package/dist/providers/kimi/index.d.ts +9 -0
- package/dist/providers/kimi/index.d.ts.map +1 -0
- package/dist/providers/kimi/index.js +13 -0
- package/dist/providers/kimi/index.js.map +1 -0
- package/dist/providers/kimi/models.d.ts +3 -0
- package/dist/providers/kimi/models.d.ts.map +1 -0
- package/dist/providers/kimi/models.js +60 -0
- package/dist/providers/kimi/models.js.map +1 -0
- package/dist/providers/minimax/index.d.ts +9 -0
- package/dist/providers/minimax/index.d.ts.map +1 -0
- package/dist/providers/minimax/index.js +13 -0
- package/dist/providers/minimax/index.js.map +1 -0
- package/dist/providers/minimax/models.d.ts +3 -0
- package/dist/providers/minimax/models.d.ts.map +1 -0
- package/dist/providers/minimax/models.js +65 -0
- package/dist/providers/minimax/models.js.map +1 -0
- package/dist/providers/mistral/index.d.ts +11 -0
- package/dist/providers/mistral/index.d.ts.map +1 -0
- package/dist/providers/mistral/index.js +24 -0
- package/dist/providers/mistral/index.js.map +1 -0
- package/dist/providers/mistral/models.d.ts +3 -0
- package/dist/providers/mistral/models.d.ts.map +1 -0
- package/dist/providers/mistral/models.js +65 -0
- package/dist/providers/mistral/models.js.map +1 -0
- package/dist/providers/nvidia/index.d.ts +16 -0
- package/dist/providers/nvidia/index.d.ts.map +1 -0
- package/dist/providers/nvidia/index.js +20 -0
- package/dist/providers/nvidia/index.js.map +1 -0
- package/dist/providers/nvidia/models.d.ts +3 -0
- package/dist/providers/nvidia/models.d.ts.map +1 -0
- package/dist/providers/nvidia/models.js +56 -0
- package/dist/providers/nvidia/models.js.map +1 -0
- package/dist/providers/platform/index.d.ts +10 -0
- package/dist/providers/platform/index.d.ts.map +1 -0
- package/dist/providers/platform/index.js +16 -0
- package/dist/providers/platform/index.js.map +1 -0
- package/dist/providers/platform/models.d.ts +3 -0
- package/dist/providers/platform/models.d.ts.map +1 -0
- package/dist/providers/platform/models.js +233 -0
- package/dist/providers/platform/models.js.map +1 -0
- package/dist/providers/provider-registry.d.ts +44 -0
- package/dist/providers/provider-registry.d.ts.map +1 -0
- package/dist/providers/provider-registry.js +197 -0
- package/dist/providers/provider-registry.js.map +1 -0
- package/dist/providers/qwen/index.d.ts +9 -0
- package/dist/providers/qwen/index.d.ts.map +1 -0
- package/dist/providers/qwen/index.js +13 -0
- package/dist/providers/qwen/index.js.map +1 -0
- package/dist/providers/qwen/models.d.ts +3 -0
- package/dist/providers/qwen/models.d.ts.map +1 -0
- package/dist/providers/qwen/models.js +164 -0
- package/dist/providers/qwen/models.js.map +1 -0
- package/dist/providers/request-shaping/index.d.ts +29 -0
- package/dist/providers/request-shaping/index.d.ts.map +1 -0
- package/dist/providers/request-shaping/index.js +31 -0
- package/dist/providers/request-shaping/index.js.map +1 -0
- package/dist/providers/request-shaping/messages.d.ts +61 -0
- package/dist/providers/request-shaping/messages.d.ts.map +1 -0
- package/dist/providers/request-shaping/messages.js +114 -0
- package/dist/providers/request-shaping/messages.js.map +1 -0
- package/dist/providers/request-shaping/model-ids.d.ts +44 -0
- package/dist/providers/request-shaping/model-ids.d.ts.map +1 -0
- package/dist/providers/request-shaping/model-ids.js +96 -0
- package/dist/providers/request-shaping/model-ids.js.map +1 -0
- package/dist/providers/request-shaping/params.d.ts +38 -0
- package/dist/providers/request-shaping/params.d.ts.map +1 -0
- package/dist/providers/request-shaping/params.js +79 -0
- package/dist/providers/request-shaping/params.js.map +1 -0
- package/dist/providers/resilient-provider.d.ts +44 -0
- package/dist/providers/resilient-provider.d.ts.map +1 -0
- package/dist/providers/resilient-provider.js +141 -0
- package/dist/providers/resilient-provider.js.map +1 -0
- package/dist/providers/tencent/index.d.ts +19 -0
- package/dist/providers/tencent/index.d.ts.map +1 -0
- package/dist/providers/tencent/index.js +50 -0
- package/dist/providers/tencent/index.js.map +1 -0
- package/dist/providers/tencent/models.d.ts +3 -0
- package/dist/providers/tencent/models.d.ts.map +1 -0
- package/dist/providers/tencent/models.js +29 -0
- package/dist/providers/tencent/models.js.map +1 -0
- package/dist/providers/types.d.ts +98 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +2 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/providers/xiaomi/index.d.ts +9 -0
- package/dist/providers/xiaomi/index.d.ts.map +1 -0
- package/dist/providers/xiaomi/index.js +16 -0
- package/dist/providers/xiaomi/index.js.map +1 -0
- package/dist/providers/xiaomi/models.d.ts +3 -0
- package/dist/providers/xiaomi/models.d.ts.map +1 -0
- package/dist/providers/xiaomi/models.js +37 -0
- package/dist/providers/xiaomi/models.js.map +1 -0
- package/dist/providers/zhipu/index.d.ts +11 -0
- package/dist/providers/zhipu/index.d.ts.map +1 -0
- package/dist/providers/zhipu/index.js +44 -0
- package/dist/providers/zhipu/index.js.map +1 -0
- package/dist/providers/zhipu/models.d.ts +3 -0
- package/dist/providers/zhipu/models.d.ts.map +1 -0
- package/dist/providers/zhipu/models.js +37 -0
- package/dist/providers/zhipu/models.js.map +1 -0
- package/dist/recipes/index.d.ts +215 -0
- package/dist/recipes/index.d.ts.map +1 -0
- package/dist/recipes/index.js +232 -0
- package/dist/recipes/index.js.map +1 -0
- package/dist/remote/client.d.ts +67 -0
- package/dist/remote/client.d.ts.map +1 -0
- package/dist/remote/client.js +202 -0
- package/dist/remote/client.js.map +1 -0
- package/dist/remote/index.d.ts +9 -0
- package/dist/remote/index.d.ts.map +1 -0
- package/dist/remote/index.js +7 -0
- package/dist/remote/index.js.map +1 -0
- package/dist/remote/schema.d.ts +152 -0
- package/dist/remote/schema.d.ts.map +1 -0
- package/dist/remote/schema.js +26 -0
- package/dist/remote/schema.js.map +1 -0
- package/dist/security/index.d.ts +6 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +5 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/scanner.d.ts +67 -0
- package/dist/security/scanner.d.ts.map +1 -0
- package/dist/security/scanner.js +422 -0
- package/dist/security/scanner.js.map +1 -0
- package/dist/social/day-plan.d.ts +38 -0
- package/dist/social/day-plan.d.ts.map +1 -0
- package/dist/social/day-plan.js +16 -0
- package/dist/social/day-plan.js.map +1 -0
- package/dist/social/index.d.ts +290 -0
- package/dist/social/index.d.ts.map +1 -0
- package/dist/social/index.js +96 -0
- package/dist/social/index.js.map +1 -0
- package/dist/tasks/platform-sync.d.ts +22 -0
- package/dist/tasks/platform-sync.d.ts.map +1 -0
- package/dist/tasks/platform-sync.js +132 -0
- package/dist/tasks/platform-sync.js.map +1 -0
- package/dist/tasks/task-manager.d.ts +164 -0
- package/dist/tasks/task-manager.d.ts.map +1 -0
- package/dist/tasks/task-manager.js +643 -0
- package/dist/tasks/task-manager.js.map +1 -0
- package/dist/tasks/types.d.ts +105 -0
- package/dist/tasks/types.d.ts.map +1 -0
- package/dist/tasks/types.js +23 -0
- package/dist/tasks/types.js.map +1 -0
- package/dist/tools/analyze-architecture.d.ts +17 -0
- package/dist/tools/analyze-architecture.d.ts.map +1 -0
- package/dist/tools/analyze-architecture.js +316 -0
- package/dist/tools/analyze-architecture.js.map +1 -0
- package/dist/tools/apply-plan.d.ts +12 -0
- package/dist/tools/apply-plan.d.ts.map +1 -0
- package/dist/tools/apply-plan.js +119 -0
- package/dist/tools/apply-plan.js.map +1 -0
- package/dist/tools/ask-user.d.ts +11 -0
- package/dist/tools/ask-user.d.ts.map +1 -0
- package/dist/tools/ask-user.js +32 -0
- package/dist/tools/ask-user.js.map +1 -0
- package/dist/tools/audit-dependencies.d.ts +13 -0
- package/dist/tools/audit-dependencies.d.ts.map +1 -0
- package/dist/tools/audit-dependencies.js +156 -0
- package/dist/tools/audit-dependencies.js.map +1 -0
- package/dist/tools/authoring/doc-model.d.ts +128 -0
- package/dist/tools/authoring/doc-model.d.ts.map +1 -0
- package/dist/tools/authoring/doc-model.js +82 -0
- package/dist/tools/authoring/doc-model.js.map +1 -0
- package/dist/tools/authoring/frontmatter.d.ts +51 -0
- package/dist/tools/authoring/frontmatter.d.ts.map +1 -0
- package/dist/tools/authoring/frontmatter.js +203 -0
- package/dist/tools/authoring/frontmatter.js.map +1 -0
- package/dist/tools/authoring/image-size.d.ts +17 -0
- package/dist/tools/authoring/image-size.d.ts.map +1 -0
- package/dist/tools/authoring/image-size.js +47 -0
- package/dist/tools/authoring/image-size.js.map +1 -0
- package/dist/tools/authoring/index.d.ts +34 -0
- package/dist/tools/authoring/index.d.ts.map +1 -0
- package/dist/tools/authoring/index.js +44 -0
- package/dist/tools/authoring/index.js.map +1 -0
- package/dist/tools/authoring/md-parse.d.ts +18 -0
- package/dist/tools/authoring/md-parse.d.ts.map +1 -0
- package/dist/tools/authoring/md-parse.js +262 -0
- package/dist/tools/authoring/md-parse.js.map +1 -0
- package/dist/tools/authoring/render-docx.d.ts +18 -0
- package/dist/tools/authoring/render-docx.d.ts.map +1 -0
- package/dist/tools/authoring/render-docx.js +272 -0
- package/dist/tools/authoring/render-docx.js.map +1 -0
- package/dist/tools/authoring/render-md.d.ts +13 -0
- package/dist/tools/authoring/render-md.d.ts.map +1 -0
- package/dist/tools/authoring/render-md.js +139 -0
- package/dist/tools/authoring/render-md.js.map +1 -0
- package/dist/tools/authoring/render-pdf.d.ts +16 -0
- package/dist/tools/authoring/render-pdf.d.ts.map +1 -0
- package/dist/tools/authoring/render-pdf.js +298 -0
- package/dist/tools/authoring/render-pdf.js.map +1 -0
- package/dist/tools/authoring/sections.d.ts +35 -0
- package/dist/tools/authoring/sections.d.ts.map +1 -0
- package/dist/tools/authoring/sections.js +81 -0
- package/dist/tools/authoring/sections.js.map +1 -0
- package/dist/tools/authoring/templates/builtins.d.ts +11 -0
- package/dist/tools/authoring/templates/builtins.d.ts.map +1 -0
- package/dist/tools/authoring/templates/builtins.js +478 -0
- package/dist/tools/authoring/templates/builtins.js.map +1 -0
- package/dist/tools/authoring/templates/index.d.ts +15 -0
- package/dist/tools/authoring/templates/index.d.ts.map +1 -0
- package/dist/tools/authoring/templates/index.js +25 -0
- package/dist/tools/authoring/templates/index.js.map +1 -0
- package/dist/tools/authoring/templates/store.d.ts +15 -0
- package/dist/tools/authoring/templates/store.d.ts.map +1 -0
- package/dist/tools/authoring/templates/store.js +63 -0
- package/dist/tools/authoring/templates/store.js.map +1 -0
- package/dist/tools/authoring/templates/template-model.d.ts +44 -0
- package/dist/tools/authoring/templates/template-model.d.ts.map +1 -0
- package/dist/tools/authoring/templates/template-model.js +39 -0
- package/dist/tools/authoring/templates/template-model.js.map +1 -0
- package/dist/tools/bash.d.ts +34 -0
- package/dist/tools/bash.d.ts.map +1 -0
- package/dist/tools/bash.js +353 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/benchmark.d.ts +12 -0
- package/dist/tools/benchmark.d.ts.map +1 -0
- package/dist/tools/benchmark.js +147 -0
- package/dist/tools/benchmark.js.map +1 -0
- package/dist/tools/browse-library.d.ts +12 -0
- package/dist/tools/browse-library.d.ts.map +1 -0
- package/dist/tools/browse-library.js +188 -0
- package/dist/tools/browse-library.js.map +1 -0
- package/dist/tools/browser-click.d.ts +12 -0
- package/dist/tools/browser-click.d.ts.map +1 -0
- package/dist/tools/browser-click.js +58 -0
- package/dist/tools/browser-click.js.map +1 -0
- package/dist/tools/browser-close.d.ts +11 -0
- package/dist/tools/browser-close.d.ts.map +1 -0
- package/dist/tools/browser-close.js +27 -0
- package/dist/tools/browser-close.js.map +1 -0
- package/dist/tools/browser-navigate.d.ts +12 -0
- package/dist/tools/browser-navigate.d.ts.map +1 -0
- package/dist/tools/browser-navigate.js +66 -0
- package/dist/tools/browser-navigate.js.map +1 -0
- package/dist/tools/browser-snapshot.d.ts +11 -0
- package/dist/tools/browser-snapshot.d.ts.map +1 -0
- package/dist/tools/browser-snapshot.js +56 -0
- package/dist/tools/browser-snapshot.js.map +1 -0
- package/dist/tools/browser-type.d.ts +12 -0
- package/dist/tools/browser-type.d.ts.map +1 -0
- package/dist/tools/browser-type.js +68 -0
- package/dist/tools/browser-type.js.map +1 -0
- package/dist/tools/browser.d.ts +29 -0
- package/dist/tools/browser.d.ts.map +1 -0
- package/dist/tools/browser.js +307 -0
- package/dist/tools/browser.js.map +1 -0
- package/dist/tools/conversation-recall.d.ts +43 -0
- package/dist/tools/conversation-recall.d.ts.map +1 -0
- package/dist/tools/conversation-recall.js +177 -0
- package/dist/tools/conversation-recall.js.map +1 -0
- package/dist/tools/creative-asset-sync.d.ts +33 -0
- package/dist/tools/creative-asset-sync.d.ts.map +1 -0
- package/dist/tools/creative-asset-sync.js +39 -0
- package/dist/tools/creative-asset-sync.js.map +1 -0
- package/dist/tools/curator.d.ts +34 -0
- package/dist/tools/curator.d.ts.map +1 -0
- package/dist/tools/curator.js +191 -0
- package/dist/tools/curator.js.map +1 -0
- package/dist/tools/database-query.d.ts +11 -0
- package/dist/tools/database-query.d.ts.map +1 -0
- package/dist/tools/database-query.js +228 -0
- package/dist/tools/database-query.js.map +1 -0
- package/dist/tools/day-plan.d.ts +27 -0
- package/dist/tools/day-plan.d.ts.map +1 -0
- package/dist/tools/day-plan.js +207 -0
- package/dist/tools/day-plan.js.map +1 -0
- package/dist/tools/debug-logs.d.ts +13 -0
- package/dist/tools/debug-logs.d.ts.map +1 -0
- package/dist/tools/debug-logs.js +141 -0
- package/dist/tools/debug-logs.js.map +1 -0
- package/dist/tools/deploy-manifest.d.ts +37 -0
- package/dist/tools/deploy-manifest.d.ts.map +1 -0
- package/dist/tools/deploy-manifest.js +71 -0
- package/dist/tools/deploy-manifest.js.map +1 -0
- package/dist/tools/design-studio-tools.d.ts +83 -0
- package/dist/tools/design-studio-tools.d.ts.map +1 -0
- package/dist/tools/design-studio-tools.js +761 -0
- package/dist/tools/design-studio-tools.js.map +1 -0
- package/dist/tools/desktop-click-by-name.d.ts +12 -0
- package/dist/tools/desktop-click-by-name.d.ts.map +1 -0
- package/dist/tools/desktop-click-by-name.js +64 -0
- package/dist/tools/desktop-click-by-name.js.map +1 -0
- package/dist/tools/desktop-focus-window.d.ts +12 -0
- package/dist/tools/desktop-focus-window.d.ts.map +1 -0
- package/dist/tools/desktop-focus-window.js +59 -0
- package/dist/tools/desktop-focus-window.js.map +1 -0
- package/dist/tools/desktop-key-press.d.ts +12 -0
- package/dist/tools/desktop-key-press.d.ts.map +1 -0
- package/dist/tools/desktop-key-press.js +73 -0
- package/dist/tools/desktop-key-press.js.map +1 -0
- package/dist/tools/desktop-launch-app.d.ts +12 -0
- package/dist/tools/desktop-launch-app.d.ts.map +1 -0
- package/dist/tools/desktop-launch-app.js +58 -0
- package/dist/tools/desktop-launch-app.js.map +1 -0
- package/dist/tools/desktop-list-elements.d.ts +11 -0
- package/dist/tools/desktop-list-elements.d.ts.map +1 -0
- package/dist/tools/desktop-list-elements.js +65 -0
- package/dist/tools/desktop-list-elements.js.map +1 -0
- package/dist/tools/desktop-plan-approve.d.ts +30 -0
- package/dist/tools/desktop-plan-approve.d.ts.map +1 -0
- package/dist/tools/desktop-plan-approve.js +135 -0
- package/dist/tools/desktop-plan-approve.js.map +1 -0
- package/dist/tools/desktop-providers.d.ts +144 -0
- package/dist/tools/desktop-providers.d.ts.map +1 -0
- package/dist/tools/desktop-providers.js +12 -0
- package/dist/tools/desktop-providers.js.map +1 -0
- package/dist/tools/desktop-safety-gate.d.ts +84 -0
- package/dist/tools/desktop-safety-gate.d.ts.map +1 -0
- package/dist/tools/desktop-safety-gate.js +171 -0
- package/dist/tools/desktop-safety-gate.js.map +1 -0
- package/dist/tools/desktop-tools.d.ts +22 -0
- package/dist/tools/desktop-tools.d.ts.map +1 -0
- package/dist/tools/desktop-tools.js +71 -0
- package/dist/tools/desktop-tools.js.map +1 -0
- package/dist/tools/desktop-type.d.ts +12 -0
- package/dist/tools/desktop-type.d.ts.map +1 -0
- package/dist/tools/desktop-type.js +63 -0
- package/dist/tools/desktop-type.js.map +1 -0
- package/dist/tools/detect-language.d.ts +11 -0
- package/dist/tools/detect-language.d.ts.map +1 -0
- package/dist/tools/detect-language.js +235 -0
- package/dist/tools/detect-language.js.map +1 -0
- package/dist/tools/discover-news.d.ts +11 -0
- package/dist/tools/discover-news.d.ts.map +1 -0
- package/dist/tools/discover-news.js +261 -0
- package/dist/tools/discover-news.js.map +1 -0
- package/dist/tools/doc-generate.d.ts +17 -0
- package/dist/tools/doc-generate.d.ts.map +1 -0
- package/dist/tools/doc-generate.js +222 -0
- package/dist/tools/doc-generate.js.map +1 -0
- package/dist/tools/docs-lookup.d.ts +38 -0
- package/dist/tools/docs-lookup.d.ts.map +1 -0
- package/dist/tools/docs-lookup.js +174 -0
- package/dist/tools/docs-lookup.js.map +1 -0
- package/dist/tools/document-author.d.ts +40 -0
- package/dist/tools/document-author.d.ts.map +1 -0
- package/dist/tools/document-author.js +465 -0
- package/dist/tools/document-author.js.map +1 -0
- package/dist/tools/document-manage.d.ts +43 -0
- package/dist/tools/document-manage.d.ts.map +1 -0
- package/dist/tools/document-manage.js +665 -0
- package/dist/tools/document-manage.js.map +1 -0
- package/dist/tools/document-styling.d.ts +132 -0
- package/dist/tools/document-styling.d.ts.map +1 -0
- package/dist/tools/document-styling.js +360 -0
- package/dist/tools/document-styling.js.map +1 -0
- package/dist/tools/document-templates.d.ts +32 -0
- package/dist/tools/document-templates.d.ts.map +1 -0
- package/dist/tools/document-templates.js +95 -0
- package/dist/tools/document-templates.js.map +1 -0
- package/dist/tools/email-draft.d.ts +20 -0
- package/dist/tools/email-draft.d.ts.map +1 -0
- package/dist/tools/email-draft.js +191 -0
- package/dist/tools/email-draft.js.map +1 -0
- package/dist/tools/env-write.d.ts +32 -0
- package/dist/tools/env-write.d.ts.map +1 -0
- package/dist/tools/env-write.js +145 -0
- package/dist/tools/env-write.js.map +1 -0
- package/dist/tools/error-guidance.d.ts +38 -0
- package/dist/tools/error-guidance.d.ts.map +1 -0
- package/dist/tools/error-guidance.js +261 -0
- package/dist/tools/error-guidance.js.map +1 -0
- package/dist/tools/exercise-repair.d.ts +89 -0
- package/dist/tools/exercise-repair.d.ts.map +1 -0
- package/dist/tools/exercise-repair.js +350 -0
- package/dist/tools/exercise-repair.js.map +1 -0
- package/dist/tools/fact-check.d.ts +24 -0
- package/dist/tools/fact-check.d.ts.map +1 -0
- package/dist/tools/fact-check.js +78 -0
- package/dist/tools/fact-check.js.map +1 -0
- package/dist/tools/file-edit.d.ts +11 -0
- package/dist/tools/file-edit.d.ts.map +1 -0
- package/dist/tools/file-edit.js +166 -0
- package/dist/tools/file-edit.js.map +1 -0
- package/dist/tools/file-read.d.ts +12 -0
- package/dist/tools/file-read.d.ts.map +1 -0
- package/dist/tools/file-read.js +98 -0
- package/dist/tools/file-read.js.map +1 -0
- package/dist/tools/file-write.d.ts +13 -0
- package/dist/tools/file-write.d.ts.map +1 -0
- package/dist/tools/file-write.js +163 -0
- package/dist/tools/file-write.js.map +1 -0
- package/dist/tools/find-symbol.d.ts +13 -0
- package/dist/tools/find-symbol.d.ts.map +1 -0
- package/dist/tools/find-symbol.js +144 -0
- package/dist/tools/find-symbol.js.map +1 -0
- package/dist/tools/generate-image.d.ts +19 -0
- package/dist/tools/generate-image.d.ts.map +1 -0
- package/dist/tools/generate-image.js +438 -0
- package/dist/tools/generate-image.js.map +1 -0
- package/dist/tools/generate-video.d.ts +21 -0
- package/dist/tools/generate-video.d.ts.map +1 -0
- package/dist/tools/generate-video.js +197 -0
- package/dist/tools/generate-video.js.map +1 -0
- package/dist/tools/generate-voice.d.ts +13 -0
- package/dist/tools/generate-voice.d.ts.map +1 -0
- package/dist/tools/generate-voice.js +156 -0
- package/dist/tools/generate-voice.js.map +1 -0
- package/dist/tools/generation-manager.d.ts +75 -0
- package/dist/tools/generation-manager.d.ts.map +1 -0
- package/dist/tools/generation-manager.js +150 -0
- package/dist/tools/generation-manager.js.map +1 -0
- package/dist/tools/get-datetime.d.ts +11 -0
- package/dist/tools/get-datetime.d.ts.map +1 -0
- package/dist/tools/get-datetime.js +59 -0
- package/dist/tools/get-datetime.js.map +1 -0
- package/dist/tools/git-commit.d.ts +13 -0
- package/dist/tools/git-commit.d.ts.map +1 -0
- package/dist/tools/git-commit.js +136 -0
- package/dist/tools/git-commit.js.map +1 -0
- package/dist/tools/git-create-pr.d.ts +13 -0
- package/dist/tools/git-create-pr.d.ts.map +1 -0
- package/dist/tools/git-create-pr.js +134 -0
- package/dist/tools/git-create-pr.js.map +1 -0
- package/dist/tools/git-diff.d.ts +12 -0
- package/dist/tools/git-diff.d.ts.map +1 -0
- package/dist/tools/git-diff.js +134 -0
- package/dist/tools/git-diff.js.map +1 -0
- package/dist/tools/git.d.ts +11 -0
- package/dist/tools/git.d.ts.map +1 -0
- package/dist/tools/git.js +89 -0
- package/dist/tools/git.js.map +1 -0
- package/dist/tools/glob.d.ts +11 -0
- package/dist/tools/glob.d.ts.map +1 -0
- package/dist/tools/glob.js +64 -0
- package/dist/tools/glob.js.map +1 -0
- package/dist/tools/grep.d.ts +11 -0
- package/dist/tools/grep.d.ts.map +1 -0
- package/dist/tools/grep.js +131 -0
- package/dist/tools/grep.js.map +1 -0
- package/dist/tools/health-catalogue-search.d.ts +11 -0
- package/dist/tools/health-catalogue-search.d.ts.map +1 -0
- package/dist/tools/health-catalogue-search.js +179 -0
- package/dist/tools/health-catalogue-search.js.map +1 -0
- package/dist/tools/health-plan-create.d.ts +24 -0
- package/dist/tools/health-plan-create.d.ts.map +1 -0
- package/dist/tools/health-plan-create.js +325 -0
- package/dist/tools/health-plan-create.js.map +1 -0
- package/dist/tools/health-plan-delete.d.ts +11 -0
- package/dist/tools/health-plan-delete.d.ts.map +1 -0
- package/dist/tools/health-plan-delete.js +97 -0
- package/dist/tools/health-plan-delete.js.map +1 -0
- package/dist/tools/health-plan-list.d.ts +11 -0
- package/dist/tools/health-plan-list.d.ts.map +1 -0
- package/dist/tools/health-plan-list.js +123 -0
- package/dist/tools/health-plan-list.js.map +1 -0
- package/dist/tools/health-plan-update-day.d.ts +18 -0
- package/dist/tools/health-plan-update-day.d.ts.map +1 -0
- package/dist/tools/health-plan-update-day.js +134 -0
- package/dist/tools/health-plan-update-day.js.map +1 -0
- package/dist/tools/health-plan-update.d.ts +11 -0
- package/dist/tools/health-plan-update.d.ts.map +1 -0
- package/dist/tools/health-plan-update.js +103 -0
- package/dist/tools/health-plan-update.js.map +1 -0
- package/dist/tools/health-profile-ask.d.ts +21 -0
- package/dist/tools/health-profile-ask.d.ts.map +1 -0
- package/dist/tools/health-profile-ask.js +50 -0
- package/dist/tools/health-profile-ask.js.map +1 -0
- package/dist/tools/http-request.d.ts +12 -0
- package/dist/tools/http-request.d.ts.map +1 -0
- package/dist/tools/http-request.js +329 -0
- package/dist/tools/http-request.js.map +1 -0
- package/dist/tools/journal.d.ts +17 -0
- package/dist/tools/journal.d.ts.map +1 -0
- package/dist/tools/journal.js +159 -0
- package/dist/tools/journal.js.map +1 -0
- package/dist/tools/learning.d.ts +154 -0
- package/dist/tools/learning.d.ts.map +1 -0
- package/dist/tools/learning.js +1344 -0
- package/dist/tools/learning.js.map +1 -0
- package/dist/tools/list-directory.d.ts +11 -0
- package/dist/tools/list-directory.d.ts.map +1 -0
- package/dist/tools/list-directory.js +95 -0
- package/dist/tools/list-directory.js.map +1 -0
- package/dist/tools/memory-delete.d.ts +11 -0
- package/dist/tools/memory-delete.d.ts.map +1 -0
- package/dist/tools/memory-delete.js +54 -0
- package/dist/tools/memory-delete.js.map +1 -0
- package/dist/tools/memory-recall.d.ts +11 -0
- package/dist/tools/memory-recall.d.ts.map +1 -0
- package/dist/tools/memory-recall.js +101 -0
- package/dist/tools/memory-recall.js.map +1 -0
- package/dist/tools/memory-save.d.ts +11 -0
- package/dist/tools/memory-save.d.ts.map +1 -0
- package/dist/tools/memory-save.js +110 -0
- package/dist/tools/memory-save.js.map +1 -0
- package/dist/tools/memory-update.d.ts +11 -0
- package/dist/tools/memory-update.d.ts.map +1 -0
- package/dist/tools/memory-update.js +88 -0
- package/dist/tools/memory-update.js.map +1 -0
- package/dist/tools/news.d.ts +11 -0
- package/dist/tools/news.d.ts.map +1 -0
- package/dist/tools/news.js +137 -0
- package/dist/tools/news.js.map +1 -0
- package/dist/tools/open-design-studio.d.ts +20 -0
- package/dist/tools/open-design-studio.d.ts.map +1 -0
- package/dist/tools/open-design-studio.js +45 -0
- package/dist/tools/open-design-studio.js.map +1 -0
- package/dist/tools/open-health-room.d.ts +19 -0
- package/dist/tools/open-health-room.d.ts.map +1 -0
- package/dist/tools/open-health-room.js +44 -0
- package/dist/tools/open-health-room.js.map +1 -0
- package/dist/tools/open-learning-room.d.ts +20 -0
- package/dist/tools/open-learning-room.d.ts.map +1 -0
- package/dist/tools/open-learning-room.js +44 -0
- package/dist/tools/open-learning-room.js.map +1 -0
- package/dist/tools/paper-fetch.d.ts +11 -0
- package/dist/tools/paper-fetch.d.ts.map +1 -0
- package/dist/tools/paper-fetch.js +236 -0
- package/dist/tools/paper-fetch.js.map +1 -0
- package/dist/tools/post-performance.d.ts +17 -0
- package/dist/tools/post-performance.d.ts.map +1 -0
- package/dist/tools/post-performance.js +58 -0
- package/dist/tools/post-performance.js.map +1 -0
- package/dist/tools/present-plan.d.ts +34 -0
- package/dist/tools/present-plan.d.ts.map +1 -0
- package/dist/tools/present-plan.js +117 -0
- package/dist/tools/present-plan.js.map +1 -0
- package/dist/tools/project-index.d.ts +11 -0
- package/dist/tools/project-index.d.ts.map +1 -0
- package/dist/tools/project-index.js +88 -0
- package/dist/tools/project-index.js.map +1 -0
- package/dist/tools/propose-hooks.d.ts +17 -0
- package/dist/tools/propose-hooks.d.ts.map +1 -0
- package/dist/tools/propose-hooks.js +71 -0
- package/dist/tools/propose-hooks.js.map +1 -0
- package/dist/tools/propose-tool.d.ts +11 -0
- package/dist/tools/propose-tool.d.ts.map +1 -0
- package/dist/tools/propose-tool.js +155 -0
- package/dist/tools/propose-tool.js.map +1 -0
- package/dist/tools/recipe-repair.d.ts +116 -0
- package/dist/tools/recipe-repair.d.ts.map +1 -0
- package/dist/tools/recipe-repair.js +404 -0
- package/dist/tools/recipe-repair.js.map +1 -0
- package/dist/tools/record-machine-rule.d.ts +24 -0
- package/dist/tools/record-machine-rule.d.ts.map +1 -0
- package/dist/tools/record-machine-rule.js +60 -0
- package/dist/tools/record-machine-rule.js.map +1 -0
- package/dist/tools/release-notes.d.ts +11 -0
- package/dist/tools/release-notes.d.ts.map +1 -0
- package/dist/tools/release-notes.js +59 -0
- package/dist/tools/release-notes.js.map +1 -0
- package/dist/tools/remove-background.d.ts +15 -0
- package/dist/tools/remove-background.d.ts.map +1 -0
- package/dist/tools/remove-background.js +117 -0
- package/dist/tools/remove-background.js.map +1 -0
- package/dist/tools/report-generate.d.ts +30 -0
- package/dist/tools/report-generate.d.ts.map +1 -0
- package/dist/tools/report-generate.js +325 -0
- package/dist/tools/report-generate.js.map +1 -0
- package/dist/tools/research-post.d.ts +20 -0
- package/dist/tools/research-post.d.ts.map +1 -0
- package/dist/tools/research-post.js +87 -0
- package/dist/tools/research-post.js.map +1 -0
- package/dist/tools/research-story.d.ts +29 -0
- package/dist/tools/research-story.d.ts.map +1 -0
- package/dist/tools/research-story.js +78 -0
- package/dist/tools/research-story.js.map +1 -0
- package/dist/tools/rollback.d.ts +11 -0
- package/dist/tools/rollback.d.ts.map +1 -0
- package/dist/tools/rollback.js +81 -0
- package/dist/tools/rollback.js.map +1 -0
- package/dist/tools/scan-industry.d.ts +19 -0
- package/dist/tools/scan-industry.d.ts.map +1 -0
- package/dist/tools/scan-industry.js +82 -0
- package/dist/tools/scan-industry.js.map +1 -0
- package/dist/tools/screenshot.d.ts +11 -0
- package/dist/tools/screenshot.d.ts.map +1 -0
- package/dist/tools/screenshot.js +82 -0
- package/dist/tools/screenshot.js.map +1 -0
- package/dist/tools/secret-request.d.ts +24 -0
- package/dist/tools/secret-request.d.ts.map +1 -0
- package/dist/tools/secret-request.js +75 -0
- package/dist/tools/secret-request.js.map +1 -0
- package/dist/tools/security.d.ts +26 -0
- package/dist/tools/security.d.ts.map +1 -0
- package/dist/tools/security.js +78 -0
- package/dist/tools/security.js.map +1 -0
- package/dist/tools/self-inspect.d.ts +34 -0
- package/dist/tools/self-inspect.d.ts.map +1 -0
- package/dist/tools/self-inspect.js +427 -0
- package/dist/tools/self-inspect.js.map +1 -0
- package/dist/tools/suggest-beats.d.ts +17 -0
- package/dist/tools/suggest-beats.d.ts.map +1 -0
- package/dist/tools/suggest-beats.js +71 -0
- package/dist/tools/suggest-beats.js.map +1 -0
- package/dist/tools/suggest-stories.d.ts +26 -0
- package/dist/tools/suggest-stories.d.ts.map +1 -0
- package/dist/tools/suggest-stories.js +102 -0
- package/dist/tools/suggest-stories.js.map +1 -0
- package/dist/tools/support-request.d.ts +11 -0
- package/dist/tools/support-request.d.ts.map +1 -0
- package/dist/tools/support-request.js +110 -0
- package/dist/tools/support-request.js.map +1 -0
- package/dist/tools/switch-mode.d.ts +21 -0
- package/dist/tools/switch-mode.d.ts.map +1 -0
- package/dist/tools/switch-mode.js +57 -0
- package/dist/tools/switch-mode.js.map +1 -0
- package/dist/tools/task-manage.d.ts +16 -0
- package/dist/tools/task-manage.d.ts.map +1 -0
- package/dist/tools/task-manage.js +256 -0
- package/dist/tools/task-manage.js.map +1 -0
- package/dist/tools/task-suggest.d.ts +27 -0
- package/dist/tools/task-suggest.d.ts.map +1 -0
- package/dist/tools/task-suggest.js +70 -0
- package/dist/tools/task-suggest.js.map +1 -0
- package/dist/tools/test-generate.d.ts +20 -0
- package/dist/tools/test-generate.d.ts.map +1 -0
- package/dist/tools/test-generate.js +259 -0
- package/dist/tools/test-generate.js.map +1 -0
- package/dist/tools/test-run.d.ts +13 -0
- package/dist/tools/test-run.d.ts.map +1 -0
- package/dist/tools/test-run.js +177 -0
- package/dist/tools/test-run.js.map +1 -0
- package/dist/tools/todo-write.d.ts +11 -0
- package/dist/tools/todo-write.d.ts.map +1 -0
- package/dist/tools/todo-write.js +70 -0
- package/dist/tools/todo-write.js.map +1 -0
- package/dist/tools/tool-registry.d.ts +84 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +728 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/tools/types.d.ts +128 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/verification-trust.d.ts +39 -0
- package/dist/tools/verification-trust.d.ts.map +1 -0
- package/dist/tools/verification-trust.js +135 -0
- package/dist/tools/verification-trust.js.map +1 -0
- package/dist/tools/verify-change.d.ts +11 -0
- package/dist/tools/verify-change.d.ts.map +1 -0
- package/dist/tools/verify-change.js +775 -0
- package/dist/tools/verify-change.js.map +1 -0
- package/dist/tools/weather.d.ts +11 -0
- package/dist/tools/weather.d.ts.map +1 -0
- package/dist/tools/weather.js +96 -0
- package/dist/tools/weather.js.map +1 -0
- package/dist/tools/web-search.d.ts +12 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +137 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tools/write-article.d.ts +33 -0
- package/dist/tools/write-article.d.ts.map +1 -0
- package/dist/tools/write-article.js +206 -0
- package/dist/tools/write-article.js.map +1 -0
- package/dist/tools/write-exercise.d.ts +31 -0
- package/dist/tools/write-exercise.d.ts.map +1 -0
- package/dist/tools/write-exercise.js +278 -0
- package/dist/tools/write-exercise.js.map +1 -0
- package/dist/tools/write-post-image.d.ts +31 -0
- package/dist/tools/write-post-image.d.ts.map +1 -0
- package/dist/tools/write-post-image.js +102 -0
- package/dist/tools/write-post-image.js.map +1 -0
- package/dist/tools/write-post.d.ts +20 -0
- package/dist/tools/write-post.d.ts.map +1 -0
- package/dist/tools/write-post.js +113 -0
- package/dist/tools/write-post.js.map +1 -0
- package/dist/tools/write-recipe.d.ts +29 -0
- package/dist/tools/write-recipe.d.ts.map +1 -0
- package/dist/tools/write-recipe.js +262 -0
- package/dist/tools/write-recipe.js.map +1 -0
- package/dist/tools/write-video-post.d.ts +25 -0
- package/dist/tools/write-video-post.d.ts.map +1 -0
- package/dist/tools/write-video-post.js +238 -0
- package/dist/tools/write-video-post.js.map +1 -0
- package/dist/tools/write-voiceover.d.ts +29 -0
- package/dist/tools/write-voiceover.d.ts.map +1 -0
- package/dist/tools/write-voiceover.js +98 -0
- package/dist/tools/write-voiceover.js.map +1 -0
- package/dist/workflows/index.d.ts +4 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +2 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/types.d.ts +112 -0
- package/dist/workflows/types.d.ts.map +1 -0
- package/dist/workflows/types.js +10 -0
- package/dist/workflows/types.js.map +1 -0
- package/dist/workflows/workflow-manager.d.ts +54 -0
- package/dist/workflows/workflow-manager.d.ts.map +1 -0
- package/dist/workflows/workflow-manager.js +277 -0
- package/dist/workflows/workflow-manager.js.map +1 -0
- package/package.json +223 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Tool, ToolResult, ToolExecutionContext, ToolRiskLevel } from './types.js';
|
|
2
|
+
import type { FunctionSchema } from '../providers/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Emit a finished recipe to the Pantry drafts — one call per dish.
|
|
5
|
+
*
|
|
6
|
+
* This does the deterministic work the model cannot be trusted with, in the
|
|
7
|
+
* same spirit as write_article's quote check: it does not ASK for a cookable
|
|
8
|
+
* recipe, it makes an uncookable one FAIL.
|
|
9
|
+
*
|
|
10
|
+
* - The shopping-list check runs before anything is saved. A version whose
|
|
11
|
+
* method names an ingredient its list does not have is REFUSED, and the
|
|
12
|
+
* missing items come back as fix-instructions. The reader finding out at the
|
|
13
|
+
* hob is the one failure this desk exists to prevent.
|
|
14
|
+
*
|
|
15
|
+
* - Every recipe lands UNPUBLISHED. Ava drafts, the operator publishes —
|
|
16
|
+
* exactly as the newsroom works.
|
|
17
|
+
*
|
|
18
|
+
* Refusals are instructions, not scolding: she adds the line or fixes the step
|
|
19
|
+
* and re-calls in the same turn.
|
|
20
|
+
*/
|
|
21
|
+
export declare class WriteRecipeTool implements Tool {
|
|
22
|
+
readonly name = "write_recipe";
|
|
23
|
+
readonly description = "Emit a finished recipe as a draft. ONE call per dish, with all three skill-level versions. Every ingredient a version's method names must be in that version's ingredients (shared or level-specific) \u2014 this is CHECKED, and a version that fails is refused with the missing items. Recipes land unpublished; the operator publishes.";
|
|
24
|
+
readonly riskLevel: ToolRiskLevel;
|
|
25
|
+
readonly requiresConfirmation = false;
|
|
26
|
+
readonly schema: FunctionSchema;
|
|
27
|
+
execute(args: Record<string, unknown>, context: ToolExecutionContext): Promise<ToolResult>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=write-recipe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-recipe.d.ts","sourceRoot":"","sources":["../../src/tools/write-recipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAO5D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,eAAgB,YAAW,IAAI;IAC1C,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,iVACyT;IAC7U,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAW;IAC5C,QAAQ,CAAC,oBAAoB,SAAS;IAEtC,QAAQ,CAAC,MAAM,EAAE,cAAc,CA+E7B;IAEI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;CAyKjG"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
const LEVELS = ['beginner', 'intermediate', 'expert'];
|
|
2
|
+
/**
|
|
3
|
+
* Emit a finished recipe to the Pantry drafts — one call per dish.
|
|
4
|
+
*
|
|
5
|
+
* This does the deterministic work the model cannot be trusted with, in the
|
|
6
|
+
* same spirit as write_article's quote check: it does not ASK for a cookable
|
|
7
|
+
* recipe, it makes an uncookable one FAIL.
|
|
8
|
+
*
|
|
9
|
+
* - The shopping-list check runs before anything is saved. A version whose
|
|
10
|
+
* method names an ingredient its list does not have is REFUSED, and the
|
|
11
|
+
* missing items come back as fix-instructions. The reader finding out at the
|
|
12
|
+
* hob is the one failure this desk exists to prevent.
|
|
13
|
+
*
|
|
14
|
+
* - Every recipe lands UNPUBLISHED. Ava drafts, the operator publishes —
|
|
15
|
+
* exactly as the newsroom works.
|
|
16
|
+
*
|
|
17
|
+
* Refusals are instructions, not scolding: she adds the line or fixes the step
|
|
18
|
+
* and re-calls in the same turn.
|
|
19
|
+
*/
|
|
20
|
+
export class WriteRecipeTool {
|
|
21
|
+
name = 'write_recipe';
|
|
22
|
+
description = 'Emit a finished recipe as a draft. ONE call per dish, with all three skill-level versions. Every ingredient a version\'s method names must be in that version\'s ingredients (shared or level-specific) — this is CHECKED, and a version that fails is refused with the missing items. Recipes land unpublished; the operator publishes.';
|
|
23
|
+
riskLevel = 'write';
|
|
24
|
+
requiresConfirmation = false;
|
|
25
|
+
schema = {
|
|
26
|
+
name: 'write_recipe',
|
|
27
|
+
description: 'Emit the finished recipe as a draft card. Call ONCE per dish, with beginner, intermediate and expert versions. Ingredients are shared across versions except where a level genuinely needs a different item (the beginner\'s jarred paste, the expert\'s whole spices) — mark those with a level. Every ingredient named in any version\'s steps is CHECKED against that version\'s list; a version that names something unlisted is rejected and you fix it. A level-specific item is a different FORM of something the dish needs, never a new flavour it does not carry.',
|
|
28
|
+
parameters: {
|
|
29
|
+
type: 'object',
|
|
30
|
+
properties: {
|
|
31
|
+
name: { type: 'string', description: 'The canonical dish name.' },
|
|
32
|
+
seed_id: { type: 'string', description: 'If you were asked to write a dish FROM a seed (the request names a seed id), pass it here so the seed is marked built and leaves the backlog.' },
|
|
33
|
+
cuisines: {
|
|
34
|
+
type: 'array', items: { type: 'string' },
|
|
35
|
+
description: 'REQUIRED. Every cuisine this dish belongs to, most-associated FIRST — that one becomes its primary. Names or slugs both work ("Argentine", "argentine"). A dish eaten across a whole region — pita, hummus, dolma, baklava — is ONE recipe listed under every cuisine that claims it, never a separate copy each. Most dishes have exactly one.',
|
|
36
|
+
},
|
|
37
|
+
cuisine_slug: { type: 'string', description: 'Deprecated — use cuisines. A single cuisine slug.' },
|
|
38
|
+
origin_country: { type: 'string' },
|
|
39
|
+
course: { type: 'string', enum: ['main', 'starter', 'dessert', 'breakfast', 'side', 'snack'] },
|
|
40
|
+
overview: { type: 'string', description: 'What the dish is and why it matters. No breathless food-blog throat-clearing.' },
|
|
41
|
+
source_attribution: { type: 'string', description: 'Where the recipe is adapted from, if anywhere specific.' },
|
|
42
|
+
cost_tier: { type: 'string', enum: ['budget', 'moderate', 'special'], description: 'Rough cost to make.' },
|
|
43
|
+
hero_image_prompt: { type: 'string', description: 'The subject of the hero photograph — the finished dish, plated honestly.' },
|
|
44
|
+
ingredients: {
|
|
45
|
+
type: 'array',
|
|
46
|
+
description: 'The shopping list. Most items are shared; give an item a "level" ONLY when it belongs to that skill level alone.',
|
|
47
|
+
items: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
name: { type: 'string', description: 'Singular, no quantity in the name.' },
|
|
51
|
+
quantity: { type: 'number' },
|
|
52
|
+
unit: { type: 'string' },
|
|
53
|
+
notes: { type: 'string', description: 'Prep notes that do not vary by level, e.g. "fresh, not dried".' },
|
|
54
|
+
optional: { type: 'boolean' },
|
|
55
|
+
level: { type: 'string', enum: ['beginner', 'intermediate', 'expert'], description: 'OMIT for shared items. Set only when the item belongs to that level alone.' },
|
|
56
|
+
},
|
|
57
|
+
required: ['name'],
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
versions: {
|
|
61
|
+
type: 'object',
|
|
62
|
+
description: 'The three skill levels. Same dish, technique differs.',
|
|
63
|
+
properties: Object.fromEntries(LEVELS.map((l) => [l, {
|
|
64
|
+
type: 'object',
|
|
65
|
+
properties: {
|
|
66
|
+
description: { type: 'string', description: `What's different about the ${l} version.` },
|
|
67
|
+
prep_time_minutes: { type: 'number' },
|
|
68
|
+
cook_time_minutes: { type: 'number' },
|
|
69
|
+
total_time_minutes: { type: 'number' },
|
|
70
|
+
default_servings: { type: 'number' },
|
|
71
|
+
steps: {
|
|
72
|
+
type: 'array',
|
|
73
|
+
items: {
|
|
74
|
+
type: 'object',
|
|
75
|
+
properties: {
|
|
76
|
+
action: { type: 'string', description: 'One imperative sentence.' },
|
|
77
|
+
notes: { type: 'string' },
|
|
78
|
+
technique_term: { type: 'string' },
|
|
79
|
+
time_estimate_seconds: { type: 'number' },
|
|
80
|
+
tricky_flag: { type: 'boolean' },
|
|
81
|
+
},
|
|
82
|
+
required: ['action'],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
diets: { type: 'array', items: { type: 'string' } },
|
|
86
|
+
dietary_flags: { type: 'array', items: { type: 'string' } },
|
|
87
|
+
nutrition: {
|
|
88
|
+
type: 'object',
|
|
89
|
+
description: 'REQUIRED. Per-serving estimate for THIS version: total the dish from this version\'s ingredient quantities, then divide by default_servings. Give calories (kcal) plus protein_g, carbs_g, fat_g, fibre_g, sugar_g, saturated_fat_g and sodium_mg. Estimate honestly and conservatively — it is stored and shown AS an estimate, never as a lab figure. A meal plan cannot total a day without this, so do not omit it.',
|
|
90
|
+
properties: {
|
|
91
|
+
calories: { type: 'number' }, protein_g: { type: 'number' }, carbs_g: { type: 'number' },
|
|
92
|
+
fat_g: { type: 'number' }, fibre_g: { type: 'number' }, sugar_g: { type: 'number' },
|
|
93
|
+
saturated_fat_g: { type: 'number' }, sodium_mg: { type: 'number' },
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
required: ['steps', 'nutrition'],
|
|
98
|
+
}])),
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
required: ['name', 'ingredients', 'versions'],
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
async execute(args, context) {
|
|
105
|
+
const store = context.sharedState?.recipeStore;
|
|
106
|
+
if (!store) {
|
|
107
|
+
return { success: false, output: 'Recipe storage is not available in this context. The host must inject `recipeStore` into shared state.' };
|
|
108
|
+
}
|
|
109
|
+
const name = String(args.name ?? '').trim();
|
|
110
|
+
if (!name)
|
|
111
|
+
return { success: false, output: 'write_recipe requires a dish name.' };
|
|
112
|
+
// Ingredients
|
|
113
|
+
const rawIngredients = Array.isArray(args.ingredients) ? args.ingredients : [];
|
|
114
|
+
const ingredients = rawIngredients
|
|
115
|
+
.map((i) => {
|
|
116
|
+
const o = (i && typeof i === 'object') ? i : {};
|
|
117
|
+
const lvl = typeof o.level === 'string' ? o.level.toLowerCase().trim() : '';
|
|
118
|
+
return {
|
|
119
|
+
name: String(o.name ?? '').trim(),
|
|
120
|
+
quantity: typeof o.quantity === 'number' ? o.quantity : null,
|
|
121
|
+
unit: o.unit ? String(o.unit) : null,
|
|
122
|
+
notes: o.notes ? String(o.notes) : null,
|
|
123
|
+
optional: o.optional === true,
|
|
124
|
+
level: LEVELS.includes(lvl) ? lvl : null,
|
|
125
|
+
};
|
|
126
|
+
})
|
|
127
|
+
.filter((i) => i.name);
|
|
128
|
+
if (ingredients.length === 0) {
|
|
129
|
+
return { success: false, output: 'REFUSED: a recipe with no ingredients cannot be cooked. List what the cook buys.' };
|
|
130
|
+
}
|
|
131
|
+
// Versions
|
|
132
|
+
const rawVersions = (args.versions && typeof args.versions === 'object') ? args.versions : {};
|
|
133
|
+
const versions = [];
|
|
134
|
+
for (const level of LEVELS) {
|
|
135
|
+
const v = (rawVersions[level] && typeof rawVersions[level] === 'object') ? rawVersions[level] : null;
|
|
136
|
+
if (!v)
|
|
137
|
+
continue;
|
|
138
|
+
const steps = (Array.isArray(v.steps) ? v.steps : [])
|
|
139
|
+
.map((s) => {
|
|
140
|
+
const o = (s && typeof s === 'object') ? s : {};
|
|
141
|
+
return {
|
|
142
|
+
action: String(o.action ?? '').trim(),
|
|
143
|
+
notes: o.notes ? String(o.notes) : null,
|
|
144
|
+
technique_term: o.technique_term ? String(o.technique_term) : null,
|
|
145
|
+
time_estimate_seconds: typeof o.time_estimate_seconds === 'number' ? o.time_estimate_seconds : null,
|
|
146
|
+
tricky_flag: o.tricky_flag === true,
|
|
147
|
+
};
|
|
148
|
+
})
|
|
149
|
+
.filter((s) => s.action);
|
|
150
|
+
if (!steps.length)
|
|
151
|
+
continue;
|
|
152
|
+
versions.push({
|
|
153
|
+
level,
|
|
154
|
+
description: v.description ? String(v.description) : undefined,
|
|
155
|
+
prep_time_minutes: typeof v.prep_time_minutes === 'number' ? v.prep_time_minutes : null,
|
|
156
|
+
cook_time_minutes: typeof v.cook_time_minutes === 'number' ? v.cook_time_minutes : null,
|
|
157
|
+
total_time_minutes: typeof v.total_time_minutes === 'number' ? v.total_time_minutes : null,
|
|
158
|
+
default_servings: typeof v.default_servings === 'number' ? v.default_servings : 4,
|
|
159
|
+
steps,
|
|
160
|
+
diets: Array.isArray(v.diets) ? v.diets.map(String) : [],
|
|
161
|
+
dietary_flags: Array.isArray(v.dietary_flags) ? v.dietary_flags.map(String) : [],
|
|
162
|
+
nutrition: (v.nutrition && typeof v.nutrition === 'object') ? v.nutrition : undefined,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
if (versions.length === 0) {
|
|
166
|
+
return { success: false, output: 'REFUSED: a recipe needs at least one skill-level version with steps.' };
|
|
167
|
+
}
|
|
168
|
+
// A recipe with no cuisine is invisible: the library browses BY cuisine, so
|
|
169
|
+
// it lands in the database and nowhere a cook would ever find it. Every one
|
|
170
|
+
// of the other 930 recipes has one — the two that didn't were both written
|
|
171
|
+
// through this tool, back when it collected the field and dropped it.
|
|
172
|
+
const cuisineList = [
|
|
173
|
+
...(Array.isArray(args.cuisines) ? args.cuisines.map((c) => String(c).trim()) : []),
|
|
174
|
+
...(args.cuisine_slug ? [String(args.cuisine_slug).trim()] : []),
|
|
175
|
+
].filter(Boolean);
|
|
176
|
+
if (!cuisineList.length) {
|
|
177
|
+
return {
|
|
178
|
+
success: false,
|
|
179
|
+
output: 'REFUSED: no cuisine. Give `cuisines` — every cuisine this dish belongs to, most-associated first. ' +
|
|
180
|
+
'A recipe with none is browsable from nowhere. If the dish is eaten across a region, list them all on THIS recipe rather than writing a copy per cuisine.',
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
// Nutrition is what a meal plan totals a day from. A version without it is
|
|
184
|
+
// a hole in the Plans feature, and the omission is invisible once saved —
|
|
185
|
+
// so catch it here rather than discovering empty columns later.
|
|
186
|
+
const missingNutrition = versions.filter((v) => !v.nutrition || Object.keys(v.nutrition).length === 0);
|
|
187
|
+
if (missingNutrition.length) {
|
|
188
|
+
return {
|
|
189
|
+
success: false,
|
|
190
|
+
output: `REFUSED: no nutrition on ${missingNutrition.map((v) => v.level).join(', ')}. ` +
|
|
191
|
+
'Give a per-serving estimate for each version — total that version\'s ingredient quantities and divide by its servings. ' +
|
|
192
|
+
'Calories plus protein, carbs, fat, fibre, sugar, saturated fat and sodium. Estimate honestly; it is stored and shown as an estimate, not a lab figure. ' +
|
|
193
|
+
'A meal plan cannot total a day without it.',
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
const recipe = {
|
|
197
|
+
name,
|
|
198
|
+
seed_id: args.seed_id ? String(args.seed_id) : null,
|
|
199
|
+
cuisines: cuisineList,
|
|
200
|
+
cuisine_slug: args.cuisine_slug ? String(args.cuisine_slug) : null,
|
|
201
|
+
origin_country: args.origin_country ? String(args.origin_country) : null,
|
|
202
|
+
course: args.course ? String(args.course) : null,
|
|
203
|
+
overview: args.overview ? String(args.overview) : null,
|
|
204
|
+
source_attribution: args.source_attribution ? String(args.source_attribution) : null,
|
|
205
|
+
cost_tier: (['budget', 'moderate', 'special'].includes(String(args.cost_tier)) ? args.cost_tier : null),
|
|
206
|
+
hero_image_prompt: args.hero_image_prompt ? String(args.hero_image_prompt) : null,
|
|
207
|
+
ingredients,
|
|
208
|
+
versions,
|
|
209
|
+
};
|
|
210
|
+
// ── The shopping-list law: cookable-from-its-own-list, or it does not land ──
|
|
211
|
+
const check = await store.check(recipe);
|
|
212
|
+
if (check.status === 'fail') {
|
|
213
|
+
const byLevel = new Map();
|
|
214
|
+
for (const f of check.findings) {
|
|
215
|
+
const arr = byLevel.get(f.level) ?? [];
|
|
216
|
+
arr.push(f.term);
|
|
217
|
+
byLevel.set(f.level, arr);
|
|
218
|
+
}
|
|
219
|
+
const detail = [...byLevel.entries()]
|
|
220
|
+
.map(([lvl, terms]) => ` · ${lvl}: ${terms.join(', ')}`)
|
|
221
|
+
.join('\n');
|
|
222
|
+
return {
|
|
223
|
+
success: false,
|
|
224
|
+
output: `REFUSED: the method names ingredients the shopping list does not have:\n${detail}\n\n` +
|
|
225
|
+
'Someone shops from this list and then cooks from these steps — anything named but unlisted is something they do not have, standing at the hob. ' +
|
|
226
|
+
'Fix it one of two ways and call write_recipe again: add the missing item to the ingredients (shared, or that level\'s own if only that version uses it), or change the step so it uses what is listed. ' +
|
|
227
|
+
'Do not remove the check by rewording around it — the cook still needs the thing.',
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
const { id, error: saveError } = await store.save(recipe);
|
|
231
|
+
// A save that returns no id did NOT happen. Reporting success here is how a
|
|
232
|
+
// recipe that was never written got announced as "written and checked
|
|
233
|
+
// clean" — the tool lied to her, and she passed the lie on in good faith.
|
|
234
|
+
// If the store could not persist it, say so and let her raise it.
|
|
235
|
+
if (!id) {
|
|
236
|
+
return {
|
|
237
|
+
success: false,
|
|
238
|
+
output: saveError
|
|
239
|
+
// A stated reason is usually something she can act on — a cuisine
|
|
240
|
+
// that didn't match, say. Give it to her verbatim and let her retry.
|
|
241
|
+
? `The recipe passed its checks but COULD NOT BE SAVED: ${saveError}. Nothing was written. Do not report this recipe as created — fix the cause and call write_recipe again.`
|
|
242
|
+
: 'The recipe passed its checks but COULD NOT BE SAVED — the store returned no id, so nothing was written. ' +
|
|
243
|
+
'Do not report this recipe as created. Tell the operator it failed to save so they can look at the logs; ' +
|
|
244
|
+
'retrying the same call is unlikely to help if the cause is server-side.',
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
return {
|
|
248
|
+
success: true,
|
|
249
|
+
output: JSON.stringify({
|
|
250
|
+
ok: true,
|
|
251
|
+
id,
|
|
252
|
+
name,
|
|
253
|
+
versions: versions.map((v) => v.level),
|
|
254
|
+
ingredients: ingredients.length,
|
|
255
|
+
level_specific: ingredients.filter((i) => i.level).length,
|
|
256
|
+
check: 'passed',
|
|
257
|
+
note: 'Recipe drafted (unpublished). Every version\'s method was checked against its own shopping list.',
|
|
258
|
+
}),
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=write-recipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-recipe.js","sourceRoot":"","sources":["../../src/tools/write-recipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Tool, ToolResult, ToolExecutionContext, ToolRiskLevel } from './types.js';
|
|
2
|
+
import type { FunctionSchema } from '../providers/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Emit a finished SHORT-FORM VIDEO POST — the clip, the voiceover, and the
|
|
5
|
+
* caption as one artefact.
|
|
6
|
+
*
|
|
7
|
+
* The split mirrors write_post: this tool does the surface-free work (validate
|
|
8
|
+
* the three parts, enforce the caption cap deterministically) and the injected
|
|
9
|
+
* `videoPostStore` does everything that needs a provider key — rendering her
|
|
10
|
+
* voice and submitting the generation job.
|
|
11
|
+
*
|
|
12
|
+
* The one thing that differs from every other card: what comes back is a JOB,
|
|
13
|
+
* not a finished video. Generation runs for minutes and outlives the turn, so
|
|
14
|
+
* the caption ships immediately and the picture arrives later. She must not
|
|
15
|
+
* describe a clip she has not seen.
|
|
16
|
+
*/
|
|
17
|
+
export declare class WriteVideoPostTool implements Tool {
|
|
18
|
+
readonly name = "write_video_post";
|
|
19
|
+
readonly description = "Emit a finished short-form video post \u2014 the clip, your voiceover, and the caption together. One call per video.";
|
|
20
|
+
readonly riskLevel: ToolRiskLevel;
|
|
21
|
+
readonly requiresConfirmation = false;
|
|
22
|
+
readonly schema: FunctionSchema;
|
|
23
|
+
execute(args: Record<string, unknown>, context: ToolExecutionContext): Promise<ToolResult>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=write-video-post.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-video-post.d.ts","sourceRoot":"","sources":["../../src/tools/write-video-post.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAO5D;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAmB,YAAW,IAAI;IAC7C,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,WAAW,0HACgG;IACpH,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAW;IAC5C,QAAQ,CAAC,oBAAoB,SAAS;IAEtC,QAAQ,CAAC,MAAM,EAAE,cAAc,CA8C7B;IAEI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;CAmLjG"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { VIDEO_CAPTION_LIMITS } from '../social/index.js';
|
|
2
|
+
/** Every video carries the link. Lower-case for the idempotency check; the
|
|
3
|
+
* appended form is the same string, so it reads as written. */
|
|
4
|
+
const AVA_URL = 'avasupernova.com';
|
|
5
|
+
/**
|
|
6
|
+
* Emit a finished SHORT-FORM VIDEO POST — the clip, the voiceover, and the
|
|
7
|
+
* caption as one artefact.
|
|
8
|
+
*
|
|
9
|
+
* The split mirrors write_post: this tool does the surface-free work (validate
|
|
10
|
+
* the three parts, enforce the caption cap deterministically) and the injected
|
|
11
|
+
* `videoPostStore` does everything that needs a provider key — rendering her
|
|
12
|
+
* voice and submitting the generation job.
|
|
13
|
+
*
|
|
14
|
+
* The one thing that differs from every other card: what comes back is a JOB,
|
|
15
|
+
* not a finished video. Generation runs for minutes and outlives the turn, so
|
|
16
|
+
* the caption ships immediately and the picture arrives later. She must not
|
|
17
|
+
* describe a clip she has not seen.
|
|
18
|
+
*/
|
|
19
|
+
export class WriteVideoPostTool {
|
|
20
|
+
name = 'write_video_post';
|
|
21
|
+
description = 'Emit a finished short-form video post — the clip, your voiceover, and the caption together. One call per video.';
|
|
22
|
+
riskLevel = 'write';
|
|
23
|
+
requiresConfirmation = false;
|
|
24
|
+
schema = {
|
|
25
|
+
name: 'write_video_post',
|
|
26
|
+
description: 'Emit a finished SHORT-FORM VIDEO POST — the clip, the voiceover in your own voice, and the caption, as one artefact. Use when the idea wants to be a video rather than text (TikTok, Reels, Shorts). Call it ONCE PER VIDEO. Do not write the script or caption in your narration — only call this tool. Generation takes a couple of minutes and finishes after your turn, so say what you made and why that angle; never claim you have watched it back.',
|
|
27
|
+
parameters: {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
platform: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
enum: ['tiktok', 'instagram', 'youtube', 'facebook'],
|
|
33
|
+
description: 'Where this is going. All four are vertical short-form (9:16); "youtube" means Shorts, "instagram" means Reels, "facebook" means Reels on our Page.',
|
|
34
|
+
},
|
|
35
|
+
visual: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
description: 'What is ON SCREEN, written as a video generation prompt — subject, action, setting, camera movement, lighting, mood. Not the caption and not the script; the shot. Be concrete: the model cannot render an abstraction like "the feeling of trust", but it can render a hand stopping halfway to a pan.',
|
|
38
|
+
},
|
|
39
|
+
script: {
|
|
40
|
+
type: 'string',
|
|
41
|
+
description: 'What YOU SAY over the clip, spoken in your own voice. Written to be heard, not read — short sentences, no hashtags, no emoji, no "link in bio". A voiced clip is ALWAYS 10 seconds and the line must land between 17 and 22 words — AIM AT 20-22, because that is what fills the clip. Timed against the real voice: 22 words runs ~9.1s, 17 words ~7.0s, and 12 words is under 5s, which leaves half the video playing in silence. The ceiling keeps the voice inside the picture — a voice still talking after the clip stops is the most obviously broken thing a short can do. The floor keeps the picture from running on alone (and under 3 seconds Wan refuses the audio outright, so the clip fails to render at all). Both bounds are enforced. Omit entirely for a silent clip carried by on-screen text.',
|
|
42
|
+
},
|
|
43
|
+
caption: {
|
|
44
|
+
type: 'string',
|
|
45
|
+
description: 'The post copy that goes in the caption box, ready to paste. The first line is the hook that decides whether anyone watches. It must NOT restate the voiceover — the script is heard and the caption is read, so saying the same thing twice wastes one of them; the caption carries what the voice cannot (the dish or movement by NAME, the concrete detail, why it exists). Write it to be SEARCHED: caption keywords now do more for discovery than hashtags, so the subject belongs in the words and not only in the tags. A one-liner plus two tags is not a caption. Hashtags inline per the platform tag policy. The link to avasupernova.com is appended automatically — do not write it yourself, and never write "link in bio".',
|
|
46
|
+
},
|
|
47
|
+
duration: {
|
|
48
|
+
type: 'number',
|
|
49
|
+
description: 'Clip length in seconds. Keep it to what the script actually needs — a padded clip loses the viewer.',
|
|
50
|
+
},
|
|
51
|
+
title: { type: 'string', description: 'Optional short title for the library.' },
|
|
52
|
+
hashtags: {
|
|
53
|
+
type: 'array',
|
|
54
|
+
items: { type: 'string' },
|
|
55
|
+
description: 'The hashtags you chose, so the UI can show them as an editable chip row. Within the platform tag policy.',
|
|
56
|
+
},
|
|
57
|
+
tag_note: { type: 'string', description: 'One short line on why these tags.' },
|
|
58
|
+
recipe: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
description: 'For a FOOD video: the name of a dish we already have a photograph of. Naming it animates OUR hero image rather than generating a stranger version of the dish — the picture is already the food, so it cannot misrepresent it. Use this for anything about a recipe. When you do, describe only gentle motion in the visual (steam, a slow push in, light shifting) and say what stays STILL; a locked plate is the whole point.',
|
|
61
|
+
},
|
|
62
|
+
seed: {
|
|
63
|
+
type: 'number',
|
|
64
|
+
description: 'Reuse the seed a previous clip reported to change ONE thing and see only that thing change. Without it every attempt is a different clip entirely, which is re-rolling rather than fixing. Omit for a genuinely new idea.',
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
required: ['platform', 'visual', 'caption'],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
async execute(args, context) {
|
|
71
|
+
const store = context.sharedState?.videoPostStore;
|
|
72
|
+
if (!store) {
|
|
73
|
+
return {
|
|
74
|
+
success: false,
|
|
75
|
+
output: 'Video posts are not available in this context. The host must inject `videoPostStore` into shared state.',
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
// NO silent default. This used to fall back to 'tiktok', so a video the
|
|
79
|
+
// operator never chose a home for quietly became a TikTok post — and the
|
|
80
|
+
// platform decides the aspect, the tag policy and the whole register of the
|
|
81
|
+
// caption. Guessing it is not a small convenience, it is picking the
|
|
82
|
+
// audience on their behalf. Missing means ASK, not assume.
|
|
83
|
+
const platform = (args.platform || '').trim();
|
|
84
|
+
if (!platform) {
|
|
85
|
+
return {
|
|
86
|
+
success: false,
|
|
87
|
+
output: 'write_video_post needs a platform and there is no default — the platform decides the tag policy, '
|
|
88
|
+
+ 'the caption register and where this lands. If the operator has not said, ASK which one (or which '
|
|
89
|
+
+ 'ones) before calling this again: tiktok, instagram, youtube or facebook.',
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const visual = (args.visual || '').trim();
|
|
93
|
+
const caption = (args.caption || '').trim();
|
|
94
|
+
const script = (args.script || '').trim();
|
|
95
|
+
if (!visual) {
|
|
96
|
+
return { success: false, output: 'write_video_post requires a visual — describe what is on screen.' };
|
|
97
|
+
}
|
|
98
|
+
if (!caption) {
|
|
99
|
+
return { success: false, output: 'write_video_post requires a caption — the clip is only half the post.' };
|
|
100
|
+
}
|
|
101
|
+
// Same deterministic enforcement as write_post: count by code point and
|
|
102
|
+
// hand back the exact overage, so she trims and re-calls in the same turn.
|
|
103
|
+
// THE LINK GOES ON EVERY VIDEO, and it is appended here rather than asked
|
|
104
|
+
// for. A rule the model has to remember is a rule that is missing from the
|
|
105
|
+
// one post that mattered — and a video nobody can act on is a video that
|
|
106
|
+
// did nothing. Idempotent: if she already wrote it, it is not doubled.
|
|
107
|
+
const withLink = caption.toLowerCase().includes(AVA_URL)
|
|
108
|
+
? caption
|
|
109
|
+
: `${caption}\n\n${AVA_URL}`;
|
|
110
|
+
// Enforced AFTER the link, because the link is not optional — if adding it
|
|
111
|
+
// breaks the cap then the caption is what gives, not the link.
|
|
112
|
+
const hardLimit = VIDEO_CAPTION_LIMITS[platform];
|
|
113
|
+
if (hardLimit) {
|
|
114
|
+
const len = Array.from(withLink).length;
|
|
115
|
+
if (len > hardLimit) {
|
|
116
|
+
const over = len - hardLimit;
|
|
117
|
+
return {
|
|
118
|
+
success: false,
|
|
119
|
+
output: `This ${platform} caption is ${len} characters with the ${AVA_URL} link appended — ` +
|
|
120
|
+
`${over} over the ${hardLimit} limit. Trim ${over}+ characters from the caption and ` +
|
|
121
|
+
`call write_video_post again. The link is not optional; the words are what give.`,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// ── The voiceover has to FIT ─────────────────────────────────────────
|
|
126
|
+
// We hand Wan a finished audio file, so we cannot offset when it starts —
|
|
127
|
+
// the only lever is making the speech short enough to sit inside the clip.
|
|
128
|
+
// Budget: the duration minus a second of air at each end, at roughly two
|
|
129
|
+
// words a second. A 10s clip is therefore about 16 words, NOT the 20-25 the
|
|
130
|
+
// guidance used to claim — that was 10-12 seconds of speech over a 10 second
|
|
131
|
+
// clip, which is why the voice ran past the end.
|
|
132
|
+
//
|
|
133
|
+
// And a FLOOR, which the ceiling alone hid. Wan refuses any supplied audio
|
|
134
|
+
// under 3.0 seconds outright — "duration should be at least 3.0s, got
|
|
135
|
+
// 1.68s" — so a very short line does not sound sparse, it fails to render.
|
|
136
|
+
// At two words a second that floor is about six words, which is ALSO the
|
|
137
|
+
// ceiling for a 5s clip: the window for a voiced 5s clip is empty, every
|
|
138
|
+
// script short enough to fit being too short to accept. So a voiced clip is
|
|
139
|
+
// always 10s. Found the hard way after a six-word line killed every food
|
|
140
|
+
// video with a generic "generation failed".
|
|
141
|
+
// MEASURED through the real voice — qwen3-tts-instruct-flash, the 'Maia'
|
|
142
|
+
// brand voice, the shipped voice direction, timed off the returned WAV
|
|
143
|
+
// headers rather than derived from an assumed rate:
|
|
144
|
+
//
|
|
145
|
+
// 6w -> 2.16s 10w -> 3.76s 14w -> 5.52s 17w -> 7.04s 25w -> 10.00s
|
|
146
|
+
//
|
|
147
|
+
// She runs 2.41-2.78 words a second, slowest on the longer lines. So a 10s
|
|
148
|
+
// clip holds about 22 words.
|
|
149
|
+
//
|
|
150
|
+
// The floor used to be 12, set to clear Wan's 3s minimum and nothing else.
|
|
151
|
+
// Twelve words is under five seconds — half a ten second clip — and a floor
|
|
152
|
+
// is exactly where a model writes to when the tool keeps rejecting it, so
|
|
153
|
+
// every voiced clip came back half silent. The floor now exists to FILL the
|
|
154
|
+
// clip rather than merely to be accepted.
|
|
155
|
+
//
|
|
156
|
+
// NOTE: this rate belongs to Maia. The brand voice is not yet ratified, and
|
|
157
|
+
// the roster varies a lot — the same lines through 'Cherry' run 1.92-2.42
|
|
158
|
+
// w/s, which would put the ceiling at 18 rather than 22. If AVA_BRAND_VOICE
|
|
159
|
+
// changes, re-measure; do not carry these numbers over.
|
|
160
|
+
const MIN_SPEECH_SECONDS = 3.0;
|
|
161
|
+
const SLOWEST_WORDS_PER_SECOND = 2.41;
|
|
162
|
+
/** Speech has to end before the picture does; 0.5s of air is enough. */
|
|
163
|
+
const TRAILING_AIR_SECONDS = 0.5;
|
|
164
|
+
const MIN_WORDS = 17;
|
|
165
|
+
const wantsVoice = !!script;
|
|
166
|
+
const plannedDuration = wantsVoice || (typeof args.duration === 'number' && args.duration > 7.5) ? 10 : 5;
|
|
167
|
+
if (script) {
|
|
168
|
+
const words = script.split(/\s+/).filter(Boolean).length;
|
|
169
|
+
const speakable = Math.max(1, plannedDuration - TRAILING_AIR_SECONDS);
|
|
170
|
+
const budget = Math.floor(speakable * SLOWEST_WORDS_PER_SECOND);
|
|
171
|
+
const floor = MIN_WORDS;
|
|
172
|
+
if (words > budget) {
|
|
173
|
+
return {
|
|
174
|
+
success: false,
|
|
175
|
+
output: `That script is ${words} words and will not fit. A ${plannedDuration}s clip holds about ${budget} words ` +
|
|
176
|
+
`at the speed you actually speak. Cut ${words - budget} and call write_video_post again — a voice ` +
|
|
177
|
+
`still talking after the picture stops is the most obviously broken thing a short can do.`,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
if (words < floor) {
|
|
181
|
+
return {
|
|
182
|
+
success: false,
|
|
183
|
+
output: `That script is only ${words} words — roughly ${(words / SLOWEST_WORDS_PER_SECOND).toFixed(1)}s of speech ` +
|
|
184
|
+
`in a ${plannedDuration}s clip, so the rest of the video would play in silence. Write ${floor}-${budget} words ` +
|
|
185
|
+
`and aim at the top of that range: ${budget} words fills the clip, ${floor} barely covers two thirds ` +
|
|
186
|
+
`of it. (Under ${MIN_SPEECH_SECONDS}s Wan refuses the audio outright and nothing renders at all.) ` +
|
|
187
|
+
`Or drop the script entirely for a silent clip carried by on-screen text.`,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
const post = {
|
|
192
|
+
platform,
|
|
193
|
+
visual,
|
|
194
|
+
script: script || undefined,
|
|
195
|
+
caption: withLink,
|
|
196
|
+
duration: typeof args.duration === 'number' ? args.duration : undefined,
|
|
197
|
+
title: (args.title?.trim()) || undefined,
|
|
198
|
+
hashtags: Array.isArray(args.hashtags)
|
|
199
|
+
? args.hashtags.map(h => String(h).trim().replace(/^#/, '')).filter(Boolean)
|
|
200
|
+
: [],
|
|
201
|
+
tagNote: (args.tag_note?.trim()) || undefined,
|
|
202
|
+
seed: typeof args.seed === 'number' && Number.isFinite(args.seed) ? args.seed : undefined,
|
|
203
|
+
recipe: (args.recipe?.trim()) || undefined,
|
|
204
|
+
};
|
|
205
|
+
try {
|
|
206
|
+
const written = await store.write(post);
|
|
207
|
+
// Report the voiceover honestly. A failed TTS still produces a clip — the
|
|
208
|
+
// model dubs its own — and she needs to know that is not her on it before
|
|
209
|
+
// she tells the operator otherwise.
|
|
210
|
+
// Say plainly whether the clip is built on our own photograph or on a
|
|
211
|
+
// generated dish. She must not claim it shows our food if it does not.
|
|
212
|
+
const recipeLine = post.recipe
|
|
213
|
+
? (written.recipeImageUsed
|
|
214
|
+
? ` Built on our own photograph of ${written.recipeImageUsed} — you can say it is our dish.`
|
|
215
|
+
: ` NO photograph found for "${post.recipe}", so the food is generated, not ours. Do not say it is our dish.`)
|
|
216
|
+
: '';
|
|
217
|
+
const voiceLine = post.script
|
|
218
|
+
? written.voiced
|
|
219
|
+
? ' Voiceover is in your voice.'
|
|
220
|
+
: ` The VOICEOVER FAILED${written.voiceError ? ` (${written.voiceError})` : ''} — the clip carries the model's own dub, NOT your voice. Say so plainly.`
|
|
221
|
+
: '';
|
|
222
|
+
return {
|
|
223
|
+
success: true,
|
|
224
|
+
output: `Video post queued for ${platform} — the caption is on the card now, the clip is still rendering ` +
|
|
225
|
+
`(job ${written.taskId}). Seed ${written.seed} — pass that same seed back if they ask for a change, ` +
|
|
226
|
+
`so you adjust THIS clip instead of rolling a different one. ` +
|
|
227
|
+
`You have not seen it: say what you made and why that angle, never how it looks.${recipeLine}${voiceLine}`,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
catch (err) {
|
|
231
|
+
return {
|
|
232
|
+
success: false,
|
|
233
|
+
output: `Could not queue the video: ${err instanceof Error ? err.message : String(err)}`,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=write-video-post.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-video-post.js","sourceRoot":"","sources":["../../src/tools/write-video-post.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Tool, ToolResult, ToolExecutionContext, ToolRiskLevel } from './types.js';
|
|
2
|
+
import type { FunctionSchema } from '../providers/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Emit a standalone VOICEOVER — her voice, no clip.
|
|
5
|
+
*
|
|
6
|
+
* write_video_post already renders a voiceover, but only ever as part of a
|
|
7
|
+
* video. When what someone wants is the audio — a read to lay under footage
|
|
8
|
+
* they already shot, a line they want to hear before committing to it — going
|
|
9
|
+
* through write_video_post spends a video generation to get at the audio inside
|
|
10
|
+
* it, and hands back a clip nobody asked for.
|
|
11
|
+
*
|
|
12
|
+
* The split is the same as every other card: this tool does the surface-free
|
|
13
|
+
* work (validate the script, keep the read inside what a voice can carry), and
|
|
14
|
+
* the injected `voiceoverStore` holds the provider key and the wallet.
|
|
15
|
+
*
|
|
16
|
+
* Deliberately NOT the Design Studio's design_generate_voice. That tool speaks
|
|
17
|
+
* through the `designControl` canvas channel, which surfaces outside the Design
|
|
18
|
+
* Studio never mount — allowlisting it into another room registers a tool that
|
|
19
|
+
* answers "no canvas" every single time.
|
|
20
|
+
*/
|
|
21
|
+
export declare class WriteVoiceoverTool implements Tool {
|
|
22
|
+
readonly name = "write_voiceover";
|
|
23
|
+
readonly description = "Render a standalone voiceover in your own voice \u2014 audio on its own, with no video around it. Use when they ask for a read, narration, or a voiceover without describing a shot.";
|
|
24
|
+
readonly riskLevel: ToolRiskLevel;
|
|
25
|
+
readonly requiresConfirmation = false;
|
|
26
|
+
readonly schema: FunctionSchema;
|
|
27
|
+
execute(args: Record<string, unknown>, context: ToolExecutionContext): Promise<ToolResult>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=write-voiceover.d.ts.map
|