@fastagent-sh/voicenote 0.18.0 → 0.18.1
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/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/package.json +1 -1
- package/src/cli.ts +7 -1
package/README.md
CHANGED
|
@@ -242,7 +242,7 @@ git push --follow-tags
|
|
|
242
242
|
|
|
243
243
|
The workflow lives at `.github/workflows/release.yml`: CI explicitly runs typecheck/test/build + an artifact smoke test, then `npm publish --ignore-scripts` (deterministic publishing, no lifecycle dependence). Publishing uses **npm trusted publishing (OIDC)**: no long-lived token (`id-token: write` + a Trusted Publisher configured on npmjs.com), with provenance attached automatically. A bare local `npm publish` is still guarded by `prepublishOnly` (typecheck+test+build).
|
|
244
244
|
|
|
245
|
-
>
|
|
245
|
+
> Both are already done for this package (Trusted Publisher configured, CI publishing since 0.18.0 with provenance), so a routine release needs nothing but the tag. Kept for forks: npm has no pending-publisher, so trusted publishing cannot publish a package's *very first* version — publish once manually with `npm login` + `npm publish --ignore-scripts`, then add a Trusted Publisher on the package settings page at npmjs.com (repo, workflow `release.yml`); CI takes over afterwards (the npm account needs 2FA).
|
|
246
246
|
|
|
247
247
|
## Desktop app (GUI, `app/`)
|
|
248
248
|
|
package/README.zh-CN.md
CHANGED
|
@@ -242,7 +242,7 @@ git push --follow-tags
|
|
|
242
242
|
|
|
243
243
|
workflow 位于 `.github/workflows/release.yml`:CI 显式跑 typecheck/test/build + 产物冒烟,再 `npm publish --ignore-scripts`(确定发布,不依赖 lifecycle)。发布走 **npm trusted publishing(OIDC)**:免长期 token(`id-token: write` + npmjs.com 上配好 Trusted Publisher),自动带 provenance。本地裸 `npm publish` 则由 `prepublishOnly`(typecheck+test+build)兼底。
|
|
244
244
|
|
|
245
|
-
>
|
|
245
|
+
> 本包这两步都已完成(Trusted Publisher 已配置,自 0.18.0 起由 CI 发布并带 provenance),常规发版只需打 tag。以下保留给 fork 者:npm 无 pending-publisher,trusted publishing 发不了包的**第一个**版本 —— 先本机 `npm login` 后手动 `npm publish --ignore-scripts` 发一次,再到 npmjs.com 包设置页加 Trusted Publisher(repo、workflow `release.yml`),之后 CI 自动接管(需 npm 账号开 2FA)。
|
|
246
246
|
|
|
247
247
|
## 桌面客户端(GUI,`app/`)
|
|
248
248
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fastagent-sh/voicenote",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"description": "Voice recordings → diarized transcripts → integrated semantic Markdown notes. Currently optimized for the PHILIPS VTR6500 recorder, but the workflow is generic.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
package/src/cli.ts
CHANGED
|
@@ -12,7 +12,7 @@ import { fileURLToPath, pathToFileURL } from 'node:url'
|
|
|
12
12
|
import { spawn, spawnSync } from 'node:child_process'
|
|
13
13
|
import os from 'node:os'
|
|
14
14
|
|
|
15
|
-
const VERSION = '0.18.
|
|
15
|
+
const VERSION = '0.18.1'
|
|
16
16
|
const LAUNCH_AGENT_LABEL = 'sh.fastagent.voicenote'
|
|
17
17
|
const LAUNCH_AGENT_LABEL_LEGACY = 'com.kid7st.voicenote' // pre-fastagent installs; cleaned up on install
|
|
18
18
|
const TASK_NAME = 'VoiceNote' // Windows Task Scheduler name (mac uses LAUNCH_AGENT_LABEL)
|
|
@@ -2718,6 +2718,11 @@ async function collectDoctor() {
|
|
|
2718
2718
|
// still route the updater.
|
|
2719
2719
|
proxy: { url: process.env.https_proxy || process.env.HTTPS_PROXY || process.env.http_proxy || process.env.HTTP_PROXY || null },
|
|
2720
2720
|
identity: { self: config.speakers.self.name || null, aliases: config.speakers.self.aliases, knownCount: config.speakers.known.length },
|
|
2721
|
+
// The thresholds that silently decide what never gets processed. Without
|
|
2722
|
+
// them here, confirming a change to VOICENOTE_MAX_AGE_HOURS meant planting
|
|
2723
|
+
// a test recording and watching the scan — not a reasonable way to check
|
|
2724
|
+
// a setting.
|
|
2725
|
+
filters: { maxAgeHours: config.maxAgeHours, minBytes: config.minBytes, minDurationSeconds: config.minDurationSeconds },
|
|
2721
2726
|
deps: { ffprobe: ff.code === 0 },
|
|
2722
2727
|
agent: await agentStatus(),
|
|
2723
2728
|
}
|
|
@@ -2763,6 +2768,7 @@ async function doctor(opts: { json?: boolean } = {}): Promise<void> {
|
|
|
2763
2768
|
console.log(`node=${s.node}`)
|
|
2764
2769
|
console.log(`recordDir=${s.recorder.dir} exists=${s.recorder.exists}`)
|
|
2765
2770
|
console.log(`workspace=${s.workspace}`)
|
|
2771
|
+
console.log(`filters=maxAge:${s.filters.maxAgeHours > 0 ? `${s.filters.maxAgeHours}h` : 'none'} minSize:${(s.filters.minBytes / 1000).toFixed(0)}KB minDuration:${s.filters.minDurationSeconds}s`)
|
|
2766
2772
|
if (s.volcano.configured) {
|
|
2767
2773
|
console.log(`volcano.auth=${s.volcano.auth}`)
|
|
2768
2774
|
console.log(`volcano.resourceId=${s.volcano.resourceId}`)
|