@techspokes/typescript-wsdl-client 0.20.0 → 0.22.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 +2 -0
- package/dist/app/generateApp.js +3 -3
- package/docs/README.md +1 -0
- package/docs/agent-skill.md +81 -0
- package/docs/releases/README.md +14 -3
- package/docs/releases/v0.21.0.md +30 -0
- package/docs/releases/v0.22.0.md +30 -0
- package/docs/start-here.md +7 -0
- package/package.json +13 -8
package/README.md
CHANGED
|
@@ -29,6 +29,7 @@ Most tools in this space stop at one layer: a SOAP runtime, type generation, or
|
|
|
29
29
|
- Generated `operations.ts` interface enables testing without importing `soap` or calling a live service
|
|
30
30
|
- OpenAPI is a first-class output, not an afterthought; types, schemas, and descriptions stay aligned
|
|
31
31
|
- Opt-in NDJSON streaming for large SOAP responses: client emits `AsyncIterable<RecordType>`, gateway flushes records incrementally, OpenAPI advertises the record schema via `x-wsdl-tsc-stream`
|
|
32
|
+
- Optional agent skill ZIP for consumer-project AI agents that need package-specific generation guidance
|
|
32
33
|
- MIT licensed; generated code is yours with no attribution required
|
|
33
34
|
|
|
34
35
|
## Installation
|
|
@@ -231,6 +232,7 @@ See [CLI Reference](docs/cli-reference.md) for all flags and examples.
|
|
|
231
232
|
| [Programmatic API](docs/api-reference.md) | TypeScript functions for build tools |
|
|
232
233
|
| [Core Concepts](docs/concepts.md) | Flattening, $value, primitives, determinism |
|
|
233
234
|
| [Architecture](docs/architecture.md) | Internal pipeline for contributors |
|
|
235
|
+
| [Agent Skill Artifact](docs/agent-skill.md) | Release ZIP for consumer-project AI agents |
|
|
234
236
|
| [Streamable Responses (ADR-002)](docs/decisions/002-streamable-responses.md) | Opt-in streaming: client `AsyncIterable`, gateway NDJSON, `x-wsdl-tsc-stream` |
|
|
235
237
|
| [Version Migration](docs/migration.md) | Upgrading between package versions |
|
|
236
238
|
|
package/dist/app/generateApp.js
CHANGED
|
@@ -512,11 +512,11 @@ function generatePackageJson(appDir, force) {
|
|
|
512
512
|
fastify: "^5.8.5",
|
|
513
513
|
"fastify-plugin": "^5.1.0",
|
|
514
514
|
saxes: "^6.0.0",
|
|
515
|
-
soap: "^1.9.
|
|
515
|
+
soap: "^1.9.3",
|
|
516
516
|
},
|
|
517
517
|
devDependencies: {
|
|
518
|
-
"@types/node": "^25.9.
|
|
519
|
-
tsx: "^4.22.
|
|
518
|
+
"@types/node": "^25.9.1",
|
|
519
|
+
tsx: "^4.22.3",
|
|
520
520
|
typescript: "^6.0.3",
|
|
521
521
|
},
|
|
522
522
|
};
|
package/docs/README.md
CHANGED
|
@@ -28,6 +28,7 @@ Human-maintained reference documents for `@techspokes/typescript-wsdl-client`. T
|
|
|
28
28
|
- [api-reference.md](api-reference.md): programmatic TypeScript API
|
|
29
29
|
- [concepts.md](concepts.md): flattening, `$value`, primitives, determinism
|
|
30
30
|
- [architecture.md](architecture.md): internal pipeline for contributors
|
|
31
|
+
- [agent-skill.md](agent-skill.md): release ZIP for consumer-project AI agents
|
|
31
32
|
- [decisions/002-streamable-responses.md](decisions/002-streamable-responses.md): opt-in streaming design (client `AsyncIterable`, gateway NDJSON, `x-wsdl-tsc-stream` OpenAPI extension); shipped in 0.17.0
|
|
32
33
|
- [migration.md](migration.md): upgrading between package versions
|
|
33
34
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Agent Skill Artifact
|
|
2
|
+
|
|
3
|
+
Standalone agent skill artifact for consumer projects using `@techspokes/typescript-wsdl-client`. See the root [README.md](../README.md) for the authoritative documentation index.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Release assets include a ZIP named `typescript-wsdl-client-agent-skill-vX.Y.Z.zip`. The ZIP contains an installable `typescript-wsdl-client/` skill folder that helps AI agents in consumer projects generate clients, OpenAPI specs, gateways, apps, tests, and catalogs from WSDL or catalog inputs.
|
|
8
|
+
|
|
9
|
+
The skill is for consumer-project agents. It tells agents how to choose `wsdl-tsc` commands, handle generated output boundaries, load reference material, and validate generated code without treating generated files as hand-maintained source.
|
|
10
|
+
|
|
11
|
+
## Packaged Shape
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
typescript-wsdl-client/
|
|
15
|
+
SKILL.md
|
|
16
|
+
install.mjs
|
|
17
|
+
references/
|
|
18
|
+
architecture.md
|
|
19
|
+
consumer-workflows.md
|
|
20
|
+
cli-reference.md
|
|
21
|
+
generated-code.md
|
|
22
|
+
testing.md
|
|
23
|
+
troubleshooting.md
|
|
24
|
+
streaming.md
|
|
25
|
+
SOURCE-MAP.json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Evergreen Content
|
|
29
|
+
|
|
30
|
+
Evergreen content lives under `agent-skill/` and is reviewed as source code. Update evergreen files only when stable agent workflow, architecture guidance, dependency rules, or generated-output safety rules change.
|
|
31
|
+
|
|
32
|
+
The evergreen files are `agent-skill/SKILL.md`, `agent-skill/install.mjs`, `agent-skill/evergreen/architecture.md`, and `agent-skill/evergreen/consumer-workflows.md`.
|
|
33
|
+
|
|
34
|
+
## Fluid References
|
|
35
|
+
|
|
36
|
+
Fluid references are generated from maintained repository docs during validation and release packaging. Repository docs remain the single source of truth for command flags, generated-code details, testing guidance, troubleshooting steps, and streaming behavior.
|
|
37
|
+
|
|
38
|
+
Do not maintain `agent-skill/references/` by hand. The package scripts generate packaged references under `dist/`.
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
Download the release ZIP from the GitHub draft or published release, extract it, and run the installer from the extracted skill folder:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
node install.mjs --target ./skills
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Use `--name <folder-name>` to choose a different installed folder name. Use `--force` only when replacing an existing installed copy.
|
|
49
|
+
|
|
50
|
+
The installer copies only the skill folder. It does not edit Codex, Claude, IDE, MCP, shell, or global configuration files.
|
|
51
|
+
|
|
52
|
+
## Maintainer Workflow
|
|
53
|
+
|
|
54
|
+
Update `agent-skill/reference-manifest.json` when packaged references need new or different source sections. Each entry declares whether content is evergreen or fluid, where it comes from, where it is packaged, which headings or marker ranges are extracted, and whether links are rewritten.
|
|
55
|
+
|
|
56
|
+
Use exact reusable headings in docs when possible. Add marker ranges such as `<!-- agent-skill:start stream-configuration -->` only when heading extraction would be too broad.
|
|
57
|
+
|
|
58
|
+
## Validation
|
|
59
|
+
|
|
60
|
+
Run the validation script before release packaging:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npm run skill:validate
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Validation checks skill frontmatter, manifest sources, extracted headings, packaged Markdown structure, packaged links, forbidden files, deterministic staged output, and oversized evergreen duplication of fluid references.
|
|
67
|
+
|
|
68
|
+
## Packaging
|
|
69
|
+
|
|
70
|
+
Package the release skill with the exact release tag. For the `0.21.0` release:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npm run skill:package -- v0.21.0
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
The script requires the tag to match `package.json` and writes `dist/assets/typescript-wsdl-client-agent-skill-v0.21.0.zip`.
|
|
77
|
+
|
|
78
|
+
## Drift Control
|
|
79
|
+
|
|
80
|
+
Changing an extracted docs section changes the packaged reference on the next package run. Renaming or removing an extracted heading fails validation. Packaged links must resolve after rewrite, and `references/SOURCE-MAP.json` records the source path, output path, and extracted sections for each packaged reference.
|
|
81
|
+
|
package/docs/releases/README.md
CHANGED
|
@@ -19,7 +19,13 @@ Each release notes file must use this structure:
|
|
|
19
19
|
```markdown
|
|
20
20
|
# TypeScript WSDL Client vX.Y.Z
|
|
21
21
|
|
|
22
|
-
Short
|
|
22
|
+
## Short agent-generated subtitle
|
|
23
|
+
|
|
24
|
+
A concise summary paragraph.
|
|
25
|
+
|
|
26
|
+
## What This Improves
|
|
27
|
+
|
|
28
|
+
Explain the practical developer impact of the release. Focus on what becomes easier, safer, clearer, more reliable, or more complete for developers using or maintaining this package.
|
|
23
29
|
|
|
24
30
|
## Highlights
|
|
25
31
|
|
|
@@ -31,12 +37,17 @@ No special upgrade steps.
|
|
|
31
37
|
|
|
32
38
|
## Validation
|
|
33
39
|
|
|
34
|
-
-
|
|
35
|
-
-
|
|
40
|
+
- CI passed.
|
|
41
|
+
- NPM package contents were validated.
|
|
42
|
+
- Agent skill artifact was validated and packaged.
|
|
36
43
|
|
|
37
44
|
## Notes
|
|
38
45
|
|
|
39
46
|
Release tag: `vX.Y.Z`.
|
|
40
47
|
```
|
|
41
48
|
|
|
49
|
+
Keep the H1 in the repository file so each release note remains a complete source document. The draft release workflow strips only that H1 when generating the GitHub release body, so the GitHub page uses `TypeScript WSDL Client vX.Y.Z` as the release title and starts the body with the H2 subtitle.
|
|
50
|
+
|
|
51
|
+
Write validation as consumer-facing outcomes, not as maintainer command transcripts. Keep exact release operator commands in `.github/copilot-instructions.md` and workflow logs.
|
|
52
|
+
|
|
42
53
|
Write release notes for users and maintainers, not as a file-by-file change log. Use `CHANGELOG.md` for the canonical version history.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# TypeScript WSDL Client v0.21.0
|
|
2
|
+
|
|
3
|
+
## Standalone Agent Skill Artifacts
|
|
4
|
+
|
|
5
|
+
This release adds a drift-controlled standalone AI agent skill artifact for consumer projects that use `@techspokes/typescript-wsdl-client`.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Developers can install release-matched agent guidance alongside the package, which makes generated-client workflows easier to apply in consumer repositories. Maintainers also get validation and packaging checks that keep the skill artifact aligned with the repository docs before a release is drafted.
|
|
10
|
+
|
|
11
|
+
## Highlights
|
|
12
|
+
|
|
13
|
+
- Adds a release ZIP with an installable `typescript-wsdl-client` agent skill.
|
|
14
|
+
- Generates fluid skill references from maintained repository docs during validation and packaging.
|
|
15
|
+
- Keeps evergreen agent workflow guidance separate from documentation-derived CLI, generated-code, testing, troubleshooting, and streaming references.
|
|
16
|
+
- Updates the draft release workflow to upload the skill ZIP with each tagged draft release.
|
|
17
|
+
|
|
18
|
+
## Upgrade Notes
|
|
19
|
+
|
|
20
|
+
No runtime upgrade steps are required. Consumers can download the skill ZIP from the GitHub release and install it into their agent host's skill directory.
|
|
21
|
+
|
|
22
|
+
## Validation
|
|
23
|
+
|
|
24
|
+
- CI passed.
|
|
25
|
+
- NPM package contents were validated.
|
|
26
|
+
- Agent skill artifact was validated and packaged.
|
|
27
|
+
|
|
28
|
+
## Notes
|
|
29
|
+
|
|
30
|
+
Release tag: `v0.21.0`.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# TypeScript WSDL Client v0.22.0
|
|
2
|
+
|
|
3
|
+
## Release Workflow And Dependency Refresh
|
|
4
|
+
|
|
5
|
+
This release refreshes dependency pins from the recent bot merges and carries forward release documentation improvements for the packaged agent skill workflow.
|
|
6
|
+
|
|
7
|
+
## What This Improves
|
|
8
|
+
|
|
9
|
+
Maintainers get a release flow whose generated draft bodies use validated release-note subtitles and consumer-facing validation language. Consumer projects generated by the app scaffold also receive newer SOAP runtime and TypeScript execution pins without manual dependency editing.
|
|
10
|
+
|
|
11
|
+
## Highlights
|
|
12
|
+
|
|
13
|
+
- Updates root pins to `@types/node` 25.9.1, `soap` 1.9.3, `tsx` 4.22.3, and `vitest` 4.1.7.
|
|
14
|
+
- Updates app scaffold pins to `@types/node` 25.9.1, `soap` 1.9.3, and `tsx` 4.22.3.
|
|
15
|
+
- Renders draft release bodies from validated release-note subtitles.
|
|
16
|
+
- Describes release validation as consumer-facing outcomes and surfaces the standalone agent skill artifact in docs.
|
|
17
|
+
|
|
18
|
+
## Upgrade Notes
|
|
19
|
+
|
|
20
|
+
No special upgrade steps.
|
|
21
|
+
|
|
22
|
+
## Validation
|
|
23
|
+
|
|
24
|
+
- CI passed.
|
|
25
|
+
- NPM package contents were validated.
|
|
26
|
+
- Agent skill artifact was validated and packaged.
|
|
27
|
+
|
|
28
|
+
## Notes
|
|
29
|
+
|
|
30
|
+
Release tag: `v0.22.0`.
|
package/docs/start-here.md
CHANGED
|
@@ -96,6 +96,12 @@ Stream operations return `StreamOperationResponse<RecordType>` on the client (`r
|
|
|
96
96
|
|
|
97
97
|
Next: [ADR-002: Streamable Responses](decisions/002-streamable-responses.md) for rationale and terminal-error policy, then [Stream Configuration](configuration.md#stream-configuration) for the full file reference.
|
|
98
98
|
|
|
99
|
+
### I want an AI agent to help in my project
|
|
100
|
+
|
|
101
|
+
Release assets include an optional `typescript-wsdl-client` agent skill ZIP for consumer-project AI agents. Install it when you want an agent to choose `wsdl-tsc` commands, respect generated-output boundaries, load package reference docs, and validate generated clients, OpenAPI specs, gateways, apps, tests, or catalogs in your repository.
|
|
102
|
+
|
|
103
|
+
Next: [Agent Skill Artifact](agent-skill.md) for package contents, installation, and maintainer validation details.
|
|
104
|
+
|
|
99
105
|
## What NOT to Expect
|
|
100
106
|
|
|
101
107
|
This package does not replace a full API management platform. It does not provide rate limiting, policy enforcement, or multi-language SDK generation. It generates code; it does not run a proxy or manage deployments.
|
|
@@ -113,3 +119,4 @@ For more on scope boundaries, see the "When NOT to Use This" section of the [REA
|
|
|
113
119
|
| Set up testing for generated code | [Testing Guide](testing.md) |
|
|
114
120
|
| Review all CLI flags | [CLI Reference](cli-reference.md) |
|
|
115
121
|
| Opt specific operations into NDJSON streaming | [ADR-002](decisions/002-streamable-responses.md) and [Stream Configuration](configuration.md#stream-configuration) |
|
|
122
|
+
| Install package-specific agent guidance | [Agent Skill Artifact](agent-skill.md) |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@techspokes/typescript-wsdl-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "Turn legacy WSDL/SOAP services into typed TypeScript clients, OpenAPI 3.1 specs, and production-ready Fastify REST gateways. Built for enterprise SOAP modernization.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"wsdl",
|
|
@@ -49,7 +49,9 @@
|
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
51
|
"files": [
|
|
52
|
-
"dist",
|
|
52
|
+
"dist/**/*.js",
|
|
53
|
+
"dist/**/*.d.ts",
|
|
54
|
+
"dist/**/*.d.ts.map",
|
|
53
55
|
"docs",
|
|
54
56
|
"README.md",
|
|
55
57
|
"LICENSE",
|
|
@@ -69,7 +71,7 @@
|
|
|
69
71
|
"test:snap": "vitest run test/snapshot",
|
|
70
72
|
"test:integration": "vitest run test/integration",
|
|
71
73
|
"test:watch": "vitest",
|
|
72
|
-
"prepublishOnly": "npm run clean && npm run build",
|
|
74
|
+
"prepublishOnly": "npm run clean && npm run build && npm run package:validate",
|
|
73
75
|
"smoke:reset": "npm run clean:tmp",
|
|
74
76
|
"smoke:compile": "npm run smoke:reset && tsx src/cli.ts compile --wsdl-source examples/minimal/weather.wsdl --catalog-file tmp/catalog.json",
|
|
75
77
|
"smoke:client": "npm run smoke:reset && tsx src/cli.ts client --wsdl-source examples/minimal/weather.wsdl --client-dir tmp/client && tsc -p tsconfig.smoke.json",
|
|
@@ -78,26 +80,29 @@
|
|
|
78
80
|
"smoke:pipeline": "npm run smoke:reset && tsx src/cli.ts pipeline --wsdl-source examples/minimal/weather.wsdl --client-dir tmp/client --openapi-file tmp/openapi.json --gateway-dir tmp/gateway --gateway-service-name weather --gateway-version-prefix v1 --openapi-format json --init-app && tsc -p tsconfig.smoke.json",
|
|
79
81
|
"smoke:app": "npm run smoke:reset && tsx src/cli.ts pipeline --wsdl-source examples/minimal/weather.wsdl --client-dir tmp/client --openapi-file tmp/openapi.json --gateway-dir tmp/gateway --gateway-service-name weather --gateway-version-prefix v1 --openapi-format json --openapi-servers https://example.com/api && tsx src/cli.ts app --client-dir tmp/client --gateway-dir tmp/gateway --openapi-file tmp/openapi.json --app-dir tmp/app --port 8080 && tsc -p tsconfig.smoke.json",
|
|
80
82
|
"maint:deps": "node scripts/maint-deps.mjs",
|
|
81
|
-
"
|
|
83
|
+
"skill:validate": "node scripts/validate-agent-skill.mjs",
|
|
84
|
+
"skill:package": "node scripts/build-agent-skill.mjs",
|
|
85
|
+
"package:validate": "node scripts/validate-npm-package.mjs",
|
|
86
|
+
"ci": "npm run clean && npm run build && npm run typecheck && npm run skill:validate && npm run package:validate && vitest run && npm run smoke:pipeline",
|
|
82
87
|
"examples:regenerate": "tsx src/cli.ts pipeline --wsdl-source examples/minimal/weather.wsdl --client-dir examples/generated-output/client --openapi-file examples/generated-output/openapi.json --gateway-dir examples/generated-output/gateway --gateway-service-name weather --gateway-version-prefix v1 --openapi-format json"
|
|
83
88
|
},
|
|
84
89
|
"devDependencies": {
|
|
85
90
|
"@types/js-yaml": "^4.0.9",
|
|
86
|
-
"@types/node": "^25.9.
|
|
91
|
+
"@types/node": "^25.9.1",
|
|
87
92
|
"@types/yargs": "^17.0.35",
|
|
88
93
|
"fastify": "^5.8.5",
|
|
89
94
|
"fastify-plugin": "^5.1.0",
|
|
90
95
|
"rimraf": "^6.1.3",
|
|
91
|
-
"tsx": "^4.22.
|
|
96
|
+
"tsx": "^4.22.3",
|
|
92
97
|
"typescript": "^6.0.3",
|
|
93
|
-
"vitest": "^4.1.
|
|
98
|
+
"vitest": "^4.1.7"
|
|
94
99
|
},
|
|
95
100
|
"dependencies": {
|
|
96
101
|
"@apidevtools/swagger-parser": "^12.1.0",
|
|
97
102
|
"fast-xml-parser": "^5.8.0",
|
|
98
103
|
"js-yaml": "^4.1.1",
|
|
99
104
|
"saxes": "^6.0.0",
|
|
100
|
-
"soap": "^1.9.
|
|
105
|
+
"soap": "^1.9.3",
|
|
101
106
|
"yargs": "^18.0.0"
|
|
102
107
|
},
|
|
103
108
|
"funding": {
|