Skip to content

feat: on-prem agents and connected systems#60

Open
Ness Li (ness-li) wants to merge 6 commits into
mainfrom
feat/on-prem-agents-connected-systems
Open

feat: on-prem agents and connected systems#60
Ness Li (ness-li) wants to merge 6 commits into
mainfrom
feat/on-prem-agents-connected-systems

Conversation

@ness-li
Copy link
Copy Markdown

@ness-li Ness Li (ness-li) commented Jun 4, 2026

https://make.atlassian.net/browse/IEN-15537

Summary

Phase 1 of on-prem agent / connected-system support in @makehq/sdk (v1.5.0), aligned with imt-web-api routes (not public OpenAPI).

  • Add Agents endpoint: list, get, register via POST /agent/register, update, delete, getAppConfig
  • Add ConnectedSystems endpoint: list, get, create, update, delete on /connected-systems
  • Add Enums.connectedSystemApps() for app discovery (http, sap-agent, etc.)
  • Add MCP tools: on-prem-agent_* (6), connected-system_* (5), connected-system_list-apps
  • Unit tests, integration tests (env-driven create flows), .env.example, README setup docs
  • SAP sap-agent inputs documented as ashost, sysnr, client (matches Make UI / agency)

Test plan

  • npm test (unit specs including agents, connected-systems, on-prem tools, preflight utils)
  • npm run test:integration -- --testPathPattern="agents.integration|connected-systems.integration" (requires .env with MAKE_API_KEY, MAKE_ZONE, MAKE_ORGANIZATION, optional MAKE_CONNECTED_SYSTEM_*_INPUTS)
  • Owning-team review before npm publish
  • Phase 2: bump SDK in make-mcp-server-host (separate PR)

Made with Cursor

Ness Li (ness-li) and others added 3 commits June 4, 2026 20:41
Add Agents and ConnectedSystems endpoints aligned with imt-web-api
(POST /agent/register for create). Expose on-prem-agent_* and
connected-system_* MCP tools plus connected-system_list-apps enum.
Bump version to 1.5.0.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add agents/connected-systems integration suites with env-driven create
flows, getAppConfig preflight validation, and corrected sap-agent fields
(ashost, sysnr, client). Extend unit tests for MakeError paths, MCP tool
execute smoke tests, and README/.env.example setup docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use realistic sap-agent input examples in connected-system create/update
tools. Remove makehq-sdk-*.tgz from .gitignore (local pack files are not
tracked).

Co-authored-by: Cursor <cursoragent@cursor.com>
@ness-li Ness Li (ness-li) changed the title feat: on-prem agents and connected systems (Phase 1) feat: on-prem agents and connected systems Jun 4, 2026
Ness Li (ness-li) and others added 2 commits June 4, 2026 22:24
Run build:version so published artifacts and JSR metadata match package.json.

Co-authored-by: Cursor <cursoragent@cursor.com>
After syncing version.ts to 1.5.0, stop hardcoding development in the
internals override test.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ness-li Ness Li (ness-li) marked this pull request as ready for review June 4, 2026 21:29
@ness-li Ness Li (ness-li) requested a review from a team as a code owner June 4, 2026 21:29
Copilot AI review requested due to automatic review settings June 4, 2026 21:29
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds Phase 1 support for on-prem bridge agents and on-prem “connected systems” to @makehq/sdk, aligning SDK endpoints + MCP tool surface with the internal imt-web-api routes and expanding the test/docs scaffolding needed to validate these flows.

Changes:

  • Introduces new SDK endpoints for on-prem agents and connectedSystems, plus Enums.connectedSystemApps() for app discovery.
  • Adds MCP tools for on-prem agent and connected-system operations, and wires them into the aggregated MakeTools export.
  • Adds unit + integration tests (env-driven create flows), fixtures/mocks, and updates docs/env examples; bumps SDK version to 1.5.0.

Reviewed changes

