Skip to main content

Artifactory

@webframp/artifactoryv2026.10.21.1· Apache-2.0· 5d agoBEHAVIORS
01README

Query and monitor JFrog Artifactory from a package consumer perspective. AQL-powered package search, repository health checks, and service status monitoring with diff detection for tracking package changes over time.

Authentication

Uses a JFrog Identity Token or Access Token stored in a swamp vault and referenced with a vault.get expression; never pass the literal token. Generate a token via the Artifactory UI or REST API.

Usage

swamp vault create local_encryption artifactory   # once, if you have no vault yet
swamp vault put artifactory TOKEN   # prompts for the token
swamp model create @webframp/artifactory packages \
  --global-arg url=https://packages.example.com \
  --global-arg 'token=${{ vault.get("artifactory", "TOKEN") }}'

swamp model method run packages system_health
swamp model method run packages list_repos
swamp model method run packages query_packages --input 'query=items.find({"repo":"my-repo"})'
02Release Notes

2026.10.21.1

Fixed: The README, manifest and token argument description told you to pass vault://my-vault/artifactory-token. Swamp does not resolve that syntax, so the model received the literal string and authentication failed. They now use ${{ vault.get("artifactory", "TOKEN") }}, and the README stores the token with an interactive swamp vault put instead of an inline value.

Fixed: The troubleshooting section no longer claims tokens are refreshed automatically; it explains how to replace an expired token in the vault.

Changed: The 401 error message names the swamp vault put command to update the token.

Changed: The manifest Quick Start creates the vault first with swamp vault create local_encryption <name> (a once-only step for a repo with no vault yet), so it works in a fresh repo.

Upgrade note: If your model's token global argument is a vault://… string, replace it with a vault.get expression. No schema changes.

03Behaviors1
@webframp/artifactoryv2026.10.21.1jfrog/artifactory.ts

Global Arguments

ArgumentTypeDescription
urlstringArtifactory base URL including context path (e.g., https://packages.example.com/artifactory)
tokenstringJFrog Identity Token or Access Token. Supply it with a vault
fn system_health()
Check Artifactory availability via ping and best-effort health details
fn list_repos()
List all repositories with type and package type
fn get_repo_health(repoKey?: string)
Get per-repo artifact count and storage (single API call, fan-out output)
ArgumentTypeDescription
repoKey?stringSpecific repo. Omit to scan all.
fn query_packages(query: string, limit?: number)
Execute an AQL query and store results (keyed by query hash for diffing)
ArgumentTypeDescription
querystringAQL query string (e.g., items.find({"repo":"my-repo"}))
limit?numberMaximum results to return
fn diff_packages(query: string, limit?: number)
Compare current AQL results against previous run for the same query
ArgumentTypeDescription
querystringAQL query string (same as used in query_packages)
limit?numberMaximum results to return
fn get_storage_info()
Get global storage summary (may require admin token)

Resources

health(1h)— System health and ping status
repos(24h)— Repository listing and per-repo health
packages(24h)— AQL query results
package-diff(7d)— Package change detection between scans
storage(1h)— Global storage information
04Previous Versions14
2026.10.14.1Apache-2.0(was none)

2026.10.14.1

Added: The manifest now declares license: Apache-2.0 (SPDX). The registry quality rubric scores a declared license separately from the bundled LICENSE.md.

Upgrade note: Metadata only. No code, schema, or behavioral changes.

2026.09.18.1

Upgrade note: Normalized npm:zod dependency version to 4.6.5 across the repo. No behavioral changes in this extension.

2026.09.18.1

2026.09.18.1

Upgrade note: Normalized npm:zod dependency version to 4.6.5 across the repo. No behavioral changes in this extension.

2026.09.15.1

2026.09.15.1

Changed: Bump zod 4.4.3 → 4.6.5

2026.08.28.1

Changed: Normalized the extension license to Apache-2.0 and corrected the copyright holder to "Sean Escriva". Extensions that previously shipped an MIT LICENSE.md are now Apache-2.0, consistent with the repository root and every other extension. No code or behavioral changes.

Upgrade note: License text only. No API, schema, or runtime behavior changed.

2026.08.26.3

Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry quality scorer can resolve dependencies and score the extension. An earlier release used a bare "zod" import-map specifier, which published but scored as unscored.

Changed: Retained explicit compilerOptions.strict in deno.json. No behavioral or schema changes.

2026.08.28.1

2026.08.28.1

Changed: Normalized the extension license to Apache-2.0 and corrected the copyright holder to "Sean Escriva". Extensions that previously shipped an MIT LICENSE.md are now Apache-2.0, consistent with the repository root and every other extension. No code or behavioral changes.

Upgrade note: License text only. No API, schema, or runtime behavior changed.

2026.08.26.3

Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry quality scorer can resolve dependencies and score the extension. An earlier release used a bare "zod" import-map specifier, which published but scored as unscored.

Changed: Retained explicit compilerOptions.strict in deno.json. No behavioral or schema changes.

2026.08.26.3

2026.08.26.3

Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry quality scorer can resolve dependencies and score the extension. An earlier release used a bare "zod" import-map specifier, which published but scored as unscored.

Changed: Retained explicit compilerOptions.strict in deno.json. No behavioral or schema changes.

2026.08.26.1

2026.08.26.1

Fixed: Added missing description field to upgrade entry for version 2026.08.24.2. The omission caused swamp extension pull to fail with a catalog validation error ("upgrades.N.description: Invalid input: expected string, received undefined").

2026.08.24.3

2026.08.24.3

Added: Output metadata attributes for observability.

  • durationMs: Method execution duration in milliseconds.
  • collectedBy: Extension name that produced the data.
  • fetchedAt: ISO 8601 timestamp when data was fetched (added to resources that previously lacked it).
2026.08.24.2

2026.08.24.2

Fixed source/manifest version mismatch. Added Troubleshooting section documenting 401 token expiry, 403 graceful degrade on admin endpoints, first-run empty diff, truncation-suppressed diff, and URL context path requirements.

2026.08.21.2

2026.08.21.2

Changed: list_repos, get_repo_health, diff_packages, and get_storage_info used to raise a bare HTTP <status> error on a non-200 response, discarding the response body. They now include the request URL and the server's response body in the error message, matching query_packages's existing behavior, so a failed call says what was attempted and why the server rejected it instead of just the status code.

query_packages and diff_packages now reject an empty query argument before making any request, rather than sending it to Artifactory and surfacing whatever error AQL returns for an empty query string.

2026.08.21.1

2026.08.21.1

Changed: Added descriptions to the previously undocumented fields across the health, repos, packages, package-diff, and storage resource schemas, and to the diff_packages method's limit argument. Tightened the global token argument to require a non-empty string.

2026.07.18.1

Added: An upgrades array entry (no-op) to artifactory.ts for proper typeVersion tracking on existing instances. No schema or behavior changes.

2026.07.18.1

2026.07.18.1

Added: An upgrades array entry (no-op) to artifactory.ts for proper typeVersion tracking on existing instances. No schema or behavior changes.

2026.06.23.1
2026.06.15.1
2026.06.02.1
05Stats
A
100 / 100
Downloads
47
Archive size
17.9 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
06Platforms
07Labels