lattice-orchestrator 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +58 -0
- package/config/logrotate.conf +15 -0
- package/dist/cli-parser.d.ts +11 -0
- package/dist/cli-parser.d.ts.map +1 -0
- package/dist/cli-parser.js +48 -0
- package/dist/cli-parser.js.map +1 -0
- package/dist/lattice-server.d.ts +70 -0
- package/dist/lattice-server.d.ts.map +1 -0
- package/dist/lattice-server.js +969 -0
- package/dist/lattice-server.js.map +1 -0
- package/dist/mcp-server/index.d.ts +3 -0
- package/dist/mcp-server/index.d.ts.map +1 -0
- package/dist/mcp-server/index.js +190 -0
- package/dist/mcp-server/index.js.map +1 -0
- package/dist/mcp-server/lattice-tools.d.ts +15 -0
- package/dist/mcp-server/lattice-tools.d.ts.map +1 -0
- package/dist/mcp-server/lattice-tools.js +366 -0
- package/dist/mcp-server/lattice-tools.js.map +1 -0
- package/dist/middleware/cors-setup.d.ts +7 -0
- package/dist/middleware/cors-setup.d.ts.map +1 -0
- package/dist/middleware/cors-setup.js +8 -0
- package/dist/middleware/cors-setup.js.map +1 -0
- package/dist/middleware/error-handler.d.ts +4 -0
- package/dist/middleware/error-handler.d.ts.map +1 -0
- package/dist/middleware/error-handler.js +27 -0
- package/dist/middleware/error-handler.js.map +1 -0
- package/dist/middleware/query-parser.d.ts +11 -0
- package/dist/middleware/query-parser.d.ts.map +1 -0
- package/dist/middleware/query-parser.js +68 -0
- package/dist/middleware/query-parser.js.map +1 -0
- package/dist/middleware/request-logger.d.ts +4 -0
- package/dist/middleware/request-logger.d.ts.map +1 -0
- package/dist/middleware/request-logger.js +6 -0
- package/dist/middleware/request-logger.js.map +1 -0
- package/dist/process-daemon/index.d.ts +14 -0
- package/dist/process-daemon/index.d.ts.map +1 -0
- package/dist/process-daemon/index.js +51 -0
- package/dist/process-daemon/index.js.map +1 -0
- package/dist/process-daemon/process-daemon.d.ts +101 -0
- package/dist/process-daemon/process-daemon.d.ts.map +1 -0
- package/dist/process-daemon/process-daemon.js +846 -0
- package/dist/process-daemon/process-daemon.js.map +1 -0
- package/dist/process-daemon/process-manager-client.d.ts +123 -0
- package/dist/process-daemon/process-manager-client.d.ts.map +1 -0
- package/dist/process-daemon/process-manager-client.js +329 -0
- package/dist/process-daemon/process-manager-client.js.map +1 -0
- package/dist/process-daemon/process-manager-interface.d.ts +61 -0
- package/dist/process-daemon/process-manager-interface.d.ts.map +1 -0
- package/dist/process-daemon/process-manager-interface.js +8 -0
- package/dist/process-daemon/process-manager-interface.js.map +1 -0
- package/dist/process-daemon/test-daemon.d.ts +12 -0
- package/dist/process-daemon/test-daemon.d.ts.map +1 -0
- package/dist/process-daemon/test-daemon.js +81 -0
- package/dist/process-daemon/test-daemon.js.map +1 -0
- package/dist/process-daemon/types.d.ts +97 -0
- package/dist/process-daemon/types.d.ts.map +1 -0
- package/dist/process-daemon/types.js +8 -0
- package/dist/process-daemon/types.js.map +1 -0
- package/dist/routes/analysis.routes.d.ts +13 -0
- package/dist/routes/analysis.routes.d.ts.map +1 -0
- package/dist/routes/analysis.routes.js +520 -0
- package/dist/routes/analysis.routes.js.map +1 -0
- package/dist/routes/config.routes.d.ts +4 -0
- package/dist/routes/config.routes.d.ts.map +1 -0
- package/dist/routes/config.routes.js +27 -0
- package/dist/routes/config.routes.js.map +1 -0
- package/dist/routes/conversation.routes.d.ts +43 -0
- package/dist/routes/conversation.routes.d.ts.map +1 -0
- package/dist/routes/conversation.routes.js +79 -0
- package/dist/routes/conversation.routes.js.map +1 -0
- package/dist/routes/filesystem.routes.d.ts +4 -0
- package/dist/routes/filesystem.routes.d.ts.map +1 -0
- package/dist/routes/filesystem.routes.js +86 -0
- package/dist/routes/filesystem.routes.js.map +1 -0
- package/dist/routes/insights.routes.d.ts +17 -0
- package/dist/routes/insights.routes.d.ts.map +1 -0
- package/dist/routes/insights.routes.js +633 -0
- package/dist/routes/insights.routes.js.map +1 -0
- package/dist/routes/lattice.routes.d.ts +10 -0
- package/dist/routes/lattice.routes.d.ts.map +1 -0
- package/dist/routes/lattice.routes.js +123 -0
- package/dist/routes/lattice.routes.js.map +1 -0
- package/dist/routes/license.routes.d.ts +3 -0
- package/dist/routes/license.routes.d.ts.map +1 -0
- package/dist/routes/license.routes.js +95 -0
- package/dist/routes/license.routes.js.map +1 -0
- package/dist/routes/log.routes.d.ts +3 -0
- package/dist/routes/log.routes.d.ts.map +1 -0
- package/dist/routes/log.routes.js +184 -0
- package/dist/routes/log.routes.js.map +1 -0
- package/dist/routes/pending-question.routes.d.ts +9 -0
- package/dist/routes/pending-question.routes.d.ts.map +1 -0
- package/dist/routes/pending-question.routes.js +162 -0
- package/dist/routes/pending-question.routes.js.map +1 -0
- package/dist/routes/permission.routes.d.ts +18 -0
- package/dist/routes/permission.routes.d.ts.map +1 -0
- package/dist/routes/permission.routes.js +370 -0
- package/dist/routes/permission.routes.js.map +1 -0
- package/dist/routes/process-events.routes.d.ts +9 -0
- package/dist/routes/process-events.routes.d.ts.map +1 -0
- package/dist/routes/process-events.routes.js +141 -0
- package/dist/routes/process-events.routes.js.map +1 -0
- package/dist/routes/prototype.routes.d.ts +9 -0
- package/dist/routes/prototype.routes.d.ts.map +1 -0
- package/dist/routes/prototype.routes.js +757 -0
- package/dist/routes/prototype.routes.js.map +1 -0
- package/dist/routes/question.routes.d.ts +8 -0
- package/dist/routes/question.routes.d.ts.map +1 -0
- package/dist/routes/question.routes.js +83 -0
- package/dist/routes/question.routes.js.map +1 -0
- package/dist/routes/session-control.routes.d.ts +29 -0
- package/dist/routes/session-control.routes.d.ts.map +1 -0
- package/dist/routes/session-control.routes.js +455 -0
- package/dist/routes/session-control.routes.js.map +1 -0
- package/dist/routes/session-lifecycle.routes.d.ts +21 -0
- package/dist/routes/session-lifecycle.routes.d.ts.map +1 -0
- package/dist/routes/session-lifecycle.routes.js +256 -0
- package/dist/routes/session-lifecycle.routes.js.map +1 -0
- package/dist/routes/session-query.routes.d.ts +25 -0
- package/dist/routes/session-query.routes.d.ts.map +1 -0
- package/dist/routes/session-query.routes.js +363 -0
- package/dist/routes/session-query.routes.js.map +1 -0
- package/dist/routes/session-stream.routes.d.ts +21 -0
- package/dist/routes/session-stream.routes.d.ts.map +1 -0
- package/dist/routes/session-stream.routes.js +235 -0
- package/dist/routes/session-stream.routes.js.map +1 -0
- package/dist/routes/streaming.routes.d.ts +4 -0
- package/dist/routes/streaming.routes.d.ts.map +1 -0
- package/dist/routes/streaming.routes.js +33 -0
- package/dist/routes/streaming.routes.js.map +1 -0
- package/dist/routes/system.routes.d.ts +7 -0
- package/dist/routes/system.routes.d.ts.map +1 -0
- package/dist/routes/system.routes.js +214 -0
- package/dist/routes/system.routes.js.map +1 -0
- package/dist/routes/walkthrough.routes.d.ts +19 -0
- package/dist/routes/walkthrough.routes.d.ts.map +1 -0
- package/dist/routes/walkthrough.routes.js +688 -0
- package/dist/routes/walkthrough.routes.js.map +1 -0
- package/dist/routes/working-directories.routes.d.ts +4 -0
- package/dist/routes/working-directories.routes.d.ts.map +1 -0
- package/dist/routes/working-directories.routes.js +25 -0
- package/dist/routes/working-directories.routes.js.map +1 -0
- package/dist/server.d.ts +3 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +34 -0
- package/dist/server.js.map +1 -0
- package/dist/services/ToolMetricsService.d.ts +53 -0
- package/dist/services/ToolMetricsService.d.ts.map +1 -0
- package/dist/services/ToolMetricsService.js +230 -0
- package/dist/services/ToolMetricsService.js.map +1 -0
- package/dist/services/claude-router-service.d.ts +19 -0
- package/dist/services/claude-router-service.d.ts.map +1 -0
- package/dist/services/claude-router-service.js +160 -0
- package/dist/services/claude-router-service.js.map +1 -0
- package/dist/services/commands-service.d.ts +20 -0
- package/dist/services/commands-service.d.ts.map +1 -0
- package/dist/services/commands-service.js +115 -0
- package/dist/services/commands-service.js.map +1 -0
- package/dist/services/connection-debug-logger.d.ts +85 -0
- package/dist/services/connection-debug-logger.d.ts.map +1 -0
- package/dist/services/connection-debug-logger.js +221 -0
- package/dist/services/connection-debug-logger.js.map +1 -0
- package/dist/services/debug-log.d.ts +6 -0
- package/dist/services/debug-log.d.ts.map +1 -0
- package/dist/services/debug-log.js +27 -0
- package/dist/services/debug-log.js.map +1 -0
- package/dist/services/gemini-service.d.ts +35 -0
- package/dist/services/gemini-service.d.ts.map +1 -0
- package/dist/services/gemini-service.js +256 -0
- package/dist/services/gemini-service.js.map +1 -0
- package/dist/services/infrastructure/config-service.d.ts +79 -0
- package/dist/services/infrastructure/config-service.d.ts.map +1 -0
- package/dist/services/infrastructure/config-service.js +431 -0
- package/dist/services/infrastructure/config-service.js.map +1 -0
- package/dist/services/infrastructure/cost-tracker.d.ts +112 -0
- package/dist/services/infrastructure/cost-tracker.d.ts.map +1 -0
- package/dist/services/infrastructure/cost-tracker.js +423 -0
- package/dist/services/infrastructure/cost-tracker.js.map +1 -0
- package/dist/services/infrastructure/file-system-service.d.ts +61 -0
- package/dist/services/infrastructure/file-system-service.d.ts.map +1 -0
- package/dist/services/infrastructure/file-system-service.js +348 -0
- package/dist/services/infrastructure/file-system-service.js.map +1 -0
- package/dist/services/infrastructure/log-formatter.d.ts +5 -0
- package/dist/services/infrastructure/log-formatter.d.ts.map +1 -0
- package/dist/services/infrastructure/log-formatter.js +77 -0
- package/dist/services/infrastructure/log-formatter.js.map +1 -0
- package/dist/services/infrastructure/log-stream-buffer.d.ts +11 -0
- package/dist/services/infrastructure/log-stream-buffer.d.ts.map +1 -0
- package/dist/services/infrastructure/log-stream-buffer.js +36 -0
- package/dist/services/infrastructure/log-stream-buffer.js.map +1 -0
- package/dist/services/infrastructure/logger.d.ts +71 -0
- package/dist/services/infrastructure/logger.d.ts.map +1 -0
- package/dist/services/infrastructure/logger.js +215 -0
- package/dist/services/infrastructure/logger.js.map +1 -0
- package/dist/services/infrastructure/service-registry.d.ts +86 -0
- package/dist/services/infrastructure/service-registry.d.ts.map +1 -0
- package/dist/services/infrastructure/service-registry.js +162 -0
- package/dist/services/infrastructure/service-registry.js.map +1 -0
- package/dist/services/infrastructure/stream-manager.d.ts +87 -0
- package/dist/services/infrastructure/stream-manager.d.ts.map +1 -0
- package/dist/services/infrastructure/stream-manager.js +436 -0
- package/dist/services/infrastructure/stream-manager.js.map +1 -0
- package/dist/services/infrastructure/timing.d.ts +72 -0
- package/dist/services/infrastructure/timing.d.ts.map +1 -0
- package/dist/services/infrastructure/timing.js +115 -0
- package/dist/services/infrastructure/timing.js.map +1 -0
- package/dist/services/insights/anthropic-service.d.ts +224 -0
- package/dist/services/insights/anthropic-service.d.ts.map +1 -0
- package/dist/services/insights/anthropic-service.js +1062 -0
- package/dist/services/insights/anthropic-service.js.map +1 -0
- package/dist/services/insights/insight-audit-repository.d.ts +119 -0
- package/dist/services/insights/insight-audit-repository.d.ts.map +1 -0
- package/dist/services/insights/insight-audit-repository.js +242 -0
- package/dist/services/insights/insight-audit-repository.js.map +1 -0
- package/dist/services/insights/insight-queue.d.ts +99 -0
- package/dist/services/insights/insight-queue.d.ts.map +1 -0
- package/dist/services/insights/insight-queue.js +277 -0
- package/dist/services/insights/insight-queue.js.map +1 -0
- package/dist/services/insights/insights-computer.d.ts +132 -0
- package/dist/services/insights/insights-computer.d.ts.map +1 -0
- package/dist/services/insights/insights-computer.js +936 -0
- package/dist/services/insights/insights-computer.js.map +1 -0
- package/dist/services/insights/insights-coordinator.d.ts +165 -0
- package/dist/services/insights/insights-coordinator.d.ts.map +1 -0
- package/dist/services/insights/insights-coordinator.js +1678 -0
- package/dist/services/insights/insights-coordinator.js.map +1 -0
- package/dist/services/insights/insights-event-log.d.ts +196 -0
- package/dist/services/insights/insights-event-log.d.ts.map +1 -0
- package/dist/services/insights/insights-event-log.js +319 -0
- package/dist/services/insights/insights-event-log.js.map +1 -0
- package/dist/services/lattice-service.d.ts +77 -0
- package/dist/services/lattice-service.d.ts.map +1 -0
- package/dist/services/lattice-service.js +195 -0
- package/dist/services/lattice-service.js.map +1 -0
- package/dist/services/license-service.d.ts +69 -0
- package/dist/services/license-service.d.ts.map +1 -0
- package/dist/services/license-service.js +330 -0
- package/dist/services/license-service.js.map +1 -0
- package/dist/services/mcp-config-generator.d.ts +32 -0
- package/dist/services/mcp-config-generator.d.ts.map +1 -0
- package/dist/services/mcp-config-generator.js +126 -0
- package/dist/services/mcp-config-generator.js.map +1 -0
- package/dist/services/message-filter.d.ts +22 -0
- package/dist/services/message-filter.d.ts.map +1 -0
- package/dist/services/message-filter.js +57 -0
- package/dist/services/message-filter.js.map +1 -0
- package/dist/services/notification-service.d.ts +45 -0
- package/dist/services/notification-service.d.ts.map +1 -0
- package/dist/services/notification-service.js +184 -0
- package/dist/services/notification-service.js.map +1 -0
- package/dist/services/pending-question-service.d.ts +97 -0
- package/dist/services/pending-question-service.d.ts.map +1 -0
- package/dist/services/pending-question-service.js +223 -0
- package/dist/services/pending-question-service.js.map +1 -0
- package/dist/services/permission-event-log.d.ts +136 -0
- package/dist/services/permission-event-log.d.ts.map +1 -0
- package/dist/services/permission-event-log.js +252 -0
- package/dist/services/permission-event-log.js.map +1 -0
- package/dist/services/permission-pattern-matcher.d.ts +82 -0
- package/dist/services/permission-pattern-matcher.d.ts.map +1 -0
- package/dist/services/permission-pattern-matcher.js +294 -0
- package/dist/services/permission-pattern-matcher.js.map +1 -0
- package/dist/services/permission-tracker.d.ts +67 -0
- package/dist/services/permission-tracker.d.ts.map +1 -0
- package/dist/services/permission-tracker.js +162 -0
- package/dist/services/permission-tracker.js.map +1 -0
- package/dist/services/process/claude-process-manager.d.ts +142 -0
- package/dist/services/process/claude-process-manager.d.ts.map +1 -0
- package/dist/services/process/claude-process-manager.js +1218 -0
- package/dist/services/process/claude-process-manager.js.map +1 -0
- package/dist/services/process/conversation-status-manager.d.ts +110 -0
- package/dist/services/process/conversation-status-manager.d.ts.map +1 -0
- package/dist/services/process/conversation-status-manager.js +349 -0
- package/dist/services/process/conversation-status-manager.js.map +1 -0
- package/dist/services/process/json-lines-parser.d.ts +19 -0
- package/dist/services/process/json-lines-parser.d.ts.map +1 -0
- package/dist/services/process/json-lines-parser.js +59 -0
- package/dist/services/process/json-lines-parser.js.map +1 -0
- package/dist/services/process/process-event-log.d.ts +263 -0
- package/dist/services/process/process-event-log.d.ts.map +1 -0
- package/dist/services/process/process-event-log.js +509 -0
- package/dist/services/process/process-event-log.js.map +1 -0
- package/dist/services/process/process-manager-factory.d.ts +109 -0
- package/dist/services/process/process-manager-factory.d.ts.map +1 -0
- package/dist/services/process/process-manager-factory.js +338 -0
- package/dist/services/process/process-manager-factory.js.map +1 -0
- package/dist/services/question-tracker.d.ts +51 -0
- package/dist/services/question-tracker.d.ts.map +1 -0
- package/dist/services/question-tracker.js +111 -0
- package/dist/services/question-tracker.js.map +1 -0
- package/dist/services/sessions/claude-history-reader.d.ts +139 -0
- package/dist/services/sessions/claude-history-reader.d.ts.map +1 -0
- package/dist/services/sessions/claude-history-reader.js +864 -0
- package/dist/services/sessions/claude-history-reader.js.map +1 -0
- package/dist/services/sessions/conversation-cache.d.ts +98 -0
- package/dist/services/sessions/conversation-cache.d.ts.map +1 -0
- package/dist/services/sessions/conversation-cache.js +329 -0
- package/dist/services/sessions/conversation-cache.js.map +1 -0
- package/dist/services/sessions/session-activity-watcher.d.ts +67 -0
- package/dist/services/sessions/session-activity-watcher.d.ts.map +1 -0
- package/dist/services/sessions/session-activity-watcher.js +236 -0
- package/dist/services/sessions/session-activity-watcher.js.map +1 -0
- package/dist/services/sessions/session-analysis-service.d.ts +72 -0
- package/dist/services/sessions/session-analysis-service.d.ts.map +1 -0
- package/dist/services/sessions/session-analysis-service.js +373 -0
- package/dist/services/sessions/session-analysis-service.js.map +1 -0
- package/dist/services/sessions/session-branch-service.d.ts +76 -0
- package/dist/services/sessions/session-branch-service.d.ts.map +1 -0
- package/dist/services/sessions/session-branch-service.js +355 -0
- package/dist/services/sessions/session-branch-service.js.map +1 -0
- package/dist/services/sessions/session-info-service.d.ts +455 -0
- package/dist/services/sessions/session-info-service.d.ts.map +1 -0
- package/dist/services/sessions/session-info-service.js +1640 -0
- package/dist/services/sessions/session-info-service.js.map +1 -0
- package/dist/services/sessions/session-marks-repository.d.ts +78 -0
- package/dist/services/sessions/session-marks-repository.d.ts.map +1 -0
- package/dist/services/sessions/session-marks-repository.js +263 -0
- package/dist/services/sessions/session-marks-repository.js.map +1 -0
- package/dist/services/sessions/session-marks-service.d.ts +137 -0
- package/dist/services/sessions/session-marks-service.d.ts.map +1 -0
- package/dist/services/sessions/session-marks-service.js +562 -0
- package/dist/services/sessions/session-marks-service.js.map +1 -0
- package/dist/services/sessions/session-review-service.d.ts +98 -0
- package/dist/services/sessions/session-review-service.d.ts.map +1 -0
- package/dist/services/sessions/session-review-service.js +629 -0
- package/dist/services/sessions/session-review-service.js.map +1 -0
- package/dist/services/sessions/turn-capture-service.d.ts +83 -0
- package/dist/services/sessions/turn-capture-service.d.ts.map +1 -0
- package/dist/services/sessions/turn-capture-service.js +477 -0
- package/dist/services/sessions/turn-capture-service.js.map +1 -0
- package/dist/services/sessions/turn-repository.d.ts +48 -0
- package/dist/services/sessions/turn-repository.d.ts.map +1 -0
- package/dist/services/sessions/turn-repository.js +103 -0
- package/dist/services/sessions/turn-repository.js.map +1 -0
- package/dist/services/walkthrough-service.d.ts +226 -0
- package/dist/services/walkthrough-service.d.ts.map +1 -0
- package/dist/services/walkthrough-service.js +1112 -0
- package/dist/services/walkthrough-service.js.map +1 -0
- package/dist/services/walkthrough-skill-prompt.d.ts +34 -0
- package/dist/services/walkthrough-skill-prompt.d.ts.map +1 -0
- package/dist/services/walkthrough-skill-prompt.js +313 -0
- package/dist/services/walkthrough-skill-prompt.js.map +1 -0
- package/dist/services/web-push-service.d.ts +48 -0
- package/dist/services/web-push-service.d.ts.map +1 -0
- package/dist/services/web-push-service.js +186 -0
- package/dist/services/web-push-service.js.map +1 -0
- package/dist/services/working-directories-service.d.ts +19 -0
- package/dist/services/working-directories-service.d.ts.map +1 -0
- package/dist/services/working-directories-service.js +103 -0
- package/dist/services/working-directories-service.js.map +1 -0
- package/dist/types/config.d.ts +122 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +21 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/express.d.ts +5 -0
- package/dist/types/express.d.ts.map +1 -0
- package/dist/types/express.js +2 -0
- package/dist/types/express.js.map +1 -0
- package/dist/types/index.d.ts +400 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +41 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/insights.d.ts +176 -0
- package/dist/types/insights.d.ts.map +1 -0
- package/dist/types/insights.js +23 -0
- package/dist/types/insights.js.map +1 -0
- package/dist/types/license.d.ts +70 -0
- package/dist/types/license.d.ts.map +1 -0
- package/dist/types/license.js +5 -0
- package/dist/types/license.js.map +1 -0
- package/dist/types/router-config.d.ts +13 -0
- package/dist/types/router-config.d.ts.map +1 -0
- package/dist/types/router-config.js +2 -0
- package/dist/types/router-config.js.map +1 -0
- package/dist/utils/constants.d.ts +26 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +28 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/machine-id.d.ts +7 -0
- package/dist/utils/machine-id.d.ts.map +1 -0
- package/dist/utils/machine-id.js +76 -0
- package/dist/utils/machine-id.js.map +1 -0
- package/dist/utils/server-startup.d.ts +11 -0
- package/dist/utils/server-startup.d.ts.map +1 -0
- package/dist/utils/server-startup.js +9 -0
- package/dist/utils/server-startup.js.map +1 -0
- package/dist/utils/update-check.d.ts +13 -0
- package/dist/utils/update-check.d.ts.map +1 -0
- package/dist/utils/update-check.js +90 -0
- package/dist/utils/update-check.js.map +1 -0
- package/dist/web/assets/ArchivedCardPrototype-S9ifiasa.js +5 -0
- package/dist/web/assets/BannerGallery-B__rJV6F.js +1 -0
- package/dist/web/assets/BannerPrototype-DBKP9Uiu.js +52 -0
- package/dist/web/assets/CodeHikeExperiment-B8jjWAFy.js +15 -0
- package/dist/web/assets/ContextTooltipVariations-DzklAFam.js +1 -0
- package/dist/web/assets/FontShowcasePrototype-KIMEWeP2.js +13 -0
- package/dist/web/assets/GeometricGallery-DddlWhHK.js +1 -0
- package/dist/web/assets/HistoryWalkthroughPrototype-DeniRRdw.js +18 -0
- package/dist/web/assets/InlineWalkthroughPrototype-Csd5r_Hk.js +1 -0
- package/dist/web/assets/MarkButtonPrototype-CxhxE0RP.js +1 -0
- package/dist/web/assets/MenuStylesPrototype-D7neA6YM.js +1 -0
- package/dist/web/assets/MomentCardVariations-2GT7GyFn.js +1 -0
- package/dist/web/assets/MomentHeaderVariations-DhGEw4XC.js +1 -0
- package/dist/web/assets/NarrativeWalkthroughDemo-B5C566fu.js +389 -0
- package/dist/web/assets/OutcomeVariations-BrZfsVcs.js +1 -0
- package/dist/web/assets/PermissionPatternPickerPrototype-CBOhe2Me.js +1 -0
- package/dist/web/assets/PermissionPrototype-BcF-a5an.js +1 -0
- package/dist/web/assets/PipelineGallery-BJhyM0rx.js +1 -0
- package/dist/web/assets/ScopeHeaderPrototype-GD1HNfaO.js +1 -0
- package/dist/web/assets/ScopeHeaderStylesPrototype-aa4uNJJ1.js +1 -0
- package/dist/web/assets/ScrollycodingPrototype-CKW1bf72.js +70 -0
- package/dist/web/assets/SectionHeaderVariations-DM8vUwfj.js +1 -0
- package/dist/web/assets/SemanticGallery-CtQEo7St.js +1 -0
- package/dist/web/assets/SessionCardPrototype-CgHCIMHe.js +1 -0
- package/dist/web/assets/SessionSidebarVariations-DMQL3Azj.js +3 -0
- package/dist/web/assets/SessionStartPrototype-Cwsv01Rr.js +1 -0
- package/dist/web/assets/SmartMenuPrototype-Br37Qbs_.js +1 -0
- package/dist/web/assets/StyleGallery-rZgrploB.js +1 -0
- package/dist/web/assets/TimelineCardPrototype-lzPc5mhe.js +19 -0
- package/dist/web/assets/ToolbarPrototype-Dm4BNZra.js +1 -0
- package/dist/web/assets/TooltipExperiment-Dy8QzTIP.js +13 -0
- package/dist/web/assets/WalkthroughCTAPrototype-uHoovujd.js +1 -0
- package/dist/web/assets/WalkthroughHeaderVariations-Do7Di1g1.js +1 -0
- package/dist/web/assets/WalkthroughShowcase-sGmRoPoM.js +112 -0
- package/dist/web/assets/arrow-right-D46Nx1mC.js +1 -0
- package/dist/web/assets/brain-BXIZKtOZ.js +1 -0
- package/dist/web/assets/grid-3x3-Cb81B62m.js +1 -0
- package/dist/web/assets/main-B1fyog77.js +321 -0
- package/dist/web/assets/main-C2PK2Klg.css +1 -0
- package/dist/web/assets/semantic-variations-Bd-W7ea2.js +1 -0
- package/dist/web/assets/target-Cf92wDTW.js +1 -0
- package/dist/web/favicon.png +0 -0
- package/dist/web/favicon.svg +22 -0
- package/dist/web/icon-192x192.png +0 -0
- package/dist/web/icon-512x512.png +0 -0
- package/dist/web/index.html +45 -0
- package/dist/web/manifest.json +61 -0
- package/package.json +192 -0
- package/scripts/postinstall.js +60 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* License types for Claudia
|
|
3
|
+
*/
|
|
4
|
+
export type LicenseTier = 'free' | 'beta' | 'pro';
|
|
5
|
+
/**
|
|
6
|
+
* JWT payload for license tokens
|
|
7
|
+
*/
|
|
8
|
+
export interface LicenseTokenPayload {
|
|
9
|
+
/** Email address */
|
|
10
|
+
email: string;
|
|
11
|
+
/** License tier */
|
|
12
|
+
tier: LicenseTier;
|
|
13
|
+
/** Issued at (Unix timestamp) */
|
|
14
|
+
iat: number;
|
|
15
|
+
/** Expiration (Unix timestamp), undefined for lifetime */
|
|
16
|
+
exp?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface License {
|
|
19
|
+
/**
|
|
20
|
+
* JWT token string
|
|
21
|
+
*/
|
|
22
|
+
token: string;
|
|
23
|
+
/**
|
|
24
|
+
* Decoded email from token
|
|
25
|
+
*/
|
|
26
|
+
email: string;
|
|
27
|
+
/**
|
|
28
|
+
* License tier from token
|
|
29
|
+
*/
|
|
30
|
+
tier: LicenseTier;
|
|
31
|
+
/**
|
|
32
|
+
* Expiration date (ISO 8601)
|
|
33
|
+
* null for lifetime licenses
|
|
34
|
+
*/
|
|
35
|
+
expiresAt: string | null;
|
|
36
|
+
/**
|
|
37
|
+
* When this license was activated locally
|
|
38
|
+
*/
|
|
39
|
+
activatedAt: string;
|
|
40
|
+
}
|
|
41
|
+
export interface LicenseValidationResult {
|
|
42
|
+
/**
|
|
43
|
+
* Whether the license is valid
|
|
44
|
+
*/
|
|
45
|
+
valid: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* The license tier (free if no valid license)
|
|
48
|
+
*/
|
|
49
|
+
tier: LicenseTier;
|
|
50
|
+
/**
|
|
51
|
+
* License details (null if free tier)
|
|
52
|
+
*/
|
|
53
|
+
license: License | null;
|
|
54
|
+
/**
|
|
55
|
+
* Validation error message (if invalid)
|
|
56
|
+
*/
|
|
57
|
+
error?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface LicenseLimits {
|
|
60
|
+
/**
|
|
61
|
+
* Maximum concurrent sessions
|
|
62
|
+
* null = unlimited
|
|
63
|
+
*/
|
|
64
|
+
maxSessions: number | null;
|
|
65
|
+
/**
|
|
66
|
+
* Whether insights are enabled
|
|
67
|
+
*/
|
|
68
|
+
insightsEnabled: boolean;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=license.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/types/license.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/types/license.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface RouterProvider {
|
|
2
|
+
name: string;
|
|
3
|
+
api_base_url: string;
|
|
4
|
+
api_key: string;
|
|
5
|
+
models: string[];
|
|
6
|
+
transformer?: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export interface RouterConfiguration {
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
providers: RouterProvider[];
|
|
11
|
+
rules: Record<string, string>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=router-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-config.d.ts","sourceRoot":"","sources":["../../src/types/router-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,cAAc,EAAE,CAAC;IAE5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-config.js","sourceRoot":"","sources":["../../src/types/router-config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application branding constants
|
|
3
|
+
* Change these to rebrand the entire application
|
|
4
|
+
*/
|
|
5
|
+
export declare const APP_NAME = "lattice";
|
|
6
|
+
export declare const APP_DISPLAY_NAME = "Lattice";
|
|
7
|
+
/**
|
|
8
|
+
* Config directory: ~/.lattice/
|
|
9
|
+
* Contains: config.json, session-info.db, license.json, etc.
|
|
10
|
+
*/
|
|
11
|
+
export declare const CONFIG_DIR_NAME = ".lattice";
|
|
12
|
+
export declare const CONFIG_DIR: string;
|
|
13
|
+
/**
|
|
14
|
+
* Socket path for daemon IPC
|
|
15
|
+
*/
|
|
16
|
+
export declare const DAEMON_SOCKET_PATH = "/tmp/lattice-daemon.sock";
|
|
17
|
+
/**
|
|
18
|
+
* Notification topic prefix for ntfy.sh
|
|
19
|
+
*/
|
|
20
|
+
export declare const NOTIFICATION_TOPIC_PREFIX = "lattice";
|
|
21
|
+
/**
|
|
22
|
+
* MCP server names
|
|
23
|
+
*/
|
|
24
|
+
export declare const MCP_PERMISSIONS_SERVER_NAME = "lattice-permissions";
|
|
25
|
+
export declare const MCP_ORCHESTRATOR_SERVER_NAME = "lattice-orchestrator";
|
|
26
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,QAAQ,YAAY,CAAC;AAClC,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,eAAe,aAAiB,CAAC;AAC9C,eAAO,MAAM,UAAU,QAA2C,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,kBAAkB,6BAAiC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,yBAAyB,YAAW,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,2BAA2B,wBAA4B,CAAC;AACrE,eAAO,MAAM,4BAA4B,yBAA6B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import os from 'os';
|
|
3
|
+
/**
|
|
4
|
+
* Application branding constants
|
|
5
|
+
* Change these to rebrand the entire application
|
|
6
|
+
*/
|
|
7
|
+
export const APP_NAME = 'lattice';
|
|
8
|
+
export const APP_DISPLAY_NAME = 'Lattice';
|
|
9
|
+
/**
|
|
10
|
+
* Config directory: ~/.lattice/
|
|
11
|
+
* Contains: config.json, session-info.db, license.json, etc.
|
|
12
|
+
*/
|
|
13
|
+
export const CONFIG_DIR_NAME = `.${APP_NAME}`;
|
|
14
|
+
export const CONFIG_DIR = path.join(os.homedir(), CONFIG_DIR_NAME);
|
|
15
|
+
/**
|
|
16
|
+
* Socket path for daemon IPC
|
|
17
|
+
*/
|
|
18
|
+
export const DAEMON_SOCKET_PATH = `/tmp/${APP_NAME}-daemon.sock`;
|
|
19
|
+
/**
|
|
20
|
+
* Notification topic prefix for ntfy.sh
|
|
21
|
+
*/
|
|
22
|
+
export const NOTIFICATION_TOPIC_PREFIX = APP_NAME;
|
|
23
|
+
/**
|
|
24
|
+
* MCP server names
|
|
25
|
+
*/
|
|
26
|
+
export const MCP_PERMISSIONS_SERVER_NAME = `${APP_NAME}-permissions`;
|
|
27
|
+
export const MCP_ORCHESTRATOR_SERVER_NAME = `${APP_NAME}-orchestrator`;
|
|
28
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,QAAQ,cAAc,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,QAAQ,cAAc,CAAC;AACrE,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,QAAQ,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine-id.d.ts","sourceRoot":"","sources":["../../src/utils/machine-id.ts"],"names":[],"mappings":"AA0DA;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAkBzD"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import os from 'os';
|
|
2
|
+
import crypto from 'crypto';
|
|
3
|
+
import { exec } from 'child_process';
|
|
4
|
+
import { promisify } from 'util';
|
|
5
|
+
const execAsync = promisify(exec);
|
|
6
|
+
/**
|
|
7
|
+
* Get the primary network interface MAC address
|
|
8
|
+
* On macOS, this is typically en0
|
|
9
|
+
* On Linux, this is typically eth0, eno1, or enp0s*
|
|
10
|
+
*/
|
|
11
|
+
async function getPrimaryMacAddress() {
|
|
12
|
+
try {
|
|
13
|
+
// Platform-specific commands to get MAC address
|
|
14
|
+
let command;
|
|
15
|
+
const platform = os.platform();
|
|
16
|
+
if (platform === 'darwin') {
|
|
17
|
+
// macOS: Get en0 MAC address (primary network interface)
|
|
18
|
+
command = 'ifconfig en0 | grep ether | awk \'{print $2}\'';
|
|
19
|
+
}
|
|
20
|
+
else if (platform === 'linux') {
|
|
21
|
+
// Linux: Try common interface names
|
|
22
|
+
command = 'ip link show | grep -E "eno1|eth0|enp0s[0-9]+" -A1 | grep link/ether | head -1 | awk \'{print $2}\'';
|
|
23
|
+
}
|
|
24
|
+
else if (platform === 'win32') {
|
|
25
|
+
// Windows: Get first physical adapter MAC
|
|
26
|
+
command = 'wmic nic where "PhysicalAdapter=TRUE" get MACAddress | findstr /r "[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]" | head -1';
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error(`Unsupported platform: ${platform}`);
|
|
30
|
+
}
|
|
31
|
+
const { stdout } = await execAsync(command);
|
|
32
|
+
const mac = stdout.trim();
|
|
33
|
+
if (!mac) {
|
|
34
|
+
throw new Error('No MAC address found');
|
|
35
|
+
}
|
|
36
|
+
return mac;
|
|
37
|
+
}
|
|
38
|
+
catch (_error) {
|
|
39
|
+
// Fallback: Use os.networkInterfaces()
|
|
40
|
+
const interfaces = os.networkInterfaces();
|
|
41
|
+
for (const name of Object.keys(interfaces)) {
|
|
42
|
+
const iface = interfaces[name];
|
|
43
|
+
if (!iface)
|
|
44
|
+
continue;
|
|
45
|
+
for (const info of iface) {
|
|
46
|
+
// Skip internal (loopback) interfaces
|
|
47
|
+
if (!info.internal && info.mac && info.mac !== '00:00:00:00:00:00') {
|
|
48
|
+
return info.mac;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
throw new Error('Unable to determine MAC address');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Generate a machine ID based on hostname and MAC address
|
|
57
|
+
* Format: {hostname}-{16char_hash}
|
|
58
|
+
* Example: "wenbomacbook-a1b2c3d4e5f6g7h8"
|
|
59
|
+
*/
|
|
60
|
+
export async function generateMachineId() {
|
|
61
|
+
// Get hostname (lowercase) and sanitize it
|
|
62
|
+
// Remove dots and other special characters, keeping only alphanumeric and hyphens
|
|
63
|
+
const hostname = os.hostname()
|
|
64
|
+
.toLowerCase()
|
|
65
|
+
.replace(/[^a-z0-9-]/g, '');
|
|
66
|
+
// Get MAC address
|
|
67
|
+
const macAddress = await getPrimaryMacAddress();
|
|
68
|
+
// Generate SHA256 hash of MAC address
|
|
69
|
+
const hash = crypto
|
|
70
|
+
.createHash('sha256')
|
|
71
|
+
.update(macAddress.toLowerCase())
|
|
72
|
+
.digest('hex')
|
|
73
|
+
.substring(0, 16); // Take first 16 characters
|
|
74
|
+
return `${hostname}-${hash}`;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=machine-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine-id.js","sourceRoot":"","sources":["../../src/utils/machine-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;;GAIG;AACH,KAAK,UAAU,oBAAoB;IACjC,IAAI,CAAC;QACH,gDAAgD;QAChD,IAAI,OAAe,CAAC;QACpB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,yDAAyD;YACzD,OAAO,GAAG,gDAAgD,CAAC;QAC7D,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,oCAAoC;YACpC,OAAO,GAAG,qGAAqG,CAAC;QAClH,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,0CAA0C;YAC1C,OAAO,GAAG,iHAAiH,CAAC;QAC9H,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAE1B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,uCAAuC;QACvC,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,sCAAsC;gBACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,mBAAmB,EAAE,CAAC;oBACnE,OAAO,IAAI,CAAC,GAAG,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,2CAA2C;IAC3C,kFAAkF;IAClF,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE;SAC3B,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAE9B,kBAAkB;IAClB,MAAM,UAAU,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAEhD,sCAAsC;IACtC,MAAM,IAAI,GAAG,MAAM;SAChB,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;SAChC,MAAM,CAAC,KAAK,CAAC;SACb,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,2BAA2B;IAEhD,OAAO,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Logger } from '../services/infrastructure/logger.js';
|
|
2
|
+
export interface ServerStartupOptions {
|
|
3
|
+
host: string;
|
|
4
|
+
port: number;
|
|
5
|
+
logger: Logger;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Display server startup information
|
|
9
|
+
*/
|
|
10
|
+
export declare function displayServerStartup(options: ServerStartupOptions): void;
|
|
11
|
+
//# sourceMappingURL=server-startup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-startup.d.ts","sourceRoot":"","sources":["../../src/utils/server-startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAIxE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display server startup information
|
|
3
|
+
*/
|
|
4
|
+
export function displayServerStartup(options) {
|
|
5
|
+
const { host, port, logger } = options;
|
|
6
|
+
const serverUrl = `http://${host}:${port}`;
|
|
7
|
+
logger.info(`🚀 Server listening on ${serverUrl}`);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=server-startup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-startup.js","sourceRoot":"","sources":["../../src/utils/server-startup.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA6B;IAChE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface UpdateInfo {
|
|
2
|
+
currentVersion: string;
|
|
3
|
+
latestVersion: string;
|
|
4
|
+
hasUpdate: boolean;
|
|
5
|
+
releaseUrl: string;
|
|
6
|
+
changelogUrl: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function checkForUpdates(): Promise<UpdateInfo>;
|
|
9
|
+
/**
|
|
10
|
+
* Log update availability on startup (non-blocking)
|
|
11
|
+
*/
|
|
12
|
+
export declare function checkForUpdatesOnStartup(): void;
|
|
13
|
+
//# sourceMappingURL=update-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/utils/update-check.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAmCD,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,CA+C3D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAS/C"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { createRequire } from 'module';
|
|
2
|
+
import { createLogger } from '../services/infrastructure/logger.js';
|
|
3
|
+
const require = createRequire(import.meta.url);
|
|
4
|
+
const logger = createLogger('UpdateCheck');
|
|
5
|
+
const PACKAGE_NAME = 'claudia-orchestrator';
|
|
6
|
+
const GITHUB_RELEASES_URL = 'https://github.com/Liggi/claudia-orchestrator/releases';
|
|
7
|
+
const CHANGELOG_URL = 'https://github.com/Liggi/claudia-orchestrator/blob/main/CHANGELOG.md';
|
|
8
|
+
// Cache the result for 1 hour to avoid hammering npm on every request
|
|
9
|
+
let cachedResult = null;
|
|
10
|
+
let cacheTime = 0;
|
|
11
|
+
const CACHE_TTL = 60 * 60 * 1000; // 1 hour
|
|
12
|
+
function getCurrentVersion() {
|
|
13
|
+
try {
|
|
14
|
+
// Navigate up from dist/utils to find package.json
|
|
15
|
+
const pkg = require('../../package.json');
|
|
16
|
+
return pkg.version;
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return 'unknown';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function compareVersions(current, latest) {
|
|
23
|
+
// Simple semver comparison - returns true if latest > current
|
|
24
|
+
const currentParts = current.split('.').map(Number);
|
|
25
|
+
const latestParts = latest.split('.').map(Number);
|
|
26
|
+
for (let i = 0; i < 3; i++) {
|
|
27
|
+
const c = currentParts[i] || 0;
|
|
28
|
+
const l = latestParts[i] || 0;
|
|
29
|
+
if (l > c)
|
|
30
|
+
return true;
|
|
31
|
+
if (l < c)
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
export async function checkForUpdates() {
|
|
37
|
+
const now = Date.now();
|
|
38
|
+
// Return cached result if still valid
|
|
39
|
+
if (cachedResult && (now - cacheTime) < CACHE_TTL) {
|
|
40
|
+
return cachedResult;
|
|
41
|
+
}
|
|
42
|
+
const currentVersion = getCurrentVersion();
|
|
43
|
+
try {
|
|
44
|
+
const response = await fetch(`https://registry.npmjs.org/${PACKAGE_NAME}/latest`, {
|
|
45
|
+
headers: { 'Accept': 'application/json' },
|
|
46
|
+
signal: AbortSignal.timeout(5000) // 5 second timeout
|
|
47
|
+
});
|
|
48
|
+
if (!response.ok) {
|
|
49
|
+
throw new Error(`npm registry returned ${response.status}`);
|
|
50
|
+
}
|
|
51
|
+
const data = await response.json();
|
|
52
|
+
const latestVersion = data.version;
|
|
53
|
+
cachedResult = {
|
|
54
|
+
currentVersion,
|
|
55
|
+
latestVersion,
|
|
56
|
+
hasUpdate: compareVersions(currentVersion, latestVersion),
|
|
57
|
+
releaseUrl: GITHUB_RELEASES_URL,
|
|
58
|
+
changelogUrl: CHANGELOG_URL
|
|
59
|
+
};
|
|
60
|
+
cacheTime = now;
|
|
61
|
+
return cachedResult;
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
logger.debug('Failed to check for updates', {
|
|
65
|
+
error: error instanceof Error ? error.message : String(error)
|
|
66
|
+
});
|
|
67
|
+
// Return a safe default on error
|
|
68
|
+
return {
|
|
69
|
+
currentVersion,
|
|
70
|
+
latestVersion: currentVersion,
|
|
71
|
+
hasUpdate: false,
|
|
72
|
+
releaseUrl: GITHUB_RELEASES_URL,
|
|
73
|
+
changelogUrl: CHANGELOG_URL
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Log update availability on startup (non-blocking)
|
|
79
|
+
*/
|
|
80
|
+
export function checkForUpdatesOnStartup() {
|
|
81
|
+
checkForUpdates().then(info => {
|
|
82
|
+
if (info.hasUpdate) {
|
|
83
|
+
logger.info(`Update available: ${info.currentVersion} → ${info.latestVersion}`);
|
|
84
|
+
logger.info(`See what's new: ${info.releaseUrl}`);
|
|
85
|
+
}
|
|
86
|
+
}).catch(() => {
|
|
87
|
+
// Silently ignore - startup shouldn't fail due to update check
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=update-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/utils/update-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{r as p,j as e,g as u,A as g,h as x,i as l,k as h}from"./main-B1fyog77.js";const d=[{sessionId:"abc123def456",insights:{purpose:"Implement pagination for archived sessions",description:"Adding infinite scroll and reusing SessionCard component",theme:"ui",tags:{complexity:"moderate"}},sessionInfo:{customName:null,identity_image:null},workingDirectory:"/home/jason/claudia",updatedAt:new Date(Date.now()-7200*1e3).toISOString(),createdAt:new Date(Date.now()-300*60*1e3).toISOString()},{sessionId:"xyz789ghi012",insights:{purpose:"Fix SSE reconnection bug in activity stream",description:"Investigating why clients disconnect after server restart",theme:"infra",tags:{complexity:"gnarly"}},sessionInfo:{customName:"SSE Bug Hunt",identity_image:null},workingDirectory:"/home/jason/claudia",updatedAt:new Date(Date.now()-1440*60*1e3).toISOString(),createdAt:new Date(Date.now()-1560*60*1e3).toISOString()},{sessionId:"mno345pqr678",insights:{purpose:"Add voice transcription via Gemini API",description:"Integrating Gemini for audio input in the composer",theme:"feature",tags:{complexity:"routine"}},sessionInfo:{customName:null,identity_image:null},workingDirectory:"/home/jason/claudia",updatedAt:new Date(Date.now()-4320*60*1e3).toISOString(),createdAt:new Date(Date.now()-4320*60*1e3).toISOString()},{sessionId:"stu901vwx234",insights:{purpose:"Refactor insights computation pipeline",description:"Breaking apart the monolithic InsightsComputer into focused services",theme:"refactor",tags:{complexity:"gnarly"}},sessionInfo:{customName:"Insights Refactor",identity_image:null},workingDirectory:"/home/jason/claudia",updatedAt:new Date(Date.now()-10080*60*1e3).toISOString(),createdAt:new Date(Date.now()-11520*60*1e3).toISOString()},{sessionId:"yzab567cdef8",insights:{purpose:"Debug memory leak in session polling",description:null,theme:"bugfix",tags:{complexity:"moderate"}},sessionInfo:{customName:null,identity_image:null},workingDirectory:"/home/jason/claudia",updatedAt:new Date(Date.now()-336*60*60*1e3).toISOString(),createdAt:new Date(Date.now()-336*60*60*1e3).toISOString()},{sessionId:"ghij901klmn2",insights:{purpose:"CK3 motto generation pipeline",description:"Generating culturally-appropriate house mottos for all CK3 cultures",theme:"project",tags:{complexity:"moderate"}},sessionInfo:{customName:"CK3 Mottos",identity_image:null},workingDirectory:"/mnt/c/Users/jason/Documents/ck3-motto-ideation",updatedAt:new Date(Date.now()-720*60*60*1e3).toISOString(),createdAt:new Date(Date.now()-840*60*60*1e3).toISOString()}];function c(s){const n=Date.now()-new Date(s).getTime(),t=Math.floor(n/6e4),r=Math.floor(t/60),o=Math.floor(r/24);return t<60?`${t}m ago`:r<24?`${r}h ago`:o<7?`${o}d ago`:o<30?`${Math.floor(o/7)}w ago`:new Date(s).toLocaleDateString()}function m(s){switch(s){case"ui":return"text-cyan-400 bg-cyan-500/10 border-cyan-500/30";case"infra":return"text-purple-400 bg-purple-500/10 border-purple-500/30";case"feature":return"text-emerald-400 bg-emerald-500/10 border-emerald-500/30";case"refactor":return"text-amber-400 bg-amber-500/10 border-amber-500/30";case"bugfix":return"text-rose-400 bg-rose-500/10 border-rose-500/30";case"project":return"text-blue-400 bg-blue-500/10 border-blue-500/30";default:return"text-muted-foreground/70 bg-muted/30 border-border/30"}}function f({session:s,onRestore:n}){const{insights:t,sessionInfo:r,workingDirectory:o,updatedAt:i,sessionId:a}=s;return e.jsxs("div",{className:"flex items-center gap-4 p-3 rounded-md bg-card/30 border border-border/20 hover:border-rose-500/30 transition-all",children:[e.jsx("div",{className:"w-14 h-10 rounded-sm flex-shrink-0 bg-gradient-to-br from-muted/20 via-muted/10 to-muted/20 border border-border/20"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-sm font-mono font-medium text-foreground/90 truncate",children:r?.customName||t?.purpose||a.slice(0,8)}),e.jsxs("div",{className:"flex items-center gap-2 mt-1 text-[10px] font-mono text-muted-foreground/40",children:[e.jsx(x,{size:10}),e.jsx("span",{children:c(i)}),o&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-muted-foreground/20",children:"•"}),e.jsx("span",{className:"truncate max-w-[150px]",children:o.split("/").slice(-2).join("/")})]})]})]}),t?.theme&&e.jsx("span",{className:`text-[9px] px-1.5 py-0.5 rounded border font-display uppercase tracking-wider ${m(t.theme)}`,children:t.theme}),e.jsx("button",{onClick:n,className:"p-1.5 rounded-sm text-muted-foreground/40 hover:text-emerald-400 hover:bg-emerald-500/10 transition-all",title:"Restore",children:e.jsx(l,{size:14})})]})}function b({session:s,onRestore:n}){const{insights:t,sessionInfo:r,workingDirectory:o,updatedAt:i,sessionId:a}=s;return e.jsxs("div",{className:"rounded-lg border border-border/20 overflow-hidden bg-card/30 hover:border-rose-500/30 hover:shadow-[2px_2px_0_rgba(244,63,94,0.2)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all group",children:[e.jsx("div",{className:"h-10 bg-gradient-to-r from-muted/10 via-muted/20 to-muted/10 relative",children:t?.theme&&e.jsx("span",{className:`absolute top-1.5 right-1.5 text-[8px] px-1 py-0.5 rounded border font-display uppercase tracking-wider ${m(t.theme)}`,children:t.theme})}),e.jsxs("div",{className:"p-3",children:[e.jsx("h3",{className:"text-sm font-mono font-medium text-foreground/90 group-hover:text-rose-400 truncate transition-colors",children:r?.customName||t?.purpose||a.slice(0,8)}),t?.description&&e.jsx("p",{className:"text-[11px] text-muted-foreground/40 line-clamp-2 mt-1",children:t.description}),e.jsxs("div",{className:"flex items-center justify-between mt-2",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/30",children:[e.jsx(x,{size:10}),e.jsx("span",{children:c(i)})]}),e.jsxs("button",{onClick:n,className:"flex items-center gap-1 px-2 py-1 rounded-sm text-[10px] font-mono text-muted-foreground/40 hover:text-emerald-400 hover:bg-emerald-500/10 transition-all",children:[e.jsx(l,{size:10}),e.jsx("span",{children:"Restore"})]})]})]})]})}function j({session:s,onRestore:n}){const{insights:t,sessionInfo:r,updatedAt:o,sessionId:i}=s;return e.jsxs("div",{className:"flex items-center gap-3 px-3 py-2 rounded-sm hover:bg-muted/20 transition-all group",children:[e.jsx("span",{className:"text-[10px] font-mono text-muted-foreground/30 w-12 flex-shrink-0",children:c(o)}),e.jsx("h3",{className:"flex-1 text-sm font-mono text-foreground/70 group-hover:text-rose-400 truncate transition-colors",children:r?.customName||t?.purpose||i.slice(0,8)}),t?.theme&&e.jsx("span",{className:`text-[8px] px-1 py-0.5 rounded font-display uppercase ${m(t.theme)}`,children:t.theme}),e.jsx("button",{onClick:n,className:"opacity-0 group-hover:opacity-100 p-1 rounded-sm text-muted-foreground/40 hover:text-emerald-400 transition-all",children:e.jsx(l,{size:12})})]})}function v({session:s,onRestore:n}){const{insights:t,sessionInfo:r,updatedAt:o,sessionId:i}=s;return e.jsxs("div",{className:"p-2.5 rounded-md border border-border/20 bg-card/30 hover:border-rose-500/30 transition-all group",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("h3",{className:"text-xs font-mono font-medium text-foreground/80 group-hover:text-rose-400 line-clamp-2 transition-colors",children:r?.customName||t?.purpose||i.slice(0,8)}),e.jsx("button",{onClick:n,className:"opacity-0 group-hover:opacity-100 p-0.5 rounded-sm text-muted-foreground/40 hover:text-emerald-400 transition-all flex-shrink-0",children:e.jsx(l,{size:10})})]}),e.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[t?.theme&&e.jsx("span",{className:`text-[8px] px-1 py-0.5 rounded font-display uppercase ${m(t.theme)}`,children:t.theme}),e.jsx("span",{className:"text-[9px] font-mono text-muted-foreground/30 ml-auto",children:c(o)})]})]})}function N({session:s,onRestore:n}){const{insights:t,sessionInfo:r,workingDirectory:o,updatedAt:i,sessionId:a}=s;return e.jsxs("div",{className:"flex gap-3 group",children:[e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx("div",{className:"w-2 h-2 rounded-full bg-rose-500/40 group-hover:bg-rose-400 transition-colors"}),e.jsx("div",{className:"w-px flex-1 bg-border/30"})]}),e.jsxs("div",{className:"flex-1 pb-6",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:"text-[10px] font-mono text-muted-foreground/40",children:c(i)}),t?.theme&&e.jsx("span",{className:`text-[8px] px-1 py-0.5 rounded border font-display uppercase ${m(t.theme)}`,children:t.theme})]}),e.jsx("h3",{className:"text-sm font-mono font-medium text-foreground/80 group-hover:text-rose-400 transition-colors",children:r?.customName||t?.purpose||a.slice(0,8)}),t?.description&&e.jsx("p",{className:"text-[11px] text-muted-foreground/40 mt-1 line-clamp-1",children:t.description}),o&&e.jsxs("div",{className:"flex items-center gap-1 mt-1.5 text-[10px] text-muted-foreground/30",children:[e.jsx(h,{size:10}),e.jsx("span",{className:"truncate",children:o.split("/").slice(-2).join("/")})]}),e.jsxs("button",{onClick:n,className:"mt-2 flex items-center gap-1 px-2 py-1 rounded-sm text-[10px] font-mono text-muted-foreground/40 hover:text-emerald-400 hover:bg-emerald-500/10 transition-all",children:[e.jsx(l,{size:10}),e.jsx("span",{children:"Restore"})]})]})]})}function y(){const[s,n]=p.useState("row"),t=()=>{console.log("Restore clicked")};return e.jsxs("div",{className:"min-h-dvh bg-background text-foreground",children:[e.jsx("div",{className:"fixed inset-0 bg-[linear-gradient(rgba(0,255,255,0.02)_1px,transparent_1px),linear-gradient(90deg,rgba(0,255,255,0.02)_1px,transparent_1px)] bg-[size:24px_24px] pointer-events-none"}),e.jsx("header",{className:"relative border-b border-border/30 bg-card/80 backdrop-blur-md sticky top-0 z-10",children:e.jsx("div",{className:"max-w-4xl mx-auto px-6 py-4 flex items-center justify-between",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(u,{to:"/dev",className:"p-2 -ml-2 rounded-sm text-muted-foreground hover:text-cyan-400 hover:bg-cyan-500/10 transition-all",children:e.jsx(g,{size:18})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-lg font-mono font-bold tracking-wider text-rose-400",children:"ARCHIVED CARD VARIATIONS"}),e.jsx("p",{className:"text-[10px] font-display uppercase tracking-wider text-muted-foreground/50",children:"Exploring layouts for archived session display"})]})]})})}),e.jsx("div",{className:"relative max-w-4xl mx-auto px-6 py-4 border-b border-border/20",children:e.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:["row","grid","compact","mini","timeline"].map(r=>e.jsx("button",{onClick:()=>n(r),className:`
|
|
2
|
+
px-3 py-1.5 rounded-sm text-xs font-display font-bold uppercase tracking-wider
|
|
3
|
+
transition-all duration-100
|
|
4
|
+
${s===r?"bg-rose-500/20 text-rose-400 border border-rose-500/30":"text-muted-foreground hover:text-foreground border border-transparent hover:border-border/30"}
|
|
5
|
+
`,children:r},r))})}),e.jsxs("main",{className:"relative max-w-4xl mx-auto px-6 py-8",children:[s==="row"&&e.jsx("div",{className:"space-y-2 max-w-2xl",children:d.map(r=>e.jsx(f,{session:r,onRestore:t},r.sessionId))}),s==="grid"&&e.jsx("div",{className:"grid gap-3 grid-cols-1 sm:grid-cols-2",children:d.map(r=>e.jsx(b,{session:r,onRestore:t},r.sessionId))}),s==="compact"&&e.jsx("div",{className:"max-w-2xl border border-border/20 rounded-md divide-y divide-border/10",children:d.map(r=>e.jsx(j,{session:r,onRestore:t},r.sessionId))}),s==="mini"&&e.jsx("div",{className:"grid gap-2 grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",children:d.map(r=>e.jsx(v,{session:r,onRestore:t},r.sessionId))}),s==="timeline"&&e.jsx("div",{className:"max-w-xl ml-4",children:d.map(r=>e.jsx(N,{session:r,onRestore:t},r.sessionId))})]})]})}export{y as ArchivedCardPrototype,y as default};
|