@doubao-dev/cli 0.0.14 → 0.0.15
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/bin/run.js +1 -1
- package/dist/1664.js +60 -0
- package/dist/180.js +1 -0
- package/dist/{bin/win32-x64/security_tasm_codec.exe → 1966.js} +0 -0
- package/dist/1966.js.LICENSE.txt +119 -0
- package/dist/2585.js +2 -0
- package/dist/318.js +1 -0
- package/dist/3551.js +1 -0
- package/dist/3997.js +2 -0
- package/dist/4880.js +1 -0
- package/dist/5418.js +3 -0
- package/dist/5732.js +1 -0
- package/dist/7410.js +2 -0
- package/dist/7410.js.LICENSE.txt +1 -0
- package/dist/7526.js +1 -0
- package/dist/@byted-doubao-apps/create.js +4 -5
- package/dist/@byted-doubao-apps/login.js +2 -3
- package/dist/@byted-doubao-apps/login~1.js +2 -0
- package/dist/@byted-doubao-apps/template-empty/package.json +3 -3
- package/dist/@byted-doubao-apps/template-starter/package.json +3 -3
- package/dist/@byted-hdt/cli.js +11 -12
- package/dist/@inquirer/select.js +1 -0
- package/dist/app.js +1 -2
- package/dist/assets/web-sdk-debugger/index.html +1 -1
- package/dist/assets/web-sdk-debugger/static/css/{index.4b84c01189.css → index.123e72a5bc.css} +1 -1
- package/dist/assets/web-sdk-debugger/static/js/index.019ceb233a.js +26 -0
- package/dist/assets/web-sdk-debugger/wsd/doubao-apps-api.template.js +0 -0
- package/dist/assets/web-sdk-debugger/wsd/doubao-apps-framework.template.js +0 -0
- package/dist/auth.js +1 -2
- package/dist/browser.js +1 -2
- package/dist/components-loader.js +2 -3
- package/dist/dbx-demo.js +2 -3
- package/dist/demo-server.js +3 -4
- package/dist/dev-service-client.js +16 -10
- package/dist/dev-service-client.js.LICENSE.txt +89 -0
- package/dist/dev-shell.js +5 -2
- package/dist/dev-shell.js.LICENSE.txt +59 -0
- package/dist/dev.js +18 -19
- package/dist/devtools.js +2 -0
- package/dist/devtools.js.LICENSE.txt +1 -0
- package/dist/environment.js +1 -0
- package/dist/eval.js +1 -2
- package/dist/get.js +1 -2
- package/dist/init.js +6 -7
- package/dist/login.js +1 -2
- package/dist/main.js +1 -0
- package/dist/manifest-mcp-config.js +1 -2
- package/dist/project-layout.js +1 -2
- package/dist/prompt.js +5 -6
- package/dist/push-page.js +1 -2
- package/dist/push-widget.js +1 -2
- package/dist/rslib-runtime.js +1 -2
- package/dist/sandbox.js +1 -2
- package/dist/sdk.js +76 -169
- package/dist/sdk.js.LICENSE.txt +1 -13
- package/dist/sdk~1.js +218 -0
- package/dist/sdk~1.js.LICENSE.txt +15 -0
- package/dist/skills.js +2 -3
- package/dist/static/404/404.html +455 -0
- package/dist/static/assets/package.json +137 -0
- package/dist/static/home_choose/chooseRegion.html +345 -0
- package/dist/static/openChrome.applescript +88 -0
- package/dist/status.js +2 -3
- package/dist/status~1.js +1 -2
- package/dist/stop.js +1 -2
- package/dist/update.js +1 -2
- package/dist/upgrade.js +1 -2
- package/dist/upload.js +7 -8
- package/dist/validate.js +1 -2
- package/dist/yaml.js +25 -0
- package/package.json +34 -35
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/01-/345/237/272/347/241/200.md +114 -7
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/02-/347/263/273/347/273/237.md +126 -0
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/06-/344/272/244/344/272/222.md +71 -0
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/08-/347/275/221/347/273/234.md +222 -0
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/10-/344/270/232/345/212/241/350/203/275/345/212/233.md +122 -0
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/groups.md +5 -5
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/quick-reference.md +7 -2
- package/dist/183.js +0 -2
- package/dist/564.js +0 -13
- package/dist/714.js +0 -1
- package/dist/assets/web-sdk-debugger/static/js/index.62b5cae841.js +0 -26
- package/dist/bin/darwin-arm64/security_tasm_codec +0 -0
- package/dist/bin/darwin-arm64/security_tasm_codec.sha256 +0 -1
- package/dist/bin/darwin-x64/security_tasm_codec +0 -0
- package/dist/bin/darwin-x64/security_tasm_codec.sha256 +0 -1
- package/dist/bin/linux-x64/security_tasm_codec +0 -0
- package/dist/bin/linux-x64/security_tasm_codec.sha256 +0 -1
- package/dist/bin/win32-x64/security_tasm_codec.exe.sha256 +0 -1
- package/dist/index.js +0 -1
- package/dist/package.json +0 -56
|
Binary file
|
|
Binary file
|
package/dist/auth.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import"node:module";import{whoami as e,getAuthOptions as t,startLogin as r,login as n,completeLogin as i,types_TokenStatus as o}from"./
|
|
2
|
-
//# sourceMappingURL=auth.js.map
|
|
1
|
+
import"node:module";import{whoami as e,getAuthOptions as t,startLogin as r,login as n,completeLogin as i,types_TokenStatus as o}from"./1664.js";async function a(e={}){return n(d(e))}async function s(e={}){return r(d(e))}async function u(e,t={}){return i(e,d(t))}async function l(t={}){return e(d(t))}function c(e){switch(e){case o.Pending:return"Waiting for authorization...";case o.SlowDown:return"Server requested slower polling; waiting longer...";case o.Authorized:return"Authorization completed.";case o.Expired:return"Authorization expired.";case o.Invalid:return"Authorization is invalid.";default:return`Authorization status: ${String(e)}`}}function d(e){var r,n,i;let o,a=t();return{...e,baseUrl:a.baseUrl,allowedOrigins:(r=a.allowedOrigins,[...new Set([...r??[],...e.allowedOrigins??[]])]),requestHeaders:(n=a.requestHeaders,i=e.requestHeaders,o=new Headers(n),i&&new Headers(i).forEach((e,t)=>{o.set(t,e)}),o)}}export{u as completeLogin,c as formatPollStatus,l as getAuthStatus,a as login,s as startLogin};
|
package/dist/browser.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import"node:module";import{execa as r}from"
|
|
2
|
-
//# sourceMappingURL=browser.js.map
|
|
1
|
+
import"node:module";import{execa as r}from"./1664.js";let n={async run(n){await r(n.command,n.args,{stdio:"ignore",windowsVerbatimArguments:n.windowsVerbatimArguments})}};async function a(r,o=n){await o.run(function(r,n=process.platform){switch(n){case"darwin":return{command:"open",args:[r]};case"win32":return{command:"cmd",args:["/c","start","",r],windowsVerbatimArguments:!0};default:return{command:"xdg-open",args:[r]}}}(r))}export{a as openUrlInBrowser};
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import"node:module";import e from"magic-string";import{parseSync as o,simple as t}from"./714.js";let a={button:"DoubaoButton",canvas:"DoubaoCanvas",map:"DoubaoMap","map-marker":"DoubaoMapMarker",markdown:"DoubaoMarkdown","navigation-bar":"DoubaoNavigationBar","long-image":"DoubaoLongImage","movable-area":"DoubaoMovableArea","movable-view":"DoubaoMovableView",popup:"DoubaoPopup",radio:"DoubaoRadio","radio-group":"DoubaoRadioGroup",slider:"DoubaoSlider",switch:"DoubaoSwitch",swiper:"DoubaoSwiper","swiper-item":"DoubaoSwiperItem","picker-column":"DoubaoPickerColumn","picker-divider":"DoubaoPickerDivider","picker-view":"DoubaoPickerView","theme-provider":"DoubaoThemeProvider",video:"DoubaoVideo","web-view":"DoubaoWebView",image:"DoubaoImage",input:"DoubaoInput",list:"DoubaoList","scroll-view":"DoubaoScrollView",svg:"DoubaoSvg",text:"DoubaoText",textarea:"DoubaoTextArea",view:"DoubaoView"};function r(e){return"Identifier"===e.type&&e.value in a?e.value:null}function i(e,o,t,a,r){if("Identifier"!==o.type)return;let i=r(o.span.start-a),n=r(o.span.end-a);e.overwrite(i,n,t)}export default function(n){let u=this.async();try{let{frameworkPackage:l="@byted-doubao-apps/framework"}=this.getOptions(),b=new e(n),p=o(n,{syntax:"typescript",tsx:!0,decorators:!0}),s=function(e){let o=0;for(;o<e.length;){let t=e[o];if(" "===t||" "===t||"\n"===t||"\r"===t||"\f"===t){o+=1;continue}if("/"===t&&"/"===e[o+1]){for(o+=2;o<e.length&&"\n"!==e[o];)o+=1;continue}if("/"===t&&"*"===e[o+1]){for(o+=2;o<e.length&&("*"!==e[o]||"/"!==e[o+1]);)o+=1;o<e.length&&(o+=2);continue}break}return Buffer.byteLength(e.slice(0,o))}(n),m=Math.max(0,p.span.start-s),f=function(e){let o=new Map([[0,0]]),t=0,a=0;for(let r of e)t+=Buffer.byteLength(r),a+=r.length,o.set(t,a);return e=>{let t=o.get(e);if(void 0===t)throw Error(`Unable to map byte offset ${e} to string index`);return t}}(n),c=new Set;if(t(p,{JSXOpeningElement(e){let o=r(e.name);if(!o)return;let t=a[o];i(b,e.name,t,m,f),c.add(t)},JSXClosingElement(e){let o=r(e.name);if(!o)return;let t=a[o];i(b,e.name,t,m,f),c.add(t)}}),c.size>0){let e=Array.from(c).map(e=>{let o=e.replace("Doubao","");return`${o} as ${e}`}).join(", "),o=`import { ${e} } from '${l}/components';
|
|
2
|
-
`;
|
|
3
|
-
//# sourceMappingURL=components-loader.js.map
|
|
1
|
+
import"node:module";import{__webpack_require__ as t}from"./rslib-runtime.js";import{walk_simple as e}from"./7526.js";import"./3551.js";var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=new Uint8Array(64),r=new Uint8Array(128);for(let t=0;t<i.length;t++){let e=i.charCodeAt(t);n[t]=e,r[e]=t}function s(t,e,i){let r=e-i;r=r<0?-r<<1|1:r<<1;do{let e=31&r;(r>>>=5)>0&&(e|=32),t.write(n[e])}while(r>0);return e}var o="u">typeof TextDecoder?new TextDecoder:"u">typeof Buffer?{decode:t=>Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString()}:{decode(t){let e="";for(let i=0;i<t.length;i++)e+=String.fromCharCode(t[i]);return e}},h=class{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(16384)}write(t){let{buffer:e}=this;e[this.pos++]=t,16384===this.pos&&(this.out+=o.decode(e),this.pos=0)}flush(){let{buffer:t,out:e,pos:i}=this;return i>0?e+o.decode(t.subarray(0,i)):e}};class l{constructor(t){this.bits=t instanceof l?t.bits.slice():[]}add(t){this.bits[t>>5]|=1<<(31&t)}has(t){return!!(this.bits[t>>5]&1<<(31&t))}}class a{constructor(t,e,i){this.start=t,this.end=e,this.original=i,this.intro="",this.outro="",this.content=i,this.storeName=!1,this.edited=!1,this.previous=null,this.next=null}appendLeft(t){this.outro+=t}appendRight(t){this.intro=this.intro+t}clone(){let t=new a(this.start,this.end,this.original);return t.intro=this.intro,t.outro=this.outro,t.content=this.content,t.storeName=this.storeName,t.edited=this.edited,t}contains(t){return this.start<t&&t<this.end}eachNext(t){let e=this;for(;e;)t(e),e=e.next}eachPrevious(t){let e=this;for(;e;)t(e),e=e.previous}edit(t,e,i){return this.content=t,i||(this.intro="",this.outro=""),this.storeName=e,this.edited=!0,this}prependLeft(t){this.outro=t+this.outro}prependRight(t){this.intro=t+this.intro}reset(){this.intro="",this.outro="",this.edited&&(this.content=this.original,this.storeName=!1,this.edited=!1)}split(t){let e=t-this.start,i=this.original.slice(0,e),n=this.original.slice(e);this.original=i;let r=new a(t,this.end,n);return r.outro=this.outro,this.outro="",this.end=t,this.edited?(r.edit("",!1),this.content=""):this.content=i,r.next=this.next,r.next&&(r.next.previous=r),r.previous=this,this.next=r,r}toString(){return this.intro+this.content+this.outro}trimEnd(t){if(this.outro=this.outro.replace(t,""),this.outro.length)return!0;let e=this.content.replace(t,"");return e.length?(e!==this.content&&(this.split(this.start+e.length).edit("",void 0,!0),this.edited&&this.edit(e,this.storeName,!0)),!0):(this.edit("",void 0,!0),this.intro=this.intro.replace(t,""),!!this.intro.length||void 0)}trimStart(t){if(this.intro=this.intro.replace(t,""),this.intro.length)return!0;let e=this.content.replace(t,"");if(e.length){if(e!==this.content){let t=this.split(this.end-e.length);this.edited&&t.edit(e,this.storeName,!0),this.edit("",void 0,!0)}return!0}if(this.edit("",void 0,!0),this.outro=this.outro.replace(t,""),this.outro.length)return!0}}let u="u">typeof globalThis&&"function"==typeof globalThis.btoa?t=>globalThis.btoa(unescape(encodeURIComponent(t))):"function"==typeof Buffer?t=>Buffer.from(t,"utf-8").toString("base64"):()=>{throw Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")};class d{constructor(t){this.version=3,this.file=t.file,this.sources=t.sources,this.sourcesContent=t.sourcesContent,this.names=t.names,this.mappings=function(t){let e=new h,i=0,n=0,r=0,o=0;for(let h=0;h<t.length;h++){let l=t[h];if(h>0&&e.write(59),0===l.length)continue;let a=0;for(let t=0;t<l.length;t++){let h=l[t];t>0&&e.write(44),a=s(e,h[0],a),1!==h.length&&(i=s(e,h[1],i),n=s(e,h[2],n),r=s(e,h[3],r),4!==h.length&&(o=s(e,h[4],o)))}}return e.flush()}(t.mappings),void 0!==t.x_google_ignoreList&&(this.x_google_ignoreList=t.x_google_ignoreList),void 0!==t.debugId&&(this.debugId=t.debugId)}toString(){return JSON.stringify(this)}toUrl(){return"data:application/json;charset=utf-8;base64,"+u(this.toString())}}let g=Object.prototype.toString;function f(t){let e=t.split("\n"),i=[];for(let t=0,n=0;t<e.length;t++)i.push(n),n+=e[t].length+1;return function(t){let e=0,n=i.length;for(;e<n;){let r=e+n>>1;t<i[r]?n=r:e=r+1}let r=e-1,s=t-i[r];return{line:r,column:s}}}let p=/\w/;class c{constructor(t){this.hires=t,this.generatedCodeLine=0,this.generatedCodeColumn=0,this.raw=[],this.rawSegments=this.raw[this.generatedCodeLine]=[],this.pending=null}addEdit(t,e,i,n){if(e.length){let r=e.length-1,s=e.indexOf("\n",0),o=-1;for(;s>=0&&r>s;){let r=[this.generatedCodeColumn,t,i.line,i.column];n>=0&&r.push(n),this.rawSegments.push(r),this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,o=s,s=e.indexOf("\n",s+1)}let h=[this.generatedCodeColumn,t,i.line,i.column];n>=0&&h.push(n),this.rawSegments.push(h),this.advance(e.slice(o+1))}else this.pending&&(this.rawSegments.push(this.pending),this.advance(e));this.pending=null}addUneditedChunk(t,e,i,n,r){let s=e.start,o=!0,h=!1;for(;s<e.end;){if("\n"===i[s])n.line+=1,n.column=0,this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,o=!0,h=!1;else{if(this.hires||o||r.has(s)){let e=[this.generatedCodeColumn,t,n.line,n.column];"boundary"===this.hires?p.test(i[s])?h||(this.rawSegments.push(e),h=!0):(this.rawSegments.push(e),h=!1):this.rawSegments.push(e)}n.column+=1,this.generatedCodeColumn+=1,o=!1}s+=1}this.pending=null}advance(t){if(!t)return;let e=t.split("\n");if(e.length>1){for(let t=0;t<e.length-1;t++)this.generatedCodeLine++,this.raw[this.generatedCodeLine]=this.rawSegments=[];this.generatedCodeColumn=0}this.generatedCodeColumn+=e[e.length-1].length}}let b={insertLeft:!1,insertRight:!1,storeName:!1};class m{constructor(t,e={}){let i=new a(0,t.length,t);Object.defineProperties(this,{original:{writable:!0,value:t},outro:{writable:!0,value:""},intro:{writable:!0,value:""},firstChunk:{writable:!0,value:i},lastChunk:{writable:!0,value:i},lastSearchedChunk:{writable:!0,value:i},byStart:{writable:!0,value:{}},byEnd:{writable:!0,value:{}},filename:{writable:!0,value:e.filename},indentExclusionRanges:{writable:!0,value:e.indentExclusionRanges},sourcemapLocations:{writable:!0,value:new l},storedNames:{writable:!0,value:{}},indentStr:{writable:!0,value:void 0},ignoreList:{writable:!0,value:e.ignoreList},offset:{writable:!0,value:e.offset||0}}),this.byStart[0]=i,this.byEnd[t.length]=i}addSourcemapLocation(t){this.sourcemapLocations.add(t)}append(t){if("string"!=typeof t)throw TypeError("outro content must be a string");return this.outro+=t,this}appendLeft(t,e){if(t+=this.offset,"string"!=typeof e)throw TypeError("inserted content must be a string");this._split(t);let i=this.byEnd[t];return i?i.appendLeft(e):this.intro+=e,this}appendRight(t,e){if(t+=this.offset,"string"!=typeof e)throw TypeError("inserted content must be a string");this._split(t);let i=this.byStart[t];return i?i.appendRight(e):this.outro+=e,this}clone(){let t=new m(this.original,{filename:this.filename,offset:this.offset}),e=this.firstChunk,i=t.firstChunk=t.lastSearchedChunk=e.clone();for(;e;){t.byStart[i.start]=i,t.byEnd[i.end]=i;let n=e.next,r=n&&n.clone();r&&(i.next=r,r.previous=i,i=r),e=n}return t.lastChunk=i,this.indentExclusionRanges&&(t.indentExclusionRanges=this.indentExclusionRanges.slice()),t.sourcemapLocations=new l(this.sourcemapLocations),t.intro=this.intro,t.outro=this.outro,t}generateDecodedMap(t){t=t||{};let e=Object.keys(this.storedNames),i=new c(t.hires),n=f(this.original);return this.intro&&i.advance(this.intro),this.firstChunk.eachNext(t=>{let r=n(t.start);t.intro.length&&i.advance(t.intro),t.edited?i.addEdit(0,t.content,r,t.storeName?e.indexOf(t.original):-1):i.addUneditedChunk(0,t,this.original,r,this.sourcemapLocations),t.outro.length&&i.advance(t.outro)}),this.outro&&i.advance(this.outro),{file:t.file?t.file.split(/[/\\]/).pop():void 0,sources:[t.source?function(t,e){let i=t.split(/[/\\]/),n=e.split(/[/\\]/);for(i.pop();i[0]===n[0];)i.shift(),n.shift();if(i.length){let t=i.length;for(;t--;)i[t]=".."}return i.concat(n).join("/")}(t.file||"",t.source):t.file||""],sourcesContent:t.includeContent?[this.original]:void 0,names:e,mappings:i.raw,x_google_ignoreList:this.ignoreList?[0]:void 0}}generateMap(t){return new d(this.generateDecodedMap(t))}_ensureindentStr(){let t,e,i;void 0===this.indentStr&&(this.indentStr=(e=(t=this.original.split("\n")).filter(t=>/^\t+/.test(t)),i=t.filter(t=>/^ {2,}/.test(t)),0===e.length&&0===i.length?null:e.length>=i.length?" ":Array(i.reduce((t,e)=>Math.min(/^ +/.exec(e)[0].length,t),1/0)+1).join(" ")))}_getRawIndentString(){return this._ensureindentStr(),this.indentStr}getIndentString(){return this._ensureindentStr(),null===this.indentStr?" ":this.indentStr}indent(t,e){var i;let n=/^[^\r\n]/gm;if(i=t,"[object Object]"===g.call(i)&&(e=t,t=void 0),void 0===t&&(this._ensureindentStr(),t=this.indentStr||" "),""===t)return this;let r={};(e=e||{}).exclude&&("number"==typeof e.exclude[0]?[e.exclude]:e.exclude).forEach(t=>{for(let e=t[0];e<t[1];e+=1)r[e]=!0});let s=!1!==e.indentStart,o=e=>s?`${t}${e}`:(s=!0,e);this.intro=this.intro.replace(n,o);let h=0,l=this.firstChunk;for(;l;){let e=l.end;if(l.edited)!r[h]&&(l.content=l.content.replace(n,o),l.content.length&&(s="\n"===l.content[l.content.length-1]));else for(h=l.start;h<e;){if(!r[h]){let e=this.original[h];"\n"===e?s=!0:"\r"!==e&&s&&(s=!1,h===l.start?l.prependRight(t):(this._splitChunk(l,h),(l=l.next).prependRight(t)))}h+=1}h=l.end,l=l.next}return this.outro=this.outro.replace(n,o),this}insert(){throw Error("magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)")}insertLeft(t,e){return b.insertLeft||(console.warn("magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead"),b.insertLeft=!0),this.appendLeft(t,e)}insertRight(t,e){return b.insertRight||(console.warn("magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead"),b.insertRight=!0),this.prependRight(t,e)}move(t,e,i){if(t+=this.offset,e+=this.offset,(i+=this.offset)>=t&&i<=e)throw Error("Cannot move a selection inside itself");this._split(t),this._split(e),this._split(i);let n=this.byStart[t],r=this.byEnd[e],s=n.previous,o=r.next,h=this.byStart[i];if(!h&&r===this.lastChunk)return this;let l=h?h.previous:this.lastChunk;return s&&(s.next=o),o&&(o.previous=s),l&&(l.next=n),h&&(h.previous=r),n.previous||(this.firstChunk=r.next),r.next||(this.lastChunk=n.previous,this.lastChunk.next=null),n.previous=l,r.next=h||null,l||(this.firstChunk=n),h||(this.lastChunk=r),this}overwrite(t,e,i,n){return n=n||{},this.update(t,e,i,{...n,overwrite:!n.contentOnly})}update(t,e,i,n){if(t+=this.offset,e+=this.offset,"string"!=typeof i)throw TypeError("replacement content must be a string");if(0!==this.original.length){for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length}if(e>this.original.length)throw Error("end is out of bounds");if(t===e)throw Error("Cannot overwrite a zero-length range – use appendLeft or prependRight instead");this._split(t),this._split(e),!0===n&&(b.storeName||(console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string"),b.storeName=!0),n={storeName:!0});let r=void 0!==n&&n.storeName,s=void 0!==n&&n.overwrite;if(r){let i=this.original.slice(t,e);Object.defineProperty(this.storedNames,i,{writable:!0,value:!0,enumerable:!0})}let o=this.byStart[t],h=this.byEnd[e];if(o){let t=o;for(;t!==h;){if(t.next!==this.byStart[t.end])throw Error("Cannot overwrite across a split point");(t=t.next).edit("",!1)}o.edit(i,r,!s)}else{let n=new a(t,e,"").edit(i,r);h.next=n,n.previous=h}return this}prepend(t){if("string"!=typeof t)throw TypeError("outro content must be a string");return this.intro=t+this.intro,this}prependLeft(t,e){if(t+=this.offset,"string"!=typeof e)throw TypeError("inserted content must be a string");this._split(t);let i=this.byEnd[t];return i?i.prependLeft(e):this.intro=e+this.intro,this}prependRight(t,e){if(t+=this.offset,"string"!=typeof e)throw TypeError("inserted content must be a string");this._split(t);let i=this.byStart[t];return i?i.prependRight(e):this.outro=e+this.outro,this}remove(t,e){if(t+=this.offset,e+=this.offset,0!==this.original.length){for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length}if(t===e)return this;if(t<0||e>this.original.length)throw Error("Character is out of bounds");if(t>e)throw Error("end must be greater than start");this._split(t),this._split(e);let i=this.byStart[t];for(;i;)i.intro="",i.outro="",i.edit(""),i=e>i.end?this.byStart[i.end]:null;return this}reset(t,e){if(t+=this.offset,e+=this.offset,0!==this.original.length){for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length}if(t===e)return this;if(t<0||e>this.original.length)throw Error("Character is out of bounds");if(t>e)throw Error("end must be greater than start");this._split(t),this._split(e);let i=this.byStart[t];for(;i;)i.reset(),i=e>i.end?this.byStart[i.end]:null;return this}lastChar(){if(this.outro.length)return this.outro[this.outro.length-1];let t=this.lastChunk;do{if(t.outro.length)return t.outro[t.outro.length-1];if(t.content.length)return t.content[t.content.length-1];if(t.intro.length)return t.intro[t.intro.length-1]}while(t=t.previous);return this.intro.length?this.intro[this.intro.length-1]:""}lastLine(){let t=this.outro.lastIndexOf("\n");if(-1!==t)return this.outro.substr(t+1);let e=this.outro,i=this.lastChunk;do{if(i.outro.length>0){if(-1!==(t=i.outro.lastIndexOf("\n")))return i.outro.substr(t+1)+e;e=i.outro+e}if(i.content.length>0){if(-1!==(t=i.content.lastIndexOf("\n")))return i.content.substr(t+1)+e;e=i.content+e}if(i.intro.length>0){if(-1!==(t=i.intro.lastIndexOf("\n")))return i.intro.substr(t+1)+e;e=i.intro+e}}while(i=i.previous);return -1!==(t=this.intro.lastIndexOf("\n"))?this.intro.substr(t+1)+e:this.intro+e}slice(t=0,e=this.original.length-this.offset){if(t+=this.offset,e+=this.offset,0!==this.original.length){for(;t<0;)t+=this.original.length;for(;e<0;)e+=this.original.length}let i="",n=this.firstChunk;for(;n&&(n.start>t||n.end<=t);){if(n.start<e&&n.end>=e)return i;n=n.next}if(n&&n.edited&&n.start!==t)throw Error(`Cannot use replaced character ${t} as slice start anchor.`);let r=n;for(;n;){n.intro&&(r!==n||n.start===t)&&(i+=n.intro);let s=n.start<e&&n.end>=e;if(s&&n.edited&&n.end!==e)throw Error(`Cannot use replaced character ${e} as slice end anchor.`);let o=r===n?t-n.start:0,h=s?n.content.length+e-n.end:n.content.length;if(i+=n.content.slice(o,h),n.outro&&(!s||n.end===e)&&(i+=n.outro),s)break;n=n.next}return i}snip(t,e){let i=this.clone();return i.remove(0,t),i.remove(e,i.original.length),i}_split(t){if(this.byStart[t]||this.byEnd[t])return;let e=this.lastSearchedChunk,i=e,n=t>e.end;for(;e;){if(e.contains(t))return this._splitChunk(e,t);if((e=n?this.byStart[e.end]:this.byEnd[e.start])===i)return;i=e}}_splitChunk(t,e){if(t.edited&&t.content.length){let i=f(this.original)(e);throw Error(`Cannot split a chunk that has already been edited (${i.line}:${i.column} – "${t.original}")`)}let i=t.split(e);return this.byEnd[e]=t,this.byStart[e]=i,this.byEnd[i.end]=i,t===this.lastChunk&&(this.lastChunk=i),this.lastSearchedChunk=t,!0}toString(){let t=this.intro,e=this.firstChunk;for(;e;)t+=e.toString(),e=e.next;return t+this.outro}isEmpty(){let t=this.firstChunk;do if(t.intro.length&&t.intro.trim()||t.content.length&&t.content.trim()||t.outro.length&&t.outro.trim())return!1;while(t=t.next);return!0}length(){let t=this.firstChunk,e=0;do e+=t.intro.length+t.content.length+t.outro.length;while(t=t.next);return e}trimLines(){return this.trim("[\\r\\n]")}trim(t){return this.trimStart(t).trimEnd(t)}trimEndAborted(t){let e=RegExp((t||"\\s")+"+$");if(this.outro=this.outro.replace(e,""),this.outro.length)return!0;let i=this.lastChunk;do{let t=i.end,n=i.trimEnd(e);if(i.end!==t&&(this.lastChunk===i&&(this.lastChunk=i.next),this.byEnd[i.end]=i,this.byStart[i.next.start]=i.next,this.byEnd[i.next.end]=i.next),n)return!0;i=i.previous}while(i);return!1}trimEnd(t){return this.trimEndAborted(t),this}trimStartAborted(t){let e=RegExp("^"+(t||"\\s")+"+");if(this.intro=this.intro.replace(e,""),this.intro.length)return!0;let i=this.firstChunk;do{let t=i.end,n=i.trimStart(e);if(i.end!==t&&(i===this.lastChunk&&(this.lastChunk=i.next),this.byEnd[i.end]=i,this.byStart[i.next.start]=i.next,this.byEnd[i.next.end]=i.next),n)return!0;i=i.next}while(i);return!1}trimStart(t){return this.trimStartAborted(t),this}hasChanged(){return this.original!==this.toString()}_replaceRegexp(t,e){function i(t,i){return"string"==typeof e?e.replace(/\$(\$|&|\d+)/g,(e,i)=>"$"===i?"$":"&"===i?t[0]:+i<t.length?t[+i]:`$${i}`):e(...t,t.index,i,t.groups)}if(t.global)(function(t,e){let i,n=[];for(;i=t.exec(e);)n.push(i);return n})(t,this.original).forEach(t=>{if(null!=t.index){let e=i(t,this.original);e!==t[0]&&this.overwrite(t.index,t.index+t[0].length,e)}});else{let e=this.original.match(t);if(e&&null!=e.index){let t=i(e,this.original);t!==e[0]&&this.overwrite(e.index,e.index+e[0].length,t)}}return this}_replaceString(t,e){let{original:i}=this,n=i.indexOf(t);return -1!==n&&("function"==typeof e&&(e=e(t,n,i)),t!==e&&this.overwrite(n,n+t.length,e)),this}replace(t,e){return"string"==typeof t?this._replaceString(t,e):this._replaceRegexp(t,e)}_replaceAllString(t,e){let{original:i}=this,n=t.length;for(let r=i.indexOf(t);-1!==r;r=i.indexOf(t,r+n)){let t=i.slice(r,r+n),s=e;"function"==typeof e&&(s=e(t,r,i)),t!==s&&this.overwrite(r,r+n,s)}return this}replaceAll(t,e){if("string"==typeof t)return this._replaceAllString(t,e);if(!t.global)throw TypeError("MagicString.prototype.replaceAll called with a non-global RegExp argument");return this._replaceRegexp(t,e)}}Object.prototype.hasOwnProperty;let w=t("../../../node_modules/.pnpm/@swc+core@1.15.11_@swc+helpers@0.5.23/node_modules/@swc/core/index.js"),v={button:"DoubaoButton",canvas:"DoubaoCanvas",map:"DoubaoMap","map-marker":"DoubaoMapMarker",markdown:"DoubaoMarkdown","navigation-bar":"DoubaoNavigationBar","long-image":"DoubaoLongImage","movable-area":"DoubaoMovableArea","movable-view":"DoubaoMovableView",popup:"DoubaoPopup",radio:"DoubaoRadio","radio-group":"DoubaoRadioGroup",slider:"DoubaoSlider",switch:"DoubaoSwitch",swiper:"DoubaoSwiper","swiper-item":"DoubaoSwiperItem","picker-column":"DoubaoPickerColumn","picker-divider":"DoubaoPickerDivider","picker-view":"DoubaoPickerView","theme-provider":"DoubaoThemeProvider",video:"DoubaoVideo","web-view":"DoubaoWebView",image:"DoubaoImage",input:"DoubaoInput",list:"DoubaoList","scroll-view":"DoubaoScrollView",svg:"DoubaoSvg",text:"DoubaoText",textarea:"DoubaoTextArea",view:"DoubaoView"};function S(t){return"Identifier"===t.type&&t.value in v?t.value:null}function C(t,e,i,n,r){if("Identifier"!==e.type)return;let s=r(e.span.start-n),o=r(e.span.end-n);t.overwrite(s,o,i)}export default function(t){let i=this.async();try{let{frameworkPackage:n="@byted-doubao-apps/framework"}=this.getOptions(),r=new m(t),s=(0,w.parseSync)(t,{syntax:"typescript",tsx:!0,decorators:!0}),o=function(t){let e=0;for(;e<t.length;){let i=t[e];if(" "===i||" "===i||"\n"===i||"\r"===i||"\f"===i){e+=1;continue}if("/"===i&&"/"===t[e+1]){for(e+=2;e<t.length&&"\n"!==t[e];)e+=1;continue}if("/"===i&&"*"===t[e+1]){for(e+=2;e<t.length&&("*"!==t[e]||"/"!==t[e+1]);)e+=1;e<t.length&&(e+=2);continue}break}return Buffer.byteLength(t.slice(0,e))}(t),h=Math.max(0,s.span.start-o),l=function(t){let e=new Map([[0,0]]),i=0,n=0;for(let r of t)i+=Buffer.byteLength(r),n+=r.length,e.set(i,n);return t=>{let i=e.get(t);if(void 0===i)throw Error(`Unable to map byte offset ${t} to string index`);return i}}(t),a=new Set;if(e(s,{JSXOpeningElement(t){let e=S(t.name);if(!e)return;let i=v[e];C(r,t.name,i,h,l),a.add(i)},JSXClosingElement(t){let e=S(t.name);if(!e)return;let i=v[e];C(r,t.name,i,h,l),a.add(i)}}),a.size>0){let t=Array.from(a).map(t=>{let e=t.replace("Doubao","");return`${e} as ${t}`}).join(", "),e=`import { ${t} } from '${n}/components';
|
|
2
|
+
`;r.prepend(e)}if(r.hasChanged()){let t=r.toString(),e=r.generateMap({includeContent:!0,hires:!0,source:this.resourcePath,file:this.resourcePath});i(null,t,e)}else i(null,t)}catch(e){i(null,t)}};
|
package/dist/dbx-demo.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import"node:module";import e
|
|
2
|
-
`,"utf8")}function
|
|
3
|
-
//# sourceMappingURL=dbx-demo.js.map
|
|
1
|
+
import"node:module";import{__webpack_require__ as e}from"./rslib-runtime.js";import"./1664.js";let t=e("node:fs");var r=e.n(t);let i=e("node:path");var n=e.n(i);let a=e("node:url"),o=n().dirname((0,a.fileURLToPath)(import.meta.url)),p=["taxi","milk-tea"];function s(e){if("taxi"===e)return m;if("milk-tea"===e)return y;throw Error(`unknown demo: ${e}. Supported demos: ${p.join(", ")}`)}function _(e){return p.includes(e)}function d(e,t){return n().join(n().resolve(e),".dbx","mcp-demo-server",`${t}.json`)}function c(e,t){let i=d(e,t.demo);r().mkdirSync(n().dirname(i),{recursive:!0}),r().writeFileSync(i,`${JSON.stringify(t,null,2)}
|
|
2
|
+
`,"utf8")}function u(e,t){let i=d(e,t);if(r().existsSync(i))try{return JSON.parse(r().readFileSync(i,"utf8"))}catch{return}}function l(e,t,i){let n=d(e,t);if(r().existsSync(n)){if(i){let r=u(e,t);if(r?.origin!==i)return}r().rmSync(n,{force:!0})}}let m={name:"taxi",appKey:"db_app_api_test_taxi",appName:"打车测试智能服务",serverName:"dbx-taxi-demo-mcp",tools:[{name:"Taxi_search",description:"搜索可用打车方案,返回 plan_id、车型、价格、距离和预计到达时间。",inputSchema:{type:"object",properties:{destination:{type:"string",description:"目的地"},preference:{type:"string",description:"车型或偏好,例如惠选、快车、商务"}},required:["destination"]}},{name:"Taxi_order",description:"根据 plan_id 发起打车订单,返回可出卡的智能服务订单实体。",inputSchema:{type:"object",properties:{plan_id:{type:"string",description:"Taxi_search 返回的方案 ID"},destination:{type:"string",description:"目的地"}},required:["plan_id"]}}],callTool:function(e,t){if("Taxi_search"===e){let e=x(t.destination)||"北京南站",r=x(t.preference)||"惠选";return{content:[{type:"text",text:`找到 2 个去${e}的${r}打车方案。`}],structuredContent:{plans:[{plan_id:"plan_demo_001",car_type:r,price_yuan:48.5,distance_km:12.8,eta_min:6},{plan_id:"plan_demo_002",car_type:"快车",price_yuan:55,distance_km:12.8,eta_min:4}]},isError:!1}}if("Taxi_order"===e){let e=x(t.destination)||"北京南站",r=x(t.plan_id)||"plan_demo_001";return{content:[{type:"text",text:`已为你创建去${e}的打车订单。`}],structuredContent:{entities:[{entity_type:"product",product_id:`taxi_order_${r}`,name:`去${e}的打车订单`,car_type:"惠选",price_yuan:48.5,status:"已下单"}]},isError:!1}}return{content:[{type:"text",text:`unknown tool: ${e}`}],isError:!0}},evalCase:{app_key:"doubao-api-test-taxi",app_name:"打车测试智能服务",query:"帮我叫一辆惠选去北京南站,直接下单",history_messages:[{role:"USER",content:"上一轮:你能调用智能服务工具吗?"},{role:"ASSISTANT",content:"可以,我会等待工具调用结果再继续回答。"}],skill:f("taxi","SKILL.md"),manifest:f("taxi","manifest.yaml"),max_step:15,expect:{tool_calls:["Taxi_search","Taxi_order"],card:{widget_id:"tpl.taxi_order",min_count:1}}}},y={name:"milk-tea",appKey:"db_app_api_test_milk_tea",appName:"奶茶测试智能服务",serverName:"dbx-milk-tea-demo-mcp",tools:[{name:"MilkTea_search",description:"根据口味、场景和偏好搜索奶茶商品,返回 sku_id、名称、甜度、价格和推荐理由。",inputSchema:{type:"object",properties:{query:{type:"string",description:"用户想喝的饮品或场景,例如下午提神、少糖奶茶"},sugar:{type:"string",description:"甜度偏好,例如少糖、半糖、无糖"}},required:["query"]}},{name:"MilkTea_order",description:"根据 sku_id 创建奶茶订单,返回可出卡的智能服务订单实体。",inputSchema:{type:"object",properties:{sku_id:{type:"string",description:"MilkTea_search 返回的商品 ID"},sugar:{type:"string",description:"甜度"}},required:["sku_id"]}}],callTool:function(e,t){if("MilkTea_search"===e){let e=x(t.query)||"下午提神少糖奶茶",r=x(t.sugar)||"少糖";return{content:[{type:"text",text:`找到 3 个适合「${e}」的${r}奶茶选项。`}],structuredContent:{products:[{sku_id:"tea_demo_001",name:"冷萃乌龙奶茶",sugar:r,price_yuan:18,selling_point:"茶香明显,适合下午提神"},{sku_id:"tea_demo_002",name:"茉莉轻乳茶",sugar:r,price_yuan:16,selling_point:"口感清爽,负担较低"},{sku_id:"tea_demo_003",name:"厚乳拿铁奶茶",sugar:"半糖",price_yuan:21,selling_point:"奶香更足,提神感更强"}]},isError:!1}}if("MilkTea_order"===e){var r;let e=x(t.sku_id)||"tea_demo_001",i=x(t.sugar)||"少糖",n=("number"==typeof(r=t.quantity)&&Number.isFinite(r)?r:0)||1;return{content:[{type:"text",text:`已为你下单 ${n} 杯${i}冷萃乌龙奶茶。`}],structuredContent:{entities:[{entity_type:"product",product_id:`milk_tea_order_${e}`,name:"冷萃乌龙奶茶",sugar:i,quantity:n,price_yuan:18*n,status:"已下单",selling_point:"茶香明显,适合下午提神"}]},isError:!1}}return{content:[{type:"text",text:`unknown tool: ${e}`}],isError:!0}},evalCase:{app_key:"doubao-api-test-milk-tea",app_name:"奶茶测试智能服务",query:"我想点一杯适合下午提神的少糖奶茶,直接下单",history_messages:[{role:"USER",content:"上一轮:你能帮我点饮品吗?"},{role:"ASSISTANT",content:"可以,我会先查找合适饮品,再根据你的确认或明确下单意图创建订单。"}],skill:f("milk-tea","SKILL.md"),manifest:f("milk-tea","manifest.yaml"),max_step:15,expect:{tool_calls:["MilkTea_search","MilkTea_order"],card:{widget_id:"tpl.milk_tea_order",min_count:1}}}};function x(e){return"string"==typeof e?e:""}function f(e,t){return r().readFileSync(n().join(o,"demos",`${e}.${t}`),"utf8")}export{p as DBX_DEMO_NAMES,s as getDBXDemo,_ as isDBXDemoName,u as readDBXDemoServerState,l as removeDBXDemoServerState,c as writeDBXDemoServerState};
|
package/dist/demo-server.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import"node:module";import{__webpack_require__ as e}from"./rslib-runtime.js";import{
|
|
2
|
-
`),
|
|
1
|
+
import"node:module";import{__webpack_require__ as e}from"./rslib-runtime.js";import{parseInteger as t,runCommand as o,command_Command as r,option_Option as s,isRecord as n}from"./1664.js";import{writeDBXDemoServerState as a,DBX_DEMO_NAMES as i,getDBXDemo as d,removeDBXDemoServerState as l}from"./dbx-demo.js";var m={};e.r(m),e.d(m,{default:()=>_});let c=e("node:http");var p=e.n(c);let h=e("node:crypto");async function f(e){let t=d(e.demo),o=new Map,r=p().createServer(async(r,s)=>{try{let n=new URL(r.url||"/",`http://${r.headers.host||`${e.host}:${e.port}`}`);if("POST"===r.method&&"/mcp"===v(n.pathname)){let o=await g(r);e.log?.(`[mcp] ${o.method||"-"} ${w(o)}`);let n=u(t,o);if(!n){s.writeHead(202),s.end();return}s.writeHead(200,{"content-type":"application/json","mcp-session-id":`demo-${t.name}-session`}),s.end(JSON.stringify(n));return}if("GET"===r.method&&"/sse"===v(n.pathname)){let t=(0,h.randomUUID)();s.writeHead(200,{"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive"});let n={write:(e,t)=>{s.write(`event: ${e}
|
|
2
|
+
`),s.write(`data: ${"string"==typeof t?t:JSON.stringify(t)}
|
|
3
3
|
|
|
4
|
-
`)},close:()=>
|
|
5
|
-
//# sourceMappingURL=demo-server.js.map
|
|
4
|
+
`)},close:()=>s.end()};o.set(t,n),r.on("close",()=>o.delete(t)),n.write("endpoint",`/sse/message?session_id=${encodeURIComponent(t)}`),e.log?.(`[sse] connected session=${t}`);return}if("POST"===r.method&&"/sse/message"===v(n.pathname)){let a=n.searchParams.get("session_id")||"",i=o.get(a);if(!i)return void $(s,404,{error:"SSE session not found"});let d=await g(r);e.log?.(`[sse] ${d.method||"-"} ${w(d)}`);let l=u(t,d);s.writeHead(202),s.end(),l&&i.write("message",l);return}if("GET"===r.method&&"/health"===v(n.pathname))return void $(s,200,{ok:!0,demo:e.demo});$(s,404,{error:"not found",paths:["/mcp","/sse","/health"]})}catch(e){$(s,500,{error:e instanceof Error?e.message:String(e)})}});await new Promise((t,o)=>{r.once("error",o),r.listen(e.port,e.host,()=>{r.off("error",o),t()})});let s=r.address(),n="object"==typeof s&&s?s.port:e.port,a=`http://${e.host}:${n}`;return{origin:a,streamableUrl:`${a}/mcp`,sseUrl:`${a}/sse`,close:()=>new Promise((e,t)=>{for(let e of o.values())e.close();o.clear(),r.close(o=>o?t(o):e())})}}function u(e,t){if("initialize"===t.method)return{jsonrpc:"2.0",id:t.id,result:{protocolVersion:t.params?.protocolVersion||"2025-11-25",capabilities:{tools:{}},serverInfo:{name:e.serverName,version:"0.1.0"}}};if("notifications/initialized"!==t.method){if("tools/list"===t.method)return{jsonrpc:"2.0",id:t.id,result:{tools:e.tools}};if("tools/call"===t.method){let o="string"==typeof t.params?.name?t.params.name:"",r=n(t.params?.arguments)?t.params.arguments:{};return{jsonrpc:"2.0",id:t.id,result:e.callTool(o,r)}}return{jsonrpc:"2.0",id:t.id??null,error:{code:-32601,message:`Method not found: ${t.method||"-"}`}}}}function g(e){return new Promise((t,o)=>{let r="";e.setEncoding("utf8"),e.on("data",e=>{r+=e}),e.on("end",()=>{try{t(r?JSON.parse(r):{})}catch(e){o(e)}}),e.on("error",o)})}function w(e){if("tools/call"!==e.method)return"";let t=e.params?.name;return"string"==typeof t?t:""}function $(e,t,o){e.writeHead(t,{"content-type":"application/json"}),e.end(JSON.stringify(o))}function v(e){return e.replace(/\/+$/,"")||"/"}function _(){return new r("demo-server").description("启动标准 MCP demo server").addOption(new s("--demo <name>","demo 名称").choices([...i]).default("taxi")).option("--host <host>","监听 host","127.0.0.1").addOption(new s("--port <port>","监听端口;0 表示自动选择空闲端口").default(0).argParser(t)).option("--project-path <path>","dbx 项目路径,demo server URL 会写入该目录下的 .dbx",".").action(async(e,t)=>o(t,t=>y(t,e)))}async function y(e,t){let o=await f({demo:t.demo,host:t.host,port:t.port,log:e.log});a(t.projectPath,{demo:t.demo,pid:process.pid,origin:o.origin,streamableUrl:o.streamableUrl,sseUrl:o.sseUrl,updatedAt:Date.now()}),e.log("standard MCP demo server started"),e.log(`demo: ${t.demo}`),e.log(`streamable_http: ${o.streamableUrl}`),e.log(`sse: ${o.sseUrl}`),e.log(""),e.log("try:"),e.log(`dbx simulator eval --demo ${t.demo} --verbose`),e.log(""),e.log("press Ctrl+C to stop");let r=async()=>{l(t.projectPath,t.demo,o.origin),await o.close().catch(()=>void 0),process.exit(0)};return process.once("SIGINT",r),process.once("SIGTERM",r),await new Promise(()=>void 0),o}export{m as demo_server_namespaceObject};
|