Skip to content

feat: pass a confidential flag through execute, the tools and the CLI - #12

Draft
Jakub Hamadej (JakeHamix) wants to merge 1 commit into
mainfrom
feat/confidential-execution
Draft

Jakub Hamadej (JakeHamix) wants to merge 1 commit into
mainfrom
feat/confidential-execution

Conversation

@JakeHamix

Copy link
Copy Markdown
Collaborator

Why

Make's Endpoint execution API accepts an optional confidential boolean (BAR-4271): like a scenario with "Data is confidential", the execution log then keeps no input, output or error data, only metadata. The SDK, the tools and the CLI had no way to pass it.

What

  • EndpointOptions.confidential?: boolean in shared.ts (both transports already spread the options into the body, so execute() sends it as its own field, never inside input).
  • tools.ts: confidential is a reserved argument and a CONFIDENTIAL_SCHEMA property on every endpoint tool and on endpoints_execute; _callEndpoint validates it as a boolean.
  • CLI: --confidential on every call, derived from the schemas as usual; SKILL.md, snippet.md/README and the root help's Start here mention it.
  • The generated per-app methods type it once the generator's template carries it (mono PR linked in the first comment); until then the generic execute() is the typed way to pass it.

Order

Public runtime first (this PR), then the mono generator, then the nightly sync. shared.ts stays byte-identical to mono's copy. web-api must accept the field before anyone sends it (imt-web-api draft PR linked in the first comment).

Verification

npm run type-check, vitest (502 tests), npm run build, npm run check:package — green.

Make's Endpoint execution API accepts an optional `confidential` boolean (BAR-4271): like a scenario with "Data is confidential", the execution log then keeps no input, output or error data, only metadata. The flag is now an `EndpointOptions` field (both transports spread the options into the body, so `execute()` sends it as its own field, never inside `input`), a reserved argument on every endpoint tool and on `endpoints_execute`, and therefore a `--confidential` flag on every CLI call. The generated per-app methods type it once the generator's template carries it; until then the generic `execute()` is the typed way to pass it.
@JakeHamix

Copy link
Copy Markdown
Collaborator Author

Companion draft PRs for BAR-4271 (deploy order top to bottom):

  1. make-core (Executor, deploys first — it 400s unknown fields): https://github.com/integromat/make-core/pull/1736
  2. imt-overseer-client (errorTagExtractor, releases as 6.4.0; gates make-core PR B — master-side span redaction): https://github.com/integromat/imt-overseer-client/pull/71
  3. imt-web-api (confidential on POST /endpoints/v1/execute): https://github.com/integromat/imt-web-api/pull/5585
  4. make-endpoints-sdk (public runtime, tools, --confidential CLI flag; lands before mono): feat: pass a confidential flag through execute, the tools and the CLI #12
  5. mono libs/endpoints-sdk (runtime copy + endpoint.njk; nightly regen mirrors): https://github.com/integromat/mono/pull/6584
  6. make-mcp-server-host (endpoint_execute → v1 route, endpoints:run scope, confidential param): https://github.com/integromat/make-mcp-server-host/pull/575

This branch has not been deployed

No deployments
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.

1 participant