@edgible-team/cli 1.2.1 → 1.2.4

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 (69) hide show
  1. package/LICENSE +2 -0
  2. package/dist/client/api-client.d.ts +51 -0
  3. package/dist/client/api-client.d.ts.map +1 -1
  4. package/dist/client/api-client.js +65 -0
  5. package/dist/commands/agent.d.ts.map +1 -1
  6. package/dist/commands/agent.js +6 -1
  7. package/dist/commands/ai.d.ts.map +1 -1
  8. package/dist/commands/ai.js +23 -20
  9. package/dist/commands/application.d.ts.map +1 -1
  10. package/dist/commands/application.js +713 -94
  11. package/dist/generated/compose-constants.d.ts +14 -0
  12. package/dist/generated/compose-constants.d.ts.map +1 -0
  13. package/dist/generated/compose-constants.js +22 -0
  14. package/dist/interfaces/IDaemonManager.d.ts +11 -1
  15. package/dist/interfaces/IDaemonManager.d.ts.map +1 -1
  16. package/dist/services/application/ApplicationService.d.ts +41 -0
  17. package/dist/services/application/ApplicationService.d.ts.map +1 -1
  18. package/dist/services/application/ApplicationService.js +107 -0
  19. package/dist/services/daemon/DockerDaemonManager.d.ts +4 -1
  20. package/dist/services/daemon/DockerDaemonManager.d.ts.map +1 -1
  21. package/dist/services/daemon/DockerDaemonManager.js +1 -1
  22. package/dist/services/daemon/LaunchdDaemonManager.d.ts +4 -1
  23. package/dist/services/daemon/LaunchdDaemonManager.d.ts.map +1 -1
  24. package/dist/services/daemon/LaunchdDaemonManager.js +70 -26
  25. package/dist/services/daemon/PodmanDaemonManager.d.ts +4 -1
  26. package/dist/services/daemon/PodmanDaemonManager.d.ts.map +1 -1
  27. package/dist/services/daemon/PodmanDaemonManager.js +1 -1
  28. package/dist/services/daemon/SystemdDaemonManager.d.ts +4 -1
  29. package/dist/services/daemon/SystemdDaemonManager.d.ts.map +1 -1
  30. package/dist/services/daemon/SystemdDaemonManager.js +1 -1
  31. package/dist/services/daemon/WindowsServiceDaemonManager.d.ts +4 -1
  32. package/dist/services/daemon/WindowsServiceDaemonManager.d.ts.map +1 -1
  33. package/dist/services/daemon/WindowsServiceDaemonManager.js +3 -2
  34. package/dist/types/AgentConfig.d.ts +13 -0
  35. package/dist/types/AgentConfig.d.ts.map +1 -1
  36. package/dist/types/ApiRequests.d.ts +8 -0
  37. package/dist/types/ApiRequests.d.ts.map +1 -1
  38. package/dist/types/Application.d.ts +6 -0
  39. package/dist/types/Application.d.ts.map +1 -1
  40. package/dist/types/CaddyJson.d.ts +43 -1
  41. package/dist/types/CaddyJson.d.ts.map +1 -1
  42. package/dist/types/models/ApplicationApiKey.d.ts +63 -0
  43. package/dist/types/models/ApplicationApiKey.d.ts.map +1 -0
  44. package/dist/types/models/ApplicationApiKey.js +5 -0
  45. package/dist/types/models/ApplicationAuthExchangeToken.d.ts +69 -0
  46. package/dist/types/models/ApplicationAuthExchangeToken.d.ts.map +1 -0
  47. package/dist/types/models/ApplicationAuthExchangeToken.js +5 -0
  48. package/dist/types/models/ApplicationAuthSession.d.ts +68 -0
  49. package/dist/types/models/ApplicationAuthSession.d.ts.map +1 -0
  50. package/dist/types/models/ApplicationAuthSession.js +5 -0
  51. package/dist/types/models/ApplicationData.d.ts +33 -0
  52. package/dist/types/models/ApplicationData.d.ts.map +1 -1
  53. package/dist/types/models/ApplicationShortCode.d.ts +79 -0
  54. package/dist/types/models/ApplicationShortCode.d.ts.map +1 -0
  55. package/dist/types/models/ApplicationShortCode.js +5 -0
  56. package/dist/types/route.d.ts +4 -0
  57. package/dist/types/route.d.ts.map +1 -1
  58. package/dist/types/validation/schemas.d.ts +21 -0
  59. package/dist/types/validation/schemas.d.ts.map +1 -1
  60. package/dist/types/validation/schemas.js +14 -1
  61. package/dist/utils/PathResolver.d.ts +14 -0
  62. package/dist/utils/PathResolver.d.ts.map +1 -1
  63. package/dist/utils/PathResolver.js +24 -0
  64. package/package.json +2 -2
  65. package/recipes/compose/open-webui/docker-compose.yml +26 -1
  66. package/dist/detection/tools.d.ts +0 -16
  67. package/dist/detection/tools.d.ts.map +0 -1
  68. package/dist/detection/tools.js +0 -305
  69. package/recipes/compose/open-webui/.env +0 -1
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Base64-encoded docker-compose.yml for Open WebUI
3
+ * Source: recipes/compose/open-webui/docker-compose.yml
4
+ *
5
+ * When used in application configuration with 'base64:' prefix,
6
+ * the agent will decode and write to working directory.
7
+ */
8
+ export declare const OPEN_WEBUI_COMPOSE_BASE64 = "c2VydmljZXM6CiAgb3Blbi13ZWJ1aToKICAgIGltYWdlOiBnaGNyLmlvL29wZW4td2VidWkvb3Blbi13ZWJ1aToke1dFQlVJX0RPQ0tFUl9UQUctbWFpbn0KICAgIGNvbnRhaW5lcl9uYW1lOiBvcGVuLXdlYnVpCiAgICB2b2x1bWVzOgogICAgICAtIG9wZW4td2VidWk6L2FwcC9iYWNrZW5kL2RhdGEKICAgIHBvcnRzOgogICAgICAtICR7T1BFTl9XRUJVSV9QT1JULTMyMDB9OjgwODAKICAgIGVudmlyb25tZW50OgogICAgICAtICdFTkFCTEVfT0FVVEhfU0lHTlVQPXRydWUnCiAgICAgIC0gJ0VOQUJMRV9TSUdOVVA9dHJ1ZScKICAgICAgIyAtICdXRUJVSV9VUkw9b3Blbi13ZWJ1aS45ZmI4MzllOS1jZTJjLTRhYmQtOTRkNS0wNTFlNjk2Y2YxYjcuZWRnaWJsZS5jb20nCiAgICAgIC0gJ09MTEFNQV9CQVNFX1VSTD0ke09MTEFNQV9CQVNFX1VSTDotaHR0cDovL2hvc3QuZG9ja2VyLmludGVybmFsOjExNDM0fScKICAgICAgLSAnT0xMQU1BX0FQSV9LRVk9JHtPTExBTUFfQVBJX0tFWTotfScKICAgICAgIyAtICdXRUJVSV9TRUNSRVRfS0VZPTEyMycKICAgICAgLSAnV0VCVUlfQVVUSF9UUlVTVEVEX0VNQUlMX0hFQURFUj1YLUF1dGgtRW1haWwnCiAgICAgIC0gJ1dFQlVJX0FVVEhfVFJVU1RFRF9OQU1FX0hFQURFUj1YLUF1dGgtVXNlcicKICAgICAgIyAtICdXRUJVSV9BVVRIPWZhbHNlJwogICAgICAjIC0gJ1dFQlVJX1NFU1NJT05fQ09PS0lFX1NBTUVfU0lURT1sYXgnCiAgICAgICMgLSAnV0VCVUlfQVVUSF9DT09LSUVfU0FNRV9TSVRFPWxheCcKICAgICAgIyAtICdXRUJVSV9TRVNTSU9OX0NPT0tJRV9TRUNVUkU9ZmFsc2UnICAjIFNldCB0byBmYWxzZSBpZiB1c2luZyBIVFRQCiAgICAgICMgLSAnV0VCVUlfQVVUSF9DT09LSUVfU0VDVVJFPWZhbHNlJyAgICAgIyBTZXQgdG8gZmFsc2UgaWYgdXNpbmcgSFRUUAogICAgZXh0cmFfaG9zdHM6CiAgICAgIC0gaG9zdC5kb2NrZXIuaW50ZXJuYWw6aG9zdC1nYXRld2F5CiAgICAjIENvbm5lY3QgdG8gRE5TIG5ldHdvcmsgdG8gYWNjZXNzIEROUyBzZXJ2ZXIKICAgIG5ldHdvcmtzOgogICAgICAtIGVkZ2libGUtZG5zLW5ldHdvcmsKICAgICMgVXNlIEVkZ2libGUgRE5TIHNlcnZlciBmb3IgYXBwbGljYXRpb24gaG9zdG5hbWUgcmVzb2x1dGlvbgogICAgIyBUaGUgRE5TIHNlcnZlciBydW5zIGF0IDE3Mi4yMC4wLjIgd2l0aGluIHRoZSBlZGdpYmxlLWRucy1uZXR3b3JrCiAgICAjIGFuZCByZXNvbHZlcyBhcHBsaWNhdGlvbiBob3N0bmFtZXMgdG8gdGhlIGhvc3QgZ2F0ZXdheSAoMTcyLjIwLjAuMSkKICAgIGRuczoKICAgICAgLSAxNzIuMjAuMC4yICAgICMgRWRnaWJsZSBETlMgc2VydmVyIChyZXNvbHZlcyBhcHAgaG9zdG5hbWVzKQogICAgICAtIDguOC44LjggICAgICAgIyBGYWxsYmFjayBwdWJsaWMgRE5TCiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZAoKdm9sdW1lczoKICBvcGVuLXdlYnVpOiB7fQoKIyBEZWZpbmUgdGhlIEROUyBuZXR3b3JrIGFzIGV4dGVybmFsIChjcmVhdGVkIGJ5IGFnZW50KQpuZXR3b3JrczoKICBlZGdpYmxlLWRucy1uZXR3b3JrOgogICAgZXh0ZXJuYWw6IHRydWUK";
9
+ /**
10
+ * Get the dockerComposePath value for Open WebUI application
11
+ * @returns Base64-prefixed compose content ready for API submission
12
+ */
13
+ export declare function getOpenWebUIComposeValue(): string;
14
+ //# sourceMappingURL=compose-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-constants.d.ts","sourceRoot":"","sources":["../../src/generated/compose-constants.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,6iEAA6iE,CAAC;AAEplE;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ // This file is auto-generated by scripts/generate-compose-constants.js
3
+ // Do not edit manually - changes will be overwritten on next build
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.OPEN_WEBUI_COMPOSE_BASE64 = void 0;
6
+ exports.getOpenWebUIComposeValue = getOpenWebUIComposeValue;
7
+ /**
8
+ * Base64-encoded docker-compose.yml for Open WebUI
9
+ * Source: recipes/compose/open-webui/docker-compose.yml
10
+ *
11
+ * When used in application configuration with 'base64:' prefix,
12
+ * the agent will decode and write to working directory.
13
+ */
14
+ exports.OPEN_WEBUI_COMPOSE_BASE64 = 'c2VydmljZXM6CiAgb3Blbi13ZWJ1aToKICAgIGltYWdlOiBnaGNyLmlvL29wZW4td2VidWkvb3Blbi13ZWJ1aToke1dFQlVJX0RPQ0tFUl9UQUctbWFpbn0KICAgIGNvbnRhaW5lcl9uYW1lOiBvcGVuLXdlYnVpCiAgICB2b2x1bWVzOgogICAgICAtIG9wZW4td2VidWk6L2FwcC9iYWNrZW5kL2RhdGEKICAgIHBvcnRzOgogICAgICAtICR7T1BFTl9XRUJVSV9QT1JULTMyMDB9OjgwODAKICAgIGVudmlyb25tZW50OgogICAgICAtICdFTkFCTEVfT0FVVEhfU0lHTlVQPXRydWUnCiAgICAgIC0gJ0VOQUJMRV9TSUdOVVA9dHJ1ZScKICAgICAgIyAtICdXRUJVSV9VUkw9b3Blbi13ZWJ1aS45ZmI4MzllOS1jZTJjLTRhYmQtOTRkNS0wNTFlNjk2Y2YxYjcuZWRnaWJsZS5jb20nCiAgICAgIC0gJ09MTEFNQV9CQVNFX1VSTD0ke09MTEFNQV9CQVNFX1VSTDotaHR0cDovL2hvc3QuZG9ja2VyLmludGVybmFsOjExNDM0fScKICAgICAgLSAnT0xMQU1BX0FQSV9LRVk9JHtPTExBTUFfQVBJX0tFWTotfScKICAgICAgIyAtICdXRUJVSV9TRUNSRVRfS0VZPTEyMycKICAgICAgLSAnV0VCVUlfQVVUSF9UUlVTVEVEX0VNQUlMX0hFQURFUj1YLUF1dGgtRW1haWwnCiAgICAgIC0gJ1dFQlVJX0FVVEhfVFJVU1RFRF9OQU1FX0hFQURFUj1YLUF1dGgtVXNlcicKICAgICAgIyAtICdXRUJVSV9BVVRIPWZhbHNlJwogICAgICAjIC0gJ1dFQlVJX1NFU1NJT05fQ09PS0lFX1NBTUVfU0lURT1sYXgnCiAgICAgICMgLSAnV0VCVUlfQVVUSF9DT09LSUVfU0FNRV9TSVRFPWxheCcKICAgICAgIyAtICdXRUJVSV9TRVNTSU9OX0NPT0tJRV9TRUNVUkU9ZmFsc2UnICAjIFNldCB0byBmYWxzZSBpZiB1c2luZyBIVFRQCiAgICAgICMgLSAnV0VCVUlfQVVUSF9DT09LSUVfU0VDVVJFPWZhbHNlJyAgICAgIyBTZXQgdG8gZmFsc2UgaWYgdXNpbmcgSFRUUAogICAgZXh0cmFfaG9zdHM6CiAgICAgIC0gaG9zdC5kb2NrZXIuaW50ZXJuYWw6aG9zdC1nYXRld2F5CiAgICAjIENvbm5lY3QgdG8gRE5TIG5ldHdvcmsgdG8gYWNjZXNzIEROUyBzZXJ2ZXIKICAgIG5ldHdvcmtzOgogICAgICAtIGVkZ2libGUtZG5zLW5ldHdvcmsKICAgICMgVXNlIEVkZ2libGUgRE5TIHNlcnZlciBmb3IgYXBwbGljYXRpb24gaG9zdG5hbWUgcmVzb2x1dGlvbgogICAgIyBUaGUgRE5TIHNlcnZlciBydW5zIGF0IDE3Mi4yMC4wLjIgd2l0aGluIHRoZSBlZGdpYmxlLWRucy1uZXR3b3JrCiAgICAjIGFuZCByZXNvbHZlcyBhcHBsaWNhdGlvbiBob3N0bmFtZXMgdG8gdGhlIGhvc3QgZ2F0ZXdheSAoMTcyLjIwLjAuMSkKICAgIGRuczoKICAgICAgLSAxNzIuMjAuMC4yICAgICMgRWRnaWJsZSBETlMgc2VydmVyIChyZXNvbHZlcyBhcHAgaG9zdG5hbWVzKQogICAgICAtIDguOC44LjggICAgICAgIyBGYWxsYmFjayBwdWJsaWMgRE5TCiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZAoKdm9sdW1lczoKICBvcGVuLXdlYnVpOiB7fQoKIyBEZWZpbmUgdGhlIEROUyBuZXR3b3JrIGFzIGV4dGVybmFsIChjcmVhdGVkIGJ5IGFnZW50KQpuZXR3b3JrczoKICBlZGdpYmxlLWRucy1uZXR3b3JrOgogICAgZXh0ZXJuYWw6IHRydWUK';
15
+ /**
16
+ * Get the dockerComposePath value for Open WebUI application
17
+ * @returns Base64-prefixed compose content ready for API submission
18
+ */
19
+ function getOpenWebUIComposeValue() {
20
+ return `base64:${exports.OPEN_WEBUI_COMPOSE_BASE64}`;
21
+ }
22
+ //# sourceMappingURL=compose-constants.js.map
@@ -15,6 +15,12 @@ export interface DaemonConfig {
15
15
  agentPath: string;
16
16
  logPath?: string;
17
17
  }
