Files
insta-recipe/test-output.log
Giancarmine Salucci 67ab3c02d7 chore(RECIPE-0004): complete iteration 1 — fix TypeScript Timer type errors
- Fixed NodeJS.Timer → NodeJS.Timeout in scheduler.ts line 13
- Fixed NodeJS.Timer[] → NodeJS.Timeout[] in fixtures.ts line 151
- Resolves TypeScript compile errors from iteration 0 review
- All 260 tests passing, build succeeds with no errors
2026-02-17 03:08:21 +01:00

901 lines
68 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
The following Vite config options will be overridden by SvelteKit:
- base
 RUN  v4.0.14 /home/moze/Sources/insta-recipe
The following Vite config options will be overridden by SvelteKit:
- base
✓  server  src/tests/sse-extraction.spec.ts (7 tests) 5ms
✓  server  src/tests/scheduler.integration.spec.ts (10 tests) 7ms
✓  server  src/tests/thumbnail-validation.spec.ts (31 tests) 11ms
✓  server  src/tests/extraction-url-validation.integration.spec.ts (17 tests) 6ms
✓  server  src/tests/favicon.spec.ts (5 tests) 8ms
✓  server  src/tests/icon-512.test.ts (7 tests) 9ms
✓  server  src/tests/favicon-ico.spec.ts (3 tests) 6ms
✓  server  src/tests/instagram-url-validation.spec.ts (22 tests) 5ms
✓  server  src/tests/logger.spec.ts (13 tests) 11ms
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: true when model is found
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: true when model is found
[LLM] Model available: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: false with message when model not found
[LLM] Checking model availability: missing-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should return available: false with message when model not found
[LLM] Model not found: missing-model
[LLM] Available models: gpt-4o, llama2
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should handle API errors gracefully
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should handle API errors gracefully
[LLM] Model availability check failed API connection failed
Stack: Error: API connection failed
at /home/moze/Sources/insta-recipe/src/lib/server/llm.spec.ts:63:36
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:12)
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Model available: test-model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Checking model availability: TEST-MODEL
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should match models by exact ID (case-sensitive)
[LLM] Model not found: TEST-MODEL
[LLM] Available models: test-model, Test-Model
stdout | src/lib/server/llm.spec.ts > checkModelAvailability > should handle empty model list
[LLM] Checking model availability: any-model
[LLM] Initializing client...
[LLM] Base URL: http://localhost:1234/v1
[LLM] Model: test-model
stderr | src/lib/server/llm.spec.ts > checkModelAvailability > should handle empty model list
[LLM] Model not found: any-model
[LLM] Available models:
✓  server  src/lib/server/llm.spec.ts (5 tests) 8ms
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on health check failure
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on health check failure
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
stdout | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > should use logError when auth renewal fails
[Scheduler] Scheduler is not running
stderr | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > logError should properly serialize error objects
[Scheduler] Instagram authentication renewal failed Test renewal failure
Stack: Error stack trace here
stderr | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > logError should handle complex error objects
[Scheduler] Instagram authentication renewal failed {
"code": "AUTH_FAILED",
"message": "Session expired",
"details": {
"timestamp": 1771285716731,
"authPath": "/app/secrets/auth.json"
}
}
stderr | src/tests/scheduler-logging.spec.ts > scheduler.ts logging > logged errors should not contain [object Object]
[Scheduler] Test error message Test error
Stack: Error: Test error
at /home/moze/Sources/insta-recipe/src/tests/scheduler-logging.spec.ts:75:17
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:12)
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should use default interval when AUTH_SCHEDULER_INTERVAL_MINUTES is not set
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should use default interval when AUTH_SCHEDULER_INTERVAL_MINUTES is not set
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse custom interval minutes from environment
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse custom interval minutes from environment
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should disable scheduler when AUTH_SCHEDULER_ENABLED is not true
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should disable scheduler when AUTH_SCHEDULER_ENABLED is not true
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse AUTH_SCHEDULER_ENABLED as true when set to "true"
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Configuration > should parse AUTH_SCHEDULER_ENABLED as true when set to "true"
[Scheduler] Scheduler is not running
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on model availability check failure
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should use logError on model availability check failure
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should not log [object Object] for errors
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should not log [object Object] for errors
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
stdout | src/tests/llm-logging.spec.ts > llm.ts logging > should serialize error details properly
[LLM] Checking model availability: test-model
[LLM] Initializing client...
[LLM] Base URL: http://192.168.1.10:1234/v1
[LLM] Model: google/gemma-3-4b
stderr | src/tests/llm-logging.spec.ts > llm.ts logging > should serialize error details properly
[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
✓  server  src/tests/scheduler-logging.spec.ts (4 tests) 43ms
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start when disabled
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start when disabled
[Scheduler] Authentication scheduler is disabled (set AUTH_SCHEDULER_ENABLED=true to enable)
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start when disabled
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should start when enabled
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should start when enabled
[Scheduler] Starting authentication scheduler with 720min interval
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should start when enabled
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Starting authentication scheduler with 720min interval
stderr | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Scheduler is already running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should not start twice
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Starting authentication scheduler with 720min interval
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should stop the scheduler
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should handle stopping when not running
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should handle stopping when not running
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Scheduler Lifecycle > should handle stopping when not running
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should return scheduler status with default values
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should return scheduler status with default values
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should report running state correctly
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should report running state correctly
[Scheduler] Starting authentication scheduler with 720min interval
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should report running state correctly
[Scheduler] Stopping authentication scheduler...
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should track configuration
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Status Reporting > should track configuration
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should skip renewal if no auth.json exists
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should skip renewal if no auth.json exists
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should prevent concurrent renewal attempts
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Auth Renewal > should prevent concurrent renewal attempts
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Environment Variables > should handle empty AUTH_SCHEDULER_INTERVAL_MINUTES with default
[Scheduler] Scheduler is not running
stdout | src/tests/scheduler.spec.ts > Scheduler Service > Environment Variables > should handle empty AUTH_SCHEDULER_INTERVAL_MINUTES with default
[Scheduler] Scheduler is not running
  server  src/tests/llm-logging.spec.ts (4 tests | 3 failed) 18ms
 × should use logError on health check failure 10ms
 × should use logError on model availability check failure 3ms
✓ should not log [object Object] for errors 2ms
 × should serialize error details properly 2ms
✓  server  src/tests/scheduler.spec.ts (15 tests) 13ms
stderr | src/tests/queue-manager.spec.ts > QueueManager > subscribe > should handle subscriber errors gracefully
[QueueManager] Subscriber error Subscriber error
Stack: Error: Subscriber error
at /home/moze/Sources/insta-recipe/src/tests/queue-manager.spec.ts:325:15
at Mock (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/spy/dist/index.js:280:34)
at QueueManager.notifySubscribers (/home/moze/Sources/insta-recipe/src/lib/server/queue/QueueManager.ts:429:9)
at QueueManager.enqueue (/home/moze/Sources/insta-recipe/src/lib/server/queue/QueueManager.ts:83:10)
at /home/moze/Sources/insta-recipe/src/tests/queue-manager.spec.ts:333:22
at Proxy.assertThrows (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:2798:5)
at Proxy.methodWrapper (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:1700:25)
at Proxy.<anonymous> (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/expect/dist/index.js:1149:12)
at Proxy.overwritingMethodWrapper (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:1750:33)
at Proxy.<anonymous> (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/expect/dist/index.js:1485:16)
✓  server  src/tests/queue-manager-logging.spec.ts (4 tests) 8ms
✓  server  src/demo.spec.ts (1 test) 2ms
✓  server  src/tests/queue-manager.spec.ts (28 tests) 18ms
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should have VAPID public key configured
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] Subscribing client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'success', itemId: 'test-123', body: 'Test notification' }
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] ✓ Sent notification to https://push.example.com/test...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with web-push
[PushService] ✓ Sent notification to client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Subscribing client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'error', itemId: 'test', body: 'Test' }
stderr | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] Subscription expired: https://push.example.com/expired...
stderr | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle subscription expiration (410)
[PushService] ✗ Failed to send to client client-1: Error: Subscription expired
at PushNotificationService.sendToSubscription (/home/moze/Sources/insta-recipe/src/lib/server/notifications/PushNotificationService.ts:142:15)
 at processTicksAndRejections (node:internal/process/task_queues:103:5)
