addashboard-cli 0.9.2 → 0.9.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/dist/commands/ads.js +4 -7
- package/dist/commands/ads.js.map +1 -1
- package/dist/commands/authDevice.js +10 -2
- package/dist/commands/authDevice.js.map +1 -1
- package/dist/commands/authGoogle.js +39 -42
- package/dist/commands/authGoogle.js.map +1 -1
- package/dist/commands/freee.js +2 -18
- package/dist/commands/freee.js.map +1 -1
- package/dist/commands/pl.js +4 -8
- package/dist/commands/pl.js.map +1 -1
- package/dist/commands/review.js +4 -8
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/status.js +2 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/submission.js +236 -21
- package/dist/commands/submission.js.map +1 -1
- package/dist/index.js +46 -31
- package/dist/index.js.map +1 -1
- package/dist/lib/apiError.js +63 -0
- package/dist/lib/apiError.js.map +1 -0
- package/dist/lib/authFlow.js +82 -0
- package/dist/lib/authFlow.js.map +1 -0
- package/dist/lib/googleImageMetadata.js +145 -0
- package/dist/lib/googleImageMetadata.js.map +1 -0
- package/dist/lib/openBrowser.js +63 -0
- package/dist/lib/openBrowser.js.map +1 -0
- package/dist/schemas/submit-plan.js +27 -1
- package/dist/schemas/submit-plan.js.map +1 -1
- package/package.json +4 -3
- package/skills/ad-ops/SKILL.md +84 -10
- package/skills/ad-ops/ad-planner.html +257 -20
- package/skills/ad-ops/scripts/adops.sh +39 -9
- package/skills/ad-ops/scripts/plan_lint.py +262 -28
- package/skills/ad-ops/scripts/refs_import.py +251 -20
- package/skills/ad-ops/scripts/test_plan_lint.sh +126 -0
- package/skills/ad-ops//343/202/242/343/202/253/343/202/246/343/203/263/343/203/210/google/sample_account.json +4 -0
package/dist/commands/ads.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.ALLOWED_RESOURCES = exports.ALLOWED_PLATFORMS = void 0;
|
|
|
4
4
|
exports.resolvePath = resolvePath;
|
|
5
5
|
exports.runList = runList;
|
|
6
6
|
const apiClient_1 = require("../lib/apiClient");
|
|
7
|
+
const apiError_1 = require("../lib/apiError");
|
|
7
8
|
exports.ALLOWED_PLATFORMS = ['meta', 'yda', 'google', 'smartnews', 'bytedance'];
|
|
8
9
|
exports.ALLOWED_RESOURCES = [
|
|
9
10
|
'accounts',
|
|
@@ -315,13 +316,9 @@ async function runList(input) {
|
|
|
315
316
|
return { ok: true, data: res.data };
|
|
316
317
|
}
|
|
317
318
|
catch (err) {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
const msg = err?.response?.data?.error
|
|
322
|
-
?? err.message
|
|
323
|
-
?? 'network_error';
|
|
324
|
-
return { ok: false, error: msg };
|
|
319
|
+
// backend の errorHandler は `{ error: { message } }` を返す。文字列前提で埋めると
|
|
320
|
+
// `✗ [object Object]` になり原因が消えるので、必ず describeApiError を通す。
|
|
321
|
+
return { ok: false, error: (0, apiError_1.describeApiError)(err) };
|
|
325
322
|
}
|
|
326
323
|
}
|
|
327
324
|
//# sourceMappingURL=ads.js.map
|
package/dist/commands/ads.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ads.js","sourceRoot":"","sources":["../../src/commands/ads.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ads.js","sourceRoot":"","sources":["../../src/commands/ads.ts"],"names":[],"mappings":";;;AA0FA,kCA6OC;AAgCD,0BAiCC;AAvYD,gDAAwD;AACxD,8CAAmD;AAmBtC,QAAA,iBAAiB,GAAe,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AACpF,QAAA,iBAAiB,GAAe;IAC3C,UAAU;IACV,WAAW;IACX,KAAK;IACL,WAAW;IACX,OAAO;IACP,eAAe;IACf,eAAe;IACf,OAAO;IACP,QAAQ;IACR,oBAAoB;IACpB,YAAY;IACZ,SAAS;IACT,UAAU;CACX,CAAC;AAEF;2DAC2D;AAC3D,MAAM,kBAAkB,GAAe,CAAC,OAAO,CAAC,CAAC;AAEjD;;;;qDAIqD;AACrD,MAAM,uBAAuB,GAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAE3E;;mEAEmE;AACnE,MAAM,mBAAmB,GAAe;IACtC,eAAe;IACf,eAAe;IACf,OAAO;IACP,QAAQ;IACR,oBAAoB;CACrB,CAAC;AAEF;;iEAEiE;AACjE,MAAM,wBAAwB,GAAe,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAOnF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,WAAW,CAAC,KAuB3B;IACC,MAAM,EACJ,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAC7F,GAAG,KAAK,CAAC;IAEV,IAAI,CAAC,yBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,cAAc,yBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,yBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,cAAc,yBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,MAAM,QAAQ,YAAY,QAAQ,cAAc,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,QAAQ,KAAK,KAAK,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,wBAAwB,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAC/E,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,4BAA4B;IAC5B,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,mEAAmE;IACnE,IAAI,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,MAAM,QAAQ,YAAY,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CACpF,CAAC;IACJ,CAAC;IAED,IAAI,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,MAAM,QAAQ,YAAY,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAC9F,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACzF,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACzE,OAAO,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC1E,CAAC;QACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACzE,OAAO,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC1E,CAAC;QACD,yEAAyE;QACzE,uCAAuC;QACvC,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC7E,OAAO,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC1E,CAAC;QACD,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC7E,OAAO,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC1E,CAAC;QACD,sCAAsC;QACtC,+DAA+D;QAC/D,8DAA8D;QAC9D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACnF,0DAA0D;QAC1D,yCAAyC;QACzC,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACtC,OAAO;gBACL,IAAI,EAAE,yCAAyC;gBAC/C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;aACtC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACxF,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACxE,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO;oBACL,IAAI,EAAE,qCAAqC;oBAC3C,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBAC/D,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QACzE,CAAC;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAClE,0DAA0D;YAC1D,mCAAmC;YACnC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE;oBACL,SAAS;oBACT,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7B;aACF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACxE,OAAO,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QACzE,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACpE,OAAO;gBACL,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aACpE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3F,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC3E,OAAO,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC5E,CAAC;QACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC3E,OAAO,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC5E,CAAC;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACrE,4CAA4C;YAC5C,OAAO;gBACL,IAAI,EAAE,4BAA4B;gBAClC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,EAAE,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC9F,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC9E,OAAO,EAAE,IAAI,EAAE,qCAAqC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC/E,CAAC;QACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,EAAE,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC9F,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC9E,OAAO,EAAE,IAAI,EAAE,qCAAqC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC/E,CAAC;QACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC9E,OAAO,EAAE,IAAI,EAAE,qCAAqC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAC/E,CAAC;QACD,yCAAyC;QACzC,oCAAoC;QACpC,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC/E,OAAO,EAAE,IAAI,EAAE,sCAAsC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAChF,CAAC;QACD;;;WAGG;QACH,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC5E,OAAO;gBACL,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE;oBACL,SAAS;oBACT,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7B;aACF,CAAC;QACJ,CAAC;QACD,uDAAuD;QACvD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC7E,OAAO;gBACL,IAAI,EAAE,oCAAoC;gBAC1C,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aAC5D,CAAC;QACJ,CAAC;QACD,8CAA8C;QAC9C,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACxE,2DAA2D;YAC3D,4CAA4C;YAC5C,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,+BAA+B;gBACrC,KAAK,EAAE;oBACL,SAAS;oBACT,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxD;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,MAAM,QAAQ,EAAE,CAAC,CAAC;AAC5D,CAAC;AA4BD;;;GAGG;AACI,KAAK,UAAU,OAAO,CAAC,KAAgB;IAC5C,IAAI,QAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,QAAQ,GAAG,WAAW,CAAC;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,gCAAoB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACxE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,mEAAmE;QACnE,2DAA2D;QAC3D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAA,2BAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;IACrD,CAAC;AACH,CAAC"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.runDeviceLogin = runDeviceLogin;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const openBrowser_1 = require("../lib/openBrowser");
|
|
8
9
|
const DEFAULT_INTERVAL_SEC = 5;
|
|
9
10
|
const DEFAULT_EXPIRES_SEC = 1800; // ~30 分
|
|
10
11
|
function defaultSleep(ms) {
|
|
@@ -47,12 +48,19 @@ async function runDeviceLogin(input) {
|
|
|
47
48
|
let intervalSec = typeof start.interval === 'number' && start.interval > 0 ? start.interval : DEFAULT_INTERVAL_SEC;
|
|
48
49
|
const expiresSec = typeof start.expires_in === 'number' && start.expires_in > 0 ? start.expires_in : DEFAULT_EXPIRES_SEC;
|
|
49
50
|
const deadline = now() + expiresSec * 1000;
|
|
50
|
-
// 2.
|
|
51
|
+
// 2. ブラウザを開く。Google は user_code 埋め込み済みの verification_uri_complete を
|
|
52
|
+
// 返さないため、開けてもコードの手入力は残る(開くのは手間を1つ減らすだけ)。
|
|
53
|
+
const open = input.open ?? openBrowser_1.openBrowser;
|
|
54
|
+
const openTarget = start.verification_url_complete ?? verification_url;
|
|
55
|
+
const opened = await open(openTarget).catch(() => ({ ok: false }));
|
|
56
|
+
// 3. ユーザーに案内(user_code を目立たせる)
|
|
51
57
|
log('');
|
|
52
58
|
log('────────────────────────────────────────────');
|
|
53
59
|
log(' Google でログインしてください(ブラウザ操作が必要です)');
|
|
54
60
|
log('');
|
|
55
|
-
log(
|
|
61
|
+
log(opened.ok
|
|
62
|
+
? ` 1. 開いたブラウザ(${verification_url})で続ける`
|
|
63
|
+
: ` 1. ブラウザで次の URL を開く: ${verification_url}`);
|
|
56
64
|
log(` 2. 次のコードを入力して許可:`);
|
|
57
65
|
log('');
|
|
58
66
|
log(` ┌─────────────────┐`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authDevice.js","sourceRoot":"","sources":["../../src/commands/authDevice.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"authDevice.js","sourceRoot":"","sources":["../../src/commands/authDevice.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,46 +6,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.runGoogleLogin = runGoogleLogin;
|
|
7
7
|
const http_1 = __importDefault(require("http"));
|
|
8
8
|
const crypto_1 = __importDefault(require("crypto"));
|
|
9
|
-
const child_process_1 = require("child_process");
|
|
10
9
|
const axios_1 = __importDefault(require("axios"));
|
|
10
|
+
const openBrowser_1 = require("../lib/openBrowser");
|
|
11
11
|
const AUTH_ENDPOINT = 'https://accounts.google.com/o/oauth2/v2/auth';
|
|
12
12
|
const ALLOWED_HD = process.env.WEBGRAM_GOOGLE_HD || 'webgram.jp';
|
|
13
13
|
const CALLBACK_TIMEOUT_MS = 5 * 60 * 1000; // 5 分
|
|
14
|
+
// window.close() は script で開いたタブ以外では効かないので、閉じられない前提の文面も置く
|
|
14
15
|
const RESULT_HTML = '<!doctype html><html lang="ja"><head><meta charset="utf-8">' +
|
|
15
16
|
'<title>webgram CLI</title></head><body style="font-family:sans-serif;padding:2rem">' +
|
|
16
|
-
'<h2>ログインが完了しました。</h2><p>ターミナルに戻ってください。</p
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* (呼び出し側で URL を手動オープン誘導する)。
|
|
20
|
-
*/
|
|
21
|
-
function openBrowser(url) {
|
|
22
|
-
try {
|
|
23
|
-
let cmd;
|
|
24
|
-
let args;
|
|
25
|
-
if (process.platform === 'darwin') {
|
|
26
|
-
cmd = 'open';
|
|
27
|
-
args = [url];
|
|
28
|
-
}
|
|
29
|
-
else if (process.platform === 'win32') {
|
|
30
|
-
// start は cmd の組み込みコマンド。空タイトル引数 "" を挟むと URL の & 等で崩れにくい
|
|
31
|
-
cmd = 'cmd';
|
|
32
|
-
args = ['/c', 'start', '', url];
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
cmd = 'xdg-open';
|
|
36
|
-
args = [url];
|
|
37
|
-
}
|
|
38
|
-
const child = (0, child_process_1.spawn)(cmd, args, { stdio: 'ignore', detached: true });
|
|
39
|
-
child.on('error', () => {
|
|
40
|
-
/* spawn 失敗は無視(戻り値では拾えないので呼び出し側は URL 表示も併用する) */
|
|
41
|
-
});
|
|
42
|
-
child.unref();
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
17
|
+
'<h2>ログインが完了しました。</h2><p>ターミナルに戻ってください。</p>' +
|
|
18
|
+
'<script>setTimeout(function(){try{window.close()}catch(e){}},1000)</script>' +
|
|
19
|
+
'</body></html>';
|
|
49
20
|
/**
|
|
50
21
|
* webgram auth login(Google loopback flow)のコア動作。
|
|
51
22
|
*
|
|
@@ -84,12 +55,24 @@ async function runGoogleLogin(input) {
|
|
|
84
55
|
const codeVerifier = crypto_1.default.randomBytes(32).toString('base64url');
|
|
85
56
|
const codeChallenge = crypto_1.default.createHash('sha256').update(codeVerifier).digest('base64url');
|
|
86
57
|
const state = crypto_1.default.randomBytes(16).toString('base64url');
|
|
87
|
-
// 127.0.0.1 の OS
|
|
58
|
+
// 127.0.0.1 の OS 割当ポートで受け口を立てる。
|
|
59
|
+
// sandbox 等で listen できない環境があるので、throw せず呼び出し側が
|
|
60
|
+
// device flow へ切り替えられるエラーコードで返す。
|
|
88
61
|
const server = http_1.default.createServer();
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
62
|
+
try {
|
|
63
|
+
await new Promise((resolve, reject) => {
|
|
64
|
+
const onError = (err) => reject(err);
|
|
65
|
+
server.once('error', onError);
|
|
66
|
+
server.listen(0, '127.0.0.1', () => {
|
|
67
|
+
server.removeListener('error', onError);
|
|
68
|
+
resolve();
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
server.close();
|
|
74
|
+
return { ok: false, error: `loopback_unavailable: ${err.message}` };
|
|
75
|
+
}
|
|
93
76
|
const port = server.address().port;
|
|
94
77
|
const redirectUri = `http://127.0.0.1:${port}/callback`;
|
|
95
78
|
const params = new URLSearchParams({
|
|
@@ -106,6 +89,9 @@ async function runGoogleLogin(input) {
|
|
|
106
89
|
});
|
|
107
90
|
const authUrl = `${AUTH_ENDPOINT}?${params.toString()}`;
|
|
108
91
|
// 認可コードを待つ(タイムアウト付き)。secret を含まないので URL 表示は安全。
|
|
92
|
+
// ブラウザを開けずに待機を打ち切るとき、外からタイムアウトを解除するための口。
|
|
93
|
+
// 放置しても settled ガードで無害だが、後続の device flow の最中に発火する。
|
|
94
|
+
let cancelCallbackWait = () => { };
|
|
109
95
|
const codePromise = new Promise((resolve) => {
|
|
110
96
|
let settled = false;
|
|
111
97
|
const finish = (r) => {
|
|
@@ -118,6 +104,7 @@ async function runGoogleLogin(input) {
|
|
|
118
104
|
finish({ error: 'timeout: 5 分以内に認可が完了しませんでした' });
|
|
119
105
|
}, CALLBACK_TIMEOUT_MS);
|
|
120
106
|
timer.unref?.();
|
|
107
|
+
cancelCallbackWait = () => clearTimeout(timer);
|
|
121
108
|
server.on('request', (req, res) => {
|
|
122
109
|
const url = new URL(req.url || '/', `http://127.0.0.1:${port}`);
|
|
123
110
|
if (url.pathname !== '/callback') {
|
|
@@ -156,8 +143,18 @@ async function runGoogleLogin(input) {
|
|
|
156
143
|
finish({ code });
|
|
157
144
|
});
|
|
158
145
|
});
|
|
159
|
-
//
|
|
160
|
-
|
|
146
|
+
// ブラウザ起動。開けなければ誰も認可できず 5 分待つだけになるので、
|
|
147
|
+
// 待たずに打ち切って呼び出し側の device flow フォールバックへ渡す。
|
|
148
|
+
const opened = await (0, openBrowser_1.openBrowser)(authUrl);
|
|
149
|
+
if (!opened.ok) {
|
|
150
|
+
cancelCallbackWait();
|
|
151
|
+
server.close();
|
|
152
|
+
return {
|
|
153
|
+
ok: false,
|
|
154
|
+
error: `browser_unavailable: ${opened.error ?? `${opened.command} を起動できませんでした`}`,
|
|
155
|
+
authUrl,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
161
158
|
let outcome;
|
|
162
159
|
try {
|
|
163
160
|
outcome = await codePromise;
|
|
@@ -166,7 +163,7 @@ async function runGoogleLogin(input) {
|
|
|
166
163
|
server.close();
|
|
167
164
|
}
|
|
168
165
|
if ('error' in outcome) {
|
|
169
|
-
return { ok: false, error: outcome.error, authUrl
|
|
166
|
+
return { ok: false, error: outcome.error, authUrl };
|
|
170
167
|
}
|
|
171
168
|
// 認可コード + PKCE verifier + redirect_uri を ad-dashboard に渡す。
|
|
172
169
|
// Google との code→token 交換はサーバーが client_secret を使って実行する。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authGoogle.js","sourceRoot":"","sources":["../../src/commands/authGoogle.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"authGoogle.js","sourceRoot":"","sources":["../../src/commands/authGoogle.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/freee.js
CHANGED
|
@@ -21,9 +21,9 @@ const crypto_1 = __importDefault(require("crypto"));
|
|
|
21
21
|
const fs_1 = __importDefault(require("fs"));
|
|
22
22
|
const http_1 = __importDefault(require("http"));
|
|
23
23
|
const url_1 = require("url");
|
|
24
|
-
const child_process_1 = require("child_process");
|
|
25
24
|
const apiClient_1 = require("../lib/apiClient");
|
|
26
25
|
Object.defineProperty(exports, "buildApiClient", { enumerable: true, get: function () { return apiClient_1.buildApiClient; } });
|
|
26
|
+
const openBrowser_1 = require("../lib/openBrowser");
|
|
27
27
|
const CALLBACK_PORT = 8080;
|
|
28
28
|
const CALLBACK_PATH = '/callback';
|
|
29
29
|
function sha256Hex(s) {
|
|
@@ -44,22 +44,6 @@ function decodeJwtEmail(token) {
|
|
|
44
44
|
return undefined;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
/** OS デフォルトブラウザで URL を開く(best-effort)。 */
|
|
48
|
-
function openBrowser(url) {
|
|
49
|
-
const platform = process.platform;
|
|
50
|
-
// win32 の `start` は cmd の組込みコマンドなので cmd 経由で起動する
|
|
51
|
-
const [cmd, cmdArgs] = platform === 'darwin'
|
|
52
|
-
? ['open', [url]]
|
|
53
|
-
: platform === 'win32'
|
|
54
|
-
? ['cmd', ['/c', 'start', '', url]]
|
|
55
|
-
: ['xdg-open', [url]];
|
|
56
|
-
try {
|
|
57
|
-
(0, child_process_1.spawn)(cmd, cmdArgs, { stdio: 'ignore', detached: true }).unref();
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
// 開けなくてもURLは表示済みなので握りつぶす
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
47
|
/**
|
|
64
48
|
* ローカル :8080 で認可コールバックを1回受け取る。
|
|
65
49
|
* CSRF/認可コード注入対策として、開始時に生成した expectedState と
|
|
@@ -155,7 +139,7 @@ async function runFreeeLogin(input) {
|
|
|
155
139
|
const state = crypto_1.default.randomBytes(24).toString('base64url');
|
|
156
140
|
const urlWithState = `${authorizeUrl}${authorizeUrl.includes('?') ? '&' : '?'}state=${encodeURIComponent(state)}`;
|
|
157
141
|
log(`ブラウザで freee 認可画面を開きます。開かない場合は以下を手動で開いてください:\n${urlWithState}`);
|
|
158
|
-
openBrowser(urlWithState);
|
|
142
|
+
await (0, openBrowser_1.openBrowser)(urlWithState); // URL は上に出しているので、開けなくてもそのまま待つ
|
|
159
143
|
code = await waitForAuthorizationCode(state);
|
|
160
144
|
}
|
|
161
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freee.js","sourceRoot":"","sources":["../../src/commands/freee.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"freee.js","sourceRoot":"","sources":["../../src/commands/freee.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/pl.js
CHANGED
|
@@ -3,18 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.runPlSummary = runPlSummary;
|
|
4
4
|
exports.runPlProjects = runPlProjects;
|
|
5
5
|
const apiClient_1 = require("../lib/apiClient");
|
|
6
|
+
const apiError_1 = require("../lib/apiError");
|
|
6
7
|
/**
|
|
7
8
|
* axios エラーからユーザー向けエラーメッセージを抽出する。
|
|
8
|
-
*
|
|
9
|
-
*
|
|
9
|
+
* backend の `{ error: { message } }` 形も畳む共通 helper に委譲する
|
|
10
|
+
* (直接 data.error を埋めると `[object Object]` になる)。
|
|
10
11
|
*/
|
|
11
12
|
function extractError(err) {
|
|
12
|
-
|
|
13
|
-
if (status === 401)
|
|
14
|
-
return 'unauthorized';
|
|
15
|
-
return (err?.response?.data?.error ??
|
|
16
|
-
err?.message ??
|
|
17
|
-
'network_error');
|
|
13
|
+
return (0, apiError_1.describeApiError)(err);
|
|
18
14
|
}
|
|
19
15
|
/**
|
|
20
16
|
* 当月または指定月の予実サマリ(CV/コスト/売上/粗利/日次推移/案件別内訳/着地予測/目標)を取得する。
|
package/dist/commands/pl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pl.js","sourceRoot":"","sources":["../../src/commands/pl.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pl.js","sourceRoot":"","sources":["../../src/commands/pl.ts"],"names":[],"mappings":";;AA+BA,oCAgBC;AAcD,sCAmBC;AA/ED,gDAAwD;AAExD,8CAAmD;AAQnD;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAY;IAChC,OAAO,IAAA,2BAAgB,EAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AASD;;;GAGG;AACI,KAAK,UAAU,YAAY,CAAC,KAAqB;IACtD,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,gCAAoB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE;YACtD,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;SAClD,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAWD;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,KAAsB;IACxD,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,gCAAoB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,KAAK,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/C,IAAI,KAAK,CAAC,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAErD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;IACjD,CAAC;AACH,CAAC"}
|
package/dist/commands/review.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.lastWeekMondayJst = lastWeekMondayJst;
|
|
4
4
|
exports.runTeamWeeklyReview = runTeamWeeklyReview;
|
|
5
5
|
const apiClient_1 = require("../lib/apiClient");
|
|
6
|
+
const apiError_1 = require("../lib/apiError");
|
|
6
7
|
/**
|
|
7
8
|
* JST 基準で「先週の月曜」を YYYY-MM-DD で返す。
|
|
8
9
|
* 先週 = 今週の月曜 - 7日。テスト用に now を注入可能。
|
|
@@ -20,16 +21,11 @@ function lastWeekMondayJst(now = new Date()) {
|
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* axios エラーから CLI 表示用のエラー文字列を抽出する。
|
|
23
|
-
*
|
|
24
|
-
* (
|
|
24
|
+
* backend の `{ error: { message } }` 形も畳む共通 helper に委譲する
|
|
25
|
+
* (直接 data.error を埋めると `[object Object]` になる)。
|
|
25
26
|
*/
|
|
26
27
|
function extractError(err) {
|
|
27
|
-
|
|
28
|
-
if (status === 401)
|
|
29
|
-
return 'unauthorized';
|
|
30
|
-
return (err?.response?.data?.error ??
|
|
31
|
-
err.message ??
|
|
32
|
-
'network_error');
|
|
28
|
+
return (0, apiError_1.describeApiError)(err);
|
|
33
29
|
}
|
|
34
30
|
/**
|
|
35
31
|
* webgram review の本体動作。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":";;AA0BA,8CAQC;AAgBD,kDAsBC;AAvED,gDAAwD;AAExD,8CAAmD;AAiBnD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAY,IAAI,IAAI,EAAE;IACtD,2CAA2C;IAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,qBAAqB;IAC3D,MAAM,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,UAAU;IAC3E,2BAA2B;IAC3B,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAY;IAChC,OAAO,IAAA,2BAAgB,EAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CAAC,KAAsB;IAC9D,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IAC/D,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,iBAAiB,EAAE,CAAC;IAEjE,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,gCAAoB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,qCAAqC,EAAE;YAClE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;IACjD,CAAC;AACH,CAAC"}
|
package/dist/commands/status.js
CHANGED
|
@@ -9,6 +9,7 @@ exports.formatStatusSummary = formatStatusSummary;
|
|
|
9
9
|
exports.runUpdateStatus = runUpdateStatus;
|
|
10
10
|
const fs_1 = __importDefault(require("fs"));
|
|
11
11
|
const apiClient_1 = require("../lib/apiClient");
|
|
12
|
+
const apiError_1 = require("../lib/apiError");
|
|
12
13
|
/** ステータス更新に対応している媒体。現状 YDA のみ (Meta 以降は未実装)。 */
|
|
13
14
|
exports.STATUS_PLATFORMS = ['yda'];
|
|
14
15
|
exports.STATUS_LEVELS = ['campaign', 'adGroup', 'ad'];
|
|
@@ -180,7 +181,7 @@ async function runUpdateStatus(input) {
|
|
|
180
181
|
if (data?.error === 'unresolved_ids') {
|
|
181
182
|
log(formatStatusSummary(input.level, data));
|
|
182
183
|
}
|
|
183
|
-
const msg = data?.message ??
|
|
184
|
+
const msg = data?.message ?? (0, apiError_1.describeApiError)(err);
|
|
184
185
|
return { ok: false, exitCode: 1, error: msg };
|
|
185
186
|
}
|
|
186
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|