@sequenceholdings/pipeline-spec 0.1.0 → 0.2.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/dist/loader.js CHANGED
@@ -1,13 +1,135 @@
1
- import { readdir, readFile } from 'node:fs/promises';
2
- import { join } from 'node:path';
1
+ import { realpath, readdir, readFile, stat } from 'node:fs/promises';
2
+ import { isAbsolute, join, relative, resolve, sep } from 'node:path';
3
3
  import { load as loadYaml } from 'js-yaml';
4
- import { MAX_SPEC_FILE_BYTES, MAX_STAGE_SPEC_FILE_BYTES, DOCUMENTATION_DIRECTORY, DOCUMENTATION_FILE_SUFFIXES, SCHEMA_FILE_SUFFIXES, SCHEMAS_DIRECTORY, STAGE_FILE_SUFFIXES, } from './constants.js';
4
+ import { z } from 'zod';
5
+ import { MAX_SPEC_FILE_BYTES, MAX_STAGE_SPEC_FILE_BYTES, PIPELINE_CONFIG_FILE, DOCUMENTATION_DIRECTORY, DOCUMENTATION_FILE_SUFFIXES, SCHEMA_FILE_SUFFIXES, SCHEMAS_DIRECTORY, STAGE_FILE_SUFFIXES, } from './constants.js';
5
6
  import { SpecDefinitionError } from './errors.js';
6
7
  import { flattenSpecIssues, formatSpecIssues } from './issues.js';
7
8
  import { isSchemaRef, identifierSchema, namedSchemaFileSchema, } from './columns.js';
8
9
  import { stageSpecSchema } from './envelope.js';
9
10
  import { feedDocumentationSchema, resolveFeedDocumentation } from './documentation.js';
10
11
  import { MIGRATION_FILE_PATTERN, MIGRATIONS_DIRECTORY, orderMigrationManifests, parseMigrationFile } from './migrations/manifest.js';
