skedyul 1.2.26 → 1.2.28

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/cli/index.js CHANGED
@@ -5002,7 +5002,7 @@ async function transpileTypeScript(filePath) {
5002
5002
  const configDir = path7.dirname(path7.resolve(filePath));
5003
5003
  let transpiled = content.replace(/import\s+type\s+\{[^}]+\}\s+from\s+['"][^'"]+['"]\s*;?\n?/g, "").replace(/import\s+\{\s*defineConfig\s*\}\s+from\s+['"]skedyul['"]\s*;?\n?/g, "").replace(/:\s*SkedyulConfig/g, "").replace(/export\s+default\s+/, "module.exports = ").replace(/defineConfig\s*\(\s*\{/, "{").replace(/\}\s*\)\s*;?\s*$/, "}");
5004
5004
  transpiled = transpiled.replace(
5005
- /import\s+(\w+)\s+from\s+['"](\.[^'"]+)['"]/g,
5005
+ /import\s+(\w+)\s+from\s+['"](\.[^'"]+)['"]\s*(?:with\s*\{[^}]*\})?/g,
5006
5006
  (match, varName, relativePath) => {
5007
5007
  const absolutePath = path7.resolve(configDir, relativePath);
5008
5008
  return `const ${varName} = require('${absolutePath.replace(/\\/g, "/")}')`;
@@ -13,4 +13,4 @@
13
13
  * - BUILD_EXTERNAL: comma-separated list of external dependencies (e.g., 'twilio,stripe')
14
14
  * - MCP_ENV_JSON: JSON string of environment variables to bake into the image
15
15
  */
16
- export declare const DEFAULT_DOCKERFILE = "# =============================================================================\n# BUILDER STAGE - Common build for all targets\n# =============================================================================\nFROM public.ecr.aws/docker/library/node:22-alpine AS builder\n\nARG COMPUTE_LAYER=serverless\nARG BUILD_EXTERNAL=\"\"\nWORKDIR /app\n\n# Install pnpm\nRUN corepack enable && corepack prepare pnpm@latest --activate\n\n# Copy all project files (excluding node_modules via .dockerignore)\n# This includes: package.json, tsconfig.json, skedyul.config.ts, provision.ts, env.ts\n# And directories: src/, crm/, channels/, pages/, workflows/, agents/, etc.\nCOPY . .\n\n# Install dependencies (including dev deps for build), compile, export config, smoke test, then prune\n# Note: Using --no-frozen-lockfile since lockfile may not exist\n# skedyul build reads computeLayer from skedyul.config.ts\n# skedyul config:export resolves all dynamic imports and writes .skedyul/config.json\n# Smoke test runs before pruning since skedyul CLI is a dev dependency\nRUN pnpm install --no-frozen-lockfile && \\\n pnpm run build && \\\n pnpm exec skedyul config:export && \\\n pnpm exec skedyul smoke-test && \\\n pnpm prune --prod && \\\n pnpm store prune && \\\n rm -rf /tmp/* /var/cache/apk/* ~/.npm\n\n# =============================================================================\n# DEDICATED STAGE - For local Docker and ECS deployments (HTTP server)\n# =============================================================================\nFROM public.ecr.aws/docker/library/node:22-alpine AS dedicated\n\nWORKDIR /app\n\n# Copy built artifacts\nCOPY --from=builder /app/node_modules ./node_modules\nCOPY --from=builder /app/dist ./dist\nCOPY --from=builder /app/package.json ./package.json\nCOPY --from=builder /app/.skedyul ./.skedyul\n\n# Allow overriding the baked-in MCP env at runtime\nARG MCP_ENV_JSON=\"{}\"\nENV MCP_ENV_JSON=${MCP_ENV_JSON}\n\n# Expose the HTTP port\nEXPOSE 3000\n\n# Run as HTTP server (dedicated mode auto-detected by absence of AWS_LAMBDA_FUNCTION_NAME)\n# Support both .js (dedicated builds) and .mjs (serverless builds) extensions\nCMD [\"sh\", \"-c\", \"node dist/server/mcp_server.mjs 2>/dev/null || node dist/server/mcp_server.js\"]\n\n# =============================================================================\n# SERVERLESS STAGE - For AWS Lambda deployments\n# =============================================================================\nFROM public.ecr.aws/lambda/nodejs:22 AS serverless\n\nWORKDIR ${LAMBDA_TASK_ROOT}\n\nCOPY --from=builder /app/node_modules ./node_modules\nCOPY --from=builder /app/dist ./dist\nCOPY --from=builder /app/package.json ./package.json\nCOPY --from=builder /app/.skedyul ./.skedyul\n\n# Allow overriding the baked-in MCP env at runtime\nARG MCP_ENV_JSON=\"{}\"\nENV MCP_ENV_JSON=${MCP_ENV_JSON}\n\n# Lambda handler format\nCMD [\"dist/server/mcp_server.handler\"]\n\n# =============================================================================\n# DEFAULT - Use dedicated for local development, override with --target for production\n# =============================================================================\nFROM dedicated\n";
16
+ export declare const DEFAULT_DOCKERFILE = "# =============================================================================\n# BUILDER STAGE - Common build for all targets\n# =============================================================================\nFROM public.ecr.aws/docker/library/node:22-alpine AS builder\n\nARG COMPUTE_LAYER=serverless\nARG BUILD_EXTERNAL=\"\"\nWORKDIR /app\n\n# Install pnpm\nRUN corepack enable && corepack prepare pnpm@latest --activate\n\n# Copy all project files (excluding node_modules via .dockerignore)\n# This includes: package.json, tsconfig.json, skedyul.config.ts, provision.ts, env.ts\n# And directories: src/, crm/, channels/, pages/, workflows/, agents/, etc.\nCOPY . .\n\n# Install dependencies (including dev deps for build), compile, export config, smoke test, then prune\n# Note: Using --no-frozen-lockfile since lockfile may not exist\n# skedyul build reads computeLayer from skedyul.config.ts\n# skedyul config:export resolves all dynamic imports and writes .skedyul/config.json\n# We use tsx to run config:export since it needs to import TypeScript files\n# Smoke test runs before pruning since skedyul CLI is a dev dependency\nRUN pnpm install --no-frozen-lockfile && \\\n pnpm run build && \\\n pnpm exec tsx node_modules/skedyul/dist/cli/index.js config:export && \\\n pnpm exec skedyul smoke-test && \\\n pnpm prune --prod && \\\n pnpm store prune && \\\n rm -rf /tmp/* /var/cache/apk/* ~/.npm\n\n# =============================================================================\n# DEDICATED STAGE - For local Docker and ECS deployments (HTTP server)\n# =============================================================================\nFROM public.ecr.aws/docker/library/node:22-alpine AS dedicated\n\nWORKDIR /app\n\n# Copy built artifacts\nCOPY --from=builder /app/node_modules ./node_modules\nCOPY --from=builder /app/dist ./dist\nCOPY --from=builder /app/package.json ./package.json\nCOPY --from=builder /app/.skedyul ./.skedyul\n\n# Allow overriding the baked-in MCP env at runtime\nARG MCP_ENV_JSON=\"{}\"\nENV MCP_ENV_JSON=${MCP_ENV_JSON}\n\n# Expose the HTTP port\nEXPOSE 3000\n\n# Run as HTTP server (dedicated mode auto-detected by absence of AWS_LAMBDA_FUNCTION_NAME)\n# Support both .js (dedicated builds) and .mjs (serverless builds) extensions\nCMD [\"sh\", \"-c\", \"node dist/server/mcp_server.mjs 2>/dev/null || node dist/server/mcp_server.js\"]\n\n# =============================================================================\n# SERVERLESS STAGE - For AWS Lambda deployments\n# =============================================================================\nFROM public.ecr.aws/lambda/nodejs:22 AS serverless\n\nWORKDIR ${LAMBDA_TASK_ROOT}\n\nCOPY --from=builder /app/node_modules ./node_modules\nCOPY --from=builder /app/dist ./dist\nCOPY --from=builder /app/package.json ./package.json\nCOPY --from=builder /app/.skedyul ./.skedyul\n\n# Allow overriding the baked-in MCP env at runtime\nARG MCP_ENV_JSON=\"{}\"\nENV MCP_ENV_JSON=${MCP_ENV_JSON}\n\n# Lambda handler format\nCMD [\"dist/server/mcp_server.handler\"]\n\n# =============================================================================\n# DEFAULT - Use dedicated for local development, override with --target for production\n# =============================================================================\nFROM dedicated\n";
@@ -3863,10 +3863,11 @@ COPY . .
3863
3863
  # Note: Using --no-frozen-lockfile since lockfile may not exist
3864
3864
  # skedyul build reads computeLayer from skedyul.config.ts
3865
3865
  # skedyul config:export resolves all dynamic imports and writes .skedyul/config.json
3866
+ # We use tsx to run config:export since it needs to import TypeScript files
3866
3867
  # Smoke test runs before pruning since skedyul CLI is a dev dependency
3867
3868
  RUN pnpm install --no-frozen-lockfile && \\
3868
3869
  pnpm run build && \\
3869
- pnpm exec skedyul config:export && \\
3870
+ pnpm exec tsx node_modules/skedyul/dist/cli/index.js config:export && \\
3870
3871
  pnpm exec skedyul smoke-test && \\
3871
3872
  pnpm prune --prod && \\
3872
3873
  pnpm store prune && \\
@@ -3964,7 +3965,7 @@ async function transpileTypeScript(filePath) {
3964
3965
  const configDir = path.dirname(path.resolve(filePath));
3965
3966
  let transpiled = content.replace(/import\s+type\s+\{[^}]+\}\s+from\s+['"][^'"]+['"]\s*;?\n?/g, "").replace(/import\s+\{\s*defineConfig\s*\}\s+from\s+['"]skedyul['"]\s*;?\n?/g, "").replace(/:\s*SkedyulConfig/g, "").replace(/export\s+default\s+/, "module.exports = ").replace(/defineConfig\s*\(\s*\{/, "{").replace(/\}\s*\)\s*;?\s*$/, "}");
3966
3967
  transpiled = transpiled.replace(
3967
- /import\s+(\w+)\s+from\s+['"](\.[^'"]+)['"]/g,
3968
+ /import\s+(\w+)\s+from\s+['"](\.[^'"]+)['"]\s*(?:with\s*\{[^}]*\})?/g,
3968
3969
  (match, varName, relativePath) => {
3969
3970
  const absolutePath = path.resolve(configDir, relativePath);
3970
3971
  return `const ${varName} = require('${absolutePath.replace(/\\/g, "/")}')`;
package/dist/index.js CHANGED
@@ -4029,10 +4029,11 @@ COPY . .
4029
4029
  # Note: Using --no-frozen-lockfile since lockfile may not exist
4030
4030
  # skedyul build reads computeLayer from skedyul.config.ts
4031
4031
  # skedyul config:export resolves all dynamic imports and writes .skedyul/config.json
4032
+ # We use tsx to run config:export since it needs to import TypeScript files
4032
4033
  # Smoke test runs before pruning since skedyul CLI is a dev dependency
4033
4034
  RUN pnpm install --no-frozen-lockfile && \\
4034
4035
  pnpm run build && \\
4035
- pnpm exec skedyul config:export && \\
4036
+ pnpm exec tsx node_modules/skedyul/dist/cli/index.js config:export && \\
4036
4037
  pnpm exec skedyul smoke-test && \\
4037
4038
  pnpm prune --prod && \\
4038
4039
  pnpm store prune && \\
@@ -4130,7 +4131,7 @@ async function transpileTypeScript(filePath) {
4130
4131
  const configDir = path.dirname(path.resolve(filePath));
4131
4132
  let transpiled = content.replace(/import\s+type\s+\{[^}]+\}\s+from\s+['"][^'"]+['"]\s*;?\n?/g, "").replace(/import\s+\{\s*defineConfig\s*\}\s+from\s+['"]skedyul['"]\s*;?\n?/g, "").replace(/:\s*SkedyulConfig/g, "").replace(/export\s+default\s+/, "module.exports = ").replace(/defineConfig\s*\(\s*\{/, "{").replace(/\}\s*\)\s*;?\s*$/, "}");
4132
4133
  transpiled = transpiled.replace(
4133
- /import\s+(\w+)\s+from\s+['"](\.[^'"]+)['"]/g,
4134
+ /import\s+(\w+)\s+from\s+['"](\.[^'"]+)['"]\s*(?:with\s*\{[^}]*\})?/g,
4134
4135
  (match, varName, relativePath) => {
4135
4136
  const absolutePath = path.resolve(configDir, relativePath);
4136
4137
  return `const ${varName} = require('${absolutePath.replace(/\\/g, "/")}')`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skedyul",
3
- "version": "1.2.26",
3
+ "version": "1.2.28",
4
4
  "description": "The Skedyul SDK for Node.js",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -57,6 +57,7 @@
57
57
  "license": "MIT",
58
58
  "dependencies": {
59
59
  "@modelcontextprotocol/sdk": "^1.23.0",
60
+ "tsx": "^4.19.0",
60
61
  "zod": "^4.0.0"
61
62
  },
62
63
  "devDependencies": {
@@ -64,7 +65,6 @@
64
65
  "@types/node": "^24.10.1",
65
66
  "open": "^10.1.0",
66
67
  "tsup": "^8.0.0",
67
- "tsx": "^4.19.0",
68
68
  "typescript": "^5.5.0"
69
69
  }
70
70
  }