@detent/sdk 0.0.0 → 0.1.1

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 (162) hide show
  1. package/README.md +4 -8
  2. package/_speakeasy/.github/action-inputs-config.json +53 -0
  3. package/_speakeasy/.github/action-security-config.json +88 -0
  4. package/dist/commonjs/lib/config.d.ts +3 -3
  5. package/dist/commonjs/lib/config.js +3 -3
  6. package/dist/esm/lib/config.d.ts +3 -3
  7. package/dist/esm/lib/config.js +3 -3
  8. package/examples/package-lock.json +1 -1
  9. package/jsr.json +1 -1
  10. package/package.json +5 -1
  11. package/src/lib/config.ts +3 -3
  12. package/.speakeasy/temp/downloaded_DebOqZlrza.json +0 -1
  13. package/.speakeasy/temp/downloaded_YLnaAbCoUV.json +0 -1
  14. package/examples/node_modules/.package-lock.json +0 -174
  15. package/examples/node_modules/@esbuild/darwin-arm64/package.json +0 -20
  16. package/examples/node_modules/@types/node/assert/strict.d.ts +0 -8
  17. package/examples/node_modules/@types/node/assert.d.ts +0 -1062
  18. package/examples/node_modules/@types/node/async_hooks.d.ts +0 -605
  19. package/examples/node_modules/@types/node/buffer.buffer.d.ts +0 -471
  20. package/examples/node_modules/@types/node/buffer.d.ts +0 -1936
  21. package/examples/node_modules/@types/node/child_process.d.ts +0 -1475
  22. package/examples/node_modules/@types/node/cluster.d.ts +0 -577
  23. package/examples/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  24. package/examples/node_modules/@types/node/compatibility/index.d.ts +0 -9
  25. package/examples/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  26. package/examples/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  27. package/examples/node_modules/@types/node/console.d.ts +0 -452
  28. package/examples/node_modules/@types/node/constants.d.ts +0 -21
  29. package/examples/node_modules/@types/node/crypto.d.ts +0 -4590
  30. package/examples/node_modules/@types/node/dgram.d.ts +0 -597
  31. package/examples/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  32. package/examples/node_modules/@types/node/dns/promises.d.ts +0 -479
  33. package/examples/node_modules/@types/node/dns.d.ts +0 -871
  34. package/examples/node_modules/@types/node/domain.d.ts +0 -170
  35. package/examples/node_modules/@types/node/events.d.ts +0 -977
  36. package/examples/node_modules/@types/node/fs/promises.d.ts +0 -1270
  37. package/examples/node_modules/@types/node/fs.d.ts +0 -4375
  38. package/examples/node_modules/@types/node/globals.d.ts +0 -172
  39. package/examples/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  40. package/examples/node_modules/@types/node/http.d.ts +0 -2049
  41. package/examples/node_modules/@types/node/http2.d.ts +0 -2631
  42. package/examples/node_modules/@types/node/https.d.ts +0 -578
  43. package/examples/node_modules/@types/node/index.d.ts +0 -93
  44. package/examples/node_modules/@types/node/inspector.generated.d.ts +0 -3966
  45. package/examples/node_modules/@types/node/module.d.ts +0 -539
  46. package/examples/node_modules/@types/node/net.d.ts +0 -1012
  47. package/examples/node_modules/@types/node/os.d.ts +0 -506
  48. package/examples/node_modules/@types/node/package.json +0 -140
  49. package/examples/node_modules/@types/node/path.d.ts +0 -200
  50. package/examples/node_modules/@types/node/perf_hooks.d.ts +0 -961
  51. package/examples/node_modules/@types/node/process.d.ts +0 -1966
  52. package/examples/node_modules/@types/node/punycode.d.ts +0 -117
  53. package/examples/node_modules/@types/node/querystring.d.ts +0 -152
  54. package/examples/node_modules/@types/node/readline/promises.d.ts +0 -162
  55. package/examples/node_modules/@types/node/readline.d.ts +0 -589
  56. package/examples/node_modules/@types/node/repl.d.ts +0 -430
  57. package/examples/node_modules/@types/node/sea.d.ts +0 -153
  58. package/examples/node_modules/@types/node/stream/consumers.d.ts +0 -38
  59. package/examples/node_modules/@types/node/stream/promises.d.ts +0 -90
  60. package/examples/node_modules/@types/node/stream/web.d.ts +0 -533
  61. package/examples/node_modules/@types/node/stream.d.ts +0 -1675
  62. package/examples/node_modules/@types/node/string_decoder.d.ts +0 -67
  63. package/examples/node_modules/@types/node/test.d.ts +0 -1787
  64. package/examples/node_modules/@types/node/timers/promises.d.ts +0 -108
  65. package/examples/node_modules/@types/node/timers.d.ts +0 -286
  66. package/examples/node_modules/@types/node/tls.d.ts +0 -1259
  67. package/examples/node_modules/@types/node/trace_events.d.ts +0 -197
  68. package/examples/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  69. package/examples/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  70. package/examples/node_modules/@types/node/ts5.6/index.d.ts +0 -93
  71. package/examples/node_modules/@types/node/tty.d.ts +0 -208
  72. package/examples/node_modules/@types/node/url.d.ts +0 -964
  73. package/examples/node_modules/@types/node/util.d.ts +0 -2331
  74. package/examples/node_modules/@types/node/v8.d.ts +0 -809
  75. package/examples/node_modules/@types/node/vm.d.ts +0 -1001
  76. package/examples/node_modules/@types/node/wasi.d.ts +0 -181
  77. package/examples/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  78. package/examples/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  79. package/examples/node_modules/@types/node/web-globals/events.d.ts +0 -97
  80. package/examples/node_modules/@types/node/web-globals/fetch.d.ts +0 -46
  81. package/examples/node_modules/@types/node/worker_threads.d.ts +0 -715
  82. package/examples/node_modules/@types/node/zlib.d.ts +0 -540
  83. package/examples/node_modules/dotenv/config.d.ts +0 -1
  84. package/examples/node_modules/dotenv/config.js +0 -9
  85. package/examples/node_modules/dotenv/lib/cli-options.js +0 -17
  86. package/examples/node_modules/dotenv/lib/env-options.js +0 -28
  87. package/examples/node_modules/dotenv/lib/main.d.ts +0 -162
  88. package/examples/node_modules/dotenv/lib/main.js +0 -386
  89. package/examples/node_modules/dotenv/package.json +0 -62
  90. package/examples/node_modules/esbuild/install.js +0 -289
  91. package/examples/node_modules/esbuild/lib/main.d.ts +0 -716
  92. package/examples/node_modules/esbuild/lib/main.js +0 -2242
  93. package/examples/node_modules/esbuild/package.json +0 -49
  94. package/examples/node_modules/fsevents/fsevents.d.ts +0 -46
  95. package/examples/node_modules/fsevents/fsevents.js +0 -83
  96. package/examples/node_modules/fsevents/package.json +0 -62
  97. package/examples/node_modules/get-tsconfig/dist/index.mjs +0 -7
  98. package/examples/node_modules/get-tsconfig/package.json +0 -46
  99. package/examples/node_modules/resolve-pkg-maps/dist/index.mjs +0 -1
  100. package/examples/node_modules/resolve-pkg-maps/package.json +0 -42
  101. package/examples/node_modules/tsx/dist/cjs/api/index.mjs +0 -1
  102. package/examples/node_modules/tsx/dist/cjs/index.mjs +0 -1
  103. package/examples/node_modules/tsx/dist/cli.mjs +0 -55
  104. package/examples/node_modules/tsx/dist/client-BQVF1NaW.mjs +0 -1
  105. package/examples/node_modules/tsx/dist/esm/api/index.mjs +0 -1
  106. package/examples/node_modules/tsx/dist/esm/index.mjs +0 -2
  107. package/examples/node_modules/tsx/dist/get-pipe-path-BHW2eJdv.mjs +0 -1
  108. package/examples/node_modules/tsx/dist/index-7AaEi15b.mjs +0 -14
  109. package/examples/node_modules/tsx/dist/index-gbaejti9.mjs +0 -1
  110. package/examples/node_modules/tsx/dist/lexer-DQCqS3nf.mjs +0 -3
  111. package/examples/node_modules/tsx/dist/loader.mjs +0 -1
  112. package/examples/node_modules/tsx/dist/node-features-_8ZFwP_x.mjs +0 -1
  113. package/examples/node_modules/tsx/dist/package-CeBgXWuR.mjs +0 -1
  114. package/examples/node_modules/tsx/dist/patch-repl.mjs +0 -1
  115. package/examples/node_modules/tsx/dist/preflight.mjs +0 -1
  116. package/examples/node_modules/tsx/dist/register-B7jrtLTO.mjs +0 -1
  117. package/examples/node_modules/tsx/dist/register-CFH5oNdT.mjs +0 -4
  118. package/examples/node_modules/tsx/dist/repl.mjs +0 -3
  119. package/examples/node_modules/tsx/dist/require-DQxpCAr4.mjs +0 -1
  120. package/examples/node_modules/tsx/dist/suppress-warnings.mjs +0 -1
  121. package/examples/node_modules/tsx/dist/temporary-directory-CwHp0_NW.mjs +0 -1
  122. package/examples/node_modules/tsx/dist/types-Cxp8y2TL.d.ts +0 -5
  123. package/examples/node_modules/tsx/package.json +0 -68
  124. package/examples/node_modules/undici-types/agent.d.ts +0 -31
  125. package/examples/node_modules/undici-types/api.d.ts +0 -43
  126. package/examples/node_modules/undici-types/balanced-pool.d.ts +0 -29
  127. package/examples/node_modules/undici-types/cache.d.ts +0 -36
  128. package/examples/node_modules/undici-types/client.d.ts +0 -108
  129. package/examples/node_modules/undici-types/connector.d.ts +0 -34
  130. package/examples/node_modules/undici-types/content-type.d.ts +0 -21
  131. package/examples/node_modules/undici-types/cookies.d.ts +0 -28
  132. package/examples/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  133. package/examples/node_modules/undici-types/dispatcher.d.ts +0 -256
  134. package/examples/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  135. package/examples/node_modules/undici-types/errors.d.ts +0 -149
  136. package/examples/node_modules/undici-types/eventsource.d.ts +0 -61
  137. package/examples/node_modules/undici-types/fetch.d.ts +0 -209
  138. package/examples/node_modules/undici-types/file.d.ts +0 -39
  139. package/examples/node_modules/undici-types/filereader.d.ts +0 -54
  140. package/examples/node_modules/undici-types/formdata.d.ts +0 -108
  141. package/examples/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  142. package/examples/node_modules/undici-types/global-origin.d.ts +0 -7
  143. package/examples/node_modules/undici-types/handlers.d.ts +0 -15
  144. package/examples/node_modules/undici-types/header.d.ts +0 -4
  145. package/examples/node_modules/undici-types/index.d.ts +0 -71
  146. package/examples/node_modules/undici-types/interceptors.d.ts +0 -17
  147. package/examples/node_modules/undici-types/mock-agent.d.ts +0 -50
  148. package/examples/node_modules/undici-types/mock-client.d.ts +0 -25
  149. package/examples/node_modules/undici-types/mock-errors.d.ts +0 -12
  150. package/examples/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  151. package/examples/node_modules/undici-types/mock-pool.d.ts +0 -25
  152. package/examples/node_modules/undici-types/package.json +0 -55
  153. package/examples/node_modules/undici-types/patch.d.ts +0 -33
  154. package/examples/node_modules/undici-types/pool-stats.d.ts +0 -19
  155. package/examples/node_modules/undici-types/pool.d.ts +0 -39
  156. package/examples/node_modules/undici-types/proxy-agent.d.ts +0 -28
  157. package/examples/node_modules/undici-types/readable.d.ts +0 -65
  158. package/examples/node_modules/undici-types/retry-agent.d.ts +0 -8
  159. package/examples/node_modules/undici-types/retry-handler.d.ts +0 -116
  160. package/examples/node_modules/undici-types/util.d.ts +0 -18
  161. package/examples/node_modules/undici-types/webidl.d.ts +0 -228
  162. package/examples/node_modules/undici-types/websocket.d.ts +0 -150