at PushNotificationService.sendNotification (/home/moze/Sources/insta-recipe/src/lib/server/notifications/PushNotificationService.ts:106:9)
at /home/moze/Sources/insta-recipe/src/tests/push-notification-service.spec.ts:76:5
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] Subscribing client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'progress', itemId: 'test-456', body: 'Progress update' }
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] ✓ Sent notification to https://push.example.com/test-ttl...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should send notification with TTL of 24 hours
[PushService] ✓ Sent notification to client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] Subscribing client client-3
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: {
type: 'success',
itemId: 'test-789',
body: 'JSON test',
recipeName: 'Test Recipe'
}
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] ✓ Sent notification to https://push.example.com/test-json...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should serialize notification data as JSON
[PushService] ✓ Sent notification to client client-3
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Subscribing client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Subscribing client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] Sending notification to 2 subscribers
[PushService] Notification payload: {
type: 'success',
itemId: 'test-multi',
body: 'Multi-subscriber test'
}
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to https://push.example.com/client1...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to client client-1
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to https://push.example.com/client2...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should handle multiple subscriptions
[PushService] ✓ Sent notification to client client-2
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] Clearing all subscriptions
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] Subscribing client client-privacy
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] Sending notification to 1 subscribers
[PushService] Notification payload: { type: 'success', itemId: 'test-privacy', body: 'Privacy test' }
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] ✓ Sent notification to https://push.example.com/very-long-endpoint-with-s...
stdout | src/tests/push-notification-service.spec.ts > PushNotificationService web-push integration > should log endpoint prefix only (privacy)
[PushService] ✓ Sent notification to client client-privacy
✓  server  src/tests/push-notification-service.spec.ts (7 tests) 15ms
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should send test success notification
[NotificationTestAPI] Sent test success notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should send test error notification
[NotificationTestAPI] Sent test error notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should send test progress notification
[NotificationTestAPI] Sent test progress notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should return subscriber count in response
[NotificationTestAPI] Sent test success notification
stderr | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should handle sendNotification errors
[NotificationTestAPI] Error sending test notification: Push service error
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should generate unique itemId for each request
[NotificationTestAPI] Sent test success notification
stdout | src/tests/notification-test-api.spec.ts > POST /api/notifications/test > should generate unique itemId for each request
[NotificationTestAPI] Sent test success notification
✓  server  src/tests/notification-test-api.spec.ts (8 tests) 35ms
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > detectRecipe should use logError on failure
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 9
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > detectRecipe should use logError on failure
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > parseRecipe should use logError on failure
[LLM] Starting recipe parsing...
[LLM] Model: test-model
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > parseRecipe should use logError on failure
[LLM] Recipe parsing error LLM parse error
Stack: Error: LLM parse error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > should not log stack trace separately
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 4
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > should not log stack trace separately
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 9
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Starting recipe parsing...
[LLM] Model: test-model
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > logs should not contain [object Object]
[LLM] Recipe parsing error LLM parse error
Stack: Error: LLM parse error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > logError should serialize error properly
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 4
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > logError should serialize error properly
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should return SSE response with correct headers
[SSE] Stream started
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Starting recipe detection...
[LLM] Model: test-model
[LLM] Text length: 9
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Recipe detection error LLM detection error
Stack: Error: LLM detection error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Starting recipe parsing...
[LLM] Model: test-model
stderr | src/tests/parser-logging.spec.ts > parser.ts logging > both detectRecipe and parseRecipe should use logError
[LLM] Recipe parsing error LLM parse error
Stack: Error: LLM parse error
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should accept valid status filter
[SSE] Stream started
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should accept valid item ID filter
[SSE] Stream started
✓  server  src/tests/parser-logging.spec.ts (6 tests) 17ms
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should handle stream initialization without errors
[SSE] Stream started
stdout | src/tests/queue-sse.spec.ts > Queue SSE Stream Endpoint > GET /api/queue/stream > should handle stream initialization without errors
[SSE] Client disconnected (abort signal)
[SSE] Cleaning up stream connection
✓  server  src/tests/queue-sse.spec.ts (6 tests) 29ms
✓  server  src/tests/error-handler-logging.spec.ts (7 tests) 29ms
stdout | src/tests/queue-processor.spec.ts
[QueueProcessor] Started with concurrency 2
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] New item enqueued: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce, triggering processing
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Starting item 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce (1/2 active)
[QueueProcessor] Processing https://instagram.com/p/test-tandoor
[QueueProcessor] Extracting: https://instagram.com/p/test-tandoor
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Extraction complete: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Parsing recipe: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Parsing complete: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce - Test Recipe
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Uploading to Tandoor: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Recipe uploaded: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce → Tandoor #123
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] ✓ Success: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
[PushService] No subscriptions, skipping notification
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should process item through all phases when Tandoor is configured
[QueueProcessor] Finished item 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce (0/2 active)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject HTTP (non-HTTPS) URLs
[API Error] Instagram URL must use HTTPS protocol
Stack: ValidationError: Instagram URL must use HTTPS protocol
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:127:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject invalid Instagram URL formats
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject invalid Instagram URL formats
[API Error] Invalid URL format
Stack: ValidationError: Invalid URL format
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject invalid Instagram URL formats
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-Instagram domains
[API Error] URL must be from instagram.com domain
Stack: ValidationError: URL must be from instagram.com domain
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject missing URL
[API Error] URL is required and must be a string
Stack: ValidationError: URL is required and must be a string
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:44:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:208:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue > should reject non-JSON body
[API Error] Invalid JSON in request body
Stack: ValidationError: Invalid JSON in request body
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:32:13)
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:228:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Invalid status filter. Must be one of: pending, in_progress, success, unhealthy, error
Stack: ValidationError: Invalid status filter. Must be one of: pending, in_progress, success, unhealthy, error
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:114:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:321:30
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Limit must be a positive integer
Stack: ValidationError: Limit must be a positive integer
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:93:15)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:334:30
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Offset must be a non-negative integer
Stack: ValidationError: Offset must be a non-negative integer
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:106:15)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:347:30
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue > should validate query parameters
[API Error] Limit cannot exceed 200
Stack: ValidationError: Limit cannot exceed 200
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:96:15)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:360:30
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue/[id] > should return 404 for non-existent ID
[API Error] Queue item not found
Stack: NotFoundError: Queue item not found
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:40:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:390:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > GET /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:33:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:404:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue/[id]/retry > should reject retry for non-retryable statuses
[API Error] Cannot retry item with status 'pending'. Only 'error' and 'unhealthy' items can be retried.
Stack: ConflictError: Cannot retry item with status 'pending'. Only 'error' and 'unhealthy' items can be retried.
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/retry/+server.ts:46:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:482:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > POST /api/queue/[id]/retry > should return 404 for non-existent item
[API Error] Queue item not found
Stack: NotFoundError: Queue item not found
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/retry/+server.ts:41:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:502:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should return 404 for non-existent item
[API Error] Queue item not found
Stack: NotFoundError: Queue item not found
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:76:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:549:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should return 409 for in-progress items
[API Error] Cannot delete item that is currently being processed
Stack: ConflictError: Cannot delete item that is currently being processed
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:81:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:572:32
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
stderr | src/tests/queue-api.spec.ts > Queue API Endpoints > DELETE /api/queue/[id] > should validate ID format
[API Error] Invalid queue item ID format
Stack: ValidationError: Invalid queue item ID format
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
at processTicksAndRejections (node:internal/process/task_queues:103:5)
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
✓  server  src/tests/queue-api.spec.ts (26 tests) 57ms
  server  src/tests/queue-processor-logging.spec.ts (4 tests | 4 failed) 6ms
 × should use logError for processing errors 4ms
 × should use logError for push notification failures 1ms
 × error logs should be properly serialized (no [object Object]) 0ms
 × should distinguish between recoverable and non-recoverable errors 0ms
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] New item enqueued: a36691d9-5b93-44cd-bd1a-dbccce51beb0, triggering processing
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Starting item a36691d9-5b93-44cd-bd1a-dbccce51beb0 (1/2 active)
[QueueProcessor] Processing https://instagram.com/p/no-tandoor
[QueueProcessor] Extracting: https://instagram.com/p/no-tandoor
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] ✓ Extraction complete: a36691d9-5b93-44cd-bd1a-dbccce51beb0
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Parsing recipe: a36691d9-5b93-44cd-bd1a-dbccce51beb0
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] ✓ Parsing complete: a36691d9-5b93-44cd-bd1a-dbccce51beb0 - No Tandoor Recipe
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Tandoor not configured, skipping: a36691d9-5b93-44cd-bd1a-dbccce51beb0
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] ✓ Success: a36691d9-5b93-44cd-bd1a-dbccce51beb0
[PushService] No subscriptions, skipping notification
stdout | src/tests/queue-processor.spec.ts > QueueProcessor Integration Tests > should skip Tandoor upload when not configured
[QueueProcessor] Finished item a36691d9-5b93-44cd-bd1a-dbccce51beb0 (0/2 active)
✓  client (chromium)  src/routes/page.svelte.spec.ts (1 test) 19ms