12
+ export async function loadPipelineConfig({ dir, allowMissingRoot = false }) {
13
+ const root = resolve(dir);
14
+ let entries;
15
+ try {
16
+ entries = await readdir(root, { withFileTypes: true });
17
+ }
18
+ catch (error) {
19
+ if (allowMissingRoot && error instanceof Error && 'code' in error && error.code === 'ENOENT') {
20
+ return { schema_version: 1, stage_directories: ['.'] };
21
+ }
22
+ throw error;
23
+ }
24
+ const entry = entries.find((candidate) => candidate.name === PIPELINE_CONFIG_FILE);
25
+ if (!entry)
26
+ return { schema_version: 1, stage_directories: ['.'] };
27
+ if (!entry.isFile()) {
28
+ throw new SpecDefinitionError(`${PIPELINE_CONFIG_FILE} must be a regular file`, PIPELINE_CONFIG_FILE);
29
+ }
30
+ const configPath = join(root, PIPELINE_CONFIG_FILE);
31
+ const configPathReal = await realpath(configPath);
32
+ const rootRealPath = await realpath(root);
33
+ if (!isContained(rootRealPath, configPathReal)) {
34
+ throw new SpecDefinitionError(`${PIPELINE_CONFIG_FILE} resolves outside the Pipeline package`, PIPELINE_CONFIG_FILE);
35
+ }
36
+ const contents = await readFile(configPath, 'utf8');
37
+ if (Buffer.byteLength(contents, 'utf8') > MAX_SPEC_FILE_BYTES) {
38
+ throw new SpecDefinitionError(`exceeds the maximum spec file size of ${MAX_SPEC_FILE_BYTES} bytes`, PIPELINE_CONFIG_FILE);
39
+ }
40
+ return parsePipelineConfig(contents);
41
+ }
42
+ const pipelineConfigSchema = z.object({
43
+ schema_version: z.literal(1),
44
+ stage_directories: z.array(z.string().min(1)).min(1),
45
+ }).strict();
46
+ function parsePipelineConfig(contents) {
47
+ const parsed = pipelineConfigSchema.safeParse(parseYamlSource(PIPELINE_CONFIG_FILE, contents));
48
+ if (!parsed.success) {
49
+ throw new SpecDefinitionError(formatSpecIssues(parsed.error), PIPELINE_CONFIG_FILE, firstIssue(parsed.error).path);
50
+ }
51
+ const seen = new Set();
52
+ for (const directory of parsed.data.stage_directories) {
53
+ if (isAbsolute(directory) || /^[A-Za-z]:/.test(directory) || directory.includes('\\')) {
54
+ throw new SpecDefinitionError(`stage directory must be a relative POSIX path: '${directory}'`, PIPELINE_CONFIG_FILE, 'stage_directories');
55
+ }
56
+ const parts = directory.split('/');
57
+ if (directory !== '.' && parts.some((part) => part === '' || part === '..' || part === '.')) {
58
+ throw new SpecDefinitionError(`stage directory contains an empty, '.' or '..' path segment: '${directory}'`, PIPELINE_CONFIG_FILE, 'stage_directories');
59
+ }
60
+ if (parts[0] === DOCUMENTATION_DIRECTORY || parts[0] === MIGRATIONS_DIRECTORY) {
61
+ throw new SpecDefinitionError(`stage directory '${directory}' cannot be inside the reserved metadata directory '${parts[0]}'`, PIPELINE_CONFIG_FILE, 'stage_directories');
62
+ }
63
+ if (seen.has(directory)) {
64
+ throw new SpecDefinitionError(`duplicate stage directory '${directory}'`, PIPELINE_CONFIG_FILE, 'stage_directories');
65
+ }
66
+ seen.add(directory);
67
+ }
68
+ return parsed.data;
69
+ }
70
+ function isContained(root, candidate) {
71
+ const path = relative(root, candidate);
72
+ return path === '' || (path !== '..' && !path.startsWith(`..${sep}`) && !isAbsolute(path));
73
+ }
74
+ export async function assertStageDirectoryContained({ root, directory }) {
75
+ let rootRealPath;
76
+ try {
77
+ rootRealPath = await realpath(root);
78
+ }
79
+ catch (error) {
80
+ if (error instanceof Error && 'code' in error && error.code === 'ENOENT')
81
+ return;
82
+ throw error;
83
+ }
84
+ let current = resolve(root);
85
+ for (const segment of directory === '.' ? [] : directory.split('/')) {
86
+ current = join(current, segment);
87
+ let resolvedPath;
88
+ try {
89
+ resolvedPath = await realpath(current);
90
+ }
91
+ catch (error) {
92
+ if (error instanceof Error && 'code' in error && error.code === 'ENOENT')
93
+ return;
94
+ throw error;
95
+ }
96
+ if (!isContained(rootRealPath, resolvedPath)) {
97
+ throw new SpecDefinitionError(`configured stage directory '${directory}' resolves outside the Pipeline package`, PIPELINE_CONFIG_FILE, 'stage_directories');
98
+ }
99
+ }
100
+ }
101
+ async function stageFilesInDirectory({ root, rootRealPath, directory }) {
102
+ const absoluteDirectory = resolve(root, directory);
103
+ let resolvedDirectory;
104
+ try {
105
+ resolvedDirectory = await realpath(absoluteDirectory);
106
+ }
107
+ catch (error) {
108
+ throw new SpecDefinitionError(`cannot resolve configured stage directory '${directory}': ${error instanceof Error ? error.message : String(error)}`, PIPELINE_CONFIG_FILE, 'stage_directories');
109
+ }
110
+ if (!isContained(rootRealPath, resolvedDirectory)) {
111
+ throw new SpecDefinitionError(`configured stage directory '${directory}' resolves outside the Pipeline package`, PIPELINE_CONFIG_FILE, 'stage_directories');
112
+ }
113
+ const info = await stat(resolvedDirectory);
114
+ if (!info.isDirectory()) {
115
+ throw new SpecDefinitionError(`configured stage path '${directory}' is not a directory`, PIPELINE_CONFIG_FILE, 'stage_directories');
116
+ }
117
+ const entries = await readdir(absoluteDirectory, { withFileTypes: true });
118
+ const files = [];
119
+ for (const entry of entries) {
120
+ if (!hasSuffix(entry.name, STAGE_FILE_SUFFIXES))
121
+ continue;
122
+ const absoluteFile = join(absoluteDirectory, entry.name);
123
+ const resolvedFile = await realpath(absoluteFile);
124
+ if (!isContained(rootRealPath, resolvedFile)) {
125
+ throw new SpecDefinitionError(`stage file '${join(directory, entry.name)}' resolves outside the Pipeline package`);
126
+ }
127
+ if (!(await stat(resolvedFile)).isFile())
128
+ continue;
129
+ files.push(join(directory, entry.name).split(sep).join('/'));
130
+ }
131
+ return files;
132
+ }
11
133
  const hasSuffix = (name, suffixes) => suffixes.some((suffix) => name.endsWith(suffix));
