From 809c20b836879caa1039aa0330ebee700aa4ffa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hanu=C5=A1?= Date: Sun, 21 Jun 2026 23:03:26 +0200 Subject: [PATCH] feat: add .actorignore to all templates and populate dataset_schema.json fields MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Library-wide hygiene + observability fix for templates created via apify create or fetched via @apify/actor-templates. ## .actorignore (all 44 templates) Adds .actorignore to every template directory so `apify push` excludes: - Build artifacts the platform regenerates inside the Docker image (dist/, build/, *.tsbuildinfo for Node; __pycache__/, *.pyc for Python) - Dependencies (node_modules/, .venv/) — installed by the platform builder - Local-development storage (storage/, apify_storage/, crawlee_storage/) - Logs / env / IDE / OS files / .git/ history Three .actorignore variants by language: Node (TS/JS, 25 templates), Python (18 templates), minimal (cli-start, shell-only). Closes the existing `apify push` upload-bloat soft-warn that fires on every CLI-deploying agent or human. ## .actor/dataset_schema.json — added to 6 templates Adds a starter dataset_schema.json to 6 templates that materially push records to a dataset during normal execution but didn't ship one: - ts-empty, js-empty, python-empty (starter scaffolds) - ts-bootstrap-cheerio-crawler, js-bootstrap-cheerio-crawler (crawlers) - python-scrapy (Scrapy-based crawler) Deliberately NOT added (9 templates that don't push to the dataset by design): - cli-start (shell-only, no data path) - js-langchain (writes only to key-value store via Actor.setValue('OUTPUT', res)) - ts-standby, js-standby, python-standby (HTTP servers — request/response) - ts-mcp-empty, ts-mcp-proxy, python-mcp-empty, python-mcp-proxy (MCP servers) Shipping a dataset schema for a non-dataset-writing template would imply a contract the template doesn't use and mislead users about output location. ## .actor/dataset_schema.json — `.fields` populated in 29 existing schemas The 29 templates that already shipped dataset_schema.json had `"fields": {}` (empty) but a populated `views.overview.transformation.fields` array. Populated `.fields` by deriving JSON Schema properties from each schema's existing field names + display-format hints: - format=link/image -> {"type":"string","format":"uri"} - format=array -> {"type":"array","items":{"type":"string"}} - format=number -> {"type":"number"} - format=boolean -> {"type":"boolean"} - format=date -> {"type":"string","format":"date-time"} - format=object -> {"type":"object","additionalProperties":true} - format=text/other -> {"type":"string"} Closes the existing non-empty-.fields recommendation soft-warn for every template-derived Actor. ## Out of scope (separate PRs) - The 16 JS/TS templates with `name` != `id` in manifest.json (e.g. js-empty / project_empty, js-start / getting_started_node) warrant a coordinated rename + apify-cli alias support; addressed in a follow-up PR pair. - The leftover @apify/json_schemas actor.schema.json regex looser than platform admission is an apify-shared-js issue, not a templates one. Refs: - chocholous/apify-evals findings F26 (no dataset_schema in ts-empty) - chocholous/apify-evals findings F27 (no .actorignore library-wide) - chocholous/apify-evals findings F29 (dist/ shipped because no .actorignore) - chocholous/apify-evals findings F32 (agents reject apify create + hand-roll) - chocholous/apify-evals findings F33 (template usage rate ~80% under all stack) --- templates/cli-start/.actorignore | 9 +++ .../.actor/dataset_schema.json | 47 +++++++++++++++ .../js-bootstrap-cheerio-crawler/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 25 +++++++- templates/js-crawlee-cheerio/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 25 +++++++- .../.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 25 +++++++- .../js-crawlee-playwright-chrome/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 25 +++++++- .../js-crawlee-puppeteer-chrome/.actorignore | 28 +++++++++ .../js-cypress/.actor/dataset_schema.json | 45 +++++++++++++- templates/js-cypress/.actorignore | 28 +++++++++ templates/js-empty/.actor/dataset_schema.json | 37 ++++++++++++ templates/js-empty/.actorignore | 28 +++++++++ templates/js-langchain/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 24 +++++++- templates/js-langgraph-agent/.actorignore | 28 +++++++++ templates/js-standby/.actorignore | 28 +++++++++ templates/js-start/.actor/dataset_schema.json | 24 +++++++- templates/js-start/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 52 ++++++++++++++++- templates/python-beautifulsoup/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 52 ++++++++++++++++- .../python-crawlee-beautifulsoup/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 52 ++++++++++++++++- templates/python-crawlee-parsel/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 52 ++++++++++++++++- .../.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 52 ++++++++++++++++- .../python-crawlee-playwright/.actorignore | 28 +++++++++ .../python-crewai/.actor/dataset_schema.json | 23 +++++++- templates/python-crewai/.actorignore | 28 +++++++++ .../python-empty/.actor/dataset_schema.json | 37 ++++++++++++ templates/python-empty/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 24 +++++++- templates/python-langgraph/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 24 +++++++- .../python-llamaindex-agent/.actorignore | 28 +++++++++ templates/python-mcp-empty/.actorignore | 28 +++++++++ templates/python-mcp-proxy/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 25 +++++++- templates/python-playwright/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 24 +++++++- templates/python-pydanticai/.actorignore | 28 +++++++++ .../python-scrapy/.actor/dataset_schema.json | 47 +++++++++++++++ templates/python-scrapy/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 25 +++++++- templates/python-selenium/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 18 +++++- templates/python-smolagents/.actorignore | 28 +++++++++ templates/python-standby/.actorignore | 28 +++++++++ .../python-start/.actor/dataset_schema.json | 24 +++++++- templates/python-start/.actorignore | 28 +++++++++ .../ts-beeai-agent/.actor/dataset_schema.json | 30 +++++++++- templates/ts-beeai-agent/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 47 +++++++++++++++ .../ts-bootstrap-cheerio-crawler/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 25 +++++++- templates/ts-crawlee-cheerio/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 25 +++++++- .../.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 25 +++++++- .../ts-crawlee-playwright-chrome/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 25 +++++++- .../ts-crawlee-puppeteer-chrome/.actorignore | 28 +++++++++ templates/ts-empty/.actor/dataset_schema.json | 37 ++++++++++++ templates/ts-empty/.actorignore | 28 +++++++++ .../ts-mastraai/.actor/dataset_schema.json | 23 +++++++- templates/ts-mastraai/.actorignore | 28 +++++++++ templates/ts-mcp-empty/.actorignore | 28 +++++++++ templates/ts-mcp-proxy/.actorignore | 28 +++++++++ .../.actor/dataset_schema.json | 58 ++++++++++++++++++- .../ts-playwright-test-runner/.actorignore | 28 +++++++++ templates/ts-standby/.actorignore | 28 +++++++++ .../ts-start-bun/.actor/dataset_schema.json | 24 +++++++- templates/ts-start-bun/.actorignore | 28 +++++++++ templates/ts-start/.actor/dataset_schema.json | 24 +++++++- templates/ts-start/.actorignore | 28 +++++++++ 79 files changed, 2311 insertions(+), 53 deletions(-) create mode 100644 templates/cli-start/.actorignore create mode 100644 templates/js-bootstrap-cheerio-crawler/.actor/dataset_schema.json create mode 100644 templates/js-bootstrap-cheerio-crawler/.actorignore create mode 100644 templates/js-crawlee-cheerio/.actorignore create mode 100644 templates/js-crawlee-playwright-camoufox/.actorignore create mode 100644 templates/js-crawlee-playwright-chrome/.actorignore create mode 100644 templates/js-crawlee-puppeteer-chrome/.actorignore create mode 100644 templates/js-cypress/.actorignore create mode 100644 templates/js-empty/.actor/dataset_schema.json create mode 100644 templates/js-empty/.actorignore create mode 100644 templates/js-langchain/.actorignore create mode 100644 templates/js-langgraph-agent/.actorignore create mode 100644 templates/js-standby/.actorignore create mode 100644 templates/js-start/.actorignore create mode 100644 templates/python-beautifulsoup/.actorignore create mode 100644 templates/python-crawlee-beautifulsoup/.actorignore create mode 100644 templates/python-crawlee-parsel/.actorignore create mode 100644 templates/python-crawlee-playwright-camoufox/.actorignore create mode 100644 templates/python-crawlee-playwright/.actorignore create mode 100644 templates/python-crewai/.actorignore create mode 100644 templates/python-empty/.actor/dataset_schema.json create mode 100644 templates/python-empty/.actorignore create mode 100644 templates/python-langgraph/.actorignore create mode 100644 templates/python-llamaindex-agent/.actorignore create mode 100644 templates/python-mcp-empty/.actorignore create mode 100644 templates/python-mcp-proxy/.actorignore create mode 100644 templates/python-playwright/.actorignore create mode 100644 templates/python-pydanticai/.actorignore create mode 100644 templates/python-scrapy/.actor/dataset_schema.json create mode 100644 templates/python-scrapy/.actorignore create mode 100644 templates/python-selenium/.actorignore create mode 100644 templates/python-smolagents/.actorignore create mode 100644 templates/python-standby/.actorignore create mode 100644 templates/python-start/.actorignore create mode 100644 templates/ts-beeai-agent/.actorignore create mode 100644 templates/ts-bootstrap-cheerio-crawler/.actor/dataset_schema.json create mode 100644 templates/ts-bootstrap-cheerio-crawler/.actorignore create mode 100644 templates/ts-crawlee-cheerio/.actorignore create mode 100644 templates/ts-crawlee-playwright-camoufox/.actorignore create mode 100644 templates/ts-crawlee-playwright-chrome/.actorignore create mode 100644 templates/ts-crawlee-puppeteer-chrome/.actorignore create mode 100644 templates/ts-empty/.actor/dataset_schema.json create mode 100644 templates/ts-empty/.actorignore create mode 100644 templates/ts-mastraai/.actorignore create mode 100644 templates/ts-mcp-empty/.actorignore create mode 100644 templates/ts-mcp-proxy/.actorignore create mode 100644 templates/ts-playwright-test-runner/.actorignore create mode 100644 templates/ts-standby/.actorignore create mode 100644 templates/ts-start-bun/.actorignore create mode 100644 templates/ts-start/.actorignore diff --git a/templates/cli-start/.actorignore b/templates/cli-start/.actorignore new file mode 100644 index 000000000..0641c039e --- /dev/null +++ b/templates/cli-start/.actorignore @@ -0,0 +1,9 @@ +# .actorignore — files NOT included in `apify push` archives. +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store +.git/ diff --git a/templates/js-bootstrap-cheerio-crawler/.actor/dataset_schema.json b/templates/js-bootstrap-cheerio-crawler/.actor/dataset_schema.json new file mode 100644 index 000000000..392262d45 --- /dev/null +++ b/templates/js-bootstrap-cheerio-crawler/.actor/dataset_schema.json @@ -0,0 +1,47 @@ +{ + "$schema": "https://apify.com/schemas/v1/dataset.ide.json", + "actorSpecification": 1, + "fields": { + "title": "Pages", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, + "views": { + "overview": { + "title": "Overview", + "transformation": { + "fields": [ + "title", + "url" + ] + }, + "display": { + "component": "table", + "properties": { + "title": { + "label": "Title", + "format": "text" + }, + "url": { + "label": "URL", + "format": "link" + } + } + } + } + } +} diff --git a/templates/js-bootstrap-cheerio-crawler/.actorignore b/templates/js-bootstrap-cheerio-crawler/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-bootstrap-cheerio-crawler/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/js-crawlee-cheerio/.actor/dataset_schema.json b/templates/js-crawlee-cheerio/.actor/dataset_schema.json index e4a74d29d..d0e1e6abc 100644 --- a/templates/js-crawlee-cheerio/.actor/dataset_schema.json +++ b/templates/js-crawlee-cheerio/.actor/dataset_schema.json @@ -1,12 +1,33 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url"] + "fields": [ + "title", + "url" + ] }, "display": { "component": "table", diff --git a/templates/js-crawlee-cheerio/.actorignore b/templates/js-crawlee-cheerio/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-crawlee-cheerio/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/js-crawlee-playwright-camoufox/.actor/dataset_schema.json b/templates/js-crawlee-playwright-camoufox/.actor/dataset_schema.json index e4a74d29d..d0e1e6abc 100644 --- a/templates/js-crawlee-playwright-camoufox/.actor/dataset_schema.json +++ b/templates/js-crawlee-playwright-camoufox/.actor/dataset_schema.json @@ -1,12 +1,33 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url"] + "fields": [ + "title", + "url" + ] }, "display": { "component": "table", diff --git a/templates/js-crawlee-playwright-camoufox/.actorignore b/templates/js-crawlee-playwright-camoufox/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-crawlee-playwright-camoufox/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/js-crawlee-playwright-chrome/.actor/dataset_schema.json b/templates/js-crawlee-playwright-chrome/.actor/dataset_schema.json index e4a74d29d..d0e1e6abc 100644 --- a/templates/js-crawlee-playwright-chrome/.actor/dataset_schema.json +++ b/templates/js-crawlee-playwright-chrome/.actor/dataset_schema.json @@ -1,12 +1,33 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url"] + "fields": [ + "title", + "url" + ] }, "display": { "component": "table", diff --git a/templates/js-crawlee-playwright-chrome/.actorignore b/templates/js-crawlee-playwright-chrome/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-crawlee-playwright-chrome/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/js-crawlee-puppeteer-chrome/.actor/dataset_schema.json b/templates/js-crawlee-puppeteer-chrome/.actor/dataset_schema.json index e4a74d29d..d0e1e6abc 100644 --- a/templates/js-crawlee-puppeteer-chrome/.actor/dataset_schema.json +++ b/templates/js-crawlee-puppeteer-chrome/.actor/dataset_schema.json @@ -1,12 +1,33 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url"] + "fields": [ + "title", + "url" + ] }, "display": { "component": "table", diff --git a/templates/js-crawlee-puppeteer-chrome/.actorignore b/templates/js-crawlee-puppeteer-chrome/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-crawlee-puppeteer-chrome/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/js-cypress/.actor/dataset_schema.json b/templates/js-cypress/.actor/dataset_schema.json index 723dbd493..aa622bc45 100644 --- a/templates/js-cypress/.actor/dataset_schema.json +++ b/templates/js-cypress/.actor/dataset_schema.json @@ -1,7 +1,50 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Filtered output", + "type": "object", + "properties": { + "testSuiteTitle": { + "type": "string", + "title": "Test Suite Title" + }, + "totalDuration": { + "type": "number", + "title": "Total Duration" + }, + "totalFailed": { + "type": "number", + "title": "Total Failed" + }, + "totalPassed": { + "type": "string", + "title": "Total Passed" + }, + "totalPending": { + "type": "number", + "title": "Total Pending" + }, + "totalSkipped": { + "type": "number", + "title": "Total Skipped" + }, + "videoLink": { + "type": "string", + "format": "uri", + "title": "Video recording" + } + }, + "required": [ + "testSuiteTitle", + "totalDuration", + "totalFailed", + "totalPassed", + "totalPending", + "totalSkipped", + "videoLink" + ] + }, "views": { "overview": { "title": "Filtered output", diff --git a/templates/js-cypress/.actorignore b/templates/js-cypress/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-cypress/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/js-empty/.actor/dataset_schema.json b/templates/js-empty/.actor/dataset_schema.json new file mode 100644 index 000000000..7a22f4203 --- /dev/null +++ b/templates/js-empty/.actor/dataset_schema.json @@ -0,0 +1,37 @@ +{ + "$schema": "https://apify.com/schemas/v1/dataset.ide.json", + "$comment": "Starter dataset schema. Replace the `value` field below with your Actor's actual output fields, then run `apify push` to upload.", + "actorSpecification": 1, + "fields": { + "title": "Records", + "type": "object", + "properties": { + "value": { + "type": "string", + "title": "Value" + } + }, + "required": [ + "value" + ] + }, + "views": { + "overview": { + "title": "Overview", + "transformation": { + "fields": [ + "value" + ] + }, + "display": { + "component": "table", + "properties": { + "value": { + "label": "Value", + "format": "text" + } + } + } + } + } +} diff --git a/templates/js-empty/.actorignore b/templates/js-empty/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-empty/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/js-langchain/.actorignore b/templates/js-langchain/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-langchain/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/js-langgraph-agent/.actor/dataset_schema.json b/templates/js-langgraph-agent/.actor/dataset_schema.json index 0395a737d..f2a161fe3 100644 --- a/templates/js-langgraph-agent/.actor/dataset_schema.json +++ b/templates/js-langgraph-agent/.actor/dataset_schema.json @@ -1,12 +1,32 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "answer": { + "type": "string", + "title": "Answer" + }, + "question": { + "type": "string", + "title": "Question" + } + }, + "required": [ + "answer", + "question" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["question", "answer"] + "fields": [ + "question", + "answer" + ] }, "display": { "component": "table", diff --git a/templates/js-langgraph-agent/.actorignore b/templates/js-langgraph-agent/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-langgraph-agent/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/js-standby/.actorignore b/templates/js-standby/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-standby/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/js-start/.actor/dataset_schema.json b/templates/js-start/.actor/dataset_schema.json index 4ab99990c..97b98dc1f 100644 --- a/templates/js-start/.actor/dataset_schema.json +++ b/templates/js-start/.actor/dataset_schema.json @@ -1,12 +1,32 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "level": { + "type": "string", + "title": "Level" + }, + "text": { + "type": "string", + "title": "Text" + } + }, + "required": [ + "level", + "text" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["level", "text"] + "fields": [ + "level", + "text" + ] }, "display": { "component": "table", diff --git a/templates/js-start/.actorignore b/templates/js-start/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/js-start/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-beautifulsoup/.actor/dataset_schema.json b/templates/python-beautifulsoup/.actor/dataset_schema.json index 388358a54..95c23f0e2 100644 --- a/templates/python-beautifulsoup/.actor/dataset_schema.json +++ b/templates/python-beautifulsoup/.actor/dataset_schema.json @@ -1,12 +1,60 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "h1s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H1s" + }, + "h2s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H2s" + }, + "h3s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H3s" + }, + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "h1s", + "h2s", + "h3s", + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url", "h1s", "h2s", "h3s"] + "fields": [ + "title", + "url", + "h1s", + "h2s", + "h3s" + ] }, "display": { "component": "table", diff --git a/templates/python-beautifulsoup/.actorignore b/templates/python-beautifulsoup/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-beautifulsoup/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-crawlee-beautifulsoup/.actor/dataset_schema.json b/templates/python-crawlee-beautifulsoup/.actor/dataset_schema.json index 388358a54..95c23f0e2 100644 --- a/templates/python-crawlee-beautifulsoup/.actor/dataset_schema.json +++ b/templates/python-crawlee-beautifulsoup/.actor/dataset_schema.json @@ -1,12 +1,60 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "h1s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H1s" + }, + "h2s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H2s" + }, + "h3s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H3s" + }, + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "h1s", + "h2s", + "h3s", + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url", "h1s", "h2s", "h3s"] + "fields": [ + "title", + "url", + "h1s", + "h2s", + "h3s" + ] }, "display": { "component": "table", diff --git a/templates/python-crawlee-beautifulsoup/.actorignore b/templates/python-crawlee-beautifulsoup/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-crawlee-beautifulsoup/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-crawlee-parsel/.actor/dataset_schema.json b/templates/python-crawlee-parsel/.actor/dataset_schema.json index 388358a54..95c23f0e2 100644 --- a/templates/python-crawlee-parsel/.actor/dataset_schema.json +++ b/templates/python-crawlee-parsel/.actor/dataset_schema.json @@ -1,12 +1,60 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "h1s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H1s" + }, + "h2s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H2s" + }, + "h3s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H3s" + }, + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "h1s", + "h2s", + "h3s", + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url", "h1s", "h2s", "h3s"] + "fields": [ + "title", + "url", + "h1s", + "h2s", + "h3s" + ] }, "display": { "component": "table", diff --git a/templates/python-crawlee-parsel/.actorignore b/templates/python-crawlee-parsel/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-crawlee-parsel/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-crawlee-playwright-camoufox/.actor/dataset_schema.json b/templates/python-crawlee-playwright-camoufox/.actor/dataset_schema.json index 388358a54..95c23f0e2 100644 --- a/templates/python-crawlee-playwright-camoufox/.actor/dataset_schema.json +++ b/templates/python-crawlee-playwright-camoufox/.actor/dataset_schema.json @@ -1,12 +1,60 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "h1s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H1s" + }, + "h2s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H2s" + }, + "h3s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H3s" + }, + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "h1s", + "h2s", + "h3s", + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url", "h1s", "h2s", "h3s"] + "fields": [ + "title", + "url", + "h1s", + "h2s", + "h3s" + ] }, "display": { "component": "table", diff --git a/templates/python-crawlee-playwright-camoufox/.actorignore b/templates/python-crawlee-playwright-camoufox/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-crawlee-playwright-camoufox/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-crawlee-playwright/.actor/dataset_schema.json b/templates/python-crawlee-playwright/.actor/dataset_schema.json index 388358a54..95c23f0e2 100644 --- a/templates/python-crawlee-playwright/.actor/dataset_schema.json +++ b/templates/python-crawlee-playwright/.actor/dataset_schema.json @@ -1,12 +1,60 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "h1s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H1s" + }, + "h2s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H2s" + }, + "h3s": { + "type": "array", + "items": { + "type": "string" + }, + "title": "H3s" + }, + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "h1s", + "h2s", + "h3s", + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url", "h1s", "h2s", "h3s"] + "fields": [ + "title", + "url", + "h1s", + "h2s", + "h3s" + ] }, "display": { "component": "table", diff --git a/templates/python-crawlee-playwright/.actorignore b/templates/python-crawlee-playwright/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-crawlee-playwright/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-crewai/.actor/dataset_schema.json b/templates/python-crewai/.actor/dataset_schema.json index ea2d6b856..9b11b0d6d 100644 --- a/templates/python-crewai/.actor/dataset_schema.json +++ b/templates/python-crewai/.actor/dataset_schema.json @@ -5,7 +5,10 @@ "overview": { "title": "Overview", "transformation": { - "fields": ["query", "response"] + "fields": [ + "query", + "response" + ] }, "display": { "component": "table", @@ -21,5 +24,23 @@ } } } + }, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "query": { + "type": "string", + "title": "Query" + }, + "response": { + "type": "string", + "title": "Response" + } + }, + "required": [ + "query", + "response" + ] } } diff --git a/templates/python-crewai/.actorignore b/templates/python-crewai/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-crewai/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-empty/.actor/dataset_schema.json b/templates/python-empty/.actor/dataset_schema.json new file mode 100644 index 000000000..7a22f4203 --- /dev/null +++ b/templates/python-empty/.actor/dataset_schema.json @@ -0,0 +1,37 @@ +{ + "$schema": "https://apify.com/schemas/v1/dataset.ide.json", + "$comment": "Starter dataset schema. Replace the `value` field below with your Actor's actual output fields, then run `apify push` to upload.", + "actorSpecification": 1, + "fields": { + "title": "Records", + "type": "object", + "properties": { + "value": { + "type": "string", + "title": "Value" + } + }, + "required": [ + "value" + ] + }, + "views": { + "overview": { + "title": "Overview", + "transformation": { + "fields": [ + "value" + ] + }, + "display": { + "component": "table", + "properties": { + "value": { + "label": "Value", + "format": "text" + } + } + } + } + } +} diff --git a/templates/python-empty/.actorignore b/templates/python-empty/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-empty/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-langgraph/.actor/dataset_schema.json b/templates/python-langgraph/.actor/dataset_schema.json index 3bf92117c..2fe4a25ef 100644 --- a/templates/python-langgraph/.actor/dataset_schema.json +++ b/templates/python-langgraph/.actor/dataset_schema.json @@ -5,7 +5,10 @@ "overview": { "title": "Overview", "transformation": { - "fields": ["response", "structured_response"] + "fields": [ + "response", + "structured_response" + ] }, "display": { "component": "table", @@ -21,5 +24,24 @@ } } } + }, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "response": { + "type": "string", + "title": "Response" + }, + "structured_response": { + "type": "object", + "additionalProperties": true, + "title": "Structured Response" + } + }, + "required": [ + "response", + "structured_response" + ] } } diff --git a/templates/python-langgraph/.actorignore b/templates/python-langgraph/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-langgraph/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-llamaindex-agent/.actor/dataset_schema.json b/templates/python-llamaindex-agent/.actor/dataset_schema.json index b296a2732..86967150d 100644 --- a/templates/python-llamaindex-agent/.actor/dataset_schema.json +++ b/templates/python-llamaindex-agent/.actor/dataset_schema.json @@ -1,12 +1,32 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "answer": { + "type": "string", + "title": "Answer" + }, + "query": { + "type": "string", + "title": "Query" + } + }, + "required": [ + "answer", + "query" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["query", "answer"] + "fields": [ + "query", + "answer" + ] }, "display": { "component": "table", diff --git a/templates/python-llamaindex-agent/.actorignore b/templates/python-llamaindex-agent/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-llamaindex-agent/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-mcp-empty/.actorignore b/templates/python-mcp-empty/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-mcp-empty/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-mcp-proxy/.actorignore b/templates/python-mcp-proxy/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-mcp-proxy/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-playwright/.actor/dataset_schema.json b/templates/python-playwright/.actor/dataset_schema.json index e4a74d29d..d0e1e6abc 100644 --- a/templates/python-playwright/.actor/dataset_schema.json +++ b/templates/python-playwright/.actor/dataset_schema.json @@ -1,12 +1,33 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url"] + "fields": [ + "title", + "url" + ] }, "display": { "component": "table", diff --git a/templates/python-playwright/.actorignore b/templates/python-playwright/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-playwright/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-pydanticai/.actor/dataset_schema.json b/templates/python-pydanticai/.actor/dataset_schema.json index 7d27dac99..248b979f7 100644 --- a/templates/python-pydanticai/.actor/dataset_schema.json +++ b/templates/python-pydanticai/.actor/dataset_schema.json @@ -1,12 +1,32 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "Joke": { + "type": "string", + "title": "Joke" + }, + "Topic": { + "type": "string", + "title": "Topic" + } + }, + "required": [ + "Joke", + "Topic" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["Topic", "Joke"] + "fields": [ + "Topic", + "Joke" + ] }, "display": { "component": "table", diff --git a/templates/python-pydanticai/.actorignore b/templates/python-pydanticai/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-pydanticai/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-scrapy/.actor/dataset_schema.json b/templates/python-scrapy/.actor/dataset_schema.json new file mode 100644 index 000000000..392262d45 --- /dev/null +++ b/templates/python-scrapy/.actor/dataset_schema.json @@ -0,0 +1,47 @@ +{ + "$schema": "https://apify.com/schemas/v1/dataset.ide.json", + "actorSpecification": 1, + "fields": { + "title": "Pages", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, + "views": { + "overview": { + "title": "Overview", + "transformation": { + "fields": [ + "title", + "url" + ] + }, + "display": { + "component": "table", + "properties": { + "title": { + "label": "Title", + "format": "text" + }, + "url": { + "label": "URL", + "format": "link" + } + } + } + } + } +} diff --git a/templates/python-scrapy/.actorignore b/templates/python-scrapy/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-scrapy/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-selenium/.actor/dataset_schema.json b/templates/python-selenium/.actor/dataset_schema.json index e4a74d29d..d0e1e6abc 100644 --- a/templates/python-selenium/.actor/dataset_schema.json +++ b/templates/python-selenium/.actor/dataset_schema.json @@ -1,12 +1,33 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url"] + "fields": [ + "title", + "url" + ] }, "display": { "component": "table", diff --git a/templates/python-selenium/.actorignore b/templates/python-selenium/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-selenium/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-smolagents/.actor/dataset_schema.json b/templates/python-smolagents/.actor/dataset_schema.json index 98cbfbc7b..63c170d3e 100644 --- a/templates/python-smolagents/.actor/dataset_schema.json +++ b/templates/python-smolagents/.actor/dataset_schema.json @@ -1,12 +1,26 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "summary": { + "type": "string", + "title": "Summary" + } + }, + "required": [ + "summary" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["summary"] + "fields": [ + "summary" + ] }, "display": { "component": "table", diff --git a/templates/python-smolagents/.actorignore b/templates/python-smolagents/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-smolagents/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-standby/.actorignore b/templates/python-standby/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-standby/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/python-start/.actor/dataset_schema.json b/templates/python-start/.actor/dataset_schema.json index 4ab99990c..97b98dc1f 100644 --- a/templates/python-start/.actor/dataset_schema.json +++ b/templates/python-start/.actor/dataset_schema.json @@ -1,12 +1,32 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "level": { + "type": "string", + "title": "Level" + }, + "text": { + "type": "string", + "title": "Text" + } + }, + "required": [ + "level", + "text" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["level", "text"] + "fields": [ + "level", + "text" + ] }, "display": { "component": "table", diff --git a/templates/python-start/.actorignore b/templates/python-start/.actorignore new file mode 100644 index 000000000..0f6c0b888 --- /dev/null +++ b/templates/python-start/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. + +# Bytecode +__pycache__/ +*.pyc +*.pyo + +# Virtual environments +.venv/ +venv/ +env/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-beeai-agent/.actor/dataset_schema.json b/templates/ts-beeai-agent/.actor/dataset_schema.json index ce2cec846..3d06a55e9 100644 --- a/templates/ts-beeai-agent/.actor/dataset_schema.json +++ b/templates/ts-beeai-agent/.actor/dataset_schema.json @@ -5,7 +5,11 @@ "overview": { "title": "Overview", "transformation": { - "fields": ["query", "response", "structuredResponse"] + "fields": [ + "query", + "response", + "structuredResponse" + ] }, "display": { "component": "table", @@ -25,5 +29,29 @@ } } } + }, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "query": { + "type": "string", + "title": "Query" + }, + "response": { + "type": "string", + "title": "Response" + }, + "structuredResponse": { + "type": "object", + "additionalProperties": true, + "title": "Structured Response" + } + }, + "required": [ + "query", + "response", + "structuredResponse" + ] } } diff --git a/templates/ts-beeai-agent/.actorignore b/templates/ts-beeai-agent/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-beeai-agent/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-bootstrap-cheerio-crawler/.actor/dataset_schema.json b/templates/ts-bootstrap-cheerio-crawler/.actor/dataset_schema.json new file mode 100644 index 000000000..392262d45 --- /dev/null +++ b/templates/ts-bootstrap-cheerio-crawler/.actor/dataset_schema.json @@ -0,0 +1,47 @@ +{ + "$schema": "https://apify.com/schemas/v1/dataset.ide.json", + "actorSpecification": 1, + "fields": { + "title": "Pages", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, + "views": { + "overview": { + "title": "Overview", + "transformation": { + "fields": [ + "title", + "url" + ] + }, + "display": { + "component": "table", + "properties": { + "title": { + "label": "Title", + "format": "text" + }, + "url": { + "label": "URL", + "format": "link" + } + } + } + } + } +} diff --git a/templates/ts-bootstrap-cheerio-crawler/.actorignore b/templates/ts-bootstrap-cheerio-crawler/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-bootstrap-cheerio-crawler/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-crawlee-cheerio/.actor/dataset_schema.json b/templates/ts-crawlee-cheerio/.actor/dataset_schema.json index e4a74d29d..d0e1e6abc 100644 --- a/templates/ts-crawlee-cheerio/.actor/dataset_schema.json +++ b/templates/ts-crawlee-cheerio/.actor/dataset_schema.json @@ -1,12 +1,33 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url"] + "fields": [ + "title", + "url" + ] }, "display": { "component": "table", diff --git a/templates/ts-crawlee-cheerio/.actorignore b/templates/ts-crawlee-cheerio/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-crawlee-cheerio/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-crawlee-playwright-camoufox/.actor/dataset_schema.json b/templates/ts-crawlee-playwright-camoufox/.actor/dataset_schema.json index e4a74d29d..d0e1e6abc 100644 --- a/templates/ts-crawlee-playwright-camoufox/.actor/dataset_schema.json +++ b/templates/ts-crawlee-playwright-camoufox/.actor/dataset_schema.json @@ -1,12 +1,33 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url"] + "fields": [ + "title", + "url" + ] }, "display": { "component": "table", diff --git a/templates/ts-crawlee-playwright-camoufox/.actorignore b/templates/ts-crawlee-playwright-camoufox/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-crawlee-playwright-camoufox/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-crawlee-playwright-chrome/.actor/dataset_schema.json b/templates/ts-crawlee-playwright-chrome/.actor/dataset_schema.json index e4a74d29d..d0e1e6abc 100644 --- a/templates/ts-crawlee-playwright-chrome/.actor/dataset_schema.json +++ b/templates/ts-crawlee-playwright-chrome/.actor/dataset_schema.json @@ -1,12 +1,33 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url"] + "fields": [ + "title", + "url" + ] }, "display": { "component": "table", diff --git a/templates/ts-crawlee-playwright-chrome/.actorignore b/templates/ts-crawlee-playwright-chrome/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-crawlee-playwright-chrome/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-crawlee-puppeteer-chrome/.actor/dataset_schema.json b/templates/ts-crawlee-puppeteer-chrome/.actor/dataset_schema.json index e4a74d29d..d0e1e6abc 100644 --- a/templates/ts-crawlee-puppeteer-chrome/.actor/dataset_schema.json +++ b/templates/ts-crawlee-puppeteer-chrome/.actor/dataset_schema.json @@ -1,12 +1,33 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "title": { + "type": "string", + "title": "Title" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL" + } + }, + "required": [ + "title", + "url" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["title", "url"] + "fields": [ + "title", + "url" + ] }, "display": { "component": "table", diff --git a/templates/ts-crawlee-puppeteer-chrome/.actorignore b/templates/ts-crawlee-puppeteer-chrome/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-crawlee-puppeteer-chrome/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-empty/.actor/dataset_schema.json b/templates/ts-empty/.actor/dataset_schema.json new file mode 100644 index 000000000..7a22f4203 --- /dev/null +++ b/templates/ts-empty/.actor/dataset_schema.json @@ -0,0 +1,37 @@ +{ + "$schema": "https://apify.com/schemas/v1/dataset.ide.json", + "$comment": "Starter dataset schema. Replace the `value` field below with your Actor's actual output fields, then run `apify push` to upload.", + "actorSpecification": 1, + "fields": { + "title": "Records", + "type": "object", + "properties": { + "value": { + "type": "string", + "title": "Value" + } + }, + "required": [ + "value" + ] + }, + "views": { + "overview": { + "title": "Overview", + "transformation": { + "fields": [ + "value" + ] + }, + "display": { + "component": "table", + "properties": { + "value": { + "label": "Value", + "format": "text" + } + } + } + } + } +} diff --git a/templates/ts-empty/.actorignore b/templates/ts-empty/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-empty/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-mastraai/.actor/dataset_schema.json b/templates/ts-mastraai/.actor/dataset_schema.json index ea2d6b856..9b11b0d6d 100644 --- a/templates/ts-mastraai/.actor/dataset_schema.json +++ b/templates/ts-mastraai/.actor/dataset_schema.json @@ -5,7 +5,10 @@ "overview": { "title": "Overview", "transformation": { - "fields": ["query", "response"] + "fields": [ + "query", + "response" + ] }, "display": { "component": "table", @@ -21,5 +24,23 @@ } } } + }, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "query": { + "type": "string", + "title": "Query" + }, + "response": { + "type": "string", + "title": "Response" + } + }, + "required": [ + "query", + "response" + ] } } diff --git a/templates/ts-mastraai/.actorignore b/templates/ts-mastraai/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-mastraai/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-mcp-empty/.actorignore b/templates/ts-mcp-empty/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-mcp-empty/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-mcp-proxy/.actorignore b/templates/ts-mcp-proxy/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-mcp-proxy/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-playwright-test-runner/.actor/dataset_schema.json b/templates/ts-playwright-test-runner/.actor/dataset_schema.json index a70b200ef..b9edf7e3e 100644 --- a/templates/ts-playwright-test-runner/.actor/dataset_schema.json +++ b/templates/ts-playwright-test-runner/.actor/dataset_schema.json @@ -1,12 +1,66 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Test Report", + "type": "object", + "properties": { + "duration": { + "type": "number", + "title": "Duration" + }, + "errors": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Error messages" + }, + "result": { + "type": "boolean", + "title": "Result" + }, + "runnerName": { + "type": "string", + "title": "Runner" + }, + "suiteName": { + "type": "string", + "title": "Test Suite" + }, + "testName": { + "type": "string", + "title": "Name" + }, + "video": { + "type": "string", + "format": "uri", + "title": "Video recording" + } + }, + "required": [ + "duration", + "errors", + "result", + "runnerName", + "suiteName", + "testName", + "video" + ] + }, "views": { "overview": { "title": "Test Report", "transformation": { - "fields": ["suiteName", "testName", "runnerName", "result", "errors", "duration", "video"] + "fields": [ + "suiteName", + "testName", + "runnerName", + "result", + "errors", + "duration", + "video" + ] }, "display": { "component": "table", diff --git a/templates/ts-playwright-test-runner/.actorignore b/templates/ts-playwright-test-runner/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-playwright-test-runner/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-standby/.actorignore b/templates/ts-standby/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-standby/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-start-bun/.actor/dataset_schema.json b/templates/ts-start-bun/.actor/dataset_schema.json index 4ab99990c..97b98dc1f 100644 --- a/templates/ts-start-bun/.actor/dataset_schema.json +++ b/templates/ts-start-bun/.actor/dataset_schema.json @@ -1,12 +1,32 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "level": { + "type": "string", + "title": "Level" + }, + "text": { + "type": "string", + "title": "Text" + } + }, + "required": [ + "level", + "text" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["level", "text"] + "fields": [ + "level", + "text" + ] }, "display": { "component": "table", diff --git a/templates/ts-start-bun/.actorignore b/templates/ts-start-bun/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-start-bun/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/ diff --git a/templates/ts-start/.actor/dataset_schema.json b/templates/ts-start/.actor/dataset_schema.json index 4ab99990c..97b98dc1f 100644 --- a/templates/ts-start/.actor/dataset_schema.json +++ b/templates/ts-start/.actor/dataset_schema.json @@ -1,12 +1,32 @@ { "$schema": "https://apify.com/schemas/v1/dataset.ide.json", "actorSpecification": 1, - "fields": {}, + "fields": { + "title": "Overview", + "type": "object", + "properties": { + "level": { + "type": "string", + "title": "Level" + }, + "text": { + "type": "string", + "title": "Text" + } + }, + "required": [ + "level", + "text" + ] + }, "views": { "overview": { "title": "Overview", "transformation": { - "fields": ["level", "text"] + "fields": [ + "level", + "text" + ] }, "display": { "component": "table", diff --git a/templates/ts-start/.actorignore b/templates/ts-start/.actorignore new file mode 100644 index 000000000..1aa284863 --- /dev/null +++ b/templates/ts-start/.actorignore @@ -0,0 +1,28 @@ +# .actorignore — files NOT included in `apify push` archives. +# Mirrors .dockerignore where the rationale is "don't ship to the platform", +# diverging only where Docker semantics need different contents. + +# Build artifacts (Dockerfile rebuilds these inside the image) +dist/ +build/ +*.tsbuildinfo + +# Dependencies (installed by the platform image) +node_modules/ + +# Local-development storage +storage/ +apify_storage/ +crawlee_storage/ + +# Logs / env / IDE / OS +*.log +.env +.env.* +.idea/ +.vscode/ +.zed/ +.DS_Store + +# Git history +.git/