18
+ export interface LogsOptions {
19
+ follow: boolean;
20
+ lines?: number;
21
+ stdout?: boolean;
22
+ stderr?: boolean;
23
+ }
18
24
  export interface IDaemonManager {
19
25
  /**
20
26
  * Install and configure the daemon
@@ -40,9 +46,13 @@ export interface IDaemonManager {
40
46
  * View daemon logs
41
47
  * @param follow - If true, continuously stream logs (returns empty string and streams to stdout)
42
48
  * @param lines - Number of log lines to retrieve
49
+ * @param options - Optional log source options (stdout, stderr). If neither specified, reads from agent.log
43
50
  * @returns Log content as string (empty if follow mode)
44
51
  */
45
- logs(follow: boolean, lines?: number): Promise<string>;
52
+ logs(follow: boolean, lines?: number, options?: {
53
+ stdout?: boolean;
54
+ stderr?: boolean;
55
+ }): Promise<string>;
46
56
  /**
47
57
  * Enable daemon to start on boot
48
58
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IDaemonManager.d.ts","sourceRoot":"","sources":["../../src/interfaces/IDaemonManager.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC5E"}
1
+ {"version":3,"file":"IDaemonManager.d.ts","sourceRoot":"","sources":["../../src/interfaces/IDaemonManager.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhC;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzG;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC5E"}
@@ -22,7 +22,17 @@ export interface ApplicationService {
22
22
  useManagedGateway?: boolean;
23
23
  subtype: 'local-preexisting' | 'managed-docker' | 'systemd' | 'docker-compose' | 'managed-process';
24
24
  configuration?: Record<string, unknown>;
25
+ authModes?: Array<'none' | 'org' | 'api-key'>;
26
+ requireOrgAuth?: boolean;
27
+ allowedOrganizations?: string[];
25
28
  }): Promise<unknown>;
29
+ listApiKeys(applicationId: string): Promise<any[]>;
30
+ createApiKey(applicationId: string, name: string, expiresAt?: string): Promise<any>;
31
+ deleteApiKey(applicationId: string, keyId: string): Promise<void>;
32
+ listShortCodes(applicationId: string): Promise<any[]>;
33
+ createShortCode(applicationId: string, name: string, expiresAt?: string, maxUses?: number): Promise<any>;
34
+ updateShortCode(applicationId: string, codeId: string, updates: any): Promise<any>;
35
+ deleteShortCode(applicationId: string, codeId: string): Promise<void>;
26
36
  }
27
37
  export declare class ApplicationServiceImpl implements ApplicationService {
28
38
  private apiClient;
@@ -49,6 +59,37 @@ export declare class ApplicationServiceImpl implements ApplicationService {
49
59
  useManagedGateway?: boolean;
50
60
  subtype: 'local-preexisting' | 'managed-docker' | 'systemd' | 'docker-compose' | 'managed-process';
51
61
  configuration?: Record<string, unknown>;
62
+ authModes?: Array<'none' | 'org' | 'api-key'>;
63
+ requireOrgAuth?: boolean;
64
+ allowedOrganizations?: string[];
52
65
  }): Promise<unknown>;
66
+ /**
67
+ * List API keys for an application
68
+ */
69
+ listApiKeys(applicationId: string): Promise<any[]>;
70
+ /**
71
+ * Create an API key for an application
72
+ */
73
+ createApiKey(applicationId: string, name: string, expiresAt?: string): Promise<any>;
74
+ /**
75
+ * Delete an API key
76
+ */
77
+ deleteApiKey(applicationId: string, keyId: string): Promise<void>;
78
+ /**
79
+ * List short codes for an application
80
+ */
81
+ listShortCodes(applicationId: string): Promise<any[]>;
82
+ /**
83
+ * Create a short code for an application
84
+ */
85
+ createShortCode(applicationId: string, name: string, expiresAt?: string, maxUses?: number): Promise<any>;
86
+ /**
87
+ * Update a short code
88
+ */
89
+ updateShortCode(applicationId: string, codeId: string, updates: any): Promise<any>;
90
+ /**
91
+ * Delete a short code
92
+ */
93
+ deleteShortCode(applicationId: string, codeId: string): Promise<void>;
53
94
  }