12
134
  const stripSuffix = (name, suffixes) => {
13
135
  for (const suffix of suffixes) {
@@ -199,27 +321,50 @@ export function parseSpecSources(sources) {
199
321
  */
200
322
  export async function loadSpecDirectory(dir) {
201
323
  const sources = [];
202
- const rootEntries = await readdir(dir, { withFileTypes: true });
203
- const stageFiles = rootEntries
204
- .filter((entry) => entry.isFile() && hasSuffix(entry.name, STAGE_FILE_SUFFIXES))
205
- .map((entry) => entry.name)
206
- .sort();
324
+ const root = resolve(dir);
325
+ let rootRealPath;
326
+ try {
327
+ rootRealPath = await realpath(root);
328
+ }
329
+ catch (error) {
330
+ throw new SpecDefinitionError(`cannot resolve Pipeline directory '${dir}': ${error instanceof Error ? error.message : String(error)}`);
331
+ }
332
+ const rootEntries = await readdir(root, { withFileTypes: true });
333
+ const config = await loadPipelineConfig({ dir: root });
334
+ const configuredDirectories = config.stage_directories;
335
+ const resolvedDirectories = new Set();
336
+ const stageFiles = (await Promise.all(configuredDirectories.map(async (directory) => {
337
+ const absoluteDirectory = resolve(root, directory);
338
+ await assertStageDirectoryContained({ root, directory });
339
+ let resolvedDirectory;
340
+ try {
341
+ resolvedDirectory = await realpath(absoluteDirectory);
342
+ }
343
+ catch (error) {
344
+ throw new SpecDefinitionError(`cannot resolve configured stage directory '${directory}': ${error instanceof Error ? error.message : String(error)}`, PIPELINE_CONFIG_FILE, 'stage_directories');
345
+ }
346
+ if (resolvedDirectories.has(resolvedDirectory)) {
347
+ throw new SpecDefinitionError(`stage directories resolve to the same path: '${directory}'`, PIPELINE_CONFIG_FILE, 'stage_directories');
348
+ }
349
+ resolvedDirectories.add(resolvedDirectory);
350
+ return stageFilesInDirectory({ root, rootRealPath, directory });
351
+ }))).flat().sort();
207
352
  const schemaDirEntries = rootEntries.some((entry) => entry.isDirectory() && entry.name === SCHEMAS_DIRECTORY)
208
- ? await readdir(join(dir, SCHEMAS_DIRECTORY), { withFileTypes: true })
353
+ ? await readdir(join(root, SCHEMAS_DIRECTORY), { withFileTypes: true })
209
354
  : [];
210
355
  const schemaFiles = schemaDirEntries
211
356
  .filter((entry) => entry.isFile() && hasSuffix(entry.name, SCHEMA_FILE_SUFFIXES))
212
357
  .map((entry) => `${SCHEMAS_DIRECTORY}/${entry.name}`)
213
358
  .sort();
214
359
  const documentationDirEntries = rootEntries.some((entry) => entry.isDirectory() && entry.name === DOCUMENTATION_DIRECTORY)
215
- ? await readdir(join(dir, DOCUMENTATION_DIRECTORY), { withFileTypes: true })
360
+ ? await readdir(join(root, DOCUMENTATION_DIRECTORY), { withFileTypes: true })
216
361
  : [];
217
362
  const documentationFiles = documentationDirEntries
218
363
  .filter((entry) => entry.isFile() && hasSuffix(entry.name, DOCUMENTATION_FILE_SUFFIXES))
219
364
  .map((entry) => `${DOCUMENTATION_DIRECTORY}/${entry.name}`)
220
365
  .sort();
221
366
  const migrationDirEntries = rootEntries.some((entry) => entry.isDirectory() && entry.name === MIGRATIONS_DIRECTORY)
222
- ? await readdir(join(dir, MIGRATIONS_DIRECTORY), { withFileTypes: true })
367
+ ? await readdir(join(root, MIGRATIONS_DIRECTORY), { withFileTypes: true })
223
368
  : [];
224
369
  const migrationFiles = migrationDirEntries
225
370
  .filter((entry) => entry.isFile() && /\.ya?ml$/.test(entry.name))
@@ -230,10 +375,10 @@ export async function loadSpecDirectory(dir) {
230
375
  throw new SpecDefinitionError('expected migrations/<id>.yml', file);
231
376
  }
232
377
  if (stageFiles.length === 0) {
233
- throw new SpecDefinitionError(`no *${STAGE_FILE_SUFFIXES[0]} files in ${dir}`);
378
+ throw new SpecDefinitionError(`no *${STAGE_FILE_SUFFIXES[0]} files in configured stage directories for ${dir}`);
234
379
  }
235
380
  for (const file of [...schemaFiles, ...documentationFiles, ...stageFiles, ...migrationFiles]) {
236
- const contents = await readFile(join(dir, file), 'utf8');
381
+ const contents = await readFile(join(root, file), 'utf8');
237
382
  sources.push({ path: file, contents });
238
383
  }
239
384
  return parseSpecSources(sources);
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sequenceholdings/pipeline-spec",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Data Pipelines spec SDK — typed stage specs (ingestion/transformation/serving), directory loader, target resolution with deterministic hashing, and offline graph validation",
5
5
  "license": "UNLICENSED",
6
6
  "publishConfig": {
@@ -26,7 +26,8 @@
26
26
  ],
27
27
  "dependencies": {
28
28
  "js-yaml": "^4.3.2",
29
- "zod": "^4.1.13"
29
+ "zod": "^4.1.13",
30
+ "@sequenceholdings/orm": "2.3.0"
30
31
  },
31
32
  "devDependencies": {
32
33
  "@types/js-yaml": "^4.0.9",