Skip to content

Commit cd9b504

Browse files
JackwoodJackwood
authored andcommitted
Merge remote-tracking branch 'origin/main' into jackwood/link-5770-add-streamable-http-transport
# Conflicts: # CONTRIBUTING.md # packages/mcp/mcp-server/README.md # pnpm-workspace.yaml
2 parents 18a5802 + d32ad5e commit cd9b504

File tree

133 files changed

+6788
-274
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+6788
-274
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@transcend-io/privacy-types": patch
3+
"@transcend-io/sdk": patch
4+
"@transcend-io/cli": patch
5+
---
6+
7+
Add `DOES_NOT_CONTAIN` attribute to `ComparisonOperator` for assessment rules, and regenerate `transcend.yml` JSON schema.

.changeset/consent-mcp-gql-refactor.md

Lines changed: 0 additions & 43 deletions
This file was deleted.

.changeset/move-data-silos-to-sdk.md

Lines changed: 0 additions & 14 deletions
This file was deleted.

.changeset/move-enrichers-to-sdk.md

Lines changed: 0 additions & 16 deletions
This file was deleted.

.changeset/move-identifiers-subjects-to-sdk.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

.changeset/standardize-sdk-function-signatures.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,12 +248,35 @@ packages/mcp/
248248

249249
Each domain package provides a standalone CLI and can be installed independently. The unified `mcp-server` package composes all domains via `ToolRegistry`.
250250

251+
### Local credentials (`secret.env`)
252+
253+
MCP servers read `TRANSCEND_API_KEY` (and optional URL overrides) from the environment. For local runs from this repository, use root **`secret.env`** (gitignored):
254+
255+
```bash
256+
cp secret.env.example secret.env
257+
# Edit secret.env — set at least TRANSCEND_API_KEY
258+
```
259+
260+
Load variables into your shell before `pnpm` (from the repository root):
261+
262+
```bash
263+
set -a && source ./secret.env && set +a
264+
```
265+
266+
Or run a built CLI via [`scripts/mcp-run.sh`](./scripts/mcp-run.sh), which sources `secret.env` when the file exists:
267+
268+
```bash
269+
./scripts/mcp-run.sh ./packages/mcp/mcp-server-consent/dist/cli.mjs
270+
```
271+
272+
Use the path to the `dist/cli.mjs` for the server you built. See each package README under `packages/mcp/` for Turbo `build` filters.
273+
251274
### Working on a Single MCP Package
252275

253-
Use `pnpm --filter` the same way as any other package:
276+
Use `pnpm --filter` the same way as any other package. For `build`, prefer a Turbo filter with a trailing `...` so `mcp-server-core` and other dependencies are built when needed:
254277

255278
```bash
256-
pnpm -F @transcend-io/mcp-server-consent build
279+
pnpm exec turbo run build --filter="@transcend-io/mcp-server-consent..."
257280
pnpm -F @transcend-io/mcp-server-consent test
258281
pnpm -F @transcend-io/mcp-server-consent typecheck
259282
```
@@ -272,6 +295,8 @@ Optional overrides:
272295
- `TRANSCEND_API_URL` — Sombra REST API base URL (default: `https://multi-tenant.sombra.transcend.io`)
273296
- `TRANSCEND_GRAPHQL_URL` — GraphQL API base URL (default: `https://api.transcend.io`)
274297

298+
For local development, define these in **`secret.env`** (copy from `secret.env.example` at the repository root). Do not commit `secret.env`.
299+
275300
HTTP transport variables (only used with `--transport http`):
276301

277302
- `TRANSCEND_HTTP_PORT` — listen port (default: `3000`)

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ The packages in `packages/` are the public developer tools for Transcend.
1111

