@juspay/shooter 1.9.3 → 1.10.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.
Files changed (99) hide show
  1. package/build/client/_app/immutable/chunks/{Woyb7K_R.js → BFXEYMV8.js} +1 -1
  2. package/build/client/_app/immutable/chunks/BFXEYMV8.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/BFXEYMV8.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{Dl_UrWML.js → CmtInjm0.js} +1 -1
  5. package/build/client/_app/immutable/chunks/CmtInjm0.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/{Dl_UrWML.js.gz → CmtInjm0.js.gz} +0 -0
  7. package/build/client/_app/immutable/chunks/{heMtFUOe.js → DfKeHoAm.js} +1 -1
  8. package/build/client/_app/immutable/chunks/DfKeHoAm.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/DfKeHoAm.js.gz +0 -0
  10. package/build/client/_app/immutable/entry/{app.yF5DyySX.js → app.Dp9YhfEg.js} +2 -2
  11. package/build/client/_app/immutable/entry/app.Dp9YhfEg.js.br +0 -0
  12. package/build/client/_app/immutable/entry/app.Dp9YhfEg.js.gz +0 -0
  13. package/build/client/_app/immutable/entry/start.Bc5yZsyK.js +1 -0
  14. package/build/client/_app/immutable/entry/start.Bc5yZsyK.js.br +2 -0
  15. package/build/client/_app/immutable/entry/start.Bc5yZsyK.js.gz +0 -0
  16. package/build/client/_app/immutable/nodes/{0.B8ldaXrw.js → 0.B-M6sgow.js} +1 -1
  17. package/build/client/_app/immutable/nodes/0.B-M6sgow.js.br +0 -0
  18. package/build/client/_app/immutable/nodes/0.B-M6sgow.js.gz +0 -0
  19. package/build/client/_app/immutable/nodes/{1.BaQFc0zK.js → 1.C8aY7Yn3.js} +1 -1
  20. package/build/client/_app/immutable/nodes/1.C8aY7Yn3.js.br +0 -0
  21. package/build/client/_app/immutable/nodes/1.C8aY7Yn3.js.gz +0 -0
  22. package/build/client/_app/immutable/nodes/{2.DzMPM9CG.js → 2.YJZruh1H.js} +1 -1
  23. package/build/client/_app/immutable/nodes/2.YJZruh1H.js.br +0 -0
  24. package/build/client/_app/immutable/nodes/2.YJZruh1H.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/{3.Bj2gzFb0.js → 3.VV-tRemY.js} +1 -1
  26. package/build/client/_app/immutable/nodes/3.VV-tRemY.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/3.VV-tRemY.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{6.YxEM6HVV.js → 6.CDJA8Na9.js} +1 -1
  29. package/build/client/_app/immutable/nodes/6.CDJA8Na9.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/6.CDJA8Na9.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{7.CYSmE4eH.js → 7.BX9znBYU.js} +1 -1
  32. package/build/client/_app/immutable/nodes/7.BX9znBYU.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/7.BX9znBYU.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{8.BiyoREYq.js → 8.CmdrNdfj.js} +1 -1
  35. package/build/client/_app/immutable/nodes/8.CmdrNdfj.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/8.CmdrNdfj.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{9.DetO0mOw.js → 9.BSleOtKF.js} +1 -1
  38. package/build/client/_app/immutable/nodes/9.BSleOtKF.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/9.BSleOtKF.js.gz +0 -0
  40. package/build/client/_app/version.json +1 -1
  41. package/build/client/_app/version.json.br +0 -0
  42. package/build/client/_app/version.json.gz +0 -0
  43. package/build/server/chunks/{0-B2E6heaO.js → 0-vSdphvn2.js} +2 -2
  44. package/build/server/chunks/{0-B2E6heaO.js.map → 0-vSdphvn2.js.map} +1 -1
  45. package/build/server/chunks/{1-G_9ph7fY.js → 1-B5tn1ob0.js} +2 -2
  46. package/build/server/chunks/{1-G_9ph7fY.js.map → 1-B5tn1ob0.js.map} +1 -1
  47. package/build/server/chunks/{2-Bn0siTxF.js → 2-CUbzGnZ8.js} +2 -2
  48. package/build/server/chunks/{2-Bn0siTxF.js.map → 2-CUbzGnZ8.js.map} +1 -1
  49. package/build/server/chunks/{3-Ckkb4IvB.js → 3-BR90tKg7.js} +2 -2
  50. package/build/server/chunks/{3-Ckkb4IvB.js.map → 3-BR90tKg7.js.map} +1 -1
  51. package/build/server/chunks/{6-BBZkhy6X.js → 6-cW7umWCt.js} +2 -2
  52. package/build/server/chunks/{6-BBZkhy6X.js.map → 6-cW7umWCt.js.map} +1 -1
  53. package/build/server/chunks/{7-BCSmnzEz.js → 7-D3cb9T2g.js} +2 -2
  54. package/build/server/chunks/{7-BCSmnzEz.js.map → 7-D3cb9T2g.js.map} +1 -1
  55. package/build/server/chunks/{8-D1orKzaf.js → 8-BEgZo4wA.js} +2 -2
  56. package/build/server/chunks/{8-D1orKzaf.js.map → 8-BEgZo4wA.js.map} +1 -1
  57. package/build/server/chunks/{9-BpBG1IO-.js → 9-Dy8aTTtf.js} +2 -2
  58. package/build/server/chunks/{9-BpBG1IO-.js.map → 9-Dy8aTTtf.js.map} +1 -1
  59. package/build/server/chunks/{_server.ts-DkPPTUPo.js → _server.ts-BBLuxvp6.js} +5 -2
  60. package/build/server/chunks/{_server.ts-DkPPTUPo.js.map → _server.ts-BBLuxvp6.js.map} +1 -1
  61. package/build/server/chunks/{_server.ts-BMcbwZ2r.js → _server.ts-HGYjOWF2.js} +3 -2
  62. package/build/server/chunks/{_server.ts-BMcbwZ2r.js.map → _server.ts-HGYjOWF2.js.map} +1 -1
  63. package/build/server/chunks/pending-requests-B-JNGxpk.js +96 -0
  64. package/build/server/chunks/pending-requests-B-JNGxpk.js.map +1 -0
  65. package/build/server/index.js +1 -1
  66. package/build/server/index.js.map +1 -1
  67. package/build/server/manifest.js +11 -11
  68. package/build/server/manifest.js.map +1 -1
  69. package/package.json +2 -2
  70. package/src/lib/modules/server/apn/notification-history.ts +3 -2
  71. package/src/lib/modules/server/apn/pending-requests.ts +115 -27
  72. package/build/client/_app/immutable/chunks/Dl_UrWML.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/Woyb7K_R.js.br +0 -0
  74. package/build/client/_app/immutable/chunks/Woyb7K_R.js.gz +0 -0
  75. package/build/client/_app/immutable/chunks/heMtFUOe.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/heMtFUOe.js.gz +0 -0
  77. package/build/client/_app/immutable/entry/app.yF5DyySX.js.br +0 -0
  78. package/build/client/_app/immutable/entry/app.yF5DyySX.js.gz +0 -0
  79. package/build/client/_app/immutable/entry/start.qT_T2NM7.js +0 -1
  80. package/build/client/_app/immutable/entry/start.qT_T2NM7.js.br +0 -2
  81. package/build/client/_app/immutable/entry/start.qT_T2NM7.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/0.B8ldaXrw.js.br +0 -0
  83. package/build/client/_app/immutable/nodes/0.B8ldaXrw.js.gz +0 -0
  84. package/build/client/_app/immutable/nodes/1.BaQFc0zK.js.br +0 -0
  85. package/build/client/_app/immutable/nodes/1.BaQFc0zK.js.gz +0 -0
  86. package/build/client/_app/immutable/nodes/2.DzMPM9CG.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/2.DzMPM9CG.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/3.Bj2gzFb0.js.br +0 -0
  89. package/build/client/_app/immutable/nodes/3.Bj2gzFb0.js.gz +0 -0
  90. package/build/client/_app/immutable/nodes/6.YxEM6HVV.js.br +0 -0
  91. package/build/client/_app/immutable/nodes/6.YxEM6HVV.js.gz +0 -0
  92. package/build/client/_app/immutable/nodes/7.CYSmE4eH.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/7.CYSmE4eH.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/8.BiyoREYq.js.br +0 -0
  95. package/build/client/_app/immutable/nodes/8.BiyoREYq.js.gz +0 -0
  96. package/build/client/_app/immutable/nodes/9.DetO0mOw.js.br +0 -0
  97. package/build/client/_app/immutable/nodes/9.DetO0mOw.js.gz +0 -0
  98. package/build/server/chunks/pending-requests-D8UiTw7L.js +0 -44
  99. package/build/server/chunks/pending-requests-D8UiTw7L.js.map +0 -1
