feat(sdk): migrate strands integration to be a plugin - #74

Merged
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin
Mar 10, 2026
Merged

feat(sdk): migrate strands integration to be a plugin#74
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin

Conversation

@zastrowm

Copy link
Copy Markdown
Collaborator

Summary

Migrate the strands integration from a HookProvider -> Plugin. Strands SDK created Plugin as a higher-level abstraction to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook

Scope

  • User-facing/API changes: Usage of the hook provider differs from that of a Plugin, but this is yet to be released

Risk and Rollout

  • Risk level: low
  • Rollback plan: Revert

Testing

  • Added or updated automated tests
  • Ran make check (or explained why not) - tests/test_evaluator_configs.py::test_update_evaluator_config_replaces_fields_and_updates_timestamp failed but I think it's flaky and unrelated
  • Manually verified behavior

Checklist

  • Linked issue/spec (if applicable)
  • Updated docs/examples for user-facing changes
  • Included any required follow-up tasks

@codecov

codecovBot commented Mar 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@namrataghadi-galileonamrataghadi-galileo 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.

Looks great!!
thank you for the refactor.

@namrataghadi-galileo

Copy link
Copy Markdown
Contributor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

@namrataghadi-galileo
namrataghadi-galileo enabled auto-merge (squash) March 9, 2026 20:03
Strands is migrating most usages of HookProviders to Plugins to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook
@zastrowm
zastrowmforce-pushed the refactor/strands_plugin branch from 3b6542a to 1ce6738CompareMarch 10, 2026 01:00
@zastrowm

Copy link
Copy Markdown
CollaboratorAuthor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

Should be good to go!

