mirror of
https://github.com/larksuite/cli.git
synced 2026-07-05 07:31:22 +08:00
* feat: unify minute artifacts output to ./minutes/{minute_token}/
* fix: tighten path validation and batch-mode --output rejection
* style: translate comments to english and trim historical context
* style: translate leftover chinese comments in vc_notes
* refactor: address review findings across validate ordering, error types, JSON, tests
* fix: sanitize server-provided filename to prevent escape from artifact dir
* style: tighten flag help text for minutes/vc output flags
* docs: update minutes/vc skill docs for unified artifact layout
31 lines
1.2 KiB
Go
31 lines
1.2 KiB
Go
// Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
// This file defines artifact-path conventions shared between
|
|
// `minutes +download` and `vc +notes`. Callers outside those two shortcuts
|
|
// should not take a dependency on these symbols.
|
|
|
|
package common
|
|
|
|
import "path/filepath"
|
|
|
|
// DefaultMinuteArtifactSubdir is the top-level directory for minute-scoped
|
|
// artifacts under the default layout.
|
|
const DefaultMinuteArtifactSubdir = "minutes"
|
|
|
|
// DefaultTranscriptFileName is the fixed transcript filename under the
|
|
// default layout. Recording files keep the server-provided name.
|
|
const DefaultTranscriptFileName = "transcript.txt"
|
|
|
|
// ArtifactTypeRecording is the artifact_type value emitted by
|
|
// `minutes +download` so that callers can index results by kind without
|
|
// parsing saved_path.
|
|
const ArtifactTypeRecording = "recording"
|
|
|
|
// DefaultMinuteArtifactDir returns the default output directory for an
|
|
// artifact keyed by minuteToken. The same path is shared across commands so
|
|
// that related artifacts of one meeting land together.
|
|
func DefaultMinuteArtifactDir(minuteToken string) string {
|
|
return filepath.Join(DefaultMinuteArtifactSubdir, minuteToken)
|
|
}
|