KosmoKrator

data

endoflife.date Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the endoflife.date KosmoKrator integration.

Lua Namespace

Agents call this integration through app.integrations.endoflife_date.*. Use lua_read_doc("integrations.endoflife-date") inside KosmoKrator to discover the same reference at runtime.

Call Lua from the Headless CLI

Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic endoflife.date workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.endoflife_date.api_index({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("endoflife-date"))' --json
kosmo integrations:lua --eval 'print(docs.read("endoflife-date.api_index"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local endoflife_date = app.integrations.endoflife_date
local result = endoflife_date.api_index({})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. integrations:lua exposes app.integrations.endoflife_date, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.endoflife_date.default.* or app.integrations.endoflife_date.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need endoflife.date, use the narrower mcp:lua command.

MCP Lua command
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

endoflife.date

Namespace: endoflife-date

Use this integration to query endoflife.date API v1 for software and hardware lifecycle data: product discovery, release dates, active support, EOL, extended support, latest versions, categories, tags, and identifiers.

Authentication

The endoflife.date API v1 is public and requires no credentials.

Tools

  • endoflife_date_index: list the main API v1 endpoints.
  • endoflife_date_products: list all product summaries.
  • endoflife_date_products_full: list all products with full release data. This can be a large response; use the summary tool first when possible.
  • endoflife_date_product: get one product with all documented release cycles.
  • endoflife_date_product_release: get one release cycle for one product.
  • endoflife_date_latest_release: get the latest release cycle for one product.
  • endoflife_date_categories: list categories.
  • endoflife_date_category_products: list product summaries in a category.
  • endoflife_date_tags: list tags.
  • endoflife_date_tag_products: list product summaries with a tag.
  • endoflife_date_identifier_types: list identifier types such as purl and cpe.
  • endoflife_date_identifiers: list identifiers for a type and their related products.

Return Notes

This package keeps API v1 field names intact. Product summaries return name, aliases, label, category, tags, and uri. Product details add versionCommand, identifiers, labels, links, and releases.

Release cycles commonly include name, codename, label, releaseDate, isLts, isEol, eolFrom, isMaintained, and latest. Some lifecycle fields are product-specific, such as isEoas, eoasFrom, isEoes, eoesFrom, isDiscontinued, and discontinuedFrom.

The API may permanently redirect renamed products, categories, or tags. The integration follows redirects.

Examples

local ubuntu = tools.endoflife_date_product({
  product = "ubuntu"
})

local noble = tools.endoflife_date_product_release({
  product = "ubuntu",
  release = "24.04"
})

local latest_php = tools.endoflife_date_latest_release({
  product = "php"
})

local purls = tools.endoflife_date_identifiers({
  identifier_type = "purl"
})

Use product slugs or aliases in their natural form. The integration handles path encoding for release names and identifier types.

Raw agent markdown
# endoflife.date

Namespace: `endoflife-date`

Use this integration to query endoflife.date API v1 for software and hardware
lifecycle data: product discovery, release dates, active support, EOL,
extended support, latest versions, categories, tags, and identifiers.

## Authentication

The endoflife.date API v1 is public and requires no credentials.

## Tools

- `endoflife_date_index`: list the main API v1 endpoints.
- `endoflife_date_products`: list all product summaries.
- `endoflife_date_products_full`: list all products with full release data.
  This can be a large response; use the summary tool first when possible.
- `endoflife_date_product`: get one product with all documented release
  cycles.
- `endoflife_date_product_release`: get one release cycle for one product.
- `endoflife_date_latest_release`: get the latest release cycle for one
  product.
- `endoflife_date_categories`: list categories.
- `endoflife_date_category_products`: list product summaries in a category.
- `endoflife_date_tags`: list tags.
- `endoflife_date_tag_products`: list product summaries with a tag.
- `endoflife_date_identifier_types`: list identifier types such as `purl` and
  `cpe`.
- `endoflife_date_identifiers`: list identifiers for a type and their related
  products.

## Return Notes

This package keeps API v1 field names intact. Product summaries return
`name`, `aliases`, `label`, `category`, `tags`, and `uri`. Product details add
`versionCommand`, `identifiers`, `labels`, `links`, and `releases`.

Release cycles commonly include `name`, `codename`, `label`, `releaseDate`,
`isLts`, `isEol`, `eolFrom`, `isMaintained`, and `latest`. Some lifecycle
fields are product-specific, such as `isEoas`, `eoasFrom`, `isEoes`,
`eoesFrom`, `isDiscontinued`, and `discontinuedFrom`.

The API may permanently redirect renamed products, categories, or tags. The
integration follows redirects.

## Examples

```lua
local ubuntu = tools.endoflife_date_product({
  product = "ubuntu"
})

local noble = tools.endoflife_date_product_release({
  product = "ubuntu",
  release = "24.04"
})

local latest_php = tools.endoflife_date_latest_release({
  product = "php"
})

local purls = tools.endoflife_date_identifiers({
  identifier_type = "purl"
})
```

Use product slugs or aliases in their natural form. The integration handles
path encoding for release names and identifier types.
Metadata-derived Lua example
local result = app.integrations.endoflife_date.api_index({})
print(result)

Functions

api_index Read

List main endoflife.date API v1 endpoints.

Lua path
app.integrations.endoflife_date.api_index
Full name
endoflife-date.endoflife_date_index
ParameterTypeRequiredDescription
No parameters.
products Read

List product summaries.

Lua path
app.integrations.endoflife_date.products
Full name
endoflife-date.endoflife_date_products
ParameterTypeRequiredDescription
No parameters.
products_full Read

List products with full lifecycle data.

Lua path
app.integrations.endoflife_date.products_full
Full name
endoflife-date.endoflife_date_products_full
ParameterTypeRequiredDescription
No parameters.
product Read

Get one product with release lifecycle data.

Lua path
app.integrations.endoflife_date.product
Full name
endoflife-date.endoflife_date_product
ParameterTypeRequiredDescription
No parameters.
product_release Read

Get one product release cycle.

Lua path
app.integrations.endoflife_date.product_release
Full name
endoflife-date.endoflife_date_product_release
ParameterTypeRequiredDescription
No parameters.
latest_release Read

Get the latest release cycle for a product.

Lua path
app.integrations.endoflife_date.latest_release
Full name
endoflife-date.endoflife_date_latest_release
ParameterTypeRequiredDescription
No parameters.
categories Read

List lifecycle product categories.

Lua path
app.integrations.endoflife_date.categories
Full name
endoflife-date.endoflife_date_categories
ParameterTypeRequiredDescription
No parameters.
category_products Read

List product summaries in a category.

Lua path
app.integrations.endoflife_date.category_products
Full name
endoflife-date.endoflife_date_category_products
ParameterTypeRequiredDescription
No parameters.
tags Read

List lifecycle product tags.

Lua path
app.integrations.endoflife_date.tags
Full name
endoflife-date.endoflife_date_tags
ParameterTypeRequiredDescription
No parameters.
tag_products Read

List product summaries with a tag.

Lua path
app.integrations.endoflife_date.tag_products
Full name
endoflife-date.endoflife_date_tag_products
ParameterTypeRequiredDescription
No parameters.
identifier_types Read

List known identifier types.

Lua path
app.integrations.endoflife_date.identifier_types
Full name
endoflife-date.endoflife_date_identifier_types
ParameterTypeRequiredDescription
No parameters.
identifiers Read

List identifiers for a type and their products.

Lua path
app.integrations.endoflife_date.identifiers
Full name
endoflife-date.endoflife_date_identifiers
ParameterTypeRequiredDescription
No parameters.