Copilot reviewed 38 out of 39 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/utils.spec.ts Adds coverage for buildUrl handling of null/undefined array entries.
test/on-prem-tools.spec.ts Adds MCP tool execution tests for on-prem agent + connected-system tools.
test/on-prem-connected-system.utils.ts Adds integration-test helpers for parsing/validating connected-system inputs vs app config.
test/on-prem-connected-system.utils.spec.ts Adds unit tests for the connected-system integration helpers.
test/mocks/enums/connected-system-apps.json Adds mock payload for connected-system apps enum.
test/mocks/connected-systems/list.json Adds connected-systems list fixture.
test/mocks/connected-systems/get.json Adds connected-system get fixture.
test/mocks/connected-systems/create.json Adds connected-system create fixture.
test/mocks/connected-systems/update.json Adds connected-system update fixture.
test/mocks/connected-systems/delete.json Adds connected-system delete fixture.
test/mocks/agents/list.json Adds agents list fixture.
test/mocks/agents/get.json Adds agent get fixture.
test/mocks/agents/create.json Adds agent create/register fixture (includes clientSecret).
test/mocks/agents/update.json Adds agent update fixture.
test/mocks/agents/delete.json Adds agent delete fixture.
test/mocks/agents/app-config.json Adds agent app-config fixture for connected-system inputs.
test/mcp.spec.ts Extends MCP tool exposure tests for new categories/tools.
test/make.spec.ts Updates expected user-agent to include built SDK version.
test/enums.spec.ts Adds unit coverage for Enums.connectedSystemApps().
test/enums.integration.test.ts Adds integration coverage for connected-system app listing.
test/connected-systems.spec.ts Adds unit tests for connected-systems endpoint methods.
test/connected-systems.integration.test.ts Adds env-driven integration tests for connected-systems read + create/update/delete flows.
test/agents.spec.ts Adds unit tests for agents endpoint methods (including /agent/register + getAppConfig).
test/agents.integration.test.ts Adds integration tests for agent register/list/get/update/delete + MCP tool execution.
src/version.ts Sets SDK VERSION constant to 1.5.0.
src/tools.ts Registers new on-prem agent + connected-system tool sets in MakeTools.
src/make.ts Adds make.agents and make.connectedSystems endpoint instances.
src/index.ts Exports new endpoint-related types (agents, connected-systems, connected-system apps).
src/endpoints/on-prem-agents.tools.ts Adds MCP tool definitions for on-prem agent operations.
src/endpoints/enums.ts Adds ConnectedSystemApp type and connectedSystemApps() method.
src/endpoints/enums.tools.ts Adds connected-system_list-apps MCP tool backed by enums endpoint.
src/endpoints/connected-systems.ts Adds ConnectedSystems endpoint class and request/response types.
src/endpoints/connected-systems.tools.ts Adds MCP tool definitions for connected-system CRUD operations.
src/endpoints/agents.ts Adds Agents endpoint class and types (including getAppConfig).
README.md Documents env vars and how integration create suites are enabled for connected systems.
package.json Bumps package version to 1.5.0.
package-lock.json Updates lockfile version metadata to 1.5.0.
jsr.json Updates JSR package version and publish include/exclude formatting.
.env.example Adds example env vars for connected-system create integration suites.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread test/utils.spec.ts Outdated
Keep buildUrl coverage aligned with the public QueryValue type by testing
undefined array entries without casting null into the API shape.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

There are naming inconsistencies across the PR - Agent vs OnPremAgent and ConnectedSystem vs OnPremConectedSystem. This should be united. Ideally all with OnPrem prefix.

Comment thread src/version.ts
@@ -1 +1 @@
export const VERSION = 'development'; // To be replaced while publishing
export const VERSION = '1.5.0'; No newline at end of file
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This must not change in the code - this is changed automatically by the release pipeline.

Comment thread src/endpoints/agents.ts
/**
* Represents a Make on-prem bridge agent (not Make AI `/v1/agents`).
*/
export type Agent = {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can we please name this OnPremAgent? All other classes and exports should be renamed as well. Feels like a leftover given the tools are already exported with prefix.

Comment thread src/make.ts
* Access to on-prem bridge agent endpoints
* On-prem agents run on customer infrastructure and connect to Make via the agency service
*/
public readonly agents: Agents;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This should be onPremAgent.

Comment thread test/make.spec.ts
expect(options?.headers).toStrictEqual({
authorization: `Token ${MAKE_API_KEY}`,
'user-agent': 'MakeTypeScriptSDK/development',
'user-agent': `MakeTypeScriptSDK/${VERSION}`,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why are we changing this?

Comment thread jsr.json
@@ -1,10 +1,17 @@
{
"name": "@make/sdk",
"version": "0.0.0",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do not change this.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants