@techspokes/typescript-wsdl-client 0.19.2 → 0.21.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 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
@@ -222,6 +223,7 @@ See [CLI Reference](docs/cli-reference.md) for all flags and examples.
222
223
  | [Testing Guide](docs/testing.md) | Testing patterns and mock client examples |
223
224
  | [Production Guide](docs/production.md) | CI/CD, validation, logging |
224
225
  | [Troubleshooting](docs/troubleshooting.md) | Common issues and debugging |
226
+ | [Release Notes](docs/releases/README.md) | Per-version GitHub release notes used by the draft release workflow |
225
227
 
226
228
  ### Extend
227
229
 
@@ -230,6 +232,7 @@ See [CLI Reference](docs/cli-reference.md) for all flags and examples.
230
232
  | [Programmatic API](docs/api-reference.md) | TypeScript functions for build tools |
231
233
  | [Core Concepts](docs/concepts.md) | Flattening, $value, primitives, determinism |
232
234
  | [Architecture](docs/architecture.md) | Internal pipeline for contributors |
235
+ | [Agent Skill Artifact](docs/agent-skill.md) | Release ZIP for consumer-project AI agents |
233
236
  | [Streamable Responses (ADR-002)](docs/decisions/002-streamable-responses.md) | Opt-in streaming: client `AsyncIterable`, gateway NDJSON, `x-wsdl-tsc-stream` |
234
237
  | [Version Migration](docs/migration.md) | Upgrading between package versions |
235
238
 
@@ -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.1",
515
+ soap: "^1.9.2",
516
516
  },
517
517
  devDependencies: {
518
- "@types/node": "^25.7.0",
519
- tsx: "^4.21.0",
518
+ "@types/node": "^25.9.0",
519
+ tsx: "^4.22.2",
520
520
  typescript: "^6.0.3",
521
521
  },
522
522
  };
package/docs/README.md CHANGED
@@ -21,12 +21,14 @@ Human-maintained reference documents for `@techspokes/typescript-wsdl-client`. T
21
21
  - [testing.md](testing.md): testing patterns and mock client examples
22
22
  - [production.md](production.md): CI/CD, validation, logging
23
23
  - [troubleshooting.md](troubleshooting.md): common issues and debugging
24
+ - [releases/README.md](releases/README.md): per-version GitHub release notes used by the draft release workflow
24
25
 
25
26
  ## Extend
26
27
 
27
28
  - [api-reference.md](api-reference.md): programmatic TypeScript API
28
29
  - [concepts.md](concepts.md): flattening, `$value`, primitives, determinism
29
30
  - [architecture.md](architecture.md): internal pipeline for contributors
31
+ - [agent-skill.md](agent-skill.md): release ZIP for consumer-project AI agents
30
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
31
33
  - [migration.md](migration.md): upgrading between package versions
32
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
+
@@ -0,0 +1,53 @@
1
+ # Release Notes
2
+
3
+ Add one Markdown file per release tag. The draft release workflow requires this file before it creates or updates a GitHub draft release.
4
+
5
+ ## File Naming
6
+
7
+ Use the Git tag as the filename:
8
+
9
+ ```text
10
+ vX.Y.Z.md
11
+ ```
12
+
13
+ For example, release `0.20.1` uses tag `v0.20.1` and release notes file `docs/releases/v0.20.1.md`.
14
+
15
+ ## File Structure
16
+
17
+ Each release notes file must use this structure:
18
+
19
+ ```markdown
20
+ # TypeScript WSDL Client vX.Y.Z
21
+
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.
29
+
30
+ ## Highlights
31
+
32
+ - User-facing release highlight.
33
+
34
+ ## Upgrade Notes
35
+
36
+ No special upgrade steps.
37
+
38
+ ## Validation
39
+
40
+ - CI passed.
41
+ - NPM package contents were validated.
42
+ - Agent skill artifact was validated and packaged.
43
+
44
+ ## Notes
45
+
46
+ Release tag: `vX.Y.Z`.
47
+ ```
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
+
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,22 @@
1
+ # TypeScript WSDL Client v0.20.0
2
+
3
+ This release refreshes dependency minimums and adds a tag-driven draft release workflow so each GitHub release starts from a reviewed release notes document.
4
+
5
+ ## Highlights
6
+
7
+ - Bump root and generated app dependency minimums for `@types/node`, `soap`, and `tsx`.
8
+ - Add a `vX.Y.Z` tag workflow that validates the release state and creates or updates a GitHub draft release from `docs/releases/vX.Y.Z.md`.
9
+ - Require release notes in agent and contributor guidance so the changelog, package version, tag, and release description stay synchronized.
10
+
11
+ ## Upgrade Notes
12
+
13
+ No special upgrade steps.
14
+
15
+ ## Validation
16
+
17
+ - `npm run maint:deps`
18
+ - `npm run ci`
19
+
20
+ ## Notes
21
+
22
+ Release tag: `v0.20.0`.
@@ -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`.
@@ -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.19.2",
3
+ "version": "0.21.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,17 +80,20 @@
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
- "ci": "npm run clean && npm run build && npm run typecheck && vitest run && npm run smoke:pipeline",
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.7.0",
91
+ "@types/node": "^25.9.0",
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.21.0",
96
+ "tsx": "^4.22.2",
92
97
  "typescript": "^6.0.3",
93
98
  "vitest": "^4.1.6"
94
99
  },
@@ -97,7 +102,7 @@
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.1",
105
+ "soap": "^1.9.2",
101
106
  "yargs": "^18.0.0"
102
107
  },
103
108
  "funding": {