@takagaki/cortex-decisions-viewer 0.12.16 → 0.12.17
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 +78 -9
- package/package.json +1 -1
package/dist/render.js
CHANGED
|
@@ -2710,6 +2710,15 @@ a.ds-name:hover { text-decoration: underline; }
|
|
|
2710
2710
|
.mt-share-title { font-size: 12.5px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
|
|
2711
2711
|
/* 共有すると何が起きるかの1行。**説明文より強く出す**(.ds-scope-note と同じ理由) */
|
|
2712
2712
|
.mt-share-note { color: var(--text); margin-top: 6px; }
|
|
2713
|
+
/* 「全部見られてしまうのでは」への答え(2026-08-29 オーナー確定文)。
|
|
2714
|
+
**手順より前に置く。** 読む人が「共有しようか」と迷うのは手順を踏む前で、
|
|
2715
|
+
手順(画像2枚ぶん長い)の後ろに置くと、迷ったまま読み進むことになる。
|
|
2716
|
+
警告帯(.draft-note)と同じ系統の色で、注意書きだと一目で分かる形にする */
|
|
2717
|
+
.mt-privacy {
|
|
2718
|
+
margin: 8px 0 0; padding: 8px 10px;
|
|
2719
|
+
background: #fffbeb; border: 1px solid #fcd34d; border-radius: 6px;
|
|
2720
|
+
color: #92400e; line-height: 1.8;
|
|
2721
|
+
}
|
|
2713
2722
|
/* フォルダを探す手間をなくすリンク。検索URLなので**誰のドライブでも1本で効く**
|
|
2714
2723
|
(フォルダIDは人ごとに違うので、固定URLは作れない) */
|
|
2715
2724
|
.mt-share-open { display: inline-block; margin: 6px 0 2px; font-weight: 700; }
|
|
@@ -4125,6 +4134,33 @@ ${deriveCapTile.toString()}
|
|
|
4125
4134
|
return order;
|
|
4126
4135
|
}
|
|
4127
4136
|
|
|
4137
|
+
/**
|
|
4138
|
+
* 会議名に入れる目印。**案件が宣言した合図が優先で、無ければ艦隊キー。**
|
|
4139
|
+
*
|
|
4140
|
+
* 人が打つのは案件が決めた合図(艦隊キーは長くてカレンダーに打てないので meetingKey で
|
|
4141
|
+
* 短くしている)。**自動取り込みが動いているときだけ**返す——手動運用の案件に
|
|
4142
|
+
* 会議名の条件を出すと、自動で拾われると誤解させる。
|
|
4143
|
+
*
|
|
4144
|
+
* ここに集めているのは、**同じ値を2箇所(目印の案内とプライバシーの注釈)で出す**ため。
|
|
4145
|
+
* 別々に導出すると、片方だけ艦隊キーのままになる事故が起きる
|
|
4146
|
+
*/
|
|
4147
|
+
function meetingSignalOf(s) {
|
|
4148
|
+
if (!s || s.kind !== "会議" || s.ingestState !== "on") return null;
|
|
4149
|
+
return s.meetingKey || (SITE.intake && SITE.intake.projectKey) || null;
|
|
4150
|
+
}
|
|
4151
|
+
|
|
4152
|
+
/**
|
|
4153
|
+
* 経過措置で登録された会議名(別名)。**目印が無くてもこの名前の会議は取り込まれる。**
|
|
4154
|
+
*
|
|
4155
|
+
* 目印の導出と同じく1箇所にまとめる——別名の一覧(.ds-legacy)と、
|
|
4156
|
+
* プライバシーの注釈(.mt-privacy)が**同じ条件で出る**必要があるため。
|
|
4157
|
+
* 片方だけ出ると、注釈の「上に並ぶ登録済みの会議名」が指す先が画面に無くなる
|
|
4158
|
+
*/
|
|
4159
|
+
function meetingAliasesOf(s) {
|
|
4160
|
+
if (!s || s.kind !== "会議" || s.ingestState !== "on") return [];
|
|
4161
|
+
return s.meetingAliases || [];
|
|
4162
|
+
}
|
|
4163
|
+
|
|
4128
4164
|
/**
|
|
4129
4165
|
* 会議の取り込みの案内。**操作ではなく条件を示す。**
|
|
4130
4166
|
*
|
|
@@ -4134,7 +4170,7 @@ ${deriveCapTile.toString()}
|
|
|
4134
4170
|
*
|
|
4135
4171
|
* ②の材料を画面が出さないと、招待したのに届かない理由が分からない。
|
|
4136
4172
|
*/
|
|
4137
|
-
function meetingHowTo() {
|
|
4173
|
+
function meetingHowTo(s) {
|
|
4138
4174
|
// **2つの条件がANDであることを、読み飛ばせない形で出す。** 散文で並べていたときに
|
|
4139
4175
|
// 「会議名は合っているのにBotを招待しておらず取り込まれなかった」事故が実際に起きた。
|
|
4140
4176
|
// 会議名の条件は上の行(ds-keys)が出すので、ここでは「上の語」と参照するに留める。
|
|
@@ -4145,7 +4181,7 @@ ${deriveCapTile.toString()}
|
|
|
4145
4181
|
ul.appendChild(el("li", { text: "会議名に上の目印が入っている" }));
|
|
4146
4182
|
wrap.appendChild(ul);
|
|
4147
4183
|
wrap.appendChild(el("p", { text: "どちらか一方だけでは取り込まれません。" }));
|
|
4148
|
-
wrap.appendChild(meetingFolderShare());
|
|
4184
|
+
wrap.appendChild(meetingFolderShare(meetingSignalOf(s), meetingAliasesOf(s).length));
|
|
4149
4185
|
return wrap;
|
|
4150
4186
|
}
|
|
4151
4187
|
|
|
@@ -4165,12 +4201,45 @@ ${deriveCapTile.toString()}
|
|
|
4165
4201
|
* 見えないことは別なので、両方を1行で正直に書く。
|
|
4166
4202
|
*/
|
|
4167
4203
|
// 注: ここは埋め込みJSのテンプレートリテラル内。コメントでもバッククォートを使わない
|
|
4168
|
-
function meetingFolderShare() {
|
|
4204
|
+
function meetingFolderShare(signal, aliasCount) {
|
|
4169
4205
|
var box = el("div", { class: "mt-share" });
|
|
4170
4206
|
box.appendChild(el("div", { class: "mt-share-title", text: "毎回の招待をやめる方法(会議の主催者向け・任意)" }));
|
|
4171
4207
|
box.appendChild(el("p", { text: "自分の Google ドライブにある「Meet Recordings」フォルダを、下のアカウントに「閲覧者」で1回だけ共有すると、以後あなたが主催する会議は招待が要らなくなります。会議名の目印はこれまでどおり必要です。" }));
|
|
4172
4208
|
box.appendChild(copyRow(DRIVE_INGEST_ACCOUNT));
|
|
4173
4209
|
|
|
4210
|
+
/*
|
|
4211
|
+
* 🔴 **「全部見られてしまうのでは」に答える**(2026-08-29 オーナー確定文・表記も含めて変えない)。
|
|
4212
|
+
*
|
|
4213
|
+
* すぐ下の注記(.mt-share-note)は「**取り込むか**」に答えていて、
|
|
4214
|
+
* 「**見るのか**」に答えていない。共有をためらう理由はそちらなので、専用に1行置く。
|
|
4215
|
+
*
|
|
4216
|
+
* **実装と一致していることを確かめてある**(apps-script/src/Main.gs:79-102・
|
|
4217
|
+
* Router.gs:65-91・Transcripts.gs の getMeetingName_):
|
|
4218
|
+
* - 振り分けに使うのは file.getName()(ファイル名)だけ
|
|
4219
|
+
* - 当たるのは**目印**(meetingNameHasKey_)**または別名の完全一致**
|
|
4220
|
+
* (meetingNameIsAlias_)の2通り。**別名は目印が要らない**
|
|
4221
|
+
* - どちらにも当たらないファイルは getTranscriptText_(Docs のエクスポート)を
|
|
4222
|
+
* 呼ぶ前に return する=**中身を開かない**
|
|
4223
|
+
* - どのリポジトリにも Slack にも書かない
|
|
4224
|
+
*
|
|
4225
|
+
* 🔴 **最初の版は「目印が入っていないメモは開かない」と書いて嘘になっていた**
|
|
4226
|
+
*(別名の経路を見落としていた)。しかも同じカードの .ds-legacy が
|
|
4227
|
+
* 「目印が無くても取り込まれます」と並んで出ていた——**カードが自分を否定していた**。
|
|
4228
|
+
* 文言を触るときは、必ず Router.gs の照合の**2通り**を見直すこと
|
|
4229
|
+
*/
|
|
4230
|
+
var mark = signal ? "案件の目印([" + signal + "] など)" : "案件の目印";
|
|
4231
|
+
// **別名が1件も無い案件では「上に並ぶ登録済みの会議名」が画面に存在しない。**
|
|
4232
|
+
// 指す先が無いものを指すと、そこがまた嘘になるので、その句だけを機械的に落とす
|
|
4233
|
+
//(新しい言い回しは足さない)
|
|
4234
|
+
var scope = aliasCount
|
|
4235
|
+
? mark + "と、上に並ぶ登録済みの会議名——このどちらにも当てはまらない"
|
|
4236
|
+
: mark + "に当てはまらない";
|
|
4237
|
+
box.appendChild(el("p", {
|
|
4238
|
+
class: "mt-privacy",
|
|
4239
|
+
text: "⚠ 共有を開始すると、bot はこのフォルダのファイル名だけを見ます。" + scope +
|
|
4240
|
+
"メモは、中身を開きません。読み取りも保存も行わないので、1on1や面談のメモがどこかに残ることはありません。",
|
|
4241
|
+
}));
|
|
4242
|
+
|
|
4174
4243
|
// **フォルダを探すところから助ける。** フォルダIDは人ごとに違うので固定URLは作れないが、
|
|
4175
4244
|
// 検索URLなら**1本で全員に効く**(開いた人のドライブの中で検索が走る)。
|
|
4176
4245
|
// **共有ダイアログを直接開くURLは作れない**ので、リンクの先で1手かかることを
|
|
@@ -4194,7 +4263,10 @@ ${deriveCapTile.toString()}
|
|
|
4194
4263
|
]));
|
|
4195
4264
|
box.appendChild(steps);
|
|
4196
4265
|
|
|
4266
|
+
// 権限の話(**bot から見える状態になる**)は、挙動の話(⚠ の注釈)と隣に置かない。
|
|
4267
|
+
// 並べると「見ない」→「見える」と続いて、正本が丁寧に分けている区別が消える
|
|
4197
4268
|
box.appendChild(el("p", { class: "mt-share-note", text: "共有すると、そのフォルダに入る会議メモは bot から見える状態になります(実際に取り込まれるのは、会議名に目印が入っている会議だけです)。" }));
|
|
4269
|
+
|
|
4198
4270
|
return box;
|
|
4199
4271
|
}
|
|
4200
4272
|
|
|
@@ -5526,13 +5598,10 @@ ${deriveCapTile.toString()}
|
|
|
5526
5598
|
//
|
|
5527
5599
|
// **括弧を付けた形で出す。** 語だけ見せると 【KC定例】 のように混ぜて書かれ、
|
|
5528
5600
|
// どこも一致せず未仕分けへ落ちる(実際に起きた)。そのままコピーできる形にする。
|
|
5529
|
-
var signal = null;
|
|
5530
5601
|
// **自動取り込みが動いているときだけ出す。** Teams等で手動運用している案件に
|
|
5531
5602
|
// 会議名の条件を出すと、自動で拾われると誤解させる(実際には拾われない)。
|
|
5532
|
-
|
|
5533
|
-
|
|
5534
|
-
}
|
|
5535
|
-
var aliases = (s.kind === "会議" && s.ingestState === "on" && s.meetingAliases) || [];
|
|
5603
|
+
var signal = meetingSignalOf(s);
|
|
5604
|
+
var aliases = meetingAliasesOf(s);
|
|
5536
5605
|
if (signal) {
|
|
5537
5606
|
// **カードで一番強い要素にする(#117)。** 実機で見たとき、目印の案内が
|
|
5538
5607
|
// 別名の一覧や注記と同じ細字で並んでいて、「まず会議名にこれを入れる」が
|
|
@@ -7441,7 +7510,7 @@ ${deriveCapTile.toString()}
|
|
|
7441
7510
|
// つまり「tools: teams なのに enabled: true」なら**実際に取り込まれる**ので、
|
|
7442
7511
|
// 宣言で隠すと、動いているのに説明が出ない状態になる。
|
|
7443
7512
|
if (s.kind === "会議" && s.ingestState === "on") {
|
|
7444
|
-
box.appendChild(meetingHowTo());
|
|
7513
|
+
box.appendChild(meetingHowTo(s));
|
|
7445
7514
|
// **会議名の登録を画面から変える口は置かない(#117 第2弾)。**
|
|
7446
7515
|
// 別名は括弧付きの合図運用へ移った際の経過措置で、既存案件のメンバーに定例の
|
|
7447
7516
|
// 改名を強いないために置いたもの。第1弾では「既に別名がある案件にだけ追加口を出す」
|
package/package.json
CHANGED