@superblocksteam/vite-plugin-file-sync 2.0.83-next.1 → 2.0.83
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/ai-service/agent/middleware.d.ts +0 -36
- package/dist/ai-service/agent/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +1 -65
- package/dist/ai-service/agent/middleware.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +57 -101
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +1 -1
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-executor.js +1 -1
- package/dist/ai-service/agent/tools/apis/api-executor.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api-artifact.js +7 -23
- package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.js +19 -36
- package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts +1 -1
- package/dist/ai-service/agent/tools/apis/sample-json.js +1 -1
- package/dist/ai-service/agent/tools/apis/sample-json.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -11
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +54 -95
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +0 -3
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +8 -12
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +10 -30
- package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.js +2 -6
- package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.js +5 -20
- package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.js +4 -30
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.js +4 -14
- package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.js +11 -23
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
- package/dist/ai-service/agent/tools/get-console-logs.d.ts +29 -0
- package/dist/ai-service/agent/tools/get-console-logs.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/get-console-logs.js +171 -0
- package/dist/ai-service/agent/tools/get-console-logs.js.map +1 -0
- package/dist/ai-service/agent/tools/index.d.ts +1 -1
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +1 -1
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.js +5 -20
- package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.js +3 -12
- package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +28 -19
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +15 -37
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/bash.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/edit.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/edit.js +4 -9
- package/dist/ai-service/agent/tools2/tools/edit.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.js +7 -73
- package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/read.js +4 -9
- package/dist/ai-service/agent/tools2/tools/read.js.map +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts +8 -40
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js +3 -41
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +1 -0
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +54 -60
- package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +0 -6
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +0 -44
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/features.d.ts +0 -8
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +0 -8
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +2 -34
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +18 -112
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata-storage/local.js +2 -4
- package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +3 -6
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +6 -96
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/judge/judge-executor.js +1 -1
- package/dist/ai-service/judge/judge-executor.js.map +1 -1
- package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +13 -26
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context-v2/adapter.d.ts +0 -2
- package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/adapter.js +0 -6
- package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts +0 -17
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +1 -54
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/conversation-context.d.ts +1 -11
- package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts +1 -1
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js +6 -42
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
- package/dist/ai-service/llm/context-v2/types.d.ts +0 -4
- package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/types.js.map +1 -1
- package/dist/ai-service/llm/error.js +1 -1
- package/dist/ai-service/llm/error.js.map +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.js +5 -5
- package/dist/ai-service/llm/stream/config.d.ts +1 -1
- package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/config.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.d.ts +0 -20
- package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.js +18 -115
- package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/retry-notification.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/retry-notification.js +1 -2
- package/dist/ai-service/llm/stream/observers/retry-notification.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +4 -4
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/llmobs/otel-exporter.d.ts +14 -111
- package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -1
- package/dist/ai-service/llmobs/otel-exporter.js +66 -441
- package/dist/ai-service/llmobs/otel-exporter.js.map +1 -1
- package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
- package/dist/ai-service/llmobs/tracer.js +4 -40
- package/dist/ai-service/llmobs/tracer.js.map +1 -1
- package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
- package/dist/ai-service/mcp/playwright-server.js +2 -11
- package/dist/ai-service/mcp/playwright-server.js.map +1 -1
- package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
- package/dist/ai-service/security/safety-classifier.js +3 -9
- package/dist/ai-service/security/safety-classifier.js.map +1 -1
- package/dist/ai-service/skills/index.d.ts +11 -23
- package/dist/ai-service/skills/index.d.ts.map +1 -1
- package/dist/ai-service/skills/index.js +21 -86
- package/dist/ai-service/skills/index.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js +0 -56
- package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js +11 -143
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.js +3 -130
- package/dist/ai-service/skills/system/superblocks-api/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +17 -97
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/types.d.ts +0 -24
- package/dist/ai-service/skills/types.d.ts.map +1 -1
- package/dist/ai-service/skills/types.js +0 -45
- package/dist/ai-service/skills/types.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +2 -33
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +1 -6
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +21 -24
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +5 -120
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +0 -23
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
- package/dist/ai-service/test-utils/anthropic-service-mock.d.ts +2 -0
- package/dist/ai-service/test-utils/anthropic-service-mock.d.ts.map +1 -0
- package/dist/ai-service/test-utils/anthropic-service-mock.js +91 -0
- package/dist/ai-service/test-utils/anthropic-service-mock.js.map +1 -0
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts +3 -0
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts.map +1 -0
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js +886 -0
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js.map +1 -0
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts +3 -0
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts.map +1 -0
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js +70 -0
- package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js.map +1 -0
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts +3 -0
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts.map +1 -0
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js +109 -0
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js.map +1 -0
- package/dist/ai-service/test-utils/mock-utils.d.ts +12 -0
- package/dist/ai-service/test-utils/mock-utils.d.ts.map +1 -0
- package/dist/ai-service/test-utils/mock-utils.js +70 -0
- package/dist/ai-service/test-utils/mock-utils.js.map +1 -0
- package/dist/ai-service/util/safe-stringify.d.ts +2 -0
- package/dist/ai-service/util/safe-stringify.d.ts.map +1 -0
- package/dist/ai-service/util/safe-stringify.js +75 -0
- package/dist/ai-service/util/safe-stringify.js.map +1 -0
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +22 -52
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/ids.d.ts +0 -1
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +0 -3
- package/dist/ids.js.map +1 -1
- package/dist/refactor/entities.d.ts.map +1 -1
- package/dist/refactor/entities.js +1 -0
- package/dist/refactor/entities.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +3 -21
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts +0 -4
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +0 -6
- package/dist/sync-service/index.js.map +1 -1
- package/dist/util/logger.d.ts +0 -4
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js +19 -77
- package/dist/util/logger.js.map +1 -1
- package/package.json +14 -17
- package/dist/ai-service/agent/tools/get-logs.d.ts +0 -72
- package/dist/ai-service/agent/tools/get-logs.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/get-logs.js +0 -343
- package/dist/ai-service/agent/tools/get-logs.js.map +0 -1
- package/dist/ai-service/agent/tools/integrations/errors.d.ts +0 -9
- package/dist/ai-service/agent/tools/integrations/errors.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/integrations/errors.js +0 -35
- package/dist/ai-service/agent/tools/integrations/errors.js.map +0 -1
- package/dist/ai-service/facts/helpers.d.ts +0 -9
- package/dist/ai-service/facts/helpers.d.ts.map +0 -1
- package/dist/ai-service/facts/helpers.js +0 -72
- package/dist/ai-service/facts/helpers.js.map +0 -1
- package/dist/ai-service/facts/index.d.ts +0 -4
- package/dist/ai-service/facts/index.d.ts.map +0 -1
- package/dist/ai-service/facts/index.js +0 -3
- package/dist/ai-service/facts/index.js.map +0 -1
- package/dist/ai-service/facts/knowledge-manager.d.ts +0 -50
- package/dist/ai-service/facts/knowledge-manager.d.ts.map +0 -1
- package/dist/ai-service/facts/knowledge-manager.js +0 -195
- package/dist/ai-service/facts/knowledge-manager.js.map +0 -1
- package/dist/ai-service/recording/index.d.ts +0 -25
- package/dist/ai-service/recording/index.d.ts.map +0 -1
- package/dist/ai-service/recording/index.js +0 -27
- package/dist/ai-service/recording/index.js.map +0 -1
- package/dist/ai-service/recording/recorders/llm-recorder.d.ts +0 -35
- package/dist/ai-service/recording/recorders/llm-recorder.d.ts.map +0 -1
- package/dist/ai-service/recording/recorders/llm-recorder.js +0 -221
- package/dist/ai-service/recording/recorders/llm-recorder.js.map +0 -1
- package/dist/ai-service/recording/recorders/socket-recorder.d.ts +0 -38
- package/dist/ai-service/recording/recorders/socket-recorder.d.ts.map +0 -1
- package/dist/ai-service/recording/recorders/socket-recorder.js +0 -44
- package/dist/ai-service/recording/recorders/socket-recorder.js.map +0 -1
- package/dist/ai-service/recording/recorders/tool-recorder.d.ts +0 -25
- package/dist/ai-service/recording/recorders/tool-recorder.d.ts.map +0 -1
- package/dist/ai-service/recording/recorders/tool-recorder.js +0 -58
- package/dist/ai-service/recording/recorders/tool-recorder.js.map +0 -1
- package/dist/ai-service/recording/recording-manager.d.ts +0 -104
- package/dist/ai-service/recording/recording-manager.d.ts.map +0 -1
- package/dist/ai-service/recording/recording-manager.js +0 -308
- package/dist/ai-service/recording/recording-manager.js.map +0 -1
- package/dist/ai-service/recording/storage/session-recording-storage.d.ts +0 -143
- package/dist/ai-service/recording/storage/session-recording-storage.d.ts.map +0 -1
- package/dist/ai-service/recording/storage/session-recording-storage.js +0 -374
- package/dist/ai-service/recording/storage/session-recording-storage.js.map +0 -1
- package/dist/ai-service/recording/types.d.ts +0 -148
- package/dist/ai-service/recording/types.d.ts.map +0 -1
- package/dist/ai-service/recording/types.js +0 -8
- package/dist/ai-service/recording/types.js.map +0 -1
- package/dist/ai-service/skills/system/_registry.generated.d.ts +0 -6
- package/dist/ai-service/skills/system/_registry.generated.d.ts.map +0 -1
- package/dist/ai-service/skills/system/_registry.generated.js +0 -24
- package/dist/ai-service/skills/system/_registry.generated.js.map +0 -1
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts +0 -2
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts.map +0 -1
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js +0 -155
- package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js.map +0 -1
- package/dist/util/log-sanitizer.d.ts +0 -42
- package/dist/util/log-sanitizer.d.ts.map +0 -1
- package/dist/util/log-sanitizer.js +0 -177
- package/dist/util/log-sanitizer.js.map +0 -1
package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
// Auto-generated from src/ai-service/skills/system/superblocks-frontend/references/embedding.md
|
|
2
|
-
// Do not edit directly - edit the .md file instead
|
|
3
|
-
export const content = `# Embedding Superblocks Applications
|
|
4
|
-
|
|
5
|
-
This reference covers embedding Superblocks applications in external websites or portals.
|
|
6
|
-
|
|
7
|
-
## Embed Hooks
|
|
8
|
-
|
|
9
|
-
Available hooks from \`@superblocksteam/library\` for embedded applications:
|
|
10
|
-
|
|
11
|
-
\`\`\`typescript
|
|
12
|
-
import {
|
|
13
|
-
useEmbedProperties,
|
|
14
|
-
useEmbedEvent,
|
|
15
|
-
useEmitEmbedEvent,
|
|
16
|
-
} from "@superblocksteam/library";
|
|
17
|
-
\`\`\`
|
|
18
|
-
|
|
19
|
-
### useEmbedProperties
|
|
20
|
-
|
|
21
|
-
Read properties passed from the embedder (parent application):
|
|
22
|
-
|
|
23
|
-
\`\`\`typescript
|
|
24
|
-
const properties = useEmbedProperties();
|
|
25
|
-
|
|
26
|
-
// Access custom properties defined in the embed configuration
|
|
27
|
-
const { userId, theme, locale } = properties;
|
|
28
|
-
\`\`\`
|
|
29
|
-
|
|
30
|
-
### useEmbedEvent
|
|
31
|
-
|
|
32
|
-
Listen to events emitted from the embedder:
|
|
33
|
-
|
|
34
|
-
\`\`\`typescript
|
|
35
|
-
useEmbedEvent("refreshData", (payload) => {
|
|
36
|
-
// Handle refresh request from parent
|
|
37
|
-
refetchData();
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
useEmbedEvent("userChanged", (payload) => {
|
|
41
|
-
// Handle user context change
|
|
42
|
-
setCurrentUser(payload.user);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
useEmbedEvent("themeChanged", (payload) => {
|
|
46
|
-
// Handle theme updates
|
|
47
|
-
setTheme(payload.theme);
|
|
48
|
-
});
|
|
49
|
-
\`\`\`
|
|
50
|
-
|
|
51
|
-
### useEmitEmbedEvent
|
|
52
|
-
|
|
53
|
-
Emit events to the embedder (parent application):
|
|
54
|
-
|
|
55
|
-
\`\`\`typescript
|
|
56
|
-
const emitEvent = useEmitEmbedEvent();
|
|
57
|
-
|
|
58
|
-
// Notify parent when form is submitted
|
|
59
|
-
const handleSubmit = async (data) => {
|
|
60
|
-
await saveData(data);
|
|
61
|
-
emitEvent("formSubmitted", {
|
|
62
|
-
timestamp: Date.now(),
|
|
63
|
-
data,
|
|
64
|
-
success: true
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
// Notify parent of navigation
|
|
69
|
-
const handleNavigate = (route) => {
|
|
70
|
-
emitEvent("navigationChanged", { route });
|
|
71
|
-
navigate(route);
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
// Notify parent of errors
|
|
75
|
-
const handleError = (error) => {
|
|
76
|
-
emitEvent("errorOccurred", {
|
|
77
|
-
message: error.message,
|
|
78
|
-
code: error.code
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
\`\`\`
|
|
82
|
-
|
|
83
|
-
## Common Embedding Patterns
|
|
84
|
-
|
|
85
|
-
### Bidirectional Communication
|
|
86
|
-
|
|
87
|
-
\`\`\`typescript
|
|
88
|
-
function EmbeddedDashboard() {
|
|
89
|
-
const properties = useEmbedProperties();
|
|
90
|
-
const emitEvent = useEmitEmbedEvent();
|
|
91
|
-
const [data, setData] = useState(null);
|
|
92
|
-
|
|
93
|
-
// Listen for refresh commands from parent
|
|
94
|
-
useEmbedEvent("refresh", () => {
|
|
95
|
-
fetchData();
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
// Notify parent when data changes
|
|
99
|
-
const handleDataUpdate = async (newData) => {
|
|
100
|
-
await saveData(newData);
|
|
101
|
-
setData(newData);
|
|
102
|
-
emitEvent("dataUpdated", { data: newData });
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
return (
|
|
106
|
-
<Dashboard
|
|
107
|
-
userId={properties.userId}
|
|
108
|
-
data={data}
|
|
109
|
-
onUpdate={handleDataUpdate}
|
|
110
|
-
/>
|
|
111
|
-
);
|
|
112
|
-
}
|
|
113
|
-
\`\`\`
|
|
114
|
-
|
|
115
|
-
### Synchronized State
|
|
116
|
-
|
|
117
|
-
\`\`\`typescript
|
|
118
|
-
function EmbeddedForm() {
|
|
119
|
-
const properties = useEmbedProperties();
|
|
120
|
-
const emitEvent = useEmitEmbedEvent();
|
|
121
|
-
const [formState, setFormState] = useState(properties.initialData || {});
|
|
122
|
-
|
|
123
|
-
// Sync form state changes to parent
|
|
124
|
-
useEffect(() => {
|
|
125
|
-
emitEvent("formStateChanged", { state: formState });
|
|
126
|
-
}, [formState, emitEvent]);
|
|
127
|
-
|
|
128
|
-
// Listen for external state updates
|
|
129
|
-
useEmbedEvent("updateFormState", (payload) => {
|
|
130
|
-
setFormState(prev => ({ ...prev, ...payload }));
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
return <Form value={formState} onChange={setFormState} />;
|
|
134
|
-
}
|
|
135
|
-
\`\`\`
|
|
136
|
-
|
|
137
|
-
### Loading External Context
|
|
138
|
-
|
|
139
|
-
\`\`\`typescript
|
|
140
|
-
function EmbeddedApp() {
|
|
141
|
-
const properties = useEmbedProperties();
|
|
142
|
-
const { customerId, permissions, branding } = properties;
|
|
143
|
-
|
|
144
|
-
// Use embed properties to customize the app
|
|
145
|
-
return (
|
|
146
|
-
<ThemeProvider theme={branding}>
|
|
147
|
-
<CustomerContext.Provider value={{ customerId, permissions }}>
|
|
148
|
-
<AppContent />
|
|
149
|
-
</CustomerContext.Provider>
|
|
150
|
-
</ThemeProvider>
|
|
151
|
-
);
|
|
152
|
-
}
|
|
153
|
-
\`\`\`
|
|
154
|
-
`;
|
|
155
|
-
//# sourceMappingURL=embedding.generated.js.map
|
package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"embedding.generated.js","sourceRoot":"","sources":["../../../../../../src/ai-service/skills/system/superblocks-frontend/references/embedding.generated.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,mDAAmD;AAEnD,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuJtB,CAAC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Log Sanitizer for Vite Plugin
|
|
3
|
-
*
|
|
4
|
-
* Sanitizes secrets from log messages while preserving debugging information.
|
|
5
|
-
* This is a lightweight version for the vite-plugin, avoiding a dependency
|
|
6
|
-
* on the telemetry package.
|
|
7
|
-
*
|
|
8
|
-
* DESIGN DECISION: Only sanitize actual secrets (API keys, tokens, JWTs).
|
|
9
|
-
* Preserve debugging info (emails, file paths, stack traces) for troubleshooting.
|
|
10
|
-
*
|
|
11
|
-
* @see engineering/projects/o11y-refactor/managed-cloud-telemetry.md#logging-strategy
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* Sanitizes secrets from a log message string.
|
|
15
|
-
* Preserves debugging info (emails, file paths, etc.) for troubleshooting.
|
|
16
|
-
*/
|
|
17
|
-
export declare function sanitizeLogMessage(message: string): string;
|
|
18
|
-
/**
|
|
19
|
-
* Sanitizes secrets within a stack trace while preserving the full trace.
|
|
20
|
-
* Stack traces are essential for debugging - only redact secrets within them.
|
|
21
|
-
*/
|
|
22
|
-
export declare function redactStackTrace(stack: string): string;
|
|
23
|
-
/**
|
|
24
|
-
* Recursively sanitizes secrets from an object.
|
|
25
|
-
* Strips secret fields entirely, sanitizes secrets in string values.
|
|
26
|
-
*
|
|
27
|
-
* NOTE: For object inputs, this returns a plain `Record<string, unknown>` copy.
|
|
28
|
-
* The original prototype chain is not preserved (e.g., Error instances become
|
|
29
|
-
* plain objects). The return type `T` is kept for convenience at call sites
|
|
30
|
-
* but callers should not rely on `instanceof` checks after sanitization.
|
|
31
|
-
*/
|
|
32
|
-
export declare function sanitizeLogObject<T>(obj: T, depth?: number): T;
|
|
33
|
-
/**
|
|
34
|
-
* Safe JSON stringify with secret sanitization.
|
|
35
|
-
*
|
|
36
|
-
* NOTE: This function strips object keys that match SECRET_FIELDS (e.g.,
|
|
37
|
-
* "password", "api_key", "access_token") from the serialized output. Callers
|
|
38
|
-
* outside of logging contexts should be aware that fields with these exact key
|
|
39
|
-
* names will be omitted from the resulting JSON string.
|
|
40
|
-
*/
|
|
41
|
-
export declare function safeJsonStringify(obj: unknown, space?: string | number): string;
|
|
42
|
-
//# sourceMappingURL=log-sanitizer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log-sanitizer.d.ts","sourceRoot":"","sources":["../../src/util/log-sanitizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAuDH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAa1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,SAAI,GAAG,CAAC,CAsCzD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GACtB,MAAM,CAyDR"}
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Log Sanitizer for Vite Plugin
|
|
3
|
-
*
|
|
4
|
-
* Sanitizes secrets from log messages while preserving debugging information.
|
|
5
|
-
* This is a lightweight version for the vite-plugin, avoiding a dependency
|
|
6
|
-
* on the telemetry package.
|
|
7
|
-
*
|
|
8
|
-
* DESIGN DECISION: Only sanitize actual secrets (API keys, tokens, JWTs).
|
|
9
|
-
* Preserve debugging info (emails, file paths, stack traces) for troubleshooting.
|
|
10
|
-
*
|
|
11
|
-
* @see engineering/projects/o11y-refactor/managed-cloud-telemetry.md#logging-strategy
|
|
12
|
-
*/
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// Secret Patterns - These should NEVER appear in logs
|
|
15
|
-
// ============================================================================
|
|
16
|
-
const SECRET_PATTERNS = [
|
|
17
|
-
// Bearer/JWT tokens
|
|
18
|
-
{
|
|
19
|
-
pattern: /(\bbearer\s+)[a-zA-Z0-9\-._~+/]+=*/gi,
|
|
20
|
-
replacement: "$1[REDACTED]",
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
pattern: /\beyJ[A-Za-z0-9-_]{17,}\.[A-Za-z0-9-_]{20,}\.[A-Za-z0-9-_]{20,}\b/g,
|
|
24
|
-
replacement: "[JWT_REDACTED]",
|
|
25
|
-
},
|
|
26
|
-
// API keys
|
|
27
|
-
{
|
|
28
|
-
pattern: /(\bapi[_\s]?key[:\s=]+)[a-zA-Z0-9\-._~+/]+=*/gi,
|
|
29
|
-
replacement: "$1[REDACTED]",
|
|
30
|
-
},
|
|
31
|
-
// OpenAI/Anthropic keys
|
|
32
|
-
{ pattern: /\bsk-[A-Za-z0-9]{48}\b/g, replacement: "[API_KEY_REDACTED]" },
|
|
33
|
-
{
|
|
34
|
-
pattern: /\bsk-ant-[A-Za-z0-9-]{32,}\b/g,
|
|
35
|
-
replacement: "[API_KEY_REDACTED]",
|
|
36
|
-
},
|
|
37
|
-
];
|
|
38
|
-
/**
|
|
39
|
-
* Fields that contain secrets and should be stripped from log objects.
|
|
40
|
-
* Only includes actual secret field names - NOT debugging info like stack traces.
|
|
41
|
-
*/
|
|
42
|
-
const SECRET_FIELDS = new Set([
|
|
43
|
-
// Auth/secrets
|
|
44
|
-
"password",
|
|
45
|
-
"apikey",
|
|
46
|
-
"api_key",
|
|
47
|
-
"secret",
|
|
48
|
-
"jwt",
|
|
49
|
-
"access_token",
|
|
50
|
-
"refresh_token",
|
|
51
|
-
"private_key",
|
|
52
|
-
"credentials",
|
|
53
|
-
"auth_token",
|
|
54
|
-
"authorization",
|
|
55
|
-
"cookie",
|
|
56
|
-
"x-api-key",
|
|
57
|
-
]);
|
|
58
|
-
// ============================================================================
|
|
59
|
-
// Public API
|
|
60
|
-
// ============================================================================
|
|
61
|
-
/**
|
|
62
|
-
* Sanitizes secrets from a log message string.
|
|
63
|
-
* Preserves debugging info (emails, file paths, etc.) for troubleshooting.
|
|
64
|
-
*/
|
|
65
|
-
export function sanitizeLogMessage(message) {
|
|
66
|
-
if (!message || typeof message !== "string") {
|
|
67
|
-
return message;
|
|
68
|
-
}
|
|
69
|
-
let sanitized = message;
|
|
70
|
-
for (const { pattern, replacement } of SECRET_PATTERNS) {
|
|
71
|
-
pattern.lastIndex = 0;
|
|
72
|
-
sanitized = sanitized.replace(pattern, replacement);
|
|
73
|
-
}
|
|
74
|
-
return sanitized;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Sanitizes secrets within a stack trace while preserving the full trace.
|
|
78
|
-
* Stack traces are essential for debugging - only redact secrets within them.
|
|
79
|
-
*/
|
|
80
|
-
export function redactStackTrace(stack) {
|
|
81
|
-
if (!stack || typeof stack !== "string") {
|
|
82
|
-
return stack;
|
|
83
|
-
}
|
|
84
|
-
// Only sanitize secrets, preserve the full stack trace for debugging
|
|
85
|
-
return sanitizeLogMessage(stack);
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Recursively sanitizes secrets from an object.
|
|
89
|
-
* Strips secret fields entirely, sanitizes secrets in string values.
|
|
90
|
-
*
|
|
91
|
-
* NOTE: For object inputs, this returns a plain `Record<string, unknown>` copy.
|
|
92
|
-
* The original prototype chain is not preserved (e.g., Error instances become
|
|
93
|
-
* plain objects). The return type `T` is kept for convenience at call sites
|
|
94
|
-
* but callers should not rely on `instanceof` checks after sanitization.
|
|
95
|
-
*/
|
|
96
|
-
export function sanitizeLogObject(obj, depth = 0) {
|
|
97
|
-
if (depth > 10) {
|
|
98
|
-
return "[MAX_DEPTH_REACHED]";
|
|
99
|
-
}
|
|
100
|
-
if (obj === null || obj === undefined) {
|
|
101
|
-
return obj;
|
|
102
|
-
}
|
|
103
|
-
if (typeof obj === "string") {
|
|
104
|
-
return sanitizeLogMessage(obj);
|
|
105
|
-
}
|
|
106
|
-
if (typeof obj !== "object") {
|
|
107
|
-
return obj;
|
|
108
|
-
}
|
|
109
|
-
if (Array.isArray(obj)) {
|
|
110
|
-
return obj.map((item) => sanitizeLogObject(item, depth + 1));
|
|
111
|
-
}
|
|
112
|
-
const sanitized = {};
|
|
113
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
114
|
-
const lowerKey = key.toLowerCase();
|
|
115
|
-
// Strip secret fields entirely
|
|
116
|
-
if (SECRET_FIELDS.has(lowerKey)) {
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
// Recursively sanitize all other fields
|
|
120
|
-
sanitized[key] = sanitizeLogObject(value, depth + 1);
|
|
121
|
-
}
|
|
122
|
-
return sanitized;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Safe JSON stringify with secret sanitization.
|
|
126
|
-
*
|
|
127
|
-
* NOTE: This function strips object keys that match SECRET_FIELDS (e.g.,
|
|
128
|
-
* "password", "api_key", "access_token") from the serialized output. Callers
|
|
129
|
-
* outside of logging contexts should be aware that fields with these exact key
|
|
130
|
-
* names will be omitted from the resulting JSON string.
|
|
131
|
-
*/
|
|
132
|
-
export function safeJsonStringify(obj, space) {
|
|
133
|
-
if (obj === null || obj === undefined) {
|
|
134
|
-
return "{}";
|
|
135
|
-
}
|
|
136
|
-
if (typeof obj === "string") {
|
|
137
|
-
return sanitizeLogMessage(obj);
|
|
138
|
-
}
|
|
139
|
-
const seen = new WeakSet();
|
|
140
|
-
return JSON.stringify(obj, (key, value) => {
|
|
141
|
-
// Strip secret fields
|
|
142
|
-
if (key && SECRET_FIELDS.has(key.toLowerCase())) {
|
|
143
|
-
return undefined;
|
|
144
|
-
}
|
|
145
|
-
if (value === null || value === undefined) {
|
|
146
|
-
return value;
|
|
147
|
-
}
|
|
148
|
-
if (typeof value === "object") {
|
|
149
|
-
if (seen.has(value)) {
|
|
150
|
-
return "[Circular Reference]";
|
|
151
|
-
}
|
|
152
|
-
seen.add(value);
|
|
153
|
-
if (value instanceof Error) {
|
|
154
|
-
return {
|
|
155
|
-
name: value.name,
|
|
156
|
-
message: sanitizeLogMessage(value.message),
|
|
157
|
-
// Preserve full stack trace for debugging
|
|
158
|
-
stack: sanitizeLogMessage(value.stack || ""),
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
if (typeof value === "string") {
|
|
163
|
-
return sanitizeLogMessage(value);
|
|
164
|
-
}
|
|
165
|
-
if (typeof value === "function") {
|
|
166
|
-
return `[Function: ${value.name || "anonymous"}]`;
|
|
167
|
-
}
|
|
168
|
-
if (typeof value === "symbol") {
|
|
169
|
-
return `[Symbol: ${value.toString()}]`;
|
|
170
|
-
}
|
|
171
|
-
if (typeof value === "bigint") {
|
|
172
|
-
return `[BigInt: ${value.toString()}]`;
|
|
173
|
-
}
|
|
174
|
-
return value;
|
|
175
|
-
}, space);
|
|
176
|
-
}
|
|
177
|
-
//# sourceMappingURL=log-sanitizer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log-sanitizer.js","sourceRoot":"","sources":["../../src/util/log-sanitizer.ts"],"names":[],"mappings":"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"}
|