mcard-js 2.1.7 → 2.1.9
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/ptr/node/Action.d.ts +131 -0
- package/dist/ptr/node/Action.d.ts.map +1 -1
- package/dist/ptr/node/Action.js +233 -0
- package/dist/ptr/node/Action.js.map +1 -1
- package/dist/ptr/node/CLMLoader.d.ts.map +1 -1
- package/dist/ptr/node/CLMLoader.js +48 -56
- package/dist/ptr/node/CLMLoader.js.map +1 -1
- package/dist/ptr/node/CLMRunner.d.ts +47 -0
- package/dist/ptr/node/CLMRunner.d.ts.map +1 -1
- package/dist/ptr/node/CLMRunner.js +164 -109
- package/dist/ptr/node/CLMRunner.js.map +1 -1
- package/dist/ptr/node/FileSystemUtils.d.ts +40 -0
- package/dist/ptr/node/FileSystemUtils.d.ts.map +1 -0
- package/dist/ptr/node/FileSystemUtils.js +170 -0
- package/dist/ptr/node/FileSystemUtils.js.map +1 -0
- package/dist/ptr/node/NetworkRuntime.d.ts +3 -99
- package/dist/ptr/node/NetworkRuntime.d.ts.map +1 -1
- package/dist/ptr/node/NetworkRuntime.js +53 -568
- package/dist/ptr/node/NetworkRuntime.js.map +1 -1
- package/dist/ptr/node/Runtimes.d.ts +0 -13
- package/dist/ptr/node/Runtimes.d.ts.map +1 -1
- package/dist/ptr/node/Runtimes.js +76 -224
- package/dist/ptr/node/Runtimes.js.map +1 -1
- package/dist/ptr/node/cli.js +14 -64
- package/dist/ptr/node/cli.js.map +1 -1
- package/dist/ptr/node/network/HttpClient.d.ts +14 -0
- package/dist/ptr/node/network/HttpClient.d.ts.map +1 -0
- package/dist/ptr/node/network/HttpClient.js +139 -0
- package/dist/ptr/node/network/HttpClient.js.map +1 -0
- package/dist/ptr/node/network/MCardSerialization.d.ts +19 -0
- package/dist/ptr/node/network/MCardSerialization.d.ts.map +1 -0
- package/dist/ptr/node/network/MCardSerialization.js +41 -0
- package/dist/ptr/node/network/MCardSerialization.js.map +1 -0
- package/dist/ptr/node/network/NetworkInfrastructure.d.ts +37 -0
- package/dist/ptr/node/network/NetworkInfrastructure.d.ts.map +1 -0
- package/dist/ptr/node/network/NetworkInfrastructure.js +121 -0
- package/dist/ptr/node/network/NetworkInfrastructure.js.map +1 -0
- package/dist/ptr/node/network/NetworkSecurity.d.ts +24 -0
- package/dist/ptr/node/network/NetworkSecurity.d.ts.map +1 -0
- package/dist/ptr/node/network/NetworkSecurity.js +104 -0
- package/dist/ptr/node/network/NetworkSecurity.js.map +1 -0
- package/package.json +1 -1
|
@@ -292,4 +292,135 @@ export declare function verifyRightIdentity<A>(m: Action<A>, ctx: ActionContext)
|
|
|
292
292
|
* @returns True if the law holds
|
|
293
293
|
*/
|
|
294
294
|
export declare function verifyAssociativity<A, B, C>(m: Action<A>, f: (a: A) => Action<B>, g: (b: B) => Action<C>, ctx: ActionContext): Promise<boolean>;
|
|
295
|
+
/**
|
|
296
|
+
* A condition that can be evaluated against context or result.
|
|
297
|
+
*
|
|
298
|
+
* Conditions form the basis of Hoare Logic contracts:
|
|
299
|
+
* {P} Action {Q} where P = preconditions, Q = postconditions
|
|
300
|
+
*/
|
|
301
|
+
export interface Condition<T = any> {
|
|
302
|
+
/** Unique name for the condition */
|
|
303
|
+
name: string;
|
|
304
|
+
/** Human-readable description/expression */
|
|
305
|
+
expression: string;
|
|
306
|
+
/** Executable predicate */
|
|
307
|
+
check: (value: T) => boolean;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Contract defining pre/post conditions for an Action.
|
|
311
|
+
*
|
|
312
|
+
* Implements Hoare triple: {Preconditions} Action {Postconditions}
|
|
313
|
+
*/
|
|
314
|
+
export interface ActionContract<A> {
|
|
315
|
+
/** Preconditions: must hold before execution (on ActionContext) */
|
|
316
|
+
preconditions: Condition<ActionContext>[];
|
|
317
|
+
/** Postconditions: must hold after execution (on ActionResult<A>) */
|
|
318
|
+
postconditions: Condition<ActionResult<A>>[];
|
|
319
|
+
/** Invariants: must hold throughout (optional) */
|
|
320
|
+
invariants?: Condition<any>[];
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Result of verifying a single condition.
|
|
324
|
+
*/
|
|
325
|
+
export interface ConditionResult {
|
|
326
|
+
name: string;
|
|
327
|
+
expression: string;
|
|
328
|
+
satisfied: boolean;
|
|
329
|
+
error?: string;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Result of contract verification for a phase.
|
|
333
|
+
*/
|
|
334
|
+
export interface ContractVerification {
|
|
335
|
+
phase: 'pre' | 'post';
|
|
336
|
+
conditions: ConditionResult[];
|
|
337
|
+
allSatisfied: boolean;
|
|
338
|
+
timestamp: number;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* VCard pair produced by contract verification.
|
|
342
|
+
*
|
|
343
|
+
* This represents the verification evidence for an Action execution:
|
|
344
|
+
* - PreCondition VCard: Certifies input requirements were met
|
|
345
|
+
* - PostCondition VCard: Certifies output guarantees were met
|
|
346
|
+
*/
|
|
347
|
+
export interface VCardPair {
|
|
348
|
+
/** MCard hash of PreCondition verification evidence */
|
|
349
|
+
preConditionVCard: string;
|
|
350
|
+
/** MCard hash of PostCondition verification evidence */
|
|
351
|
+
postConditionVCard: string;
|
|
352
|
+
/** Hash identifying the action definition */
|
|
353
|
+
actionHash: string;
|
|
354
|
+
/** Timestamp when the VCards were linked */
|
|
355
|
+
linkedAt: number;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Result of contract-aware execution.
|
|
359
|
+
*/
|
|
360
|
+
export interface ContractExecutionResult<A> {
|
|
361
|
+
result: ActionResult<A>;
|
|
362
|
+
vCardPair: VCardPair;
|
|
363
|
+
preVerification: ContractVerification;
|
|
364
|
+
postVerification: ContractVerification;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Contract-aware Action that produces VCard pairs.
|
|
368
|
+
*
|
|
369
|
+
* Extends the base Action monad with Hoare Logic contracts:
|
|
370
|
+
* - Verifies preconditions before execution
|
|
371
|
+
* - Verifies postconditions after execution
|
|
372
|
+
* - Produces VCard pair as verification evidence
|
|
373
|
+
*/
|
|
374
|
+
export declare class ContractAction<A> extends Action<A> {
|
|
375
|
+
private contract;
|
|
376
|
+
constructor(run: ActionFn<A>, contract: ActionContract<A>);
|
|
377
|
+
/**
|
|
378
|
+
* Get the contract for this action.
|
|
379
|
+
*/
|
|
380
|
+
getContract(): ActionContract<A>;
|
|
381
|
+
/**
|
|
382
|
+
* Verify preconditions against the context.
|
|
383
|
+
*/
|
|
384
|
+
verifyPreconditions(ctx: ActionContext): ContractVerification;
|
|
385
|
+
/**
|
|
386
|
+
* Verify postconditions against the result.
|
|
387
|
+
*/
|
|
388
|
+
verifyPostconditions(result: ActionResult<A>): ContractVerification;
|
|
389
|
+
/**
|
|
390
|
+
* Create a PreCondition VCard from verification result.
|
|
391
|
+
* Returns a hash representing the VCard (in production, would store in MCard collection).
|
|
392
|
+
*/
|
|
393
|
+
createPreConditionVCard(verification: ContractVerification, actionHash: string): string;
|
|
394
|
+
/**
|
|
395
|
+
* Create a PostCondition VCard from verification result.
|
|
396
|
+
* Links back to the PreCondition VCard.
|
|
397
|
+
*/
|
|
398
|
+
createPostConditionVCard(verification: ContractVerification, actionHash: string, preVCardHash: string, result: ActionResult<A>): string;
|
|
399
|
+
/**
|
|
400
|
+
* Generate a hash for this action (based on contract).
|
|
401
|
+
*/
|
|
402
|
+
getActionHash(): string;
|
|
403
|
+
/**
|
|
404
|
+
* Execute with full contract verification, producing VCard pair.
|
|
405
|
+
*
|
|
406
|
+
* This is the primary method for contract-aware execution:
|
|
407
|
+
* 1. Verify preconditions → create PreCondition VCard
|
|
408
|
+
* 2. Execute action (only if preconditions pass)
|
|
409
|
+
* 3. Verify postconditions → create PostCondition VCard
|
|
410
|
+
* 4. Return result with VCard pair
|
|
411
|
+
*/
|
|
412
|
+
executeWithContract(ctx: ActionContext): Promise<ContractExecutionResult<A>>;
|
|
413
|
+
/**
|
|
414
|
+
* Compose contract-aware actions, chaining VCard pairs.
|
|
415
|
+
*/
|
|
416
|
+
bindWithContract<B>(f: (a: A) => ContractAction<B>): ContractAction<B>;
|
|
417
|
+
/**
|
|
418
|
+
* Create a contract-aware action from a pure value.
|
|
419
|
+
*/
|
|
420
|
+
static pureWithContract<A>(value: A, contract?: ActionContract<A>): ContractAction<A>;
|
|
421
|
+
/**
|
|
422
|
+
* Create a contract-aware action from an async function.
|
|
423
|
+
*/
|
|
424
|
+
static fromAsyncWithContract<A>(f: (ctx: ActionContext) => Promise<A>, contract: ActionContract<A>): ContractAction<A>;
|
|
425
|
+
}
|
|
295
426
|
//# sourceMappingURL=Action.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../../src/ptr/node/Action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../../src/ptr/node/Action.ts"],"names":[],"mappings":"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"}
|
package/dist/ptr/node/Action.js
CHANGED
|
@@ -475,4 +475,237 @@ export async function verifyAssociativity(m, f, g, ctx) {
|
|
|
475
475
|
JSON.stringify(left.value) === JSON.stringify(right.value) &&
|
|
476
476
|
left.error === right.error);
|
|
477
477
|
}
|
|
478
|
+
/**
|
|
479
|
+
* Contract-aware Action that produces VCard pairs.
|
|
480
|
+
*
|
|
481
|
+
* Extends the base Action monad with Hoare Logic contracts:
|
|
482
|
+
* - Verifies preconditions before execution
|
|
483
|
+
* - Verifies postconditions after execution
|
|
484
|
+
* - Produces VCard pair as verification evidence
|
|
485
|
+
*/
|
|
486
|
+
export class ContractAction extends Action {
|
|
487
|
+
contract;
|
|
488
|
+
constructor(run, contract) {
|
|
489
|
+
super(run);
|
|
490
|
+
this.contract = contract;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Get the contract for this action.
|
|
494
|
+
*/
|
|
495
|
+
getContract() {
|
|
496
|
+
return this.contract;
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Verify preconditions against the context.
|
|
500
|
+
*/
|
|
501
|
+
verifyPreconditions(ctx) {
|
|
502
|
+
const conditions = this.contract.preconditions.map(cond => {
|
|
503
|
+
try {
|
|
504
|
+
const satisfied = cond.check(ctx);
|
|
505
|
+
return { name: cond.name, expression: cond.expression, satisfied };
|
|
506
|
+
}
|
|
507
|
+
catch (e) {
|
|
508
|
+
return { name: cond.name, expression: cond.expression, satisfied: false, error: String(e) };
|
|
509
|
+
}
|
|
510
|
+
});
|
|
511
|
+
return {
|
|
512
|
+
phase: 'pre',
|
|
513
|
+
conditions,
|
|
514
|
+
allSatisfied: conditions.every(c => c.satisfied),
|
|
515
|
+
timestamp: Date.now()
|
|
516
|
+
};
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Verify postconditions against the result.
|
|
520
|
+
*/
|
|
521
|
+
verifyPostconditions(result) {
|
|
522
|
+
const conditions = this.contract.postconditions.map(cond => {
|
|
523
|
+
try {
|
|
524
|
+
const satisfied = cond.check(result);
|
|
525
|
+
return { name: cond.name, expression: cond.expression, satisfied };
|
|
526
|
+
}
|
|
527
|
+
catch (e) {
|
|
528
|
+
return { name: cond.name, expression: cond.expression, satisfied: false, error: String(e) };
|
|
529
|
+
}
|
|
530
|
+
});
|
|
531
|
+
return {
|
|
532
|
+
phase: 'post',
|
|
533
|
+
conditions,
|
|
534
|
+
allSatisfied: conditions.every(c => c.satisfied),
|
|
535
|
+
timestamp: Date.now()
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* Create a PreCondition VCard from verification result.
|
|
540
|
+
* Returns a hash representing the VCard (in production, would store in MCard collection).
|
|
541
|
+
*/
|
|
542
|
+
createPreConditionVCard(verification, actionHash) {
|
|
543
|
+
const vcard = {
|
|
544
|
+
type: 'PreConditionVCard',
|
|
545
|
+
actionHash,
|
|
546
|
+
timestamp: new Date(verification.timestamp).toISOString(),
|
|
547
|
+
preconditions: verification.conditions,
|
|
548
|
+
certification: {
|
|
549
|
+
allSatisfied: verification.allSatisfied,
|
|
550
|
+
checkedAt: new Date(verification.timestamp).toISOString(),
|
|
551
|
+
certifier: 'ptr_engine_v0.2.0'
|
|
552
|
+
}
|
|
553
|
+
};
|
|
554
|
+
// In production: store as MCard and return hash
|
|
555
|
+
// For now: return a deterministic hash representation
|
|
556
|
+
return `vcard:pre:${actionHash}:${verification.timestamp}`;
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Create a PostCondition VCard from verification result.
|
|
560
|
+
* Links back to the PreCondition VCard.
|
|
561
|
+
*/
|
|
562
|
+
createPostConditionVCard(verification, actionHash, preVCardHash, result) {
|
|
563
|
+
const vcard = {
|
|
564
|
+
type: 'PostConditionVCard',
|
|
565
|
+
actionHash,
|
|
566
|
+
timestamp: new Date(verification.timestamp).toISOString(),
|
|
567
|
+
preConditionVCardHash: preVCardHash,
|
|
568
|
+
postconditions: verification.conditions,
|
|
569
|
+
executionSummary: {
|
|
570
|
+
success: result.success,
|
|
571
|
+
executionTimeMs: result.effects.executionTime,
|
|
572
|
+
effectsAccumulated: {
|
|
573
|
+
logCount: result.effects.logs.length,
|
|
574
|
+
memoryUpdates: result.effects.memoryUpdates.length,
|
|
575
|
+
toolCalls: result.effects.toolCalls.length
|
|
576
|
+
}
|
|
577
|
+
},
|
|
578
|
+
certification: {
|
|
579
|
+
allSatisfied: verification.allSatisfied,
|
|
580
|
+
checkedAt: new Date(verification.timestamp).toISOString(),
|
|
581
|
+
certifier: 'ptr_engine_v0.2.0'
|
|
582
|
+
}
|
|
583
|
+
};
|
|
584
|
+
// In production: store as MCard and return hash
|
|
585
|
+
return `vcard:post:${actionHash}:${verification.timestamp}`;
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Generate a hash for this action (based on contract).
|
|
589
|
+
*/
|
|
590
|
+
getActionHash() {
|
|
591
|
+
const contractSummary = {
|
|
592
|
+
preConditions: this.contract.preconditions.map(c => c.name),
|
|
593
|
+
postConditions: this.contract.postconditions.map(c => c.name)
|
|
594
|
+
};
|
|
595
|
+
return `action:${JSON.stringify(contractSummary)}`.substring(0, 64);
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Execute with full contract verification, producing VCard pair.
|
|
599
|
+
*
|
|
600
|
+
* This is the primary method for contract-aware execution:
|
|
601
|
+
* 1. Verify preconditions → create PreCondition VCard
|
|
602
|
+
* 2. Execute action (only if preconditions pass)
|
|
603
|
+
* 3. Verify postconditions → create PostCondition VCard
|
|
604
|
+
* 4. Return result with VCard pair
|
|
605
|
+
*/
|
|
606
|
+
async executeWithContract(ctx) {
|
|
607
|
+
const actionHash = this.getActionHash();
|
|
608
|
+
// Phase 1: Verify preconditions
|
|
609
|
+
const preVerification = this.verifyPreconditions(ctx);
|
|
610
|
+
const preVCard = this.createPreConditionVCard(preVerification, actionHash);
|
|
611
|
+
// If preconditions fail, return early with failure
|
|
612
|
+
if (!preVerification.allSatisfied) {
|
|
613
|
+
const failedConditions = preVerification.conditions
|
|
614
|
+
.filter(c => !c.satisfied)
|
|
615
|
+
.map(c => c.name)
|
|
616
|
+
.join(', ');
|
|
617
|
+
const failedResult = failResult(`Precondition failed: ${failedConditions}`);
|
|
618
|
+
const postVerification = {
|
|
619
|
+
phase: 'post',
|
|
620
|
+
conditions: [],
|
|
621
|
+
allSatisfied: false,
|
|
622
|
+
timestamp: Date.now()
|
|
623
|
+
};
|
|
624
|
+
return {
|
|
625
|
+
result: failedResult,
|
|
626
|
+
vCardPair: {
|
|
627
|
+
preConditionVCard: preVCard,
|
|
628
|
+
postConditionVCard: '',
|
|
629
|
+
actionHash,
|
|
630
|
+
linkedAt: Date.now()
|
|
631
|
+
},
|
|
632
|
+
preVerification,
|
|
633
|
+
postVerification
|
|
634
|
+
};
|
|
635
|
+
}
|
|
636
|
+
// Phase 2: Execute action
|
|
637
|
+
const result = await this.execute(ctx);
|
|
638
|
+
// Phase 3: Verify postconditions
|
|
639
|
+
const postVerification = result.success
|
|
640
|
+
? this.verifyPostconditions(result)
|
|
641
|
+
: { phase: 'post', conditions: [], allSatisfied: false, timestamp: Date.now() };
|
|
642
|
+
const postVCard = this.createPostConditionVCard(postVerification, actionHash, preVCard, result);
|
|
643
|
+
return {
|
|
644
|
+
result,
|
|
645
|
+
vCardPair: {
|
|
646
|
+
preConditionVCard: preVCard,
|
|
647
|
+
postConditionVCard: postVCard,
|
|
648
|
+
actionHash,
|
|
649
|
+
linkedAt: Date.now()
|
|
650
|
+
},
|
|
651
|
+
preVerification,
|
|
652
|
+
postVerification
|
|
653
|
+
};
|
|
654
|
+
}
|
|
655
|
+
/**
|
|
656
|
+
* Compose contract-aware actions, chaining VCard pairs.
|
|
657
|
+
*/
|
|
658
|
+
bindWithContract(f) {
|
|
659
|
+
const self = this;
|
|
660
|
+
// Merged contract: preconditions from self, postconditions from f's result
|
|
661
|
+
const mergedContract = {
|
|
662
|
+
preconditions: this.contract.preconditions,
|
|
663
|
+
postconditions: [] // Will be filled by the bound action
|
|
664
|
+
};
|
|
665
|
+
const boundRun = async (ctx) => {
|
|
666
|
+
const resultA = await self.execute(ctx);
|
|
667
|
+
if (!resultA.success) {
|
|
668
|
+
return {
|
|
669
|
+
success: false,
|
|
670
|
+
error: resultA.error,
|
|
671
|
+
effects: resultA.effects
|
|
672
|
+
};
|
|
673
|
+
}
|
|
674
|
+
const actionB = f(resultA.value);
|
|
675
|
+
const resultB = await actionB.execute(ctx);
|
|
676
|
+
return {
|
|
677
|
+
success: resultB.success,
|
|
678
|
+
value: resultB.value,
|
|
679
|
+
error: resultB.error,
|
|
680
|
+
effects: combineEffects(resultA.effects, resultB.effects)
|
|
681
|
+
};
|
|
682
|
+
};
|
|
683
|
+
return new ContractAction(boundRun, mergedContract);
|
|
684
|
+
}
|
|
685
|
+
// ============ Static Constructors ============
|
|
686
|
+
/**
|
|
687
|
+
* Create a contract-aware action from a pure value.
|
|
688
|
+
*/
|
|
689
|
+
static pureWithContract(value, contract) {
|
|
690
|
+
const defaultContract = contract ?? {
|
|
691
|
+
preconditions: [],
|
|
692
|
+
postconditions: [{ name: 'has_value', expression: 'result.value !== undefined', check: r => r.value !== undefined }]
|
|
693
|
+
};
|
|
694
|
+
return new ContractAction(async (_ctx) => pureResult(value), defaultContract);
|
|
695
|
+
}
|
|
696
|
+
/**
|
|
697
|
+
* Create a contract-aware action from an async function.
|
|
698
|
+
*/
|
|
699
|
+
static fromAsyncWithContract(f, contract) {
|
|
700
|
+
return new ContractAction(async (ctx) => {
|
|
701
|
+
try {
|
|
702
|
+
const result = await f(ctx);
|
|
703
|
+
return pureResult(result);
|
|
704
|
+
}
|
|
705
|
+
catch (e) {
|
|
706
|
+
return failResult(String(e));
|
|
707
|
+
}
|
|
708
|
+
}, contract);
|
|
709
|
+
}
|
|
710
|
+
}
|
|
478
711
|
//# sourceMappingURL=Action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../../src/ptr/node/Action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../../src/ptr/node/Action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CLMLoader.d.ts","sourceRoot":"","sources":["../../../src/ptr/node/CLMLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,EAAE;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,QAAQ,EAAE;YACN,aAAa,EAAE,MAAM,CAAC;YACtB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;YACrC,eAAe,CAAC,EAAE,KAAK,CAAC;gBACpB,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,KAAK,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC,CAAC;SACN,CAAC;QACF,QAAQ,EAAE;YACN,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;SACvB,CAAC;KACL,CAAC;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC,CAAC;CACN;
|
|
1
|
+
{"version":3,"file":"CLMLoader.d.ts","sourceRoot":"","sources":["../../../src/ptr/node/CLMLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,EAAE;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,QAAQ,EAAE;YACN,aAAa,EAAE,MAAM,CAAC;YACtB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;YACrC,eAAe,CAAC,EAAE,KAAK,CAAC;gBACpB,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,KAAK,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC,CAAC;SACN,CAAC;QACF,QAAQ,EAAE;YACN,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;SACvB,CAAC;KACL,CAAC;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC,CAAC;CACN;AA+CD,qBAAa,SAAS;IACX,QAAQ,EAAE,MAAM,CAAC;gBAEZ,QAAQ,GAAE,MAAsB;IAI5C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAiD9B;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAmBpD;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CA2BjE"}
|
|
@@ -6,6 +6,46 @@
|
|
|
6
6
|
import * as fs from 'fs';
|
|
7
7
|
import * as path from 'path';
|
|
8
8
|
import * as yaml from 'yaml';
|
|
9
|
+
/**
|
|
10
|
+
* Map balanced.test_cases to examples, preserving original input content.
|
|
11
|
+
*
|
|
12
|
+
* The flag `treatEmptyWhenAsGiven` controls how empty `when` blocks are
|
|
13
|
+
* interpreted:
|
|
14
|
+
* - legacy root format kept `input` as `given` when `when` was empty
|
|
15
|
+
* - standard clm.balanced format treated an empty object as a valid input
|
|
16
|
+
*/
|
|
17
|
+
function mapTestCasesToExamples(testCases, treatEmptyWhenAsGiven) {
|
|
18
|
+
return testCases.map((tc) => {
|
|
19
|
+
let input = tc.given;
|
|
20
|
+
if (tc.when) {
|
|
21
|
+
const params = tc.when.params || {};
|
|
22
|
+
const context = tc.when.context || {};
|
|
23
|
+
const hasParams = Object.keys(params).length > 0;
|
|
24
|
+
const hasContext = Object.keys(context).length > 0;
|
|
25
|
+
const hasWhenKeys = typeof tc.when === 'object' && Object.keys(tc.when).length > 0;
|
|
26
|
+
if (hasParams || hasContext) {
|
|
27
|
+
input = { ...tc.when, ...context, ...params };
|
|
28
|
+
if (input.__input_content__ === undefined) {
|
|
29
|
+
input.__input_content__ = tc.given;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else if (tc.when &&
|
|
33
|
+
typeof tc.when === 'object' &&
|
|
34
|
+
(!treatEmptyWhenAsGiven || hasWhenKeys)) {
|
|
35
|
+
input = { ...tc.when };
|
|
36
|
+
if (input.__input_content__ === undefined) {
|
|
37
|
+
input.__input_content__ = tc.given;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
name: tc.name || `Test Case: ${tc.given}`,
|
|
43
|
+
input,
|
|
44
|
+
expected_output: tc.then?.result,
|
|
45
|
+
result_contains: tc.then?.result_contains,
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
9
49
|
export class CLMLoader {
|
|
10
50
|
basePath;
|
|
11
51
|
constructor(basePath = process.cwd()) {
|
|
@@ -22,9 +62,12 @@ export class CLMLoader {
|
|
|
22
62
|
const parsed = yaml.parse(content);
|
|
23
63
|
// Normalize legacy format (abstract/concrete/balanced at root)
|
|
24
64
|
if (parsed.abstract && !parsed.clm) {
|
|
65
|
+
// Match Python: use metadata.name, fallback to filename
|
|
66
|
+
const basename = path.basename(fullPath);
|
|
67
|
+
const title = parsed.metadata?.name || basename;
|
|
25
68
|
const spec = {
|
|
26
69
|
version: '1.0',
|
|
27
|
-
chapter: { id: 0, title
|
|
70
|
+
chapter: { id: 0, title },
|
|
28
71
|
clm: {
|
|
29
72
|
abstract: parsed.abstract,
|
|
30
73
|
concrete: parsed.concrete,
|
|
@@ -33,66 +76,15 @@ export class CLMLoader {
|
|
|
33
76
|
};
|
|
34
77
|
// Map balanced.test_cases to examples
|
|
35
78
|
if (parsed.balanced?.test_cases) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (tc.when) {
|
|
39
|
-
const params = tc.when.params || {};
|
|
40
|
-
const context = tc.when.context || {};
|
|
41
|
-
if (Object.keys(params).length > 0 || Object.keys(context).length > 0) {
|
|
42
|
-
input = { ...tc.when, ...context, ...params };
|
|
43
|
-
// Preserve original input content
|
|
44
|
-
if (input.__input_content__ === undefined) {
|
|
45
|
-
input.__input_content__ = tc.given;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
else if (tc.when && typeof tc.when === 'object' && Object.keys(tc.when).length > 0) {
|
|
49
|
-
input = { ...tc.when };
|
|
50
|
-
if (input.__input_content__ === undefined) {
|
|
51
|
-
input.__input_content__ = tc.given;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
name: `Test Case: ${tc.given}`,
|
|
57
|
-
input: input,
|
|
58
|
-
expected_output: tc.then?.result
|
|
59
|
-
};
|
|
60
|
-
});
|
|
79
|
+
// Legacy behavior: treat empty `when` as "no override", keeping input = given
|
|
80
|
+
spec.examples = mapTestCasesToExamples(parsed.balanced.test_cases, true);
|
|
61
81
|
}
|
|
62
82
|
return spec;
|
|
63
83
|
}
|
|
64
84
|
// Standard format: check clm.balanced.test_cases
|
|
65
85
|
if (parsed.clm?.balanced?.test_cases && !parsed.examples) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
// when: { params: { recursive: true }, context: { output_arguments: {...} } }
|
|
69
|
-
// -> input = { recursive: true, output_arguments: {...} }
|
|
70
|
-
let input = tc.given;
|
|
71
|
-
if (tc.when) {
|
|
72
|
-
// Merge params and context (params takes precedence for direct values)
|
|
73
|
-
const params = tc.when.params || {};
|
|
74
|
-
const context = tc.when.context || {};
|
|
75
|
-
if (Object.keys(params).length > 0 || Object.keys(context).length > 0) {
|
|
76
|
-
input = { ...tc.when, ...context, ...params };
|
|
77
|
-
// Preserve original input content
|
|
78
|
-
if (input.__input_content__ === undefined) {
|
|
79
|
-
input.__input_content__ = tc.given;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else if (tc.when && typeof tc.when === 'object') {
|
|
83
|
-
// Maybe when IS the input directly
|
|
84
|
-
input = { ...tc.when };
|
|
85
|
-
if (input.__input_content__ === undefined) {
|
|
86
|
-
input.__input_content__ = tc.given;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
name: `Test Case: ${tc.given}`,
|
|
92
|
-
input: input,
|
|
93
|
-
expected_output: tc.then?.result
|
|
94
|
-
};
|
|
95
|
-
});
|
|
86
|
+
// Standard behavior: allow empty `when` to become an explicit (possibly empty) input object
|
|
87
|
+
parsed.examples = mapTestCasesToExamples(parsed.clm.balanced.test_cases, false);
|
|
96
88
|
}
|
|
97
89
|
// Map balanced.examples (used in advanced_comparison.yaml)
|
|
98
90
|
if (parsed.clm?.balanced?.examples && !parsed.examples) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CLMLoader.js","sourceRoot":"","sources":["../../../src/ptr/node/CLMLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AA6C7B,
|
|
1
|
+
{"version":3,"file":"CLMLoader.js","sourceRoot":"","sources":["../../../src/ptr/node/CLMLoader.ts"],"names":[],"mappings":"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"}
|