nudge-ui 0.2.4 → 0.2.6
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/cli/agentCommand.d.ts +0 -1
- package/dist/cli/agentCommand.js +4 -29
- package/dist/client.mjs +987 -221
- package/dist/compiler/ast.d.ts +0 -6
- package/dist/compiler/ast.js +0 -5
- package/dist/compiler/componentContractTypes.d.ts +11 -5
- package/dist/compiler/componentContracts.js +3 -9
- package/dist/compiler/componentInstrumentation.d.ts +2 -13
- package/dist/compiler/componentInstrumentation.js +3 -12
- package/dist/compiler/componentPolicyResolution.d.ts +3 -22
- package/dist/compiler/componentPolicyResolution.js +6 -38
- package/dist/compiler/identityAttributes.d.ts +2 -0
- package/dist/compiler/identityAttributes.js +2 -0
- package/dist/compiler/index.d.ts +0 -1
- package/dist/compiler/index.js +0 -1
- package/dist/compiler/packageComponentContracts.d.ts +10 -19
- package/dist/compiler/packageComponentContracts.js +60 -43
- package/dist/compiler/reactComponentProtocols.d.ts +0 -7
- package/dist/compiler/reactComponentProtocols.js +0 -7
- package/dist/compiler/reactIdentity.d.ts +2 -2
- package/dist/compiler/reactIdentity.js +41 -43
- package/dist/compiler/sourcePaths.d.ts +4 -8
- package/dist/compiler/sourcePaths.js +6 -8
- package/dist/css/dialects/index.d.ts +2 -21
- package/dist/css/dialects/index.js +2 -9
- package/dist/css/dialects/tailwind.d.ts +2 -16
- package/dist/css/dialects/tailwind.js +2 -25
- package/dist/css/dialects/vanillaExtract.d.ts +1 -9
- package/dist/css/dialects/vanillaExtract.js +0 -1
- package/dist/css/index.d.ts +0 -8
- package/dist/css/index.js +0 -8
- package/dist/css/model/index.d.ts +6 -38
- package/dist/css/model/index.js +0 -9
- package/dist/css/token-inventory/index.d.ts +0 -23
- package/dist/css/token-inventory/index.js +0 -23
- package/dist/css/token-inventory/inventory.js +4 -16
- package/dist/css/token-inventory/parseStylesheet.d.ts +1 -9
- package/dist/css/token-inventory/parseStylesheet.js +5 -42
- package/dist/css/token-inventory/policy.d.ts +2 -39
- package/dist/css/token-inventory/policy.js +2 -39
- package/dist/css/token-inventory/types.d.ts +2 -15
- package/dist/css/value-semantics/borderSemantics.d.ts +1 -8
- package/dist/css/value-semantics/borderSemantics.js +5 -23
- package/dist/css/value-semantics/boxSemantics.d.ts +2 -25
- package/dist/css/value-semantics/boxSemantics.js +1 -7
- package/dist/css/value-semantics/colorSemantics.d.ts +6 -60
- package/dist/css/value-semantics/colorSemantics.js +9 -40
- package/dist/css/value-semantics/cssSyntax.d.ts +10 -10
- package/dist/css/value-semantics/cssSyntax.js +39 -11
- package/dist/css/value-semantics/fontSemantics.d.ts +3 -19
- package/dist/css/value-semantics/fontSemantics.js +7 -25
- package/dist/css/value-semantics/index.d.ts +1 -12
- package/dist/css/value-semantics/index.js +1 -12
- package/dist/css/value-semantics/propertyPolicy.d.ts +6 -53
- package/dist/css/value-semantics/propertyPolicy.js +47 -59
- package/dist/css/value-semantics/stringMaps.d.ts +0 -1
- package/dist/css/value-semantics/structuredValues.d.ts +3 -37
- package/dist/css/value-semantics/structuredValues.js +6 -17
- package/dist/css/value-semantics/tokenInterpretation.d.ts +8 -50
- package/dist/css/value-semantics/tokenInterpretation.js +7 -21
- package/dist/hosts/astro/astroRuntimeConfig.d.ts +0 -1
- package/dist/hosts/astro/astroRuntimeConfig.js +0 -1
- package/dist/hosts/astro/clientAsset.d.ts +1 -5
- package/dist/hosts/astro/clientAsset.js +1 -5
- package/dist/hosts/astro/clientTransport.d.ts +0 -1
- package/dist/hosts/astro/clientTransport.js +4 -9
- package/dist/hosts/astro/integration.d.ts +2 -28
- package/dist/hosts/astro/integration.js +7 -36
- package/dist/hosts/astro/markdownIdentity.d.ts +0 -3
- package/dist/hosts/astro/markdownIdentity.js +0 -3
- package/dist/hosts/astro/middleware.d.ts +1 -12
- package/dist/hosts/astro/middleware.js +1 -12
- package/dist/hosts/astro/projectContext.d.ts +1 -9
- package/dist/hosts/astro/projectContext.js +2 -11
- package/dist/hosts/astro/responseInstrumentation.d.ts +4 -33
- package/dist/hosts/astro/responseInstrumentation.js +5 -34
- package/dist/hosts/environment.d.ts +0 -8
- package/dist/hosts/environment.js +0 -1
- package/dist/hosts/next/index.js +1 -3
- package/dist/hosts/next/loader.d.ts +5 -44
- package/dist/hosts/next/loader.js +22 -103
- package/dist/hosts/next/loaders/identity-loader.cjs +111 -65
- package/dist/hosts/next/loaders/loader-plugin.cjs +111 -65
- package/dist/hosts/next/manifest.d.ts +2 -16
- package/dist/hosts/next/manifest.js +18 -20
- package/dist/hosts/next/mount.d.ts +1 -11
- package/dist/hosts/next/mount.js +1 -11
- package/dist/hosts/next/repositoryScope.d.ts +2 -17
- package/dist/hosts/next/repositoryScope.js +2 -17
- package/dist/hosts/next/sidecar.d.ts +0 -13
- package/dist/hosts/next/sidecar.js +25 -110
- package/dist/hosts/next/wrapper.d.ts +0 -31
- package/dist/hosts/next/wrapper.js +14 -71
- package/dist/hosts/projectBridge.d.ts +0 -2
- package/dist/hosts/projectBridge.js +3 -19
- package/dist/hosts/reactRendererCapture.d.ts +2 -0
- package/dist/hosts/reactRendererCapture.js +12 -0
- package/dist/hosts/static/cli.d.ts +0 -4
- package/dist/hosts/static/cli.js +0 -3
- package/dist/hosts/static/html/bootstrap.d.ts +1 -18
- package/dist/hosts/static/html/bootstrap.js +2 -14
- package/dist/hosts/static/manifest.d.ts +2 -15
- package/dist/hosts/static/manifest.js +5 -18
- package/dist/hosts/static/server.d.ts +4 -38
- package/dist/hosts/static/server.js +17 -67
- package/dist/hosts/vite/index.d.ts +0 -10
- package/dist/hosts/vite/index.js +0 -10
- package/dist/hosts/vite/react.d.ts +4 -17
- package/dist/hosts/vite/react.js +18 -35
- package/dist/hosts/vite/tokens/activeStylesheets.d.ts +1 -10
- package/dist/hosts/vite/tokens/activeStylesheets.js +3 -8
- package/dist/hosts/vite/tokens/fileMap.d.ts +0 -1
- package/dist/hosts/vite/tokens/viteStylesheetArtifacts.d.ts +2 -15
- package/dist/hosts/vite/tokens/viteStylesheetArtifacts.js +3 -10
- package/dist/hosts/vite/vite.d.ts +5 -26
- package/dist/hosts/vite/vite.js +44 -80
- package/dist/html/dom.d.ts +0 -1
- package/dist/html/dom.js +0 -1
- package/dist/html/identity.d.ts +1 -15
- package/dist/html/identity.js +1 -8
- package/dist/html/insertions.d.ts +2 -8
- package/dist/html/insertions.js +1 -1
- package/dist/inspector/agent/McpConnectionDialog.d.ts +1 -6
- package/dist/inspector/agent/McpConnectionDialog.js +8 -9
- package/dist/inspector/agent/activity.d.ts +2 -2
- package/dist/inspector/agent/activity.js +4 -3
- package/dist/inspector/agent/client.d.ts +3 -27
- package/dist/inspector/agent/client.js +43 -91
- package/dist/inspector/agent/connectionStatus.d.ts +3 -2
- package/dist/inspector/agent/connectionStatus.js +25 -1
- package/dist/inspector/agent/httpTransport.d.ts +0 -8
- package/dist/inspector/agent/httpTransport.js +42 -176
- package/dist/inspector/agent/protocol.d.ts +1 -10
- package/dist/inspector/agent/protocol.js +1 -9
- package/dist/inspector/agent/verification.d.ts +3 -20
- package/dist/inspector/agent/verification.js +10 -43
- package/dist/inspector/boot.d.ts +5 -0
- package/dist/inspector/boot.js +289 -0
- package/dist/inspector/canvas/AgentActivityOverlay.d.ts +3 -2
- package/dist/inspector/canvas/AgentActivityOverlay.js +7 -4
- package/dist/inspector/canvas/CanvasCard.js +26 -24
- package/dist/inspector/canvas/CanvasElementOverlay.js +196 -174
- package/dist/inspector/canvas/CanvasToolbar.js +2 -1
- package/dist/inspector/canvas/CanvasWorkspace.js +87 -124
- package/dist/inspector/canvas/LockedWorkspaceNotice.d.ts +3 -2
- package/dist/inspector/canvas/LockedWorkspaceNotice.js +10 -6
- package/dist/inspector/canvas/PageCard.d.ts +9 -0
- package/dist/inspector/canvas/PageCard.js +50 -0
- package/dist/inspector/canvas/SketchToolOptions.d.ts +4 -0
- package/dist/inspector/canvas/SketchToolOptions.js +80 -0
- package/dist/inspector/canvas/StaleChangeIndicator.d.ts +1 -1
- package/dist/inspector/canvas/StaleChangeIndicator.js +1 -1
- package/dist/inspector/canvas/ToolOptionsDrawer.d.ts +16 -0
- package/dist/inspector/canvas/ToolOptionsDrawer.js +71 -0
- package/dist/inspector/canvas/activeCanvasDocument.d.ts +3 -4
- package/dist/inspector/canvas/activeCanvasDocument.js +0 -2
- package/dist/inspector/canvas/agentPresentation.d.ts +2 -13
- package/dist/inspector/canvas/agentPresentation.js +3 -14
- package/dist/inspector/canvas/assets/eraser.svg +28 -0
- package/dist/inspector/canvas/assets/pen.svg +25 -0
- package/dist/inspector/canvas/canvasFrame.d.ts +12 -0
- package/dist/inspector/canvas/canvasFrame.js +9 -0
- package/dist/inspector/canvas/canvasGestures.d.ts +0 -1
- package/dist/inspector/canvas/canvasGestures.js +0 -6
- package/dist/inspector/canvas/canvasResize.d.ts +1 -6
- package/dist/inspector/canvas/canvasResize.js +1 -6
- package/dist/inspector/canvas/canvasStore.d.ts +5 -7
- package/dist/inspector/canvas/canvasStore.js +42 -21
- package/dist/inspector/canvas/frameConnection.d.ts +42 -0
- package/dist/inspector/canvas/frameConnection.js +73 -0
- package/dist/inspector/canvas/frameContent.d.ts +0 -1
- package/dist/inspector/canvas/frameLifecycle.d.ts +12 -0
- package/dist/inspector/canvas/frameLifecycle.js +11 -0
- package/dist/inspector/canvas/frameProtocol.d.ts +20 -38
- package/dist/inspector/canvas/frameProtocol.js +37 -24
- package/dist/inspector/canvas/frameScrollbarStyles.d.ts +0 -1
- package/dist/inspector/canvas/frameScrollbarStyles.js +0 -1
- package/dist/inspector/canvas/layout.d.ts +10 -22
- package/dist/inspector/canvas/layout.js +0 -3
- package/dist/inspector/canvas/normalizeUrl.js +1 -8
- package/dist/inspector/canvas/pageSurface.d.ts +6 -0
- package/dist/inspector/canvas/pageSurface.js +29 -0
- package/dist/inspector/canvas/projection.d.ts +14 -25
- package/dist/inspector/canvas/projection.js +64 -87
- package/dist/inspector/canvas/rendererBootstrap.d.ts +8 -1
- package/dist/inspector/canvas/rendererBootstrap.js +10 -15
- package/dist/inspector/canvas/rendererCidIndex.d.ts +0 -5
- package/dist/inspector/canvas/rendererCidIndex.js +0 -5
- package/dist/inspector/canvas/rendererElementSelector.js +38 -28
- package/dist/inspector/canvas/rendererMessageRouter.d.ts +4 -6
- package/dist/inspector/canvas/rendererMessageRouter.js +12 -17
- package/dist/inspector/canvas/rendererSelectionProxy.d.ts +3 -1
- package/dist/inspector/canvas/rendererSelectionProxy.js +7 -40
- package/dist/inspector/canvas/rendererStylesheet.d.ts +0 -1
- package/dist/inspector/canvas/rendererStylesheet.js +23 -1
- package/dist/inspector/canvas/resizeHandleScale.d.ts +1 -10
- package/dist/inspector/canvas/resizeHandleScale.js +1 -10
- package/dist/inspector/canvas/sessionStore.d.ts +3 -9
- package/dist/inspector/canvas/sessionStore.js +33 -43
- package/dist/inspector/canvas/staleChangeDetector.d.ts +1 -1
- package/dist/inspector/canvas/staleChangeDetector.js +11 -26
- package/dist/inspector/canvas/toolbarScale.d.ts +1 -4
- package/dist/inspector/canvas/toolbarScale.js +1 -4
- package/dist/inspector/canvas/useCanvasLayoutAnimation.d.ts +0 -1
- package/dist/inspector/canvas/useCanvasLayoutAnimation.js +0 -1
- package/dist/inspector/canvas/viewStore.js +1 -1
- package/dist/inspector/canvas/wheelPan.d.ts +1 -1
- package/dist/inspector/canvas/wheelPan.js +1 -1
- package/dist/inspector/canvas/workspaceLease.d.ts +1 -5
- package/dist/inspector/canvas/workspaceLease.js +1 -7
- package/dist/inspector/changes/codecs.d.ts +1 -0
- package/dist/inspector/changes/codecs.js +21 -5
- package/dist/inspector/changes/draftPreview.d.ts +7 -0
- package/dist/inspector/changes/draftPreview.js +118 -0
- package/dist/inspector/changes/editModel.d.ts +11 -13
- package/dist/inspector/changes/editModel.js +9 -4
- package/dist/inspector/changes/managedStyleProjection.js +6 -15
- package/dist/inspector/changes/model.d.ts +0 -5
- package/dist/inspector/changes/model.js +1 -8
- package/dist/inspector/changes/previewDiagnostics.d.ts +2 -12
- package/dist/inspector/changes/previewDiagnostics.js +5 -21
- package/dist/inspector/changes/previewVerification.d.ts +25 -0
- package/dist/inspector/changes/previewVerification.js +34 -0
- package/dist/inspector/changes/structuralTypes.d.ts +2 -4
- package/dist/inspector/changes/types.d.ts +11 -8
- package/dist/inspector/clientManifest.d.ts +17 -6
- package/dist/inspector/clientManifest.js +16 -3
- package/dist/inspector/comments/CommentsOverlay.js +66 -23
- package/dist/inspector/comments/element.d.ts +1 -2
- package/dist/inspector/comments/element.js +1 -2
- package/dist/inspector/comments/store.d.ts +1 -1
- package/dist/inspector/comments/store.js +4 -3
- package/dist/inspector/comments/verification.d.ts +8 -2
- package/dist/inspector/comments/verification.js +19 -11
- package/dist/inspector/componentSemantics/ComponentPropsSection.d.ts +8 -0
- package/dist/inspector/componentSemantics/ComponentPropsSection.js +12 -8
- package/dist/inspector/componentSemantics/adapterRegistry.d.ts +2 -9
- package/dist/inspector/componentSemantics/adapterRegistry.js +2 -9
- package/dist/inspector/componentSemantics/changeAction.js +1 -1
- package/dist/inspector/componentSemantics/changeModel.js +2 -4
- package/dist/inspector/componentSemantics/react/callsites.d.ts +28 -0
- package/dist/inspector/componentSemantics/react/callsites.js +261 -0
- package/dist/inspector/componentSemantics/react/devtoolsHook.d.ts +23 -0
- package/dist/inspector/componentSemantics/react/devtoolsHook.js +71 -0
- package/dist/inspector/componentSemantics/react/fibers.d.ts +17 -0
- package/dist/inspector/componentSemantics/react/fibers.js +30 -0
- package/dist/inspector/componentSemantics/{reactRuntime.d.ts → react/runtime.d.ts} +3 -2
- package/dist/inspector/componentSemantics/{reactRuntime.js → react/runtime.js} +70 -53
- package/dist/inspector/componentSemantics/runtimeBridge.d.ts +2 -18
- package/dist/inspector/componentSemantics/runtimeBridge.js +5 -19
- package/dist/inspector/componentSemantics/textBinding.d.ts +2 -11
- package/dist/inspector/componentSemantics/textBinding.js +20 -87
- package/dist/inspector/componentSemantics/types.d.ts +8 -27
- package/dist/inspector/componentSemantics/types.js +0 -1
- package/dist/inspector/conformance/borderCases.d.ts +0 -5
- package/dist/inspector/conformance/borderCases.js +0 -5
- package/dist/inspector/conformance/colorCases.d.ts +0 -6
- package/dist/inspector/conformance/colorCases.js +0 -6
- package/dist/inspector/conformance/fixture.d.ts +1 -5
- package/dist/inspector/conformance/fixture.js +1 -5
- package/dist/inspector/conformance/spacingCases.d.ts +0 -4
- package/dist/inspector/conformance/spacingCases.js +0 -4
- package/dist/inspector/conformance/typographyCases.d.ts +0 -5
- package/dist/inspector/conformance/typographyCases.js +0 -5
- package/dist/inspector/drafts/draftStore.d.ts +95 -0
- package/dist/inspector/drafts/draftStore.js +461 -0
- package/dist/inspector/drafts/model.d.ts +14 -14
- package/dist/inspector/drafts/model.js +4 -2
- package/dist/inspector/drafts/store.d.ts +47 -16
- package/dist/inspector/drafts/store.js +137 -170
- package/dist/inspector/editScope.d.ts +0 -1
- package/dist/inspector/editScope.js +0 -1
- package/dist/inspector/index.d.ts +2 -4
- package/dist/inspector/index.js +2 -264
- package/dist/inspector/inline-text/inlineTextDiagnostics.d.ts +0 -2
- package/dist/inspector/inline-text/inlineTextDiagnostics.js +0 -2
- package/dist/inspector/inline-text/inlineTextEditor.d.ts +3 -9
- package/dist/inspector/inline-text/inlineTextEditor.js +27 -81
- package/dist/inspector/inline-text/inlineTextLifecycle.js +1 -6
- package/dist/inspector/inline-text/textEditChange.d.ts +1 -2
- package/dist/inspector/inspection/bridge.d.ts +3 -7
- package/dist/inspector/inspection/bridge.js +6 -13
- package/dist/inspector/inspection/browserCssInspection.d.ts +12 -11
- package/dist/inspector/inspection/browserCssInspection.js +32 -14
- package/dist/inspector/inspection/browserCssInspectionRegistry.d.ts +0 -7
- package/dist/inspector/inspection/browserCssInspectionRegistry.js +1 -16
- package/dist/inspector/inspection/inspectionSnapshot.d.ts +6 -0
- package/dist/inspector/inspection/inspectionSnapshot.js +10 -0
- package/dist/inspector/inspection/performanceDiagnostics.d.ts +18 -0
- package/dist/inspector/inspection/performanceDiagnostics.js +31 -0
- package/dist/inspector/inspection/selectionProperty.d.ts +1 -6
- package/dist/inspector/inspection/selectionProperty.js +1 -5
- package/dist/inspector/inspection/useBrowserCssInspection.d.ts +1 -5
- package/dist/inspector/inspection/useBrowserCssInspection.js +22 -59
- package/dist/inspector/iterations/capture.d.ts +2 -2
- package/dist/inspector/iterations/capture.js +4 -9
- package/dist/inspector/iterations/client.d.ts +2 -2
- package/dist/inspector/iterations/client.js +0 -1
- package/dist/inspector/iterations/coordinator.d.ts +4 -4
- package/dist/inspector/iterations/coordinator.js +5 -4
- package/dist/inspector/iterations/prompt.d.ts +0 -1
- package/dist/inspector/iterations/prompt.js +9 -9
- package/dist/inspector/overlay/DomNavigator.d.ts +3 -1
- package/dist/inspector/overlay/DomNavigator.js +39 -15
- package/dist/inspector/overlay/DropGuideOverlay.d.ts +0 -1
- package/dist/inspector/overlay/DropGuideOverlay.js +0 -1
- package/dist/inspector/overlay/MeasurementGuideOverlay.d.ts +1 -8
- package/dist/inspector/overlay/MeasurementGuideOverlay.js +1 -5
- package/dist/inspector/overlay/clickPolicy.d.ts +3 -14
- package/dist/inspector/overlay/clickPolicy.js +3 -14
- package/dist/inspector/overlay/dropGuide.d.ts +0 -3
- package/dist/inspector/overlay/dropGuide.js +0 -3
- package/dist/inspector/overlay/frameThrottle.d.ts +0 -1
- package/dist/inspector/overlay/frameThrottle.js +0 -1
- package/dist/inspector/overlay/interactionStyles.d.ts +1 -1
- package/dist/inspector/overlay/interactionStyles.js +19 -8
- package/dist/inspector/overlay/measurementGeometry.js +4 -12
- package/dist/inspector/overlay/selectedGeometry.d.ts +1 -6
- package/dist/inspector/overlay/selectedGeometry.js +1 -8
- package/dist/inspector/overlay/spacingGestures.d.ts +14 -21
- package/dist/inspector/overlay/spacingGestures.js +151 -31
- package/dist/inspector/overlay/structuralGestures.d.ts +2 -9
- package/dist/inspector/overlay/structuralGestures.js +1 -4
- package/dist/inspector/pageInspector.d.ts +33 -0
- package/dist/inspector/pageInspector.js +335 -0
- package/dist/inspector/projection/cssEscapes.d.ts +0 -1
- package/dist/inspector/projection/cssEscapes.js +2 -4
- package/dist/inspector/projection/draftProjection.d.ts +6 -10
- package/dist/inspector/projection/draftProjection.js +8 -7
- package/dist/inspector/projection/managedStylesheet.d.ts +1 -7
- package/dist/inspector/projection/managedStylesheet.js +28 -26
- package/dist/inspector/projection/renderedInstance.d.ts +5 -28
- package/dist/inspector/projection/renderedInstance.js +13 -33
- package/dist/inspector/projection/structuralProjection.d.ts +7 -48
- package/dist/inspector/projection/structuralProjection.js +31 -96
- package/dist/inspector/projection/textProjection.d.ts +7 -13
- package/dist/inspector/projection/textProjection.js +35 -80
- package/dist/inspector/prompt/PromptSettingsDialog.d.ts +0 -1
- package/dist/inspector/prompt/PromptSettingsDialog.js +0 -1
- package/dist/inspector/prompt/clipboardHandoff.d.ts +1 -0
- package/dist/inspector/prompt/clipboardHandoff.js +34 -16
- package/dist/inspector/prompt/generatePrompt.d.ts +2 -2
- package/dist/inspector/prompt/generatePrompt.js +247 -166
- package/dist/inspector/prompt/promptDocument.d.ts +3 -0
- package/dist/inspector/prompt/promptDocument.js +8 -0
- package/dist/inspector/prompt/promptSettings.d.ts +0 -3
- package/dist/inspector/prompt/promptSettings.js +7 -8
- package/dist/inspector/runtime/devFlag.d.ts +2 -25
- package/dist/inspector/runtime/devFlag.js +4 -31
- package/dist/inspector/runtime/documentStylesheetOrder.d.ts +0 -2
- package/dist/inspector/runtime/editorShell.d.ts +0 -1
- package/dist/inspector/runtime/editorShell.js +0 -1
- package/dist/inspector/runtime/inspectorStorage.d.ts +11 -0
- package/dist/inspector/runtime/inspectorStorage.js +37 -0
- package/dist/inspector/runtime/ownedStylesheets.d.ts +14 -0
- package/dist/inspector/runtime/ownedStylesheets.js +66 -0
- package/dist/inspector/runtime/runtimeConfig.d.ts +14 -84
- package/dist/inspector/runtime/runtimeConfig.js +18 -50
- package/dist/inspector/runtime/runtimeIdentityClaims.d.ts +19 -0
- package/dist/inspector/runtime/runtimeIdentityClaims.js +178 -0
- package/dist/inspector/runtime/staticHtmlRuntimeIdentity.d.ts +6 -23
- package/dist/inspector/runtime/staticHtmlRuntimeIdentity.js +103 -52
- package/dist/inspector/runtime/useRuntimeConfig.d.ts +1 -8
- package/dist/inspector/runtime/useRuntimeConfig.js +1 -8
- package/dist/inspector/selection/editScope.d.ts +2 -7
- package/dist/inspector/selection/editScope.js +15 -14
- package/dist/inspector/selection/editTarget.d.ts +1 -5
- package/dist/inspector/selection/hierarchy.d.ts +11 -11
- package/dist/inspector/selection/hierarchy.js +42 -24
- package/dist/inspector/selection/selectionStore.d.ts +0 -3
- package/dist/inspector/selection/selectionStore.js +5 -16
- package/dist/inspector/selection/sourceSite.d.ts +1 -5
- package/dist/inspector/selection/sourceSite.js +2 -8
- package/dist/inspector/selection/styleSelection.d.ts +1 -5
- package/dist/inspector/selection/styleSelection.js +1 -5
- package/dist/inspector/session/lifecycle.d.ts +1 -9
- package/dist/inspector/session/lifecycle.js +0 -1
- package/dist/inspector/session/sessionContext.d.ts +0 -4
- package/dist/inspector/session/sessionContext.js +0 -4
- package/dist/inspector/session/sessionFactory.d.ts +0 -9
- package/dist/inspector/session/sessionFactory.js +0 -6
- package/dist/inspector/settings/SettingsDialog.d.ts +0 -1
- package/dist/inspector/settings/SettingsDialog.js +5 -3
- package/dist/inspector/shell/AgentStatusButton.d.ts +3 -2
- package/dist/inspector/shell/AgentStatusButton.js +7 -7
- package/dist/inspector/shell/AppShell.js +6 -2
- package/dist/inspector/shell/ChangesLog.js +29 -12
- package/dist/inspector/shell/CopyPromptButton.d.ts +2 -1
- package/dist/inspector/shell/CopyPromptButton.js +62 -55
- package/dist/inspector/shell/EmptyState.js +3 -3
- package/dist/inspector/shell/InspectorEditors.d.ts +16 -0
- package/dist/inspector/shell/InspectorEditors.js +14 -0
- package/dist/inspector/shell/InspectorPanel.d.ts +12 -0
- package/dist/inspector/shell/InspectorPanel.js +8 -0
- package/dist/inspector/shell/InspectorSelection.d.ts +24 -0
- package/dist/inspector/shell/InspectorSelection.js +20 -0
- package/dist/inspector/shell/InspectorShell.d.ts +0 -3
- package/dist/inspector/shell/InspectorShell.js +44 -58
- package/dist/inspector/shell/NudgeLogoIcon.d.ts +5 -0
- package/dist/inspector/shell/NudgeLogoIcon.js +5 -0
- package/dist/inspector/shell/PeekOriginalButton.d.ts +0 -5
- package/dist/inspector/shell/PeekOriginalButton.js +3 -8
- package/dist/inspector/shell/PeekOriginalIcon.d.ts +0 -5
- package/dist/inspector/shell/PeekOriginalIcon.js +0 -5
- package/dist/inspector/shell/PromptActionButton.d.ts +21 -0
- package/dist/inspector/shell/PromptActionButton.js +14 -0
- package/dist/inspector/shell/elementName.d.ts +5 -0
- package/dist/inspector/shell/elementName.js +29 -0
- package/dist/inspector/shell/interactionStatePreview.d.ts +6 -0
- package/dist/inspector/shell/interactionStatePreview.js +107 -0
- package/dist/inspector/shell/originalPreview.d.ts +1 -5
- package/dist/inspector/shell/originalPreview.js +5 -37
- package/dist/inspector/shell/stateValue.d.ts +1 -2
- package/dist/inspector/shell/stateValue.js +4 -8
- package/dist/inspector/shell/styleState.d.ts +1 -2
- package/dist/inspector/shell/styleState.js +1 -2
- package/dist/inspector/sketch/SketchEditor.js +5 -5
- package/dist/inspector/sketch/SketchFrameOverlay.d.ts +2 -1
- package/dist/inspector/sketch/SketchFrameOverlay.js +13 -16
- package/dist/inspector/sketch/SketchOverlay.d.ts +3 -5
- package/dist/inspector/sketch/SketchOverlay.js +138 -263
- package/dist/inspector/sketch/SketchPromptPanel.d.ts +1 -2
- package/dist/inspector/sketch/SketchPromptPanel.js +8 -2
- package/dist/inspector/sketch/SketchThumbnail.d.ts +5 -0
- package/dist/inspector/sketch/SketchThumbnail.js +18 -0
- package/dist/inspector/sketch/SketchWorkspace.d.ts +1 -2
- package/dist/inspector/sketch/SketchWorkspace.js +70 -37
- package/dist/inspector/sketch/capture.d.ts +12 -3
- package/dist/inspector/sketch/capture.js +31 -14
- package/dist/inspector/sketch/copySketch.d.ts +4 -0
- package/dist/inspector/sketch/copySketch.js +43 -0
- package/dist/inspector/sketch/drawingTools.d.ts +15 -0
- package/dist/inspector/sketch/drawingTools.js +46 -0
- package/dist/inspector/sketch/frameHeading.d.ts +3 -0
- package/dist/inspector/sketch/frameHeading.js +23 -0
- package/dist/inspector/sketch/freehand.d.ts +0 -1
- package/dist/inspector/sketch/freehand.js +3 -4
- package/dist/inspector/sketch/geometry.d.ts +2 -1
- package/dist/inspector/sketch/geometry.js +15 -1
- package/dist/inspector/sketch/handoff.js +0 -1
- package/dist/inspector/sketch/history.d.ts +26 -0
- package/dist/inspector/sketch/history.js +55 -0
- package/dist/inspector/sketch/interaction.d.ts +3 -5
- package/dist/inspector/sketch/interaction.js +8 -11
- package/dist/inspector/sketch/model.d.ts +33 -6
- package/dist/inspector/sketch/model.js +101 -63
- package/dist/inspector/sketch/persistence.d.ts +14 -1
- package/dist/inspector/sketch/persistence.js +64 -8
- package/dist/inspector/sketch/raster.d.ts +3 -2
- package/dist/inspector/sketch/raster.js +40 -20
- package/dist/inspector/sketch/store.d.ts +1 -1
- package/dist/inspector/sketch/store.js +3 -4
- package/dist/inspector/sketch/videoFrames.d.ts +6 -0
- package/dist/inspector/sketch/videoFrames.js +80 -0
- package/dist/inspector/spacing/projection.d.ts +0 -8
- package/dist/inspector/spacing/projection.js +38 -20
- package/dist/inspector/styleEditors/BackgroundEditor.js +3 -2
- package/dist/inspector/styleEditors/BorderEditor.js +30 -135
- package/dist/inspector/styleEditors/BorderRadiusEditor.js +8 -3
- package/dist/inspector/styleEditors/ChildPlacement.d.ts +12 -0
- package/dist/inspector/styleEditors/ChildPlacement.js +9 -0
- package/dist/inspector/styleEditors/FlexControls.d.ts +35 -0
- package/dist/inspector/styleEditors/FlexControls.js +158 -0
- package/dist/inspector/styleEditors/GapField.d.ts +5 -2
- package/dist/inspector/styleEditors/GapField.js +3 -4
- package/dist/inspector/styleEditors/GridChildSection.d.ts +0 -5
- package/dist/inspector/styleEditors/GridChildSection.js +0 -5
- package/dist/inspector/styleEditors/GridPicker.d.ts +1 -1
- package/dist/inspector/styleEditors/GridPicker.js +2 -4
- package/dist/inspector/styleEditors/GridSection.d.ts +10 -8
- package/dist/inspector/styleEditors/GridSection.js +22 -9
- package/dist/inspector/styleEditors/GridValueField.d.ts +1 -5
- package/dist/inspector/styleEditors/GridValueField.js +2 -8
- package/dist/inspector/styleEditors/ImageBackgroundEditor.d.ts +0 -1
- package/dist/inspector/styleEditors/ImageBackgroundEditor.js +1 -2
- package/dist/inspector/styleEditors/LayoutBlockedIndicator.d.ts +0 -1
- package/dist/inspector/styleEditors/LayoutBlockedIndicator.js +0 -1
- package/dist/inspector/styleEditors/LayoutComboField.js +0 -5
- package/dist/inspector/styleEditors/LayoutModeRow.d.ts +14 -0
- package/dist/inspector/styleEditors/LayoutModeRow.js +60 -0
- package/dist/inspector/styleEditors/LayoutSection.d.ts +2 -2
- package/dist/inspector/styleEditors/LayoutSection.js +30 -356
- package/dist/inspector/styleEditors/OpacityEditor.js +7 -5
- package/dist/inspector/styleEditors/PositionControls.d.ts +18 -0
- package/dist/inspector/styleEditors/PositionControls.js +16 -0
- package/dist/inspector/styleEditors/SizeSection.d.ts +18 -0
- package/dist/inspector/styleEditors/SizeSection.js +71 -0
- package/dist/inspector/styleEditors/{SpacingBox.d.ts → SpacingField.d.ts} +3 -10
- package/dist/inspector/styleEditors/{SpacingBox.js → SpacingField.js} +15 -29
- package/dist/inspector/styleEditors/Typography.js +2 -4
- package/dist/inspector/styleEditors/borderModel.d.ts +36 -0
- package/dist/inspector/styleEditors/borderModel.js +105 -0
- package/dist/inspector/styleEditors/completeCssValue.d.ts +1 -5
- package/dist/inspector/styleEditors/completeCssValue.js +3 -13
- package/dist/inspector/styleEditors/fieldValue.d.ts +20 -0
- package/dist/inspector/styleEditors/fieldValue.js +26 -0
- package/dist/inspector/styleEditors/gradientValue.d.ts +1 -1
- package/dist/inspector/styleEditors/gradientValue.js +3 -2
- package/dist/inspector/styleEditors/gridChildModel.d.ts +7 -47
- package/dist/inspector/styleEditors/gridChildModel.js +6 -37
- package/dist/inspector/styleEditors/hiddenSizeOverrides.d.ts +5 -0
- package/dist/inspector/styleEditors/hiddenSizeOverrides.js +42 -0
- package/dist/inspector/styleEditors/inlineAuthored.d.ts +1 -8
- package/dist/inspector/styleEditors/inlineAuthored.js +3 -17
- package/dist/inspector/styleEditors/layoutMode.d.ts +15 -0
- package/dist/inspector/styleEditors/layoutMode.js +33 -0
- package/dist/inspector/styleEditors/layoutPreviewState.d.ts +0 -1
- package/dist/inspector/styleEditors/layoutPreviewState.js +0 -1
- package/dist/inspector/styleEditors/layoutValue.d.ts +2 -8
- package/dist/inspector/styleEditors/layoutValue.js +6 -15
- package/dist/inspector/styleEditors/nudgeValue.d.ts +1 -13
- package/dist/inspector/styleEditors/nudgeValue.js +1 -13
- package/dist/inspector/styleEditors/rowLookup.d.ts +1 -5
- package/dist/inspector/styleEditors/rowLookup.js +1 -5
- package/dist/inspector/styleEditors/stringRecord.d.ts +1 -2
- package/dist/inspector/styleEditors/stylePresence.d.ts +0 -2
- package/dist/inspector/styleEditors/stylePresence.js +1 -4
- package/dist/inspector/styleEditors/textRelevance.d.ts +1 -1
- package/dist/inspector/styleEditors/textRelevance.js +1 -1
- package/dist/inspector/styleEditors/useFieldVisibility.js +1 -2
- package/dist/inspector/styleEditors/useLayoutContext.d.ts +13 -0
- package/dist/inspector/styleEditors/useLayoutContext.js +53 -0
- package/dist/inspector/styleEditors/valuePolicy.d.ts +1 -5
- package/dist/inspector/styleEditors/valuePolicy.js +0 -1
- package/dist/inspector/testing.d.ts +1 -4
- package/dist/inspector/testing.js +1 -4
- package/dist/inspector/tokens/TokenChip.d.ts +1 -4
- package/dist/inspector/tokens/TokenChip.js +1 -4
- package/dist/inspector/tokens/TokenField.d.ts +4 -3
- package/dist/inspector/tokens/TokenField.js +53 -32
- package/dist/inspector/tokens/TokensPanel.js +2 -1
- package/dist/inspector/tokens/catalog.d.ts +2 -10
- package/dist/inspector/tokens/catalog.js +5 -12
- package/dist/inspector/tokens/dragPointerLock.d.ts +0 -1
- package/dist/inspector/tokens/dragPointerLock.js +2 -3
- package/dist/inspector/tokens/editActions.d.ts +4 -4
- package/dist/inspector/tokens/editActions.js +11 -7
- package/dist/inspector/tokens/resolution/cascade.d.ts +1 -5
- package/dist/inspector/tokens/resolution/cascade.js +1 -5
- package/dist/inspector/tokens/resolution/containerQueryEvaluator.d.ts +11 -0
- package/dist/inspector/tokens/resolution/containerQueryEvaluator.js +82 -0
- package/dist/inspector/tokens/resolution/cssomCollector.d.ts +4 -19
- package/dist/inspector/tokens/resolution/cssomCollector.js +186 -122
- package/dist/inspector/tokens/resolution/nestedSelectors.d.ts +2 -0
- package/dist/inspector/tokens/resolution/nestedSelectors.js +63 -0
- package/dist/inspector/tokens/resolution/ruleMatching.d.ts +4 -14
- package/dist/inspector/tokens/resolution/ruleMatching.js +136 -63
- package/dist/inspector/tokens/resolution/selectorSemantics.d.ts +3 -14
- package/dist/inspector/tokens/resolution/selectorSemantics.js +12 -27
- package/dist/inspector/tokens/resolution.d.ts +11 -27
- package/dist/inspector/tokens/resolution.js +105 -181
- package/dist/inspector/tokens/tokenAvailability.d.ts +2 -14
- package/dist/inspector/tokens/tokenAvailability.js +6 -38
- package/dist/inspector/tokens/tokenEdits.d.ts +1 -1
- package/dist/inspector/tokens/tokenEdits.js +1 -1
- package/dist/inspector/tokens/valueSemanticsAdapter.d.ts +0 -1
- package/dist/inspector/tokens/valueSemanticsAdapter.js +18 -2
- package/dist/inspector/ui/AtRuleContext.d.ts +5 -5
- package/dist/inspector/ui/AtRuleContext.js +8 -6
- package/dist/inspector/ui/ControlSurface.d.ts +0 -4
- package/dist/inspector/ui/Disclosure.d.ts +0 -5
- package/dist/inspector/ui/Disclosure.js +0 -4
- package/dist/inspector/ui/InlineStyleWarning.d.ts +0 -1
- package/dist/inspector/ui/InlineStyleWarning.js +2 -2
- package/dist/inspector/ui/InspectorPopover.d.ts +1 -5
- package/dist/inspector/ui/InspectorPopover.js +1 -5
- package/dist/inspector/ui/InspectorStyle.d.ts +8 -0
- package/dist/inspector/ui/InspectorStyle.js +26 -0
- package/dist/inspector/ui/PopoverListbox.d.ts +2 -1
- package/dist/inspector/ui/PopoverListbox.js +3 -3
- package/dist/inspector/ui/SegmentedControl.d.ts +4 -4
- package/dist/inspector/ui/SegmentedControl.js +6 -4
- package/dist/inspector/ui/SideValuesField.d.ts +1 -6
- package/dist/inspector/ui/SideValuesField.js +2 -8
- package/dist/inspector/ui/Toast.d.ts +10 -0
- package/dist/inspector/ui/Toast.js +26 -0
- package/dist/inspector/ui/assets/canvasIllustration.d.ts +2 -0
- package/dist/inspector/ui/assets/canvasIllustration.js +21 -0
- package/dist/inspector/ui/assets/gridIllustration.d.ts +2 -0
- package/dist/inspector/ui/assets/{grid.svg → gridIllustration.js} +3 -2
- package/dist/inspector/ui/atRuleSegments.d.ts +13 -0
- package/dist/inspector/ui/atRuleSegments.js +34 -0
- package/dist/inspector/ui/classNames.d.ts +0 -1
- package/dist/inspector/ui/classNames.js +0 -1
- package/dist/inspector/ui/customCursors.d.ts +11 -0
- package/dist/inspector/ui/customCursors.js +29 -7
- package/dist/inspector/ui/styles.js +25 -25
- package/dist/inspector/workspace/commands.js +1 -2
- package/dist/inspector/workspace/controller.js +20 -2
- package/dist/inspector/workspace/handoff.d.ts +1 -5
- package/dist/inspector/workspace/handoff.js +4 -7
- package/dist/inspector/workspace/sentItems.d.ts +3 -6
- package/dist/inspector/workspace/sentItems.js +6 -24
- package/dist/inspector/workspace/timeline.d.ts +28 -11
- package/dist/inspector/workspace/timeline.js +117 -96
- package/dist/internal/agent-protocol.d.ts +53 -38
- package/dist/internal/agent-protocol.js +151 -42
- package/dist/nudge-ui.mjs +155 -92
- package/dist/project/artifacts.js +24 -21
- package/dist/project/files.d.ts +0 -1
- package/dist/project/files.js +2 -9
- package/dist/project/identity.d.ts +1 -5
- package/dist/project/identity.js +1 -5
- package/dist/project/mcpPackage.d.ts +3 -0
- package/dist/project/mcpPackage.js +55 -0
- package/dist/project/pathPolicy.d.ts +1 -6
- package/dist/project/pathPolicy.js +1 -6
- package/dist/project/tokens.d.ts +2 -12
- package/dist/project/tokens.js +4 -15
- package/dist/transport/editor.d.ts +1 -12
- package/dist/transport/editor.js +2 -13
- package/dist/transport/index.d.ts +0 -5
- package/dist/transport/index.js +0 -5
- package/dist/transport/routes.d.ts +0 -5
- package/dist/transport/routes.js +0 -5
- package/package.json +16 -5
- package/dist/inspector/canvas/measurementProjection.d.ts +0 -8
- package/dist/inspector/canvas/measurementProjection.js +0 -16
- package/dist/inspector/changes/changesLog.d.ts +0 -49
- package/dist/inspector/changes/changesLog.js +0 -255
- package/dist/inspector/changes/draftChanges.d.ts +0 -58
- package/dist/inspector/changes/draftChanges.js +0 -304
- package/dist/inspector/conformance/projection.d.ts +0 -2
- package/dist/inspector/conformance/projection.js +0 -3
- package/dist/inspector/inline-text/textChangeBoundary.d.ts +0 -6
- package/dist/inspector/inline-text/textChangeBoundary.js +0 -1
- package/dist/inspector/overlay/InspectorOverlay.d.ts +0 -5
- package/dist/inspector/overlay/InspectorOverlay.js +0 -332
- package/dist/inspector/overlay/elementSelector.d.ts +0 -1
- package/dist/inspector/overlay/elementSelector.js +0 -111
- package/dist/inspector/sketch/SketchChanges.d.ts +0 -2
- package/dist/inspector/sketch/SketchChanges.js +0 -72
- package/dist/inspector/sketch/SketchEntryButton.d.ts +0 -4
- package/dist/inspector/sketch/SketchEntryButton.js +0 -11
- package/dist/inspector/sketch/SketchLayersPanel.d.ts +0 -2
- package/dist/inspector/sketch/SketchLayersPanel.js +0 -71
- package/dist/inspector/styleEditors/InsetSection.d.ts +0 -15
- package/dist/inspector/styleEditors/InsetSection.js +0 -15
- package/dist/inspector/styleEditors/PositionInsets.d.ts +0 -15
- package/dist/inspector/styleEditors/PositionInsets.js +0 -12
- package/dist/inspector/tokens/TokenDropdown.d.ts +0 -13
- package/dist/inspector/tokens/TokenDropdown.js +0 -59
|
@@ -1,41 +1,15 @@
|
|
|
1
1
|
import { instrumentRenderedHtml } from "../../html/identity.js";
|
|
2
2
|
const HTML_MEDIA_TYPE_PATTERN = /^text\/html$/i;
|
|
3
|
-
|
|
4
|
-
* Measures `Content-Length` in bytes without assuming a Node global; the
|
|
5
|
-
* middleware itself may run on any runtime that serves Astro's dev server.
|
|
6
|
-
*/
|
|
3
|
+
// Measures Content-Length in bytes without assuming a Node global; the middleware may run on any runtime.
|
|
7
4
|
const HTML_BYTE_LENGTH_ENCODER = new TextEncoder();
|
|
8
|
-
/**
|
|
9
|
-
* Classifies a response Content-Type header. Only `text/html` responses
|
|
10
|
-
* (with optional parameters such as charset) are eligible for identity
|
|
11
|
-
* instrumentation; everything else must pass through untouched.
|
|
12
|
-
*/
|
|
5
|
+
/** Only `text/html` (with optional parameters such as charset) is eligible; everything else passes through untouched. */
|
|
13
6
|
export function isHtmlContentType(contentType) {
|
|
14
7
|
if (contentType === undefined)
|
|
15
8
|
return false;
|
|
16
9
|
const mediaType = contentType.split(";", 1)[0]?.trim() ?? "";
|
|
17
10
|
return HTML_MEDIA_TYPE_PATTERN.test(mediaType);
|
|
18
11
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Instruments one rendered dev response at the Astro middleware seam
|
|
21
|
-
* (ADR-0011).
|
|
22
|
-
*
|
|
23
|
-
* HTML bodies are materialized once, transformed through the identity Module,
|
|
24
|
-
* and re-emitted as a new `Response` whose headers carry a corrected
|
|
25
|
-
* `Content-Length`; every other response is returned by reference with its
|
|
26
|
-
* stream untouched. If the body read or instrumentation throws, the original
|
|
27
|
-
* response forwards so identity extraction can never break a dev page load —
|
|
28
|
-
* a failed read returns the original response by reference (its stream is the
|
|
29
|
-
* only remaining representation), while a failed transform returns a fresh
|
|
30
|
-
* `Response` over the already-materialized body. Diagnostics always
|
|
31
|
-
* accompany the result so callers can surface degraded identity.
|
|
32
|
-
*
|
|
33
|
-
* @param response The response produced downstream (the rendered page).
|
|
34
|
-
* @param projectRoot Project root used to relativize annotation paths.
|
|
35
|
-
* @param instrument Identity transform to apply; defaults to the real
|
|
36
|
-
* `instrumentRenderedHtml`. Tests inject a failing implementation to exercise
|
|
37
|
-
* the catch branch.
|
|
38
|
-
*/
|
|
12
|
+
/** HTML bodies are materialized once to re-emit with a corrected Content-Length; every other response is returned by reference, stream untouched. */
|
|
39
13
|
export async function instrumentAstroResponse(response, projectRoot, instrument = instrumentRenderedHtml) {
|
|
40
14
|
const contentType = response.headers.get("content-type") ?? undefined;
|
|
41
15
|
if (!isHtmlContentType(contentType))
|
|
@@ -47,9 +21,7 @@ export async function instrumentAstroResponse(response, projectRoot, instrument
|
|
|
47
21
|
source = await response.text();
|
|
48
22
|
}
|
|
49
23
|
catch {
|
|
50
|
-
//
|
|
51
|
-
// remaining representation of the body, so forward it by reference
|
|
52
|
-
// instead of rejecting into the middleware chain.
|
|
24
|
+
// Forward the original response by reference: its stream is the only remaining body.
|
|
53
25
|
return { response, diagnostics: [] };
|
|
54
26
|
}
|
|
55
27
|
try {
|
|
@@ -66,8 +38,7 @@ export async function instrumentAstroResponse(response, projectRoot, instrument
|
|
|
66
38
|
};
|
|
67
39
|
}
|
|
68
40
|
catch {
|
|
69
|
-
// Identity extraction must never break a dev page load; forward the
|
|
70
|
-
// untouched body instead.
|
|
41
|
+
// Identity extraction must never break a dev page load; forward the untouched body.
|
|
71
42
|
return {
|
|
72
43
|
response: new Response(source, {
|
|
73
44
|
status: response.status,
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The `NUDGE_UI` environment switch shared by every development host.
|
|
3
|
-
*
|
|
4
|
-
* - `0`, `false`, or `off` disables the host Adapter for that run.
|
|
5
|
-
* - `1`, `true`, or `on` also opens the editor in automated browsers, which
|
|
6
|
-
* otherwise receive the plain application.
|
|
7
|
-
*/
|
|
8
1
|
export type NudgeUiEnvironmentSwitch = "off" | "on" | null;
|
|
9
2
|
export declare function readNudgeUiEnvironmentSwitch(env?: Readonly<Record<string, string | undefined>>): NudgeUiEnvironmentSwitch;
|
|
10
|
-
/** An explicit `enabled: false` or `NUDGE_UI=0` disables the Adapter. */
|
|
11
3
|
export declare function isNudgeUiEnabled(enabled: boolean | undefined, env?: Readonly<Record<string, string | undefined>>): boolean;
|
|
12
4
|
/** Manifest fields derived from the environment at request time. */
|
|
13
5
|
export declare function automationManifestFields(env?: Readonly<Record<string, string | undefined>>): {
|
|
@@ -6,7 +6,6 @@ export function readNudgeUiEnvironmentSwitch(env = process.env) {
|
|
|
6
6
|
return "on";
|
|
7
7
|
return null;
|
|
8
8
|
}
|
|
9
|
-
/** An explicit `enabled: false` or `NUDGE_UI=0` disables the Adapter. */
|
|
10
9
|
export function isNudgeUiEnabled(enabled, env = process.env) {
|
|
11
10
|
return enabled !== false && readNudgeUiEnvironmentSwitch(env) !== "off";
|
|
12
11
|
}
|
package/dist/hosts/next/index.js
CHANGED
|
@@ -2,6 +2,4 @@ export { withNudgeUi, } from "./wrapper.js";
|
|
|
2
2
|
export { buildManifest, nextjsProjectId } from "./manifest.js";
|
|
3
3
|
export { ensureSidecar, clearStaleSidecarState, } from "./sidecar.js";
|
|
4
4
|
export { transformNextModuleSource, hasUseClientDirective, directivePrologueEnd, instrumentRootLayout, } from "./loader.js";
|
|
5
|
-
// `./loader-plugin.cts` is
|
|
6
|
-
// contract (see its header) and is therefore not re-exported through this
|
|
7
|
-
// ESM surface.
|
|
5
|
+
// `./loader-plugin.cts` is CommonJS by contract and deliberately not re-exported through this ESM surface.
|
|
@@ -1,66 +1,27 @@
|
|
|
1
1
|
import type { SourceMap } from "magic-string";
|
|
2
2
|
import type { HostComponentPolicy } from "../../compiler/componentPolicyResolution.js";
|
|
3
3
|
export interface NextModuleTransformOptions {
|
|
4
|
-
/**
|
|
5
|
-
* Project root used to compute project-relative `data-src` values. Matches
|
|
6
|
-
* the Vite Adapter's semantics: paths outside the root fall back to the
|
|
7
|
-
* absolute path with its leading slash stripped.
|
|
8
|
-
*/
|
|
4
|
+
/** Paths outside the project root fall back to the absolute path with its leading slash stripped (matches Vite). */
|
|
9
5
|
root?: string;
|
|
10
|
-
/**
|
|
11
|
-
* Directory name of the Pages Router route root. Modules resolved under it
|
|
12
|
-
* are client components even without a `"use client"` directive.
|
|
13
|
-
*/
|
|
6
|
+
/** Pages Router route root; modules under it are client components even without a `"use client"` directive. */
|
|
14
7
|
pagesDir?: string;
|
|
15
|
-
/** Import provenance and slot policy resolved by the Next host Adapter. */
|
|
16
8
|
hostPolicy?: HostComponentPolicy;
|
|
17
|
-
/** Whether this module belongs to the Adapter's explicit semantic source scope. */
|
|
18
9
|
instrumentComponents?: boolean;
|
|
19
|
-
/** Module specifier resolved by the Next host for semantic boundaries. */
|
|
20
10
|
componentRuntimeModule?: string;
|
|
21
11
|
}
|
|
22
12
|
export interface NextModuleTransformResult {
|
|
23
13
|
code: string;
|
|
24
14
|
map: SourceMap | null;
|
|
25
|
-
/** True when the module qualifies as a client component (directive or Pages Router rule). */
|
|
26
15
|
clientComponent: boolean;
|
|
27
|
-
/** True when a root-layout mount element was appended. */
|
|
28
16
|
layoutInstrumented: boolean;
|
|
29
17
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Transforms one application module for development rendering, or returns
|
|
32
|
-
* `null` when nothing applies and the caller must serve the original bytes.
|
|
33
|
-
*
|
|
34
|
-
* `moduleId` is an absolute or project-relative path; only path shapes are
|
|
35
|
-
* inspected, never the filesystem.
|
|
36
|
-
*/
|
|
18
|
+
/** Returns `null` when nothing applies and the caller must serve the original bytes; `moduleId` is inspected as a path only, never as the filesystem. */
|
|
37
19
|
export declare function transformNextModuleSource(source: string, moduleId: string, options?: NextModuleTransformOptions): NextModuleTransformResult | null;
|
|
38
|
-
/**
|
|
39
|
-
* Detects a module-level `"use client"` directive without a full parse.
|
|
40
|
-
*
|
|
41
|
-
* Only comments, whitespace, a shebang, and other directive prologues may
|
|
42
|
-
* precede it; anything else ends the directive prologue per the ECMAScript
|
|
43
|
-
* spec, which keeps the scan exact rather than a loose substring search.
|
|
44
|
-
*/
|
|
45
20
|
export declare function hasUseClientDirective(source: string): boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Appends the inspector mount as the last child of a literal rendered `<body>`
|
|
48
|
-
* element. The server-rendered script must be in the initial document so it
|
|
49
|
-
* does not rely on hydration of a client component in the root layout. A
|
|
50
|
-
* layout with no literal body is left unchanged rather than emitting an
|
|
51
|
-
* invalid direct child of `<html>`.
|
|
52
|
-
*
|
|
53
|
-
* Idempotence: the aliased mount import doubles as the marker — a module that
|
|
54
|
-
* already carries it is left untouched, so running the loader twice (as
|
|
55
|
-
* Turbopack does across react-server and client conditions) cannot stack
|
|
56
|
-
* duplicates.
|
|
57
|
-
*/
|
|
21
|
+
/** Appends the mount as the last child of a literal `<body>` so the script ships in the initial document; a module that already carries the aliased import is left untouched. */
|
|
58
22
|
export declare function instrumentRootLayout(source: string): {
|
|
59
23
|
code: string;
|
|
60
24
|
map: SourceMap;
|
|
61
25
|
} | null;
|
|
62
|
-
/**
|
|
63
|
-
* Offset just past the directive prologue (shebang, comments, directive
|
|
64
|
-
* statements) — the only legal insertion point for new import statements.
|
|
65
|
-
*/
|
|
26
|
+
/** Offset just past the directive prologue — the only legal insertion point for new imports. */
|
|
66
27
|
export declare function directivePrologueEnd(source: string): number;
|
|
@@ -2,51 +2,20 @@ import { parse } from "@babel/parser";
|
|
|
2
2
|
import MagicString from "magic-string";
|
|
3
3
|
import { posix } from "node:path";
|
|
4
4
|
import { injectIdentity } from "../../compiler/reactIdentity.js";
|
|
5
|
-
/**
|
|
6
|
-
* Pure Next.js identity-loader Module (ADR-0010).
|
|
7
|
-
*
|
|
8
|
-
* Wraps the shared `injectIdentity` Module with Next-specific policy:
|
|
9
|
-
*
|
|
10
|
-
* - client-component detection gates the semantic runtime import (directive
|
|
11
|
-
* scan, Pages Router rule); server-component modules receive identity
|
|
12
|
-
* attributes only and fail closed;
|
|
13
|
-
* - `<html>`-rendering App Router root layouts receive a dev-only server
|
|
14
|
-
* script inside `<body>` that bootstraps the inspector;
|
|
15
|
-
* - excluded paths are rejected before any parse work happens.
|
|
16
|
-
*
|
|
17
|
-
* The transform is deterministic by contract: Turbopack compiles each module
|
|
18
|
-
* once per environment (react-server and client conditions), so identical
|
|
19
|
-
* input must produce identical output across repeated runs.
|
|
20
|
-
*/
|
|
21
|
-
/** Extensions whose sources can carry JSX and therefore identity targets. */
|
|
22
5
|
const APP_SOURCE_EXT = /\.([cm]?[jt]sx?)$/i;
|
|
23
|
-
/** Parseable-by-the-shared-Module extensions (must contain JSX). */
|
|
24
6
|
const JSX_SOURCE_EXT = /\.(tsx|jsx)$/;
|
|
25
|
-
/** Directory segments never instrumented (build output and dependencies). */
|
|
26
7
|
const EXCLUDED_SEGMENTS = /(^|\/)(node_modules|\.next)\//i;
|
|
27
8
|
const MOUNT_LOCAL_NAME = "__NudgeUiMountElement";
|
|
28
9
|
const NEXT_COMPONENT_RUNTIME_MODULE = "nudge-ui/internal/component-runtime";
|
|
29
10
|
const MOUNT_IMPORT = `import { createElement as __NudgeUiCreateElement } from "react";\n`
|
|
30
11
|
+ `import { NudgeUiMount as ${MOUNT_LOCAL_NAME} } from "nudge-ui/internal/next/mount";\n`;
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
// the function itself ("Functions are not valid as a React child"), while an
|
|
34
|
-
// element `<Cmp />` would be visible to later identity passes. A
|
|
35
|
-
// `createElement(...)` call produces no JSX nodes — nothing to attribute or
|
|
36
|
-
// wrap — while still yielding a real element for React to render.
|
|
12
|
+
// Rendered through createElement rather than as a JSX element: a bare `{Component}` is not
|
|
13
|
+
// a valid React child, and a `<Cmp />` element would be visible to later identity passes.
|
|
37
14
|
const MOUNT_JSX = `\n {__NudgeUiCreateElement(${MOUNT_LOCAL_NAME})}\n `;
|
|
38
|
-
/**
|
|
39
|
-
* Transforms one application module for development rendering, or returns
|
|
40
|
-
* `null` when nothing applies and the caller must serve the original bytes.
|
|
41
|
-
*
|
|
42
|
-
* `moduleId` is an absolute or project-relative path; only path shapes are
|
|
43
|
-
* inspected, never the filesystem.
|
|
44
|
-
*/
|
|
15
|
+
/** Returns `null` when nothing applies and the caller must serve the original bytes; `moduleId` is inspected as a path only, never as the filesystem. */
|
|
45
16
|
export function transformNextModuleSource(source, moduleId, options = {}) {
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
// NODE_ENV=development production build refuses every transform here.
|
|
49
|
-
// Absent phases still transform — exotic dev harnesses keep working.
|
|
17
|
+
// Defense-in-depth beneath the wrapper: Next sets NEXT_PHASE per invocation, so even a
|
|
18
|
+
// misconfigured production build refuses every transform here; absent phases still transform.
|
|
50
19
|
if (process.env.NEXT_PHASE === "phase-production-build")
|
|
51
20
|
return null;
|
|
52
21
|
const normalized = moduleId.split("\\").join("/");
|
|
@@ -64,12 +33,9 @@ export function transformNextModuleSource(source, moduleId, options = {}) {
|
|
|
64
33
|
let map = identity ? identity.map : null;
|
|
65
34
|
let layoutInstrumented = false;
|
|
66
35
|
if (identity && clientComponent) {
|
|
67
|
-
// The shared
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
// must be placed before other expressions"). Relocate the prepended
|
|
71
|
-
// import to just past the directive prologue.
|
|
72
|
-
code = relocatePrependedRuntimeImport(code, options.componentRuntimeModule ?? NEXT_COMPONENT_RUNTIME_MODULE);
|
|
36
|
+
// The shared module prepends the runtime import, which SWC rejects ahead of a
|
|
37
|
+
// `"use client"` directive; relocate it past the directive prologue.
|
|
38
|
+
code = relocatePrependedRuntimePrelude(code, identity.prelude);
|
|
73
39
|
}
|
|
74
40
|
if (isAppRootLayoutPath(normalized)) {
|
|
75
41
|
const mounted = instrumentRootLayout(code);
|
|
@@ -81,39 +47,23 @@ export function transformNextModuleSource(source, moduleId, options = {}) {
|
|
|
81
47
|
}
|
|
82
48
|
if (!identity && !layoutInstrumented)
|
|
83
49
|
return null;
|
|
84
|
-
// When both passes ran, the layout map is composed against the identity
|
|
85
|
-
//
|
|
86
|
-
// this v1 simplification; the identity map (the one prompts rely on) is
|
|
87
|
-
// always against the original bytes because the layout pass runs after it.
|
|
50
|
+
// When both passes ran, the layout map is composed against the identity pass's output
|
|
51
|
+
// rather than the original source; the identity map prompts rely on stays against original bytes.
|
|
88
52
|
return { code, map, clientComponent, layoutInstrumented };
|
|
89
53
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
* prologue when the source began with one. Sources without a leading
|
|
93
|
-
* directive are returned untouched (the import is already first).
|
|
94
|
-
*/
|
|
95
|
-
function relocatePrependedRuntimeImport(code, runtimeModule) {
|
|
96
|
-
const runtimeImport = `import { instrumentReactComponent as __nudgeUiInstrumentComponent } from ${JSON.stringify(runtimeModule)};\n`;
|
|
97
|
-
if (!code.startsWith(runtimeImport))
|
|
54
|
+
function relocatePrependedRuntimePrelude(code, prelude) {
|
|
55
|
+
if (!prelude || !code.startsWith(prelude))
|
|
98
56
|
return code;
|
|
99
|
-
const rest = code.slice(
|
|
57
|
+
const rest = code.slice(prelude.length);
|
|
100
58
|
const insertAt = directivePrologueEnd(rest);
|
|
101
|
-
return rest.slice(0, insertAt) +
|
|
59
|
+
return rest.slice(0, insertAt) + prelude + rest.slice(insertAt);
|
|
102
60
|
}
|
|
103
|
-
/**
|
|
104
|
-
* True when the module resolves inside the Pages Router directory, anchored
|
|
105
|
-
* to the router root: only `pages/**` or `src/pages/**` count. An App Router
|
|
106
|
-
* route nested at `app/pages/Card.tsx` is a server component and MUST NOT
|
|
107
|
-
* match — wrapping it with the client runtime would break the RSC graph.
|
|
108
|
-
*
|
|
109
|
-
* `pagesDir` may itself contain slashes ("src/pages") for exotic layouts.
|
|
110
|
-
*/
|
|
61
|
+
/** Only `pages/**` and `src/pages/**` count: an App Router route at `app/pages/Card.tsx` must not match, or wrapping it breaks the RSC graph. */
|
|
111
62
|
function isPagesRouterModule(normalizedId, options) {
|
|
112
63
|
const pagesDir = (options.pagesDir ?? "pages").split("\\").join("/").replace(/^\/+|\/+$/g, "");
|
|
113
64
|
if (pagesDir.length === 0)
|
|
114
65
|
return false;
|
|
115
|
-
// Anchor against the project root when known; without a root
|
|
116
|
-
// distinguish router roots from same-named directories, so fail closed.
|
|
66
|
+
// Anchor against the project root when known; without a root, same-named directories cannot be ruled out, so fail closed.
|
|
117
67
|
const root = options.root ? options.root.split("\\").join("/").replace(/\/+$/, "") : null;
|
|
118
68
|
const relative = root
|
|
119
69
|
? normalizedId.startsWith(`${root}/`)
|
|
@@ -127,11 +77,7 @@ function isPagesRouterModule(normalizedId, options) {
|
|
|
127
77
|
|| (relative.startsWith("src/")
|
|
128
78
|
&& (relative.slice(4) === pagesDir || relative.slice(4).startsWith(`${pagesDir}/`)));
|
|
129
79
|
}
|
|
130
|
-
/**
|
|
131
|
-
* True for App Router layout modules. Route groups nest more `app` segments
|
|
132
|
-
* (`app/(marketing)/layout.tsx`), so any `app` ancestor segment counts; the
|
|
133
|
-
* `<html>` guard decides whether a mount actually belongs.
|
|
134
|
-
*/
|
|
80
|
+
/** Any `app` ancestor segment counts because route groups nest (`app/(marketing)/layout.tsx`); the `<html>` guard decides whether a mount belongs. */
|
|
135
81
|
function isAppRootLayoutPath(normalizedId) {
|
|
136
82
|
if (!JSX_SOURCE_EXT.test(normalizedId))
|
|
137
83
|
return false;
|
|
@@ -140,17 +86,9 @@ function isAppRootLayoutPath(normalizedId) {
|
|
|
140
86
|
return false;
|
|
141
87
|
return parsed.dir === "app" || parsed.dir.endsWith("/app") || parsed.dir.includes("/app/");
|
|
142
88
|
}
|
|
143
|
-
/**
|
|
144
|
-
* Detects a module-level `"use client"` directive without a full parse.
|
|
145
|
-
*
|
|
146
|
-
* Only comments, whitespace, a shebang, and other directive prologues may
|
|
147
|
-
* precede it; anything else ends the directive prologue per the ECMAScript
|
|
148
|
-
* spec, which keeps the scan exact rather than a loose substring search.
|
|
149
|
-
*/
|
|
150
89
|
export function hasUseClientDirective(source) {
|
|
151
90
|
let index = 0;
|
|
152
91
|
const length = source.length;
|
|
153
|
-
// A shebang may precede the directive prologue.
|
|
154
92
|
if (source.startsWith("#!")) {
|
|
155
93
|
const lineEnd = source.indexOf("\n", index);
|
|
156
94
|
if (lineEnd === -1)
|
|
@@ -200,15 +138,13 @@ export function hasUseClientDirective(source) {
|
|
|
200
138
|
return false;
|
|
201
139
|
if (literal === "use client")
|
|
202
140
|
return true;
|
|
203
|
-
//
|
|
204
|
-
// be followed by the target directive; anything else ends the scan.
|
|
141
|
+
// Other directive prologues may still be followed by `"use client"`; anything else ends the scan.
|
|
205
142
|
let after = cursor + 1;
|
|
206
143
|
while (after < length && /\s/.test(source.charAt(after)))
|
|
207
144
|
after += 1;
|
|
208
145
|
if (source.charAt(after) === ";")
|
|
209
146
|
after += 1;
|
|
210
|
-
// A directive must be its own statement
|
|
211
|
-
// value would be followed by other tokens on the same statement.
|
|
147
|
+
// A directive must be its own statement — a string used as a value continues with other tokens.
|
|
212
148
|
if (after < length && !/[\n\r;]/.test(source.charAt(after)) && source[after - 1] !== ";") {
|
|
213
149
|
return false;
|
|
214
150
|
}
|
|
@@ -219,18 +155,7 @@ export function hasUseClientDirective(source) {
|
|
|
219
155
|
}
|
|
220
156
|
return false;
|
|
221
157
|
}
|
|
222
|
-
/**
|
|
223
|
-
* Appends the inspector mount as the last child of a literal rendered `<body>`
|
|
224
|
-
* element. The server-rendered script must be in the initial document so it
|
|
225
|
-
* does not rely on hydration of a client component in the root layout. A
|
|
226
|
-
* layout with no literal body is left unchanged rather than emitting an
|
|
227
|
-
* invalid direct child of `<html>`.
|
|
228
|
-
*
|
|
229
|
-
* Idempotence: the aliased mount import doubles as the marker — a module that
|
|
230
|
-
* already carries it is left untouched, so running the loader twice (as
|
|
231
|
-
* Turbopack does across react-server and client conditions) cannot stack
|
|
232
|
-
* duplicates.
|
|
233
|
-
*/
|
|
158
|
+
/** Appends the mount as the last child of a literal `<body>` so the script ships in the initial document; a module that already carries the aliased import is left untouched. */
|
|
234
159
|
export function instrumentRootLayout(source) {
|
|
235
160
|
if (source.includes(MOUNT_LOCAL_NAME))
|
|
236
161
|
return null;
|
|
@@ -251,17 +176,12 @@ export function instrumentRootLayout(source) {
|
|
|
251
176
|
if (!bodyElement?.closingElement?.start)
|
|
252
177
|
return null;
|
|
253
178
|
const ms = new MagicString(source);
|
|
254
|
-
//
|
|
255
|
-
// `"use client"` directive would strip it of prologue status and silently
|
|
256
|
-
// change the module's compilation environment.
|
|
179
|
+
// Must land after any directive prologue, or a leading `"use client"` loses prologue status.
|
|
257
180
|
ms.appendLeft(directivePrologueEnd(source), MOUNT_IMPORT);
|
|
258
181
|
ms.appendLeft(bodyElement.closingElement.start, MOUNT_JSX);
|
|
259
182
|
return { code: ms.toString(), map: ms.generateMap({ hires: true }) };
|
|
260
183
|
}
|
|
261
|
-
/**
|
|
262
|
-
* Offset just past the directive prologue (shebang, comments, directive
|
|
263
|
-
* statements) — the only legal insertion point for new import statements.
|
|
264
|
-
*/
|
|
184
|
+
/** Offset just past the directive prologue — the only legal insertion point for new imports. */
|
|
265
185
|
export function directivePrologueEnd(source) {
|
|
266
186
|
let index = 0;
|
|
267
187
|
const length = source.length;
|
|
@@ -303,7 +223,6 @@ export function directivePrologueEnd(source) {
|
|
|
303
223
|
break;
|
|
304
224
|
cursor += 1;
|
|
305
225
|
}
|
|
306
|
-
// Consume the statement terminator of this directive, then continue.
|
|
307
226
|
let after = cursor + 1;
|
|
308
227
|
while (after < length && /\s/.test(source.charAt(after)))
|
|
309
228
|
after += 1;
|