@@ -10,18 +10,18 @@ return {
10
10
  assets: new Set(["app-icon.png","apple-touch-icon.png","favicon.png","favicon.svg","manifest.json","pwa-192x192.png","pwa-512x512.png"]),
11
11
  mimeTypes: {".png":"image/png",".svg":"image/svg+xml",".json":"application/json"},
12
12
  _: {
13
- client: {start:"_app/immutable/entry/start.qT_T2NM7.js",app:"_app/immutable/entry/app.yF5DyySX.js",imports:["_app/immutable/entry/start.qT_T2NM7.js","_app/immutable/chunks/Woyb7K_R.js","_app/immutable/chunks/DYuMZGL5.js","_app/immutable/entry/app.yF5DyySX.js","_app/immutable/chunks/PPVm8Dsz.js","_app/immutable/chunks/DYuMZGL5.js","_app/immutable/chunks/Cg3dlX05.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
13
+ client: {start:"_app/immutable/entry/start.Bc5yZsyK.js",app:"_app/immutable/entry/app.Dp9YhfEg.js",imports:["_app/immutable/entry/start.Bc5yZsyK.js","_app/immutable/chunks/BFXEYMV8.js","_app/immutable/chunks/DYuMZGL5.js","_app/immutable/entry/app.Dp9YhfEg.js","_app/immutable/chunks/PPVm8Dsz.js","_app/immutable/chunks/DYuMZGL5.js","_app/immutable/chunks/Cg3dlX05.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
14
14
  nodes: [
15
- __memo(() => import('./chunks/0-B2E6heaO.js')),
16
- __memo(() => import('./chunks/1-G_9ph7fY.js')),
17
- __memo(() => import('./chunks/2-Bn0siTxF.js')),
18
- __memo(() => import('./chunks/3-Ckkb4IvB.js')),
15
+ __memo(() => import('./chunks/0-vSdphvn2.js')),
16
+ __memo(() => import('./chunks/1-B5tn1ob0.js')),
17
+ __memo(() => import('./chunks/2-CUbzGnZ8.js')),
18
+ __memo(() => import('./chunks/3-BR90tKg7.js')),
19
19
  __memo(() => import('./chunks/4-CbejE1SC.js')),
20
20
  __memo(() => import('./chunks/5-BwqumuR1.js')),
21
- __memo(() => import('./chunks/6-BBZkhy6X.js')),
22
- __memo(() => import('./chunks/7-BCSmnzEz.js')),
23
- __memo(() => import('./chunks/8-D1orKzaf.js')),
24
- __memo(() => import('./chunks/9-BpBG1IO-.js'))
21
+ __memo(() => import('./chunks/6-cW7umWCt.js')),
22
+ __memo(() => import('./chunks/7-D3cb9T2g.js')),
23
+ __memo(() => import('./chunks/8-BEgZo4wA.js')),
24
+ __memo(() => import('./chunks/9-Dy8aTTtf.js'))
25
25
  ],
26
26
  remotes: {
27
27
 
@@ -74,7 +74,7 @@ return {
74
74
  pattern: /^\/api\/notify\/?$/,
75
75
  params: [],
76
76
  page: null,
77
- endpoint: __memo(() => import('./chunks/_server.ts-BMcbwZ2r.js'))
77
+ endpoint: __memo(() => import('./chunks/_server.ts-HGYjOWF2.js'))
78
78
  },
79
79
  {
80
80
  id: "/api/qr-config",
@@ -88,7 +88,7 @@ return {
88
88
  pattern: /^\/api\/response\/?$/,
89
89
  params: [],
90
90
  page: null,
91
- endpoint: __memo(() => import('./chunks/_server.ts-DkPPTUPo.js'))
91
+ endpoint: __memo(() => import('./chunks/_server.ts-BBLuxvp6.js'))
92
92
  },
93
93
  {
94
94
  id: "/api/sessions",
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"app-icon.png\",\"apple-touch-icon.png\",\"favicon.png\",\"favicon.svg\",\"manifest.json\",\"pwa-192x192.png\",\"pwa-512x512.png\"]),\n\tmimeTypes: {\".png\":\"image/png\",\".svg\":\"image/svg+xml\",\".json\":\"application/json\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.qT_T2NM7.js\",app:\"_app/immutable/entry/app.yF5DyySX.js\",imports:[\"_app/immutable/entry/start.qT_T2NM7.js\",\"_app/immutable/chunks/Woyb7K_R.js\",\"_app/immutable/chunks/DYuMZGL5.js\",\"_app/immutable/entry/app.yF5DyySX.js\",\"_app/immutable/chunks/PPVm8Dsz.js\",\"_app/immutable/chunks/DYuMZGL5.js\",\"_app/immutable/chunks/Cg3dlX05.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js')),\n\t\t\t__memo(() => import('./nodes/8.js')),\n\t\t\t__memo(() => import('./nodes/9.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/activity\",\n\t\t\t\tpattern: /^\\/activity\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/debug\",\n\t\t\t\tpattern: /^\\/api\\/debug\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/debug/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/device-token\",\n\t\t\t\tpattern: /^\\/api\\/device-token\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/device-token/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/health\",\n\t\t\t\tpattern: /^\\/api\\/health\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/health/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/neurolink-proxy\",\n\t\t\t\tpattern: /^\\/api\\/neurolink-proxy\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/neurolink-proxy/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/notify\",\n\t\t\t\tpattern: /^\\/api\\/notify\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/notify/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/qr-config\",\n\t\t\t\tpattern: /^\\/api\\/qr-config\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/qr-config/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/response\",\n\t\t\t\tpattern: /^\\/api\\/response\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/response/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions/connect\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/connect\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/connect/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions/detect\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/detect\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/detect/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]/paste-image\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/paste-image\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/paste-image/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]/resize\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/resize\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/resize/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/webhook\",\n\t\t\t\tpattern: /^\\/api\\/webhook\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/webhook/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/ws-status\",\n\t\t\t\tpattern: /^\\/api\\/ws-status\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/ws-status/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/ws-ticket\",\n\t\t\t\tpattern: /^\\/api\\/ws-ticket\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/ws-ticket/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/config\",\n\t\t\t\tpattern: /^\\/config\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/neurolink\",\n\t\t\t\tpattern: /^\\/neurolink\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/project\",\n\t\t\t\tpattern: /^\\/project\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/session/[id]\",\n\t\t\t\tpattern: /^\\/session\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/terminals\",\n\t\t\t\tpattern: /^\\/terminals\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 8 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/terminals/[id]\",\n\t\t\t\tpattern: /^\\/terminals\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 9 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"app-icon.png\",\"apple-touch-icon.png\",\"favicon.png\",\"favicon.svg\",\"manifest.json\",\"pwa-192x192.png\",\"pwa-512x512.png\"]),\n\tmimeTypes: {\".png\":\"image/png\",\".svg\":\"image/svg+xml\",\".json\":\"application/json\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.Bc5yZsyK.js\",app:\"_app/immutable/entry/app.Dp9YhfEg.js\",imports:[\"_app/immutable/entry/start.Bc5yZsyK.js\",\"_app/immutable/chunks/BFXEYMV8.js\",\"_app/immutable/chunks/DYuMZGL5.js\",\"_app/immutable/entry/app.Dp9YhfEg.js\",\"_app/immutable/chunks/PPVm8Dsz.js\",\"_app/immutable/chunks/DYuMZGL5.js\",\"_app/immutable/chunks/Cg3dlX05.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js')),\n\t\t\t__memo(() => import('./nodes/8.js')),\n\t\t\t__memo(() => import('./nodes/9.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/activity\",\n\t\t\t\tpattern: /^\\/activity\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/debug\",\n\t\t\t\tpattern: /^\\/api\\/debug\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/debug/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/device-token\",\n\t\t\t\tpattern: /^\\/api\\/device-token\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/device-token/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/health\",\n\t\t\t\tpattern: /^\\/api\\/health\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/health/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/neurolink-proxy\",\n\t\t\t\tpattern: /^\\/api\\/neurolink-proxy\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/neurolink-proxy/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/notify\",\n\t\t\t\tpattern: /^\\/api\\/notify\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/notify/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/qr-config\",\n\t\t\t\tpattern: /^\\/api\\/qr-config\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/qr-config/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/response\",\n\t\t\t\tpattern: /^\\/api\\/response\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/response/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions/connect\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/connect\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/connect/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions/detect\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/detect\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/detect/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]/paste-image\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/paste-image\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/paste-image/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]/resize\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/resize\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/resize/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/webhook\",\n\t\t\t\tpattern: /^\\/api\\/webhook\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/webhook/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/ws-status\",\n\t\t\t\tpattern: /^\\/api\\/ws-status\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/ws-status/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/ws-ticket\",\n\t\t\t\tpattern: /^\\/api\\/ws-ticket\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/ws-ticket/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/config\",\n\t\t\t\tpattern: /^\\/config\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/neurolink\",\n\t\t\t\tpattern: /^\\/neurolink\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/project\",\n\t\t\t\tpattern: /^\\/project\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/session/[id]\",\n\t\t\t\tpattern: /^\\/session\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/terminals\",\n\t\t\t\tpattern: /^\\/terminals\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 8 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/terminals/[id]\",\n\t\t\t\tpattern: /^\\/terminals\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 9 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juspay/shooter",
3
- "version": "1.9.3",
3
+ "version": "1.10.0",
4
4
  "description": "Bidirectional communication server for Claude Code and iOS — push notifications, remote terminal, session viewing",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.28.2",
@@ -76,7 +76,7 @@
76
76
  "format:generated": "prettier --write ./src/lib/types/generated/*",
77
77
  "quality:all": "pnpm run lint && pnpm run format:check && pnpm run check",
78
78
  "gen:types": "npx type-crafter generate typescript-with-decoders ./specs/types/index.yaml ./src/lib/types/generated SingleFile SingleFile && bash scripts/postgen-types.sh && pnpm run format:generated",
79
- "test": "node tests/terminal-store.test.cjs",
79
+ "test": "node tests/terminal-store.test.cjs && node tests/pending-requests.test.cjs",
80
80
  "setup": "node scripts/setup.cjs",
81
81
  "prepare": "husky || true",
82
82
  "prepublishOnly": "pnpm build"
@@ -1,5 +1,6 @@
1
- // In-memory notification history store.
2
- // Same pattern as pending-requests.ts suitable for single-instance deployments.
1
+ // In-memory notification history store — bounded ring buffer of recent
2
+ // pushes for the /api/notify GET endpoint. Intentionally not persisted:
3
+ // history is a debug/observability aid, not a source of truth.
3
4
 
4
5
  export type { NotificationRecord } from '$lib/types';
5
6
  import type { NotificationRecord } from '$lib/types';
@@ -1,21 +1,121 @@
1
- // Shared in-memory store for pending permission requests.
2
- // Used by /api/notify (creates entries) and /api/response (reads/updates).
1
+ /**
2
+ * Pending Permission Requests Store SQLite persistence.
3
+ *
4
+ * Persists in-flight permission requests so they survive server
5
+ * restarts. Used by `/api/notify` (creates entries) and `/api/response`
6
+ * (reads/updates decisions). notifier.cjs polls `/api/response` via
7
+ * HTTP, so persisting the row is sufficient — there are no in-process
8
+ * callbacks that need recovery.
9
+ *
10
+ * Database location: `~/.shooter/shooter.db` (shared with terminal-store).
11
+ */
3
12
 
4
13
  import type { PendingRequest } from '$lib/types';
5
14
 
15
+ import Database from 'better-sqlite3';
16
+ import * as fs from 'fs';
17
+ import * as path from 'path';
18
+
6
19
  export type { PendingRequest };
7
20
 
8
- const MAX_AGE_MS = 5 * 60 * 1000; // 5 minutes
21
+ const MAX_AGE_MS = 5 * 60 * 1000;
9
22
 
10
- const pendingRequests = new Map<string, PendingRequest>();
23
+ const DB_DIR = path.join(process.env.HOME || '', '.shooter');
24
+ const DB_PATH = path.join(DB_DIR, 'shooter.db');
11
25
 
12
- export function cleanup(maxAgeMs: number = MAX_AGE_MS): void {
13
- const now = Date.now();
14
- for (const [id, entry] of pendingRequests.entries()) {
15
- if (now - entry.createdAt > maxAgeMs) {
16
- pendingRequests.delete(id);
26
+ export class PendingRequestsStore {
27
+ private db: Database.Database;
28
+
29
+ constructor() {
30
+ fs.mkdirSync(DB_DIR, { recursive: true });
31
+ this.db = new Database(DB_PATH);
32
+ this.db.pragma('journal_mode = WAL');
33
+ this.db.exec(`
34
+ CREATE TABLE IF NOT EXISTS pending_requests (
35
+ request_id TEXT PRIMARY KEY,
36
+ session_id TEXT NOT NULL,
37
+ tool_name TEXT NOT NULL,
38
+ tool_input TEXT NOT NULL DEFAULT '{}',
39
+ decision TEXT,
40
+ created_at INTEGER NOT NULL,
41
+ decided_at INTEGER
42
+ )
43
+ `);
44
+ }
45
+
46
+ cleanup(maxAgeMs: number): number {
47
+ const cutoff = Date.now() - maxAgeMs;
48
+ const result = this.db.prepare('DELETE FROM pending_requests WHERE created_at < ?').run(cutoff);
49
+ return result.changes;
50
+ }
51
+
52
+ delete(requestId: string): void {
53
+ this.db.prepare('DELETE FROM pending_requests WHERE request_id = ?').run(requestId);
54
+ }
55
+
56
+ get(requestId: string): null | PendingRequest {
57
+ const row = this.db
58
+ .prepare('SELECT * FROM pending_requests WHERE request_id = ?')
59
+ .get(requestId) as Record<string, unknown> | undefined;
60
+ return row ? rowToRecord(row) : null;
61
+ }
62
+
63
+ insert(
64
+ requestId: string,
65
+ data: { sessionId: string; toolInput: Record<string, unknown>; toolName: string }
66
+ ): void {
67
+ // INSERT OR REPLACE matches the old Map.set semantics: a second
68
+ // create with the same requestId silently overwrites instead of
69
+ // erroring on UNIQUE constraint.
70
+ this.db
71
+ .prepare(
72
+ `INSERT OR REPLACE INTO pending_requests
73
+ (request_id, session_id, tool_name, tool_input, decision, created_at, decided_at)
74
+ VALUES (?, ?, ?, ?, NULL, ?, NULL)`
75
+ )
76
+ .run(requestId, data.sessionId, data.toolName, JSON.stringify(data.toolInput), Date.now());
77
+ }
78
+
79
+ setDecision(requestId: string, decision: 'allow' | 'deny'): boolean {
80
+ const result = this.db
81
+ .prepare('UPDATE pending_requests SET decision = ?, decided_at = ? WHERE request_id = ?')
82
+ .run(decision, Date.now(), requestId);
83
+ return result.changes > 0;
84
+ }
85
+ }
86
+
87
+ function rowToRecord(row: Record<string, unknown>): PendingRequest {
88
+ let toolInput: Record<string, unknown> = {};
89
+ if (typeof row.tool_input === 'string' && row.tool_input.length > 0) {
90
+ try {
91
+ const parsed: unknown = JSON.parse(row.tool_input);
92
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
93
+ toolInput = parsed as Record<string, unknown>;
94
+ }
95
+ } catch {
96
+ // Corrupt JSON — fall back to empty.
17
97
  }
18
98
  }
99
+ return {
100
+ createdAt: row.created_at as number,
101
+ decidedAt: (row.decided_at as null | number) ?? null,
102
+ decision: (row.decision as null | PendingRequest['decision']) ?? null,
103
+ sessionId: row.session_id as string,
104
+ toolInput,
105
+ toolName: row.tool_name as string,
106
+ };
107
+ }
108
+
109
+ // Singleton via globalThis (matches terminal-store.ts pattern so SvelteKit's
110
+ // module loaders don't accidentally produce multiple instances).
111
+ const PR_GLOBAL_KEY = '__shooter_pending_requests_store';
112
+ const pendingRequestsStore: PendingRequestsStore =
113
+ ((globalThis as Record<string, unknown>)[PR_GLOBAL_KEY] as PendingRequestsStore) ||
114
+ new PendingRequestsStore();
115
+ (globalThis as Record<string, unknown>)[PR_GLOBAL_KEY] = pendingRequestsStore;
116
+
117
+ export function cleanup(maxAgeMs: number = MAX_AGE_MS): void {
118
+ pendingRequestsStore.cleanup(maxAgeMs);
19
119
  }
20
120
 
21
121
  export function createPendingRequest(
@@ -23,38 +123,26 @@ export function createPendingRequest(
23
123
  data: { sessionId: string; toolInput: Record<string, unknown>; toolName: string }
24
124
  ): void {
25
125
  cleanup();
26
- pendingRequests.set(requestId, {
27
- createdAt: Date.now(),
28
- decidedAt: null,
29
- decision: null,
30
- sessionId: data.sessionId,
31
- toolInput: data.toolInput,
32
- toolName: data.toolName,
33
- });
126
+ pendingRequestsStore.insert(requestId, data);
34
127
  }
35
128
 
36
129
  export function getDecision(requestId: string): {
37
130
  decision?: 'allow' | 'deny';
38
131
  status: 'decided' | 'not_found' | 'pending';
39
132
  } {
40
- const entry = pendingRequests.get(requestId);
133
+ const entry = pendingRequestsStore.get(requestId);
41
134
  if (!entry) {
42
135
  return { status: 'not_found' };
43
136
  }
44
137
  if (entry.decision) {
45
- // Clean up after reading a decided response
46
- pendingRequests.delete(requestId);
138
+ // Match the old in-memory behavior: delete on first decided read so
139
+ // the polling client only ever sees the decision once.
140
+ pendingRequestsStore.delete(requestId);
47
141
  return { decision: entry.decision, status: 'decided' };
48
142
  }
49
143
  return { status: 'pending' };
50
144
  }
51
145
 
52
146
  export function setDecision(requestId: string, decision: 'allow' | 'deny'): boolean {
53
- const entry = pendingRequests.get(requestId);
54
- if (!entry) {
55
- return false;
56
- }
57
- entry.decision = decision;
58
- entry.decidedAt = Date.now();
59
- return true;
147
+ return pendingRequestsStore.setDecision(requestId, decision);
60
148
  }
@@ -1 +0,0 @@
1
- import{l as o,a as r}from"../chunks/Woyb7K_R.js";export{o as load_css,r as start};
@@ -1,2 +0,0 @@
1
- )�import{l as o,a as r}from"../chunks/Woyb7K_R.js";export{o as load_css,r as start};
2
- 
@@ -1,44 +0,0 @@
1
- const MAX_AGE_MS = 5 * 60 * 1e3;
2
- const pendingRequests = /* @__PURE__ */ new Map();
3
- function cleanup(maxAgeMs = MAX_AGE_MS) {
4
- const now = Date.now();
5
- for (const [id, entry] of pendingRequests.entries()) {
6
- if (now - entry.createdAt > maxAgeMs) {
7
- pendingRequests.delete(id);
8
- }
9
- }
10
- }
11
- function createPendingRequest(requestId, data) {
12
- cleanup();
13
- pendingRequests.set(requestId, {
14
- createdAt: Date.now(),
15
- decidedAt: null,
16
- decision: null,
17
- sessionId: data.sessionId,
18
- toolInput: data.toolInput,
19
- toolName: data.toolName
20
- });
21
- }
22
- function getDecision(requestId) {
23
- const entry = pendingRequests.get(requestId);
24
- if (!entry) {
25
- return { status: "not_found" };
26
- }
27
- if (entry.decision) {
28
- pendingRequests.delete(requestId);
29
- return { decision: entry.decision, status: "decided" };
30
- }
31
- return { status: "pending" };
32
- }
33
- function setDecision(requestId, decision) {
34
- const entry = pendingRequests.get(requestId);
35
- if (!entry) {
36
- return false;
37
- }
38
- entry.decision = decision;
39
- entry.decidedAt = Date.now();
40
- return true;
41
- }
42
-
43
- export { cleanup as a, createPendingRequest as c, getDecision as g, setDecision as s };
44
- //# sourceMappingURL=pending-requests-D8UiTw7L.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pending-requests-D8UiTw7L.js","sources":["../../../.svelte-kit/adapter-node/chunks/pending-requests.js"],"sourcesContent":["const MAX_AGE_MS = 5 * 60 * 1e3;\nconst pendingRequests = /* @__PURE__ */ new Map();\nfunction cleanup(maxAgeMs = MAX_AGE_MS) {\n const now = Date.now();\n for (const [id, entry] of pendingRequests.entries()) {\n if (now - entry.createdAt > maxAgeMs) {\n pendingRequests.delete(id);\n }\n }\n}\nfunction createPendingRequest(requestId, data) {\n cleanup();\n pendingRequests.set(requestId, {\n createdAt: Date.now(),\n decidedAt: null,\n decision: null,\n sessionId: data.sessionId,\n toolInput: data.toolInput,\n toolName: data.toolName\n });\n}\nfunction getDecision(requestId) {\n const entry = pendingRequests.get(requestId);\n if (!entry) {\n return { status: \"not_found\" };\n }\n if (entry.decision) {\n pendingRequests.delete(requestId);\n return { decision: entry.decision, status: \"decided\" };\n }\n return { status: \"pending\" };\n}\nfunction setDecision(requestId, decision) {\n const entry = pendingRequests.get(requestId);\n if (!entry) {\n return false;\n }\n entry.decision = decision;\n entry.decidedAt = Date.now();\n return true;\n}\nexport {\n cleanup as a,\n createPendingRequest as c,\n getDecision as g,\n setDecision as s\n};\n"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG;AAC/B,MAAM,eAAe,mBAAmB,IAAI,GAAG,EAAE;AACjD,SAAS,OAAO,CAAC,QAAQ,GAAG,UAAU,EAAE;AACxC,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AACxB,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE;AACvD,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,QAAQ,EAAE;AAC1C,MAAM,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;AAChC,IAAI;AACJ,EAAE;AACF;AACA,SAAS,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE;AAC/C,EAAE,OAAO,EAAE;AACX,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE;AACjC,IAAI,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACzB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,SAAS,EAAE,IAAI,CAAC,SAAS;AAC7B,IAAI,SAAS,EAAE,IAAI,CAAC,SAAS;AAC7B,IAAI,QAAQ,EAAE,IAAI,CAAC;AACnB,GAAG,CAAC;AACJ;AACA,SAAS,WAAW,CAAC,SAAS,EAAE;AAChC,EAAE,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;AAC9C,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE;AAClC,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;AACtB,IAAI,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC;AACrC,IAAI,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE;AAC1D,EAAE;AACF,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE;AAC9B;AACA,SAAS,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE;AAC1C,EAAE,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;AAC9C,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ;AAC3B,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;AAC9B,EAAE,OAAO,IAAI;AACb;;;;"}