@tangle-network/agent-app 0.45.54 → 0.45.55
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/README.md +1 -1
- package/dist/alerting/index.d.ts +5 -175
- package/dist/alerting/slack.d.ts +176 -0
- package/dist/app-auth/index.d.ts +14 -17
- package/dist/assets/index.d.ts +2 -504
- package/dist/assets/schema.d.ts +264 -0
- package/dist/assets/types.d.ts +237 -0
- package/dist/assistant/AssistantDock.d.ts +56 -0
- package/dist/assistant/AssistantHistory.d.ts +41 -0
- package/dist/assistant/AssistantPanel.d.ts +84 -0
- package/dist/assistant/ProposalCard.d.ts +41 -0
- package/dist/assistant/ResizeHandle.d.ts +19 -0
- package/dist/assistant/client-context.d.ts +20 -0
- package/dist/assistant/client.d.ts +117 -0
- package/dist/assistant/index.d.ts +19 -848
- package/dist/assistant/launcher.d.ts +23 -0
- package/dist/assistant/persistence.d.ts +26 -0
- package/dist/assistant/presentation.d.ts +99 -0
- package/dist/assistant/provider-label.d.ts +7 -0
- package/dist/assistant/reducer.d.ts +130 -0
- package/dist/assistant/sse.d.ts +24 -0
- package/dist/assistant/time-ago.d.ts +6 -0
- package/dist/assistant/transcript.d.ts +97 -0
- package/dist/assistant/types.d.ts +291 -0
- package/dist/assistant/use-stick-to-bottom.d.ts +28 -0
- package/dist/assistant/useAssistantChat.d.ts +63 -0
- package/dist/assistant/useAssistantModels.d.ts +22 -0
- package/dist/assistant/useAssistantThreads.d.ts +47 -0
- package/dist/assistant/usePanelPrefs.d.ts +55 -0
- package/dist/billing/index.d.ts +19 -21
- package/dist/brand/index.d.ts +16 -10
- package/dist/brand-extraction/extract.d.ts +34 -0
- package/dist/brand-extraction/index.d.ts +12 -214
- package/dist/brand-extraction/map.d.ts +58 -0
- package/dist/brand-extraction/types.d.ts +119 -0
- package/dist/catalog/index.d.ts +11 -101
- package/dist/chat-react/composer-mode-controls.d.ts +14 -0
- package/dist/chat-react/entry-composer.d.ts +92 -0
- package/dist/chat-react/index.d.ts +22 -118
- package/dist/chat-react/types.d.ts +11 -0
- package/dist/chat-routes/attachment-store.d.ts +84 -0
- package/dist/chat-routes/attachment-upload.d.ts +84 -0
- package/dist/chat-routes/attachment-validation.d.ts +95 -0
- package/dist/chat-routes/binary-sniff.d.ts +45 -0
- package/dist/chat-routes/completed-sandbox-turn.d.ts +25 -0
- package/dist/chat-routes/detached-turn.d.ts +197 -0
- package/dist/chat-routes/dispatch-parts.d.ts +101 -0
- package/dist/chat-routes/draft-persistence.d.ts +189 -0
- package/dist/chat-routes/durable-projection.d.ts +18 -0
- package/dist/chat-routes/file-index.d.ts +115 -0
- package/dist/chat-routes/index.d.ts +25 -1840
- package/dist/chat-routes/model-failover-stream.d.ts +206 -0
- package/dist/chat-routes/promote-file-part.d.ts +84 -0
- package/dist/chat-routes/resolve-attachments.d.ts +72 -0
- package/dist/chat-routes/sandbox-producer.d.ts +146 -0
- package/dist/chat-routes/sandbox-turn-usage.d.ts +4 -0
- package/dist/{stale-turn-lock-DucQzvXu.d.ts → chat-routes/stale-turn-lock.d.ts} +7 -9
- package/dist/chat-routes/turn-routes.d.ts +540 -0
- package/dist/chat-routes/upload.d.ts +84 -0
- package/dist/{wire-DOZ-O6hD.d.ts → chat-routes/wire.d.ts} +41 -44
- package/dist/chat-store/core.d.ts +19 -0
- package/dist/chat-store/index.d.ts +22 -322
- package/dist/{parts-BqIHMdyu.d.ts → chat-store/parts.d.ts} +49 -47
- package/dist/chat-store/schema.d.ts +157 -0
- package/dist/chat-store/store.d.ts +177 -0
- package/dist/config/index.d.ts +13 -18
- package/dist/crypto/index.d.ts +10 -12
- package/dist/crypto/web-token.d.ts +22 -0
- package/dist/design-canvas/apply.d.ts +70 -0
- package/dist/design-canvas/drizzle-store.d.ts +29 -0
- package/dist/design-canvas/drizzle.d.ts +7 -575
- package/dist/{export-presets-mgVulRaV.d.ts → design-canvas/export-presets.d.ts} +18 -22
- package/dist/design-canvas/index.d.ts +22 -268
- package/dist/design-canvas/mcp-entry.d.ts +15 -0
- package/dist/design-canvas/mcp-handler.d.ts +34 -0
- package/dist/design-canvas/mcp-tools.d.ts +30 -0
- package/dist/{model-DnfO_PdJ.d.ts → design-canvas/model.d.ts} +33 -35
- package/dist/{operations-ByJ6yXOW.d.ts → design-canvas/operations.d.ts} +21 -25
- package/dist/design-canvas/schema.d.ts +558 -0
- package/dist/{store-CqfDtnPQ.d.ts → design-canvas/store.d.ts} +8 -12
- package/dist/design-canvas/templates.d.ts +72 -0
- package/dist/design-canvas/validate.d.ts +32 -0
- package/dist/design-canvas-react/components/BleedTrimOverlay.d.ts +22 -0
- package/dist/design-canvas-react/components/BrandKnot.d.ts +11 -0
- package/dist/design-canvas-react/components/CanvasEmptyState.d.ts +32 -0
- package/dist/design-canvas-react/components/CanvasInsertPanel.d.ts +53 -0
- package/dist/{lazy-DrkVyDpe.d.ts → design-canvas-react/components/DesignCanvas.d.ts} +27 -20
- package/dist/design-canvas-react/components/DesignCanvasEditor.d.ts +23 -0
- package/dist/design-canvas-react/components/ElementNode.d.ts +51 -0
- package/dist/design-canvas-react/components/ExportControl.d.ts +21 -0
- package/dist/design-canvas-react/components/GridLayer.d.ts +47 -0
- package/dist/design-canvas-react/components/InlineTextEditor.d.ts +25 -0
- package/dist/design-canvas-react/components/LayersPanel.d.ts +20 -0
- package/dist/design-canvas-react/components/PagesStrip.d.ts +34 -0
- package/dist/design-canvas-react/components/Rulers.d.ts +31 -0
- package/dist/design-canvas-react/components/SelectionLayer.d.ts +51 -0
- package/dist/design-canvas-react/components/SnapGuidesOverlay.d.ts +25 -0
- package/dist/design-canvas-react/components/Toolbar.d.ts +64 -0
- package/dist/design-canvas-react/components/Workspace.d.ts +92 -0
- package/dist/design-canvas-react/components/ZoomControls.d.ts +14 -0
- package/dist/design-canvas-react/components/glyphs.d.ts +46 -0
- package/dist/design-canvas-react/components/icon-button.d.ts +22 -0
- package/dist/design-canvas-react/components/index.d.ts +27 -0
- package/dist/design-canvas-react/components/layer-tree.d.ts +34 -0
- package/dist/design-canvas-react/components/ruler-math.d.ts +78 -0
- package/dist/design-canvas-react/components/transform-math.d.ts +168 -0
- package/dist/{command-stack-TNPWJCzW.d.ts → design-canvas-react/contracts.d.ts} +16 -63
- package/dist/design-canvas-react/engine/command-stack.d.ts +43 -0
- package/dist/design-canvas-react/engine/commands.d.ts +154 -0
- package/dist/design-canvas-react/engine/selection.d.ts +48 -0
- package/dist/design-canvas-react/engine/snap.d.ts +24 -0
- package/dist/design-canvas-react/engine/zoom-pan.d.ts +18 -0
- package/dist/design-canvas-react/engine.d.ts +21 -399
- package/dist/design-canvas-react/export-math.d.ts +104 -0
- package/dist/design-canvas-react/export.d.ts +89 -0
- package/dist/design-canvas-react/index.d.ts +16 -586
- package/dist/design-canvas-react/insert-builders.d.ts +61 -0
- package/dist/design-canvas-react/lazy.d.ts +21 -6
- package/dist/documents/docx.d.ts +50 -0
- package/dist/documents/extract.d.ts +87 -0
- package/dist/documents/index.d.ts +26 -232
- package/dist/documents/media-type.d.ts +33 -0
- package/dist/documents/pdf-inspector.d.ts +5 -9
- package/dist/{types-DrBidf3O.d.ts → documents/types.d.ts} +13 -15
- package/dist/documents/zip.d.ts +56 -0
- package/dist/eval/calibration.d.ts +106 -0
- package/dist/eval/index.d.ts +8 -116
- package/dist/eval-campaign/index.d.ts +11 -12
- package/dist/{trust-gate-Dcm5xSva.d.ts → eval-campaign/trust-gate.d.ts} +5 -9
- package/dist/forms/blank.d.ts +48 -0
- package/dist/forms/fill.d.ts +105 -0
- package/dist/forms/index.d.ts +58 -332
- package/dist/forms/registry.d.ts +115 -0
- package/dist/forms/verify.d.ts +58 -0
- package/dist/harness/index.d.ts +21 -19
- package/dist/intakes/api.d.ts +5 -11
- package/dist/{completion-CvcNUz07.d.ts → intakes/completion.d.ts} +7 -11
- package/dist/intakes/context-sufficiency.d.ts +113 -0
- package/dist/intakes/drizzle/schema.d.ts +338 -0
- package/dist/intakes/drizzle/store.d.ts +75 -0
- package/dist/intakes/drizzle.d.ts +12 -391
- package/dist/intakes/index.d.ts +23 -113
- package/dist/{model-C8U0HZxL.d.ts → intakes/model.d.ts} +15 -17
- package/dist/intakes-react/components/BrandMark.d.ts +10 -0
- package/dist/intakes-react/components/IntakeInterview.d.ts +15 -0
- package/dist/intakes-react/components/index.d.ts +1 -0
- package/dist/intakes-react/contracts.d.ts +42 -0
- package/dist/intakes-react/index.d.ts +12 -47
- package/dist/intakes-react/lazy.d.ts +9 -8
- package/dist/integrations/index.d.ts +10 -12
- package/dist/{contract-OxG_jVMx.d.ts → interactions/contract.d.ts} +40 -42
- package/dist/interactions/index.d.ts +16 -256
- package/dist/interactions/route.d.ts +151 -0
- package/dist/interactions/sidecar.d.ts +100 -0
- package/dist/knowledge/index.d.ts +7 -11
- package/dist/knowledge-loop/index.d.ts +13 -20
- package/dist/legibility/checks/empty-state.d.ts +59 -0
- package/dist/legibility/checks/reachability.d.ts +103 -0
- package/dist/legibility/checks/silent-failure.d.ts +57 -0
- package/dist/legibility/checks/success.d.ts +38 -0
- package/dist/legibility/checks/vocabulary.d.ts +65 -0
- package/dist/legibility/cli-args.d.ts +30 -0
- package/dist/legibility/cli.d.ts +25 -0
- package/dist/legibility/index.d.ts +10 -530
- package/dist/legibility/report.d.ts +22 -0
- package/dist/legibility/scan.d.ts +29 -0
- package/dist/legibility/source.d.ts +132 -0
- package/dist/legibility/suppress.d.ts +36 -0
- package/dist/legibility/types.d.ts +168 -0
- package/dist/legibility/walk-sources.d.ts +21 -0
- package/dist/{agent-activity-C8ZG0F0M.d.ts → missions/agent-activity.d.ts} +3 -5
- package/dist/missions/engine.d.ts +251 -0
- package/dist/missions/events.d.ts +195 -0
- package/dist/missions/index.d.ts +12 -765
- package/dist/missions/plan-parse.d.ts +50 -0
- package/dist/missions/service.d.ts +265 -0
- package/dist/{failover-D-3UXXTb.d.ts → model-resolution/failover.d.ts} +10 -12
- package/dist/model-resolution/index.d.ts +15 -18
- package/dist/object-store/index.d.ts +15 -17
- package/dist/openui/action.d.ts +54 -0
- package/dist/openui/authoring.d.ts +25 -0
- package/dist/openui/index.d.ts +24 -206
- package/dist/openui/route.d.ts +124 -0
- package/dist/openui/segments.d.ts +71 -0
- package/dist/openui/values.d.ts +82 -0
- package/dist/openui-react/index.d.ts +9 -13
- package/dist/peer-floors/check.d.ts +9 -190
- package/dist/peer-floors/cli.d.ts +2 -3
- package/dist/peer-floors/dependency-source.d.ts +178 -0
- package/dist/plans/index.d.ts +13 -14
- package/dist/{billing-BuNlaKlE.d.ts → platform/billing.d.ts} +28 -32
- package/dist/platform/guards.d.ts +79 -0
- package/dist/platform/hub.d.ts +107 -0
- package/dist/platform/index.d.ts +7 -112
- package/dist/{sso-Cm00S61u.d.ts → platform/sso.d.ts} +15 -97
- package/dist/preflight/cli.d.ts +3 -6
- package/dist/preflight/index.d.ts +16 -18
- package/dist/preset-cloudflare/headers.d.ts +12 -0
- package/dist/preset-cloudflare/index.d.ts +22 -74
- package/dist/preset-cloudflare/workflow-instance.d.ts +35 -0
- package/dist/profile/budget.d.ts +72 -0
- package/dist/profile/fingerprint.d.ts +65 -0
- package/dist/profile/index.d.ts +27 -19
- package/dist/prompt/index.d.ts +3 -5
- package/dist/record/drizzle/schema.d.ts +488 -0
- package/dist/record/drizzle/store.d.ts +224 -0
- package/dist/record/drizzle.d.ts +10 -679
- package/dist/record/fold.d.ts +99 -0
- package/dist/record/index.d.ts +13 -13
- package/dist/{fold-DACU7gtf.d.ts → record/model.d.ts} +22 -124
- package/dist/record/ulid.d.ts +12 -0
- package/dist/redact/index.d.ts +14 -16
- package/dist/run/index.d.ts +11 -16
- package/dist/runtime/agent.d.ts +23 -0
- package/dist/runtime/certified-delivery.d.ts +57 -0
- package/dist/runtime/index.d.ts +17 -367
- package/dist/runtime/loop.d.ts +58 -0
- package/dist/runtime/model-catalog.d.ts +103 -0
- package/dist/{model-CdCDfBA9.d.ts → runtime/model.d.ts} +25 -27
- package/dist/runtime/openai-stream.d.ts +126 -0
- package/dist/runtime/surface-profile.d.ts +115 -0
- package/dist/sandbox/binary-read.d.ts +63 -0
- package/dist/sandbox/diagnostics.d.ts +69 -0
- package/dist/sandbox/index.d.ts +103 -1085
- package/dist/sandbox/model.d.ts +179 -0
- package/dist/sandbox/outcome.d.ts +10 -0
- package/dist/sandbox/prewarm-claim-d1.d.ts +80 -0
- package/dist/sandbox/prewarm.d.ts +193 -0
- package/dist/sandbox/recovery.d.ts +216 -0
- package/dist/sandbox/terminal-connection.d.ts +145 -0
- package/dist/sandbox/workspace-sandbox-manager.d.ts +44 -0
- package/dist/sequences/apply.d.ts +54 -0
- package/dist/sequences/captions.d.ts +91 -0
- package/dist/sequences/drizzle-store.d.ts +36 -0
- package/dist/sequences/drizzle.d.ts +7 -1252
- package/dist/sequences/exports.d.ts +138 -0
- package/dist/sequences/index.d.ts +19 -340
- package/dist/sequences/mcp-entry.d.ts +15 -0
- package/dist/sequences/mcp-handler.d.ts +39 -0
- package/dist/sequences/mcp-tools.d.ts +47 -0
- package/dist/{store-B7LLlk9p.d.ts → sequences/model.d.ts} +26 -110
- package/dist/sequences/operations.d.ts +126 -0
- package/dist/sequences/schema.d.ts +1231 -0
- package/dist/sequences/store.d.ts +81 -0
- package/dist/sequences/validate.d.ts +98 -0
- package/dist/sequences-react/components/BrandMark.d.ts +10 -0
- package/dist/sequences-react/components/PreviewCanvas.d.ts +26 -0
- package/dist/sequences-react/components/SnapIndicatorLine.d.ts +11 -0
- package/dist/sequences-react/components/TimelineClipChip.d.ts +80 -0
- package/dist/sequences-react/components/TimelineEditor.d.ts +44 -0
- package/dist/sequences-react/components/TimelineEmptyState.d.ts +21 -0
- package/dist/sequences-react/components/TimelineGhostLanes.d.ts +14 -0
- package/dist/sequences-react/components/TimelinePlayhead.d.ts +11 -0
- package/dist/sequences-react/components/TimelineRuler.d.ts +16 -0
- package/dist/sequences-react/components/TimelineSmallScreenGate.d.ts +12 -0
- package/dist/sequences-react/components/TimelineTrackRow.d.ts +51 -0
- package/dist/sequences-react/components/ZoomControl.d.ts +15 -0
- package/dist/sequences-react/components/composite-command.d.ts +8 -0
- package/dist/sequences-react/components/glyphs.d.ts +26 -0
- package/dist/sequences-react/components/index.d.ts +31 -0
- package/dist/sequences-react/components/interaction-math.d.ts +103 -0
- package/dist/sequences-react/contracts.d.ts +187 -0
- package/dist/sequences-react/engine/command-stack.d.ts +18 -0
- package/dist/sequences-react/engine/commands.d.ts +146 -0
- package/dist/sequences-react/engine/playback.d.ts +18 -0
- package/dist/sequences-react/engine/snap.d.ts +29 -0
- package/dist/sequences-react/engine/zoom.d.ts +29 -0
- package/dist/sequences-react/index.d.ts +20 -880
- package/dist/sequences-react/lazy.d.ts +8 -0
- package/dist/sequences-react/media/frame-provider.d.ts +70 -0
- package/dist/sequences-react/media/transcription.d.ts +33 -0
- package/dist/sequences-react/media/waveform.d.ts +34 -0
- package/dist/session-shell/index.d.ts +31 -204
- package/dist/session-shell/nav-guard.d.ts +170 -0
- package/dist/session-shell/path.d.ts +19 -0
- package/dist/signoff/cli.d.ts +4 -7
- package/dist/signoff/config.d.ts +12 -0
- package/dist/signoff/exec.d.ts +44 -0
- package/dist/signoff/index.d.ts +56 -14
- package/dist/signoff/invoked-as-script.d.ts +25 -0
- package/dist/signoff/node-version.d.ts +50 -0
- package/dist/signoff/proof-attach.d.ts +88 -0
- package/dist/signoff/proof-cli.d.ts +1 -0
- package/dist/signoff/proof-fixture.d.ts +13 -0
- package/dist/signoff/proof-from-report.d.ts +22 -0
- package/dist/signoff/proof-git.d.ts +57 -0
- package/dist/signoff/proof-record.d.ts +202 -0
- package/dist/signoff/proof-verify.d.ts +103 -0
- package/dist/signoff/proof.d.ts +35 -310
- package/dist/signoff/report.d.ts +7 -0
- package/dist/{run-D80hoLKh.d.ts → signoff/run.d.ts} +3 -6
- package/dist/signoff/schedule.d.ts +55 -0
- package/dist/signoff/seeds.d.ts +50 -0
- package/dist/signoff/store.d.ts +22 -0
- package/dist/{types-Bd6uW9vQ.d.ts → signoff/types.d.ts} +15 -17
- package/dist/signoff/workflow-pin.d.ts +56 -0
- package/dist/signoff/workspace.d.ts +40 -0
- package/dist/skills/index.d.ts +28 -32
- package/dist/skills-placement/index.d.ts +7 -11
- package/dist/spend/budget.d.ts +123 -0
- package/dist/spend/ceiling.d.ts +51 -0
- package/dist/spend/cli-args.d.ts +20 -0
- package/dist/spend/cli.d.ts +1 -0
- package/dist/spend/fixtures/incident-parked-time.d.ts +55 -0
- package/dist/spend/index.d.ts +38 -1144
- package/dist/spend/liveness.d.ts +131 -0
- package/dist/spend/ownership.d.ts +87 -0
- package/dist/spend/reconcile.d.ts +109 -0
- package/dist/spend/reference.d.ts +42 -0
- package/dist/spend/report.d.ts +12 -0
- package/dist/spend/store.d.ts +123 -0
- package/dist/spend/types.d.ts +466 -0
- package/dist/store/index.d.ts +10 -12
- package/dist/stories/app-shell/fixtures.d.ts +43 -0
- package/dist/stories/app-shell/shell.d.ts +81 -0
- package/dist/stories/assistant/fixtures.d.ts +73 -0
- package/dist/stories/chat/fixtures.d.ts +70 -0
- package/dist/stories/chat/markdown.d.ts +11 -0
- package/dist/stories/chat/run-drill-in.d.ts +19 -0
- package/dist/stories/chat-controls/fixtures.d.ts +116 -0
- package/dist/stories/design-canvas/fixtures.d.ts +57 -0
- package/dist/stories/fixtures/canvas.d.ts +10 -0
- package/dist/stories/fixtures/catalog.d.ts +7 -0
- package/dist/stories/fixtures/chat.d.ts +39 -0
- package/dist/stories/fixtures/index.d.ts +4 -0
- package/dist/stories/fixtures/sequences.d.ts +17 -0
- package/dist/stories/panels/fixtures.d.ts +63 -0
- package/dist/stories/sequences/fixtures.d.ts +30 -0
- package/dist/stories/studio/fixtures.d.ts +22 -0
- package/dist/stream/index.d.ts +10 -56
- package/dist/{stream-normalizer-DKRxyVlZ.d.ts → stream/stream-normalizer.d.ts} +23 -26
- package/dist/{turn-buffer-COMQUwO2.d.ts → stream/turn-buffer.d.ts} +21 -23
- package/dist/stream/turn-identity.d.ts +49 -0
- package/dist/studio/generation.d.ts +179 -0
- package/dist/studio/index.d.ts +12 -181
- package/dist/studio-react/avatar-composer.d.ts +8 -0
- package/dist/studio-react/composer-hero.d.ts +12 -0
- package/dist/studio-react/composer-shell.d.ts +18 -0
- package/dist/studio-react/generation-card.d.ts +9 -0
- package/dist/studio-react/generation-detail-modal.d.ts +11 -0
- package/dist/studio-react/generation-detail.d.ts +6 -0
- package/dist/studio-react/generation-grid.d.ts +15 -0
- package/dist/studio-react/image-composer.d.ts +8 -0
- package/dist/studio-react/index.d.ts +32 -245
- package/dist/studio-react/library-drawer.d.ts +12 -0
- package/dist/studio-react/library-panel.d.ts +15 -0
- package/dist/studio-react/publish-package-composer.d.ts +18 -0
- package/dist/studio-react/result-canvas.d.ts +6 -0
- package/dist/studio-react/speech-composer.d.ts +4 -0
- package/dist/studio-react/studio-header.d.ts +5 -0
- package/dist/studio-react/studio-sheet.d.ts +12 -0
- package/dist/studio-react/studio-workspace.d.ts +23 -0
- package/dist/studio-react/transcription-composer.d.ts +12 -0
- package/dist/studio-react/type-config.d.ts +11 -0
- package/dist/studio-react/use-studio-generations.d.ts +20 -0
- package/dist/studio-react/video-composer.d.ts +10 -0
- package/dist/tangle/index.d.ts +7 -9
- package/dist/teams/drizzle/access.d.ts +82 -0
- package/dist/{invitations-schema-_fI7HkJP.d.ts → teams/drizzle/invitations-schema.d.ts} +39 -27
- package/dist/teams/drizzle/personal-organization.d.ts +41 -0
- package/dist/{access-490O6aOU.d.ts → teams/drizzle/schema.d.ts} +57 -122
- package/dist/teams/drizzle.d.ts +12 -44
- package/dist/teams/index.d.ts +20 -44
- package/dist/teams/invitations-api.d.ts +17 -21
- package/dist/{invitations-DoYMvXea.d.ts → teams/invitations.d.ts} +14 -18
- package/dist/teams/invite.d.ts +42 -0
- package/dist/teams/members-api.d.ts +12 -16
- package/dist/teams/resend.d.ts +3 -13
- package/dist/{roles-B4nU3jDi.d.ts → teams/roles.d.ts} +18 -20
- package/dist/teams-react/components/BrandMark.d.ts +10 -0
- package/dist/teams-react/components/InvitationsPanel.d.ts +13 -0
- package/dist/teams-react/components/InviteAcceptPage.d.ts +10 -0
- package/dist/teams-react/components/MembersPanel.d.ts +14 -0
- package/dist/teams-react/components/RoleSelect.d.ts +17 -0
- package/dist/teams-react/components/index.d.ts +3 -0
- package/dist/teams-react/contracts.d.ts +134 -0
- package/dist/teams-react/index.d.ts +12 -143
- package/dist/teams-react/lazy.d.ts +11 -11
- package/dist/test-setup.d.ts +1 -0
- package/dist/theme/index.d.ts +6 -104
- package/dist/theme/tailwind-preset.d.ts +1 -2
- package/dist/theme/theme.d.ts +106 -0
- package/dist/theme-contract/cli.d.ts +21 -0
- package/dist/theme-contract/index.d.ts +4 -6
- package/dist/{auth-BYtiazA4.d.ts → tools/auth.d.ts} +8 -11
- package/dist/tools/capability.d.ts +54 -0
- package/dist/tools/dispatch.d.ts +37 -0
- package/dist/tools/errors.d.ts +8 -0
- package/dist/tools/gating.d.ts +62 -0
- package/dist/tools/http.d.ts +27 -0
- package/dist/tools/index.d.ts +12 -217
- package/dist/{mcp-rpc-DYwPlYbZ.d.ts → tools/mcp-rpc.d.ts} +7 -9
- package/dist/{mcp-xxoZZfor.d.ts → tools/mcp.d.ts} +14 -16
- package/dist/tools/openai.d.ts +28 -0
- package/dist/tools/registry.d.ts +39 -0
- package/dist/tools/runtime.d.ts +22 -0
- package/dist/{types-B25Mib1r.d.ts → tools/types.d.ts} +15 -83
- package/dist/{flow-types-CJxEmaRy.d.ts → trace/flow-types.d.ts} +2 -4
- package/dist/trace/index.d.ts +11 -148
- package/dist/trace/mission-flow.d.ts +82 -0
- package/dist/trace/mission-trace.d.ts +52 -0
- package/dist/turn-health/classify.d.ts +207 -0
- package/dist/turn-health/index.d.ts +29 -637
- package/dist/turn-health/lifecycle.d.ts +75 -0
- package/dist/turn-health/sink.d.ts +122 -0
- package/dist/turn-health/sweep.d.ts +245 -0
- package/dist/turn-stream/adapters.d.ts +257 -0
- package/dist/turn-stream/core.d.ts +293 -0
- package/dist/turn-stream/do.d.ts +144 -0
- package/dist/turn-stream/index.d.ts +62 -738
- package/dist/turn-stream/memory.d.ts +41 -0
- package/dist/vault/ConfirmDialog.d.ts +22 -0
- package/dist/vault/VaultPane.d.ts +15 -0
- package/dist/{VaultPane-BDP6SB_K.d.ts → vault/contracts.d.ts} +15 -22
- package/dist/vault/index.d.ts +15 -22
- package/dist/vault/lazy.d.ts +9 -7
- package/dist/vault/server.d.ts +8 -10
- package/dist/web/free-route-limit.d.ts +187 -0
- package/dist/web/index.d.ts +15 -207
- package/dist/{rate-limit-BOVmJRXZ.d.ts → web/rate-limit.d.ts} +3 -5
- package/dist/web-react/agent-session-controls.d.ts +105 -0
- package/dist/web-react/async/async-view.d.ts +69 -0
- package/dist/web-react/async/index.d.ts +13 -305
- package/dist/web-react/async/state.d.ts +107 -0
- package/dist/web-react/async/use-async-resource.d.ts +41 -0
- package/dist/web-react/async/use-confirmed-mutation.d.ts +90 -0
- package/dist/web-react/brand-mark.d.ts +11 -0
- package/dist/web-react/chat-attachments.d.ts +21 -0
- package/dist/web-react/chat-composer.d.ts +174 -0
- package/dist/web-react/chat-interactions.d.ts +1 -0
- package/dist/web-react/chat-mentions.d.ts +48 -0
- package/dist/web-react/chat-stream.d.ts +106 -0
- package/dist/web-react/class-names.d.ts +10 -0
- package/dist/web-react/controls.d.ts +265 -0
- package/dist/web-react/durable-chat-cards.d.ts +40 -0
- package/dist/web-react/durable-interaction-submit.d.ts +22 -0
- package/dist/web-react/durable-plan-card.d.ts +13 -0
- package/dist/web-react/durable-plan-flow.d.ts +77 -0
- package/dist/web-react/harness-glyphs.d.ts +28 -0
- package/dist/web-react/index.d.ts +80 -2347
- package/dist/web-react/inert.d.ts +39 -0
- package/dist/web-react/insight-card.d.ts +203 -0
- package/dist/web-react/interaction-card-support.d.ts +115 -0
- package/dist/web-react/interaction-plan-card.d.ts +39 -0
- package/dist/web-react/interaction-question-card.d.ts +100 -0
- package/dist/web-react/message-attachments.d.ts +56 -0
- package/dist/web-react/mission-activity.d.ts +96 -0
- package/dist/web-react/motion.d.ts +43 -0
- package/dist/web-react/provenance-model.d.ts +195 -0
- package/dist/web-react/provenance.d.ts +82 -0
- package/dist/web-react/provider-logo.d.ts +14 -0
- package/dist/web-react/record-grid-model.d.ts +257 -0
- package/dist/web-react/record-grid.d.ts +108 -0
- package/dist/web-react/sandbox-terminal.d.ts +90 -0
- package/dist/web-react/seat-paywall.d.ts +47 -0
- package/dist/web-react/session-history.d.ts +196 -0
- package/dist/web-react/smooth-text.d.ts +29 -0
- package/dist/web-react/sparkline.d.ts +150 -0
- package/dist/web-react/terminal.d.ts +1 -92
- package/dist/web-react/use-chat-interactions.d.ts +78 -0
- package/dist/web-react/use-composer-attachments.d.ts +111 -0
- package/dist/web-react/use-file-mentions.d.ts +94 -0
- package/dist/web-react/work-product.d.ts +105 -0
- package/dist/work-product/claim-support.d.ts +288 -0
- package/dist/work-product/index.d.ts +16 -849
- package/dist/work-product/provenance.d.ts +61 -0
- package/dist/{queue-VTBA5ONX.d.ts → work-product/queue.d.ts} +10 -12
- package/dist/work-product/quote.d.ts +139 -0
- package/dist/work-product/route.d.ts +88 -0
- package/dist/work-product/service.d.ts +123 -0
- package/dist/work-product/tools.d.ts +144 -0
- package/dist/{types-CCeYywdS.d.ts → work-product/types.d.ts} +29 -31
- package/dist/work-product-react/index.d.ts +19 -8
- package/dist/workspace-react/index.d.ts +8 -11
- package/package.json +4 -3
- package/dist/agent-session-controls-CmlXwp_H.d.ts +0 -384
- package/dist/apply-6wlMOLf8.d.ts +0 -280
- package/dist/attachment-validation-BfJDBU1g.d.ts +0 -261
- package/dist/budget-BOucfcb_.d.ts +0 -142
- package/dist/values-C7RidJuI.d.ts +0 -156
package/dist/brand/index.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Tangle brand components for Agent App surfaces.
|
|
3
|
+
*
|
|
4
|
+
* The visual mark stays owned by `@tangle-network/brand`; this module only
|
|
5
|
+
* preserves Agent App's existing `Logo` properties and supplies `BrandHeader`.
|
|
6
|
+
*
|
|
7
|
+
* import { Logo, TangleKnot, BrandHeader } from '@tangle-network/agent-app/brand'
|
|
8
|
+
*/
|
|
9
|
+
import { TangleKnot } from '@tangle-network/brand';
|
|
10
|
+
import type { ReactNode } from 'react';
|
|
11
|
+
/** Render the canonical, theme-independent Tangle knot mark. */
|
|
12
|
+
export { TangleKnot };
|
|
5
13
|
/** Define properties to customize the logo variant, size, style, and icon display options. */
|
|
6
|
-
interface LogoProps {
|
|
14
|
+
export interface LogoProps {
|
|
7
15
|
/** Preserved for compatibility; the canonical Tangle lockup is used. */
|
|
8
16
|
variant?: 'sandbox';
|
|
9
17
|
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
@@ -12,9 +20,9 @@ interface LogoProps {
|
|
|
12
20
|
iconOnly?: boolean;
|
|
13
21
|
}
|
|
14
22
|
/** Render the canonical Tangle lockup through Agent App's existing API. */
|
|
15
|
-
declare function Logo({ variant, size, className, iconOnly, }: LogoProps): react.JSX.Element;
|
|
23
|
+
export declare function Logo({ variant, size, className, iconOnly, }: LogoProps): import("react").JSX.Element;
|
|
16
24
|
/** Define properties for a brand header including optional title, children, and CSS class name. */
|
|
17
|
-
interface BrandHeaderProps {
|
|
25
|
+
export interface BrandHeaderProps {
|
|
18
26
|
/** Product name rendered next to the knot. Omit for a mark-only header. */
|
|
19
27
|
title?: string;
|
|
20
28
|
/** Right-aligned slot for nav, actions, theme toggles. */
|
|
@@ -22,6 +30,4 @@ interface BrandHeaderProps {
|
|
|
22
30
|
className?: string;
|
|
23
31
|
}
|
|
24
32
|
/** Shared app-shell header with the canonical Tangle mark. */
|
|
25
|
-
declare function BrandHeader({ title, children, className }: BrandHeaderProps): react.JSX.Element;
|
|
26
|
-
|
|
27
|
-
export { BrandHeader, type BrandHeaderProps, Logo, type LogoProps };
|
|
33
|
+
export declare function BrandHeader({ title, children, className }: BrandHeaderProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brand-kit extraction engine.
|
|
3
|
+
*
|
|
4
|
+
* Given a website URL (or raw HTML), parse the page and pull a typed BrandKit:
|
|
5
|
+
* logo candidates, color palette, fonts, and prominent images. Parsing is
|
|
6
|
+
* regex-based on purpose — this runs on Cloudflare Workers and other edge
|
|
7
|
+
* runtimes where DOM libraries (jsdom/cheerio) are unavailable, and the page
|
|
8
|
+
* structures we read (link tags, meta tags, CSS custom properties, font-family
|
|
9
|
+
* declarations) are flat enough that a DOM buys nothing.
|
|
10
|
+
*
|
|
11
|
+
* Degrades gracefully: a missing favicon, no CSS tokens, or an image-only page
|
|
12
|
+
* each narrow the kit rather than failing it. The ONLY hard failures are a bad
|
|
13
|
+
* input (no html and no fetch) and a fetch error — both returned as a typed
|
|
14
|
+
* `{ succeeded: false }` outcome so callers never mistake an empty kit for a
|
|
15
|
+
* real one.
|
|
16
|
+
*/
|
|
17
|
+
import type { BrandExtractionResult, BrandKit, ExtractBrandKitOptions } from './types';
|
|
18
|
+
/** Normalize a user-supplied site URL: add https:// when scheme-less, validate. */
|
|
19
|
+
export declare function normalizeSiteUrl(raw: string): string | null;
|
|
20
|
+
/** Normalize any CSS color literal to #rrggbb / #rrggbbaa hex, or null. */
|
|
21
|
+
export declare function normalizeColor(raw: string): string | null;
|
|
22
|
+
/** Parse already-fetched HTML into a BrandKit. Pure — no network. Exposed so
|
|
23
|
+
* callers that hold the HTML (or want to combine multiple pages) can reuse the
|
|
24
|
+
* parsing without re-fetching. */
|
|
25
|
+
export declare function parseBrandKit(html: string, sourceUrl: string, maxPerList?: number): BrandKit;
|
|
26
|
+
/**
|
|
27
|
+
* Fetch a website (or use supplied HTML) and extract its BrandKit.
|
|
28
|
+
*
|
|
29
|
+
* Returns a typed outcome — callers MUST check `succeeded`. A fetch failure or
|
|
30
|
+
* empty input is a real, surfaced error, never an empty kit masquerading as a
|
|
31
|
+
* result. Parsing itself never throws: a malformed page yields a sparse kit
|
|
32
|
+
* with warnings, which is information, not failure.
|
|
33
|
+
*/
|
|
34
|
+
export declare function extractBrandKit(url: string, options?: ExtractBrandKitOptions): Promise<BrandExtractionResult>;
|
|
@@ -1,215 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
/** Where it came from — drives ranking and lets callers cite provenance. */
|
|
15
|
-
source: 'favicon' | 'apple-touch-icon' | 'og:image' | 'img-logo' | 'svg-inline' | 'manifest';
|
|
16
|
-
/** Higher = more likely the canonical logo. 0..1. */
|
|
17
|
-
confidence: number;
|
|
18
|
-
/** Declared width in px when known (from <link sizes> or <img width>). */
|
|
19
|
-
width?: number;
|
|
20
|
-
/** Declared height in px when known. */
|
|
21
|
-
height?: number;
|
|
22
|
-
/** MIME type when inferable from the extension. */
|
|
23
|
-
mimeType?: string;
|
|
24
|
-
/** alt / title text when present — a "logo" alt is a strong signal. */
|
|
25
|
-
alt?: string;
|
|
26
|
-
}
|
|
27
|
-
/** A color extracted from the page, with where it was seen. */
|
|
28
|
-
interface BrandColor {
|
|
29
|
-
/** Normalized 6- or 8-digit `#rrggbb` / `#rrggbbaa` hex (lowercase). */
|
|
30
|
-
hex: string;
|
|
31
|
-
/** How many distinct declarations referenced this color (popularity proxy). */
|
|
32
|
-
occurrences: number;
|
|
33
|
-
/** True when sourced from a `:root` CSS custom property (highest fidelity). */
|
|
34
|
-
fromToken: boolean;
|
|
35
|
-
/** The custom-property name when fromToken (e.g. `--accent`). */
|
|
36
|
-
tokenName?: string;
|
|
37
|
-
}
|
|
38
|
-
/** A font-family discovered in CSS, with role inference. */
|
|
39
|
-
interface BrandFont {
|
|
40
|
-
/** Primary family name, unquoted (e.g. `Inter`, `Playfair Display`). */
|
|
41
|
-
family: string;
|
|
42
|
-
/** The full declared stack as written, in order. */
|
|
43
|
-
stack: string[];
|
|
44
|
-
/** Inferred role from the selector the declaration was attached to. */
|
|
45
|
-
role: 'display' | 'body' | 'unknown';
|
|
46
|
-
/** Declaration count — popularity proxy for picking the dominant family. */
|
|
47
|
-
occurrences: number;
|
|
48
|
-
}
|
|
49
|
-
/** A prominent product / hero image candidate (not a logo). */
|
|
50
|
-
interface BrandImage {
|
|
51
|
-
url: string;
|
|
52
|
-
source: 'og:image' | 'twitter:image' | 'img-hero' | 'img-content';
|
|
53
|
-
/** alt text when present. */
|
|
54
|
-
alt?: string;
|
|
55
|
-
width?: number;
|
|
56
|
-
height?: number;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* The full extracted kit. The shape every consumer reads. Each list is ranked
|
|
60
|
-
* best-first; empty lists mean "found nothing", never a fabricated default.
|
|
61
|
-
*/
|
|
62
|
-
interface BrandKit {
|
|
63
|
-
/** The site the kit was extracted from (normalized, absolute). */
|
|
64
|
-
sourceUrl: string;
|
|
65
|
-
/** Best-guess brand / product name from <title>, og:site_name, manifest. */
|
|
66
|
-
name?: string;
|
|
67
|
-
/** Tagline / description from meta description or og:description. */
|
|
68
|
-
description?: string;
|
|
69
|
-
/** Logo candidates, ranked best-first. */
|
|
70
|
-
logos: BrandLogoCandidate[];
|
|
71
|
-
/** Colors, ranked by token-first then popularity. */
|
|
72
|
-
palette: BrandColor[];
|
|
73
|
-
/** Fonts, ranked display-then-body then popularity. */
|
|
74
|
-
fonts: BrandFont[];
|
|
75
|
-
/** Prominent images (hero / og), ranked best-first. */
|
|
76
|
-
images: BrandImage[];
|
|
77
|
-
/** Absolute URLs / labels the kit was derived from — for provenance. */
|
|
78
|
-
extractedFrom: string[];
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Typed outcome. Callers MUST inspect `succeeded` before reading `kit`.
|
|
82
|
-
* No silent empties: a fetch failure is `succeeded:false` with a real error,
|
|
83
|
-
* NOT an empty BrandKit that downstream code mistakes for "this brand has
|
|
84
|
-
* nothing".
|
|
85
|
-
*/
|
|
86
|
-
type BrandExtractionResult = {
|
|
87
|
-
succeeded: true;
|
|
88
|
-
kit: BrandKit;
|
|
89
|
-
warnings: string[];
|
|
90
|
-
} | {
|
|
91
|
-
succeeded: false;
|
|
92
|
-
error: string;
|
|
93
|
-
stage: 'fetch' | 'parse' | 'input';
|
|
94
|
-
};
|
|
95
|
-
/** Fetch boundary, injectable so callers (Workers, Node, tests) supply their
|
|
96
|
-
* own fetch and so tests can run fully offline against fixture HTML. */
|
|
97
|
-
type FetchLike = (url: string, init?: {
|
|
98
|
-
signal?: AbortSignal;
|
|
99
|
-
headers?: Record<string, string>;
|
|
100
|
-
}) => Promise<{
|
|
101
|
-
ok: boolean;
|
|
102
|
-
status: number;
|
|
103
|
-
text(): Promise<string>;
|
|
104
|
-
headers?: {
|
|
105
|
-
get(name: string): string | null;
|
|
106
|
-
};
|
|
107
|
-
}>;
|
|
108
|
-
/** Define options for extracting brand kit data including HTML input, fetch method, timeout, and list limits */
|
|
109
|
-
interface ExtractBrandKitOptions {
|
|
110
|
-
/** Raw HTML for the page. When supplied, no network fetch happens — used by
|
|
111
|
-
* tests and by callers that already hold the HTML. */
|
|
112
|
-
html?: string;
|
|
113
|
-
/** Fetch implementation. Required when `html` is omitted. */
|
|
114
|
-
fetchImpl?: FetchLike;
|
|
115
|
-
/** Per-request timeout in ms (default 15000). Applied to the page fetch. */
|
|
116
|
-
timeoutMs?: number;
|
|
117
|
-
/** Cap on each ranked list (default 12). Keeps payloads bounded. */
|
|
118
|
-
maxPerList?: number;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Brand-kit extraction engine.
|
|
123
|
-
*
|
|
124
|
-
* Given a website URL (or raw HTML), parse the page and pull a typed BrandKit:
|
|
125
|
-
* logo candidates, color palette, fonts, and prominent images. Parsing is
|
|
126
|
-
* regex-based on purpose — this runs on Cloudflare Workers and other edge
|
|
127
|
-
* runtimes where DOM libraries (jsdom/cheerio) are unavailable, and the page
|
|
128
|
-
* structures we read (link tags, meta tags, CSS custom properties, font-family
|
|
129
|
-
* declarations) are flat enough that a DOM buys nothing.
|
|
130
|
-
*
|
|
131
|
-
* Degrades gracefully: a missing favicon, no CSS tokens, or an image-only page
|
|
132
|
-
* each narrow the kit rather than failing it. The ONLY hard failures are a bad
|
|
133
|
-
* input (no html and no fetch) and a fetch error — both returned as a typed
|
|
134
|
-
* `{ succeeded: false }` outcome so callers never mistake an empty kit for a
|
|
135
|
-
* real one.
|
|
136
|
-
*/
|
|
137
|
-
|
|
138
|
-
/** Normalize a user-supplied site URL: add https:// when scheme-less, validate. */
|
|
139
|
-
declare function normalizeSiteUrl(raw: string): string | null;
|
|
140
|
-
/** Normalize any CSS color literal to #rrggbb / #rrggbbaa hex, or null. */
|
|
141
|
-
declare function normalizeColor(raw: string): string | null;
|
|
142
|
-
/** Parse already-fetched HTML into a BrandKit. Pure — no network. Exposed so
|
|
143
|
-
* callers that hold the HTML (or want to combine multiple pages) can reuse the
|
|
144
|
-
* parsing without re-fetching. */
|
|
145
|
-
declare function parseBrandKit(html: string, sourceUrl: string, maxPerList?: number): BrandKit;
|
|
146
|
-
/**
|
|
147
|
-
* Fetch a website (or use supplied HTML) and extract its BrandKit.
|
|
148
|
-
*
|
|
149
|
-
* Returns a typed outcome — callers MUST check `succeeded`. A fetch failure or
|
|
150
|
-
* empty input is a real, surfaced error, never an empty kit masquerading as a
|
|
151
|
-
* result. Parsing itself never throws: a malformed page yields a sparse kit
|
|
152
|
-
* with warnings, which is information, not failure.
|
|
153
|
-
*/
|
|
154
|
-
declare function extractBrandKit(url: string, options?: ExtractBrandKitOptions): Promise<BrandExtractionResult>;
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Pure mapping helpers from an extracted BrandKit onto consumable shapes.
|
|
158
|
-
*
|
|
159
|
-
* Extraction yields ranked candidate lists; products need decided roles
|
|
160
|
-
* (background vs accent, display vs body). These helpers make the obvious,
|
|
161
|
-
* defensible default choice and expose the reasoning so a confirmation UI can
|
|
162
|
-
* show "we picked X — change it?". They NEVER invent a value: when a role can't
|
|
163
|
-
* be filled from the kit, it is omitted, and the caller decides the fallback.
|
|
164
|
-
*/
|
|
165
|
-
|
|
166
|
-
/** Relative luminance (0..1) of an #rrggbb(aa) hex — for light/dark sorting. */
|
|
167
|
-
declare function luminance(hex: string): number;
|
|
168
|
-
/** Define a color palette with background, surface, text, and accent colors for UI elements */
|
|
169
|
-
interface DecidedPalette {
|
|
170
|
-
/** Lightest neutral — page background. */
|
|
171
|
-
background?: string;
|
|
172
|
-
/** A raised neutral one step from background. */
|
|
173
|
-
surface?: string;
|
|
174
|
-
/** Darkest readable color — primary text. */
|
|
175
|
-
textPrimary?: string;
|
|
176
|
-
/** Mid-tone neutral — secondary text. */
|
|
177
|
-
textSecondary?: string;
|
|
178
|
-
/** Most saturated / popular brand color — accent. */
|
|
179
|
-
accent?: string;
|
|
180
|
-
/** Readable text color to sit on the accent (black or white by contrast). */
|
|
181
|
-
accentText?: string;
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Assign palette roles from the ranked colors. Heuristic, not authoritative —
|
|
185
|
-
* a confirmation step should let the user correct it. Roles only appear when
|
|
186
|
-
* the kit actually contained a color that fits.
|
|
187
|
-
*/
|
|
188
|
-
declare function decidePalette(palette: BrandColor[]): DecidedPalette;
|
|
189
|
-
/** Define font selections for display and body text with optional BrandFont properties */
|
|
190
|
-
interface DecidedFonts {
|
|
191
|
-
display?: BrandFont;
|
|
192
|
-
body?: BrandFont;
|
|
193
|
-
}
|
|
194
|
-
/** Pick a display and body font from the ranked list. When only one usable
|
|
195
|
-
* font exists it fills both roles — a single-typeface brand is valid. */
|
|
196
|
-
declare function decideFonts(fonts: BrandFont[]): DecidedFonts;
|
|
197
|
-
/** Everything a confirmation step needs from a kit, with roles decided. */
|
|
198
|
-
interface DecidedBrandKit {
|
|
199
|
-
name?: string;
|
|
200
|
-
description?: string;
|
|
201
|
-
sourceUrl: string;
|
|
202
|
-
palette: DecidedPalette;
|
|
203
|
-
fonts: DecidedFonts;
|
|
204
|
-
/** Best logo URL, when any candidate was found. */
|
|
205
|
-
primaryLogoUrl?: string;
|
|
206
|
-
/** All logo URLs, ranked. */
|
|
207
|
-
logoUrls: string[];
|
|
208
|
-
/** Prominent image URLs, ranked. */
|
|
209
|
-
imageUrls: string[];
|
|
210
|
-
extractedFrom: string[];
|
|
211
|
-
}
|
|
212
|
-
/** Collapse a raw BrandKit into decided roles — the shape a product persists. */
|
|
213
|
-
declare function decideBrandKit(kit: BrandKit): DecidedBrandKit;
|
|
214
|
-
|
|
215
|
-
export { type BrandColor, type BrandExtractionResult, type BrandFont, type BrandImage, type BrandKit, type BrandLogoCandidate, type DecidedBrandKit, type DecidedFonts, type DecidedPalette, type ExtractBrandKitOptions, type FetchLike, decideBrandKit, decideFonts, decidePalette, extractBrandKit, luminance, normalizeColor, normalizeSiteUrl, parseBrandKit };
|
|
2
|
+
* @tangle-network/agent-app/brand-extraction
|
|
3
|
+
*
|
|
4
|
+
* Reusable brand-kit extraction: given a website URL (or raw HTML), produce a
|
|
5
|
+
* typed BrandKit — logos, palette, fonts, images — with a typed outcome and
|
|
6
|
+
* graceful degradation. Edge-safe (regex parsing, no DOM dependency). Pure
|
|
7
|
+
* mechanism: no persistence, no rendering. Consumers (gtm, creative) map the
|
|
8
|
+
* decided kit onto their own durable brand store via the `map` helpers.
|
|
9
|
+
*/
|
|
10
|
+
export * from './types';
|
|
11
|
+
export { extractBrandKit, parseBrandKit, normalizeSiteUrl, normalizeColor } from './extract';
|
|
12
|
+
export { decideBrandKit, decidePalette, decideFonts, luminance, } from './map';
|
|
13
|
+
export type { DecidedBrandKit, DecidedPalette, DecidedFonts } from './map';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure mapping helpers from an extracted BrandKit onto consumable shapes.
|
|
3
|
+
*
|
|
4
|
+
* Extraction yields ranked candidate lists; products need decided roles
|
|
5
|
+
* (background vs accent, display vs body). These helpers make the obvious,
|
|
6
|
+
* defensible default choice and expose the reasoning so a confirmation UI can
|
|
7
|
+
* show "we picked X — change it?". They NEVER invent a value: when a role can't
|
|
8
|
+
* be filled from the kit, it is omitted, and the caller decides the fallback.
|
|
9
|
+
*/
|
|
10
|
+
import type { BrandColor, BrandFont, BrandKit } from './types';
|
|
11
|
+
/** Relative luminance (0..1) of an #rrggbb(aa) hex — for light/dark sorting. */
|
|
12
|
+
export declare function luminance(hex: string): number;
|
|
13
|
+
/** Define a color palette with background, surface, text, and accent colors for UI elements */
|
|
14
|
+
export interface DecidedPalette {
|
|
15
|
+
/** Lightest neutral — page background. */
|
|
16
|
+
background?: string;
|
|
17
|
+
/** A raised neutral one step from background. */
|
|
18
|
+
surface?: string;
|
|
19
|
+
/** Darkest readable color — primary text. */
|
|
20
|
+
textPrimary?: string;
|
|
21
|
+
/** Mid-tone neutral — secondary text. */
|
|
22
|
+
textSecondary?: string;
|
|
23
|
+
/** Most saturated / popular brand color — accent. */
|
|
24
|
+
accent?: string;
|
|
25
|
+
/** Readable text color to sit on the accent (black or white by contrast). */
|
|
26
|
+
accentText?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Assign palette roles from the ranked colors. Heuristic, not authoritative —
|
|
30
|
+
* a confirmation step should let the user correct it. Roles only appear when
|
|
31
|
+
* the kit actually contained a color that fits.
|
|
32
|
+
*/
|
|
33
|
+
export declare function decidePalette(palette: BrandColor[]): DecidedPalette;
|
|
34
|
+
/** Define font selections for display and body text with optional BrandFont properties */
|
|
35
|
+
export interface DecidedFonts {
|
|
36
|
+
display?: BrandFont;
|
|
37
|
+
body?: BrandFont;
|
|
38
|
+
}
|
|
39
|
+
/** Pick a display and body font from the ranked list. When only one usable
|
|
40
|
+
* font exists it fills both roles — a single-typeface brand is valid. */
|
|
41
|
+
export declare function decideFonts(fonts: BrandFont[]): DecidedFonts;
|
|
42
|
+
/** Everything a confirmation step needs from a kit, with roles decided. */
|
|
43
|
+
export interface DecidedBrandKit {
|
|
44
|
+
name?: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
sourceUrl: string;
|
|
47
|
+
palette: DecidedPalette;
|
|
48
|
+
fonts: DecidedFonts;
|
|
49
|
+
/** Best logo URL, when any candidate was found. */
|
|
50
|
+
primaryLogoUrl?: string;
|
|
51
|
+
/** All logo URLs, ranked. */
|
|
52
|
+
logoUrls: string[];
|
|
53
|
+
/** Prominent image URLs, ranked. */
|
|
54
|
+
imageUrls: string[];
|
|
55
|
+
extractedFrom: string[];
|
|
56
|
+
}
|
|
57
|
+
/** Collapse a raw BrandKit into decided roles — the shape a product persists. */
|
|
58
|
+
export declare function decideBrandKit(kit: BrandKit): DecidedBrandKit;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed contract for a brand kit extracted from a website (+ optional shared
|
|
3
|
+
* source files). The extractor degrades gracefully: every field is best-effort,
|
|
4
|
+
* absence is represented explicitly (empty arrays, undefined), never faked.
|
|
5
|
+
*
|
|
6
|
+
* A consuming product (gtm, creative) maps this onto its own durable brand
|
|
7
|
+
* store — see the gtm `WorkspaceBrand`. This module owns only extraction; it
|
|
8
|
+
* does NOT persist, render, or judge confidence.
|
|
9
|
+
*/
|
|
10
|
+
/** A logo / brand-mark candidate discovered on a page. */
|
|
11
|
+
export interface BrandLogoCandidate {
|
|
12
|
+
/** Absolute URL to the asset. */
|
|
13
|
+
url: string;
|
|
14
|
+
/** Where it came from — drives ranking and lets callers cite provenance. */
|
|
15
|
+
source: 'favicon' | 'apple-touch-icon' | 'og:image' | 'img-logo' | 'svg-inline' | 'manifest';
|
|
16
|
+
/** Higher = more likely the canonical logo. 0..1. */
|
|
17
|
+
confidence: number;
|
|
18
|
+
/** Declared width in px when known (from <link sizes> or <img width>). */
|
|
19
|
+
width?: number;
|
|
20
|
+
/** Declared height in px when known. */
|
|
21
|
+
height?: number;
|
|
22
|
+
/** MIME type when inferable from the extension. */
|
|
23
|
+
mimeType?: string;
|
|
24
|
+
/** alt / title text when present — a "logo" alt is a strong signal. */
|
|
25
|
+
alt?: string;
|
|
26
|
+
}
|
|
27
|
+
/** A color extracted from the page, with where it was seen. */
|
|
28
|
+
export interface BrandColor {
|
|
29
|
+
/** Normalized 6- or 8-digit `#rrggbb` / `#rrggbbaa` hex (lowercase). */
|
|
30
|
+
hex: string;
|
|
31
|
+
/** How many distinct declarations referenced this color (popularity proxy). */
|
|
32
|
+
occurrences: number;
|
|
33
|
+
/** True when sourced from a `:root` CSS custom property (highest fidelity). */
|
|
34
|
+
fromToken: boolean;
|
|
35
|
+
/** The custom-property name when fromToken (e.g. `--accent`). */
|
|
36
|
+
tokenName?: string;
|
|
37
|
+
}
|
|
38
|
+
/** A font-family discovered in CSS, with role inference. */
|
|
39
|
+
export interface BrandFont {
|
|
40
|
+
/** Primary family name, unquoted (e.g. `Inter`, `Playfair Display`). */
|
|
41
|
+
family: string;
|
|
42
|
+
/** The full declared stack as written, in order. */
|
|
43
|
+
stack: string[];
|
|
44
|
+
/** Inferred role from the selector the declaration was attached to. */
|
|
45
|
+
role: 'display' | 'body' | 'unknown';
|
|
46
|
+
/** Declaration count — popularity proxy for picking the dominant family. */
|
|
47
|
+
occurrences: number;
|
|
48
|
+
}
|
|
49
|
+
/** A prominent product / hero image candidate (not a logo). */
|
|
50
|
+
export interface BrandImage {
|
|
51
|
+
url: string;
|
|
52
|
+
source: 'og:image' | 'twitter:image' | 'img-hero' | 'img-content';
|
|
53
|
+
/** alt text when present. */
|
|
54
|
+
alt?: string;
|
|
55
|
+
width?: number;
|
|
56
|
+
height?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The full extracted kit. The shape every consumer reads. Each list is ranked
|
|
60
|
+
* best-first; empty lists mean "found nothing", never a fabricated default.
|
|
61
|
+
*/
|
|
62
|
+
export interface BrandKit {
|
|
63
|
+
/** The site the kit was extracted from (normalized, absolute). */
|
|
64
|
+
sourceUrl: string;
|
|
65
|
+
/** Best-guess brand / product name from <title>, og:site_name, manifest. */
|
|
66
|
+
name?: string;
|
|
67
|
+
/** Tagline / description from meta description or og:description. */
|
|
68
|
+
description?: string;
|
|
69
|
+
/** Logo candidates, ranked best-first. */
|
|
70
|
+
logos: BrandLogoCandidate[];
|
|
71
|
+
/** Colors, ranked by token-first then popularity. */
|
|
72
|
+
palette: BrandColor[];
|
|
73
|
+
/** Fonts, ranked display-then-body then popularity. */
|
|
74
|
+
fonts: BrandFont[];
|
|
75
|
+
/** Prominent images (hero / og), ranked best-first. */
|
|
76
|
+
images: BrandImage[];
|
|
77
|
+
/** Absolute URLs / labels the kit was derived from — for provenance. */
|
|
78
|
+
extractedFrom: string[];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Typed outcome. Callers MUST inspect `succeeded` before reading `kit`.
|
|
82
|
+
* No silent empties: a fetch failure is `succeeded:false` with a real error,
|
|
83
|
+
* NOT an empty BrandKit that downstream code mistakes for "this brand has
|
|
84
|
+
* nothing".
|
|
85
|
+
*/
|
|
86
|
+
export type BrandExtractionResult = {
|
|
87
|
+
succeeded: true;
|
|
88
|
+
kit: BrandKit;
|
|
89
|
+
warnings: string[];
|
|
90
|
+
} | {
|
|
91
|
+
succeeded: false;
|
|
92
|
+
error: string;
|
|
93
|
+
stage: 'fetch' | 'parse' | 'input';
|
|
94
|
+
};
|
|
95
|
+
/** Fetch boundary, injectable so callers (Workers, Node, tests) supply their
|
|
96
|
+
* own fetch and so tests can run fully offline against fixture HTML. */
|
|
97
|
+
export type FetchLike = (url: string, init?: {
|
|
98
|
+
signal?: AbortSignal;
|
|
99
|
+
headers?: Record<string, string>;
|
|
100
|
+
}) => Promise<{
|
|
101
|
+
ok: boolean;
|
|
102
|
+
status: number;
|
|
103
|
+
text(): Promise<string>;
|
|
104
|
+
headers?: {
|
|
105
|
+
get(name: string): string | null;
|
|
106
|
+
};
|
|
107
|
+
}>;
|
|
108
|
+
/** Define options for extracting brand kit data including HTML input, fetch method, timeout, and list limits */
|
|
109
|
+
export interface ExtractBrandKitOptions {
|
|
110
|
+
/** Raw HTML for the page. When supplied, no network fetch happens — used by
|
|
111
|
+
* tests and by callers that already hold the HTML. */
|
|
112
|
+
html?: string;
|
|
113
|
+
/** Fetch implementation. Required when `html` is omitted. */
|
|
114
|
+
fetchImpl?: FetchLike;
|
|
115
|
+
/** Per-request timeout in ms (default 15000). Applied to the page fetch. */
|
|
116
|
+
timeoutMs?: number;
|
|
117
|
+
/** Cap on each ranked list (default 12). Keeps payloads bounded. */
|
|
118
|
+
maxPerList?: number;
|
|
119
|
+
}
|
package/dist/catalog/index.d.ts
CHANGED
|
@@ -1,105 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Lifted from tuner-agent so every agent app's model picker shares one
|
|
4
|
-
* filter/dedupe/rank/feature pipeline instead of re-deriving it.
|
|
2
|
+
* Browser-safe model-catalogue subpath.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* `./runtime` is a SERVER barrel: alongside the catalogue it re-exports
|
|
5
|
+
* `createAgentRuntime`/`runAppToolLoop`, which import
|
|
6
|
+
* `@tangle-network/agent-runtime` (node:util, child_process). Any client
|
|
7
|
+
* component that imports a `/runtime` VALUE ships Node-only code into its
|
|
8
|
+
* route bundle and the module throws on load — this broke the chat route on
|
|
9
|
+
* legal-agent (#256) and the home composer on tax-agent (#372).
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* Freshness is automatic: everything is derived from the live router response,
|
|
16
|
-
* so new models surface as soon as the router lists them. The only static
|
|
17
|
-
* knowledge here is slow-moving: provider display order and family name
|
|
18
|
-
* patterns (e.g. "claude-sonnet-*", "gpt-N"). A new Sonnet or GPT release
|
|
19
|
-
* outranks its predecessor by version comparison with zero code change; only
|
|
20
|
-
* a brand-new *family name* (rare) needs a one-line rule addition.
|
|
21
|
-
*/
|
|
22
|
-
interface RouterModel {
|
|
23
|
-
id: string;
|
|
24
|
-
name?: string;
|
|
25
|
-
description?: string;
|
|
26
|
-
_provider?: string;
|
|
27
|
-
pricing?: {
|
|
28
|
-
prompt?: string | null;
|
|
29
|
-
completion?: string | null;
|
|
30
|
-
};
|
|
31
|
-
context_length?: number;
|
|
32
|
-
architecture?: {
|
|
33
|
-
modality?: string;
|
|
34
|
-
input_modalities?: string[];
|
|
35
|
-
output_modalities?: string[];
|
|
36
|
-
};
|
|
37
|
-
supported_parameters?: string[];
|
|
38
|
-
routeability?: {
|
|
39
|
-
status?: string;
|
|
40
|
-
routeable?: boolean;
|
|
41
|
-
provider?: string;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/** Define the structure and capabilities of a catalog item with optional pricing and feature flags */
|
|
45
|
-
interface CatalogModel {
|
|
46
|
-
id: string;
|
|
47
|
-
name: string;
|
|
48
|
-
provider: string;
|
|
49
|
-
description?: string;
|
|
50
|
-
contextLength?: number;
|
|
51
|
-
pricing?: {
|
|
52
|
-
prompt?: string;
|
|
53
|
-
completion?: string;
|
|
54
|
-
};
|
|
55
|
-
supportsTools: boolean;
|
|
56
|
-
supportsReasoning: boolean;
|
|
57
|
-
featured: boolean;
|
|
58
|
-
}
|
|
59
|
-
/** Define a catalog containing models with a default ID and fetch timestamp */
|
|
60
|
-
interface ModelCatalog {
|
|
61
|
-
defaultModelId: string | null;
|
|
62
|
-
fetchedAt: string;
|
|
63
|
-
models: CatalogModel[];
|
|
64
|
-
}
|
|
65
|
-
/** Strip provider prefix, :free suffix, and trailing date stamps. */
|
|
66
|
-
declare function normalizeModelId(id: string): string;
|
|
67
|
-
/**
|
|
68
|
-
* Can this router entry serve a text chat turn?
|
|
69
|
-
*
|
|
70
|
-
* The router lists every routeable endpoint, which is not the same list a chat
|
|
71
|
-
* picker should show: measured against the live catalogue (504 entries), this
|
|
72
|
-
* rejects 35 — image generators, TTS voices, embedding models, and the
|
|
73
|
-
* audio-IN transcription endpoints (`whisper-1`, `gpt-4o-transcribe`, …) that
|
|
74
|
-
* emit text but cannot take a text prompt.
|
|
75
|
-
*
|
|
76
|
-
* A model whose metadata omits either modality list is KEPT. The router is the
|
|
77
|
-
* source of that metadata and it is occasionally sparse; dropping a usable
|
|
78
|
-
* model because a field is missing is the worse failure of the two.
|
|
79
|
-
*
|
|
80
|
-
* Exported because a picker needs the same answer `buildCatalog` uses — the
|
|
81
|
-
* fleet had this predicate copied into a product component, where its narrower
|
|
82
|
-
* spelling let the 10 transcription endpoints through.
|
|
83
|
-
*/
|
|
84
|
-
declare function isChatCapableModel(m: RouterModel): boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Pure catalogue pipeline. `preferredDefault` (typically the MODEL_NAME env
|
|
87
|
-
* var) wins when it survives filtering; otherwise the first featured model.
|
|
88
|
-
*/
|
|
89
|
-
declare function buildCatalog(raw: RouterModel[], opts?: {
|
|
90
|
-
preferredDefault?: string;
|
|
91
|
-
}): ModelCatalog;
|
|
92
|
-
/**
|
|
93
|
-
* Fetch the router model list and build the catalogue, with an in-isolate
|
|
94
|
-
* cache (TTL 5 min). On router failure a stale catalogue is served rather
|
|
95
|
-
* than erroring the picker.
|
|
11
|
+
* This subpath re-exports ONLY the pure catalogue pipeline (no Node imports,
|
|
12
|
+
* no agent-runtime) so pickers and client hooks have a safe import target.
|
|
13
|
+
* Server code may keep importing from `./runtime`; the two share one source.
|
|
96
14
|
*/
|
|
97
|
-
|
|
98
|
-
baseUrl: string;
|
|
99
|
-
apiKey: string;
|
|
100
|
-
preferredDefault?: string;
|
|
101
|
-
}): Promise<ModelCatalog>;
|
|
102
|
-
/** Test-only: clear the catalogue cache. */
|
|
103
|
-
declare function __resetCatalogCache(): void;
|
|
104
|
-
|
|
105
|
-
export { type CatalogModel, type ModelCatalog, type RouterModel, __resetCatalogCache, buildCatalog, fetchModelCatalog, isChatCapableModel, normalizeModelId };
|
|
15
|
+
export { buildCatalog, fetchModelCatalog, isChatCapableModel, normalizeModelId, __resetCatalogCache, type CatalogModel, type ModelCatalog, type RouterModel, } from '../runtime/model-catalog';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ComposerPlanModeSelection } from './types';
|
|
2
|
+
export interface ComposerModeControlsProps {
|
|
3
|
+
/**
|
|
4
|
+
* Plan-approval mode. Products pass it only when the selected backend can
|
|
5
|
+
* propose a plan and wait for approval; omitted means nothing renders.
|
|
6
|
+
*/
|
|
7
|
+
planMode?: ComposerPlanModeSelection;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The shared plan-mode toggle for the left side of an agent composer.
|
|
11
|
+
* Plan mode is a behavioral switch, not part of the profile/backend/model/
|
|
12
|
+
* thinking identity controls on the right.
|
|
13
|
+
*/
|
|
14
|
+
export declare function ComposerModeControls({ planMode }: ComposerModeControlsProps): import("react").JSX.Element | null;
|