chat-transient-status-still-retries.json 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. {
  2. "name": "chat-transient-status-still-retries",
  3. "description": "The same 404 from the same endpoint, through OpenAI's node. OpenAI's error documentation lists 400, 401 and 403 as the refusals - not 404 - so this one keeps its retries and reports attempts 3. The pair is the point: the status is identical and the correct behaviour differs, which is why the policy is per provider and not shared.",
  4. "credentials": [
  5. {
  6. "key": "fake",
  7. "name": "zz test: openai transient status",
  8. "type": "api_key",
  9. "data": {
  10. "keyValue": "not-a-real-key",
  11. "headerName": "Authorization",
  12. "valuePrefix": "Bearer "
  13. }
  14. }
  15. ],
  16. "nodes": [
  17. {
  18. "id": "n1",
  19. "name": "Trigger",
  20. "type": "click-trigger",
  21. "position": {
  22. "x": 0,
  23. "y": 0
  24. },
  25. "config": {}
  26. },
  27. {
  28. "id": "n2",
  29. "name": "Refused",
  30. "type": "openai-chat",
  31. "position": {
  32. "x": 0,
  33. "y": 100
  34. },
  35. "config": {
  36. "credentialId": "{{credential:fake}}",
  37. "baseUrl": "{{API}}/api/v1",
  38. "model": "gpt-4o-mini",
  39. "userPrompt": "hello",
  40. "retryCount": 2,
  41. "retryDelayMs": 100,
  42. "skipOnError": true,
  43. "timeoutMs": 15000
  44. }
  45. }
  46. ],
  47. "connections": [
  48. {
  49. "sourceNodeId": "n1",
  50. "sourceOutput": "main",
  51. "targetNodeId": "n2",
  52. "targetInput": "data"
  53. }
  54. ],
  55. "expect": {
  56. "n2": {
  57. "status": "completed",
  58. "output": {
  59. "success": false,
  60. "attempts": 3
  61. }
  62. }
  63. }
  64. }