safepropel 1.4.2 → 1.4.4

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.
@@ -231,15 +231,10 @@ class WorkflowExecutor {
231
231
  path: templatePath,
232
232
  content: templateContent
233
233
  });
234
- console.log(`✅ Loaded template from filesystem: ${templatePath} (${templateContent.length} chars)`);
235
- } else {
236
- console.warn(`⚠️ Template not found in filesystem: ${templateFullPath}`);
237
234
  }
238
235
  } catch (error) {
239
- console.warn(`⚠️ Error loading template: ${error.message}`);
236
+ // Template loading failed - continue without template
240
237
  }
241
- } else {
242
- console.warn(`⚠️ No template reference found in Output section for workflow: ${workflowName}`);
243
238
  }
244
239
 
245
240
  // Extract rule references from workflow Guardrails section
@@ -257,18 +252,11 @@ class WorkflowExecutor {
257
252
  path: `.windsurf/rules/${ruleFile}`,
258
253
  content: ruleContent
259
254
  });
260
- } else {
261
- console.warn(`⚠️ Referenced rule not found: ${ruleFile}`);
262
255
  }
263
256
  } catch (error) {
264
- console.warn(`⚠️ Error loading rule ${ruleFile}: ${error.message}`);
257
+ // Rule loading failed - continue without this rule
265
258
  }
266
259
  }
267
-
268
- console.log(`✅ Loaded ${rules.length}/${referencedRules.length} referenced rules from workflow Guardrails`);
269
- console.log(` Rules: ${rules.map(r => path.basename(r.path)).join(', ')}`);
270
- } else if (referencedRules.length === 0) {
271
- console.log(`ℹ️ No rules referenced in workflow Guardrails section`);
272
260
  }
273
261
 
274
262
  // Construct prompt with workflow + rules + templates + input
@@ -445,11 +433,6 @@ class WorkflowExecutor {
445
433
  prompt += `⚠️ The required filename is: ${outputFilePath}\n`;
446
434
  }
447
435
 
448
- console.log(`\n📊 Prompt constructed: ${prompt.length} chars total`);
449
- console.log(` - Workflow: ${workflow.content.length} chars (encrypted)`);
450
- console.log(` - Rules: ${rules.length} loaded dynamically from Guardrails`);
451
- console.log(` - Templates: ${templates.length} loaded dynamically from Output section`);
452
-
453
436
  // Store prompt internally for Cascade execution (not exposed to user)
454
437
  this._lastPrompt = prompt;
455
438
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "safepropel",
3
- "version": "1.4.2",
3
+ "version": "1.4.4",
4
4
  "description": "SafePropel Framework - Hybrid Security Model: Encrypted Workflows + Transparent Rules & Templates with Dynamic Loading",
5
5
  "main": "engine/workflow-executor.js",
6
6
  "scripts": {
package/safepropel.js CHANGED
@@ -234,8 +234,9 @@ function main() {
234
234
  // Get the constructed prompt for Cascade execution
235
235
  const constructedPrompt = executor.getLastPrompt();
236
236
 
237
- // Security validation: Only expose prompt to Cascade IDE
238
- const isAuthorizedCascade = cascadeInternal && isRunningFromCascade();
237
+ // Security validation: --cascade-internal flag is sufficient
238
+ // Only Cascade IDE should use this internal flag
239
+ const isAuthorizedCascade = cascadeInternal;
239
240
 
240
241
  // JSON output mode - output structured data for Cascade to parse
241
242
  if (jsonOutput) {
@@ -263,7 +264,7 @@ function main() {
263
264
  // Unauthorized access attempt - do not expose workflow
264
265
  jsonResult._security = {
265
266
  prompt_access: 'denied',
266
- reason: 'Requires --cascade-internal flag and must be called from Cascade IDE',
267
+ reason: 'Requires --cascade-internal flag (internal use only)',
267
268
  message: 'Workflow content is confidential and protected'
268
269
  };
269
270
  }
@@ -300,7 +301,7 @@ function main() {
300
301
  console.log('='.repeat(80));
301
302
  } else if (constructedPrompt) {
302
303
  console.log(`\n🔒 Workflow content is confidential and protected`);
303
- console.log(` Execution requires --cascade-internal flag and authorized IDE`);
304
+ console.log(` Use --cascade-internal flag for Cascade IDE execution`);
304
305
  }
305
306
 
306
307
  // Clean up any workflow-output.json files (security measure)