gemi 0.4.123 → 0.4.124

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 (124) hide show
  1. package/dist/app/App.d.ts.map +1 -1
  2. package/dist/app/index.js +2 -2
  3. package/dist/app/index.js.map +3 -3
  4. package/dist/bin/index.js +7 -3
  5. package/dist/broadcasting/index.js +1 -1
  6. package/dist/chunk-1we4kcb2.js +3 -0
  7. package/dist/chunk-1we4kcb2.js.map +23 -0
  8. package/dist/{chunk-35bsy26w.js → chunk-2c4nwgcj.js} +2 -2
  9. package/dist/{chunk-35bsy26w.js.map → chunk-2c4nwgcj.js.map} +1 -1
  10. package/dist/{chunk-3kfagvr7.js → chunk-34x1c2ey.js} +2 -2
  11. package/dist/{chunk-3kfagvr7.js.map → chunk-34x1c2ey.js.map} +1 -1
  12. package/dist/{chunk-s9b02cxr.js → chunk-39kxd828.js} +2 -2
  13. package/dist/{chunk-s9b02cxr.js.map → chunk-39kxd828.js.map} +1 -1
  14. package/dist/chunk-3ynep2h9.js +4 -0
  15. package/dist/{chunk-ktwy9nyn.js.map → chunk-3ynep2h9.js.map} +1 -1
  16. package/dist/{chunk-qtw719ea.js → chunk-5bsvn385.js} +2 -2
  17. package/dist/{chunk-qtw719ea.js.map → chunk-5bsvn385.js.map} +1 -1
  18. package/dist/{chunk-td079vg9.js → chunk-6wj5qxwf.js} +2 -2
  19. package/dist/{chunk-td079vg9.js.map → chunk-6wj5qxwf.js.map} +1 -1
  20. package/dist/{chunk-fn8t5a77.js → chunk-8vjfr0mp.js} +3 -3
  21. package/dist/{chunk-fn8t5a77.js.map → chunk-8vjfr0mp.js.map} +1 -1
  22. package/dist/chunk-93r4rez6.js +4 -0
  23. package/dist/{chunk-rnrwx4ge.js.map → chunk-93r4rez6.js.map} +1 -1
  24. package/dist/{chunk-nv02r6kq.js → chunk-9vb54d71.js} +2 -2
  25. package/dist/{chunk-nv02r6kq.js.map → chunk-9vb54d71.js.map} +1 -1
  26. package/dist/{chunk-1vk09mag.js → chunk-9xeqzq5a.js} +2 -2
  27. package/dist/{chunk-1vk09mag.js.map → chunk-9xeqzq5a.js.map} +1 -1
  28. package/dist/{chunk-84my1sg8.js → chunk-cw23pjra.js} +2 -2
  29. package/dist/{chunk-84my1sg8.js.map → chunk-cw23pjra.js.map} +1 -1
  30. package/dist/{chunk-jkce121q.js → chunk-d7hn6b85.js} +3 -3
  31. package/dist/{chunk-jkce121q.js.map → chunk-d7hn6b85.js.map} +1 -1
  32. package/dist/chunk-dq276gmc.js +4 -0
  33. package/dist/{chunk-dtkvdcf6.js.map → chunk-dq276gmc.js.map} +2 -2
  34. package/dist/chunk-g290rywa.js +5 -0
  35. package/dist/chunk-g290rywa.js.map +65 -0
  36. package/dist/{chunk-5pasfeez.js → chunk-g31vhvsw.js} +2 -2
  37. package/dist/{chunk-5pasfeez.js.map → chunk-g31vhvsw.js.map} +1 -1
  38. package/dist/{chunk-015evbr0.js → chunk-gz4h6jsy.js} +3 -3
  39. package/dist/{chunk-015evbr0.js.map → chunk-gz4h6jsy.js.map} +1 -1
  40. package/dist/chunk-hddz9z7a.js +11 -0
  41. package/dist/{chunk-ecdp9eb5.js.map → chunk-hddz9z7a.js.map} +5 -5
  42. package/dist/chunk-j618jvh4.js +4 -0
  43. package/dist/{chunk-m5rpyfje.js.map → chunk-j618jvh4.js.map} +2 -2
  44. package/dist/chunk-k4rg25z3.js +4 -0
  45. package/dist/chunk-k4rg25z3.js.map +16 -0
  46. package/dist/{chunk-tgfy71hb.js → chunk-kqyj62v4.js} +2 -2
  47. package/dist/{chunk-tgfy71hb.js.map → chunk-kqyj62v4.js.map} +1 -1
  48. package/dist/chunk-ksckhxbt.js +4 -0
  49. package/dist/{chunk-shjzs36s.js.map → chunk-ksckhxbt.js.map} +6 -6
  50. package/dist/chunk-m1838202.js +20 -0
  51. package/dist/{chunk-n1z7v689.js.map → chunk-m1838202.js.map} +22 -6
  52. package/dist/chunk-m7wq4g1v.js +4 -0
  53. package/dist/{chunk-6wm81mqc.js.map → chunk-m7wq4g1v.js.map} +6 -6
  54. package/dist/chunk-t6cspqr4.js +4 -0
  55. package/dist/{chunk-vtffgrjq.js.map → chunk-t6cspqr4.js.map} +5 -5
  56. package/dist/chunk-wrm0pxh2.js +4 -0
  57. package/dist/chunk-wrm0pxh2.js.map +14 -0
  58. package/dist/{chunk-dv8t6w0e.js → chunk-ycz2czq7.js} +2 -2
  59. package/dist/{chunk-dv8t6w0e.js.map → chunk-ycz2czq7.js.map} +1 -1
  60. package/dist/client/WebsocketContext.d.ts.map +1 -1
  61. package/dist/client/index.js +2 -0
  62. package/dist/client/index.js.map +1 -1
  63. package/dist/email/index.js +2 -2
  64. package/dist/email/index.js.map +1 -1
  65. package/dist/facades/Broadcast.d.ts +1 -1
  66. package/dist/facades/FileStorage.d.ts +1 -0
  67. package/dist/facades/FileStorage.d.ts.map +1 -1
  68. package/dist/facades/Log.d.ts +11 -0
  69. package/dist/facades/Log.d.ts.map +1 -0
  70. package/dist/facades/index.d.ts +1 -0
  71. package/dist/facades/index.d.ts.map +1 -1
  72. package/dist/facades/index.js +2 -2
  73. package/dist/facades/index.js.map +11 -8
  74. package/dist/http/index.js +2 -2
  75. package/dist/http/index.js.map +1 -1
  76. package/dist/kernel/Kernel.d.ts +2 -0
  77. package/dist/kernel/Kernel.d.ts.map +1 -1
  78. package/dist/kernel/index.js +2 -2
  79. package/dist/kernel/index.js.map +3 -3
  80. package/dist/server/index.js +4 -4
  81. package/dist/server/index.js.map +3 -3
  82. package/dist/services/file-storage/drivers/FileStorageDriver.d.ts +1 -0
  83. package/dist/services/file-storage/drivers/FileStorageDriver.d.ts.map +1 -1
  84. package/dist/services/file-storage/drivers/FileSystemDriver.d.ts +1 -0
  85. package/dist/services/file-storage/drivers/FileSystemDriver.d.ts.map +1 -1
  86. package/dist/services/file-storage/drivers/S3Driver.d.ts +1 -0
  87. package/dist/services/file-storage/drivers/S3Driver.d.ts.map +1 -1
  88. package/dist/services/index.d.ts +2 -0
  89. package/dist/services/index.d.ts.map +1 -1
  90. package/dist/services/index.js +3 -3
  91. package/dist/services/index.js.map +10 -8
  92. package/dist/services/logging/LoggingRouter.d.ts +7 -0
  93. package/dist/services/logging/LoggingRouter.d.ts.map +1 -0
  94. package/dist/services/logging/LoggingServiceContainer.d.ts +22 -0
  95. package/dist/services/logging/LoggingServiceContainer.d.ts.map +1 -0
  96. package/dist/services/logging/LoggingServiceProvider.d.ts +9 -0
  97. package/dist/services/logging/LoggingServiceProvider.d.ts.map +1 -0
  98. package/dist/services/logging/types.d.ts +9 -0
  99. package/dist/services/logging/types.d.ts.map +1 -0
  100. package/dist/services/pubsub/BroadcastingServiceContainer.d.ts.map +1 -1
  101. package/dist/services/router/ApiRouterServiceContainer.d.ts.map +1 -1
  102. package/dist/services/router/ApiRouterServiceProvider.d.ts +4 -0
  103. package/dist/services/router/ApiRouterServiceProvider.d.ts.map +1 -1
  104. package/dist/services/router/ViewRouterServiceContainer.d.ts.map +1 -1
  105. package/dist/services/router/ViewRouterServiceProvider.d.ts +4 -0
  106. package/dist/services/router/ViewRouterServiceProvider.d.ts.map +1 -1
  107. package/package.json +1 -1
  108. package/dist/chunk-6wm81mqc.js +0 -4
  109. package/dist/chunk-dbetpx84.js +0 -4
  110. package/dist/chunk-dbetpx84.js.map +0 -14
  111. package/dist/chunk-dszn71te.js +0 -4
  112. package/dist/chunk-dszn71te.js.map +0 -14
  113. package/dist/chunk-dtkvdcf6.js +0 -4
  114. package/dist/chunk-ecdp9eb5.js +0 -11
  115. package/dist/chunk-ktwy9nyn.js +0 -4
  116. package/dist/chunk-m5rpyfje.js +0 -4
  117. package/dist/chunk-n1z7v689.js +0 -20
  118. package/dist/chunk-r0c1108h.js +0 -4
  119. package/dist/chunk-r0c1108h.js.map +0 -16
  120. package/dist/chunk-rnrwx4ge.js +0 -4
  121. package/dist/chunk-shjzs36s.js +0 -4
  122. package/dist/chunk-ty763847.js +0 -5
  123. package/dist/chunk-ty763847.js.map +0 -73
  124. package/dist/chunk-vtffgrjq.js +0 -4
