clawvault 3.0.0 → 3.2.0
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 +352 -20
- package/bin/clawvault.js +8 -2
- package/bin/command-registration.test.js +3 -1
- package/bin/command-runtime.js +9 -1
- package/bin/register-core-commands.js +23 -10
- package/bin/register-maintenance-commands.js +39 -3
- package/bin/register-query-commands.js +58 -29
- package/bin/register-task-commands.js +18 -1
- package/bin/register-task-commands.test.js +16 -0
- package/bin/register-vault-operations-commands.js +29 -1
- package/bin/register-workgraph-commands.js +1368 -0
- package/dashboard/lib/graph-diff.js +104 -0
- package/dashboard/lib/graph-diff.test.js +75 -0
- package/dashboard/lib/vault-parser.js +556 -0
- package/dashboard/lib/vault-parser.test.js +254 -0
- package/dashboard/public/app.js +796 -0
- package/dashboard/public/index.html +52 -0
- package/dashboard/public/styles.css +221 -0
- package/dashboard/server.js +374 -0
- package/dist/{chunk-F2JEUD4J.js → chunk-23YDQ3QU.js} +6 -8
- package/dist/{chunk-C7OK5WKP.js → chunk-2JQ3O2YL.js} +4 -4
- package/dist/{chunk-VR5NE7PZ.js → chunk-2RAZ4ZFE.js} +1 -1
- package/dist/chunk-2ZDO52B4.js +52 -0
- package/dist/{chunk-ZZA73MFY.js → chunk-33DOSHTA.js} +176 -36
- package/dist/chunk-33VSQP4J.js +37 -0
- package/dist/chunk-4BQTQMJP.js +93 -0
- package/dist/{chunk-GUKMRGM7.js → chunk-4OXMU5S2.js} +1 -1
- package/dist/{chunk-62YTUT6J.js → chunk-4PY655YM.js} +15 -3
- package/dist/chunk-6FH3IULF.js +352 -0
- package/dist/{chunk-3NSBOUT3.js → chunk-77Q5CSPJ.js} +404 -80
- package/dist/{chunk-4VQTUVH7.js → chunk-7YZWHM36.js} +52 -26
- package/dist/chunk-BSJ6RIT7.js +447 -0
- package/dist/chunk-BUEW6IIK.js +364 -0
- package/dist/{chunk-WGRQ6HDV.js → chunk-CLJTREDS.js} +74 -14
- package/dist/chunk-EK6S23ZB.js +469 -0
- package/dist/{chunk-LNJA2UGL.js → chunk-ESFLMDRB.js} +9 -86
- package/dist/{chunk-H34S76MB.js → chunk-ESVS6K2B.js} +6 -6
- package/dist/{chunk-WAZ3NLWL.js → chunk-F55HGNU4.js} +0 -47
- package/dist/{chunk-QK3UCXWL.js → chunk-FHFUXL6G.js} +2 -2
- package/dist/{chunk-YKTA5JOJ.js → chunk-GAOWA7GR.js} +212 -46
- package/dist/chunk-GGA32J2R.js +784 -0
- package/dist/chunk-GNJL4YGR.js +79 -0
- package/dist/chunk-MDIH26GC.js +183 -0
- package/dist/{chunk-LYHGEHXG.js → chunk-MFAWT5O5.js} +0 -1
- package/dist/chunk-MM6QGW3P.js +207 -0
- package/dist/{chunk-P5EPF6MB.js → chunk-MW5C6ZQA.js} +110 -13
- package/dist/chunk-NCKFNBHJ.js +257 -0
- package/dist/{chunk-QBLMXKF2.js → chunk-OIWVQYQF.js} +1 -1
- package/dist/{chunk-42MXU7A6.js → chunk-P62WHA27.js} +58 -47
- package/dist/chunk-PBACDKKP.js +66 -0
- package/dist/{chunk-VGLOTGAS.js → chunk-QSHD36LH.js} +2 -2
- package/dist/{chunk-OZ7RIXTO.js → chunk-QSRRMEYM.js} +2 -2
- package/dist/chunk-QVEERJSP.js +152 -0
- package/dist/{chunk-N2AXRYLC.js → chunk-QWQ3TIKS.js} +1 -1
- package/dist/{chunk-3DHXQHYG.js → chunk-R2MIW5G7.js} +1 -1
- package/dist/{chunk-SJSFRIYS.js → chunk-SLXOR3CC.js} +2 -2
- package/dist/chunk-SS4B7P7V.js +99 -0
- package/dist/{chunk-JY6FYXIT.js → chunk-STCQGCEQ.js} +6 -11
- package/dist/chunk-U4O6C46S.js +154 -0
- package/dist/{chunk-ITPEXLHA.js → chunk-URXDAUVH.js} +24 -5
- package/dist/chunk-VSL7KY3M.js +189 -0
- package/dist/{chunk-U55BGUAU.js → chunk-W4SPAEE7.js} +6 -6
- package/dist/chunk-WMGIIABP.js +15 -0
- package/dist/{chunk-3D6BCTP6.js → chunk-X3SPPUFG.js} +51 -39
- package/dist/{chunk-THRJVD4L.js → chunk-Y6VJKXGL.js} +1 -1
- package/dist/{chunk-ZVVFWOLW.js → chunk-ZN54U2OZ.js} +123 -10
- package/dist/cli/index.js +32 -25
- package/dist/commands/archive.js +3 -3
- package/dist/commands/backlog.js +3 -3
- package/dist/commands/blocked.js +3 -3
- package/dist/commands/canvas.d.ts +15 -0
- package/dist/commands/canvas.js +200 -0
- package/dist/commands/checkpoint.js +2 -2
- package/dist/commands/compat.js +2 -2
- package/dist/commands/context.js +8 -6
- package/dist/commands/doctor.d.ts +11 -7
- package/dist/commands/doctor.js +18 -16
- package/dist/commands/embed.js +5 -6
- package/dist/commands/entities.js +2 -2
- package/dist/commands/graph.js +4 -4
- package/dist/commands/inject.d.ts +1 -1
- package/dist/commands/inject.js +5 -6
- package/dist/commands/kanban.js +4 -4
- package/dist/commands/link.js +5 -5
- package/dist/commands/migrate-observations.js +4 -4
- package/dist/commands/observe.d.ts +0 -1
- package/dist/commands/observe.js +14 -13
- package/dist/commands/project.js +5 -5
- package/dist/commands/rebuild-embeddings.d.ts +21 -0
- package/dist/commands/rebuild-embeddings.js +91 -0
- package/dist/commands/rebuild.js +12 -11
- package/dist/commands/recover.js +3 -3
- package/dist/commands/reflect.js +6 -7
- package/dist/commands/repair-session.js +1 -1
- package/dist/commands/replay.js +14 -14
- package/dist/commands/session-recap.js +1 -1
- package/dist/commands/setup.d.ts +2 -90
- package/dist/commands/setup.js +3 -21
- package/dist/commands/shell-init.js +1 -1
- package/dist/commands/sleep.d.ts +1 -1
- package/dist/commands/sleep.js +20 -19
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.js +57 -35
- package/dist/commands/sync-bd.d.ts +10 -0
- package/dist/commands/sync-bd.js +10 -0
- package/dist/commands/tailscale.js +3 -3
- package/dist/commands/task.js +4 -4
- package/dist/commands/template.js +2 -2
- package/dist/commands/wake.d.ts +1 -1
- package/dist/commands/wake.js +11 -10
- package/dist/commands/workgraph.d.ts +124 -0
- package/dist/commands/workgraph.js +38 -0
- package/dist/index.d.ts +337 -191
- package/dist/index.js +387 -118
- package/dist/{inject-Bzi5E-By.d.cts → inject-DYUrDqQO.d.ts} +3 -3
- package/dist/ledger-B7g7jhqG.d.ts +44 -0
- package/dist/lib/auto-linker.js +2 -2
- package/dist/lib/canvas-layout.d.ts +100 -16
- package/dist/lib/canvas-layout.js +21 -78
- package/dist/lib/config.d.ts +27 -3
- package/dist/lib/config.js +4 -2
- package/dist/lib/entity-index.js +1 -1
- package/dist/lib/project-utils.js +4 -4
- package/dist/lib/session-repair.js +1 -1
- package/dist/lib/session-utils.js +1 -1
- package/dist/lib/tailscale.js +1 -1
- package/dist/lib/task-utils.js +3 -3
- package/dist/lib/template-engine.js +1 -1
- package/dist/lib/webdav.js +1 -1
- package/dist/onnxruntime_binding-5QEF3SUC.node +0 -0
- package/dist/onnxruntime_binding-BKPKNEGC.node +0 -0
- package/dist/onnxruntime_binding-FMOXGIUT.node +0 -0
- package/dist/onnxruntime_binding-OI2KMXC5.node +0 -0
- package/dist/onnxruntime_binding-UX44MLAZ.node +0 -0
- package/dist/onnxruntime_binding-Y2W7N7WY.node +0 -0
- package/dist/openclaw-plugin.d.ts +8 -0
- package/dist/openclaw-plugin.js +14 -0
- package/dist/registry-BR4326o0.d.ts +30 -0
- package/dist/store-CA-6sKCJ.d.ts +34 -0
- package/dist/thread-B9LhXNU0.d.ts +41 -0
- package/dist/transformers.node-A2ZRORSQ.js +46775 -0
- package/dist/{types-Y2_Um2Ls.d.cts → types-BbWJoC1c.d.ts} +1 -44
- package/dist/workgraph/index.d.ts +5 -0
- package/dist/workgraph/index.js +23 -0
- package/dist/workgraph/ledger.d.ts +2 -0
- package/dist/workgraph/ledger.js +25 -0
- package/dist/workgraph/registry.d.ts +2 -0
- package/dist/workgraph/registry.js +19 -0
- package/dist/workgraph/store.d.ts +2 -0
- package/dist/workgraph/store.js +25 -0
- package/dist/workgraph/thread.d.ts +2 -0
- package/dist/workgraph/thread.js +25 -0
- package/dist/workgraph/types.d.ts +54 -0
- package/dist/workgraph/types.js +7 -0
- package/hooks/clawvault/HOOK.md +34 -4
- package/hooks/clawvault/handler.js +760 -78
- package/hooks/clawvault/handler.test.js +235 -79
- package/hooks/clawvault/openclaw.plugin.json +72 -0
- package/openclaw.plugin.json +65 -38
- package/package.json +15 -18
- package/dist/chunk-3RG5ZIWI.js +0 -10
- package/dist/chunk-6U6MK36V.js +0 -205
- package/dist/chunk-7R7O6STJ.js +0 -88
- package/dist/chunk-CMB7UL7C.js +0 -327
- package/dist/chunk-DEFFDRVP.js +0 -938
- package/dist/chunk-E7MFQB6D.js +0 -163
- package/dist/chunk-GAJV4IGR.js +0 -82
- package/dist/chunk-GQSLDZTS.js +0 -560
- package/dist/chunk-K234IDRJ.js +0 -1073
- package/dist/chunk-MFM6K7PU.js +0 -374
- package/dist/chunk-MXSSG3QU.js +0 -42
- package/dist/chunk-PAH27GSN.js +0 -108
- package/dist/cli/index.cjs +0 -10033
- package/dist/cli/index.d.cts +0 -5
- package/dist/commands/archive.cjs +0 -287
- package/dist/commands/archive.d.cts +0 -11
- package/dist/commands/backlog.cjs +0 -721
- package/dist/commands/backlog.d.cts +0 -53
- package/dist/commands/blocked.cjs +0 -204
- package/dist/commands/blocked.d.cts +0 -26
- package/dist/commands/checkpoint.cjs +0 -244
- package/dist/commands/checkpoint.d.cts +0 -41
- package/dist/commands/compat.cjs +0 -369
- package/dist/commands/compat.d.cts +0 -28
- package/dist/commands/context.cjs +0 -2989
- package/dist/commands/context.d.cts +0 -2
- package/dist/commands/doctor.cjs +0 -3062
- package/dist/commands/doctor.d.cts +0 -21
- package/dist/commands/embed.cjs +0 -232
- package/dist/commands/embed.d.cts +0 -17
- package/dist/commands/entities.cjs +0 -141
- package/dist/commands/entities.d.cts +0 -7
- package/dist/commands/graph.cjs +0 -501
- package/dist/commands/graph.d.cts +0 -21
- package/dist/commands/inject.cjs +0 -1636
- package/dist/commands/inject.d.cts +0 -2
- package/dist/commands/kanban.cjs +0 -884
- package/dist/commands/kanban.d.cts +0 -63
- package/dist/commands/link.cjs +0 -965
- package/dist/commands/link.d.cts +0 -11
- package/dist/commands/migrate-observations.cjs +0 -362
- package/dist/commands/migrate-observations.d.cts +0 -19
- package/dist/commands/observe.cjs +0 -4099
- package/dist/commands/observe.d.cts +0 -23
- package/dist/commands/project.cjs +0 -1341
- package/dist/commands/project.d.cts +0 -85
- package/dist/commands/rebuild.cjs +0 -3136
- package/dist/commands/rebuild.d.cts +0 -11
- package/dist/commands/recover.cjs +0 -361
- package/dist/commands/recover.d.cts +0 -38
- package/dist/commands/reflect.cjs +0 -1008
- package/dist/commands/reflect.d.cts +0 -11
- package/dist/commands/repair-session.cjs +0 -457
- package/dist/commands/repair-session.d.cts +0 -38
- package/dist/commands/replay.cjs +0 -4103
- package/dist/commands/replay.d.cts +0 -16
- package/dist/commands/session-recap.cjs +0 -353
- package/dist/commands/session-recap.d.cts +0 -27
- package/dist/commands/setup.cjs +0 -1345
- package/dist/commands/setup.d.cts +0 -100
- package/dist/commands/shell-init.cjs +0 -75
- package/dist/commands/shell-init.d.cts +0 -7
- package/dist/commands/sleep.cjs +0 -6028
- package/dist/commands/sleep.d.cts +0 -36
- package/dist/commands/status.cjs +0 -2736
- package/dist/commands/status.d.cts +0 -52
- package/dist/commands/tailscale.cjs +0 -1532
- package/dist/commands/tailscale.d.cts +0 -52
- package/dist/commands/task.cjs +0 -1236
- package/dist/commands/task.d.cts +0 -97
- package/dist/commands/template.cjs +0 -457
- package/dist/commands/template.d.cts +0 -36
- package/dist/commands/wake.cjs +0 -2626
- package/dist/commands/wake.d.cts +0 -22
- package/dist/context-BUGaWpyL.d.cts +0 -46
- package/dist/index.cjs +0 -14526
- package/dist/index.d.cts +0 -858
- package/dist/inject-Bzi5E-By.d.ts +0 -137
- package/dist/lib/auto-linker.cjs +0 -176
- package/dist/lib/auto-linker.d.cts +0 -26
- package/dist/lib/canvas-layout.cjs +0 -136
- package/dist/lib/canvas-layout.d.cts +0 -31
- package/dist/lib/config.cjs +0 -78
- package/dist/lib/config.d.cts +0 -11
- package/dist/lib/entity-index.cjs +0 -84
- package/dist/lib/entity-index.d.cts +0 -26
- package/dist/lib/project-utils.cjs +0 -864
- package/dist/lib/project-utils.d.cts +0 -97
- package/dist/lib/session-repair.cjs +0 -239
- package/dist/lib/session-repair.d.cts +0 -110
- package/dist/lib/session-utils.cjs +0 -209
- package/dist/lib/session-utils.d.cts +0 -63
- package/dist/lib/tailscale.cjs +0 -1183
- package/dist/lib/tailscale.d.cts +0 -225
- package/dist/lib/task-utils.cjs +0 -1137
- package/dist/lib/task-utils.d.cts +0 -208
- package/dist/lib/template-engine.cjs +0 -47
- package/dist/lib/template-engine.d.cts +0 -11
- package/dist/lib/webdav.cjs +0 -568
- package/dist/lib/webdav.d.cts +0 -109
- package/dist/plugin/index.cjs +0 -1907
- package/dist/plugin/index.d.cts +0 -36
- package/dist/plugin/index.d.ts +0 -36
- package/dist/plugin/index.js +0 -572
- package/dist/plugin/inject.cjs +0 -356
- package/dist/plugin/inject.d.cts +0 -54
- package/dist/plugin/inject.d.ts +0 -54
- package/dist/plugin/inject.js +0 -17
- package/dist/plugin/observe.cjs +0 -631
- package/dist/plugin/observe.d.cts +0 -39
- package/dist/plugin/observe.d.ts +0 -39
- package/dist/plugin/observe.js +0 -18
- package/dist/plugin/templates.cjs +0 -593
- package/dist/plugin/templates.d.cts +0 -52
- package/dist/plugin/templates.d.ts +0 -52
- package/dist/plugin/templates.js +0 -25
- package/dist/plugin/types.cjs +0 -18
- package/dist/plugin/types.d.cts +0 -209
- package/dist/plugin/types.d.ts +0 -209
- package/dist/plugin/types.js +0 -0
- package/dist/plugin/vault.cjs +0 -927
- package/dist/plugin/vault.d.cts +0 -68
- package/dist/plugin/vault.d.ts +0 -68
- package/dist/plugin/vault.js +0 -22
- package/dist/types-Y2_Um2Ls.d.ts +0 -205
- package/templates/memory-event.md +0 -67
- package/templates/party.md +0 -63
- package/templates/primitive-registry.yaml +0 -551
- package/templates/run.md +0 -68
- package/templates/trigger.md +0 -68
- package/templates/workspace.md +0 -50
package/dist/commands/task.d.cts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { TaskPriority, TaskStatus, Task } from '../lib/task-utils.cjs';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Task command for ClawVault
|
|
5
|
-
* Manages task add/list/update/done/show operations
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
interface TaskAddOptions {
|
|
9
|
-
owner?: string;
|
|
10
|
-
project?: string;
|
|
11
|
-
priority?: TaskPriority;
|
|
12
|
-
due?: string;
|
|
13
|
-
content?: string;
|
|
14
|
-
tags?: string[];
|
|
15
|
-
description?: string;
|
|
16
|
-
estimate?: string;
|
|
17
|
-
parent?: string;
|
|
18
|
-
dependsOn?: string[];
|
|
19
|
-
}
|
|
20
|
-
interface TaskListOptions {
|
|
21
|
-
status?: TaskStatus;
|
|
22
|
-
owner?: string;
|
|
23
|
-
project?: string;
|
|
24
|
-
priority?: TaskPriority;
|
|
25
|
-
due?: boolean;
|
|
26
|
-
tag?: string;
|
|
27
|
-
overdue?: boolean;
|
|
28
|
-
json?: boolean;
|
|
29
|
-
}
|
|
30
|
-
interface TaskUpdateOptions {
|
|
31
|
-
status?: TaskStatus;
|
|
32
|
-
owner?: string | null;
|
|
33
|
-
project?: string | null;
|
|
34
|
-
priority?: TaskPriority | null;
|
|
35
|
-
blockedBy?: string | null;
|
|
36
|
-
due?: string | null;
|
|
37
|
-
tags?: string[] | null;
|
|
38
|
-
description?: string | null;
|
|
39
|
-
estimate?: string | null;
|
|
40
|
-
parent?: string | null;
|
|
41
|
-
dependsOn?: string[] | null;
|
|
42
|
-
confidence?: number;
|
|
43
|
-
reason?: string | null;
|
|
44
|
-
}
|
|
45
|
-
interface TaskTransitionsOptions {
|
|
46
|
-
agent?: string;
|
|
47
|
-
failed?: boolean;
|
|
48
|
-
json?: boolean;
|
|
49
|
-
}
|
|
50
|
-
interface TaskShowOptions {
|
|
51
|
-
json?: boolean;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Add a new task
|
|
55
|
-
*/
|
|
56
|
-
declare function taskAdd(vaultPath: string, title: string, options?: TaskAddOptions): Task;
|
|
57
|
-
/**
|
|
58
|
-
* List tasks with optional filters
|
|
59
|
-
*/
|
|
60
|
-
declare function taskList(vaultPath: string, options?: TaskListOptions): Task[];
|
|
61
|
-
/**
|
|
62
|
-
* Update a task
|
|
63
|
-
*/
|
|
64
|
-
declare function taskUpdate(vaultPath: string, slug: string, options: TaskUpdateOptions): Task;
|
|
65
|
-
/**
|
|
66
|
-
* Mark a task as done
|
|
67
|
-
*/
|
|
68
|
-
declare function taskDone(vaultPath: string, slug: string, options?: {
|
|
69
|
-
confidence?: number;
|
|
70
|
-
reason?: string;
|
|
71
|
-
}): Task;
|
|
72
|
-
/**
|
|
73
|
-
* Query task transitions
|
|
74
|
-
*/
|
|
75
|
-
declare function taskTransitions(vaultPath: string, taskId?: string, options?: TaskTransitionsOptions): string;
|
|
76
|
-
/**
|
|
77
|
-
* Show task details
|
|
78
|
-
*/
|
|
79
|
-
declare function taskShow(vaultPath: string, slug: string): Task | null;
|
|
80
|
-
/**
|
|
81
|
-
* Format task list as terminal table
|
|
82
|
-
*/
|
|
83
|
-
declare function formatTaskList(tasks: Task[]): string;
|
|
84
|
-
/**
|
|
85
|
-
* Format task details for display
|
|
86
|
-
*/
|
|
87
|
-
declare function formatTaskDetails(task: Task): string;
|
|
88
|
-
/**
|
|
89
|
-
* Task command handler for CLI
|
|
90
|
-
*/
|
|
91
|
-
declare function taskCommand(vaultPath: string, action: 'add' | 'list' | 'update' | 'done' | 'show' | 'transitions', args: {
|
|
92
|
-
title?: string;
|
|
93
|
-
slug?: string;
|
|
94
|
-
options?: TaskAddOptions & TaskListOptions & TaskUpdateOptions & TaskShowOptions & TaskTransitionsOptions;
|
|
95
|
-
}): Promise<void>;
|
|
96
|
-
|
|
97
|
-
export { type TaskAddOptions, type TaskListOptions, type TaskShowOptions, type TaskTransitionsOptions, type TaskUpdateOptions, formatTaskDetails, formatTaskList, taskAdd, taskCommand, taskDone, taskList, taskShow, taskTransitions, taskUpdate };
|
|
@@ -1,457 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
|
|
30
|
-
// src/commands/template.ts
|
|
31
|
-
var template_exports = {};
|
|
32
|
-
__export(template_exports, {
|
|
33
|
-
addTemplate: () => addTemplate,
|
|
34
|
-
createFromTemplate: () => createFromTemplate,
|
|
35
|
-
listTemplateDefinitions: () => listTemplateDefinitions2,
|
|
36
|
-
listTemplates: () => listTemplates
|
|
37
|
-
});
|
|
38
|
-
module.exports = __toCommonJS(template_exports);
|
|
39
|
-
var fs2 = __toESM(require("fs"), 1);
|
|
40
|
-
var path2 = __toESM(require("path"), 1);
|
|
41
|
-
|
|
42
|
-
// src/lib/template-engine.ts
|
|
43
|
-
function buildTemplateVariables(input = {}, now = /* @__PURE__ */ new Date()) {
|
|
44
|
-
const datetime = input.datetime ?? now.toISOString();
|
|
45
|
-
const date = input.date ?? datetime.split("T")[0];
|
|
46
|
-
return {
|
|
47
|
-
title: input.title ?? "",
|
|
48
|
-
type: input.type ?? "",
|
|
49
|
-
date,
|
|
50
|
-
datetime
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
function renderTemplate(template, variables) {
|
|
54
|
-
return template.replace(/\{\{\s*([a-zA-Z0-9_-]+)\s*\}\}/g, (match, key) => {
|
|
55
|
-
const value = variables[key];
|
|
56
|
-
return value !== void 0 ? String(value) : match;
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// src/lib/primitive-templates.ts
|
|
61
|
-
var fs = __toESM(require("fs"), 1);
|
|
62
|
-
var path = __toESM(require("path"), 1);
|
|
63
|
-
var import_url = require("url");
|
|
64
|
-
var import_gray_matter = __toESM(require("gray-matter"), 1);
|
|
65
|
-
var import_meta = {};
|
|
66
|
-
var TEMPLATE_EXTENSION = ".md";
|
|
67
|
-
function isRecord(value) {
|
|
68
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
69
|
-
}
|
|
70
|
-
function normalizeTemplateName(name) {
|
|
71
|
-
const base = path.basename(name, path.extname(name));
|
|
72
|
-
return base.trim();
|
|
73
|
-
}
|
|
74
|
-
function resolveBuiltinTemplatesDir(override) {
|
|
75
|
-
if (override) {
|
|
76
|
-
const resolved = path.resolve(override);
|
|
77
|
-
return fs.existsSync(resolved) && fs.statSync(resolved).isDirectory() ? resolved : null;
|
|
78
|
-
}
|
|
79
|
-
const moduleDir = path.dirname((0, import_url.fileURLToPath)(import_meta.url));
|
|
80
|
-
const candidates = [
|
|
81
|
-
path.resolve(moduleDir, "../templates"),
|
|
82
|
-
path.resolve(moduleDir, "../../templates")
|
|
83
|
-
];
|
|
84
|
-
for (const candidate of candidates) {
|
|
85
|
-
if (fs.existsSync(candidate) && fs.statSync(candidate).isDirectory()) {
|
|
86
|
-
return candidate;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
function listTemplateFiles(dir, ignore) {
|
|
92
|
-
const entries = /* @__PURE__ */ new Map();
|
|
93
|
-
if (!fs.existsSync(dir)) return entries;
|
|
94
|
-
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
95
|
-
if (!entry.isFile() || !entry.name.endsWith(TEMPLATE_EXTENSION)) continue;
|
|
96
|
-
const name = normalizeTemplateName(entry.name);
|
|
97
|
-
if (!name) continue;
|
|
98
|
-
if (ignore?.has(name)) continue;
|
|
99
|
-
entries.set(name, path.join(dir, entry.name));
|
|
100
|
-
}
|
|
101
|
-
return entries;
|
|
102
|
-
}
|
|
103
|
-
function buildTemplateIndex(options = {}) {
|
|
104
|
-
const index = /* @__PURE__ */ new Map();
|
|
105
|
-
const builtinDir = resolveBuiltinTemplatesDir(options.builtinDir);
|
|
106
|
-
if (builtinDir) {
|
|
107
|
-
for (const [name, filePath] of listTemplateFiles(builtinDir, options.ignoreBuiltinNames)) {
|
|
108
|
-
index.set(name, filePath);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
if (options.vaultPath) {
|
|
112
|
-
const vaultTemplatesDir = path.join(path.resolve(options.vaultPath), "templates");
|
|
113
|
-
for (const [name, filePath] of listTemplateFiles(vaultTemplatesDir)) {
|
|
114
|
-
index.set(name, filePath);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return index;
|
|
118
|
-
}
|
|
119
|
-
function inferFieldType(defaultValue) {
|
|
120
|
-
if (Array.isArray(defaultValue)) {
|
|
121
|
-
const uniqueItemTypes = [...new Set(defaultValue.map((value) => typeof value))];
|
|
122
|
-
if (uniqueItemTypes.length === 1 && uniqueItemTypes[0] === "string") {
|
|
123
|
-
return "string[]";
|
|
124
|
-
}
|
|
125
|
-
return "array";
|
|
126
|
-
}
|
|
127
|
-
switch (typeof defaultValue) {
|
|
128
|
-
case "string":
|
|
129
|
-
return "string";
|
|
130
|
-
case "number":
|
|
131
|
-
return "number";
|
|
132
|
-
case "boolean":
|
|
133
|
-
return "boolean";
|
|
134
|
-
case "object":
|
|
135
|
-
if (defaultValue === null) return "string";
|
|
136
|
-
return "object";
|
|
137
|
-
default:
|
|
138
|
-
return "string";
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
function normalizeFieldDefinition(rawField) {
|
|
142
|
-
if (!isRecord(rawField)) {
|
|
143
|
-
return {
|
|
144
|
-
type: inferFieldType(rawField),
|
|
145
|
-
default: rawField
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
const rawType = typeof rawField.type === "string" ? rawField.type.trim() : "";
|
|
149
|
-
const normalized = {
|
|
150
|
-
type: rawType || inferFieldType(rawField.default)
|
|
151
|
-
};
|
|
152
|
-
if (typeof rawField.description === "string" && rawField.description.trim()) {
|
|
153
|
-
normalized.description = rawField.description.trim();
|
|
154
|
-
}
|
|
155
|
-
if (typeof rawField.required === "boolean") {
|
|
156
|
-
normalized.required = rawField.required;
|
|
157
|
-
}
|
|
158
|
-
if (Object.prototype.hasOwnProperty.call(rawField, "default")) {
|
|
159
|
-
normalized.default = rawField.default;
|
|
160
|
-
}
|
|
161
|
-
if (Array.isArray(rawField.enum)) {
|
|
162
|
-
normalized.enum = rawField.enum;
|
|
163
|
-
}
|
|
164
|
-
return normalized;
|
|
165
|
-
}
|
|
166
|
-
function normalizeFieldDefinitions(rawFields) {
|
|
167
|
-
const normalized = {};
|
|
168
|
-
for (const [fieldName, rawField] of Object.entries(rawFields)) {
|
|
169
|
-
const normalizedName = String(fieldName).trim();
|
|
170
|
-
if (!normalizedName) continue;
|
|
171
|
-
normalized[normalizedName] = normalizeFieldDefinition(rawField);
|
|
172
|
-
}
|
|
173
|
-
return normalized;
|
|
174
|
-
}
|
|
175
|
-
function extractSchemaDefinition(frontmatter) {
|
|
176
|
-
const primitive = typeof frontmatter.primitive === "string" ? frontmatter.primitive.trim() : "";
|
|
177
|
-
const description = typeof frontmatter.description === "string" ? frontmatter.description.trim() : void 0;
|
|
178
|
-
if (primitive && isRecord(frontmatter.fields)) {
|
|
179
|
-
return {
|
|
180
|
-
primitive,
|
|
181
|
-
description,
|
|
182
|
-
fields: frontmatter.fields
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
const containerCandidates = [frontmatter.schema, frontmatter.template];
|
|
186
|
-
for (const candidate of containerCandidates) {
|
|
187
|
-
if (!isRecord(candidate)) continue;
|
|
188
|
-
const nestedPrimitive = typeof candidate.primitive === "string" ? candidate.primitive.trim() : primitive;
|
|
189
|
-
if (!nestedPrimitive || !isRecord(candidate.fields)) continue;
|
|
190
|
-
const nestedDescription = typeof candidate.description === "string" ? candidate.description.trim() : description;
|
|
191
|
-
return {
|
|
192
|
-
primitive: nestedPrimitive,
|
|
193
|
-
description: nestedDescription,
|
|
194
|
-
fields: candidate.fields
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
return null;
|
|
198
|
-
}
|
|
199
|
-
function inferLegacyFieldDefinitions(frontmatter) {
|
|
200
|
-
const normalized = {};
|
|
201
|
-
const ignoredKeys = /* @__PURE__ */ new Set(["primitive", "fields", "schema", "template"]);
|
|
202
|
-
for (const [key, value] of Object.entries(frontmatter)) {
|
|
203
|
-
if (ignoredKeys.has(key)) continue;
|
|
204
|
-
normalized[key] = {
|
|
205
|
-
type: inferFieldType(value),
|
|
206
|
-
default: value
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
return normalized;
|
|
210
|
-
}
|
|
211
|
-
function parseTemplateDefinition(rawTemplate, templateName, sourcePath) {
|
|
212
|
-
const normalizedName = normalizeTemplateName(templateName);
|
|
213
|
-
const { data, content } = (0, import_gray_matter.default)(rawTemplate);
|
|
214
|
-
const frontmatter = isRecord(data) ? data : {};
|
|
215
|
-
const extractedSchema = extractSchemaDefinition(frontmatter);
|
|
216
|
-
if (extractedSchema) {
|
|
217
|
-
return {
|
|
218
|
-
name: normalizedName,
|
|
219
|
-
primitive: extractedSchema.primitive,
|
|
220
|
-
description: extractedSchema.description,
|
|
221
|
-
fields: normalizeFieldDefinitions(extractedSchema.fields),
|
|
222
|
-
body: content,
|
|
223
|
-
format: "schema",
|
|
224
|
-
sourcePath
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
return {
|
|
228
|
-
name: normalizedName,
|
|
229
|
-
primitive: normalizedName,
|
|
230
|
-
description: typeof frontmatter.description === "string" ? frontmatter.description.trim() : void 0,
|
|
231
|
-
fields: inferLegacyFieldDefinitions(frontmatter),
|
|
232
|
-
body: content,
|
|
233
|
-
format: "legacy",
|
|
234
|
-
sourcePath
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
function readTemplateDefinitionFromPath(filePath, templateName) {
|
|
238
|
-
try {
|
|
239
|
-
const raw = fs.readFileSync(filePath, "utf-8");
|
|
240
|
-
return parseTemplateDefinition(raw, templateName, filePath);
|
|
241
|
-
} catch {
|
|
242
|
-
return null;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
function listTemplateDefinitions(options = {}) {
|
|
246
|
-
const index = buildTemplateIndex(options);
|
|
247
|
-
const entries = [];
|
|
248
|
-
for (const [name, filePath] of [...index.entries()].sort(([left], [right]) => left.localeCompare(right))) {
|
|
249
|
-
const definition = readTemplateDefinitionFromPath(filePath, name);
|
|
250
|
-
if (!definition) continue;
|
|
251
|
-
entries.push({
|
|
252
|
-
...definition,
|
|
253
|
-
path: filePath
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
return entries;
|
|
257
|
-
}
|
|
258
|
-
function resolveInterpolatedValue(value, variables) {
|
|
259
|
-
if (typeof value === "string") {
|
|
260
|
-
return renderTemplate(value, variables);
|
|
261
|
-
}
|
|
262
|
-
if (Array.isArray(value)) {
|
|
263
|
-
return value.map((item) => resolveInterpolatedValue(item, variables));
|
|
264
|
-
}
|
|
265
|
-
if (isRecord(value)) {
|
|
266
|
-
const resolved = {};
|
|
267
|
-
for (const [key, nested] of Object.entries(value)) {
|
|
268
|
-
resolved[key] = resolveInterpolatedValue(nested, variables);
|
|
269
|
-
}
|
|
270
|
-
return resolved;
|
|
271
|
-
}
|
|
272
|
-
return value;
|
|
273
|
-
}
|
|
274
|
-
function pruneFrontmatter(frontmatter, options) {
|
|
275
|
-
const dropEmptyStrings = options.dropEmptyStrings ?? true;
|
|
276
|
-
const dropEmptyArrays = options.dropEmptyArrays ?? true;
|
|
277
|
-
const pruned = {};
|
|
278
|
-
for (const [key, value] of Object.entries(frontmatter)) {
|
|
279
|
-
if (value === void 0 || value === null) continue;
|
|
280
|
-
if (dropEmptyStrings && typeof value === "string" && value.trim() === "") continue;
|
|
281
|
-
if (dropEmptyArrays && Array.isArray(value) && value.length === 0) continue;
|
|
282
|
-
pruned[key] = value;
|
|
283
|
-
}
|
|
284
|
-
return pruned;
|
|
285
|
-
}
|
|
286
|
-
function buildFrontmatterFromTemplate(definition, variables, overrides = {}, options = {}) {
|
|
287
|
-
const frontmatter = {};
|
|
288
|
-
for (const [fieldName, schema] of Object.entries(definition.fields)) {
|
|
289
|
-
if (!Object.prototype.hasOwnProperty.call(schema, "default")) continue;
|
|
290
|
-
frontmatter[fieldName] = resolveInterpolatedValue(schema.default, variables);
|
|
291
|
-
}
|
|
292
|
-
for (const [fieldName, value] of Object.entries(overrides)) {
|
|
293
|
-
if (value === void 0) continue;
|
|
294
|
-
if (value === null) {
|
|
295
|
-
delete frontmatter[fieldName];
|
|
296
|
-
continue;
|
|
297
|
-
}
|
|
298
|
-
frontmatter[fieldName] = value;
|
|
299
|
-
}
|
|
300
|
-
if (!options.pruneEmpty) {
|
|
301
|
-
return frontmatter;
|
|
302
|
-
}
|
|
303
|
-
return pruneFrontmatter(frontmatter, options);
|
|
304
|
-
}
|
|
305
|
-
function renderDocumentFromTemplate(definition, options = {}) {
|
|
306
|
-
const now = options.now ?? /* @__PURE__ */ new Date();
|
|
307
|
-
const variables = {
|
|
308
|
-
...buildTemplateVariables(
|
|
309
|
-
{
|
|
310
|
-
title: options.title ?? "",
|
|
311
|
-
type: options.type ?? definition.primitive
|
|
312
|
-
},
|
|
313
|
-
now
|
|
314
|
-
),
|
|
315
|
-
...options.variables ?? {}
|
|
316
|
-
};
|
|
317
|
-
const frontmatter = buildFrontmatterFromTemplate(
|
|
318
|
-
definition,
|
|
319
|
-
variables,
|
|
320
|
-
options.overrides,
|
|
321
|
-
options.frontmatter
|
|
322
|
-
);
|
|
323
|
-
const content = renderTemplate(definition.body, variables);
|
|
324
|
-
const markdown = import_gray_matter.default.stringify(content, frontmatter);
|
|
325
|
-
return {
|
|
326
|
-
frontmatter,
|
|
327
|
-
content,
|
|
328
|
-
markdown,
|
|
329
|
-
variables
|
|
330
|
-
};
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
// src/commands/template.ts
|
|
334
|
-
var VAULT_CONFIG_FILE = ".clawvault.json";
|
|
335
|
-
var TEMPLATE_LIST_IGNORED_BUILTINS = /* @__PURE__ */ new Set(["daily"]);
|
|
336
|
-
function findVaultRoot(start) {
|
|
337
|
-
let current = path2.resolve(start);
|
|
338
|
-
while (true) {
|
|
339
|
-
if (fs2.existsSync(path2.join(current, VAULT_CONFIG_FILE))) {
|
|
340
|
-
return current;
|
|
341
|
-
}
|
|
342
|
-
const parent = path2.dirname(current);
|
|
343
|
-
if (parent === current) return null;
|
|
344
|
-
current = parent;
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
function resolveVaultPath(options) {
|
|
348
|
-
if (options.vaultPath) {
|
|
349
|
-
return path2.resolve(options.vaultPath);
|
|
350
|
-
}
|
|
351
|
-
const envPath = process.env.CLAWVAULT_PATH;
|
|
352
|
-
if (envPath) {
|
|
353
|
-
return path2.resolve(envPath);
|
|
354
|
-
}
|
|
355
|
-
const cwd = options.cwd ?? process.cwd();
|
|
356
|
-
return findVaultRoot(cwd);
|
|
357
|
-
}
|
|
358
|
-
function slugify(text) {
|
|
359
|
-
return text.toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").trim();
|
|
360
|
-
}
|
|
361
|
-
function buildTemplateIndexForContext(options) {
|
|
362
|
-
const vaultPath = resolveVaultPath(options) ?? void 0;
|
|
363
|
-
return buildTemplateIndex({
|
|
364
|
-
vaultPath,
|
|
365
|
-
builtinDir: options.builtinDir,
|
|
366
|
-
ignoreBuiltinNames: TEMPLATE_LIST_IGNORED_BUILTINS
|
|
367
|
-
});
|
|
368
|
-
}
|
|
369
|
-
function listTemplateDefinitions2(options = {}) {
|
|
370
|
-
const vaultPath = resolveVaultPath(options) ?? void 0;
|
|
371
|
-
return listTemplateDefinitions({
|
|
372
|
-
vaultPath,
|
|
373
|
-
builtinDir: options.builtinDir,
|
|
374
|
-
ignoreBuiltinNames: TEMPLATE_LIST_IGNORED_BUILTINS
|
|
375
|
-
}).map((definition) => ({
|
|
376
|
-
name: definition.name,
|
|
377
|
-
primitive: definition.primitive,
|
|
378
|
-
description: definition.description,
|
|
379
|
-
fields: Object.keys(definition.fields),
|
|
380
|
-
path: definition.path,
|
|
381
|
-
format: definition.format
|
|
382
|
-
}));
|
|
383
|
-
}
|
|
384
|
-
function listTemplates(options = {}) {
|
|
385
|
-
return listTemplateDefinitions2(options).map((definition) => definition.name);
|
|
386
|
-
}
|
|
387
|
-
function createFromTemplate(name, options = {}) {
|
|
388
|
-
const templateName = normalizeTemplateName(name);
|
|
389
|
-
if (!templateName) {
|
|
390
|
-
throw new Error("Template name is required.");
|
|
391
|
-
}
|
|
392
|
-
const index = buildTemplateIndexForContext(options);
|
|
393
|
-
const templatePath = index.get(templateName);
|
|
394
|
-
if (!templatePath) {
|
|
395
|
-
const available = [...index.keys()].sort();
|
|
396
|
-
const hint = available.length > 0 ? ` Available: ${available.join(", ")}` : "";
|
|
397
|
-
throw new Error(`Template not found: ${templateName}.${hint}`);
|
|
398
|
-
}
|
|
399
|
-
const raw = fs2.readFileSync(templatePath, "utf-8");
|
|
400
|
-
const now = /* @__PURE__ */ new Date();
|
|
401
|
-
const date = now.toISOString().split("T")[0];
|
|
402
|
-
const type = options.type ?? templateName;
|
|
403
|
-
const title = options.title ?? `${type} ${date}`.trim();
|
|
404
|
-
const variables = buildTemplateVariables({ title, type, date }, now);
|
|
405
|
-
const parsedTemplate = parseTemplateDefinition(raw, templateName, templatePath);
|
|
406
|
-
const rendered = parsedTemplate.format === "schema" ? renderDocumentFromTemplate(parsedTemplate, {
|
|
407
|
-
title,
|
|
408
|
-
type,
|
|
409
|
-
now,
|
|
410
|
-
variables: {
|
|
411
|
-
...variables,
|
|
412
|
-
content: "",
|
|
413
|
-
links_line: "",
|
|
414
|
-
owner_link: "",
|
|
415
|
-
project_link: "",
|
|
416
|
-
team_links_line: ""
|
|
417
|
-
}
|
|
418
|
-
}).markdown : renderTemplate(raw, variables);
|
|
419
|
-
const cwd = options.cwd ?? process.cwd();
|
|
420
|
-
const slug = slugify(title) || slugify(templateName) || `template-${date}`;
|
|
421
|
-
const outputPath = path2.join(cwd, `${slug}${TEMPLATE_EXTENSION}`);
|
|
422
|
-
if (fs2.existsSync(outputPath)) {
|
|
423
|
-
throw new Error(`File already exists: ${outputPath}`);
|
|
424
|
-
}
|
|
425
|
-
fs2.writeFileSync(outputPath, rendered);
|
|
426
|
-
return { outputPath, templatePath, variables };
|
|
427
|
-
}
|
|
428
|
-
function addTemplate(file, options) {
|
|
429
|
-
const name = normalizeTemplateName(options.name);
|
|
430
|
-
if (!name) {
|
|
431
|
-
throw new Error("Template name is required.");
|
|
432
|
-
}
|
|
433
|
-
const vaultPath = resolveVaultPath(options);
|
|
434
|
-
if (!vaultPath) {
|
|
435
|
-
throw new Error("No vault found. Set CLAWVAULT_PATH or use --vault.");
|
|
436
|
-
}
|
|
437
|
-
const cwd = options.cwd ?? process.cwd();
|
|
438
|
-
const sourcePath = path2.resolve(cwd, file);
|
|
439
|
-
if (!fs2.existsSync(sourcePath) || !fs2.statSync(sourcePath).isFile()) {
|
|
440
|
-
throw new Error(`Template file not found: ${sourcePath}`);
|
|
441
|
-
}
|
|
442
|
-
const templatesDir = path2.join(vaultPath, "templates");
|
|
443
|
-
fs2.mkdirSync(templatesDir, { recursive: true });
|
|
444
|
-
const targetPath = path2.join(templatesDir, `${name}${TEMPLATE_EXTENSION}`);
|
|
445
|
-
if (fs2.existsSync(targetPath) && !options.overwrite) {
|
|
446
|
-
throw new Error(`Template already exists: ${targetPath}`);
|
|
447
|
-
}
|
|
448
|
-
fs2.copyFileSync(sourcePath, targetPath);
|
|
449
|
-
return { templatePath: targetPath, name };
|
|
450
|
-
}
|
|
451
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
452
|
-
0 && (module.exports = {
|
|
453
|
-
addTemplate,
|
|
454
|
-
createFromTemplate,
|
|
455
|
-
listTemplateDefinitions,
|
|
456
|
-
listTemplates
|
|
457
|
-
});
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { TemplateVariables } from '../lib/template-engine.cjs';
|
|
2
|
-
|
|
3
|
-
interface TemplateCommandContext {
|
|
4
|
-
vaultPath?: string;
|
|
5
|
-
cwd?: string;
|
|
6
|
-
builtinDir?: string;
|
|
7
|
-
}
|
|
8
|
-
interface TemplateCreateOptions extends TemplateCommandContext {
|
|
9
|
-
title?: string;
|
|
10
|
-
type?: string;
|
|
11
|
-
}
|
|
12
|
-
interface TemplateAddOptions extends TemplateCommandContext {
|
|
13
|
-
name: string;
|
|
14
|
-
overwrite?: boolean;
|
|
15
|
-
}
|
|
16
|
-
interface TemplateDefinitionInfo {
|
|
17
|
-
name: string;
|
|
18
|
-
primitive: string;
|
|
19
|
-
description?: string;
|
|
20
|
-
fields: string[];
|
|
21
|
-
path: string;
|
|
22
|
-
format: 'schema' | 'legacy';
|
|
23
|
-
}
|
|
24
|
-
declare function listTemplateDefinitions(options?: TemplateCommandContext): TemplateDefinitionInfo[];
|
|
25
|
-
declare function listTemplates(options?: TemplateCommandContext): string[];
|
|
26
|
-
declare function createFromTemplate(name: string, options?: TemplateCreateOptions): {
|
|
27
|
-
outputPath: string;
|
|
28
|
-
templatePath: string;
|
|
29
|
-
variables: TemplateVariables;
|
|
30
|
-
};
|
|
31
|
-
declare function addTemplate(file: string, options: TemplateAddOptions): {
|
|
32
|
-
templatePath: string;
|
|
33
|
-
name: string;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export { type TemplateAddOptions, type TemplateCommandContext, type TemplateCreateOptions, type TemplateDefinitionInfo, addTemplate, createFromTemplate, listTemplateDefinitions, listTemplates };
|