list_library

Generated automatically from the published contract sources.

Build metadata: Registered in this build. Registration describes the default dispatcher in this build. It does not guarantee that a caller has the required credential or grant, that a tool is listed for that connection, or that the required service is configured.

A script calls this action over HTTPS at POST https://turnzero.ai/api/v1/actions/list_library, with the action's payload as the JSON body. It also accepts GET. It needs no credential.

Contract description

List the published code library — each entry's name, version, content hash, and a selection summary quoted from the entry's own product statement — on any signed-in connection. Pass `installed` (the entries your project holds, each by the hash its manifest row records) to learn every entry's standing: current, newer, or withdrawn for one you named, and not_held for a served entry you did not, which was compared with nothing. Add `held_only: true` beside `installed` to answer only the entries you named, which is all a proof of a fetch or an update's compare reads. Pass `contains` to answer only the entries whose name or summary holds that text, ignoring case; an entry `installed` names is always answered.

Access and action metadata

{
  "name": "list_library",
  "resource": "library",
  "tier": "observe",
  "access": "anonymous",
  "summary": "The library's inventory: catalog rows and their selection summaries, answering anonymously — the recommendation moment precedes the account.",
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "openWorldHint": false,
    "idempotentHint": true
  }
}

MCP catalog entry

{
  "name": "list_library",
  "tier": "observe",
  "scenario": "API-L0-15",
  "summary": "List the published code library — each entry's name, version, content hash, and a selection summary quoted from the entry's own product statement — on any signed-in connection. Pass `installed` (the entries your project holds, each by the hash its manifest row records) to learn every entry's standing: current, newer, or withdrawn for one you named, and not_held for a served entry you did not, which was compared with nothing. Add `held_only: true` beside `installed` to answer only the entries you named, which is all a proof of a fetch or an update's compare reads. Pass `contains` to answer only the entries whose name or summary holds that text, ignoring case; an entry `installed` names is always answered.",
  "owners": [
    "API-L0-15",
    "LC-06"
  ]
}

request

JSON pointer Description and constraints
"" (root) Type: object
Additional properties: false
/properties/installed The entries your project already holds, each `{name, version, hash}` from its manifest row. The answer then carries a standing on every entry: `current`, `newer`, or `withdrawn` for one this list names, and `not_held` for a served entry it does not name, which is compared with nothing. With `held_only`, only the entries this list names are answered. Two calls answer fewer `not_held` rows: one carrying `held_only: true` answers none, and one carrying `contains` answers only those its text matches.

Type: array
/properties/installed/items Type: object
Required fields: ["name","hash"]
Additional properties: false
/properties/installed/items/properties/name Type: string
/properties/installed/items/properties/version The version held, as the manifest row records it.

Type: ["string","null"]
/properties/installed/items/properties/hash The vendored copy's recorded closure hash, compared with the served closure hash.

Type: string
/properties/held_only With `installed`: true answers only the entries that list names, each standing `current`, `newer`, or `withdrawn` and each row whole, and leaves out every `not_held` row. True without `installed` is refused `invalid_request`. Defaults to false.

Type: boolean
/properties/contains Only the entries whose name or summary contains this text, ignoring case, and every entry `installed` names, which is answered whatever the text. An empty or absent `contains` narrows nothing.

Type: string
Maximum length: 200

response

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["contract_version","entries"]
Additional properties: false
/properties/contract_version Required value: 1
/properties/entries Type: array
/properties/entries/items Type: object
Required fields: ["name","kind","closure_hash"]
Additional properties: false
/properties/entries/items/properties/name Type: string
/properties/entries/items/properties/kind Type: string
/properties/entries/items/properties/version Type: ["string","null"]
/properties/entries/items/properties/closure_hash Type: string
/properties/entries/items/properties/summary Type: ["string","null"]
/properties/entries/items/properties/supersedes Type: array
/properties/entries/items/properties/supersedes/items Type: string
/properties/entries/items/properties/standing Present when the request carried `installed`. Standing `current`: the held hash equals the served closure hash. Standing `newer`: it differs. Standing `withdrawn`: the held name is no longer served, the row answered from the caller's own item. Standing `not_held`: the served entry is not in the caller's list and was compared with nothing, and no such row is answered where the request carried `held_only` (LC-06).

Allowed values: ["current","newer","withdrawn","not_held"]
/properties/source_commit The library commit this publish was read at. LC-07 requires a project's folder manifest to record, per entry, the commit it was published from; the fact lives on the catalog rather than on any row, so it is answered here or it is unreachable. Absent before the first publish.

Type: string
/properties/published_at When this publish ran, ISO 8601. Distinct from an entry's own published_at, which is when that entry last changed. Absent before the first publish.

Type: string

Complete payload contract

{
  "request": {
    "type": "object",
    "properties": {
      "installed": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "name",
            "hash"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "version": {
              "type": [
                "string",
                "null"
              ],
              "description": "The version held, as the manifest row records it."
            },
            "hash": {
              "type": "string",
              "description": "The vendored copy's recorded closure hash, compared with the served closure hash."
            }
          },
          "additionalProperties": false
        },
        "description": "The entries your project already holds, each `{name, version, hash}` from its manifest row. The answer then carries a standing on every entry: `current`, `newer`, or `withdrawn` for one this list names, and `not_held` for a served entry it does not name, which is compared with nothing. With `held_only`, only the entries this list names are answered. Two calls answer fewer `not_held` rows: one carrying `held_only: true` answers none, and one carrying `contains` answers only those its text matches."
      },
      "held_only": {
        "type": "boolean",
        "description": "With `installed`: true answers only the entries that list names, each standing `current`, `newer`, or `withdrawn` and each row whole, and leaves out every `not_held` row. True without `installed` is refused `invalid_request`. Defaults to false."
      },
      "contains": {
        "type": "string",
        "maxLength": 200,
        "description": "Only the entries whose name or summary contains this text, ignoring case, and every entry `installed` names, which is answered whatever the text. An empty or absent `contains` narrows nothing."
      }
    },
    "additionalProperties": false
  },
  "response": {
    "type": "object",
    "required": [
      "contract_version",
      "entries"
    ],
    "properties": {
      "contract_version": {
        "const": 1
      },
      "entries": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "name",
            "kind",
            "closure_hash"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "kind": {
              "type": "string"
            },
            "version": {
              "type": [
                "string",
                "null"
              ]
            },
            "closure_hash": {
              "type": "string"
            },
            "summary": {
              "type": [
                "string",
                "null"
              ]
            },
            "supersedes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "standing": {
              "enum": [
                "current",
                "newer",
                "withdrawn",
                "not_held"
              ],
              "description": "Present when the request carried `installed`. Standing `current`: the held hash equals the served closure hash. Standing `newer`: it differs. Standing `withdrawn`: the held name is no longer served, the row answered from the caller's own item. Standing `not_held`: the served entry is not in the caller's list and was compared with nothing, and no such row is answered where the request carried `held_only` (LC-06)."
            }
          },
          "additionalProperties": false
        }
      },
      "source_commit": {
        "description": "The library commit this publish was read at. LC-07 requires a project's folder manifest to record, per entry, the commit it was published from; the fact lives on the catalog rather than on any row, so it is answered here or it is unreachable. Absent before the first publish.",
        "type": "string"
      },
      "published_at": {
        "description": "When this publish ran, ISO 8601. Distinct from an entry's own published_at, which is when that entry last changed. Absent before the first publish.",
        "type": "string"
      }
    },
    "additionalProperties": false
  }
}

Shared contracts