54
95
  //# sourceMappingURL=ApplicationService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationService.d.ts","sourceRoot":"","sources":["../../../src/services/application/ApplicationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationService.d.ts","sourceRoot":"","sources":["../../../src/services/application/ApplicationService.ts"],"names":[],"mappings":"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"}
@@ -292,6 +292,17 @@ class ApplicationServiceImpl {
292
292
  if (params.useManagedGateway !== undefined) {
293
293
  createRequest.useManagedGateway = params.useManagedGateway;
294
294
  }
295
+ // Add authentication settings if specified
296
+ if (params.authModes !== undefined && params.authModes.length > 0) {
297
+ createRequest.authModes = params.authModes;
298
+ }
299
+ // Backward compatibility: convert requireOrgAuth to authModes if authModes not provided
300
+ if (params.authModes === undefined && params.requireOrgAuth !== undefined) {
301
+ createRequest.requireOrgAuth = params.requireOrgAuth;
302
+ }
303
+ if (params.allowedOrganizations !== undefined && params.allowedOrganizations.length > 0) {
304
+ createRequest.allowedOrganizations = params.allowedOrganizations;
305
+ }
295
306
  console.log(`application: ${params}`);
296
307
  const response = await this.apiClient.createApplication(createRequest);
297
308
  return response.application;
@@ -301,6 +312,102 @@ class ApplicationServiceImpl {
301
312
  throw new Error(`Failed to create application: ${error instanceof Error ? error.message : 'Unknown error'}`);
302
313
  }
303
314
  }