@@ -0,0 +1,7 @@
1
+ import { ApiRouter } from "../../http";
2
+ export declare class LoggingRouter extends ApiRouter {
3
+ routes: {
4
+ "/live": import("../../http/ApiRouter").RouteHandler<"GET", unknown, Response, unknown>;
5
+ };
6
+ }
7
+ //# sourceMappingURL=LoggingRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggingRouter.d.ts","sourceRoot":"","sources":["../../../services/logging/LoggingRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,qBAAa,aAAc,SAAQ,SAAS;IAC1C,MAAM;;MASJ;CACH"}
@@ -0,0 +1,22 @@
1
+ import { ServiceContainer } from "../ServiceContainer";
2
+ import { LoggingServiceProvider } from "./LoggingServiceProvider";
3
+ import type { FileSink } from "bun";
4
+ import type { LogLevel } from "./types";
5
+ export declare class LoggingServiceContainer extends ServiceContainer {
6
+ service: LoggingServiceProvider;
7
+ _name: string;
8
+ writer: FileSink;
9
+ isReady: boolean;
10
+ private logsDirPath;
11
+ private flushTimeout;
12
+ private fileSize;
13
+ private writerSize;
14
+ private isCreatingFile;
15
+ currentLogFilePath: string;
16
+ constructor(service: LoggingServiceProvider);
17
+ boot(): Promise<void>;
18
+ newLogFile(): Promise<void>;
19
+ log(level: LogLevel, message: string, metadata?: Record<string, any>): Promise<void>;
20
+ tryFlush(): Promise<void>;
21
+ }
22
+ //# sourceMappingURL=LoggingServiceContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggingServiceContainer.d.ts","sourceRoot":"","sources":["../../../services/logging/LoggingServiceContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAGpC,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,SAAS,CAAC;AAElD,qBAAa,uBAAwB,SAAQ,gBAAgB;IAaxC,OAAO,EAAE,sBAAsB;IAZlD,KAAK,SAA6B;IAElC,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,OAAO,CAAS;IAEzB,OAAO,CAAC,WAAW,CAAkD;IACrE,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAkB;IACjC,kBAAkB,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,sBAAsB;IAO5C,IAAI;IAUJ,UAAU;IA6CV,GAAG,CACP,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAgD9B,QAAQ;CAkBf"}
@@ -0,0 +1,9 @@
1
+ import { ServiceProvider } from "../ServiceProvider";
2
+ import type { LogEntry } from "./types";
3
+ export declare class LoggingServiceProvider extends ServiceProvider {
4
+ maxFileSize: number;
5
+ boot(): void;
6
+ onLogFileClosed(_file: File): void | Promise<void>;
7
+ onLogCreated(_logEntry: LogEntry): void | Promise<void>;
8
+ }
9
+ //# sourceMappingURL=LoggingServiceProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggingServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/logging/LoggingServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,sBAAuB,SAAQ,eAAe;IACzD,WAAW,SAAoB;IAE/B,IAAI;IAEJ,eAAe,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAElD,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CACxD"}
@@ -0,0 +1,9 @@
1
+ export type LogLevel = "debug" | "info" | "notice" | "warning" | "error" | "critical" | "alert" | "emergency";
2
+ export type LogEntry = {
3
+ message: string;
4
+ env: string;
5
+ level: LogLevel;
6
+ timestamp: string;
7
+ metadata: Record<string, unknown>;
8
+ };
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../services/logging/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,MAAM,GACN,QAAQ,GACR,SAAS,GACT,OAAO,GACP,UAAU,GACV,OAAO,GACP,WAAW,CAAC;AAEhB,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BroadcastingServiceContainer.d.ts","sourceRoot":"","sources":["../../../services/pubsub/BroadcastingServiceContainer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,KAAK,eAAe,GAAG,CAAC,GAAG,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;AAEtD,qBAAa,4BAA6B,SAAQ,gBAAgB;IAS7C,OAAO,EAAE,2BAA2B;IARvD,MAAM,CAAC,KAAK,SAAkC;IAE9C,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO;iBACI,OAAO;iBACP,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;OACzB;gBAEc,OAAO,EAAE,2BAA2B;IAIvD,SAAS,CAAC,EAAE,EAAE,eAAe;IAI7B,OAAO,CAAC,GAAG,IAAI,EAAE,WAAW;IAKtB,aAAa,CACjB,EAAE,EAAE,eAAe,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,EACzC,OAAO,EAAE,MAAM,GAAG,MAAM;IAgC1B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY;CAYvC"}
1
+ {"version":3,"file":"BroadcastingServiceContainer.d.ts","sourceRoot":"","sources":["../../../services/pubsub/BroadcastingServiceContainer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,KAAK,eAAe,GAAG,CAAC,GAAG,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;AAEtD,qBAAa,4BAA6B,SAAQ,gBAAgB;IAS7C,OAAO,EAAE,2BAA2B;IARvD,MAAM,CAAC,KAAK,SAAkC;IAE9C,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO;iBACI,OAAO;iBACP,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;OACzB;gBAEc,OAAO,EAAE,2BAA2B;IAIvD,SAAS,CAAC,EAAE,EAAE,eAAe;IAI7B,OAAO,CAAC,GAAG,IAAI,EAAE,WAAW;IAKtB,aAAa,CACjB,EAAE,EAAE,eAAe,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,EACzC,OAAO,EAAE,MAAM,GAAG,MAAM;IAiC1B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY;CAYvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApiRouterServiceContainer.d.ts","sourceRoot":"","sources":["../../../services/router/ApiRouterServiceContainer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEhF,qBAAa,yBAA0B,SAAQ,gBAAgB;IAK1C,OAAO,EAAE,wBAAwB;IAJpD,MAAM,CAAC,KAAK,SAA+B;IAE3C,UAAU,EAAE,aAAa,CAAM;gBAEZ,OAAO,EAAE,wBAAwB;IAS7C,wBAAwB,CAAC,GAAG,EAAE,OAAO;;;;IAuBtC,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAyB/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA+BxC,gBAAgB,CAAC,GAAG,EAAE,OAAO;CAsDpC"}
1
+ {"version":3,"file":"ApiRouterServiceContainer.d.ts","sourceRoot":"","sources":["../../../services/router/ApiRouterServiceContainer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEhF,qBAAa,yBAA0B,SAAQ,gBAAgB;IAK1C,OAAO,EAAE,wBAAwB;IAJpD,MAAM,CAAC,KAAK,SAA+B;IAE3C,UAAU,EAAE,aAAa,CAAM;gBAEZ,OAAO,EAAE,wBAAwB;IAU7C,wBAAwB,CAAC,GAAG,EAAE,OAAO;;;;IAuBtC,kBAAkB,CAAC,IAAI,EAAE,MAAM;IA0B/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgCxC,gBAAgB,CAAC,GAAG,EAAE,OAAO;CA4DpC"}
@@ -1,7 +1,11 @@
1
+ import { HttpRequest } from "../../http";
1
2
  import type { ApiRouter } from "../../http/ApiRouter";
2
3
  import { ServiceProvider } from "../ServiceProvider";
3
4
  export declare class ApiRouterServiceProvider extends ServiceProvider {
4
5
  rootRouter: new () => ApiRouter;
5
6
  boot(): string;
7
+ onRequestStart(_req: HttpRequest): void | Promise<void>;
8
+ onRequestEnd(_req: HttpRequest): void | Promise<void>;
9
+ onRequestFail(_req: HttpRequest, error: any): void | Promise<void>;
6
10
  }
7
11
  //# sourceMappingURL=ApiRouterServiceProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiRouterServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/router/ApiRouterServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,UAAU,EAAE,UAAU,SAAS,CAAC;IAEhC,IAAI;CAGL"}
1
+ {"version":3,"file":"ApiRouterServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/router/ApiRouterServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,UAAU,EAAE,UAAU,SAAS,CAAC;IAEhC,IAAI;IAIJ,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACvD,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACrD,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CACnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewRouterServiceContainer.d.ts","sourceRoot":"","sources":["../../../services/router/ViewRouterServiceContainer.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,cAAc,EAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAOxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,qBAAa,0BAA2B,SAAQ,gBAAgB;IAS3C,OAAO,EAAE,yBAAyB;IARrD,MAAM,CAAC,KAAK,SAAgC;IAE5C,cAAc,EAAE,cAAc,CAAM;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAC7C,aAAa,EAAE,aAAa,CAAM;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,IAAI,EAAE,GAAG,CAAQ;gBAEE,OAAO,EAAE,yBAAyB;IAarD,IAAI;IAEE,iBAAiB,CAAC,GAAG,EAAE,OAAO,gCAwLZ;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC;QACd,aAAa,EAAE,GAAG,CAAC;QACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;KACjB;CAwBJ"}
1
+ {"version":3,"file":"ViewRouterServiceContainer.d.ts","sourceRoot":"","sources":["../../../services/router/ViewRouterServiceContainer.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,cAAc,EAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAOxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,qBAAa,0BAA2B,SAAQ,gBAAgB;IAS3C,OAAO,EAAE,yBAAyB;IARrD,MAAM,CAAC,KAAK,SAAgC;IAE5C,cAAc,EAAE,cAAc,CAAM;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAC7C,aAAa,EAAE,aAAa,CAAM;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,IAAI,EAAE,GAAG,CAAQ;gBAEE,OAAO,EAAE,yBAAyB;IAarD,IAAI;IAEE,iBAAiB,CAAC,GAAG,EAAE,OAAO,gCA+LZ;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC;QACd,aAAa,EAAE,GAAG,CAAC;QACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;KACjB;CAyBJ"}
@@ -1,8 +1,12 @@
1
+ import { HttpRequest } from "../../http";
1
2
  import type { ViewRouter } from "../../http/ViewRouter";
2
3
  import { ServiceProvider } from "../ServiceProvider";
3
4
  export declare class ViewRouterServiceProvider extends ServiceProvider {
4
5
  root: (props: any) => JSX.Element;
5
6
  rootRouter: new () => ViewRouter;
6
7
  boot(): void;
8
+ onRequestStart(_req: HttpRequest): void | Promise<void>;
9
+ onRequestEnd(_req: HttpRequest): void | Promise<void>;
10
+ onRequestFail(_req: HttpRequest, _error: any): void | Promise<void>;
7
11
  }
8
12
  //# sourceMappingURL=ViewRouterServiceProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewRouterServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/router/ViewRouterServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,yBAA0B,SAAQ,eAAe;IAC5D,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC;IAClC,UAAU,EAAE,UAAU,UAAU,CAAC;IAEjC,IAAI;CACL"}
1
+ {"version":3,"file":"ViewRouterServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/router/ViewRouterServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,yBAA0B,SAAQ,eAAe;IAC5D,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC;IAClC,UAAU,EAAE,UAAU,UAAU,CAAC;IAEjC,IAAI;IAEJ,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACvD,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACrD,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CACpE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemi",
3
- "version": "0.4.123",
3
+ "version": "0.4.124",
4
4
  "devDependencies": {
5
5
  "@babel/parser": "^7.25.4",
6
6
  "@repo/eslint-config": "*",
@@ -1,4 +0,0 @@
1
- // @bun
2
- import{I as C}from"./chunk-td079vg9.js";import{Lb as N}from"./chunk-dbetpx84.js";import"./chunk-fn8t5a77.js";import{Pb as i,Qb as f}from"./chunk-5pasfeez.js";var k=C(N(),1);var F=(e)=>e&&(typeof e.sso_start_url==="string"||typeof e.sso_account_id==="string"||typeof e.sso_session==="string"||typeof e.sso_region==="string"||typeof e.sso_role_name==="string");var d=C(N(),1);var L=300000,u="To refresh this SSO session run 'aws sso login' with the corresponding profile.";var I={},M=async(e)=>{const{SSOOIDCClient:r}=await import("./chunk-3kfagvr7.js");if(I[e])return I[e];const s=new r({region:e});return I[e]=s,s};var H=async(e,r)=>{const{CreateTokenCommand:s}=await import("./chunk-3kfagvr7.js");return(await M(r)).send(new s({clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:e.refreshToken,grantType:"refresh_token"}))};var v=(e)=>{if(e.expiration&&e.expiration.getTime()<Date.now())throw new f(`Token is expired. ${u}`,!1)};var m=(e,r,s=!1)=>{if(typeof r==="undefined")throw new f(`Value not present for '${e}' in SSO Token${s?". Cannot refresh":""}. ${u}`,!1)};var K=C(N(),1);import{promises as j}from"fs";var{writeFile:X}=j,b=(e,r)=>{const s=K.getSSOTokenFilepath(e),t=JSON.stringify(r,null,2);return X(s,t)};var G=new Date(0),U=(e={})=>async()=>{e.logger?.debug("@aws-sdk/token-providers - fromSso");const r=await d.parseKnownFiles(e),s=d.getProfileName(e),t=r[s];if(!t)throw new f(`Profile '${s}' could not be found in shared credentials file.`,!1);else if(!t.sso_session)throw new f(`Profile '${s}' is missing required property 'sso_session'.`);const a=t.sso_session,c=(await d.loadSsoSessionData(e))[a];if(!c)throw new f(`Sso session '${a}' could not be found in shared credentials file.`,!1);for(let n of["sso_start_url","sso_region"])if(!c[n])throw new f(`Sso session '${a}' is missing required property '${n}'.`,!1);const{sso_start_url:p,sso_region:S}=c;let o;try{o=await d.getSSOTokenFromFile(a)}catch(n){throw new f(`The SSO session token associated with profile=${s} was not found or is invalid. ${u}`,!1)}m("accessToken",o.accessToken),m("expiresAt",o.expiresAt);const{accessToken:y,expiresAt:T}=o,l={token:y,expiration:new Date(T)};if(l.expiration.getTime()-Date.now()>L)return l;if(Date.now()-G.getTime()<30000)return v(l),l;m("clientId",o.clientId,!0),m("clientSecret",o.clientSecret,!0),m("refreshToken",o.refreshToken,!0);try{G.setTime(Date.now());const n=await H(o,S);m("accessToken",n.accessToken),m("expiresIn",n.expiresIn);const _=new Date(Date.now()+n.expiresIn*1000);try{await b(a,{...o,accessToken:n.accessToken,expiresAt:_.toISOString(),refreshToken:n.refreshToken})}catch(E){}return{token:n.accessToken,expiration:_}}catch(n){return v(l),l}};var q=C(N(),1),O=!1,P=async({ssoStartUrl:e,ssoSession:r,ssoAccountId:s,ssoRegion:t,ssoRoleName:a,ssoClient:w,clientConfig:c,profile:p,logger:S})=>{let o;const y="To refresh this SSO session run aws sso login with the corresponding profile.";if(r)try{const h=await U({profile:p})();o={accessToken:h.token,expiresAt:new Date(h.expiration).toISOString()}}catch(h){throw new i(h.message,{tryNextLink:O,logger:S})}else try{o=await q.getSSOTokenFromFile(e)}catch(h){throw new i("The SSO session associated with this profile is invalid. To refresh this SSO session run aws sso login with the corresponding profile.",{tryNextLink:O,logger:S})}if(new Date(o.expiresAt).getTime()-Date.now()<=0)throw new i("The SSO session associated with this profile has expired. To refresh this SSO session run aws sso login with the corresponding profile.",{tryNextLink:O,logger:S});const{accessToken:T}=o,{SSOClient:l,GetRoleCredentialsCommand:n}=await import("./chunk-m5rpyfje.js"),_=w||new l(Object.assign({},c??{},{region:c?.region??t}));let E;try{E=await _.send(new n({accountId:s,roleName:a,accessToken:T}))}catch(h){throw new i(h,{tryNextLink:O,logger:S})}const{roleCredentials:{accessKeyId:g,secretAccessKey:x,sessionToken:R,expiration:D,credentialScope:A,accountId:$}={}}=E;if(!g||!x||!R||!D)throw new i("SSO returns an invalid temporary credential.",{tryNextLink:O,logger:S});return{accessKeyId:g,secretAccessKey:x,sessionToken:R,expiration:new Date(D),...A&&{credentialScope:A},...$&&{accountId:$}}};var W=(e,r)=>{const{sso_start_url:s,sso_account_id:t,sso_region:a,sso_role_name:w}=e;if(!s||!t||!a||!w)throw new i(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(e).join(", ")}\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`,{tryNextLink:!1,logger:r});return e};var xe=(e={})=>async()=>{e.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO");const{ssoStartUrl:r,ssoAccountId:s,ssoRegion:t,ssoRoleName:a,ssoSession:w}=e,{ssoClient:c}=e,p=k.getProfileName(e);if(!r&&!s&&!t&&!a&&!w){const o=(await k.parseKnownFiles(e))[p];if(!o)throw new i(`Profile ${p} was not found.`,{logger:e.logger});if(!F(o))throw new i(`Profile ${p} is not configured with SSO credentials.`,{logger:e.logger});if(o?.sso_session){const g=(await k.loadSsoSessionData(e))[o.sso_session],x=` configurations in profile ${p} and sso-session ${o.sso_session}`;if(t&&t!==g.sso_region)throw new i("Conflicting SSO region"+x,{tryNextLink:!1,logger:e.logger});if(r&&r!==g.sso_start_url)throw new i("Conflicting SSO start_url"+x,{tryNextLink:!1,logger:e.logger});o.sso_region=g.sso_region,o.sso_start_url=g.sso_start_url}const{sso_start_url:y,sso_account_id:T,sso_region:l,sso_role_name:n,sso_session:_}=W(o,e.logger);return P({ssoStartUrl:y,ssoSession:_,ssoAccountId:T,ssoRegion:l,ssoRoleName:n,ssoClient:c,clientConfig:e.clientConfig,profile:p})}else if(!r||!s||!t||!a)throw new i('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"',{tryNextLink:!1,logger:e.logger});else return P({ssoStartUrl:r,ssoSession:w,ssoAccountId:s,ssoRegion:t,ssoRoleName:a,ssoClient:c,clientConfig:e.clientConfig,profile:p})};export{W as validateSsoProfile,F as isSsoProfile,xe as fromSSO};
3
-
4
- //# debugId=28CCBABEF607C1F164756E2164756E21
@@ -1,4 +0,0 @@
1
- import{J as B}from"./chunk-td079vg9.js";import{Mb as $1}from"./chunk-fn8t5a77.js";var Y=B((C)=>{Object.defineProperty(C,"__esModule",{value:!0});C.getHomeDir=void 0;var d=import.meta.require("os"),l=import.meta.require("path"),h={},p=()=>{if(process&&process.geteuid)return`${process.geteuid()}`;return"DEFAULT"},o=()=>{const{HOME:M,USERPROFILE:j,HOMEPATH:q,HOMEDRIVE:$=`C:${l.sep}`}=process.env;if(M)return M;if(j)return j;if(q)return`${$}${q}`;const H=p();if(!h[H])h[H]=d.homedir();return h[H]};C.getHomeDir=o});var X=B((A)=>{Object.defineProperty(A,"__esModule",{value:!0});A.getSSOTokenFilepath=void 0;var r=import.meta.require("crypto"),n=import.meta.require("path"),_=Y(),t=(M)=>{const q=r.createHash("sha1").update(M).digest("hex");return n.join(_.getHomeDir(),".aws","sso","cache",`${q}.json`)};A.getSSOTokenFilepath=t});var I=B((k)=>{Object.defineProperty(k,"__esModule",{value:!0});k.getSSOTokenFromFile=void 0;var m=import.meta.require("fs"),i=X(),{readFile:a}=m.promises,e=async(M)=>{const j=i.getSSOTokenFilepath(M),q=await a(j,"utf8");return JSON.parse(q)};k.getSSOTokenFromFile=e});var D=B((P)=>{Object.defineProperty(P,"__esModule",{value:!0});P.slurpFile=void 0;var j1=import.meta.require("fs"),{readFile:M1}=j1.promises,w={},q1=(M,j)=>{if(!w[M]||(j===null||j===void 0?void 0:j.ignoreCache))w[M]=M1(M,"utf8");return w[M]};P.slurpFile=q1});var x1=B((N1,K)=>{var{defineProperty:v,getOwnPropertyDescriptor:H1,getOwnPropertyNames:u1}=Object,z1=Object.prototype.hasOwnProperty,z=(M,j)=>v(M,"name",{value:j,configurable:!0}),Q1=(M,j)=>{for(var q in j)v(M,q,{get:j[q],enumerable:!0})},G=(M,j,q,$)=>{if(j&&typeof j==="object"||typeof j==="function"){for(let H of u1(j))if(!z1.call(M,H)&&H!==q)v(M,H,{get:()=>j[H],enumerable:!($=H1(j,H))||$.enumerable})}return M},O=(M,j,q)=>(G(M,j,"default"),q&&G(q,j,"default")),U1=(M)=>G(v({},"__esModule",{value:!0}),M),J={};Q1(J,{CONFIG_PREFIX_SEPARATOR:()=>U,DEFAULT_PROFILE:()=>S,ENV_PROFILE:()=>E,getProfileName:()=>W1,loadSharedConfigFiles:()=>f,loadSsoSessionData:()=>w1,parseKnownFiles:()=>G1});K.exports=U1(J);O(J,Y(),K.exports);var E="AWS_PROFILE",S="default",W1=z((M)=>M.profile||process.env[E]||S,"getProfileName");O(J,X(),K.exports);O(J,I(),K.exports);var b=$1(),Y1=z((M)=>Object.entries(M).filter(([j])=>{const q=j.indexOf(U);if(q===-1)return!1;return Object.values(b.IniSectionType).includes(j.substring(0,q))}).reduce((j,[q,$])=>{const H=q.indexOf(U),u=q.substring(0,H)===b.IniSectionType.PROFILE?q.substring(H+1):q;return j[u]=$,j},{...M.default&&{default:M.default}}),"getConfigData"),s=import.meta.require("path"),Z1=Y(),B1="AWS_CONFIG_FILE",y=z(()=>process.env[B1]||s.join(Z1.getHomeDir(),".aws","config"),"getConfigFilepath"),J1=Y(),K1="AWS_SHARED_CREDENTIALS_FILE",b1=z(()=>process.env[K1]||s.join(J1.getHomeDir(),".aws","credentials"),"getCredentialsFilepath"),s1=Y(),v1=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,V1=["__proto__","profile __proto__"],x=z((M)=>{const j={};let q,$;for(let H of M.split(/\r?\n/)){const u=H.split(/(^|\s)[;#]/)[0].trim();if(u[0]==="["&&u[u.length-1]==="]"){q=void 0,$=void 0;const Q=u.substring(1,u.length-1),W=v1.exec(Q);if(W){const[,Z,,T]=W;if(Object.values(b.IniSectionType).includes(Z))q=[Z,T].join(U)}else q=Q;if(V1.includes(Q))throw new Error(`Found invalid profile name "${Q}"`)}else if(q){const Q=u.indexOf("=");if(![0,-1].includes(Q)){const[W,Z]=[u.substring(0,Q).trim(),u.substring(Q+1).trim()];if(Z==="")$=W;else{if($&&H.trimStart()===H)$=void 0;j[q]=j[q]||{};const T=$?[$,W].join(U):W;j[q][T]=Z}}}}return j},"parseIni"),F=D(),g=z(()=>({}),"swallowError"),U=".",f=z(async(M={})=>{const{filepath:j=b1(),configFilepath:q=y()}=M,$=s1.getHomeDir();let u=j;if(j.startsWith("~/"))u=s.join($,j.slice(2));let V=q;if(q.startsWith("~/"))V=s.join($,q.slice(2));const Q=await Promise.all([F.slurpFile(V,{ignoreCache:M.ignoreCache}).then(x).then(Y1).catch(g),F.slurpFile(u,{ignoreCache:M.ignoreCache}).then(x).catch(g)]);return{configFile:Q[0],credentialsFile:Q[1]}},"loadSharedConfigFiles"),T1=z((M)=>Object.entries(M).filter(([j])=>j.startsWith(b.IniSectionType.SSO_SESSION+U)).reduce((j,[q,$])=>({...j,[q.substring(q.indexOf(U)+1)]:$}),{}),"getSsoSessionData"),h1=D(),X1=z(()=>({}),"swallowError"),w1=z(async(M={})=>h1.slurpFile(M.configFilepath??y()).then(x).then(T1).catch(X1),"loadSsoSessionData"),D1=z((...M)=>{const j={};for(let q of M)for(let[$,H]of Object.entries(q))if(j[$]!==void 0)Object.assign(j[$],H);else j[$]=H;return j},"mergeConfigFiles"),G1=z(async(M)=>{const j=await f(M);return D1(j.configFile,j.credentialsFile)},"parseKnownFiles")});
2
- export{x1 as Lb};
3
-
4
- //# debugId=B935A687CCA57DB264756E2164756E21
@@ -1,14 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js", "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js", "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js", "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js", "../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js"],
4
- "sourcesContent": [
5
- "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHomeDir = void 0;\nconst os_1 = require(\"os\");\nconst path_1 = require(\"path\");\nconst homeDirCache = {};\nconst getHomeDirCacheKey = () => {\n if (process && process.geteuid) {\n return `${process.geteuid()}`;\n }\n return \"DEFAULT\";\n};\nconst getHomeDir = () => {\n const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env;\n if (HOME)\n return HOME;\n if (USERPROFILE)\n return USERPROFILE;\n if (HOMEPATH)\n return `${HOMEDRIVE}${HOMEPATH}`;\n const homeDirCacheKey = getHomeDirCacheKey();\n if (!homeDirCache[homeDirCacheKey])\n homeDirCache[homeDirCacheKey] = (0, os_1.homedir)();\n return homeDirCache[homeDirCacheKey];\n};\nexports.getHomeDir = getHomeDir;\n",
6
- "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFilepath = void 0;\nconst crypto_1 = require(\"crypto\");\nconst path_1 = require(\"path\");\nconst getHomeDir_1 = require(\"./getHomeDir\");\nconst getSSOTokenFilepath = (id) => {\n const hasher = (0, crypto_1.createHash)(\"sha1\");\n const cacheName = hasher.update(id).digest(\"hex\");\n return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), \".aws\", \"sso\", \"cache\", `${cacheName}.json`);\n};\nexports.getSSOTokenFilepath = getSSOTokenFilepath;\n",
7
- "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFromFile = void 0;\nconst fs_1 = require(\"fs\");\nconst getSSOTokenFilepath_1 = require(\"./getSSOTokenFilepath\");\nconst { readFile } = fs_1.promises;\nconst getSSOTokenFromFile = async (id) => {\n const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id);\n const ssoTokenText = await readFile(ssoTokenFilepath, \"utf8\");\n return JSON.parse(ssoTokenText);\n};\nexports.getSSOTokenFromFile = getSSOTokenFromFile;\n",
8
- "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.slurpFile = void 0;\nconst fs_1 = require(\"fs\");\nconst { readFile } = fs_1.promises;\nconst filePromisesHash = {};\nconst slurpFile = (path, options) => {\n if (!filePromisesHash[path] || (options === null || options === void 0 ? void 0 : options.ignoreCache)) {\n filePromisesHash[path] = readFile(path, \"utf8\");\n }\n return filePromisesHash[path];\n};\nexports.slurpFile = slurpFile;\n",
9
- "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n CONFIG_PREFIX_SEPARATOR: () => CONFIG_PREFIX_SEPARATOR,\n DEFAULT_PROFILE: () => DEFAULT_PROFILE,\n ENV_PROFILE: () => ENV_PROFILE,\n getProfileName: () => getProfileName,\n loadSharedConfigFiles: () => loadSharedConfigFiles,\n loadSsoSessionData: () => loadSsoSessionData,\n parseKnownFiles: () => parseKnownFiles\n});\nmodule.exports = __toCommonJS(src_exports);\n__reExport(src_exports, require(\"././getHomeDir\"), module.exports);\n\n// src/getProfileName.ts\nvar ENV_PROFILE = \"AWS_PROFILE\";\nvar DEFAULT_PROFILE = \"default\";\nvar getProfileName = /* @__PURE__ */ __name((init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE, \"getProfileName\");\n\n// src/index.ts\n__reExport(src_exports, require(\"././getSSOTokenFilepath\"), module.exports);\n__reExport(src_exports, require(\"././getSSOTokenFromFile\"), module.exports);\n\n// src/loadSharedConfigFiles.ts\n\n\n// src/getConfigData.ts\nvar import_types = require(\"@smithy/types\");\nvar getConfigData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n if (indexOfSeparator === -1) {\n return false;\n }\n return Object.values(import_types.IniSectionType).includes(key.substring(0, indexOfSeparator));\n}).reduce(\n (acc, [key, value]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n const updatedKey = key.substring(0, indexOfSeparator) === import_types.IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;\n acc[updatedKey] = value;\n return acc;\n },\n {\n // Populate default profile, if present.\n ...data.default && { default: data.default }\n }\n), \"getConfigData\");\n\n// src/getConfigFilepath.ts\nvar import_path = require(\"path\");\nvar import_getHomeDir = require(\"././getHomeDir\");\nvar ENV_CONFIG_PATH = \"AWS_CONFIG_FILE\";\nvar getConfigFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CONFIG_PATH] || (0, import_path.join)((0, import_getHomeDir.getHomeDir)(), \".aws\", \"config\"), \"getConfigFilepath\");\n\n// src/getCredentialsFilepath.ts\n\nvar import_getHomeDir2 = require(\"././getHomeDir\");\nvar ENV_CREDENTIALS_PATH = \"AWS_SHARED_CREDENTIALS_FILE\";\nvar getCredentialsFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CREDENTIALS_PATH] || (0, import_path.join)((0, import_getHomeDir2.getHomeDir)(), \".aws\", \"credentials\"), \"getCredentialsFilepath\");\n\n// src/loadSharedConfigFiles.ts\nvar import_getHomeDir3 = require(\"././getHomeDir\");\n\n// src/parseIni.ts\n\nvar prefixKeyRegex = /^([\\w-]+)\\s([\"'])?([\\w-@\\+\\.%:/]+)\\2$/;\nvar profileNameBlockList = [\"__proto__\", \"profile __proto__\"];\nvar parseIni = /* @__PURE__ */ __name((iniData) => {\n const map = {};\n let currentSection;\n let currentSubSection;\n for (const iniLine of iniData.split(/\\r?\\n/)) {\n const trimmedLine = iniLine.split(/(^|\\s)[;#]/)[0].trim();\n const isSection = trimmedLine[0] === \"[\" && trimmedLine[trimmedLine.length - 1] === \"]\";\n if (isSection) {\n currentSection = void 0;\n currentSubSection = void 0;\n const sectionName = trimmedLine.substring(1, trimmedLine.length - 1);\n const matches = prefixKeyRegex.exec(sectionName);\n if (matches) {\n const [, prefix, , name] = matches;\n if (Object.values(import_types.IniSectionType).includes(prefix)) {\n currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR);\n }\n } else {\n currentSection = sectionName;\n }\n if (profileNameBlockList.includes(sectionName)) {\n throw new Error(`Found invalid profile name \"${sectionName}\"`);\n }\n } else if (currentSection) {\n const indexOfEqualsSign = trimmedLine.indexOf(\"=\");\n if (![0, -1].includes(indexOfEqualsSign)) {\n const [name, value] = [\n trimmedLine.substring(0, indexOfEqualsSign).trim(),\n trimmedLine.substring(indexOfEqualsSign + 1).trim()\n ];\n if (value === \"\") {\n currentSubSection = name;\n } else {\n if (currentSubSection && iniLine.trimStart() === iniLine) {\n currentSubSection = void 0;\n }\n map[currentSection] = map[currentSection] || {};\n const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name;\n map[currentSection][key] = value;\n }\n }\n }\n }\n return map;\n}, \"parseIni\");\n\n// src/loadSharedConfigFiles.ts\nvar import_slurpFile = require(\"././slurpFile\");\nvar swallowError = /* @__PURE__ */ __name(() => ({}), \"swallowError\");\nvar CONFIG_PREFIX_SEPARATOR = \".\";\nvar loadSharedConfigFiles = /* @__PURE__ */ __name(async (init = {}) => {\n const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;\n const homeDir = (0, import_getHomeDir3.getHomeDir)();\n const relativeHomeDirPrefix = \"~/\";\n let resolvedFilepath = filepath;\n if (filepath.startsWith(relativeHomeDirPrefix)) {\n resolvedFilepath = (0, import_path.join)(homeDir, filepath.slice(2));\n }\n let resolvedConfigFilepath = configFilepath;\n if (configFilepath.startsWith(relativeHomeDirPrefix)) {\n resolvedConfigFilepath = (0, import_path.join)(homeDir, configFilepath.slice(2));\n }\n const parsedFiles = await Promise.all([\n (0, import_slurpFile.slurpFile)(resolvedConfigFilepath, {\n ignoreCache: init.ignoreCache\n }).then(parseIni).then(getConfigData).catch(swallowError),\n (0, import_slurpFile.slurpFile)(resolvedFilepath, {\n ignoreCache: init.ignoreCache\n }).then(parseIni).catch(swallowError)\n ]);\n return {\n configFile: parsedFiles[0],\n credentialsFile: parsedFiles[1]\n };\n}, \"loadSharedConfigFiles\");\n\n// src/getSsoSessionData.ts\n\nvar getSsoSessionData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => key.startsWith(import_types.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR)).reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {}), \"getSsoSessionData\");\n\n// src/loadSsoSessionData.ts\nvar import_slurpFile2 = require(\"././slurpFile\");\nvar swallowError2 = /* @__PURE__ */ __name(() => ({}), \"swallowError\");\nvar loadSsoSessionData = /* @__PURE__ */ __name(async (init = {}) => (0, import_slurpFile2.slurpFile)(init.configFilepath ?? getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError2), \"loadSsoSessionData\");\n\n// src/mergeConfigFiles.ts\nvar mergeConfigFiles = /* @__PURE__ */ __name((...files) => {\n const merged = {};\n for (const file of files) {\n for (const [key, values] of Object.entries(file)) {\n if (merged[key] !== void 0) {\n Object.assign(merged[key], values);\n } else {\n merged[key] = values;\n }\n }\n }\n return merged;\n}, \"mergeConfigFiles\");\n\n// src/parseKnownFiles.ts\nvar parseKnownFiles = /* @__PURE__ */ __name(async (init) => {\n const parsedFiles = await loadSharedConfigFiles(init);\n return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile);\n}, \"parseKnownFiles\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getHomeDir,\n ENV_PROFILE,\n DEFAULT_PROFILE,\n getProfileName,\n getSSOTokenFilepath,\n getSSOTokenFromFile,\n CONFIG_PREFIX_SEPARATOR,\n loadSharedConfigFiles,\n loadSsoSessionData,\n parseKnownFiles\n});\n\n"
10
- ],
11
- "mappings": "sGACA,CAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,AAAQ,aAAkB,OAC1B,IAAM,4BACA,8BACA,EAAe,CAAC,EAChB,EAAqB,IAAM,CAC7B,GAAI,SAAW,QAAQ,QACnB,MAAO,GAAG,QAAQ,QAAQ,IAE9B,MAAO,WAEL,EAAa,IAAM,CACrB,MAAQ,OAAM,cAAa,WAAU,YAAY,KAAK,EAAO,OAAU,QAAQ,IAC/E,GAAI,EACA,OAAO,EACX,GAAI,EACA,OAAO,EACX,GAAI,EACA,MAAO,GAAG,IAAY,IAC1B,MAAM,EAAkB,EAAmB,EAC3C,IAAK,EAAa,GACd,EAAa,GAAuB,EAAK,QAAS,EACtD,OAAO,EAAa,IAExB,AAAQ,aAAa,kBCxBrB,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,AAAQ,sBAA2B,OACnC,IAAM,gCACA,8BACA,MACA,EAAsB,CAAC,IAAO,CAEhC,MAAM,EADa,EAAS,WAAY,MAAM,EACrB,OAAO,CAAE,EAAE,OAAO,KAAK,EAChD,OAAW,EAAO,KAAU,EAAa,WAAY,EAAG,OAAQ,MAAO,QAAS,GAAG,QAAgB,GAEvG,AAAQ,sBAAsB,kBCV9B,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,AAAQ,sBAA2B,OACnC,IAAM,4BACA,OACE,YAAa,EAAK,SACpB,EAAsB,MAAO,IAAO,CACtC,MAAM,EAAuB,EAAsB,oBAAqB,CAAE,EACpE,EAAe,MAAM,EAAS,EAAkB,MAAM,EAC5D,OAAO,KAAK,MAAM,CAAY,GAElC,AAAQ,sBAAsB,kBCV9B,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,AAAQ,YAAiB,OACzB,IAAM,8BACE,aAAa,GAAK,SACpB,EAAmB,CAAC,EACpB,GAAY,CAAC,EAAM,IAAY,CACjC,IAAK,EAAiB,KAAU,IAAY,MAAQ,IAAiB,OAAS,OAAI,EAAQ,aACtF,EAAiB,GAAQ,GAAS,EAAM,MAAM,EAElD,OAAO,EAAiB,IAE5B,AAAQ,YAAY,uBCZpB,IAAuB,eAAnB,EAC0B,yBAA1B,GAC2B,oBAA3B,IADmB,OAEnB,GAAe,OAAO,UAAU,eAChC,EAAS,CAAC,EAAQ,IAAU,EAAU,EAAQ,OAAQ,CAAE,QAAO,aAAc,EAAK,CAAC,EACnF,GAAW,CAAC,EAAQ,IAAQ,CAC9B,QAAS,KAAQ,EACf,EAAU,EAAQ,EAAM,CAAE,IAAK,EAAI,GAAO,WAAY,EAAK,CAAC,GAE5D,EAAc,CAAC,EAAI,EAAM,EAAQ,IAAS,CAC5C,GAAI,UAAe,IAAS,iBAAmB,IAAS,YACtD,QAAS,KAAO,GAAkB,CAAI,EACpC,IAAK,GAAa,KAAK,EAAI,CAAG,GAAK,IAAQ,EACzC,EAAU,EAAI,EAAK,CAAE,IAAK,IAAM,EAAK,GAAM,aAAc,EAAO,GAAiB,EAAM,CAAG,IAAM,EAAK,UAAW,CAAC,EAEvH,OAAO,GAEL,EAAa,CAAC,EAAQ,EAAK,KAAkB,EAAY,EAAQ,EAAK,SAAS,EAAG,GAAgB,EAAY,EAAc,EAAK,SAAS,GAC1I,GAAe,CAAC,IAAQ,EAAY,EAAU,CAAC,EAAG,aAAc,CAAE,MAAO,EAAK,CAAC,EAAG,CAAG,EAGrF,EAAc,CAAC,EACnB,GAAS,EAAa,CACpB,wBAAyB,IAAM,EAC/B,gBAAiB,IAAM,EACvB,YAAa,IAAM,EACnB,eAAgB,IAAM,GACtB,sBAAuB,IAAM,EAC7B,mBAAoB,IAAM,GAC1B,gBAAiB,IAAM,EACzB,CAAC,EACD,EAAO,QAAU,GAAa,CAAW,EACzC,EAAW,MAAwC,EAAO,OAAO,EAGjE,IAAI,EAAc,cACd,EAAkB,UAClB,GAAiC,EAAO,CAAC,IAAS,EAAK,SAAW,QAAQ,IAAI,IAAgB,EAAiB,gBAAgB,EAGnI,EAAW,MAAiD,EAAO,OAAO,EAC1E,EAAW,MAAiD,EAAO,OAAO,EAM1E,IAAI,OACA,GAAgC,EAAO,CAAC,IAAS,OAAO,QAAQ,CAAI,EAAE,OAAO,EAAE,KAAS,CAC1F,MAAM,EAAmB,EAAI,QAAQ,CAAuB,EAC5D,GAAI,IAAqB,GACvB,MAAO,GAET,OAAO,OAAO,OAAO,EAAa,cAAc,EAAE,SAAS,EAAI,UAAU,EAAG,CAAgB,CAAC,EAC9F,EAAE,OACD,CAAC,GAAM,EAAK,KAAW,CACrB,MAAM,EAAmB,EAAI,QAAQ,CAAuB,EACtD,EAAa,EAAI,UAAU,EAAG,CAAgB,IAAM,EAAa,eAAe,QAAU,EAAI,UAAU,EAAmB,CAAC,EAAI,EAEtI,OADA,EAAI,GAAc,EACX,GAET,IAEK,EAAK,SAAW,CAAE,QAAS,EAAK,OAAQ,CAC7C,CACF,EAAG,eAAe,EAGd,8BACA,OACA,GAAkB,kBAClB,EAAoC,EAAO,IAAM,QAAQ,IAAI,KAAwB,EAAY,KAAU,GAAkB,WAAY,EAAG,OAAQ,QAAQ,EAAG,mBAAmB,EAIlL,OACA,GAAuB,8BACvB,GAAyC,EAAO,IAAM,QAAQ,IAAI,KAA6B,EAAY,KAAU,GAAmB,WAAY,EAAG,OAAQ,aAAa,EAAG,wBAAwB,EAGvM,OAIA,GAAiB,wCACjB,GAAuB,CAAC,YAAa,mBAAmB,EACxD,EAA2B,EAAO,CAAC,IAAY,CACjD,MAAM,EAAM,CAAC,EACb,IAAI,EACA,EACJ,QAAW,KAAW,EAAQ,MAAM,OAAO,EAAG,CAC5C,MAAM,EAAc,EAAQ,MAAM,YAAY,EAAE,GAAG,KAAK,EAExD,GADkB,EAAY,KAAO,KAAO,EAAY,EAAY,OAAS,KAAO,IACrE,CACb,EAAsB,OACtB,EAAyB,OACzB,MAAM,EAAc,EAAY,UAAU,EAAG,EAAY,OAAS,CAAC,EAC7D,EAAU,GAAe,KAAK,CAAW,EAC/C,GAAI,EAAS,CACX,OAAS,GAAU,GAAQ,EAC3B,GAAI,OAAO,OAAO,EAAa,cAAc,EAAE,SAAS,CAAM,EAC5D,EAAiB,CAAC,EAAQ,CAAI,EAAE,KAAK,CAAuB,MAG9D,GAAiB,EAEnB,GAAI,GAAqB,SAAS,CAAW,EAC3C,MAAM,IAAI,MAAM,+BAA+B,IAAc,UAEtD,EAAgB,CACzB,MAAM,EAAoB,EAAY,QAAQ,GAAG,EACjD,IAAK,CAAC,EAAG,EAAE,EAAE,SAAS,CAAiB,EAAG,CACxC,MAAO,EAAM,GAAS,CACpB,EAAY,UAAU,EAAG,CAAiB,EAAE,KAAK,EACjD,EAAY,UAAU,EAAoB,CAAC,EAAE,KAAK,CACpD,EACA,GAAI,IAAU,GACZ,EAAoB,MACf,CACL,GAAI,GAAqB,EAAQ,UAAU,IAAM,EAC/C,EAAyB,OAE3B,EAAI,GAAkB,EAAI,IAAmB,CAAC,EAC9C,MAAM,EAAM,EAAoB,CAAC,EAAmB,CAAI,EAAE,KAAK,CAAuB,EAAI,EAC1F,EAAI,GAAgB,GAAO,KAKnC,OAAO,GACN,UAAU,EAGT,MACA,EAA+B,EAAO,KAAO,CAAC,GAAI,cAAc,EAChE,EAA0B,IAC1B,EAAwC,EAAO,MAAO,EAAO,CAAC,IAAM,CACtE,MAAQ,WAAW,GAAuB,EAAG,iBAAiB,EAAkB,GAAM,EAChF,EAAc,GAAmB,WAAY,EAEnD,IAAI,EAAmB,EACvB,GAAI,EAAS,WAFiB,IAEe,EAC3C,EAAuB,EAAY,KAAM,EAAS,EAAS,MAAM,CAAC,CAAC,EAErE,IAAI,EAAyB,EAC7B,GAAI,EAAe,WANW,IAMqB,EACjD,EAA6B,EAAY,KAAM,EAAS,EAAe,MAAM,CAAC,CAAC,EAEjF,MAAM,EAAc,MAAM,QAAQ,IAAI,CAChC,EAAiB,UAAW,EAAwB,CACtD,YAAa,EAAK,WACpB,CAAC,EAAE,KAAK,CAAQ,EAAE,KAAK,EAAa,EAAE,MAAM,CAAY,EACpD,EAAiB,UAAW,EAAkB,CAChD,YAAa,EAAK,WACpB,CAAC,EAAE,KAAK,CAAQ,EAAE,MAAM,CAAY,CACtC,CAAC,EACD,MAAO,CACL,WAAY,EAAY,GACxB,gBAAiB,EAAY,EAC/B,GACC,uBAAuB,EAItB,GAAoC,EAAO,CAAC,IAAS,OAAO,QAAQ,CAAI,EAAE,OAAO,EAAE,KAAS,EAAI,WAAW,EAAa,eAAe,YAAc,CAAuB,CAAC,EAAE,OAAO,CAAC,GAAM,EAAK,MAAY,IAAK,GAAM,EAAI,UAAU,EAAI,QAAQ,CAAuB,EAAI,CAAC,GAAI,CAAM,GAAI,CAAC,CAAC,EAAG,mBAAmB,EAGrT,OACA,GAAgC,EAAO,KAAO,CAAC,GAAI,cAAc,EACjE,GAAqC,EAAO,MAAO,EAAO,CAAC,IAAU,GAAkB,UAAW,EAAK,gBAAkB,EAAkB,CAAC,EAAE,KAAK,CAAQ,EAAE,KAAK,EAAiB,EAAE,MAAM,EAAa,EAAG,oBAAoB,EAG/N,GAAmC,EAAO,IAAI,IAAU,CAC1D,MAAM,EAAS,CAAC,EAChB,QAAW,KAAQ,EACjB,QAAY,EAAK,KAAW,OAAO,QAAQ,CAAI,EAC7C,GAAI,EAAO,KAAc,OACvB,OAAO,OAAO,EAAO,GAAM,CAAM,MAEjC,GAAO,GAAO,EAIpB,OAAO,GACN,kBAAkB,EAGjB,GAAkC,EAAO,MAAO,IAAS,CAC3D,MAAM,EAAc,MAAM,EAAsB,CAAI,EACpD,OAAO,GAAiB,EAAY,WAAY,EAAY,eAAe,GAC1E,iBAAiB",
12
- "debugId": "B935A687CCA57DB264756E2164756E21",
13
- "names": []
14
- }
@@ -1,4 +0,0 @@
1
- import{e as Y,h as z,i as J}from"./http/index.js";import{q as A,s as B,u as G}from"./facades/index.js";import{G as Z}from"./chunk-35bsy26w.js";import{N as K}from"./chunk-s9b02cxr.js";function m(y){const o={};for(let[n,t]of Object.entries(y))if("run"in t){const i=t;if("children"in i){const c=new i.children,s=m(c.routes);for(let[w,{exec:V,middleware:p}]of Object.entries(s)){const u=n==="/"?w:`${n}${w}`,r=w==="/"&&n!=="/"?n:u;o[r]={exec:[i.run.bind(i),...V],middleware:[...i.middlewares,...p]}}}else o[n]={exec:[i.run.bind(i)],middleware:i.middlewares}}else{const i=new t,c=m(i.routes);for(let[s,{exec:w,middleware:V}]of Object.entries(c)){const p=n==="/"?s:`${n}${s}`,u=s==="/"&&n!=="/"?n:p;o[u]={exec:w,middleware:[...i.middlewares,...V]}}}return Object.fromEntries(Object.entries(o).sort(([n],[t])=>{const i=n.split("/").length+n.split(":").length,c=t.split("/").length+t.split(":").length;return i-c}))}import{renderToReadableStream as M}from"react-dom/server.browser";import{createElement as X,Fragment as E}from"react";function T(y){const o={};for(let[n,t]of Object.entries(y))if("run"in t){const i=t.viewPath;if("children"in t)o[n]=[i];if("children"in t){const c=new t.children,s=T(c.routes);for(let[w,V]of Object.entries(s)){const p=n==="/"?w:`${n}${w}`,u=w==="/"&&n!=="/"?n:p;o[u]=[i,...V]}}else o[n]=[i]}else{const i=new t,c=T(i.routes);for(let[s,w]of Object.entries(c)){const V=n==="/"?s:`${n}${s}`,p=s==="/"&&n!=="/"?n:V;o[p]=w}}return o}function h(y){const o=[];for(let[n,t]of Object.entries(y))if("run"in t){const i=t.viewPath;if("children"in t){const c=new t.children,s=h(c.routes);o.push([i,s])}else o.push([i,[]])}else{const i=new t,c=h(i.routes);o.push(...c)}return o}function F(y){let o=[];for(let[n,t]of y)o.push(n,...F(t).flat());return Array.from(new Set(o))}class d extends Z{y;static _name="ViewRouterServiceContainer";flatViewRoutes={};routeManifest={};componentTree=[];flatComponentTree=[];root=null;constructor(y){super();this.service=y;const o={"/":y.rootRouter,"/auth":B};this.flatViewRoutes=m(o),this.routeManifest=T(o),this.componentTree=h(o),this.flatComponentTree=F(this.componentTree),this.root=y.root}boot(){}async handleViewRequest(y){const o=new URL(y.url),n=o.searchParams.get("json");let t=null;try{let f=[],e=[],b=null,j={};for(let[l,x]of Object.entries(this.flatViewRoutes)){const g=new K({pathname:l});if(g.test({pathname:o.pathname})){b=l,j=g.exec({pathname:o.pathname})?.pathname.groups,f=x.exec,e=x.middleware;break}}const O=new J(y,j,"view"),{data:_,cookies:P,headers:Q,user:R,prefetchedData:U}=await z.run(O,async()=>{const l=z.getStore();l.setRequest(O),await G.use().runMiddleware(e,b);const x=await Promise.all([...f.map((k)=>k(O)),...Array.from(l.prefetchPromiseQueue).map((k)=>k())]),g=l.cookies,C=l.headers,I=l.prefetchedResources;return{data:x,cookies:g,headers:C,user:l.user,prefetchedData:Object.fromEntries(I.entries())}});t={data:_,prefetchedData:U,currentPathName:b,user:R,params:j,cookies:P,headers:Q}}catch(f){if(f.kind===Y)if(n){const{status:e=400,data:b,directive:j,headers:O}=f.payload.api;return new Response(JSON.stringify({data:b,directive:j}),{headers:O,status:e})}else{const{status:e=400,error:b}=f.payload.view;return new Response(b?.message,{...f.payload.view,status:e})}else throw f}const{data:i,params:c,currentPathName:s,user:w,cookies:V}=t,p=i.reduce((f,e)=>{return{...f,...e}},{}),u=A.use(),r=u.isEnabled;let H={};if(r){const f=u.detectLocale(new J(y,c)),e=u.getPageTranslations(f,s);H={supportedLocales:u.supportedLocales,currentLocale:f,dictionary:{[f]:e}}}if(n){const f=new Headers;return f.set("Content-Type","application/json"),V.forEach((e)=>f.append("Set-Cookie",e.toString())),f.append("Cache-Control",w?"private, no-cache, no-store, max-age=0, must-revalidate":"public, max-age=864000, must-revalidate"),new Response(JSON.stringify({data:{[o.pathname]:p},prefetchedData:t.prefetchedData,i18n:H,is404:!s}),{headers:f})}const $=new Headers;$.set("Content-Type","text/html"),$.set("Cache-Control",w?"private, no-cache, no-store, max-age=0, must-revalidate":"public, max-age=864000, must-revalidate"),$.set("ETag",'W/"'+Math.random().toString(36).substring(7)+'"'),t.cookies.forEach((f)=>$.append("Set-Cookie",f.toString()));const W={kind:"view",data:{pageData:{[o.pathname]:p},prefetchedData:t.prefetchedData,i18n:H,auth:{user:w},routeManifest:this.routeManifest,router:{pathname:s,params:c,currentPath:o.pathname,searchParams:o.search,is404:!s?!0:!1},componentTree:[["404",[]],...this.componentTree]},head:{}},L=this.root;return async(f)=>{const{bootstrapModules:e,loaders:b,styles:j,viewImportMap:O}=f,_=await M(X(E,{children:[j,X(L,{data:W.data,viewImportMap:O})]}),{bootstrapScriptContent:`window.__GEMI_DATA__ = ${JSON.stringify(W.data)}; window.loaders=${b}`,bootstrapModules:e});return new Response(_,{status:!s?404:200,headers:$})}}}
2
- export{d as K};
3
-
4
- //# debugId=ED7EB30ED0C74A9964756E2164756E21
@@ -1,14 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../services/router/createFlatViewRoutes.ts", "../services/router/ViewRouterServiceContainer.ts", "../services/router/createRouteManifest.ts", "../services/router/createComponentTree.ts", "../client/helpers/flattenComponentTree.ts"],
4
- "sourcesContent": [
5
- "import { HttpRequest } from \"../../http\";\nimport type { ViewRoutes } from \"../../http/ViewRouter\";\n\nexport type ViewRouteExec = (req: HttpRequest<any, any>) => any; // TODO: fix type\n\nexport type FlatViewRoutes = Record<\n string,\n { exec: ViewRouteExec[]; middleware: (string | any)[] }\n>;\n\nexport function createFlatViewRoutes(routes: ViewRoutes) {\n const flatRoutes: FlatViewRoutes = {};\n\n for (const [routePath, viewConfigOrViewRouter] of Object.entries(routes)) {\n if (\"run\" in viewConfigOrViewRouter) {\n const route = viewConfigOrViewRouter;\n\n if (\"children\" in route) {\n const children = new route.children();\n const result = createFlatViewRoutes(children.routes);\n\n for (const [path, { exec, middleware }] of Object.entries(result)) {\n const key = routePath === \"/\" ? path : `${routePath}${path}`;\n const _key = path === \"/\" && routePath !== \"/\" ? routePath : key;\n\n flatRoutes[_key] = {\n exec: [route.run.bind(route), ...exec],\n middleware: [...route.middlewares, ...middleware],\n };\n }\n } else {\n flatRoutes[routePath] = {\n exec: [route.run.bind(route)],\n middleware: route.middlewares,\n };\n }\n } else {\n const router = new viewConfigOrViewRouter();\n const result = createFlatViewRoutes(router.routes);\n for (const [path, { exec, middleware }] of Object.entries(result)) {\n const key = routePath === \"/\" ? path : `${routePath}${path}`;\n const _key = path === \"/\" && routePath !== \"/\" ? routePath : key;\n flatRoutes[_key] = {\n exec,\n middleware: [...router.middlewares, ...middleware],\n };\n }\n }\n }\n\n return Object.fromEntries(\n Object.entries(flatRoutes).sort(([a], [b]) => {\n const x = a.split(\"/\").length + a.split(\":\").length;\n const y = b.split(\"/\").length + b.split(\":\").length;\n return x - y;\n }),\n );\n}\n",
6
- "import { HttpRequest } from \"../../http\";\nimport { createRoot } from \"../../client/createRoot\";\n\nimport { Cookie } from \"../../http/Cookie\";\nimport { GEMI_REQUEST_BREAKER_ERROR } from \"../../http/Error\";\nimport { RequestContext } from \"../../http/requestContext\";\nimport type { RouterMiddleware } from \"../../http/Router\";\nimport {\n createFlatViewRoutes,\n FlatViewRoutes,\n type ViewRouteExec,\n} from \"./createFlatViewRoutes\";\nimport { ViewRouterServiceProvider } from \"./ViewRouterServiceProvider\";\n// @ts-ignore\nimport { renderToReadableStream } from \"react-dom/server.browser\";\nimport { createElement, Fragment } from \"react\";\n\n// @ts-ignore\nimport { URLPattern } from \"urlpattern-polyfill/urlpattern\";\nimport { ServiceContainer } from \"../ServiceContainer\";\nimport type { ViewRoutes } from \"../../http/ViewRouter\";\nimport { AuthViewRouter } from \"../../auth/AuthenticationServiceProvider\";\nimport { createRouteManifest } from \"./createRouteManifest\";\nimport { createComponentTree } from \"./createComponentTree\";\nimport { flattenComponentTree } from \"../../client/helpers/flattenComponentTree\";\nimport type { ComponentTree } from \"../../client/types\";\nimport { I18nServiceContainer } from \"../../http/I18nServiceContainer\";\nimport { MiddlewareServiceContainer } from \"../middleware/MiddlewareServiceContainer\";\n\nexport class ViewRouterServiceContainer extends ServiceContainer {\n static _name = \"ViewRouterServiceContainer\";\n\n flatViewRoutes: FlatViewRoutes = {};\n routeManifest: Record<string, string[]> = {};\n componentTree: ComponentTree = [];\n flatComponentTree: string[] = [];\n root: any = null;\n\n constructor(public service: ViewRouterServiceProvider) {\n super();\n const routes: ViewRoutes = {\n \"/\": service.rootRouter,\n \"/auth\": AuthViewRouter,\n };\n this.flatViewRoutes = createFlatViewRoutes(routes);\n this.routeManifest = createRouteManifest(routes);\n this.componentTree = createComponentTree(routes);\n this.flatComponentTree = flattenComponentTree(this.componentTree);\n this.root = service.root;\n }\n\n boot() {}\n\n async handleViewRequest(req: Request) {\n const url = new URL(req.url);\n const isViewDataRequest = url.searchParams.get(\"json\");\n\n let pageData: {\n cookies: Set<Cookie>;\n headers: Headers;\n currentPathName: string;\n data: Record<string, any>;\n prefetchedData: Record<string, any>;\n user: any; // TODO: fix type\n params: Record<string, any>;\n } | null = null;\n\n try {\n let handlers: ViewRouteExec[] = [];\n let middlewares: (RouterMiddleware | string)[] = [];\n let currentPathName: null | string = null;\n let params: Record<string, any> = {};\n\n for (const [pathname, handler] of Object.entries(this.flatViewRoutes)) {\n const pattern = new URLPattern({ pathname });\n if (pattern.test({ pathname: url.pathname })) {\n currentPathName = pathname;\n params = pattern.exec({ pathname: url.pathname })?.pathname.groups!;\n handlers = handler.exec;\n middlewares = handler.middleware;\n break;\n }\n }\n\n const httpRequest = new HttpRequest(req, params, \"view\");\n const { data, cookies, headers, user, prefetchedData } =\n await RequestContext.run(httpRequest, async () => {\n const ctx = RequestContext.getStore();\n ctx.setRequest(httpRequest);\n\n await MiddlewareServiceContainer.use().runMiddleware(\n middlewares,\n currentPathName,\n );\n\n const data = await Promise.all([\n ...handlers.map((fn) => fn(httpRequest as any)),\n ...Array.from(ctx.prefetchPromiseQueue).map((fn) => fn()),\n ]);\n\n const cookies = ctx.cookies;\n const headers = ctx.headers;\n const prefetchedResources = ctx.prefetchedResources;\n\n return {\n data,\n cookies,\n headers,\n user: ctx.user,\n prefetchedData: Object.fromEntries(prefetchedResources.entries()),\n };\n });\n\n pageData = {\n data,\n prefetchedData,\n currentPathName,\n user,\n params,\n cookies,\n headers,\n };\n } catch (err) {\n if (err.kind === GEMI_REQUEST_BREAKER_ERROR) {\n if (isViewDataRequest) {\n const { status = 400, data, directive, headers } = err.payload.api;\n return new Response(JSON.stringify({ data, directive }), {\n headers,\n status,\n });\n } else {\n const { status = 400, error } = err.payload.view;\n return new Response(error?.message, {\n ...err.payload.view,\n status,\n });\n }\n } else {\n throw err;\n }\n }\n\n const { data, params, currentPathName, user, cookies } = pageData;\n\n const viewData = data.reduce((acc, data) => {\n return {\n ...acc,\n ...data,\n };\n }, {});\n const i18nServiceContainer = I18nServiceContainer.use();\n const isI18nEnabled = i18nServiceContainer.isEnabled;\n let i18n: Record<string, any> = {};\n if (isI18nEnabled) {\n const locale = i18nServiceContainer.detectLocale(\n new HttpRequest(req, params as any),\n );\n const translations = i18nServiceContainer.getPageTranslations(\n locale,\n currentPathName,\n );\n\n i18n = {\n supportedLocales: i18nServiceContainer.supportedLocales,\n currentLocale: locale,\n dictionary: {\n [locale]: translations,\n },\n };\n }\n\n if (isViewDataRequest) {\n const headers = new Headers();\n headers.set(\"Content-Type\", \"application/json\");\n\n cookies.forEach((cookie) =>\n headers.append(\"Set-Cookie\", cookie.toString()),\n );\n\n headers.append(\n \"Cache-Control\",\n user\n ? \"private, no-cache, no-store, max-age=0, must-revalidate\"\n : \"public, max-age=864000, must-revalidate\",\n );\n\n return new Response(\n JSON.stringify({\n data: {\n [url.pathname]: viewData,\n },\n prefetchedData: pageData.prefetchedData,\n i18n,\n is404: !currentPathName,\n }),\n {\n headers,\n },\n );\n }\n\n const headers = new Headers();\n headers.set(\"Content-Type\", \"text/html\");\n headers.set(\n \"Cache-Control\",\n user\n ? \"private, no-cache, no-store, max-age=0, must-revalidate\"\n : \"public, max-age=864000, must-revalidate\",\n );\n headers.set(\"ETag\", 'W/\"' + Math.random().toString(36).substring(7) + '\"');\n\n pageData.cookies.forEach((cookie) =>\n headers.append(\"Set-Cookie\", cookie.toString()),\n );\n\n const result = {\n kind: \"view\",\n data: {\n pageData: {\n [url.pathname]: viewData,\n },\n prefetchedData: pageData.prefetchedData,\n i18n,\n auth: { user },\n routeManifest: this.routeManifest,\n router: {\n pathname: currentPathName,\n params,\n currentPath: url.pathname,\n searchParams: url.search,\n is404: !currentPathName ? true : false,\n },\n componentTree: [[\"404\", []], ...this.componentTree],\n },\n head: {},\n };\n const Root = this.root;\n return async (params: {\n styles: any[];\n viewImportMap: any;\n bootstrapModules: string[];\n loaders: string;\n }) => {\n const { bootstrapModules, loaders, styles, viewImportMap } = params;\n const stream = await renderToReadableStream(\n createElement(Fragment, {\n children: [\n styles,\n createElement(Root, {\n data: result.data,\n viewImportMap,\n }),\n ],\n }),\n {\n bootstrapScriptContent: `window.__GEMI_DATA__ = ${JSON.stringify(result.data)}; window.loaders=${loaders}`,\n bootstrapModules,\n },\n );\n\n return new Response(stream, {\n status: !currentPathName ? 404 : 200,\n headers,\n });\n };\n }\n}\n",
7
- "import type { ViewRoutes } from \"../../http/ViewRouter\";\n\nexport function createRouteManifest(routes: ViewRoutes) {\n const routeManifest: Record<string, string[]> = {};\n for (const [routePath, routeHandler] of Object.entries(routes)) {\n if (\"run\" in routeHandler) {\n const viewPath = routeHandler.viewPath;\n\n if (\"children\" in routeHandler) {\n routeManifest[routePath] = [viewPath];\n }\n\n if (\"children\" in routeHandler) {\n const children = new routeHandler.children();\n const manifest = createRouteManifest(children.routes);\n for (const [path, viewPaths] of Object.entries(manifest)) {\n const key = routePath === \"/\" ? path : `${routePath}${path}`;\n const _key = path === \"/\" && routePath !== \"/\" ? routePath : key;\n routeManifest[_key] = [viewPath, ...viewPaths];\n }\n } else {\n routeManifest[routePath] = [viewPath];\n }\n } else {\n const router = new routeHandler();\n\n const manifest = createRouteManifest(router.routes);\n for (const [path, viewPaths] of Object.entries(manifest)) {\n const key = routePath === \"/\" ? path : `${routePath}${path}`;\n const _key = path === \"/\" && routePath !== \"/\" ? routePath : key;\n routeManifest[_key] = viewPaths;\n }\n }\n }\n\n return routeManifest;\n}\n",
8
- "import type { ComponentTree } from \"../../client/types\";\nimport type { ViewRoutes } from \"../../http/ViewRouter\";\n\nexport function createComponentTree(routes: ViewRoutes): ComponentTree {\n const componentTree: ComponentTree = [];\n\n for (const [_, routeHandler] of Object.entries(routes)) {\n if (\"run\" in routeHandler) {\n const viewPath = routeHandler.viewPath;\n if (\"children\" in routeHandler) {\n const router = new routeHandler.children();\n const branch = createComponentTree(router.routes);\n componentTree.push([viewPath, branch]);\n } else {\n componentTree.push([viewPath, []]);\n }\n } else {\n const router = new routeHandler();\n const branch = createComponentTree(router.routes);\n componentTree.push(...branch);\n }\n }\n\n return componentTree;\n}\n",
9
- "import type { ComponentTree } from \"../types\";\n\nexport function flattenComponentTree(componentTree: ComponentTree): string[] {\n let out: string[] = [];\n for (const [root, branches] of componentTree) {\n out.push(root, ...flattenComponentTree(branches).flat());\n }\n return Array.from(new Set(out));\n}\n"
10
- ],
11
- "mappings": "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",
12
- "debugId": "ED7EB30ED0C74A9964756E2164756E21",
13
- "names": []
14
- }