{"id":49539567,"url":"https://github.com/bubustack/json-filter-engram","last_synced_at":"2026-05-02T14:02:21.900Z","repository":{"id":352189290,"uuid":"1148068850","full_name":"bubustack/json-filter-engram","owner":"bubustack","description":"JSON filter Engram for bobrapet — filters and transforms JSON payloads with JSONPath selection.","archived":false,"fork":false,"pushed_at":"2026-05-02T07:11:03.000Z","size":92,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-02T09:18:36.153Z","etag":null,"topics":["batch","bubustack","engram","filter","go","json","jsonpath","kubernetes"],"latest_commit_sha":null,"homepage":"https://bubustack.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bubustack.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["bubustack"]}},"created_at":"2026-02-02T14:42:40.000Z","updated_at":"2026-04-19T19:08:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bubustack/json-filter-engram","commit_stats":null,"previous_names":["bubustack/json-filter-engram"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bubustack/json-filter-engram","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bubustack%2Fjson-filter-engram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bubustack%2Fjson-filter-engram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bubustack%2Fjson-filter-engram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bubustack%2Fjson-filter-engram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bubustack","download_url":"https://codeload.github.com/bubustack/json-filter-engram/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bubustack%2Fjson-filter-engram/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32536582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["batch","bubustack","engram","filter","go","json","jsonpath","kubernetes"],"created_at":"2026-05-02T14:02:20.997Z","updated_at":"2026-05-02T14:02:21.894Z","avatar_url":"https://github.com/bubustack.png","language":"Go","funding_links":["https://github.com/sponsors/bubustack"],"categories":[],"sub_categories":[],"readme":"# 🧮 JSON Filter Engram\n\nSelects structured data from JSON payloads (inline or $bubuStorageRef-offloaded)\nand returns a compact result object configurable by selectors.\n\n## 🌟 Highlights\n\n- Works with inline or offloaded JSON using the same schema.\n- Supports `matchField`, `valuePath`, `outputKey`, and conditional inclusion.\n- Returns deterministic inline metadata that downstream steps consume directly.\n\n## 🚀 Quick Start\n\n```bash\ngo test ./...\n```\n\nApply `Engram.yaml`, then reference the template in your Story step and supply\nthe selector inputs shown below.\n\n## ⚙️ Configuration (`Engram.spec.with`)\n\nThis engram currently exposes no component-level `Engram.spec.with` options.\nIts `configSchema` is empty, so behavior is controlled entirely by per-execution\ninputs.\n\n## 📥 Inputs\n\n- `input`: JSON data (inline or storage ref).\n- `select.itemsPath`: JSONPath to the array of items.\n- `select.matchField`: field within each item to compare.\n- `select.matchValue`: value that must match for inclusion.\n- `select.valuePath`: subfield whose value is captured.\n- `select.outputKey`: key name for the extracted result.\n- `select.includeItem`: includes the matched item when `true`.\n- `select.requireMatch`: fails the step when `true` and no match is found.\n- `parseJSONText`: parses stringified JSON payloads when `true`.\n\nExample:\n\n```yaml\nselect:\n  itemsPath: channels\n  matchField: name\n  matchValue: daily-digest\n  outputKey: channelId\n```\n\n## 📤 Outputs\n\nReturns an object under `resultSelected` with the configured `outputKey` and,\nwhen `includeItem` is `true`, the matching item under `item`.\n\n## 🧪 Local Development\n\n- `go test ./...` – Run unit tests covering inline/offload flows.\n- `go vet ./...` – Ensure schema compliance before publishing.\n\n## 🤝 Community \u0026 Support\n\n- [Contributing](./CONTRIBUTING.md)\n- [Support](./SUPPORT.md)\n- [Security Policy](./SECURITY.md)\n- [Code of Conduct](./CODE_OF_CONDUCT.md)\n- [Discord](https://discord.gg/dysrB7D8H6)\n\n## 📄 License\n\nCopyright 2025 BubuStack.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbubustack%2Fjson-filter-engram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbubustack%2Fjson-filter-engram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbubustack%2Fjson-filter-engram/lists"}