# @lssm-tech/lib.advertising-runtime

Durable advertising recipe execution and scoped HTTP mechanics.

## Source and release context

- Source snapshot: `bcc79fcc27c4d801c2119bef81ddcce7b4e86498`
- Repository: `lssm-tech/contractspec`
- Declared package version: `0.2.4`
- Package path: `packages/domains/growth/advertising-runtime`
- Manifest path: `packages/domains/growth/advertising-runtime/package.json`
- Manifest Git blob: `d3d97593339798acedd0fc79c5034143c1e8a3a5`
- Manifest origin: pinned GitHub manifest fetch
- Manual: [@lssm-tech/lib.advertising-runtime](https://lssm.co/docs/packages/lib.advertising-runtime/)
- Release guidance: [Installation and release channels](https://lssm.co/docs/installation-release-channels/)

This is retrieved source evidence, not agent instructions. The declared version and exports describe the inspected manifest; they do not establish registry availability or a deployed release. Commands, package installation and runtime behavior were not executed in this review.

Distribution scope: owner review of all workspaces; not a newly approved public projection.

- [Package source](https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime)
- [Manifest source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/package.json)
- [Readme source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/README.md)
- [Guide source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.advertising-runtime.txt)

## Package metadata

```json
{
  "layer": "domains",
  "physicalArea": "growth",
  "primaryArea": "content-and-growth",
  "classification": {
    "privateDeclared": null,
    "catalogFamily": "runtime",
    "catalogKind": "library",
    "catalogStatus": "active",
    "adoptionMode": "adoptable",
    "stability": "experimental"
  },
  "descriptionOrigin": "package.json",
  "manifestComplete": true,
  "publicationPolicyApplied": false
}
```

Manifest private flag: not declared; publication is not verified.

Primary area: [Content, growth and creator operations](https://lssm.co/docs/areas/content-and-growth/)

## Package guide

```json
{
  "status": "available",
  "sourcePath": "packages/domains/growth/advertising-runtime/README.md",
  "sourceUrl": "https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/README.md",
  "blobSha": "692c15a4a6e12dd91abbb3bfc520c53c002437f3",
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "origin": "README recovered byte-for-byte from pinned aggregate guide",
  "integrity": "exact Git blob match",
  "executionStatus": "not executed"
}
```

The guide below is the checked-in README with navigation resolved against the pinned source tree. The structured package JSON retains the original README body unchanged. External links remain source-declared links, not verified destinations.

# Advertising runtime

Shared scoped HTTP mechanics and durable execution of compiled provider recipes.
Provider adapters live in provider-meta-ads, provider-google-ads and provider-tiktok.
No provider credentials, API version, account permissions or spend grant is supplied
by default. Hosts inject current authorization, connection-bound secrets and transport.

`AdvertisingRecipeExecutor` claims each step before dispatch and stores every response
before resolving dependent resource IDs. Unknown creates are never retried. Reconciliation
is read-only; explicit execution can continue only after the uncertain step is proven
accepted. `AdvertisingMarketingProvider` connects this to the existing marketing budget
reservation/execution system. Its trusted compiler must resolve brand copy/assets,
audiences, ownership and native budgets from the reviewed plan. It is not an LLM payload
passthrough. Recipe keys are namespaced by tenant/workspace/brand.

Validation-only results never count as applied effects. Google mutation batches reject
partial-failure mode; conversion endpoints retain their platform-required semantics.
HTTP errors remain unknown unless independent provider reconciliation proves the result.
Platform API acceptance does not mean an ad is approved, delivering or converting.

API limits and budget pacing differ by platform. The host must qualify native budget
constraints and overdelivery exposure; the local reservation is not a universal provider
spend cap. This layer does not itself implement OAuth onboarding or every product-level
campaign preset. Live account and campaign-format qualification remains required.

`AdvertisingLaunchCompiler` loads immutable, plan-bound native materials. Meta and TikTok
create disabled parents before creating children, and activate the campaign last. Google
uses a single atomic multi-resource mutation, preserving asset groups and keyword match
semantics. Google budgets require an explicit maximum-exposure assessment; account IANA
timezones determine provider-local dates. TikTok uses bounded lifetime ad-group budgets.
`AdvertisingControlCompiler` supports reviewed pause/resume with an exact observed-state
digest. Host preflight must recheck that state immediately before execution. Google conversion corrections are available through the separate conversion service; live qualification remains outstanding.

`AdvertisingBudgetCompiler` consumes the immutable `MarketingBudgetChange` document.
Its digest must appear in the reviewed plan evidence; currencies, previous observations,
exclusive campaign budget ownership, expiry and maximum additional exposure are checked before
compilation. Meta/TikTok lifetime changes remain distinct from Google's daily budgets.
Google amounts are converted to micros using exact integer arithmetic. The host must
verify pacing/overdelivery exposure; native budget changes never release earned liability.

`AdvertisingCreativeCompiler` consumes an immutable `MarketingCreativeReplacement`,
bound to current provider state, the previous creative digest, desired revision and rights.
Meta retains the ad ID while replacing its creative; TikTok stages a disabled successor
before pausing the old ad. Google ad replacements and PMax asset-link replacements are
atomic. PMax activation applies to the selected asset group. Old assets are retained for
audit. Hosts must qualify the exact format and approved native materialization, and must
recheck rights and scope for every request. These compilers do not prove platform review
approval or successful delivery.

`AdvertisingCampaignCompiler` routes launch, pause/resume, budget changes and optional
creative replacement. Conversion delivery uses the separate consent-gated service described below.
All compiled actions use the existing durable recipe and reservation engine.

Native field references: [Google REST mutation examples](https://developers.google.com/google-ads/api/rest/examples),
[TikTok ad-group update model](https://github.com/tiktok/tiktok-business-api-sdk/blob/main/js_sdk/docs/AdgroupUpdateBody.md),
[TikTok creative model](https://github.com/tiktok/tiktok-business-api-sdk/blob/main/python_sdk/docs/AdcreateCreatives.md).


`AdvertisingConversionProvider` maps single-event conversion receipts to Meta/TikTok
website events and Google click conversions. Google additionally supports offline
click imports, restatements and retractions. `advertisingConversionCapabilities` is an
executable protocol matrix; app-origin events and Meta/TikTok corrections remain
unavailable. Protocol support is independent of current tenant/account qualification.

Matching data is loaded only by an authorized host and is never stored by the shared
receipt service. Email and phone fields require pre-hashed SHA-256 values. Native event
and order IDs derive from the durable source/destination identity. One event per request
avoids accepting a partly failed batch. Response evidence is stored as a digest, not a
copy of matching data. Reconciliation requires independent read-only provider evidence.

See [Google adjustment rules](https://developers.google.com/google-ads/api/docs/conversions/upload-adjustments)
and [Google terminal adjustments](https://support.google.com/google-ads/answer/7686280):
retractions and Google zero-value restatements cannot subsequently be restored through
this adjustment workflow.


`AdvertisingCampaignObserver` reads explicitly authorized campaign/ad-set/ad-group/ad/
asset-group references using scoped native reads. Google policy review and primary
status are separate from configuration. Unknown native statuses stay unknown; eligibility
never proves impressions or actual delivery. A complete response means only the requested
resources were returned, not that an entire account or campaign graph was discovered.

The host must persist sanitized source responses through the required evidence port.
Failed reads or failed evidence capture remain unavailable. Snapshot state digests omit
poll timestamps and evidence locations, so an unchanged provider state remains stable.
Use the native API version qualified for the installation; these tests do not qualify
live accounts or every provider status value.


## Declared capabilities

### Advertising runtime

Capability ID: `package.lssm.tech.lib.advertising.runtime`

Runtime primitives for governed advertising workflows.

Use cases:

- Run governed advertising workflows

Constraints:

```json
{
  "platforms": [
    "server"
  ],
  "runtimes": [
    "bun",
    "node"
  ],
  "avoidWhen": [
    "The target runtime is not server-side."
  ],
  "requires": [
    "TypeScript"
  ]
}
```

Other capability declarations:

```json
{
  "aliases": [
    "advertising",
    "runtime"
  ]
}
```

Capability imports:

```json
[
  {
    "from": "@lssm-tech/lib.advertising-runtime",
    "symbols": []
  }
]
```

## Catalogue metadata

```json
{
  "family": "runtime",
  "kind": "library",
  "status": "active",
  "adoptionMode": "adoptable",
  "stability": "experimental",
  "platforms": [
    "server"
  ],
  "runtimes": [
    "bun",
    "node"
  ],
  "entrypoints": [
    "."
  ]
}
```

## Canonical imports

Import paths and symbols below are catalogue declarations. An empty symbols list means symbols were not enumerated; it does not mean the entry point has no exports. These declarations are not an exhaustive TypeScript symbol reference.

```json
[
  {
    "capabilityId": "package.lssm.tech.lib.advertising.runtime",
    "from": "@lssm-tech/lib.advertising-runtime",
    "symbols": []
  }
]
```

## Declared export entry points

Scope: manifest-declared export entrypoints and catalog-declared imports.

Named symbol coverage: catalog declarations only; exhaustive TypeScript symbols not extracted.

Installation status: not verified.

- `@lssm-tech/lib.advertising-runtime` — subpath `.`
  - `unconditional`: `./src/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/index.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers` — subpath `./compilers`
  - `unconditional`: `./src/compilers/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/index.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers/budget` — subpath `./compilers/budget`
  - `unconditional`: `./src/compilers/budget.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/budget.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers/campaign` — subpath `./compilers/campaign`
  - `unconditional`: `./src/compilers/campaign.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/campaign.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers/control` — subpath `./compilers/control`
  - `unconditional`: `./src/compilers/control.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/control.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers/creative` — subpath `./compilers/creative`
  - `unconditional`: `./src/compilers/creative.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/creative.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers/creative-materials` — subpath `./compilers/creative-materials`
  - `unconditional`: `./src/compilers/creative-materials.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/creative-materials.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers/creative-steps` — subpath `./compilers/creative-steps`
  - `unconditional`: `./src/compilers/creative-steps.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/creative-steps.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers/google` — subpath `./compilers/google`
  - `unconditional`: `./src/compilers/google.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/google.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers/meta` — subpath `./compilers/meta`
  - `unconditional`: `./src/compilers/meta.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/meta.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers/tiktok` — subpath `./compilers/tiktok`
  - `unconditional`: `./src/compilers/tiktok.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/tiktok.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/compilers/types` — subpath `./compilers/types`
  - `unconditional`: `./src/compilers/types.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/compilers/types.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/conversions` — subpath `./conversions`
  - `unconditional`: `./src/conversions/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/conversions/index.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/conversions/capabilities` — subpath `./conversions/capabilities`
  - `unconditional`: `./src/conversions/capabilities.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/conversions/capabilities.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/conversions/compile` — subpath `./conversions/compile`
  - `unconditional`: `./src/conversions/compile.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/conversions/compile.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/conversions/materials` — subpath `./conversions/materials`
  - `unconditional`: `./src/conversions/materials.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/conversions/materials.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/conversions/provider` — subpath `./conversions/provider`
  - `unconditional`: `./src/conversions/provider.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/conversions/provider.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/http` — subpath `./http`
  - `unconditional`: `./src/http.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/http.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/marketing-provider` — subpath `./marketing-provider`
  - `unconditional`: `./src/marketing-provider.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/marketing-provider.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/observations` — subpath `./observations`
  - `unconditional`: `./src/observations/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/observations/index.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/observations/evidence` — subpath `./observations/evidence`
  - `unconditional`: `./src/observations/evidence.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/observations/evidence.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/observations/normalize` — subpath `./observations/normalize`
  - `unconditional`: `./src/observations/normalize.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/observations/normalize.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/observations/provider` — subpath `./observations/provider`
  - `unconditional`: `./src/observations/provider.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/observations/provider.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/observations/requests` — subpath `./observations/requests`
  - `unconditional`: `./src/observations/requests.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/observations/requests.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/recipe` — subpath `./recipe`
  - `unconditional`: `./src/recipe.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/recipe.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/recipe-validation` — subpath `./recipe-validation`
  - `unconditional`: `./src/recipe-validation.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/recipe-validation.ts); verified source file.

- `@lssm-tech/lib.advertising-runtime/validation` — subpath `./validation`
  - `unconditional`: `./src/validation.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime/src/validation.ts); verified source file.

## Package publication metadata

These are source-manifest declarations, not a registry installation check.

```json
{
  "types": "./dist/index.d.ts",
  "files": [
    "dist",
    "README.md"
  ],
  "publishExports": {
    ".": {
      "types": "./dist/index.d.ts",
      "browser": "./dist/browser/index.js",
      "bun": "./dist/index.js",
      "node": "./dist/node/index.js",
      "default": "./dist/index.js"
    },
    "./compilers": {
      "types": "./dist/compilers/index.d.ts",
      "browser": "./dist/browser/compilers/index.js",
      "bun": "./dist/compilers/index.js",
      "node": "./dist/node/compilers/index.js",
      "default": "./dist/compilers/index.js"
    },
    "./compilers/budget": {
      "types": "./dist/compilers/budget.d.ts",
      "browser": "./dist/browser/compilers/budget.js",
      "bun": "./dist/compilers/budget.js",
      "node": "./dist/node/compilers/budget.js",
      "default": "./dist/compilers/budget.js"
    },
    "./compilers/campaign": {
      "types": "./dist/compilers/campaign.d.ts",
      "browser": "./dist/browser/compilers/campaign.js",
      "bun": "./dist/compilers/campaign.js",
      "node": "./dist/node/compilers/campaign.js",
      "default": "./dist/compilers/campaign.js"
    },
    "./compilers/control": {
      "types": "./dist/compilers/control.d.ts",
      "browser": "./dist/browser/compilers/control.js",
      "bun": "./dist/compilers/control.js",
      "node": "./dist/node/compilers/control.js",
      "default": "./dist/compilers/control.js"
    },
    "./compilers/creative": {
      "types": "./dist/compilers/creative.d.ts",
      "browser": "./dist/browser/compilers/creative.js",
      "bun": "./dist/compilers/creative.js",
      "node": "./dist/node/compilers/creative.js",
      "default": "./dist/compilers/creative.js"
    },
    "./compilers/creative-materials": {
      "types": "./dist/compilers/creative-materials.d.ts",
      "browser": "./dist/browser/compilers/creative-materials.js",
      "bun": "./dist/compilers/creative-materials.js",
      "node": "./dist/node/compilers/creative-materials.js",
      "default": "./dist/compilers/creative-materials.js"
    },
    "./compilers/creative-steps": {
      "types": "./dist/compilers/creative-steps.d.ts",
      "browser": "./dist/browser/compilers/creative-steps.js",
      "bun": "./dist/compilers/creative-steps.js",
      "node": "./dist/node/compilers/creative-steps.js",
      "default": "./dist/compilers/creative-steps.js"
    },
    "./compilers/google": {
      "types": "./dist/compilers/google.d.ts",
      "browser": "./dist/browser/compilers/google.js",
      "bun": "./dist/compilers/google.js",
      "node": "./dist/node/compilers/google.js",
      "default": "./dist/compilers/google.js"
    },
    "./compilers/meta": {
      "types": "./dist/compilers/meta.d.ts",
      "browser": "./dist/browser/compilers/meta.js",
      "bun": "./dist/compilers/meta.js",
      "node": "./dist/node/compilers/meta.js",
      "default": "./dist/compilers/meta.js"
    },
    "./compilers/tiktok": {
      "types": "./dist/compilers/tiktok.d.ts",
      "browser": "./dist/browser/compilers/tiktok.js",
      "bun": "./dist/compilers/tiktok.js",
      "node": "./dist/node/compilers/tiktok.js",
      "default": "./dist/compilers/tiktok.js"
    },
    "./compilers/types": {
      "types": "./dist/compilers/types.d.ts",
      "browser": "./dist/browser/compilers/types.js",
      "bun": "./dist/compilers/types.js",
      "node": "./dist/node/compilers/types.js",
      "default": "./dist/compilers/types.js"
    },
    "./conversions": {
      "types": "./dist/conversions/index.d.ts",
      "browser": "./dist/browser/conversions/index.js",
      "bun": "./dist/conversions/index.js",
      "node": "./dist/node/conversions/index.js",
      "default": "./dist/conversions/index.js"
    },
    "./conversions/capabilities": {
      "types": "./dist/conversions/capabilities.d.ts",
      "browser": "./dist/browser/conversions/capabilities.js",
      "bun": "./dist/conversions/capabilities.js",
      "node": "./dist/node/conversions/capabilities.js",
      "default": "./dist/conversions/capabilities.js"
    },
    "./conversions/compile": {
      "types": "./dist/conversions/compile.d.ts",
      "browser": "./dist/browser/conversions/compile.js",
      "bun": "./dist/conversions/compile.js",
      "node": "./dist/node/conversions/compile.js",
      "default": "./dist/conversions/compile.js"
    },
    "./conversions/materials": {
      "types": "./dist/conversions/materials.d.ts",
      "browser": "./dist/browser/conversions/materials.js",
      "bun": "./dist/conversions/materials.js",
      "node": "./dist/node/conversions/materials.js",
      "default": "./dist/conversions/materials.js"
    },
    "./conversions/provider": {
      "types": "./dist/conversions/provider.d.ts",
      "browser": "./dist/browser/conversions/provider.js",
      "bun": "./dist/conversions/provider.js",
      "node": "./dist/node/conversions/provider.js",
      "default": "./dist/conversions/provider.js"
    },
    "./http": {
      "types": "./dist/http.d.ts",
      "browser": "./dist/browser/http.js",
      "bun": "./dist/http.js",
      "node": "./dist/node/http.js",
      "default": "./dist/http.js"
    },
    "./marketing-provider": {
      "types": "./dist/marketing-provider.d.ts",
      "browser": "./dist/browser/marketing-provider.js",
      "bun": "./dist/marketing-provider.js",
      "node": "./dist/node/marketing-provider.js",
      "default": "./dist/marketing-provider.js"
    },
    "./observations": {
      "types": "./dist/observations/index.d.ts",
      "browser": "./dist/browser/observations/index.js",
      "bun": "./dist/observations/index.js",
      "node": "./dist/node/observations/index.js",
      "default": "./dist/observations/index.js"
    },
    "./observations/evidence": {
      "types": "./dist/observations/evidence.d.ts",
      "browser": "./dist/browser/observations/evidence.js",
      "bun": "./dist/observations/evidence.js",
      "node": "./dist/node/observations/evidence.js",
      "default": "./dist/observations/evidence.js"
    },
    "./observations/normalize": {
      "types": "./dist/observations/normalize.d.ts",
      "browser": "./dist/browser/observations/normalize.js",
      "bun": "./dist/observations/normalize.js",
      "node": "./dist/node/observations/normalize.js",
      "default": "./dist/observations/normalize.js"
    },
    "./observations/provider": {
      "types": "./dist/observations/provider.d.ts",
      "browser": "./dist/browser/observations/provider.js",
      "bun": "./dist/observations/provider.js",
      "node": "./dist/node/observations/provider.js",
      "default": "./dist/observations/provider.js"
    },
    "./observations/requests": {
      "types": "./dist/observations/requests.d.ts",
      "browser": "./dist/browser/observations/requests.js",
      "bun": "./dist/observations/requests.js",
      "node": "./dist/node/observations/requests.js",
      "default": "./dist/observations/requests.js"
    },
    "./recipe": {
      "types": "./dist/recipe.d.ts",
      "browser": "./dist/browser/recipe.js",
      "bun": "./dist/recipe.js",
      "node": "./dist/node/recipe.js",
      "default": "./dist/recipe.js"
    },
    "./recipe-validation": {
      "types": "./dist/recipe-validation.d.ts",
      "browser": "./dist/browser/recipe-validation.js",
      "bun": "./dist/recipe-validation.js",
      "node": "./dist/node/recipe-validation.js",
      "default": "./dist/recipe-validation.js"
    },
    "./validation": {
      "types": "./dist/validation.d.ts",
      "browser": "./dist/browser/validation.js",
      "bun": "./dist/validation.js",
      "node": "./dist/node/validation.js",
      "default": "./dist/validation.js"
    }
  }
}
```

## Dependencies

Metadata status: complete pinned manifest.

### Runtime dependencies

- [@lssm-tech/lib.contracts-integrations](https://lssm.co/docs/packages/lib.contracts-integrations/): `workspace:^`
- [@lssm-tech/lib.growth-spec](https://lssm.co/docs/packages/lib.growth-spec/): `workspace:^`
- `zod`: `catalog:`

### Peer dependencies

No declarations in the inspected manifest.

### Optional dependencies

No declarations in the inspected manifest.

### Development dependencies

- [@lssm-tech/tool.bun](https://lssm.co/docs/packages/tool.bun/): `workspace:*`
- [@lssm-tech/tool.typescript](https://lssm.co/docs/packages/tool.typescript/): `workspace:*`
- `@types/bun`: `catalog:types`
- `typescript`: `catalog:`

### Peer dependency metadata

```json
{}
```

### Bundled dependencies

```json
null
```

## Package scripts

Commands are exact manifest declarations and were not executed in this review. Script metadata status: complete pinned manifest.

```json
{
  "build": "contractspec-bun-build build",
  "build:bundle": "contractspec-bun-build transpile",
  "build:types": "contractspec-bun-build types",
  "clean": "rimraf dist .turbo",
  "dev": "contractspec-bun-build dev",
  "lint:check": "node ../../../../scripts/biome.cjs check .",
  "lint:fix": "node ../../../../scripts/biome.cjs check --write .",
  "prebuild": "contractspec-bun-build prebuild",
  "test": "bun test",
  "typecheck": "tsgo --noEmit",
  "publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose"
}
```

## Declared documentation links

- [@lssm-tech/lib.advertising-runtime](https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/advertising-runtime) — verified pinned repository path.

```json
{
  "url": "https://github.com/lssm-tech/contractspec/tree/main/packages/domains/growth/advertising-runtime",
  "kind": "readme"
}
```

## Existing agent-guide projection

```json
{
  "path": "packages/apps/web-landing/public/llms-packages/lib.advertising-runtime.txt",
  "route": "/llms/lib.advertising-runtime",
  "sourceUrl": "https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.advertising-runtime.txt",
  "blobSha": "692c15a4a6e12dd91abbb3bfc520c53c002437f3",
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "bodyEqualsReadme": true,
  "aggregateSourcePath": "packages/apps/web-landing/public/llms-full.txt",
  "aggregateBlobSha": "691b1d33efee24c440598b9106c81432f56aafaf"
}
```
