Skip to main content

Generated Services

The GTM services are generated from one package:

examples/showcase/gtm/registry-packages/gtm-pipeline-q2-review-0.4.3.anip-package.json

The package defines the signed ANIP behavior contract. The custom-code bundles fill implementation seams for each language.

Generated outputs

examples/showcase/gtm/generated/language-parity/python/
examples/showcase/gtm/generated/language-parity/typescript/
examples/showcase/gtm/generated/language-parity/go/
examples/showcase/gtm/generated/language-parity/java/
examples/showcase/gtm/generated/language-parity/csharp/

Each output exposes the same public ANIP capability semantics. They differ only in language runtime and implementation seam code.

Custom bundles

Release-target bundles:

LanguageBundle
Pythonexamples/showcase/gtm/custom-code-bundles/gtm_pipeline_python_native
TypeScriptexamples/showcase/gtm/custom-code-bundles/gtm_pipeline_typescript
Goexamples/showcase/gtm/custom-code-bundles/gtm_pipeline_go_native
Javaexamples/showcase/gtm/custom-code-bundles/gtm_pipeline_java_native
C#examples/showcase/gtm/custom-code-bundles/gtm_pipeline_csharp_native

Bundles may implement:

  • backend adapter queries,
  • actor parsing helpers,
  • approval storage,
  • language-specific service wiring,
  • GTM rendering logic.

Bundles must not implement:

  • hidden capabilities,
  • weaker approval policy,
  • different side-effect posture,
  • different input contract semantics,
  • different composition semantics,
  • contract mutations hidden in generated code.

Generate Locally

Run generation from packages/go. These commands generate from the same [email protected] package and attach the reviewed language-specific custom bundle.

Python

cd packages/go
go run ./cmd/anip generate \
--package-bundle ../../examples/showcase/gtm/registry-packages/gtm-pipeline-q2-review-0.4.3.anip-package.json \
--target python \
--transport http \
--dependency-source registry \
--custom-code-bundle ../../examples/showcase/gtm/custom-code-bundles/gtm_pipeline_python_native \
--output ../../examples/showcase/gtm/generated/language-parity/python \
--force

TypeScript

cd packages/go
go run ./cmd/anip generate \
--package-bundle ../../examples/showcase/gtm/registry-packages/gtm-pipeline-q2-review-0.4.3.anip-package.json \
--target typescript \
--transport http \
--dependency-source registry \
--custom-code-bundle ../../examples/showcase/gtm/custom-code-bundles/gtm_pipeline_typescript \
--output ../../examples/showcase/gtm/generated/language-parity/typescript \
--force

Go

cd packages/go
go run ./cmd/anip generate \
--package-bundle ../../examples/showcase/gtm/registry-packages/gtm-pipeline-q2-review-0.4.3.anip-package.json \
--target go \
--transport http \
--dependency-source registry \
--custom-code-bundle ../../examples/showcase/gtm/custom-code-bundles/gtm_pipeline_go_native \
--output ../../examples/showcase/gtm/generated/language-parity/go \
--force

Java

cd packages/go
go run ./cmd/anip generate \
--package-bundle ../../examples/showcase/gtm/registry-packages/gtm-pipeline-q2-review-0.4.3.anip-package.json \
--target java \
--transport http \
--dependency-source registry \
--custom-code-bundle ../../examples/showcase/gtm/custom-code-bundles/gtm_pipeline_java_native \
--output ../../examples/showcase/gtm/generated/language-parity/java \
--force

C#

cd packages/go
go run ./cmd/anip generate \
--package-bundle ../../examples/showcase/gtm/registry-packages/gtm-pipeline-q2-review-0.4.3.anip-package.json \
--target csharp \
--transport http \
--dependency-source registry \
--custom-code-bundle ../../examples/showcase/gtm/custom-code-bundles/gtm_pipeline_csharp_native \
--output ../../examples/showcase/gtm/generated/language-parity/csharp \
--force

Bundle Digest Verification

Release generation should verify the selected bundle digest. Read the digest from:

examples/showcase/gtm/custom-code-bundles/bundle-catalog.json

Then pass it as --verify-custom-code-bundle-digest. Example for Go:

cd packages/go
go run ./cmd/anip generate \
--package-bundle ../../examples/showcase/gtm/registry-packages/gtm-pipeline-q2-review-0.4.3.anip-package.json \
--target go \
--transport http \
--dependency-source registry \
--custom-code-bundle ../../examples/showcase/gtm/custom-code-bundles/gtm_pipeline_go_native \
--verify-custom-code-bundle-digest sha256:<gtm_pipeline_go_native_digest> \
--output ../../examples/showcase/gtm/generated/language-parity/go \
--force

Legacy Single-Command Shape

The shorter form is useful for quick experiments:

cd packages/go
go run ./cmd/anip generate \
--package-bundle ../../examples/showcase/gtm/registry-packages/gtm-pipeline-q2-review-0.4.3.anip-package.json \
--target go \
--transport http \
--dependency-source registry \
--custom-code-bundle ../../examples/showcase/gtm/custom-code-bundles/gtm_pipeline_go_native \
--output ../../examples/showcase/gtm/generated/language-parity/go \
--force

For release work, include bundle digest verification.

Docker images

The generated services are packaged as:

anipprotocol/showcase-gtm-python:0.4.3
anipprotocol/showcase-gtm-typescript:0.4.3
anipprotocol/showcase-gtm-go:0.4.3
anipprotocol/showcase-gtm-java:0.4.3
anipprotocol/showcase-gtm-csharp:0.4.3

The shared agent UI image is:

anipprotocol/showcase-gtm-agent-ui:0.4.3