@takagaki/cortex-decisions-viewer 0.12.155 → 0.12.157
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/render.js +49 -9
- package/package.json +1 -1
package/dist/render.js
CHANGED
|
@@ -9419,6 +9419,10 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
9419
9419
|
"github-issues": { icon: "🐙", label: "GitHub Issues" },
|
|
9420
9420
|
"github-discussions": { icon: "💠", label: "GitHub Discussions" },
|
|
9421
9421
|
};
|
|
9422
|
+
/** Teams 管理センターの会議ポリシー(文字起こしの設定がある画面)。固定の公開 URL */
|
|
9423
|
+
var TEAMS_ADMIN_MEETING_POLICY_URL = "https://admin.teams.microsoft.com/policies/meetings";
|
|
9424
|
+
/** Figma の設定(Security の個人アクセストークン)。固定の公開 URL */
|
|
9425
|
+
var FIGMA_SETTINGS_URL = "https://www.figma.com/settings";
|
|
9422
9426
|
var DS_GATE = {
|
|
9423
9427
|
"ok": { text: "接続OK", cls: "ds-gate-ok" },
|
|
9424
9428
|
// **状態だけでなく、次にすることを書く。** 「bot未招待」では何をすればよいか分からない
|
|
@@ -9533,6 +9537,7 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
9533
9537
|
text: "文字起こしの外部取得がオフです",
|
|
9534
9538
|
cls: "ds-gate-warn",
|
|
9535
9539
|
help: "Teams 管理センターの会議設定で「文字起こしへの API アクセス」をオンにしてください。",
|
|
9540
|
+
helpLink: { href: TEAMS_ADMIN_MEETING_POLICY_URL, label: "Teams 管理センターを開く →" },
|
|
9536
9541
|
},
|
|
9537
9542
|
// RSC のチャネル会議には掛からない見込み(PoC C で確認)。文言は、この状態が
|
|
9538
9543
|
// 返ったときのために残す(#841)
|
|
@@ -9547,6 +9552,7 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
9547
9552
|
text: "話者名付きの文字起こしがオフです",
|
|
9548
9553
|
cls: "ds-gate-warn",
|
|
9549
9554
|
help: "Teams 管理センターの会議設定で話者名付き文字起こしをオンにしてください。オフのままだと取り込みません。",
|
|
9555
|
+
helpLink: { href: TEAMS_ADMIN_MEETING_POLICY_URL, label: "Teams 管理センターを開く →" },
|
|
9550
9556
|
},
|
|
9551
9557
|
"folder_not_granted": {
|
|
9552
9558
|
text: "フォルダへのアクセス許可がありません",
|
|
@@ -9751,6 +9757,7 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
9751
9757
|
* 出さないもの: テナント外の断り(#841・導入の有無を明かさない)と、確かめられなかった
|
|
9752
9758
|
* 組織(source: "unknown"・帯が導線を出さない設計)
|
|
9753
9759
|
*/
|
|
9760
|
+
var GITHUB_APP_RECHECK_TEXT = "入れたら「接続を確認」を押してください。";
|
|
9754
9761
|
function githubRowHelpParts(row) {
|
|
9755
9762
|
if (!row) return null;
|
|
9756
9763
|
if (githubOrgRefused(row)) return null;
|
|
@@ -9765,10 +9772,13 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
9765
9772
|
var linkable = !!slug || !LIVE_GH_OWNERS;
|
|
9766
9773
|
var pick = row.gate === "unreachable" && meta && meta.appInstalled === true;
|
|
9767
9774
|
var say = pick ? "GitHub App の設定で、このリポジトリを選んでください。" : "この組織に Cortex の GitHub App を入れてください。";
|
|
9768
|
-
if (!linkable) return [say];
|
|
9775
|
+
if (!linkable) return pick ? [say] : [say, { br: true }, GITHUB_APP_RECHECK_TEXT];
|
|
9769
9776
|
// 部品には行の生の値を渡す(宛先の検めは githubAppLinkUrl が持つ。ここの slug はリンクを出すかの判断だけ)
|
|
9770
9777
|
var raw = meta && meta.appSlug;
|
|
9771
|
-
|
|
9778
|
+
// 入れた後の一手は同じ段落の 1 行に添える(行の補足は最大 1 段)。選び直す方(pick)は入れ直しではないので添えない
|
|
9779
|
+
return pick
|
|
9780
|
+
? [say, { link: "インストール設定を開く →", kind: "settings", slug: raw }]
|
|
9781
|
+
: [say, { link: "GitHub App を入れる →", kind: "install", slug: raw }, { br: true }, GITHUB_APP_RECHECK_TEXT];
|
|
9772
9782
|
}
|
|
9773
9783
|
/**
|
|
9774
9784
|
* Slack の「見えない」行(unreachable・no_token・組織不明の仮置き)に出す一手(c-07・g-66)。
|
|
@@ -10033,6 +10043,7 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
10033
10043
|
text: "トークンが未登録です",
|
|
10034
10044
|
cls: "ds-gate-muted",
|
|
10035
10045
|
help: "Figma のトークンを入れてください。",
|
|
10046
|
+
helpLink: { href: FIGMA_SETTINGS_URL, label: "Figma の設定でトークンを発行する →" },
|
|
10036
10047
|
act: "figma-key",
|
|
10037
10048
|
},
|
|
10038
10049
|
// 「アクセス不可」では、トークンの失効なのか(403)ファイルを共有していないのか(404)が
|
|
@@ -10101,6 +10112,11 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
10101
10112
|
}
|
|
10102
10113
|
if (gate.help) {
|
|
10103
10114
|
var p = el("p", { class: cls, text: gate.help });
|
|
10115
|
+
// 行き先が決まっている一手は押せるリンクにする(人に操作を頼む文を、押せない文のまま出さない)
|
|
10116
|
+
if (gate.helpLink) {
|
|
10117
|
+
p.appendChild(document.createTextNode(" "));
|
|
10118
|
+
p.appendChild(el("a", { href: gate.helpLink.href, target: "_blank", rel: "noopener", text: gate.helpLink.label }));
|
|
10119
|
+
}
|
|
10104
10120
|
appendGateActs(p, gate);
|
|
10105
10121
|
return [p];
|
|
10106
10122
|
}
|
|
@@ -16600,7 +16616,7 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
16600
16616
|
* オーバーレイ要素だけにリスナを張るのでは足りない(フォーカスが body にあると経路を通らない)。
|
|
16601
16617
|
*
|
|
16602
16618
|
* @param lines 表示する行(1行1段落)。先頭行が主文=読み上げの名前になる
|
|
16603
|
-
* @param opts { okLabel, returnTo, okDanger, body }
|
|
16619
|
+
* @param opts { okLabel, cancelLabel, returnTo, okDanger, body }
|
|
16604
16620
|
* okDanger … OK ボタンを赤で出すか(既定 true)。false は「広げる向き」の確認用
|
|
16605
16621
|
* body … lines の後・ボタンの前に挿す DOM 節(任意)。**押す前に決めることがある確認**
|
|
16606
16622
|
* のための口(いまこの口を使っている呼び出しは無い)。
|
|
@@ -16626,7 +16642,7 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
16626
16642
|
box.appendChild(pnode);
|
|
16627
16643
|
});
|
|
16628
16644
|
if (o.body) box.appendChild(o.body);
|
|
16629
|
-
var cancel = el("button", { class: "modal-cancel", type: "button", text: "キャンセル" });
|
|
16645
|
+
var cancel = el("button", { class: "modal-cancel", type: "button", text: o.cancelLabel || "キャンセル" });
|
|
16630
16646
|
// **既定は赤(ds-danger)。** ここに来る操作はほぼ全部が取り消せない向きなので、
|
|
16631
16647
|
// 既定を変えない。**okDanger: false のときだけ通常の見た目**——「広げる向き」の
|
|
16632
16648
|
// 操作を削除と同じ赤で出すと、止めるべき操作に見える
|
|
@@ -19982,14 +19998,35 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
19982
19998
|
var meta = app.querySelector(".detail-meta");
|
|
19983
19999
|
if (meta && meta.parentNode) meta.parentNode.insertBefore(stale, meta.nextSibling);
|
|
19984
20000
|
}
|
|
20001
|
+
/**
|
|
20002
|
+
* 削除の確認の窓に出す行。先頭行が主文(何を消すか=区画と題)、次が「消すと何が起きるか」。
|
|
20003
|
+
* 起きることは区画ごとに実際のとおり書く(サーバの DELETABLE_SECTIONS と同じ4区画。削除と同じ
|
|
20004
|
+
* コミットで区画の除外リストへ足す)。窓に出す語は短く、不安を煽らない。
|
|
20005
|
+
*/
|
|
20006
|
+
var DELETE_EFFECTS = {
|
|
20007
|
+
Decisions: "この決定を消し、以後同じ題で作り直さないよう「除外決定」の一覧に足します。",
|
|
20008
|
+
Glossary: "この用語を消し、以後同じ語で作り直さないよう「除外用語」の一覧に足します。",
|
|
20009
|
+
Members: "この関係者の記録を消し、以後同じ人で作り直さないよう「除外メンバー」の一覧に足します。",
|
|
20010
|
+
Rules: "このルールを消し、以後同じ題で作り直さないよう「除外ルール」の一覧に足します。",
|
|
20011
|
+
};
|
|
20012
|
+
function deleteConfirmLines(rec, path) {
|
|
20013
|
+
var m = /^Cortex\\/([^/]+)\\//.exec(path || "");
|
|
20014
|
+
var dir = m ? m[1] : "";
|
|
20015
|
+
var title = (rec && rec.title) || (rec && rec.fileName) || "(題なし)";
|
|
20016
|
+
return [
|
|
20017
|
+
dirLabel(dir) + "「" + title + "」を削除します。",
|
|
20018
|
+
DELETE_EFFECTS[dir] || "この記録を消します。",
|
|
20019
|
+
"消した中身は履歴に残り、あとから戻せます。",
|
|
20020
|
+
];
|
|
20021
|
+
}
|
|
19985
20022
|
/**
|
|
19986
20023
|
* 削除の口(ボタンと、その結果を出す行)。**置き場は呼び出し側が決める。**
|
|
19987
20024
|
*
|
|
19988
20025
|
* **どの記録にも出す**(cortex-engine #1094 段 4 問い 2・2026-10-04 のオーナー決定)。8/28 の裁定
|
|
19989
20026
|
* 「人間の承認が挟まったものは削除の選択肢を出さない」は置き換えた——画面を見る人には裏の
|
|
19990
20027
|
* 履歴が見えず、見た目の違いが無いのにボタンの有無が分かれるのは分からないため。人の手のある記録にも
|
|
19991
|
-
*
|
|
19992
|
-
* op=delete-record が 1
|
|
20028
|
+
* 同じ口を出す。押すと確認の窓を出し(2026-10-16・cortex-engine #1781)、[削除する]を選んだときだけ
|
|
20029
|
+
* op=delete-record が 1 回送られる。intake も status では断らない。
|
|
19993
20030
|
*
|
|
19994
20031
|
* 呼び出し側は2つ:
|
|
19995
20032
|
* - draftNote …… 未確認の記録。「確認済みにする」と並べて警告帯の中に置く
|
|
@@ -19999,12 +20036,15 @@ ${story_1.splitByNameLinks.toString()}
|
|
|
19999
20036
|
var path = deletableRecordPath(rec);
|
|
20000
20037
|
if (!path) return null;
|
|
20001
20038
|
// **語尾の「…」は 2026-08-29 のオーナーFBで外した。** 二択の相方(「確認済みにする」)と
|
|
20002
|
-
//
|
|
20003
|
-
//
|
|
20039
|
+
// 語の形が揃わず、片方だけが下書きのように見えていた。確認は語尾ではなく、押したあとの
|
|
20040
|
+
// 確認の窓で出す(2026-10-16 のオーナーの誤削除を受けて・cortex-engine #1781)
|
|
20004
20041
|
var btn = el("button", { class: "record-delete-btn", type: "button", text: "削除する" });
|
|
20005
20042
|
var msg = el("div", { class: "record-delete-msg" });
|
|
20006
20043
|
btn.addEventListener("click", async function () {
|
|
20007
|
-
//
|
|
20044
|
+
// 押しただけでは送らない。画面内の確認の窓で[削除する]を選んだときだけ 1 回送る
|
|
20045
|
+
//(やめる・窓の外・Esc は何もしない。ブラウザの confirm は使わない)
|
|
20046
|
+
var ok = await openConfirm(deleteConfirmLines(rec, path), { okLabel: "削除する", cancelLabel: "やめる", returnTo: btn });
|
|
20047
|
+
if (!ok) return;
|
|
20008
20048
|
await sendDeleteRecord(rec, path, msg, btn, function () { markRecordDeleted(rec); markPageStale(); });
|
|
20009
20049
|
});
|
|
20010
20050
|
return { btn: btn, msg: msg };
|
package/package.json
CHANGED