@orkestrel/scaffold 0.0.97 → 0.0.99
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/agents/skills/orkestrel-dispatch/scripts/bench.js +1 -1
- package/dist/agents/skills/orkestrel-scout/scripts/map.js +14 -3
- package/dist/bin/main.js +2 -2
- package/dist/bin/main.js.map +1 -1
- package/dist/host/agents/orchestration.md +44 -38
- package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +3 -3
- package/dist/host/agents/skills/orkestrel-dispatch/references/bench.md +1 -1
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/bench.ts +1 -1
- package/dist/host/agents/skills/orkestrel-falsify/SKILL.md +1 -1
- package/dist/host/agents/skills/orkestrel-falsify/references/reconcile.md +1 -1
- package/dist/host/agents/skills/orkestrel-publish/references/wave.md +1 -2
- package/dist/host/agents/skills/orkestrel-scout/SKILL.md +4 -4
- package/dist/host/agents/skills/orkestrel-scout/scripts/map.ts +14 -3
- package/dist/host/agents/transports/claude-cli.md +3 -3
- package/dist/host/agents/transports/codex.md +4 -4
- package/dist/host/agents/transports/cursor.md +5 -5
- package/dist/host/claude/AGENTS.md +11 -8
- package/dist/host/claude/agents/analyst.md +4 -4
- package/dist/host/claude/agents/astra.md +4 -4
- package/dist/host/claude/agents/builder.md +4 -4
- package/dist/host/claude/agents/checker.md +4 -4
- package/dist/host/claude/agents/distiller.md +4 -4
- package/dist/host/claude/agents/grok.md +4 -4
- package/dist/host/claude/agents/opus.md +1 -1
- package/dist/host/claude/agents/orkestrel.md +2 -2
- package/dist/host/claude/agents/planner.md +1 -1
- package/dist/host/claude/agents/researcher.md +4 -4
- package/dist/host/claude/agents/reviewer.md +1 -1
- package/dist/host/claude/agents/scout.md +6 -4
- package/dist/host/claude/agents/verifier.md +4 -4
- package/dist/host/claude/rules/documentation.md +3 -3
- package/dist/host/claude/rules/styles.md +5 -1
- package/dist/host/claude/settings.json +5 -2
- package/dist/host/codex/agents/builder.toml +7 -7
- package/dist/host/codex/agents/grok.toml +2 -2
- package/dist/host/codex/agents/opus.toml +19 -15
- package/dist/host/codex/agents/orkestrel.toml +1 -1
- package/dist/host/codex/agents/planner.toml +17 -12
- package/dist/host/codex/agents/reviewer.toml +22 -12
- package/dist/host/codex/agents/scout.toml +4 -2
- package/dist/host/codex/agents/verifier.toml +1 -1
- package/dist/host/codex/config.toml +6 -7
- package/dist/host/cursor/rules/orchestration.mdc +1 -1
- package/dist/host/guides/scaffold.md +9 -3
- package/dist/host/manifest.json +53 -41
- package/dist/host/scripts/browsers.sh +54 -0
- package/dist/host/scripts/npm.sh +111 -0
- package/dist/src/core/index.cjs +37 -9
- package/dist/src/core/index.cjs.map +1 -1
- package/dist/src/core/index.d.cts +20 -0
- package/dist/src/core/index.d.ts +20 -0
- package/dist/src/core/index.js +37 -10
- package/dist/src/core/index.js.map +1 -1
- package/package.json +2 -2
package/dist/host/manifest.json
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"storage": "agents/orchestration.md",
|
|
17
17
|
"destination": ".agents/orchestration.md",
|
|
18
18
|
"executable": false,
|
|
19
|
-
"digest": "
|
|
19
|
+
"digest": "8e4da9963c7e33a3fc58f6bf5c70d98aacf9a0cb451da8e1a0868034345ed04c"
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"storage": "agents/skills/enterprise-bootstrap/SKILL.md",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"storage": "agents/skills/orkestrel-debrief/references/instruction-audit.md",
|
|
137
137
|
"destination": ".agents/skills/orkestrel-debrief/references/instruction-audit.md",
|
|
138
138
|
"executable": false,
|
|
139
|
-
"digest": "
|
|
139
|
+
"digest": "c7002c36743cdb4f1edc8ca75d9686607a6713c5c733a98c41d082041ab5779b"
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
"storage": "agents/skills/orkestrel-debrief/references/retention.md",
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"storage": "agents/skills/orkestrel-dispatch/references/bench.md",
|
|
161
161
|
"destination": ".agents/skills/orkestrel-dispatch/references/bench.md",
|
|
162
162
|
"executable": false,
|
|
163
|
-
"digest": "
|
|
163
|
+
"digest": "cad78c5ac41116d86740306f905582a322a26e279da7b733d9b95a80c16cabeb"
|
|
164
164
|
},
|
|
165
165
|
{
|
|
166
166
|
"storage": "agents/skills/orkestrel-dispatch/references/launch.md",
|
|
@@ -172,7 +172,7 @@
|
|
|
172
172
|
"storage": "agents/skills/orkestrel-dispatch/scripts/bench.ts",
|
|
173
173
|
"destination": ".agents/skills/orkestrel-dispatch/scripts/bench.ts",
|
|
174
174
|
"executable": false,
|
|
175
|
-
"digest": "
|
|
175
|
+
"digest": "952b12697e01f722fa50246718142987d1682bf3845a90b38e1255fa0ee609c4"
|
|
176
176
|
},
|
|
177
177
|
{
|
|
178
178
|
"storage": "agents/skills/orkestrel-dispatch/scripts/brief.ts",
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
"storage": "agents/skills/orkestrel-falsify/SKILL.md",
|
|
221
221
|
"destination": ".agents/skills/orkestrel-falsify/SKILL.md",
|
|
222
222
|
"executable": false,
|
|
223
|
-
"digest": "
|
|
223
|
+
"digest": "d7d60fb440c3a66f8c913a4ed4f1c527f53ee4e5e8e5151b1c403677baa61c70"
|
|
224
224
|
},
|
|
225
225
|
{
|
|
226
226
|
"storage": "agents/skills/orkestrel-falsify/agents/openai.yaml",
|
|
@@ -238,7 +238,7 @@
|
|
|
238
238
|
"storage": "agents/skills/orkestrel-falsify/references/reconcile.md",
|
|
239
239
|
"destination": ".agents/skills/orkestrel-falsify/references/reconcile.md",
|
|
240
240
|
"executable": false,
|
|
241
|
-
"digest": "
|
|
241
|
+
"digest": "4b7de68d05a28d50380cfbccdda27abbe230df249ea9d7f49ca875f41ea9ba35"
|
|
242
242
|
},
|
|
243
243
|
{
|
|
244
244
|
"storage": "agents/skills/orkestrel-harden/SKILL.md",
|
|
@@ -370,7 +370,7 @@
|
|
|
370
370
|
"storage": "agents/skills/orkestrel-publish/references/wave.md",
|
|
371
371
|
"destination": ".agents/skills/orkestrel-publish/references/wave.md",
|
|
372
372
|
"executable": false,
|
|
373
|
-
"digest": "
|
|
373
|
+
"digest": "7aa0046c335d1728a3a4656757c19f096570970369eb04ca0377dcaf250d0901"
|
|
374
374
|
},
|
|
375
375
|
{
|
|
376
376
|
"storage": "agents/skills/orkestrel-publish/references/window.md",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"storage": "agents/skills/orkestrel-scout/SKILL.md",
|
|
407
407
|
"destination": ".agents/skills/orkestrel-scout/SKILL.md",
|
|
408
408
|
"executable": false,
|
|
409
|
-
"digest": "
|
|
409
|
+
"digest": "17854ecdcb08c097b4d1e741764d535da8707267f560de16485fb758ee851302"
|
|
410
410
|
},
|
|
411
411
|
{
|
|
412
412
|
"storage": "agents/skills/orkestrel-scout/agents/openai.yaml",
|
|
@@ -418,7 +418,7 @@
|
|
|
418
418
|
"storage": "agents/skills/orkestrel-scout/scripts/map.ts",
|
|
419
419
|
"destination": ".agents/skills/orkestrel-scout/scripts/map.ts",
|
|
420
420
|
"executable": false,
|
|
421
|
-
"digest": "
|
|
421
|
+
"digest": "45185a31d410513654547166e3d38f3da75c64d55c964b9eff95c39531451f0d"
|
|
422
422
|
},
|
|
423
423
|
{
|
|
424
424
|
"storage": "agents/templates/brief.md",
|
|
@@ -430,103 +430,103 @@
|
|
|
430
430
|
"storage": "agents/transports/claude-cli.md",
|
|
431
431
|
"destination": ".agents/transports/claude-cli.md",
|
|
432
432
|
"executable": false,
|
|
433
|
-
"digest": "
|
|
433
|
+
"digest": "2f5edf8c3395b29670d60e01aaf43eacd4f73c0a2b745f1e6f24da98f829af0a"
|
|
434
434
|
},
|
|
435
435
|
{
|
|
436
436
|
"storage": "agents/transports/codex.md",
|
|
437
437
|
"destination": ".agents/transports/codex.md",
|
|
438
438
|
"executable": false,
|
|
439
|
-
"digest": "
|
|
439
|
+
"digest": "aa6c00f677ca4c1c40a402770aa21ec739ed7266e15f5d0e6cb8a8ca9e914e80"
|
|
440
440
|
},
|
|
441
441
|
{
|
|
442
442
|
"storage": "agents/transports/cursor.md",
|
|
443
443
|
"destination": ".agents/transports/cursor.md",
|
|
444
444
|
"executable": false,
|
|
445
|
-
"digest": "
|
|
445
|
+
"digest": "aac0d62e222e2b193fe08fb69efbe016a8cf3ddde29c4c493c84428c947c3167"
|
|
446
446
|
},
|
|
447
447
|
{
|
|
448
448
|
"storage": "claude/AGENTS.md",
|
|
449
449
|
"destination": ".claude/AGENTS.md",
|
|
450
450
|
"executable": false,
|
|
451
|
-
"digest": "
|
|
451
|
+
"digest": "ab0a30f3dcf2b470ec2d85544b128587841a610217aa058aab09c10947915a98"
|
|
452
452
|
},
|
|
453
453
|
{
|
|
454
454
|
"storage": "claude/agents/analyst.md",
|
|
455
455
|
"destination": ".claude/agents/analyst.md",
|
|
456
456
|
"executable": false,
|
|
457
|
-
"digest": "
|
|
457
|
+
"digest": "6ad7895912fbfbdca3821132067d6c2993ace0a09bcc34d9f0a87b53d82d999b"
|
|
458
458
|
},
|
|
459
459
|
{
|
|
460
460
|
"storage": "claude/agents/astra.md",
|
|
461
461
|
"destination": ".claude/agents/astra.md",
|
|
462
462
|
"executable": false,
|
|
463
|
-
"digest": "
|
|
463
|
+
"digest": "475af39fe97fc76836d969c66cab9cfb79f15d078b8668925236ef267cdd1c0c"
|
|
464
464
|
},
|
|
465
465
|
{
|
|
466
466
|
"storage": "claude/agents/builder.md",
|
|
467
467
|
"destination": ".claude/agents/builder.md",
|
|
468
468
|
"executable": false,
|
|
469
|
-
"digest": "
|
|
469
|
+
"digest": "36bd7f5c6f2f57eaefca60f1743315f725f0604e77af8a81f217c2f0253252bf"
|
|
470
470
|
},
|
|
471
471
|
{
|
|
472
472
|
"storage": "claude/agents/checker.md",
|
|
473
473
|
"destination": ".claude/agents/checker.md",
|
|
474
474
|
"executable": false,
|
|
475
|
-
"digest": "
|
|
475
|
+
"digest": "0b9cb8ebb287e80c52d653226f3b46a5e5e4fec4233a666d5f20d8a6a27e8ddc"
|
|
476
476
|
},
|
|
477
477
|
{
|
|
478
478
|
"storage": "claude/agents/distiller.md",
|
|
479
479
|
"destination": ".claude/agents/distiller.md",
|
|
480
480
|
"executable": false,
|
|
481
|
-
"digest": "
|
|
481
|
+
"digest": "a54a0534be8684a31741a6a9d1e56e083897a08bda09019fa5682c143e2677c2"
|
|
482
482
|
},
|
|
483
483
|
{
|
|
484
484
|
"storage": "claude/agents/grok.md",
|
|
485
485
|
"destination": ".claude/agents/grok.md",
|
|
486
486
|
"executable": false,
|
|
487
|
-
"digest": "
|
|
487
|
+
"digest": "6f6a46a001f7cf32ecaa2395b2cad58bf1d9cee211f6da197e7fc593a9982df2"
|
|
488
488
|
},
|
|
489
489
|
{
|
|
490
490
|
"storage": "claude/agents/opus.md",
|
|
491
491
|
"destination": ".claude/agents/opus.md",
|
|
492
492
|
"executable": false,
|
|
493
|
-
"digest": "
|
|
493
|
+
"digest": "007d5c173f8a0c9431aa2717a8571dfcefb65ae86fd277a20eaf7781d70935af"
|
|
494
494
|
},
|
|
495
495
|
{
|
|
496
496
|
"storage": "claude/agents/orkestrel.md",
|
|
497
497
|
"destination": ".claude/agents/orkestrel.md",
|
|
498
498
|
"executable": false,
|
|
499
|
-
"digest": "
|
|
499
|
+
"digest": "70f83a325d00ec5e8f72866c22a867c22747d9f8ac3ed2ad844a9af7cba6dd93"
|
|
500
500
|
},
|
|
501
501
|
{
|
|
502
502
|
"storage": "claude/agents/planner.md",
|
|
503
503
|
"destination": ".claude/agents/planner.md",
|
|
504
504
|
"executable": false,
|
|
505
|
-
"digest": "
|
|
505
|
+
"digest": "b96f0c28057393dafff0727669009311b0a9277a94286df0e73706495ec810ed"
|
|
506
506
|
},
|
|
507
507
|
{
|
|
508
508
|
"storage": "claude/agents/researcher.md",
|
|
509
509
|
"destination": ".claude/agents/researcher.md",
|
|
510
510
|
"executable": false,
|
|
511
|
-
"digest": "
|
|
511
|
+
"digest": "3a65cc76ce7f19cc00d6ec36d1b79f8bacaba3319a7f7648cc4fdffacb07c5f8"
|
|
512
512
|
},
|
|
513
513
|
{
|
|
514
514
|
"storage": "claude/agents/reviewer.md",
|
|
515
515
|
"destination": ".claude/agents/reviewer.md",
|
|
516
516
|
"executable": false,
|
|
517
|
-
"digest": "
|
|
517
|
+
"digest": "557daaa0786c117ddc457c5b8a0c11e5a5b6f5292aadb1349b189e6d44141b88"
|
|
518
518
|
},
|
|
519
519
|
{
|
|
520
520
|
"storage": "claude/agents/scout.md",
|
|
521
521
|
"destination": ".claude/agents/scout.md",
|
|
522
522
|
"executable": false,
|
|
523
|
-
"digest": "
|
|
523
|
+
"digest": "eb95a12c4f03a66a5214d3a558414967062cb1fadd78082c8f19f65c6af18f5e"
|
|
524
524
|
},
|
|
525
525
|
{
|
|
526
526
|
"storage": "claude/agents/verifier.md",
|
|
527
527
|
"destination": ".claude/agents/verifier.md",
|
|
528
528
|
"executable": false,
|
|
529
|
-
"digest": "
|
|
529
|
+
"digest": "70a39011bafc32bd39ef4506daba4b6b4be019356c13dc2a03756eccd345833c"
|
|
530
530
|
},
|
|
531
531
|
{
|
|
532
532
|
"storage": "claude/rules/application.md",
|
|
@@ -550,7 +550,7 @@
|
|
|
550
550
|
"storage": "claude/rules/documentation.md",
|
|
551
551
|
"destination": ".claude/rules/documentation.md",
|
|
552
552
|
"executable": false,
|
|
553
|
-
"digest": "
|
|
553
|
+
"digest": "d9d745b54e3d4388be8982193568ec5a196fc777f1586007e22e0ed0234adbb7"
|
|
554
554
|
},
|
|
555
555
|
{
|
|
556
556
|
"storage": "claude/rules/names.md",
|
|
@@ -580,7 +580,7 @@
|
|
|
580
580
|
"storage": "claude/rules/styles.md",
|
|
581
581
|
"destination": ".claude/rules/styles.md",
|
|
582
582
|
"executable": false,
|
|
583
|
-
"digest": "
|
|
583
|
+
"digest": "23197503f78e95abc6f367f4208318faa7b2d4e6f56dae7084cf5b947d9ce95f"
|
|
584
584
|
},
|
|
585
585
|
{
|
|
586
586
|
"storage": "claude/rules/tests.md",
|
|
@@ -610,7 +610,7 @@
|
|
|
610
610
|
"storage": "claude/settings.json",
|
|
611
611
|
"destination": ".claude/settings.json",
|
|
612
612
|
"executable": false,
|
|
613
|
-
"digest": "
|
|
613
|
+
"digest": "ebe54b12ac933a12312f562d069012b7d6dfe4b5155943c1805c3e1e2874afbd"
|
|
614
614
|
},
|
|
615
615
|
{
|
|
616
616
|
"storage": "claude/skills/enterprise-bootstrap/SKILL.md",
|
|
@@ -694,7 +694,7 @@
|
|
|
694
694
|
"storage": "codex/agents/builder.toml",
|
|
695
695
|
"destination": ".codex/agents/builder.toml",
|
|
696
696
|
"executable": false,
|
|
697
|
-
"digest": "
|
|
697
|
+
"digest": "866d9aac668f1843b713a17da28877663e05141b6e754f27734de20d55a96ffd"
|
|
698
698
|
},
|
|
699
699
|
{
|
|
700
700
|
"storage": "codex/agents/checker.toml",
|
|
@@ -712,25 +712,25 @@
|
|
|
712
712
|
"storage": "codex/agents/grok.toml",
|
|
713
713
|
"destination": ".codex/agents/grok.toml",
|
|
714
714
|
"executable": false,
|
|
715
|
-
"digest": "
|
|
715
|
+
"digest": "cd860a838499a2da64cbd5d04296e282a647ad8a0d4b3f39f94239966b7c4d81"
|
|
716
716
|
},
|
|
717
717
|
{
|
|
718
718
|
"storage": "codex/agents/opus.toml",
|
|
719
719
|
"destination": ".codex/agents/opus.toml",
|
|
720
720
|
"executable": false,
|
|
721
|
-
"digest": "
|
|
721
|
+
"digest": "590137fde723c90e8384eb8883cc6a80a7cb0a128ee0338c7c25e590b080e2c4"
|
|
722
722
|
},
|
|
723
723
|
{
|
|
724
724
|
"storage": "codex/agents/orkestrel.toml",
|
|
725
725
|
"destination": ".codex/agents/orkestrel.toml",
|
|
726
726
|
"executable": false,
|
|
727
|
-
"digest": "
|
|
727
|
+
"digest": "6f6902e5b6836861cadc07703fb389dc1ba7cebdc63f17835e648e356cb3be95"
|
|
728
728
|
},
|
|
729
729
|
{
|
|
730
730
|
"storage": "codex/agents/planner.toml",
|
|
731
731
|
"destination": ".codex/agents/planner.toml",
|
|
732
732
|
"executable": false,
|
|
733
|
-
"digest": "
|
|
733
|
+
"digest": "280c61e14d3e538b683748258fa16c2754b9c0a5f8dd5cd9466d3aa86ed2d647"
|
|
734
734
|
},
|
|
735
735
|
{
|
|
736
736
|
"storage": "codex/agents/researcher.toml",
|
|
@@ -742,25 +742,25 @@
|
|
|
742
742
|
"storage": "codex/agents/reviewer.toml",
|
|
743
743
|
"destination": ".codex/agents/reviewer.toml",
|
|
744
744
|
"executable": false,
|
|
745
|
-
"digest": "
|
|
745
|
+
"digest": "aea14e86192faea546d22d83dc79899dbe536af27f23ae5c9968829433a5450f"
|
|
746
746
|
},
|
|
747
747
|
{
|
|
748
748
|
"storage": "codex/agents/scout.toml",
|
|
749
749
|
"destination": ".codex/agents/scout.toml",
|
|
750
750
|
"executable": false,
|
|
751
|
-
"digest": "
|
|
751
|
+
"digest": "35e40dbb60dc3be7cd1aa73877ad3c80fc7e3bdae16a7c0be0ed17134acb7fc5"
|
|
752
752
|
},
|
|
753
753
|
{
|
|
754
754
|
"storage": "codex/agents/verifier.toml",
|
|
755
755
|
"destination": ".codex/agents/verifier.toml",
|
|
756
756
|
"executable": false,
|
|
757
|
-
"digest": "
|
|
757
|
+
"digest": "c143e57dbc715066e388c0682db90fc9c5908ece618a6f59b0005d0d5a3d69b4"
|
|
758
758
|
},
|
|
759
759
|
{
|
|
760
760
|
"storage": "codex/config.toml",
|
|
761
761
|
"destination": ".codex/config.toml",
|
|
762
762
|
"executable": false,
|
|
763
|
-
"digest": "
|
|
763
|
+
"digest": "e22ac4e8cc9c6c41a9463dbaad3100a73f9fddc54fff1d9f8b8efd3357e34438"
|
|
764
764
|
},
|
|
765
765
|
{
|
|
766
766
|
"storage": "configs/helpers.ts",
|
|
@@ -784,7 +784,7 @@
|
|
|
784
784
|
"storage": "cursor/rules/orchestration.mdc",
|
|
785
785
|
"destination": ".cursor/rules/orchestration.mdc",
|
|
786
786
|
"executable": false,
|
|
787
|
-
"digest": "
|
|
787
|
+
"digest": "4fe403040ef6dffc9bc68b6b84770d6d5ac89a90e1ebb04c580286411c6ffa2e"
|
|
788
788
|
},
|
|
789
789
|
{
|
|
790
790
|
"storage": "dotfiles/editorconfig",
|
|
@@ -1042,7 +1042,7 @@
|
|
|
1042
1042
|
"storage": "guides/scaffold.md",
|
|
1043
1043
|
"destination": "guides/scaffold.md",
|
|
1044
1044
|
"executable": false,
|
|
1045
|
-
"digest": "
|
|
1045
|
+
"digest": "92391c5adfa7652ce6c4b34b4b78176f152d0c4398f28dc7da04797b64e2e973"
|
|
1046
1046
|
},
|
|
1047
1047
|
{
|
|
1048
1048
|
"storage": "guides/sea.md",
|
|
@@ -1140,6 +1140,12 @@
|
|
|
1140
1140
|
"executable": false,
|
|
1141
1141
|
"digest": "1353da0a0340a8ec7d7c2c08a028d95361bb75b2b03a0e743865c66eee3d0a42"
|
|
1142
1142
|
},
|
|
1143
|
+
{
|
|
1144
|
+
"storage": "scripts/browsers.sh",
|
|
1145
|
+
"destination": "scripts/browsers.sh",
|
|
1146
|
+
"executable": true,
|
|
1147
|
+
"digest": "1f38c4b95681fe2415bfa5b44641859d80df866551733cb3d3b0e30ce41ff093"
|
|
1148
|
+
},
|
|
1143
1149
|
{
|
|
1144
1150
|
"storage": "scripts/codex.sh",
|
|
1145
1151
|
"destination": "scripts/codex.sh",
|
|
@@ -1158,6 +1164,12 @@
|
|
|
1158
1164
|
"executable": true,
|
|
1159
1165
|
"digest": "8f4ad360cd43ea3da202892bf2cdea546795c4081e435384754cbffbf73d773e"
|
|
1160
1166
|
},
|
|
1167
|
+
{
|
|
1168
|
+
"storage": "scripts/npm.sh",
|
|
1169
|
+
"destination": "scripts/npm.sh",
|
|
1170
|
+
"executable": true,
|
|
1171
|
+
"digest": "5f9e12952eeddfd9c40d42710c0eabbbe5c9ee55d882f24e0015f419f0fba137"
|
|
1172
|
+
},
|
|
1161
1173
|
{
|
|
1162
1174
|
"storage": "scripts/ollama.sh",
|
|
1163
1175
|
"destination": "scripts/ollama.sh",
|
|
@@ -2108,5 +2120,5 @@
|
|
|
2108
2120
|
]
|
|
2109
2121
|
}
|
|
2110
2122
|
],
|
|
2111
|
-
"digest": "
|
|
2123
|
+
"digest": "9accd825a5d01bac14b22e69911c94abb361165b21ab9e12dbc899dcc1cbc0cd"
|
|
2112
2124
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# ============================================================================
|
|
3
|
+
# scripts/browsers.sh — SessionStart hook: Playwright browsers for the pinned playwright-core
|
|
4
|
+
# ----------------------------------------------------------------------------
|
|
5
|
+
# Runs only in Claude Code's remote environment. The container pre-installs one
|
|
6
|
+
# Chromium build under PLAYWRIGHT_BROWSERS_PATH; when the lockfile pins a
|
|
7
|
+
# playwright-core whose browsers.json names another build, every browser project
|
|
8
|
+
# fails at launch. Playwright's own installer resolves the store, skips a build
|
|
9
|
+
# whose completion marker exists, and downloads the rest, so this hook runs it
|
|
10
|
+
# and reports what it did. It runs after scripts/deps.sh in the same SessionStart
|
|
11
|
+
# command, because matching hooks run in parallel and the installer arrives with
|
|
12
|
+
# node_modules.
|
|
13
|
+
# ============================================================================
|
|
14
|
+
|
|
15
|
+
if [ "${CLAUDE_CODE_REMOTE:-}" != "true" ]; then
|
|
16
|
+
exit 0
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
cd "$CLAUDE_PROJECT_DIR" || exit 0
|
|
20
|
+
|
|
21
|
+
CLI="node_modules/playwright/cli.js"
|
|
22
|
+
if [ ! -f "$CLI" ]; then
|
|
23
|
+
echo "browsers.sh: playwright is not installed — skipped."
|
|
24
|
+
exit 0
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
if ! TEMPORARY="$(node -p 'require("node:os").tmpdir()')" || [ -z "$TEMPORARY" ]; then
|
|
28
|
+
echo "browsers.sh: could not read the temporary directory — skipped."
|
|
29
|
+
exit 0
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
BROWSERS_LOG="$(mktemp -p "$TEMPORARY" orkestrel-browsers.XXXXXX)" || {
|
|
33
|
+
echo "browsers.sh: could not create a private install log — skipped."
|
|
34
|
+
exit 0
|
|
35
|
+
}
|
|
36
|
+
chmod 600 "$BROWSERS_LOG"
|
|
37
|
+
|
|
38
|
+
cleanup_browsers_log() {
|
|
39
|
+
rm -f -- "$BROWSERS_LOG"
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
trap cleanup_browsers_log EXIT
|
|
43
|
+
|
|
44
|
+
if node "$CLI" install chromium >"$BROWSERS_LOG" 2>&1; then
|
|
45
|
+
if grep -q 'downloaded to' "$BROWSERS_LOG"; then
|
|
46
|
+
echo "browsers.sh: installed the Chromium builds playwright-core pins."
|
|
47
|
+
else
|
|
48
|
+
echo "browsers.sh: Playwright browsers match playwright-core — skipped."
|
|
49
|
+
fi
|
|
50
|
+
else
|
|
51
|
+
echo "browsers.sh: playwright install failed; browser projects remain unlaunchable in this session."
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
exit 0
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# ============================================================================
|
|
3
|
+
# scripts/npm.sh — SessionStart hook: npm at the checkout's declared floor
|
|
4
|
+
# ----------------------------------------------------------------------------
|
|
5
|
+
# Runs only in Claude Code's remote environment. A generated workspace declares
|
|
6
|
+
# its npm floor in devEngines.packageManager with onFail error, and an older npm
|
|
7
|
+
# refuses every install there with EBADDEVENGINES. This hook reads that floor:
|
|
8
|
+
# packageManager is one entry or an array of entries, each naming its manager,
|
|
9
|
+
# and the entry named npm carries a ">=major.minor.patch" version, the form
|
|
10
|
+
# readNpmFloor in tests/setupServer.ts admits. The @orkestrel/scaffold checkout
|
|
11
|
+
# declares no devEngines, because its CI installs on a Node whose bundled npm is
|
|
12
|
+
# older, so there the hook reads the MINIMUM_NPM_VERSION src/core/constants.ts
|
|
13
|
+
# exports. When the session's npm is older than the floor or a prerelease, it
|
|
14
|
+
# installs the newest npm in the floor's major globally. It runs first in the
|
|
15
|
+
# SessionStart command, before scripts/deps.sh runs npm ci.
|
|
16
|
+
# ============================================================================
|
|
17
|
+
|
|
18
|
+
if [ "${CLAUDE_CODE_REMOTE:-}" != "true" ]; then
|
|
19
|
+
exit 0
|
|
20
|
+
fi
|
|
21
|
+
|
|
22
|
+
cd "$CLAUDE_PROJECT_DIR" || exit 0
|
|
23
|
+
|
|
24
|
+
if [ ! -f package.json ]; then
|
|
25
|
+
exit 0
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
if ! TEMPORARY="$(node -p 'require("node:os").tmpdir()')" || [ -z "$TEMPORARY" ]; then
|
|
29
|
+
echo "npm.sh: could not read the temporary directory — skipped."
|
|
30
|
+
exit 0
|
|
31
|
+
fi
|
|
32
|
+
|
|
33
|
+
NPM_LOG="$(mktemp -p "$TEMPORARY" orkestrel-npm.XXXXXX)" || {
|
|
34
|
+
echo "npm.sh: could not create a private install log — skipped."
|
|
35
|
+
exit 0
|
|
36
|
+
}
|
|
37
|
+
chmod 600 "$NPM_LOG"
|
|
38
|
+
|
|
39
|
+
cleanup_npm_log() {
|
|
40
|
+
rm -f -- "$NPM_LOG"
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
trap cleanup_npm_log EXIT
|
|
44
|
+
|
|
45
|
+
meets_floor() {
|
|
46
|
+
[[ "$1" =~ ^[0-9]+\.[0-9]+\.[0-9]+(\+[0-9A-Za-z.-]+)?$ ]] &&
|
|
47
|
+
[ "$(printf '%s\n%s\n' "$FLOOR" "${1%%+*}" | sort -V | head -n 1)" = "$FLOOR" ]
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if ! FLOOR="$(node --input-type=module -e '
|
|
51
|
+
import { readFileSync } from "node:fs"
|
|
52
|
+
import { resolve } from "node:path"
|
|
53
|
+
import { pathToFileURL } from "node:url"
|
|
54
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value)
|
|
55
|
+
const manifest = JSON.parse(readFileSync("package.json", "utf8"))
|
|
56
|
+
if (!isRecord(manifest)) throw new Error("package.json is not a record")
|
|
57
|
+
if (manifest.devEngines !== undefined && !isRecord(manifest.devEngines)) throw new Error("devEngines is not a record")
|
|
58
|
+
const declared = manifest.devEngines?.packageManager
|
|
59
|
+
let floor
|
|
60
|
+
if (declared !== undefined) {
|
|
61
|
+
const entries = Array.isArray(declared) ? declared : [declared]
|
|
62
|
+
if (!entries.every((candidate) => isRecord(candidate) && typeof candidate.name === "string")) throw new Error("devEngines.packageManager holds an entry with no name")
|
|
63
|
+
const entry = entries.find((candidate) => candidate.name === "npm")
|
|
64
|
+
if (entry !== undefined) {
|
|
65
|
+
floor = typeof entry.version === "string" ? /^>=((?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*))$/u.exec(entry.version)?.[1] : undefined
|
|
66
|
+
if (floor === undefined) throw new Error("the npm entry declares no >=major.minor.patch floor")
|
|
67
|
+
}
|
|
68
|
+
} else if (manifest.name === "@orkestrel/scaffold") {
|
|
69
|
+
const constants = await import(pathToFileURL(resolve("src/core/constants.ts")).href)
|
|
70
|
+
floor = constants.MINIMUM_NPM_VERSION
|
|
71
|
+
if (typeof floor !== "string" || !/^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)$/u.test(floor)) throw new Error("MINIMUM_NPM_VERSION is not a major.minor.patch version")
|
|
72
|
+
}
|
|
73
|
+
process.stdout.write(floor ?? "")
|
|
74
|
+
' 2>"$NPM_LOG")"; then
|
|
75
|
+
echo "npm.sh: could not read the npm floor — skipped."
|
|
76
|
+
exit 0
|
|
77
|
+
fi
|
|
78
|
+
|
|
79
|
+
if [ -z "$FLOOR" ]; then
|
|
80
|
+
echo "npm.sh: the checkout declares no npm floor — skipped."
|
|
81
|
+
exit 0
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
CURRENT="$(npm --version 2>"$NPM_LOG")"
|
|
85
|
+
if [ -z "$CURRENT" ]; then
|
|
86
|
+
echo "npm.sh: npm is not installed — skipped."
|
|
87
|
+
exit 0
|
|
88
|
+
fi
|
|
89
|
+
|
|
90
|
+
if meets_floor "$CURRENT"; then
|
|
91
|
+
echo "npm.sh: npm $CURRENT meets the floor $FLOOR — skipped."
|
|
92
|
+
exit 0
|
|
93
|
+
fi
|
|
94
|
+
|
|
95
|
+
if npm install -g "npm@^$FLOOR" >"$NPM_LOG" 2>&1; then
|
|
96
|
+
INSTALLED="$(npm --version 2>"$NPM_LOG")"
|
|
97
|
+
if meets_floor "$INSTALLED"; then
|
|
98
|
+
echo "npm.sh: installed npm $INSTALLED over $CURRENT to meet the floor $FLOOR."
|
|
99
|
+
else
|
|
100
|
+
echo "npm.sh: npm install ran, and npm reads ${INSTALLED:-nothing}, which does not meet the floor $FLOOR; installs that declare it refuse."
|
|
101
|
+
fi
|
|
102
|
+
else
|
|
103
|
+
INSTALLED="$(npm --version 2>"$NPM_LOG")"
|
|
104
|
+
if meets_floor "$INSTALLED"; then
|
|
105
|
+
echo "npm.sh: npm install failed, and npm $INSTALLED meets the floor $FLOOR."
|
|
106
|
+
else
|
|
107
|
+
echo "npm.sh: npm install failed; npm reads ${INSTALLED:-nothing}, which does not meet the floor $FLOOR; installs that declare it refuse."
|
|
108
|
+
fi
|
|
109
|
+
fi
|
|
110
|
+
|
|
111
|
+
exit 0
|
package/dist/src/core/index.cjs
CHANGED
|
@@ -4,7 +4,7 @@ let _orkestrel_template = require("@orkestrel/template");
|
|
|
4
4
|
let _orkestrel_emitter = require("@orkestrel/emitter");
|
|
5
5
|
var package_default = {
|
|
6
6
|
name: "@orkestrel/scaffold",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.99",
|
|
8
8
|
description: "Scaffold workspaces with commands: new, audit, repair, catalog, and overwrite.",
|
|
9
9
|
keywords: [
|
|
10
10
|
"audit",
|
|
@@ -115,7 +115,7 @@ var package_default = {
|
|
|
115
115
|
"oxlint": "^1.87.0",
|
|
116
116
|
"playwright": "^1.63.0",
|
|
117
117
|
"typescript": "^6.0.3",
|
|
118
|
-
"vite": "^8.3.
|
|
118
|
+
"vite": "^8.3.4",
|
|
119
119
|
"vitest": "^4.1.11"
|
|
120
120
|
},
|
|
121
121
|
engines: { "node": ">=22.18.0" }
|
|
@@ -384,9 +384,11 @@ var WORKSPACE_OWNED_PATHS = Object.freeze([".gitignore"]);
|
|
|
384
384
|
* that must run when a target invokes it belongs here the moment it is vendored.
|
|
385
385
|
*/
|
|
386
386
|
var EXECUTABLE_PATHS = Object.freeze([
|
|
387
|
+
"scripts/browsers.sh",
|
|
387
388
|
"scripts/codex.sh",
|
|
388
389
|
"scripts/cursor.sh",
|
|
389
390
|
"scripts/deps.sh",
|
|
391
|
+
"scripts/npm.sh",
|
|
390
392
|
"scripts/ollama.sh"
|
|
391
393
|
]);
|
|
392
394
|
/**
|
|
@@ -6245,6 +6247,37 @@ function blueprintToProjects(blueprint) {
|
|
|
6245
6247
|
return projects;
|
|
6246
6248
|
}
|
|
6247
6249
|
/**
|
|
6250
|
+
* Compiles the browser projects' pre-bundled dependency list for a blueprint.
|
|
6251
|
+
*
|
|
6252
|
+
* @remarks
|
|
6253
|
+
* A browser-mode run that discovers a runtime package mid-collection reloads the page, so the
|
|
6254
|
+
* list names the test package, its browser entry, and every Orkestrel runtime package the
|
|
6255
|
+
* blueprint declares or peers with, inline when the line fits the print width and stacked
|
|
6256
|
+
* otherwise.
|
|
6257
|
+
*
|
|
6258
|
+
* @example
|
|
6259
|
+
* ```ts
|
|
6260
|
+
* import { blueprintToOptimizedDependencies, createBlueprint } from '@orkestrel/scaffold'
|
|
6261
|
+
*
|
|
6262
|
+
* const blueprint = createBlueprint('router', { src: ['core'] })
|
|
6263
|
+
*
|
|
6264
|
+
* blueprintToOptimizedDependencies(blueprint).includes("'@orkestrel/test/browser'") // true
|
|
6265
|
+
* ```
|
|
6266
|
+
*/
|
|
6267
|
+
function blueprintToOptimizedDependencies(blueprint) {
|
|
6268
|
+
const names = [
|
|
6269
|
+
"@orkestrel/test",
|
|
6270
|
+
"@orkestrel/test/browser",
|
|
6271
|
+
...[.../* @__PURE__ */ new Set([
|
|
6272
|
+
...Object.hasOwn(blueprintToDevDependencies(blueprint), "@orkestrel/contract") ? ["@orkestrel/contract"] : [],
|
|
6273
|
+
...blueprint.dependencies.map((dependency) => dependency.name),
|
|
6274
|
+
...blueprint.peers.map((peer) => peer.name)
|
|
6275
|
+
])].filter((name) => name.startsWith("@orkestrel/")).sort()
|
|
6276
|
+
];
|
|
6277
|
+
const inline = `\tinclude: [${names.map((name) => `'${name}'`).join(", ")}],`;
|
|
6278
|
+
return matchesPrintWidth(inline) ? `const optimizeDeps = {\n${inline}\n}\n\n` : `const optimizeDeps = {\n\tinclude: [\n${names.map((name) => `\t\t'${name}',`).join("\n")}\n\t],\n}\n\n`;
|
|
6279
|
+
}
|
|
6280
|
+
/**
|
|
6248
6281
|
* Compiles the root Vite and Vitest configuration for a blueprint.
|
|
6249
6282
|
*
|
|
6250
6283
|
* @param blueprint - The workspace specification.
|
|
@@ -6424,13 +6457,7 @@ ${projects.map((project) => `\t\t\t${project},`).join("\n")}
|
|
|
6424
6457
|
imports: imports.length === 0 ? "" : `${imports.join("\n")}\n`,
|
|
6425
6458
|
helpers: helpers.length === 0 ? "" : matchesPrintWidth(helperImport.trimEnd()) ? helperImport : `import {\n${helpers.map((helper) => `\t${helper},`).join("\n")}\n} from './configs/helpers.js'\n`,
|
|
6426
6459
|
browsers: machinery.browser ? "import { resolveBrowser, resolvePinnedBrowser } from './configs/browsers.js'\n" : "",
|
|
6427
|
-
options: (machinery.browser ?
|
|
6428
|
-
|
|
6429
|
-
const optimizeDeps = {\n\tinclude: ${JSON.stringify([
|
|
6430
|
-
"@orkestrel/test",
|
|
6431
|
-
"@orkestrel/test/browser",
|
|
6432
|
-
...Object.hasOwn(blueprintToDevDependencies(blueprint), "@orkestrel/contract") || blueprint.dependencies.some((dependency) => dependency.name === "@orkestrel/contract") || blueprint.peers.some((peer) => peer.name === "@orkestrel/contract") ? ["@orkestrel/contract"] : []
|
|
6433
|
-
]).replaceAll("\"", "'").replaceAll(",", ", ")},\n}\n\n` : "") + (blueprint.journey && blueprint.app.includes("browser") ? "const capture = process.env.CAPTURE === '1'\n\n" : "") + ((blueprint.journey || blueprint.showcase) && blueprint.app.includes("browser") ? `const applications = {\n\tbrowser: appBrowser,\n${blueprintToFaces(blueprint).filter((extension) => extension.surface === "browser" && extension.axes.includes("app")).map((extension) => `\t${extension.name}: app${extension.name[0]?.toUpperCase()}${extension.name.slice(1)},\n`).join("")}}\n\n` : ""),
|
|
6460
|
+
options: (machinery.browser ? "const browserOptions = resolveBrowser(resolvePinnedBrowser(), process.platform, process.env)\n\n" + blueprintToOptimizedDependencies(blueprint) : "") + (blueprint.journey && blueprint.app.includes("browser") ? "const capture = process.env.CAPTURE === '1'\n\n" : "") + ((blueprint.journey || blueprint.showcase) && blueprint.app.includes("browser") ? `const applications = {\n\tbrowser: appBrowser,\n${blueprintToFaces(blueprint).filter((extension) => extension.surface === "browser" && extension.axes.includes("app")).map((extension) => `\t${extension.name}: app${extension.name[0]?.toUpperCase()}${extension.name.slice(1)},\n`).join("")}}\n\n` : ""),
|
|
6434
6461
|
factories: body,
|
|
6435
6462
|
projects: projectRows
|
|
6436
6463
|
});
|
|
@@ -8779,6 +8806,7 @@ exports.blueprintToGuideArtifacts = blueprintToGuideArtifacts;
|
|
|
8779
8806
|
exports.blueprintToHostArtifacts = blueprintToHostArtifacts;
|
|
8780
8807
|
exports.blueprintToMachinery = blueprintToMachinery;
|
|
8781
8808
|
exports.blueprintToManifest = blueprintToManifest;
|
|
8809
|
+
exports.blueprintToOptimizedDependencies = blueprintToOptimizedDependencies;
|
|
8782
8810
|
exports.blueprintToOrchestrationArtifacts = blueprintToOrchestrationArtifacts;
|
|
8783
8811
|
exports.blueprintToProjects = blueprintToProjects;
|
|
8784
8812
|
exports.blueprintToQuestions = blueprintToQuestions;
|