@promptscript/cli 1.13.0 → 1.13.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.
Files changed (2) hide show
  1. package/index.js +194 -169
  2. package/package.json +3 -3
package/index.js CHANGED
@@ -4,11 +4,20 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __esm = (fn, res) => function __init() {
8
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
7
+ var __esm = (fn, res, err) => function __init() {
8
+ if (err) throw err[0];
9
+ try {
10
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
11
+ } catch (e) {
12
+ throw err = [e], e;
13
+ }
9
14
  };
10
15
  var __commonJS = (cb, mod) => function __require() {
11
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
16
+ try {
17
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
18
+ } catch (e) {
19
+ throw mod = 0, e;
20
+ }
12
21
  };
13
22
  var __export = (target, all) => {
14
23
  for (var name in all)
@@ -19889,9 +19898,9 @@ var require_dist = __commonJS({
19889
19898
  }
19890
19899
  });
19891
19900
 
19892
- // node_modules/.pnpm/toad-cache@3.7.0/node_modules/toad-cache/dist/toad-cache.cjs
19901
+ // node_modules/.pnpm/toad-cache@3.7.1/node_modules/toad-cache/dist/toad-cache.cjs
19893
19902
  var require_toad_cache = __commonJS({
19894
- "node_modules/.pnpm/toad-cache@3.7.0/node_modules/toad-cache/dist/toad-cache.cjs"(exports) {
19903
+ "node_modules/.pnpm/toad-cache@3.7.1/node_modules/toad-cache/dist/toad-cache.cjs"(exports) {
19895
19904
  "use strict";
19896
19905
  var FifoMap = class {
19897
19906
  constructor(max = 1e3, ttlInMsecs = 0) {
@@ -20002,6 +20011,155 @@ var require_toad_cache = __commonJS({
20002
20011
  this.last = item;
20003
20012
  }
20004
20013
  };
20014
+ var FifoObject = class {
20015
+ constructor(max = 1e3, ttlInMsecs = 0) {
20016
+ if (isNaN(max) || max < 0) {
20017
+ throw new Error("Invalid max value");
20018
+ }
20019
+ if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {
20020
+ throw new Error("Invalid ttl value");
20021
+ }
20022
+ this.first = null;
20023
+ this.items = /* @__PURE__ */ Object.create(null);
20024
+ this.last = null;
20025
+ this.size = 0;
20026
+ this.max = max;
20027
+ this.ttl = ttlInMsecs;
20028
+ }
20029
+ clear() {
20030
+ this.items = /* @__PURE__ */ Object.create(null);
20031
+ this.first = null;
20032
+ this.last = null;
20033
+ this.size = 0;
20034
+ }
20035
+ delete(key) {
20036
+ if (Object.prototype.hasOwnProperty.call(this.items, key)) {
20037
+ const deletedItem = this.items[key];
20038
+ delete this.items[key];
20039
+ this.size--;
20040
+ if (deletedItem.prev !== null) {
20041
+ deletedItem.prev.next = deletedItem.next;
20042
+ }
20043
+ if (deletedItem.next !== null) {
20044
+ deletedItem.next.prev = deletedItem.prev;
20045
+ }
20046
+ if (this.first === deletedItem) {
20047
+ this.first = deletedItem.next;
20048
+ }
20049
+ if (this.last === deletedItem) {
20050
+ this.last = deletedItem.prev;
20051
+ }
20052
+ }
20053
+ }
20054
+ deleteMany(keys) {
20055
+ for (var i = 0; i < keys.length; i++) {
20056
+ this.delete(keys[i]);
20057
+ }
20058
+ }
20059
+ evict() {
20060
+ if (this.size > 0) {
20061
+ const item = this.first;
20062
+ delete this.items[item.key];
20063
+ if (--this.size === 0) {
20064
+ this.first = null;
20065
+ this.last = null;
20066
+ } else {
20067
+ this.first = item.next;
20068
+ this.first.prev = null;
20069
+ }
20070
+ }
20071
+ }
20072
+ expiresAt(key) {
20073
+ if (Object.prototype.hasOwnProperty.call(this.items, key)) {
20074
+ return this.items[key].expiry;
20075
+ }
20076
+ }
20077
+ get(key) {
20078
+ if (Object.prototype.hasOwnProperty.call(this.items, key)) {
20079
+ const item = this.items[key];
20080
+ if (this.ttl > 0 && item.expiry <= Date.now()) {
20081
+ this.delete(key);
20082
+ return;
20083
+ }
20084
+ return item.value;
20085
+ }
20086
+ }
20087
+ getMany(keys) {
20088
+ const result = [];
20089
+ for (var i = 0; i < keys.length; i++) {
20090
+ result.push(this.get(keys[i]));
20091
+ }
20092
+ return result;
20093
+ }
20094
+ keys() {
20095
+ return Object.keys(this.items);
20096
+ }
20097
+ set(key, value) {
20098
+ if (Object.prototype.hasOwnProperty.call(this.items, key)) {
20099
+ const item2 = this.items[key];
20100
+ item2.value = value;
20101
+ item2.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;
20102
+ return;
20103
+ }
20104
+ if (this.max > 0 && this.size === this.max) {
20105
+ this.evict();
20106
+ }
20107
+ const item = {
20108
+ expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,
20109
+ key,
20110
+ prev: this.last,
20111
+ next: null,
20112
+ value
20113
+ };
20114
+ this.items[key] = item;
20115
+ if (++this.size === 1) {
20116
+ this.first = item;
20117
+ } else {
20118
+ this.last.next = item;
20119
+ }
20120
+ this.last = item;
20121
+ }
20122
+ };
20123
+ var HitStatisticsRecord = class {
20124
+ constructor() {
20125
+ this.records = {};
20126
+ }
20127
+ initForCache(cacheId, currentTimeStamp) {
20128
+ this.records[cacheId] = {
20129
+ [currentTimeStamp]: {
20130
+ cacheSize: 0,
20131
+ hits: 0,
20132
+ falsyHits: 0,
20133
+ emptyHits: 0,
20134
+ misses: 0,
20135
+ expirations: 0,
20136
+ evictions: 0,
20137
+ invalidateOne: 0,
20138
+ invalidateAll: 0,
20139
+ sets: 0
20140
+ }
20141
+ };
20142
+ }
20143
+ resetForCache(cacheId) {
20144
+ for (let key of Object.keys(this.records[cacheId])) {
20145
+ this.records[cacheId][key] = {
20146
+ cacheSize: 0,
20147
+ hits: 0,
20148
+ falsyHits: 0,
20149
+ emptyHits: 0,
20150
+ misses: 0,
20151
+ expirations: 0,
20152
+ evictions: 0,
20153
+ invalidateOne: 0,
20154
+ invalidateAll: 0,
20155
+ sets: 0
20156
+ };
20157
+ }
20158
+ }
20159
+ getStatistics() {
20160
+ return this.records;
20161
+ }
20162
+ };
20005
20163
  var LruMap = class {
20006
20164
  constructor(max = 1e3, ttlInMsecs = 0) {
20007
20165
  if (isNaN(max) || max < 0) {
@@ -20270,46 +20428,6 @@ var require_toad_cache = __commonJS({
20270
20428
  this.last = item;
20271
20429
  }
20272
20430
  };
20273
- var HitStatisticsRecord = class {
20274
- constructor() {
20275
- this.records = {};
20276
- }
20277
- initForCache(cacheId, currentTimeStamp) {
20278
- this.records[cacheId] = {
20279
- [currentTimeStamp]: {
20280
- cacheSize: 0,
20281
- hits: 0,
20282
- falsyHits: 0,
20283
- emptyHits: 0,
20284
- misses: 0,
20285
- expirations: 0,
20286
- evictions: 0,
20287
- invalidateOne: 0,
20288
- invalidateAll: 0,
20289
- sets: 0
20290
- }
20291
- };
20292
- }
20293
- resetForCache(cacheId) {
20294
- for (let key of Object.keys(this.records[cacheId])) {
20295
- this.records[cacheId][key] = {
20296
- cacheSize: 0,
20297
- hits: 0,
20298
- falsyHits: 0,
20299
- emptyHits: 0,
20300
- misses: 0,
20301
- expirations: 0,
20302
- evictions: 0,
20303
- invalidateOne: 0,
20304
- invalidateAll: 0,
20305
- sets: 0
20306
- };
20307
- }
20308
- }
20309
- getStatistics() {
20310
- return this.records;
20311
- }
20312
- };
20313
20431
  function getTimestamp(date) {
20314
20432
  return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, "0")}-${date.getDate().toString().padStart(2, "0")}`;
20315
20433
  }
@@ -20451,115 +20569,6 @@ var require_toad_cache = __commonJS({
20451
20569
  this.hitStatistics.addMiss();
20452
20570
  }
20453
20571
  };
20454
- var FifoObject = class {
20455
- constructor(max = 1e3, ttlInMsecs = 0) {
20456
- if (isNaN(max) || max < 0) {
20457
- throw new Error("Invalid max value");
20458
- }
20459
- if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {
20460
- throw new Error("Invalid ttl value");
20461
- }
20462
- this.first = null;
20463
- this.items = /* @__PURE__ */ Object.create(null);
20464
- this.last = null;
20465
- this.size = 0;
20466
- this.max = max;
20467
- this.ttl = ttlInMsecs;
20468
- }
20469
- clear() {
20470
- this.items = /* @__PURE__ */ Object.create(null);
20471
- this.first = null;
20472
- this.last = null;
20473
- this.size = 0;
20474
- }
20475
- delete(key) {
20476
- if (Object.prototype.hasOwnProperty.call(this.items, key)) {
20477
- const deletedItem = this.items[key];
20478
- delete this.items[key];
20479
- this.size--;
20480
- if (deletedItem.prev !== null) {
20481
- deletedItem.prev.next = deletedItem.next;
20482
- }
20483
- if (deletedItem.next !== null) {
20484
- deletedItem.next.prev = deletedItem.prev;
20485
- }
20486
- if (this.first === deletedItem) {
20487
- this.first = deletedItem.next;
20488
- }
20489
- if (this.last === deletedItem) {
20490
- this.last = deletedItem.prev;
20491
- }
20492
- }
20493
- }
20494
- deleteMany(keys) {
20495
- for (var i = 0; i < keys.length; i++) {
20496
- this.delete(keys[i]);
20497
- }
20498
- }
20499
- evict() {
20500
- if (this.size > 0) {
20501
- const item = this.first;
20502
- delete this.items[item.key];
20503
- if (--this.size === 0) {
20504
- this.first = null;
20505
- this.last = null;
20506
- } else {
20507
- this.first = item.next;
20508
- this.first.prev = null;
20509
- }
20510
- }
20511
- }
20512
- expiresAt(key) {
20513
- if (Object.prototype.hasOwnProperty.call(this.items, key)) {
20514
- return this.items[key].expiry;
20515
- }
20516
- }
20517
- get(key) {
20518
- if (Object.prototype.hasOwnProperty.call(this.items, key)) {
20519
- const item = this.items[key];
20520
- if (this.ttl > 0 && item.expiry <= Date.now()) {
20521
- this.delete(key);
20522
- return;
20523
- }
20524
- return item.value;
20525
- }
20526
- }
20527
- getMany(keys) {
20528
- const result = [];
20529
- for (var i = 0; i < keys.length; i++) {
20530
- result.push(this.get(keys[i]));
20531
- }
20532
- return result;
20533
- }
20534
- keys() {
20535
- return Object.keys(this.items);
20536
- }
20537
- set(key, value) {
20538
- if (Object.prototype.hasOwnProperty.call(this.items, key)) {
20539
- const item2 = this.items[key];
20540
- item2.value = value;
20541
- item2.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;
20542
- return;
20543
- }
20544
- if (this.max > 0 && this.size === this.max) {
20545
- this.evict();
20546
- }
20547
- const item = {
20548
- expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,
20549
- key,
20550
- prev: this.last,
20551
- next: null,
20552
- value
20553
- };
20554
- this.items[key] = item;
20555
- if (++this.size === 1) {
20556
- this.first = item;
20557
- } else {
20558
- this.last.next = item;
20559
- }
20560
- this.last = item;
20561
- }
20562
- };
20563
20572
  exports.Fifo = FifoObject;
20564
20573
  exports.FifoMap = FifoMap;
20565
20574
  exports.FifoObject = FifoObject;
@@ -20572,9 +20581,9 @@ var require_toad_cache = __commonJS({
20572
20581
  }
20573
20582
  });
20574
20583
 
20575
- // node_modules/.pnpm/@fastify+rate-limit@10.3.0/node_modules/@fastify/rate-limit/store/LocalStore.js
20584
+ // node_modules/.pnpm/@fastify+rate-limit@11.0.0/node_modules/@fastify/rate-limit/store/LocalStore.js
20576
20585
  var require_LocalStore = __commonJS({
20577
- "node_modules/.pnpm/@fastify+rate-limit@10.3.0/node_modules/@fastify/rate-limit/store/LocalStore.js"(exports, module) {
20586
+ "node_modules/.pnpm/@fastify+rate-limit@11.0.0/node_modules/@fastify/rate-limit/store/LocalStore.js"(exports, module) {
20578
20587
  "use strict";
20579
20588
  var { LruMap: Lru } = require_toad_cache();
20580
20589
  function LocalStore(continueExceeding, exponentialBackoff, cache = 5e3) {
@@ -20615,9 +20624,9 @@ var require_LocalStore = __commonJS({
20615
20624
  }
20616
20625
  });
20617
20626
 
20618
- // node_modules/.pnpm/@fastify+rate-limit@10.3.0/node_modules/@fastify/rate-limit/store/RedisStore.js
20627
+ // node_modules/.pnpm/@fastify+rate-limit@11.0.0/node_modules/@fastify/rate-limit/store/RedisStore.js
20619
20628
  var require_RedisStore = __commonJS({
20620
- "node_modules/.pnpm/@fastify+rate-limit@10.3.0/node_modules/@fastify/rate-limit/store/RedisStore.js"(exports, module) {
20629
+ "node_modules/.pnpm/@fastify+rate-limit@11.0.0/node_modules/@fastify/rate-limit/store/RedisStore.js"(exports, module) {
20621
20630
  "use strict";
20622
20631
  var lua = `
20623
20632
  -- Key to operate on
@@ -20673,9 +20682,9 @@ var require_RedisStore = __commonJS({
20673
20682
  }
20674
20683
  });
20675
20684
 
20676
- // node_modules/.pnpm/@fastify+rate-limit@10.3.0/node_modules/@fastify/rate-limit/index.js
20685
+ // node_modules/.pnpm/@fastify+rate-limit@11.0.0/node_modules/@fastify/rate-limit/index.js
20677
20686
  var require_rate_limit = __commonJS({
20678
- "node_modules/.pnpm/@fastify+rate-limit@10.3.0/node_modules/@fastify/rate-limit/index.js"(exports, module) {
20687
+ "node_modules/.pnpm/@fastify+rate-limit@11.0.0/node_modules/@fastify/rate-limit/index.js"(exports, module) {
20679
20688
  "use strict";
20680
20689
  var fp = require_plugin();
20681
20690
  var { parse: parse2, format: format2 } = require_dist();
@@ -20743,7 +20752,7 @@ var require_rate_limit = __commonJS({
20743
20752
  globalParams.timeWindow = defaultTimeWindow;
20744
20753
  }
20745
20754
  globalParams.hook = settings.hook || defaultHook;
20746
- globalParams.allowList = settings.allowList || settings.whitelist || null;
20755
+ globalParams.allowList = settings.allowList || null;
20747
20756
  globalParams.ban = Number.isFinite(settings.ban) && settings.ban >= 0 ? Math.trunc(settings.ban) : -1;
20748
20757
  globalParams.onBanReach = typeof settings.onBanReach === "function" ? settings.onBanReach : defaultOnFn;
20749
20758
  globalParams.onExceeding = typeof settings.onExceeding === "function" ? settings.onExceeding : defaultOnFn;
@@ -25922,16 +25931,31 @@ var Resolver = class {
25922
25931
  );
25923
25932
  } else {
25924
25933
  const discoverDir = isRoot ? cachePath : join8(cachePath, subPath);
25925
- this.logger.debug(`No .prs found, trying auto-discovery: ${discoverDir}`);
25926
- resolvedAST = await discoverNativeContent(discoverDir);
25927
- if (!resolvedAST) {
25928
- const where = isRoot ? "<repository root>" : `'${subPath}'`;
25929
- const hint = isRoot ? ` Specify a sub-path (e.g. ${repoUrl}/skills/<name>).` : "";
25934
+ if (!isRoot && !existsSync9(discoverDir)) {
25930
25935
  errors.push(
25931
25936
  new ResolveError(
25932
- `Cannot resolve registry import: no .prs file or native content at ${where} in ${repoUrl}.${hint}`
25937
+ `Cannot resolve registry import: path '${subPath}' does not exist in repository ${repoUrl}.`
25933
25938
  )
25934
25939
  );
25940
+ } else {
25941
+ this.logger.debug(
25942
+ `No .prs found, trying directory scan and auto-discovery: ${discoverDir}`
25943
+ );
25944
+ const dirResult = await this.tryDirectoryScan(discoverDir, [marker], []);
25945
+ if (dirResult?.ast) {
25946
+ resolvedAST = dirResult.ast;
25947
+ } else {
25948
+ resolvedAST = await discoverNativeContent(discoverDir);
25949
+ if (!resolvedAST) {
25950
+ const where = isRoot ? "<repository root>" : `'${subPath}'`;
25951
+ const hint = isRoot ? ` Specify a sub-path (e.g. ${repoUrl}/skills/<name>).` : "";
25952
+ errors.push(
25953
+ new ResolveError(
25954
+ `Cannot resolve registry import: no .prs file, .md file, or native content at ${where} in ${repoUrl}.${hint}`
25955
+ )
25956
+ );
25957
+ }
25958
+ }
25935
25959
  }
25936
25960
  }
25937
25961
  const result = {
@@ -27715,7 +27739,8 @@ var AUTHORITY_PATTERNS = [
27715
27739
  /\[?\s{0,10}PRIORITY\s{0,10}(?:OVERRIDE|ONE|ALPHA)\s{0,10}\]?/i,
27716
27740
  /\[?\s{0,10}EMERGENCY\s{0,10}(?:PROTOCOL|OVERRIDE|MODE)\s{0,10}\]?/i,
27717
27741
  // Warning suppression patterns
27718
- /(?:DO\s{1,10}NOT|NEVER|DON'?T)\s{1,10}(?:WARN|ALERT|NOTIFY|FLAG|REPORT)/i,
27742
+ // Removed because it triggers false positives on valid agent instructions (e.g., "do not notify user")
27743
+ // /(?:DO\s{1,10}NOT|NEVER|DON'?T)\s{1,10}(?:WARN|ALERT|NOTIFY|FLAG|REPORT)/i,
27719
27744
  /(?:DO\s{1,10}NOT|NEVER|DON'?T)\s{1,10}(?:PROVIDE|SHOW|DISPLAY|INCLUDE)\s{1,10}(?:SECURITY\s{1,10})?WARNINGS?/i,
27720
27745
  /(?:SUPPRESS|HIDE|DISABLE|REMOVE|SILENCE)\s{1,10}(?:ALL\s{1,10})?WARNINGS?/i,
27721
27746
  /(?:SUPPRESS|HIDE|DISABLE|REMOVE|SILENCE)\s{1,10}(?:ALL\s{1,10})?(?:SECURITY\s{1,10})?(?:ALERTS?|NOTIFICATIONS?)/i,
@@ -34150,7 +34175,7 @@ toad-cache/dist/toad-cache.cjs:
34150
34175
  (**
34151
34176
  * toad-cache
34152
34177
  *
34153
- * @copyright 2024 Igor Savin <kibertoad@gmail.com>
34178
+ * @copyright 2026 Igor Savin <kibertoad@gmail.com>
34154
34179
  * @license MIT
34155
34180
  * @version 3.7.0
34156
34181
  *)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptscript/cli",
3
- "version": "1.13.0",
3
+ "version": "1.13.1",
4
4
  "description": "CLI for PromptScript - standardize AI instructions across GitHub Copilot, Claude, Cursor and other AI tools",
5
5
  "keywords": [
6
6
  "cli",
@@ -40,12 +40,12 @@
40
40
  "node": ">=18"
41
41
  },
42
42
  "dependencies": {
43
- "@inquirer/prompts": "^8.4.3",
43
+ "@inquirer/prompts": "^8.5.2",
44
44
  "chalk": "^5.6.2",
45
45
  "chokidar": "^5.0.0",
46
46
  "commander": "^14.0.3",
47
47
  "ora": "^9.4.0",
48
- "prettier": "^3.8.3",
48
+ "prettier": "^3.8.4",
49
49
  "yaml": "^2.9.0",
50
50
  "simple-git": "3.36.0",
51
51
  "fastify": "^5.8.5",