@doubao-dev/cli 0.0.33 → 0.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/2168.js +2 -2
- package/dist/275.js +5 -5
- package/dist/4931.js +1 -1
- package/dist/{8079.js → 6427.js} +3 -3
- package/dist/{9667.js → 8981.js} +2 -2
- package/dist/@byted-doubao-apps/kit.js +1 -1
- package/dist/@byted-doubao-apps/login.js +1 -1
- package/dist/@byted-doubao-apps/template-empty/package.json +3 -3
- package/dist/@byted-doubao-apps/template-starter/package.json +3 -3
- package/dist/assets/web-sdk-debugger/__doubao_web_sdk_native_modules/applet-bridge-module-core.js +1 -1
- package/dist/assets/web-sdk-debugger/index.html +1 -1
- package/dist/assets/web-sdk-debugger/static/js/index.9f626ba3a2.js +44 -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/check.js +1 -1
- package/dist/dev-shell.js +1 -1
- package/dist/dev.js +5 -5
- package/dist/init.js +1 -1
- package/dist/ink.js +1 -1
- package/dist/prompt.js +1 -1
- package/dist/run.js +1 -1
- package/dist/sdk.js +42 -42
- package/dist/sdk~1.js +28 -28
- package/package.json +2 -3
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/06-/350/267/257/347/224/261.md +2 -2
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/08-/344/272/244/344/272/222.md +2 -2
- package/dist/assets/web-sdk-debugger/static/js/index.d1bb36b355.js +0 -44
- /package/dist/{9091.js → 3688.js} +0 -0
- /package/dist/{9667.js.LICENSE.txt → 8981.js.LICENSE.txt} +0 -0
package/dist/init.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"node:module";import{__webpack_require__ as e}from"./rslib-runtime.js";import"./7945.js";import"./ora.js";import"./yaml.js";import{auth_login as t,collectChoiceValues as r,version_version as i,command_Command as n,option_Option as s,types_TokenStatus as o,formatPollStatus as a,runCommand as p,getAuthStatus as l,execa as d}from"./2168.js";import{AGENTIC_SERVICE_SKILL_NAME as c,AGENTIC_SERVICE_DISPLAY_NAME as u,DEFAULT_FRONTEND_DIRECTORY as h}from"./app.js";import{source as f}from"./
|
|
1
|
+
import"node:module";import{__webpack_require__ as e}from"./rslib-runtime.js";import"./7945.js";import"./ora.js";import"./yaml.js";import{auth_login as t,collectChoiceValues as r,version_version as i,command_Command as n,option_Option as s,types_TokenStatus as o,formatPollStatus as a,runCommand as p,getAuthStatus as l,execa as d}from"./2168.js";import{AGENTIC_SERVICE_SKILL_NAME as c,AGENTIC_SERVICE_DISPLAY_NAME as u,DEFAULT_FRONTEND_DIRECTORY as h}from"./app.js";import{source as f}from"./3688.js";import{resolveProjectLayout as m}from"./project-layout.js";import{INIT_AGENT_IDS as g,selectInitAgents as _,selectGitInitialization as y,inputProjectDirectory as w}from"./prompts.js";import{fetchSandboxAppCredentials as S}from"./sandbox.js";import{installSkills as b,SUPPORTED_AGENTS as v}from"./skills~1.js";import{openUrlInBrowser as x}from"./browser.js";var k={};e.r(k),e.d(k,{default:()=>er});let j=e("node:fs");var $=e.n(j);let E=e("node:path");var A=e.n(E);let P=new Set(["node_modules",".git"]);async function R(e){var t;let r=e.appId.trim();if(!r)throw Error("frontend scaffold requires a sandbox AppID");let i=e.directory?.trim()||".",n=A().resolve(e.projectPath),s=A().resolve(n,i),o=(t=s,A().basename(t)||h),a=!!(e.overwriteExisting&&(0,j.existsSync)(s));a&&s!==n&&(e.onStatus?.("clearing_existing_directory"),function(e){if(!(0,j.statSync)(e).isDirectory())throw Error(`frontend scaffold target is not a directory: ${e}`);for(let t of(0,j.readdirSync)(e))P.has(t)||(0,j.rmSync)(A().join(e,t),{recursive:!0,force:!0});(0,j.mkdirSync)(e,{recursive:!0})}(s)),e.onStatus?.("creating_scaffold");let{create:p}=await import("./@byted-doubao-apps/create.js");return await p({template:"starter",projectDir:s,public:!0,appId:r,name:u,packageName:o,overwrite:!0,git:e.initializeGit??!1,login:!0}),{directory:i,path:s,app_id:r,template:"starter",package_name:o,overwritten:a}}let C=`这是一个豆包智能服务工程,请结合 ${c} Skill 进行开发`,N=e("../../../node_modules/.pnpm/ora@5.4.1/node_modules/ora/index.js");var I=e.n(N);class K{options;spinner;constructor(e){this.options=e}header(e){if(!this.options.enabled)return;let t=this.options.useSpinner?f.bold.cyan(e):`== ${e} ==`;this.options.log(t)}card(e,t){if(!this.options.enabled)return;let r=Math.max(...t.map(([e])=>e.length),0),i=[` ${e} `,...t.map(([e,t])=>` ${e.padEnd(r)} ${t} `)],n=Math.max(...i.map(e=>e.length)),s=`+${"-".repeat(n)}+`;for(let e of[s,...i.map((e,t)=>{let r=`${e}${" ".repeat(n-e.length)}`;return`|${0===t&&this.options.useSpinner?f.bold(r):r}|`}),s])this.options.log(this.options.useSpinner?f.cyan(e):e)}section(e){if(!this.options.enabled)return;let t=this.options.useSpinner?f.bold(e):e;this.options.log(t)}blank(){this.options.enabled&&this.options.log("")}info(e,t){this.options.enabled&&this.options.log(function(e,t,r){if(void 0===t)return` ${e}`;let i=r?f.cyan(e):e;return` ${i}: ${t}`}(e,t,this.options.useSpinner))}note(e){this.options.enabled&&this.options.log(` - ${e}`)}warn(e){this.options.enabled&&(this.stopActive(),this.options.warn(e))}startStep(e){if(this.options.enabled){if(this.stopActive(),this.options.useSpinner){this.spinner=I()({text:e,color:"cyan",stream:process.stderr}).start();return}this.options.log(M("run",e,this.options.useSpinner))}}updateStep(e){if(this.options.enabled){if(!this.spinner)return void this.options.log(M("run",e,this.options.useSpinner));this.spinner.text=e}}succeedStep(e){if(this.options.enabled){if(this.spinner){this.spinner.succeed(e),this.spinner=void 0;return}this.options.log(M("ok",e,this.options.useSpinner))}}warnStep(e){if(this.options.enabled){if(this.spinner){this.spinner.warn(e),this.spinner=void 0;return}this.options.warn(M("warn",e,this.options.useSpinner))}}failStep(e){if(this.options.enabled){if(this.spinner){this.spinner.fail(e),this.spinner=void 0;return}this.options.warn(M("fail",e,this.options.useSpinner))}}stopActive(){this.spinner&&(this.spinner.stop(),this.spinner=void 0)}}function U(){return!!(process.stderr.isTTY&&!process.env.CI)}function M(e,t,r){let i=`[${e}]`;if(!r)return` ${i} ${t}`;let n="ok"===e?f.green:"warn"===e?f.yellow:"fail"===e?f.red:f.cyan;return` ${n(i)} ${t}`}let O=e("node:util"),T=["@swc/core","@speedy-js/esbuild","core-js","crc64-ecma182.js","esbuild"],q=["@byted-lynx/js-check-"],D={commandVersion:async e=>(await d(e,["--version"],{env:process.env,stdio:["ignore","pipe","pipe"]})).stdout.trim(),pnpmInstall:async(e,t={})=>J(["install"],e,{streamOutput:t.streamOutput??!1}),pnpmApproveBuilds:async(e,t)=>J("all"===t?["approve-builds","--all"]:["approve-builds",...t],e,{streamOutput:!1})};async function z(e=D){try{return{version:await e.commandVersion("npm")}}catch{throw Error("npm not found in PATH. dbx init requires npm. Please install Node.js/npm and retry.")}}async function H(e=D){try{return{version:await e.commandVersion("pnpm")}}catch{throw Error("pnpm not found in PATH. dbx init requires pnpm. Install pnpm and retry.")}}async function V(e,t={}){let r=t.runner??D,i=t.autoApproveBuilds??"known",n=0;try{return n+=1,await r.pnpmInstall(e,{streamOutput:t.streamOutput}),{dependencies_installed:!0,install_attempts:n,recovered_from_ignored_builds:!1,approved_builds:[]}}catch(a){let s;if(!1===i||!((s=W(a)).includes("ERR_PNPM_IGNORED_BUILDS")||s.includes("Ignored build scripts:")))return L(e,n,a);let o=function(e,t){var r;let i;if(t.pnpmVersion&&!F(t.pnpmVersion,"10.1.0"))return null;let n=(r=W(e),(i=(0,O.stripVTControlCharacters)(r).match(/Ignored build scripts:\s*([\s\S]*?)(?:\n\s*\n|\nRun\s+"pnpm approve-builds"|$)/))?i[1].split(",").map(e=>(function(e){if(!e)return null;if(e.startsWith("@")){let t=e.indexOf("@",1);return t>0?e.slice(0,t):e}let t=e.lastIndexOf("@");return t>0?e.slice(0,t):e})(e.trim().replace(/[.。]$/,""))).filter(e=>!!e):[]),s="all-pending"===t.mode?n:n.filter(G);return s.length>0?[...new Set(s)]:"all-pending"===t.mode&&t.pnpmVersion&&F(t.pnpmVersion,"10.32.0")?"all":null}(a,{mode:i,pnpmVersion:t.pnpmVersion});if(!o)return L(e,n,a);try{return await r.pnpmApproveBuilds(e,o),n+=1,await r.pnpmInstall(e,{streamOutput:t.streamOutput}),{dependencies_installed:!0,install_attempts:n,recovered_from_ignored_builds:!0,approved_builds:"all"===o?["*"]:[...o]}}catch(t){return L(e,n,t,{approvedBuilds:"all"===o?["*"]:[...o]})}}}function G(e){return T.includes(e)||q.some(t=>e.startsWith(t))}function F(e,t){let r=B(e),i=B(t);if(!r||!i)return!1;for(let e=0;e<r.length&&!(r[e]>i[e]);e+=1)if(r[e]<i[e])return!1;return!0}function B(e){let t=e.trim().match(/^v?(\d+)\.(\d+)\.(\d+)/);return t?[Number(t[1]),Number(t[2]),Number(t[3])]:null}function L(e,t,r,i={}){return{dependencies_installed:!1,install_attempts:t,recovered_from_ignored_builds:!1,approved_builds:i.approvedBuilds??[],install_warning:`pnpm install did not complete in ${e}: ${Y(r)}`}}async function J(e,t,r){var i;let n=d("pnpm",[...e],{cwd:t,env:process.env,stdio:["ignore","pipe","pipe"],all:!0});return r.streamOutput&&n.all?.pipe(process.stderr),{stdout:(i=await n).stdout??"",stderr:i.stderr??"",all:i.all??[i.stdout,i.stderr].filter(Boolean).join("\n")}}function Y(e){if(e&&"object"==typeof e&&"shortMessage"in e){let t=e.shortMessage;if("string"==typeof t&&t.length>0)return t}return e instanceof Error&&e.message?e.message:String(e)}function W(e){let t=[Y(e)];return e&&"object"==typeof e&&("string"==typeof e.all&&t.push(e.all),"string"==typeof e.stdout&&t.push(e.stdout),"string"==typeof e.stderr&&t.push(e.stderr)),t.filter(Boolean).join("\n")}let X=e("node:url"),Q=e("../../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/index.js"),Z="__DBX_APP_KEY__";function ee(e){let t=A().dirname((0,X.fileURLToPath)(import.meta.url)),r=A().join(t,"templates",e);if(!$().existsSync(r))throw Error(`dbx init template not found: ${e}`);return $().readFileSync(r,"utf8")}let et="项目文件夹名";function er(){return new n("init").description("创建一个新的 dbx 项目").argument("[directory]","要创建的新项目目录名").option("-y, --yes","允许覆盖已有非软链 Skill 目录;覆盖前会自动备份",!1).addOption(new s("--agent <agent>","要初始化的 Agent,可重复传入;universal 会自动包含").default([]).argParser(r(g))).option("--no-install-deps","创建前端脚手架后不安装依赖").option("--git","在项目根目录初始化 Git 仓库").option("--schema","输出 dbx init 的机器可读参数契约;不执行初始化",!1).addHelpText("after",`
|
|
2
2
|
Examples:
|
|
3
3
|
${es().map(e=>` ${e}`).join("\n")}`).action(async(e,t,r)=>p(r,r=>new ei(r).run(e,t)))}class ei{context;initReporter;constructor(e){this.context=e}jsonEnabled(){return this.context.json}log(e){this.context.log(e)}warn(e){this.context.warn(e)}async run(e,t){var r,n,s,o,a,p,l,d,c,u,h;let f,g,_,y,w,S,x,k;if(t.schema)return this.emitSchema();let E=!process.env.DBX_PROMPT_DISABLED&&!this.context.json&&process.stdin.isTTY&&process.stderr.isTTY,P=await en(e,E);!function(e){try{(0,j.lstatSync)(e)}catch(e){var t;if("object"==typeof(t=e)&&null!==t&&"code"in t&&"ENOENT"===t.code)return;throw e}throw Error(`dbx init target directory already exists: ${e}. Choose a new directory name.`)}(P);let R={authMode:E?"login":"require",installFrontendDependencies:t.installDeps,yes:t.yes},N=await this.collectInitPlan(t,E);this.initReporter=new K({enabled:!this.jsonEnabled(),useSpinner:U(),log:e=>this.log(e),warn:e=>this.warn(e)}),this.jsonEnabled()||this.emitInitStart(P,N);try{let e;f=await this.ensureRequiredRuntime(),g=await this.ensureAuthenticated(R.authMode),_=await this.executeFrontendProjectPlan(P,N.frontend,R.installFrontendDependencies),this.reporter().startStep("project artifacts: ensuring manifest.yaml and runtime Skill layout"),y=function(e,t={}){let r=m(e,{kind:t.layout}),i=r.root,n=r.manifestPath,s=A().join(r.skillDirectory,"SKILL.md"),o=r.skillResolution;if("invalid"===o.layout)throw Error(o.error);let a={app_key:"",layout:r.kind,manifest_path:n,skill_path:s,created:[],preserved:[]};return $().existsSync(n)?(function(e,t){if(!$().statSync(e).isFile())throw Error(`project artifact path must be a file: ${t}`)}(n,"manifest.yaml"),a.app_key=function(e){var t;let r=Q.qg($().readFileSync(e,"utf8")),i=(t=r,"object"!=typeof t||null===t||Array.isArray(t))?void 0:r.app_key;if("string"==typeof i&&i.trim())return i.trim();throw Error(`manifest app_key is required: ${e}`)}(n),a.preserved.push(A().relative(i,n))):(a.app_key=t.appKey?.trim()||"db_app_xxxxxx",$().mkdirSync(A().dirname(n),{recursive:!0}),$().writeFileSync(n,function(e){let t=ee("manifest.yaml");if(2!==t.split(Z).length)throw Error(`dbx init manifest template must contain exactly one ${Z}`);return t.replace(Z,JSON.stringify(e))}(a.app_key),"utf8"),a.created.push(A().relative(i,n))),"resolved"===o.layout?a.preserved.push(...o.entries.map(e=>A().relative(i,e.absolutePath))):($().mkdirSync(A().dirname(s),{recursive:!0}),$().writeFileSync(s,ee(A().join("skill","SKILL.md")),"utf8"),a.created.push(A().relative(i,s))),a}(P,{appKey:_.scaffold.app_id,layout:"root"}),this.reporter().succeedStep(`project artifacts: created ${y.created.length}, preserved ${y.preserved.length}`),e=A().resolve(P,"README.md"),$().writeFileSync(e,ee("README.md"),"utf8"),this.reporter().startStep("project files: writing AGENTS.md"),w=function(e){let t=A().resolve(e,"AGENTS.md");if(!(0,j.existsSync)(t))return(0,j.writeFileSync)(t,`${C}
|
|
4
4
|
`,"utf8"),{path:t,created:!0,updated:!1,already_present:!1};let r=(0,j.readFileSync)(t,"utf8");if(r.includes(C))return{path:t,created:!1,updated:!1,already_present:!0};let i=0===r.length||r.endsWith("\n")?"":"\n";return(0,j.writeFileSync)(t,`${r}${i}${C}
|