@namrataghadi-galileo
namrataghadi-galileo merged commit 897ece3 into mainMar 10, 2026
7 checks passed
@namrataghadi-galileo
namrataghadi-galileo deleted the refactor/strands_plugin branch March 10, 2026 01:06
galileo-automation pushed a commit that referenced this pull request Mar 11, 2026
## [1.1.0](ts-sdk-v1.0.1...ts-sdk-v1.1.0) (2026-03-11)
### Features
* **examples:** add Google ADK Agent Control examples ([#69](#69)) ([4b83542](4b83542))
* **infra:** publish UI image and add compose UI service ([#57](#57)) ([207c1af](207c1af))
* **sdk:** 57143 strands extra ([#59](#59)) ([97f2518](97f2518))
* **sdk:** add shutdown() and ashutdown() lifecycle API ([#70](#70)) ([9e29d86](9e29d86))
* **sdk:** migrate strands integration to be a plugin ([#74](#74)) ([897ece3](897ece3))
* **server:** enforce admin-only control-plane mutations ([#62](#62)) ([579407f](579407f)), closes [#61](#61)
* **ui:** serve exported Agent Control UI from the FastAPI server ([#71](#71)) ([c140198](c140198))
### Bug Fixes
* **docs:** add centered logo, header, and badges to README ([#92](#92)) ([39c3cbf](39c3cbf))
* **docs:** Test all examples ([#16](#16)) ([39e95c2](39e95c2))
* **evaluators:** migrate sqlglot rs extra to sqlglot c ([#86](#86)) ([5e3e48c](5e3e48c))
* **infra:** fix docker compose to make ui work ([#82](#82)) ([5edbb6b](5edbb6b))
* **infra:** Remove UI service from docker-compose.yml ([#91](#91)) ([330ef55](330ef55))
* **sdk): Revert "fix(sdk:** bundle evaluators in sdk wheel" ([#90](#90)) ([b516ea6](b516ea6)), closes [#89](#89)
* **sdk:** bundle evaluators in sdk wheel ([#89](#89)) ([ea5889a](ea5889a))
* **sdk:** fix observability events not reaching the server ([#63](#63)) ([70016db](70016db))
* **ui:** name update being saved now ([#87](#87)) ([919672d](919672d))
* **ui:** Step name not getting saved ([#68](#68)) ([13abef9](13abef9))
@galileo-automation

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 1.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@zastrowm@namrataghadi-galileo@galileo-automation
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat(sdk): migrate strands integration to be a plugin - #74

Merged
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin
Mar 10, 2026
Merged

feat(sdk): migrate strands integration to be a plugin#74
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin

Conversation

@zastrowm

Copy link
Copy Markdown
Collaborator

Summary

Migrate the strands integration from a HookProvider -> Plugin. Strands SDK created Plugin as a higher-level abstraction to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook

Scope

  • User-facing/API changes: Usage of the hook provider differs from that of a Plugin, but this is yet to be released

Risk and Rollout

  • Risk level: low
  • Rollback plan: Revert

Testing

  • Added or updated automated tests
  • Ran make check (or explained why not) - tests/test_evaluator_configs.py::test_update_evaluator_config_replaces_fields_and_updates_timestamp failed but I think it's flaky and unrelated
  • Manually verified behavior

Checklist

  • Linked issue/spec (if applicable)
  • Updated docs/examples for user-facing changes
  • Included any required follow-up tasks

@codecov

codecovBot commented Mar 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@namrataghadi-galileonamrataghadi-galileo 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.

Looks great!!
thank you for the refactor.

@namrataghadi-galileo

Copy link
Copy Markdown
Contributor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

@namrataghadi-galileo
namrataghadi-galileo enabled auto-merge (squash) March 9, 2026 20:03
Strands is migrating most usages of HookProviders to Plugins to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook
@zastrowm
zastrowmforce-pushed the refactor/strands_plugin branch from 3b6542a to 1ce6738CompareMarch 10, 2026 01:00
@zastrowm

Copy link
Copy Markdown
CollaboratorAuthor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

Should be good to go!

@namrataghadi-galileo
namrataghadi-galileo merged commit 897ece3 into mainMar 10, 2026
7 checks passed
@namrataghadi-galileo
namrataghadi-galileo deleted the refactor/strands_plugin branch March 10, 2026 01:06
galileo-automation pushed a commit that referenced this pull request Mar 11, 2026
## [1.1.0](ts-sdk-v1.0.1...ts-sdk-v1.1.0) (2026-03-11)
### Features
* **examples:** add Google ADK Agent Control examples ([#69](#69)) ([4b83542](4b83542))
* **infra:** publish UI image and add compose UI service ([#57](#57)) ([207c1af](207c1af))
* **sdk:** 57143 strands extra ([#59](#59)) ([97f2518](97f2518))
* **sdk:** add shutdown() and ashutdown() lifecycle API ([#70](#70)) ([9e29d86](9e29d86))
* **sdk:** migrate strands integration to be a plugin ([#74](#74)) ([897ece3](897ece3))
* **server:** enforce admin-only control-plane mutations ([#62](#62)) ([579407f](579407f)), closes [#61](#61)
* **ui:** serve exported Agent Control UI from the FastAPI server ([#71](#71)) ([c140198](c140198))
### Bug Fixes
* **docs:** add centered logo, header, and badges to README ([#92](#92)) ([39c3cbf](39c3cbf))
* **docs:** Test all examples ([#16](#16)) ([39e95c2](39e95c2))
* **evaluators:** migrate sqlglot rs extra to sqlglot c ([#86](#86)) ([5e3e48c](5e3e48c))
* **infra:** fix docker compose to make ui work ([#82](#82)) ([5edbb6b](5edbb6b))
* **infra:** Remove UI service from docker-compose.yml ([#91](#91)) ([330ef55](330ef55))
* **sdk): Revert "fix(sdk:** bundle evaluators in sdk wheel" ([#90](#90)) ([b516ea6](b516ea6)), closes [#89](#89)
* **sdk:** bundle evaluators in sdk wheel ([#89](#89)) ([ea5889a](ea5889a))
* **sdk:** fix observability events not reaching the server ([#63](#63)) ([70016db](70016db))
* **ui:** name update being saved now ([#87](#87)) ([919672d](919672d))
* **ui:** Step name not getting saved ([#68](#68)) ([13abef9](13abef9))
@galileo-automation

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 1.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@zastrowm@namrataghadi-galileo@galileo-automation
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(sdk): migrate strands integration to be a plugin - #74

Merged
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin
Mar 10, 2026
Merged

feat(sdk): migrate strands integration to be a plugin#74
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin

Conversation

@zastrowm

Copy link
Copy Markdown
Collaborator

Summary

Migrate the strands integration from a HookProvider -> Plugin. Strands SDK created Plugin as a higher-level abstraction to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook

Scope

  • User-facing/API changes: Usage of the hook provider differs from that of a Plugin, but this is yet to be released

Risk and Rollout

  • Risk level: low
  • Rollback plan: Revert

Testing

  • Added or updated automated tests
  • Ran make check (or explained why not) - tests/test_evaluator_configs.py::test_update_evaluator_config_replaces_fields_and_updates_timestamp failed but I think it's flaky and unrelated
  • Manually verified behavior

Checklist

  • Linked issue/spec (if applicable)
  • Updated docs/examples for user-facing changes
  • Included any required follow-up tasks

@codecov

codecovBot commented Mar 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@namrataghadi-galileonamrataghadi-galileo 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.

Looks great!!
thank you for the refactor.

@namrataghadi-galileo

Copy link
Copy Markdown
Contributor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

@namrataghadi-galileo
namrataghadi-galileo enabled auto-merge (squash) March 9, 2026 20:03
Strands is migrating most usages of HookProviders to Plugins to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook
@zastrowm
zastrowmforce-pushed the refactor/strands_plugin branch from 3b6542a to 1ce6738CompareMarch 10, 2026 01:00
@zastrowm

Copy link
Copy Markdown
CollaboratorAuthor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

Should be good to go!

@namrataghadi-galileo
namrataghadi-galileo merged commit 897ece3 into mainMar 10, 2026
7 checks passed
@namrataghadi-galileo
namrataghadi-galileo deleted the refactor/strands_plugin branch March 10, 2026 01:06
galileo-automation pushed a commit that referenced this pull request Mar 11, 2026
## [1.1.0](ts-sdk-v1.0.1...ts-sdk-v1.1.0) (2026-03-11)
### Features
* **examples:** add Google ADK Agent Control examples ([#69](#69)) ([4b83542](4b83542))
* **infra:** publish UI image and add compose UI service ([#57](#57)) ([207c1af](207c1af))
* **sdk:** 57143 strands extra ([#59](#59)) ([97f2518](97f2518))
* **sdk:** add shutdown() and ashutdown() lifecycle API ([#70](#70)) ([9e29d86](9e29d86))
* **sdk:** migrate strands integration to be a plugin ([#74](#74)) ([897ece3](897ece3))
* **server:** enforce admin-only control-plane mutations ([#62](#62)) ([579407f](579407f)), closes [#61](#61)
* **ui:** serve exported Agent Control UI from the FastAPI server ([#71](#71)) ([c140198](c140198))
### Bug Fixes
* **docs:** add centered logo, header, and badges to README ([#92](#92)) ([39c3cbf](39c3cbf))
* **docs:** Test all examples ([#16](#16)) ([39e95c2](39e95c2))
* **evaluators:** migrate sqlglot rs extra to sqlglot c ([#86](#86)) ([5e3e48c](5e3e48c))
* **infra:** fix docker compose to make ui work ([#82](#82)) ([5edbb6b](5edbb6b))
* **infra:** Remove UI service from docker-compose.yml ([#91](#91)) ([330ef55](330ef55))
* **sdk): Revert "fix(sdk:** bundle evaluators in sdk wheel" ([#90](#90)) ([b516ea6](b516ea6)), closes [#89](#89)
* **sdk:** bundle evaluators in sdk wheel ([#89](#89)) ([ea5889a](ea5889a))
* **sdk:** fix observability events not reaching the server ([#63](#63)) ([70016db](70016db))
* **ui:** name update being saved now ([#87](#87)) ([919672d](919672d))
* **ui:** Step name not getting saved ([#68](#68)) ([13abef9](13abef9))
@galileo-automation

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 1.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@zastrowm@namrataghadi-galileo@galileo-automation
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(sdk): migrate strands integration to be a plugin - #74

Merged
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin
Mar 10, 2026
Merged

feat(sdk): migrate strands integration to be a plugin#74
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin

Conversation

@zastrowm

Copy link
Copy Markdown
Collaborator

Summary

Migrate the strands integration from a HookProvider -> Plugin. Strands SDK created Plugin as a higher-level abstraction to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook

Scope

  • User-facing/API changes: Usage of the hook provider differs from that of a Plugin, but this is yet to be released

Risk and Rollout

  • Risk level: low
  • Rollback plan: Revert

Testing

  • Added or updated automated tests
  • Ran make check (or explained why not) - tests/test_evaluator_configs.py::test_update_evaluator_config_replaces_fields_and_updates_timestamp failed but I think it's flaky and unrelated
  • Manually verified behavior

Checklist

  • Linked issue/spec (if applicable)
  • Updated docs/examples for user-facing changes
  • Included any required follow-up tasks

@codecov

codecovBot commented Mar 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@namrataghadi-galileonamrataghadi-galileo 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.

Looks great!!
thank you for the refactor.

@namrataghadi-galileo

Copy link
Copy Markdown
Contributor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

@namrataghadi-galileo
namrataghadi-galileo enabled auto-merge (squash) March 9, 2026 20:03
Strands is migrating most usages of HookProviders to Plugins to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook
@zastrowm
zastrowmforce-pushed the refactor/strands_plugin branch from 3b6542a to 1ce6738CompareMarch 10, 2026 01:00
@zastrowm

Copy link
Copy Markdown
CollaboratorAuthor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

Should be good to go!

@namrataghadi-galileo
namrataghadi-galileo merged commit 897ece3 into mainMar 10, 2026
7 checks passed
@namrataghadi-galileo
namrataghadi-galileo deleted the refactor/strands_plugin branch March 10, 2026 01:06
galileo-automation pushed a commit that referenced this pull request Mar 11, 2026
## [1.1.0](ts-sdk-v1.0.1...ts-sdk-v1.1.0) (2026-03-11)
### Features
* **examples:** add Google ADK Agent Control examples ([#69](#69)) ([4b83542](4b83542))
* **infra:** publish UI image and add compose UI service ([#57](#57)) ([207c1af](207c1af))
* **sdk:** 57143 strands extra ([#59](#59)) ([97f2518](97f2518))
* **sdk:** add shutdown() and ashutdown() lifecycle API ([#70](#70)) ([9e29d86](9e29d86))
* **sdk:** migrate strands integration to be a plugin ([#74](#74)) ([897ece3](897ece3))
* **server:** enforce admin-only control-plane mutations ([#62](#62)) ([579407f](579407f)), closes [#61](#61)
* **ui:** serve exported Agent Control UI from the FastAPI server ([#71](#71)) ([c140198](c140198))
### Bug Fixes
* **docs:** add centered logo, header, and badges to README ([#92](#92)) ([39c3cbf](39c3cbf))
* **docs:** Test all examples ([#16](#16)) ([39e95c2](39e95c2))
* **evaluators:** migrate sqlglot rs extra to sqlglot c ([#86](#86)) ([5e3e48c](5e3e48c))
* **infra:** fix docker compose to make ui work ([#82](#82)) ([5edbb6b](5edbb6b))
* **infra:** Remove UI service from docker-compose.yml ([#91](#91)) ([330ef55](330ef55))
* **sdk): Revert "fix(sdk:** bundle evaluators in sdk wheel" ([#90](#90)) ([b516ea6](b516ea6)), closes [#89](#89)
* **sdk:** bundle evaluators in sdk wheel ([#89](#89)) ([ea5889a](ea5889a))
* **sdk:** fix observability events not reaching the server ([#63](#63)) ([70016db](70016db))
* **ui:** name update being saved now ([#87](#87)) ([919672d](919672d))
* **ui:** Step name not getting saved ([#68](#68)) ([13abef9](13abef9))
@galileo-automation

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 1.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@zastrowm@namrataghadi-galileo@galileo-automation
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat(sdk): migrate strands integration to be a plugin - #74

Merged
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin
Mar 10, 2026
Merged

feat(sdk): migrate strands integration to be a plugin#74
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin

Conversation

@zastrowm

Copy link
Copy Markdown
Collaborator

Summary

Migrate the strands integration from a HookProvider -> Plugin. Strands SDK created Plugin as a higher-level abstraction to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook

Scope

  • User-facing/API changes: Usage of the hook provider differs from that of a Plugin, but this is yet to be released

Risk and Rollout

  • Risk level: low
  • Rollback plan: Revert

Testing

  • Added or updated automated tests
  • Ran make check (or explained why not) - tests/test_evaluator_configs.py::test_update_evaluator_config_replaces_fields_and_updates_timestamp failed but I think it's flaky and unrelated
  • Manually verified behavior

Checklist

  • Linked issue/spec (if applicable)
  • Updated docs/examples for user-facing changes
  • Included any required follow-up tasks

@codecov

codecovBot commented Mar 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@namrataghadi-galileonamrataghadi-galileo 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.

Looks great!!
thank you for the refactor.

@namrataghadi-galileo

Copy link
Copy Markdown
Contributor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

@namrataghadi-galileo
namrataghadi-galileo enabled auto-merge (squash) March 9, 2026 20:03
Strands is migrating most usages of HookProviders to Plugins to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook
@zastrowm
zastrowmforce-pushed the refactor/strands_plugin branch from 3b6542a to 1ce6738CompareMarch 10, 2026 01:00
@zastrowm

Copy link
Copy Markdown
CollaboratorAuthor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

Should be good to go!

@namrataghadi-galileo
namrataghadi-galileo merged commit 897ece3 into mainMar 10, 2026
7 checks passed
@namrataghadi-galileo
namrataghadi-galileo deleted the refactor/strands_plugin branch March 10, 2026 01:06
galileo-automation pushed a commit that referenced this pull request Mar 11, 2026
## [1.1.0](ts-sdk-v1.0.1...ts-sdk-v1.1.0) (2026-03-11)
### Features
* **examples:** add Google ADK Agent Control examples ([#69](#69)) ([4b83542](4b83542))
* **infra:** publish UI image and add compose UI service ([#57](#57)) ([207c1af](207c1af))
* **sdk:** 57143 strands extra ([#59](#59)) ([97f2518](97f2518))
* **sdk:** add shutdown() and ashutdown() lifecycle API ([#70](#70)) ([9e29d86](9e29d86))
* **sdk:** migrate strands integration to be a plugin ([#74](#74)) ([897ece3](897ece3))
* **server:** enforce admin-only control-plane mutations ([#62](#62)) ([579407f](579407f)), closes [#61](#61)
* **ui:** serve exported Agent Control UI from the FastAPI server ([#71](#71)) ([c140198](c140198))
### Bug Fixes
* **docs:** add centered logo, header, and badges to README ([#92](#92)) ([39c3cbf](39c3cbf))
* **docs:** Test all examples ([#16](#16)) ([39e95c2](39e95c2))
* **evaluators:** migrate sqlglot rs extra to sqlglot c ([#86](#86)) ([5e3e48c](5e3e48c))
* **infra:** fix docker compose to make ui work ([#82](#82)) ([5edbb6b](5edbb6b))
* **infra:** Remove UI service from docker-compose.yml ([#91](#91)) ([330ef55](330ef55))
* **sdk): Revert "fix(sdk:** bundle evaluators in sdk wheel" ([#90](#90)) ([b516ea6](b516ea6)), closes [#89](#89)
* **sdk:** bundle evaluators in sdk wheel ([#89](#89)) ([ea5889a](ea5889a))
* **sdk:** fix observability events not reaching the server ([#63](#63)) ([70016db](70016db))
* **ui:** name update being saved now ([#87](#87)) ([919672d](919672d))
* **ui:** Step name not getting saved ([#68](#68)) ([13abef9](13abef9))
@galileo-automation

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 1.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@zastrowm@namrataghadi-galileo@galileo-automation
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(sdk): migrate strands integration to be a plugin - #74

Merged
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin
Mar 10, 2026
Merged

feat(sdk): migrate strands integration to be a plugin#74
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin

Conversation

@zastrowm

Copy link
Copy Markdown
Collaborator

Summary

Migrate the strands integration from a HookProvider -> Plugin. Strands SDK created Plugin as a higher-level abstraction to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook

Scope

  • User-facing/API changes: Usage of the hook provider differs from that of a Plugin, but this is yet to be released

Risk and Rollout

  • Risk level: low
  • Rollback plan: Revert

Testing

  • Added or updated automated tests
  • Ran make check (or explained why not) - tests/test_evaluator_configs.py::test_update_evaluator_config_replaces_fields_and_updates_timestamp failed but I think it's flaky and unrelated
  • Manually verified behavior

Checklist

  • Linked issue/spec (if applicable)
  • Updated docs/examples for user-facing changes
  • Included any required follow-up tasks

@codecov

codecovBot commented Mar 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@namrataghadi-galileonamrataghadi-galileo 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.

Looks great!!
thank you for the refactor.

@namrataghadi-galileo

Copy link
Copy Markdown
Contributor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

@namrataghadi-galileo
namrataghadi-galileo enabled auto-merge (squash) March 9, 2026 20:03
Strands is migrating most usages of HookProviders to Plugins to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook
@zastrowm
zastrowmforce-pushed the refactor/strands_plugin branch from 3b6542a to 1ce6738CompareMarch 10, 2026 01:00
@zastrowm

Copy link
Copy Markdown
CollaboratorAuthor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

Should be good to go!

@namrataghadi-galileo
namrataghadi-galileo merged commit 897ece3 into mainMar 10, 2026
7 checks passed
@namrataghadi-galileo
namrataghadi-galileo deleted the refactor/strands_plugin branch March 10, 2026 01:06
galileo-automation pushed a commit that referenced this pull request Mar 11, 2026
## [1.1.0](ts-sdk-v1.0.1...ts-sdk-v1.1.0) (2026-03-11)
### Features
* **examples:** add Google ADK Agent Control examples ([#69](#69)) ([4b83542](4b83542))
* **infra:** publish UI image and add compose UI service ([#57](#57)) ([207c1af](207c1af))
* **sdk:** 57143 strands extra ([#59](#59)) ([97f2518](97f2518))
* **sdk:** add shutdown() and ashutdown() lifecycle API ([#70](#70)) ([9e29d86](9e29d86))
* **sdk:** migrate strands integration to be a plugin ([#74](#74)) ([897ece3](897ece3))
* **server:** enforce admin-only control-plane mutations ([#62](#62)) ([579407f](579407f)), closes [#61](#61)
* **ui:** serve exported Agent Control UI from the FastAPI server ([#71](#71)) ([c140198](c140198))
### Bug Fixes
* **docs:** add centered logo, header, and badges to README ([#92](#92)) ([39c3cbf](39c3cbf))
* **docs:** Test all examples ([#16](#16)) ([39e95c2](39e95c2))
* **evaluators:** migrate sqlglot rs extra to sqlglot c ([#86](#86)) ([5e3e48c](5e3e48c))
* **infra:** fix docker compose to make ui work ([#82](#82)) ([5edbb6b](5edbb6b))
* **infra:** Remove UI service from docker-compose.yml ([#91](#91)) ([330ef55](330ef55))
* **sdk): Revert "fix(sdk:** bundle evaluators in sdk wheel" ([#90](#90)) ([b516ea6](b516ea6)), closes [#89](#89)
* **sdk:** bundle evaluators in sdk wheel ([#89](#89)) ([ea5889a](ea5889a))
* **sdk:** fix observability events not reaching the server ([#63](#63)) ([70016db](70016db))
* **ui:** name update being saved now ([#87](#87)) ([919672d](919672d))
* **ui:** Step name not getting saved ([#68](#68)) ([13abef9](13abef9))
@galileo-automation

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 1.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@zastrowm@namrataghadi-galileo@galileo-automation
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(sdk): migrate strands integration to be a plugin - #74

Merged
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin
Mar 10, 2026
Merged

feat(sdk): migrate strands integration to be a plugin#74
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin

Conversation

@zastrowm

Copy link
Copy Markdown
Collaborator

Summary

Migrate the strands integration from a HookProvider -> Plugin. Strands SDK created Plugin as a higher-level abstraction to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook

Scope

  • User-facing/API changes: Usage of the hook provider differs from that of a Plugin, but this is yet to be released

Risk and Rollout

  • Risk level: low
  • Rollback plan: Revert

Testing

  • Added or updated automated tests
  • Ran make check (or explained why not) - tests/test_evaluator_configs.py::test_update_evaluator_config_replaces_fields_and_updates_timestamp failed but I think it's flaky and unrelated
  • Manually verified behavior

Checklist

  • Linked issue/spec (if applicable)
  • Updated docs/examples for user-facing changes
  • Included any required follow-up tasks

@codecov

codecovBot commented Mar 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@namrataghadi-galileonamrataghadi-galileo 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.

Looks great!!
thank you for the refactor.

@namrataghadi-galileo

Copy link
Copy Markdown
Contributor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

@namrataghadi-galileo
namrataghadi-galileo enabled auto-merge (squash) March 9, 2026 20:03
Strands is migrating most usages of HookProviders to Plugins to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook
@zastrowm
zastrowmforce-pushed the refactor/strands_plugin branch from 3b6542a to 1ce6738CompareMarch 10, 2026 01:00
@zastrowm

Copy link
Copy Markdown
CollaboratorAuthor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

Should be good to go!

@namrataghadi-galileo
namrataghadi-galileo merged commit 897ece3 into mainMar 10, 2026
7 checks passed
@namrataghadi-galileo
namrataghadi-galileo deleted the refactor/strands_plugin branch March 10, 2026 01:06
galileo-automation pushed a commit that referenced this pull request Mar 11, 2026
## [1.1.0](ts-sdk-v1.0.1...ts-sdk-v1.1.0) (2026-03-11)
### Features
* **examples:** add Google ADK Agent Control examples ([#69](#69)) ([4b83542](4b83542))
* **infra:** publish UI image and add compose UI service ([#57](#57)) ([207c1af](207c1af))
* **sdk:** 57143 strands extra ([#59](#59)) ([97f2518](97f2518))
* **sdk:** add shutdown() and ashutdown() lifecycle API ([#70](#70)) ([9e29d86](9e29d86))
* **sdk:** migrate strands integration to be a plugin ([#74](#74)) ([897ece3](897ece3))
* **server:** enforce admin-only control-plane mutations ([#62](#62)) ([579407f](579407f)), closes [#61](#61)
* **ui:** serve exported Agent Control UI from the FastAPI server ([#71](#71)) ([c140198](c140198))
### Bug Fixes
* **docs:** add centered logo, header, and badges to README ([#92](#92)) ([39c3cbf](39c3cbf))
* **docs:** Test all examples ([#16](#16)) ([39e95c2](39e95c2))
* **evaluators:** migrate sqlglot rs extra to sqlglot c ([#86](#86)) ([5e3e48c](5e3e48c))
* **infra:** fix docker compose to make ui work ([#82](#82)) ([5edbb6b](5edbb6b))
* **infra:** Remove UI service from docker-compose.yml ([#91](#91)) ([330ef55](330ef55))
* **sdk): Revert "fix(sdk:** bundle evaluators in sdk wheel" ([#90](#90)) ([b516ea6](b516ea6)), closes [#89](#89)
* **sdk:** bundle evaluators in sdk wheel ([#89](#89)) ([ea5889a](ea5889a))
* **sdk:** fix observability events not reaching the server ([#63](#63)) ([70016db](70016db))
* **ui:** name update being saved now ([#87](#87)) ([919672d](919672d))
* **ui:** Step name not getting saved ([#68](#68)) ([13abef9](13abef9))
@galileo-automation

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 1.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@zastrowm@namrataghadi-galileo@galileo-automation
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat(sdk): migrate strands integration to be a plugin - #74

Merged
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin
Mar 10, 2026
Merged

feat(sdk): migrate strands integration to be a plugin#74
namrataghadi-galileo merged 1 commit into
mainfrom
refactor/strands_plugin

Conversation

@zastrowm

Copy link
Copy Markdown
Collaborator

Summary

Migrate the strands integration from a HookProvider -> Plugin. Strands SDK created Plugin as a higher-level abstraction to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook

Scope

  • User-facing/API changes: Usage of the hook provider differs from that of a Plugin, but this is yet to be released

Risk and Rollout

  • Risk level: low
  • Rollback plan: Revert

Testing

  • Added or updated automated tests
  • Ran make check (or explained why not) - tests/test_evaluator_configs.py::test_update_evaluator_config_replaces_fields_and_updates_timestamp failed but I think it's flaky and unrelated
  • Manually verified behavior

Checklist

  • Linked issue/spec (if applicable)
  • Updated docs/examples for user-facing changes
  • Included any required follow-up tasks

@codecov

codecovBot commented Mar 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@namrataghadi-galileonamrataghadi-galileo 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.

Looks great!!
thank you for the refactor.

@namrataghadi-galileo

Copy link
Copy Markdown
Contributor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

@namrataghadi-galileo
namrataghadi-galileo enabled auto-merge (squash) March 9, 2026 20:03
Strands is migrating most usages of HookProviders to Plugins to provide a more fluent devx - to that end, migrate to a Plugin model instead of a Hook
@zastrowm
zastrowmforce-pushed the refactor/strands_plugin branch from 3b6542a to 1ce6738CompareMarch 10, 2026 01:00
@zastrowm

Copy link
Copy Markdown
CollaboratorAuthor

@zastrowm Before we can merge it, could you please set up SSH commit signing and then re-sign the commits in this PR (you’ll need to force-push the updated branch)? Right now the commits aren’t showing as Verified, and our repo requires verified signatures to merge.

Should be good to go!

@namrataghadi-galileo
namrataghadi-galileo merged commit 897ece3 into mainMar 10, 2026
7 checks passed
@namrataghadi-galileo
namrataghadi-galileo deleted the refactor/strands_plugin branch March 10, 2026 01:06
galileo-automation pushed a commit that referenced this pull request Mar 11, 2026
## [1.1.0](ts-sdk-v1.0.1...ts-sdk-v1.1.0) (2026-03-11)
### Features
* **examples:** add Google ADK Agent Control examples ([#69](#69)) ([4b83542](4b83542))
* **infra:** publish UI image and add compose UI service ([#57](#57)) ([207c1af](207c1af))
* **sdk:** 57143 strands extra ([#59](#59)) ([97f2518](97f2518))
* **sdk:** add shutdown() and ashutdown() lifecycle API ([#70](#70)) ([9e29d86](9e29d86))
* **sdk:** migrate strands integration to be a plugin ([#74](#74)) ([897ece3](897ece3))
* **server:** enforce admin-only control-plane mutations ([#62](#62)) ([579407f](579407f)), closes [#61](#61)
* **ui:** serve exported Agent Control UI from the FastAPI server ([#71](#71)) ([c140198](c140198))
### Bug Fixes
* **docs:** add centered logo, header, and badges to README ([#92](#92)) ([39c3cbf](39c3cbf))
* **docs:** Test all examples ([#16](#16)) ([39e95c2](39e95c2))
* **evaluators:** migrate sqlglot rs extra to sqlglot c ([#86](#86)) ([5e3e48c](5e3e48c))
* **infra:** fix docker compose to make ui work ([#82](#82)) ([5edbb6b](5edbb6b))
* **infra:** Remove UI service from docker-compose.yml ([#91](#91)) ([330ef55](330ef55))
* **sdk): Revert "fix(sdk:** bundle evaluators in sdk wheel" ([#90](#90)) ([b516ea6](b516ea6)), closes [#89](#89)
* **sdk:** bundle evaluators in sdk wheel ([#89](#89)) ([ea5889a](ea5889a))
* **sdk:** fix observability events not reaching the server ([#63](#63)) ([70016db](70016db))
* **ui:** name update being saved now ([#87](#87)) ([919672d](919672d))
* **ui:** Step name not getting saved ([#68](#68)) ([13abef9](13abef9))
@galileo-automation

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 1.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@zastrowm@namrataghadi-galileo@galileo-automation