315
+ /**
316
+ * List API keys for an application
317
+ */
318
+ async listApiKeys(applicationId) {
319
+ try {
320
+ await this.authService.attemptAutoRelogin();
321
+ const response = await this.apiClient.listApplicationApiKeys(applicationId);
322
+ return response.keys || [];
323
+ }
324
+ catch (error) {
325
+ this.logger.error('Failed to list API keys', error);
326
+ throw new Error(`Failed to list API keys: ${error instanceof Error ? error.message : 'Unknown error'}`);
327
+ }
328
+ }
329
+ /**
330
+ * Create an API key for an application
331
+ */
332
+ async createApiKey(applicationId, name, expiresAt) {
333
+ try {
334
+ await this.authService.attemptAutoRelogin();
335
+ const response = await this.apiClient.createApplicationApiKey(applicationId, name, expiresAt);
336
+ return response;
337
+ }
338
+ catch (error) {
339
+ this.logger.error('Failed to create API key', error);
340
+ throw new Error(`Failed to create API key: ${error instanceof Error ? error.message : 'Unknown error'}`);
341
+ }
342
+ }
343
+ /**
344
+ * Delete an API key
345
+ */
346
+ async deleteApiKey(applicationId, keyId) {
347
+ try {
348
+ await this.authService.attemptAutoRelogin();
349
+ await this.apiClient.deleteApplicationApiKey(applicationId, keyId);
350
+ }
351
+ catch (error) {
352
+ this.logger.error('Failed to delete API key', error);
353
+ throw new Error(`Failed to delete API key: ${error instanceof Error ? error.message : 'Unknown error'}`);
354
+ }
355
+ }
356
+ /**
357
+ * List short codes for an application
358
+ */
359
+ async listShortCodes(applicationId) {
360
+ try {
361
+ await this.authService.attemptAutoRelogin();
362
+ const response = await this.apiClient.listApplicationShortCodes(applicationId);
363
+ return response.codes || [];
364
+ }
365
+ catch (error) {
366
+ this.logger.error('Failed to list short codes', error);
367
+ throw new Error(`Failed to list short codes: ${error instanceof Error ? error.message : 'Unknown error'}`);
368
+ }
369
+ }
370
+ /**
371
+ * Create a short code for an application
372
+ */
373
+ async createShortCode(applicationId, name, expiresAt, maxUses) {
374
+ try {
375
+ await this.authService.attemptAutoRelogin();
376
+ const response = await this.apiClient.createApplicationShortCode(applicationId, name, expiresAt, maxUses);
377
+ return response;
378
+ }
379
+ catch (error) {
380
+ this.logger.error('Failed to create short code', error);
381
+ throw new Error(`Failed to create short code: ${error instanceof Error ? error.message : 'Unknown error'}`);
382
+ }
383
+ }
384
+ /**
385
+ * Update a short code
386
+ */
387
+ async updateShortCode(applicationId, codeId, updates) {
388
+ try {
389
+ await this.authService.attemptAutoRelogin();
390
+ const response = await this.apiClient.updateApplicationShortCode(applicationId, codeId, updates);
391
+ return response;
392
+ }
393
+ catch (error) {
394
+ this.logger.error('Failed to update short code', error);
395
+ throw new Error(`Failed to update short code: ${error instanceof Error ? error.message : 'Unknown error'}`);
396
+ }
397
+ }
398
+ /**
399
+ * Delete a short code
400
+ */
401
+ async deleteShortCode(applicationId, codeId) {
402
+ try {
403
+ await this.authService.attemptAutoRelogin();
404
+ await this.apiClient.deleteApplicationShortCode(applicationId, codeId);
405
+ }
406
+ catch (error) {
407
+ this.logger.error('Failed to delete short code', error);
408
+ throw new Error(`Failed to delete short code: ${error instanceof Error ? error.message : 'Unknown error'}`);
409
+ }
410
+ }
304
411
  }
