@apollo-deploy/tesseract 1.9.0 → 2.0.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.
- package/README.md +218 -110
- package/dist/adapters/csharp/index.d.ts +5 -8
- package/dist/adapters/csharp/index.d.ts.map +1 -1
- package/dist/adapters/csharp/index.js +314 -74
- package/dist/adapters/csharp/index.js.map +1 -1
- package/dist/adapters/documentation.d.ts +17 -0
- package/dist/adapters/documentation.d.ts.map +1 -0
- package/dist/adapters/documentation.js +268 -0
- package/dist/adapters/documentation.js.map +1 -0
- package/dist/adapters/go/index.d.ts +5 -8
- package/dist/adapters/go/index.d.ts.map +1 -1
- package/dist/adapters/go/index.js +197 -101
- package/dist/adapters/go/index.js.map +1 -1
- package/dist/adapters/kotlin/index.d.ts +5 -9
- package/dist/adapters/kotlin/index.d.ts.map +1 -1
- package/dist/adapters/kotlin/index.js +280 -212
- package/dist/adapters/kotlin/index.js.map +1 -1
- package/dist/adapters/php/index.d.ts +5 -15
- package/dist/adapters/php/index.d.ts.map +1 -1
- package/dist/adapters/php/index.js +362 -90
- package/dist/adapters/php/index.js.map +1 -1
- package/dist/adapters/python/index.d.ts +5 -8
- package/dist/adapters/python/index.d.ts.map +1 -1
- package/dist/adapters/python/index.js +240 -109
- package/dist/adapters/python/index.js.map +1 -1
- package/dist/adapters/ruby/index.d.ts +3 -3
- package/dist/adapters/ruby/index.d.ts.map +1 -1
- package/dist/adapters/ruby/index.js +235 -46
- package/dist/adapters/ruby/index.js.map +1 -1
- package/dist/adapters/rust/index.d.ts +5 -9
- package/dist/adapters/rust/index.d.ts.map +1 -1
- package/dist/adapters/rust/index.js +237 -169
- package/dist/adapters/rust/index.js.map +1 -1
- package/dist/adapters/shared.d.ts +7 -0
- package/dist/adapters/shared.d.ts.map +1 -0
- package/dist/adapters/shared.js +68 -0
- package/dist/adapters/shared.js.map +1 -0
- package/dist/adapters/type-utils.d.ts +13 -0
- package/dist/adapters/type-utils.d.ts.map +1 -0
- package/dist/adapters/type-utils.js +105 -0
- package/dist/adapters/type-utils.js.map +1 -0
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/typescript/emitter/emitSchema.d.ts +2 -2
- package/dist/adapters/typescript/emitter/emitSchema.js +39 -27
- package/dist/adapters/typescript/emitter/emitSchema.js.map +1 -1
- package/dist/adapters/typescript/emitter/emitTypeScriptModels.d.ts +2 -2
- package/dist/adapters/typescript/emitter/emitTypeScriptModels.js +15 -15
- package/dist/adapters/typescript/emitter/importCollector.d.ts +2 -4
- package/dist/adapters/typescript/emitter/importCollector.d.ts.map +1 -1
- package/dist/adapters/typescript/emitter/importCollector.js +40 -50
- package/dist/adapters/typescript/emitter/importCollector.js.map +1 -1
- package/dist/adapters/typescript/emitter/parsers.d.ts +1 -1
- package/dist/adapters/typescript/emitter/parsers.js +13 -13
- package/dist/adapters/typescript/emitter/typeHoister.d.ts +1 -1
- package/dist/adapters/typescript/emitter/typeHoister.d.ts.map +1 -1
- package/dist/adapters/typescript/emitter/typeHoister.js +12 -20
- package/dist/adapters/typescript/emitter/typeHoister.js.map +1 -1
- package/dist/adapters/typescript/index.d.ts +3 -3
- package/dist/adapters/typescript/index.d.ts.map +1 -1
- package/dist/adapters/typescript/index.js +148 -166
- package/dist/adapters/typescript/index.js.map +1 -1
- package/dist/adapters/typescript/shared.d.ts +2 -2
- package/dist/adapters/typescript/shared.js +12 -12
- package/dist/cli.js +50 -37
- package/dist/cli.js.map +1 -1
- package/dist/collector.d.ts +13 -3
- package/dist/collector.d.ts.map +1 -1
- package/dist/collector.js +69 -32
- package/dist/collector.js.map +1 -1
- package/dist/elysia.js +2 -2
- package/dist/elysia.js.map +1 -1
- package/dist/express.d.ts.map +1 -1
- package/dist/express.js.map +1 -1
- package/dist/fastify.d.ts +7 -0
- package/dist/fastify.d.ts.map +1 -1
- package/dist/fastify.js +39 -20
- package/dist/fastify.js.map +1 -1
- package/dist/helpers/handlebars.d.ts +7 -16
- package/dist/helpers/handlebars.d.ts.map +1 -1
- package/dist/helpers/handlebars.js +127 -177
- package/dist/helpers/handlebars.js.map +1 -1
- package/dist/hono.d.ts.map +1 -1
- package/dist/hono.js.map +1 -1
- package/dist/index.d.ts +14 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -30
- package/dist/index.js.map +1 -1
- package/dist/koa.d.ts.map +1 -1
- package/dist/koa.js.map +1 -1
- package/dist/nestjs.d.ts.map +1 -1
- package/dist/nestjs.js +41 -14
- package/dist/nestjs.js.map +1 -1
- package/dist/pipeline/enrich.d.ts +2 -13
- package/dist/pipeline/enrich.d.ts.map +1 -1
- package/dist/pipeline/enrich.js +157 -212
- package/dist/pipeline/enrich.js.map +1 -1
- package/dist/pipeline/intake.d.ts +3 -3
- package/dist/pipeline/intake.d.ts.map +1 -1
- package/dist/pipeline/intake.js +342 -238
- package/dist/pipeline/intake.js.map +1 -1
- package/dist/pipeline/write.d.ts +1 -14
- package/dist/pipeline/write.d.ts.map +1 -1
- package/dist/pipeline/write.js +73 -113
- package/dist/pipeline/write.js.map +1 -1
- package/dist/types/config.d.ts +14 -26
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +16 -12
- package/dist/types/config.js.map +1 -1
- package/dist/types/ir.d.ts +12 -8
- package/dist/types/ir.d.ts.map +1 -1
- package/dist/types/manifest.d.ts +10 -11
- package/dist/types/manifest.d.ts.map +1 -1
- package/dist/types/manifest.js +54 -14
- package/dist/types/manifest.js.map +1 -1
- package/dist/types/sdk-module.d.ts +2 -2
- package/dist/types/sdk-module.js +1 -1
- package/dist/utils/format.d.ts +1 -3
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +3 -10
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/naming.d.ts.map +1 -1
- package/dist/utils/naming.js +174 -184
- package/dist/utils/naming.js.map +1 -1
- package/dist/utils/npm-token.d.ts +1 -17
- package/dist/utils/npm-token.d.ts.map +1 -1
- package/dist/utils/npm-token.js +27 -76
- package/dist/utils/npm-token.js.map +1 -1
- package/dist/utils/version.d.ts +14 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +60 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +4 -3
- package/templates/csharp/client.hbs +26 -49
- package/templates/csharp/csproj.hbs +7 -0
- package/templates/csharp/domain.hbs +48 -130
- package/templates/csharp/errors.hbs +17 -25
- package/templates/csharp/readme.hbs +31 -44
- package/templates/csharp/transport.hbs +238 -136
- package/templates/csharp/types.hbs +30 -76
- package/templates/go/client.hbs +44 -109
- package/templates/go/domain.hbs +83 -25
- package/templates/go/go-mod.hbs +1 -4
- package/templates/go/readme.hbs +32 -29
- package/templates/go/transport.hbs +174 -173
- package/templates/go/types.hbs +17 -53
- package/templates/go/utils.hbs +3 -2
- package/templates/kotlin/build-gradle.hbs +1 -1
- package/templates/kotlin/client.hbs +18 -15
- package/templates/kotlin/domain.hbs +54 -51
- package/templates/kotlin/errors.hbs +1 -1
- package/templates/kotlin/readme.hbs +35 -137
- package/templates/kotlin/transport.hbs +140 -123
- package/templates/kotlin/types.hbs +30 -81
- package/templates/php/client.hbs +8 -46
- package/templates/php/composer.hbs +2 -1
- package/templates/php/domain.hbs +86 -117
- package/templates/php/errors.hbs +1 -1
- package/templates/php/readme.hbs +42 -49
- package/templates/php/transport.hbs +192 -145
- package/templates/php/types.hbs +63 -60
- package/templates/python/client.hbs +15 -2
- package/templates/python/domain.hbs +50 -108
- package/templates/python/pyproject.hbs +5 -0
- package/templates/python/readme.hbs +47 -30
- package/templates/python/resources-init.hbs +1 -1
- package/templates/python/transport.hbs +167 -53
- package/templates/python/types.hbs +22 -58
- package/templates/ruby/client.hbs +10 -6
- package/templates/ruby/domain.hbs +48 -67
- package/templates/ruby/errors.hbs +3 -3
- package/templates/ruby/gemspec.hbs +3 -10
- package/templates/ruby/index.hbs +3 -3
- package/templates/ruby/readme.hbs +33 -70
- package/templates/ruby/transport.hbs +129 -103
- package/templates/ruby/types.hbs +11 -16
- package/templates/ruby/version.hbs +1 -1
- package/templates/rust/cargo.hbs +2 -0
- package/templates/rust/client.hbs +10 -1
- package/templates/rust/domain.hbs +69 -52
- package/templates/rust/error.hbs +3 -1
- package/templates/rust/lib.hbs +4 -5
- package/templates/rust/readme.hbs +33 -46
- package/templates/rust/transport.hbs +170 -159
- package/templates/rust/types.hbs +34 -111
- package/templates/typescript/domain-class.hbs +14 -6
- package/templates/typescript/domain.hbs +13 -5
- package/templates/typescript/package-json.hbs +3 -1
- package/templates/typescript/readme.hbs +42 -42
- package/templates/typescript/transport.hbs +46 -8
- package/templates/typescript/types-errors.hbs +1 -1
- package/dist/adapters/typescript/model-emitter.d.ts +0 -13
- package/dist/adapters/typescript/model-emitter.d.ts.map +0 -1
- package/dist/adapters/typescript/model-emitter.js +0 -415
- package/dist/adapters/typescript/model-emitter.js.map +0 -1
|
@@ -2,30 +2,19 @@ namespace {{namespace}};
|
|
|
2
2
|
|
|
3
3
|
using System;
|
|
4
4
|
|
|
5
|
-
/// <summary>
|
|
6
|
-
|
|
7
|
-
/// </summary>
|
|
8
|
-
public class SdkException : Exception
|
|
5
|
+
/// <summary>Represents a normalized SDK or API error.</summary>
|
|
6
|
+
public sealed class SdkException : Exception
|
|
9
7
|
{
|
|
10
|
-
/// <summary>
|
|
11
|
-
/// HTTP status code.
|
|
12
|
-
/// </summary>
|
|
13
8
|
public int Status { get; }
|
|
14
|
-
|
|
15
|
-
/// <summary>
|
|
16
|
-
/// Machine-readable error code from the API.
|
|
17
|
-
/// </summary>
|
|
18
9
|
public string? Code { get; }
|
|
19
|
-
|
|
20
|
-
/// <summary>
|
|
21
|
-
/// Unique request identifier for support.
|
|
22
|
-
/// </summary>
|
|
23
10
|
public string? RequestId { get; }
|
|
24
11
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
12
|
+
public SdkException(
|
|
13
|
+
int status,
|
|
14
|
+
string? code,
|
|
15
|
+
string message,
|
|
16
|
+
string? requestId,
|
|
17
|
+
Exception? innerException = null)
|
|
29
18
|
: base(message, innerException)
|
|
30
19
|
{
|
|
31
20
|
Status = status;
|
|
@@ -33,13 +22,16 @@ public class SdkException : Exception
|
|
|
33
22
|
RequestId = requestId;
|
|
34
23
|
}
|
|
35
24
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
25
|
+
public bool IsNetworkError => Status == 0;
|
|
26
|
+
public bool IsClientError => Status is >= 400 and <= 499;
|
|
27
|
+
public bool IsServerError => Status is >= 500 and <= 599;
|
|
28
|
+
public bool IsRetryable => IsNetworkError || Status is 408 or 425 or 429 or 500 or 502 or 503 or 504;
|
|
29
|
+
|
|
39
30
|
public override string ToString()
|
|
40
31
|
{
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
32
|
+
var request = string.IsNullOrEmpty(RequestId) ? "" : $" (request {RequestId})";
|
|
33
|
+
return string.IsNullOrEmpty(Code)
|
|
34
|
+
? $"[{Status}] {Message}{request}"
|
|
35
|
+
: $"[{Status}] {Code}: {Message}{request}";
|
|
44
36
|
}
|
|
45
37
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# {{title}} .NET SDK
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
{{#if description}}{{description}}{{else}}.NET client for the {{title}} API.{{/if}}
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> Generated by Tesseract. Generated source files should not be edited manually.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -10,67 +10,54 @@ The official .NET SDK for {{#if description}}{{description}}{{else}}the {{title}
|
|
|
10
10
|
dotnet add package {{packageName}}
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
## Quick
|
|
13
|
+
## Quick start
|
|
14
14
|
|
|
15
15
|
```csharp
|
|
16
16
|
using {{namespace}};
|
|
17
17
|
|
|
18
|
-
{{
|
|
19
|
-
{{#if (eq type "apiKey")}}
|
|
20
|
-
var config = new {{../clientName}}ClientConfig
|
|
18
|
+
var client = new {{clientName}}Client(new {{clientName}}ClientConfig
|
|
21
19
|
{
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
{{pascalCase configKey}} = "your-bearer-token"
|
|
29
|
-
};
|
|
20
|
+
BaseUrl = "{{baseUrl}}",
|
|
21
|
+
TimeoutMs = 15_000,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
{{#if groups.length}}
|
|
25
|
+
var api = client.{{pascalCase groups.[0].name}};
|
|
30
26
|
{{/if}}
|
|
31
|
-
|
|
32
|
-
{{#unless securitySchemes.length}}
|
|
33
|
-
var config = new {{clientName}}ClientConfig();
|
|
34
|
-
{{/unless}}
|
|
27
|
+
```
|
|
35
28
|
|
|
36
|
-
|
|
29
|
+
## Configuration and reliability
|
|
37
30
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
31
|
+
The generated `HttpClient` transport supports cancellation tokens, bounded timeouts, exponential-backoff retries, `Retry-After` handling, default headers, and structured `SdkException` values. Unsafe requests are not retried unless they are explicitly idempotent or unsafe retries are enabled.
|
|
32
|
+
|
|
33
|
+
```csharp
|
|
34
|
+
var client = new {{clientName}}Client(new {{clientName}}ClientConfig
|
|
35
|
+
{
|
|
36
|
+
TimeoutMs = 30_000,
|
|
37
|
+
MaxRetries = 3,
|
|
38
|
+
DefaultHeaders = new() { ["X-Application"] = "my-service" },
|
|
39
|
+
});
|
|
45
40
|
```
|
|
46
41
|
|
|
47
|
-
##
|
|
42
|
+
## Documentation
|
|
43
|
+
|
|
44
|
+
- [Documentation index](./docs/README.md)
|
|
45
|
+
- [Generated types](./docs/types.md)
|
|
48
46
|
|
|
49
47
|
| Domain | Description |
|
|
50
|
-
|
|
48
|
+
|---|---|
|
|
51
49
|
{{#each groups}}
|
|
52
|
-
|
|
|
50
|
+
| [{{interfaceName}}](./docs/domains/{{fileName}}.md) | {{#if description}}{{description}}{{else}}{{name}} operations{{/if}} |
|
|
53
51
|
{{/each}}
|
|
54
52
|
|
|
55
|
-
## Error
|
|
56
|
-
|
|
57
|
-
All async methods throw `SdkException` on API errors. Use try-catch to handle errors:
|
|
53
|
+
## Error handling
|
|
58
54
|
|
|
59
|
-
|
|
60
|
-
try
|
|
61
|
-
{
|
|
62
|
-
var result = await client.{{#each groups}}{{#if @first}}{{pascalCase name}}{{/if}}{{/each}}.{{#each groups}}{{#if @first}}{{#with operations.[0]}}{{pascalCase name}}Async(){{/with}}{{/if}}{{/each}};
|
|
63
|
-
}
|
|
64
|
-
catch (SdkException ex)
|
|
65
|
-
{
|
|
66
|
-
Console.WriteLine($"Status: {ex.Status}, Code: {ex.Code}, RequestId: {ex.RequestId}");
|
|
67
|
-
}
|
|
68
|
-
```
|
|
55
|
+
All operations throw `SdkException` on API or transport failures. It exposes `Status`, `Code`, `RequestId`, and the original exception when available.
|
|
69
56
|
|
|
70
57
|
## Requirements
|
|
71
58
|
|
|
72
|
-
- .NET 8
|
|
59
|
+
- .NET 8 or later
|
|
73
60
|
|
|
74
61
|
## License
|
|
75
62
|
|
|
76
|
-
|
|
63
|
+
MIT
|