incur 0.3.1 → 0.3.3
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/README.md +22 -26
- package/SKILL.md +17 -20
- package/dist/Cli.d.ts +1 -1
- package/dist/Cli.d.ts.map +1 -1
- package/dist/Cli.js +132 -24
- package/dist/Cli.js.map +1 -1
- package/dist/Fetch.d.ts.map +1 -1
- package/dist/Fetch.js.map +1 -1
- package/dist/Filter.js.map +1 -1
- package/dist/Help.js +21 -7
- package/dist/Help.js.map +1 -1
- package/dist/Openapi.d.ts.map +1 -1
- package/dist/Openapi.js +10 -2
- package/dist/Openapi.js.map +1 -1
- package/dist/Skill.d.ts.map +1 -1
- package/dist/Skill.js.map +1 -1
- package/package.json +1 -1
- package/src/Cli.test.ts +13 -24
- package/src/Cli.ts +211 -63
- package/src/Fetch.test.ts +3 -13
- package/src/Fetch.ts +1 -2
- package/src/Filter.ts +7 -3
- package/src/Help.test.ts +22 -2
- package/src/Help.ts +19 -5
- package/src/Openapi.test.ts +89 -32
- package/src/Openapi.ts +15 -6
- package/src/Skill.test.ts +1 -3
- package/src/Skill.ts +9 -2
- package/src/e2e.test.ts +79 -39
package/dist/Skill.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skill.d.ts","sourceRoot":"","sources":["../src/Skill.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAI5B,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACnC,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACtC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,CAAA;IAC9B,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,SAAS,CAAA;CACnE,CAAA;AAED,8DAA8D;AAC9D,MAAM,MAAM,IAAI,GAAG;IACjB,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAA;IACX,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,+DAA+D;AAC/D,wBAAgB,KAAK,
|
|
1
|
+
{"version":3,"file":"Skill.d.ts","sourceRoot":"","sources":["../src/Skill.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAI5B,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACnC,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACtC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,CAAA;IAC9B,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,SAAS,CAAA;CACnE,CAAA;AAED,8DAA8D;AAC9D,MAAM,MAAM,IAAI,GAAG;IACjB,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAA;IACX,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,+DAA+D;AAC/D,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,CAgBR;AAaD,kFAAkF;AAClF,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,MAAM,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,GACtC,MAAM,CAmBR;AAED,yDAAyD;AACzD,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,GACtC,IAAI,EAAE,CAkBR;AA2HD,kFAAkF;AAClF,wBAAgB,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAUpD"}
|
package/dist/Skill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skill.js","sourceRoot":"","sources":["../src/Skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAsBrC,+DAA+D;AAC/D,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,QAAuB,EAAE,WAAgC;IAC3F,MAAM,KAAK,GAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACrC,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;IAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IACvC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IACvC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAA;QAClC,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,QAAQ,IAAI,IAAI,CAAC,CAAA;IAC9C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,IAAI,2CAA2C,IAAI,6CAA6C,CAAC,CAAA;IACzH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,kEAAkE;AAClE,SAAS,cAAc,CAAC,GAAW,EAAE,GAAgB;IACnD,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAA;IACjC,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAkC,CAAA;IACzD,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAE,IAAI,CAAC,QAAiC,IAAI,EAAE,CAAC,CAAA;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACvF,OAAO,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;AACxC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,QAAQ,CACtB,IAAY,EACZ,QAAuB,EACvB,SAA8B,IAAI,GAAG,EAAE;IAEvC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEvF,MAAM,QAAQ,GAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACxC,IAAI,SAA6B,CAAA;IAEjC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAA;QACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS,GAAG,OAAO,CAAA;YACnB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,OAAO,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,OAAO,EAAE,CAAA;YACnF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,KAAK,CACnB,IAAY,EACZ,QAAuB,EACvB,KAAa,EACb,SAA8B,IAAI,GAAG,EAAE;IAEvC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;IAE/F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAA;IAChD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACvF,CAAC,CAAC,CAAA;AACN,CAAC;AAED,oEAAoE;AACpE,SAAS,WAAW,CAClB,GAAW,EACX,KAAa,EACb,IAAmB,EACnB,MAA2B,EAC3B,MAA2B;IAE3B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAA;IAC7E,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,IAAI,SAAS;QAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAChE,MAAM,WAAW,GACf,SAAS,CAAC,MAAM,GAAG,CAAC;QAClB,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,8BAA8B;QACvE,CAAC,CAAC,SAAS,KAAK,8BAA8B,CAAA;IAElD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,CAAA;IACnC,EAAE,CAAC,IAAI,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAA;IACtC,EAAE,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAA;IAC/B,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,EAAE,EAAE,KAAK,CAAC,CAAA;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC/E,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;AACtC,CAAC;AAED,8EAA8E;AAC9E,SAAS,iBAAiB,CAAC,GAAW,EAAE,GAAgB,EAAE,KAAK,GAAG,CAAC;IACjE,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAA;IACrC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAEtC,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAA;IACvC,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,IAAI,OAAO,GAAG,CAAC,WAAW,EAAE,CAAA;IACxD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEtB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IAExB,kBAAkB;IAClB,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAkC,CAAA;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAE,IAAI,CAAC,QAAiC,IAAI,EAAE,CAAC,CAAA;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAiE,CAAA;QACzF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;YAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;YAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAA;YACpC,OAAO,OAAO,GAAG,UAAU,IAAI,QAAQ,GAAG,MAAM,IAAI,IAAI,CAAA;QAC1D,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,IAAI,CACX,GAAG,GAAG,qGAAqG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7H,CAAA;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAkC,CAAA;QACxD,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAE,IAAI,CAAC,QAAiC,IAAI,EAAE,CAAC,CAAA;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAiE,CAAA;QACzF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;YAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;YAClC,MAAM,GAAG,GAAG,IAAI,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACnE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAA;YACpC,OAAO,OAAO,GAAG,UAAU,IAAI,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,IAAI,CAAA;QACvF,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,IAAI,CACX,GAAG,GAAG,qIAAqI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7J,CAAA;IACH,CAAC;IAED,gBAAgB;IAChB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAkC,CAAA;QAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAiE,CAAA;QACzF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;YAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;YAClC,MAAM,GAAG,GAAG,IAAI,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACnE,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAA;YACvC,MAAM,IAAI,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;YACtE,OAAO,SAAS,GAAG,UAAU,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,IAAI,CAAA;QAChF,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,IAAI,CACX,GAAG,GAAG,iGAAiG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzH,CAAA;IACH,CAAC;IAED,eAAe;IACf,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;QACzC,IAAI,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,cAAc,KAAK,EAAE,CAAC,CAAA;aAChD,CAAC;YACJ,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;YAC1C,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,sBAAsB,IAAI,IAAI,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,WAAW;IACX,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7D,OAAO,GAAG,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;QACzC,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,0BAA0B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC7E,CAAC;IAED,OAAO;IACP,IAAI,GAAG,CAAC,IAAI;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAE5C,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,IAAI,CAAC,QAAuB;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1D,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QACvD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QACnE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC,CAAC,CAAA;IACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACrF,CAAC;AAED,8GAA8G;AAC9G,SAAS,aAAa,CAAC,MAA+B,EAAE,MAAM,GAAG,EAAE;IACjE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAiE,CAAA;IAC3F,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAE,MAAM,CAAC,QAAiC,IAAI,EAAE,CAAC,CAAA;IAEzE,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;QAC9C,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QAC5C,MAAM,IAAI,GAAI,IAAI,CAAC,WAAsB,IAAI,EAAE,CAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,IAAI,QAAQ,GAAG,MAAM,IAAI,IAAI,CAAC,CAAA;QAE7D,+BAA+B;QAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACxC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAChC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,0BAA0B;YACzD,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAgC,CAAA;YACnD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,CAAA;gBAChD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAChC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,yFAAyF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;AACnH,CAAC;AAED,yEAAyE;AACzE,SAAS,eAAe,CAAC,IAAyC;IAChE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAA;IAC5C,IAAI,IAAI;QAAE,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;IACrD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Skill.js","sourceRoot":"","sources":["../src/Skill.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Cli.test.ts
CHANGED
|
@@ -2824,14 +2824,7 @@ describe('fetch', async () => {
|
|
|
2824
2824
|
const cli = Cli.create('test', { description: 'test' }).command('api', {
|
|
2825
2825
|
fetch: app.fetch,
|
|
2826
2826
|
})
|
|
2827
|
-
const { output } = await serve(cli, [
|
|
2828
|
-
'api',
|
|
2829
|
-
'users',
|
|
2830
|
-
'-X',
|
|
2831
|
-
'POST',
|
|
2832
|
-
'-d',
|
|
2833
|
-
'{"name":"Bob"}',
|
|
2834
|
-
])
|
|
2827
|
+
const { output } = await serve(cli, ['api', 'users', '-X', 'POST', '-d', '{"name":"Bob"}'])
|
|
2835
2828
|
expect(output).toMatchInlineSnapshot(`
|
|
2836
2829
|
"created: true
|
|
2837
2830
|
name: Bob
|
|
@@ -2843,12 +2836,7 @@ describe('fetch', async () => {
|
|
|
2843
2836
|
const cli = Cli.create('test', { description: 'test' }).command('api', {
|
|
2844
2837
|
fetch: app.fetch,
|
|
2845
2838
|
})
|
|
2846
|
-
const { output } = await serve(cli, [
|
|
2847
|
-
'api',
|
|
2848
|
-
'users',
|
|
2849
|
-
'--body',
|
|
2850
|
-
'{"name":"Eve"}',
|
|
2851
|
-
])
|
|
2839
|
+
const { output } = await serve(cli, ['api', 'users', '--body', '{"name":"Eve"}'])
|
|
2852
2840
|
expect(output).toMatchInlineSnapshot(`
|
|
2853
2841
|
"created: true
|
|
2854
2842
|
name: Eve
|
|
@@ -2860,13 +2848,7 @@ describe('fetch', async () => {
|
|
|
2860
2848
|
const cli = Cli.create('test', { description: 'test' }).command('api', {
|
|
2861
2849
|
fetch: app.fetch,
|
|
2862
2850
|
})
|
|
2863
|
-
const { output } = await serve(cli, [
|
|
2864
|
-
'api',
|
|
2865
|
-
'users',
|
|
2866
|
-
'1',
|
|
2867
|
-
'--method',
|
|
2868
|
-
'DELETE',
|
|
2869
|
-
])
|
|
2851
|
+
const { output } = await serve(cli, ['api', 'users', '1', '--method', 'DELETE'])
|
|
2870
2852
|
expect(output).toMatchInlineSnapshot(`
|
|
2871
2853
|
"deleted: true
|
|
2872
2854
|
id: 1
|
|
@@ -3151,7 +3133,8 @@ describe('fetch', () => {
|
|
|
3151
3133
|
options: z.object({ limit: z.coerce.number().default(10) }),
|
|
3152
3134
|
run: (c) => ({ limit: c.options.limit }),
|
|
3153
3135
|
})
|
|
3154
|
-
expect(await fetchJson(cli, new Request('http://localhost/users?limit=5')))
|
|
3136
|
+
expect(await fetchJson(cli, new Request('http://localhost/users?limit=5')))
|
|
3137
|
+
.toMatchInlineSnapshot(`
|
|
3155
3138
|
{
|
|
3156
3139
|
"body": {
|
|
3157
3140
|
"data": {
|
|
@@ -3292,7 +3275,10 @@ describe('fetch', () => {
|
|
|
3292
3275
|
expect(res.status).toBe(200)
|
|
3293
3276
|
expect(res.headers.get('content-type')).toBe('application/x-ndjson')
|
|
3294
3277
|
const text = await res.text()
|
|
3295
|
-
const lines = text
|
|
3278
|
+
const lines = text
|
|
3279
|
+
.trim()
|
|
3280
|
+
.split('\n')
|
|
3281
|
+
.map((l) => JSON.parse(l))
|
|
3296
3282
|
expect(lines).toMatchInlineSnapshot(`
|
|
3297
3283
|
[
|
|
3298
3284
|
{
|
|
@@ -3405,7 +3391,10 @@ describe('fetch', () => {
|
|
|
3405
3391
|
}
|
|
3406
3392
|
|
|
3407
3393
|
async function mcpRequest(cli: Cli.Cli<any, any, any>, body: unknown, sessionId?: string) {
|
|
3408
|
-
const headers: Record<string, string> = {
|
|
3394
|
+
const headers: Record<string, string> = {
|
|
3395
|
+
'content-type': 'application/json',
|
|
3396
|
+
accept: 'application/json, text/event-stream',
|
|
3397
|
+
}
|
|
3409
3398
|
if (sessionId) headers['mcp-session-id'] = sessionId
|
|
3410
3399
|
return cli.fetch(
|
|
3411
3400
|
new Request('http://localhost/mcp', {
|
package/src/Cli.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
+
import { estimateTokenCount, sliceByTokens } from 'tokenx'
|
|
1
2
|
import type { z } from 'zod'
|
|
2
3
|
|
|
3
|
-
import { estimateTokenCount, sliceByTokens } from 'tokenx'
|
|
4
4
|
import * as Completions from './Completions.js'
|
|
5
|
-
import * as Filter from './Filter.js'
|
|
6
5
|
import type { FieldError } from './Errors.js'
|
|
7
6
|
import { IncurError, ValidationError } from './Errors.js'
|
|
8
7
|
import * as Fetch from './Fetch.js'
|
|
9
|
-
import * as
|
|
8
|
+
import * as Filter from './Filter.js'
|
|
10
9
|
import * as Formatter from './Formatter.js'
|
|
11
10
|
import * as Help from './Help.js'
|
|
12
11
|
import { detectRunner } from './internal/pm.js'
|
|
13
12
|
import type { OneOf } from './internal/types.js'
|
|
14
13
|
import * as Mcp from './Mcp.js'
|
|
15
14
|
import type { Context as MiddlewareContext, Handler as MiddlewareHandler } from './middleware.js'
|
|
15
|
+
import * as Openapi from './Openapi.js'
|
|
16
16
|
export type { MiddlewareHandler }
|
|
17
17
|
import * as Parser from './Parser.js'
|
|
18
18
|
import type { Register } from './Register.js'
|
|
@@ -63,7 +63,13 @@ export type Cli<
|
|
|
63
63
|
/** Mounts a fetch handler as a command, optionally with OpenAPI spec for typed subcommands. */
|
|
64
64
|
<const name extends string>(
|
|
65
65
|
name: name,
|
|
66
|
-
definition: {
|
|
66
|
+
definition: {
|
|
67
|
+
basePath?: string | undefined
|
|
68
|
+
description?: string | undefined
|
|
69
|
+
fetch: FetchHandler
|
|
70
|
+
openapi?: Openapi.OpenAPISpec | undefined
|
|
71
|
+
outputPolicy?: OutputPolicy | undefined
|
|
72
|
+
},
|
|
67
73
|
): Cli<commands, vars, env>
|
|
68
74
|
}
|
|
69
75
|
/** A short description of the CLI. */
|
|
@@ -204,14 +210,16 @@ export function create(
|
|
|
204
210
|
// OpenAPI + fetch → generate typed command group (async, resolved before serve)
|
|
205
211
|
if (def.openapi) {
|
|
206
212
|
pending.push(
|
|
207
|
-
Openapi.generateCommands(def.openapi, def.fetch, { basePath: def.basePath }).then(
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
213
|
+
Openapi.generateCommands(def.openapi, def.fetch, { basePath: def.basePath }).then(
|
|
214
|
+
(generated) => {
|
|
215
|
+
commands.set(nameOrCli, {
|
|
216
|
+
_group: true,
|
|
217
|
+
description: def.description,
|
|
218
|
+
commands: generated as Map<string, CommandEntry>,
|
|
219
|
+
...(def.outputPolicy ? { outputPolicy: def.outputPolicy } : undefined),
|
|
220
|
+
} as InternalGroup)
|
|
221
|
+
},
|
|
222
|
+
),
|
|
215
223
|
)
|
|
216
224
|
return cli
|
|
217
225
|
}
|
|
@@ -786,7 +794,16 @@ async function serveImpl(
|
|
|
786
794
|
filtered.length === 0 && options.rootCommand
|
|
787
795
|
? { command: options.rootCommand, path: name, rest: [] as string[] }
|
|
788
796
|
: filtered.length === 0 && options.rootFetch
|
|
789
|
-
? {
|
|
797
|
+
? {
|
|
798
|
+
fetchGateway: {
|
|
799
|
+
_fetch: true as const,
|
|
800
|
+
fetch: options.rootFetch,
|
|
801
|
+
description: options.description,
|
|
802
|
+
},
|
|
803
|
+
middlewares: [] as MiddlewareHandler[],
|
|
804
|
+
path: name,
|
|
805
|
+
rest: [] as string[],
|
|
806
|
+
}
|
|
790
807
|
: resolveCommand(commands, filtered)
|
|
791
808
|
|
|
792
809
|
// --help on a fetch gateway → show fetch-specific help
|
|
@@ -916,7 +933,16 @@ async function serveImpl(
|
|
|
916
933
|
// Fall back to root fetch when no subcommand matches
|
|
917
934
|
const effective =
|
|
918
935
|
'error' in resolved && options.rootFetch && !resolved.path
|
|
919
|
-
? {
|
|
936
|
+
? {
|
|
937
|
+
fetchGateway: {
|
|
938
|
+
_fetch: true as const,
|
|
939
|
+
fetch: options.rootFetch,
|
|
940
|
+
description: options.description,
|
|
941
|
+
},
|
|
942
|
+
middlewares: [] as MiddlewareHandler[],
|
|
943
|
+
path: name,
|
|
944
|
+
rest: filtered,
|
|
945
|
+
}
|
|
920
946
|
: 'error' in resolved && options.rootCommand && !resolved.path
|
|
921
947
|
? { command: options.rootCommand, path: name, rest: filtered }
|
|
922
948
|
: resolved
|
|
@@ -928,7 +954,11 @@ async function serveImpl(
|
|
|
928
954
|
|
|
929
955
|
const filterPaths = filterOutput ? Filter.parse(filterOutput) : undefined
|
|
930
956
|
|
|
931
|
-
function truncate(s: string): {
|
|
957
|
+
function truncate(s: string): {
|
|
958
|
+
text: string
|
|
959
|
+
truncated: boolean
|
|
960
|
+
nextOffset?: number | undefined
|
|
961
|
+
} {
|
|
932
962
|
if (tokenLimit == null && tokenOffset == null) return { text: s, truncated: false }
|
|
933
963
|
const total = estimateTokenCount(s)
|
|
934
964
|
const offset = tokenOffset ?? 0
|
|
@@ -964,11 +994,12 @@ async function serveImpl(
|
|
|
964
994
|
if (verbose) {
|
|
965
995
|
if (tokenLimit != null || tokenOffset != null) {
|
|
966
996
|
// Truncate data separately so meta (including nextOffset) is always visible
|
|
967
|
-
const dataFormatted =
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
997
|
+
const dataFormatted =
|
|
998
|
+
output.ok && output.data != null
|
|
999
|
+
? Formatter.format(output.data, format)
|
|
1000
|
+
: !output.ok
|
|
1001
|
+
? Formatter.format(output.error, format)
|
|
1002
|
+
: ''
|
|
972
1003
|
const t = truncate(dataFormatted)
|
|
973
1004
|
if (t.truncated) {
|
|
974
1005
|
const envelope: Record<string, unknown> = output.ok
|
|
@@ -1070,9 +1101,12 @@ async function serveImpl(
|
|
|
1070
1101
|
ok: false,
|
|
1071
1102
|
error: {
|
|
1072
1103
|
code: `HTTP_${output.status}`,
|
|
1073
|
-
message:
|
|
1074
|
-
|
|
1075
|
-
|
|
1104
|
+
message:
|
|
1105
|
+
typeof output.data === 'object' && output.data !== null && 'message' in output.data
|
|
1106
|
+
? String((output.data as any).message)
|
|
1107
|
+
: typeof output.data === 'string'
|
|
1108
|
+
? output.data
|
|
1109
|
+
: `HTTP ${output.status}`,
|
|
1076
1110
|
},
|
|
1077
1111
|
meta: {
|
|
1078
1112
|
command: path,
|
|
@@ -1084,11 +1118,18 @@ async function serveImpl(
|
|
|
1084
1118
|
}
|
|
1085
1119
|
|
|
1086
1120
|
try {
|
|
1087
|
-
const cliEnv = options.envSchema
|
|
1121
|
+
const cliEnv = options.envSchema
|
|
1122
|
+
? Parser.parseEnv(options.envSchema, options.env ?? process.env)
|
|
1123
|
+
: {}
|
|
1088
1124
|
if (fetchMiddleware.length > 0) {
|
|
1089
1125
|
const varsMap: Record<string, unknown> = options.vars ? options.vars.parse({}) : {}
|
|
1090
|
-
const errorFn = (opts: {
|
|
1091
|
-
|
|
1126
|
+
const errorFn = (opts: {
|
|
1127
|
+
code: string
|
|
1128
|
+
exitCode?: number | undefined
|
|
1129
|
+
message: string
|
|
1130
|
+
retryable?: boolean | undefined
|
|
1131
|
+
cta?: CtaBlock | undefined
|
|
1132
|
+
}): never => ({ [sentinel]: 'error', ...opts }) as never
|
|
1092
1133
|
const mwCtx: MiddlewareContext = {
|
|
1093
1134
|
agent: !human,
|
|
1094
1135
|
command: path,
|
|
@@ -1097,7 +1138,9 @@ async function serveImpl(
|
|
|
1097
1138
|
format,
|
|
1098
1139
|
formatExplicit,
|
|
1099
1140
|
name,
|
|
1100
|
-
set(key: string, value: unknown) {
|
|
1141
|
+
set(key: string, value: unknown) {
|
|
1142
|
+
varsMap[key] = value
|
|
1143
|
+
},
|
|
1101
1144
|
var: varsMap,
|
|
1102
1145
|
version: options.version,
|
|
1103
1146
|
}
|
|
@@ -1107,13 +1150,23 @@ async function serveImpl(
|
|
|
1107
1150
|
const cta = formatCtaBlock(name, err.cta)
|
|
1108
1151
|
write({
|
|
1109
1152
|
ok: false,
|
|
1110
|
-
error: {
|
|
1111
|
-
|
|
1153
|
+
error: {
|
|
1154
|
+
code: err.code,
|
|
1155
|
+
message: err.message,
|
|
1156
|
+
...(err.retryable !== undefined ? { retryable: err.retryable } : undefined),
|
|
1157
|
+
},
|
|
1158
|
+
meta: {
|
|
1159
|
+
command: path,
|
|
1160
|
+
duration: `${Math.round(performance.now() - start)}ms`,
|
|
1161
|
+
...(cta ? { cta } : undefined),
|
|
1162
|
+
},
|
|
1112
1163
|
})
|
|
1113
1164
|
exit(err.exitCode ?? 1)
|
|
1114
1165
|
}
|
|
1115
1166
|
const composed = fetchMiddleware.reduceRight(
|
|
1116
|
-
(next: () => Promise<void>, mw) => async () => {
|
|
1167
|
+
(next: () => Promise<void>, mw) => async () => {
|
|
1168
|
+
handleMwSentinel(await mw(mwCtx, next))
|
|
1169
|
+
},
|
|
1117
1170
|
runFetch,
|
|
1118
1171
|
)
|
|
1119
1172
|
await composed()
|
|
@@ -1344,7 +1397,9 @@ async function serveImpl(
|
|
|
1344
1397
|
/** @internal Options for fetchImpl. */
|
|
1345
1398
|
declare namespace fetchImpl {
|
|
1346
1399
|
type Options = {
|
|
1347
|
-
mcpHandler?:
|
|
1400
|
+
mcpHandler?:
|
|
1401
|
+
| ((req: Request, commands: Map<string, CommandEntry>) => Promise<Response>)
|
|
1402
|
+
| undefined
|
|
1348
1403
|
middlewares?: MiddlewareHandler[] | undefined
|
|
1349
1404
|
rootCommand?: CommandDefinition<any, any, any> | undefined
|
|
1350
1405
|
vars?: z.ZodObject<any> | undefined
|
|
@@ -1358,9 +1413,8 @@ function createMcpHttpHandler(name: string, version: string) {
|
|
|
1358
1413
|
return async (req: Request, commands: Map<string, CommandEntry>): Promise<Response> => {
|
|
1359
1414
|
if (!transport) {
|
|
1360
1415
|
const { McpServer } = await import('@modelcontextprotocol/sdk/server/mcp.js')
|
|
1361
|
-
const { WebStandardStreamableHTTPServerTransport } =
|
|
1362
|
-
'@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js'
|
|
1363
|
-
)
|
|
1416
|
+
const { WebStandardStreamableHTTPServerTransport } =
|
|
1417
|
+
await import('@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js')
|
|
1364
1418
|
|
|
1365
1419
|
const server = new McpServer({ name, version })
|
|
1366
1420
|
|
|
@@ -1455,12 +1509,12 @@ async function fetchImpl(
|
|
|
1455
1509
|
|
|
1456
1510
|
// Parse options from search params (GET) or body (non-GET)
|
|
1457
1511
|
let inputOptions: Record<string, unknown> = {}
|
|
1458
|
-
if (req.method === 'GET')
|
|
1459
|
-
for (const [key, value] of url.searchParams) inputOptions[key] = value
|
|
1512
|
+
if (req.method === 'GET') for (const [key, value] of url.searchParams) inputOptions[key] = value
|
|
1460
1513
|
else {
|
|
1461
1514
|
try {
|
|
1462
1515
|
const contentType = req.headers.get('content-type') ?? ''
|
|
1463
|
-
if (contentType.includes('application/json'))
|
|
1516
|
+
if (contentType.includes('application/json'))
|
|
1517
|
+
inputOptions = (await req.json()) as Record<string, unknown>
|
|
1464
1518
|
} catch {}
|
|
1465
1519
|
}
|
|
1466
1520
|
|
|
@@ -1477,7 +1531,11 @@ async function fetchImpl(
|
|
|
1477
1531
|
if (options.rootCommand)
|
|
1478
1532
|
return executeCommand(name, options.rootCommand, [], inputOptions, start, options)
|
|
1479
1533
|
return jsonResponse(
|
|
1480
|
-
{
|
|
1534
|
+
{
|
|
1535
|
+
ok: false,
|
|
1536
|
+
error: { code: 'COMMAND_NOT_FOUND', message: 'No root command defined.' },
|
|
1537
|
+
meta: { command: '/', duration: `${Math.round(performance.now() - start)}ms` },
|
|
1538
|
+
},
|
|
1481
1539
|
404,
|
|
1482
1540
|
)
|
|
1483
1541
|
}
|
|
@@ -1486,18 +1544,31 @@ async function fetchImpl(
|
|
|
1486
1544
|
|
|
1487
1545
|
if ('error' in resolved)
|
|
1488
1546
|
return jsonResponse(
|
|
1489
|
-
{
|
|
1547
|
+
{
|
|
1548
|
+
ok: false,
|
|
1549
|
+
error: {
|
|
1550
|
+
code: 'COMMAND_NOT_FOUND',
|
|
1551
|
+
message: `'${resolved.error}' is not a command for '${resolved.path ? `${name} ${resolved.path}` : name}'.`,
|
|
1552
|
+
},
|
|
1553
|
+
meta: { command: resolved.error, duration: `${Math.round(performance.now() - start)}ms` },
|
|
1554
|
+
},
|
|
1490
1555
|
404,
|
|
1491
1556
|
)
|
|
1492
1557
|
|
|
1493
1558
|
if ('help' in resolved)
|
|
1494
1559
|
return jsonResponse(
|
|
1495
|
-
{
|
|
1560
|
+
{
|
|
1561
|
+
ok: false,
|
|
1562
|
+
error: {
|
|
1563
|
+
code: 'COMMAND_NOT_FOUND',
|
|
1564
|
+
message: `'${resolved.path}' is a command group. Specify a subcommand.`,
|
|
1565
|
+
},
|
|
1566
|
+
meta: { command: resolved.path, duration: `${Math.round(performance.now() - start)}ms` },
|
|
1567
|
+
},
|
|
1496
1568
|
404,
|
|
1497
1569
|
)
|
|
1498
1570
|
|
|
1499
|
-
if ('fetchGateway' in resolved)
|
|
1500
|
-
return resolved.fetchGateway.fetch(req)
|
|
1571
|
+
if ('fetchGateway' in resolved) return resolved.fetchGateway.fetch(req)
|
|
1501
1572
|
|
|
1502
1573
|
const { command, path, rest } = resolved
|
|
1503
1574
|
return executeCommand(path, command, rest, inputOptions, start, options)
|
|
@@ -1528,8 +1599,11 @@ async function executeCommand(
|
|
|
1528
1599
|
const parsedOptions = command.options ? command.options.parse(inputOptions) : {}
|
|
1529
1600
|
|
|
1530
1601
|
const okFn = (data: unknown): never => ({ [sentinel_]: 'ok', data }) as never
|
|
1531
|
-
const errorFn = (opts: {
|
|
1532
|
-
|
|
1602
|
+
const errorFn = (opts: {
|
|
1603
|
+
code: string
|
|
1604
|
+
message: string
|
|
1605
|
+
exitCode?: number | undefined
|
|
1606
|
+
}): never => ({ [sentinel_]: 'error', ...opts }) as never
|
|
1533
1607
|
|
|
1534
1608
|
const result = command.run({
|
|
1535
1609
|
agent: true,
|
|
@@ -1560,26 +1634,60 @@ async function executeCommand(
|
|
|
1560
1634
|
}
|
|
1561
1635
|
if (isSentinel(value) && (value as any)[sentinel] === 'error') {
|
|
1562
1636
|
const tagged = value as any
|
|
1563
|
-
controller.enqueue(
|
|
1637
|
+
controller.enqueue(
|
|
1638
|
+
encoder.encode(
|
|
1639
|
+
JSON.stringify({
|
|
1640
|
+
type: 'error',
|
|
1641
|
+
ok: false,
|
|
1642
|
+
error: { code: tagged.code, message: tagged.message },
|
|
1643
|
+
}) + '\n',
|
|
1644
|
+
),
|
|
1645
|
+
)
|
|
1564
1646
|
controller.close()
|
|
1565
1647
|
return
|
|
1566
1648
|
}
|
|
1567
|
-
controller.enqueue(
|
|
1649
|
+
controller.enqueue(
|
|
1650
|
+
encoder.encode(JSON.stringify({ type: 'chunk', data: value }) + '\n'),
|
|
1651
|
+
)
|
|
1568
1652
|
}
|
|
1569
1653
|
const meta: Record<string, unknown> = { command: path }
|
|
1570
1654
|
if (isSentinel(returnValue) && (returnValue as any)[sentinel] === 'error') {
|
|
1571
1655
|
const tagged = returnValue as any
|
|
1572
|
-
controller.enqueue(
|
|
1656
|
+
controller.enqueue(
|
|
1657
|
+
encoder.encode(
|
|
1658
|
+
JSON.stringify({
|
|
1659
|
+
type: 'error',
|
|
1660
|
+
ok: false,
|
|
1661
|
+
error: { code: tagged.code, message: tagged.message },
|
|
1662
|
+
}) + '\n',
|
|
1663
|
+
),
|
|
1664
|
+
)
|
|
1573
1665
|
} else {
|
|
1574
|
-
controller.enqueue(
|
|
1666
|
+
controller.enqueue(
|
|
1667
|
+
encoder.encode(JSON.stringify({ type: 'done', ok: true, meta }) + '\n'),
|
|
1668
|
+
)
|
|
1575
1669
|
}
|
|
1576
1670
|
} catch (error) {
|
|
1577
|
-
controller.enqueue(
|
|
1671
|
+
controller.enqueue(
|
|
1672
|
+
encoder.encode(
|
|
1673
|
+
JSON.stringify({
|
|
1674
|
+
type: 'error',
|
|
1675
|
+
ok: false,
|
|
1676
|
+
error: {
|
|
1677
|
+
code: 'UNKNOWN',
|
|
1678
|
+
message: error instanceof Error ? error.message : String(error),
|
|
1679
|
+
},
|
|
1680
|
+
}) + '\n',
|
|
1681
|
+
),
|
|
1682
|
+
)
|
|
1578
1683
|
}
|
|
1579
1684
|
controller.close()
|
|
1580
1685
|
},
|
|
1581
1686
|
})
|
|
1582
|
-
response = new Response(stream, {
|
|
1687
|
+
response = new Response(stream, {
|
|
1688
|
+
status: 200,
|
|
1689
|
+
headers: { 'content-type': 'application/x-ndjson' },
|
|
1690
|
+
})
|
|
1583
1691
|
return
|
|
1584
1692
|
}
|
|
1585
1693
|
|
|
@@ -1590,7 +1698,11 @@ async function executeCommand(
|
|
|
1590
1698
|
const tagged = awaited as any
|
|
1591
1699
|
if (tagged[sentinel_] === 'error')
|
|
1592
1700
|
response = jsonResponse(
|
|
1593
|
-
{
|
|
1701
|
+
{
|
|
1702
|
+
ok: false,
|
|
1703
|
+
error: { code: tagged.code, message: tagged.message },
|
|
1704
|
+
meta: { command: path, duration },
|
|
1705
|
+
},
|
|
1594
1706
|
500,
|
|
1595
1707
|
)
|
|
1596
1708
|
else
|
|
@@ -1601,19 +1713,24 @@ async function executeCommand(
|
|
|
1601
1713
|
return
|
|
1602
1714
|
}
|
|
1603
1715
|
|
|
1604
|
-
response = jsonResponse(
|
|
1605
|
-
{ ok: true, data: awaited, meta: { command: path, duration } },
|
|
1606
|
-
200,
|
|
1607
|
-
)
|
|
1716
|
+
response = jsonResponse({ ok: true, data: awaited, meta: { command: path, duration } }, 200)
|
|
1608
1717
|
}
|
|
1609
1718
|
|
|
1610
1719
|
try {
|
|
1611
1720
|
const allMiddleware = options.middlewares ?? []
|
|
1612
1721
|
if (allMiddleware.length > 0) {
|
|
1613
|
-
const errorFn = (opts: {
|
|
1722
|
+
const errorFn = (opts: {
|
|
1723
|
+
code: string
|
|
1724
|
+
message: string
|
|
1725
|
+
exitCode?: number | undefined
|
|
1726
|
+
}): never => {
|
|
1614
1727
|
const duration = `${Math.round(performance.now() - start)}ms`
|
|
1615
1728
|
response = jsonResponse(
|
|
1616
|
-
{
|
|
1729
|
+
{
|
|
1730
|
+
ok: false,
|
|
1731
|
+
error: { code: opts.code, message: opts.message },
|
|
1732
|
+
meta: { command: path, duration },
|
|
1733
|
+
},
|
|
1617
1734
|
500,
|
|
1618
1735
|
)
|
|
1619
1736
|
return undefined as never
|
|
@@ -1626,12 +1743,16 @@ async function executeCommand(
|
|
|
1626
1743
|
format: 'json',
|
|
1627
1744
|
formatExplicit: true,
|
|
1628
1745
|
name: path,
|
|
1629
|
-
set(key: string, value: unknown) {
|
|
1746
|
+
set(key: string, value: unknown) {
|
|
1747
|
+
varsMap[key] = value
|
|
1748
|
+
},
|
|
1630
1749
|
var: varsMap,
|
|
1631
1750
|
version: undefined,
|
|
1632
1751
|
}
|
|
1633
1752
|
const composed = allMiddleware.reduceRight(
|
|
1634
|
-
(next: () => Promise<void>, mw) => async () => {
|
|
1753
|
+
(next: () => Promise<void>, mw) => async () => {
|
|
1754
|
+
await mw(mwCtx, next)
|
|
1755
|
+
},
|
|
1635
1756
|
runCommand,
|
|
1636
1757
|
)
|
|
1637
1758
|
await composed()
|
|
@@ -1642,11 +1763,22 @@ async function executeCommand(
|
|
|
1642
1763
|
const duration = `${Math.round(performance.now() - start)}ms`
|
|
1643
1764
|
if (error instanceof ValidationError)
|
|
1644
1765
|
return jsonResponse(
|
|
1645
|
-
{
|
|
1766
|
+
{
|
|
1767
|
+
ok: false,
|
|
1768
|
+
error: { code: 'VALIDATION_ERROR', message: error.message },
|
|
1769
|
+
meta: { command: path, duration },
|
|
1770
|
+
},
|
|
1646
1771
|
400,
|
|
1647
1772
|
)
|
|
1648
1773
|
return jsonResponse(
|
|
1649
|
-
{
|
|
1774
|
+
{
|
|
1775
|
+
ok: false,
|
|
1776
|
+
error: {
|
|
1777
|
+
code: error instanceof IncurError ? error.code : 'UNKNOWN',
|
|
1778
|
+
message: error instanceof Error ? error.message : String(error),
|
|
1779
|
+
},
|
|
1780
|
+
meta: { command: path, duration },
|
|
1781
|
+
},
|
|
1650
1782
|
500,
|
|
1651
1783
|
)
|
|
1652
1784
|
}
|
|
@@ -1857,7 +1989,22 @@ function extractBuiltinFlags(argv: string[]) {
|
|
|
1857
1989
|
else rest.push(token)
|
|
1858
1990
|
}
|
|
1859
1991
|
|
|
1860
|
-
return {
|
|
1992
|
+
return {
|
|
1993
|
+
verbose,
|
|
1994
|
+
format,
|
|
1995
|
+
formatExplicit,
|
|
1996
|
+
filterOutput,
|
|
1997
|
+
tokenLimit,
|
|
1998
|
+
tokenOffset,
|
|
1999
|
+
tokenCount,
|
|
2000
|
+
llms,
|
|
2001
|
+
llmsFull,
|
|
2002
|
+
mcp,
|
|
2003
|
+
help,
|
|
2004
|
+
version,
|
|
2005
|
+
schema,
|
|
2006
|
+
rest,
|
|
2007
|
+
}
|
|
1861
2008
|
}
|
|
1862
2009
|
|
|
1863
2010
|
/** @internal Collects immediate child commands/groups for help output. */
|
|
@@ -2073,7 +2220,8 @@ async function handleStreaming(
|
|
|
2073
2220
|
}
|
|
2074
2221
|
}
|
|
2075
2222
|
if (useJsonl) ctx.writeln(JSON.stringify({ type: 'chunk', data: value }))
|
|
2076
|
-
else if (ctx.renderOutput)
|
|
2223
|
+
else if (ctx.renderOutput)
|
|
2224
|
+
ctx.writeln(ctx.truncate(Formatter.format(value, ctx.format)).text)
|
|
2077
2225
|
}
|
|
2078
2226
|
|
|
2079
2227
|
// Handle return value — error() or ok() sentinel
|