Skip to content

Add missing input/output/dataset schemas to all templates - #866

Open
patrikbraborec wants to merge 3 commits into
masterfrom
add-missing-actor-schemas
Open

Add missing input/output/dataset schemas to all templates#866
patrikbraborec wants to merge 3 commits into
masterfrom
add-missing-actor-schemas

Conversation

@patrikbraborec

@patrikbraborec patrikbraborec commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Part of the Store schema cleanup push: input/output/dataset (or key-value-store) schemas are becoming a publication requirement, same mechanism as the README gate.
  • Several templates were missing schemas entirely or partially: js-empty, ts-empty, python-empty, js-standby, ts-standby, python-standby, js-bootstrap-cheerio-crawler, ts-bootstrap-cheerio-crawler, cli-start, python-scrapy, python-mcp-empty, python-mcp-proxy, ts-mcp-empty, ts-mcp-proxy.
  • Added empty (but explicit) input/output/dataset schemas for templates that take no input and produce no output (empty templates, standby templates, MCP server templates that already had an inline empty inputSchema).
  • Added real schemas reflecting actual fields for templates that do produce output: cli-start (name/greeting), the bootstrap-cheerio-crawler templates and python-scrapy (title/url).
  • Verified every template in templates/ now has an input schema, output schema, and a dataset or key-value-store schema.

Closes #867

Several templates (empty, standby, bootstrap-cheerio-crawler, cli-start,
python-scrapy, and the MCP server templates) were missing input, output,
and/or dataset schemas. Adds empty schemas where the template has no
input/output, and real schemas reflecting actual fields where it does,
so every template is compliant with the Store schema requirement.
@github-actions github-actions Bot added this to the 145th sprint - Builders team milestone Jul 22, 2026
@github-actions github-actions Bot added the t-builders Issues owned by the Builders team. label Jul 22, 2026
@l2ysho

l2ysho commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

some quick thoughts:

  1. js-langchain and js-langgraph-agent have a input_schema files but they are not use in actor.json (this is preexisting)
  2. maybe it make sense to add apify validate-schema step CI/CD?

only 1. is probably blocker, 2 is nonblocking, just general discussion.

@l2ysho l2ysho left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one additional question

"$schema": "https://apify.com/schemas/v1/output.ide.json",
"actorOutputSchemaVersion": 1,
"title": "Output schema",
"properties": {}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Q: is this empty schema what we want to do for js/ts/py empty templates?

Image

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to be exact, we want to display Log tab instead Output tab?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, let's keep the Output tab.

@patrikbraborec

Copy link
Copy Markdown
Contributor Author

js-langchain and js-langgraph-agent have a input_schema files but they are not use in actor.json (this is preexisting)

Let's add it, please.

maybe it make sense to add apify validate-schema step CI/CD?

Yes, let's add it.

@patrikbraborec

Copy link
Copy Markdown
Contributor Author

There is also long discussion: https://apify.slack.com/archives/C07240BTLR0/p1784212106821249. I think we should wait before we decide on how to handle it. cc. @DaveHanns

l2ysho and others added 2 commits August 6, 2026 23:22
Per PR review: an output schema with no properties makes Apify Console
show the Log tab instead of the Output tab, and we want to keep the
Output tab. Point the results property at the default dataset items,
same as the other templates.

Also reference input_schema.json explicitly in actor.json for
js-langchain and js-langgraph-agent, which relied on the default
file-path lookup.
@patrikbraborec

Copy link
Copy Markdown
Contributor Author

Hey @l2ysho and @DaveHanns -- I updated the PR, and it's now OK with https://apify.slack.com/archives/C07240BTLR0/p1785747846889219?thread_ts=1784212106.821249&cid=C07240BTLR0. Can we merge it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-builders Issues owned by the Builders team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add missing input/output/dataset schemas to all templates

3 participants