305
412
  exports.ApplicationServiceImpl = ApplicationServiceImpl;
306
413
  //# sourceMappingURL=ApplicationService.js.map
@@ -9,7 +9,10 @@ export declare class DockerDaemonManager implements IDaemonManager {
9
9
  stop(): Promise<void>;
10
10
  restart(): Promise<void>;
11
11
  status(): Promise<DaemonStatus>;
12
- logs(follow: boolean, lines?: number): Promise<string>;
12
+ logs(follow: boolean, lines?: number, options?: {
13
+ stdout?: boolean;
14
+ stderr?: boolean;
15
+ }): Promise<string>;
13
16
  enable(): Promise<void>;
14
17
  disable(): Promise<void>;
15
18
  uninstall(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"DockerDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/DockerDaemonManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM7F,qBAAa,mBAAoB,YAAW,cAAc;IACxD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA+B;;IAMzC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA0C/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B3D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;YAI5D,gBAAgB;YAShB,UAAU;IAqBxB,OAAO,CAAC,wBAAwB;YA+DlB,oBAAoB;YASpB,oBAAoB;YAwBpB,oBAAoB;YA+BpB,oBAAoB;CAkBnC"}
1
+ {"version":3,"file":"DockerDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/DockerDaemonManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM7F,qBAAa,mBAAoB,YAAW,cAAc;IACxD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA+B;;IAMzC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA0C/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B7G,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;YAI5D,gBAAgB;YAShB,UAAU;IAqBxB,OAAO,CAAC,wBAAwB;YA+DlB,oBAAoB;YASpB,oBAAoB;YAwBpB,oBAAoB;YA+BpB,oBAAoB;CAkBnC"}
@@ -136,7 +136,7 @@ class DockerDaemonManager {
136
136
  };
137
137
  }
