{"id":48983561,"url":"https://github.com/bubustack/materialize-engram","last_synced_at":"2026-04-18T12:01:12.389Z","repository":{"id":352189328,"uuid":"1208678870","full_name":"bubustack/materialize-engram","owner":"bubustack","description":"Template materialization Engram for bobrapet — evaluates Go/Sprig templates with hydrated inputs.","archived":false,"fork":false,"pushed_at":"2026-04-18T10:05:25.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-18T11:28:53.455Z","etag":null,"topics":["batch","bubustack","engram","go","go-template","kubernetes","sprig","streaming","template"],"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-04-12T15:55:48.000Z","updated_at":"2026-04-18T10:05:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bubustack/materialize-engram","commit_stats":null,"previous_names":["bubustack/materialize-engram"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bubustack/materialize-engram","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bubustack%2Fmaterialize-engram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bubustack%2Fmaterialize-engram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bubustack%2Fmaterialize-engram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bubustack%2Fmaterialize-engram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bubustack","download_url":"https://codeload.github.com/bubustack/materialize-engram/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bubustack%2Fmaterialize-engram/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31967993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","go","go-template","kubernetes","sprig","streaming","template"],"created_at":"2026-04-18T12:00:35.723Z","updated_at":"2026-04-18T12:01:12.382Z","avatar_url":"https://github.com/bubustack.png","language":"Go","readme":"# 🧱 Materialize Engram\n\nEvaluates Go templates over a provided context and returns a small inline result\nthat bobrapet Stories can use for guards, routing, or computed metadata.\n\n## 🌟 Highlights\n\n- Supports `condition` and `object` modes for boolean checks and computed objects.\n- Uses Sprig helpers plus custom `coalesce` utilities for safe accesses.\n- Works with inline JSON or storage-ref inputs that are hydrated before evaluation.\n\n## 🚀 Quick Start\n\n```bash\ngo test ./...\n```\n\nInclude the template and execution mode in your Story step, pointing `vars`\nat the context you want to inspect.\n\n## ⚙️ Configuration (`Engram.spec.with`)\n\nThis engram currently exposes no component-level `Engram.spec.with` options.\nIts `configSchema` is empty, so each execution supplies its own evaluation\ninputs.\n\n## 📥 Inputs\n\nThe runtime accepts:\n\n- `mode`: evaluation mode. `object` is the default when omitted.\n- `template`: Go template string for `condition` mode, or any JSON/object value\n  to resolve for `object` mode.\n- `vars`: map of contextual inputs (often includes `inputs`, `steps`,\n  `metadata`), including hydrated storage references.\n\nExample:\n\n```json\n{\n  \"mode\": \"condition\",\n  \"template\": \"{{ gt (len .steps.fetch.output.items) 0 }}\",\n  \"vars\": {\"steps\": {\"fetch\": {\"output\": {\"items\": [1,2,3]}}}}\n}\n```\n\n## 📤 Outputs\n\n- `result`: boolean or templated object, depending on `mode`.\n\n## 🔄 Streaming Mode\n\n- Deployment mode accepts JSON requests from `inputs`, `payload`, or binary\n  frames.\n- Empty and control frames are ignored without emitting a result.\n- Responses are emitted as JSON in the outgoing `inputs`, `payload`, and binary\n  frame while preserving inbound metadata keys.\n\n## 🧪 Local Development\n\n- `go test ./...` – Unit tests cover condition/object templates and error cases.\n- `go vet ./...` – Ensure static analysis passes prior to release.\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","funding_links":["https://github.com/sponsors/bubustack"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbubustack%2Fmaterialize-engram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbubustack%2Fmaterialize-engram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbubustack%2Fmaterialize-engram/lists"}