package/README.md CHANGED
@@ -39,34 +39,30 @@ Detent API: Self-healing CI/CD platform. Parse CI logs, match error patterns, an
39
39
  <!-- Start SDK Installation [installation] -->
40
40
  ## SDK Installation
41
41
 
42
- > [!TIP]
43
- > To finish publishing your SDK to npm and others you must [run your first generation action](https://www.speakeasy.com/docs/github-setup#step-by-step-guide).
44
-
45
-
46
42
  The SDK can be installed with either [npm](https://www.npmjs.com/), [pnpm](https://pnpm.io/), [bun](https://bun.sh/) or [yarn](https://classic.yarnpkg.com/en/) package managers.
47
43
 
48
44
  ### NPM
49
45
 
50
46
  ```bash
51
- npm add <UNSET>
47
+ npm add @detent/sdk
52
48
  ```
53
49
 
54
50
  ### PNPM
55
51
 
56
52
  ```bash
57
- pnpm add <UNSET>
53
+ pnpm add @detent/sdk
58
54
  ```
59
55
 
60
56
  ### Bun
61
57
 
62
58
  ```bash
63
- bun add <UNSET>
59
+ bun add @detent/sdk
64
60
  ```
65
61
 
66
62
  ### Yarn
67
63
 
68
64
  ```bash
69
- yarn add <UNSET>
65
+ yarn add @detent/sdk
70
66
  ```
71
67
 
72
68
  > [!NOTE]
@@ -0,0 +1,53 @@
1
+ [
2
+ {
3
+ "name": "mode",
4
+ "validation_regex": "/^(direct|pr)$/.source",
5
+ "validation_message": "Must be `direct` or `pr`"
6
+ },
7
+ {
8
+ "name": "speakeasy_version",
9
+ "validation_regex": "/^[\\w.\\-]+$/.source",
10
+ "validation_message": "Letters, numbers, or .-_ only"
11
+ },
12
+ {
13
+ "name": "openapi_doc_location",
14
+ "validation_regex": "/^((https?):\\/\\/([\\w\\-]+\\.)+\\w+(\\/.*)?|[\\w.\\-\\/]+)$/i.source",
15
+ "validation_message": "Must be a valid server URL or file path containing letters, numbers, or .-_/ only"
16
+ },
17
+ {
18
+ "name": "openapi_doc_auth_header",
19
+ "validation_regex": "/^[A-Za-z\\-]+$/.source",
20
+ "validation_message": "Letters or - only"
21
+ },
22
+ {
23
+ "name": "create_release"
24
+ },
25
+ {
26
+ "name": "publish_python",
27
+ "language": "python"
28
+ },
29
+ {
30
+ "name": "publish_typescript",
31
+ "language": "typescript"
32
+ },
33
+ {
34
+ "name": "publish_java",
35
+ "language": "java"
36
+ },
37
+ {
38
+ "name": "publish_php",
39
+ "language": "php"
40
+ },
41
+ {
42
+ "name": "publish_ruby",
43
+ "language": "ruby"
44
+ },
45
+ {
46
+ "name": "publish_csharp",
47
+ "language": "csharp"
48
+ },
49
+ {
50
+ "name": "publish_terraform",
51
+ "language": "terraform"
52
+ }
53
+ ]
@@ -0,0 +1,88 @@
1
+ [
2
+ {
3
+ "name": "pypi_token",
4
+ "secret_name": "PYPI_TOKEN",
5
+ "validation_regex": "/^[\\w.\\-]+$/.source",
6
+ "validation_message": "Letters, numbers, or .-_ only",
7
+ "language": "python"
8
+ },
9
+ {
10
+ "name": "npm_token",
11
+ "secret_name": "NPM_TOKEN",
12
+ "validation_regex": "/^[\\w.\\-]+$/.source",
13
+ "validation_message": "Letters, numbers, or .-_ only",
14
+ "language": "typescript"
15
+ },
16
+ {
17
+ "name": "packagist_username",
18
+ "validation_regex": "/^[\\w.\\-]+$/.source",
19
+ "validation_message": "Letters, numbers, or .-_ only",
20
+ "language": "php"
21
+ },
22
+ {
23
+ "name": "packagist_token",
24
+ "validation_regex": "/^[\\w.\\-]+$/.source",
25
+ "validation_message": "Letters, numbers, or .-_ only",
26
+ "language": "php"
27
+ },
28
+ {
29
+ "name": "openapi_doc_auth_token",
30
+ "secret_name": "SPEC_TOKEN",
31
+ "validation_regex": "/^[\\w.\\-]+$/.source",
32
+ "validation_message": "Letters, numbers, or .-_ only"
33
+ },
34
+ {
35
+ "name": "speakeasy_api_key",
36
+ "secret_name": "SPEAKEASY_API_KEY",
37
+ "validation_regex": "/^[\\w.\\-]+$/.source",
38
+ "validation_message": "Letters, numbers, or .-_ only"
39
+ },
40
+ {
41
+ "name": "ossrh_username",
42
+ "secret_name": "MAVEN_USERNAME",
43
+ "validation_regex": "/^[\\w.\\-]+$/.source",
44
+ "validation_message": "Letters, numbers, or .-_ only",
45
+ "language": "java"
46
+ },
47
+ {
48
+ "name": "ossrh_password",
49
+ "secret_name": "MAVEN_PASSWORD",
50
+ "language": "java"
51
+ },
52
+ {
53
+ "name": "java_gpg_secret_key",
54
+ "validation_regex": "/^[\\w.\\-\\t \\r\\n]+$/.source",
55
+ "validation_message": "Letters, numbers, tabs, spaces, newlines, or .-_ only",
56
+ "language": "java"
57
+ },
58
+ {
59
+ "name": "java_gpg_passphrase",
60
+ "language": "java"
61
+ },
62
+ {
63
+ "name": "terraform_gpg_secret_key",
64
+ "secret_name": "TERRAFORM_GPG_SECRET_KEY",
65
+ "validation_regex": "/^[\\w.\\-\\t \\r\\n]+$/.source",
66
+ "validation_message": "Letters, numbers, tabs, spaces, newlines, or .-_ only",
67
+ "language": "terraform"
68
+ },
69
+ {
70
+ "name": "terraform_gpg_passphrase",
71
+ "secret_name": "TERRAFORM_GPG_PASSPHRASE",
72
+ "language": "terraform"
73
+ },
74
+ {
75
+ "name": "rubygems_auth_token",
76
+ "secret_name": "RUBYGEMS_AUTH_TOKEN",
77
+ "language": "ruby"
78
+ },
79
+ {
80
+ "name": "nuget_api_key",
81
+ "secret_name": "NUGET_API_KEY",
82
+ "language": "csharp"
83
+ },
84
+ {
85
+ "name": "slack_webhook_url",
86
+ "secret_name": "SLACK_WEBHOOK_URL"
87
+ }
88
+ ]
@@ -30,8 +30,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
30
30
  export declare const SDK_METADATA: {
31
31
  readonly language: "typescript";
32
32
  readonly openapiDocVersion: "1.0.0";
33
- readonly sdkVersion: "0.1.0";
34
- readonly genVersion: "2.801.0";
35
- readonly userAgent: "speakeasy-sdk/typescript 0.1.0 2.801.0 1.0.0 @detent/sdk";
33
+ readonly sdkVersion: "0.1.1";
34
+ readonly genVersion: "2.801.2";
35
+ readonly userAgent: "speakeasy-sdk/typescript 0.1.1 2.801.2 1.0.0 @detent/sdk";
36
36
  };
37
37
  //# sourceMappingURL=config.d.ts.map
@@ -35,8 +35,8 @@ function serverURLFromOptions(options) {
35
35
  exports.SDK_METADATA = {
36
36
  language: "typescript",
37
37
  openapiDocVersion: "1.0.0",
38
- sdkVersion: "0.1.0",
39
- genVersion: "2.801.0",
40
- userAgent: "speakeasy-sdk/typescript 0.1.0 2.801.0 1.0.0 @detent/sdk",
38
+ sdkVersion: "0.1.1",
39
+ genVersion: "2.801.2",
40
+ userAgent: "speakeasy-sdk/typescript 0.1.1 2.801.2 1.0.0 @detent/sdk",
41
41
  };
42
42
  //# sourceMappingURL=config.js.map
@@ -30,8 +30,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
30
30
  export declare const SDK_METADATA: {
31
31
  readonly language: "typescript";
32
32
  readonly openapiDocVersion: "1.0.0";
33
- readonly sdkVersion: "0.1.0";
34
- readonly genVersion: "2.801.0";
35
- readonly userAgent: "speakeasy-sdk/typescript 0.1.0 2.801.0 1.0.0 @detent/sdk";
33
+ readonly sdkVersion: "0.1.1";
34
+ readonly genVersion: "2.801.2";
35
+ readonly userAgent: "speakeasy-sdk/typescript 0.1.1 2.801.2 1.0.0 @detent/sdk";
36
36
  };
37
37
  //# sourceMappingURL=config.d.ts.map
@@ -31,8 +31,8 @@ export function serverURLFromOptions(options) {
31
31
  export const SDK_METADATA = {
32
32
  language: "typescript",
33
33
  openapiDocVersion: "1.0.0",
34
- sdkVersion: "0.1.0",
35
- genVersion: "2.801.0",
36
- userAgent: "speakeasy-sdk/typescript 0.1.0 2.801.0 1.0.0 @detent/sdk",
34
+ sdkVersion: "0.1.1",
35
+ genVersion: "2.801.2",
36
+ userAgent: "speakeasy-sdk/typescript 0.1.1 2.801.2 1.0.0 @detent/sdk",
37
37
  };
38
38
  //# sourceMappingURL=config.js.map
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "..": {
20
20
  "name": "@detent/sdk",
21
- "version": "0.1.0",
21
+ "version": "0.1.1",
22
22
  "dependencies": {
23
23
  "zod": "^3.25.65 || ^4.0.0"
24
24
  },
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@detent/sdk",
5
- "version": "0.1.0",
5
+ "version": "0.1.1",
6
6
  "exports": {
7
7
  ".": "./src/index.ts",
8
8
  "./models/errors": "./src/models/errors/index.ts",
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "@detent/sdk",
3
- "version": "0.0.0",
3
+ "version": "0.1.1",
4
4
  "author": "Speakeasy",
5
5
  "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/detentsh/sdk.git"
9
+ },
6
10
  "tshy": {
7
11
  "sourceDialects": [
8
12
  "@detent/sdk/source"
package/src/lib/config.ts CHANGED
@@ -63,7 +63,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
63
63
  export const SDK_METADATA = {
64
64
  language: "typescript",
65
65
  openapiDocVersion: "1.0.0",
66
- sdkVersion: "0.1.0",
67
- genVersion: "2.801.0",
68
- userAgent: "speakeasy-sdk/typescript 0.1.0 2.801.0 1.0.0 @detent/sdk",
66
+ sdkVersion: "0.1.1",
67
+ genVersion: "2.801.2",
68
+ userAgent: "speakeasy-sdk/typescript 0.1.1 2.801.2 1.0.0 @detent/sdk",
69
69
  } as const;
@@ -1 +0,0 @@
1
- {"openapi":"3.1.0","info":{"title":"Detent API","version":"1.0.0","description":"Self-healing CI/CD platform. Parse CI logs, match error patterns, and trigger AI fixes."},"servers":[{"url":"https://backend.detent.sh","description":"Production"},{"url":"http://localhost:8787","description":"Local development"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"WorkOS access token obtained after login via navigator.detent.sh"},"apiKey":{"type":"apiKey","in":"header","name":"X-Detent-Token","description":"Detent API key (dtk_*) for CI/CD and machine-to-machine access. [Get your API key →](https://navigator.detent.sh/settings/api-keys)"}},"schemas":{"DiagnosticsResponse":{"oneOf":[{"$ref":"#/components/schemas/DiagnosticsResponseFull"},{"$ref":"#/components/schemas/DiagnosticsResponseLite"}],"discriminator":{"propertyName":"mode","mapping":{"full":"#/components/schemas/DiagnosticsResponseFull","lite":"#/components/schemas/DiagnosticsResponseLite"}}},"DiagnosticsResponseFull":{"type":"object","properties":{"mode":{"type":"string","enum":["full"],"description":"Response mode indicator (discriminator)"},"detected_tool":{"type":"string","nullable":true,"description":"Tool detected from output (null if unknown)","example":"typescript"},"diagnostics":{"type":"array","items":{"$ref":"#/components/schemas/Diagnostic"},"description":"Parsed diagnostics from the log"},"summary":{"$ref":"#/components/schemas/DiagnosticSummary"},"truncated":{"type":"boolean","description":"True if diagnostics were truncated (max 10,000)"}},"required":["mode","detected_tool","diagnostics","summary","truncated"]},"Diagnostic":{"type":"object","properties":{"message":{"type":"string","description":"Error or warning message","example":"Cannot find name 'foo'"},"file_path":{"type":"string","description":"File path where the issue occurred","example":"src/app.ts"},"line":{"type":"integer","minimum":1,"description":"Line number (1-indexed)","example":10},"column":{"type":"integer","minimum":1,"description":"Column number (1-indexed)","example":5},"severity":{"$ref":"#/components/schemas/Severity"},"rule_id":{"type":"string","description":"Tool-specific rule identifier","example":"TS2304"},"stack_trace":{"type":"string","description":"Stack trace if available (e.g., for test failures)"},"suggestions":{"type":"array","items":{"type":"string"},"description":"Suggested fixes from the tool"},"fixable":{"type":"boolean","description":"Whether the tool can auto-fix this issue"}},"required":["message","severity"]},"Severity":{"type":"string","enum":["error","warning"],"description":"Issue severity level"},"DiagnosticSummary":{"type":"object","properties":{"total":{"type":"integer","description":"Total number of diagnostics","example":5},"errors":{"type":"integer","description":"Number of errors","example":3},"warnings":{"type":"integer","description":"Number of warnings","example":2}},"required":["total","errors","warnings"],"description":"Aggregated counts"},"DiagnosticsResponseLite":{"type":"object","properties":{"mode":{"type":"string","enum":["lite"],"description":"Response mode indicator (discriminator)"},"detected_tool":{"type":"string","nullable":true,"description":"Tool detected from output (null if unknown)","example":"typescript"},"diagnostics":{"type":"array","items":{"$ref":"#/components/schemas/DiagnosticLite"},"description":"Parsed diagnostics (minimal fields)"},"truncated":{"type":"boolean","description":"True if diagnostics were truncated (max 10,000)"}},"required":["mode","detected_tool","diagnostics","truncated"]},"DiagnosticLite":{"type":"object","properties":{"message":{"type":"string","description":"Error or warning message","example":"Cannot find name 'foo'"},"file_path":{"type":"string","description":"File path where the issue occurred","example":"src/app.ts"},"line":{"type":"integer","minimum":1,"description":"Line number (1-indexed)","example":10},"column":{"type":"integer","minimum":1,"description":"Column number (1-indexed)","example":5}},"required":["message"]},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string","description":"Error message","example":"content must be a string"}},"required":["error"]},"RateLimitError":{"type":"object","properties":{"error":{"type":"string","description":"Rate limit error message","example":"Rate limit exceeded"},"retryAfter":{"type":"integer","description":"Unix timestamp when the rate limit resets","example":1706300000}},"required":["error","retryAfter"]},"DiagnosticsRequest":{"type":"object","properties":{"content":{"type":"string","minLength":1,"maxLength":10485760,"description":"Raw CI/build log content to parse","example":"src/app.ts:10:5 - error TS2304: Cannot find name 'foo'"},"tool":{"$ref":"#/components/schemas/DetectedTool"},"mode":{"$ref":"#/components/schemas/Mode"}},"required":["content"]},"DetectedTool":{"type":"string","enum":["eslint","vitest","typescript","cargo","golangci"],"description":"Hint for which tool produced the output. Auto-detected if omitted."},"Mode":{"type":"string","enum":["full","lite"],"default":"full","description":"Response detail level. 'full' includes severity, ruleId, suggestions. 'lite' is minimal."}},"parameters":{}},"paths":{"/v1/diagnostics":{"post":{"tags":["Diagnostics"],"summary":"Parse CI/build logs into structured diagnostics","description":"Extracts structured error and warning information from raw CI/build log output.\n\nSupports auto-detection of common tools (ESLint, TypeScript, Vitest, Cargo, golangci-lint) or accepts a hint via the `tool` parameter.\n\nReturns parsed diagnostics with file locations, severity, and tool-specific metadata.\n\n**Note:** Sensitive data (API keys, tokens, credentials) detected in the output is automatically redacted for security.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiagnosticsRequest"}}}},"responses":{"200":{"description":"Successfully parsed diagnostics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiagnosticsResponse"}}}},"400":{"description":"Invalid request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded (30 requests per minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitError"}}}}}}}}}
@@ -1 +0,0 @@
1
- {"openapi":"3.1.0","info":{"title":"Detent API","version":"1.0.0","description":"Self-healing CI/CD platform. Parse CI logs, match error patterns, and trigger AI fixes."},"servers":[{"url":"https://backend.detent.sh","description":"Production"},{"url":"http://localhost:8787","description":"Local development"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"WorkOS access token obtained after login via navigator.detent.sh"},"apiKey":{"type":"apiKey","in":"header","name":"X-Detent-Token","description":"Detent API key (dtk_*) for CI/CD and machine-to-machine access. [Get your API key →](https://navigator.detent.sh/settings/api-keys)"}},"schemas":{"DiagnosticsResponse":{"oneOf":[{"$ref":"#/components/schemas/DiagnosticsResponseFull"},{"$ref":"#/components/schemas/DiagnosticsResponseLite"}],"discriminator":{"propertyName":"mode","mapping":{"full":"#/components/schemas/DiagnosticsResponseFull","lite":"#/components/schemas/DiagnosticsResponseLite"}}},"DiagnosticsResponseFull":{"type":"object","properties":{"mode":{"type":"string","enum":["full"],"description":"Response mode indicator (discriminator)"},"detected_tool":{"type":"string","nullable":true,"description":"Tool detected from output (null if unknown)","example":"typescript"},"diagnostics":{"type":"array","items":{"$ref":"#/components/schemas/Diagnostic"},"description":"Parsed diagnostics from the log"},"summary":{"$ref":"#/components/schemas/DiagnosticSummary"},"truncated":{"type":"boolean","description":"True if diagnostics were truncated (max 10,000)"}},"required":["mode","detected_tool","diagnostics","summary","truncated"]},"Diagnostic":{"type":"object","properties":{"message":{"type":"string","description":"Error or warning message","example":"Cannot find name 'foo'"},"file_path":{"type":"string","description":"File path where the issue occurred","example":"src/app.ts"},"line":{"type":"integer","minimum":1,"description":"Line number (1-indexed)","example":10},"column":{"type":"integer","minimum":1,"description":"Column number (1-indexed)","example":5},"severity":{"$ref":"#/components/schemas/Severity"},"rule_id":{"type":"string","description":"Tool-specific rule identifier","example":"TS2304"},"stack_trace":{"type":"string","description":"Stack trace if available (e.g., for test failures)"},"suggestions":{"type":"array","items":{"type":"string"},"description":"Suggested fixes from the tool"},"fixable":{"type":"boolean","description":"Whether the tool can auto-fix this issue"}},"required":["message","severity"]},"Severity":{"type":"string","enum":["error","warning"],"description":"Issue severity level"},"DiagnosticSummary":{"type":"object","properties":{"total":{"type":"integer","description":"Total number of diagnostics","example":5},"errors":{"type":"integer","description":"Number of errors","example":3},"warnings":{"type":"integer","description":"Number of warnings","example":2}},"required":["total","errors","warnings"],"description":"Aggregated counts"},"DiagnosticsResponseLite":{"type":"object","properties":{"mode":{"type":"string","enum":["lite"],"description":"Response mode indicator (discriminator)"},"detected_tool":{"type":"string","nullable":true,"description":"Tool detected from output (null if unknown)","example":"typescript"},"diagnostics":{"type":"array","items":{"$ref":"#/components/schemas/DiagnosticLite"},"description":"Parsed diagnostics (minimal fields)"},"truncated":{"type":"boolean","description":"True if diagnostics were truncated (max 10,000)"}},"required":["mode","detected_tool","diagnostics","truncated"]},"DiagnosticLite":{"type":"object","properties":{"message":{"type":"string","description":"Error or warning message","example":"Cannot find name 'foo'"},"file_path":{"type":"string","description":"File path where the issue occurred","example":"src/app.ts"},"line":{"type":"integer","minimum":1,"description":"Line number (1-indexed)","example":10},"column":{"type":"integer","minimum":1,"description":"Column number (1-indexed)","example":5}},"required":["message"]},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string","description":"Error message","example":"content must be a string"}},"required":["error"]},"RateLimitError":{"type":"object","properties":{"error":{"type":"string","description":"Rate limit error message","example":"Rate limit exceeded"},"retryAfter":{"type":"integer","description":"Unix timestamp when the rate limit resets","example":1706300000}},"required":["error","retryAfter"]},"DiagnosticsRequest":{"type":"object","properties":{"content":{"type":"string","minLength":1,"maxLength":10485760,"description":"Raw CI/build log content to parse","example":"src/app.ts:10:5 - error TS2304: Cannot find name 'foo'"},"tool":{"$ref":"#/components/schemas/DetectedTool"},"mode":{"$ref":"#/components/schemas/Mode"}},"required":["content"]},"DetectedTool":{"type":"string","enum":["eslint","vitest","typescript","cargo","golangci"],"description":"Hint for which tool produced the output. Auto-detected if omitted."},"Mode":{"type":"string","enum":["full","lite"],"default":"full","description":"Response detail level. 'full' includes severity, ruleId, suggestions. 'lite' is minimal."}},"parameters":{}},"paths":{"/v1/diagnostics":{"post":{"tags":["Diagnostics"],"summary":"Parse CI/build logs into structured diagnostics","description":"Extracts structured error and warning information from raw CI/build log output.\n\nSupports auto-detection of common tools (ESLint, TypeScript, Vitest, Cargo, golangci-lint) or accepts a hint via the `tool` parameter.\n\nReturns parsed diagnostics with file locations, severity, and tool-specific metadata.\n\n**Note:** Sensitive data (API keys, tokens, credentials) detected in the output is automatically redacted for security.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiagnosticsRequest"}}}},"responses":{"200":{"description":"Successfully parsed diagnostics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiagnosticsResponse"}}}},"400":{"description":"Invalid request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded (30 requests per minute per IP)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitError"}}}}}}}}}
@@ -1,174 +0,0 @@
1
- {
2
- "name": "@detent/sdk-examples",
3
- "version": "1.0.0",
4
- "lockfileVersion": 3,
5
- "requires": true,
6
- "packages": {
7
- "..": {
8
- "name": "@detent/sdk",
9
- "version": "0.1.0",
10
- "dependencies": {
11
- "zod": "^3.25.65 || ^4.0.0"
12
- },
13
- "devDependencies": {
14
- "@eslint/js": "^9.19.0",
15
- "eslint": "^9.19.0",
16
- "globals": "^15.14.0",
17
- "tshy": "^2.0.0",
18
- "typescript": "~5.8.3",
19
- "typescript-eslint": "^8.26.0"
20
- }
21
- },
22
- "node_modules/@detent/sdk": {
23
- "resolved": "..",
24
- "link": true
25
- },
26
- "node_modules/@esbuild/darwin-arm64": {
27
- "version": "0.27.2",
28
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
29
- "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
30
- "cpu": [
31
- "arm64"
32
- ],
33
- "dev": true,
34
- "license": "MIT",
35
- "optional": true,
36
- "os": [
37
- "darwin"
38
- ],
39
- "engines": {
40
- "node": ">=18"
41
- }
42
- },
43
- "node_modules/@types/node": {
44
- "version": "20.19.30",
45
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.30.tgz",
46
- "integrity": "sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==",
47
- "dev": true,
48
- "license": "MIT",
49
- "dependencies": {
50
- "undici-types": "~6.21.0"
51
- }
52
- },
53
- "node_modules/dotenv": {
54
- "version": "16.6.1",
55
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
56
- "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
57
- "dev": true,
58
- "license": "BSD-2-Clause",
59
- "engines": {
60
- "node": ">=12"
61
- },
62
- "funding": {
63
- "url": "https://dotenvx.com"
64
- }
65
- },
66
- "node_modules/esbuild": {
67
- "version": "0.27.2",
68
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz",
69
- "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==",
70
- "dev": true,
71
- "hasInstallScript": true,
72
- "license": "MIT",
73
- "bin": {
74
- "esbuild": "bin/esbuild"
75
- },
76
- "engines": {
77
- "node": ">=18"
78
- },
79
- "optionalDependencies": {
80
- "@esbuild/aix-ppc64": "0.27.2",
81
- "@esbuild/android-arm": "0.27.2",
82
- "@esbuild/android-arm64": "0.27.2",
83
- "@esbuild/android-x64": "0.27.2",
84
- "@esbuild/darwin-arm64": "0.27.2",
85
- "@esbuild/darwin-x64": "0.27.2",
86
- "@esbuild/freebsd-arm64": "0.27.2",
87
- "@esbuild/freebsd-x64": "0.27.2",
88
- "@esbuild/linux-arm": "0.27.2",
89
- "@esbuild/linux-arm64": "0.27.2",
90
- "@esbuild/linux-ia32": "0.27.2",
91
- "@esbuild/linux-loong64": "0.27.2",
92
- "@esbuild/linux-mips64el": "0.27.2",
93
- "@esbuild/linux-ppc64": "0.27.2",
94
- "@esbuild/linux-riscv64": "0.27.2",
95
- "@esbuild/linux-s390x": "0.27.2",
96
- "@esbuild/linux-x64": "0.27.2",
97
- "@esbuild/netbsd-arm64": "0.27.2",
98
- "@esbuild/netbsd-x64": "0.27.2",
99
- "@esbuild/openbsd-arm64": "0.27.2",
100
- "@esbuild/openbsd-x64": "0.27.2",
101
- "@esbuild/openharmony-arm64": "0.27.2",
102
- "@esbuild/sunos-x64": "0.27.2",
103
- "@esbuild/win32-arm64": "0.27.2",
104
- "@esbuild/win32-ia32": "0.27.2",
105
- "@esbuild/win32-x64": "0.27.2"
106
- }
107
- },
108
- "node_modules/fsevents": {
109
- "version": "2.3.3",
110
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
111
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
112
- "dev": true,
113
- "hasInstallScript": true,
114
- "license": "MIT",
115
- "optional": true,
116
- "os": [
117
- "darwin"
118
- ],
119
- "engines": {
120
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
121
- }
122
- },
123
- "node_modules/get-tsconfig": {
124
- "version": "4.13.0",
125
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz",
126
- "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==",
127
- "dev": true,
128
- "license": "MIT",
129
- "dependencies": {
130
- "resolve-pkg-maps": "^1.0.0"
131
- },
132
- "funding": {
133
- "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
134
- }
135
- },
136
- "node_modules/resolve-pkg-maps": {
137
- "version": "1.0.0",
138
- "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
139
- "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
140
- "dev": true,
141
- "license": "MIT",
142
- "funding": {
143
- "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
144
- }
145
- },
146
- "node_modules/tsx": {
147
- "version": "4.21.0",
148
- "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz",
149
- "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==",
150
- "dev": true,
151
- "license": "MIT",
152
- "dependencies": {
153
- "esbuild": "~0.27.0",
154
- "get-tsconfig": "^4.7.5"
155
- },
156
- "bin": {
157
- "tsx": "dist/cli.mjs"
158
- },
159
- "engines": {
160
- "node": ">=18.0.0"
161
- },
162
- "optionalDependencies": {
163
- "fsevents": "~2.3.3"
164
- }
165
- },
166
- "node_modules/undici-types": {
167
- "version": "6.21.0",
168
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
169
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
170
- "dev": true,
171
- "license": "MIT"
172
- }
173
- }
174
- }
@@ -1,20 +0,0 @@
1
- {
2
- "name": "@esbuild/darwin-arm64",
3
- "version": "0.27.2",
4
- "description": "The macOS ARM 64-bit binary for esbuild, a JavaScript bundler.",
5
- "repository": {
6
- "type": "git",
7
- "url": "git+https://github.com/evanw/esbuild.git"
8
- },
9
- "license": "MIT",
10
- "preferUnplugged": true,
11
- "engines": {
12
- "node": ">=18"
13
- },
14
- "os": [
15
- "darwin"
16
- ],
17
- "cpu": [
18
- "arm64"
19
- ]
20
- }
@@ -1,8 +0,0 @@
1
- declare module "assert/strict" {
2
- import { strict } from "node:assert";
3
- export = strict;
4
- }
5
- declare module "node:assert/strict" {
6
- import { strict } from "node:assert";
7
- export = strict;
8
- }