138
138
  }
139
- async logs(follow, lines = 100) {
139
+ async logs(follow, lines = 100, options) {
140
140
  const followFlag = follow ? '-f' : '';
141
141
  if (follow) {
142
142
  const { spawn } = require('child_process');
@@ -9,7 +9,10 @@ export declare class LaunchdDaemonManager implements IDaemonManager {
9
9
  stop(): Promise<void>;
10
10
  restart(): Promise<void>;
11
11
  status(): Promise<DaemonStatus>;
12
- logs(follow: boolean, lines?: number): Promise<string>;
12
+ logs(follow: boolean, lines?: number, options?: {
13
+ stdout?: boolean;
14
+ stderr?: boolean;
15
+ }): Promise<string>;
13
16
  enable(): Promise<void>;
14
17
  disable(): Promise<void>;
15
18
  uninstall(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"LaunchdDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/LaunchdDaemonManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM7F,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;;IAYlB,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IASrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAiC/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAuG3D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;IAI1E,OAAO,CAAC,iBAAiB;CA8C1B"}
1
+ {"version":3,"file":"LaunchdDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/LaunchdDaemonManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM7F,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;;IAYlB,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IASrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAiC/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAsJ7G,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;IAI1E,OAAO,CAAC,iBAAiB;CA8C1B"}
@@ -125,47 +125,91 @@ class LaunchdDaemonManager {
125
125
  };
126
126
  }
127
127
  }
128
- async logs(follow, lines = 100) {
128
+ async logs(follow, lines = 100, options) {
129
129
  const stdoutLog = path.join(this.logPath, 'stdout.log');
130
130
  const stderrLog = path.join(this.logPath, 'stderr.log');
131
+ const agentLog = PathResolver_1.PathResolver.resolveAgentLogPath('launchd');
132
+ // Determine which log source to use
133
+ const useStdout = options?.stdout;
134
+ const useStderr = options?.stderr;
135
+ const useAgentLog = !useStdout && !useStderr; // Default to agent.log if neither flag is specified
131
136
  if (follow) {
132
137
  // Use tail -f for following logs
133
138
  const { spawn } = require('child_process');
134
- console.log('==> stdout.log <==');
135
- const stdoutProc = spawn('tail', ['-f', '-n', String(lines), stdoutLog], {
136
- stdio: 'inherit'
137
- });
138
- console.log('\n==> stderr.log <==');
139
- const stderrProc = spawn('tail', ['-f', '-n', String(lines), stderrLog], {
140
- stdio: 'inherit'
141
- });
142
- // Handle process termination
143
- process.on('SIGINT', () => {
144
- stdoutProc.kill('SIGTERM');
145
- stderrProc.kill('SIGTERM');
146
- process.exit(0);
147
- });
139
+ if (useAgentLog) {
140
+ console.log('==> agent.log <==');
141
+ const agentProc = spawn('tail', ['-f', '-n', String(lines), agentLog], {
142
+ stdio: 'inherit'
143
+ });
144
+ process.on('SIGINT', () => {
145
+ agentProc.kill('SIGTERM');
146
+ process.exit(0);
147
+ });
148
+ }
149
+ else {
150
+ if (useStdout) {
151
+ console.log('==> stdout.log <==');
152
+ const stdoutProc = spawn('tail', ['-f', '-n', String(lines), stdoutLog], {
153
+ stdio: 'inherit'
154
+ });
155
+ process.on('SIGINT', () => {
156
+ stdoutProc.kill('SIGTERM');
157
+ process.exit(0);
158
+ });
159
+ }
160
+ if (useStderr) {
161
+ console.log('\n==> stderr.log <==');
162
+ const stderrProc = spawn('tail', ['-f', '-n', String(lines), stderrLog], {
163
+ stdio: 'inherit'
164
+ });
165
+ process.on('SIGINT', () => {
166
+ stderrProc.kill('SIGTERM');
167
+ process.exit(0);
168
+ });
169
+ }
170
+ }
148
171
  // Return empty string for follow mode as logs are streamed to stdout
149
172
  return '';
150
173
  }
151
174
  else {
152
175
  try {
153
- // Read both log files
176
+ // If using agent.log (default), read from it directly
177
+ if (useAgentLog) {
178
+ try {
179
+ const { stdout: agentContent } = await execAsync(`tail -n ${lines} "${agentLog}"`);
180
+ return agentContent;
181
+ }
182
+ catch (error) {
183
+ throw new Error(`Failed to read agent.log: ${error instanceof Error ? error.message : String(error)}`);
184
+ }
185
+ }
186
+ // Otherwise, read from stdout/stderr as specified
154
187
  let stdoutLines = [];
155
188
  let stderrLines = [];
156
- try {
157
- const { stdout: stdoutContent } = await execAsync(`tail -n ${lines} ${stdoutLog}`);
158
- stdoutLines = stdoutContent.split('\n').filter(line => line.trim());
189
+ if (useStdout) {
190
+ try {
191
+ const { stdout: stdoutContent } = await execAsync(`tail -n ${lines} ${stdoutLog}`);
192
+ stdoutLines = stdoutContent.split('\n').filter(line => line.trim());
193
+ }
194
+ catch (error) {
195
+ // File might not exist yet
196
+ }
159
197
  }
160
- catch (error) {
161
- // File might not exist yet
198
+ if (useStderr) {
199
+ try {
200
+ const { stdout: stderrContent } = await execAsync(`tail -n ${lines} ${stderrLog}`);
201
+ stderrLines = stderrContent.split('\n').filter(line => line.trim());
202
+ }
203
+ catch (error) {
204
+ // File might not exist yet
205
+ }
162
206
  }
163
- try {
164
- const { stdout: stderrContent } = await execAsync(`tail -n ${lines} ${stderrLog}`);
165
- stderrLines = stderrContent.split('\n').filter(line => line.trim());
207
+ // If only one source is requested, return it directly
208
+ if (useStdout && !useStderr) {
209
+ return stdoutLines.join('\n');
166
210
  }
167
- catch (error) {
168
- // File might not exist yet
211
+ if (useStderr && !useStdout) {
212
+ return stderrLines.join('\n');
169
213
  }
170
214
  const parsedLogs = [];
171
215
  // Parse stdout logs
@@ -10,7 +10,10 @@ export declare class PodmanDaemonManager implements IDaemonManager {
10
10
  stop(): Promise<void>;
11
11
  restart(): Promise<void>;
12
12
  status(): Promise<DaemonStatus>;
13
- logs(follow: boolean, lines?: number): Promise<string>;
13
+ logs(follow: boolean, lines?: number, options?: {
14
+ stdout?: boolean;
15
+ stderr?: boolean;
16
+ }): Promise<string>;
14
17
  enable(): Promise<void>;
15
18
  disable(): Promise<void>;
16
19
  uninstall(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"PodmanDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/PodmanDaemonManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM7F,qBAAa,mBAAoB,YAAW,cAAc;IACxD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,eAAe,CAAS;;IAO1B,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAkD/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAwB3D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAavB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;YAI5D,gBAAgB;YAShB,UAAU;IAqBxB,OAAO,CAAC,wBAAwB;YAyElB,iBAAiB;CAoChC"}
1
+ {"version":3,"file":"PodmanDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/PodmanDaemonManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM7F,qBAAa,mBAAoB,YAAW,cAAc;IACxD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,eAAe,CAAS;;IAO1B,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAkD/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAwB7G,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAavB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;YAI5D,gBAAgB;YAShB,UAAU;IAqBxB,OAAO,CAAC,wBAAwB;YAyElB,iBAAiB;CAoChC"}
@@ -166,7 +166,7 @@ class PodmanDaemonManager {
166
166
  };
167
167
  }
168
168
  }
169
- async logs(follow, lines = 100) {
169
+ async logs(follow, lines = 100, options) {
170
170
  if (follow) {
171
171
  const { spawn } = require('child_process');
172
172
  const proc = spawn('podman', ['logs', this.containerName, '--tail', String(lines), '-f'], {
@@ -8,7 +8,10 @@ export declare class SystemdDaemonManager implements IDaemonManager {
8
8
  stop(): Promise<void>;
9
9
  restart(): Promise<void>;
10
10
  status(): Promise<DaemonStatus>;
11
- logs(follow: boolean, lines?: number): Promise<string>;
11
+ logs(follow: boolean, lines?: number, options?: {
12
+ stdout?: boolean;
13
+ stderr?: boolean;
14
+ }): Promise<string>;
12
15
  enable(): Promise<void>;
13
16
  disable(): Promise<void>;
14
17
  uninstall(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"SystemdDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/SystemdDaemonManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM7F,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,eAAe,CAA6D;;IAQ9E,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA0B/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B3D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;YAI5D,SAAS;IASvB,OAAO,CAAC,mBAAmB;CAuB5B"}
1
+ {"version":3,"file":"SystemdDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/SystemdDaemonManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM7F,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,eAAe,CAA6D;;IAQ9E,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA0B/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B7G,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;YAI5D,SAAS;IASvB,OAAO,CAAC,mBAAmB;CAuB5B"}
@@ -113,7 +113,7 @@ class SystemdDaemonManager {
113
113
  };
114
114
  }
115
115
  }
116
- async logs(follow, lines = 100) {
116
+ async logs(follow, lines = 100, options) {
117
117
  const followFlag = follow ? '-f' : '';
118
118
  const command = `journalctl -u ${this.serviceName} -n ${lines} ${followFlag}`;
119
119
  if (follow) {
@@ -9,7 +9,10 @@ export declare class WindowsServiceDaemonManager implements IDaemonManager {
9
9
  stop(): Promise<void>;
10
10
  restart(): Promise<void>;
11
11
  status(): Promise<DaemonStatus>;
12
- logs(follow: boolean, lines?: number): Promise<string>;
12
+ logs(follow: boolean, lines?: number, options?: {
13
+ stdout?: boolean;
14
+ stderr?: boolean;
15
+ }): Promise<string>;
13
16
  enable(): Promise<void>;
14
17
  disable(): Promise<void>;
15
18
  uninstall(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"WindowsServiceDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/WindowsServiceDaemonManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAK7F,qBAAa,2BAA4B,YAAW,cAAc;IAChE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,WAAW,CAAwE;;IAQrF,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA2B/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IA4C3D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;CAG3E"}
1
+ {"version":3,"file":"WindowsServiceDaemonManager.d.ts","sourceRoot":"","sources":["../../../src/services/daemon/WindowsServiceDaemonManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM7F,qBAAa,2BAA4B,YAAW,cAAc;IAChE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,WAAW,CAAwE;;IAQrF,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA2B/B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA4C7G,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ;CAG3E"}
@@ -39,6 +39,7 @@ const util_1 = require("util");
39
39
  const fs = __importStar(require("fs/promises"));
40
40
  const path = __importStar(require("path"));
41
41
  const PlatformDetector_1 = require("../../utils/PlatformDetector");
42
+ const PathResolver_1 = require("../../utils/PathResolver");
42
43
  const execAsync = (0, util_1.promisify)(child_process_1.exec);
43
44
  class WindowsServiceDaemonManager {
44
45
  constructor() {
@@ -128,10 +129,10 @@ class WindowsServiceDaemonManager {
128
129
  };
129
130
  }
130
131
  }
131
- async logs(follow, lines = 100) {
132
+ async logs(follow, lines = 100, options) {
132
133
  // Windows Event Log integration would be more complex
133
134
  // For now, we'll try to read from a log file if the agent writes one
134
- const logPath = path.join(process.env.EDGIBLE_CONFIG_PATH || path.join(process.env.USERPROFILE || 'C:\\', '.edgible', 'agent'), 'logs', 'agent.log');
135
+ const logPath = PathResolver_1.PathResolver.resolveAgentLogPath('windows-service');
135
136
  try {
136
137
  if (follow) {
137
138
  console.log('Following logs (press Ctrl+C to stop)...');
@@ -53,6 +53,19 @@ export interface AgentConfig {
53
53
  * Defaults to 600000 (10 minutes)
54
54
  */
55
55
  fullSyncInterval?: number;
56
+ /**
57
+ * DNS server configuration for container hostname resolution
58
+ */
59
+ dns?: {
60
+ enabled?: boolean;
61
+ containerName?: string;
62
+ networkName?: string;
63
+ networkSubnet?: string;
64
+ dnsServerIp?: string;
65
+ hostGatewayIp?: string;
66
+ configPath?: string;
67
+ upstreamDns?: string[];
68
+ };
56
69
  }
57
70
  export interface HealthStatus {
58
71
  status: 'healthy' | 'unhealthy' | 'timeout' | 'error' | 'pending';
@@ -1 +1 @@
1
- {"version":3,"file":"AgentConfig.d.ts","sourceRoot":"","sources":["../../src/types/AgentConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentConfig.d.ts","sourceRoot":"","sources":["../../src/types/AgentConfig.ts"],"names":[],"mappings":"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"}
@@ -119,6 +119,14 @@ export interface CreateApplicationRequest {
119
119
  useManagedGateway?: boolean;
120
120
  subtype: 'local-preexisting' | 'managed-docker' | 'systemd' | 'docker-compose' | 'managed-process';
121
121
  organizationId: string;
122
+ /** Authentication modes for this application */
123
+ authModes?: Array<'none' | 'org' | 'api-key'>;
124
+ /** @deprecated Use authModes instead. Enable organization-level authentication for this application */
125
+ requireOrgAuth?: boolean;
126
+ /** List of organization IDs allowed to access this application (requires requireOrgAuth) */
127
+ allowedOrganizations?: string[];
128
+ /** Custom headers to add to requests before forwarding to the application */
129
+ customHeaders?: Record<string, string>;
122
130
  }
123
131
  export interface DeleteApplicationRequest {
124
132
  applicationId: string;