1212
- [`packages/cli`](./packages/cli/) (`@transcend-io/cli`): the Transcend CLI, used to programmatically manage your Transcend
1313
infrastructure and data.
14+
- [`packages/internationalization`](./packages/internationalization/) (`@transcend-io/internationalization`): shared locale
15+
constants, translation maps, and message helpers for Transcend packages.
1416
- [`packages/privacy-types`](./packages/privacy-types/) (`@transcend-io/privacy-types`): shared enums, codecs, and type
1517
definitions for Transcend APIs and product surfaces.
1618
- [`packages/mcp`](./packages/mcp/): [Model Context Protocol](https://modelcontextprotocol.io/) servers (`@transcend-io/mcp-server` and

packages/cli/CHANGELOG.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,99 @@
11
# @transcend-io/cli
22

3+
## 10.2.2
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [f252484]
8+
- @transcend-io/internationalization@4.0.1
9+
- @transcend-io/type-utils@3.0.1
10+
- @transcend-io/privacy-types@5.1.2
11+
- @transcend-io/sdk@1.0.2
12+
- @transcend-io/utils@0.1.2
13+
14+
## 10.2.1
15+
16+
### Patch Changes
17+
18+
- ebc2e91: Migrate `@transcend-io/internationalization` into the tools monorepo and align it with the
19+
shared package conventions.
20+
21+
Material changes:
22+
- the package is now built, tested, versioned, and released from the tools monorepo
23+
- the top-level API stays compatible, but the published filesystem layout now follows the
24+
monorepo's `dist/` plus `exports` structure instead of the legacy `build/` output
25+
- CLI, SDK, and privacy-types now consume the package from the local workspace
26+
27+
- 8984fb5: Migrate `@transcend-io/type-utils` into the tools monorepo as a first-party workspace package. The package now uses the monorepo's standard build, test, and export conventions while preserving the existing utility and `io-ts` helper surface for internal consumers.
28+
29+
Update the dependent workspace packages to consume the monorepo-managed `@transcend-io/type-utils` package instead of the previously external dependency reference.
30+
31+
- Updated dependencies [ebc2e91]
32+
- Updated dependencies [8984fb5]
33+
- @transcend-io/internationalization@4.0.0
34+
- @transcend-io/privacy-types@5.1.1
35+
- @transcend-io/sdk@1.0.1
36+
- @transcend-io/type-utils@3.0.0
37+
- @transcend-io/utils@0.1.1
38+
39+
## 10.2.0
40+
41+
### Minor Changes
42+
43+
- f7a5c54: Move enricher functions from CLI to SDK + standardize function signatures
44+
- Add `dsr-automation/` module to SDK: `fetchAllRequestEnrichers`, `retryRequestEnricher`, `fetchAllEnrichers`, `syncEnricher`
45+
- Migrate GQL definitions: `ENRICHERS`, `CREATE_ENRICHER`, `UPDATE_ENRICHER`, `INITIALIZER`, `REQUEST_ENRICHERS`, `RETRY_REQUEST_ENRICHER`, `SKIP_REQUEST_ENRICHER`
46+
- **BREAKING**: Standardize all new SDK function signatures to the `(client, options)` convention
47+
- `fetchAllRequestEnrichers`: `(client, filterOptions, opts)``(client, { filterBy, logger? })`
48+
- `fetchAllEnrichers`: `(client, { title?, logger })``(client, { filterBy?: { title? }, logger? })`
49+
- `retryRequestEnricher`: `(client, id, opts)``(client, { id, logger? })`
50+
- `syncEnricher`: `(client, syncOptions, opts)``(client, { input, identifierByName, dataSubjectsByName, logger? })`
51+
- Make `logger` optional across every SDK function; default to `NOOP_LOGGER`
52+
- All CLI imports updated to use `@transcend-io/sdk` directly
53+
54+
- 00b9d23: Move identifier & data subject functions from CLI to SDK + standardize signatures
55+
- Add `dsr-automation/` module to SDK: `fetchAllRequestIdentifiers`, `fetchAllRequestIdentifierMetadata`, `fetchDataSubjects`, `syncDataSubject`, `fetchIdentifiers`, `syncIdentifier`
56+
- **Standardize all new SDK function signatures** to the `(client, options)` convention
57+
- Make `logger` optional across every new SDK function; use `NOOP_LOGGER` default
58+
- Filters nested under `filterBy`; create/update data nested under `input`
59+
- All imports updated to use `@transcend-io/sdk` directly
60+
61+
- 896364c: Standardize SDK function signatures to follow `(client, options)` convention
62+
63+
BREAKING CHANGES:
64+
- `fetchRequestDataSilosCount`, `fetchRequestDataSilos`, `fetchRequestDataSilo`: collapse separate filter + options params into single `options: { logger, filterBy? }`
65+
- `fetchRequestFilesForRequest`: collapse 4 positional params into `(client, options: { logger, pageSize?, filterBy })`
66+
- `fetchAllCookies`, `fetchAllDataFlows`: move `status` param into `options.filterBy.status`
67+
- `updateDataFlows`, `createDataFlows`, `syncDataFlows`: move `classifyService` boolean into options object
68+
- `loginUser`, `assumeRole`: separate logger from domain data into `(client, credentials, { logger })`
69+
- `fetchAllTemplates`: move `title` filter into `options.filterBy.title`
70+
- `fetchPromptsWithVariables`: move `promptTitles`/`promptIds` into `options.filterBy.titles`/`options.filterBy.ids`
71+
- `fetchAllApiKeys`: move `titles` filter into `options.filterBy.titles`
72+
- `fetchApiKeys`: move `client` to first param, collapse `apiKeyInputs`/`fetchAll` into options
73+
74+
### Patch Changes
75+
76+
- a15fed8: Bump `@transcend-io/internationalization` from ^2.3.2 to ^3.0.0.
77+
- 6f2a059: feat(sdk): move data silo & datapoint GraphQL helpers to SDK
78+
- Move `fetchAllDataSilos`, `fetchAllDataPoints`, `fetchAllSubDataPoints`, `fetchEnrichedDataSilos` from CLI to SDK `data-inventory/` module
79+
- Move `syncDataSiloDependencies` from CLI to SDK `data-inventory/` module
80+
- Move data silo and datapoint GQL queries (`DATA_SILOS`, `DATA_SILO_EXPORT`, `DATA_SILOS_ENRICHED`, `CREATE_DATA_SILOS`, `UPDATE_DATA_SILOS`, `DATA_POINTS`, `DATA_POINT_COUNT`, `SUB_DATA_POINTS`, `SUB_DATA_POINTS_COUNT`, `SUB_DATA_POINTS_WITH_GUESSES`, `UPDATE_OR_CREATE_DATA_POINT`, `DATAPOINT_EXPORT`) from CLI to SDK
81+
- Move types (`DataSilo`, `DataSiloEnriched`, `DataSiloAttributeValue`, `SubDataPoint`, `DataPoint`, `DataPointWithSubDataPoint`) to SDK
82+
- Standardize all new SDK function signatures to `(client, options)` convention with optional `logger`
83+
- Delete `cli/src/lib/graphql/gqls/dataSilo.ts` and `cli/src/lib/graphql/gqls/dataPoint.ts`
84+
- CLI re-exports moved symbols from `@transcend-io/sdk` for backward compatibility
85+
86+
- Updated dependencies [a15fed8]
87+
- Updated dependencies [8185679]
88+
- Updated dependencies [d3f8140]
89+
- Updated dependencies [29868af]
90+
- Updated dependencies [6f2a059]
91+
- Updated dependencies [f7a5c54]
92+
- Updated dependencies [00b9d23]
93+
- Updated dependencies [896364c]
94+
- @transcend-io/sdk@1.0.0
95+
- @transcend-io/privacy-types@5.1.0
96+
397
## 10.1.0
498

599
### Minor Changes

packages/cli/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@transcend-io/cli",
3-
"version": "10.1.0",
3+
"version": "10.2.2",
44
"description": "A command line interface for programmatic operations across Transcend.",
55
"homepage": "https://github.com/transcend-io/tools/tree/main/packages/cli",
66
"license": "Apache-2.0",
@@ -88,12 +88,12 @@
8888
"@stricli/core": "^1.2.0",
8989
"@transcend-io/airgap.js-types": "^12.16.0",
9090
"@transcend-io/handlebars-utils": "^1.3.2",
91-
"@transcend-io/internationalization": "catalog:",
91+
"@transcend-io/internationalization": "workspace:*",
9292
"@transcend-io/persisted-state": "^1.0.6",
9393
"@transcend-io/privacy-types": "workspace:*",
9494
"@transcend-io/sdk": "workspace:*",
9595
"@transcend-io/secret-value": "^1.2.3",
96-
"@transcend-io/type-utils": "^1.8.9",
96+
"@transcend-io/type-utils": "workspace:*",
9797
"@transcend-io/utils": "workspace:*",
9898
"JSONStream": "^1.3.5",
9999
"bluebird": "^3.7.2",

0 commit comments

Comments
 (0)