epismo 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +84 -75
  3. package/npm/bin/epismo.exe +1 -0
  4. package/npm/install.js +82 -0
  5. package/package.json +30 -38
  6. package/dist/analytics.js +0 -44
  7. package/dist/analytics.js.map +0 -1
  8. package/dist/api.js +0 -111
  9. package/dist/api.js.map +0 -1
  10. package/dist/auth.js +0 -658
  11. package/dist/auth.js.map +0 -1
  12. package/dist/bin.js +0 -3
  13. package/dist/bin.js.map +0 -1
  14. package/dist/cases.js +0 -25
  15. package/dist/cases.js.map +0 -1
  16. package/dist/config.js +0 -109
  17. package/dist/config.js.map +0 -1
  18. package/dist/context.js +0 -16
  19. package/dist/context.js.map +0 -1
  20. package/dist/credits.js +0 -31
  21. package/dist/credits.js.map +0 -1
  22. package/dist/errors.js +0 -111
  23. package/dist/errors.js.map +0 -1
  24. package/dist/index.js +0 -36
  25. package/dist/index.js.map +0 -1
  26. package/dist/input.js +0 -211
  27. package/dist/input.js.map +0 -1
  28. package/dist/output.js +0 -10
  29. package/dist/output.js.map +0 -1
  30. package/dist/playbook-program.js +0 -470
  31. package/dist/playbook-program.js.map +0 -1
  32. package/dist/playbooks.js +0 -62
  33. package/dist/playbooks.js.map +0 -1
  34. package/dist/program.js +0 -368
  35. package/dist/program.js.map +0 -1
  36. package/dist/projects.js +0 -54
  37. package/dist/projects.js.map +0 -1
  38. package/dist/records.js +0 -12
  39. package/dist/records.js.map +0 -1
  40. package/dist/suggestions.js +0 -15
  41. package/dist/suggestions.js.map +0 -1
  42. package/dist/token.js +0 -10
  43. package/dist/token.js.map +0 -1
  44. package/dist/update-check.js +0 -121
  45. package/dist/update-check.js.map +0 -1
  46. package/dist/workspace.js +0 -19
  47. package/dist/workspace.js.map +0 -1
  48. package/dist/workspaces.js +0 -61
  49. package/dist/workspaces.js.map +0 -1
package/dist/api.js DELETED
@@ -1,111 +0,0 @@
1
- import { createRequire } from "node:module";
2
- import { CliError } from "./errors.js";
3
- // Read CLI version once at module load. Kept in User-Agent as raw request metadata.
4
- const pkg = createRequire(import.meta.url)("../package.json");
5
- const CLI_USER_AGENT = `epismo/${pkg.version}`;
6
- export function withWorkspaceQuery(pathname, workspaceId) {
7
- if (!workspaceId?.trim()) {
8
- return pathname;
9
- }
10
- const params = new URLSearchParams({ workspaceId: workspaceId.trim() });
11
- const separator = pathname.includes("?") ? "&" : "?";
12
- return `${pathname}${separator}${params.toString()}`;
13
- }
14
- export async function requestJson(apiUrl, pathname, options = {}) {
15
- const headers = {
16
- "user-agent": CLI_USER_AGENT,
17
- "x-epismo-source": "cli"
18
- };
19
- if (options.body !== undefined) {
20
- headers["content-type"] = "application/json";
21
- }
22
- if (options.authToken) {
23
- headers.authorization = `Bearer ${options.authToken}`;
24
- }
25
- const controller = new AbortController();
26
- const timeoutId = setTimeout(() => controller.abort(), 30_000);
27
- let response;
28
- try {
29
- response = await fetch(`${apiUrl}${pathname}`, {
30
- method: options.method ?? "GET",
31
- headers,
32
- body: options.body !== undefined ? JSON.stringify(options.body) : undefined,
33
- signal: controller.signal
34
- });
35
- }
36
- catch (error) {
37
- if (error instanceof Error && error.name === "AbortError") {
38
- throw new CliError({
39
- code: "REQUEST_TIMEOUT",
40
- message: "Request timed out.",
41
- retryable: true
42
- });
43
- }
44
- const message = error instanceof Error ? error.message : String(error);
45
- throw new CliError({
46
- code: "NETWORK_ERROR",
47
- message,
48
- retryable: true
49
- });
50
- }
51
- finally {
52
- clearTimeout(timeoutId);
53
- }
54
- const text = await response.text();
55
- let parsed = {};
56
- if (text) {
57
- try {
58
- parsed = JSON.parse(text);
59
- }
60
- catch {
61
- parsed = { error: text };
62
- }
63
- }
64
- if (!response.ok) {
65
- const payload = parsed && typeof parsed === "object" && !Array.isArray(parsed)
66
- ? parsed
67
- : {};
68
- const message = typeof payload.error === "string"
69
- ? payload.error
70
- : typeof payload.error_description === "string"
71
- ? payload.error_description
72
- : typeof payload.message === "string"
73
- ? payload.message
74
- : `HTTP ${response.status}`;
75
- // Surface Retry-After (seconds or HTTP-date) so callers can wait the exact
76
- // window instead of guessing — relevant for 429s on the OTP send endpoint.
77
- const retryAfter = response.headers.get("retry-after");
78
- throw new CliError({
79
- code: mapHttpErrorCode(response.status),
80
- message,
81
- retryable: response.status >= 500 || response.status === 429,
82
- details: {
83
- status: response.status,
84
- pathname,
85
- ...(retryAfter ? { retryAfter } : {})
86
- }
87
- });
88
- }
89
- return parsed;
90
- }
91
- function mapHttpErrorCode(status) {
92
- switch (status) {
93
- case 400:
94
- return "BAD_REQUEST";
95
- case 401:
96
- return "UNAUTHORIZED";
97
- case 403:
98
- return "FORBIDDEN";
99
- case 404:
100
- return "NOT_FOUND";
101
- case 409:
102
- return "CONFLICT";
103
- case 422:
104
- return "UNPROCESSABLE_ENTITY";
105
- case 429:
106
- return "RATE_LIMITED";
107
- default:
108
- return status >= 500 ? "SERVER_ERROR" : "HTTP_ERROR";
109
- }
110
- }
111
- //# sourceMappingURL=api.js.map
package/dist/api.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}