coalesce-transform-mcp 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -2
- package/dist/client.js.map +1 -1
- package/dist/coalesce/api/environments.d.ts +0 -12
- package/dist/coalesce/api/environments.d.ts.map +1 -1
- package/dist/coalesce/api/environments.js +0 -4
- package/dist/coalesce/api/environments.js.map +1 -1
- package/dist/coalesce/api/jobs.d.ts +3 -5
- package/dist/coalesce/api/jobs.d.ts.map +1 -1
- package/dist/coalesce/api/jobs.js +3 -6
- package/dist/coalesce/api/jobs.js.map +1 -1
- package/dist/coalesce/api/nodes.d.ts +3 -3
- package/dist/coalesce/api/nodes.d.ts.map +1 -1
- package/dist/coalesce/api/nodes.js +6 -4
- package/dist/coalesce/api/nodes.js.map +1 -1
- package/dist/coalesce/api/runs.d.ts.map +1 -1
- package/dist/coalesce/api/runs.js +11 -1
- package/dist/coalesce/api/runs.js.map +1 -1
- package/dist/coalesce/api/scan.d.ts +14 -0
- package/dist/coalesce/api/scan.d.ts.map +1 -0
- package/dist/coalesce/api/scan.js +64 -0
- package/dist/coalesce/api/scan.js.map +1 -0
- package/dist/coalesce/api/subgraphs.d.ts +3 -2
- package/dist/coalesce/api/subgraphs.d.ts.map +1 -1
- package/dist/coalesce/api/subgraphs.js +3 -2
- package/dist/coalesce/api/subgraphs.js.map +1 -1
- package/dist/coalesce/run-schemas.d.ts.map +1 -1
- package/dist/coalesce/run-schemas.js +26 -16
- package/dist/coalesce/run-schemas.js.map +1 -1
- package/dist/coalesce/tool-response.d.ts +1 -13
- package/dist/coalesce/tool-response.d.ts.map +1 -1
- package/dist/coalesce/tool-response.js +20 -6
- package/dist/coalesce/tool-response.js.map +1 -1
- package/dist/coalesce/tool-schemas.d.ts +1 -2
- package/dist/coalesce/tool-schemas.d.ts.map +1 -1
- package/dist/coalesce/tool-schemas.js +368 -5
- package/dist/coalesce/tool-schemas.js.map +1 -1
- package/dist/coalesce/types.d.ts +8 -0
- package/dist/coalesce/types.d.ts.map +1 -1
- package/dist/coalesce/types.js +3 -1
- package/dist/coalesce/types.js.map +1 -1
- package/dist/constants.d.ts +18 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +21 -0
- package/dist/constants.js.map +1 -0
- package/dist/mcp/cache.d.ts +2 -1
- package/dist/mcp/cache.d.ts.map +1 -1
- package/dist/mcp/cache.js +122 -138
- package/dist/mcp/cache.js.map +1 -1
- package/dist/mcp/environments.d.ts +2 -1
- package/dist/mcp/environments.d.ts.map +1 -1
- package/dist/mcp/environments.js +56 -112
- package/dist/mcp/environments.js.map +1 -1
- package/dist/mcp/git-accounts.d.ts +2 -1
- package/dist/mcp/git-accounts.d.ts.map +1 -1
- package/dist/mcp/git-accounts.js +74 -96
- package/dist/mcp/git-accounts.js.map +1 -1
- package/dist/mcp/jobs.d.ts +2 -1
- package/dist/mcp/jobs.d.ts.map +1 -1
- package/dist/mcp/jobs.js +68 -122
- package/dist/mcp/jobs.js.map +1 -1
- package/dist/mcp/lineage.d.ts +5 -0
- package/dist/mcp/lineage.d.ts.map +1 -0
- package/dist/mcp/lineage.js +410 -0
- package/dist/mcp/lineage.js.map +1 -0
- package/dist/mcp/node-type-corpus.d.ts +2 -1
- package/dist/mcp/node-type-corpus.d.ts.map +1 -1
- package/dist/mcp/node-type-corpus.js +148 -151
- package/dist/mcp/node-type-corpus.js.map +1 -1
- package/dist/mcp/nodes.d.ts +2 -1
- package/dist/mcp/nodes.d.ts.map +1 -1
- package/dist/mcp/nodes.js +358 -464
- package/dist/mcp/nodes.js.map +1 -1
- package/dist/mcp/pipelines.d.ts +2 -1
- package/dist/mcp/pipelines.d.ts.map +1 -1
- package/dist/mcp/pipelines.js +514 -314
- package/dist/mcp/pipelines.js.map +1 -1
- package/dist/mcp/projects.d.ts +2 -1
- package/dist/mcp/projects.d.ts.map +1 -1
- package/dist/mcp/projects.js +66 -100
- package/dist/mcp/projects.js.map +1 -1
- package/dist/mcp/repo-node-types.d.ts +2 -1
- package/dist/mcp/repo-node-types.d.ts.map +1 -1
- package/dist/mcp/repo-node-types.js +92 -121
- package/dist/mcp/repo-node-types.js.map +1 -1
- package/dist/mcp/runs.d.ts +3 -2
- package/dist/mcp/runs.d.ts.map +1 -1
- package/dist/mcp/runs.js +93 -148
- package/dist/mcp/runs.js.map +1 -1
- package/dist/mcp/skills.d.ts +13 -0
- package/dist/mcp/skills.d.ts.map +1 -0
- package/dist/mcp/skills.js +85 -0
- package/dist/mcp/skills.js.map +1 -0
- package/dist/mcp/subgraphs.d.ts +2 -1
- package/dist/mcp/subgraphs.d.ts.map +1 -1
- package/dist/mcp/subgraphs.js +61 -98
- package/dist/mcp/subgraphs.js.map +1 -1
- package/dist/mcp/tool-helpers.d.ts +37 -0
- package/dist/mcp/tool-helpers.d.ts.map +1 -0
- package/dist/mcp/tool-helpers.js +82 -0
- package/dist/mcp/tool-helpers.js.map +1 -0
- package/dist/mcp/users.d.ts +2 -1
- package/dist/mcp/users.d.ts.map +1 -1
- package/dist/mcp/users.js +92 -145
- package/dist/mcp/users.js.map +1 -1
- package/dist/mcp/workshop.d.ts +2 -1
- package/dist/mcp/workshop.d.ts.map +1 -1
- package/dist/mcp/workshop.js +66 -101
- package/dist/mcp/workshop.js.map +1 -1
- package/dist/mcp/workspaces.d.ts +2 -1
- package/dist/mcp/workspaces.d.ts.map +1 -1
- package/dist/mcp/workspaces.js +19 -34
- package/dist/mcp/workspaces.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +85 -0
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/context/pipeline-workshop-guide.md +1 -1
- package/dist/resources/context/tool-usage.md +7 -0
- package/dist/resources/index.d.ts +13 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +105 -5
- package/dist/resources/index.js.map +1 -1
- package/dist/schemas/node-payloads.d.ts +2 -2
- package/dist/server.d.ts +2 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +158 -41
- package/dist/server.js.map +1 -1
- package/dist/services/cache/snapshots.d.ts.map +1 -1
- package/dist/services/cache/snapshots.js +9 -5
- package/dist/services/cache/snapshots.js.map +1 -1
- package/dist/services/config/schema-resolver.d.ts.map +1 -1
- package/dist/services/config/schema-resolver.js +3 -6
- package/dist/services/config/schema-resolver.js.map +1 -1
- package/dist/services/lineage/lineage-cache.d.ts +53 -0
- package/dist/services/lineage/lineage-cache.d.ts.map +1 -0
- package/dist/services/lineage/lineage-cache.js +335 -0
- package/dist/services/lineage/lineage-cache.js.map +1 -0
- package/dist/services/lineage/lineage-documentation.d.ts +29 -0
- package/dist/services/lineage/lineage-documentation.d.ts.map +1 -0
- package/dist/services/lineage/lineage-documentation.js +80 -0
- package/dist/services/lineage/lineage-documentation.js.map +1 -0
- package/dist/services/lineage/lineage-propagation.d.ts +47 -0
- package/dist/services/lineage/lineage-propagation.d.ts.map +1 -0
- package/dist/services/lineage/lineage-propagation.js +176 -0
- package/dist/services/lineage/lineage-propagation.js.map +1 -0
- package/dist/services/lineage/lineage-search.d.ts +33 -0
- package/dist/services/lineage/lineage-search.d.ts.map +1 -0
- package/dist/services/lineage/lineage-search.js +133 -0
- package/dist/services/lineage/lineage-search.js.map +1 -0
- package/dist/services/lineage/lineage-traversal.d.ts +34 -0
- package/dist/services/lineage/lineage-traversal.d.ts.map +1 -0
- package/dist/services/lineage/lineage-traversal.js +283 -0
- package/dist/services/lineage/lineage-traversal.js.map +1 -0
- package/dist/services/pipelines/clause-extraction.d.ts +3 -0
- package/dist/services/pipelines/clause-extraction.d.ts.map +1 -0
- package/dist/services/pipelines/clause-extraction.js +27 -0
- package/dist/services/pipelines/clause-extraction.js.map +1 -0
- package/dist/services/pipelines/column-helpers.d.ts +8 -0
- package/dist/services/pipelines/column-helpers.d.ts.map +1 -0
- package/dist/services/pipelines/column-helpers.js +125 -0
- package/dist/services/pipelines/column-helpers.js.map +1 -0
- package/dist/services/pipelines/cte-parsing.d.ts +29 -0
- package/dist/services/pipelines/cte-parsing.d.ts.map +1 -0
- package/dist/services/pipelines/cte-parsing.js +160 -0
- package/dist/services/pipelines/cte-parsing.js.map +1 -0
- package/dist/services/pipelines/cte-planning.d.ts +22 -0
- package/dist/services/pipelines/cte-planning.d.ts.map +1 -0
- package/dist/services/pipelines/cte-planning.js +206 -0
- package/dist/services/pipelines/cte-planning.js.map +1 -0
- package/dist/services/pipelines/execution.d.ts.map +1 -1
- package/dist/services/pipelines/execution.js +0 -1
- package/dist/services/pipelines/execution.js.map +1 -1
- package/dist/services/pipelines/intent-parsing.d.ts +24 -0
- package/dist/services/pipelines/intent-parsing.d.ts.map +1 -0
- package/dist/services/pipelines/intent-parsing.js +245 -0
- package/dist/services/pipelines/intent-parsing.js.map +1 -0
- package/dist/services/pipelines/intent-resolution.d.ts +24 -0
- package/dist/services/pipelines/intent-resolution.d.ts.map +1 -0
- package/dist/services/pipelines/intent-resolution.js +141 -0
- package/dist/services/pipelines/intent-resolution.js.map +1 -0
- package/dist/services/pipelines/intent.d.ts +4 -45
- package/dist/services/pipelines/intent.d.ts.map +1 -1
- package/dist/services/pipelines/intent.js +14 -408
- package/dist/services/pipelines/intent.js.map +1 -1
- package/dist/services/pipelines/node-type-candidates.d.ts +6 -0
- package/dist/services/pipelines/node-type-candidates.d.ts.map +1 -0
- package/dist/services/pipelines/node-type-candidates.js +165 -0
- package/dist/services/pipelines/node-type-candidates.js.map +1 -0
- package/dist/services/pipelines/node-type-intent.d.ts +1 -5
- package/dist/services/pipelines/node-type-intent.d.ts.map +1 -1
- package/dist/services/pipelines/node-type-intent.js +1 -5
- package/dist/services/pipelines/node-type-intent.js.map +1 -1
- package/dist/services/pipelines/node-type-scoring.d.ts +13 -0
- package/dist/services/pipelines/node-type-scoring.d.ts.map +1 -0
- package/dist/services/pipelines/node-type-scoring.js +322 -0
- package/dist/services/pipelines/node-type-scoring.js.map +1 -0
- package/dist/services/pipelines/node-type-selection.d.ts +22 -2
- package/dist/services/pipelines/node-type-selection.d.ts.map +1 -1
- package/dist/services/pipelines/node-type-selection.js +16 -538
- package/dist/services/pipelines/node-type-selection.js.map +1 -1
- package/dist/services/pipelines/plan-builder.d.ts +33 -0
- package/dist/services/pipelines/plan-builder.d.ts.map +1 -0
- package/dist/services/pipelines/plan-builder.js +224 -0
- package/dist/services/pipelines/plan-builder.js.map +1 -0
- package/dist/services/pipelines/planning-types.d.ts +543 -0
- package/dist/services/pipelines/planning-types.d.ts.map +1 -0
- package/dist/services/pipelines/planning-types.js +85 -0
- package/dist/services/pipelines/planning-types.js.map +1 -0
- package/dist/services/pipelines/planning.d.ts +8 -537
- package/dist/services/pipelines/planning.d.ts.map +1 -1
- package/dist/services/pipelines/planning.js +10 -1956
- package/dist/services/pipelines/planning.js.map +1 -1
- package/dist/services/pipelines/review.d.ts.map +1 -1
- package/dist/services/pipelines/review.js +3 -8
- package/dist/services/pipelines/review.js.map +1 -1
- package/dist/services/pipelines/select-parsing.d.ts +7 -0
- package/dist/services/pipelines/select-parsing.d.ts.map +1 -0
- package/dist/services/pipelines/select-parsing.js +185 -0
- package/dist/services/pipelines/select-parsing.js.map +1 -0
- package/dist/services/pipelines/source-parsing.d.ts +8 -0
- package/dist/services/pipelines/source-parsing.d.ts.map +1 -0
- package/dist/services/pipelines/source-parsing.js +151 -0
- package/dist/services/pipelines/source-parsing.js.map +1 -0
- package/dist/services/pipelines/sql-parsing.d.ts +8 -0
- package/dist/services/pipelines/sql-parsing.d.ts.map +1 -0
- package/dist/services/pipelines/sql-parsing.js +9 -0
- package/dist/services/pipelines/sql-parsing.js.map +1 -0
- package/dist/services/pipelines/sql-tokenizer.d.ts +42 -0
- package/dist/services/pipelines/sql-tokenizer.d.ts.map +1 -0
- package/dist/services/pipelines/sql-tokenizer.js +493 -0
- package/dist/services/pipelines/sql-tokenizer.js.map +1 -0
- package/dist/services/pipelines/sql-utils.d.ts +30 -0
- package/dist/services/pipelines/sql-utils.d.ts.map +1 -0
- package/dist/services/pipelines/sql-utils.js +62 -0
- package/dist/services/pipelines/sql-utils.js.map +1 -0
- package/dist/services/pipelines/workshop.d.ts.map +1 -1
- package/dist/services/pipelines/workshop.js +53 -25
- package/dist/services/pipelines/workshop.js.map +1 -1
- package/dist/services/pipelines/workspace-resolution.d.ts +18 -0
- package/dist/services/pipelines/workspace-resolution.d.ts.map +1 -0
- package/dist/services/pipelines/workspace-resolution.js +279 -0
- package/dist/services/pipelines/workspace-resolution.js.map +1 -0
- package/dist/services/runs/diagnostics.d.ts.map +1 -1
- package/dist/services/runs/diagnostics.js +3 -8
- package/dist/services/runs/diagnostics.js.map +1 -1
- package/dist/services/shared/elicitation.d.ts +14 -0
- package/dist/services/shared/elicitation.d.ts.map +1 -0
- package/dist/services/shared/elicitation.js +56 -0
- package/dist/services/shared/elicitation.js.map +1 -0
- package/dist/services/workspace/node-creation.d.ts.map +1 -1
- package/dist/services/workspace/node-creation.js +5 -1
- package/dist/services/workspace/node-creation.js.map +1 -1
- package/dist/services/workspace/node-update-helpers.d.ts.map +1 -1
- package/dist/services/workspace/node-update-helpers.js +3 -8
- package/dist/services/workspace/node-update-helpers.js.map +1 -1
- package/dist/utils.d.ts +11 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +20 -1
- package/dist/utils.js.map +1 -1
- package/dist/workflows/get-environment-health.d.ts +49 -0
- package/dist/workflows/get-environment-health.d.ts.map +1 -0
- package/dist/workflows/get-environment-health.js +310 -0
- package/dist/workflows/get-environment-health.js.map +1 -0
- package/dist/workflows/get-environment-overview.d.ts +2 -1
- package/dist/workflows/get-environment-overview.d.ts.map +1 -1
- package/dist/workflows/get-environment-overview.js +13 -19
- package/dist/workflows/get-environment-overview.js.map +1 -1
- package/dist/workflows/get-run-details.d.ts +2 -2
- package/dist/workflows/get-run-details.d.ts.map +1 -1
- package/dist/workflows/get-run-details.js +14 -19
- package/dist/workflows/get-run-details.js.map +1 -1
- package/dist/workflows/retry-and-wait.d.ts.map +1 -1
- package/dist/workflows/retry-and-wait.js +3 -2
- package/dist/workflows/retry-and-wait.js.map +1 -1
- package/dist/workflows/run-and-wait.d.ts.map +1 -1
- package/dist/workflows/run-and-wait.js +3 -2
- package/dist/workflows/run-and-wait.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -74,7 +74,10 @@ Only `COALESCE_ACCESS_TOKEN` is required. Everything else is optional.
|
|
|
74
74
|
| `COALESCE_ORG_ID` | Fallback org ID for cancel-run. | — |
|
|
75
75
|
| `COALESCE_REPO_PATH` | Local repo root for repo-backed tools and pipeline planning. | — |
|
|
76
76
|
| `COALESCE_MCP_AUTO_CACHE_MAX_BYTES` | JSON size threshold before auto-caching to disk. | `32768` |
|
|
77
|
+
| `COALESCE_MCP_LINEAGE_TTL_MS` | In-memory lineage cache TTL in milliseconds. | `1800000` |
|
|
77
78
|
| `COALESCE_MCP_MAX_REQUEST_BODY_BYTES` | Max outbound API request body size. | `524288` |
|
|
79
|
+
| `COALESCE_MCP_READ_ONLY` | When `true`, hides all write/mutation tools during registration. Only read, list, search, cache, analyze, review, diagnose, and plan tools are exposed. | `false` |
|
|
80
|
+
| `COALESCE_MCP_SKILLS_DIR` | Directory for customizable AI skill resources. When set, reads context resources from this directory and seeds defaults on first run. Users can augment or override any skill. | — |
|
|
78
81
|
<!-- ENV_METADATA_CORE_TABLE_END -->
|
|
79
82
|
|
|
80
83
|
### Snowflake (for run tools only)
|
|
@@ -129,6 +132,60 @@ export SNOWFLAKE_ROLE="your-role"
|
|
|
129
132
|
|
|
130
133
|
Only include the variables you need — the Quick Start config with just `COALESCE_ACCESS_TOKEN` is enough to get started.
|
|
131
134
|
|
|
135
|
+
## Skills Directory
|
|
136
|
+
|
|
137
|
+
The server ships 23 AI skill resources that guide how agents interact with Coalesce. By default these are bundled inside the package, but you can make them visible and editable by setting `COALESCE_MCP_SKILLS_DIR`.
|
|
138
|
+
|
|
139
|
+
### Setup
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
export COALESCE_MCP_SKILLS_DIR="/path/to/my-skills"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
On first run, the server seeds the directory with 46 files:
|
|
146
|
+
|
|
147
|
+
- `coalesce_skills.<name>.md` — the default skill content (editable)
|
|
148
|
+
- `user_skills.<name>.md` — your customization file (starts as an inactive stub with instructions)
|
|
149
|
+
|
|
150
|
+
### How customization works
|
|
151
|
+
|
|
152
|
+
Each resource resolves using this priority:
|
|
153
|
+
|
|
154
|
+
1. **Override** — `user_skills.<name>.md` starts with `<!-- OVERRIDE -->` → only the user file is served
|
|
155
|
+
2. **Augment** — `user_skills.<name>.md` has custom content (remove the `<!-- STUB -->` line first) → default + user content are concatenated
|
|
156
|
+
3. **Default** — `user_skills.<name>.md` is missing, empty, or still has the seeded stub → default skill content is served
|
|
157
|
+
4. **Disabled** — both files deleted → empty content is served (effectively disabled)
|
|
158
|
+
|
|
159
|
+
Seeding is idempotent — it never overwrites files you've already modified.
|
|
160
|
+
|
|
161
|
+
### Available Skills
|
|
162
|
+
|
|
163
|
+
| Skill | File | Description |
|
|
164
|
+
| ----- | ---- | ----------- |
|
|
165
|
+
| Coalesce Overview | `overview` | General Coalesce concepts, response guidelines, and operational constraints |
|
|
166
|
+
| SQL Platform Selection | `sql-platform-selection` | Determining the active SQL platform from project metadata |
|
|
167
|
+
| SQL Rules: Snowflake | `sql-snowflake` | Snowflake-specific SQL conventions for node SQL |
|
|
168
|
+
| SQL Rules: Databricks | `sql-databricks` | Databricks-specific SQL conventions for node SQL |
|
|
169
|
+
| SQL Rules: BigQuery | `sql-bigquery` | BigQuery-specific SQL conventions for node SQL |
|
|
170
|
+
| Data Engineering Principles | `data-engineering-principles` | Node type selection, layered architecture, methodology detection, and materialization strategies |
|
|
171
|
+
| Storage Locations and References | `storage-mappings` | Storage location concepts, `{{ ref() }}` syntax, and reference patterns |
|
|
172
|
+
| Tool Usage Patterns | `tool-usage` | Best practices for tool batching, parallelization, and SQL conversion |
|
|
173
|
+
| ID Discovery | `id-discovery` | Resolving project, workspace, environment, job, run, node, and org IDs |
|
|
174
|
+
| Node Creation Decision Tree | `node-creation-decision-tree` | Choosing between predecessor-based creation, updates, and full replacements |
|
|
175
|
+
| Node Payloads | `node-payloads` | Working with workspace node bodies, metadata, config, and array-replacement risks |
|
|
176
|
+
| Hydrated Metadata | `hydrated-metadata` | Coalesce hydrated metadata structures for advanced node payload editing |
|
|
177
|
+
| Run Operations | `run-operations` | Starting, retrying, polling, diagnosing, and canceling Coalesce runs |
|
|
178
|
+
| Node Type Corpus | `node-type-corpus` | Node type discovery, corpus search, and metadata patterns |
|
|
179
|
+
| Aggregation Patterns | `aggregation-patterns` | JOIN ON generation, GROUP BY detection, and join-to-aggregation conversion |
|
|
180
|
+
| Intelligent Node Configuration | `intelligent-node-configuration` | How intelligent config completion works, schema resolution, and automatic field detection |
|
|
181
|
+
| Pipeline Workflows | `pipeline-workflows` | Building pipelines end-to-end: node type selection, multi-node sequences, and execution |
|
|
182
|
+
| Node Operations | `node-operations` | Editing existing nodes: joins, columns, config fields, and SQL-to-graph conversion |
|
|
183
|
+
| Node Type Selection Guide | `node-type-selection-guide` | When to use each Coalesce node type (Stage/Work vs Dimension/Fact vs specialized) |
|
|
184
|
+
| Intent Pipeline Guide | `intent-pipeline-guide` | Using `build_pipeline_from_intent` to create pipelines from natural language |
|
|
185
|
+
| Run Diagnostics Guide | `run-diagnostics-guide` | Using `diagnose_run_failure` to analyze failed runs and determine fixes |
|
|
186
|
+
| Pipeline Review Guide | `pipeline-review-guide` | Using `review_pipeline` for pipeline analysis and optimization |
|
|
187
|
+
| Pipeline Workshop Guide | `pipeline-workshop-guide` | Using pipeline workshop tools for iterative, conversational pipeline building |
|
|
188
|
+
|
|
132
189
|
## Tool Reference
|
|
133
190
|
|
|
134
191
|
⚠️ = Destructive operation
|
|
@@ -142,7 +199,6 @@ Coalesce Platform Tools: manage workspaces, environments, projects, runs, and ot
|
|
|
142
199
|
- `list_environments` - List all available environments
|
|
143
200
|
- `get_environment` - Get details of a specific environment
|
|
144
201
|
- `create_environment` - Create a new environment within a project
|
|
145
|
-
- `update_environment` - Update an existing environment
|
|
146
202
|
- `delete_environment` - Delete an environment ⚠️
|
|
147
203
|
|
|
148
204
|
#### Workspaces
|
|
@@ -163,7 +219,6 @@ Coalesce Platform Tools: manage workspaces, environments, projects, runs, and ot
|
|
|
163
219
|
#### Jobs
|
|
164
220
|
|
|
165
221
|
- `list_environment_jobs` - List all jobs for an environment
|
|
166
|
-
- `list_workspace_jobs` - List all jobs for a workspace
|
|
167
222
|
- `create_workspace_job` - Create a job in a workspace with node include/exclude selectors
|
|
168
223
|
- `get_environment_job` - Get details of a specific job (via environment)
|
|
169
224
|
- `update_workspace_job` - Update a job's name and node selectors
|
|
@@ -238,12 +293,14 @@ Custom logic built on top of the API: pipeline planning, config completion, join
|
|
|
238
293
|
- `create_pipeline_from_sql` - Plan and create a pipeline directly from SQL
|
|
239
294
|
- `build_pipeline_from_intent` - Build a pipeline from a natural language goal with automatic entity resolution and node type selection
|
|
240
295
|
- `review_pipeline` - Analyze an existing pipeline for redundant nodes, missing joins, layer violations, naming issues, and optimization opportunities
|
|
296
|
+
- `parse_sql_structure` - Parse a SQL statement into structural components (CTEs, source tables, projected columns) without touching the workspace
|
|
297
|
+
- `select_pipeline_node_type` - Rank and select the best Coalesce node type for a pipeline step using the deliberative selection loop against repo or workspace-observed types
|
|
241
298
|
|
|
242
299
|
#### Pipeline Workshop
|
|
243
300
|
|
|
244
301
|
- `pipeline_workshop_open` - Open an iterative pipeline builder session with workspace context pre-loaded
|
|
245
302
|
- `pipeline_workshop_instruct` - Send a natural language instruction to modify the current workshop plan
|
|
246
|
-
- `
|
|
303
|
+
- `get_pipeline_workshop_status` - Get the current state of a workshop session
|
|
247
304
|
- `pipeline_workshop_close` - Close a workshop session and release resources
|
|
248
305
|
|
|
249
306
|
#### Repo-Backed Node Types and Templates
|
|
@@ -273,6 +330,20 @@ Custom logic built on top of the API: pipeline planning, config completion, join
|
|
|
273
330
|
- `retry_and_wait` - Retry a failed run and poll until completion; requires Snowflake Key Pair auth
|
|
274
331
|
- `get_run_details` - Get run metadata and results in one call
|
|
275
332
|
- `get_environment_overview` - Get environment details with full node list
|
|
333
|
+
- `get_environment_health` - Get a comprehensive health dashboard: node counts by type, run statuses, failed runs in last 24h, stale nodes, dependency health, and overall health score. This walks all paginated environment runs before scoring, so it can take longer on busy environments.
|
|
334
|
+
|
|
335
|
+
#### Skills
|
|
336
|
+
|
|
337
|
+
- `personalize_skills` - Export bundled skill files to a local directory for customization; creates editable `coalesce_skills.{name}.md` and `user_skills.{name}.md` pairs (idempotent — never overwrites existing files)
|
|
338
|
+
|
|
339
|
+
#### Lineage & Impact
|
|
340
|
+
|
|
341
|
+
- `get_upstream_nodes` - Walk the full upstream dependency graph for a node and return every ancestor with depth level (no depth limit)
|
|
342
|
+
- `get_downstream_nodes` - Walk the full downstream dependency graph for a node and return every dependent with depth level (no depth limit)
|
|
343
|
+
- `get_column_lineage` - Trace a column through the entire pipeline upstream and downstream via column-level references
|
|
344
|
+
- `analyze_impact` - Analyze downstream impact of changing a node or specific column — returns impacted counts, grouped by depth, and critical path
|
|
345
|
+
- `propagate_column_change` - Update all downstream columns after a column rename or data type change ⚠️
|
|
346
|
+
- `search_workspace_content` - Search across node SQL, column names, descriptions, and config values using the lineage cache as a searchable index
|
|
276
347
|
|
|
277
348
|
## Snowflake Exploration via Cortex Code
|
|
278
349
|
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAsBD,wBAAgB,cAAc,IAAI,YAAY,CAe7C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAGhC,MAAM,EAAE,MAAM;IACd,MAAM,CAAC,EAAE,OAAO;gBAFvB,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,YAAA;CAK1B;AAkGD,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY;cAkJrC,MAAM,WACH,WAAW,YACV,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;eAKX,MAAM,SACL,OAAO,WACL,WAAW,YACV,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;cAKX,MAAM,SACL,OAAO,WACL,WAAW,YACV,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;gBAKX,MAAM,SACL,OAAO,WACL,WAAW,YACV,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;iBAKX,MAAM,WACH,WAAW,YACV,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;EAItB;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
package/dist/client.js
CHANGED
|
@@ -13,6 +13,9 @@ const DEFAULT_BASE_URL = "https://app.coalescesoftware.io";
|
|
|
13
13
|
const MAX_RETRY_ATTEMPTS = 5;
|
|
14
14
|
const RETRY_BASE_DELAY_MS = 1_000;
|
|
15
15
|
const RETRY_MAX_DELAY_MS = 30_000;
|
|
16
|
+
// Only retry rate-limited GET requests. POST/PUT/PATCH/DELETE are not retried
|
|
17
|
+
// because they are not idempotent — retrying could cause duplicate runs, double
|
|
18
|
+
// deletes, or other unintended side effects.
|
|
16
19
|
const RETRYABLE_RATE_LIMIT_METHODS = new Set(["GET"]);
|
|
17
20
|
export function validateConfig() {
|
|
18
21
|
const accessToken = process.env.COALESCE_ACCESS_TOKEN?.trim();
|
|
@@ -78,7 +81,7 @@ async function handleResponse(response) {
|
|
|
78
81
|
detail = await response.text();
|
|
79
82
|
}
|
|
80
83
|
catch {
|
|
81
|
-
detail =
|
|
84
|
+
detail = "[response body could not be read]";
|
|
82
85
|
}
|
|
83
86
|
}
|
|
84
87
|
switch (response.status) {
|
|
@@ -100,7 +103,7 @@ async function handleResponse(response) {
|
|
|
100
103
|
case 429: {
|
|
101
104
|
const retryAfterHeader = response.headers.get("Retry-After");
|
|
102
105
|
const retryAfterMs = parseRetryAfterMs(retryAfterHeader);
|
|
103
|
-
throw new CoalesceApiError("Coalesce API rate limit exceeded", 429, { ...(
|
|
106
|
+
throw new CoalesceApiError("Coalesce API rate limit exceeded", 429, { ...(detail && typeof detail === "object" ? detail : {}), ...(retryAfterMs !== undefined ? { retryAfterMs } : {}) });
|
|
104
107
|
}
|
|
105
108
|
default:
|
|
106
109
|
throw new CoalesceApiError(`Coalesce API unavailable (HTTP ${response.status})`, response.status, detail);
|
|
@@ -171,6 +174,7 @@ export function createClient(config) {
|
|
|
171
174
|
headers: headers(method),
|
|
172
175
|
body: serializedBody,
|
|
173
176
|
signal: controller.signal,
|
|
177
|
+
credentials: "omit",
|
|
174
178
|
});
|
|
175
179
|
return await handleResponse(response);
|
|
176
180
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,18 +15,6 @@ export declare function createEnvironment(client: CoalesceClient, params: {
|
|
|
15
15
|
textColor?: string;
|
|
16
16
|
};
|
|
17
17
|
}): Promise<unknown>;
|
|
18
|
-
export declare function updateEnvironment(client: CoalesceClient, params: {
|
|
19
|
-
environmentID: string;
|
|
20
|
-
name?: string;
|
|
21
|
-
oauthEnabled?: boolean;
|
|
22
|
-
devEnv?: boolean;
|
|
23
|
-
connectionAccount?: string;
|
|
24
|
-
runTimeParameters?: Record<string, unknown>;
|
|
25
|
-
tagColors?: {
|
|
26
|
-
backgroundColor?: string;
|
|
27
|
-
textColor?: string;
|
|
28
|
-
};
|
|
29
|
-
}): Promise<unknown>;
|
|
30
18
|
export declare function deleteEnvironment(client: CoalesceClient, params: {
|
|
31
19
|
environmentID: string;
|
|
32
20
|
}): Promise<unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/environments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnE,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IACN,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D,GACA,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/environments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnE,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IACN,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D,GACA,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAAC,OAAO,CAAC,CAKlB"}
|
|
@@ -9,10 +9,6 @@ export async function getEnvironment(client, params) {
|
|
|
9
9
|
export async function createEnvironment(client, params) {
|
|
10
10
|
return client.post("/api/v1/environments", params);
|
|
11
11
|
}
|
|
12
|
-
export async function updateEnvironment(client, params) {
|
|
13
|
-
const { environmentID, ...body } = params;
|
|
14
|
-
return client.patch(`/api/v1/environments/${validatePathSegment(environmentID, "environmentID")}`, body);
|
|
15
|
-
}
|
|
16
12
|
export async function deleteEnvironment(client, params) {
|
|
17
13
|
const { environmentID } = params;
|
|
18
14
|
return client.delete(`/api/v1/environments/${validatePathSegment(environmentID, "environmentID")}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../../../src/coalesce/api/environments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAsB,EACtB,MAAmB;IAEnB,OAAO,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAsB,EACtB,MAAiC;IAEjC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IACjC,OAAO,MAAM,CAAC,GAAG,CAAC,wBAAwB,mBAAmB,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,MAQC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../../../src/coalesce/api/environments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAsB,EACtB,MAAmB;IAEnB,OAAO,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAsB,EACtB,MAAiC;IAEjC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IACjC,OAAO,MAAM,CAAC,GAAG,CAAC,wBAAwB,mBAAmB,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,MAQC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,MAAiC;IAEjC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAClB,wBAAwB,mBAAmB,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,CAC9E,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import type { CoalesceClient
|
|
2
|
-
export declare function listWorkspaceJobs(client: CoalesceClient, params: {
|
|
3
|
-
workspaceID: string;
|
|
4
|
-
} & QueryParams): Promise<unknown>;
|
|
1
|
+
import type { CoalesceClient } from "../../client.js";
|
|
5
2
|
export declare function listEnvironmentJobs(client: CoalesceClient, params: {
|
|
6
3
|
environmentID: string;
|
|
7
|
-
|
|
4
|
+
limit?: number | string;
|
|
5
|
+
}): Promise<unknown>;
|
|
8
6
|
export declare function createWorkspaceJob(client: CoalesceClient, params: {
|
|
9
7
|
workspaceID: string;
|
|
10
8
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IACN,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IACN,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,OAAO,CAAC,CAKlB"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { validatePathSegment } from "../types.js";
|
|
2
|
-
|
|
3
|
-
const { workspaceID, ...query } = params;
|
|
4
|
-
return client.get(`/api/v1/workspaces/${validatePathSegment(workspaceID, "workspaceID")}/jobs`, query);
|
|
5
|
-
}
|
|
2
|
+
import { scanResourcesByID } from "./scan.js";
|
|
6
3
|
export async function listEnvironmentJobs(client, params) {
|
|
7
|
-
const
|
|
8
|
-
return client
|
|
4
|
+
const eid = validatePathSegment(params.environmentID, "environmentID");
|
|
5
|
+
return scanResourcesByID(client, `/api/v1/environments/${eid}/jobs`, params.limit ? Number(params.limit) : undefined);
|
|
9
6
|
}
|
|
10
7
|
export async function createWorkspaceJob(client, params) {
|
|
11
8
|
const { workspaceID, ...body } = params;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/coalesce/api/jobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/coalesce/api/jobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAsB,EACtB,MAA0D;IAE1D,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IACvE,OAAO,iBAAiB,CACtB,MAAM,EACN,wBAAwB,GAAG,OAAO,EAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAsB,EACtB,MAKC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACxC,OAAO,MAAM,CAAC,IAAI,CAChB,sBAAsB,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,EAC5E,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,MAAgD;IAEhD,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACxC,OAAO,MAAM,CAAC,GAAG,CACf,wBAAwB,mBAAmB,CAAC,aAAa,EAAE,eAAe,CAAC,SAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EACzH,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAsB,EACtB,MAMC;IAED,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC/C,OAAO,MAAM,CAAC,GAAG,CACf,sBAAsB,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,SAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EACnH,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAsB,EACtB,MAA8C;IAE9C,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACtC,OAAO,MAAM,CAAC,MAAM,CAClB,sBAAsB,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,SAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CACpH,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { CoalesceClient, QueryParams } from "../../client.js";
|
|
1
|
+
import type { CoalesceClient, QueryParams, RequestOptions } from "../../client.js";
|
|
2
2
|
export declare function listEnvironmentNodes(client: CoalesceClient, params: QueryParams & {
|
|
3
3
|
environmentID: string;
|
|
4
|
-
}): Promise<unknown>;
|
|
4
|
+
}, options?: RequestOptions): Promise<unknown>;
|
|
5
5
|
export declare function listWorkspaceNodes(client: CoalesceClient, params: QueryParams & {
|
|
6
6
|
workspaceID: string;
|
|
7
|
-
}): Promise<unknown>;
|
|
7
|
+
}, options?: RequestOptions): Promise<unknown>;
|
|
8
8
|
export declare function getEnvironmentNode(client: CoalesceClient, params: {
|
|
9
9
|
environmentID: string;
|
|
10
10
|
nodeID: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGnF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,WAAW,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,EAC/C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,WAAW,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EAC7C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IACN,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,GACA,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IACN,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,GACA,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,OAAO,CAAC,CAKlB"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { validatePathSegment } from "../types.js";
|
|
2
|
-
export async function listEnvironmentNodes(client, params) {
|
|
2
|
+
export async function listEnvironmentNodes(client, params, options) {
|
|
3
3
|
const { environmentID, ...queryParams } = params;
|
|
4
|
-
|
|
4
|
+
const url = `/api/v1/environments/${validatePathSegment(environmentID, "environmentID")}/nodes`;
|
|
5
|
+
return options ? client.get(url, queryParams, options) : client.get(url, queryParams);
|
|
5
6
|
}
|
|
6
|
-
export async function listWorkspaceNodes(client, params) {
|
|
7
|
+
export async function listWorkspaceNodes(client, params, options) {
|
|
7
8
|
const { workspaceID, ...queryParams } = params;
|
|
8
|
-
|
|
9
|
+
const url = `/api/v1/workspaces/${validatePathSegment(workspaceID, "workspaceID")}/nodes`;
|
|
10
|
+
return options ? client.get(url, queryParams, options) : client.get(url, queryParams);
|
|
9
11
|
}
|
|
10
12
|
export async function getEnvironmentNode(client, params) {
|
|
11
13
|
const { environmentID, nodeID } = params;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/coalesce/api/nodes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,MAA+C
|
|
1
|
+
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/coalesce/api/nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ7D,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,MAAM,CAC1B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACxB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC/D,OAAO,CAAC,OAAO,CAAC,CAclB"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { validatePathSegment, buildStartRunBody, buildRerunBody } from "../types.js";
|
|
2
|
+
// The Coalesce API uses two distinct run identifiers — this is intentional, not inconsistent naming:
|
|
3
|
+
// runID (string) — numeric ID passed as a path segment to REST endpoints (/api/v1/runs/{runID})
|
|
4
|
+
// runCounter (number) — numeric counter used as a query param by scheduler endpoints (/scheduler/runStatus)
|
|
5
|
+
// Both refer to the same run but are consumed by different parts of the Coalesce API.
|
|
2
6
|
export async function listRuns(client, params) {
|
|
3
7
|
return client.get("/api/v1/runs", params);
|
|
4
8
|
}
|
|
@@ -15,13 +19,19 @@ export async function startRun(client, params) {
|
|
|
15
19
|
return client.post("/scheduler/startRun", body);
|
|
16
20
|
}
|
|
17
21
|
export async function runStatus(client, params) {
|
|
18
|
-
|
|
22
|
+
const { runCounter } = params;
|
|
23
|
+
if (!Number.isFinite(runCounter) || !Number.isInteger(runCounter) || runCounter < 0) {
|
|
24
|
+
throw new Error(`runCounter must be a non-negative integer, got: ${runCounter}`);
|
|
25
|
+
}
|
|
26
|
+
return client.get("/scheduler/runStatus", { runCounter });
|
|
19
27
|
}
|
|
20
28
|
export async function retryRun(client, params) {
|
|
21
29
|
const body = buildRerunBody(params);
|
|
22
30
|
return client.post("/scheduler/rerun", body);
|
|
23
31
|
}
|
|
24
32
|
export async function cancelRun(client, params) {
|
|
33
|
+
validatePathSegment(params.runID, "runID");
|
|
34
|
+
validatePathSegment(params.environmentID, "environmentID");
|
|
25
35
|
const orgID = params.orgID?.trim() || process.env.COALESCE_ORG_ID?.trim();
|
|
26
36
|
if (!orgID) {
|
|
27
37
|
throw new Error("orgID is required for cancel-run. Provide it explicitly or set COALESCE_ORG_ID.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../src/coalesce/api/runs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAsB,EACtB,MAAmB;IAEnB,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,MAAsB,EACtB,MAAyB;IAEzB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,OAAO,MAAM,CAAC,GAAG,CAAC,gBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAsB,EACtB,MAAyB;IAEzB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,OAAO,MAAM,CAAC,GAAG,CAAC,gBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAsB,EACtB,MAAqB;IAErB,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAsB,EACtB,MAA8B;IAE9B,
|
|
1
|
+
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../../src/coalesce/api/runs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErF,qGAAqG;AACrG,sGAAsG;AACtG,8GAA8G;AAC9G,sFAAsF;AAEtF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAsB,EACtB,MAAmB;IAEnB,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,MAAsB,EACtB,MAAyB;IAEzB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,OAAO,MAAM,CAAC,GAAG,CAAC,gBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAsB,EACtB,MAAyB;IAEzB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,OAAO,MAAM,CAAC,GAAG,CAAC,gBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAsB,EACtB,MAAqB;IAErB,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAsB,EACtB,MAA8B;IAE9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,mDAAmD,UAAU,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAsB,EACtB,MAAkB;IAElB,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAsB,EACtB,MAAgE;IAEhE,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3C,mBAAmB,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IAC1E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;QACzC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK;QACL,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CoalesceClient } from "../../client.js";
|
|
2
|
+
/**
|
|
3
|
+
* Scans sequential numeric IDs to discover resources when the API lacks
|
|
4
|
+
* a collection GET endpoint. Fetches `GET {basePath}/1`, `GET {basePath}/2`, ...
|
|
5
|
+
* in parallel batches. Continues scanning if resources are found near the
|
|
6
|
+
* end of a batch (within the last SCAN_TAIL_THRESHOLD IDs). Stops when a
|
|
7
|
+
* full batch has no hits in the tail, or SCAN_MAX_ID is reached.
|
|
8
|
+
* An optional `limit` caps the number of returned resources, stopping the
|
|
9
|
+
* scan early once reached.
|
|
10
|
+
*/
|
|
11
|
+
export declare function scanResourcesByID(client: CoalesceClient, basePath: string, limit?: number): Promise<{
|
|
12
|
+
data: unknown[];
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQtD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CA0D9B"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { CoalesceApiError } from "../../client.js";
|
|
2
|
+
const SCAN_BATCH_SIZE = 50;
|
|
3
|
+
const SCAN_CONCURRENCY = 20;
|
|
4
|
+
const SCAN_TAIL_THRESHOLD = 10;
|
|
5
|
+
const SCAN_MAX_ID = 10_000;
|
|
6
|
+
/**
|
|
7
|
+
* Scans sequential numeric IDs to discover resources when the API lacks
|
|
8
|
+
* a collection GET endpoint. Fetches `GET {basePath}/1`, `GET {basePath}/2`, ...
|
|
9
|
+
* in parallel batches. Continues scanning if resources are found near the
|
|
10
|
+
* end of a batch (within the last SCAN_TAIL_THRESHOLD IDs). Stops when a
|
|
11
|
+
* full batch has no hits in the tail, or SCAN_MAX_ID is reached.
|
|
12
|
+
* An optional `limit` caps the number of returned resources, stopping the
|
|
13
|
+
* scan early once reached.
|
|
14
|
+
*/
|
|
15
|
+
export async function scanResourcesByID(client, basePath, limit) {
|
|
16
|
+
if (!basePath || typeof basePath !== "string" || !/^\/[a-zA-Z0-9/._-]+$/.test(basePath)) {
|
|
17
|
+
throw new Error(`Invalid basePath for resource scan: "${basePath}". Must be an absolute API path with safe characters.`);
|
|
18
|
+
}
|
|
19
|
+
if (limit !== undefined && (!Number.isFinite(limit) || !Number.isInteger(limit) || limit < 1)) {
|
|
20
|
+
throw new Error(`Invalid scan limit: ${limit}. Must be a positive integer.`);
|
|
21
|
+
}
|
|
22
|
+
const found = [];
|
|
23
|
+
let batchStart = 1;
|
|
24
|
+
while (batchStart <= SCAN_MAX_ID) {
|
|
25
|
+
const batchEnd = Math.min(batchStart + SCAN_BATCH_SIZE - 1, SCAN_MAX_ID);
|
|
26
|
+
let highestFoundInBatch = 0;
|
|
27
|
+
for (let chunk = batchStart; chunk <= batchEnd; chunk += SCAN_CONCURRENCY) {
|
|
28
|
+
const chunkEnd = Math.min(chunk + SCAN_CONCURRENCY - 1, batchEnd);
|
|
29
|
+
const promises = [];
|
|
30
|
+
for (let id = chunk; id <= chunkEnd; id++) {
|
|
31
|
+
promises.push(client.get(`${basePath}/${id}`, {}).then((resource) => {
|
|
32
|
+
found.push(resource);
|
|
33
|
+
if (id > highestFoundInBatch)
|
|
34
|
+
highestFoundInBatch = id;
|
|
35
|
+
}).catch((err) => {
|
|
36
|
+
if (err instanceof CoalesceApiError && err.status === 404)
|
|
37
|
+
return;
|
|
38
|
+
throw err;
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
await Promise.all(promises);
|
|
42
|
+
if (limit && found.length >= limit) {
|
|
43
|
+
return { data: found.slice(0, limit) };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const tailStart = batchEnd - SCAN_TAIL_THRESHOLD + 1;
|
|
47
|
+
if (highestFoundInBatch < tailStart)
|
|
48
|
+
break;
|
|
49
|
+
batchStart = batchEnd + 1;
|
|
50
|
+
}
|
|
51
|
+
// Sort by ID for deterministic ordering (resources arrive in non-deterministic
|
|
52
|
+
// order due to concurrent fetches).
|
|
53
|
+
found.sort((a, b) => {
|
|
54
|
+
const aId = typeof a === "object" && a !== null && "id" in a ? Number(a.id) : 0;
|
|
55
|
+
const bId = typeof b === "object" && b !== null && "id" in b ? Number(b.id) : 0;
|
|
56
|
+
return aId - bId;
|
|
57
|
+
});
|
|
58
|
+
if (found.length === 0) {
|
|
59
|
+
process.stderr.write(`[scanResourcesByID] Scan of ${basePath} IDs 1-${Math.min(SCAN_BATCH_SIZE, SCAN_MAX_ID)} found no resources. ` +
|
|
60
|
+
`Verify the basePath and parent resource ID are correct.\n`);
|
|
61
|
+
}
|
|
62
|
+
return { data: found };
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/coalesce/api/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { CoalesceClient
|
|
1
|
+
import type { CoalesceClient } from "../../client.js";
|
|
2
2
|
export declare function listWorkspaceSubgraphs(client: CoalesceClient, params: {
|
|
3
3
|
workspaceID: string;
|
|
4
|
-
|
|
4
|
+
limit?: number | string;
|
|
5
|
+
}): Promise<unknown>;
|
|
5
6
|
export declare function getWorkspaceSubgraph(client: CoalesceClient, params: {
|
|
6
7
|
workspaceID: string;
|
|
7
8
|
subgraphID: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraphs.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/subgraphs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"subgraphs.d.ts","sourceRoot":"","sources":["../../../src/coalesce/api/subgraphs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACvD,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClD,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IACN,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,GACA,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IACN,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,GACA,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClD,OAAO,CAAC,OAAO,CAAC,CAKlB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { validatePathSegment } from "../types.js";
|
|
2
|
+
import { scanResourcesByID } from "./scan.js";
|
|
2
3
|
export async function listWorkspaceSubgraphs(client, params) {
|
|
3
|
-
const
|
|
4
|
-
return client
|
|
4
|
+
const wid = validatePathSegment(params.workspaceID, "workspaceID");
|
|
5
|
+
return scanResourcesByID(client, `/api/v1/workspaces/${wid}/subgraphs`, params.limit ? Number(params.limit) : undefined);
|
|
5
6
|
}
|
|
6
7
|
export async function getWorkspaceSubgraph(client, params) {
|
|
7
8
|
const { workspaceID, subgraphID } = params;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraphs.js","sourceRoot":"","sources":["../../../src/coalesce/api/subgraphs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"subgraphs.js","sourceRoot":"","sources":["../../../src/coalesce/api/subgraphs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAsB,EACtB,MAAwD;IAExD,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnE,OAAO,iBAAiB,CACtB,MAAM,EACN,sBAAsB,GAAG,YAAY,EACrC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,MAAmD;IAEnD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC3C,OAAO,MAAM,CAAC,GAAG,CACf,sBAAsB,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,cAAc,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAClI,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAsB,EACtB,MAIC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACxC,OAAO,MAAM,CAAC,IAAI,CAChB,sBAAsB,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,YAAY,EACjF,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAsB,EACtB,MAKC;IAED,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACpD,OAAO,MAAM,CAAC,GAAG,CACf,sBAAsB,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,cAAc,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAClI,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAsB,EACtB,MAAmD;IAEnD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,CAClB,sBAAsB,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,cAAc,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CACnI,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-schemas.d.ts","sourceRoot":"","sources":["../../src/coalesce/run-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"run-schemas.d.ts","sourceRoot":"","sources":["../../src/coalesce/run-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;EAuB3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAehC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAazB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAI3D,eAAO,MAAM,kBAAkB;;;;;;;;;EAQ7B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;EAMtB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAErD,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU;;;;;;;;;;;;;;EAOhD;AAwCD,wBAAgB,uBAAuB;;;;;;;EA+BtC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;;;;;;EAqBtD"}
|